mirror of
https://github.com/Z3Prover/z3
synced 2025-04-15 05:18:44 +00:00
minor code simplification in bv rewriter
This commit is contained in:
parent
91497f923a
commit
0b6b267ec4
|
@ -1978,14 +1978,8 @@ br_status bv_rewriter::mk_bv_not(expr * arg, expr_ref & result) {
|
|||
if (m_util.is_bv_mul(arg, s, t)) {
|
||||
// ~(-1 * x) --> (x - 1)
|
||||
bv_size = m_util.get_bv_size(s);
|
||||
if (m_util.is_allone(s)) {
|
||||
rational minus_one = (rational::power_of_two(bv_size) - rational::one());
|
||||
result = m_util.mk_bv_add(m_util.mk_numeral(minus_one, bv_size), t);
|
||||
return BR_REWRITE1;
|
||||
}
|
||||
if (m_util.is_allone(t)) {
|
||||
rational minus_one = (rational::power_of_two(bv_size) - rational::one());
|
||||
result = m_util.mk_bv_add(m_util.mk_numeral(minus_one, bv_size), s);
|
||||
if (m_util.is_allone(s) || m_util.is_allone(t)) {
|
||||
result = m_util.mk_bv_add(s, t);
|
||||
return BR_REWRITE1;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue