This commit is contained in:
ihan-o 2023-03-20 21:40:19 +08:00
parent 171baea664
commit b5e59ff1fe
86 changed files with 7245 additions and 1006 deletions

15
.vscode/settings.json vendored
View File

@ -61,6 +61,19 @@
"iomanip": "cpp", "iomanip": "cpp",
"typeindex": "cpp", "typeindex": "cpp",
"variant": "cpp", "variant": "cpp",
"csignal": "cpp" "csignal": "cpp",
"any": "cpp",
"cfenv": "cpp",
"charconv": "cpp",
"codecvt": "cpp",
"csetjmp": "cpp",
"cuchar": "cpp",
"forward_list": "cpp",
"unordered_set": "cpp",
"future": "cpp",
"regex": "cpp",
"scoped_allocator": "cpp",
"shared_mutex": "cpp",
"valarray": "cpp"
} }
} }

5
configure.txt Normal file
View File

@ -0,0 +1,5 @@
p PRS 4 1
kissat tier1=2 chrono=1
kissat target=0 tier1=3
kissat phase=1
kissat stable=1 target=2 phase=1

BIN
light Executable file

Binary file not shown.

BIN
light-v6-0 Executable file

Binary file not shown.

BIN
light-v6-1 Executable file

Binary file not shown.

BIN
light-v6-2 Executable file

Binary file not shown.

BIN
light-v6-3 Executable file

Binary file not shown.

View File

@ -2,6 +2,7 @@
#include "light.hpp" #include "light.hpp"
#include <unistd.h> #include <unistd.h>
#include <thread> #include <thread>
#include <iostream>
light::light(): light::light():
finalResult (0), finalResult (0),
@ -18,6 +19,50 @@ light::~light() {
workers.clear(true); workers.clear(true);
} }
void light::configure_from_file(const char* file) {
if (!strcmp(file, "")) {
configure_name = new vec<char*>[OPT(threads)];
configure_val = new vec<double>[OPT(threads)];
return;
}
printf("c Get configure file: %s\n", file);
std::ifstream fin(file);
char buf[1000];
fin.getline(buf, 1000);
char *p = buf + 6;
int ws, ss, id = 0;
p = read_int(p, &ws);
p = read_int(p, &ss);
printf("%d %d\n", ws, ss);
opt->set_para("threads", ws);
configure_name = new vec<char*>[ws];
configure_val = new vec<double>[ws];
while (fin.getline(buf, 1000)) {
p = strtok(buf, " ");
printf("%s\n", p);
solver_type.push(0);
while (p) {
p = strtok(NULL, " ");
printf("%s\n", p);
if (!p) break;
int l = strlen(p), pos = 0;
for (int i = 1; i < l; i++)
if (p[i] == '=') pos = i;
char *name = new char[pos];
strncpy(name, p, pos);
printf("%s\n", name);
configure_name[id].push(name);
char *val = p + pos + 1;
double v = atof(val);
printf("%.2lf\n", v);
configure_val[id].push(v);
}
printf("out\n");
id++;
}
}
void light::arg_parse(int argc, char **argv) { void light::arg_parse(int argc, char **argv) {
for (int i = 1; i < argc; i++) { for (int i = 1; i < argc; i++) {
char *arg = argv[i]; char *arg = argv[i];
@ -33,9 +78,14 @@ void light::arg_parse(int argc, char **argv) {
name[pos - 2] = '\0'; name[pos - 2] = '\0';
char* val = arg + pos + 1; char* val = arg + pos + 1;
if (opt->map_int.count(name)) opt->set_para(name, atoi(val)); if (opt->map_int.count(name)) opt->set_para(name, atoi(val));
opt->set_para(name, atof(val)); else if (opt->map_double.count(name)) opt->set_para(name, atof(val));
else opt->set_para(name, val);
} }
opt->sync_paras(); opt->sync_paras();
printf("%s\n", OPT(config).c_str());
configure_from_file(OPT(config).c_str());
printf("444\n");
opt->sync_paras();
opt->print_change(); opt->print_change();
printf("c filename: %s\n", filename); printf("c filename: %s\n", filename);
} }

View File

@ -2,6 +2,7 @@
#define _light_hpp_INCLUDED #define _light_hpp_INCLUDED
#include "utils/paras.hpp" #include "utils/paras.hpp"
#include "utils/parse.hpp"
#include "preprocess/preprocess.hpp" #include "preprocess/preprocess.hpp"
#include <atomic> #include <atomic>
#include <iostream> #include <iostream>
@ -16,6 +17,8 @@ class sharer;
extern std::atomic<int> terminated; extern std::atomic<int> terminated;
extern std::mutex mtx; extern std::mutex mtx;
enum Solver_Type {KISSAT};
struct thread_inf{ struct thread_inf{
int id, inf; int id, inf;
bool operator < ( const thread_inf &other ) const bool operator < ( const thread_inf &other ) const
@ -33,8 +36,12 @@ public:
char *filename; char *filename;
paras *opt; paras *opt;
preprocess *pre; preprocess *pre;
vec<int> solver_type;
vec<basesolver *> workers; vec<basesolver *> workers;
vec<sharer *> sharers; vec<sharer *> sharers;
vec<char*> *configure_name;
vec<double> *configure_val;
int finalResult; int finalResult;
int winner_period, winner_id; int winner_period, winner_id;
@ -52,6 +59,7 @@ public:
return winner_period; return winner_period;
} }
void arg_parse(int argc, char **argv); void arg_parse(int argc, char **argv);
void configure_from_file(const char* file);
void init_workers(); void init_workers();
void diversity_workers(); void diversity_workers();
void parse_input(); void parse_input();

BIN
light.o Normal file

Binary file not shown.

BIN
main.o Normal file

Binary file not shown.

BIN
preprocess/binary.o Normal file

Binary file not shown.

BIN
preprocess/card.o Normal file

Binary file not shown.

BIN
preprocess/gauss.o Normal file

Binary file not shown.

View File

@ -1,4 +1,5 @@
#include "preprocess.hpp" #include "preprocess.hpp"
#include "../utils/parse.hpp"
preprocess::preprocess(): preprocess::preprocess():
vars (0), vars (0),
@ -162,7 +163,9 @@ void preprocess::get_complete_model() {
} }
int preprocess::do_preprocess(char* filename) { int preprocess::do_preprocess(char* filename) {
readfile(filename); readfile(filename, &vars, &clauses, clause);
orivars = vars;
oriclauses = clauses;
preprocess_init(); preprocess_init();
int res = 1; int res = 1;

View File

@ -42,7 +42,7 @@ public:
int vars; int vars;
int clauses; int clauses;
vec<vec<int>> clause, res_clause; vec<vec<int>> clause, res_clause;
void readfile(const char *file); // void readfile(const char *file);
void write_cnf(); void write_cnf();
void release(); void release();

BIN
preprocess/preprocess.o Normal file

Binary file not shown.

BIN
preprocess/propagation.o Normal file

Binary file not shown.

BIN
preprocess/resolution.o Normal file

Binary file not shown.

View File

@ -10,7 +10,7 @@ char* worker_sign = "";
std::atomic<int> terminated; std::atomic<int> terminated;
int result = 0; int result = 0;
int winner, winner_conf; int winner_conf;
vec<int> model; vec<int> model;
void * read_worker(void *arg) { void * read_worker(void *arg) {
@ -26,13 +26,13 @@ void * solve_worker(void *arg) {
basesolver * sq = (basesolver *)arg; basesolver * sq = (basesolver *)arg;
while (!terminated) { while (!terminated) {
int res = sq->solve(); int res = sq->solve();
if (sq->controller->opt->DPS == 2) { if (sq->controller->opt->DPS) {
printf("c %d solved, res is %d\n", sq->id, res); printf("c %d solved, res is %d\n", sq->id, res);
if (res) { if (res) {
terminated = 1; terminated = 1;
result = res; result = res;
printf("c %d solved 1\n", sq->id); printf("c %d solved 1\n", sq->id);
sq->set_winner_period(); sq->internal_terminate();
printf("c %d solved 2\n", sq->id); printf("c %d solved 2\n", sq->id);
sq->controller->update_winner(sq->id, sq->period); sq->controller->update_winner(sq->id, sq->period);
printf("c %d solved 3\n", sq->id); printf("c %d solved 3\n", sq->id);
@ -41,20 +41,15 @@ void * solve_worker(void *arg) {
printf("c %d really solved, period is %d\n", sq->id, sq->period); printf("c %d really solved, period is %d\n", sq->id, sq->period);
} }
else { else {
vec<int> seq_model;
if (res == 10) {
sq->get_model(seq_model);
}
if (res && !terminated) { if (res && !terminated) {
printf("c result: %d, winner is %d, winner run %d confs\n", res, sq->id, sq->get_conflicts()); printf("c result: %d, winner is %d, winner run %d confs\n", res, sq->id, sq->get_conflicts());
terminated = 1; terminated = 1;
sq->controller->terminate_workers(); sq->controller->terminate_workers();
result = res; result = res;
winner = sq->id; sq->controller->update_winner(sq->id, 0);
winner_conf = sq->get_conflicts(); winner_conf = sq->get_conflicts();
if (res == 10) seq_model.copyTo(model); if (res == 10) sq->get_model(sq->model);
} }
seq_model.clear();
printf("get result %d with res %d\n", sq->id, res); printf("get result %d with res %d\n", sq->id, res);
} }
} }
@ -109,14 +104,17 @@ void light::diversity_workers() {
else else
workers[i]->configure("phase", 1); workers[i]->configure("phase", 1);
} }
for (int j = 0; j < configure_name[i].size(); j++) {
workers[i]->configure(configure_name[i][j], configure_val[i][j]);
}
} }
} }
void light::terminate_workers() { void light::terminate_workers() {
printf("c controller reach limit\n"); printf("c controller reach limit\n");
for (int i = 0; i < OPT(threads); i++) { for (int i = 0; i < OPT(threads); i++) {
if (OPT(share) == 1 && OPT(DPS) == 2) if (OPT(share) == 1 && OPT(DPS) == 1)
workers[i]->dps_terminate(); workers[i]->external_terminate();
else else
workers[i]->terminate(); workers[i]->terminate();
} }
@ -155,23 +153,8 @@ int light::solve() {
terminated = 1; terminated = 1;
terminate_workers(); terminate_workers();
} }
// if (OPT(reset) && solve_time >= pre_time + intv_time) {
// pre_time = solve_time;
// intv_time += OPT(reset_time);
// sol_thd = 0;
// for (int i = 0; i < OPT(threads); i++) {
// unimprove[sol_thd++] = (thread_inf) {i, workers[i]->get_reset_data()};
// }
// std::sort(unimprove, unimprove + sol_thd);
// printf("Reset thread (%d): ", solve_time);
// for (int i = 0; i < sol_thd / 2; i++) {
// workers[i]->reset();
// printf("%d(%d) ", unimprove[i].id, unimprove[i].inf);
// }
// puts("\n");
// }
} }
// printf("ending solve\n"); printf("ending solve\n");
// terminate_workers(); //important, need combine nps/dps !!!!!!!!!!!!!!!! // terminate_workers(); //important, need combine nps/dps !!!!!!!!!!!!!!!!
for (int i = 0; i < OPT(threads); i++) { for (int i = 0; i < OPT(threads); i++) {

BIN
solve.o Normal file

Binary file not shown.

View File

@ -1,5 +1,5 @@
#define VERSION "1.0.3" #define VERSION "1.0.3"
#define COMPILER "gcc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0 -W -Wall -O3 -DNEMBEDDED -DNDEBUG -DNMETRICS -DNSTATISTICS" #define COMPILER "gcc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0 -W -Wall -O3 -DNEMBEDDED -DNDEBUG -DNMETRICS -DNSTATISTICS"
#define ID "79d8d8f20465e71fd2b0f193b468898cd803a59a" #define ID "79d8d8f20465e71fd2b0f193b468898cd803a59a"
#define BUILD "Mon Mar 13 18:39:10 CST 2023 Linux seed1 5.4.0-139-generic x86_64" #define BUILD "Mon Mar 20 17:56:57 CST 2023 Linux seed1 5.4.0-139-generic x86_64"
#define DIR "/home/chenzh/solvers/Light/solvers/kissat-inc/build" #define DIR "/home/chenzh/solvers/Light/solvers/kissat-inc/build"

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -53,6 +53,33 @@ rescale_scores (kissat * solver, heap * scores)
GET (rescaled), "rescaled by factor %g", factor); GET (rescaled), "rescaled by factor %g", factor);
} }
void kissat_init_shuffle(kissat * solver, int maxvar) {
int seed = GET_OPTION(order_reset);
if (seed != -1)
{
// printf("c init shuffle %d\n", seed);
int *id;
id = (int *)malloc(sizeof(int) * (maxvar + 1));
for (int i = 1; i <= maxvar; i++)
id[i] = i;
for (int i = 1; i <= maxvar; i++)
{
int j = (rand_r(&seed) % maxvar) + 1;
int x = id[i];
id[i] = id[j];
id[j] = x;
}
for (int i = 1; i <= maxvar; i++)
kissat_activate_literal(solver, kissat_import_literal(solver, id[i]));
free(id);
}
else
{
for (int i = 1; i <= maxvar; i++)
kissat_import_literal(solver, i);
}
}
void kissat_shuffle_score(kissat * solver) { void kissat_shuffle_score(kissat * solver) {
heap *scores = &solver->scores; heap *scores = &solver->scores;
heap *scores_chb = &solver->scores_chb; heap *scores_chb = &solver->scores_chb;

View File

@ -5,6 +5,7 @@ struct kissat;
void kissat_bump_variables (struct kissat *); void kissat_bump_variables (struct kissat *);
void kissat_bump_chb (struct kissat *, unsigned idx, double multiplier); void kissat_bump_chb (struct kissat *, unsigned idx, double multiplier);
void kissat_init_shuffle (struct kissat *, int maxvar);
void kissat_decay_chb (struct kissat *); void kissat_decay_chb (struct kissat *);
void kissat_shuffle_score(struct kissat *); void kissat_shuffle_score(struct kissat *);
void kissat_update_conflicted_chb (struct kissat *); void kissat_update_conflicted_chb (struct kissat *);

View File

@ -18,17 +18,16 @@
#include <math.h> #include <math.h>
static bool static bool
really_eliminate (kissat * solver) really_eliminate(kissat *solver)
{ {
if (!GET_OPTION (really)) if (!GET_OPTION(really))
return true; return true;
const uint64_t limit = 2 * CLAUSES; const uint64_t limit = 2 * CLAUSES;
statistics *statistics = &solver->statistics; statistics *statistics = &solver->statistics;
return limit < statistics->search_ticks + GET_OPTION (eliminatemineff); return limit < statistics->search_ticks + GET_OPTION(eliminatemineff);
} }
bool bool kissat_eliminating(kissat *solver)
kissat_eliminating (kissat * solver)
{ {
if (!solver->enabled.eliminate) if (!solver->enabled.eliminate)
return false; return false;
@ -40,7 +39,7 @@ kissat_eliminating (kissat * solver)
limits *limits = &solver->limits; limits *limits = &solver->limits;
if (limits->eliminate.conflicts > statistics->conflicts) if (limits->eliminate.conflicts > statistics->conflicts)
return false; return false;
if (!really_eliminate (solver)) if (!really_eliminate(solver))
return false; return false;
if (limits->eliminate.variables.added < statistics->variables_added) if (limits->eliminate.variables.added < statistics->variables_added)
return true; return true;
@ -50,565 +49,567 @@ kissat_eliminating (kissat * solver)
} }
static inline void static inline void
update_after_adding_variable (kissat * solver, heap * schedule, unsigned idx) update_after_adding_variable(kissat *solver, heap *schedule, unsigned idx)
{ {
assert (schedule->size); assert(schedule->size);
kissat_update_variable_score (solver, schedule, idx); kissat_update_variable_score(solver, schedule, idx);
} }
static inline void static inline void
update_after_adding_stack (kissat * solver, unsigneds * stack) update_after_adding_stack(kissat *solver, unsigneds *stack)
{ {
assert (!solver->probing); assert(!solver->probing);
heap *schedule = &solver->schedule; heap *schedule = &solver->schedule;
if (!schedule->size) if (!schedule->size)
return; return;
for (all_stack (unsigned, lit, *stack)) for (all_stack(unsigned, lit, *stack))
update_after_adding_variable (solver, schedule, IDX (lit)); update_after_adding_variable(solver, schedule, IDX(lit));
} }
static inline void static inline void
update_after_removing_variable (kissat * solver, unsigned idx) update_after_removing_variable(kissat *solver, unsigned idx)
{ {
assert (!solver->probing); assert(!solver->probing);
heap *schedule = &solver->schedule; heap *schedule = &solver->schedule;
if (!schedule->size) if (!schedule->size)
return; return;
kissat_update_variable_score (solver, schedule, idx); kissat_update_variable_score(solver, schedule, idx);
if (!kissat_heap_contains (schedule, idx)) if (!kissat_heap_contains(schedule, idx))
kissat_push_heap (solver, schedule, idx); kissat_push_heap(solver, schedule, idx);
} }
void void kissat_update_after_removing_variable(kissat *solver, unsigned idx)
kissat_update_after_removing_variable (kissat * solver, unsigned idx)
{ {
update_after_removing_variable (solver, idx); update_after_removing_variable(solver, idx);
} }
static inline void static inline void
update_after_removing_clause (kissat * solver, clause * c, unsigned except) update_after_removing_clause(kissat *solver, clause *c, unsigned except)
{ {
assert (c->garbage); assert(c->garbage);
for (all_literals_in_clause (lit, c)) for (all_literals_in_clause(lit, c))
if (lit != except) if (lit != except)
update_after_removing_variable (solver, IDX (lit)); update_after_removing_variable(solver, IDX(lit));
} }
void void kissat_update_after_removing_clause(kissat *solver,
kissat_update_after_removing_clause (kissat * solver, clause *c, unsigned except)
clause * c, unsigned except)
{ {
update_after_removing_clause (solver, c, except); update_after_removing_clause(solver, c, except);
} }
void void kissat_eliminate_binary(kissat *solver, unsigned lit, unsigned other)
kissat_eliminate_binary (kissat * solver, unsigned lit, unsigned other)
{ {
kissat_disconnect_binary (solver, other, lit); kissat_disconnect_binary(solver, other, lit);
kissat_delete_binary (solver, false, false, lit, other); kissat_delete_binary(solver, false, false, lit, other);
update_after_removing_variable (solver, IDX (other)); update_after_removing_variable(solver, IDX(other));
} }
void void kissat_eliminate_clause(kissat *solver, clause *c, unsigned lit)
kissat_eliminate_clause (kissat * solver, clause * c, unsigned lit)
{ {
kissat_mark_clause_as_garbage (solver, c); kissat_mark_clause_as_garbage(solver, c);
update_after_removing_clause (solver, c, lit); update_after_removing_clause(solver, c, lit);
} }
static size_t static size_t
schedule_variables (kissat * solver) schedule_variables(kissat *solver)
{ {
LOG ("initializing variable schedule"); LOG("initializing variable schedule");
assert (!solver->schedule.size); assert(!solver->schedule.size);
kissat_resize_heap (solver, &solver->schedule, solver->vars); kissat_resize_heap(solver, &solver->schedule, solver->vars);
flags *all_flags = solver->flags; flags *all_flags = solver->flags;
for (all_variables (idx)) for (all_variables(idx))
{ {
flags *flags = all_flags + idx; flags *flags = all_flags + idx;
if (!flags->active) if (!flags->active)
continue; continue;
if (!flags->eliminate) if (!flags->eliminate)
continue; continue;
LOG ("scheduling variable %u", idx); LOG("scheduling variable %u", idx);
update_after_removing_variable (solver, idx); update_after_removing_variable(solver, idx);
} }
size_t scheduled = kissat_size_heap (&solver->schedule); size_t scheduled = kissat_size_heap(&solver->schedule);
#ifndef QUIET #ifndef QUIET
size_t active = solver->active; size_t active = solver->active;
kissat_phase (solver, "eliminate", GET (eliminations), kissat_phase(solver, "eliminate", GET(eliminations),
"scheduled %zu variables %.0f%%", "scheduled %zu variables %.0f%%",
scheduled, kissat_percent (scheduled, active)); scheduled, kissat_percent(scheduled, active));
#endif #endif
return scheduled; return scheduled;
} }
void void kissat_flush_units_while_connected(kissat *solver)
kissat_flush_units_while_connected (kissat * solver)
{ {
unsigned propagated = solver->propagated; unsigned propagated = solver->propagated;
size_t units = SIZE_STACK (solver->trail) - propagated; size_t units = SIZE_STACK(solver->trail) - propagated;
if (!units) if (!units)
return; return;
#ifdef LOGGING #ifdef LOGGING
LOG ("propagating and flushing %zu units", units); LOG("propagating and flushing %zu units", units);
#endif #endif
if (!kissat_dense_propagate (solver, if (!kissat_dense_propagate(solver,
NO_DENSE_PROPAGATION_LIMIT, INVALID_IDX)) NO_DENSE_PROPAGATION_LIMIT, INVALID_IDX))
{ {
assert (!solver->inconsistent); assert(!solver->inconsistent);
LOG ("inconsistent root propagation of resolved units"); LOG("inconsistent root propagation of resolved units");
CHECK_AND_ADD_EMPTY (); CHECK_AND_ADD_EMPTY();
ADD_EMPTY_TO_PROOF (); ADD_EMPTY_TO_PROOF();
solver->inconsistent = true; solver->inconsistent = true;
return; return;
} }
LOG ("marking and flushing unit satisfied clauses"); LOG("marking and flushing unit satisfied clauses");
const value *values = solver->values; const value *values = solver->values;
while (propagated < solver->propagated) while (propagated < solver->propagated)
{
const unsigned unit = PEEK_STACK(solver->trail, propagated);
propagated++;
assert(values[unit] > 0);
watches *unit_watches = &WATCHES(unit);
watch *begin = BEGIN_WATCHES(*unit_watches), *q = begin;
const watch *end = END_WATCHES(*unit_watches), *p = q;
if (begin == end)
continue;
LOG("marking %s satisfied clauses as garbage", LOGLIT(unit));
while (p != end)
{ {
const unsigned unit = PEEK_STACK (solver->trail, propagated); const watch watch = *q++ = *p++;
propagated++; if (watch.type.binary)
assert (values[unit] > 0); {
watches *unit_watches = &WATCHES (unit); const unsigned other = watch.binary.lit;
watch *begin = BEGIN_WATCHES (*unit_watches), *q = begin; if (!values[other])
const watch *end = END_WATCHES (*unit_watches), *p = q; update_after_removing_variable(solver, IDX(other));
if (begin == end) }
continue; else
LOG ("marking %s satisfied clauses as garbage", LOGLIT (unit)); {
while (p != end) const reference ref = watch.large.ref;
{ clause *c = kissat_dereference_clause(solver, ref);
const watch watch = *q++ = *p++; if (!c->garbage)
if (watch.type.binary) kissat_eliminate_clause(solver, c, unit);
{ assert(c->garbage);
const unsigned other = watch.binary.lit; q--;
if (!values[other]) }
update_after_removing_variable (solver, IDX (other));
}
else
{
const reference ref = watch.large.ref;
clause *c = kissat_dereference_clause (solver, ref);
if (!c->garbage)
kissat_eliminate_clause (solver, c, unit);
assert (c->garbage);
q--;
}
}
assert (q <= end);
size_t flushed = end - q;
if (!flushed)
continue;
LOG ("flushing %zu references satisfied by %s", flushed, LOGLIT (unit));
SET_END_OF_WATCHES (*unit_watches, q);
} }
assert(q <= end);
size_t flushed = end - q;
if (!flushed)
continue;
LOG("flushing %zu references satisfied by %s", flushed, LOGLIT(unit));
SET_END_OF_WATCHES(*unit_watches, q);
}
} }
static void static void
connect_resolvents (kissat * solver) connect_resolvents(kissat *solver)
{ {
bool backward = GET_OPTION (backward); bool backward = GET_OPTION(backward);
const value *values = solver->values; const value *values = solver->values;
assert (EMPTY_STACK (solver->clause.lits)); assert(EMPTY_STACK(solver->clause.lits));
uint64_t added = 0; uint64_t added = 0;
bool satisfied = false; bool satisfied = false;
for (all_stack (unsigned, other, solver->resolvents)) for (all_stack(unsigned, other, solver->resolvents))
{
if (other == INVALID_LIT)
{ {
if (other == INVALID_LIT) if (satisfied)
{ satisfied = false;
if (satisfied) else if (kissat_forward_subsume_temporary(solver))
satisfied = false; LOGTMP("temporary forward subsumed");
else if (kissat_forward_subsume_temporary (solver)) else
LOGTMP ("temporary forward subsumed"); {
else size_t size = SIZE_STACK(solver->clause.lits);
{ if (!size)
size_t size = SIZE_STACK (solver->clause.lits); {
if (!size) assert(!solver->inconsistent);
{ LOG("resolved empty clause");
assert (!solver->inconsistent); CHECK_AND_ADD_EMPTY();
LOG ("resolved empty clause"); ADD_EMPTY_TO_PROOF();
CHECK_AND_ADD_EMPTY (); solver->inconsistent = true;
ADD_EMPTY_TO_PROOF (); break;
solver->inconsistent = true; }
break; else if (size == 1)
} {
else if (size == 1) const unsigned unit = PEEK_STACK(solver->clause.lits, 0);
{ LOG("resolved unit clause %s", LOGLIT(unit));
const unsigned unit = PEEK_STACK (solver->clause.lits, 0); kissat_assign_unit(solver, unit);
LOG ("resolved unit clause %s", LOGLIT (unit)); CHECK_AND_ADD_UNIT(unit);
kissat_assign_unit (solver, unit); ADD_UNIT_TO_PROOF(unit);
CHECK_AND_ADD_UNIT (unit); }
ADD_UNIT_TO_PROOF (unit); else
} {
else assert(size > 1);
{ reference ref = kissat_new_irredundant_clause(solver);
assert (size > 1); update_after_adding_stack(solver, &solver->clause.lits);
reference ref = kissat_new_irredundant_clause (solver); added++;
update_after_adding_stack (solver, &solver->clause.lits);
added++;
if (backward) if (backward)
backward = backward =
kissat_backward_subsume_temporary (solver, ref); kissat_backward_subsume_temporary(solver, ref);
} }
} }
CLEAR_STACK (solver->clause.lits); CLEAR_STACK(solver->clause.lits);
}
else if (!satisfied)
{
const value value = values[other];
if (value > 0)
{
LOGTMP ("now %s satisfied resolvent", LOGLIT (other));
satisfied = true;
}
else if (value < 0)
LOG2 ("dropping now falsified literal %s", LOGLIT (other));
else
PUSH_STACK (solver->clause.lits, other);
}
} }
LOG ("added %" PRIu64 " new clauses", added); else if (!satisfied)
CLEAR_STACK (solver->resolvents); {
const value value = values[other];
if (value > 0)
{
LOGTMP("now %s satisfied resolvent", LOGLIT(other));
satisfied = true;
}
else if (value < 0)
LOG2("dropping now falsified literal %s", LOGLIT(other));
else
PUSH_STACK(solver->clause.lits, other);
}
}
LOG("added %" PRIu64 " new clauses", added);
CLEAR_STACK(solver->resolvents);
} }
static void static void
weaken_clauses (kissat * solver, unsigned lit) weaken_clauses(kissat *solver, unsigned lit)
{ {
const unsigned not_lit = NOT (lit); const unsigned not_lit = NOT(lit);
const value *values = solver->values; const value *values = solver->values;
assert (!values[lit]); assert(!values[lit]);
watches *pos_watches = &WATCHES (lit); watches *pos_watches = &WATCHES(lit);
for (all_binary_large_watches (watch, *pos_watches)) for (all_binary_large_watches(watch, *pos_watches))
{
if (watch.type.binary)
{ {
if (watch.type.binary) const unsigned other = watch.binary.lit;
{ const value value = values[other];
const unsigned other = watch.binary.lit; if (value <= 0)
const value value = values[other]; kissat_weaken_binary(solver, lit, other);
if (value <= 0) assert(!watch.binary.redundant);
kissat_weaken_binary (solver, lit, other); kissat_eliminate_binary(solver, lit, other);
assert (!watch.binary.redundant);
kissat_eliminate_binary (solver, lit, other);
}
else
{
const reference ref = watch.large.ref;
clause *c = kissat_dereference_clause (solver, ref);
if (c->garbage)
continue;
bool satisfied = false;
for (all_literals_in_clause (other, c))
{
const value value = values[other];
if (value <= 0)
continue;
satisfied = true;
break;
}
if (!satisfied)
kissat_weaken_clause (solver, lit, c);
LOGCLS (c, "removing %s", LOGLIT (lit));
kissat_eliminate_clause (solver, c, lit);
solver->dps_ticks++;
}
} }
RELEASE_WATCHES (*pos_watches); else
watches *neg_watches = &WATCHES (not_lit);
bool optimize = !GET_OPTION (incremental);
for (all_binary_large_watches (watch, *neg_watches))
{ {
if (watch.type.binary) const reference ref = watch.large.ref;
{ clause *c = kissat_dereference_clause(solver, ref);
const unsigned other = watch.binary.lit; if (c->garbage)
assert (!watch.binary.redundant); continue;
const value value = values[other]; bool satisfied = false;
if (!optimize && value <= 0) for (all_literals_in_clause(other, c))
kissat_weaken_binary (solver, not_lit, other); {
kissat_eliminate_binary (solver, not_lit, other); const value value = values[other];
} if (value <= 0)
else continue;
{ satisfied = true;
const reference ref = watch.large.ref; break;
clause *d = kissat_dereference_clause (solver, ref); }
if (d->garbage) if (!satisfied)
continue; kissat_weaken_clause(solver, lit, c);
bool satisfied = false; LOGCLS(c, "removing %s", LOGLIT(lit));
for (all_literals_in_clause (other, d)) kissat_eliminate_clause(solver, c, lit);
{ solver->dps_ticks++;
const value value = values[other];
if (value <= 0)
continue;
satisfied = true;
break;
}
if (!optimize && !satisfied)
kissat_weaken_clause (solver, not_lit, d);
LOGCLS (d, "removing %s", LOGLIT (not_lit));
kissat_eliminate_clause (solver, d, not_lit);
solver->dps_ticks++;
}
} }
}
if (solver->dps == 1 && solver->dps_ticks >= solver->dps_period) {
solver->dps_ticks -= solver->dps_period;
solver->cbk_start_new_period(solver->issuer);
}
RELEASE_WATCHES(*pos_watches);
watches *neg_watches = &WATCHES(not_lit);
bool optimize = !GET_OPTION(incremental);
for (all_binary_large_watches(watch, *neg_watches))
{
if (watch.type.binary)
{
const unsigned other = watch.binary.lit;
assert(!watch.binary.redundant);
const value value = values[other];
if (!optimize && value <= 0)
kissat_weaken_binary(solver, not_lit, other);
kissat_eliminate_binary(solver, not_lit, other);
}
else
{
const reference ref = watch.large.ref;
clause *d = kissat_dereference_clause(solver, ref);
if (d->garbage)
continue;
bool satisfied = false;
for (all_literals_in_clause(other, d))
{
const value value = values[other];
if (value <= 0)
continue;
satisfied = true;
break;
}
if (!optimize && !satisfied)
kissat_weaken_clause(solver, not_lit, d);
LOGCLS(d, "removing %s", LOGLIT(not_lit));
kissat_eliminate_clause(solver, d, not_lit);
solver->dps_ticks++;
}
}
if (solver->dps == 1 && solver->dps_ticks >= solver->dps_period) {
solver->dps_ticks -= solver->dps_period;
solver->cbk_start_new_period(solver->issuer);
}
if (optimize && neg_watches->size) if (optimize && neg_watches->size)
kissat_weaken_unit (solver, not_lit); kissat_weaken_unit(solver, not_lit);
RELEASE_WATCHES (*neg_watches); RELEASE_WATCHES(*neg_watches);
kissat_flush_units_while_connected (solver); kissat_flush_units_while_connected(solver);
} }
static void static void
try_to_eliminate_all_variables_again (kissat * solver) try_to_eliminate_all_variables_again(kissat *solver)
{ {
LOG ("trying to elimination all variables again"); LOG("trying to elimination all variables again");
flags *all_flags = solver->flags; flags *all_flags = solver->flags;
for (all_variables (idx)) for (all_variables(idx))
{ {
flags *flags = all_flags + idx; flags *flags = all_flags + idx;
flags->eliminate = true; flags->eliminate = true;
} }
solver->limits.eliminate.variables.removed = 0; solver->limits.eliminate.variables.removed = 0;
} }
static void static void
set_next_elimination_bound (kissat * solver, bool complete) set_next_elimination_bound(kissat *solver, bool complete)
{ {
const unsigned max_bound = GET_OPTION (eliminatebound); const unsigned max_bound = GET_OPTION(eliminatebound);
const unsigned current_bound = solver->bounds.eliminate.additional_clauses; const unsigned current_bound = solver->bounds.eliminate.additional_clauses;
assert (current_bound <= max_bound); assert(current_bound <= max_bound);
if (complete) if (complete)
{
if (current_bound == max_bound)
{ {
if (current_bound == max_bound) kissat_phase(solver, "eliminate", GET(eliminations),
{ "completed maximum elimination bound %u",
kissat_phase (solver, "eliminate", GET (eliminations), current_bound);
"completed maximum elimination bound %u", limits *limits = &solver->limits;
current_bound); statistics *statistics = &solver->statistics;
limits *limits = &solver->limits; limits->eliminate.variables.added = statistics->variables_added;
statistics *statistics = &solver->statistics; limits->eliminate.variables.removed = statistics->variables_removed;
limits->eliminate.variables.added = statistics->variables_added;
limits->eliminate.variables.removed = statistics->variables_removed;
#ifndef QUIET #ifndef QUIET
bool first = !solver->bounds.eliminate.max_bound_completed++; bool first = !solver->bounds.eliminate.max_bound_completed++;
REPORT (!first, first ? '!' : ':'); REPORT(!first, first ? '!' : ':');
#endif #endif
}
else
{
const unsigned next_bound =
!current_bound ? 1 : MIN (2 * current_bound, max_bound);
kissat_phase (solver, "eliminate", GET (eliminations),
"completed elimination bound %u next %u",
current_bound, next_bound);
solver->bounds.eliminate.additional_clauses = next_bound;
try_to_eliminate_all_variables_again (solver);
REPORT (0, '^');
}
} }
else
{
const unsigned next_bound =
!current_bound ? 1 : MIN(2 * current_bound, max_bound);
kissat_phase(solver, "eliminate", GET(eliminations),
"completed elimination bound %u next %u",
current_bound, next_bound);
solver->bounds.eliminate.additional_clauses = next_bound;
try_to_eliminate_all_variables_again(solver);
REPORT(0, '^');
}
}
else else
kissat_phase (solver, "eliminate", GET (eliminations), kissat_phase(solver, "eliminate", GET(eliminations),
"incomplete elimination bound %u", current_bound); "incomplete elimination bound %u", current_bound);
} }
static bool static bool
can_eliminate_variable (kissat * solver, unsigned idx) can_eliminate_variable(kissat *solver, unsigned idx)
{ {
flags *flags = FLAGS (idx); flags *flags = FLAGS(idx);
if (!flags->active) if (!flags->active)
return false; return false;
if (!flags->eliminate) if (!flags->eliminate)
return false; return false;
LOG ("next variable elimination candidate %u", idx); LOG("next variable elimination candidate %u", idx);
LOG ("marking variable %u as not removed", idx); LOG("marking variable %u as not removed", idx);
flags->eliminate = false; flags->eliminate = false;
return true; return true;
} }
static bool static bool
eliminate_variable (kissat * solver, unsigned idx) eliminate_variable(kissat *solver, unsigned idx)
{ {
assert (!solver->inconsistent); assert(!solver->inconsistent);
if (!can_eliminate_variable (solver, idx)) if (!can_eliminate_variable(solver, idx))
return false; return false;
unsigned lit; unsigned lit;
if (!kissat_generate_resolvents (solver, idx, &lit)) if (!kissat_generate_resolvents(solver, idx, &lit))
return false; return false;
connect_resolvents (solver); connect_resolvents(solver);
if (!solver->inconsistent) if (!solver->inconsistent)
weaken_clauses (solver, lit); weaken_clauses(solver, lit);
INC (eliminated); INC(eliminated);
kissat_mark_eliminated_variable (solver, idx); kissat_mark_eliminated_variable(solver, idx);
if (solver->gate_eliminated) if (solver->gate_eliminated)
{ {
INC (gates); INC(gates);
#ifndef NMETRICS #ifndef NMETRICS
assert (*solver->gate_eliminated < UINT64_MAX); assert(*solver->gate_eliminated < UINT64_MAX);
*solver->gate_eliminated += 1; *solver->gate_eliminated += 1;
#endif #endif
} }
return true; return true;
} }
static void static void
eliminate_variables (kissat * solver) eliminate_variables(kissat *solver)
{ {
kissat_very_verbose (solver, kissat_very_verbose(solver,
"trying to eliminate variables with bound %u", "trying to eliminate variables with bound %u",
solver->bounds.eliminate.additional_clauses); solver->bounds.eliminate.additional_clauses);
unsigned eliminated = 0; unsigned eliminated = 0;
const unsigned active = solver->active; const unsigned active = solver->active;
SET_EFFICIENCY_BOUND (resolution_limit, eliminate, SET_EFFICIENCY_BOUND(resolution_limit, eliminate,
resolutions, search_ticks, resolutions, search_ticks,
2 * CLAUSES + kissat_nlogn (active)); 2 * CLAUSES + kissat_nlogn(active));
bool complete = false; bool complete = false;
int round = 0; int round = 0;
const bool forward = GET_OPTION (forward); const bool forward = GET_OPTION(forward);
for (;;) for (;;)
{
if (forward)
{ {
if (forward) unsigned propagated = solver->propagated;
{ kissat_forward_subsume_during_elimination(solver);
unsigned propagated = solver->propagated;
kissat_forward_subsume_during_elimination (solver);
if (solver->inconsistent)
break;
kissat_flush_large_connected (solver);
kissat_connect_irredundant_large_clauses (solver);
solver->propagated = propagated;
kissat_flush_units_while_connected (solver);
if (solver->inconsistent)
break;
}
else
kissat_connect_irredundant_large_clauses (solver);
if (!schedule_variables (solver))
{
kissat_release_heap (solver, &solver->schedule);
complete = true;
break;
}
round++;
#ifndef QUIET
LOG ("entering variable elimination round %d", round);
const unsigned before = eliminated;
#endif
while (!kissat_empty_heap (&solver->schedule))
{
if (solver->statistics.resolutions > resolution_limit)
break;
if (TERMINATED (5))
break;
unsigned idx = kissat_max_heap (&solver->schedule);
kissat_pop_heap (solver, &solver->schedule, idx);
if (eliminate_variable (solver, idx))
eliminated++;
if (solver->inconsistent)
break;
}
if (!solver->inconsistent)
{
kissat_flush_large_connected (solver);
kissat_dense_collect (solver);
}
REPORT (before == eliminated, 'e');
if (solver->inconsistent) if (solver->inconsistent)
break; break;
kissat_release_heap (solver, &solver->schedule); kissat_flush_large_connected(solver);
if (round == GET_OPTION (eliminaterounds)) kissat_connect_irredundant_large_clauses(solver);
break; solver->propagated = propagated;
if (solver->statistics.resolutions > resolution_limit) kissat_flush_units_while_connected(solver);
break; if (solver->inconsistent)
if (TERMINATED (6)) break;
break;
} }
kissat_phase (solver, "eliminate", GET (eliminations), else
"eliminated %u variables %.0f%% out of %u in %zu rounds", kissat_connect_irredundant_large_clauses(solver);
eliminated, kissat_percent (eliminated, active), active, if (!schedule_variables(solver))
round); {
kissat_release_heap(solver, &solver->schedule);
complete = true;
break;
}
round++;
#ifndef QUIET
LOG("entering variable elimination round %d", round);
const unsigned before = eliminated;
#endif
while (!kissat_empty_heap(&solver->schedule))
{
if (solver->statistics.resolutions > resolution_limit)
break;
if (TERMINATED(5))
break;
unsigned idx = kissat_max_heap(&solver->schedule);
kissat_pop_heap(solver, &solver->schedule, idx);
if (eliminate_variable(solver, idx))
eliminated++;
if (solver->inconsistent)
break;
}
if (!solver->inconsistent)
{
kissat_flush_large_connected(solver);
kissat_dense_collect(solver);
}
REPORT(before == eliminated, 'e');
if (solver->inconsistent)
break;
kissat_release_heap(solver, &solver->schedule);
if (round == GET_OPTION(eliminaterounds))
break;
if (solver->statistics.resolutions > resolution_limit)
break;
if (TERMINATED(6))
break;
}
kissat_phase(solver, "eliminate", GET(eliminations),
"eliminated %u variables %.0f%% out of %u in %zu rounds",
eliminated, kissat_percent(eliminated, active), active,
round);
if (!solver->inconsistent) if (!solver->inconsistent)
set_next_elimination_bound (solver, complete); set_next_elimination_bound(solver, complete);
} }
static void static void
setup_elim_bounds (kissat * solver) setup_elim_bounds(kissat *solver)
{ {
solver->bounds.eliminate.clause_size = solver->bounds.eliminate.clause_size =
SCALE_LIMIT (eliminations, eliminateclslim); SCALE_LIMIT(eliminations, eliminateclslim);
solver->bounds.eliminate.occurrences = solver->bounds.eliminate.occurrences =
SCALE_LIMIT (eliminations, eliminateocclim); SCALE_LIMIT(eliminations, eliminateocclim);
kissat_phase (solver, "eliminate", GET (eliminations), kissat_phase(solver, "eliminate", GET(eliminations),
"occurrence limit %u and clause limit %u", "occurrence limit %u and clause limit %u",
solver->bounds.eliminate.occurrences, solver->bounds.eliminate.occurrences,
solver->bounds.eliminate.clause_size); solver->bounds.eliminate.clause_size);
solver->bounds.subsume.clause_size = solver->bounds.subsume.clause_size =
SCALE_LIMIT (eliminations, subsumeclslim); SCALE_LIMIT(eliminations, subsumeclslim);
solver->bounds.subsume.occurrences = solver->bounds.subsume.occurrences =
SCALE_LIMIT (eliminations, subsumeocclim); SCALE_LIMIT(eliminations, subsumeocclim);
kissat_phase (solver, "subsume", GET (eliminations), kissat_phase(solver, "subsume", GET(eliminations),
"occurrence limit %u clause limit %u", "occurrence limit %u clause limit %u",
solver->bounds.subsume.occurrences, solver->bounds.subsume.occurrences,
solver->bounds.subsume.clause_size); solver->bounds.subsume.clause_size);
solver->bounds.xork.clause_size = solver->bounds.xork.clause_size =
log (MAX (solver->bounds.eliminate.occurrences, 1)) / log (2.0) + 0.5; log(MAX(solver->bounds.eliminate.occurrences, 1)) / log(2.0) + 0.5;
if (solver->bounds.xork.clause_size > (unsigned) GET_OPTION (xorsclslim)) if (solver->bounds.xork.clause_size > (unsigned)GET_OPTION(xorsclslim))
solver->bounds.xork.clause_size = (unsigned) GET_OPTION (xorsclslim); solver->bounds.xork.clause_size = (unsigned)GET_OPTION(xorsclslim);
assert (solver->bounds.xork.clause_size < 32); assert(solver->bounds.xork.clause_size < 32);
LOG ("maximum XOR base clause size %u", solver->bounds.xork.clause_size); LOG("maximum XOR base clause size %u", solver->bounds.xork.clause_size);
} }
static void static void
eliminate (kissat * solver) eliminate(kissat *solver)
{ {
RETURN_IF_DELAYED (eliminate); RETURN_IF_DELAYED(eliminate);
kissat_backtrack_propagate_and_flush_trail (solver); kissat_backtrack_propagate_and_flush_trail(solver);
assert (!solver->inconsistent); assert(!solver->inconsistent);
STOP_SEARCH_AND_START_SIMPLIFIER (eliminate); STOP_SEARCH_AND_START_SIMPLIFIER(eliminate);
kissat_phase (solver, "eliminate", GET (eliminations), kissat_phase(solver, "eliminate", GET(eliminations),
"elimination limit of %" PRIu64 " conflicts hit", "elimination limit of %" PRIu64 " conflicts hit",
solver->limits.eliminate.conflicts); solver->limits.eliminate.conflicts);
const changes before = kissat_changes (solver); const changes before = kissat_changes(solver);
setup_elim_bounds (solver); setup_elim_bounds(solver);
litwatches saved; litwatches saved;
INIT_STACK (saved); INIT_STACK(saved);
kissat_enter_dense_mode (solver, 0, &saved); kissat_enter_dense_mode(solver, 0, &saved);
eliminate_variables (solver); eliminate_variables(solver);
kissat_resume_sparse_mode (solver, true, 0, &saved); kissat_resume_sparse_mode(solver, true, 0, &saved);
RELEASE_STACK (saved); RELEASE_STACK(saved);
kissat_check_statistics (solver); kissat_check_statistics(solver);
const changes after = kissat_changes (solver); const changes after = kissat_changes(solver);
const bool changed = kissat_changed (before, after); const bool changed = kissat_changed(before, after);
UPDATE_DELAY (changed, eliminate); UPDATE_DELAY(changed, eliminate);
STOP_SIMPLIFIER_AND_RESUME_SEARCH (eliminate); STOP_SIMPLIFIER_AND_RESUME_SEARCH(eliminate);
} }
int int kissat_eliminate(kissat *solver)
kissat_eliminate (kissat * solver)
{ {
assert (!solver->inconsistent); assert(!solver->inconsistent);
INC (eliminations); INC(eliminations);
eliminate (solver); eliminate(solver);
UPDATE_CONFLICT_LIMIT (eliminate, eliminations, NLOGNLOGN, true); UPDATE_CONFLICT_LIMIT(eliminate, eliminations, NLOGNLOGN, true);
solver->waiting.eliminate.reduce = solver->statistics.reductions + 1; solver->waiting.eliminate.reduce = solver->statistics.reductions + 1;
return solver->inconsistent ? 20 : 0; return solver->inconsistent ? 20 : 0;
} }

View File

@ -175,6 +175,10 @@ find_forward_subsumption_candidates (kissat * solver, references * candidates)
const unsigned ref = kissat_reference_clause (solver, c); const unsigned ref = kissat_reference_clause (solver, c);
PUSH_STACK (*candidates, ref); PUSH_STACK (*candidates, ref);
} }
if (solver->dps == 1 && solver->dps_ticks >= solver->dps_period) {
solver->dps_ticks -= solver->dps_period;
solver->cbk_start_new_period(solver->issuer);
}
if (left_over_from_last_subsumption_round) if (left_over_from_last_subsumption_round)
return; return;
@ -332,7 +336,10 @@ forward_literal (kissat * solver, unsigned lit, bool binaries,
} }
} }
} }
if (solver->dps == 1 && solver->dps_ticks >= solver->dps_period) {
solver->dps_ticks -= solver->dps_period;
solver->cbk_start_new_period(solver->issuer);
}
while (p != end) while (p != end)
*q++ = *p++; *q++ = *p++;
@ -621,6 +628,10 @@ forward_subsume_all_clauses (kissat * solver)
if (!c->garbage) if (!c->garbage)
connect_subsuming (solver, occlim, c); connect_subsuming (solver, occlim, c);
} }
if (solver->dps == 1 && solver->dps_ticks >= solver->dps_period) {
solver->dps_ticks -= solver->dps_period;
solver->cbk_start_new_period(solver->issuer);
}
} }
#ifndef QUIET #ifndef QUIET
if (subsumed) if (subsumed)
@ -669,6 +680,10 @@ forward_subsume_all_clauses (kissat * solver)
flags[idx].subsume = saved[idx].subsume; flags[idx].subsume = saved[idx].subsume;
} }
} }
if (solver->dps == 1 && solver->dps_ticks >= solver->dps_period) {
solver->dps_ticks -= solver->dps_period;
solver->cbk_start_new_period(solver->issuer);
}
#ifndef QUIET #ifndef QUIET
if (remain) if (remain)
kissat_phase (solver, "forward", GET (forward_subsumptions), kissat_phase (solver, "forward", GET (forward_subsumptions),

View File

@ -9,6 +9,7 @@
#include "require.h" #include "require.h"
#include "resize.h" #include "resize.h"
#include "resources.h" #include "resources.h"
#include "bump.h"
#include <assert.h> #include <assert.h>
#include <inttypes.h> #include <inttypes.h>
@ -34,8 +35,8 @@ kissat_init (void)
kissat_init_queue (&solver->queue); kissat_init_queue (&solver->queue);
kissat_push_frame (solver, INVALID_LIT); kissat_push_frame (solver, INVALID_LIT);
solver->nconflict = 0; solver->nconflict = 0;
solver->share_dps = 0; solver->dps = 0;
solver->share_dps_period = 10000; solver->dps_period = 10000;
solver->watching = true; solver->watching = true;
solver->conflict.size = 2; solver->conflict.size = 2;
solver->conflict.keep = true; solver->conflict.keep = true;
@ -194,32 +195,7 @@ kissat_reserve (kissat * solver, int max_var)
kissat_require (max_var <= EXTERNAL_MAX_VAR, kissat_require (max_var <= EXTERNAL_MAX_VAR,
"invalid maximum variable argument '%d'", max_var); "invalid maximum variable argument '%d'", max_var);
kissat_increase_size (solver, (unsigned) max_var); kissat_increase_size (solver, (unsigned) max_var);
kissat_init_shuffle(solver, max_var);
int seed = GET_OPTION(order_reset);
if (seed != -1)
{
// srand(solver->order_reset);
int *id;
id = (int *)malloc(sizeof(int) * (max_var + 1));
for (int i = 1; i <= max_var; i++)
id[i] = i;
for (int i = 1; i <= max_var; i++)
{
int j = (rand_r(&seed) % max_var) + 1;
int x = id[i];
id[i] = id[j];
id[j] = x;
}
// printf("c mxavar is %d, first is %d, tenth is %d\n", max_var, id[1], id[10]);
for (int i = 1; i <= max_var; i++)
kissat_activate_literal(solver, kissat_import_literal(solver, id[i]));
free(id);
}
else
{
for (int i = 1; i <= max_var; i++)
kissat_import_literal(solver, i);
}
} }
int int

View File

@ -77,10 +77,10 @@ struct kissat
int (* cbkImportUnit) (void *); int (* cbkImportUnit) (void *);
int (* cbkImportClause)(void *, int *, cvec *); int (* cbkImportClause)(void *, int *, cvec *);
void (* cbkExportClause)(void *, int, cvec *); void (* cbkExportClause)(void *, int, cvec *);
int (* cbkWaitSharing) (void *); void (* cbk_start_new_period) (void *);
void (* cbkFreeClause) (void *); // callback for clause learning void (* cbk_free_clauses) (void *); // callback for clause learning
int share_dps; int dps;
int share_dps_period; int dps_period;
cvec *importedClause; cvec *importedClause;
cvec *exportedClause; cvec *exportedClause;
void *issuer; void *issuer;

View File

@ -108,7 +108,10 @@ non_watching_propagate_literal (kissat * solver,
ADD (ticks, ticks); ADD (ticks, ticks);
ADD (dense_ticks, ticks); ADD (dense_ticks, ticks);
solver->dps_ticks += ticks; solver->dps_ticks += ticks;
if (solver->dps == 1 && solver->dps_ticks >= solver->dps_period) {
solver->dps_ticks -= solver->dps_period;
solver->cbk_start_new_period(solver->issuer);
}
return true; return true;
} }

View File

@ -79,6 +79,10 @@ binary_propagate_literal (kissat * solver, unsigned lit)
const watch *p = begin; const watch *p = begin;
int ticks = kissat_cache_lines (watches->size, sizeof (watch)); int ticks = kissat_cache_lines (watches->size, sizeof (watch));
solver->dps_ticks +=ticks; solver->dps_ticks +=ticks;
if (solver->dps == 1 && solver->dps_ticks >= solver->dps_period) {
solver->dps_ticks -= solver->dps_period;
solver->cbk_start_new_period(solver->issuer);
}
clause *res = 0; clause *res = 0;

View File

@ -244,6 +244,10 @@ PROPAGATE_LITERAL (kissat * solver,
} }
solver->ticks += ticks; solver->ticks += ticks;
solver->dps_ticks += ticks; solver->dps_ticks += ticks;
if (solver->dps == 1 && solver->dps_ticks >= solver->dps_period) {
solver->dps_ticks -= solver->dps_period;
solver->cbk_start_new_period(solver->issuer);
}
while (p != end_watches) while (p != end_watches)
*q++ = *p++; *q++ = *p++;

View File

@ -215,7 +215,10 @@ generate_resolvents (kissat * solver, unsigned lit,
PUSH_STACK (solver->resolvents, INVALID_LIT); PUSH_STACK (solver->resolvents, INVALID_LIT);
solver->dps_ticks++; solver->dps_ticks++;
} }
if (solver->dps == 1 && solver->dps_ticks >= solver->dps_period) {
solver->dps_ticks -= solver->dps_period;
solver->cbk_start_new_period(solver->issuer);
}
for (all_literals_in_clause (other, c)) for (all_literals_in_clause (other, c))
{ {
if (other == lit) if (other == lit)

View File

@ -172,15 +172,10 @@ int kissat_search(kissat *solver)
} }
if (!solver->level) { if (!solver->level) {
int should_free = 0; int should_free = 0;
if (solver->share_dps > 0 && solver->dps_ticks >= solver->share_dps_period) {
solver->dps_ticks -= solver->share_dps_period;
should_free = solver->cbkWaitSharing(solver->issuer);
if (should_free == -1) return 0;
}
if (!kissat_importUnitClauses(solver)) return 20; if (!kissat_importUnitClauses(solver)) return 20;
if (!kissat_importClauses(solver)) return 20; if (!kissat_importClauses(solver)) return 20;
if (should_free == 1 && solver->share_dps == 2) if (solver->dps == 1)
solver->cbkFreeClause(solver->issuer); solver->cbk_free_clauses(solver->issuer);
} }
clause *conflict = kissat_search_propagate(solver); clause *conflict = kissat_search_propagate(solver);
if (conflict) if (conflict)

View File

@ -117,6 +117,10 @@ determine_representatives (kissat * solver, unsigned *repr)
if (reach_other < reach_lit) if (reach_other < reach_lit)
reach_lit = reach_other; reach_lit = reach_other;
} }
if (solver->dps == 1 && solver->dps_ticks >= solver->dps_period) {
solver->dps_ticks -= solver->dps_period;
solver->cbk_start_new_period(solver->issuer);
}
if (reach_lit != mark_lit) if (reach_lit != mark_lit)
{ {
LOG ("reach[%s] = %u", LOGLIT (lit), reach_lit); LOG ("reach[%s] = %u", LOGLIT (lit), reach_lit);
@ -206,6 +210,7 @@ determine_representatives (kissat * solver, unsigned *repr)
unsigned ticks = kissat_cache_lines (watches->size, sizeof (watch)); unsigned ticks = kissat_cache_lines (watches->size, sizeof (watch));
solver->dps_ticks += 1 + ticks; solver->dps_ticks += 1 + ticks;
for (all_binary_blocking_watches (watch, *watches)) for (all_binary_blocking_watches (watch, *watches))
{ {
@ -218,6 +223,10 @@ determine_representatives (kissat * solver, unsigned *repr)
if (!mark[other]) if (!mark[other])
PUSH_STACK (work, other); PUSH_STACK (work, other);
} }
if (solver->dps == 1 && solver->dps_ticks >= solver->dps_period) {
solver->dps_ticks -= solver->dps_period;
solver->cbk_start_new_period(solver->issuer);
}
} }
else else
(void) POP_STACK (work); (void) POP_STACK (work);

View File

@ -12,280 +12,282 @@
#include <stddef.h> #include <stddef.h>
static void static void
transitive_assign (kissat * solver, unsigned lit) transitive_assign(kissat *solver, unsigned lit)
{ {
LOG ("transitive assign %s", LOGLIT (lit)); LOG("transitive assign %s", LOGLIT(lit));
value *values = solver->values; value *values = solver->values;
const unsigned not_lit = NOT (lit); const unsigned not_lit = NOT(lit);
assert (!values[lit]); assert(!values[lit]);
assert (!values[not_lit]); assert(!values[not_lit]);
values[lit] = 1; values[lit] = 1;
values[not_lit] = -1; values[not_lit] = -1;
PUSH_STACK (solver->trail, lit); PUSH_STACK(solver->trail, lit);
} }
static void static void
transitive_backtrack (kissat * solver, unsigned saved) transitive_backtrack(kissat *solver, unsigned saved)
{ {
assert (saved <= SIZE_STACK (solver->trail)); assert(saved <= SIZE_STACK(solver->trail));
value *values = solver->values; value *values = solver->values;
while (SIZE_STACK (solver->trail) > saved) while (SIZE_STACK(solver->trail) > saved)
{ {
const unsigned lit = POP_STACK (solver->trail); const unsigned lit = POP_STACK(solver->trail);
LOG ("transitive unassign %s", LOGLIT (lit)); LOG("transitive unassign %s", LOGLIT(lit));
const unsigned not_lit = NOT (lit); const unsigned not_lit = NOT(lit);
assert (values[lit] > 0); assert(values[lit] > 0);
assert (values[not_lit] < 0); assert(values[not_lit] < 0);
values[lit] = values[not_lit] = 0; values[lit] = values[not_lit] = 0;
} }
solver->propagated = saved; solver->propagated = saved;
solver->level = 0; solver->level = 0;
} }
static void static void
prioritize_binaries (kissat * solver) prioritize_binaries(kissat *solver)
{ {
assert (solver->watching); assert(solver->watching);
statches large; statches large;
INIT_STACK (large); INIT_STACK(large);
watches *all_watches = solver->watches; watches *all_watches = solver->watches;
for (all_literals (lit)) for (all_literals(lit))
{
assert(EMPTY_STACK(large));
watches *watches = all_watches + lit;
watch *begin_watches = BEGIN_WATCHES(*watches), *q = begin_watches;
const watch *end_watches = END_WATCHES(*watches), *p = q;
while (p != end_watches)
{ {
assert (EMPTY_STACK (large)); const watch head = *q++ = *p++;
watches *watches = all_watches + lit; if (head.type.binary)
watch *begin_watches = BEGIN_WATCHES (*watches), *q = begin_watches; continue;
const watch *end_watches = END_WATCHES (*watches), *p = q; const watch tail = *p++;
while (p != end_watches) PUSH_STACK(large, head);
{ PUSH_STACK(large, tail);
const watch head = *q++ = *p++; q--;
if (head.type.binary)
continue;
const watch tail = *p++;
PUSH_STACK (large, head);
PUSH_STACK (large, tail);
q--;
}
const watch *end_large = END_STACK (large);
const watch *r = BEGIN_STACK (large);
while (r != end_large)
*q++ = *r++;
assert (q == end_watches);
CLEAR_STACK (large);
} }
RELEASE_STACK (large); const watch *end_large = END_STACK(large);
const watch *r = BEGIN_STACK(large);
while (r != end_large)
*q++ = *r++;
assert(q == end_watches);
CLEAR_STACK(large);
}
RELEASE_STACK(large);
} }
static bool static bool
transitive_reduce (kissat * solver, transitive_reduce(kissat *solver,
unsigned src, uint64_t limit, unsigned src, uint64_t limit,
uint64_t * reduced_ptr, unsigned *units) uint64_t *reduced_ptr, unsigned *units)
{ {
bool res = false; bool res = false;
assert (!VALUE (src)); assert(!VALUE(src));
LOG ("transitive reduce %s", LOGLIT (src)); LOG("transitive reduce %s", LOGLIT(src));
watches *all_watches = solver->watches; watches *all_watches = solver->watches;
watches *src_watches = all_watches + src; watches *src_watches = all_watches + src;
watch *end_src = END_WATCHES (*src_watches); watch *end_src = END_WATCHES(*src_watches);
watch *begin_src = BEGIN_WATCHES (*src_watches); watch *begin_src = BEGIN_WATCHES(*src_watches);
unsigned ticks = kissat_cache_lines (src_watches->size, sizeof (watch)); unsigned ticks = kissat_cache_lines(src_watches->size, sizeof(watch));
ADD (transitive_ticks, ticks + 1); ADD(transitive_ticks, ticks + 1);
solver->dps_ticks += 1 + ticks; solver->dps_ticks += 1 + ticks;
const unsigned not_src = NOT (src); const unsigned not_src = NOT(src);
unsigned reduced = 0; unsigned reduced = 0;
bool failed = false; bool failed = false;
for (watch * p = begin_src; p != end_src; p++) for (watch *p = begin_src; p != end_src; p++)
{
const watch src_watch = *p;
if (!src_watch.type.binary)
break;
const unsigned dst = src_watch.binary.lit;
if (dst < src)
continue;
if (VALUE(dst))
continue;
assert(solver->propagated == SIZE_STACK(solver->trail));
unsigned saved = solver->propagated;
assert(!solver->level);
solver->level = 1;
transitive_assign(solver, not_src);
const bool redundant = src_watch.binary.redundant;
bool transitive = false;
unsigned propagated = 0;
while (!transitive && !failed &&
solver->propagated < SIZE_STACK(solver->trail))
{ {
const watch src_watch = *p; const unsigned lit = PEEK_STACK(solver->trail, solver->propagated);
if (!src_watch.type.binary) solver->propagated++;
break; propagated++;
const unsigned dst = src_watch.binary.lit; LOG("transitive propagate %s", LOGLIT(lit));
if (dst < src) assert(VALUE(lit) > 0);
continue; const unsigned not_lit = NOT(lit);
if (VALUE (dst)) watches *lit_watches = all_watches + not_lit;
continue; const watch *end_lit = END_WATCHES(*lit_watches);
assert (solver->propagated == SIZE_STACK (solver->trail)); const watch *begin_lit = BEGIN_WATCHES(*lit_watches);
unsigned saved = solver->propagated; ticks = kissat_cache_lines(lit_watches->size, sizeof(watch));
assert (!solver->level); ADD(transitive_ticks, ticks + 1);
solver->level = 1;
transitive_assign (solver, not_src);
const bool redundant = src_watch.binary.redundant;
bool transitive = false;
unsigned propagated = 0;
while (!transitive && !failed &&
solver->propagated < SIZE_STACK (solver->trail))
{
const unsigned lit = PEEK_STACK (solver->trail, solver->propagated);
solver->propagated++;
propagated++;
LOG ("transitive propagate %s", LOGLIT (lit));
assert (VALUE (lit) > 0);
const unsigned not_lit = NOT (lit);
watches *lit_watches = all_watches + not_lit;
const watch *end_lit = END_WATCHES (*lit_watches);
const watch *begin_lit = BEGIN_WATCHES (*lit_watches);
ticks = kissat_cache_lines (lit_watches->size, sizeof (watch));
ADD (transitive_ticks, ticks + 1);
for (const watch * q = begin_lit; q != end_lit; q++)
{
if (p == q)
continue;
const watch lit_watch = *q;
if (!lit_watch.type.binary)
break;
if (not_lit == src && lit_watch.binary.lit == ILLEGAL_LIT)
continue;
if (!redundant && lit_watch.binary.redundant)
continue;
const unsigned other = lit_watch.binary.lit;
if (other == dst)
{
transitive = true;
break;
}
const value value = VALUE (other);
if (value < 0)
{
LOG ("both %s and %s reachable from %s",
LOGLIT (NOT (other)), LOGLIT (other), LOGLIT (src));
failed = true;
break;
}
if (!value)
transitive_assign (solver, other);
}
}
assert (solver->probing);
ADD (propagations, propagated);
ADD (probing_propagations, propagated);
ADD (transitive_propagations, propagated);
solver->dps_ticks += ticks + 1; solver->dps_ticks += ticks + 1;
transitive_backtrack (solver, saved); for (const watch *q = begin_lit; q != end_lit; q++)
{
if (transitive) if (p == q)
{ continue;
LOGBINARY (src, dst, "transitive reduce"); const watch lit_watch = *q;
INC (transitive_reduced); if (!lit_watch.type.binary)
watches *dst_watches = all_watches + dst; break;
watch dst_watch = src_watch; if (not_lit == src && lit_watch.binary.lit == ILLEGAL_LIT)
assert (dst_watch.binary.lit == dst); continue;
assert (dst_watch.binary.redundant == redundant); if (!redundant && lit_watch.binary.redundant)
dst_watch.binary.lit = src; continue;
REMOVE_WATCHES (*dst_watches, dst_watch); const unsigned other = lit_watch.binary.lit;
kissat_delete_binary (solver, if (other == dst)
src_watch.binary.redundant, {
src_watch.binary.hyper, src, dst); transitive = true;
p->binary.lit = ILLEGAL_LIT; break;
reduced++; }
res = true; const value value = VALUE(other);
} if (value < 0)
{
if (failed) LOG("both %s and %s reachable from %s",
break; LOGLIT(NOT(other)), LOGLIT(other), LOGLIT(src));
if (solver->statistics.transitive_ticks > limit) failed = true;
break; break;
if (TERMINATED (16)) }
break; if (!value)
transitive_assign(solver, other);
}
} }
if (reduced) assert(solver->probing);
ADD(propagations, propagated);
ADD(probing_propagations, propagated);
ADD(transitive_propagations, propagated);
transitive_backtrack(solver, saved);
if (transitive)
{ {
*reduced_ptr += reduced; LOGBINARY(src, dst, "transitive reduce");
assert (begin_src == BEGIN_WATCHES (WATCHES (src))); INC(transitive_reduced);
assert (end_src == END_WATCHES (WATCHES (src))); watches *dst_watches = all_watches + dst;
watch *q = begin_src; watch dst_watch = src_watch;
for (const watch * p = begin_src; p != end_src; p++) assert(dst_watch.binary.lit == dst);
{ assert(dst_watch.binary.redundant == redundant);
const watch src_watch = *q++ = *p; dst_watch.binary.lit = src;
if (!src_watch.type.binary) REMOVE_WATCHES(*dst_watches, dst_watch);
{ kissat_delete_binary(solver,
*q++ = *++p; src_watch.binary.redundant,
continue; src_watch.binary.hyper, src, dst);
} p->binary.lit = ILLEGAL_LIT;
if (src_watch.binary.lit == ILLEGAL_LIT) reduced++;
q--; res = true;
}
assert (end_src - q == (ptrdiff_t) reduced);
SET_END_OF_WATCHES (*src_watches, q);
} }
if (failed)
break;
if (solver->statistics.transitive_ticks > limit)
break;
if (TERMINATED(16))
break;
}
if (solver->dps == 1 && solver->dps_ticks >= solver->dps_period)
{
solver->dps_ticks -= solver->dps_period;
solver->cbk_start_new_period(solver->issuer);
}
if (reduced)
{
*reduced_ptr += reduced;
assert(begin_src == BEGIN_WATCHES(WATCHES(src)));
assert(end_src == END_WATCHES(WATCHES(src)));
watch *q = begin_src;
for (const watch *p = begin_src; p != end_src; p++)
{
const watch src_watch = *q++ = *p;
if (!src_watch.type.binary)
{
*q++ = *++p;
continue;
}
if (src_watch.binary.lit == ILLEGAL_LIT)
q--;
}
assert(end_src - q == (ptrdiff_t)reduced);
SET_END_OF_WATCHES(*src_watches, q);
}
if (failed) if (failed)
{
LOG("transitive failed literal %s", LOGLIT(not_src));
INC(failed);
*units += 1;
res = true;
kissat_assign_unit(solver, src);
CHECK_AND_ADD_UNIT(src);
ADD_UNIT_TO_PROOF(src);
clause *conflict = kissat_probing_propagate(solver, 0);
if (conflict)
{ {
LOG ("transitive failed literal %s", LOGLIT (not_src)); (void)kissat_analyze(solver, conflict);
INC (failed); assert(solver->inconsistent);
*units += 1;
res = true;
kissat_assign_unit (solver, src);
CHECK_AND_ADD_UNIT (src);
ADD_UNIT_TO_PROOF (src);
clause *conflict = kissat_probing_propagate (solver, 0);
if (conflict)
{
(void) kissat_analyze (solver, conflict);
assert (solver->inconsistent);
}
else
{
assert (solver->unflushed);
kissat_flush_trail (solver);
}
} }
else
{
assert(solver->unflushed);
kissat_flush_trail(solver);
}
}
return res; return res;
} }
void void kissat_transitive_reduction(kissat *solver)
kissat_transitive_reduction (kissat * solver)
{ {
if (solver->inconsistent) if (solver->inconsistent)
return; return;
assert (solver->watching); assert(solver->watching);
assert (solver->probing); assert(solver->probing);
assert (!solver->level); assert(!solver->level);
if (!GET_OPTION (transitive)) if (!GET_OPTION(transitive))
return; return;
if (TERMINATED (17)) if (TERMINATED(17))
return; return;
START (transitive); START(transitive);
prioritize_binaries (solver); prioritize_binaries(solver);
bool success = false; bool success = false;
uint64_t reduced = 0; uint64_t reduced = 0;
unsigned units = 0; unsigned units = 0;
SET_EFFICIENCY_BOUND (limit, transitive, transitive_ticks, search_ticks, 0); SET_EFFICIENCY_BOUND(limit, transitive, transitive_ticks, search_ticks, 0);
assert (solver->transitive < LITS); assert(solver->transitive < LITS);
const unsigned end = solver->transitive; const unsigned end = solver->transitive;
#ifndef QUIET #ifndef QUIET
const unsigned active = solver->active; const unsigned active = solver->active;
#endif #endif
unsigned probed = 0; unsigned probed = 0;
do do
{ {
const unsigned lit = solver->transitive++; const unsigned lit = solver->transitive++;
if (solver->transitive == LITS) if (solver->transitive == LITS)
solver->transitive = 0; solver->transitive = 0;
if (!ACTIVE (IDX (lit))) if (!ACTIVE(IDX(lit)))
continue; continue;
probed++; probed++;
if (transitive_reduce (solver, lit, limit, &reduced, &units)) if (transitive_reduce(solver, lit, limit, &reduced, &units))
success = true; success = true;
if (solver->inconsistent) if (solver->inconsistent)
break; break;
if (solver->statistics.transitive_ticks > limit) if (solver->statistics.transitive_ticks > limit)
break; break;
if (TERMINATED (18)) if (TERMINATED(18))
break; break;
} } while (solver->transitive != end);
while (solver->transitive != end); kissat_phase(solver, "transitive", GET(probings),
kissat_phase (solver, "transitive", GET (probings), "probed %u (%.0f%%): reduced %" PRIu64 ", units %u",
"probed %u (%.0f%%): reduced %" PRIu64 ", units %u", probed, kissat_percent(probed, 2 * active), reduced, units);
probed, kissat_percent (probed, 2 * active), reduced, units); STOP(transitive);
STOP (transitive); REPORT(!success, 't');
REPORT (!success, 't');
#ifdef QUIET #ifdef QUIET
(void) success; (void)success;
#endif #endif
} }

View File

@ -87,7 +87,7 @@ class solver(object):
# line += "{C}" # line += "{C}"
# elif(state.byLS): # elif(state.byLS):
# line += "{L}" # line += "{L}"
line += str() # line += str()
return line.ljust(18) return line.ljust(18)
return super().to_string(state) return super().to_string(state)
@ -98,6 +98,8 @@ class solver_SAT_standard_gnomon(solver):
if(not ins_name in self.datas): if(not ins_name in self.datas):
self.datas[ins_name] = states() self.datas[ins_name] = states()
real_file_path = self.res_dir + "/" + ins_name real_file_path = self.res_dir + "/" + ins_name
if (not os.path.isfile(real_file_path)):
return super().cal_soln(ins_name)
fstr = open(real_file_path, "r").read() fstr = open(real_file_path, "r").read()
if(not len(re.findall(r"s\s+UNSATISFIABLE", fstr))==0): if(not len(re.findall(r"s\s+UNSATISFIABLE", fstr))==0):
@ -106,10 +108,13 @@ class solver_SAT_standard_gnomon(solver):
self.datas[ins_name].res = "sat" self.datas[ins_name].res = "sat"
if(not self.datas[ins_name].res == "unknown"): if(not self.datas[ins_name].res == "unknown"):
timestr = re.findall(r"real.*m.*s", fstr)[0] if (not self.print_name.find("kissat") == -1):
minute = int(timestr.split('m')[0].split()[-1]) self.datas[ins_name].time = float(re.findall(r"c process-time:.*seconds", fstr)[0].split()[-2])
second = float(timestr.split('m')[-1].split('s')[0]) else:
self.datas[ins_name].time = minute * 60 + second timestr = re.findall(r"real.*m.*s", fstr)[0]
minute = int(timestr.split('m')[0].split()[-1])
second = float(timestr.split('m')[-1].split('s')[0])
self.datas[ins_name].time = minute * 60 + second
return super().cal_soln(ins_name) return super().cal_soln(ins_name)
def to_string(self, state): def to_string(self, state):
@ -192,8 +197,11 @@ class calculater(object):
ins_name = ins_name.strip() ins_name = ins_name.strip()
best_time = CUTOFF*PUNISH best_time = CUTOFF*PUNISH
solved_ct = 0 solved_ct = 0
first_time = -1
for slv in self.solvers: for slv in self.solvers:
slv.cal_soln(ins_name) slv.cal_soln(ins_name)
if (first_time == -1):
first_time = slv.datas[ins_name].time
best_time = min(slv.datas[ins_name].time, best_time) best_time = min(slv.datas[ins_name].time, best_time)
if not slv.datas[ins_name].res == "unknown": if not slv.datas[ins_name].res == "unknown":
solved_ct += 1 solved_ct += 1
@ -214,7 +222,9 @@ class calculater(object):
have_diff_res = False have_diff_res = False
for slv in self.solvers: for slv in self.solvers:
stt = slv.datas[ins_name] stt = slv.datas[ins_name]
line += slv.to_string(stt) ratio = first_time / slv.datas[ins_name].time
line += slv.to_string(stt) + "\t"
# line += str(round(ratio, 2)) + "\t"
if(not stt.res == "unknown"): if(not stt.res == "unknown"):
no_answer = False no_answer = False
if (not answer_this == "unknown"): if (not answer_this == "unknown"):
@ -228,10 +238,10 @@ class calculater(object):
have_diff_res = True have_diff_res = True
# if(True): # if(True):
if(False): # if(False):
# if(no_answer): # if(no_answer):
# if(all_can_solve): # if(all_can_solve):
# if(have_diff_res): if(have_diff_res):
# if(have_diff_res and answer_this == "sat"): # if(have_diff_res and answer_this == "sat"):
# if(self.solvers[-2].datas[ins_name].res != self.solvers[-1].datas[ins_name].res): # if(self.solvers[-2].datas[ins_name].res != self.solvers[-1].datas[ins_name].res):
print_line_ct += 1 print_line_ct += 1
@ -268,26 +278,26 @@ if __name__ == "__main__":
solvers = [] solvers = []
# solvers.append(solver_SAT_standard_gnomon("/pub/data/chenzh/res/light/v4-3-nps-tc2","thread32"))
# solvers.append(solver_SAT_standard_gnomon("/pub/data/chenzh/res/sota/NPS","NPS"))
# solvers.append(solver_SAT_standard_gnomon("/pub/data/chenzh/res/sota/p-mcomsps","p-mcomsps")) # solvers.append(solver_SAT_standard_gnomon("/pub/data/chenzh/res/sota/p-mcomsps","p-mcomsps"))
# solvers.append(solver_SAT_standard_gnomon("/pub/data/chenzh/res/sota/treengeling","treengeling"))
# solvers.append(solver_SAT_standard_gnomon("/pub/data/chenzh/res/sota/pakis","pakis"))
# solvers.append(solver_SAT_standard_gnomon("/pub/data/chenzh/res/sota/pakis22","pakis22")) # solvers.append(solver_SAT_standard_gnomon("/pub/data/chenzh/res/sota/pakis22","pakis22"))
solvers.append(solver_SAT_standard_gnomon("/pub/data/chenzh/res/sota/NPS","NPS")) # solvers.append(solver_SAT_standard_gnomon("/pub/data/chenzh/res/sota/treengeling","treengeling"))
# solvers.append(solver_SAT_standard_gnomon("/pub/data/chenzh/res/sota/pakis-mab","pakis"))
# solvers.append(solver_SAT_standard_gnomon("/pub/data/chenzh/res/light/v4-1-nps","sharing-nps"))
# solvers.append(solver_SAT_standard_gnomon("/pub/data/chenzh/res/light/v4-2-dps-r","4-2-dps"))
# solvers.append(solver_SAT_standard_gnomon("/pub/data/chenzh/res/light/v4-2-dps2-r","4-2-dps2"))
# solvers.append(solver_SAT_standard_gnomon("/pub/data/chenzh/res/light/v4-3-nps","4-3-sharing-nps")) # solvers.append(solver_SAT_standard_gnomon("/pub/data/chenzh/res/light/v4-3-nps","4-3-sharing-nps"))
# solvers.append(solver_SAT_standard_gnomon("/pub/data/chenzh/res/light/v4-3-nps-rp-tc2","4-3-sharing-nps-rp2")) # solvers.append(solver_SAT_standard_gnomon("/pub/data/chenzh/res/light/v4-3-nps-rp-tc2","4-3-sharing-nps-rp2"))
# solvers.append(solver_SAT_standard_gnomon("/pub/data/chenzh/res/light/v4-3-nps-p","4-3-sharing-nps-p")) # solvers.append(solver_SAT_standard_gnomon("/pub/data/chenzh/res/light/v4-3-nps-p","4-3-sharing-nps-p"))
solvers.append(solver_SAT_standard_gnomon("/pub/data/chenzh/res/light/v4-3-nps-tc2","4-3-sharing-nps2")) # solvers.append(solver_SAT_standard_gnomon("/pub/data/chenzh/res/light/v4-3-nps-tc2","4-3-sharing-nps2"))
# solvers.append(solver_SAT_standard_gnomon("/pub/data/chenzh/res/light/v4-3-nps-rp","4-3-sharing-nps-rp")) # solvers.append(solver_SAT_standard_gnomon("/pub/data/chenzh/res/light/v4-3-nps-rp","4-3-sharing-nps-rp"))
# solvers.append(solver_SAT_standard_gnomon("/pub/data/chenzh/res/light/v4-3-nps-p-tc2","4-3-sharing-nps-p2")) # solvers.append(solver_SAT_standard_gnomon("/pub/data/chenzh/res/light/v4-3-nps-p-tc2","4-3-sharing-nps-p2"))
# solvers.append(solver_SAT_standard_gnomon("/pub/data/chenzh/res/light/v4-3-nopre-sharing-r","4-3-nopre"))
# solvers.append(solver_SAT_standard_gnomon("/pub/data/chenzh/res/light/v4-3-nosharing-r","4-3-nosharing")) # solvers.append(solver_SAT_standard_gnomon("/pub/data/chenzh/res/light/v4-3-nosharing-r","4-3-nosharing"))
# solvers.append(solver_SAT_standard_gnomon("/pub/data/chenzh/res/light/v4-3-nopre-sharing-r","4-3-nopre"))
# solvers.append(solver_SAT_standard_gnomon("/pub/data/chenzh/res/light/v5-7-dps-20-2k","5-7-dps-20-2k"))
# solvers.append(solver_SAT_standard_gnomon("/pub/data/chenzh/res/light/v6-0-nps","6-0-nps"))
# solvers.append(solver_SAT_standard_gnomon("/pub/data/chenzh/res/sota/kissat-inc","kissat-inc"))
# solvers.append(solver_SAT_standard_gnomon("/pub/data/chenzh/res/light/v4-4-nps-2","thread2")) # solvers.append(solver_SAT_standard_gnomon("/pub/data/chenzh/res/light/v4-4-nps-2","thread2"))
# solvers.append(solver_SAT_standard_gnomon("/pub/data/chenzh/res/light/v4-4-nps-4","thread4")) # solvers.append(solver_SAT_standard_gnomon("/pub/data/chenzh/res/light/v4-4-nps-4","thread4"))
# solvers.append(solver_SAT_standard_gnomon("/pub/data/chenzh/res/light/v4-4-nps-8","thread8")) # solvers.append(solver_SAT_standard_gnomon("/pub/data/chenzh/res/light/v4-4-nps-8","thread8"))
@ -298,20 +308,32 @@ if __name__ == "__main__":
# solvers.append(solver_SAT_standard_gnomon("/pub/data/chenzh/res/light/v4-3-nps-tc3","4-3-sharing-nps3")) solvers.append(solver_SAT_standard_gnomon("/pub/data/chenzh/res/light/v4-3-nps-tc3","4-3-sharing-nps3"))
# solvers.append(solver_SAT_standard_gnomon("/pub/data/chenzh/res/light/v4-3-nps-tc4","4-3-sharing-nps4")) # solvers.append(solver_SAT_standard_gnomon("/pub/data/chenzh/res/light/v4-3-nps-tc4","4-3-sharing-nps4"))
solvers.append(solver_SAT_standard_gnomon("/pub/data/chenzh/res/light/v5-5-dps-20","5-5-dps-20")) # solvers.append(solver_SAT_standard_gnomon("/pub/data/chenzh/res/light/v5-5-dps-20","5-5-dps-20"))
solvers.append(solver_SAT_standard_gnomon("/pub/data/chenzh/res/light/v5-6-dps-2","5-6-dps-2"))
# solvers.append(solver_SAT_standard_gnomon("/pub/data/chenzh/res/light/v5-6-dps-20","5-6-dps-20"))
# solvers.append(solver_SAT_standard_gnomon("/pub/data/chenzh/res/light/v5-6-dps-2","5-6-dps-2"))
solvers.append(solver_SAT_standard_gnomon("/pub/data/chenzh/res/light/v5-7-dps-20-1k","5-7-dps-20-1k")) solvers.append(solver_SAT_standard_gnomon("/pub/data/chenzh/res/light/v5-7-dps-20-1k","5-7-dps-20-1k"))
solvers.append(solver_SAT_standard_gnomon("/pub/data/chenzh/res/light/v5-7-dps-20-2k","5-7-dps-20-2k")) solvers.append(solver_SAT_standard_gnomon("/pub/data/chenzh/res/light/v5-7-dps-20-2k","5-7-dps-20-2k"))
solvers.append(solver_SAT_standard_gnomon("/pub/data/chenzh/res/light/v5-7-dps-20-4k","5-7-dps-20-4k")) solvers.append(solver_SAT_standard_gnomon("/pub/data/chenzh/res/light/v5-7-dps-10-1k","5-7-dps-10-1k"))
solvers.append(solver_SAT_standard_gnomon("/pub/data/chenzh/res/light/v5-7-dps-10-2k","5-7-dps-10-2k"))
# solvers.append(solver_SAT_standard_gnomon("/pub/data/chenzh/res/light/v5-7-dps-5-1k","5-7-dps-5-1k"))
solvers.append(solver_SAT_standard_gnomon("/pub/data/chenzh/res/light/v6-0-dps-15-1k","6-0-dps-15-1k"))
solvers.append(solver_SAT_standard_gnomon("/pub/data/chenzh/res/light/v6-0-dps-15-2k","6-0-dps-15-2k"))
solvers.append(solver_SAT_standard_gnomon("/pub/data/chenzh/res/light/v6-1-dps-15-2k","6-1-dps-15-2k"))
solvers.append(solver_SAT_standard_gnomon("/pub/data/chenzh/res/light/v6-2-dps-15-2k","6-2-dps-15-2k"))
# solvers.append(solver_SAT_standard_gnomon("/pub/data/chenzh/res/light/v5-7-dps-20-4k","5-7-dps-20-4k"))
# append_all_solvers_in_dir(solvers, "/pub/data/chenzh/res/light/") # append_all_solvers_in_dir(solvers, "/pub/data/chenzh/res/light/")
samples = [] samples = []
# samples.append(["/pub/data/chenzh/data/sat2020/vbs.txt", "vbs"]) # samples.append(["/pub/data/chenzh/data/sat2020/vbs.txt", "vbs"])
# samples.append(["/pub/data/chenzh/data/sat2021/vbs.txt", "vbs"]) # samples.append(["/pub/data/chenzh/data/sat2021/vbs.txt", "vbs"])
samples.append(["/pub/data/chenzh/data/sat2022/vbs.txt", "vbs"]) # samples.append(["/pub/data/chenzh/data/sat2022/vbs.txt", "vbs"])
# samples.append(["/pub/data/chenzh/data/sat2022/all.txt", "all"]) # samples.append(["/pub/data/chenzh/data/sat2022/satvbs.txt", "satvbs"])
# samples.append(["/pub/data/chenzh/data/sat2022/unsatvbs.txt", "unsatvbs"])
samples.append(["/pub/data/chenzh/data/sat2022/all.txt", "all"])
# samples.append(["/pub/data/chenzh/data/sat2022/unknown.txt", "unknown"]) # samples.append(["/pub/data/chenzh/data/sat2022/unknown.txt", "unknown"])
clt = calculater(solvers, samples) clt = calculater(solvers, samples)
clt.cal_and_show() clt.cal_and_show()

File diff suppressed because it is too large Load Diff

View File

@ -23,6 +23,7 @@ res4="/pub/data/chenzh/res/light/v2-preprocess"
res5="/pub/data/chenzh/res/light/v3--1-preprocess" res5="/pub/data/chenzh/res/light/v3--1-preprocess"
res6="/pub/data/chenzh/res/light/v5-7-dps-20-2k" res6="/pub/data/chenzh/res/light/v5-7-dps-20-2k"
res7="/pub/data/chenzh/res/light/v5-7-dps-10-2k" res7="/pub/data/chenzh/res/light/v5-7-dps-10-2k"
res8="/pub/data/chenzh/res/light/v5-7-dps-20-2k-nopre"
res_no="/pub/data/chenzh/res/unused" res_no="/pub/data/chenzh/res/unused"
##################################################### #####################################################
@ -31,7 +32,7 @@ for((i=0;i<${#all_datas[*]};i++))
do do
instance=${all_datas[$i]} instance=${all_datas[$i]}
res_solver_ins=$res7 res_solver_ins=$res8
if [ ! -d "$res_solver_ins" ]; then if [ ! -d "$res_solver_ins" ]; then
mkdir -p $res_solver_ins mkdir -p $res_solver_ins
fi fi
@ -43,7 +44,7 @@ do
read -u 6 read -u 6
{ {
cd /home/chenzh/solvers/Light cd /home/chenzh/solvers/Light
time ./light-v5-7 $instance/$file --share=1 --DPS=2 --margin=10 --DPS_period=20000000 time ./light-v5-7 $instance/$file --simplify=0 --share=1 --DPS=2 --margin=20 --DPS_period=20000000
echo >&6 echo >&6
} >$res_solver_ins/$file 2>>$res_solver_ins/$file & } >$res_solver_ins/$file 2>>$res_solver_ins/$file &
done done

152
testLight/run18-1.sh Executable file
View File

@ -0,0 +1,152 @@
#!/bin/bash
SEND_THREAD_NUM=4
tmp_fifofile="/tmp/$$.fifo" # 脚本运行的当前进程ID号作为文件名
mkfifo "$tmp_fifofile" # 新建一个随机fifo管道文件
exec 6<>"$tmp_fifofile" # 定义文件描述符6指向这个fifo管道文件
rm $tmp_fifofile
for i in $(seq 1 $SEND_THREAD_NUM)
do
echo # for循环 往 fifo管道文件中写入 $SEND_THREAD_NUM 个空行
done >&6
# CUTOFF_TIME=3600
instance_20="/pub/data/chenzh/data/sat2020"
instance_21="/pub/data/chenzh/data/sat2021"
instance_22="/pub/data/chenzh/data/sat2022"
res1="/pub/data/chenzh/res/light/v1-origin"
res2="/pub/data/chenzh/res/light/v1-preprocess-2"
res3="/pub/data/chenzh/res/light/v1-1-origin"
res4="/pub/data/chenzh/res/light/v2-preprocess"
res5="/pub/data/chenzh/res/light/v3--1-preprocess"
res6="/pub/data/chenzh/res/light/v6-0-nps"
res_no="/pub/data/chenzh/res/unused"
#####################################################
all_datas=($instance_22)
for((i=0;i<${#all_datas[*]};i++))
do
instance=${all_datas[$i]}
res_solver_ins=$res6
if [ ! -d "$res_solver_ins" ]; then
mkdir -p $res_solver_ins
fi
for dir_file in `cat $instance/vbs.txt`
do
file=$dir_file
echo $file
touch $res_solver_ins/$file
read -u 6
{
cd /home/chenzh/solvers/Light
time ./light-v6-0 $instance/$file --share=1
echo >&6
} >$res_solver_ins/$file 2>>$res_solver_ins/$file &
done
# res_solver_ins=$res5
# if [ ! -d "$res_solver_ins" ]; then
# mkdir -p $res_solver_ins
# fi
# for dir_file in `cat $instance/vbs.txt`
# do
# file=$dir_file
# echo $file
# touch $res_solver_ins/$file
# read -u 6
# {
# cd /home/chenzh/solvers/Light
# time ./light-v3--1 $instance/$file --share=1 --threads=31
# echo >&6
# } >$res_solver_ins/$file 2>>$res_solver_ins/$file &
# done
# res_solver_ins=$res4
# if [ ! -d "$res_solver_ins" ]; then
# mkdir -p $res_solver_ins
# fi
# for dir_file in `cat $instance/vbs.txt`
# do
# file=$dir_file
# echo $file
# touch $res_solver_ins/$file
# read -u 6
# {
# cd /home/chenzh/solvers/Light
# time ./light-v2 $instance/$file --share=1 --threads=31
# echo >&6
# } >$res_solver_ins/$file 2>>$res_solver_ins/$file &
# done
# res_solver_ins=$res3
# if [ ! -d "$res_solver_ins" ]; then
# mkdir -p $res_solver_ins
# fi
# for dir_file in `cat $instance/vbs.txt`
# do
# file=$dir_file
# echo $file
# touch $res_solver_ins/$file
# read -u 6
# {
# cd /home/chenzh/solvers/Light
# time ./light-v1-1 $instance/$file --simplify=0 --reset=1
# echo >&6
# } >$res_solver_ins/$file 2>>$res_solver_ins/$file &
# done
# res_solver_ins=$res2
# if [ ! -d "$res_solver_ins" ]; then
# mkdir -p $res_solver_ins
# fi
# for dir_file in `cat $instance/vbs.txt`
# do
# file=$dir_file
# echo $file
# touch $res_solver_ins/$file
# read -u 6
# {
# cd /home/chenzh/solvers/Light
# time ./light $instance/$file --simplify=1
# echo >&6
# } >$res_solver_ins/$file 2>>$res_solver_ins/$file &
# done
# res_solver_ins=$res1
# if [ ! -d "$res_solver_ins" ]; then
# mkdir -p $res_solver_ins
# fi
# for dir_file in `cat $instance/vbs.txt`
# do
# file=$dir_file
# echo $file
# touch $res_solver_ins/$file
# read -u 6
# {
# cd /home/chenzh/solvers/Light
# time ./light-v1 $instance/$file --simplify=0
# echo >&6
# } >$res_solver_ins/$file 2>>$res_solver_ins/$file &
# done
done
res_solver_ins=$res_no
if [ ! -d "$res_solver_ins" ]; then
mkdir -p $res_solver_ins
fi
for((i=0;i<4;i++))
do
read -u 6
{
cd /home/chenzh/solvers/Light
time ./light-v1 /home/chenzh/data/hard_cnfs/49.cnf
echo >&6
} >$res_solver_ins/$i 2>>$res_solver_ins/$i &
done
exit 0

169
testLight/run18-2.sh Executable file
View File

@ -0,0 +1,169 @@
#!/bin/bash
SEND_THREAD_NUM=4
tmp_fifofile="/tmp/$$.fifo" # 脚本运行的当前进程ID号作为文件名
mkfifo "$tmp_fifofile" # 新建一个随机fifo管道文件
exec 6<>"$tmp_fifofile" # 定义文件描述符6指向这个fifo管道文件
rm $tmp_fifofile
for i in $(seq 1 $SEND_THREAD_NUM)
do
echo # for循环 往 fifo管道文件中写入 $SEND_THREAD_NUM 个空行
done >&6
# CUTOFF_TIME=3600
instance_20="/pub/data/chenzh/data/sat2020"
instance_21="/pub/data/chenzh/data/sat2021"
instance_22="/pub/data/chenzh/data/sat2022"
res1="/pub/data/chenzh/res/light/v1-origin"
res2="/pub/data/chenzh/res/light/v1-preprocess-2"
res3="/pub/data/chenzh/res/light/v1-1-origin"
res4="/pub/data/chenzh/res/light/v2-preprocess"
res5="/pub/data/chenzh/res/light/v3--1-preprocess"
res6="/pub/data/chenzh/res/light/v5-7-dps-20-2k"
res7="/pub/data/chenzh/res/light/v6-0-dps-15-1k"
res_no="/pub/data/chenzh/res/unused"
#####################################################
all_datas=($instance_22)
for((i=0;i<${#all_datas[*]};i++))
do
instance=${all_datas[$i]}
res_solver_ins=$res7
if [ ! -d "$res_solver_ins" ]; then
mkdir -p $res_solver_ins
fi
for dir_file in `cat $instance/vbs.txt`
do
file=$dir_file
echo $file
touch $res_solver_ins/$file
read -u 6
{
cd /home/chenzh/solvers/Light
time ./light-v6-0 $instance/$file --share=1 --DPS=1 --margin=15 --DPS_period=10000000
echo >&6
} >$res_solver_ins/$file 2>>$res_solver_ins/$file &
done
# res_solver_ins=$res6
# if [ ! -d "$res_solver_ins" ]; then
# mkdir -p $res_solver_ins
# fi
# for dir_file in `cat $instance/vbs.txt`
# do
# file=$dir_file
# echo $file
# touch $res_solver_ins/$file
# read -u 6
# {
# cd /home/chenzh/solvers/Light
# time ./light-v5-7 $instance/$file --share=1 --DPS=2 --margin=20 --DPS_period=20000000
# echo >&6
# } >$res_solver_ins/$file 2>>$res_solver_ins/$file &
# done
# res_solver_ins=$res5
# if [ ! -d "$res_solver_ins" ]; then
# mkdir -p $res_solver_ins
# fi
# for dir_file in `cat $instance/vbs.txt`
# do
# file=$dir_file
# echo $file
# touch $res_solver_ins/$file
# read -u 6
# {
# cd /home/chenzh/solvers/Light
# time ./light-v3--1 $instance/$file --share=1 --threads=31
# echo >&6
# } >$res_solver_ins/$file 2>>$res_solver_ins/$file &
# done
# res_solver_ins=$res4
# if [ ! -d "$res_solver_ins" ]; then
# mkdir -p $res_solver_ins
# fi
# for dir_file in `cat $instance/vbs.txt`
# do
# file=$dir_file
# echo $file
# touch $res_solver_ins/$file
# read -u 6
# {
# cd /home/chenzh/solvers/Light
# time ./light-v2 $instance/$file --share=1 --threads=31
# echo >&6
# } >$res_solver_ins/$file 2>>$res_solver_ins/$file &
# done
# res_solver_ins=$res3
# if [ ! -d "$res_solver_ins" ]; then
# mkdir -p $res_solver_ins
# fi
# for dir_file in `cat $instance/vbs.txt`
# do
# file=$dir_file
# echo $file
# touch $res_solver_ins/$file
# read -u 6
# {
# cd /home/chenzh/solvers/Light
# time ./light-v1-1 $instance/$file --simplify=0 --reset=1
# echo >&6
# } >$res_solver_ins/$file 2>>$res_solver_ins/$file &
# done
# res_solver_ins=$res2
# if [ ! -d "$res_solver_ins" ]; then
# mkdir -p $res_solver_ins
# fi
# for dir_file in `cat $instance/vbs.txt`
# do
# file=$dir_file
# echo $file
# touch $res_solver_ins/$file
# read -u 6
# {
# cd /home/chenzh/solvers/Light
# time ./light $instance/$file --simplify=1
# echo >&6
# } >$res_solver_ins/$file 2>>$res_solver_ins/$file &
# done
# res_solver_ins=$res1
# if [ ! -d "$res_solver_ins" ]; then
# mkdir -p $res_solver_ins
# fi
# for dir_file in `cat $instance/vbs.txt`
# do
# file=$dir_file
# echo $file
# touch $res_solver_ins/$file
# read -u 6
# {
# cd /home/chenzh/solvers/Light
# time ./light-v1 $instance/$file --simplify=0
# echo >&6
# } >$res_solver_ins/$file 2>>$res_solver_ins/$file &
# done
done
res_solver_ins=$res_no
if [ ! -d "$res_solver_ins" ]; then
mkdir -p $res_solver_ins
fi
for((i=0;i<4;i++))
do
read -u 6
{
cd /home/chenzh/solvers/Light
time ./light-v1 /home/chenzh/data/hard_cnfs/49.cnf
echo >&6
} >$res_solver_ins/$i 2>>$res_solver_ins/$i &
done
exit 0

169
testLight/run18-3.sh Executable file
View File

@ -0,0 +1,169 @@
#!/bin/bash
SEND_THREAD_NUM=4
tmp_fifofile="/tmp/$$.fifo" # 脚本运行的当前进程ID号作为文件名
mkfifo "$tmp_fifofile" # 新建一个随机fifo管道文件
exec 6<>"$tmp_fifofile" # 定义文件描述符6指向这个fifo管道文件
rm $tmp_fifofile
for i in $(seq 1 $SEND_THREAD_NUM)
do
echo # for循环 往 fifo管道文件中写入 $SEND_THREAD_NUM 个空行
done >&6
# CUTOFF_TIME=3600
instance_20="/pub/data/chenzh/data/sat2020"
instance_21="/pub/data/chenzh/data/sat2021"
instance_22="/pub/data/chenzh/data/sat2022"
res1="/pub/data/chenzh/res/light/v1-origin"
res2="/pub/data/chenzh/res/light/v1-preprocess-2"
res3="/pub/data/chenzh/res/light/v1-1-origin"
res4="/pub/data/chenzh/res/light/v2-preprocess"
res5="/pub/data/chenzh/res/light/v3--1-preprocess"
res6="/pub/data/chenzh/res/light/v5-7-dps-20-2k"
res7="/pub/data/chenzh/res/light/v6-0-dps-5-2k"
res_no="/pub/data/chenzh/res/unused"
#####################################################
all_datas=($instance_22)
for((i=0;i<${#all_datas[*]};i++))
do
instance=${all_datas[$i]}
res_solver_ins=$res7
if [ ! -d "$res_solver_ins" ]; then
mkdir -p $res_solver_ins
fi
for dir_file in `cat $instance/vbs.txt`
do
file=$dir_file
echo $file
touch $res_solver_ins/$file
read -u 6
{
cd /home/chenzh/solvers/Light
time ./light-v6-0 $instance/$file --share=1 --DPS=1 --margin=5 --DPS_period=20000000
echo >&6
} >$res_solver_ins/$file 2>>$res_solver_ins/$file &
done
# res_solver_ins=$res6
# if [ ! -d "$res_solver_ins" ]; then
# mkdir -p $res_solver_ins
# fi
# for dir_file in `cat $instance/vbs.txt`
# do
# file=$dir_file
# echo $file
# touch $res_solver_ins/$file
# read -u 6
# {
# cd /home/chenzh/solvers/Light
# time ./light-v5-7 $instance/$file --share=1 --DPS=2 --margin=20 --DPS_period=20000000
# echo >&6
# } >$res_solver_ins/$file 2>>$res_solver_ins/$file &
# done
# res_solver_ins=$res5
# if [ ! -d "$res_solver_ins" ]; then
# mkdir -p $res_solver_ins
# fi
# for dir_file in `cat $instance/vbs.txt`
# do
# file=$dir_file
# echo $file
# touch $res_solver_ins/$file
# read -u 6
# {
# cd /home/chenzh/solvers/Light
# time ./light-v3--1 $instance/$file --share=1 --threads=31
# echo >&6
# } >$res_solver_ins/$file 2>>$res_solver_ins/$file &
# done
# res_solver_ins=$res4
# if [ ! -d "$res_solver_ins" ]; then
# mkdir -p $res_solver_ins
# fi
# for dir_file in `cat $instance/vbs.txt`
# do
# file=$dir_file
# echo $file
# touch $res_solver_ins/$file
# read -u 6
# {
# cd /home/chenzh/solvers/Light
# time ./light-v2 $instance/$file --share=1 --threads=31
# echo >&6
# } >$res_solver_ins/$file 2>>$res_solver_ins/$file &
# done
# res_solver_ins=$res3
# if [ ! -d "$res_solver_ins" ]; then
# mkdir -p $res_solver_ins
# fi
# for dir_file in `cat $instance/vbs.txt`
# do
# file=$dir_file
# echo $file
# touch $res_solver_ins/$file
# read -u 6
# {
# cd /home/chenzh/solvers/Light
# time ./light-v1-1 $instance/$file --simplify=0 --reset=1
# echo >&6
# } >$res_solver_ins/$file 2>>$res_solver_ins/$file &
# done
# res_solver_ins=$res2
# if [ ! -d "$res_solver_ins" ]; then
# mkdir -p $res_solver_ins
# fi
# for dir_file in `cat $instance/vbs.txt`
# do
# file=$dir_file
# echo $file
# touch $res_solver_ins/$file
# read -u 6
# {
# cd /home/chenzh/solvers/Light
# time ./light $instance/$file --simplify=1
# echo >&6
# } >$res_solver_ins/$file 2>>$res_solver_ins/$file &
# done
# res_solver_ins=$res1
# if [ ! -d "$res_solver_ins" ]; then
# mkdir -p $res_solver_ins
# fi
# for dir_file in `cat $instance/vbs.txt`
# do
# file=$dir_file
# echo $file
# touch $res_solver_ins/$file
# read -u 6
# {
# cd /home/chenzh/solvers/Light
# time ./light-v1 $instance/$file --simplify=0
# echo >&6
# } >$res_solver_ins/$file 2>>$res_solver_ins/$file &
# done
done
res_solver_ins=$res_no
if [ ! -d "$res_solver_ins" ]; then
mkdir -p $res_solver_ins
fi
for((i=0;i<4;i++))
do
read -u 6
{
cd /home/chenzh/solvers/Light
time ./light-v1 /home/chenzh/data/hard_cnfs/49.cnf
echo >&6
} >$res_solver_ins/$i 2>>$res_solver_ins/$i &
done
exit 0

169
testLight/run18-4.sh Executable file
View File

@ -0,0 +1,169 @@
#!/bin/bash
SEND_THREAD_NUM=4
tmp_fifofile="/tmp/$$.fifo" # 脚本运行的当前进程ID号作为文件名
mkfifo "$tmp_fifofile" # 新建一个随机fifo管道文件
exec 6<>"$tmp_fifofile" # 定义文件描述符6指向这个fifo管道文件
rm $tmp_fifofile
for i in $(seq 1 $SEND_THREAD_NUM)
do
echo # for循环 往 fifo管道文件中写入 $SEND_THREAD_NUM 个空行
done >&6
# CUTOFF_TIME=3600
instance_20="/pub/data/chenzh/data/sat2020"
instance_21="/pub/data/chenzh/data/sat2021"
instance_22="/pub/data/chenzh/data/sat2022"
res1="/pub/data/chenzh/res/light/v1-origin"
res2="/pub/data/chenzh/res/light/v1-preprocess-2"
res3="/pub/data/chenzh/res/light/v1-1-origin"
res4="/pub/data/chenzh/res/light/v2-preprocess"
res5="/pub/data/chenzh/res/light/v3--1-preprocess"
res6="/pub/data/chenzh/res/light/v5-7-dps-20-2k"
res7="/pub/data/chenzh/res/light/v6-0-dps-15-8h"
res_no="/pub/data/chenzh/res/unused"
#####################################################
all_datas=($instance_22)
for((i=0;i<${#all_datas[*]};i++))
do
instance=${all_datas[$i]}
res_solver_ins=$res7
if [ ! -d "$res_solver_ins" ]; then
mkdir -p $res_solver_ins
fi
for dir_file in `cat $instance/vbs.txt`
do
file=$dir_file
echo $file
touch $res_solver_ins/$file
read -u 6
{
cd /home/chenzh/solvers/Light
time ./light-v6-0 $instance/$file --share=1 --DPS=1 --margin=15 --DPS_period=8000000
echo >&6
} >$res_solver_ins/$file 2>>$res_solver_ins/$file &
done
# res_solver_ins=$res6
# if [ ! -d "$res_solver_ins" ]; then
# mkdir -p $res_solver_ins
# fi
# for dir_file in `cat $instance/vbs.txt`
# do
# file=$dir_file
# echo $file
# touch $res_solver_ins/$file
# read -u 6
# {
# cd /home/chenzh/solvers/Light
# time ./light-v5-7 $instance/$file --share=1 --DPS=2 --margin=20 --DPS_period=20000000
# echo >&6
# } >$res_solver_ins/$file 2>>$res_solver_ins/$file &
# done
# res_solver_ins=$res5
# if [ ! -d "$res_solver_ins" ]; then
# mkdir -p $res_solver_ins
# fi
# for dir_file in `cat $instance/vbs.txt`
# do
# file=$dir_file
# echo $file
# touch $res_solver_ins/$file
# read -u 6
# {
# cd /home/chenzh/solvers/Light
# time ./light-v3--1 $instance/$file --share=1 --threads=31
# echo >&6
# } >$res_solver_ins/$file 2>>$res_solver_ins/$file &
# done
# res_solver_ins=$res4
# if [ ! -d "$res_solver_ins" ]; then
# mkdir -p $res_solver_ins
# fi
# for dir_file in `cat $instance/vbs.txt`
# do
# file=$dir_file
# echo $file
# touch $res_solver_ins/$file
# read -u 6
# {
# cd /home/chenzh/solvers/Light
# time ./light-v2 $instance/$file --share=1 --threads=31
# echo >&6
# } >$res_solver_ins/$file 2>>$res_solver_ins/$file &
# done
# res_solver_ins=$res3
# if [ ! -d "$res_solver_ins" ]; then
# mkdir -p $res_solver_ins
# fi
# for dir_file in `cat $instance/vbs.txt`
# do
# file=$dir_file
# echo $file
# touch $res_solver_ins/$file
# read -u 6
# {
# cd /home/chenzh/solvers/Light
# time ./light-v1-1 $instance/$file --simplify=0 --reset=1
# echo >&6
# } >$res_solver_ins/$file 2>>$res_solver_ins/$file &
# done
# res_solver_ins=$res2
# if [ ! -d "$res_solver_ins" ]; then
# mkdir -p $res_solver_ins
# fi
# for dir_file in `cat $instance/vbs.txt`
# do
# file=$dir_file
# echo $file
# touch $res_solver_ins/$file
# read -u 6
# {
# cd /home/chenzh/solvers/Light
# time ./light $instance/$file --simplify=1
# echo >&6
# } >$res_solver_ins/$file 2>>$res_solver_ins/$file &
# done
# res_solver_ins=$res1
# if [ ! -d "$res_solver_ins" ]; then
# mkdir -p $res_solver_ins
# fi
# for dir_file in `cat $instance/vbs.txt`
# do
# file=$dir_file
# echo $file
# touch $res_solver_ins/$file
# read -u 6
# {
# cd /home/chenzh/solvers/Light
# time ./light-v1 $instance/$file --simplify=0
# echo >&6
# } >$res_solver_ins/$file 2>>$res_solver_ins/$file &
# done
done
res_solver_ins=$res_no
if [ ! -d "$res_solver_ins" ]; then
mkdir -p $res_solver_ins
fi
for((i=0;i<4;i++))
do
read -u 6
{
cd /home/chenzh/solvers/Light
time ./light-v1 /home/chenzh/data/hard_cnfs/49.cnf
echo >&6
} >$res_solver_ins/$i 2>>$res_solver_ins/$i &
done
exit 0

169
testLight/run19-1.sh Executable file
View File

@ -0,0 +1,169 @@
#!/bin/bash
SEND_THREAD_NUM=4
tmp_fifofile="/tmp/$$.fifo" # 脚本运行的当前进程ID号作为文件名
mkfifo "$tmp_fifofile" # 新建一个随机fifo管道文件
exec 6<>"$tmp_fifofile" # 定义文件描述符6指向这个fifo管道文件
rm $tmp_fifofile
for i in $(seq 1 $SEND_THREAD_NUM)
do
echo # for循环 往 fifo管道文件中写入 $SEND_THREAD_NUM 个空行
done >&6
# CUTOFF_TIME=3600
instance_20="/pub/data/chenzh/data/sat2020"
instance_21="/pub/data/chenzh/data/sat2021"
instance_22="/pub/data/chenzh/data/sat2022"
res1="/pub/data/chenzh/res/light/v1-origin"
res2="/pub/data/chenzh/res/light/v1-preprocess-2"
res3="/pub/data/chenzh/res/light/v1-1-origin"
res4="/pub/data/chenzh/res/light/v2-preprocess"
res5="/pub/data/chenzh/res/light/v3--1-preprocess"
res6="/pub/data/chenzh/res/light/v5-7-dps-20-2k"
res7="/pub/data/chenzh/res/light/v6-1-dps-15-2k"
res_no="/pub/data/chenzh/res/unused"
#####################################################
all_datas=($instance_22)
for((i=0;i<${#all_datas[*]};i++))
do
instance=${all_datas[$i]}
res_solver_ins=$res7
if [ ! -d "$res_solver_ins" ]; then
mkdir -p $res_solver_ins
fi
for dir_file in `cat $instance/vbs.txt`
do
file=$dir_file
echo $file
touch $res_solver_ins/$file
read -u 6
{
cd /home/chenzh/solvers/Light
time ./light-v6-1 $instance/$file --share=1 --DPS=1 --margin=15 --DPS_period=20000000
echo >&6
} >$res_solver_ins/$file 2>>$res_solver_ins/$file &
done
# res_solver_ins=$res6
# if [ ! -d "$res_solver_ins" ]; then
# mkdir -p $res_solver_ins
# fi
# for dir_file in `cat $instance/vbs.txt`
# do
# file=$dir_file
# echo $file
# touch $res_solver_ins/$file
# read -u 6
# {
# cd /home/chenzh/solvers/Light
# time ./light-v5-7 $instance/$file --share=1 --DPS=2 --margin=20 --DPS_period=20000000
# echo >&6
# } >$res_solver_ins/$file 2>>$res_solver_ins/$file &
# done
# res_solver_ins=$res5
# if [ ! -d "$res_solver_ins" ]; then
# mkdir -p $res_solver_ins
# fi
# for dir_file in `cat $instance/vbs.txt`
# do
# file=$dir_file
# echo $file
# touch $res_solver_ins/$file
# read -u 6
# {
# cd /home/chenzh/solvers/Light
# time ./light-v3--1 $instance/$file --share=1 --threads=31
# echo >&6
# } >$res_solver_ins/$file 2>>$res_solver_ins/$file &
# done
# res_solver_ins=$res4
# if [ ! -d "$res_solver_ins" ]; then
# mkdir -p $res_solver_ins
# fi
# for dir_file in `cat $instance/vbs.txt`
# do
# file=$dir_file
# echo $file
# touch $res_solver_ins/$file
# read -u 6
# {
# cd /home/chenzh/solvers/Light
# time ./light-v2 $instance/$file --share=1 --threads=31
# echo >&6
# } >$res_solver_ins/$file 2>>$res_solver_ins/$file &
# done
# res_solver_ins=$res3
# if [ ! -d "$res_solver_ins" ]; then
# mkdir -p $res_solver_ins
# fi
# for dir_file in `cat $instance/vbs.txt`
# do
# file=$dir_file
# echo $file
# touch $res_solver_ins/$file
# read -u 6
# {
# cd /home/chenzh/solvers/Light
# time ./light-v1-1 $instance/$file --simplify=0 --reset=1
# echo >&6
# } >$res_solver_ins/$file 2>>$res_solver_ins/$file &
# done
# res_solver_ins=$res2
# if [ ! -d "$res_solver_ins" ]; then
# mkdir -p $res_solver_ins
# fi
# for dir_file in `cat $instance/vbs.txt`
# do
# file=$dir_file
# echo $file
# touch $res_solver_ins/$file
# read -u 6
# {
# cd /home/chenzh/solvers/Light
# time ./light $instance/$file --simplify=1
# echo >&6
# } >$res_solver_ins/$file 2>>$res_solver_ins/$file &
# done
# res_solver_ins=$res1
# if [ ! -d "$res_solver_ins" ]; then
# mkdir -p $res_solver_ins
# fi
# for dir_file in `cat $instance/vbs.txt`
# do
# file=$dir_file
# echo $file
# touch $res_solver_ins/$file
# read -u 6
# {
# cd /home/chenzh/solvers/Light
# time ./light-v1 $instance/$file --simplify=0
# echo >&6
# } >$res_solver_ins/$file 2>>$res_solver_ins/$file &
# done
done
res_solver_ins=$res_no
if [ ! -d "$res_solver_ins" ]; then
mkdir -p $res_solver_ins
fi
for((i=0;i<4;i++))
do
read -u 6
{
cd /home/chenzh/solvers/Light
time ./light-v1 /home/chenzh/data/hard_cnfs/49.cnf
echo >&6
} >$res_solver_ins/$i 2>>$res_solver_ins/$i &
done
exit 0

169
testLight/run19-2.sh Executable file
View File

@ -0,0 +1,169 @@
#!/bin/bash
SEND_THREAD_NUM=4
tmp_fifofile="/tmp/$$.fifo" # 脚本运行的当前进程ID号作为文件名
mkfifo "$tmp_fifofile" # 新建一个随机fifo管道文件
exec 6<>"$tmp_fifofile" # 定义文件描述符6指向这个fifo管道文件
rm $tmp_fifofile
for i in $(seq 1 $SEND_THREAD_NUM)
do
echo # for循环 往 fifo管道文件中写入 $SEND_THREAD_NUM 个空行
done >&6
# CUTOFF_TIME=3600
instance_20="/pub/data/chenzh/data/sat2020"
instance_21="/pub/data/chenzh/data/sat2021"
instance_22="/pub/data/chenzh/data/sat2022"
res1="/pub/data/chenzh/res/light/v1-origin"
res2="/pub/data/chenzh/res/light/v1-preprocess-2"
res3="/pub/data/chenzh/res/light/v1-1-origin"
res4="/pub/data/chenzh/res/light/v2-preprocess"
res5="/pub/data/chenzh/res/light/v3--1-preprocess"
res6="/pub/data/chenzh/res/light/v5-7-dps-20-2k"
res7="/pub/data/chenzh/res/light/v6-2-dps-15-2k"
res_no="/pub/data/chenzh/res/unused"
#####################################################
all_datas=($instance_22)
for((i=0;i<${#all_datas[*]};i++))
do
instance=${all_datas[$i]}
res_solver_ins=$res7
if [ ! -d "$res_solver_ins" ]; then
mkdir -p $res_solver_ins
fi
for dir_file in `cat $instance/vbs.txt`
do
file=$dir_file
echo $file
touch $res_solver_ins/$file
read -u 6
{
cd /home/chenzh/solvers/Light
time ./light-v6-2 $instance/$file --share=1 --DPS=1 --margin=15 --DPS_period=20000000
echo >&6
} >$res_solver_ins/$file 2>>$res_solver_ins/$file &
done
# res_solver_ins=$res6
# if [ ! -d "$res_solver_ins" ]; then
# mkdir -p $res_solver_ins
# fi
# for dir_file in `cat $instance/vbs.txt`
# do
# file=$dir_file
# echo $file
# touch $res_solver_ins/$file
# read -u 6
# {
# cd /home/chenzh/solvers/Light
# time ./light-v5-7 $instance/$file --share=1 --DPS=2 --margin=20 --DPS_period=20000000
# echo >&6
# } >$res_solver_ins/$file 2>>$res_solver_ins/$file &
# done
# res_solver_ins=$res5
# if [ ! -d "$res_solver_ins" ]; then
# mkdir -p $res_solver_ins
# fi
# for dir_file in `cat $instance/vbs.txt`
# do
# file=$dir_file
# echo $file
# touch $res_solver_ins/$file
# read -u 6
# {
# cd /home/chenzh/solvers/Light
# time ./light-v3--1 $instance/$file --share=1 --threads=31
# echo >&6
# } >$res_solver_ins/$file 2>>$res_solver_ins/$file &
# done
# res_solver_ins=$res4
# if [ ! -d "$res_solver_ins" ]; then
# mkdir -p $res_solver_ins
# fi
# for dir_file in `cat $instance/vbs.txt`
# do
# file=$dir_file
# echo $file
# touch $res_solver_ins/$file
# read -u 6
# {
# cd /home/chenzh/solvers/Light
# time ./light-v2 $instance/$file --share=1 --threads=31
# echo >&6
# } >$res_solver_ins/$file 2>>$res_solver_ins/$file &
# done
# res_solver_ins=$res3
# if [ ! -d "$res_solver_ins" ]; then
# mkdir -p $res_solver_ins
# fi
# for dir_file in `cat $instance/vbs.txt`
# do
# file=$dir_file
# echo $file
# touch $res_solver_ins/$file
# read -u 6
# {
# cd /home/chenzh/solvers/Light
# time ./light-v1-1 $instance/$file --simplify=0 --reset=1
# echo >&6
# } >$res_solver_ins/$file 2>>$res_solver_ins/$file &
# done
# res_solver_ins=$res2
# if [ ! -d "$res_solver_ins" ]; then
# mkdir -p $res_solver_ins
# fi
# for dir_file in `cat $instance/vbs.txt`
# do
# file=$dir_file
# echo $file
# touch $res_solver_ins/$file
# read -u 6
# {
# cd /home/chenzh/solvers/Light
# time ./light $instance/$file --simplify=1
# echo >&6
# } >$res_solver_ins/$file 2>>$res_solver_ins/$file &
# done
# res_solver_ins=$res1
# if [ ! -d "$res_solver_ins" ]; then
# mkdir -p $res_solver_ins
# fi
# for dir_file in `cat $instance/vbs.txt`
# do
# file=$dir_file
# echo $file
# touch $res_solver_ins/$file
# read -u 6
# {
# cd /home/chenzh/solvers/Light
# time ./light-v1 $instance/$file --simplify=0
# echo >&6
# } >$res_solver_ins/$file 2>>$res_solver_ins/$file &
# done
done
res_solver_ins=$res_no
if [ ! -d "$res_solver_ins" ]; then
mkdir -p $res_solver_ins
fi
for((i=0;i<4;i++))
do
read -u 6
{
cd /home/chenzh/solvers/Light
time ./light-v1 /home/chenzh/data/hard_cnfs/49.cnf
echo >&6
} >$res_solver_ins/$i 2>>$res_solver_ins/$i &
done
exit 0

169
testLight/run19-3.sh Executable file
View File

@ -0,0 +1,169 @@
#!/bin/bash
SEND_THREAD_NUM=4
tmp_fifofile="/tmp/$$.fifo" # 脚本运行的当前进程ID号作为文件名
mkfifo "$tmp_fifofile" # 新建一个随机fifo管道文件
exec 6<>"$tmp_fifofile" # 定义文件描述符6指向这个fifo管道文件
rm $tmp_fifofile
for i in $(seq 1 $SEND_THREAD_NUM)
do
echo # for循环 往 fifo管道文件中写入 $SEND_THREAD_NUM 个空行
done >&6
# CUTOFF_TIME=3600
instance_20="/pub/data/chenzh/data/sat2020"
instance_21="/pub/data/chenzh/data/sat2021"
instance_22="/pub/data/chenzh/data/sat2022"
res1="/pub/data/chenzh/res/light/v1-origin"
res2="/pub/data/chenzh/res/light/v1-preprocess-2"
res3="/pub/data/chenzh/res/light/v1-1-origin"
res4="/pub/data/chenzh/res/light/v2-preprocess"
res5="/pub/data/chenzh/res/light/v3--1-preprocess"
res6="/pub/data/chenzh/res/light/v5-7-dps-20-2k"
res7="/pub/data/chenzh/res/light/v6-3-dps-15-2k"
res_no="/pub/data/chenzh/res/unused"
#####################################################
all_datas=($instance_22)
for((i=0;i<${#all_datas[*]};i++))
do
instance=${all_datas[$i]}
res_solver_ins=$res7
if [ ! -d "$res_solver_ins" ]; then
mkdir -p $res_solver_ins
fi
for dir_file in `cat $instance/vbs.txt`
do
file=$dir_file
echo $file
touch $res_solver_ins/$file
read -u 6
{
cd /home/chenzh/solvers/Light
time ./light-v6-3 $instance/$file --share=1 --DPS=1 --margin=15 --DPS_period=20000000
echo >&6
} >$res_solver_ins/$file 2>>$res_solver_ins/$file &
done
# res_solver_ins=$res6
# if [ ! -d "$res_solver_ins" ]; then
# mkdir -p $res_solver_ins
# fi
# for dir_file in `cat $instance/vbs.txt`
# do
# file=$dir_file
# echo $file
# touch $res_solver_ins/$file
# read -u 6
# {
# cd /home/chenzh/solvers/Light
# time ./light-v5-7 $instance/$file --share=1 --DPS=2 --margin=20 --DPS_period=20000000
# echo >&6
# } >$res_solver_ins/$file 2>>$res_solver_ins/$file &
# done
# res_solver_ins=$res5
# if [ ! -d "$res_solver_ins" ]; then
# mkdir -p $res_solver_ins
# fi
# for dir_file in `cat $instance/vbs.txt`
# do
# file=$dir_file
# echo $file
# touch $res_solver_ins/$file
# read -u 6
# {
# cd /home/chenzh/solvers/Light
# time ./light-v3--1 $instance/$file --share=1 --threads=31
# echo >&6
# } >$res_solver_ins/$file 2>>$res_solver_ins/$file &
# done
# res_solver_ins=$res4
# if [ ! -d "$res_solver_ins" ]; then
# mkdir -p $res_solver_ins
# fi
# for dir_file in `cat $instance/vbs.txt`
# do
# file=$dir_file
# echo $file
# touch $res_solver_ins/$file
# read -u 6
# {
# cd /home/chenzh/solvers/Light
# time ./light-v2 $instance/$file --share=1 --threads=31
# echo >&6
# } >$res_solver_ins/$file 2>>$res_solver_ins/$file &
# done
# res_solver_ins=$res3
# if [ ! -d "$res_solver_ins" ]; then
# mkdir -p $res_solver_ins
# fi
# for dir_file in `cat $instance/vbs.txt`
# do
# file=$dir_file
# echo $file
# touch $res_solver_ins/$file
# read -u 6
# {
# cd /home/chenzh/solvers/Light
# time ./light-v1-1 $instance/$file --simplify=0 --reset=1
# echo >&6
# } >$res_solver_ins/$file 2>>$res_solver_ins/$file &
# done
# res_solver_ins=$res2
# if [ ! -d "$res_solver_ins" ]; then
# mkdir -p $res_solver_ins
# fi
# for dir_file in `cat $instance/vbs.txt`
# do
# file=$dir_file
# echo $file
# touch $res_solver_ins/$file
# read -u 6
# {
# cd /home/chenzh/solvers/Light
# time ./light $instance/$file --simplify=1
# echo >&6
# } >$res_solver_ins/$file 2>>$res_solver_ins/$file &
# done
# res_solver_ins=$res1
# if [ ! -d "$res_solver_ins" ]; then
# mkdir -p $res_solver_ins
# fi
# for dir_file in `cat $instance/vbs.txt`
# do
# file=$dir_file
# echo $file
# touch $res_solver_ins/$file
# read -u 6
# {
# cd /home/chenzh/solvers/Light
# time ./light-v1 $instance/$file --simplify=0
# echo >&6
# } >$res_solver_ins/$file 2>>$res_solver_ins/$file &
# done
done
res_solver_ins=$res_no
if [ ! -d "$res_solver_ins" ]; then
mkdir -p $res_solver_ins
fi
for((i=0;i<4;i++))
do
read -u 6
{
cd /home/chenzh/solvers/Light
time ./light-v1 /home/chenzh/data/hard_cnfs/49.cnf
echo >&6
} >$res_solver_ins/$i 2>>$res_solver_ins/$i &
done
exit 0

169
testLight/run19-4.sh Executable file
View File

@ -0,0 +1,169 @@
#!/bin/bash
SEND_THREAD_NUM=4
tmp_fifofile="/tmp/$$.fifo" # 脚本运行的当前进程ID号作为文件名
mkfifo "$tmp_fifofile" # 新建一个随机fifo管道文件
exec 6<>"$tmp_fifofile" # 定义文件描述符6指向这个fifo管道文件
rm $tmp_fifofile
for i in $(seq 1 $SEND_THREAD_NUM)
do
echo # for循环 往 fifo管道文件中写入 $SEND_THREAD_NUM 个空行
done >&6
# CUTOFF_TIME=3600
instance_20="/pub/data/chenzh/data/sat2020"
instance_21="/pub/data/chenzh/data/sat2021"
instance_22="/pub/data/chenzh/data/sat2022"
res1="/pub/data/chenzh/res/light/v1-origin"
res2="/pub/data/chenzh/res/light/v1-preprocess-2"
res3="/pub/data/chenzh/res/light/v1-1-origin"
res4="/pub/data/chenzh/res/light/v2-preprocess"
res5="/pub/data/chenzh/res/light/v3--1-preprocess"
res6="/pub/data/chenzh/res/light/v5-7-dps-20-2k"
res7="/pub/data/chenzh/res/light/v6-3-dps-15-1k"
res_no="/pub/data/chenzh/res/unused"
#####################################################
all_datas=($instance_22)
for((i=0;i<${#all_datas[*]};i++))
do
instance=${all_datas[$i]}
res_solver_ins=$res7
if [ ! -d "$res_solver_ins" ]; then
mkdir -p $res_solver_ins
fi
for dir_file in `cat $instance/vbs.txt`
do
file=$dir_file
echo $file
touch $res_solver_ins/$file
read -u 6
{
cd /home/chenzh/solvers/Light
time ./light-v6-3 $instance/$file --share=1 --DPS=1 --margin=15 --DPS_period=10000000
echo >&6
} >$res_solver_ins/$file 2>>$res_solver_ins/$file &
done
# res_solver_ins=$res6
# if [ ! -d "$res_solver_ins" ]; then
# mkdir -p $res_solver_ins
# fi
# for dir_file in `cat $instance/vbs.txt`
# do
# file=$dir_file
# echo $file
# touch $res_solver_ins/$file
# read -u 6
# {
# cd /home/chenzh/solvers/Light
# time ./light-v5-7 $instance/$file --share=1 --DPS=2 --margin=20 --DPS_period=20000000
# echo >&6
# } >$res_solver_ins/$file 2>>$res_solver_ins/$file &
# done
# res_solver_ins=$res5
# if [ ! -d "$res_solver_ins" ]; then
# mkdir -p $res_solver_ins
# fi
# for dir_file in `cat $instance/vbs.txt`
# do
# file=$dir_file
# echo $file
# touch $res_solver_ins/$file
# read -u 6
# {
# cd /home/chenzh/solvers/Light
# time ./light-v3--1 $instance/$file --share=1 --threads=31
# echo >&6
# } >$res_solver_ins/$file 2>>$res_solver_ins/$file &
# done
# res_solver_ins=$res4
# if [ ! -d "$res_solver_ins" ]; then
# mkdir -p $res_solver_ins
# fi
# for dir_file in `cat $instance/vbs.txt`
# do
# file=$dir_file
# echo $file
# touch $res_solver_ins/$file
# read -u 6
# {
# cd /home/chenzh/solvers/Light
# time ./light-v2 $instance/$file --share=1 --threads=31
# echo >&6
# } >$res_solver_ins/$file 2>>$res_solver_ins/$file &
# done
# res_solver_ins=$res3
# if [ ! -d "$res_solver_ins" ]; then
# mkdir -p $res_solver_ins
# fi
# for dir_file in `cat $instance/vbs.txt`
# do
# file=$dir_file
# echo $file
# touch $res_solver_ins/$file
# read -u 6
# {
# cd /home/chenzh/solvers/Light
# time ./light-v1-1 $instance/$file --simplify=0 --reset=1
# echo >&6
# } >$res_solver_ins/$file 2>>$res_solver_ins/$file &
# done
# res_solver_ins=$res2
# if [ ! -d "$res_solver_ins" ]; then
# mkdir -p $res_solver_ins
# fi
# for dir_file in `cat $instance/vbs.txt`
# do
# file=$dir_file
# echo $file
# touch $res_solver_ins/$file
# read -u 6
# {
# cd /home/chenzh/solvers/Light
# time ./light $instance/$file --simplify=1
# echo >&6
# } >$res_solver_ins/$file 2>>$res_solver_ins/$file &
# done
# res_solver_ins=$res1
# if [ ! -d "$res_solver_ins" ]; then
# mkdir -p $res_solver_ins
# fi
# for dir_file in `cat $instance/vbs.txt`
# do
# file=$dir_file
# echo $file
# touch $res_solver_ins/$file
# read -u 6
# {
# cd /home/chenzh/solvers/Light
# time ./light-v1 $instance/$file --simplify=0
# echo >&6
# } >$res_solver_ins/$file 2>>$res_solver_ins/$file &
# done
done
res_solver_ins=$res_no
if [ ! -d "$res_solver_ins" ]; then
mkdir -p $res_solver_ins
fi
for((i=0;i<4;i++))
do
read -u 6
{
cd /home/chenzh/solvers/Light
time ./light-v1 /home/chenzh/data/hard_cnfs/49.cnf
echo >&6
} >$res_solver_ins/$i 2>>$res_solver_ins/$i &
done
exit 0

169
testLight/run19-5.sh Executable file
View File

@ -0,0 +1,169 @@
#!/bin/bash
SEND_THREAD_NUM=4
tmp_fifofile="/tmp/$$.fifo" # 脚本运行的当前进程ID号作为文件名
mkfifo "$tmp_fifofile" # 新建一个随机fifo管道文件
exec 6<>"$tmp_fifofile" # 定义文件描述符6指向这个fifo管道文件
rm $tmp_fifofile
for i in $(seq 1 $SEND_THREAD_NUM)
do
echo # for循环 往 fifo管道文件中写入 $SEND_THREAD_NUM 个空行
done >&6
# CUTOFF_TIME=3600
instance_20="/pub/data/chenzh/data/sat2020"
instance_21="/pub/data/chenzh/data/sat2021"
instance_22="/pub/data/chenzh/data/sat2022"
res1="/pub/data/chenzh/res/light/v1-origin"
res2="/pub/data/chenzh/res/light/v1-preprocess-2"
res3="/pub/data/chenzh/res/light/v1-1-origin"
res4="/pub/data/chenzh/res/light/v2-preprocess"
res5="/pub/data/chenzh/res/light/v3--1-preprocess"
res6="/pub/data/chenzh/res/light/v5-7-dps-20-2k"
res7="/pub/data/chenzh/res/light/v6-3-dps-10-1k"
res_no="/pub/data/chenzh/res/unused"
#####################################################
all_datas=($instance_22)
for((i=0;i<${#all_datas[*]};i++))
do
instance=${all_datas[$i]}
res_solver_ins=$res7
if [ ! -d "$res_solver_ins" ]; then
mkdir -p $res_solver_ins
fi
for dir_file in `cat $instance/vbs.txt`
do
file=$dir_file
echo $file
touch $res_solver_ins/$file
read -u 6
{
cd /home/chenzh/solvers/Light
time ./light-v6-3 $instance/$file --share=1 --DPS=1 --margin=10 --DPS_period=10000000
echo >&6
} >$res_solver_ins/$file 2>>$res_solver_ins/$file &
done
# res_solver_ins=$res6
# if [ ! -d "$res_solver_ins" ]; then
# mkdir -p $res_solver_ins
# fi
# for dir_file in `cat $instance/vbs.txt`
# do
# file=$dir_file
# echo $file
# touch $res_solver_ins/$file
# read -u 6
# {
# cd /home/chenzh/solvers/Light
# time ./light-v5-7 $instance/$file --share=1 --DPS=2 --margin=20 --DPS_period=20000000
# echo >&6
# } >$res_solver_ins/$file 2>>$res_solver_ins/$file &
# done
# res_solver_ins=$res5
# if [ ! -d "$res_solver_ins" ]; then
# mkdir -p $res_solver_ins
# fi
# for dir_file in `cat $instance/vbs.txt`
# do
# file=$dir_file
# echo $file
# touch $res_solver_ins/$file
# read -u 6
# {
# cd /home/chenzh/solvers/Light
# time ./light-v3--1 $instance/$file --share=1 --threads=31
# echo >&6
# } >$res_solver_ins/$file 2>>$res_solver_ins/$file &
# done
# res_solver_ins=$res4
# if [ ! -d "$res_solver_ins" ]; then
# mkdir -p $res_solver_ins
# fi
# for dir_file in `cat $instance/vbs.txt`
# do
# file=$dir_file
# echo $file
# touch $res_solver_ins/$file
# read -u 6
# {
# cd /home/chenzh/solvers/Light
# time ./light-v2 $instance/$file --share=1 --threads=31
# echo >&6
# } >$res_solver_ins/$file 2>>$res_solver_ins/$file &
# done
# res_solver_ins=$res3
# if [ ! -d "$res_solver_ins" ]; then
# mkdir -p $res_solver_ins
# fi
# for dir_file in `cat $instance/vbs.txt`
# do
# file=$dir_file
# echo $file
# touch $res_solver_ins/$file
# read -u 6
# {
# cd /home/chenzh/solvers/Light
# time ./light-v1-1 $instance/$file --simplify=0 --reset=1
# echo >&6
# } >$res_solver_ins/$file 2>>$res_solver_ins/$file &
# done
# res_solver_ins=$res2
# if [ ! -d "$res_solver_ins" ]; then
# mkdir -p $res_solver_ins
# fi
# for dir_file in `cat $instance/vbs.txt`
# do
# file=$dir_file
# echo $file
# touch $res_solver_ins/$file
# read -u 6
# {
# cd /home/chenzh/solvers/Light
# time ./light $instance/$file --simplify=1
# echo >&6
# } >$res_solver_ins/$file 2>>$res_solver_ins/$file &
# done
# res_solver_ins=$res1
# if [ ! -d "$res_solver_ins" ]; then
# mkdir -p $res_solver_ins
# fi
# for dir_file in `cat $instance/vbs.txt`
# do
# file=$dir_file
# echo $file
# touch $res_solver_ins/$file
# read -u 6
# {
# cd /home/chenzh/solvers/Light
# time ./light-v1 $instance/$file --simplify=0
# echo >&6
# } >$res_solver_ins/$file 2>>$res_solver_ins/$file &
# done
done
res_solver_ins=$res_no
if [ ! -d "$res_solver_ins" ]; then
mkdir -p $res_solver_ins
fi
for((i=0;i<4;i++))
do
read -u 6
{
cd /home/chenzh/solvers/Light
time ./light-v1 /home/chenzh/data/hard_cnfs/49.cnf
echo >&6
} >$res_solver_ins/$i 2>>$res_solver_ins/$i &
done
exit 0

169
testLight/run19-6.sh Executable file
View File

@ -0,0 +1,169 @@
#!/bin/bash
SEND_THREAD_NUM=4
tmp_fifofile="/tmp/$$.fifo" # 脚本运行的当前进程ID号作为文件名
mkfifo "$tmp_fifofile" # 新建一个随机fifo管道文件
exec 6<>"$tmp_fifofile" # 定义文件描述符6指向这个fifo管道文件
rm $tmp_fifofile
for i in $(seq 1 $SEND_THREAD_NUM)
do
echo # for循环 往 fifo管道文件中写入 $SEND_THREAD_NUM 个空行
done >&6
# CUTOFF_TIME=3600
instance_20="/pub/data/chenzh/data/sat2020"
instance_21="/pub/data/chenzh/data/sat2021"
instance_22="/pub/data/chenzh/data/sat2022"
res1="/pub/data/chenzh/res/light/v1-origin"
res2="/pub/data/chenzh/res/light/v1-preprocess-2"
res3="/pub/data/chenzh/res/light/v1-1-origin"
res4="/pub/data/chenzh/res/light/v2-preprocess"
res5="/pub/data/chenzh/res/light/v3--1-preprocess"
res6="/pub/data/chenzh/res/light/v5-7-dps-20-2k"
res7="/pub/data/chenzh/res/light/v6-3-dps-10-2k"
res_no="/pub/data/chenzh/res/unused"
#####################################################
all_datas=($instance_22)
for((i=0;i<${#all_datas[*]};i++))
do
instance=${all_datas[$i]}
res_solver_ins=$res7
if [ ! -d "$res_solver_ins" ]; then
mkdir -p $res_solver_ins
fi
for dir_file in `cat $instance/vbs.txt`
do
file=$dir_file
echo $file
touch $res_solver_ins/$file
read -u 6
{
cd /home/chenzh/solvers/Light
time ./light-v6-3 $instance/$file --share=1 --DPS=1 --margin=10 --DPS_period=20000000
echo >&6
} >$res_solver_ins/$file 2>>$res_solver_ins/$file &
done
# res_solver_ins=$res6
# if [ ! -d "$res_solver_ins" ]; then
# mkdir -p $res_solver_ins
# fi
# for dir_file in `cat $instance/vbs.txt`
# do
# file=$dir_file
# echo $file
# touch $res_solver_ins/$file
# read -u 6
# {
# cd /home/chenzh/solvers/Light
# time ./light-v5-7 $instance/$file --share=1 --DPS=2 --margin=20 --DPS_period=20000000
# echo >&6
# } >$res_solver_ins/$file 2>>$res_solver_ins/$file &
# done
# res_solver_ins=$res5
# if [ ! -d "$res_solver_ins" ]; then
# mkdir -p $res_solver_ins
# fi
# for dir_file in `cat $instance/vbs.txt`
# do
# file=$dir_file
# echo $file
# touch $res_solver_ins/$file
# read -u 6
# {
# cd /home/chenzh/solvers/Light
# time ./light-v3--1 $instance/$file --share=1 --threads=31
# echo >&6
# } >$res_solver_ins/$file 2>>$res_solver_ins/$file &
# done
# res_solver_ins=$res4
# if [ ! -d "$res_solver_ins" ]; then
# mkdir -p $res_solver_ins
# fi
# for dir_file in `cat $instance/vbs.txt`
# do
# file=$dir_file
# echo $file
# touch $res_solver_ins/$file
# read -u 6
# {
# cd /home/chenzh/solvers/Light
# time ./light-v2 $instance/$file --share=1 --threads=31
# echo >&6
# } >$res_solver_ins/$file 2>>$res_solver_ins/$file &
# done
# res_solver_ins=$res3
# if [ ! -d "$res_solver_ins" ]; then
# mkdir -p $res_solver_ins
# fi
# for dir_file in `cat $instance/vbs.txt`
# do
# file=$dir_file
# echo $file
# touch $res_solver_ins/$file
# read -u 6
# {
# cd /home/chenzh/solvers/Light
# time ./light-v1-1 $instance/$file --simplify=0 --reset=1
# echo >&6
# } >$res_solver_ins/$file 2>>$res_solver_ins/$file &
# done
# res_solver_ins=$res2
# if [ ! -d "$res_solver_ins" ]; then
# mkdir -p $res_solver_ins
# fi
# for dir_file in `cat $instance/vbs.txt`
# do
# file=$dir_file
# echo $file
# touch $res_solver_ins/$file
# read -u 6
# {
# cd /home/chenzh/solvers/Light
# time ./light $instance/$file --simplify=1
# echo >&6
# } >$res_solver_ins/$file 2>>$res_solver_ins/$file &
# done
# res_solver_ins=$res1
# if [ ! -d "$res_solver_ins" ]; then
# mkdir -p $res_solver_ins
# fi
# for dir_file in `cat $instance/vbs.txt`
# do
# file=$dir_file
# echo $file
# touch $res_solver_ins/$file
# read -u 6
# {
# cd /home/chenzh/solvers/Light
# time ./light-v1 $instance/$file --simplify=0
# echo >&6
# } >$res_solver_ins/$file 2>>$res_solver_ins/$file &
# done
done
res_solver_ins=$res_no
if [ ! -d "$res_solver_ins" ]; then
mkdir -p $res_solver_ins
fi
for((i=0;i<4;i++))
do
read -u 6
{
cd /home/chenzh/solvers/Light
time ./light-v1 /home/chenzh/data/hard_cnfs/49.cnf
echo >&6
} >$res_solver_ins/$i 2>>$res_solver_ins/$i &
done
exit 0

BIN
testLight/speed Executable file

Binary file not shown.

32
testLight/speed.c Normal file
View File

@ -0,0 +1,32 @@
#include<bits/stdc++.h>
using namespace std;
const int solvers = 7;
const int instances = 400;
double st[solvers + 1][instances + 1];
double rat[solvers + 1][instances + 1];
char instance[instances + 1][200];
int main() {
freopen("speedunsat.txt", "r", stdin);
for (int i = 1; i <= instances; i++) {
for (int j = 1; j <= solvers; j++)
scanf("%lf%lf", &st[j][i], &rat[j][i]);
scanf("%s", instance[i]);
}
for (int j = 2; j <= 7; j++) {
int same = 0;
double sum = 0;
for (int i = 1; i <= instances; i++) {
// printf("%.2lf %.2lf\n", st[j][i], rat[j][i]);
if (st[j][i] > 5000 || st[1][i] > 5000) continue;
if (st[j][i] < 1.0 && st[1][i] < 1.0) continue;
if (st[j][i] < 0.1 || st[1][i] < 0.1) {
printf("\tpre %s\n", instance[i]); continue;
}
++same;
sum += rat[j][i];
// printf("%.2lf \t\t%.2lf %.2lf %s\n", rat[j][i], st[j][i], st[1][i], instance[i]);
}
printf("c speed is %.2lf, cal is %d\n", sum / same, same);
}
return 0;
}

BIN
testLight/speed.o Normal file

Binary file not shown.

401
testLight/speedall.txt Normal file
View File

@ -0,0 +1,401 @@
192.67 1.0 142.39 1.35 74.55 2.58 44.42 4.34 29.59 6.51 20.26 9.51 14.85 12.98 002a0330958a14deb23dcc84b5489e8a-traffic_f_unknown.cnf
28.21 1.0 217.72 0.13 48.39 0.58 67.41 0.42 28.68 0.98 64.68 0.44 45.11 0.63 004b0f451f7d96f6a572e9e76360f51a-spg_420_280.cnf
11.83 1.0 9.5 1.25 4.72 2.51 4.41 2.68 2.29 5.18 2.91 4.07 1.74 6.82 00a62eb89afbf27e1addf8f5c437da9b-ortholatin-7.cnf
60.19 1.0 67.71 0.89 53.14 1.13 38.52 1.56 23.07 2.61 21.69 2.77 19.71 3.05 00aefd1fc30c425075166ca051e57218-barman-pfile10-038.sas.ex.15.cnf
10000 1.0 2688.01 3.72 2875.53 3.48 513.23 19.48 163.59 61.13 199.03 50.24 49.21 203.2 0151bedac526ee195bc52e4134cd80e7-ssAES_4-4-8_round_8-10_faultAt_8_fault_injections_2_seed_1579630418.cnf
3157.25 1.0 2681.49 1.18 2925.91 1.08 1824.91 1.73 1266.6 2.49 1679.22 1.88 413.81 7.63 01813075a2ddb68ae1fc655ca003437e-sha256__zeroOut_12__freeIn_16__seed_1.cnf
16.85 1.0 0.0 5616.67 0.01 3370.0 0.04 455.41 0.03 674.0 0.0 5616.67 0.01 2808.33 01d142c43f3ce9a8c5ef7a1ecdbb6cba-urquhart3_25bis.shuffled.cnf
1546.8 1.0 1054.47 1.47 116.78 13.25 187.45 8.25 310.32 4.98 87.19 17.74 145.53 10.63 0205e0724a8a912dde9ad7dfba2aee0b-003-23-80.cnf
68.93 1.0 9.04 7.63 0.64 108.04 1.17 59.02 0.57 119.88 1.58 43.54 1.82 37.81 02223564bd2f5c20768e63cf28c785e3-mp1-squ_ali_s10x10_c39_abio_SAT.cnf
136.74 1.0 193.25 0.71 273.93 0.5 92.14 1.48 101.17 1.35 82.28 1.66 60.77 2.25 0240f5bddc39ad2f0a786c811fc434a8-SC21_Timetable_C_542_E_71_Cl_36_S_35.cnf
1069.49 1.0 1554.11 0.69 2812.64 0.38 533.38 2.01 1888.58 0.57 974.97 1.1 874.81 1.22 024af9416f8c1dad1b4f974757e38d51-8-5-6.cnf
21.26 1.0 27.31 0.78 69.2 0.31 40.01 0.53 29.25 0.73 64.48 0.33 43.37 0.49 02627689047d06fbb642eef14768d751-ps_200_300_70.cnf
1498.01 1.0 1063.03 1.41 1200.31 1.25 1023.43 1.46 953.46 1.57 768.91 1.95 837.22 1.79 0294158664d9ada36bd23fbb652cb823-smtlib-qfbv-aigs-countbits128-tseitin.cnf
2169.43 1.0 400.53 5.42 160.24 13.54 108.88 19.92 64.83 33.46 46.79 46.37 33.42 64.92 02c6fe8483e4f4474b7ac9731772535d-ncc_none_7047_6_3_3_0_0_420.cnf
178.34 1.0 331.86 0.54 302.48 0.59 239.42 0.74 241.76 0.74 173.83 1.03 150.71 1.18 02f2343e32f9070f149708d77556b4aa-Kakuro-easy-117-ext.xml.hg_5.cnf
235.03 1.0 181.71 1.29 159.03 1.48 141.7 1.66 127.55 1.84 84.25 2.79 73.86 3.18 0398e6b20de133ba8b49c74b67dad7b7-6s133-sc2014.cnf
83.8 1.0 63.36 1.32 86.44 0.97 32.63 2.57 25.98 3.23 13.5 6.21 9.43 8.88 03ba29d5cb38d345357a74a7b5ccd759-20-100-lambda100-49_sat.cnf
775.05 1.0 877.44 0.88 363.05 2.13 679.99 1.14 200.26 3.87 259.41 2.99 123.13 6.29 03bb7baaa45980753a0e7050ae44755d-atco_enc3_opt1_03_53.cnf
1585.07 1.0 966.5 1.64 609.75 2.6 346.38 4.58 208.74 7.59 111.04 14.28 70.02 22.64 03c44a93577c98119dc498053888937a-ctl_4291_567_1_unsat_pre.cnf
613.08 1.0 439.52 1.39 218.75 2.8 199.13 3.08 154.97 3.96 124.82 4.91 118.23 5.19 03fb9af7b390fe9e0739150ca3410cf0-4g_5color_166_100_02.cnf
10000 1.0 10000 1.0 3595.05 2.78 2301.44 4.35 1541.94 6.49 1043.92 9.58 729.65 13.71 04157f716c1e9606c6a530657bf8f957-Kakuro-easy-125-ext.xml.hg_4.cnf
477.13 1.0 498.92 0.96 275.68 1.73 172.97 2.76 96.35 4.95 58.03 8.22 42.65 11.19 0447371bb8a97e8fe5d3cee6de1db766-UTI-20-10p0-sc2009.cnf
3177.89 1.0 1933.18 1.64 1347.71 2.36 895.02 3.55 520.3 6.11 350.16 9.08 245.9 12.92 047c92e7c0a36a23d8107f4313517719-rubikcube701-sc2017.cnf
9.32 1.0 110.93 0.08 131.61 0.07 130.52 0.07 125.92 0.07 97.97 0.1 91.2 0.1 047fbe00ecc60835f1ee9d458bbd7ee8-SAT_H_instances_childsnack_p06.hddl_2.cnf
2968.38 1.0 576.18 5.15 2223.47 1.34 397.06 7.48 92.75 32.0 115.16 25.78 61.58 48.2 048142b6048cb6c10415e08f68a2c3a3-GP_81_430_13.cnf
10000 1.0 103.83 96.32 476.95 20.97 114.22 87.55 26.92 371.42 78.83 126.86 35.78 279.48 048a70da40ea4908c783b8314be2da97-aes_32_2_keyfind_1.cnf
26.71 1.0 1.15 23.31 0.79 33.98 0.83 32.06 0.78 34.07 0.86 31.13 1.59 16.83 0616ca6b1e0ae639d12e19ed310963a9-satcoin-genesis-SAT-4.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 3777.54 2.65 2528.6 3.95 1478.66 6.76 064fe286277f695f42b556ef991036ff-sin_depth_miter_2.cnf
0.54 1.0 2.0 0.27 0.44 1.24 0.29 1.83 0.28 1.94 0.28 1.96 0.29 1.88 072785fd927ff0fd180ce8b9cc00078f-20180321_140826713_p_cnf_320_1120.cnf
306.09 1.0 225.91 1.35 117.88 2.6 89.54 3.42 46.48 6.58 28.55 10.72 18.83 16.26 07b7859003d84402cbb1ebdc37655d55-6s186_Iter20.cnf
146.42 1.0 26.09 5.61 39.72 3.69 13.44 10.89 16.42 8.92 2.24 65.48 4.13 35.41 0810eb03d022334fdd1d5a6ad4969d47-gss-18-s100.cnf
144.4 1.0 156.14 0.92 318.17 0.45 382.88 0.38 438.25 0.33 397.12 0.36 292.82 0.49 0823bc5f954c6366702877556f0d3680-linked_list_swap_contents_safety_unwind66.cnf
10000 1.0 10000 1.0 10000 1.0 639.61 15.63 562.04 17.79 1185.96 8.43 1560.97 6.41 0842eb01dc00232edc0b26ccb2f19f25-6-4-6-sc2018.cnf
192.4 1.0 145.64 1.32 129.65 1.48 112.13 1.72 81.02 2.37 61.08 3.15 45.56 4.22 0855033e761d91ae367e867c5a569f9e-atco_enc1_opt2_10_15.cnf
67.65 1.0 78.93 0.86 31.77 2.13 52.93 1.28 11.96 5.66 22.97 2.94 12.47 5.42 085b8ebc423dcbd70eceaa04229cf5cd-summle_X111102_steps8_I1-2-2-4-4-8-25-100.cnf
288.09 1.0 295.22 0.98 620.49 0.46 68.32 4.22 48.08 5.99 11.3 25.49 44.27 6.51 089456508f74be2d96f4112cc495f80a-Eternity-10-06_c18.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 08991fb6c7c45205df7f2bc2f51fb1d9-bobsmdct_k500.cnf
1127.62 1.0 1620.17 0.7 1350.07 0.84 1992.97 0.57 1579.47 0.71 2124.61 0.53 1346.25 0.84 08e151e72fe10402a49463171aa557e8-abw-V-nos6.mtx-w220.cnf
1345.63 1.0 433.2 3.11 19.59 68.68 12.31 109.35 189.74 7.09 0.96 1400.24 6.61 203.61 090585dc32a79f2bf6fb61a2c7079682-mdp-28-16-sat.cnf
95.37 1.0 27.07 3.52 26.53 3.59 10.37 9.2 16.12 5.92 8.12 11.74 7.4 12.88 09d8544494e54bc756438e69567b4ba7-mp1-klieber2017s-0300-034-t12.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 3205.84 3.12 1819.39 5.5 1481.81 6.75 0a20cb72e5b005b8ed09d8a93184604a-j3037_9_gmto_bm1.cnf
400.32 1.0 394.05 1.02 358.37 1.12 341.19 1.17 309.36 1.29 324.6 1.23 291.94 1.37 0a3cb69074519646b0f2933ba7ad2d30-aws-encryption-sdk-c:aws_cryptosdk_hdr_write.cnf
627.19 1.0 741.22 0.85 412.3 1.52 458.78 1.37 459.41 1.37 316.1 1.98 151.86 4.13 0a514edbeace21927e52d75f2d4a8efd-ota-for-aws-iot-embedded-sdk:parseJSONbyModel.cnf
1322.71 1.0 4767.27 0.28 278.68 4.75 212.45 6.23 292.55 4.52 235.74 5.61 8.97 147.46 0b4421f6aac81e2dbc87c5b5ddae6511-52bits_12.dimacs.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 0b495cc867003b7ac112b7c47256228b-h31_large.cnf
428.29 1.0 50.75 8.44 71.37 6.0 41.93 10.21 29.98 14.29 8.9 48.12 9.7 44.14 0c0e6faa4abb622f5bea636ff04d341d-grid-color-12-14-2-cb.cnf
88.76 1.0 78.45 1.13 0.76 117.56 1.5 59.02 0.77 115.57 0.86 102.85 0.87 102.26 0c5d7e7aa3dd6024816078d2bdcfc4e3-Carry_Bits_Fast_8.cnf.cnf
345.87 1.0 228.96 1.51 192.22 1.8 43.05 8.03 91.25 3.79 64.99 5.32 20.08 17.23 0c75119940f87f2bc1dc3f53aeedc02b-20-100-lambda100-89_sat.cnf
642.6 1.0 392.83 1.64 643.51 1.0 249.88 2.57 127.23 5.05 65.7 9.78 109.28 5.88 0d209cb420326994f9c4898eb10228ab-008-80-8.cnf
32.7 1.0 1646.49 0.02 1930.03 0.02 1773.31 0.02 1541.28 0.02 1216.08 0.03 1192.28 0.03 0d4970edf84353e5a5798bca3f7f270e-SAT_H_instances_childsnack_p10.hddl_2.cnf
12.74 1.0 6.48 1.97 6.07 2.1 6.75 1.89 4.97 2.56 3.84 3.32 4.31 2.96 0dc468413b65339fad7e4f981bf2fb1e-reconf20_61_myciel4_2.cnf
736.71 1.0 1316.51 0.56 1266.56 0.58 369.31 1.99 183.17 4.02 39.76 18.53 182.34 4.04 0dcd0ec81c5e8dc13b72d43a4940279b-hantzsche_wendt_unit_147.cnf
206.99 1.0 231.97 0.89 93.59 2.21 197.66 1.05 53.31 3.88 43.24 4.79 30.55 6.77 0e775873f4c4bbc81ff92b87dd3e15e8-grid-strips-grid-y-3.045-NOTKNOWN.cnf
120.09 1.0 55.9 2.15 36.54 3.29 21.28 5.64 10.24 11.73 6.9 17.4 5.07 23.68 0e89b0f96c99f1a6aaaf66c3ae805919-SCPC-500-15.cnf
2828.77 1.0 1353.63 2.09 774.39 3.65 422.47 6.7 235.4 12.02 111.47 25.38 81.14 34.86 109aa0f5e177c1efb72f133a6f8c723b-hantzsche_wendt_unit_92.cnf
1962.16 1.0 2084.03 0.94 2669.15 0.74 1652.4 1.19 1378.17 1.42 665.52 2.95 490.75 4.0 114f1b2ffd86e8a176bcbab664415520-bobsmdct_k88.cnf
133.37 1.0 290.22 0.46 31.34 4.26 39.71 3.36 26.26 5.08 9.74 13.69 10.52 12.68 129162378e8ad29b5485a9c53feee4b7-hantzsche_wendt_unit_93.cnf
1437.44 1.0 1835.92 0.78 1716.08 0.84 764.61 1.88 1900.93 0.76 296.1 4.85 309.27 4.65 13b13b34fe88f093aca06d6d035ee797-Lab-Project-FreeRTOS-Cellular-Library:Cellular_ATRemovePrefix.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 14f35ebcab936f66fc9292ff62cf39a7-h31.cnf
61.12 1.0 74.97 0.82 21.43 2.85 6.91 8.85 4.68 13.05 1.74 35.09 1.26 48.35 157c7496c04d3fc63565cd7999dc45a5-Carry_Save_Fast_1.cnf.cnf
365.2 1.0 187.66 1.95 134.27 2.72 99.59 3.67 56.86 6.42 40.27 9.07 37.74 9.68 161a73825fb50badeedbf8d12e1e043a-cfi-rigid-z2-0088-03-or_2.cnf
1049.37 1.0 680.45 1.54 726.86 1.44 679.58 1.54 480.72 2.18 597.45 1.76 479.44 2.19 16a0949c23ac67c57c5773403daaca60-coreMQTT:MQTT_Connect.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 3097.09 3.23 1543.13 6.48 915.96 10.92 1b78438db7da55c2b4c4b8ec6b6cd6c6-soelberg_unit_158.cnf
87.01 1.0 25.1 3.47 21.96 3.96 31.61 2.75 12.88 6.76 11.35 7.67 5.23 16.63 1ebab99edff4c0470c8aa753bb9d3353-summle_X8637_steps8_I1-2-2-4-4-8-25-100.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 1fabadca67bfeada7086035761b88b33-sum_of_three_cubes_165_unknown_representation.cnf
1911.28 1.0 4770.58 0.4 3014.27 0.63 1509.46 1.27 592.46 3.23 787.03 2.43 736.65 2.59 1fee9f154615842029ec63d8520f4b4e-GP_300_250_15.cnf
773.68 1.0 471.68 1.64 263.28 2.94 122.35 6.32 73.32 10.55 39.48 19.59 30.07 25.73 20840b5020649385e3f8f4965de7a123-hantzsche_wendt_unit_83.cnf
570.0 1.0 550.77 1.03 675.86 0.84 568.49 1.0 597.64 0.95 561.0 1.02 402.43 1.42 23e61c50ee2ac5cad1d337572abdebcf-aws-encryption-sdk-c:aws_cryptosdk_priv_hdr_parse_edks.cnf
10000 1.0 10000 1.0 10000 1.0 4291.23 2.33 2633.41 3.8 314.83 31.76 440.26 22.71 24af39156d1daa122e5928d9aba11847-GP_100_948_33.cnf
4.87 1.0 19.3 0.25 18.77 0.26 25.02 0.19 20.68 0.24 16.38 0.3 15.35 0.32 2551afad6b364a7225cdd1b9fa82f7c0-worker_500_500_500_0.35.cnf
1801.83 1.0 1350.42 1.33 1103.03 1.63 674.77 2.67 504.13 3.57 308.72 5.84 266.09 6.77 26342c62148962a09872831b7cef8aae-div-mitern165.cnf
3951.77 1.0 1967.06 2.01 1425.71 2.77 965.44 4.09 669.71 5.9 346.35 11.41 260.84 15.15 26f8332e50a4ba5c371852e3737a3002-mdp-28-11-unsat.cnf
67.91 1.0 13.28 5.11 8.28 8.2 8.01 8.48 7.07 9.61 7.06 9.62 7.52 9.03 2748e075d4b636ef260271a35302049b-cfi-rigid-t2-0048-01-or_3.cnf
322.78 1.0 380.21 0.85 358.91 0.9 309.31 1.04 328.63 0.98 497.95 0.65 429.96 0.75 27d9905476897885d29cea2744db9805-coreJSON:skipCollection.cnf
46.91 1.0 33.9 1.38 11.27 4.16 12.63 3.72 19.11 2.45 6.23 7.53 5.67 8.27 285cb2c9735ac73cad999fba3d669382-summle_X8634_steps8_I1-2-2-4-4-8-25-100.cnf
1794.26 1.0 1917.83 0.94 1731.59 1.04 1626.95 1.1 1266.99 1.42 1313.75 1.37 1273.87 1.41 28b715dd946dba71ddd58a73d9f82c39-pj2005_k80.cnf
222.9 1.0 138.1 1.61 96.16 2.32 29.95 7.44 20.89 10.67 18.04 12.35 9.21 24.2 294924aff67e879595e55f15b10a79ef-grid-color-12-14-6-cb.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 2a43c3327fb817d82496449265d6630d-mdp-36-16-unsat.cnf
226.36 1.0 227.44 1.0 196.17 1.15 186.3 1.22 156.62 1.45 178.37 1.27 178.56 1.27 2c0379771c5313567ea9e230438f203f-reconf20_320_hc-square-2_1.cnf
556.46 1.0 486.35 1.14 395.05 1.41 275.05 2.02 197.71 2.81 107.13 5.19 74.24 7.5 2c7cb0ff324a42a0699c23317c97a29a-6s320rb1_Iter8.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 2d01c7744a990469354a3c53cc2727fb-rphp_p95_r95.cnf
762.17 1.0 679.1 1.12 784.73 0.97 697.04 1.09 522.91 1.46 316.39 2.41 209.78 3.63 2f9cb22859718ab6c201726a91cfefe1-aws-encryption-sdk-c:aws_cryptosdk_priv_try_gen_key.cnf
3234.84 1.0 3573.63 0.91 3110.66 1.04 3036.23 1.07 1811.77 1.79 1495.56 2.16 1036.83 3.12 30ca21da9753263cc8cda020802b58ce-GP_500_200_20.cnf
107.31 1.0 44.01 2.44 23.95 4.48 15.28 7.02 9.32 11.52 5.69 18.86 4.74 22.64 3159a02d096424aab6295c76360633a9-SCPC-500-10.cnf
45.22 1.0 56.59 0.8 3.97 11.39 7.08 6.38 3.96 11.42 3.34 13.54 4.55 9.94 3176c9024f756e99dbee852e5c0aa578-Break_triple_12_30.xml.cnf
10000 1.0 10000 1.0 834.92 11.98 948.41 10.54 996.79 10.03 911.39 10.97 739.12 13.53 31cc22a0f42ebaa109a5b807eb6178c2-Break_20_54.xml.cnf
34.99 1.0 54.07 0.65 43.43 0.81 33.32 1.05 19.84 1.76 8.67 4.04 7.82 4.47 324e19a2991a29d0765ad256fb7aee85-j3037_9_gmto_b.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 34c2410669b8063d4b0a16a40b071536-sum_of_three_cubes_still_open_large.cnf
1867.22 1.0 111.14 16.8 256.37 7.28 272.84 6.84 90.19 20.7 421.4 4.43 269.21 6.94 351746fa3de2464c903c85e726cfed55-linked_list_swap_contents_safety_unwind67.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 4532.92 2.21 1725.7 5.79 1438.47 6.95 354936f86e55ab8d00e6e1f5f7c140a9-xor_op_n44_d3.cnf
10000 1.0 1334.52 7.49 1388.73 7.2 1140.19 8.77 1258.06 7.95 1003.61 9.96 708.31 14.12 354c2088ae7648e1dc51d12947c8043a-bobsmdct_init_k88.cnf
1273.5 1.0 717.6 1.77 782.05 1.63 642.11 1.98 410.2 3.1 538.33 2.37 380.2 3.35 35ad744923721e37a2f58443179c31a8-coreMQTT:MQTT_SerializeConnect.cnf
1377.51 1.0 1304.33 1.06 1150.06 1.2 1177.82 1.17 800.65 1.72 636.32 2.16 480.81 2.87 3666617901c8500d78700dac959729d4-pj2002_k9.cnf
3651.11 1.0 2442.97 1.49 634.96 5.75 315.96 11.56 685.44 5.33 246.9 14.79 328.68 11.11 367c25ad50259a685a25b86d6dd171b2-GP_100_950_33.cnf
50.43 1.0 101.9 0.49 14.27 3.53 11.33 4.45 17.41 2.9 13.04 3.87 6.01 8.39 36ecf4ba0451f40e4ede9a1b2ab914f7-af-synthesis_stb_50_200_4_sat.cnf
663.64 1.0 527.54 1.26 337.77 1.96 225.16 2.95 137.87 4.81 75.91 8.74 52.21 12.71 372021735d9e46002b862aa2a038a818-j3045_4_rggt_bm1.cnf
10000 1.0 10000 1.0 10000 1.0 2805.9 3.56 1877.19 5.33 996.91 10.03 666.24 15.01 39b3fde35939134f3b011ebb31842610-PancakeVsInsertSort_9_4.cnf
147.43 1.0 108.08 1.36 33.83 4.36 48.57 3.04 12.62 11.68 8.6 17.14 7.83 18.83 3b97191d94abf3a5e97d6359d886d9df-summle_X111121_steps7_I1-2-2-4-4-8-25-100.cnf
10000 1.0 2430.43 4.11 2193.86 4.56 2163.24 4.62 2048.5 4.88 2245.1 4.45 1909.84 5.24 3cbd82017c4a304c014dd87a69f6028c-bmc_QICE_req_sfl_30.cnf
296.17 1.0 407.53 0.73 150.87 1.96 87.93 3.37 82.95 3.57 52.38 5.65 37.48 7.9 3d2a6e5c2f8f58dee79fd50444009625-cfi-rigid-z2-0088-03-or_2_shuffle_all.cnf
348.59 1.0 246.74 1.41 97.07 3.59 99.78 3.49 58.13 6.0 48.19 7.23 36.21 9.63 3d2b0088dccf11d1f82c89b7122c26e1-cfi-rigid-z2-0088-01-or_2_shuffle_all.cnf
10000 1.0 10000 1.0 4816.56 2.08 3204.39 3.12 2320.5 4.31 1815.58 5.51 1188.63 8.41 3d449de3d6e722c9ce4a38ec748ee3cf-sudoku-N30-10.cnf
3128.46 1.0 2174.27 1.44 1725.77 1.81 1221.87 2.56 943.47 3.32 541.52 5.78 356.6 8.77 3d4beaebb3d87819ce9ff59e72047ef7-sudoku-N30-20.cnf
3032.01 1.0 384.69 7.88 529.17 5.73 282.35 10.74 18.2 166.55 113.48 26.72 141.47 21.43 3e2fe1556893706475f9dd19c1a7b8fe-mdp-32-12-sat.cnf
183.43 1.0 162.06 1.13 96.26 1.91 234.76 0.78 59.6 3.08 428.69 0.43 450.68 0.41 3fb045f58aaf394165735c39c49fad92-linked_list_swap_contents_safety_unwind56.cnf
0.9 1.0 0.67 1.34 2.22 0.41 0.54 1.67 0.42 2.14 0.39 2.34 0.37 2.44 3fb297f59ad2dc32fd3f79d61951d8cb-Carry_Bits_Fast_4.cnf.cnf
116.81 1.0 53.02 2.2 30.95 3.77 20.74 5.63 11.82 9.88 6.58 17.74 5.73 20.37 3ff263696219ca9e301b0a1b345eb9aa-SCPC-500-4.cnf
1924.64 1.0 1096.5 1.76 840.77 2.29 511.44 3.76 374.69 5.14 210.94 9.12 157.06 12.25 41423c03ef173a5b81d6e6776f316fa5-PancakeVsInsertSort_7_8.cnf
1603.14 1.0 1630.28 0.98 1414.65 1.13 1590.16 1.01 1367.45 1.17 1152.03 1.39 891.04 1.8 4348c6b9af237291558b154a9de82969-aws-encryption-sdk-c:aws_cryptosdk_priv_hdr_parse_aad.cnf
204.47 1.0 150.62 1.36 111.64 1.83 73.03 2.8 58.26 3.51 30.47 6.71 22.27 9.18 43687a48fb119ca61b47c2fc69a71e7d-manthey_single-ordered-initialized-w42-b8.cnf
37.27 1.0 31.96 1.17 33.1 1.13 30.4 1.23 30.28 1.23 33.3 1.12 30.16 1.24 436d00b6d41912e800e9855d08c75139-manol-pipe-f7nidw.cnf
636.74 1.0 587.88 1.08 395.08 1.61 412.94 1.54 287.2 2.22 434.23 1.47 249.66 2.55 4408f3ebfc37275a23ef57cfcc8aba6d-aws-encryption-sdk-c:aws_cryptosdk_priv_hdr_parse_content_type.cnf
697.21 1.0 673.12 1.04 204.89 3.4 238.79 2.92 27.98 24.92 37.33 18.68 57.87 12.05 44ed91b4ca5a5d8323cab4c268d81fd1-grid-color-12-14-12-cb.cnf
1051.01 1.0 1296.19 0.81 731.79 1.44 18.05 58.24 47.18 22.28 45.95 22.87 35.42 29.67 4501f9a0e9fab5d5cff7133022b1f780-50bits_11.dimacs.cnf
134.49 1.0 119.5 1.13 103.84 1.3 70.71 1.9 55.32 2.43 32.38 4.15 26.65 5.05 4513c58c16e72a34f9f8518db7baeb9e-ktf_TF-3.tf_3_0.02_24.cnf
1322.33 1.0 695.08 1.9 1045.07 1.27 806.11 1.64 445.13 2.97 371.14 3.56 377.47 3.5 4551c996fc6f5fbe62b43076abb25077-knight_18.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 45784477d3143f470c0bd0137a1c01ed-sum_of_three_cubes_still_open.cnf
10000 1.0 0.1 96153.85 0.11 89285.71 0.15 64516.13 0.12 86956.52 0.13 77519.38 0.08 126582.28 45ec40c74fdbf2fe41122ac1e31e6c8e-worker_30_120_30_0.8.cnf
190.44 1.0 185.35 1.03 168.22 1.13 154.7 1.23 110.41 1.72 110.33 1.73 96.37 1.98 47135a1fd4c86afbfec0c7879c45268b-SC22_Timetable_C_451_E_46_Cl_30_S_27.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 47a1a6f5687ed19c5c0f77c2c81f3f81-tseitin_grid_n14_m14.cnf
114.64 1.0 78.22 1.47 52.57 2.18 39.37 2.91 25.2 4.55 15.3 7.49 12.01 9.55 488b147304549670f31653c932684e2c-sin-mitern28.cnf
65.26 1.0 61.34 1.06 13.38 4.88 9.22 7.08 21.3 3.06 8.17 7.99 11.48 5.68 48e9f29a92930f1b367efc5754cb679b-af-synthesis_stb_50_80_7_sat.cnf
140.39 1.0 64.52 2.18 40.14 3.5 24.73 5.68 12.72 11.03 7.69 18.26 5.76 24.38 48eacbc152c7710dfd6fe17a8a17199e-SCPC-500-7.cnf
22.25 1.0 12.41 1.79 31.33 0.71 21.12 1.05 8.53 2.61 3.19 6.98 8.12 2.74 49f5d904bb2e762219287d33f5621971-ITC2021_Late_1.xml.cnf
10000 1.0 10000 1.0 10000 1.0 3958.27 2.53 2090.54 4.78 1002.01 9.98 716.07 13.97 4a85e090bda23cef9bf2aed55d489ab6-sin_depth_miter_5.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 4af0fbe3087b6e3ad54177e16b85ed06-grid-color-14-14-6-cb.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 4b45bebcc3f810b25cca2d16a1ff2084-hyp_cec_multi_3.cnf
385.59 1.0 361.67 1.07 384.21 1.0 344.81 1.12 257.75 1.5 259.18 1.49 151.33 2.55 4b537d3c18082eb884bf9429b8146214-gaussian.c.75.smt2-cvc4.cnf
53.25 1.0 43.55 1.22 50.83 1.05 60.05 0.89 49.68 1.07 50.99 1.04 53.97 0.99 4db2404ba78dda6f3bc89a2b03057fd2-intel036_Iter109.cnf
609.82 1.0 393.13 1.55 277.7 2.2 186.84 3.26 128.84 4.73 89.59 6.81 71.39 8.54 4f888358cd62fe7bc602ea6882cdfc6d-bivium-40-200-0s0-0x92fc13b11169afbb2ef11a684d9fe9a19e743cd6aa5ce23fb5-19.cnf
34.57 1.0 1.74 19.9 1.07 32.28 0.98 35.17 1.23 28.01 0.94 36.97 1.22 28.27 5099718e4b5b8fe2ba7f8b919fdfde2d-satcoin-genesis-SAT-5.cnf
10000 1.0 10000 1.0 10000 1.0 4398.69 2.27 2431.62 4.11 1342.75 7.45 990.75 10.09 51dd2c14736f2d9164f749d6a633ccb5-j3045_10_mdd_bm1.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 51e4929accfa3a0e68bff09974c7f0f4-SAT_MS_sat_nurikabe_p16.pddl_166.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 5237a944490aeead04c7a4539e6b44d2-SC22_Timetable_C_451_E_43_Cl_30_S_27.cnf
167.79 1.0 206.24 0.81 330.85 0.51 6.12 27.43 51.34 3.27 17.68 9.49 5.11 32.86 5457c05649be6f3bc4f743c5e6086a18-mdp-28-10-sat.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 54d4838f065e6ca3579b357bc70ea566-div_miter_lec_4.cnf
281.57 1.0 88.36 3.19 20.89 13.48 45.44 6.2 46.52 6.05 34.92 8.06 29.23 9.63 5573681b2f40d5d8b30267ac59987e40-Carry_Bits_Fast_16.cnf.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 55add9c1c8ad002a0faa34ecf47919a1-SC22_Timetable_C_451_E_45_Cl_30_S_27.cnf
780.48 1.0 271.76 2.87 14.46 53.96 93.5 8.35 52.61 14.83 10.44 74.74 9.11 85.7 5601a7e094f61f3c5af461300c25243f-summle_X111107_steps8_I1-2-2-4-4-8-25-100.cnf
125.11 1.0 67.41 1.86 54.33 2.3 41.87 2.99 34.22 3.66 22.72 5.51 19.57 6.39 567964f034c8ffa65952897ce4927c6c-ablmulub16x4o.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 56e7489da32260e1bdd085a418592ec2-cliquecoloring_n18_k6_c5.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 5796ee4ac65929640e1b67ae2bfb9e8e-div_miter_lec_3.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 3970.31 2.52 2520.89 3.97 59047491e4828ed2bb79572330df6f77-mdp-32-16-unsat.cnf
416.07 1.0 301.38 1.38 260.99 1.59 230.64 1.8 178.24 2.33 123.15 3.38 91.0 4.57 594b07c07aee036a7aca35d44e2316da-div-mitern168.cnf
815.04 1.0 800.57 1.02 866.29 0.94 827.82 0.98 474.48 1.72 511.58 1.59 359.53 2.27 59e596f5f845a2487370950b37ec3db2-aws-encryption-sdk-c:aws_cryptosdk_enc_ctx_size.cnf
0.42 1.0 1.08 0.39 1.81 0.23 0.44 0.96 0.46 0.91 0.41 1.02 0.31 1.36 5ac44f542fd2cd4492067deb7791629a-Carry_Bits_Fast_18.cnf.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 5c54a96de5bbfbfe9152afbc8822588d-cliquecoloring_n60_k5_c4.cnf
23.13 1.0 10.15 2.28 2.87 8.06 2.69 8.58 3.72 6.22 2.27 10.2 1.85 12.52 5c5fa629c2c62723eb2d3388db264521-Wallace_Bits_Fast_3.cnf.cnf
10000 1.0 0.08 119047.62 0.08 128205.13 0.07 138888.89 0.09 109890.11 0.05 217391.3 0.07 149253.73 5c6495ff589cbbcb550e1655dadbd143-worker_40_80_35_0.85.cnf
275.65 1.0 196.63 1.4 193.86 1.42 131.65 2.09 145.86 1.89 72.12 3.82 32.35 8.52 5cc5e3d24402696ed4ec03edfa42d663-sudoku-N30-24.cnf
55.31 1.0 10000 0.01 96.45 0.57 114.75 0.48 133.52 0.41 133.6 0.41 123.48 0.45 5d357f1e4b5abc96c90d305f629edd5c-ps_200_323_70.cnf
62.04 1.0 50.04 1.24 49.05 1.26 41.45 1.5 39.13 1.59 28.41 2.18 24.5 2.53 5e04f38ff11cee5d75fb98e12f6a14fc-sqrt-mitern172.cnf
122.2 1.0 66.61 1.83 55.59 2.2 31.71 3.85 7.89 15.5 8.02 15.23 9.06 13.49 5e25f9f0d4ef05401fd9ab45a2538c1c-summle_X111117_steps8_I1-2-2-4-4-8-25-100.cnf
575.09 1.0 97.54 5.9 275.24 2.09 185.07 3.11 57.9 9.93 59.27 9.7 16.32 35.23 5e66b728b2445ec69f27e0f1a49f4b29-006.cnf
134.52 1.0 203.23 0.66 191.72 0.7 125.79 1.07 116.43 1.16 104.56 1.29 107.09 1.26 5e933a625099cc1ec6a8299a7848a2ae-Kakuro-easy-112-ext.xml.hg_7.cnf
917.55 1.0 627.92 1.46 389.08 2.36 204.38 4.49 118.8 7.72 68.61 13.37 46.46 19.75 5f24ae73bb2a0ec3bef68d8a9680f04f-af-synthesis_stb_50_80_7_unsat.cnf
199.61 1.0 108.98 1.83 52.09 3.83 8.9 22.44 21.17 9.43 13.23 15.08 9.63 20.72 5ff92b9fa31963608674761e0d71fce8-sv-comp19_prop-reachsafety.triangular-longer_false-unreach-call.i-witness.cnf
77.66 1.0 13.5 5.75 29.91 2.6 21.66 3.58 12.5 6.21 6.73 11.54 12.57 6.18 608941b989227d93c62b3a9b4280011b-summle_X8639_steps8_I1-2-2-4-4-8-25-100.cnf
10000 1.0 10000 1.0 10000 1.0 2411.11 4.15 1368.82 7.31 826.03 12.11 613.71 16.29 60a0ab2650e08f32c4fff6ff09369568-eqsparcl12bpwtrc12.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 61175b10026fe42cadd5e2f0088684ea-6s105_Iter99.cnf
83.19 1.0 27.95 2.98 118.7 0.7 59.44 1.4 65.51 1.27 17.47 4.76 8.58 9.7 622787535593269d5e9a1dc4fe01c4af-atco_enc1_opt2_10_16-sc2014.cnf
40.79 1.0 16.33 2.5 12.65 3.22 8.85 4.61 6.55 6.22 4.72 8.63 4.32 9.44 65138afdf7eb054be5131f2b0de84369-satch2ways12u.cnf
10000 1.0 10000 1.0 10000 1.0 3178.0 3.15 1936.27 5.16 1182.86 8.45 771.89 12.96 65514d6ff224df20ba8c1aeec1698ab6-PancakeVsInsertSort_8_7.cnf
10000 1.0 4145.69 2.41 1587.81 6.3 2468.47 4.05 585.24 17.09 297.23 33.64 244.41 40.91 6901858f1edbe3b1d327902dab720326-reconf20_20_grid10_4_4957.cnf
81.23 1.0 4.38 18.53 2.99 27.18 4.21 19.3 6.42 12.64 1.76 46.05 1.52 53.37 6965d5369d3ab26daaf074303c3d1739-mp1-squ_ali_s10x10_c39_abix_SAT.cnf
792.16 1.0 705.8 1.12 490.49 1.62 352.04 2.25 243.96 3.25 164.27 4.82 109.95 7.2 6a3e3d3a65a46608b44d81f9e4621087-6s105_Iter35.cnf
2286.97 1.0 3273.23 0.7 2198.09 1.04 645.53 3.54 1588.88 1.44 599.93 3.81 292.77 7.81 6b0dfcfa8cf0c0564f17ec0a5434b5b9-ITC2021_Early_4.xml.cnf
980.0 1.0 372.41 2.63 333.66 2.94 318.81 3.07 254.84 3.85 244.37 4.01 229.0 4.28 6b630aa05142274d965c8fc019db511e-bmc_QICE_rxrsp_vld_30.cnf
462.67 1.0 8.71 53.12 165.93 2.79 32.51 14.23 13.56 34.12 4.86 95.28 6.34 72.98 6b7e3415d7bd20be605b1f9723c43d68-Carry_Bits_Fast_5.cnf.cnf
1105.22 1.0 359.31 3.08 51.05 21.65 222.02 4.98 64.06 17.25 88.98 12.42 74.09 14.92 6c34b7032712e16b08d97a0449d610e2-puzzle30_sat.cnf
4.21 1.0 0.28 15.25 0.3 13.89 0.38 11.2 0.31 13.71 0.4 10.55 0.39 10.74 6d815089fb4095208754622b4c44a8f7-Carry_Bits_Fast_12.cnf.cnf
1449.28 1.0 1318.29 1.1 1196.39 1.21 769.11 1.88 453.09 3.2 233.27 6.21 157.95 9.18 6dd57612dab7692b8c38225bb852ce36-hwmcc15deep-6s516r-k18-sc2017.cnf
4144.84 1.0 1276.39 3.25 839.69 4.94 158.61 26.13 5.04 823.04 52.3 79.25 16.31 254.18 6e1b970d637fca70d08b251766edade3-Nb8T61.cnf
3841.96 1.0 4379.57 0.88 3743.51 1.03 4468.06 0.86 3100.59 1.24 3289.06 1.17 2636.14 1.46 6e3015f2ce1f17e4f2b81dae06d73eec-gus-md5-11.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 6e3ba15d8b33f40738f7e7d7355799a5-SC22_Timetable_C_436_E_41_Cl_29_S_27.cnf
321.93 1.0 169.04 1.9 102.96 3.13 64.41 5.0 33.75 9.54 19.21 16.76 14.31 22.49 6f956a3f95ccaf35a3de1fe72b9cf79e-soelberg_unit_109.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 159.97 62.51 6fa8b4b7f4b059bd46913dbe741c0b94-mdp-36-11-sat.cnf
472.27 1.0 3010.33 0.16 344.24 1.37 159.47 2.96 238.73 1.98 41.34 11.42 20.51 23.02 6fb0757ee018642fedd0669aad3882fe-grid-color-12-14-10-cb.cnf
46.83 1.0 7.51 6.23 11.12 4.21 12.04 3.89 7.25 6.46 6.33 7.4 5.28 8.87 7016d1da3fdfe543de3b95f96a9ffe4c-summle_X8651_steps8_I1-2-2-4-4-8-25-100.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 7018eff980d8183192d7a309e508b320-grid-color-14-14-10-cb.cnf
175.27 1.0 293.37 0.6 84.52 2.07 20.75 8.45 18.36 9.55 17.3 10.13 33.92 5.17 70289686a242c8380ca26bda45ad1278-summle_X111104_steps6_I1-2-2-4-4-8-25-100.cnf
257.0 1.0 198.86 1.29 177.99 1.44 134.65 1.91 113.56 2.26 65.11 3.95 54.05 4.76 7101289c67f4c4ba117ad06ebb7d18a0-6s184.cnf
3104.58 1.0 1778.34 1.75 2405.7 1.29 778.8 3.99 1323.85 2.35 565.2 5.49 391.44 7.93 72329bc80f5f55dcc356a22f3f11ebec-GP_200_313_5.cnf
115.38 1.0 54.53 2.12 36.76 3.14 22.07 5.23 10.15 11.37 7.1 16.26 5.34 21.61 73ef1e87dbb7965ecb558e62dedb3a0c-SCPC-500-8.cnf
49.09 1.0 43.48 1.13 33.39 1.47 31.8 1.54 39.9 1.23 110.06 0.45 80.07 0.61 7703f7d1901ff09a0f177c52a1a7c107-linked_list_swap_contents_safety_unwind43.cnf
215.02 1.0 616.28 0.35 340.63 0.63 5.42 39.71 6.0 35.81 8.07 26.65 2.15 100.2 78a0e76b68b536e2ea7d801fc6061cd2-grid-color-12-14-14-cb.cnf
271.13 1.0 329.47 0.82 211.41 1.28 179.35 1.51 118.94 2.28 74.98 3.62 41.4 6.55 78cdffdf5bbb89beb753f9ffab7fa45f-sudoku-N30-6.cnf
1098.82 1.0 1152.27 0.95 589.76 1.86 190.78 5.76 140.85 7.8 107.13 10.26 59.37 18.51 7993005e2949524b293b216ed9c65126-cfi-rigid-s2-0064-03-or_2_shuffle_all.cnf
232.8 1.0 120.68 1.93 67.55 3.45 43.14 5.4 23.27 10.0 12.19 19.1 8.48 27.44 7a236bb9e1566b80fa7b593a7e973efa-SCPC-500-16.cnf
229.54 1.0 517.62 0.44 31.24 7.35 97.2 2.36 4.94 46.44 8.89 25.82 37.21 6.17 7a67847b81b414d659f005200cf56f6b-size_5_5_5_i198_r12.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 3439.28 2.91 1796.66 5.57 7ab6615515ffc5ceb8f6bd440d159c3d-pj2016_k80.cnf
35.93 1.0 24.23 1.48 17.25 2.08 11.75 3.06 5.55 6.48 4.7 7.65 4.57 7.86 7acf6cf25ddaf2ab98106e0bb3b9ddb1-af-synthesis_stb_50_140_3_sat.cnf
154.58 1.0 325.88 0.47 201.04 0.77 234.77 0.66 208.12 0.74 150.43 1.03 122.36 1.26 7adc1ade3384505af00ff8f7be23f5bd-ex175_20.cnf
11.76 1.0 19.12 0.62 21.04 0.56 20.31 0.58 19.11 0.62 23.96 0.49 21.02 0.56 7af73f846548141cc97b8a149a20bfbf-vlsat2_57038_10572502.dimacs.cnf
27.22 1.0 37.53 0.73 20.44 1.33 10.89 2.5 12.29 2.21 5.24 5.19 7.82 3.48 7b933d3e6b425772ed19eb0fec52bbf9-j3037_1_rggt_b.cnf
1180.64 1.0 313.02 3.77 288.11 4.1 121.96 9.68 99.78 11.83 90.59 13.03 77.67 15.2 7c15baa29f2228703e5161bfabd91773-reconf10_140_queen6_1.cnf
2198.71 1.0 1261.24 1.74 171.65 12.81 215.52 10.2 223.59 9.83 82.32 26.71 180.21 12.2 7c6a06895899eab7cb83b658898ac327-reconf10_145_queen6_2.cnf
2279.94 1.0 1059.76 2.15 305.51 7.46 34.43 66.21 165.79 13.75 139.28 16.37 72.32 31.52 7d2199baf2526263b5f753d290d2790b-md4__zeroOut_19__freeIn_23__seed_2.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 7d9025b2f7e76f783a4ae5e8c9bf8e5c-4d_euler_bricks.cnf
1247.41 1.0 961.61 1.3 799.32 1.56 588.12 2.12 374.28 3.33 232.96 5.35 159.05 7.84 7e5396d6b00b82c2fc0ea1d7c6505afd-manthey_single-ordered-initialized-w50-b7.cnf
10000 1.0 10000 1.0 10000 1.0 3689.57 2.71 2349.14 4.26 1344.62 7.44 780.31 12.82 7e9318578a6bdd7dfa9fc261be8a0839-PancakeVsSelectionSort_7_7.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 7edaa759315f3762eee756c5bb843599-SC22_Timetable_C_436_E_42_Cl_29_S_27.cnf
0.4 1.0 1.18 0.34 1.34 0.3 1.3 0.31 1.21 0.33 1.12 0.36 1.67 0.24 7efdf72de31fa82aeceb7acbc29a59bf-vlsat2_113_1150.cnf
31.03 1.0 56.19 0.55 20.22 1.53 20.3 1.53 29.8 1.04 20.69 1.5 21.78 1.42 7f09f477d319cd79821c80504aa06a6e-Break_16_56.xml.cnf
326.51 1.0 168.71 1.94 114.7 2.85 57.78 5.65 30.86 10.58 17.21 18.97 10.81 30.2 7f4d55b70c61ffc611a58e01d52c19bb-SCPC-500-11.cnf
2921.34 1.0 2632.36 1.11 1517.99 1.92 1235.23 2.37 809.21 3.61 697.95 4.19 431.06 6.78 7fe153ced2c966dcdeb42b6714b4d6b7-sudoku-N30-11.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 7ff8c9781b3ada449ce489cdf444a760-Break_unsat_10_15.xml.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 80023e9fd0e627f71c2d953432613b5f-hyp_cec_multi_4.cnf
30.14 1.0 32.89 0.92 18.44 1.63 10.36 2.91 6.53 4.61 6.94 4.34 4.99 6.05 807133f4461a11e39a390dfcf67a4fc6-summle_X11113_steps8_I1-2-2-4-4-8-25-100.cnf
2151.1 1.0 2457.93 0.88 1834.02 1.17 1598.5 1.35 751.63 2.86 365.46 5.89 115.86 18.57 810ce4a78bc01ddc5a043d95f9584f2f-005-80-12.cnf
288.03 1.0 124.01 2.32 77.52 3.72 27.1 10.63 15.89 18.13 10.27 28.04 8.81 32.7 81b674a2aa6fbda9b06cf8ea334ddc44-beempgsol2b1.cnf
10000 1.0 4084.54 2.45 2764.79 3.62 1852.89 5.4 1102.39 9.07 628.0 15.92 447.87 22.33 81e73c41a76d7b432cf86c43ffe23986-PancakeVsInsertSort_8_6.cnf
3632.09 1.0 2703.96 1.34 2029.94 1.79 1451.21 2.5 1047.28 3.47 814.06 4.46 531.18 6.84 85aa1f0820da17412b8ee803b4a85207-sudoku-N30-4.cnf
241.0 1.0 146.12 1.65 82.77 2.91 34.76 6.93 23.25 10.36 12.79 18.84 8.64 27.89 885c0d25480fe4db3cd5d3b4bc044e76-SCPC-500-17.cnf
364.93 1.0 245.01 1.49 247.07 1.48 129.12 2.83 49.42 7.38 46.3 7.88 21.54 16.94 889b6d29998ade866e64c46f807a98bc-6s320rb1_Iter9.cnf
99.52 1.0 214.79 0.46 190.12 0.52 48.06 2.07 184.81 0.54 141.0 0.71 117.01 0.85 88bfa72210baef40a2903d95044dc19d-linked_list_swap_contents_safety_unwind40.cnf
3860.82 1.0 10000 0.39 10000 0.39 10000 0.39 3042.14 1.27 857.25 4.5 1354.11 2.85 8aee61ed27bf700a548ca9c097203749-SAT_MS_sat_snake_p01.pddl_39.cnf
31.03 1.0 23.45 1.32 16.53 1.88 19.12 1.62 14.6 2.12 10.32 3.01 11.19 2.77 8bb5819a23a8f1dff851d608bec008ca-ITC2021_Late_6.xml.cnf
10000 1.0 0.11 87719.3 0.12 86206.9 0.12 82644.63 0.1 98039.22 0.06 169491.53 0.07 140845.07 8bfbffbfea9e5a5993bc024f39adff84-worker_40_80_40_0.85.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 8c0af30cc2a89e3fee97852633bed956-div_miter_lec_1.cnf
511.56 1.0 656.86 0.78 533.03 0.96 501.79 1.02 407.2 1.26 318.89 1.6 195.13 2.62 8c8b72ac19c0f93813b614a18abaf512-aws-encryption-sdk-c:aws_cryptosdk_keyring_trace_eq.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 8e659f42dd85a193fccc9cbbcc4627ed-sum_of_three_cubes_3_unknown_representation.cnf
10000 1.0 10000 1.0 4970.29 2.01 3183.75 3.14 10000 1.0 3103.71 3.22 1560.81 6.41 8efdd60faa21ddcace492bff0479408b-Break_triple_20_54.xml.cnf
3367.82 1.0 2276.31 1.48 2682.36 1.26 1456.9 2.31 1109.02 3.04 584.89 5.76 413.76 8.14 8f3d4a4fedf4689ae0e6df362478d551-PancakeVsSelectionSort_7_6.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 90add18e4ee4facb4f37737a9a2602cc-SC22_Timetable_C_436_E_40_Cl_29_S_27.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 90e839c4b05d4a7ac011435921551060-SC22_Timetable_C_436_E_43_Cl_29_S_27.cnf
565.74 1.0 101.3 5.59 220.89 2.56 49.94 11.33 173.89 3.25 190.33 2.97 159.78 3.54 90ec6ff35305fed1d9a87a3ecd87238b-linked_list_swap_contents_safety_unwind48.cnf
2471.08 1.0 10000 0.25 10000 0.25 10000 0.25 848.43 2.91 399.64 6.18 220.09 11.23 918ca8da0cbca88dcd34b0a6dec2b770-GP_100_950_32.cnf
58.09 1.0 27.2 2.14 17.92 3.24 11.54 5.03 8.2 7.08 4.7 12.37 3.74 15.52 920bbe559da4ea37fd636605316a791c-SCPC-500-19.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 925c82e25f5391fc2f1f7a4a9e093cec-6s186_Iter99.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 928436a6e8edbcde2d82504a85c88853-rphp_p90_r90.cnf
4124.23 1.0 10000 0.41 3591.59 1.15 637.95 6.46 716.1 5.76 431.17 9.57 256.34 16.09 93695f689b57cdb57c9b6d0d726e0f53-Break_triple_18_48.xml.cnf
115.1 1.0 25.66 4.48 17.99 6.4 12.81 8.99 13.4 8.59 6.46 17.83 5.93 19.4 95c00d0ae51d5d0a2a931ce82b77701f-af-synthesis_stb_50_140_0_sat.cnf
172.14 1.0 123.8 1.39 10.96 15.71 21.51 8.0 20.56 8.37 12.72 13.53 5.92 29.1 96f6aab24720f070a02e637f7252b482-grid-color-12-14-8-cb.cnf
10000 1.0 10000 1.0 4604.3 2.17 1935.18 5.17 470.32 21.26 962.42 10.39 812.72 12.3 98dbd257808e551fd26cad78ba520955-ITC2021_Late_2.xml.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 9954ccd77da65ad003b73bf38de3bd78-4d_perfect_euler_bricks.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 9cdf94203777c9f036f412bef1cc7c85-tseitin_n196_d3.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 2202.81 4.54 10000 1.0 9cea216ba8c5051e489af11150504ba6-Break_20_36.xml.cnf
957.81 1.0 847.82 1.13 939.31 1.02 673.48 1.42 543.94 1.76 411.64 2.33 341.58 2.8 9e35558ea8ffba630cd8c8f90e14af14-string_compare_safety_cbmc_unwinding_730.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 9f7ec7ef3a908c2e93b5553670a207b1-rphp_p14_r14.cnf
47.88 1.0 35.57 1.35 26.87 1.78 18.57 2.58 11.26 4.25 7.86 6.09 6.57 7.28 9f901378a6feabcc94019a018a70d42b-sin-mitern29.cnf
503.92 1.0 284.41 1.77 247.67 2.03 157.83 3.19 97.17 5.19 54.97 9.17 38.13 13.22 a09b0e7764666af044fa7e63dd7e7aef-PancakeVsSelectionSort_8_3.cnf
2173.9 1.0 1091.07 1.99 768.15 2.83 560.47 3.88 379.82 5.72 330.46 6.58 319.53 6.8 a0e98fd44b74e6f255ca1e5a20bc01fd-cfi-rigid-d3-0180-02-orig.cnf
42.16 1.0 24.7 1.71 18.2 2.32 9.8 4.3 6.83 6.18 4.87 8.66 4.53 9.32 a1158a2d8c8a1c6da02c2c4fcb32337f-6s158_Iter2.cnf
71.15 1.0 53.14 1.34 57.95 1.23 53.18 1.34 43.61 1.63 34.72 2.05 28.93 2.46 a130a3f95891daed1bfd71c77bd2d8a1-SAT_dat.k80.cnf
1203.01 1.0 760.86 1.58 519.11 2.32 343.65 3.5 201.39 5.97 123.47 9.74 78.14 15.4 a2609893b71f219f4635d33ef1ff6eca-j3045_4_gmto_bm1.cnf
10000 1.0 10000 1.0 3329.41 3.0 2450.03 4.08 1364.33 7.33 734.97 13.61 521.68 19.17 a2bdae1f9d9695e8cf80cfbbd5f7d61f-PancakeVsSelectionSort_8_4.cnf
123.25 1.0 67.83 1.82 42.73 2.88 25.05 4.92 14.41 8.55 7.7 16.01 5.74 21.46 a33d32bb816c0da62c7d946c18286a0d-SCPC-500-2.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 2988.93 3.35 a42230be4432b010789b6f97b090343c-soelberg_unit_223.cnf
1531.7 1.0 0.03 49409.68 0.04 38292.5 0.05 31259.18 0.04 39274.36 0.03 56729.63 0.04 40307.89 a4451734e7f5f2ce7b481688a693c4e9-worker_20_20_16_0.9.cnf
10000 1.0 10000 1.0 530.89 18.84 216.64 46.16 1392.52 7.18 493.37 20.27 270.67 36.95 a44fce1796383ea31df08af3b0f65db3-soelberg_unit_159.cnf
563.37 1.0 381.71 1.48 91.15 6.18 334.01 1.69 163.47 3.45 102.77 5.48 54.36 10.36 a4bffff28417d6b4d72f7b9122988ba5-reconf10_68_queen15_2.cnf
476.09 1.0 81.48 5.84 75.92 6.27 76.5 6.22 68.17 6.98 78.6 6.06 76.0 6.26 a58badecf3c901594f06d021f54c3a11-aws-c-common:aws_priority_queue_s_sift_either.cnf
90.38 1.0 97.73 0.92 78.33 1.15 79.46 1.14 82.03 1.1 65.16 1.39 60.94 1.48 a5e0082efb1da4dabaa165c2bda5f85e-linked_list_swap_contents_safety_unwind41.cnf
79.97 1.0 51.95 1.54 38.4 2.08 25.41 3.15 17.26 4.63 11.87 6.74 9.4 8.5 a65dfd8b3468d202ff3ba8731018622e-j3037_10_gmto_bm1.cnf
223.06 1.0 141.46 1.58 95.17 2.34 46.15 4.83 33.37 6.68 15.65 14.25 11.53 19.34 a7aac5c83f236fd8b3de3275e3f5499d-edit_distance041_183.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 a7b23445c21b27eb3c918c1e96ba25df-hyp_cec_multi_1.cnf
596.52 1.0 693.51 0.86 640.88 0.93 669.13 0.89 631.85 0.94 886.77 0.67 830.49 0.72 a7cb2567e1f5b7ec2f4ba09931e29b96-s2n:s2n_stuffer_write_base64.cnf
650.13 1.0 612.12 1.06 414.96 1.57 283.34 2.29 175.67 3.7 134.4 4.84 105.6 6.16 aa4638ca3654f1a300c809125a3133ee-6s22_Iter57.cnf
4004.83 1.0 877.31 4.56 358.01 11.19 83.49 47.97 157.43 25.44 66.37 60.34 16.52 242.48 aad5bbe8920c5afc84068bb1da27ee8f-LABS_n041_goal003.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 ab660e179140ea816eca23098fd50078-sum_of_three_cubes_33_unknown_representation.cnf
250.73 1.0 111.4 2.25 97.1 2.58 111.91 2.24 80.34 3.12 67.55 3.71 48.19 5.2 ac6256657058fe65dc7ddaf773ab83bf-SC21_Timetable_C_527_E_71_Cl_35_S_35.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 4245.25 2.36 2542.01 3.93 ae5f6e83a289d226a353efd95b663717-6s22_Iter99.cnf
351.17 1.0 260.44 1.35 207.83 1.69 188.62 1.86 143.9 2.44 80.88 4.34 36.68 9.57 af63ce577d1fea121ba80b4b1d148f0c-sudoku-N30-22.cnf
10000 1.0 10000 1.0 4485.58 2.23 1459.81 6.85 10000 1.0 913.88 10.94 525.14 19.04 af834fd3ce15078d2ab055c996758c00-sum_of_three_cubes_33_known_representation.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 b043968ec004b4ac19eb31926c24d22c-mdp-36-11-unsat.cnf
73.7 1.0 3.56 20.7 32.41 2.27 1.1 66.7 0.98 75.2 3.36 21.91 1.41 52.27 b1c44904cf06682f973b60c8282f45e8-mp1-squ_ali_s10x10_c39_bail_SAT.cnf
10000 1.0 10000 1.0 10000 1.0 1998.55 5.0 1876.21 5.33 2024.63 4.94 205.9 48.57 b24684abee2e253a4aee233eed155a5b-GP_100_948_34.cnf
1550.19 1.0 1355.44 1.14 1408.12 1.1 1242.76 1.25 1145.9 1.35 794.39 1.95 615.16 2.52 b29cb3449d70126d186e1f6a4fccc419-pj2015_k9.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 b2bcdd97e7d0ca8858b412eb34b26ba9-hyp_cec_multi_5.cnf
341.31 1.0 352.13 0.97 322.02 1.06 250.18 1.36 239.13 1.43 177.01 1.93 143.3 2.38 b344f80cef9889d952c76736d0ad92d9-9dlx_vliw_at_b_iq6.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 b3828c92f2c77f8d7581570685679d76-sin_depth_miter_8.cnf
878.82 1.0 867.14 1.01 595.47 1.48 536.68 1.64 389.11 2.26 308.0 2.85 262.09 3.35 b3cf73d0383f781adf09a2192fa03a15-string_compare_safety_cbmc_unwinding_670.cnf
71.47 1.0 8.06 8.87 7.86 9.09 1.89 37.83 4.4 16.25 3.56 20.08 1.9 37.66 b51583e32432c5778c7e3e996c3bfeba-sqrt_ineq_3.c.cnf
927.2 1.0 168.94 5.49 102.59 9.04 164.1 5.65 148.8 6.23 75.17 12.33 70.31 13.19 b88d206fb35ef87bd7ec5d4a1430ae0c-20-100-p100-55_sat.cnf
10000 1.0 0.15 68493.15 0.16 64102.56 0.23 44247.79 0.19 53191.49 0.1 103092.78 0.11 90090.09 b8d10f8c82a85c03c000fbd005e5a838-worker_50_150_40_0.85.cnf
219.1 1.0 581.78 0.38 8.13 26.93 169.95 1.29 36.06 6.08 14.31 15.31 3.56 61.61 b8e3b884886922343f5cb72d92c24b97-frb75-13-2.used-as.sat04-878.cnf
583.09 1.0 630.4 0.92 540.52 1.08 456.47 1.28 416.62 1.4 576.57 1.01 366.22 1.59 b8f9b018d16835c564dcd8395118c79f-aws-encryption-sdk-c:aws_cryptosdk_priv_hdr_parse_alg_id.cnf
220.79 1.0 219.84 1.0 222.37 0.99 152.71 1.45 151.07 1.46 82.63 2.67 43.85 5.04 b913c17d26ac9f3ad15fa83dc98960c7-sudoku-N30-27.cnf
89.23 1.0 46.12 1.93 25.73 3.47 16.22 5.5 8.84 10.1 5.68 15.7 4.73 18.88 b96071f89fa1b1670b8375010b1dd42b-SCPC-500-9.cnf
1180.26 1.0 802.72 1.47 590.86 2.0 334.24 3.53 201.53 5.86 111.49 10.59 76.56 15.42 b962abe508e5a677dbce14056111b48b-j3037_1_rggt_bm1.cnf
442.99 1.0 3.5 126.64 120.49 3.68 1.25 355.24 0.91 488.41 1.48 299.72 1.3 340.76 ba8621490e4e7212fffdb55fb6bd282d-combined-crypto1-wff-seed-108-wffvars-500-cryptocplx-31-overlap-2.cnf
1068.13 1.0 760.07 1.41 502.39 2.13 339.6 3.15 217.87 4.9 135.27 7.9 101.74 10.5 bb0613595001749a0ada02f2da85bc89-PancakeVsInsertSort_7_7.cnf
22.67 1.0 19.61 1.16 18.3 1.24 12.93 1.75 10.71 2.12 7.67 2.95 7.74 2.93 bb80971144a5423532aea9424dade891-div-mitern174.cnf
52.7 1.0 131.65 0.4 58.8 0.9 22.29 2.36 15.86 3.32 8.59 6.14 12.33 4.28 bc16508e3f279bec0a072b939bbe6440-af-synthesis_stb_50_40_2_sat.cnf
346.01 1.0 196.66 1.76 133.12 2.6 88.65 3.9 48.45 7.14 27.98 12.37 20.45 16.92 bcb2104a3558d87ac3b2107c10d54648-mp1-blockpuzzle_5x12_s6_free3.cnf
1354.38 1.0 789.81 1.71 598.11 2.26 346.11 3.91 167.92 8.07 94.41 14.35 63.25 21.41 bd5bc8b7711b75f3cd3ad935bf000659-af-synthesis_stb_50_20_8_unsat.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 be2b20414899ed839ac14bf8b9365692-pj2016_k140.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 621.32 16.09 310.7 32.19 247.64 40.38 c0d927c372e355081aa1f537cc910843-GP_100_948_32.cnf
62.41 1.0 32.11 1.94 19.22 3.25 12.45 5.01 7.52 8.3 5.22 11.96 3.75 16.66 c0df94532b1ca8a705d3af05378f377d-SCPC-500-20.cnf
58.56 1.0 39.29 1.49 36.41 1.61 20.12 2.91 16.12 3.63 10.8 5.42 9.34 6.27 c1b30b4e03c3024ad9d084e29e79aa46-BubbleVsPancakeSort_6_6.cnf
1.54 1.0 3.78 0.41 2.1 0.73 1.82 0.85 0.93 1.65 1.4 1.1 0.95 1.61 c1cb62f85f0c6a29c5d3c47d25fbc24a-Carry_Bits_Fast_23.cnf.cnf
2849.43 1.0 2024.69 1.41 1333.65 2.14 864.47 3.3 488.57 5.83 370.75 7.69 271.03 10.51 c221c5dc006de79e561124dab52aae82-mdp-28-12-unsat.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 c23aed727ae2d9cbb888d771991995aa-tseitin_grid_n16_m16.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 c2596b3f0d779d532a667962b1e54b42-pj2008_k300.cnf
10000 1.0 1696.49 5.89 1168.4 8.56 909.55 10.99 313.44 31.9 332.28 30.1 266.77 37.49 c2828483a78420f9a90e3ed9728c06cc-GP_100_951_37.cnf
474.46 1.0 456.27 1.04 395.83 1.2 335.38 1.41 371.58 1.28 358.85 1.32 303.99 1.56 c2894b8d82492f03bb73bbc65896c016-aws-c-common:aws_priority_queue_s_remove_node.cnf
4036.0 1.0 2854.47 1.41 2209.21 1.83 368.35 10.96 309.8 13.03 217.97 18.52 201.87 19.99 c2f827691e524e272d21de55b3749877-GP_100_951_35.cnf
10000 1.0 10000 1.0 2388.33 4.19 1650.13 6.06 483.32 20.69 307.06 32.57 227.76 43.91 c33dc89922f1ddea4e7eeddafe4143b3-reconf20_20_grid10_1_6141.cnf
3224.44 1.0 2163.6 1.49 1611.32 2.0 980.19 3.29 685.12 4.71 433.93 7.43 366.8 8.79 c3b4a96d92da617218449abad4334d6d-div-mitern164.cnf
282.16 1.0 252.83 1.12 204.04 1.38 197.79 1.43 168.49 1.67 133.32 2.12 78.78 3.58 c3de1f05d136b8ec420732ca829f3217-corePKCS11:C_CreateObject.cnf
383.71 1.0 95.18 4.03 175.58 2.19 44.83 8.56 43.69 8.78 10.35 37.08 2.52 152.15 c5be40965caf3abdba3994ff3d1f32b6-grid-color-12-14-4-cb.cnf
10000 1.0 4045.99 2.47 1240.3 8.06 761.32 13.14 500.15 19.99 271.14 36.88 94.59 105.72 c846dfb21b50596aef8fbe5591d75eb0-UNSAT_MS_opt_snake_p20.pddl_29.cnf
900.38 1.0 514.33 1.75 311.58 2.89 380.18 2.37 251.21 3.58 454.22 1.98 301.74 2.98 c98459d6a1763d809729e276b9c4cbbd-linked_list_swap_contents_safety_unwind74.cnf
451.72 1.0 416.16 1.09 219.97 2.05 139.44 3.24 92.57 4.88 43.25 10.44 28.12 16.07 c9886f58320a360adbc8db9470563bea-ctl_4291_567_12_unsat.cnf
462.41 1.0 712.94 0.65 351.59 1.32 250.25 1.85 162.14 2.85 65.53 7.06 52.58 8.79 ca6db14aaa04027d2b8af47ec910bd68-cfi-rigid-s2-0064-04-or_2.cnf
114.98 1.0 54.93 2.09 32.75 3.51 21.74 5.29 12.22 9.41 6.19 18.58 5.24 21.96 cac1c09f968ef8654c499156d1292385-SCPC-500-18.cnf
10000 1.0 0.04 243902.44 0.05 196078.43 0.06 166666.67 0.08 125000.0 0.03 333333.33 0.05 208333.33 cb3c725fd30d50c6785b907054194260-worker_40_40_30_0.9.cnf
185.3 1.0 128.48 1.44 112.98 1.64 139.83 1.33 94.68 1.96 64.49 2.87 68.43 2.71 cb8f9ffb66d9b5ef663e6759be0b5e4e-q_query_3_L200_coli.sat.cnf
10000 1.0 0.06 169491.53 0.07 140845.07 0.07 136986.3 0.08 131578.95 0.04 232558.14 0.06 172413.79 cbd7e28e510e658abbbe312bdffc6407-worker_50_50_50_0.85.cnf
68.57 1.0 156.94 0.44 14.94 4.59 19.43 3.53 62.45 1.1 4.31 15.92 12.35 5.55 ccb55d1b802617fcb969e12859d66124-g2-mizh-md5-48-2.cnf
876.79 1.0 58.02 15.11 58.53 14.98 148.49 5.9 228.86 3.83 124.65 7.03 83.69 10.48 cd1585619fea2f2634525a3663873764-linked_list_swap_contents_safety_unwind55.cnf
285.62 1.0 252.84 1.13 239.82 1.19 199.06 1.43 148.84 1.92 124.94 2.29 98.43 2.9 cd361d33986dccd7f2d86016d6c35241-ecarev-110-4099-22-30-7.cnf
509.17 1.0 648.14 0.79 272.1 1.87 255.71 1.99 96.0 5.3 39.14 13.01 7.63 66.76 cd36b290c27ed9bafedfb2ca88469f01-mdp-28-12-sat.cnf
76.76 1.0 8.29 9.26 16.18 4.74 3.33 23.05 1.97 38.98 10.41 7.37 1.66 46.35 cd72a64e1b857fd30b9ec831cf462bf1-mp1-21.7.cnf
409.76 1.0 1817.18 0.23 1539.95 0.27 400.01 1.02 212.61 1.93 447.97 0.91 100.26 4.09 cd7c8f8aa9901293a9bc31839eafcc40-reconf10_42_queen20_4_0961.cnf
3184.22 1.0 1872.35 1.7 1119.35 2.84 667.64 4.77 349.04 9.12 179.7 17.72 113.54 28.04 cda0871abcaa41bb403207731bd24fe5-af-synthesis_stb_50_100_4_unsat.cnf
160.21 1.0 152.23 1.05 93.15 1.72 50.65 3.16 30.05 5.33 15.52 10.33 14.39 11.13 cdcdc78497a72d622493b1bac4f0f28b-reconf20_26_3-FullIns_4_1.cnf
273.52 1.0 30.75 8.9 12.27 22.3 12.57 21.76 15.1 18.12 4.53 60.42 8.12 33.67 ce32731c73701c2ac2bed5341b6ae3ca-mp1-9_27.cnf
2.8 1.0 0.4 7.0 0.43 6.54 0.37 7.63 0.35 7.91 0.42 6.65 0.41 6.81 ce4345ce697134021029c2686d5eb04c-Carry_Save_Fast_3.cnf.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 cf194dbcba619ea53edb4170c056ac5b-grid-color-14-14-14-cb.cnf
88.97 1.0 136.79 0.65 63.28 1.41 83.16 1.07 26.68 3.34 38.83 2.29 20.22 4.4 cfa14a7015b0f7fecd98e898f3c95896-velev-vliw-sat-4.0-b8.cnf
34.25 1.0 34.65 0.99 20.73 1.65 35.37 0.97 22.05 1.55 8.61 3.98 5.43 6.3 d065d395159d19735706e0b5cb823f17-af-synthesis_stb_50_20_8_sat.cnf
107.87 1.0 97.49 1.11 240.77 0.45 92.2 1.17 118.36 0.91 103.25 1.04 97.66 1.1 d0ee45ac97c6b5cc63a528f46a5797aa-linked_list_swap_contents_safety_unwind44.cnf
86.23 1.0 151.06 0.57 53.42 1.61 58.54 1.47 68.08 1.27 63.83 1.35 44.61 1.93 d1a4dc04e54d4fa58dfbbf61bd2415b4-SC22_Timetable_C_451_E_50_Cl_30_S_28.cnf
76.37 1.0 59.58 1.28 57.22 1.33 61.83 1.24 59.85 1.28 58.46 1.31 50.0 1.53 d1dbf88a58406c931fd696267ed8159e-s2n:s2n_stuffer_private_key_from_pem.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 d1f5c3af78f13f39595288976115d7d3-3d_perfect_euler_bricks.cnf
10000 1.0 0.0 2500000.0 0.01 1428571.43 0.02 476190.48 0.02 454545.45 0.0 3333333.33 0.01 1428571.43 d21199e73859ca35386912c5c475d6c7-tseitin_n192_d3.cnf
52.45 1.0 123.14 0.43 45.37 1.16 14.8 3.54 14.09 3.72 12.36 4.24 16.77 3.13 d32a1553afeebf44835370c9567b3598-cfi-rigid-t2-0048-01-or_3_shuffle_all.cnf
54.22 1.0 11.0 4.93 11.98 4.53 4.83 11.22 3.04 17.86 7.96 6.81 5.76 9.41 d3c07914f3ebb42906b986aa431243af-summle_X8646_steps8_I1-2-2-4-4-8-25-100.cnf
1341.2 1.0 1622.48 0.83 1280.54 1.05 1028.41 1.3 912.07 1.47 671.72 2.0 517.84 2.59 d3c22bb79a638adc35682226f35e3bc4-pj2003_k9.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 d40af7b45bba9c64033c0dd47b07f4a4-mdp-36-16-sat.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 2885.78 3.47 1629.72 6.14 d518d21a9d851741940749cb59f558af-rphp_p6_r28.cnf
243.36 1.0 195.82 1.24 84.02 2.9 184.94 1.32 96.65 2.52 74.98 3.25 100.95 2.41 d60f78323b957025e55ca528d641b83b-SC22_Timetable_C_451_E_48_Cl_30_S_27.cnf
354.35 1.0 231.06 1.53 28.33 12.51 80.39 4.41 21.25 16.67 20.41 17.36 23.89 14.83 d6947217ad779e1175c716cca42525c6-summle_X111113_steps7_I1-2-2-4-4-8-25-100.cnf
317.62 1.0 214.1 1.48 173.41 1.83 97.34 3.26 76.67 4.14 50.72 6.26 35.8 8.87 d6c845a5f92ebc059b3f0ab2f6d395ed-cfi-rigid-z2-0088-02-or_2_shuffle_all.cnf
641.16 1.0 481.75 1.33 417.25 1.54 334.15 1.92 249.61 2.57 170.56 3.76 144.31 4.44 d702aa8568706efda8308ef8d24f907b-div-mitern167.cnf
3355.18 1.0 3200.06 1.05 1985.64 1.69 1057.86 3.17 887.65 3.78 669.01 5.02 387.61 8.66 d7039acbd2f060fe1e32a273b07c2c77-sudoku-N30-29.cnf
147.34 1.0 256.76 0.57 144.2 1.02 67.89 2.17 42.38 3.48 31.71 4.65 24.72 5.96 d78819115db81dee343d7777fbc5844f-cfi-rigid-s2-0064-02-or_2.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 d79e09d2a1639a01528c0703df4d4946-pj2008_k400.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 d7f273dc6e97efe55c8b7f9cc547eb2d-sin_depth_miter_1.cnf
250.38 1.0 316.91 0.79 305.66 0.82 185.82 1.35 171.57 1.46 118.3 2.12 92.74 2.7 d8602e623f87dd33f4a1a69ee42d15be-reconf20_50_grid10_3_6844.cnf
0.7 1.0 0.58 1.2 0.7 1.0 0.61 1.15 0.61 1.14 0.49 1.43 0.36 1.92 d87714e099c66f0034fb95727fa47ccc-Wallace_Bits_Fast_2.cnf.cnf
7.4 1.0 917.68 0.01 633.11 0.01 291.78 0.03 322.52 0.02 187.62 0.04 129.9 0.06 d892eb7b3b3a44192ee639e222eee058-reconf10_99_Ins_3_1.cnf
980.97 1.0 873.63 1.12 836.26 1.17 238.63 4.11 149.64 6.56 120.36 8.15 73.57 13.33 d8bb23406e76bf5a4b7a6edba8784a74-Lab-Project-FreeRTOS-Cellular-Library:Cellular_ATRemoveTrailingWhiteSpaces.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 2842.38 3.52 1720.63 5.81 1180.52 8.47 d90c519010bfda89d1626c0321a55a64-j3045_10_gmto_bm1.cnf
44.28 1.0 24.32 1.82 21.45 2.06 25.28 1.75 24.56 1.8 15.94 2.78 16.01 2.77 d9e9100c382d44fb67af82f8d69814f1-cfi-rigid-t2-0048-03-or_3_shuffle_all.cnf
10000 1.0 104.44 95.74 10000 1.0 940.39 10.63 1147.21 8.72 318.16 31.43 57.95 172.57 dcac26e190c906c61ac7222d6d4628c7-grid-color-14-14-12-cb.cnf
536.34 1.0 304.23 1.76 320.22 1.67 477.15 1.12 455.56 1.18 447.37 1.2 220.17 2.44 dd0196aee30d0a83b6fe8bc7eba01806-aws-encryption-sdk-c:aws_cryptosdk_priv_hdr_parse_iv.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 ddc7ca4c5dcb102a3ecc63721498f746-SC22_Timetable_C_436_E_39_Cl_29_S_27.cnf
638.22 1.0 201.91 3.16 159.45 4.0 130.54 4.89 88.83 7.19 404.1 1.58 140.63 4.54 ddcb0cd9b7bca43c3a5189326ae88aab-linked_list_swap_contents_safety_unwind71.cnf
10000 1.0 10000 1.0 10000 1.0 4483.16 2.23 2019.06 4.95 1165.38 8.58 603.37 16.57 e011c703e4a2ff46069ec2af2997b580-sin_depth_miter_6.cnf
875.41 1.0 197.17 4.44 164.66 5.32 103.7 8.44 58.62 14.93 45.87 19.08 31.09 28.16 e01c39b7b41c9ff1621579b747254fab-ncc_none_3001_7_3_3_1_31_435991723.cnf
103.59 1.0 63.81 1.62 55.14 1.88 42.22 2.45 29.35 3.53 17.19 6.03 13.26 7.81 e02e21075d3bb8b0e64ea9b8122c75ff-PancakeVsInsertSort_6_7.cnf
24.56 1.0 50.71 0.48 19.6 1.25 6.7 3.66 34.03 0.72 3.08 7.98 7.69 3.19 e0b938c32e36e2939d712dd4024f9ec6-j3037_9_mdd_b.cnf
58.08 1.0 31.91 1.82 26.37 2.2 19.8 2.93 10.58 5.49 11.53 5.04 9.47 6.13 e28cf003c086c99f3a3d9a90aebf8ed1-intel046_Iter124.cnf
10000 1.0 0.21 48076.92 0.16 63291.14 0.19 52356.02 0.16 64102.56 0.11 94339.62 0.11 89285.71 e4128445a07bb86afca1f3590d9adfa9-worker_80_80_80_0.8.cnf
1955.81 1.0 33.47 58.44 31.59 61.91 38.12 51.31 28.4 68.86 22.84 85.63 22.53 86.8 e436f6303d3f499969eafe05b0914a4b-bmc_QICE_snp_vld_50.cnf
3342.21 1.0 10000 0.33 1855.24 1.8 1245.83 2.68 897.21 3.73 655.03 5.1 456.73 7.32 e47567e16e4aeb4d8f3806dfbfdfd646-sudoku-N30-8.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 e4f345877ba5fa2b8fb26be06a123748-rphp_p105_r105.cnf
553.18 1.0 420.48 1.32 218.07 2.54 133.73 4.14 81.1 6.82 51.58 10.73 36.14 15.31 e55a49d8065d65650f24c0f3ecef30b6-af-synthesis_stb_50_120_4_unsat.cnf
2558.87 1.0 10000 0.26 4886.45 0.52 2381.53 1.07 1826.36 1.4 1826.86 1.4 992.23 2.58 e5f5dbace0183455d167a88100312c34-Nb52T6.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 e6f793931983295561620a027d9b3e95-mdp-36-14-unsat.cnf
136.3 1.0 130.04 1.05 122.11 1.12 98.21 1.39 85.41 1.6 53.07 2.57 41.27 3.3 e7c0d40392681b1a55d5d3c826a26766-reconf20_116_le450_25c_1.cnf
17.08 1.0 2.91 5.88 1.85 9.21 2.07 8.26 3.37 5.06 1.76 9.71 1.78 9.6 e7cd2c407974b35fa97f8e64a691bfa0-j3037_10_gmto_b.cnf
0.79 1.0 15.96 0.05 17.73 0.04 20.71 0.04 18.96 0.04 13.71 0.06 14.61 0.05 e85b6cb3e2751d5c80559433ba1adf06-vlsat2_24450_2770239.dimacs.cnf
10.8 1.0 74.06 0.15 36.1 0.3 18.84 0.57 17.47 0.62 19.67 0.55 12.69 0.85 e8d9e3a985463b8e4f45b6e09b77bf6c-cfi-rigid-t2-0048-02-or_3_shuffle_all.cnf
91.12 1.0 380.37 0.24 65.77 1.39 714.27 0.13 116.86 0.78 43.06 2.12 47.11 1.93 e97ebde59cb17ef6f7c4430224b21ed1-grid-color-14-14-8-cb.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 215.81 46.34 2309.55 4.33 e992a45933d191dc4fbe8cc4836109f8-sum_of_three_cubes_165_known_representation.cnf
2.61 1.0 0.94 2.76 0.86 3.04 1.2 2.17 1.07 2.44 1.21 2.16 0.85 3.08 e99ce61fe251b404ec85f6246fd4bb19-Wallace_Bits_Fast_7.cnf.cnf
8.18 1.0 120.34 0.07 18.89 0.43 23.22 0.35 2.21 3.7 2.39 3.42 2.03 4.03 e9b4369f9a98e397ac69eb7740ffef49-Carry_Save_Fast_2.cnf.cnf
200.09 1.0 82.47 2.43 28.82 6.94 50.71 3.95 8.27 24.2 17.14 11.68 6.21 32.24 ea8a79747c7ab142a897b7e8e638245f-j3045_4_mdd_b.cnf
89.82 1.0 148.07 0.61 109.84 0.82 71.35 1.26 87.68 1.02 124.68 0.72 166.22 0.54 eb659cd21250abdc8c9cec49073c32c6-linked_list_swap_contents_safety_unwind59.cnf
1181.91 1.0 10000 0.12 319.97 3.69 529.13 2.23 75.35 15.68 162.35 7.28 33.91 34.86 eb8a25e0db5d0605e3e15670f7a07f27-grid-color-14-14-2-cb.cnf
841.78 1.0 937.37 0.9 872.92 0.96 644.48 1.31 881.8 0.95 1072.76 0.78 714.9 1.18 ed410c758e5025f1bb97922574d1c2ff-reconf10_86_sp003_1.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 ed6920e7126f57daabfb85415607fdb5-sum_of_three_cubes_906_unknown_representation.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 ee06244cc0ed073bd6abf147dc27eff6-pj2016_k120.cnf
10000 1.0 0.0 2500000.0 0.0 2500000.0 0.0 2500000.0 0.0 2500000.0 0.04 222222.22 0.01 1428571.43 eede03732955f620b5291f9dcf9f95df-tseitin_n200_d3.cnf
3562.36 1.0 10000 0.36 3035.81 1.17 1071.51 3.32 806.54 4.42 431.88 8.25 275.18 12.95 efc1b836380d0f84e7512f7b2ccdbb60-PancakeVsInsertSort_8_5.cnf
10000 1.0 10000 1.0 1253.51 7.98 2687.45 3.72 350.5 28.53 155.64 64.25 289.26 34.57 f0f279c7d5043e783f73237cf6bddf33-Break_triple_20_72.xml.cnf
523.27 1.0 475.2 1.1 428.27 1.22 232.78 2.25 331.42 1.58 112.41 4.65 186.49 2.81 f1afd5e8d4b842c15c6a2c420b2b2dba-pj2018_k10.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 f1b3d254596523910f3af07fc1942e64-Break_unsat_12_19.xml.cnf
212.02 1.0 46.86 4.52 9.74 21.77 16.85 12.58 16.55 12.81 6.5 32.59 5.22 40.58 f2a73aa514c859c91db462e1e2a1315b-af-synthesis_stb_50_140_1_sat.cnf
1603.17 1.0 10000 0.16 1179.14 1.36 994.16 1.61 475.34 3.37 185.93 8.62 89.4 17.93 f5f1d6a47ed7449a18d872a3f93d8aa5-GP_120_400_15.cnf
1936.25 1.0 1902.26 1.02 875.55 2.21 558.31 3.47 421.69 4.59 198.9 9.73 123.71 15.65 f64806fd4fe79f1efaefa7ce68d93ee1-sin_depth_miter_4.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 4641.61 2.15 f8a966a2ba189ad5fa45f870f3c5e200-sudoku-N30-7.cnf
917.53 1.0 529.37 1.73 354.05 2.59 216.06 4.25 145.52 6.31 82.77 11.09 60.12 15.26 f8ad493b11bf0692c1f3919642cebdb1-PancakeVsInsertSort_9_3.cnf
255.92 1.0 65.68 3.9 26.92 9.51 10.91 23.47 21.72 11.78 8.5 30.12 5.6 45.7 f8b7241f662ab4d36337b74bb7984122-summle_X111119_steps7_I1-2-2-4-4-8-25-100.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 2669.11 3.75 2069.66 4.83 f9dd957b2f5940a3e3adaa2eeaaba011-mdp-36-12-sat.cnf
26.67 1.0 21.11 1.26 25.28 1.06 25.68 1.04 39.53 0.67 38.35 0.7 20.05 1.33 fa88b447f6b41b04686085480678affe-UNSAT_H_instances_childsnack_p12.hddl_1.cnf
24.65 1.0 38.21 0.65 27.62 0.89 23.38 1.05 21.34 1.16 21.83 1.13 14.45 1.71 fb5cf4ad3c46dd294eb8253218524ba6-cfi-rigid-r2-0072-01-or_3.cnf
2311.32 1.0 10000 0.23 1835.91 1.26 723.08 3.2 379.18 6.1 216.37 10.68 223.39 10.35 fbf3b9f8a03a1efedae3da04622fe96e-sqrt-mitern168.cnf
10000 1.0 91.48 109.32 398.73 25.08 44.17 226.4 1.75 5717.55 21.02 475.62 1.82 5485.46 fca7a5a04aaed5f0eacccc4139dc894a-satcoin-genesis-SAT-8192.cnf
110.87 1.0 233.08 0.48 91.77 1.21 47.43 2.34 31.84 3.48 20.91 5.3 6.15 18.04 fdfd5975c57d7cd2264ef6aff6cb4815-SE_PR_stb_588_138.apx_1.cnf
105.2 1.0 74.86 1.41 65.75 1.6 51.74 2.03 35.95 2.93 25.42 4.14 24.75 4.25 fe800e62b55609cb152965c223e72280-div-mitern171.cnf
10000 1.0 10000 1.0 313.91 31.86 328.06 30.48 351.02 28.49 496.23 20.15 233.31 42.86 fe96b630b3e761821308b544368dd521-GP_100_950_34.cnf
2900.94 1.0 3174.93 0.91 333.56 8.7 380.82 7.62 21.28 136.31 25.7 112.86 40.78 71.13 fec4ba2cf2416933dcf7b8153be97344-bz-X-4-7-6.cnf
200.07 1.0 86.51 2.31 92.66 2.16 12.16 16.45 12.59 15.89 9.37 21.35 9.05 22.11 fee70cede2b5b55bfbdb6e48fbe7ce4f-DLTM_twitter690_74_16.cnf
10000 1.0 0.06 156250.0 0.06 156250.0 0.05 204081.63 0.06 156250.0 0.04 227272.73 0.04 227272.73 ff3be72b9f5f44036875aa48f5434456-worker_20_60_20_0.9.cnf
755.88 1.0 68.79 10.99 71.44 10.58 51.23 14.76 30.11 25.1 6.28 120.46 11.66 64.84 fff3f8c76467cdf9d92689969fd94281-mod2c-rand3bip-sat-240-2.shuffled-as.sat05-2519.cnf

173
testLight/speedsat.txt Normal file
View File

@ -0,0 +1,173 @@
200.09 1.0 82.47 2.43 28.82 6.94 50.71 3.95 8.27 24.2 17.14 11.68 6.21 32.24 ea8a79747c7ab142a897b7e8e638245f-j3045_4_mdd_b.cnf
2198.71 1.0 1261.24 1.74 171.65 12.81 215.52 10.2 223.59 9.83 82.32 26.71 180.21 12.2 7c6a06895899eab7cb83b658898ac327-reconf10_145_queen6_2.cnf
10000 1.0 10000 1.0 530.89 18.84 216.64 46.16 1392.52 7.18 493.37 20.27 270.67 36.95 a44fce1796383ea31df08af3b0f65db3-soelberg_unit_159.cnf
23.13 1.0 10.15 2.28 2.87 8.06 2.69 8.58 3.72 6.22 2.27 10.2 1.85 12.52 5c5fa629c2c62723eb2d3388db264521-Wallace_Bits_Fast_3.cnf.cnf
780.48 1.0 271.76 2.87 14.46 53.96 93.5 8.35 52.61 14.83 10.44 74.74 9.11 85.7 5601a7e094f61f3c5af461300c25243f-summle_X111107_steps8_I1-2-2-4-4-8-25-100.cnf
2471.08 1.0 10000 0.25 10000 0.25 10000 0.25 848.43 2.91 399.64 6.18 220.09 11.23 918ca8da0cbca88dcd34b0a6dec2b770-GP_100_950_32.cnf
927.2 1.0 168.94 5.49 102.59 9.04 164.1 5.65 148.8 6.23 75.17 12.33 70.31 13.19 b88d206fb35ef87bd7ec5d4a1430ae0c-20-100-p100-55_sat.cnf
775.05 1.0 877.44 0.88 363.05 2.13 679.99 1.14 200.26 3.87 259.41 2.99 123.13 6.29 03bb7baaa45980753a0e7050ae44755d-atco_enc3_opt1_03_53.cnf
1181.91 1.0 10000 0.12 319.97 3.69 529.13 2.23 75.35 15.68 162.35 7.28 33.91 34.86 eb8a25e0db5d0605e3e15670f7a07f27-grid-color-14-14-2-cb.cnf
71.47 1.0 8.06 8.87 7.86 9.09 1.89 37.83 4.4 16.25 3.56 20.08 1.9 37.66 b51583e32432c5778c7e3e996c3bfeba-sqrt_ineq_3.c.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 3439.28 2.91 1796.66 5.57 7ab6615515ffc5ceb8f6bd440d159c3d-pj2016_k80.cnf
563.37 1.0 381.71 1.48 91.15 6.18 334.01 1.69 163.47 3.45 102.77 5.48 54.36 10.36 a4bffff28417d6b4d72f7b9122988ba5-reconf10_68_queen15_2.cnf
27.22 1.0 37.53 0.73 20.44 1.33 10.89 2.5 12.29 2.21 5.24 5.19 7.82 3.48 7b933d3e6b425772ed19eb0fec52bbf9-j3037_1_rggt_b.cnf
523.27 1.0 475.2 1.1 428.27 1.22 232.78 2.25 331.42 1.58 112.41 4.65 186.49 2.81 f1afd5e8d4b842c15c6a2c420b2b2dba-pj2018_k10.cnf
4.21 1.0 0.28 15.25 0.3 13.89 0.38 11.2 0.31 13.71 0.4 10.55 0.39 10.74 6d815089fb4095208754622b4c44a8f7-Carry_Bits_Fast_12.cnf.cnf
34.99 1.0 54.07 0.65 43.43 0.81 33.32 1.05 19.84 1.76 8.67 4.04 7.82 4.47 324e19a2991a29d0765ad256fb7aee85-j3037_9_gmto_b.cnf
697.21 1.0 673.12 1.04 204.89 3.4 238.79 2.92 27.98 24.92 37.33 18.68 57.87 12.05 44ed91b4ca5a5d8323cab4c268d81fd1-grid-color-12-14-12-cb.cnf
212.02 1.0 46.86 4.52 9.74 21.77 16.85 12.58 16.55 12.81 6.5 32.59 5.22 40.58 f2a73aa514c859c91db462e1e2a1315b-af-synthesis_stb_50_140_1_sat.cnf
52.7 1.0 131.65 0.4 58.8 0.9 22.29 2.36 15.86 3.32 8.59 6.14 12.33 4.28 bc16508e3f279bec0a072b939bbe6440-af-synthesis_stb_50_40_2_sat.cnf
54.22 1.0 11.0 4.93 11.98 4.53 4.83 11.22 3.04 17.86 7.96 6.81 5.76 9.41 d3c07914f3ebb42906b986aa431243af-summle_X8646_steps8_I1-2-2-4-4-8-25-100.cnf
4144.84 1.0 1276.39 3.25 839.69 4.94 158.61 26.13 5.04 823.04 52.3 79.25 16.31 254.18 6e1b970d637fca70d08b251766edade3-Nb8T61.cnf
0.9 1.0 0.67 1.34 2.22 0.41 0.54 1.67 0.42 2.14 0.39 2.34 0.37 2.44 3fb297f59ad2dc32fd3f79d61951d8cb-Carry_Bits_Fast_4.cnf.cnf
199.61 1.0 108.98 1.83 52.09 3.83 8.9 22.44 21.17 9.43 13.23 15.08 9.63 20.72 5ff92b9fa31963608674761e0d71fce8-sv-comp19_prop-reachsafety.triangular-longer_false-unreach-call.i-witness.cnf
1069.49 1.0 1554.11 0.69 2812.64 0.38 533.38 2.01 1888.58 0.57 974.97 1.1 874.81 1.22 024af9416f8c1dad1b4f974757e38d51-8-5-6.cnf
428.29 1.0 50.75 8.44 71.37 6.0 41.93 10.21 29.98 14.29 8.9 48.12 9.7 44.14 0c0e6faa4abb622f5bea636ff04d341d-grid-color-12-14-2-cb.cnf
1546.8 1.0 1054.47 1.47 116.78 13.25 187.45 8.25 310.32 4.98 87.19 17.74 145.53 10.63 0205e0724a8a912dde9ad7dfba2aee0b-003-23-80.cnf
9.32 1.0 110.93 0.08 131.61 0.07 130.52 0.07 125.92 0.07 97.97 0.1 91.2 0.1 047fbe00ecc60835f1ee9d458bbd7ee8-SAT_H_instances_childsnack_p06.hddl_2.cnf
10000 1.0 10000 1.0 4485.58 2.23 1459.81 6.85 10000 1.0 913.88 10.94 525.14 19.04 af834fd3ce15078d2ab055c996758c00-sum_of_three_cubes_33_known_representation.cnf
2900.94 1.0 3174.93 0.91 333.56 8.7 380.82 7.62 21.28 136.31 25.7 112.86 40.78 71.13 fec4ba2cf2416933dcf7b8153be97344-bz-X-4-7-6.cnf
255.92 1.0 65.68 3.9 26.92 9.51 10.91 23.47 21.72 11.78 8.5 30.12 5.6 45.7 f8b7241f662ab4d36337b74bb7984122-summle_X111119_steps7_I1-2-2-4-4-8-25-100.cnf
642.6 1.0 392.83 1.64 643.51 1.0 249.88 2.57 127.23 5.05 65.7 9.78 109.28 5.88 0d209cb420326994f9c4898eb10228ab-008-80-8.cnf
11.76 1.0 19.12 0.62 21.04 0.56 20.31 0.58 19.11 0.62 23.96 0.49 21.02 0.56 7af73f846548141cc97b8a149a20bfbf-vlsat2_57038_10572502.dimacs.cnf
76.76 1.0 8.29 9.26 16.18 4.74 3.33 23.05 1.97 38.98 10.41 7.37 1.66 46.35 cd72a64e1b857fd30b9ec831cf462bf1-mp1-21.7.cnf
1911.28 1.0 4770.58 0.4 3014.27 0.63 1509.46 1.27 592.46 3.23 787.03 2.43 736.65 2.59 1fee9f154615842029ec63d8520f4b4e-GP_300_250_15.cnf
219.1 1.0 581.78 0.38 8.13 26.93 169.95 1.29 36.06 6.08 14.31 15.31 3.56 61.61 b8e3b884886922343f5cb72d92c24b97-frb75-13-2.used-as.sat04-878.cnf
285.62 1.0 252.84 1.13 239.82 1.19 199.06 1.43 148.84 1.92 124.94 2.29 98.43 2.9 cd361d33986dccd7f2d86016d6c35241-ecarev-110-4099-22-30-7.cnf
2151.1 1.0 2457.93 0.88 1834.02 1.17 1598.5 1.35 751.63 2.86 365.46 5.89 115.86 18.57 810ce4a78bc01ddc5a043d95f9584f2f-005-80-12.cnf
73.7 1.0 3.56 20.7 32.41 2.27 1.1 66.7 0.98 75.2 3.36 21.91 1.41 52.27 b1c44904cf06682f973b60c8282f45e8-mp1-squ_ali_s10x10_c39_bail_SAT.cnf
1794.26 1.0 1917.83 0.94 1731.59 1.04 1626.95 1.1 1266.99 1.42 1313.75 1.37 1273.87 1.41 28b715dd946dba71ddd58a73d9f82c39-pj2005_k80.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 ee06244cc0ed073bd6abf147dc27eff6-pj2016_k120.cnf
575.09 1.0 97.54 5.9 275.24 2.09 185.07 3.11 57.9 9.93 59.27 9.7 16.32 35.23 5e66b728b2445ec69f27e0f1a49f4b29-006.cnf
875.41 1.0 197.17 4.44 164.66 5.32 103.7 8.44 58.62 14.93 45.87 19.08 31.09 28.16 e01c39b7b41c9ff1621579b747254fab-ncc_none_3001_7_3_3_1_31_435991723.cnf
4004.83 1.0 877.31 4.56 358.01 11.19 83.49 47.97 157.43 25.44 66.37 60.34 16.52 242.48 aad5bbe8920c5afc84068bb1da27ee8f-LABS_n041_goal003.cnf
11.83 1.0 9.5 1.25 4.72 2.51 4.41 2.68 2.29 5.18 2.91 4.07 1.74 6.82 00a62eb89afbf27e1addf8f5c437da9b-ortholatin-7.cnf
3651.11 1.0 2442.97 1.49 634.96 5.75 315.96 11.56 685.44 5.33 246.9 14.79 328.68 11.11 367c25ad50259a685a25b86d6dd171b2-GP_100_950_33.cnf
1180.64 1.0 313.02 3.77 288.11 4.1 121.96 9.68 99.78 11.83 90.59 13.03 77.67 15.2 7c15baa29f2228703e5161bfabd91773-reconf10_140_queen6_1.cnf
53.25 1.0 43.55 1.22 50.83 1.05 60.05 0.89 49.68 1.07 50.99 1.04 53.97 0.99 4db2404ba78dda6f3bc89a2b03057fd2-intel036_Iter109.cnf
10000 1.0 10000 1.0 313.91 31.86 328.06 30.48 351.02 28.49 496.23 20.15 233.31 42.86 fe96b630b3e761821308b544368dd521-GP_100_950_34.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 c2596b3f0d779d532a667962b1e54b42-pj2008_k300.cnf
442.99 1.0 3.5 126.64 120.49 3.68 1.25 355.24 0.91 488.41 1.48 299.72 1.3 340.76 ba8621490e4e7212fffdb55fb6bd282d-combined-crypto1-wff-seed-108-wffvars-500-cryptocplx-31-overlap-2.cnf
68.57 1.0 156.94 0.44 14.94 4.59 19.43 3.53 62.45 1.1 4.31 15.92 12.35 5.55 ccb55d1b802617fcb969e12859d66124-g2-mizh-md5-48-2.cnf
472.27 1.0 3010.33 0.16 344.24 1.37 159.47 2.96 238.73 1.98 41.34 11.42 20.51 23.02 6fb0757ee018642fedd0669aad3882fe-grid-color-12-14-10-cb.cnf
52.45 1.0 123.14 0.43 45.37 1.16 14.8 3.54 14.09 3.72 12.36 4.24 16.77 3.13 d32a1553afeebf44835370c9567b3598-cfi-rigid-t2-0048-01-or_3_shuffle_all.cnf
0.4 1.0 1.18 0.34 1.34 0.3 1.3 0.31 1.21 0.33 1.12 0.36 1.67 0.24 7efdf72de31fa82aeceb7acbc29a59bf-vlsat2_113_1150.cnf
46.83 1.0 7.51 6.23 11.12 4.21 12.04 3.89 7.25 6.46 6.33 7.4 5.28 8.87 7016d1da3fdfe543de3b95f96a9ffe4c-summle_X8651_steps8_I1-2-2-4-4-8-25-100.cnf
229.54 1.0 517.62 0.44 31.24 7.35 97.2 2.36 4.94 46.44 8.89 25.82 37.21 6.17 7a67847b81b414d659f005200cf56f6b-size_5_5_5_i198_r12.cnf
91.12 1.0 380.37 0.24 65.77 1.39 714.27 0.13 116.86 0.78 43.06 2.12 47.11 1.93 e97ebde59cb17ef6f7c4430224b21ed1-grid-color-14-14-8-cb.cnf
30.14 1.0 32.89 0.92 18.44 1.63 10.36 2.91 6.53 4.61 6.94 4.34 4.99 6.05 807133f4461a11e39a390dfcf67a4fc6-summle_X11113_steps8_I1-2-2-4-4-8-25-100.cnf
88.76 1.0 78.45 1.13 0.76 117.56 1.5 59.02 0.77 115.57 0.86 102.85 0.87 102.26 0c5d7e7aa3dd6024816078d2bdcfc4e3-Carry_Bits_Fast_8.cnf.cnf
34.57 1.0 1.74 19.9 1.07 32.28 0.98 35.17 1.23 28.01 0.94 36.97 1.22 28.27 5099718e4b5b8fe2ba7f8b919fdfde2d-satcoin-genesis-SAT-5.cnf
10000 1.0 10000 1.0 834.92 11.98 948.41 10.54 996.79 10.03 911.39 10.97 739.12 13.53 31cc22a0f42ebaa109a5b807eb6178c2-Break_20_54.xml.cnf
1051.01 1.0 1296.19 0.81 731.79 1.44 18.05 58.24 47.18 22.28 45.95 22.87 35.42 29.67 4501f9a0e9fab5d5cff7133022b1f780-50bits_11.dimacs.cnf
77.66 1.0 13.5 5.75 29.91 2.6 21.66 3.58 12.5 6.21 6.73 11.54 12.57 6.18 608941b989227d93c62b3a9b4280011b-summle_X8639_steps8_I1-2-2-4-4-8-25-100.cnf
1127.62 1.0 1620.17 0.7 1350.07 0.84 1992.97 0.57 1579.47 0.71 2124.61 0.53 1346.25 0.84 08e151e72fe10402a49463171aa557e8-abw-V-nos6.mtx-w220.cnf
190.44 1.0 185.35 1.03 168.22 1.13 154.7 1.23 110.41 1.72 110.33 1.73 96.37 1.98 47135a1fd4c86afbfec0c7879c45268b-SC22_Timetable_C_451_E_46_Cl_30_S_27.cnf
2286.97 1.0 3273.23 0.7 2198.09 1.04 645.53 3.54 1588.88 1.44 599.93 3.81 292.77 7.81 6b0dfcfa8cf0c0564f17ec0a5434b5b9-ITC2021_Early_4.xml.cnf
322.78 1.0 380.21 0.85 358.91 0.9 309.31 1.04 328.63 0.98 497.95 0.65 429.96 0.75 27d9905476897885d29cea2744db9805-coreJSON:skipCollection.cnf
154.58 1.0 325.88 0.47 201.04 0.77 234.77 0.66 208.12 0.74 150.43 1.03 122.36 1.26 7adc1ade3384505af00ff8f7be23f5bd-ex175_20.cnf
3032.01 1.0 384.69 7.88 529.17 5.73 282.35 10.74 18.2 166.55 113.48 26.72 141.47 21.43 3e2fe1556893706475f9dd19c1a7b8fe-mdp-32-12-sat.cnf
462.67 1.0 8.71 53.12 165.93 2.79 32.51 14.23 13.56 34.12 4.86 95.28 6.34 72.98 6b7e3415d7bd20be605b1f9723c43d68-Carry_Bits_Fast_5.cnf.cnf
2.8 1.0 0.4 7.0 0.43 6.54 0.37 7.63 0.35 7.91 0.42 6.65 0.41 6.81 ce4345ce697134021029c2686d5eb04c-Carry_Save_Fast_3.cnf.cnf
87.01 1.0 25.1 3.47 21.96 3.96 31.61 2.75 12.88 6.76 11.35 7.67 5.23 16.63 1ebab99edff4c0470c8aa753bb9d3353-summle_X8637_steps8_I1-2-2-4-4-8-25-100.cnf
250.73 1.0 111.4 2.25 97.1 2.58 111.91 2.24 80.34 3.12 67.55 3.71 48.19 5.2 ac6256657058fe65dc7ddaf773ab83bf-SC21_Timetable_C_527_E_71_Cl_35_S_35.cnf
0.7 1.0 0.58 1.2 0.7 1.0 0.61 1.15 0.61 1.14 0.49 1.43 0.36 1.92 d87714e099c66f0034fb95727fa47ccc-Wallace_Bits_Fast_2.cnf.cnf
10000 1.0 10000 1.0 4604.3 2.17 1935.18 5.17 470.32 21.26 962.42 10.39 812.72 12.3 98dbd257808e551fd26cad78ba520955-ITC2021_Late_2.xml.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 159.97 62.51 6fa8b4b7f4b059bd46913dbe741c0b94-mdp-36-11-sat.cnf
8.18 1.0 120.34 0.07 18.89 0.43 23.22 0.35 2.21 3.7 2.39 3.42 2.03 4.03 e9b4369f9a98e397ac69eb7740ffef49-Carry_Save_Fast_2.cnf.cnf
95.37 1.0 27.07 3.52 26.53 3.59 10.37 9.2 16.12 5.92 8.12 11.74 7.4 12.88 09d8544494e54bc756438e69567b4ba7-mp1-klieber2017s-0300-034-t12.cnf
409.76 1.0 1817.18 0.23 1539.95 0.27 400.01 1.02 212.61 1.93 447.97 0.91 100.26 4.09 cd7c8f8aa9901293a9bc31839eafcc40-reconf10_42_queen20_4_0961.cnf
1322.33 1.0 695.08 1.9 1045.07 1.27 806.11 1.64 445.13 2.97 371.14 3.56 377.47 3.5 4551c996fc6f5fbe62b43076abb25077-knight_18.cnf
35.93 1.0 24.23 1.48 17.25 2.08 11.75 3.06 5.55 6.48 4.7 7.65 4.57 7.86 7acf6cf25ddaf2ab98106e0bb3b9ddb1-af-synthesis_stb_50_140_3_sat.cnf
281.57 1.0 88.36 3.19 20.89 13.48 45.44 6.2 46.52 6.05 34.92 8.06 29.23 9.63 5573681b2f40d5d8b30267ac59987e40-Carry_Bits_Fast_16.cnf.cnf
243.36 1.0 195.82 1.24 84.02 2.9 184.94 1.32 96.65 2.52 74.98 3.25 100.95 2.41 d60f78323b957025e55ca528d641b83b-SC22_Timetable_C_451_E_48_Cl_30_S_27.cnf
2279.94 1.0 1059.76 2.15 305.51 7.46 34.43 66.21 165.79 13.75 139.28 16.37 72.32 31.52 7d2199baf2526263b5f753d290d2790b-md4__zeroOut_19__freeIn_23__seed_2.cnf
3860.82 1.0 10000 0.39 10000 0.39 10000 0.39 3042.14 1.27 857.25 4.5 1354.11 2.85 8aee61ed27bf700a548ca9c097203749-SAT_MS_sat_snake_p01.pddl_39.cnf
736.71 1.0 1316.51 0.56 1266.56 0.58 369.31 1.99 183.17 4.02 39.76 18.53 182.34 4.04 0dcd0ec81c5e8dc13b72d43a4940279b-hantzsche_wendt_unit_147.cnf
46.91 1.0 33.9 1.38 11.27 4.16 12.63 3.72 19.11 2.45 6.23 7.53 5.67 8.27 285cb2c9735ac73cad999fba3d669382-summle_X8634_steps8_I1-2-2-4-4-8-25-100.cnf
24.56 1.0 50.71 0.48 19.6 1.25 6.7 3.66 34.03 0.72 3.08 7.98 7.69 3.19 e0b938c32e36e2939d712dd4024f9ec6-j3037_9_mdd_b.cnf
44.28 1.0 24.32 1.82 21.45 2.06 25.28 1.75 24.56 1.8 15.94 2.78 16.01 2.77 d9e9100c382d44fb67af82f8d69814f1-cfi-rigid-t2-0048-03-or_3_shuffle_all.cnf
10000 1.0 10000 1.0 10000 1.0 4291.23 2.33 2633.41 3.8 314.83 31.76 440.26 22.71 24af39156d1daa122e5928d9aba11847-GP_100_948_33.cnf
354.35 1.0 231.06 1.53 28.33 12.51 80.39 4.41 21.25 16.67 20.41 17.36 23.89 14.83 d6947217ad779e1175c716cca42525c6-summle_X111113_steps7_I1-2-2-4-4-8-25-100.cnf
2.61 1.0 0.94 2.76 0.86 3.04 1.2 2.17 1.07 2.44 1.21 2.16 0.85 3.08 e99ce61fe251b404ec85f6246fd4bb19-Wallace_Bits_Fast_7.cnf.cnf
88.97 1.0 136.79 0.65 63.28 1.41 83.16 1.07 26.68 3.34 38.83 2.29 20.22 4.4 cfa14a7015b0f7fecd98e898f3c95896-velev-vliw-sat-4.0-b8.cnf
10000 1.0 1696.49 5.89 1168.4 8.56 909.55 10.99 313.44 31.9 332.28 30.1 266.77 37.49 c2828483a78420f9a90e3ed9728c06cc-GP_100_951_37.cnf
1603.17 1.0 10000 0.16 1179.14 1.36 994.16 1.61 475.34 3.37 185.93 8.62 89.4 17.93 f5f1d6a47ed7449a18d872a3f93d8aa5-GP_120_400_15.cnf
175.27 1.0 293.37 0.6 84.52 2.07 20.75 8.45 18.36 9.55 17.3 10.13 33.92 5.17 70289686a242c8380ca26bda45ad1278-summle_X111104_steps6_I1-2-2-4-4-8-25-100.cnf
146.42 1.0 26.09 5.61 39.72 3.69 13.44 10.89 16.42 8.92 2.24 65.48 4.13 35.41 0810eb03d022334fdd1d5a6ad4969d47-gss-18-s100.cnf
1.54 1.0 3.78 0.41 2.1 0.73 1.82 0.85 0.93 1.65 1.4 1.1 0.95 1.61 c1cb62f85f0c6a29c5d3c47d25fbc24a-Carry_Bits_Fast_23.cnf.cnf
81.23 1.0 4.38 18.53 2.99 27.18 4.21 19.3 6.42 12.64 1.76 46.05 1.52 53.37 6965d5369d3ab26daaf074303c3d1739-mp1-squ_ali_s10x10_c39_abix_SAT.cnf
83.8 1.0 63.36 1.32 86.44 0.97 32.63 2.57 25.98 3.23 13.5 6.21 9.43 8.88 03ba29d5cb38d345357a74a7b5ccd759-20-100-lambda100-49_sat.cnf
136.74 1.0 193.25 0.71 273.93 0.5 92.14 1.48 101.17 1.35 82.28 1.66 60.77 2.25 0240f5bddc39ad2f0a786c811fc434a8-SC21_Timetable_C_542_E_71_Cl_36_S_35.cnf
273.52 1.0 30.75 8.9 12.27 22.3 12.57 21.76 15.1 18.12 4.53 60.42 8.12 33.67 ce32731c73701c2ac2bed5341b6ae3ca-mp1-9_27.cnf
31.03 1.0 23.45 1.32 16.53 1.88 19.12 1.62 14.6 2.12 10.32 3.01 11.19 2.77 8bb5819a23a8f1dff851d608bec008ca-ITC2021_Late_6.xml.cnf
0.79 1.0 15.96 0.05 17.73 0.04 20.71 0.04 18.96 0.04 13.71 0.06 14.61 0.05 e85b6cb3e2751d5c80559433ba1adf06-vlsat2_24450_2770239.dimacs.cnf
215.02 1.0 616.28 0.35 340.63 0.63 5.42 39.71 6.0 35.81 8.07 26.65 2.15 100.2 78a0e76b68b536e2ea7d801fc6061cd2-grid-color-12-14-14-cb.cnf
1105.22 1.0 359.31 3.08 51.05 21.65 222.02 4.98 64.06 17.25 88.98 12.42 74.09 14.92 6c34b7032712e16b08d97a0449d610e2-puzzle30_sat.cnf
4124.23 1.0 10000 0.41 3591.59 1.15 637.95 6.46 716.1 5.76 431.17 9.57 256.34 16.09 93695f689b57cdb57c9b6d0d726e0f53-Break_triple_18_48.xml.cnf
222.9 1.0 138.1 1.61 96.16 2.32 29.95 7.44 20.89 10.67 18.04 12.35 9.21 24.2 294924aff67e879595e55f15b10a79ef-grid-color-12-14-6-cb.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 be2b20414899ed839ac14bf8b9365692-pj2016_k140.cnf
26.71 1.0 1.15 23.31 0.79 33.98 0.83 32.06 0.78 34.07 0.86 31.13 1.59 16.83 0616ca6b1e0ae639d12e19ed310963a9-satcoin-genesis-SAT-4.cnf
10000 1.0 2688.01 3.72 2875.53 3.48 513.23 19.48 163.59 61.13 199.03 50.24 49.21 203.2 0151bedac526ee195bc52e4134cd80e7-ssAES_4-4-8_round_8-10_faultAt_8_fault_injections_2_seed_1579630418.cnf
83.19 1.0 27.95 2.98 118.7 0.7 59.44 1.4 65.51 1.27 17.47 4.76 8.58 9.7 622787535593269d5e9a1dc4fe01c4af-atco_enc1_opt2_10_16-sc2014.cnf
24.65 1.0 38.21 0.65 27.62 0.89 23.38 1.05 21.34 1.16 21.83 1.13 14.45 1.71 fb5cf4ad3c46dd294eb8253218524ba6-cfi-rigid-r2-0072-01-or_3.cnf
68.93 1.0 9.04 7.63 0.64 108.04 1.17 59.02 0.57 119.88 1.58 43.54 1.82 37.81 02223564bd2f5c20768e63cf28c785e3-mp1-squ_ali_s10x10_c39_abio_SAT.cnf
50.43 1.0 101.9 0.49 14.27 3.53 11.33 4.45 17.41 2.9 13.04 3.87 6.01 8.39 36ecf4ba0451f40e4ede9a1b2ab914f7-af-synthesis_stb_50_200_4_sat.cnf
613.08 1.0 439.52 1.39 218.75 2.8 199.13 3.08 154.97 3.96 124.82 4.91 118.23 5.19 03fb9af7b390fe9e0739150ca3410cf0-4g_5color_166_100_02.cnf
172.14 1.0 123.8 1.39 10.96 15.71 21.51 8.0 20.56 8.37 12.72 13.53 5.92 29.1 96f6aab24720f070a02e637f7252b482-grid-color-12-14-8-cb.cnf
288.09 1.0 295.22 0.98 620.49 0.46 68.32 4.22 48.08 5.99 11.3 25.49 44.27 6.51 089456508f74be2d96f4112cc495f80a-Eternity-10-06_c18.cnf
147.43 1.0 108.08 1.36 33.83 4.36 48.57 3.04 12.62 11.68 8.6 17.14 7.83 18.83 3b97191d94abf3a5e97d6359d886d9df-summle_X111121_steps7_I1-2-2-4-4-8-25-100.cnf
10000 1.0 10000 1.0 1253.51 7.98 2687.45 3.72 350.5 28.53 155.64 64.25 289.26 34.57 f0f279c7d5043e783f73237cf6bddf33-Break_triple_20_72.xml.cnf
61.12 1.0 74.97 0.82 21.43 2.85 6.91 8.85 4.68 13.05 1.74 35.09 1.26 48.35 157c7496c04d3fc63565cd7999dc45a5-Carry_Save_Fast_1.cnf.cnf
67.65 1.0 78.93 0.86 31.77 2.13 52.93 1.28 11.96 5.66 22.97 2.94 12.47 5.42 085b8ebc423dcbd70eceaa04229cf5cd-summle_X111102_steps8_I1-2-2-4-4-8-25-100.cnf
0.54 1.0 2.0 0.27 0.44 1.24 0.29 1.83 0.28 1.94 0.28 1.96 0.29 1.88 072785fd927ff0fd180ce8b9cc00078f-20180321_140826713_p_cnf_320_1120.cnf
10000 1.0 10000 1.0 4970.29 2.01 3183.75 3.14 10000 1.0 3103.71 3.22 1560.81 6.41 8efdd60faa21ddcace492bff0479408b-Break_triple_20_54.xml.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 215.81 46.34 2309.55 4.33 e992a45933d191dc4fbe8cc4836109f8-sum_of_three_cubes_165_known_representation.cnf
841.78 1.0 937.37 0.9 872.92 0.96 644.48 1.31 881.8 0.95 1072.76 0.78 714.9 1.18 ed410c758e5025f1bb97922574d1c2ff-reconf10_86_sp003_1.cnf
167.79 1.0 206.24 0.81 330.85 0.51 6.12 27.43 51.34 3.27 17.68 9.49 5.11 32.86 5457c05649be6f3bc4f743c5e6086a18-mdp-28-10-sat.cnf
3157.25 1.0 2681.49 1.18 2925.91 1.08 1824.91 1.73 1266.6 2.49 1679.22 1.88 413.81 7.63 01813075a2ddb68ae1fc655ca003437e-sha256__zeroOut_12__freeIn_16__seed_1.cnf
32.7 1.0 1646.49 0.02 1930.03 0.02 1773.31 0.02 1541.28 0.02 1216.08 0.03 1192.28 0.03 0d4970edf84353e5a5798bca3f7f270e-SAT_H_instances_childsnack_p10.hddl_2.cnf
134.52 1.0 203.23 0.66 191.72 0.7 125.79 1.07 116.43 1.16 104.56 1.29 107.09 1.26 5e933a625099cc1ec6a8299a7848a2ae-Kakuro-easy-112-ext.xml.hg_7.cnf
3234.84 1.0 3573.63 0.91 3110.66 1.04 3036.23 1.07 1811.77 1.79 1495.56 2.16 1036.83 3.12 30ca21da9753263cc8cda020802b58ce-GP_500_200_20.cnf
86.23 1.0 151.06 0.57 53.42 1.61 58.54 1.47 68.08 1.27 63.83 1.35 44.61 1.93 d1a4dc04e54d4fa58dfbbf61bd2415b4-SC22_Timetable_C_451_E_50_Cl_30_S_28.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 2988.93 3.35 a42230be4432b010789b6f97b090343c-soelberg_unit_223.cnf
10000 1.0 10000 1.0 10000 1.0 1998.55 5.0 1876.21 5.33 2024.63 4.94 205.9 48.57 b24684abee2e253a4aee233eed155a5b-GP_100_948_34.cnf
10000 1.0 104.44 95.74 10000 1.0 940.39 10.63 1147.21 8.72 318.16 31.43 57.95 172.57 dcac26e190c906c61ac7222d6d4628c7-grid-color-14-14-12-cb.cnf
58.08 1.0 31.91 1.82 26.37 2.2 19.8 2.93 10.58 5.49 11.53 5.04 9.47 6.13 e28cf003c086c99f3a3d9a90aebf8ed1-intel046_Iter124.cnf
7.4 1.0 917.68 0.01 633.11 0.01 291.78 0.03 322.52 0.02 187.62 0.04 129.9 0.06 d892eb7b3b3a44192ee639e222eee058-reconf10_99_Ins_3_1.cnf
65.26 1.0 61.34 1.06 13.38 4.88 9.22 7.08 21.3 3.06 8.17 7.99 11.48 5.68 48e9f29a92930f1b367efc5754cb679b-af-synthesis_stb_50_80_7_sat.cnf
509.17 1.0 648.14 0.79 272.1 1.87 255.71 1.99 96.0 5.3 39.14 13.01 7.63 66.76 cd36b290c27ed9bafedfb2ca88469f01-mdp-28-12-sat.cnf
115.1 1.0 25.66 4.48 17.99 6.4 12.81 8.99 13.4 8.59 6.46 17.83 5.93 19.4 95c00d0ae51d5d0a2a931ce82b77701f-af-synthesis_stb_50_140_0_sat.cnf
0.42 1.0 1.08 0.39 1.81 0.23 0.44 0.96 0.46 0.91 0.41 1.02 0.31 1.36 5ac44f542fd2cd4492067deb7791629a-Carry_Bits_Fast_18.cnf.cnf
4.87 1.0 19.3 0.25 18.77 0.26 25.02 0.19 20.68 0.24 16.38 0.3 15.35 0.32 2551afad6b364a7225cdd1b9fa82f7c0-worker_500_500_500_0.35.cnf
10000 1.0 10000 1.0 10000 1.0 639.61 15.63 562.04 17.79 1185.96 8.43 1560.97 6.41 0842eb01dc00232edc0b26ccb2f19f25-6-4-6-sc2018.cnf
200.07 1.0 86.51 2.31 92.66 2.16 12.16 16.45 12.59 15.89 9.37 21.35 9.05 22.11 fee70cede2b5b55bfbdb6e48fbe7ce4f-DLTM_twitter690_74_16.cnf
178.34 1.0 331.86 0.54 302.48 0.59 239.42 0.74 241.76 0.74 173.83 1.03 150.71 1.18 02f2343e32f9070f149708d77556b4aa-Kakuro-easy-117-ext.xml.hg_5.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 d40af7b45bba9c64033c0dd47b07f4a4-mdp-36-16-sat.cnf
4036.0 1.0 2854.47 1.41 2209.21 1.83 368.35 10.96 309.8 13.03 217.97 18.52 201.87 19.99 c2f827691e524e272d21de55b3749877-GP_100_951_35.cnf
45.22 1.0 56.59 0.8 3.97 11.39 7.08 6.38 3.96 11.42 3.34 13.54 4.55 9.94 3176c9024f756e99dbee852e5c0aa578-Break_triple_12_30.xml.cnf
10000 1.0 103.83 96.32 476.95 20.97 114.22 87.55 26.92 371.42 78.83 126.86 35.78 279.48 048a70da40ea4908c783b8314be2da97-aes_32_2_keyfind_1.cnf
206.99 1.0 231.97 0.89 93.59 2.21 197.66 1.05 53.31 3.88 43.24 4.79 30.55 6.77 0e775873f4c4bbc81ff92b87dd3e15e8-grid-strips-grid-y-3.045-NOTKNOWN.cnf
110.87 1.0 233.08 0.48 91.77 1.21 47.43 2.34 31.84 3.48 20.91 5.3 6.15 18.04 fdfd5975c57d7cd2264ef6aff6cb4815-SE_PR_stb_588_138.apx_1.cnf
17.08 1.0 2.91 5.88 1.85 9.21 2.07 8.26 3.37 5.06 1.76 9.71 1.78 9.6 e7cd2c407974b35fa97f8e64a691bfa0-j3037_10_gmto_b.cnf
755.88 1.0 68.79 10.99 71.44 10.58 51.23 14.76 30.11 25.1 6.28 120.46 11.66 64.84 fff3f8c76467cdf9d92689969fd94281-mod2c-rand3bip-sat-240-2.shuffled-as.sat05-2519.cnf
10.8 1.0 74.06 0.15 36.1 0.3 18.84 0.57 17.47 0.62 19.67 0.55 12.69 0.85 e8d9e3a985463b8e4f45b6e09b77bf6c-cfi-rigid-t2-0048-02-or_3_shuffle_all.cnf
67.91 1.0 13.28 5.11 8.28 8.2 8.01 8.48 7.07 9.61 7.06 9.62 7.52 9.03 2748e075d4b636ef260271a35302049b-cfi-rigid-t2-0048-01-or_3.cnf
383.71 1.0 95.18 4.03 175.58 2.19 44.83 8.56 43.69 8.78 10.35 37.08 2.52 152.15 c5be40965caf3abdba3994ff3d1f32b6-grid-color-12-14-4-cb.cnf
1345.63 1.0 433.2 3.11 19.59 68.68 12.31 109.35 189.74 7.09 0.96 1400.24 6.61 203.61 090585dc32a79f2bf6fb61a2c7079682-mdp-28-16-sat.cnf
2968.38 1.0 576.18 5.15 2223.47 1.34 397.06 7.48 92.75 32.0 115.16 25.78 61.58 48.2 048142b6048cb6c10415e08f68a2c3a3-GP_81_430_13.cnf
345.87 1.0 228.96 1.51 192.22 1.8 43.05 8.03 91.25 3.79 64.99 5.32 20.08 17.23 0c75119940f87f2bc1dc3f53aeedc02b-20-100-lambda100-89_sat.cnf
3104.58 1.0 1778.34 1.75 2405.7 1.29 778.8 3.99 1323.85 2.35 565.2 5.49 391.44 7.93 72329bc80f5f55dcc356a22f3f11ebec-GP_200_313_5.cnf
31.03 1.0 56.19 0.55 20.22 1.53 20.3 1.53 29.8 1.04 20.69 1.5 21.78 1.42 7f09f477d319cd79821c80504aa06a6e-Break_16_56.xml.cnf
10000 1.0 91.48 109.32 398.73 25.08 44.17 226.4 1.75 5717.55 21.02 475.62 1.82 5485.46 fca7a5a04aaed5f0eacccc4139dc894a-satcoin-genesis-SAT-8192.cnf
133.37 1.0 290.22 0.46 31.34 4.26 39.71 3.36 26.26 5.08 9.74 13.69 10.52 12.68 129162378e8ad29b5485a9c53feee4b7-hantzsche_wendt_unit_93.cnf
1322.71 1.0 4767.27 0.28 278.68 4.75 212.45 6.23 292.55 4.52 235.74 5.61 8.97 147.46 0b4421f6aac81e2dbc87c5b5ddae6511-52bits_12.dimacs.cnf
385.59 1.0 361.67 1.07 384.21 1.0 344.81 1.12 257.75 1.5 259.18 1.49 151.33 2.55 4b537d3c18082eb884bf9429b8146214-gaussian.c.75.smt2-cvc4.cnf
34.25 1.0 34.65 0.99 20.73 1.65 35.37 0.97 22.05 1.55 8.61 3.98 5.43 6.3 d065d395159d19735706e0b5cb823f17-af-synthesis_stb_50_20_8_sat.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 621.32 16.09 310.7 32.19 247.64 40.38 c0d927c372e355081aa1f537cc910843-GP_100_948_32.cnf
122.2 1.0 66.61 1.83 55.59 2.2 31.71 3.85 7.89 15.5 8.02 15.23 9.06 13.49 5e25f9f0d4ef05401fd9ab45a2538c1c-summle_X111117_steps8_I1-2-2-4-4-8-25-100.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 2669.11 3.75 2069.66 4.83 f9dd957b2f5940a3e3adaa2eeaaba011-mdp-36-12-sat.cnf
364.93 1.0 245.01 1.49 247.07 1.48 129.12 2.83 49.42 7.38 46.3 7.88 21.54 16.94 889b6d29998ade866e64c46f807a98bc-6s320rb1_Iter9.cnf
22.25 1.0 12.41 1.79 31.33 0.71 21.12 1.05 8.53 2.61 3.19 6.98 8.12 2.74 49f5d904bb2e762219287d33f5621971-ITC2021_Late_1.xml.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 2202.81 4.54 10000 1.0 9cea216ba8c5051e489af11150504ba6-Break_20_36.xml.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 d79e09d2a1639a01528c0703df4d4946-pj2008_k400.cnf

188
testLight/speedunsat.txt Normal file
View File

@ -0,0 +1,188 @@
296.17 1.0 407.53 0.73 150.87 1.96 87.93 3.37 82.95 3.57 52.38 5.65 37.48 7.9 3d2a6e5c2f8f58dee79fd50444009625-cfi-rigid-z2-0088-03-or_2_shuffle_all.cnf
10000 1.0 10000 1.0 3595.05 2.78 2301.44 4.35 1541.94 6.49 1043.92 9.58 729.65 13.71 04157f716c1e9606c6a530657bf8f957-Kakuro-easy-125-ext.xml.hg_4.cnf
503.92 1.0 284.41 1.77 247.67 2.03 157.83 3.19 97.17 5.19 54.97 9.17 38.13 13.22 a09b0e7764666af044fa7e63dd7e7aef-PancakeVsSelectionSort_8_3.cnf
10000 1.0 0.04 243902.44 0.05 196078.43 0.06 166666.67 0.08 125000.0 0.03 333333.33 0.05 208333.33 cb3c725fd30d50c6785b907054194260-worker_40_40_30_0.9.cnf
3224.44 1.0 2163.6 1.49 1611.32 2.0 980.19 3.29 685.12 4.71 433.93 7.43 366.8 8.79 c3b4a96d92da617218449abad4334d6d-div-mitern164.cnf
609.82 1.0 393.13 1.55 277.7 2.2 186.84 3.26 128.84 4.73 89.59 6.81 71.39 8.54 4f888358cd62fe7bc602ea6882cdfc6d-bivium-40-200-0s0-0x92fc13b11169afbb2ef11a684d9fe9a19e743cd6aa5ce23fb5-19.cnf
3367.82 1.0 2276.31 1.48 2682.36 1.26 1456.9 2.31 1109.02 3.04 584.89 5.76 413.76 8.14 8f3d4a4fedf4689ae0e6df362478d551-PancakeVsSelectionSort_7_6.cnf
10000 1.0 10000 1.0 10000 1.0 3178.0 3.15 1936.27 5.16 1182.86 8.45 771.89 12.96 65514d6ff224df20ba8c1aeec1698ab6-PancakeVsInsertSort_8_7.cnf
1203.01 1.0 760.86 1.58 519.11 2.32 343.65 3.5 201.39 5.97 123.47 9.74 78.14 15.4 a2609893b71f219f4635d33ef1ff6eca-j3045_4_gmto_bm1.cnf
10000 1.0 10000 1.0 10000 1.0 4483.16 2.23 2019.06 4.95 1165.38 8.58 603.37 16.57 e011c703e4a2ff46069ec2af2997b580-sin_depth_miter_6.cnf
105.2 1.0 74.86 1.41 65.75 1.6 51.74 2.03 35.95 2.93 25.42 4.14 24.75 4.25 fe800e62b55609cb152965c223e72280-div-mitern171.cnf
76.37 1.0 59.58 1.28 57.22 1.33 61.83 1.24 59.85 1.28 58.46 1.31 50.0 1.53 d1dbf88a58406c931fd696267ed8159e-s2n:s2n_stuffer_private_key_from_pem.cnf
565.74 1.0 101.3 5.59 220.89 2.56 49.94 11.33 173.89 3.25 190.33 2.97 159.78 3.54 90ec6ff35305fed1d9a87a3ecd87238b-linked_list_swap_contents_safety_unwind48.cnf
58.09 1.0 27.2 2.14 17.92 3.24 11.54 5.03 8.2 7.08 4.7 12.37 3.74 15.52 920bbe559da4ea37fd636605316a791c-SCPC-500-19.cnf
351.17 1.0 260.44 1.35 207.83 1.69 188.62 1.86 143.9 2.44 80.88 4.34 36.68 9.57 af63ce577d1fea121ba80b4b1d148f0c-sudoku-N30-22.cnf
451.72 1.0 416.16 1.09 219.97 2.05 139.44 3.24 92.57 4.88 43.25 10.44 28.12 16.07 c9886f58320a360adbc8db9470563bea-ctl_4291_567_12_unsat.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 4641.61 2.15 f8a966a2ba189ad5fa45f870f3c5e200-sudoku-N30-7.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 7ff8c9781b3ada449ce489cdf444a760-Break_unsat_10_15.xml.cnf
10000 1.0 0.06 156250.0 0.06 156250.0 0.05 204081.63 0.06 156250.0 0.04 227272.73 0.04 227272.73 ff3be72b9f5f44036875aa48f5434456-worker_20_60_20_0.9.cnf
3177.89 1.0 1933.18 1.64 1347.71 2.36 895.02 3.55 520.3 6.11 350.16 9.08 245.9 12.92 047c92e7c0a36a23d8107f4313517719-rubikcube701-sc2017.cnf
22.67 1.0 19.61 1.16 18.3 1.24 12.93 1.75 10.71 2.12 7.67 2.95 7.74 2.93 bb80971144a5423532aea9424dade891-div-mitern174.cnf
10000 1.0 0.06 169491.53 0.07 140845.07 0.07 136986.3 0.08 131578.95 0.04 232558.14 0.06 172413.79 cbd7e28e510e658abbbe312bdffc6407-worker_50_50_50_0.85.cnf
556.46 1.0 486.35 1.14 395.05 1.41 275.05 2.02 197.71 2.81 107.13 5.19 74.24 7.5 2c7cb0ff324a42a0699c23317c97a29a-6s320rb1_Iter8.cnf
55.31 1.0 10000 0.01 96.45 0.57 114.75 0.48 133.52 0.41 133.6 0.41 123.48 0.45 5d357f1e4b5abc96c90d305f629edd5c-ps_200_323_70.cnf
192.4 1.0 145.64 1.32 129.65 1.48 112.13 1.72 81.02 2.37 61.08 3.15 45.56 4.22 0855033e761d91ae367e867c5a569f9e-atco_enc1_opt2_10_15.cnf
49.09 1.0 43.48 1.13 33.39 1.47 31.8 1.54 39.9 1.23 110.06 0.45 80.07 0.61 7703f7d1901ff09a0f177c52a1a7c107-linked_list_swap_contents_safety_unwind43.cnf
980.0 1.0 372.41 2.63 333.66 2.94 318.81 3.07 254.84 3.85 244.37 4.01 229.0 4.28 6b630aa05142274d965c8fc019db511e-bmc_QICE_rxrsp_vld_30.cnf
183.43 1.0 162.06 1.13 96.26 1.91 234.76 0.78 59.6 3.08 428.69 0.43 450.68 0.41 3fb045f58aaf394165735c39c49fad92-linked_list_swap_contents_safety_unwind56.cnf
10000 1.0 10000 1.0 10000 1.0 4398.69 2.27 2431.62 4.11 1342.75 7.45 990.75 10.09 51dd2c14736f2d9164f749d6a633ccb5-j3045_10_mdd_bm1.cnf
346.01 1.0 196.66 1.76 133.12 2.6 88.65 3.9 48.45 7.14 27.98 12.37 20.45 16.92 bcb2104a3558d87ac3b2107c10d54648-mp1-blockpuzzle_5x12_s6_free3.cnf
536.34 1.0 304.23 1.76 320.22 1.67 477.15 1.12 455.56 1.18 447.37 1.2 220.17 2.44 dd0196aee30d0a83b6fe8bc7eba01806-aws-encryption-sdk-c:aws_cryptosdk_priv_hdr_parse_iv.cnf
3562.36 1.0 10000 0.36 3035.81 1.17 1071.51 3.32 806.54 4.42 431.88 8.25 275.18 12.95 efc1b836380d0f84e7512f7b2ccdbb60-PancakeVsInsertSort_8_5.cnf
10000 1.0 1334.52 7.49 1388.73 7.2 1140.19 8.77 1258.06 7.95 1003.61 9.96 708.31 14.12 354c2088ae7648e1dc51d12947c8043a-bobsmdct_init_k88.cnf
1550.19 1.0 1355.44 1.14 1408.12 1.1 1242.76 1.25 1145.9 1.35 794.39 1.95 615.16 2.52 b29cb3449d70126d186e1f6a4fccc419-pj2015_k9.cnf
10000 1.0 0.1 96153.85 0.11 89285.71 0.15 64516.13 0.12 86956.52 0.13 77519.38 0.08 126582.28 45ec40c74fdbf2fe41122ac1e31e6c8e-worker_30_120_30_0.8.cnf
62.41 1.0 32.11 1.94 19.22 3.25 12.45 5.01 7.52 8.3 5.22 11.96 3.75 16.66 c0df94532b1ca8a705d3af05378f377d-SCPC-500-20.cnf
192.67 1.0 142.39 1.35 74.55 2.58 44.42 4.34 29.59 6.51 20.26 9.51 14.85 12.98 002a0330958a14deb23dcc84b5489e8a-traffic_f_unknown.cnf
160.21 1.0 152.23 1.05 93.15 1.72 50.65 3.16 30.05 5.33 15.52 10.33 14.39 11.13 cdcdc78497a72d622493b1bac4f0f28b-reconf20_26_3-FullIns_4_1.cnf
103.59 1.0 63.81 1.62 55.14 1.88 42.22 2.45 29.35 3.53 17.19 6.03 13.26 7.81 e02e21075d3bb8b0e64ea9b8122c75ff-PancakeVsInsertSort_6_7.cnf
2173.9 1.0 1091.07 1.99 768.15 2.83 560.47 3.88 379.82 5.72 330.46 6.58 319.53 6.8 a0e98fd44b74e6f255ca1e5a20bc01fd-cfi-rigid-d3-0180-02-orig.cnf
10000 1.0 10000 1.0 10000 1.0 2411.11 4.15 1368.82 7.31 826.03 12.11 613.71 16.29 60a0ab2650e08f32c4fff6ff09369568-eqsparcl12bpwtrc12.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 c23aed727ae2d9cbb888d771991995aa-tseitin_grid_n16_m16.cnf
10000 1.0 10000 1.0 2388.33 4.19 1650.13 6.06 483.32 20.69 307.06 32.57 227.76 43.91 c33dc89922f1ddea4e7eeddafe4143b3-reconf20_20_grid10_1_6141.cnf
650.13 1.0 612.12 1.06 414.96 1.57 283.34 2.29 175.67 3.7 134.4 4.84 105.6 6.16 aa4638ca3654f1a300c809125a3133ee-6s22_Iter57.cnf
583.09 1.0 630.4 0.92 540.52 1.08 456.47 1.28 416.62 1.4 576.57 1.01 366.22 1.59 b8f9b018d16835c564dcd8395118c79f-aws-encryption-sdk-c:aws_cryptosdk_priv_hdr_parse_alg_id.cnf
1962.16 1.0 2084.03 0.94 2669.15 0.74 1652.4 1.19 1378.17 1.42 665.52 2.95 490.75 4.0 114f1b2ffd86e8a176bcbab664415520-bobsmdct_k88.cnf
275.65 1.0 196.63 1.4 193.86 1.42 131.65 2.09 145.86 1.89 72.12 3.82 32.35 8.52 5cc5e3d24402696ed4ec03edfa42d663-sudoku-N30-24.cnf
3841.96 1.0 4379.57 0.88 3743.51 1.03 4468.06 0.86 3100.59 1.24 3289.06 1.17 2636.14 1.46 6e3015f2ce1f17e4f2b81dae06d73eec-gus-md5-11.cnf
400.32 1.0 394.05 1.02 358.37 1.12 341.19 1.17 309.36 1.29 324.6 1.23 291.94 1.37 0a3cb69074519646b0f2933ba7ad2d30-aws-encryption-sdk-c:aws_cryptosdk_hdr_write.cnf
1936.25 1.0 1902.26 1.02 875.55 2.21 558.31 3.47 421.69 4.59 198.9 9.73 123.71 15.65 f64806fd4fe79f1efaefa7ce68d93ee1-sin_depth_miter_4.cnf
10000 1.0 2430.43 4.11 2193.86 4.56 2163.24 4.62 2048.5 4.88 2245.1 4.45 1909.84 5.24 3cbd82017c4a304c014dd87a69f6028c-bmc_QICE_req_sfl_30.cnf
10000 1.0 10000 1.0 3329.41 3.0 2450.03 4.08 1364.33 7.33 734.97 13.61 521.68 19.17 a2bdae1f9d9695e8cf80cfbbd5f7d61f-PancakeVsSelectionSort_8_4.cnf
2828.77 1.0 1353.63 2.09 774.39 3.65 422.47 6.7 235.4 12.02 111.47 25.38 81.14 34.86 109aa0f5e177c1efb72f133a6f8c723b-hantzsche_wendt_unit_92.cnf
10000 1.0 0.0 2500000.0 0.0 2500000.0 0.0 2500000.0 0.0 2500000.0 0.04 222222.22 0.01 1428571.43 eede03732955f620b5291f9dcf9f95df-tseitin_n200_d3.cnf
1049.37 1.0 680.45 1.54 726.86 1.44 679.58 1.54 480.72 2.18 597.45 1.76 479.44 2.19 16a0949c23ac67c57c5773403daaca60-coreMQTT:MQTT_Connect.cnf
317.62 1.0 214.1 1.48 173.41 1.83 97.34 3.26 76.67 4.14 50.72 6.26 35.8 8.87 d6c845a5f92ebc059b3f0ab2f6d395ed-cfi-rigid-z2-0088-02-or_2_shuffle_all.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 9f7ec7ef3a908c2e93b5553670a207b1-rphp_p14_r14.cnf
42.16 1.0 24.7 1.71 18.2 2.32 9.8 4.3 6.83 6.18 4.87 8.66 4.53 9.32 a1158a2d8c8a1c6da02c2c4fcb32337f-6s158_Iter2.cnf
878.82 1.0 867.14 1.01 595.47 1.48 536.68 1.64 389.11 2.26 308.0 2.85 262.09 3.35 b3cf73d0383f781adf09a2192fa03a15-string_compare_safety_cbmc_unwinding_670.cnf
10000 1.0 0.0 2500000.0 0.01 1428571.43 0.02 476190.48 0.02 454545.45 0.0 3333333.33 0.01 1428571.43 d21199e73859ca35386912c5c475d6c7-tseitin_n192_d3.cnf
241.0 1.0 146.12 1.65 82.77 2.91 34.76 6.93 23.25 10.36 12.79 18.84 8.64 27.89 885c0d25480fe4db3cd5d3b4bc044e76-SCPC-500-17.cnf
1603.14 1.0 1630.28 0.98 1414.65 1.13 1590.16 1.01 1367.45 1.17 1152.03 1.39 891.04 1.8 4348c6b9af237291558b154a9de82969-aws-encryption-sdk-c:aws_cryptosdk_priv_hdr_parse_aad.cnf
10000 1.0 10000 1.0 10000 1.0 3958.27 2.53 2090.54 4.78 1002.01 9.98 716.07 13.97 4a85e090bda23cef9bf2aed55d489ab6-sin_depth_miter_5.cnf
980.97 1.0 873.63 1.12 836.26 1.17 238.63 4.11 149.64 6.56 120.36 8.15 73.57 13.33 d8bb23406e76bf5a4b7a6edba8784a74-Lab-Project-FreeRTOS-Cellular-Library:Cellular_ATRemoveTrailingWhiteSpaces.cnf
416.07 1.0 301.38 1.38 260.99 1.59 230.64 1.8 178.24 2.33 123.15 3.38 91.0 4.57 594b07c07aee036a7aca35d44e2316da-div-mitern168.cnf
47.88 1.0 35.57 1.35 26.87 1.78 18.57 2.58 11.26 4.25 7.86 6.09 6.57 7.28 9f901378a6feabcc94019a018a70d42b-sin-mitern29.cnf
1955.81 1.0 33.47 58.44 31.59 61.91 38.12 51.31 28.4 68.86 22.84 85.63 22.53 86.8 e436f6303d3f499969eafe05b0914a4b-bmc_QICE_snp_vld_50.cnf
144.4 1.0 156.14 0.92 318.17 0.45 382.88 0.38 438.25 0.33 397.12 0.36 292.82 0.49 0823bc5f954c6366702877556f0d3680-linked_list_swap_contents_safety_unwind66.cnf
1247.41 1.0 961.61 1.3 799.32 1.56 588.12 2.12 374.28 3.33 232.96 5.35 159.05 7.84 7e5396d6b00b82c2fc0ea1d7c6505afd-manthey_single-ordered-initialized-w50-b7.cnf
306.09 1.0 225.91 1.35 117.88 2.6 89.54 3.42 46.48 6.58 28.55 10.72 18.83 16.26 07b7859003d84402cbb1ebdc37655d55-6s186_Iter20.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 f1b3d254596523910f3af07fc1942e64-Break_unsat_12_19.xml.cnf
10000 1.0 10000 1.0 10000 1.0 2805.9 3.56 1877.19 5.33 996.91 10.03 666.24 15.01 39b3fde35939134f3b011ebb31842610-PancakeVsInsertSort_9_4.cnf
462.41 1.0 712.94 0.65 351.59 1.32 250.25 1.85 162.14 2.85 65.53 7.06 52.58 8.79 ca6db14aaa04027d2b8af47ec910bd68-cfi-rigid-s2-0064-04-or_2.cnf
773.68 1.0 471.68 1.64 263.28 2.94 122.35 6.32 73.32 10.55 39.48 19.59 30.07 25.73 20840b5020649385e3f8f4965de7a123-hantzsche_wendt_unit_83.cnf
1867.22 1.0 111.14 16.8 256.37 7.28 272.84 6.84 90.19 20.7 421.4 4.43 269.21 6.94 351746fa3de2464c903c85e726cfed55-linked_list_swap_contents_safety_unwind67.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 3205.84 3.12 1819.39 5.5 1481.81 6.75 0a20cb72e5b005b8ed09d8a93184604a-j3037_9_gmto_bm1.cnf
40.79 1.0 16.33 2.5 12.65 3.22 8.85 4.61 6.55 6.22 4.72 8.63 4.32 9.44 65138afdf7eb054be5131f2b0de84369-satch2ways12u.cnf
114.64 1.0 78.22 1.47 52.57 2.18 39.37 2.91 25.2 4.55 15.3 7.49 12.01 9.55 488b147304549670f31653c932684e2c-sin-mitern28.cnf
282.16 1.0 252.83 1.12 204.04 1.38 197.79 1.43 168.49 1.67 133.32 2.12 78.78 3.58 c3de1f05d136b8ec420732ca829f3217-corePKCS11:C_CreateObject.cnf
1098.82 1.0 1152.27 0.95 589.76 1.86 190.78 5.76 140.85 7.8 107.13 10.26 59.37 18.51 7993005e2949524b293b216ed9c65126-cfi-rigid-s2-0064-03-or_2_shuffle_all.cnf
12.74 1.0 6.48 1.97 6.07 2.1 6.75 1.89 4.97 2.56 3.84 3.32 4.31 2.96 0dc468413b65339fad7e4f981bf2fb1e-reconf20_61_myciel4_2.cnf
60.19 1.0 67.71 0.89 53.14 1.13 38.52 1.56 23.07 2.61 21.69 2.77 19.71 3.05 00aefd1fc30c425075166ca051e57218-barman-pfile10-038.sas.ex.15.cnf
79.97 1.0 51.95 1.54 38.4 2.08 25.41 3.15 17.26 4.63 11.87 6.74 9.4 8.5 a65dfd8b3468d202ff3ba8731018622e-j3037_10_gmto_bm1.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 47a1a6f5687ed19c5c0f77c2c81f3f81-tseitin_grid_n14_m14.cnf
147.34 1.0 256.76 0.57 144.2 1.02 67.89 2.17 42.38 3.48 31.71 4.65 24.72 5.96 d78819115db81dee343d7777fbc5844f-cfi-rigid-s2-0064-02-or_2.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 2885.78 3.47 1629.72 6.14 d518d21a9d851741940749cb59f558af-rphp_p6_r28.cnf
627.19 1.0 741.22 0.85 412.3 1.52 458.78 1.37 459.41 1.37 316.1 1.98 151.86 4.13 0a514edbeace21927e52d75f2d4a8efd-ota-for-aws-iot-embedded-sdk:parseJSONbyModel.cnf
271.13 1.0 329.47 0.82 211.41 1.28 179.35 1.51 118.94 2.28 74.98 3.62 41.4 6.55 78cdffdf5bbb89beb753f9ffab7fa45f-sudoku-N30-6.cnf
134.49 1.0 119.5 1.13 103.84 1.3 70.71 1.9 55.32 2.43 32.38 4.15 26.65 5.05 4513c58c16e72a34f9f8518db7baeb9e-ktf_TF-3.tf_3_0.02_24.cnf
288.03 1.0 124.01 2.32 77.52 3.72 27.1 10.63 15.89 18.13 10.27 28.04 8.81 32.7 81b674a2aa6fbda9b06cf8ea334ddc44-beempgsol2b1.cnf
762.17 1.0 679.1 1.12 784.73 0.97 697.04 1.09 522.91 1.46 316.39 2.41 209.78 3.63 2f9cb22859718ab6c201726a91cfefe1-aws-encryption-sdk-c:aws_cryptosdk_priv_try_gen_key.cnf
10000 1.0 10000 1.0 10000 1.0 3689.57 2.71 2349.14 4.26 1344.62 7.44 780.31 12.82 7e9318578a6bdd7dfa9fc261be8a0839-PancakeVsSelectionSort_7_7.cnf
250.38 1.0 316.91 0.79 305.66 0.82 185.82 1.35 171.57 1.46 118.3 2.12 92.74 2.7 d8602e623f87dd33f4a1a69ee42d15be-reconf20_50_grid10_3_6844.cnf
116.81 1.0 53.02 2.2 30.95 3.77 20.74 5.63 11.82 9.88 6.58 17.74 5.73 20.37 3ff263696219ca9e301b0a1b345eb9aa-SCPC-500-4.cnf
792.16 1.0 705.8 1.12 490.49 1.62 352.04 2.25 243.96 3.25 164.27 4.82 109.95 7.2 6a3e3d3a65a46608b44d81f9e4621087-6s105_Iter35.cnf
917.53 1.0 529.37 1.73 354.05 2.59 216.06 4.25 145.52 6.31 82.77 11.09 60.12 15.26 f8ad493b11bf0692c1f3919642cebdb1-PancakeVsInsertSort_9_3.cnf
3632.09 1.0 2703.96 1.34 2029.94 1.79 1451.21 2.5 1047.28 3.47 814.06 4.46 531.18 6.84 85aa1f0820da17412b8ee803b4a85207-sudoku-N30-4.cnf
641.16 1.0 481.75 1.33 417.25 1.54 334.15 1.92 249.61 2.57 170.56 3.76 144.31 4.44 d702aa8568706efda8308ef8d24f907b-div-mitern167.cnf
10000 1.0 4084.54 2.45 2764.79 3.62 1852.89 5.4 1102.39 9.07 628.0 15.92 447.87 22.33 81e73c41a76d7b432cf86c43ffe23986-PancakeVsInsertSort_8_6.cnf
10000 1.0 0.11 87719.3 0.12 86206.9 0.12 82644.63 0.1 98039.22 0.06 169491.53 0.07 140845.07 8bfbffbfea9e5a5993bc024f39adff84-worker_40_80_40_0.85.cnf
99.52 1.0 214.79 0.46 190.12 0.52 48.06 2.07 184.81 0.54 141.0 0.71 117.01 0.85 88bfa72210baef40a2903d95044dc19d-linked_list_swap_contents_safety_unwind40.cnf
3342.21 1.0 10000 0.33 1855.24 1.8 1245.83 2.68 897.21 3.73 655.03 5.1 456.73 7.32 e47567e16e4aeb4d8f3806dfbfdfd646-sudoku-N30-8.cnf
596.52 1.0 693.51 0.86 640.88 0.93 669.13 0.89 631.85 0.94 886.77 0.67 830.49 0.72 a7cb2567e1f5b7ec2f4ba09931e29b96-s2n:s2n_stuffer_write_base64.cnf
2849.43 1.0 2024.69 1.41 1333.65 2.14 864.47 3.3 488.57 5.83 370.75 7.69 271.03 10.51 c221c5dc006de79e561124dab52aae82-mdp-28-12-unsat.cnf
58.56 1.0 39.29 1.49 36.41 1.61 20.12 2.91 16.12 3.63 10.8 5.42 9.34 6.27 c1b30b4e03c3024ad9d084e29e79aa46-BubbleVsPancakeSort_6_6.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 56e7489da32260e1bdd085a418592ec2-cliquecoloring_n18_k6_c5.cnf
917.55 1.0 627.92 1.46 389.08 2.36 204.38 4.49 118.8 7.72 68.61 13.37 46.46 19.75 5f24ae73bb2a0ec3bef68d8a9680f04f-af-synthesis_stb_50_80_7_unsat.cnf
1068.13 1.0 760.07 1.41 502.39 2.13 339.6 3.15 217.87 4.9 135.27 7.9 101.74 10.5 bb0613595001749a0ada02f2da85bc89-PancakeVsInsertSort_7_7.cnf
1377.51 1.0 1304.33 1.06 1150.06 1.2 1177.82 1.17 800.65 1.72 636.32 2.16 480.81 2.87 3666617901c8500d78700dac959729d4-pj2002_k9.cnf
115.38 1.0 54.53 2.12 36.76 3.14 22.07 5.23 10.15 11.37 7.1 16.26 5.34 21.61 73ef1e87dbb7965ecb558e62dedb3a0c-SCPC-500-8.cnf
477.13 1.0 498.92 0.96 275.68 1.73 172.97 2.76 96.35 4.95 58.03 8.22 42.65 11.19 0447371bb8a97e8fe5d3cee6de1db766-UTI-20-10p0-sc2009.cnf
1354.38 1.0 789.81 1.71 598.11 2.26 346.11 3.91 167.92 8.07 94.41 14.35 63.25 21.41 bd5bc8b7711b75f3cd3ad935bf000659-af-synthesis_stb_50_20_8_unsat.cnf
341.31 1.0 352.13 0.97 322.02 1.06 250.18 1.36 239.13 1.43 177.01 1.93 143.3 2.38 b344f80cef9889d952c76736d0ad92d9-9dlx_vliw_at_b_iq6.cnf
3951.77 1.0 1967.06 2.01 1425.71 2.77 965.44 4.09 669.71 5.9 346.35 11.41 260.84 15.15 26f8332e50a4ba5c371852e3737a3002-mdp-28-11-unsat.cnf
1180.26 1.0 802.72 1.47 590.86 2.0 334.24 3.53 201.53 5.86 111.49 10.59 76.56 15.42 b962abe508e5a677dbce14056111b48b-j3037_1_rggt_bm1.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 3970.31 2.52 2520.89 3.97 59047491e4828ed2bb79572330df6f77-mdp-32-16-unsat.cnf
89.82 1.0 148.07 0.61 109.84 0.82 71.35 1.26 87.68 1.02 124.68 0.72 166.22 0.54 eb659cd21250abdc8c9cec49073c32c6-linked_list_swap_contents_safety_unwind59.cnf
957.81 1.0 847.82 1.13 939.31 1.02 673.48 1.42 543.94 1.76 411.64 2.33 341.58 2.8 9e35558ea8ffba630cd8c8f90e14af14-string_compare_safety_cbmc_unwinding_730.cnf
235.03 1.0 181.71 1.29 159.03 1.48 141.7 1.66 127.55 1.84 84.25 2.79 73.86 3.18 0398e6b20de133ba8b49c74b67dad7b7-6s133-sc2014.cnf
815.04 1.0 800.57 1.02 866.29 0.94 827.82 0.98 474.48 1.72 511.58 1.59 359.53 2.27 59e596f5f845a2487370950b37ec3db2-aws-encryption-sdk-c:aws_cryptosdk_enc_ctx_size.cnf
511.56 1.0 656.86 0.78 533.03 0.96 501.79 1.02 407.2 1.26 318.89 1.6 195.13 2.62 8c8b72ac19c0f93813b614a18abaf512-aws-encryption-sdk-c:aws_cryptosdk_keyring_trace_eq.cnf
185.3 1.0 128.48 1.44 112.98 1.64 139.83 1.33 94.68 1.96 64.49 2.87 68.43 2.71 cb8f9ffb66d9b5ef663e6759be0b5e4e-q_query_3_L200_coli.sat.cnf
107.87 1.0 97.49 1.11 240.77 0.45 92.2 1.17 118.36 0.91 103.25 1.04 97.66 1.1 d0ee45ac97c6b5cc63a528f46a5797aa-linked_list_swap_contents_safety_unwind44.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 2842.38 3.52 1720.63 5.81 1180.52 8.47 d90c519010bfda89d1626c0321a55a64-j3045_10_gmto_bm1.cnf
2558.87 1.0 10000 0.26 4886.45 0.52 2381.53 1.07 1826.36 1.4 1826.86 1.4 992.23 2.58 e5f5dbace0183455d167a88100312c34-Nb52T6.cnf
257.0 1.0 198.86 1.29 177.99 1.44 134.65 1.91 113.56 2.26 65.11 3.95 54.05 4.76 7101289c67f4c4ba117ad06ebb7d18a0-6s184.cnf
89.23 1.0 46.12 1.93 25.73 3.47 16.22 5.5 8.84 10.1 5.68 15.7 4.73 18.88 b96071f89fa1b1670b8375010b1dd42b-SCPC-500-9.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 3777.54 2.65 2528.6 3.95 1478.66 6.76 064fe286277f695f42b556ef991036ff-sin_depth_miter_2.cnf
220.79 1.0 219.84 1.0 222.37 0.99 152.71 1.45 151.07 1.46 82.63 2.67 43.85 5.04 b913c17d26ac9f3ad15fa83dc98960c7-sudoku-N30-27.cnf
474.46 1.0 456.27 1.04 395.83 1.2 335.38 1.41 371.58 1.28 358.85 1.32 303.99 1.56 c2894b8d82492f03bb73bbc65896c016-aws-c-common:aws_priority_queue_s_remove_node.cnf
26.67 1.0 21.11 1.26 25.28 1.06 25.68 1.04 39.53 0.67 38.35 0.7 20.05 1.33 fa88b447f6b41b04686085480678affe-UNSAT_H_instances_childsnack_p12.hddl_1.cnf
10000 1.0 0.15 68493.15 0.16 64102.56 0.23 44247.79 0.19 53191.49 0.1 103092.78 0.11 90090.09 b8d10f8c82a85c03c000fbd005e5a838-worker_50_150_40_0.85.cnf
2921.34 1.0 2632.36 1.11 1517.99 1.92 1235.23 2.37 809.21 3.61 697.95 4.19 431.06 6.78 7fe153ced2c966dcdeb42b6714b4d6b7-sudoku-N30-11.cnf
123.25 1.0 67.83 1.82 42.73 2.88 25.05 4.92 14.41 8.55 7.7 16.01 5.74 21.46 a33d32bb816c0da62c7d946c18286a0d-SCPC-500-2.cnf
1801.83 1.0 1350.42 1.33 1103.03 1.63 674.77 2.67 504.13 3.57 308.72 5.84 266.09 6.77 26342c62148962a09872831b7cef8aae-div-mitern165.cnf
1341.2 1.0 1622.48 0.83 1280.54 1.05 1028.41 1.3 912.07 1.47 671.72 2.0 517.84 2.59 d3c22bb79a638adc35682226f35e3bc4-pj2003_k9.cnf
1585.07 1.0 966.5 1.64 609.75 2.6 346.38 4.58 208.74 7.59 111.04 14.28 70.02 22.64 03c44a93577c98119dc498053888937a-ctl_4291_567_1_unsat_pre.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 3097.09 3.23 1543.13 6.48 915.96 10.92 1b78438db7da55c2b4c4b8ec6b6cd6c6-soelberg_unit_158.cnf
136.3 1.0 130.04 1.05 122.11 1.12 98.21 1.39 85.41 1.6 53.07 2.57 41.27 3.3 e7c0d40392681b1a55d5d3c826a26766-reconf20_116_le450_25c_1.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 9cdf94203777c9f036f412bef1cc7c85-tseitin_n196_d3.cnf
114.98 1.0 54.93 2.09 32.75 3.51 21.74 5.29 12.22 9.41 6.19 18.58 5.24 21.96 cac1c09f968ef8654c499156d1292385-SCPC-500-18.cnf
3355.18 1.0 3200.06 1.05 1985.64 1.69 1057.86 3.17 887.65 3.78 669.01 5.02 387.61 8.66 d7039acbd2f060fe1e32a273b07c2c77-sudoku-N30-29.cnf
120.09 1.0 55.9 2.15 36.54 3.29 21.28 5.64 10.24 11.73 6.9 17.4 5.07 23.68 0e89b0f96c99f1a6aaaf66c3ae805919-SCPC-500-15.cnf
326.51 1.0 168.71 1.94 114.7 2.85 57.78 5.65 30.86 10.58 17.21 18.97 10.81 30.2 7f4d55b70c61ffc611a58e01d52c19bb-SCPC-500-11.cnf
232.8 1.0 120.68 1.93 67.55 3.45 43.14 5.4 23.27 10.0 12.19 19.1 8.48 27.44 7a236bb9e1566b80fa7b593a7e973efa-SCPC-500-16.cnf
10000 1.0 0.21 48076.92 0.16 63291.14 0.19 52356.02 0.16 64102.56 0.11 94339.62 0.11 89285.71 e4128445a07bb86afca1f3590d9adfa9-worker_80_80_80_0.8.cnf
10000 1.0 4145.69 2.41 1587.81 6.3 2468.47 4.05 585.24 17.09 297.23 33.64 244.41 40.91 6901858f1edbe3b1d327902dab720326-reconf20_20_grid10_4_4957.cnf
1498.01 1.0 1063.03 1.41 1200.31 1.25 1023.43 1.46 953.46 1.57 768.91 1.95 837.22 1.79 0294158664d9ada36bd23fbb652cb823-smtlib-qfbv-aigs-countbits128-tseitin.cnf
140.39 1.0 64.52 2.18 40.14 3.5 24.73 5.68 12.72 11.03 7.69 18.26 5.76 24.38 48eacbc152c7710dfd6fe17a8a17199e-SCPC-500-7.cnf
2311.32 1.0 10000 0.23 1835.91 1.26 723.08 3.2 379.18 6.1 216.37 10.68 223.39 10.35 fbf3b9f8a03a1efedae3da04622fe96e-sqrt-mitern168.cnf
321.93 1.0 169.04 1.9 102.96 3.13 64.41 5.0 33.75 9.54 19.21 16.76 14.31 22.49 6f956a3f95ccaf35a3de1fe72b9cf79e-soelberg_unit_109.cnf
3128.46 1.0 2174.27 1.44 1725.77 1.81 1221.87 2.56 943.47 3.32 541.52 5.78 356.6 8.77 3d4beaebb3d87819ce9ff59e72047ef7-sudoku-N30-20.cnf
900.38 1.0 514.33 1.75 311.58 2.89 380.18 2.37 251.21 3.58 454.22 1.98 301.74 2.98 c98459d6a1763d809729e276b9c4cbbd-linked_list_swap_contents_safety_unwind74.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 08991fb6c7c45205df7f2bc2f51fb1d9-bobsmdct_k500.cnf
365.2 1.0 187.66 1.95 134.27 2.72 99.59 3.67 56.86 6.42 40.27 9.07 37.74 9.68 161a73825fb50badeedbf8d12e1e043a-cfi-rigid-z2-0088-03-or_2.cnf
28.21 1.0 217.72 0.13 48.39 0.58 67.41 0.42 28.68 0.98 64.68 0.44 45.11 0.63 004b0f451f7d96f6a572e9e76360f51a-spg_420_280.cnf
1924.64 1.0 1096.5 1.76 840.77 2.29 511.44 3.76 374.69 5.14 210.94 9.12 157.06 12.25 41423c03ef173a5b81d6e6776f316fa5-PancakeVsInsertSort_7_8.cnf
10000 1.0 0.08 119047.62 0.08 128205.13 0.07 138888.89 0.09 109890.11 0.05 217391.3 0.07 149253.73 5c6495ff589cbbcb550e1655dadbd143-worker_40_80_35_0.85.cnf
125.11 1.0 67.41 1.86 54.33 2.3 41.87 2.99 34.22 3.66 22.72 5.51 19.57 6.39 567964f034c8ffa65952897ce4927c6c-ablmulub16x4o.cnf
636.74 1.0 587.88 1.08 395.08 1.61 412.94 1.54 287.2 2.22 434.23 1.47 249.66 2.55 4408f3ebfc37275a23ef57cfcc8aba6d-aws-encryption-sdk-c:aws_cryptosdk_priv_hdr_parse_content_type.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 4245.25 2.36 2542.01 3.93 ae5f6e83a289d226a353efd95b663717-6s22_Iter99.cnf
226.36 1.0 227.44 1.0 196.17 1.15 186.3 1.22 156.62 1.45 178.37 1.27 178.56 1.27 2c0379771c5313567ea9e230438f203f-reconf20_320_hc-square-2_1.cnf
62.04 1.0 50.04 1.24 49.05 1.26 41.45 1.5 39.13 1.59 28.41 2.18 24.5 2.53 5e04f38ff11cee5d75fb98e12f6a14fc-sqrt-mitern172.cnf
90.38 1.0 97.73 0.92 78.33 1.15 79.46 1.14 82.03 1.1 65.16 1.39 60.94 1.48 a5e0082efb1da4dabaa165c2bda5f85e-linked_list_swap_contents_safety_unwind41.cnf
10000 1.0 10000 1.0 4816.56 2.08 3204.39 3.12 2320.5 4.31 1815.58 5.51 1188.63 8.41 3d449de3d6e722c9ce4a38ec748ee3cf-sudoku-N30-10.cnf
2169.43 1.0 400.53 5.42 160.24 13.54 108.88 19.92 64.83 33.46 46.79 46.37 33.42 64.92 02c6fe8483e4f4474b7ac9731772535d-ncc_none_7047_6_3_3_0_0_420.cnf
638.22 1.0 201.91 3.16 159.45 4.0 130.54 4.89 88.83 7.19 404.1 1.58 140.63 4.54 ddcb0cd9b7bca43c3a5189326ae88aab-linked_list_swap_contents_safety_unwind71.cnf
1531.7 1.0 0.03 49409.68 0.04 38292.5 0.05 31259.18 0.04 39274.36 0.03 56729.63 0.04 40307.89 a4451734e7f5f2ce7b481688a693c4e9-worker_20_20_16_0.9.cnf
10000 1.0 4045.99 2.47 1240.3 8.06 761.32 13.14 500.15 19.99 271.14 36.88 94.59 105.72 c846dfb21b50596aef8fbe5591d75eb0-UNSAT_MS_opt_snake_p20.pddl_29.cnf
876.79 1.0 58.02 15.11 58.53 14.98 148.49 5.9 228.86 3.83 124.65 7.03 83.69 10.48 cd1585619fea2f2634525a3663873764-linked_list_swap_contents_safety_unwind55.cnf
1449.28 1.0 1318.29 1.1 1196.39 1.21 769.11 1.88 453.09 3.2 233.27 6.21 157.95 9.18 6dd57612dab7692b8c38225bb852ce36-hwmcc15deep-6s516r-k18-sc2017.cnf
348.59 1.0 246.74 1.41 97.07 3.59 99.78 3.49 58.13 6.0 48.19 7.23 36.21 9.63 3d2b0088dccf11d1f82c89b7122c26e1-cfi-rigid-z2-0088-01-or_2_shuffle_all.cnf
553.18 1.0 420.48 1.32 218.07 2.54 133.73 4.14 81.1 6.82 51.58 10.73 36.14 15.31 e55a49d8065d65650f24c0f3ecef30b6-af-synthesis_stb_50_120_4_unsat.cnf
37.27 1.0 31.96 1.17 33.1 1.13 30.4 1.23 30.28 1.23 33.3 1.12 30.16 1.24 436d00b6d41912e800e9855d08c75139-manol-pipe-f7nidw.cnf
1273.5 1.0 717.6 1.77 782.05 1.63 642.11 1.98 410.2 3.1 538.33 2.37 380.2 3.35 35ad744923721e37a2f58443179c31a8-coreMQTT:MQTT_SerializeConnect.cnf
107.31 1.0 44.01 2.44 23.95 4.48 15.28 7.02 9.32 11.52 5.69 18.86 4.74 22.64 3159a02d096424aab6295c76360633a9-SCPC-500-10.cnf
663.64 1.0 527.54 1.26 337.77 1.96 225.16 2.95 137.87 4.81 75.91 8.74 52.21 12.71 372021735d9e46002b862aa2a038a818-j3045_4_rggt_bm1.cnf
204.47 1.0 150.62 1.36 111.64 1.83 73.03 2.8 58.26 3.51 30.47 6.71 22.27 9.18 43687a48fb119ca61b47c2fc69a71e7d-manthey_single-ordered-initialized-w42-b8.cnf
223.06 1.0 141.46 1.58 95.17 2.34 46.15 4.83 33.37 6.68 15.65 14.25 11.53 19.34 a7aac5c83f236fd8b3de3275e3f5499d-edit_distance041_183.cnf
1437.44 1.0 1835.92 0.78 1716.08 0.84 764.61 1.88 1900.93 0.76 296.1 4.85 309.27 4.65 13b13b34fe88f093aca06d6d035ee797-Lab-Project-FreeRTOS-Cellular-Library:Cellular_ATRemovePrefix.cnf
570.0 1.0 550.77 1.03 675.86 0.84 568.49 1.0 597.64 0.95 561.0 1.02 402.43 1.42 23e61c50ee2ac5cad1d337572abdebcf-aws-encryption-sdk-c:aws_cryptosdk_priv_hdr_parse_edks.cnf
21.26 1.0 27.31 0.78 69.2 0.31 40.01 0.53 29.25 0.73 64.48 0.33 43.37 0.49 02627689047d06fbb642eef14768d751-ps_200_300_70.cnf
476.09 1.0 81.48 5.84 75.92 6.27 76.5 6.22 68.17 6.98 78.6 6.06 76.0 6.26 a58badecf3c901594f06d021f54c3a11-aws-c-common:aws_priority_queue_s_sift_either.cnf
3184.22 1.0 1872.35 1.7 1119.35 2.84 667.64 4.77 349.04 9.12 179.7 17.72 113.54 28.04 cda0871abcaa41bb403207731bd24fe5-af-synthesis_stb_50_100_4_unsat.cnf
16.85 1.0 0.0 5616.67 0.01 3370.0 0.04 455.41 0.03 674.0 0.0 5616.67 0.01 2808.33 01d142c43f3ce9a8c5ef7a1ecdbb6cba-urquhart3_25bis.shuffled.cnf
71.15 1.0 53.14 1.34 57.95 1.23 53.18 1.34 43.61 1.63 34.72 2.05 28.93 2.46 a130a3f95891daed1bfd71c77bd2d8a1-SAT_dat.k80.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 4532.92 2.21 1725.7 5.79 1438.47 6.95 354936f86e55ab8d00e6e1f5f7c140a9-xor_op_n44_d3.cnf
10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 10000 1.0 d7f273dc6e97efe55c8b7f9cc547eb2d-sin_depth_miter_1.cnf

BIN
utils/hashmap.o Normal file

Binary file not shown.

View File

@ -1,21 +1,31 @@
#include "paras.hpp" #include "paras.hpp"
#include <cstdio> #include <cstdio>
#include <iostream> #include <iostream>
#include <string>
void paras::init_paras() { void paras::init_paras() {
#define PARA(N, T, D, L, H, C) \ #define PARA(N, T, D, L, H, C) \
if (!strcmp(#T, "int")) map_int[#N] = D; \ if (!strcmp(#T, "int")) map_int[#N] = D; \
else map_double[#N] = D; else map_double[#N] = D;
PARAS PARAS
#undef PARA #undef PARA
#define STR_PARA(N, D, C) \
map_string[#N] = D;
STR_PARAS
#undef STR_PARA
} }
void paras::sync_paras() { void paras::sync_paras() {
#define PARA(N, T, D, L, H, C) \ #define PARA(N, T, D, L, H, C) \
if (!strcmp(#T, "int")) N = map_int[#N]; \ if (!strcmp(#T, "int")) N = map_int[#N]; \
else N = map_double[#N]; else N = map_double[#N];
PARAS PARAS
#undef PARA #undef PARA
#define STR_PARA(N, D, C) \
N = map_string[#N];
STR_PARAS
#undef STR_PARAs
} }
@ -27,6 +37,10 @@ void paras::set_para(char *name, double val) {
map_double[name] = val; map_double[name] = val;
} }
void paras::set_para(char *name, char* val) {
map_string[name] = val;
}
void paras::print_change() { void paras::print_change() {
printf("c ------------------- Paras list -------------------\n"); printf("c ------------------- Paras list -------------------\n");
@ -35,9 +49,16 @@ void paras::print_change() {
#define PARA(N, T, D, L, H, C) \ #define PARA(N, T, D, L, H, C) \
if (map_int.count(#N)) printf("c %-20s\t %-10s\t %-10d\t %-10s\t %s\n", (#N), (#T), N, (#D), (C)); \ if (map_int.count(#N)) printf("c %-20s\t %-10s\t %-10d\t %-10s\t %s\n", (#N), (#T), N, (#D), (C)); \
else printf("c %-20s\t %-10s\t %-10f\t %-10s\t %s\n", (#N), (#T), N, (#D), (C)); else printf("c %-20s\t %-10s\t %-10f\t %-10s\t %s\n", (#N), (#T), N, (#D), (C));
PARAS PARAS
#undef PARA #undef PARA
#define STR_PARA(N, D, C) \
printf("c %-20s\t string\t\t %-10s\t %-10s\t %s\n", (#N), N.c_str(), (#D), (C));
STR_PARAS
#undef STR_PARA
printf("c --------------------------------------------------\n"); printf("c --------------------------------------------------\n");
} }

View File

@ -6,7 +6,7 @@
// name, type, default, low, high, comments // name, type, default, low, high, comments
#define PARAS \ #define PARAS \
PARA( DPS , int , 0 , 0 , 2 , "DPS/NPS") \ PARA( DPS , int , 0 , 0 , 1 , "DPS/NPS") \
PARA( DPS_period , int , 10000 , 1 , 1e8 , "DPS sharing period") \ PARA( DPS_period , int , 10000 , 1 , 1e8 , "DPS sharing period") \
PARA( margin , int , 0 , 0 , 1e3 , "DPS margin") \ PARA( margin , int , 0 , 0 , 1e3 , "DPS margin") \
PARA( pakis , int , 0 , 0 , 1 , "Use pakis diversity") \ PARA( pakis , int , 0 , 0 , 1 , "Use pakis diversity") \
@ -18,8 +18,10 @@
PARA( shuffle , int , 1 , 0 , 1 , "Use random shuffle") \ PARA( shuffle , int , 1 , 0 , 1 , "Use random shuffle") \
PARA( simplify , int , 1 , 0 , 1 , "Use Simplify (only preprocess)") \ PARA( simplify , int , 1 , 0 , 1 , "Use Simplify (only preprocess)") \
PARA( threads , int , 32 , 1 , 128 , "Thread number") \ PARA( threads , int , 32 , 1 , 128 , "Thread number") \
PARA( times , double , 5000 , 0 , 1e8 , "Cutoff time") \ PARA( times , double , 5000 , 0 , 1e8 , "Cutoff time")
#define STR_PARAS \
STR_PARA( config , "" , "Config file")
struct paras struct paras
{ {
@ -28,14 +30,21 @@ struct paras
PARAS PARAS
#undef PARA #undef PARA
#define STR_PARA(N, D, C) \
std::string N = D;
STR_PARAS
#undef STR_PARA
std::unordered_map<std::string, int> map_int; std::unordered_map<std::string, int> map_int;
std::unordered_map<std::string, double> map_double; std::unordered_map<std::string, double> map_double;
std::unordered_map<std::string, char*> map_string;
void init_paras (); void init_paras ();
void sync_paras (); void sync_paras ();
void print_change (); void print_change ();
void set_para (char *arg, int val); void set_para (char *arg, int val);
void set_para (char *arg, double val); void set_para (char *arg, double val);
void set_para (char *arg, char* val);
}; };
#define OPT(N) (opt->N) #define OPT(N) (opt->N)

BIN
utils/paras.o Normal file

Binary file not shown.

View File

@ -1,6 +1,6 @@
#include "../preprocess/preprocess.hpp"
#include <cstring> #include <cstring>
#include <fstream> #include <fstream>
#include "parse.hpp"
using namespace std; using namespace std;
char *read_whitespace(char *p) { char *read_whitespace(char *p) {
@ -41,7 +41,7 @@ char *read_int(char *p, int *i)
return p; return p;
} }
void preprocess::readfile(const char *file) { void readfile(const char *file, int *vars, int *clauses, vec<vec<int>> &clause) {
std::string infile(file); std::string infile(file);
std::ifstream fin(infile); std::ifstream fin(infile);
fin.seekg(0, fin.end); fin.seekg(0, fin.end);
@ -65,14 +65,12 @@ void preprocess::readfile(const char *file) {
else if (*p == 'p') else if (*p == 'p')
{ {
p += 5; p += 5;
p = read_int(p, &vars); p = read_int(p, vars);
p = read_int(p, &clauses); p = read_int(p, clauses);
orivars = vars;
oriclauses = clauses;
} }
else else
{ {
int32_t dimacs_lit; int dimacs_lit;
p = read_int(p, &dimacs_lit); p = read_int(p, &dimacs_lit);
if (*p == '\0' && dimacs_lit != 0) exit(0); if (*p == '\0' && dimacs_lit != 0) exit(0);
if (dimacs_lit == 0) if (dimacs_lit == 0)
@ -81,20 +79,20 @@ void preprocess::readfile(const char *file) {
clause[num_clauses].push(dimacs_lit); clause[num_clauses].push(dimacs_lit);
} }
} }
if (num_clauses != clauses + 1) { if (num_clauses != *clauses + 1) {
// printf("c parse warning: clauses: %d, real clauses: %d\n", clauses, num_clauses - 1); // printf("c parse warning: clauses: %d, real clauses: %d\n", clauses, num_clauses - 1);
clauses = num_clauses - 1; *clauses = num_clauses - 1;
} }
delete []data; delete []data;
} }
void preprocess::write_cnf() { // void preprocess::write_cnf() {
printf("p cnf %d %d\n", vars, clauses); // printf("p cnf %d %d\n", vars, clauses);
for (int i = 1; i <= clauses; i++) { // for (int i = 1; i <= clauses; i++) {
int l = clause[i].size(); // int l = clause[i].size();
for (int j = 0; j < l; j++) { // for (int j = 0; j < l; j++) {
printf("%d ", clause[i][j]); // printf("%d ", clause[i][j]);
} // }
puts("0"); // puts("0");
} // }
} // }

9
utils/parse.hpp Normal file
View File

@ -0,0 +1,9 @@
#ifndef _parse_hpp_INCLUDED
#define _parse_hpp_INCLUDED
#include "vec.hpp"
char *read_int(char *p, int *i);
char *read_until_new_line(char *p);
void readfile(const char *file, int *orivars, int *oriclauses, vec<vec<int>> &clause);
#endif

BIN
utils/parse.o Normal file

Binary file not shown.

View File

@ -30,7 +30,7 @@ class vec {
void setsize (int v) { sz = v;} void setsize (int v) { sz = v;}
void push (void) { if (sz == cap) capacity(sz + 1); new (&data[sz]) T(); sz++; } void push (void) { if (sz == cap) capacity(sz + 1); new (&data[sz]) T(); sz++; }
void push (const T& elem) { if (sz == cap) capInc(sz + 1); data[sz++] = elem; } void push (const T& elem) { if (sz == cap) capInc(sz + 1); data[sz++] = elem;}
void push_ (const T& elem) { assert(sz < cap); data[sz++] = elem; } void push_ (const T& elem) { assert(sz < cap); data[sz++] = elem; }
void pop (void) { assert(sz > 0), sz--, data[sz].~T(); } void pop (void) { assert(sz > 0), sz--, data[sz].~T(); }
void copyTo (vec<T>& copy) { copy.clear(); copy.growTo(sz); for (int i = 0; i < sz; i++) copy[i] = data[i]; } void copyTo (vec<T>& copy) { copy.clear(); copy.growTo(sz); for (int i = 0; i < sz; i++) copy[i] = data[i]; }
@ -63,7 +63,7 @@ void vec<T>::clear(bool dealloc) {
template<class T> template<class T>
void vec<T>::capInc(int to_cap) { void vec<T>::capInc(int to_cap) {
if (cap >= to_cap) return; if (cap >= to_cap) return;
int add = imax((to_cap - cap + 1) & ~1, ((cap >> 1) + 2) & ~1); int add = imax((to_cap - cap + 1) & ~1, ((cap >> 1) + 2) & ~1);
if (add > __INT_MAX__ - cap || ((data = (T*)::realloc(data, (cap += add) * sizeof(T))) == NULL) && errno == ENOMEM) if (add > __INT_MAX__ - cap || ((data = (T*)::realloc(data, (cap += add) * sizeof(T))) == NULL) && errno == ENOMEM)
throw OutOfMemoryException(); throw OutOfMemoryException();
} }

View File

@ -15,8 +15,9 @@ void basekissat::add(int l) {
kissat_add(solver, l); kissat_add(solver, l);
} }
void basekissat::configure(const char* name, int id) { void basekissat::configure(const char* name, int val) {
kissat_set_option(solver, name, id); printf("c %d set %s to %d\n", id, name, val);
kissat_set_option(solver, name, val);
} }
int basekissat::solve() { int basekissat::solve() {
@ -52,8 +53,6 @@ void basekissat::exp_clause(void* cl, int lbd) {
void call_back_out(void *solver, int lbd, cvec *c) { void call_back_out(void *solver, int lbd, cvec *c) {
basekissat* S = (basekissat *) solver; basekissat* S = (basekissat *) solver;
// ++S->x1;
// if (S->solver->nconflict != S->x1 - 1) printf("%d %d\n", S->solver->nconflict, S->x1);
if (lbd <= S->good_clause_lbd) { if (lbd <= S->good_clause_lbd) {
S->exp_clause(c, lbd); S->exp_clause(c, lbd);
} }
@ -82,132 +81,26 @@ int call_back_in(void *solver, int *lbd, cvec *c) {
if (S->import_clause.pop(cls) == false) return -1; if (S->import_clause.pop(cls) == false) return -1;
*lbd = cls->lbd; *lbd = cls->lbd;
bool res = S->imp_clause(cls, c); bool res = S->imp_clause(cls, c);
if (S->solver->share_dps != 2) { if (!S->solver->dps) {
cls->free_clause(); cls->free_clause();
} }
if (!res) return -10; if (!res) return -10;
return 1; return 1;
} }
int kissat_wait_sharing(void *solver) {
auto clk_st = std::chrono::high_resolution_clock::now();
basekissat* S = (basekissat *) solver;
sharer *share = S->in_sharer;
int should_free = 1;
if (S->solver->share_dps == 1) {
// printf("c %d into Light wait\n", S->id);
S->x1 = S->x2 = 0;
{
boost::mutex::scoped_lock lock(share->mtx);
if (share->terminated) return true;
share->waitings += 1;
lock.unlock();
// printf("c %d start wait with number %d\n", S->id, s->waitings);
}
if (share->should_sharing()) share->cond.notify_one();
boost::mutex::scoped_lock lock(share->mtx);
while (share->waitings > 0) {
share->cond.wait(lock);
}
}
else if (S->solver->share_dps == 2) { //share_dps = 2
if (S->period >= S->controller->get_winner_period()) {
S->set_winner_period();
return -1;
}
// printf("c thread %d into select %d\n", S->id, S->period);
S->select_clauses();
// printf("c %d now finish period %d\n", S->id, S->get_period());
S->inc_period();
// printf("c thread %d start import at %d\n", S->id, S->period);
should_free = share->import_clauses(S->id);
// printf("c thread %d finish import at %d\n", S->id, S->period);
}
auto clk_now = std::chrono::high_resolution_clock::now();
int solve_time = std::chrono::duration_cast<std::chrono::milliseconds>(clk_now - clk_st).count();
S->waiting_time += 0.001 * solve_time;
return should_free;
// printf("c %d wait for %d.%03ds\n", S->id, solve_time / 1000, solve_time % 1000);
// printf("c %d finish sharing\n", S->id);
}
void call_back_free(void *solver) {
basekissat* S = (basekissat *) solver;
sharer *share = S->in_sharer;
int current_period = S->get_period() - 1, import_period = current_period - share->margin;
if (import_period < 0) return;
for (int i = 0; i < share->producers.size(); i++) {
if (i == S->id) continue;
basesolver *s = share->producers[i];
period_clauses *pc = s->pq.find(import_period);
if (pc->period != import_period)
puts("*******************************************************");
if (pc->free_clause()) {
s->pq.pop(import_period);
// printf("thread %d enter, %d is free\n", S->id, i);
}
}
// printf("end finish\n");
}
void basekissat::select_clauses() {
sharer *share = in_sharer;
cls.clear();
export_clauses_to(cls);
for (int i = 0; i < cls.size(); i++) {
int sz = cls[i]->size;
while (sz > bucket.size()) bucket.push();
if (sz * (bucket[sz - 1].size() + 1) <= share->share_lits)
bucket[sz - 1].push(cls[i]);
}
period_clauses *pcls = new period_clauses(period);
int space = share->share_lits;
for (int i = 0; i < bucket.size(); i++) {
int clause_num = space / (i + 1);
if (!clause_num) break;
if (clause_num >= bucket[i].size()) {
space -= bucket[i].size() * (i + 1);
for (int j = 0; j < bucket[i].size(); j++)
pcls->push(bucket[i][j]);
bucket[i].clear();
}
else {
space -= clause_num * (i + 1);
for (int j = 0; j < clause_num; j++) {
pcls->push(bucket[i].last());
bucket[i].pop();
}
}
}
int percent = (share->share_lits - space) * 100 / share->share_lits;
if (percent < 75) broaden_export_limit();
if (percent > 98) restrict_export_limit();
//sort finish
pcls->increase_refs(share->producers.size() - 1);
pq.push(pcls);
}
basekissat::basekissat(int id, light* light) : basesolver(id, light) { basekissat::basekissat(int id, light* light) : basesolver(id, light) {
good_clause_lbd = 2;
period = 0;
margin = 0;
// outexport.open("export.txt");
// outimport.open("import.txt");
// outfree.open("free.txt");
solver = kissat_init(); solver = kissat_init();
solver -> issuer = this; solver -> issuer = this;
solver -> cbkImportClause = NULL; solver -> cbkImportClause = NULL;
solver -> cbkExportClause = NULL; solver -> cbkExportClause = NULL;
solver -> cbkWaitSharing = NULL; solver -> cbk_start_new_period = NULL;
if (light->opt->share) { if (light->opt->share) {
solver -> cbkImportClause = call_back_in; solver -> cbkImportClause = call_back_in;
solver -> cbkExportClause = call_back_out; solver -> cbkExportClause = call_back_out;
solver -> cbkWaitSharing = kissat_wait_sharing; solver -> cbk_start_new_period = cbk_start_new_period;
solver -> cbkFreeClause = call_back_free; solver -> cbk_free_clauses = cbk_free_clauses;
solver -> share_dps = light->opt->DPS; solver -> dps = light->opt->DPS;
solver -> share_dps_period= light->opt->DPS_period; solver -> dps_period = light->opt->DPS_period;
} }
} }
@ -216,16 +109,21 @@ basekissat::~basekissat(){
} }
void basekissat::parse_from_CNF(char* filename) { void basekissat::parse_from_CNF(char* filename) {
strictness strict = NORMAL_PARSING; int vars, clauses;
file in; vec<vec<int>> clause;
uint64_t lineno; readfile(filename, &vars, &clauses, clause);
kissat_open_to_read_file(&in, filename); maxvar = vars;
kissat_parse_dimacs(solver, strict, &in, &lineno, &solver->max_var); kissat_reserve(solver, vars);
kissat_close_file(&in); for (int i = 1; i <= clauses; i++) {
int l = clause[i].size();
for (int j = 0; j < l; j++)
add(clause[i][j]);
add(0);
}
} }
void basekissat::parse_from_PAR(preprocess* pre) { void basekissat::parse_from_PAR(preprocess* pre) {
solver->max_var = pre->vars; maxvar = pre->vars;
kissat_reserve(solver, pre->vars); kissat_reserve(solver, pre->vars);
for (int i = 1; i <= pre->clauses; i++) { for (int i = 1; i <= pre->clauses; i++) {
int l = pre->clause[i].size(); int l = pre->clause[i].size();
@ -235,49 +133,7 @@ void basekissat::parse_from_PAR(preprocess* pre) {
} }
} }
void basekissat::export_clauses_to(vec<clause_store *> &clauses) {
clause_store *cls;
while (export_clause.pop(cls)) {
clauses.push(cls);
// outexport << id << ": ";
// for (int i = 0; i < cls->size; i++)
// outexport << cls->data[i] << " ";
// outexport << std::endl;
}
}
void basekissat::import_clauses_from(vec<clause_store *> &clauses) {
for (int i = 0; i < clauses.size(); i++) {
import_clause.push(clauses[i]);
// outimport << id << ": ";
// for (int j = 0; j < clauses[i]->size; j++)
// outimport << clauses[i]->data[j] << " ";
// outimport << std::endl;
}
}
void basekissat::get_model(vec<int> &model) {
printf("111\n");
model.clear();
for (int i = 1; i <= solver->max_var; i++) {
model.push(val(i));
}
printf("222\n");
}
void basekissat::broaden_export_limit() {
++good_clause_lbd;
}
void basekissat::restrict_export_limit() {
if (good_clause_lbd > 2)
--good_clause_lbd;
}
int basekissat::get_conflicts() { int basekissat::get_conflicts() {
return solver->nconflict; return solver->nconflict;
} }
double basekissat::get_waiting_time() {
return waiting_time;
}

View File

@ -15,55 +15,14 @@ public:
int get_conflicts(); int get_conflicts();
void parse_from_CNF(char* filename); void parse_from_CNF(char* filename);
void parse_from_PAR(preprocess *pre); void parse_from_PAR(preprocess *pre);
void get_model(vec<int> &model);
void exp_clause(void *cl, int lbd); void exp_clause(void *cl, int lbd);
bool imp_clause(clause_store *cls, void *cl); bool imp_clause(clause_store *cls, void *cl);
void export_clauses_to(vec<clause_store *> &clauses);
void import_clauses_from(vec<clause_store *> &clauses);
void broaden_export_limit();
void restrict_export_limit();
double get_waiting_time();
basekissat(int id, light *light); basekissat(int id, light *light);
~basekissat(); ~basekissat();
int x1 = 0, x2 = 0;
double waiting_time = 0;
kissat* solver; kissat* solver;
int good_clause_lbd = 0;
void select_clauses();
int get_period() {
boost::mutex::scoped_lock lock(mtx);
return period;
};
void inc_period() {
boost::mutex::scoped_lock lock(mtx);
period++;
if (period % 100 == 0) printf("c %d reach period %d\n", id, period);
cond.notify_all();
};
void set_winner_period() {
boost::mutex::scoped_lock lock(mtx);
winner_period = period;
cond.notify_all();
}
void dps_terminate() {
{
boost::mutex::scoped_lock lock(mtx);
terminated = 1;
cond.notify_all();
// printf("c thread %d terminated\n", id);
}
terminate();
}
friend int cbkImportClause(void *, int *, cvec *); friend int cbkImportClause(void *, int *, cvec *);
friend int cbkExportClause(void *, int *, cvec *); friend int cbkExportClause(void *, int *, cvec *);
friend int cbkWaitSharing(void *); friend void cbk_free_clauses(void *);
friend void cbkFreeClause(void *);
std::ofstream outimport;
std::ofstream outexport;
std::ofstream outfree;
}; };

BIN
workers/basekissat.o Normal file

Binary file not shown.

155
workers/basesolver.cpp Normal file
View File

@ -0,0 +1,155 @@
#include "basesolver.hpp"
#include "sharer.hpp"
int basesolver::get_period() {
boost::mutex::scoped_lock lock(mtx);
return period;
};
void basesolver::inc_period() {
boost::mutex::scoped_lock lock(mtx);
period++;
if (period % 100 == 0) printf("c %d reach period %d\n", id, period);
cond.notify_all();
};
void basesolver::internal_terminate() {
boost::mutex::scoped_lock lock(mtx);
terminate_period = period;
cond.notify_all();
}
void basesolver::external_terminate() {
{
boost::mutex::scoped_lock lock(mtx);
terminated = 1;
cond.notify_all();
// printf("c thread %d terminated\n", id);
}
terminate();
}
void basesolver::broaden_export_limit() {
++good_clause_lbd;
}
void basesolver::restrict_export_limit() {
if (good_clause_lbd > 2)
--good_clause_lbd;
}
double basesolver::get_waiting_time() {
return waiting_time;
}
void basesolver::export_clauses_to(vec<clause_store *> &clauses) {
clause_store *cls;
while (export_clause.pop(cls)) {
clauses.push(cls);
}
}
void basesolver::import_clauses_from(vec<clause_store *> &clauses) {
for (int i = 0; i < clauses.size(); i++) {
import_clause.push(clauses[i]);
}
}
void basesolver::select_clauses() {
sharer *share = in_sharer;
cls.clear();
export_clauses_to(cls);
for (int i = 0; i < cls.size(); i++) {
int sz = cls[i]->size;
while (sz > bucket.size()) bucket.push();
if (sz * (bucket[sz - 1].size() + 1) <= share->share_lits)
bucket[sz - 1].push(cls[i]);
}
period_clauses *pcls = new period_clauses(period);
int space = share->share_lits;
for (int i = 0; i < bucket.size(); i++) {
int clause_num = space / (i + 1);
if (!clause_num) break;
if (clause_num >= bucket[i].size()) {
space -= bucket[i].size() * (i + 1);
for (int j = 0; j < bucket[i].size(); j++)
pcls->push(bucket[i][j]);
bucket[i].clear();
}
else {
space -= clause_num * (i + 1);
for (int j = 0; j < clause_num; j++) {
pcls->push(bucket[i].last());
bucket[i].pop();
}
}
}
int percent = (share->share_lits - space) * 100 / share->share_lits;
if (percent < 75) broaden_export_limit();
if (percent > 98) restrict_export_limit();
//sort finish
pcls->increase_refs(share->producers.size() - 1);
pq.push(pcls);
}
void basesolver::get_model(vec<int> &model) {
model.clear();
for (int i = 1; i <= maxvar; i++) {
model.push(val(i));
}
}
void cbk_start_new_period(void *solver) {
auto clk_st = std::chrono::high_resolution_clock::now();
basesolver* S = (basesolver *) solver;
sharer *share = S->in_sharer;
int should_free = 1;
if (S->period >= S->controller->get_winner_period()) {
S->internal_terminate();
S->terminate();
return;
}
printf("c thread %d into select %d\n", S->id, S->period);
S->select_clauses();
// printf("c %d now finish period %d\n", S->id, S->get_period());
S->inc_period();
// printf("c thread %d start import at %d\n", S->id, S->period);
should_free = share->import_clauses(S->id);
printf("c thread %d finish import at %d\n", S->id, S->period);
if (should_free == -1) {
S->internal_terminate();
S->terminate();
}
auto clk_now = std::chrono::high_resolution_clock::now();
int solve_time = std::chrono::duration_cast<std::chrono::milliseconds>(clk_now - clk_st).count();
S->waiting_time += 0.001 * solve_time;
// printf("c %d wait for %d.%03ds\n", S->id, solve_time / 1000, solve_time % 1000);
// printf("c %d finish sharing\n", S->id);
}
void cbk_free_clauses(void *solver) {
basesolver* S = (basesolver *) solver;
sharer *share = S->in_sharer;
if (S->unfree.size()) printf("free %d period\n", S->unfree.size());
for (int id = 0; id < S->unfree.size(); id++) {
int import_period = S->unfree[id];
// int current_period = S->get_period() - 1, import_period = current_period - share->margin;
// if (import_period < 0) return;
for (int i = 0; i < share->producers.size(); i++) {
if (i == S->id) continue;
basesolver *s = share->producers[i];
period_clauses *pc = s->pq.find(import_period);
if (pc->period != import_period)
puts("*******************************************************");
if (pc->free_clause()) {
s->pq.pop(import_period);
// printf("thread %d enter, %d is free\n", S->id, i);
}
}
}
S->unfree.clear();
}

View File

@ -9,6 +9,7 @@
#include <boost/thread.hpp> #include <boost/thread.hpp>
#include <boost/thread/thread.hpp> #include <boost/thread/thread.hpp>
#include <boost/lockfree/spsc_queue.hpp> #include <boost/lockfree/spsc_queue.hpp>
class sharer; class sharer;
class basesolver { class basesolver {
public: public:
@ -19,43 +20,59 @@ public:
virtual void configure(const char* name, int id) = 0; virtual void configure(const char* name, int id) = 0;
virtual int get_conflicts() = 0; virtual int get_conflicts() = 0;
virtual void dps_terminate() = 0;
virtual void parse_from_CNF(char* filename) = 0; virtual void parse_from_CNF(char* filename) = 0;
virtual void parse_from_PAR(preprocess* pre) = 0; virtual void parse_from_PAR(preprocess* pre) = 0;
virtual void get_model(vec<int> &model) = 0;
virtual void exp_clause(void *cl, int lbd) = 0; virtual void exp_clause(void *cl, int lbd) = 0;
virtual bool imp_clause(clause_store *cls, void *cl) = 0; virtual bool imp_clause(clause_store *cls, void *cl) = 0;
virtual void export_clauses_to(vec<clause_store *> &clauses) = 0;
virtual void import_clauses_from(vec<clause_store *> &clauses) = 0; void export_clauses_to(vec<clause_store *> &clauses);
virtual void broaden_export_limit() = 0; void import_clauses_from(vec<clause_store *> &clauses);
virtual void restrict_export_limit() = 0;
virtual double get_waiting_time() = 0; void get_model(vec<int> &model);
virtual void select_clauses() = 0; void select_clauses();
virtual int get_period() = 0; void broaden_export_limit();
virtual void inc_period() = 0; void restrict_export_limit();
virtual void set_winner_period() = 0; double get_waiting_time();
int get_period();
void inc_period();
void internal_terminate();
void external_terminate();
double waiting_time = 0;
int good_clause_lbd = 0;
light * controller; light * controller;
int id; int id;
sharer* in_sharer; sharer* in_sharer;
vec<int> model; vec<int> model;
int winner_period = 1e9; int terminate_period = 1e9;
int period, margin, terminated = 0; int maxvar, period, margin, terminated = 0;
mutable boost::mutex mtx; mutable boost::mutex mtx;
boost::condition_variable cond; boost::condition_variable cond;
period_queue pq; period_queue pq;
vec<clause_store *> cls; vec<clause_store *> cls;
vec<vec<clause_store *>> bucket; vec<vec<clause_store *>> bucket;
vec<int> unfree;
boost::lockfree::spsc_queue<clause_store*, boost::lockfree::capacity<1024000>> import_clause; boost::lockfree::spsc_queue<clause_store*, boost::lockfree::capacity<1024000>> import_clause;
boost::lockfree::spsc_queue<clause_store*, boost::lockfree::capacity<1024000>> export_clause; boost::lockfree::spsc_queue<clause_store*, boost::lockfree::capacity<1024000>> export_clause;
basesolver(int sid, light* light) : id(sid), controller(light) {} basesolver(int sid, light* light) : id(sid), controller(light) {
good_clause_lbd = 2;
period = 0;
margin = 0;
}
~basesolver() { ~basesolver() {
if (controller) { if (controller) {
controller = NULL; controller = NULL;
} }
} }
friend void cbk_start_new_period(void *);
friend void cbk_free_clauses(void *);
}; };
void cbk_start_new_period(void *);
void cbk_free_clauses(void *);
#endif #endif

BIN
workers/basesolver.o Normal file

Binary file not shown.

View File

@ -12,21 +12,11 @@ void * share_worker(void *arg) {
double share_time = 0; double share_time = 0;
while (true) { while (true) {
++nums; ++nums;
if (sq->dps) { usleep(sq->share_intv);
// printf("c sharing thread start wait\n");
sq->waiting_for_all_ready();
// printf("c sharing thread start sharing with number %d\n", sq->waitings);
}
else {
usleep(sq->share_intv);
}
auto clk_now = std::chrono::high_resolution_clock::now(); auto clk_now = std::chrono::high_resolution_clock::now();
int solve_time = std::chrono::duration_cast<std::chrono::milliseconds>(clk_now - clk_st).count(); int solve_time = std::chrono::duration_cast<std::chrono::milliseconds>(clk_now - clk_st).count();
printf("c round %d, time: %d.%03d\n", nums, solve_time / 1000, solve_time % 1000); printf("c round %d, time: %d.%03d\n", nums, solve_time / 1000, solve_time % 1000);
if (terminated) { if (terminated) break;
if (sq->dps) sq->sharing_finish();
break;
}
// printf("start sharing %d\n", sq->share_intv); // printf("start sharing %d\n", sq->share_intv);
for (int i = 0; i < sq->producers.size(); i++) { for (int i = 0; i < sq->producers.size(); i++) {
sq->cls.clear(); sq->cls.clear();
@ -41,11 +31,7 @@ void * share_worker(void *arg) {
else if (percent > 98) { else if (percent > 98) {
sq->producers[i]->restrict_export_limit(); sq->producers[i]->restrict_export_limit();
} }
// for (int k = 0; k < sq->cls.size(); k++) {
// int x = sq->cls[k]->refs;
// printf("%d ", x);
// }
// puts("");
for (int j = 0; j < sq->consumers.size(); j++) { for (int j = 0; j < sq->consumers.size(); j++) {
if (sq->producers[i]->id == sq->consumers[j]->id) continue; if (sq->producers[i]->id == sq->consumers[j]->id) continue;
for (int k = 0; k < sq->cls.size(); k++) for (int k = 0; k < sq->cls.size(); k++)
@ -58,39 +44,30 @@ void * share_worker(void *arg) {
} }
auto clk_ed = std::chrono::high_resolution_clock::now(); auto clk_ed = std::chrono::high_resolution_clock::now();
share_time += 0.001 * std::chrono::duration_cast<std::chrono::milliseconds>(clk_ed - clk_now).count(); share_time += 0.001 * std::chrono::duration_cast<std::chrono::milliseconds>(clk_ed - clk_now).count();
if (sq->dps) {
sq->sharing_finish();
}
} }
printf("c sharing nums: %d\nc sharing time: %.2lf\n", nums, share_time); printf("c sharing nums: %d\nc sharing time: %.2lf\n", nums, share_time);
// if (terminated) puts("terminated set to 1"); // if (terminated) puts("terminated set to 1");
return NULL; return NULL;
} }
// void sharer::select_clauses(int id) { int sharer::import_clauses(int id) {
// }
bool sharer::import_clauses(int id) {
int current_period = producers[id]->get_period() - 1, import_period = current_period - margin; int current_period = producers[id]->get_period() - 1, import_period = current_period - margin;
if (import_period < 0) return false; if (import_period < 0) return 0;
basesolver *t = producers[id]; basesolver *t = producers[id];
for (int i = 0; i < producers.size(); i++) { for (int i = 0; i < producers.size(); i++) {
if (i == id) continue; if (i == id) continue;
basesolver *s = producers[i]; basesolver *s = producers[i];
//wait for s reach period $import_period //wait for s reach period $import_period
// printf("c %d start waiting, since import_p is %d, current_p is %d\n", id, import_period, s->get_period()); // printf("c %d start waiting, since import_p is %d, current_p is %d\n", id, import_period, s->get_period());
// if (id == 3 && current_period == 84) printf("\tc thread 3 wait for %d\n", i);
boost::mutex::scoped_lock lock(s->mtx); boost::mutex::scoped_lock lock(s->mtx);
while (s->period <= import_period && s->winner_period > import_period && !s->terminated) { while (s->period <= import_period && s->terminate_period > import_period && !s->terminated) {
s->cond.wait(lock); s->cond.wait(lock);
} }
// if (id == 3 && current_period == 84) printf("\tc thread 3 finish wait for %d\n", i);
if (s->terminated || s->winner_period <= import_period) return false; if (s->terminated) return -1;
// if (s->terminated) return; if (s->terminate_period <= import_period) return -1;
period_clauses *pc = s->pq.find(import_period); period_clauses *pc = s->pq.find(import_period);
if (pc->period != import_period) { if (pc->period != import_period) {
printf("thread %d, now period = %d, import period = %d, import thread %d\n", id, current_period, import_period, i); printf("thread %d, now period = %d, import period = %d, import thread %d\n", id, current_period, import_period, i);
@ -99,15 +76,14 @@ bool sharer::import_clauses(int id) {
// printf("c %d finish waiting %d %d\n", id, import_period, s->period_queue[pos]->period); // printf("c %d finish waiting %d %d\n", id, import_period, s->period_queue[pos]->period);
t->import_clauses_from(pc->cls); t->import_clauses_from(pc->cls);
} }
return true; t->unfree.push(import_period);
return 1;
// printf("c thread %d, period %d, import finish\n", id, current_period); // printf("c thread %d, period %d, import finish\n", id, current_period);
} }
int sharer::sort_clauses(int x) { int sharer::sort_clauses(int x) {
for (int i = 0; i < cls.size(); i++) { for (int i = 0; i < cls.size(); i++) {
int sz = cls[i]->size; int sz = cls[i]->size;
// for (int j = 0; j < sz; j++) printf("%d ", cls[i]->data[j]);
// puts("");
while (sz > bucket[x].size()) bucket[x].push(); while (sz > bucket[x].size()) bucket[x].push();
if (sz * (bucket[x][sz - 1].size() + 1) <= share_lits) if (sz * (bucket[x][sz - 1].size() + 1) <= share_lits)
bucket[x][sz - 1].push(cls[i]); bucket[x][sz - 1].push(cls[i]);
@ -134,17 +110,12 @@ int sharer::sort_clauses(int x) {
} }
} }
} }
// for (int i = 0; i < cls.size(); i++) {
// int sz = cls[i]->size;
// for (int j = 0; j < sz; j++) printf("%d ", cls[i]->data[j]);
// puts("");
// }
return (share_lits - space) * 100 / share_lits; return (share_lits - space) * 100 / share_lits;
} }
void light::share() { void light::share() {
printf("c sharing start\n"); printf("c sharing start\n");
if (OPT(DPS) == 2) { if (OPT(DPS)) {
sharer* s = new sharer(0, OPT(share_intv), OPT(share_lits), OPT(DPS)); sharer* s = new sharer(0, OPT(share_intv), OPT(share_lits), OPT(DPS));
s->margin = OPT(margin); s->margin = OPT(margin);
for (int j = 0; j < OPT(threads); j++) { for (int j = 0; j < OPT(threads); j++) {

View File

@ -47,7 +47,7 @@ public:
} }
int sort_clauses(int x); int sort_clauses(int x);
// void select_clauses(int id); // void select_clauses(int id);
bool import_clauses(int id); int import_clauses(int id);
}; };
#endif #endif

BIN
workers/sharer.o Normal file

Binary file not shown.