summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorAndres Notzli <andres.noetzli@gmail.com>2016-11-29 17:30:54 -0800
committerAndres Notzli <andres.noetzli@gmail.com>2016-11-30 15:33:35 -0800
commit05c7d36e7a4844ac1c8a14035776fbba6e00704b (patch)
tree1c9a5919a9ce461f64b9f8b7c26c26cf54c1b4d3 /test
parentbc2378517a2f4100ba614cd44b3aa047089c82c8 (diff)
Remove wrong `ExtractMultLeadingBit` rule
The rule `ExtractMultLeadingBit` estimated the number of leading zeros wrong: when there were ones in the leading constant parts of the factors, it was using the length of the non-zero part instead of the length of the zero part. This commit includes an example for which the previous version of the rule would cause a wrong answer.
Diffstat (limited to 'test')
-rw-r--r--test/regress/regress0/bv/Makefile.am3
-rw-r--r--test/regress/regress0/bv/bug_extract_mult_leading_bit.smt27
2 files changed, 9 insertions, 1 deletions
diff --git a/test/regress/regress0/bv/Makefile.am b/test/regress/regress0/bv/Makefile.am
index b3c7250ff..2caaea799 100644
--- a/test/regress/regress0/bv/Makefile.am
+++ b/test/regress/regress0/bv/Makefile.am
@@ -112,7 +112,8 @@ CVC_TESTS = bvsimple.cvc sizecheck.cvc
BUG_TESTS = \
bug260a.smt \
bug260b.smt \
- bug440.smt
+ bug440.smt \
+ bug_extract_mult_leading_bit.smt2
TESTS = $(SMT_TESTS) $(SMT2_TESTS) $(CVC_TESTS) $(BUG_TESTS)
diff --git a/test/regress/regress0/bv/bug_extract_mult_leading_bit.smt2 b/test/regress/regress0/bv/bug_extract_mult_leading_bit.smt2
new file mode 100644
index 000000000..8e3728587
--- /dev/null
+++ b/test/regress/regress0/bv/bug_extract_mult_leading_bit.smt2
@@ -0,0 +1,7 @@
+(set-logic QF_BV)
+(set-info :status sat)
+(declare-fun x1 () (_ BitVec 15))
+(declare-fun x2 () (_ BitVec 15))
+(assert (not (= ((_ extract 64 60) (bvmul (concat #b00000000000000000000000000000000000000000000000000 x1) (concat #b10000000000000000000000000000000000000000000000000 x2))) #b00000)))
+(check-sat)
+(exit)
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback