mirror of
https://github.com/Z3Prover/z3
synced 2025-08-10 13:10:50 +00:00
fix prefix constraint
This commit is contained in:
parent
1f686126a3
commit
a4f14fa29f
1 changed files with 4 additions and 2 deletions
|
@ -974,9 +974,11 @@ 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)
|
||||||
auto sc = cs.fixed(t, ebw - 1, abw, store_val);
|
unsigned const k = bw - ebw;
|
||||||
|
auto const sc = cs.fixed(t, ebw - 1 + k, abw + k, store_val);
|
||||||
#if DEBUG_EXPLAIN
|
#if DEBUG_EXPLAIN
|
||||||
verbose_stream() << " t[" << (ebw - 1) << ":" << abw << "] = " << store_val << "\n";
|
verbose_stream() << " t " << t << "\n";
|
||||||
|
verbose_stream() << " t[" << (ebw - 1 + k) << ":" << (abw + k) << "] = " << store_val << "\n";
|
||||||
verbose_stream() << " fixed prefix constraint " << sc << "\n";
|
verbose_stream() << " fixed prefix constraint " << sc << "\n";
|
||||||
verbose_stream() << " eval " << sc.eval() << "\n";
|
verbose_stream() << " eval " << sc.eval() << "\n";
|
||||||
verbose_stream() << " weval " << sc.weak_eval(c.get_assignment()) << "\n";
|
verbose_stream() << " weval " << sc.weak_eval(c.get_assignment()) << "\n";
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue