This commit enables SymFPU assertions in production. The reason for this
is that there are some known problems with certain bit-widths, so we
prefer to be conservative. The commit also updates the run scripts for SMT-COMP 2019 to use `--fp-exp` since we have those additional checks in place now.
finishwith --full-saturate-quant
;;
ABVFP|BVFP|FP)
- finishwith --full-saturate-quant
+ finishwith --full-saturate-quant --fp-exp
;;
UFBV)
# most problems in UFBV are essentially BV
finishwith --strings-exp --rewrite-divk --lang=smt2.6.1
;;
QF_ABVFP)
- finishwith
+ finishwith --fp-exp
;;
QF_BVFP)
- finishwith
+ finishwith --fp-exp
;;
QF_FP)
- finishwith
+ finishwith --fp-exp
;;
*)
# just run the default
;;
# all logics with UF + quantifiers should either fall under this or special cases below
ALIA|AUFLIA|AUFLIRA|AUFNIRA|UF|UFIDL|UFLIA|UFLRA|UFNIA|UFDT|UFDTLIA|AUFDTLIA|AUFBVDTLIA|AUFNIA|ABVFP|BVFP|FP)
- finishwith --full-saturate-quant
+ finishwith --full-saturate-quant --fp-exp
;;
UFBV)
finishwith --finite-model-find
finishwith --strings-exp --rewrite-divk --lang=smt2.6.1
;;
QF_ABVFP)
- finishwith
+ finishwith --fp-exp
;;
QF_BVFP)
- finishwith
+ finishwith --fp-exp
;;
QF_FP)
- finishwith
+ finishwith --fp-exp
;;
*)
# just run the default
symbolicRoundingMode traits::RTZ(void) { return symbolicRoundingMode(0x10); };
void traits::precondition(const bool b)
{
- Assert(b);
+ AlwaysAssert(b);
return;
}
void traits::postcondition(const bool b)
{
- Assert(b);
+ AlwaysAssert(b);
return;
}
void traits::invariant(const bool b)
{
- Assert(b);
+ AlwaysAssert(b);
return;
}
void traits::precondition(const prop &p)
{
- Assert(p);
+ AlwaysAssert(p);
return;
}
void traits::postcondition(const prop &p)
{
- Assert(p);
+ AlwaysAssert(p);
return;
}
void traits::invariant(const prop &p)
{
- Assert(p);
+ AlwaysAssert(p);
return;
}
}