summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/regress/CMakeLists.txt1
-rw-r--r--test/regress/regress0/fp/bvcomp-rewrite.smt25
-rw-r--r--test/unit/theory/theory_bv_rewriter_white.cpp14
3 files changed, 20 insertions, 0 deletions
diff --git a/test/regress/CMakeLists.txt b/test/regress/CMakeLists.txt
index a3244ff4a..817ddc2ba 100644
--- a/test/regress/CMakeLists.txt
+++ b/test/regress/CMakeLists.txt
@@ -582,6 +582,7 @@ set(regress_0_tests
regress0/fmf/tail_rec.smt2
regress0/fp/abs-unsound.smt2
regress0/fp/abs-unsound2.smt2
+ regress0/fp/bvcomp-rewrite.smt2
regress0/fp/down-cast-RNA.smt2
regress0/fp/ext-rew-test.smt2
regress0/fp/from_ubv.smt2
diff --git a/test/regress/regress0/fp/bvcomp-rewrite.smt2 b/test/regress/regress0/fp/bvcomp-rewrite.smt2
new file mode 100644
index 000000000..7c14ee58e
--- /dev/null
+++ b/test/regress/regress0/fp/bvcomp-rewrite.smt2
@@ -0,0 +1,5 @@
+(set-logic QF_FP)
+(declare-const x Float64)
+(assert (fp.isNaN (fp.sub roundNearestTiesToEven (fp.mul roundNearestTiesToEven x (fp (_ bv0 1) (_ bv2047 11) (_ bv1 52))) (fp.mul roundNearestTiesToEven x x))))
+(set-info :status sat)
+(check-sat)
diff --git a/test/unit/theory/theory_bv_rewriter_white.cpp b/test/unit/theory/theory_bv_rewriter_white.cpp
index 5ea8fa4dd..31d9cfac9 100644
--- a/test/unit/theory/theory_bv_rewriter_white.cpp
+++ b/test/unit/theory/theory_bv_rewriter_white.cpp
@@ -79,5 +79,19 @@ TEST_F(TestTheoryWhiteBvRewriter, rewrite_bv_ite)
Node nr = Rewriter::rewrite(n);
ASSERT_EQ(nr, Rewriter::rewrite(nr));
}
+
+TEST_F(TestTheoryWhiteBvRewriter, rewrite_bv_comp)
+{
+ TypeNode bvType = d_nodeManager->mkBitVectorType(1);
+ Node zero = d_nodeManager->mkConst(BitVector(1, 0u));
+ Node x = d_nodeManager->mkVar("x", bvType);
+ Node lhs = d_nodeManager->mkNode(BITVECTOR_NOT, x);
+ Node rhs = d_nodeManager->mkNode(BITVECTOR_AND, zero, zero);
+ Node n = d_nodeManager->mkNode(BITVECTOR_COMP, lhs, rhs);
+ Node nr = Rewriter::rewrite(n);
+ // bvcomp(bvnot(x), bvand(0, 0)) ---> x
+ ASSERT_EQ(nr, x);
+}
+
} // namespace test
} // namespace cvc5
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback