Skip to content

Commit a2ad90c

Browse files
Update bit_blaster_tpl_def.h
1 parent a15e4ad commit a2ad90c

File tree

1 file changed

+3
-8
lines changed

1 file changed

+3
-8
lines changed

src/ast/rewriter/bit_blaster/bit_blaster_tpl_def.h

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -993,13 +993,7 @@ void bit_blaster_tpl<Cfg>::mk_ext_rotate_left_right(unsigned sz, expr * const *
993993
for (unsigned j = 0; j < sz; ++j)
994994
out_bits.push_back(a_bits[j]);
995995
expr_ref_vector out(m());
996-
auto mk_ite = [&](expr* bit_i, expr* th, expr* el) {
997-
if (m().is_false(bit_i))
998-
return el;
999-
if (m().is_true(bit_i))
1000-
return th;
1001-
return (expr*)(m().mk_ite(bit_i, th, el));
1002-
};
996+
expr_ref tmp(m());
1003997
for (unsigned i = 0, p = 1; i < sz; ++i) {
1004998
auto bit_i = b_bits[i];
1005999
// rotate by p if bit_i is set.
@@ -1008,7 +1002,8 @@ void bit_blaster_tpl<Cfg>::mk_ext_rotate_left_right(unsigned sz, expr * const *
10081002
out.reset();
10091003
for (unsigned j = 0; j < sz; ++j) {
10101004
unsigned src = (Left ? (sz + j - p) : (j + p)) % sz;
1011-
out.push_back(mk_ite(bit_i, out_bits.get(src), out_bits.get(j)));
1005+
mk_ite(bit_i, out_bits.get(src), out_bits.get(j), tmp));
1006+
out.push_back(tmp);
10121007
}
10131008
out_bits.reset();
10141009
out_bits.append(out);

0 commit comments

Comments
 (0)