ABC: A System for Sequential Synthesis and Verification
 
Loading...
Searching...
No Matches
CaDiCaL::Stats Struct Reference

#include <stats.hpp>

Collaboration diagram for CaDiCaL::Stats:

Public Member Functions

 Stats ()
 
void print (Internal *)
 

Public Attributes

Internalinternal
 
int64_t vars = 0
 
int64_t conflicts = 0
 
int64_t decisions = 0
 
struct { 
 
   int64_t   cover = 0 
 
   int64_t   instantiate = 0 
 
   int64_t   probe = 0 
 
   int64_t   search = 0 
 
   int64_t   transred = 0 
 
   int64_t   vivify = 0 
 
   int64_t   walk = 0 
 
propagations 
 
struct { 
 
   int64_t   search [2] = {0} 
 
   int64_t   factor = 0 
 
   int64_t   probe = 0 
 
   int64_t   sweep = 0 
 
   int64_t   ternary = 0 
 
   int64_t   vivify = 0 
 
ticks 
 
struct { 
 
   int64_t   ext_cb = 0 
 
   int64_t   eprop_call = 0 
 
   int64_t   eprop_prop = 0 
 
   int64_t   eprop_conf 
 
   int64_t   eprop_expl 
 
   int64_t   elearn_call 
 
   int64_t   elearned 
 
   int64_t   elearn_prop 
 
   int64_t   elearn_conf 
 
   int64_t   echeck_call = 0 
 
ext_prop 
 
int64_t condassinit = 0
 
int64_t condassirem = 0
 
int64_t condassrem = 0
 
int64_t condassvars = 0
 
int64_t condautinit = 0
 
int64_t condautrem = 0
 
int64_t condcands = 0
 
int64_t condcondinit = 0
 
int64_t condcondrem
 
int64_t conditioned = 0
 
int64_t conditionings = 0
 
int64_t condprops = 0
 
struct { 
 
   int64_t   block = 0 
 
   int64_t   elim = 0 
 
   int64_t   subsume = 0 
 
   int64_t   ternary = 0 
 
   int64_t   factor = 0 
 
mark 
 
struct { 
 
   int64_t   total = 0 
 
   int64_t   redundant = 0 
 
   int64_t   irredundant = 0 
 
current 
 
struct { 
 
   int64_t   total = 0 
 
   int64_t   redundant = 0 
 
   int64_t   irredundant = 0 
 
added 
 
struct { 
 
   double   process = 0 
 
   double   real = 0 
 
time 
 
struct { 
 
   int64_t   count = 0 
 
   int64_t   asymmetric = 0 
 
   int64_t   blocked = 0 
 
   int64_t   total = 0 
 
cover 
 
struct { 
 
   int64_t   tried = 0 
 
   int64_t   succeeded = 0 
 
   struct { 
 
      int64_t   one = 0 
 
      int64_t   zero = 0 
 
   }   constant 
 
   struct { 
 
      int64_t   one = 0 
 
      int64_t   zero = 0 
 
   }   forward 
 
   struct { 
 
      int64_t   one = 0 
 
      int64_t   zero = 0 
 
   }   backward 
 
   struct { 
 
      int64_t   positive = 0 
 
      int64_t   negative = 0 
 
   }   horn 
 
lucky 
 
struct { 
 
   int64_t   total = 0 
 
   int64_t   best = 0 
 
   int64_t   flipped = 0 
 
   int64_t   inverted = 0 
 
   int64_t   original = 0 
 
   int64_t   random = 0 
 
   int64_t   walk = 0 
 
rephased 
 
struct { 
 
   int64_t   count = 0 
 
   int64_t   broken = 0 
 
   int64_t   flips = 0 
 
   int64_t   minimum = 0 
 
walk 
 
struct { 
 
   int64_t   count = 0 
 
   int64_t   learned = 0 
 
   int64_t   hyper = 0 
 
flush 
 
int64_t compacts = 0
 
int64_t shuffled = 0
 
int64_t restarts = 0
 
int64_t restartlevels = 0
 
int64_t restartstable = 0
 
int64_t stabphases = 0
 
int64_t stabconflicts
 
int64_t rescored = 0
 
int64_t reused = 0
 
int64_t reusedlevels = 0
 
int64_t reusedstable = 0
 
int64_t sections = 0
 
int64_t chrono = 0
 
int64_t backtracks = 0
 
int64_t improvedglue = 0
 
int64_t promoted1 = 0
 
int64_t promoted2 = 0
 
int64_t bumped = 0
 
int64_t recomputed = 0
 
int64_t searched = 0
 
int64_t reductions = 0
 
int64_t reduced = 0
 
int64_t reduced_sqrt = 0
 
int64_t reduced_prct = 0
 
int64_t collected = 0
 
int64_t collections = 0
 
int64_t hbrs = 0
 
int64_t hbrsizes = 0
 
int64_t hbreds = 0
 
int64_t hbrsubs = 0
 
int64_t instried = 0
 
int64_t instantiated = 0
 
int64_t instrounds = 0
 
int64_t subsumed = 0
 
int64_t deduplicated = 0
 
int64_t deduplications = 0
 
int64_t strengthened = 0
 
int64_t eliminated_equi
 
int64_t eliminated_and = 0
 
int64_t eliminated_ite = 0
 
int64_t eliminated_xor = 0
 
int64_t eliminated_def
 
int64_t definitions_checked = 0
 
int64_t definitions_extracted = 0
 
int64_t definition_units = 0
 
int64_t definition_ticks = 0
 
int64_t factored = 0
 
int64_t factor_added = 0
 
int64_t variables_extension = 0
 
int64_t variables_original = 0
 
int64_t literals_factored = 0
 
int64_t clauses_unfactored = 0
 
int64_t literals_unfactored = 0
 
int64_t elimotfstr
 
int64_t subirr = 0
 
int64_t subred = 0
 
int64_t subtried = 0
 
int64_t subchecks = 0
 
int64_t subchecks2 = 0
 
int64_t elimotfsub
 
int64_t subsumerounds = 0
 
int64_t subsumephases = 0
 
int64_t eagertried = 0
 
int64_t eagersub
 
int64_t elimres = 0
 
int64_t elimrestried = 0
 
int64_t elimfastrounds = 0
 
int64_t elimrounds = 0
 
int64_t elimphases = 0
 
int64_t elimfastphases = 0
 
int64_t elimcompleted = 0
 
int64_t elimtried = 0
 
int64_t elimsubst = 0
 
int64_t elimgates = 0
 
int64_t elimequivs = 0
 
int64_t elimands = 0
 
int64_t elimites = 0
 
int64_t elimxors = 0
 
int64_t elimbwsub = 0
 
int64_t elimbwstr = 0
 
int64_t ternres = 0
 
int64_t htrs = 0
 
int64_t htrs2 = 0
 
int64_t htrs3 = 0
 
int64_t decompositions = 0
 
int64_t vivifications = 0
 
int64_t vivifychecks = 0
 
int64_t vivifydecs = 0
 
int64_t vivifyreused = 0
 
int64_t vivifysched = 0
 
int64_t vivifysubs = 0
 
int64_t vivifysubred = 0
 
int64_t vivifysubirr = 0
 
int64_t vivifystrs = 0
 
int64_t vivifystrirr = 0
 
int64_t vivifystred1 = 0
 
int64_t vivifystred2 = 0
 
int64_t vivifystred3 = 0
 
int64_t vivifyunits = 0
 
int64_t vivifyimplied = 0
 
int64_t vivifyinst = 0
 
int64_t vivifydemote = 0
 
int64_t transreds = 0
 
int64_t transitive = 0
 
struct { 
 
   int64_t   literals = 0 
 
   int64_t   clauses = 0 
 
learned 
 
int64_t minimized = 0
 
int64_t shrunken = 0
 
int64_t minishrunken = 0
 
int64_t irrlits = 0
 
struct { 
 
   int64_t   bytes = 0 
 
   int64_t   clauses = 0 
 
   int64_t   literals = 0 
 
garbage 
 
int64_t sweep_units = 0
 
int64_t sweep_flip_backbone = 0
 
int64_t sweep_fixed_backbone = 0
 
int64_t sweep_flipped_backbone = 0
 
int64_t sweep_solved_backbone = 0
 
int64_t sweep_sat_backbone = 0
 
int64_t sweep_unsat_backbone = 0
 
int64_t sweep_unknown_backbone = 0
 
int64_t sweep_flip_equivalences = 0
 
int64_t sweep_flipped_equivalences = 0
 
int64_t sweep_sat_equivalences = 0
 
int64_t sweep_unsat_equivalences = 0
 
int64_t sweep_unknown_equivalences = 0
 
int64_t sweep_solved_equivalences = 0
 
int64_t sweep_equivalences = 0
 
int64_t sweep_variables = 0
 
int64_t sweep_completed = 0
 
int64_t sweep_solved = 0
 
int64_t sweep_sat = 0
 
int64_t sweep_unsat = 0
 
int64_t sweep_depth = 0
 
int64_t sweep_environment = 0
 
int64_t sweep_clauses = 0
 
int64_t units = 0
 
int64_t binaries = 0
 
int64_t inprobingphases = 0
 
int64_t probingrounds = 0
 
int64_t inprobesuccess = 0
 
int64_t probed = 0
 
int64_t failed = 0
 
int64_t hyperunary = 0
 
int64_t probefailed = 0
 
int64_t transredunits = 0
 
int64_t blockings = 0
 
int64_t blockres = 0
 
int64_t blockcands = 0
 
int64_t blockpured = 0
 
int64_t blockpurelits = 0
 
int64_t extensions = 0
 
int64_t extended = 0
 
int64_t weakened = 0
 
int64_t weakenedlen = 0
 
int64_t restorations = 0
 
int64_t restored = 0
 
int64_t reactivated = 0
 
int64_t restoredlits = 0
 
int64_t preprocessings = 0
 
int64_t ilbtriggers = 0
 
int64_t ilbsuccess = 0
 
int64_t levelsreused = 0
 
int64_t literalsreused = 0
 
int64_t assumptionsreused = 0
 
int64_t tierecomputed = 0
 
struct { 
 
   int64_t   fixed = 0 
 
   int64_t   eliminated = 0 
 
   int64_t   fasteliminated = 0 
 
   int64_t   substituted = 0 
 
   int64_t   pure = 0 
 
all 
 
struct { 
 
   int64_t   fixed = 0 
 
   int64_t   eliminated = 0 
 
   int64_t   fasteliminated = 0 
 
   int64_t   substituted = 0 
 
   int64_t   pure = 0 
 
now 
 
struct { 
 
   int64_t   strengthened = 0 
 
   int64_t   subsumed = 0 
 
otfs 
 
int64_t unused = 0
 
int64_t active = 0
 
int64_t inactive = 0
 
std::vector< uint64_t > bump_used = {0, 0}
 
std::vector< std::vector< uint64_t > > used
 
struct { 
 
   int64_t   gates = 0 
 
   int64_t   ands = 0 
 
   int64_t   ites = 0 
 
   int64_t   xors = 0 
 
   int64_t   units = 0 
 
   int64_t   congruent = 0 
 
   int64_t   rounds = 0 
 
   int64_t   unary_and = 0 
 
   int64_t   unaries = 0 
 
   int64_t   rewritten_ands = 0 
 
   int64_t   simplified = 0 
 
   int64_t   simplified_ands = 0 
 
   int64_t   simplified_xors = 0 
 
   int64_t   simplified_ites = 0 
 
   int64_t   subsumed = 0 
 
   int64_t   trivial_ite = 0 
 
   int64_t   unary_ites = 0 
 
congruence 
 

Detailed Description

Definition at line 16 of file stats.hpp.

Constructor & Destructor Documentation

◆ Stats()

CaDiCaL::Stats::Stats ( )

Definition at line 13 of file cadical_stats.cpp.

13 {
14 time.real = absolute_real_time ();
15 time.process = absolute_process_time ();
16 walk.minimum = LONG_MAX;
17 used.resize (2);
18 used[0].resize (127);
19 used[1].resize (127);
20}
double absolute_process_time()
double absolute_real_time()
std::vector< std::vector< uint64_t > > used
Definition stats.hpp:343
int64_t walk
Definition stats.hpp:32
struct CaDiCaL::Stats::@004320020100036166131020046067276224372273042350 time
Here is the call graph for this function:
Here is the caller graph for this function:

Member Function Documentation

◆ print()

void CaDiCaL::Stats::print ( Internal * internal)

Definition at line 33 of file cadical_stats.cpp.

33 {
34
35#ifdef CADICAL_QUIET
36 (void) internal;
37#else
38
39 Stats &stats = internal->stats;
40
41 int all = internal->opts.verbose > 0 || internal->opts.stats;
42#ifdef LOGGING
43 if (internal->opts.log)
44 all = true;
45#endif // ifdef LOGGING
46
47 if (internal->opts.profile)
48 internal->print_profile ();
49
50 double t = internal->solve_time ();
51
52 int64_t propagations = 0;
53 propagations += stats.propagations.cover;
54 propagations += stats.propagations.probe;
55 propagations += stats.propagations.search;
56 propagations += stats.propagations.transred;
57 propagations += stats.propagations.vivify;
58 propagations += stats.propagations.walk;
59
60 int64_t vivified = stats.vivifysubs + stats.vivifystrs;
61 int64_t searchticks = stats.ticks.search[0] + stats.ticks.search[1];
62 int64_t inprobeticks = stats.ticks.vivify + stats.ticks.probe +
63 stats.ticks.factor + stats.ticks.ternary +
64 stats.ticks.sweep;
65 int64_t totalticks = searchticks + inprobeticks;
66
67 size_t extendbytes = internal->external->extension.size ();
68 extendbytes *= sizeof (int);
69
70 SECTION ("statistics");
71
72 if (all || stats.blocked) {
73 PRT ("blocked: %15" PRId64
74 " %10.2f %% of irredundant clauses",
75 stats.blocked, percent (stats.blocked, stats.added.irredundant));
76 PRT (" blockings: %15" PRId64 " %10.2f internal",
77 stats.blockings, relative (stats.conflicts, stats.blockings));
78 PRT (" candidates: %15" PRId64 " %10.2f per blocking ",
79 stats.blockcands, relative (stats.blockcands, stats.blockings));
80 PRT (" blockres: %15" PRId64 " %10.2f per candidate",
81 stats.blockres, relative (stats.blockres, stats.blockcands));
82 PRT (" pure: %15" PRId64 " %10.2f %% of all variables",
83 stats.all.pure, percent (stats.all.pure, stats.vars));
84 PRT (" pureclauses: %15" PRId64 " %10.2f per pure literal",
85 stats.blockpured, relative (stats.blockpured, stats.all.pure));
86 }
87 if (all || stats.chrono)
88 PRT ("chronological: %15" PRId64 " %10.2f %% of conflicts",
89 stats.chrono, percent (stats.chrono, stats.conflicts));
90 if (all)
91 PRT ("compacts: %15" PRId64 " %10.2f interval",
92 stats.compacts, relative (stats.conflicts, stats.compacts));
93 if (all || stats.conflicts) {
94 PRT ("conflicts: %15" PRId64 " %10.2f per second",
95 stats.conflicts, relative (stats.conflicts, t));
96 PRT (" backtracked: %15" PRId64 " %10.2f %% of conflicts",
97 stats.backtracks, percent (stats.backtracks, stats.conflicts));
98 }
99 if (all || stats.conditioned) {
100 PRT ("conditioned: %15" PRId64
101 " %10.2f %% of irredundant clauses",
102 stats.conditioned,
103 percent (stats.conditioned, stats.added.irredundant));
104 PRT (" conditionings: %15" PRId64 " %10.2f interval",
105 stats.conditionings,
106 relative (stats.conflicts, stats.conditionings));
107 PRT (" condcands: %15" PRId64 " %10.2f candidate clauses",
108 stats.condcands, relative (stats.condcands, stats.conditionings));
109 PRT (" condassinit: %17.1f %9.2f %% initial assigned",
110 relative (stats.condassinit, stats.conditionings),
111 percent (stats.condassinit, stats.condassvars));
112 PRT (" condcondinit: %17.1f %9.2f %% initial condition",
113 relative (stats.condcondinit, stats.conditionings),
114 percent (stats.condcondinit, stats.condassinit));
115 PRT (" condautinit: %17.1f %9.2f %% initial autarky",
116 relative (stats.condautinit, stats.conditionings),
117 percent (stats.condautinit, stats.condassinit));
118 PRT (" condassrem: %17.1f %9.2f %% final assigned",
119 relative (stats.condassrem, stats.conditioned),
120 percent (stats.condassrem, stats.condassirem));
121 PRT (" condcondrem: %19.3f %7.2f %% final conditional",
122 relative (stats.condcondrem, stats.conditioned),
123 percent (stats.condcondrem, stats.condassrem));
124 PRT (" condautrem: %19.3f %7.2f %% final autarky",
125 relative (stats.condautrem, stats.conditioned),
126 percent (stats.condautrem, stats.condassrem));
127 PRT (" condprops: %15" PRId64 " %10.2f per candidate",
128 stats.condprops, relative (stats.condprops, stats.condcands));
129 }
130 if (all || stats.cover.total) {
131 PRT ("covered: %15" PRId64
132 " %10.2f %% of irredundant clauses",
133 stats.cover.total,
134 percent (stats.cover.total, stats.added.irredundant));
135 PRT (" coverings: %15" PRId64 " %10.2f interval",
136 stats.cover.count, relative (stats.conflicts, stats.cover.count));
137 PRT (" asymmetric: %15" PRId64 " %10.2f %% of covered clauses",
138 stats.cover.asymmetric,
139 percent (stats.cover.asymmetric, stats.cover.total));
140 PRT (" blocked: %15" PRId64 " %10.2f %% of covered clauses",
141 stats.cover.blocked,
142 percent (stats.cover.blocked, stats.cover.total));
143 }
144 if (all || stats.decisions) {
145 PRT ("decisions: %15" PRId64 " %10.2f per second",
146 stats.decisions, relative (stats.decisions, t));
147 PRT (" searched: %15" PRId64 " %10.2f per decision",
148 stats.searched, relative (stats.searched, stats.decisions));
149 }
150 if (all || stats.all.eliminated) {
151 PRT ("eliminated: %15" PRId64 " %10.2f %% of all variables",
152 stats.all.eliminated, percent (stats.all.eliminated, stats.vars));
153 PRT (" fastelim: %15" PRId64 " %10.2f %% of eliminated",
154 stats.all.fasteliminated,
155 percent (stats.all.fasteliminated, stats.all.eliminated));
156 PRT (" elimphases: %15" PRId64 " %10.2f interval",
157 stats.elimphases, relative (stats.conflicts, stats.elimphases));
158 PRT (" elimrounds: %15" PRId64 " %10.2f per phase",
159 stats.elimrounds, relative (stats.elimrounds, stats.elimphases));
160 PRT (" elimtried: %15" PRId64 " %10.2f %% eliminated",
161 stats.elimtried, percent (stats.all.eliminated, stats.elimtried));
162 PRT (" elimgates: %15" PRId64 " %10.2f %% gates per tried",
163 stats.elimgates, percent (stats.elimgates, stats.elimtried));
164 PRT (" elimequivs: %15" PRId64 " %10.2f %% equivalence gates",
165 stats.elimequivs, percent (stats.elimequivs, stats.elimgates));
166 PRT (" elimands: %15" PRId64 " %10.2f %% and gates",
167 stats.elimands, percent (stats.elimands, stats.elimgates));
168 PRT (" elimites: %15" PRId64 " %10.2f %% if-then-else gates",
169 stats.elimites, percent (stats.elimites, stats.elimgates));
170 PRT (" elimxors: %15" PRId64 " %10.2f %% xor gates",
171 stats.elimxors, percent (stats.elimxors, stats.elimgates));
172 PRT (" elimdefs: %15" PRId64 " %10.2f %% definitions",
173 stats.definitions_extracted,
174 percent (stats.definitions_extracted, stats.elimgates));
175 PRT (" elimsubst: %15" PRId64 " %10.2f %% substituted",
176 stats.elimsubst, percent (stats.elimsubst, stats.all.eliminated));
177 PRT (" elimsubstequi: %15" PRId64 " %10.2f %% equivalence gates",
178 stats.eliminated_equi,
179 percent (stats.eliminated_equi, stats.elimsubst));
180 PRT (" elimsubstands: %15" PRId64 " %10.2f %% and gates",
181 stats.eliminated_and,
182 percent (stats.eliminated_and, stats.elimsubst));
183 PRT (" elimsubstites: %15" PRId64 " %10.2f %% if-then-else gates",
184 stats.eliminated_ite,
185 percent (stats.eliminated_ite, stats.elimsubst));
186 PRT (" elimsubstxors: %15" PRId64 " %10.2f %% xor gates",
187 stats.eliminated_xor,
188 percent (stats.eliminated_xor, stats.elimsubst));
189 PRT (" elimsubstdefs: %15" PRId64 " %10.2f %% definitions",
190 stats.eliminated_def,
191 percent (stats.eliminated_def, stats.elimsubst));
192 PRT (" elimres: %15" PRId64 " %10.2f per eliminated",
193 stats.elimres, relative (stats.elimres, stats.all.eliminated));
194 PRT (" elimrestried: %15" PRId64 " %10.2f %% per resolution",
195 stats.elimrestried, percent (stats.elimrestried, stats.elimres));
196 PRT (" def checked: %15" PRId64 " %10.2f per phase",
197 stats.definitions_checked,
198 relative (stats.definitions_checked, stats.elimphases));
199 PRT (" def extracted: %15" PRId64 " %10.2f %% per checked",
200 stats.definitions_extracted,
201 percent (stats.definitions_extracted, stats.definitions_checked));
202 PRT (" def units: %15" PRId64 " %10.2f %% per checked",
203 stats.definition_units,
204 percent (stats.definition_units, stats.definitions_checked));
205 }
206 if (all || stats.ext_prop.ext_cb) {
207 PRT ("ext.prop. calls: %15" PRId64 " %10.2f %% of queries",
208 stats.ext_prop.eprop_call,
209 percent (stats.ext_prop.eprop_call, stats.ext_prop.ext_cb));
210 PRT (" propagating: %15" PRId64 " %10.2f %% per eprop-call",
211 stats.ext_prop.eprop_prop,
212 percent (stats.ext_prop.eprop_prop, stats.ext_prop.eprop_call));
213 PRT (" explained: %15" PRId64 " %10.2f %% per eprop-call",
214 stats.ext_prop.eprop_expl,
215 percent (stats.ext_prop.eprop_expl, stats.ext_prop.eprop_call));
216 PRT (" falsified: %15" PRId64 " %10.2f %% per eprop-call",
217 stats.ext_prop.eprop_conf,
218 percent (stats.ext_prop.eprop_conf, stats.ext_prop.eprop_call));
219 PRT ("ext.clause calls:%15" PRId64 " %10.2f %% of queries",
220 stats.ext_prop.elearn_call,
221 percent (stats.ext_prop.elearn_call, stats.ext_prop.ext_cb));
222 PRT (" learned: %15" PRId64 " %10.2f %% per called",
223 stats.ext_prop.elearned,
224 percent (stats.ext_prop.elearned, stats.ext_prop.elearn_call));
225 PRT (" conflicting: %15" PRId64 " %10.2f %% per learned",
226 stats.ext_prop.elearn_conf,
227 percent (stats.ext_prop.elearn_conf, stats.ext_prop.elearned));
228 PRT (" propagating: %15" PRId64 " %10.2f %% per learned",
229 stats.ext_prop.elearn_prop,
230 percent (stats.ext_prop.elearn_prop, stats.ext_prop.elearned));
231 PRT ("ext.final check: %15" PRId64 " %10.2f %% of queries",
232 stats.ext_prop.echeck_call,
233 percent (stats.ext_prop.echeck_call, stats.ext_prop.ext_cb));
234 }
235 if (all || stats.factored) {
236 PRT ("factored: %15" PRId64 " %10.2f %% of variables",
237 stats.factored, percent (stats.factored, internal->max_var));
238 PRT (" factor: %15" PRId64 " %10.2f conflict interval",
239 stats.factor, relative (stats.conflicts, stats.factor));
240 PRT (" cls factored: %15" PRId64 " %10.2f per factored",
241 stats.factor_added, relative (stats.factor_added, factored));
242 PRT (" lits factored: %15" PRId64 " %10.2f per factored",
243 stats.literals_factored,
244 relative (stats.literals_factored, factored));
245 PRT (" cls unfactored:%15" PRId64 " %10.2f per factored",
246 stats.clauses_unfactored,
247 relative (stats.clauses_unfactored, factored));
248 PRT (" lits unfactored:%14" PRId64 " %10.2f per factored",
249 stats.literals_unfactored,
250 relative (stats.literals_unfactored, factored));
251 }
252 if (all || stats.all.fixed) {
253 PRT ("fixed: %15" PRId64 " %10.2f %% of all variables",
254 stats.all.fixed, percent (stats.all.fixed, stats.vars));
255 PRT (" failed: %15" PRId64 " %10.2f %% of all variables",
256 stats.failed, percent (stats.failed, stats.vars));
257 PRT (" probefailed: %15" PRId64 " %10.2f %% per failed",
258 stats.probefailed, percent (stats.probefailed, stats.failed));
259 PRT (" transredunits: %15" PRId64 " %10.2f %% per failed",
260 stats.transredunits, percent (stats.transredunits, stats.failed));
261 PRT (" inprobephases: %15" PRId64 " %10.2f interval",
262 stats.inprobingphases,
263 relative (stats.conflicts, stats.inprobingphases));
264 PRT (" inprobesuccess:%15" PRId64 " %10.2f %% phases",
265 stats.inprobesuccess,
266 percent (stats.inprobesuccess, stats.inprobingphases));
267 PRT (" probingrounds: %15" PRId64 " %10.2f per phase",
268 stats.probingrounds,
269 relative (stats.probingrounds, stats.inprobingphases));
270 PRT (" probed: %15" PRId64 " %10.2f per failed",
271 stats.probed, relative (stats.probed, stats.failed));
272 PRT (" hbrs: %15" PRId64 " %10.2f per probed",
273 stats.hbrs, relative (stats.hbrs, stats.probed));
274 PRT (" hbrsizes: %15" PRId64 " %10.2f per hbr",
275 stats.hbrsizes, relative (stats.hbrsizes, stats.hbrs));
276 PRT (" hbreds: %15" PRId64 " %10.2f %% per hbr",
277 stats.hbreds, percent (stats.hbreds, stats.hbrs));
278 PRT (" hbrsubs: %15" PRId64 " %10.2f %% per hbr",
279 stats.hbrsubs, percent (stats.hbrsubs, stats.hbrs));
280 }
281 PRT (" units: %15" PRId64 " %10.2f interval", stats.units,
282 relative (stats.conflicts, stats.units));
283 PRT (" binaries: %15" PRId64 " %10.2f interval",
284 stats.binaries, relative (stats.conflicts, stats.binaries));
285 if (all || stats.flush.learned) {
286 PRT ("flushed: %15" PRId64 " %10.2f %% per conflict",
287 stats.flush.learned,
288 percent (stats.flush.learned, stats.conflicts));
289 PRT (" hyper: %15" PRId64 " %10.2f %% per conflict",
290 stats.flush.hyper, relative (stats.flush.hyper, stats.conflicts));
291 PRT (" flushings: %15" PRId64 " %10.2f interval",
292 stats.flush.count, relative (stats.conflicts, stats.flush.count));
293 }
294 if (all || stats.instantiated) {
295 PRT ("instantiated: %15" PRId64 " %10.2f %% of tried",
296 stats.instantiated, percent (stats.instantiated, stats.instried));
297 PRT (" instrounds: %15" PRId64 " %10.2f %% of elimrounds",
298 stats.instrounds, percent (stats.instrounds, stats.elimrounds));
299 }
300 if (all || stats.conflicts) {
301 PRT ("learned: %15" PRId64 " %10.2f %% per conflict",
302 stats.learned.clauses,
303 percent (stats.learned.clauses, stats.conflicts));
304 PRT ("@ bumped: %15" PRId64 " %10.2f per learned",
305 stats.bumped, relative (stats.bumped, stats.learned.clauses));
306 PRT (" recomputed: %15" PRId64 " %10.2f %% per learned",
307 stats.recomputed,
308 percent (stats.recomputed, stats.learned.clauses));
309 PRT (" promoted1: %15" PRId64 " %10.2f %% per learned",
310 stats.promoted1, percent (stats.promoted1, stats.learned.clauses));
311 PRT (" promoted2: %15" PRId64 " %10.2f %% per learned",
312 stats.promoted2, percent (stats.promoted2, stats.learned.clauses));
313 PRT (" improvedglue: %15" PRId64 " %10.2f %% per learned",
314 stats.improvedglue,
315 percent (stats.improvedglue, stats.learned.clauses));
316 }
317 if (all || stats.lucky.succeeded) {
318 PRT ("lucky: %15" PRId64 " %10.2f %% of tried",
319 stats.lucky.succeeded,
320 percent (stats.lucky.succeeded, stats.lucky.tried));
321 PRT (" constantzero %15" PRId64 " %10.2f %% of tried",
322 stats.lucky.constant.zero,
323 percent (stats.lucky.constant.zero, stats.lucky.tried));
324 PRT (" constantone %15" PRId64 " %10.2f %% of tried",
325 stats.lucky.constant.one,
326 percent (stats.lucky.constant.one, stats.lucky.tried));
327 PRT (" backwardone %15" PRId64 " %10.2f %% of tried",
328 stats.lucky.backward.one,
329 percent (stats.lucky.backward.one, stats.lucky.tried));
330 PRT (" backwardzero %15" PRId64 " %10.2f %% of tried",
331 stats.lucky.backward.zero,
332 percent (stats.lucky.backward.zero, stats.lucky.tried));
333 PRT (" forwardone %15" PRId64 " %10.2f %% of tried",
334 stats.lucky.forward.one,
335 percent (stats.lucky.forward.one, stats.lucky.tried));
336 PRT (" forwardzero %15" PRId64 " %10.2f %% of tried",
337 stats.lucky.forward.zero,
338 percent (stats.lucky.forward.zero, stats.lucky.tried));
339 PRT (" positivehorn %15" PRId64 " %10.2f %% of tried",
340 stats.lucky.horn.positive,
341 percent (stats.lucky.horn.positive, stats.lucky.tried));
342 PRT (" negativehorn %15" PRId64 " %10.2f %% of tried",
343 stats.lucky.horn.negative,
344 percent (stats.lucky.horn.negative, stats.lucky.tried));
345 }
346 PRT (" extendbytes: %15zd %10.2f bytes and MB", extendbytes,
347 extendbytes / (double) (1l << 20));
348 if (all || stats.learned.clauses)
349 PRT ("learned_lits: %15" PRId64 " %10.2f %% learned literals",
350 stats.learned.literals,
351 percent (stats.learned.literals, stats.learned.literals));
352 PRT ("minimized: %15" PRId64 " %10.2f %% learned literals",
353 stats.minimized, percent (stats.minimized, stats.learned.literals));
354 PRT ("shrunken: %15" PRId64 " %10.2f %% learned literals",
355 stats.shrunken, percent (stats.shrunken, stats.learned.literals));
356 PRT ("minishrunken: %15" PRId64 " %10.2f %% learned literals",
357 stats.minishrunken,
358 percent (stats.minishrunken, stats.learned.literals));
359
360 if (all || stats.conflicts) {
361 PRT ("otfs: %15" PRId64 " %10.2f %% of conflict",
362 stats.otfs.subsumed + stats.otfs.strengthened,
363 percent (stats.otfs.subsumed + stats.otfs.strengthened,
364 stats.conflicts));
365 PRT (" subsumed %15" PRId64 " %10.2f %% of conflict",
366 stats.otfs.subsumed,
367 percent (stats.otfs.subsumed, stats.conflicts));
368 PRT (" strengthened %15" PRId64 " %10.2f %% of conflict",
369 stats.otfs.strengthened,
370 percent (stats.otfs.strengthened, stats.conflicts));
371 }
372
373 PRT ("propagations: %15" PRId64 " %10.2f M per second",
375 PRT (" coverprops: %15" PRId64 " %10.2f %% of propagations",
376 stats.propagations.cover,
377 percent (stats.propagations.cover, propagations));
378 PRT (" probeprops: %15" PRId64 " %10.2f %% of propagations",
379 stats.propagations.probe,
380 percent (stats.propagations.probe, propagations));
381 PRT (" searchprops: %15" PRId64 " %10.2f %% of propagations",
382 stats.propagations.search,
383 percent (stats.propagations.search, propagations));
384 PRT (" transredprops: %15" PRId64 " %10.2f %% of propagations",
385 stats.propagations.transred,
386 percent (stats.propagations.transred, propagations));
387 PRT (" vivifyprops: %15" PRId64 " %10.2f %% of propagations",
388 stats.propagations.vivify,
389 percent (stats.propagations.vivify, propagations));
390 PRT (" walkprops: %15" PRId64 " %10.2f %% of propagations",
391 stats.propagations.walk,
392 percent (stats.propagations.walk, propagations));
393 if (all || stats.reactivated) {
394 PRT ("reactivated: %15" PRId64 " %10.2f %% of all variables",
395 stats.reactivated, percent (stats.reactivated, stats.vars));
396 }
397 if (all || stats.reduced) {
398 PRT ("reduced: %15" PRId64 " %10.2f %% per conflict",
399 stats.reduced, percent (stats.reduced, stats.conflicts));
400 PRT (" reductions: %15" PRId64 " %10.2f interval",
401 stats.reductions, relative (stats.conflicts, stats.reductions));
402 PRT (" sqrt scheme: %15" PRId64 " %10.2f %% reductions",
403 stats.reduced_sqrt,
404 relative (stats.reduced_sqrt, stats.reductions));
405 PRT (" prct scheme: %15" PRId64 " %10.2f %% reductions",
406 stats.reduced_prct,
407 relative (stats.reduced_prct, stats.reductions));
408 PRT (" collections: %15" PRId64 " %10.2f interval",
409 stats.collections, relative (stats.conflicts, stats.collections));
410 }
411 if (all || stats.rephased.total) {
412 PRT ("rephased: %15" PRId64 " %10.2f interval",
413 stats.rephased.total,
414 relative (stats.conflicts, stats.rephased.total));
415 PRT (" rephasedbest: %15" PRId64 " %10.2f %% rephased best",
416 stats.rephased.best,
417 percent (stats.rephased.best, stats.rephased.total));
418 PRT (" rephasedflip: %15" PRId64 " %10.2f %% rephased flipping",
419 stats.rephased.flipped,
420 percent (stats.rephased.flipped, stats.rephased.total));
421 PRT (" rephasedinv: %15" PRId64 " %10.2f %% rephased inverted",
422 stats.rephased.inverted,
423 percent (stats.rephased.inverted, stats.rephased.total));
424 PRT (" rephasedorig: %15" PRId64 " %10.2f %% rephased original",
425 stats.rephased.original,
426 percent (stats.rephased.original, stats.rephased.total));
427 PRT (" rephasedrand: %15" PRId64 " %10.2f %% rephased random",
428 stats.rephased.random,
429 percent (stats.rephased.random, stats.rephased.total));
430 PRT (" rephasedwalk: %15" PRId64 " %10.2f %% rephased walk",
431 stats.rephased.walk,
432 percent (stats.rephased.walk, stats.rephased.total));
433 }
434 if (all)
435 PRT ("rescored: %15" PRId64 " %10.2f interval",
436 stats.rescored, relative (stats.conflicts, stats.rescored));
437 if (all || stats.restarts) {
438 PRT ("restarts: %15" PRId64 " %10.2f interval",
439 stats.restarts, relative (stats.conflicts, stats.restarts));
440 PRT (" reused: %15" PRId64 " %10.2f %% per restart",
441 stats.reused, percent (stats.reused, stats.restarts));
442 PRT (" reusedlevels: %15" PRId64 " %10.2f %% per restart levels",
443 stats.reusedlevels,
444 percent (stats.reusedlevels, stats.restartlevels));
445 }
446 if (all || stats.restored) {
447 PRT ("restored: %15" PRId64 " %10.2f %% per weakened",
448 stats.restored, percent (stats.restored, stats.weakened));
449 PRT (" restorations: %15" PRId64 " %10.2f %% per extension",
450 stats.restorations,
451 percent (stats.restorations, stats.extensions));
452 PRT (" literals: %15" PRId64 " %10.2f per restored clause",
453 stats.restoredlits, relative (stats.restoredlits, stats.restored));
454 }
455 if (all || stats.stabphases) {
456 PRT ("stabilizing: %15" PRId64 " %10.2f %% of conflicts",
457 stats.stabphases, percent (stats.stabconflicts, stats.conflicts));
458 PRT (" restartstab: %15" PRId64 " %10.2f %% of all restarts",
459 stats.restartstable,
460 percent (stats.restartstable, stats.restarts));
461 PRT (" reusedstab: %15" PRId64 " %10.2f %% per stable restarts",
462 stats.reusedstable,
463 percent (stats.reusedstable, stats.restartstable));
464 }
465 if (all || stats.all.substituted) {
466 PRT ("substituted: %15" PRId64 " %10.2f %% of all variables",
467 stats.all.substituted,
468 percent (stats.all.substituted, stats.vars));
469 PRT (" decompositions:%15" PRId64 " %10.2f per phase",
470 stats.decompositions,
471 relative (stats.decompositions, stats.inprobingphases));
472 }
473 if (all || stats.sweep_equivalences) {
474 PRT ("sweep equivs: %15" PRId64 " %10.2f %% of swept variables",
475 stats.sweep_equivalences,
476 percent (stats.sweep_equivalences, stats.sweep_variables));
477 PRT (" sweepings: %15" PRId64 " %10.2f vars per sweeping",
478 stats.sweep, relative (stats.sweep_variables, stats.sweep));
479 PRT (" swept vars: %15" PRId64 " %10.2f %% of all variables",
480 stats.sweep_variables,
481 percent (stats.sweep_variables, stats.vars));
482 PRT (" sweep units: %15" PRId64 " %10.2f %% of all variables",
483 stats.sweep_units, percent (stats.sweep_units, stats.vars));
484 PRT (" solved: %15" PRId64 " %10.2f per swept variable",
485 stats.sweep_solved,
486 relative (stats.sweep_solved, stats.sweep_variables));
487 PRT (" sat: %15" PRId64 " %10.2f %% solved",
488 stats.sweep_sat, percent (stats.sweep_sat, stats.sweep_solved));
489 PRT (" unsat: %15" PRId64 " %10.2f %% solved",
490 stats.sweep_unsat,
491 percent (stats.sweep_unsat, stats.sweep_solved));
492 PRT (" backbone solved:%14" PRId64 " %10.2f %% solved",
493 stats.sweep_solved_backbone,
494 percent (stats.sweep_solved_backbone, stats.sweep_solved));
495 PRT (" sat: %15" PRId64 " %10.2f %% backbone solved",
496 stats.sweep_sat_backbone,
497 percent (stats.sweep_sat_backbone, stats.sweep_solved_backbone));
498 PRT (" unsat: %15" PRId64 " %10.2f %% backbone solved",
499 stats.sweep_unsat_backbone,
500 percent (stats.sweep_unsat_backbone, stats.sweep_solved_backbone));
501 PRT (" unknown: %15" PRId64 " %10.2f %% backbone solved",
502 stats.sweep_unknown_backbone,
503 percent (stats.sweep_unknown_backbone,
504 stats.sweep_solved_backbone));
505 PRT (" fixed: %15" PRId64 " %10.2f per swept variable",
506 stats.sweep_fixed_backbone,
507 relative (stats.sweep_fixed_backbone, stats.sweep_variables));
508 PRT (" flip: %15" PRId64 " %10.2f per swept variable",
509 stats.sweep_flip_backbone,
510 relative (stats.sweep_flip_backbone, stats.sweep_variables));
511 PRT (" flipped: %15" PRId64 " %10.2f %% of backbone flip",
512 stats.sweep_flipped_backbone,
513 percent (stats.sweep_flipped_backbone, stats.sweep_flip_backbone));
514 PRT (" equiv solved: %15" PRId64 " %10.2f %% solved",
515 stats.sweep_solved_equivalences,
516 percent (stats.sweep_solved_equivalences, stats.sweep_solved));
517 PRT (" sat: %15" PRId64 " %10.2f %% equiv solved",
518 stats.sweep_sat_equivalences,
519 percent (stats.sweep_sat_equivalences,
520 stats.sweep_solved_equivalences));
521 PRT (" unsat: %15" PRId64 " %10.2f %% equiv solved",
522 stats.sweep_unsat_equivalences,
523 percent (stats.sweep_unsat_equivalences,
524 stats.sweep_solved_equivalences));
525 PRT (" unknown: %15" PRId64 " %10.2f %% equiv solved",
526 stats.sweep_unknown_equivalences,
527 percent (stats.sweep_unknown_equivalences,
528 stats.sweep_solved_equivalences));
529 PRT (" flip: %15" PRId64 " %10.2f per swept variable",
530 stats.sweep_flip_equivalences,
531 relative (stats.sweep_flip_equivalences, stats.sweep_variables));
532 PRT (" flipped: %15" PRId64 " %10.2f %% of equiv flip",
533 stats.sweep_flipped_equivalences,
534 percent (stats.sweep_flipped_equivalences,
535 stats.sweep_flip_equivalences));
536 PRT (" depth: %15" PRId64 " %10.2f per swept variable",
537 stats.sweep_depth,
538 relative (stats.sweep_depth, stats.sweep_variables));
539 PRT (" environment: %15" PRId64 " %10.2f per swept variable",
540 stats.sweep_environment,
541 relative (stats.sweep_environment, stats.sweep_variables));
542 PRT (" clauses: %15" PRId64 " %10.2f per swept variable",
543 stats.sweep_clauses,
544 relative (stats.sweep_clauses, stats.sweep_variables));
545 PRT (" completed: %15" PRId64 " %10.2f sweeps to complete",
546 stats.sweep_completed,
547 relative (stats.sweep, stats.sweep_completed));
548 }
549 if (all || stats.subsumed) {
550 PRT ("subsumed: %15" PRId64 " %10.2f %% of all clauses",
551 stats.subsumed, percent (stats.subsumed, stats.added.total));
552 PRT (" subsumephases: %15" PRId64 " %10.2f interval",
553 stats.subsumephases,
554 relative (stats.conflicts, stats.subsumephases));
555 PRT (" subsumerounds: %15" PRId64 " %10.2f per phase",
556 stats.subsumerounds,
557 relative (stats.subsumerounds, stats.subsumephases));
558 PRT (" deduplicated: %15" PRId64 " %10.2f %% per subsumed",
559 stats.deduplicated, percent (stats.deduplicated, stats.subsumed));
560 PRT (" transreds: %15" PRId64 " %10.2f interval",
561 stats.transreds, relative (stats.conflicts, stats.transreds));
562 PRT (" transitive: %15" PRId64 " %10.2f %% per subsumed",
563 stats.transitive, percent (stats.transitive, stats.subsumed));
564 PRT (" subirr: %15" PRId64 " %10.2f %% of subsumed",
565 stats.subirr, percent (stats.subirr, stats.subsumed));
566 PRT (" subred: %15" PRId64 " %10.2f %% of subsumed",
567 stats.subred, percent (stats.subred, stats.subsumed));
568 PRT (" subtried: %15" PRId64 " %10.2f tried per subsumed",
569 stats.subtried, relative (stats.subtried, stats.subsumed));
570 PRT (" subchecks: %15" PRId64 " %10.2f per tried",
571 stats.subchecks, relative (stats.subchecks, stats.subtried));
572 PRT (" subchecks2: %15" PRId64 " %10.2f %% per subcheck",
573 stats.subchecks2, percent (stats.subchecks2, stats.subchecks));
574 PRT (" elimotfsub: %15" PRId64 " %10.2f %% of subsumed",
575 stats.elimotfsub, percent (stats.elimotfsub, stats.subsumed));
576 PRT (" elimbwsub: %15" PRId64 " %10.2f %% of subsumed",
577 stats.elimbwsub, percent (stats.elimbwsub, stats.subsumed));
578 PRT (" eagersub: %15" PRId64 " %10.2f %% of subsumed",
579 stats.eagersub, percent (stats.eagersub, stats.subsumed));
580 PRT (" eagertried: %15" PRId64 " %10.2f tried per eagersub",
581 stats.eagertried, relative (stats.eagertried, stats.eagersub));
582 }
583 if (all || stats.strengthened) {
584 PRT ("strengthened: %15" PRId64 " %10.2f %% of all clauses",
585 stats.strengthened,
586 percent (stats.strengthened, stats.added.total));
587 PRT (" elimotfstr: %15" PRId64 " %10.2f %% of strengthened",
588 stats.elimotfstr, percent (stats.elimotfstr, stats.strengthened));
589 PRT (" elimbwstr: %15" PRId64 " %10.2f %% of strengthened",
590 stats.elimbwstr, percent (stats.elimbwstr, stats.strengthened));
591 }
592 if (all || stats.htrs) {
593 PRT ("ternary: %15" PRId64 " %10.2f %% of resolved",
594 stats.htrs, percent (stats.htrs, stats.ternres));
595 PRT (" phases: %15" PRId64 " %10.2f interval",
596 stats.ternary, relative (stats.conflicts, stats.ternary));
597 PRT (" htr3: %15" PRId64
598 " %10.2f %% ternary hyper ternres",
599 stats.htrs3, percent (stats.htrs3, stats.htrs));
600 PRT (" htr2: %15" PRId64 " %10.2f %% binary hyper ternres",
601 stats.htrs2, percent (stats.htrs2, stats.htrs));
602 }
603 PRT ("ticks: %15" PRId64 " %10.2f propagation", totalticks,
604 relative (totalticks, stats.propagations.search));
605 PRT (" searchticks: %15" PRId64 " %10.2f %% totalticks",
606 searchticks, percent (searchticks, totalticks));
607 PRT (" stableticks: %15" PRId64 " %10.2f %% searchticks",
608 stats.ticks.search[1], percent (stats.ticks.search[1], searchticks));
609 PRT (" unstableticks:%15" PRId64 " %10.2f %% searchticks",
610 stats.ticks.search[0], percent (stats.ticks.search[0], searchticks));
611 PRT (" inprobeticks: %15" PRId64 " %10.2f %% totalticks",
612 inprobeticks, percent (inprobeticks, totalticks));
613 PRT (" factorticks: %15" PRId64 " %10.2f %% searchticks",
614 stats.ticks.factor, percent (stats.ticks.factor, searchticks));
615 PRT (" probeticks: %15" PRId64 " %10.2f %% searchticks",
616 stats.ticks.probe, percent (stats.ticks.probe, searchticks));
617 PRT (" sweepticks: %15" PRId64 " %10.2f %% searchticks",
618 stats.ticks.sweep, percent (stats.ticks.sweep, searchticks));
619 PRT (" ternaryticks: %15" PRId64 " %10.2f %% searchticks",
620 stats.ticks.ternary, percent (stats.ticks.ternary, searchticks));
621 PRT (" vivifyticks: %15" PRId64 " %10.2f %% searchticks",
622 stats.ticks.vivify, percent (stats.ticks.vivify, searchticks));
623 if (all) {
624 PRT ("tier recomputed: %15" PRId64 " %10.2f interval",
625 stats.tierecomputed,
626 relative (stats.conflicts, stats.tierecomputed));
627 }
628 if (all || stats.ilbtriggers) {
629 PRT ("trail reuses: %15" PRId64 " %10.2f %% of incremental calls",
630 stats.ilbsuccess, percent (stats.ilbsuccess, stats.ilbtriggers));
631 PRT (" levels: %15" PRId64 " %10.2f per reuse",
632 stats.levelsreused,
633 relative (stats.levelsreused, stats.ilbsuccess));
634 PRT (" literals: %15" PRId64 " %10.2f per reuse",
635 stats.literalsreused,
636 relative (stats.literalsreused, stats.ilbsuccess));
637 PRT (" assumptions: %15" PRId64 " %10.2f per reuse",
638 stats.assumptionsreused,
639 relative (stats.assumptionsreused, stats.ilbsuccess));
640 }
641 if (all || vivified) {
642 PRT ("vivified: %15" PRId64 " %10.2f %% of all clauses",
643 vivified, percent (vivified, stats.added.total));
644 PRT (" vivifications: %15" PRId64 " %10.2f interval",
645 stats.vivifications,
646 relative (stats.conflicts, stats.vivifications));
647 PRT (" vivifychecks: %15" PRId64 " %10.2f %% per conflict",
648 stats.vivifychecks, percent (stats.vivifychecks, stats.conflicts));
649 PRT (" vivifysched: %15" PRId64 " %10.2f %% checks per scheduled",
650 stats.vivifysched,
651 percent (stats.vivifychecks, stats.vivifysched));
652 PRT (" vivifyunits: %15" PRId64 " %10.2f %% per vivify check",
653 stats.vivifyunits,
654 percent (stats.vivifyunits, stats.vivifychecks));
655 PRT (" vivifyinst: %15" PRId64 " %10.2f %% per vivify check",
656 stats.vivifyinst, percent (stats.vivifyinst, stats.vivifychecks));
657 PRT (" vivifysubs: %15" PRId64 " %10.2f %% per subsumed",
658 stats.vivifysubs, percent (stats.vivifysubs, stats.subsumed));
659 PRT (" vivifysubred: %15" PRId64 " %10.2f %% per subs",
660 stats.vivifysubred,
661 percent (stats.vivifysubred, stats.vivifysubs));
662 PRT (" vivifysubirr: %15" PRId64 " %10.2f %% per subs",
663 stats.vivifysubirr,
664 percent (stats.vivifysubirr, stats.vivifysubs));
665 PRT (" vivifystrs: %15" PRId64 " %10.2f %% per strengthened",
666 stats.vivifystrs, percent (stats.vivifystrs, stats.strengthened));
667 PRT (" vivifystrirr: %15" PRId64 " %10.2f %% per vivifystrs",
668 stats.vivifystrirr,
669 percent (stats.vivifystrirr, stats.vivifystrs));
670 PRT (" vivifystred1: %15" PRId64 " %10.2f %% per vivifystrs",
671 stats.vivifystred1,
672 percent (stats.vivifystred1, stats.vivifystrs));
673 PRT (" vivifystred2: %15" PRId64 " %10.2f %% per viviyfstrs",
674 stats.vivifystred2,
675 percent (stats.vivifystred2, stats.vivifystrs));
676 PRT (" vivifystred3: %15" PRId64 " %10.2f %% per vivifystrs",
677 stats.vivifystred3,
678 percent (stats.vivifystred3, stats.vivifystrs));
679 PRT (" vivifydemote: %15" PRId64 " %10.2f %% per vivifystrs",
680 stats.vivifydemote,
681 percent (stats.vivifydemote, stats.vivifystrs));
682 PRT (" vivifydecs: %15" PRId64 " %10.2f per checks",
683 stats.vivifydecs, relative (stats.vivifydecs, stats.vivifychecks));
684 PRT (" vivifyreused: %15" PRId64 " %10.2f %% per decision",
685 stats.vivifyreused,
686 percent (stats.vivifyreused, stats.vivifydecs));
687 }
688 if (all || stats.walk.count) {
689 PRT ("walked: %15" PRId64 " %10.2f interval",
690 stats.walk.count, relative (stats.conflicts, stats.walk.count));
691#ifndef CADICAL_QUIET
692 if (internal->profiles.walk.value > 0)
693 PRT (" flips: %15" PRId64 " %10.2f M per second",
694 stats.walk.flips,
695 relative (1e-6 * stats.walk.flips,
696 internal->profiles.walk.value));
697 else
698#endif
699 PRT (" flips: %15" PRId64 " %10.2f per walk",
700 stats.walk.flips, relative (stats.walk.flips, stats.walk.count));
701 if (stats.walk.minimum < LONG_MAX)
702 PRT (" minimum: %15" PRId64 " %10.2f %% clauses",
703 stats.walk.minimum,
704 percent (stats.walk.minimum, stats.added.irredundant));
705 PRT (" broken: %15" PRId64 " %10.2f per flip",
706 stats.walk.broken, relative (stats.walk.broken, stats.walk.flips));
707 }
708 if (all || stats.weakened) {
709 PRT ("weakened: %15" PRId64 " %10.2f average size",
710 stats.weakened, relative (stats.weakenedlen, stats.weakened));
711 PRT (" extensions: %15" PRId64 " %10.2f interval",
712 stats.extensions, relative (stats.conflicts, stats.extensions));
713 PRT (" flipped: %15" PRId64 " %10.2f per weakened",
714 stats.extended, relative (stats.extended, stats.weakened));
715 }
716
717 if (all || stats.congruence.gates) {
718 PRT ("congruence: %15" PRId64 " %10.2f interval",
719 stats.congruence.rounds,
720 relative (stats.conflicts, stats.congruence.rounds));
721 PRT (" units: %15" PRId64 " %10.2f per congruent",
722 stats.congruence.units,
723 relative (stats.congruence.units, stats.congruence.congruent));
724 PRT (" cong-and: %15" PRId64 " %10.2f per found gates",
725 stats.congruence.ands,
726 relative (stats.congruence.ands, stats.congruence.gates));
727 PRT (" cong-ite: %15" PRId64 " %10.2f per found gates",
728 stats.congruence.ites,
729 relative (stats.congruence.ites, stats.congruence.gates));
730 PRT (" cong-xor: %15" PRId64 " %10.2f per found gates",
731 stats.congruence.xors,
732 relative (stats.congruence.xors, stats.congruence.gates));
733 PRT (" congruent: %15" PRId64 " %10.2f per round",
734 stats.congruence.congruent,
735 relative (stats.congruence.rounds, stats.congruence.congruent));
736 PRT (" unaries: %15" PRId64 " %10.2f per round",
737 stats.congruence.unaries,
738 relative (stats.congruence.rounds, stats.congruence.unaries));
739 PRT (" rewri.-ands: %15" PRId64 " %10.2f per round",
740 stats.congruence.rewritten_ands,
741 relative (stats.congruence.rounds,
742 stats.congruence.rewritten_ands));
743 PRT (" subsumed: %15" PRId64 " %10.2f per round",
744 stats.congruence.subsumed,
745 relative (stats.congruence.rounds, stats.congruence.subsumed));
746 }
747
748 LINE ();
749 MSG ("%sseconds are measured in %s time for solving%s",
750 tout.magenta_code (), internal->opts.realtime ? "real" : "process",
751 tout.normal_code ());
752
753#endif // ifndef CADICAL_QUIET
754}
#define PRT(FMT,...)
const char * magenta_code()
Definition terminal.hpp:71
const char * normal_code()
Definition terminal.hpp:80
#define MSG(...)
Definition message.hpp:49
#define LINE()
Definition message.hpp:46
#define SECTION(...)
Definition message.hpp:55
double relative(double a, double b)
Definition util.hpp:20
Terminal tout(stdout)
Definition terminal.hpp:97
double percent(double a, double b)
Definition util.hpp:21
struct CaDiCaL::Stats::@050077033200170237247264105345125030032067160331 propagations
struct CaDiCaL::Stats::@075300034234301162006241302064117220275364173077 all
Internal * internal
Definition stats.hpp:18
int64_t factored
Definition stats.hpp:189
Here is the call graph for this function:

Member Data Documentation

◆ active

int64_t CaDiCaL::Stats::active = 0

Definition at line 340 of file stats.hpp.

◆ [struct]

struct { ... } CaDiCaL::Stats::added

◆ [struct]

struct { ... } CaDiCaL::Stats::all

◆ ands

int64_t CaDiCaL::Stats::ands = 0

Definition at line 347 of file stats.hpp.

◆ assumptionsreused

int64_t CaDiCaL::Stats::assumptionsreused = 0

Definition at line 323 of file stats.hpp.

◆ asymmetric

int64_t CaDiCaL::Stats::asymmetric = 0

Definition at line 97 of file stats.hpp.

◆ backtracks

int64_t CaDiCaL::Stats::backtracks = 0

Definition at line 150 of file stats.hpp.

◆ [struct]

struct { ... } CaDiCaL::Stats::backward

◆ best

int64_t CaDiCaL::Stats::best = 0

Definition at line 115 of file stats.hpp.

◆ binaries

int64_t CaDiCaL::Stats::binaries = 0

Definition at line 293 of file stats.hpp.

◆ block

int64_t CaDiCaL::Stats::block = 0

Definition at line 78 of file stats.hpp.

◆ blockcands

int64_t CaDiCaL::Stats::blockcands = 0

Definition at line 305 of file stats.hpp.

◆ blocked

int64_t CaDiCaL::Stats::blocked = 0

Definition at line 98 of file stats.hpp.

◆ blockings

int64_t CaDiCaL::Stats::blockings = 0

Definition at line 302 of file stats.hpp.

◆ blockpured

int64_t CaDiCaL::Stats::blockpured = 0

Definition at line 306 of file stats.hpp.

◆ blockpurelits

int64_t CaDiCaL::Stats::blockpurelits = 0

Definition at line 307 of file stats.hpp.

◆ blockres

int64_t CaDiCaL::Stats::blockres = 0

Definition at line 304 of file stats.hpp.

◆ broken

int64_t CaDiCaL::Stats::broken = 0

Definition at line 125 of file stats.hpp.

◆ bump_used

std::vector<uint64_t> CaDiCaL::Stats::bump_used = {0, 0}

Definition at line 342 of file stats.hpp.

342{0, 0};

◆ bumped

int64_t CaDiCaL::Stats::bumped = 0

Definition at line 154 of file stats.hpp.

◆ bytes

int64_t CaDiCaL::Stats::bytes = 0

Definition at line 262 of file stats.hpp.

◆ chrono

int64_t CaDiCaL::Stats::chrono = 0

Definition at line 149 of file stats.hpp.

◆ clauses

int64_t CaDiCaL::Stats::clauses = 0

Definition at line 254 of file stats.hpp.

◆ clauses_unfactored

int64_t CaDiCaL::Stats::clauses_unfactored = 0

Definition at line 194 of file stats.hpp.

◆ collected

int64_t CaDiCaL::Stats::collected = 0

Definition at line 161 of file stats.hpp.

◆ collections

int64_t CaDiCaL::Stats::collections = 0

Definition at line 162 of file stats.hpp.

◆ compacts

int64_t CaDiCaL::Stats::compacts = 0

Definition at line 136 of file stats.hpp.

◆ condassinit

int64_t CaDiCaL::Stats::condassinit = 0

Definition at line 63 of file stats.hpp.

◆ condassirem

int64_t CaDiCaL::Stats::condassirem = 0

Definition at line 64 of file stats.hpp.

◆ condassrem

int64_t CaDiCaL::Stats::condassrem = 0

Definition at line 65 of file stats.hpp.

◆ condassvars

int64_t CaDiCaL::Stats::condassvars = 0

Definition at line 66 of file stats.hpp.

◆ condautinit

int64_t CaDiCaL::Stats::condautinit = 0

Definition at line 67 of file stats.hpp.

◆ condautrem

int64_t CaDiCaL::Stats::condautrem = 0

Definition at line 68 of file stats.hpp.

◆ condcands

int64_t CaDiCaL::Stats::condcands = 0

Definition at line 69 of file stats.hpp.

◆ condcondinit

int64_t CaDiCaL::Stats::condcondinit = 0

Definition at line 70 of file stats.hpp.

◆ condcondrem

int64_t CaDiCaL::Stats::condcondrem
Initial value:
=
0

Definition at line 71 of file stats.hpp.

◆ conditioned

int64_t CaDiCaL::Stats::conditioned = 0

Definition at line 73 of file stats.hpp.

◆ conditionings

int64_t CaDiCaL::Stats::conditionings = 0

Definition at line 74 of file stats.hpp.

◆ condprops

int64_t CaDiCaL::Stats::condprops = 0

Definition at line 75 of file stats.hpp.

◆ conflicts

int64_t CaDiCaL::Stats::conflicts = 0

Definition at line 22 of file stats.hpp.

◆ [struct]

struct { ... } CaDiCaL::Stats::congruence

◆ congruent

int64_t CaDiCaL::Stats::congruent = 0

Definition at line 351 of file stats.hpp.

◆ [struct]

struct { ... } CaDiCaL::Stats::constant

◆ count

int64_t CaDiCaL::Stats::count = 0

Definition at line 96 of file stats.hpp.

◆ cover [1/2]

int64_t CaDiCaL::Stats::cover = 0

Definition at line 26 of file stats.hpp.

◆ [struct] [2/2]

struct { ... } CaDiCaL::Stats::cover

◆ [struct]

struct { ... } CaDiCaL::Stats::current

◆ decisions

int64_t CaDiCaL::Stats::decisions = 0

Definition at line 23 of file stats.hpp.

◆ decompositions

int64_t CaDiCaL::Stats::decompositions = 0

Definition at line 232 of file stats.hpp.

◆ deduplicated

int64_t CaDiCaL::Stats::deduplicated = 0

Definition at line 171 of file stats.hpp.

◆ deduplications

int64_t CaDiCaL::Stats::deduplications = 0

Definition at line 172 of file stats.hpp.

◆ definition_ticks

int64_t CaDiCaL::Stats::definition_ticks = 0

Definition at line 186 of file stats.hpp.

◆ definition_units

int64_t CaDiCaL::Stats::definition_units = 0

Definition at line 185 of file stats.hpp.

◆ definitions_checked

int64_t CaDiCaL::Stats::definitions_checked = 0

Definition at line 183 of file stats.hpp.

◆ definitions_extracted

int64_t CaDiCaL::Stats::definitions_extracted = 0

Definition at line 184 of file stats.hpp.

◆ eagersub

int64_t CaDiCaL::Stats::eagersub
Initial value:
=
0

Definition at line 209 of file stats.hpp.

◆ eagertried

int64_t CaDiCaL::Stats::eagertried = 0

Definition at line 208 of file stats.hpp.

◆ echeck_call

int64_t CaDiCaL::Stats::echeck_call = 0

Definition at line 60 of file stats.hpp.

◆ elearn_call

int64_t CaDiCaL::Stats::elearn_call
Initial value:
=
0

Definition at line 52 of file stats.hpp.

◆ elearn_conf

int64_t CaDiCaL::Stats::elearn_conf
Initial value:
=
0

Definition at line 58 of file stats.hpp.

◆ elearn_prop

int64_t CaDiCaL::Stats::elearn_prop
Initial value:
=
0

Definition at line 56 of file stats.hpp.

◆ elearned

int64_t CaDiCaL::Stats::elearned
Initial value:
=
0

Definition at line 54 of file stats.hpp.

◆ elim

int64_t CaDiCaL::Stats::elim = 0

Definition at line 79 of file stats.hpp.

◆ elimands

int64_t CaDiCaL::Stats::elimands = 0

Definition at line 222 of file stats.hpp.

◆ elimbwstr

int64_t CaDiCaL::Stats::elimbwstr = 0

Definition at line 226 of file stats.hpp.

◆ elimbwsub

int64_t CaDiCaL::Stats::elimbwsub = 0

Definition at line 225 of file stats.hpp.

◆ elimcompleted

int64_t CaDiCaL::Stats::elimcompleted = 0

Definition at line 217 of file stats.hpp.

◆ elimequivs

int64_t CaDiCaL::Stats::elimequivs = 0

Definition at line 221 of file stats.hpp.

◆ elimfastphases

int64_t CaDiCaL::Stats::elimfastphases = 0

Definition at line 216 of file stats.hpp.

◆ elimfastrounds

int64_t CaDiCaL::Stats::elimfastrounds = 0

Definition at line 213 of file stats.hpp.

◆ elimgates

int64_t CaDiCaL::Stats::elimgates = 0

Definition at line 220 of file stats.hpp.

◆ eliminated

int64_t CaDiCaL::Stats::eliminated = 0

Definition at line 328 of file stats.hpp.

◆ eliminated_and

int64_t CaDiCaL::Stats::eliminated_and = 0

Definition at line 177 of file stats.hpp.

◆ eliminated_def

int64_t CaDiCaL::Stats::eliminated_def
Initial value:
=
0

Definition at line 180 of file stats.hpp.

◆ eliminated_equi

int64_t CaDiCaL::Stats::eliminated_equi
Initial value:
=
0

Definition at line 175 of file stats.hpp.

◆ eliminated_ite

int64_t CaDiCaL::Stats::eliminated_ite = 0

Definition at line 178 of file stats.hpp.

◆ eliminated_xor

int64_t CaDiCaL::Stats::eliminated_xor = 0

Definition at line 179 of file stats.hpp.

◆ elimites

int64_t CaDiCaL::Stats::elimites = 0

Definition at line 223 of file stats.hpp.

◆ elimotfstr

int64_t CaDiCaL::Stats::elimotfstr
Initial value:
=
0

Definition at line 197 of file stats.hpp.

◆ elimotfsub

int64_t CaDiCaL::Stats::elimotfsub
Initial value:
=
0

Definition at line 204 of file stats.hpp.

◆ elimphases

int64_t CaDiCaL::Stats::elimphases = 0

Definition at line 215 of file stats.hpp.

◆ elimres

int64_t CaDiCaL::Stats::elimres = 0

Definition at line 211 of file stats.hpp.

◆ elimrestried

int64_t CaDiCaL::Stats::elimrestried = 0

Definition at line 212 of file stats.hpp.

◆ elimrounds

int64_t CaDiCaL::Stats::elimrounds = 0

Definition at line 214 of file stats.hpp.

◆ elimsubst

int64_t CaDiCaL::Stats::elimsubst = 0

Definition at line 219 of file stats.hpp.

◆ elimtried

int64_t CaDiCaL::Stats::elimtried = 0

Definition at line 218 of file stats.hpp.

◆ elimxors

int64_t CaDiCaL::Stats::elimxors = 0

Definition at line 224 of file stats.hpp.

◆ eprop_call

int64_t CaDiCaL::Stats::eprop_call = 0

Definition at line 46 of file stats.hpp.

◆ eprop_conf

int64_t CaDiCaL::Stats::eprop_conf
Initial value:
=
0

Definition at line 48 of file stats.hpp.

◆ eprop_expl

int64_t CaDiCaL::Stats::eprop_expl
Initial value:
=
0

Definition at line 50 of file stats.hpp.

◆ eprop_prop

int64_t CaDiCaL::Stats::eprop_prop = 0

Definition at line 47 of file stats.hpp.

◆ ext_cb

int64_t CaDiCaL::Stats::ext_cb = 0

Definition at line 45 of file stats.hpp.

◆ [struct]

struct { ... } CaDiCaL::Stats::ext_prop

◆ extended

int64_t CaDiCaL::Stats::extended = 0

Definition at line 309 of file stats.hpp.

◆ extensions

int64_t CaDiCaL::Stats::extensions = 0

Definition at line 308 of file stats.hpp.

◆ factor

int64_t CaDiCaL::Stats::factor = 0

Definition at line 37 of file stats.hpp.

◆ factor_added

int64_t CaDiCaL::Stats::factor_added = 0

Definition at line 190 of file stats.hpp.

◆ factored

int64_t CaDiCaL::Stats::factored = 0

Definition at line 189 of file stats.hpp.

◆ failed

int64_t CaDiCaL::Stats::failed = 0

Definition at line 298 of file stats.hpp.

◆ fasteliminated

int64_t CaDiCaL::Stats::fasteliminated = 0

Definition at line 329 of file stats.hpp.

◆ fixed

int64_t CaDiCaL::Stats::fixed = 0

Definition at line 327 of file stats.hpp.

◆ flipped

int64_t CaDiCaL::Stats::flipped = 0

Definition at line 116 of file stats.hpp.

◆ flips

int64_t CaDiCaL::Stats::flips = 0

Definition at line 126 of file stats.hpp.

◆ [struct]

struct { ... } CaDiCaL::Stats::flush

◆ [struct]

struct { ... } CaDiCaL::Stats::forward

◆ [struct]

struct { ... } CaDiCaL::Stats::garbage

◆ gates

int64_t CaDiCaL::Stats::gates = 0

Definition at line 346 of file stats.hpp.

◆ hbreds

int64_t CaDiCaL::Stats::hbreds = 0

Definition at line 165 of file stats.hpp.

◆ hbrs

int64_t CaDiCaL::Stats::hbrs = 0

Definition at line 163 of file stats.hpp.

◆ hbrsizes

int64_t CaDiCaL::Stats::hbrsizes = 0

Definition at line 164 of file stats.hpp.

◆ hbrsubs

int64_t CaDiCaL::Stats::hbrsubs = 0

Definition at line 166 of file stats.hpp.

◆ [struct]

struct { ... } CaDiCaL::Stats::horn

◆ htrs

int64_t CaDiCaL::Stats::htrs = 0

Definition at line 229 of file stats.hpp.

◆ htrs2

int64_t CaDiCaL::Stats::htrs2 = 0

Definition at line 230 of file stats.hpp.

◆ htrs3

int64_t CaDiCaL::Stats::htrs3 = 0

Definition at line 231 of file stats.hpp.

◆ hyper

int64_t CaDiCaL::Stats::hyper = 0

Definition at line 133 of file stats.hpp.

◆ hyperunary

int64_t CaDiCaL::Stats::hyperunary = 0

Definition at line 299 of file stats.hpp.

◆ ilbsuccess

int64_t CaDiCaL::Stats::ilbsuccess = 0

Definition at line 320 of file stats.hpp.

◆ ilbtriggers

int64_t CaDiCaL::Stats::ilbtriggers = 0

Definition at line 319 of file stats.hpp.

◆ improvedglue

int64_t CaDiCaL::Stats::improvedglue = 0

Definition at line 151 of file stats.hpp.

◆ inactive

int64_t CaDiCaL::Stats::inactive = 0

Definition at line 341 of file stats.hpp.

◆ inprobesuccess

int64_t CaDiCaL::Stats::inprobesuccess = 0

Definition at line 296 of file stats.hpp.

◆ inprobingphases

int64_t CaDiCaL::Stats::inprobingphases = 0

Definition at line 294 of file stats.hpp.

◆ instantiate

int64_t CaDiCaL::Stats::instantiate = 0

Definition at line 27 of file stats.hpp.

◆ instantiated

int64_t CaDiCaL::Stats::instantiated = 0

Definition at line 168 of file stats.hpp.

◆ instried

int64_t CaDiCaL::Stats::instried = 0

Definition at line 167 of file stats.hpp.

◆ instrounds

int64_t CaDiCaL::Stats::instrounds = 0

Definition at line 169 of file stats.hpp.

◆ internal

Internal* CaDiCaL::Stats::internal

Definition at line 18 of file stats.hpp.

◆ inverted

int64_t CaDiCaL::Stats::inverted = 0

Definition at line 117 of file stats.hpp.

◆ irredundant

int64_t CaDiCaL::Stats::irredundant = 0

Definition at line 88 of file stats.hpp.

◆ irrlits

int64_t CaDiCaL::Stats::irrlits = 0

Definition at line 260 of file stats.hpp.

◆ ites

int64_t CaDiCaL::Stats::ites = 0

Definition at line 348 of file stats.hpp.

◆ learned [1/2]

int64_t CaDiCaL::Stats::learned = 0

Definition at line 132 of file stats.hpp.

◆ [struct] [2/2]

struct { ... } CaDiCaL::Stats::learned

◆ levelsreused

int64_t CaDiCaL::Stats::levelsreused = 0

Definition at line 321 of file stats.hpp.

◆ literals

int64_t CaDiCaL::Stats::literals = 0

Definition at line 253 of file stats.hpp.

◆ literals_factored

int64_t CaDiCaL::Stats::literals_factored = 0

Definition at line 193 of file stats.hpp.

◆ literals_unfactored

int64_t CaDiCaL::Stats::literals_unfactored = 0

Definition at line 195 of file stats.hpp.

◆ literalsreused

int64_t CaDiCaL::Stats::literalsreused = 0

Definition at line 322 of file stats.hpp.

◆ [struct]

struct { ... } CaDiCaL::Stats::lucky

◆ [struct]

struct { ... } CaDiCaL::Stats::mark

◆ minimized

int64_t CaDiCaL::Stats::minimized = 0

Definition at line 256 of file stats.hpp.

◆ minimum

int64_t CaDiCaL::Stats::minimum = 0

Definition at line 127 of file stats.hpp.

◆ minishrunken

int64_t CaDiCaL::Stats::minishrunken = 0

Definition at line 258 of file stats.hpp.

◆ negative

int64_t CaDiCaL::Stats::negative = 0

Definition at line 109 of file stats.hpp.

◆ [struct]

struct { ... } CaDiCaL::Stats::now

◆ one

int64_t CaDiCaL::Stats::one = 0

Definition at line 106 of file stats.hpp.

◆ original

int64_t CaDiCaL::Stats::original = 0

Definition at line 118 of file stats.hpp.

◆ [struct]

struct { ... } CaDiCaL::Stats::otfs

◆ positive

int64_t CaDiCaL::Stats::positive = 0

Definition at line 109 of file stats.hpp.

◆ preprocessings

int64_t CaDiCaL::Stats::preprocessings = 0

Definition at line 317 of file stats.hpp.

◆ probe

int64_t CaDiCaL::Stats::probe = 0

Definition at line 28 of file stats.hpp.

◆ probed

int64_t CaDiCaL::Stats::probed = 0

Definition at line 297 of file stats.hpp.

◆ probefailed

int64_t CaDiCaL::Stats::probefailed = 0

Definition at line 300 of file stats.hpp.

◆ probingrounds

int64_t CaDiCaL::Stats::probingrounds = 0

Definition at line 295 of file stats.hpp.

◆ process

double CaDiCaL::Stats::process = 0

Definition at line 92 of file stats.hpp.

◆ promoted1

int64_t CaDiCaL::Stats::promoted1 = 0

Definition at line 152 of file stats.hpp.

◆ promoted2

int64_t CaDiCaL::Stats::promoted2 = 0

Definition at line 153 of file stats.hpp.

◆ [struct]

struct { ... } CaDiCaL::Stats::propagations

◆ pure

int64_t CaDiCaL::Stats::pure = 0

Definition at line 331 of file stats.hpp.

◆ random

int64_t CaDiCaL::Stats::random = 0

Definition at line 119 of file stats.hpp.

◆ reactivated

int64_t CaDiCaL::Stats::reactivated = 0

Definition at line 314 of file stats.hpp.

◆ real

double CaDiCaL::Stats::real = 0

Definition at line 92 of file stats.hpp.

◆ recomputed

int64_t CaDiCaL::Stats::recomputed = 0

Definition at line 155 of file stats.hpp.

◆ reduced

int64_t CaDiCaL::Stats::reduced = 0

Definition at line 158 of file stats.hpp.

◆ reduced_prct

int64_t CaDiCaL::Stats::reduced_prct = 0

Definition at line 160 of file stats.hpp.

◆ reduced_sqrt

int64_t CaDiCaL::Stats::reduced_sqrt = 0

Definition at line 159 of file stats.hpp.

◆ reductions

int64_t CaDiCaL::Stats::reductions = 0

Definition at line 157 of file stats.hpp.

◆ redundant

int64_t CaDiCaL::Stats::redundant = 0

Definition at line 87 of file stats.hpp.

◆ [struct]

struct { ... } CaDiCaL::Stats::rephased

◆ rescored

int64_t CaDiCaL::Stats::rescored = 0

Definition at line 144 of file stats.hpp.

◆ restartlevels

int64_t CaDiCaL::Stats::restartlevels = 0

Definition at line 139 of file stats.hpp.

◆ restarts

int64_t CaDiCaL::Stats::restarts = 0

Definition at line 138 of file stats.hpp.

◆ restartstable

int64_t CaDiCaL::Stats::restartstable = 0

Definition at line 140 of file stats.hpp.

◆ restorations

int64_t CaDiCaL::Stats::restorations = 0

Definition at line 312 of file stats.hpp.

◆ restored

int64_t CaDiCaL::Stats::restored = 0

Definition at line 313 of file stats.hpp.

◆ restoredlits

int64_t CaDiCaL::Stats::restoredlits = 0

Definition at line 315 of file stats.hpp.

◆ reused

int64_t CaDiCaL::Stats::reused = 0

Definition at line 145 of file stats.hpp.

◆ reusedlevels

int64_t CaDiCaL::Stats::reusedlevels = 0

Definition at line 146 of file stats.hpp.

◆ reusedstable

int64_t CaDiCaL::Stats::reusedstable = 0

Definition at line 147 of file stats.hpp.

◆ rewritten_ands

int64_t CaDiCaL::Stats::rewritten_ands = 0

Definition at line 355 of file stats.hpp.

◆ rounds

int64_t CaDiCaL::Stats::rounds = 0

Definition at line 352 of file stats.hpp.

◆ search

int64_t CaDiCaL::Stats::search[2] = 0

Definition at line 29 of file stats.hpp.

◆ searched

int64_t CaDiCaL::Stats::searched = 0

Definition at line 156 of file stats.hpp.

◆ sections

int64_t CaDiCaL::Stats::sections = 0

Definition at line 148 of file stats.hpp.

◆ shrunken

int64_t CaDiCaL::Stats::shrunken = 0

Definition at line 257 of file stats.hpp.

◆ shuffled

int64_t CaDiCaL::Stats::shuffled = 0

Definition at line 137 of file stats.hpp.

◆ simplified

int64_t CaDiCaL::Stats::simplified = 0

Definition at line 356 of file stats.hpp.

◆ simplified_ands

int64_t CaDiCaL::Stats::simplified_ands = 0

Definition at line 357 of file stats.hpp.

◆ simplified_ites

int64_t CaDiCaL::Stats::simplified_ites = 0

Definition at line 359 of file stats.hpp.

◆ simplified_xors

int64_t CaDiCaL::Stats::simplified_xors = 0

Definition at line 358 of file stats.hpp.

◆ stabconflicts

int64_t CaDiCaL::Stats::stabconflicts
Initial value:
=
0

Definition at line 142 of file stats.hpp.

◆ stabphases

int64_t CaDiCaL::Stats::stabphases = 0

Definition at line 141 of file stats.hpp.

◆ strengthened

int64_t CaDiCaL::Stats::strengthened = 0

Definition at line 173 of file stats.hpp.

◆ subchecks

int64_t CaDiCaL::Stats::subchecks = 0

Definition at line 202 of file stats.hpp.

◆ subchecks2

int64_t CaDiCaL::Stats::subchecks2 = 0

Definition at line 203 of file stats.hpp.

◆ subirr

int64_t CaDiCaL::Stats::subirr = 0

Definition at line 199 of file stats.hpp.

◆ subred

int64_t CaDiCaL::Stats::subred = 0

Definition at line 200 of file stats.hpp.

◆ substituted

int64_t CaDiCaL::Stats::substituted = 0

Definition at line 330 of file stats.hpp.

◆ subsume

int64_t CaDiCaL::Stats::subsume = 0

Definition at line 80 of file stats.hpp.

◆ subsumed

int64_t CaDiCaL::Stats::subsumed = 0

Definition at line 170 of file stats.hpp.

◆ subsumephases

int64_t CaDiCaL::Stats::subsumephases = 0

Definition at line 207 of file stats.hpp.

◆ subsumerounds

int64_t CaDiCaL::Stats::subsumerounds = 0

Definition at line 206 of file stats.hpp.

◆ subtried

int64_t CaDiCaL::Stats::subtried = 0

Definition at line 201 of file stats.hpp.

◆ succeeded

int64_t CaDiCaL::Stats::succeeded = 0

Definition at line 104 of file stats.hpp.

◆ sweep

int64_t CaDiCaL::Stats::sweep = 0

Definition at line 39 of file stats.hpp.

◆ sweep_clauses

int64_t CaDiCaL::Stats::sweep_clauses = 0

Definition at line 289 of file stats.hpp.

◆ sweep_completed

int64_t CaDiCaL::Stats::sweep_completed = 0

Definition at line 283 of file stats.hpp.

◆ sweep_depth

int64_t CaDiCaL::Stats::sweep_depth = 0

Definition at line 287 of file stats.hpp.

◆ sweep_environment

int64_t CaDiCaL::Stats::sweep_environment = 0

Definition at line 288 of file stats.hpp.

◆ sweep_equivalences

int64_t CaDiCaL::Stats::sweep_equivalences = 0

Definition at line 281 of file stats.hpp.

◆ sweep_fixed_backbone

int64_t CaDiCaL::Stats::sweep_fixed_backbone = 0

Definition at line 269 of file stats.hpp.

◆ sweep_flip_backbone

int64_t CaDiCaL::Stats::sweep_flip_backbone = 0

Definition at line 268 of file stats.hpp.

◆ sweep_flip_equivalences

int64_t CaDiCaL::Stats::sweep_flip_equivalences = 0

Definition at line 275 of file stats.hpp.

◆ sweep_flipped_backbone

int64_t CaDiCaL::Stats::sweep_flipped_backbone = 0

Definition at line 270 of file stats.hpp.

◆ sweep_flipped_equivalences

int64_t CaDiCaL::Stats::sweep_flipped_equivalences = 0

Definition at line 276 of file stats.hpp.

◆ sweep_sat

int64_t CaDiCaL::Stats::sweep_sat = 0

Definition at line 285 of file stats.hpp.

◆ sweep_sat_backbone

int64_t CaDiCaL::Stats::sweep_sat_backbone = 0

Definition at line 272 of file stats.hpp.

◆ sweep_sat_equivalences

int64_t CaDiCaL::Stats::sweep_sat_equivalences = 0

Definition at line 277 of file stats.hpp.

◆ sweep_solved

int64_t CaDiCaL::Stats::sweep_solved = 0

Definition at line 284 of file stats.hpp.

◆ sweep_solved_backbone

int64_t CaDiCaL::Stats::sweep_solved_backbone = 0

Definition at line 271 of file stats.hpp.

◆ sweep_solved_equivalences

int64_t CaDiCaL::Stats::sweep_solved_equivalences = 0

Definition at line 280 of file stats.hpp.

◆ sweep_units

int64_t CaDiCaL::Stats::sweep_units = 0

Definition at line 267 of file stats.hpp.

◆ sweep_unknown_backbone

int64_t CaDiCaL::Stats::sweep_unknown_backbone = 0

Definition at line 274 of file stats.hpp.

◆ sweep_unknown_equivalences

int64_t CaDiCaL::Stats::sweep_unknown_equivalences = 0

Definition at line 279 of file stats.hpp.

◆ sweep_unsat

int64_t CaDiCaL::Stats::sweep_unsat = 0

Definition at line 286 of file stats.hpp.

◆ sweep_unsat_backbone

int64_t CaDiCaL::Stats::sweep_unsat_backbone = 0

Definition at line 273 of file stats.hpp.

◆ sweep_unsat_equivalences

int64_t CaDiCaL::Stats::sweep_unsat_equivalences = 0

Definition at line 278 of file stats.hpp.

◆ sweep_variables

int64_t CaDiCaL::Stats::sweep_variables = 0

Definition at line 282 of file stats.hpp.

◆ ternary

int64_t CaDiCaL::Stats::ternary = 0

Definition at line 40 of file stats.hpp.

◆ ternres

int64_t CaDiCaL::Stats::ternres = 0

Definition at line 228 of file stats.hpp.

◆ [struct]

struct { ... } CaDiCaL::Stats::ticks

◆ tierecomputed

int64_t CaDiCaL::Stats::tierecomputed = 0

Definition at line 324 of file stats.hpp.

◆ [struct]

struct { ... } CaDiCaL::Stats::time

◆ total

int64_t CaDiCaL::Stats::total = 0

Definition at line 86 of file stats.hpp.

◆ transitive

int64_t CaDiCaL::Stats::transitive = 0

Definition at line 251 of file stats.hpp.

◆ transred

int64_t CaDiCaL::Stats::transred = 0

Definition at line 30 of file stats.hpp.

◆ transreds

int64_t CaDiCaL::Stats::transreds = 0

Definition at line 250 of file stats.hpp.

◆ transredunits

int64_t CaDiCaL::Stats::transredunits = 0

Definition at line 301 of file stats.hpp.

◆ tried

int64_t CaDiCaL::Stats::tried = 0

Definition at line 103 of file stats.hpp.

◆ trivial_ite

int64_t CaDiCaL::Stats::trivial_ite = 0

Definition at line 361 of file stats.hpp.

◆ unaries

int64_t CaDiCaL::Stats::unaries = 0

Definition at line 354 of file stats.hpp.

◆ unary_and

int64_t CaDiCaL::Stats::unary_and = 0

Definition at line 353 of file stats.hpp.

◆ unary_ites

int64_t CaDiCaL::Stats::unary_ites = 0

Definition at line 362 of file stats.hpp.

◆ units

int64_t CaDiCaL::Stats::units = 0

Definition at line 292 of file stats.hpp.

◆ unused

int64_t CaDiCaL::Stats::unused = 0

Definition at line 339 of file stats.hpp.

◆ used

std::vector<std::vector<uint64_t> > CaDiCaL::Stats::used

Definition at line 343 of file stats.hpp.

◆ variables_extension

int64_t CaDiCaL::Stats::variables_extension = 0

Definition at line 191 of file stats.hpp.

◆ variables_original

int64_t CaDiCaL::Stats::variables_original = 0

Definition at line 192 of file stats.hpp.

◆ vars

int64_t CaDiCaL::Stats::vars = 0

Definition at line 20 of file stats.hpp.

◆ vivifications

int64_t CaDiCaL::Stats::vivifications = 0

Definition at line 233 of file stats.hpp.

◆ vivify

int64_t CaDiCaL::Stats::vivify = 0

Definition at line 31 of file stats.hpp.

◆ vivifychecks

int64_t CaDiCaL::Stats::vivifychecks = 0

Definition at line 234 of file stats.hpp.

◆ vivifydecs

int64_t CaDiCaL::Stats::vivifydecs = 0

Definition at line 235 of file stats.hpp.

◆ vivifydemote

int64_t CaDiCaL::Stats::vivifydemote = 0

Definition at line 249 of file stats.hpp.

◆ vivifyimplied

int64_t CaDiCaL::Stats::vivifyimplied = 0

Definition at line 247 of file stats.hpp.

◆ vivifyinst

int64_t CaDiCaL::Stats::vivifyinst = 0

Definition at line 248 of file stats.hpp.

◆ vivifyreused

int64_t CaDiCaL::Stats::vivifyreused = 0

Definition at line 236 of file stats.hpp.

◆ vivifysched

int64_t CaDiCaL::Stats::vivifysched = 0

Definition at line 237 of file stats.hpp.

◆ vivifystred1

int64_t CaDiCaL::Stats::vivifystred1 = 0

Definition at line 243 of file stats.hpp.

◆ vivifystred2

int64_t CaDiCaL::Stats::vivifystred2 = 0

Definition at line 244 of file stats.hpp.

◆ vivifystred3

int64_t CaDiCaL::Stats::vivifystred3 = 0

Definition at line 245 of file stats.hpp.

◆ vivifystrirr

int64_t CaDiCaL::Stats::vivifystrirr = 0

Definition at line 242 of file stats.hpp.

◆ vivifystrs

int64_t CaDiCaL::Stats::vivifystrs = 0

Definition at line 241 of file stats.hpp.

◆ vivifysubirr

int64_t CaDiCaL::Stats::vivifysubirr = 0

Definition at line 240 of file stats.hpp.

◆ vivifysubred

int64_t CaDiCaL::Stats::vivifysubred = 0

Definition at line 239 of file stats.hpp.

◆ vivifysubs

int64_t CaDiCaL::Stats::vivifysubs = 0

Definition at line 238 of file stats.hpp.

◆ vivifyunits

int64_t CaDiCaL::Stats::vivifyunits = 0

Definition at line 246 of file stats.hpp.

◆ walk [1/2]

int64_t CaDiCaL::Stats::walk = 0

Definition at line 32 of file stats.hpp.

◆ [struct] [2/2]

struct { ... } CaDiCaL::Stats::walk

◆ weakened

int64_t CaDiCaL::Stats::weakened = 0

Definition at line 310 of file stats.hpp.

◆ weakenedlen

int64_t CaDiCaL::Stats::weakenedlen = 0

Definition at line 311 of file stats.hpp.

◆ xors

int64_t CaDiCaL::Stats::xors = 0

Definition at line 349 of file stats.hpp.

◆ zero

int64_t CaDiCaL::Stats::zero = 0

Definition at line 106 of file stats.hpp.


The documentation for this struct was generated from the following files: