3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-07-04 22:36:10 +00:00

replace costly ite reduction by disjointnes check

This commit is contained in:
Nikolaj Bjorner 2025-03-25 21:15:03 -07:00
parent 392bc166a3
commit 4fd6ba442a
2 changed files with 20 additions and 69 deletions

View file

@ -63,9 +63,8 @@ class bool_rewriter {
bool m_elim_ite;
bool m_elim_ite_value_tree;
ptr_vector<expr> m_todo1, m_todo2;
unsigned_vector m_counts1, m_counts2, m_indices;
ptr_vector<expr> m_values;
expr_ref_vector m_pinned;
unsigned_vector m_counts1, m_counts2;
expr_fast_mark1 m_marked;
br_status mk_flat_and_core(unsigned num_args, expr * const * args, expr_ref & result);
br_status mk_flat_or_core(unsigned num_args, expr * const * args, expr_ref & result);
@ -89,7 +88,7 @@ class bool_rewriter {
expr_ref simplify_eq_ite(expr* value, expr* ite);
public:
bool_rewriter(ast_manager & m, params_ref const & p = params_ref()):m_manager(m), m_local_ctx_cost(0), m_pinned(m) {
bool_rewriter(ast_manager & m, params_ref const & p = params_ref()):m_manager(m), m_local_ctx_cost(0) {
updt_params(p);
}
ast_manager & m() const { return m_manager; }