37 solver->gate_eliminated = 0;
38 solver->resolve_gate =
false;
42 const unsigned not_lit =
NOT (
lit);
59 INC (gates_extracted);
68 statches *gates =
solver->gates + negative;
71 statches *antecedents =
solver->antecedents + negative;
76 watch const *g = begin_gates;
80 watch const *w = begin_watches;
82 while (w != end_watches) {
93 size_t size_antecedents =
SIZE_STACK (*antecedents);
95 LOG (
"got %zu antecedent %.0f%% and %zu gate clauses %.0f%% "
96 "out of %zu watches of literal %s",
97 size_antecedents, kissat_percent (size_antecedents, size_watches),
98 size_gates, kissat_percent (size_gates, size_watches), size_watches,
#define ABC_NAMESPACE_IMPL_START
#define ABC_NAMESPACE_IMPL_END
ABC_NAMESPACE_IMPL_START bool kissat_find_and_gate(kissat *solver, unsigned lit, unsigned negative)
ABC_NAMESPACE_IMPL_START typedef signed char value
bool kissat_find_definition(kissat *solver, unsigned lit)
ABC_NAMESPACE_IMPL_START bool kissat_find_equivalence_gate(kissat *solver, unsigned lit)
bool kissat_find_gates(kissat *solver, unsigned lit)
void kissat_unmark_binaries(kissat *solver, unsigned lit)
ABC_NAMESPACE_IMPL_START size_t kissat_mark_binaries(kissat *solver, unsigned lit)
void kissat_get_antecedents(kissat *solver, unsigned lit)
bool kissat_find_if_then_else_gate(kissat *solver, unsigned lit, unsigned negative)
#define KISSAT_assert(ignore)
#define BEGIN_WATCHES(WS)
#define all_binary_large_watches(WATCH, WATCHES)