Testcases for fixed bugs
authorClark Barrett <barrett@cs.nyu.edu>
Tue, 13 Nov 2012 01:24:53 +0000 (01:24 +0000)
committerClark Barrett <barrett@cs.nyu.edu>
Tue, 13 Nov 2012 01:24:53 +0000 (01:24 +0000)
test/regress/regress0/aufbv/Makefile.am
test/regress/regress0/aufbv/fuzz12.smt [new file with mode: 0644]
test/regress/regress0/bv/Makefile.am
test/regress/regress0/bv/bug440.smt [new file with mode: 0644]

index 38c8cf92435efe48b593ffcb281856f1bc7f8d73..764dd6573fca34cde035f29e3bedb47156aa44d7 100644 (file)
@@ -43,6 +43,7 @@ TESTS =       \
        fuzz09.smt \
        fuzz10.smt \
        fuzz11.smt \
+       fuzz12.smt \
        fifo32bc06k08.delta01.smt \
        rewrite_bug.smt
 
diff --git a/test/regress/regress0/aufbv/fuzz12.smt b/test/regress/regress0/aufbv/fuzz12.smt
new file mode 100644 (file)
index 0000000..1bc3f16
--- /dev/null
@@ -0,0 +1,181 @@
+(benchmark fuzzsmt
+:logic QF_AUFBV
+:status sat
+:extrafuns ((v0 BitVec[15]))
+:extrafuns ((v1 BitVec[9]))
+:extrafuns ((v2 BitVec[15]))
+:extrafuns ((a3 Array[2:9]))
+:formula
+(let (?e4 bv4[3])
+(let (?e5 bv52[6])
+(let (?e6 (bvsdiv v2 v0))
+(let (?e7 (bvxor (zero_extend[9] ?e5) v2))
+(let (?e8 (zero_extend[0] ?e6))
+(let (?e9 (bvadd ?e6 (zero_extend[9] ?e5)))
+(let (?e10 (ite (bvule v1 v1) bv1[1] bv0[1]))
+(let (?e11 (bvxnor (sign_extend[12] ?e4) ?e9))
+(let (?e12 (store a3 (extract[1:0] ?e8) (extract[14:6] v2)))
+(let (?e13 (select ?e12 (extract[10:9] v0)))
+(let (?e14 (select ?e12 (extract[1:0] ?e4)))
+(let (?e15 (select a3 (extract[7:6] ?e8)))
+(let (?e16 (select a3 (extract[2:1] ?e5)))
+(let (?e17 (bvsmod (zero_extend[9] ?e5) v2))
+(let (?e18 (ite (distinct ?e7 ?e11) bv1[1] bv0[1]))
+(let (?e19 (bvsdiv (zero_extend[6] v1) ?e9))
+(let (?e20 (rotate_left[6] ?e14))
+(let (?e21 (bvadd v2 (sign_extend[6] ?e16)))
+(let (?e22 (bvsdiv (sign_extend[6] ?e20) ?e8))
+(let (?e23 (bvcomp ?e9 ?e11))
+(let (?e24 (sign_extend[0] ?e17))
+(let (?e25 (repeat[1] ?e13))
+(let (?e26 (extract[2:0] ?e11))
+(let (?e27 (bvudiv (zero_extend[6] ?e4) ?e13))
+(let (?e28 (bvxnor ?e15 ?e13))
+(let (?e29 (zero_extend[1] v0))
+(let (?e30 (bvmul ?e21 (zero_extend[12] ?e4)))
+(let (?e31 (extract[13:12] ?e19))
+(let (?e32 (ite (bvule ?e15 ?e13) bv1[1] bv0[1]))
+(let (?e33 (ite (bvugt ?e6 ?e24) bv1[1] bv0[1]))
+(let (?e34 (ite (distinct (zero_extend[1] ?e10) ?e31) bv1[1] bv0[1]))
+(flet ($e35 (= ?e24 (sign_extend[14] ?e23)))
+(flet ($e36 (= ?e27 ?e15))
+(flet ($e37 (bvule ?e29 (zero_extend[1] ?e24)))
+(flet ($e38 (bvule v1 (sign_extend[8] ?e33)))
+(flet ($e39 (bvule (zero_extend[6] ?e28) ?e17))
+(flet ($e40 (distinct (zero_extend[2] ?e23) ?e26))
+(flet ($e41 (bvugt ?e21 (sign_extend[6] ?e25)))
+(flet ($e42 (bvult (sign_extend[6] ?e20) ?e30))
+(flet ($e43 (bvsgt (zero_extend[6] v1) ?e11))
+(flet ($e44 (bvult ?e26 (zero_extend[2] ?e34)))
+(flet ($e45 (bvsle ?e31 ?e31))
+(flet ($e46 (distinct (zero_extend[8] ?e33) ?e28))
+(flet ($e47 (distinct v0 (sign_extend[12] ?e4)))
+(flet ($e48 (bvslt ?e19 (zero_extend[14] ?e10)))
+(flet ($e49 (bvsgt (sign_extend[6] v1) ?e22))
+(flet ($e50 (bvule (sign_extend[12] ?e4) ?e24))
+(flet ($e51 (bvugt (zero_extend[8] ?e23) ?e25))
+(flet ($e52 (bvugt v1 (sign_extend[6] ?e26)))
+(flet ($e53 (bvule ?e14 ?e27))
+(flet ($e54 (bvslt ?e27 ?e16))
+(flet ($e55 (bvugt ?e7 (zero_extend[6] ?e14)))
+(flet ($e56 (bvule ?e21 ?e11))
+(flet ($e57 (bvsge v2 (zero_extend[14] ?e18)))
+(flet ($e58 (distinct (zero_extend[6] ?e15) ?e22))
+(flet ($e59 (bvult ?e13 ?e25))
+(flet ($e60 (bvult (sign_extend[12] ?e26) ?e9))
+(flet ($e61 (bvsgt ?e29 (sign_extend[15] ?e18)))
+(flet ($e62 (bvule ?e27 (zero_extend[8] ?e23)))
+(flet ($e63 (bvuge ?e30 ?e7))
+(flet ($e64 (bvsgt (zero_extend[7] ?e14) ?e29))
+(flet ($e65 (bvugt (zero_extend[14] ?e33) ?e7))
+(flet ($e66 (bvslt v2 (zero_extend[14] ?e10)))
+(flet ($e67 (bvsle (sign_extend[12] ?e4) ?e19))
+(flet ($e68 (bvsle ?e6 v0))
+(flet ($e69 (bvult ?e25 ?e28))
+(flet ($e70 (bvugt ?e29 (zero_extend[13] ?e4)))
+(flet ($e71 (bvuge ?e8 ?e30))
+(flet ($e72 (bvuge ?e21 (zero_extend[12] ?e26)))
+(flet ($e73 (bvule ?e14 (zero_extend[6] ?e4)))
+(flet ($e74 (bvslt ?e24 (sign_extend[14] ?e10)))
+(flet ($e75 (bvugt v0 (zero_extend[6] ?e13)))
+(flet ($e76 (= ?e15 ?e16))
+(flet ($e77 (distinct ?e29 (sign_extend[1] v0)))
+(flet ($e78 (= ?e5 (sign_extend[5] ?e23)))
+(flet ($e79 (= (zero_extend[8] ?e34) ?e16))
+(flet ($e80 (bvsle ?e15 (sign_extend[3] ?e5)))
+(flet ($e81 (= (zero_extend[6] ?e14) ?e24))
+(flet ($e82 (bvslt ?e17 (sign_extend[6] ?e25)))
+(flet ($e83 (distinct v2 ?e8))
+(flet ($e84 (bvule v0 (zero_extend[6] ?e14)))
+(flet ($e85 (bvslt (sign_extend[6] ?e16) ?e9))
+(flet ($e86 (bvsge ?e7 (sign_extend[6] ?e25)))
+(flet ($e87 (bvuge v1 ?e15))
+(flet ($e88 (bvugt ?e13 (sign_extend[6] ?e4)))
+(flet ($e89 (= ?e19 (sign_extend[6] ?e20)))
+(flet ($e90 (bvugt ?e9 (sign_extend[6] ?e13)))
+(flet ($e91 (bvule ?e15 (zero_extend[7] ?e31)))
+(flet ($e92 (bvsle ?e21 ?e19))
+(flet ($e93 (bvsle ?e29 (sign_extend[15] ?e23)))
+(flet ($e94 (bvugt (zero_extend[14] ?e32) ?e6))
+(flet ($e95 (and $e78 $e39))
+(flet ($e96 (implies $e35 $e94))
+(flet ($e97 (xor $e69 $e88))
+(flet ($e98 (and $e89 $e64))
+(flet ($e99 (and $e82 $e90))
+(flet ($e100 (or $e51 $e58))
+(flet ($e101 (and $e91 $e85))
+(flet ($e102 (and $e98 $e45))
+(flet ($e103 (and $e41 $e43))
+(flet ($e104 (iff $e60 $e67))
+(flet ($e105 (xor $e84 $e46))
+(flet ($e106 (iff $e71 $e70))
+(flet ($e107 (iff $e42 $e96))
+(flet ($e108 (not $e61))
+(flet ($e109 (or $e101 $e76))
+(flet ($e110 (if_then_else $e83 $e102 $e38))
+(flet ($e111 (or $e37 $e92))
+(flet ($e112 (and $e54 $e62))
+(flet ($e113 (and $e47 $e57))
+(flet ($e114 (iff $e104 $e53))
+(flet ($e115 (or $e63 $e49))
+(flet ($e116 (xor $e56 $e108))
+(flet ($e117 (not $e109))
+(flet ($e118 (or $e59 $e72))
+(flet ($e119 (implies $e36 $e103))
+(flet ($e120 (and $e110 $e44))
+(flet ($e121 (iff $e99 $e80))
+(flet ($e122 (iff $e112 $e50))
+(flet ($e123 (and $e75 $e119))
+(flet ($e124 (iff $e87 $e68))
+(flet ($e125 (iff $e123 $e95))
+(flet ($e126 (or $e100 $e97))
+(flet ($e127 (not $e118))
+(flet ($e128 (iff $e115 $e116))
+(flet ($e129 (or $e126 $e66))
+(flet ($e130 (xor $e121 $e128))
+(flet ($e131 (iff $e106 $e79))
+(flet ($e132 (not $e105))
+(flet ($e133 (iff $e130 $e125))
+(flet ($e134 (implies $e120 $e81))
+(flet ($e135 (xor $e73 $e55))
+(flet ($e136 (implies $e129 $e132))
+(flet ($e137 (implies $e65 $e122))
+(flet ($e138 (or $e52 $e133))
+(flet ($e139 (not $e74))
+(flet ($e140 (and $e139 $e114))
+(flet ($e141 (implies $e113 $e140))
+(flet ($e142 (implies $e40 $e48))
+(flet ($e143 (not $e134))
+(flet ($e144 (and $e107 $e107))
+(flet ($e145 (if_then_else $e77 $e117 $e138))
+(flet ($e146 (implies $e135 $e131))
+(flet ($e147 (xor $e127 $e136))
+(flet ($e148 (or $e137 $e147))
+(flet ($e149 (implies $e141 $e93))
+(flet ($e150 (or $e149 $e144))
+(flet ($e151 (xor $e143 $e145))
+(flet ($e152 (implies $e124 $e86))
+(flet ($e153 (and $e111 $e111))
+(flet ($e154 (xor $e153 $e152))
+(flet ($e155 (xor $e154 $e146))
+(flet ($e156 (iff $e155 $e142))
+(flet ($e157 (implies $e148 $e156))
+(flet ($e158 (implies $e150 $e151))
+(flet ($e159 (and $e158 $e158))
+(flet ($e160 (implies $e157 $e157))
+(flet ($e161 (iff $e159 $e159))
+(flet ($e162 (xor $e161 $e161))
+(flet ($e163 (or $e160 $e160))
+(flet ($e164 (or $e162 $e163))
+(flet ($e165 (and $e164 (not (= ?e8 bv0[15]))))
+(flet ($e166 (and $e165 (not (= ?e8 (bvnot bv0[15])))))
+(flet ($e167 (and $e166 (not (= ?e13 bv0[9]))))
+(flet ($e168 (and $e167 (not (= v2 bv0[15]))))
+(flet ($e169 (and $e168 (not (= v2 (bvnot bv0[15])))))
+(flet ($e170 (and $e169 (not (= ?e9 bv0[15]))))
+(flet ($e171 (and $e170 (not (= ?e9 (bvnot bv0[15])))))
+(flet ($e172 (and $e171 (not (= v0 bv0[15]))))
+(flet ($e173 (and $e172 (not (= v0 (bvnot bv0[15])))))
+$e173
+)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+
index 43702b6806768cb5eae6314b9f2293b6d90d5ca9..2b8b082077fd19c0bf81bf2e55a08551706f08f6 100644 (file)
@@ -97,7 +97,8 @@ CVC_TESTS = bvsimple.cvc sizecheck.cvc
 # Regression tests derived from bug reports
 BUG_TESTS = \
        bug260a.smt \
-       bug260b.smt
+       bug260b.smt \
+       bug440.smt
 
 TESTS =        $(SMT_TESTS) $(SMT2_TESTS) $(CVC_TESTS) $(BUG_TESTS)
 
diff --git a/test/regress/regress0/bv/bug440.smt b/test/regress/regress0/bv/bug440.smt
new file mode 100644 (file)
index 0000000..57b5ea8
--- /dev/null
@@ -0,0 +1,97 @@
+(benchmark fuzzsmt
+:logic QF_BV
+:status sat
+:extrafuns ((v0 BitVec[7]))
+:extrafuns ((v1 BitVec[3]))
+:extrafuns ((v2 BitVec[2]))
+:extrafuns ((v3 BitVec[15]))
+:extrafuns ((v4 BitVec[11]))
+:formula
+(let (?e5 bv715[10])
+(let (?e6 bv331[9])
+(let (?e7 (rotate_left[7] ?e5))
+(let (?e8 (bvsub ?e7 ?e7))
+(let (?e9 (ite (bvuge ?e5 (sign_extend[1] ?e6)) bv1[1] bv0[1]))
+(let (?e10 (concat v0 v0))
+(let (?e11 (bvsmod (zero_extend[5] ?e7) v3))
+(let (?e12 (bvsub ?e8 (zero_extend[3] v0)))
+(let (?e13 (bvnot v4))
+(let (?e14 (bvsmod (sign_extend[5] v2) v0))
+(let (?e15 (bvurem (zero_extend[7] v0) ?e10))
+(let (?e16 (bvashr v3 (sign_extend[5] ?e5)))
+(let (?e17 (bvneg v2))
+(let (?e18 (bvmul ?e15 (sign_extend[7] v0)))
+(let (?e19 (sign_extend[3] v0))
+(let (?e20 (bvnand (sign_extend[9] v2) v4))
+(let (?e21 (ite (= bv1[1] (extract[1:1] ?e11)) ?e16 (sign_extend[4] v4)))
+(let (?e22 (ite (= bv1[1] (extract[1:1] v2)) ?e6 (sign_extend[6] v1)))
+(flet ($e23 (= ?e16 ?e11))
+(flet ($e24 (bvsgt ?e10 (sign_extend[4] ?e12)))
+(flet ($e25 (bvsge ?e11 (zero_extend[13] v2)))
+(flet ($e26 (= v0 (zero_extend[6] ?e9)))
+(flet ($e27 (bvsge (sign_extend[12] ?e17) ?e18))
+(flet ($e28 (= ?e10 (zero_extend[12] v2)))
+(flet ($e29 (bvugt ?e5 (sign_extend[3] ?e14)))
+(flet ($e30 (bvugt ?e19 (zero_extend[1] ?e22)))
+(flet ($e31 (bvult ?e6 (zero_extend[6] v1)))
+(flet ($e32 (bvult ?e11 (zero_extend[5] ?e7)))
+(flet ($e33 (bvsgt (sign_extend[1] ?e5) ?e20))
+(flet ($e34 (bvsge ?e16 ?e16))
+(flet ($e35 (bvugt (zero_extend[1] ?e15) ?e21))
+(flet ($e36 (= (sign_extend[14] ?e9) v3))
+(flet ($e37 (bvule ?e21 (zero_extend[13] ?e17)))
+(flet ($e38 (bvuge ?e12 (sign_extend[9] ?e9)))
+(flet ($e39 (bvult (zero_extend[5] ?e6) ?e15))
+(flet ($e40 (bvslt (sign_extend[12] ?e17) ?e10))
+(flet ($e41 (bvule v3 v3))
+(flet ($e42 (bvuge ?e10 (zero_extend[4] ?e8)))
+(flet ($e43 (bvslt ?e11 (zero_extend[1] ?e18)))
+(flet ($e44 (= (zero_extend[4] ?e8) ?e10))
+(flet ($e45 (bvslt ?e6 ?e22))
+(flet ($e46 (bvsgt (zero_extend[12] v1) ?e16))
+(flet ($e47 (bvsgt (sign_extend[1] ?e12) ?e13))
+(flet ($e48 (distinct ?e11 (sign_extend[6] ?e22)))
+(flet ($e49 (distinct v4 (zero_extend[2] ?e22)))
+(flet ($e50 (xor $e49 $e43))
+(flet ($e51 (or $e23 $e39))
+(flet ($e52 (implies $e51 $e48))
+(flet ($e53 (xor $e50 $e36))
+(flet ($e54 (and $e40 $e37))
+(flet ($e55 (implies $e44 $e31))
+(flet ($e56 (not $e53))
+(flet ($e57 (not $e28))
+(flet ($e58 (or $e24 $e56))
+(flet ($e59 (iff $e27 $e25))
+(flet ($e60 (or $e55 $e29))
+(flet ($e61 (iff $e54 $e30))
+(flet ($e62 (xor $e32 $e47))
+(flet ($e63 (iff $e41 $e59))
+(flet ($e64 (if_then_else $e46 $e60 $e26))
+(flet ($e65 (not $e52))
+(flet ($e66 (and $e35 $e62))
+(flet ($e67 (not $e63))
+(flet ($e68 (xor $e33 $e61))
+(flet ($e69 (implies $e45 $e64))
+(flet ($e70 (iff $e68 $e38))
+(flet ($e71 (not $e65))
+(flet ($e72 (not $e58))
+(flet ($e73 (or $e57 $e67))
+(flet ($e74 (or $e70 $e73))
+(flet ($e75 (and $e34 $e34))
+(flet ($e76 (implies $e66 $e74))
+(flet ($e77 (or $e42 $e71))
+(flet ($e78 (implies $e72 $e72))
+(flet ($e79 (and $e69 $e78))
+(flet ($e80 (or $e77 $e77))
+(flet ($e81 (or $e79 $e75))
+(flet ($e82 (xor $e81 $e80))
+(flet ($e83 (not $e76))
+(flet ($e84 (iff $e83 $e82))
+(flet ($e85 (and $e84 (not (= v3 bv0[15]))))
+(flet ($e86 (and $e85 (not (= v3 (bvnot bv0[15])))))
+(flet ($e87 (and $e86 (not (= v0 bv0[7]))))
+(flet ($e88 (and $e87 (not (= v0 (bvnot bv0[7])))))
+(flet ($e89 (and $e88 (not (= ?e10 bv0[14]))))
+$e89
+))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+