17 const double res = log10 (count + 9);
24 const double res = sqrt (count);
31 const double tmp = log10 (count + 9);
36 const double res = count * factor;
45 const double ff = f * f;
47 const double fff = 4.5 * ff + 25;
48 uint64_t scaled = fff * delta;
52 "scaled %s delta %" PRIu64
54 " = (4.5 (log10(%" PRIu64
") - 5)^2 + 25) * %" PRIu64,
55 pretty, scaled, fff, delta, C, delta);
76 solver->enabled.probe = probe;
86 eliminate ?
"en" :
"dis");
87 solver->enabled.eliminate = eliminate;
90#define INIT_CONFLICT_LIMIT(NAME, SCALE) \
92 const uint64_t DELTA = GET_OPTION (NAME##init); \
93 const uint64_t SCALED = \
94 !(SCALE) ? DELTA : kissat_scale_delta (solver, #NAME, DELTA); \
95 limits->NAME.conflicts = CONFLICTS + SCALED; \
96 kissat_very_verbose (solver, \
97 "initial " #NAME " limit of %s conflicts", \
98 FORMAT_COUNT (limits->NAME.conflicts)); \
125 if (
solver->enabled.eliminate) {
127 solver->bounds.eliminate.max_bound_completed = 0;
128 solver->bounds.eliminate.additional_clauses = 0;
132 if (
solver->enabled.probe)
141 return "bumping reason side literals";
143 return "congruence closure";
148 return "vivifying irredundant clauses";
154#define VERY_VERBOSE_IF_NOT_BUMPREASONS(...) \
155 VERY_VERBOSE_OR_LOG (delay == &solver->delays.bumpreasons, __VA_ARGS__)
162 solver,
"%s delay interval decreased to %u",
173 solver,
"%s delay interval increased to %u",
185 solver,
"%s still delayed (%u more times)",
#define ABC_NAMESPACE_IMPL_START
#define ABC_NAMESPACE_IMPL_END
pcover simplify(pcube *T)
bool kissat_delaying(kissat *solver, delay *delay)
#define INIT_CONFLICT_LIMIT(NAME, SCALE)
void kissat_reduce_delay(kissat *solver, delay *delay)
#define VERY_VERBOSE_IF_NOT_BUMPREASONS(...)
double kissat_sqrt(uint64_t count)
void kissat_init_limits(kissat *solver)
ABC_NAMESPACE_IMPL_START double kissat_logn(uint64_t count)
void kissat_bump_delay(kissat *solver, delay *delay)
double kissat_nlogpown(uint64_t count, unsigned exponent)
uint64_t kissat_scale_delta(kissat *solver, const char *pretty, uint64_t delta)
#define KISSAT_assert(ignore)
ABC_NAMESPACE_IMPL_START void kissat_init_mode_limit(kissat *solver)
#define kissat_very_verbose(...)
void kissat_update_focused_restart_limit(kissat *solver)