summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorGereon Kremer <gereon.kremer@cs.rwth-aachen.de>2020-09-04 00:58:03 +0200
committerGitHub <noreply@github.com>2020-09-03 17:58:03 -0500
commit19ff08d652de2890eee4674d2a6debe10e879f1f (patch)
treea1e10e4c354fd44bd1073683b2e4edea8a054e41 /test
parent8828e545cfb838d806a0ad382671a9af131e8431 (diff)
Added a new rule to simplify (bvugt (bvurem T x) x) (#4993)
Motivated by #4936, this PR adds a new BV rewrite rule: (bvugt (bvurem T x) x) ==> (ite (= x 0) (bvugt T 0) false) Fixes #4936.
Diffstat (limited to 'test')
-rw-r--r--test/regress/CMakeLists.txt2
-rw-r--r--test/regress/regress0/bv/pr4993-bvugt-bvurem-a.smt27
-rw-r--r--test/regress/regress0/bv/pr4993-bvugt-bvurem-b.smt27
3 files changed, 16 insertions, 0 deletions
diff --git a/test/regress/CMakeLists.txt b/test/regress/CMakeLists.txt
index 1a33ee3a5..5c31c4fe1 100644
--- a/test/regress/CMakeLists.txt
+++ b/test/regress/CMakeLists.txt
@@ -366,6 +366,8 @@ set(regress_0_tests
regress0/bv/mul-neg-unsat.smt2
regress0/bv/mul-negpow2.smt2
regress0/bv/mult-pow2-negative.smt2
+ regress0/bv/pr4993-bvugt-bvurem-a.smt2
+ regress0/bv/pr4993-bvugt-bvurem-b.smt2
regress0/bv/sizecheck.cvc
regress0/bv/smtcompbug.smtv1.smt2
regress0/bv/test-bv_intro_pow2.smt2
diff --git a/test/regress/regress0/bv/pr4993-bvugt-bvurem-a.smt2 b/test/regress/regress0/bv/pr4993-bvugt-bvurem-a.smt2
new file mode 100644
index 000000000..c6748b19e
--- /dev/null
+++ b/test/regress/regress0/bv/pr4993-bvugt-bvurem-a.smt2
@@ -0,0 +1,7 @@
+; COMMAND-LINE: --bv-div-zero-const --no-check-unsat-cores
+(set-logic QF_BV)
+(set-info :status unsat)
+(declare-const x (_ BitVec 4))
+(declare-const y (_ BitVec 4))
+(assert (not (= (bvugt (bvurem y x) x) (ite (= x #x0) (bvugt y #x0) false))))
+(check-sat)
diff --git a/test/regress/regress0/bv/pr4993-bvugt-bvurem-b.smt2 b/test/regress/regress0/bv/pr4993-bvugt-bvurem-b.smt2
new file mode 100644
index 000000000..7cc75ef62
--- /dev/null
+++ b/test/regress/regress0/bv/pr4993-bvugt-bvurem-b.smt2
@@ -0,0 +1,7 @@
+; COMMAND-LINE: --no-bv-div-zero-const --no-check-unsat-cores
+(set-logic QF_BV)
+(set-info :status sat)
+(declare-const x (_ BitVec 4))
+(declare-const y (_ BitVec 4))
+(assert (not (= (bvugt (bvurem y x) x) (ite (= x #x0) (bvugt y #x0) false))))
+(check-sat)
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback