155 {
159 "reduce limit %" PRIu64 " hit after %" PRIu64 " conflicts",
165#ifndef KISSAT_QUIET
167 size_t words_to_sweep = arena_size - start;
168 size_t bytes_to_sweep =
sizeof (
word) * words_to_sweep;
171 " in arena",
172 start);
174 "reducing %zu words %s %.0f%%", words_to_sweep,
176 kissat_percent (words_to_sweep, arena_size));
177#endif
179 reducibles reds;
181 if (collect_reducibles (
solver, &reds, start)) {
182 sort_reducibles (
solver, &reds);
183 mark_less_useful_clauses_as_garbage (
solver, &reds);
186 } else if (compact)
188 else
190 } else
192 } else
199 return solver->inconsistent ? 20 : 0;
200}
ABC_NAMESPACE_IMPL_START void kissat_classify(struct kissat *solver)
bool kissat_compacting(kissat *solver)
void kissat_sparse_collect(kissat *solver, bool compact, reference start)
#define UPDATE_CONFLICT_LIMIT(NAME, COUNT, SCALE_COUNT_FUNCTION, SCALE_DELTA)
#define KISSAT_assert(ignore)
unsigned __int64 word
DECLARATIONS ///.
#define kissat_phase(...)
ABC_NAMESPACE_HEADER_START typedef unsigned reference
void kissat_compute_and_set_tier_limits(struct kissat *solver)
void kissat_unmark_reason_clauses(kissat *solver, reference start)
bool kissat_flush_and_mark_reason_clauses(kissat *solver, reference start)