mirror of
https://github.com/Z3Prover/z3
synced 2025-08-23 11:37:54 +00:00
working on #5614
there are some different sources for the performance regression illustrated by the example. The mitigations will be enabled separately: - m_bv_to_propagate is too expensive - lp_bound_propagator misses equalities in two different ways: - it resets row checks after backtracking even though they could still propagate - it misses equalities for fixed rows when the fixed constant value does not correspond to a fixed variable. FYI @levnach
This commit is contained in:
parent
a94e2e62af
commit
87d4ce2659
13 changed files with 422 additions and 385 deletions
|
@ -450,7 +450,7 @@ namespace arith {
|
|||
lp::lar_solver& lp() { return *m_solver; }
|
||||
lp::lar_solver const& lp() const { return *m_solver; }
|
||||
bool is_equal(theory_var x, theory_var y) const;
|
||||
void add_eq(lpvar u, lpvar v, lp::explanation const& e);
|
||||
bool add_eq(lpvar u, lpvar v, lp::explanation const& e, bool is_fixed);
|
||||
void consume(rational const& v, lp::constraint_index j);
|
||||
bool bound_is_interesting(unsigned vi, lp::lconstraint_kind kind, const rational& bval) const;
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue