summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>2018-06-10 21:43:14 -0500
committerAndres Noetzli <andres.noetzli@gmail.com>2018-06-10 19:43:14 -0700
commitb19c840d2bd756d272b8b44c122be809a8b1c633 (patch)
treeaffa45f00fe34c83ccdb80f0e85125ce3ea5657b
parentf64824685c9342466249e1eabca53b5c04c0aed2 (diff)
Fix equality conflicts reported by FP (#2064)
-rw-r--r--src/theory/fp/theory_fp.cpp6
-rw-r--r--test/regress/Makefile.tests3
-rw-r--r--test/regress/regress1/wrong-qfabvfp-smtcomp2018.smt215
3 files changed, 21 insertions, 3 deletions
diff --git a/src/theory/fp/theory_fp.cpp b/src/theory/fp/theory_fp.cpp
index 94733b98d..af7e0437f 100644
--- a/src/theory/fp/theory_fp.cpp
+++ b/src/theory/fp/theory_fp.cpp
@@ -907,8 +907,10 @@ bool TheoryFp::handlePropagation(TNode node) {
bool stat = d_out->propagate(node);
- if (!stat) handleConflict(node);
-
+ if (!stat)
+ {
+ d_conflict = true;
+ }
return stat;
}
diff --git a/test/regress/Makefile.tests b/test/regress/Makefile.tests
index d25da1b62..182f901ff 100644
--- a/test/regress/Makefile.tests
+++ b/test/regress/Makefile.tests
@@ -1557,7 +1557,8 @@ REG1_TESTS = \
regress1/uflia/microwave21.ec.minimized.smt2 \
regress1/uflia/simple_cyclic2.smt2 \
regress1/uflia/speed2_e8_449_e8_517.ec.smt2 \
- regress1/uflia/stalmark_e7_27_e7_31.ec.smt2
+ regress1/uflia/stalmark_e7_27_e7_31.ec.smt2 \
+ regress1/wrong-qfabvfp-smtcomp2018.smt2
REG2_TESTS = \
regress2/DTP_k2_n35_c175_s15.smt2 \
diff --git a/test/regress/regress1/wrong-qfabvfp-smtcomp2018.smt2 b/test/regress/regress1/wrong-qfabvfp-smtcomp2018.smt2
new file mode 100644
index 000000000..3636b5795
--- /dev/null
+++ b/test/regress/regress1/wrong-qfabvfp-smtcomp2018.smt2
@@ -0,0 +1,15 @@
+; REQUIRES: symfpu
+; COMMAND-LINE: --decision=internal
+; COMMAND-LINE: --decision=justification
+; EXPECT: sat
+(set-info :smt-lib-version 2.6)
+(set-logic QF_BVFP)
+(declare-fun a () (_ BitVec 64))
+(declare-fun b () (_ BitVec 64))
+(assert (fp.leq ((_ to_fp 11 53) a) ((_ to_fp 11 53) (_ bv4626322717216342016 64))))
+(assert (not (fp.isNaN ((_ to_fp 11 53) b))))
+(declare-fun k2 () (_ BitVec 64))
+(assert (or (= k2 b) (= k2 a)))
+(assert
+(or (fp.isNaN ((_ to_fp 11 53) k2)) (fp.gt ((_ to_fp 11 53) k2) ((_ to_fp 11 53) (_ bv4626322717216342016 64))) ))
+(check-sat) \ No newline at end of file
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback