3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-22 00:26:38 +00:00
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2022-01-22 12:21:20 +01:00
parent 417a5320c7
commit 6f689c3c1f
2 changed files with 11 additions and 1 deletions

View file

@ -376,6 +376,7 @@ public:
MATCH_BINARY(is_sge);
MATCH_BINARY(is_ugt);
MATCH_BINARY(is_sgt);
MATCH_BINARY(is_bv_umul_no_ovfl);
MATCH_BINARY(is_bv_ashr);
MATCH_BINARY(is_bv_lshr);
MATCH_BINARY(is_bv_shl);

View file

@ -85,7 +85,8 @@ namespace polysat {
LOG(m_name << ": " << m_last_result << "\n");
statistics st;
collect_statistics(st);
LOG(st << "\n" << *this << "\n");
// LOG(st << "\n" << *this << "\n");
std::cout << st << "\n" << *this << "\n";
}
void expect_unsat() {
@ -1298,6 +1299,14 @@ public:
else
s.add_sle(pa, pb);
}
else if (bv.is_bv_umul_no_ovfl(fm, a, b)) {
auto pa = to_pdd(m, s, expr2pdd, a);
auto pb = to_pdd(m, s, expr2pdd, b);
if (is_not)
s.add_ovfl(pa, pb);
else
s.add_noovfl(pa, pb);
}
else {
std::cout << "SKIP: " << mk_pp(fm, m) << "\n";
}