Skip to content

Commit c002c77

Browse files
fix #7569
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
1 parent 54c6b11 commit c002c77

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

src/opt/optsmt.cpp

+5-2
Original file line numberDiff line numberDiff line change
@@ -133,9 +133,11 @@ namespace opt {
133133
// only try to improve delta_index.
134134
bound = m_s->mk_ge(delta_index, m_lower[delta_index] + inf_eps(delta_per_step));
135135
}
136-
TRACE("opt", tout << "index: " << delta_index << " delta: " << delta_per_step << " : " << bound << "\n";);
136+
TRACE("opt", tout << mk_pp(m_objs.get(delta_index), m) << " index: " << delta_index << " delta: " << delta_per_step << " : " << bound << "\n";);
137137
if (bound == last_bound) {
138138
is_sat = l_false;
139+
if (!m_lower[delta_index].is_finite() && !m_upper[delta_index].is_finite())
140+
m_lower[delta_index] = m_upper[delta_index];
139141
}
140142
else {
141143
m_s->assert_expr(bound);
@@ -155,7 +157,8 @@ namespace opt {
155157
else if (is_sat == l_false) {
156158
// we are done with this delta_index.
157159
m_upper[delta_index] = m_lower[delta_index];
158-
if (num_scopes > 0) m_s->pop(num_scopes);
160+
if (num_scopes > 0)
161+
m_s->pop(num_scopes);
159162
num_scopes = 0;
160163
last_bound = nullptr;
161164
bool all_tight = true;

0 commit comments

Comments
 (0)