mirror of
https://github.com/Z3Prover/z3
synced 2025-06-06 06:03:23 +00:00
Fix bug exposed in #281
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
f78c769b3b
commit
2efd5bf9d1
1 changed files with 3 additions and 5 deletions
|
@ -1346,7 +1346,7 @@ namespace smt {
|
||||||
empty_column ||
|
empty_column ||
|
||||||
(unbounded_gain(max_gain) == (x_i == null_theory_var)));
|
(unbounded_gain(max_gain) == (x_i == null_theory_var)));
|
||||||
|
|
||||||
return !empty_column && safe_gain(min_gain, max_gain);
|
return safe_gain(min_gain, max_gain);
|
||||||
}
|
}
|
||||||
|
|
||||||
template<typename Ext>
|
template<typename Ext>
|
||||||
|
@ -1557,14 +1557,12 @@ namespace smt {
|
||||||
// variable cannot be used for max/min.
|
// variable cannot be used for max/min.
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
bool picked_var = pick_var_to_leave(curr_x_j, curr_inc, curr_a_ij,
|
bool safe_to_leave = pick_var_to_leave(curr_x_j, curr_inc, curr_a_ij,
|
||||||
curr_min_gain, curr_max_gain,
|
curr_min_gain, curr_max_gain,
|
||||||
has_shared, curr_x_i);
|
has_shared, curr_x_i);
|
||||||
|
|
||||||
|
|
||||||
SASSERT(!picked_var || safe_gain(curr_min_gain, curr_max_gain));
|
|
||||||
|
|
||||||
if (!safe_gain(curr_min_gain, curr_max_gain)) {
|
if (!safe_to_leave) {
|
||||||
TRACE("opt", tout << "no variable picked\n";);
|
TRACE("opt", tout << "no variable picked\n";);
|
||||||
has_bound = true;
|
has_bound = true;
|
||||||
best_efforts++;
|
best_efforts++;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue