@@ -55,6 +55,7 @@ namespace bv {
55
55
unsigned index = m_rand (m_repair_down.size ());
56
56
unsigned expr_id = m_repair_down.elem_at (index );
57
57
auto e = m_terms.term (expr_id);
58
+ IF_VERBOSE (20 , verbose_stream () << " d " << mk_bounded_pp (e, m, 1 ) << " \n " );
58
59
if (eval_is_correct (e))
59
60
m_repair_down.remove (expr_id);
60
61
else
@@ -64,6 +65,7 @@ namespace bv {
64
65
unsigned index = m_rand (m_repair_up.size ());
65
66
unsigned expr_id = m_repair_up.elem_at (index );
66
67
auto e = m_terms.term (expr_id);
68
+ IF_VERBOSE (20 , verbose_stream () << " u " << mk_bounded_pp (e, m, 1 ) << " \n " );
67
69
if (eval_is_correct (e))
68
70
m_repair_up.remove (expr_id);
69
71
else
@@ -76,7 +78,6 @@ namespace bv {
76
78
}
77
79
78
80
bool sls::try_repair_down (app* e) {
79
- IF_VERBOSE (20 , verbose_stream () << " d " << mk_bounded_pp (e, m, 1 ) << " \n " );
80
81
unsigned n = e->get_num_args ();
81
82
unsigned s = m_rand (n);
82
83
for (unsigned i = 0 ; i < n; ++i)
@@ -97,7 +98,6 @@ namespace bv {
97
98
}
98
99
99
100
bool sls::try_repair_up (app* e) {
100
- IF_VERBOSE (20 , verbose_stream () << " u " << mk_bounded_pp (e, m, 1 ) << " \n " );
101
101
m_repair_up.remove (e->get_id ());
102
102
if (m_terms.is_assertion (e)) {
103
103
m_repair_down.insert (e->get_id ());
@@ -114,7 +114,7 @@ namespace bv {
114
114
if (m.is_bool (e))
115
115
return m_eval.bval0 (e) == m_eval.bval1 (e);
116
116
if (bv.is_bv (e))
117
- return 0 == memcmp ( m_eval.wval0 (e).bits . data (), m_eval.wval1 (e). data (), m_eval. wval0 (e). nw * 8 );
117
+ return 0 == m_eval.wval0 (e).eq ( m_eval.wval1 (e));
118
118
UNREACHABLE ();
119
119
return false ;
120
120
}
0 commit comments