From ea00241d1636fdf599a8f723d86742db1b7b6dd1 Mon Sep 17 00:00:00 2001 From: Clark Barrett Date: Tue, 13 Nov 2012 01:24:53 +0000 Subject: [PATCH] Testcases for fixed bugs --- test/regress/regress0/aufbv/Makefile.am | 1 + test/regress/regress0/aufbv/fuzz12.smt | 181 ++++++++++++++++++++++++ test/regress/regress0/bv/Makefile.am | 3 +- test/regress/regress0/bv/bug440.smt | 97 +++++++++++++ 4 files changed, 281 insertions(+), 1 deletion(-) create mode 100644 test/regress/regress0/aufbv/fuzz12.smt create mode 100644 test/regress/regress0/bv/bug440.smt diff --git a/test/regress/regress0/aufbv/Makefile.am b/test/regress/regress0/aufbv/Makefile.am index 38c8cf924..764dd6573 100644 --- a/test/regress/regress0/aufbv/Makefile.am +++ b/test/regress/regress0/aufbv/Makefile.am @@ -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 index 000000000..1bc3f1617 --- /dev/null +++ b/test/regress/regress0/aufbv/fuzz12.smt @@ -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 +))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) + diff --git a/test/regress/regress0/bv/Makefile.am b/test/regress/regress0/bv/Makefile.am index 43702b680..2b8b08207 100644 --- a/test/regress/regress0/bv/Makefile.am +++ b/test/regress/regress0/bv/Makefile.am @@ -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 index 000000000..57b5ea8e1 --- /dev/null +++ b/test/regress/regress0/bv/bug440.smt @@ -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 +)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) + -- 2.30.2