mirror of
https://github.com/Z3Prover/z3
synced 2025-04-24 01:25:31 +00:00
memory leak on proof justifications
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
b700dbffce
commit
d415f07386
3 changed files with 30 additions and 17 deletions
|
@ -2286,8 +2286,11 @@ br_status bv_rewriter::mk_mul_hoist(unsigned num_args, expr * const * args, expr
|
|||
unsigned sz = m_util.get_bv_size(z);
|
||||
ptr_vector<expr> new_args(num_args, args);
|
||||
rational p = rational(2).expt(sz) - 1;
|
||||
new_args[i] = m_util.mk_bv_sub(mk_numeral(p, sz), z);
|
||||
result = m_util.mk_bv_mul(num_args, new_args.data());
|
||||
new_args[i] = mk_numeral(p, sz);
|
||||
expr_ref a(m_util.mk_bv_mul(num_args, new_args.data()), m);
|
||||
new_args[i] = z;
|
||||
expr_ref b(m_util.mk_bv_mul(num_args, new_args.data()), m);
|
||||
result = m_util.mk_bv_sub(a, b);
|
||||
return BR_REWRITE3;
|
||||
}
|
||||
// shl(z, u) * x = shl(x * z, u)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue