3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-07 19:51:22 +00:00

separate scope

This commit is contained in:
Jakob Rath 2024-05-15 11:36:06 +02:00
parent 865822651c
commit 16fb86b636

View file

@ -974,6 +974,7 @@ v0[19] := 0 v0 [-131062 ; 0[ := [-131062;0[ src ~4 <= 43691*v0;
#endif #endif
// for simplicity, we fix the evaluation of the stored upper bits // for simplicity, we fix the evaluation of the stored upper bits
// (alternative would be to track sub-ranges of extracted symbolic bounds) // (alternative would be to track sub-ranges of extracted symbolic bounds)
{
pdd const t_val = c.subst(t); // we have to take the actual value of 't', because e.value is computed after bit-width-reduction, which may include a wrap-around pdd const t_val = c.subst(t); // we have to take the actual value of 't', because e.value is computed after bit-width-reduction, which may include a wrap-around
VERIFY(t_val.is_val()); VERIFY(t_val.is_val());
unsigned const k = bw - ebw; unsigned const k = bw - ebw;
@ -991,6 +992,7 @@ v0[19] := 0 v0 [-131062 ; 0[ := [-131062;0[ src ~4 <= 43691*v0;
VERIFY(!sc.is_always_false()); VERIFY(!sc.is_always_false());
if (!sc.is_always_true()) if (!sc.is_always_true())
deps.push_back(c.propagate(sc, c.explain_weak_eval(sc), "explain_overlap prefix evaluation")); deps.push_back(c.propagate(sc, c.explain_weak_eval(sc), "explain_overlap prefix evaluation"));
}
/* /*
from smtlib-2023-ni/QF_BV/sage/app5/bench_1002.smt2 from smtlib-2023-ni/QF_BV/sage/app5/bench_1002.smt2
v2[16] := 0 v2 [256 ; 0[ := [256;0[ src ~256 <= v2; v2[16] := 0 v2 [256 ; 0[ := [256;0[ src ~256 <= v2;