3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-07-18 02:16:40 +00:00
This commit is contained in:
Nikolaj Bjorner 2024-02-22 21:33:51 -08:00
parent 63804c5296
commit c451e4e50b
3 changed files with 62 additions and 68 deletions

View file

@ -260,16 +260,10 @@ namespace bv {
auto& a = wval0(e->get_arg(0));
auto& b = wval0(e->get_arg(1));
rational r;
if (bv.is_numeral(e->get_arg(0), r) && b.has_range()) {
auto rlo = b.get_lo();
auto rhi = b.get_hi();
v.add_range(r + rlo, r + rhi);
}
if (bv.is_numeral(e->get_arg(1), r) && a.has_range()) {
auto rlo = a.get_lo();
auto rhi = a.get_hi();
v.add_range(r + rlo, r + rhi);
}
if (bv.is_numeral(e->get_arg(0), r) && b.has_range())
v.add_range(r + b.lo(), r + b.hi());
else if (bv.is_numeral(e->get_arg(1), r) && a.has_range())
v.add_range(r + a.lo(), r + a.hi());
bool pfixed = true;
for (unsigned i = 0; i < v.bw; ++i) {
if (pfixed && a.fixed.get(i) && b.fixed.get(i))