// File: /workspace/github_cpp_makefile_star2_O3/biotomas[P]ipasir/sat/picosat961/picosat-961/picosat.c
// Function: picosat_stats
void
picosat_stats (PS * ps)
{
  unsigned redlits;
#ifdef STATS
  check_ready (ps);
  assert (ps->sdecisions + ps->rdecisions + ps->assumptions == ps->decisions);
#endif
  if (ps->calls > 1)
     fprintf (ps->out, "%s%u calls\n", ps->prefix, ps->calls);
  if (ps->contexts)
    {
       fprintf (ps->out, "%s%u contexts", ps->prefix, ps->contexts);
#ifdef STATS
       fprintf (ps->out, " %u internal variables", ps->internals);
#endif
       fprintf (ps->out, "\n");
    }
   fprintf (ps->out, "%s%u iterations\n", ps->prefix, ps->iterations);
   fprintf (ps->out, "%s%u restarts", ps->prefix, ps->restarts);
#ifdef STATS
   fprintf (ps->out, " (%u skipped)", ps->skippedrestarts);
#endif
  fputc ('\n', ps->out);
#ifndef NFL
   fprintf (ps->out, "%s%u failed literals", ps->prefix, ps->failedlits);
#ifdef STATS
   fprintf (ps->out,
           ", %u calls, %u rounds, %llu propagations",
           ps->flcalls, ps->flrounds, ps->flprops);
#endif
  fputc ('\n', ps->out);
#ifdef STATS
   fprintf (ps->out, 
    "%sfl: %u = %.1f%% implicit, %llu oopsed, %llu tried, %llu skipped\n", 
    ps->prefix, 
    ps->ifailedlits, PERCENT (ps->ifailedlits, ps->failedlits),
    ps->floopsed, ps->fltried, ps->flskipped);
#endif
#endif
   fprintf (ps->out, "%s%u conflicts", ps->prefix, ps->conflicts);
#ifdef STATS
   fprintf (ps->out, " (%u uips = %.1f%%)\n", ps->uips, PERCENT(ps->uips,ps->conflicts));
#else
  fputc ('\n', ps->out);
#endif
#ifndef NADC
   fprintf (ps->out, "%s%u adc conflicts\n", ps->prefix, ps->adoconflicts);
#endif
#ifdef STATS
   fprintf (ps->out, "%s%llu dereferenced literals\n", ps->prefix, ps->derefs);
#endif
   fprintf (ps->out, "%s%u decisions", ps->prefix, ps->decisions);
#ifdef STATS
   fprintf (ps->out, " (%u random = %.2f%%",
           ps->rdecisions, PERCENT (ps->rdecisions, ps->decisions));
   fprintf (ps->out, ", %u assumptions", ps->assumptions);
  fputc (')', ps->out);
#endif
  fputc ('\n', ps->out);
#ifdef STATS
   fprintf (ps->out,
           "%s%u static phase decisions (%.1f%% of all variables)\n",
	   ps->prefix,
	   ps->staticphasedecisions, PERCENT (ps->staticphasedecisions, ps->max_var));
#endif
   fprintf (ps->out, "%s%u fixed variables\n", ps->prefix, ps->fixed);
  assert (ps->nonminimizedllits >= ps->minimizedllits);
  redlits = ps->nonminimizedllits - ps->minimizedllits;
   fprintf (ps->out, "%s%u learned literals\n", ps->prefix, ps->llitsadded);
   fprintf (ps->out, "%s%.1f%% deleted literals\n",
     ps->prefix, PERCENT (redlits, ps->nonminimizedllits));

#ifdef STATS
#ifdef TRACE
   fprintf (ps->out,
	   "%s%llu antecedents (%.1f antecedents per clause",
	   ps->prefix, ps->antecedents, AVERAGE (ps->antecedents, ps->conflicts));
  if (ps->trace)
     fprintf (ps->out, ", %.1f bytes/antecedent)", AVERAGE (ps->znts, ps->antecedents));
  fputs (")\n", ps->out);
#endif

   fprintf (ps->out, "%s%llu propagations (%.1f propagations per decision)\n",
           ps->prefix, ps->propagations, AVERAGE (ps->propagations, ps->decisions));
   fprintf (ps->out, "%s%llu visits (%.1f per propagation)\n",
	   ps->prefix, ps->visits, AVERAGE (ps->visits, ps->propagations));
   fprintf (ps->out, 
           "%s%llu binary clauses visited (%.1f%% %.1f per propagation)\n",
	   ps->prefix, ps->bvisits, 
	   PERCENT (ps->bvisits, ps->visits),
	   AVERAGE (ps->bvisits, ps->propagations));
   fprintf (ps->out, 
           "%s%llu ternary clauses visited (%.1f%% %.1f per propagation)\n",
	   ps->prefix, ps->tvisits, 
	   PERCENT (ps->tvisits, ps->visits),
	   AVERAGE (ps->tvisits, ps->propagations));
   fprintf (ps->out, 
           "%s%llu large clauses visited (%.1f%% %.1f per propagation)\n",
	   ps->prefix, ps->lvisits, 
	   PERCENT (ps->lvisits, ps->visits),
	   AVERAGE (ps->lvisits, ps->propagations));
   fprintf (ps->out, "%s%llu other true (%.1f%% of visited clauses)\n",
	   ps->prefix, ps->othertrue, PERCENT (ps->othertrue, ps->visits));
   fprintf (ps->out, 
           "%s%llu other true in binary clauses (%.1f%%)"
	   ", %llu upper (%.1f%%)\n",
           ps->prefix, ps->othertrue2, PERCENT (ps->othertrue2, ps->othertrue),
	   ps->othertrue2u, PERCENT (ps->othertrue2u, ps->othertrue2));
   fprintf (ps->out, 
           "%s%llu other true in large clauses (%.1f%%)"
	   ", %llu upper (%.1f%%)\n",
           ps->prefix, ps->othertruel, PERCENT (ps->othertruel, ps->othertrue),
	   ps->othertruelu, PERCENT (ps->othertruelu, ps->othertruel));
   fprintf (ps->out, "%s%llu ternary and large traversals (%.1f per visit)\n",
	   ps->prefix, ps->traversals, AVERAGE (ps->traversals, ps->visits));
   fprintf (ps->out, "%s%llu large traversals (%.1f per large visit)\n",
	   ps->prefix, ps->ltraversals, AVERAGE (ps->ltraversals, ps->lvisits));
   fprintf (ps->out, "%s%llu assignments\n", ps->prefix, ps->assignments);
#else
   fprintf (ps->out, "%s%llu propagations\n", ps->prefix, picosat_propagations (ps));
   fprintf (ps->out, "%s%llu visits\n", ps->prefix, picosat_visits (ps));
#endif
   fprintf (ps->out, "%s%.1f%% variables used\n", ps->prefix, PERCENT (ps->vused, ps->max_var));

  sflush (ps);
   fprintf (ps->out, "%s%.1f seconds in library\n", ps->prefix, ps->seconds);
   fprintf (ps->out, "%s%.1f megaprops/second\n",
	   ps->prefix, AVERAGE (ps->propagations / 1e6f, ps->seconds));
   fprintf (ps->out, "%s%.1f megavisits/second\n",
	   ps->prefix, AVERAGE (ps->visits / 1e6f, ps->seconds));
   fprintf (ps->out, "%sprobing %.1f seconds %.0f%%\n",
           ps->prefix, ps->flseconds, PERCENT (ps->flseconds, ps->seconds));
#ifdef STATS
   fprintf (ps->out,
	   "%srecycled %.1f MB in %u reductions\n",
	   ps->prefix, ps->rrecycled / (double) (1 << 20), ps->reductions);
   fprintf (ps->out,
	   "%srecycled %.1f MB in %u simplifications\n",
	   ps->prefix, ps->srecycled / (double) (1 << 20), ps->simps);
#else
   fprintf (ps->out, "%s%u simplifications\n", ps->prefix, ps->simps);
   fprintf (ps->out, "%s%u reductions\n", ps->prefix, ps->reductions);
   fprintf (ps->out, "%s%.1f MB recycled\n", ps->prefix, ps->recycled / (double) (1 << 20));
#endif
   fprintf (ps->out, "%s%.1f MB maximally allocated\n",
	    ps->prefix, picosat_max_bytes_allocated (ps) / (double) (1 << 20));
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rdi, %rbx
movl 0x38c(%rdi), %ecx
cmpl $0x2, %ecx
jb 0xa80d
movq 0x10(%rbx), %rdi
movq 0x18(%rbx), %rdx
leaq 0x92c0(%rip), %rsi      # 0x13ac6
xorl %eax, %eax
callq 0x1140
movl 0x420(%rbx), %ecx
testl %ecx, %ecx
je 0xa83b
movq 0x10(%rbx), %rdi
movq 0x18(%rbx), %rdx
leaq 0x92ac(%rip), %rsi      # 0x13ad2
xorl %eax, %eax
callq 0x1140
movq 0x10(%rbx), %rsi
movl $0xa, %edi
callq 0x10f0
movq 0x10(%rbx), %rdi
movq 0x18(%rbx), %rdx
movl 0x380(%rbx), %ecx
leaq 0x9290(%rip), %rsi      # 0x13ae0
xorl %eax, %eax
callq 0x1140
movq 0x10(%rbx), %rdi
movq 0x18(%rbx), %rdx
movl 0x394(%rbx), %ecx
leaq 0x9285(%rip), %rsi      # 0x13af1
xorl %eax, %eax
callq 0x1140
movq 0x10(%rbx), %rsi
movl $0xa, %edi
callq 0x10f0
movq 0x10(%rbx), %rdi
movq 0x18(%rbx), %rdx
movl 0x3ec(%rbx), %ecx
leaq 0x9269(%rip), %rsi      # 0x13aff
xorl %eax, %eax
callq 0x1140
movq 0x10(%rbx), %rsi
movl $0xa, %edi
callq 0x10f0
movq 0x10(%rbx), %rdi
movq 0x18(%rbx), %rdx
movl 0x41c(%rbx), %ecx
leaq 0x9254(%rip), %rsi      # 0x13b14
xorl %eax, %eax
callq 0x1140
movq 0x10(%rbx), %rsi
movl $0xa, %edi
callq 0x10f0
movq 0x10(%rbx), %rdi
movq 0x18(%rbx), %rdx
movl 0x390(%rbx), %ecx
leaq 0x9239(%rip), %rsi      # 0x13b23
xorl %eax, %eax
callq 0x1140
movq 0x10(%rbx), %rsi
movl $0xa, %edi
callq 0x10f0
movq 0x10(%rbx), %rdi
movq 0x18(%rbx), %rdx
movl 0x3e8(%rbx), %ecx
leaq 0x921e(%rip), %rsi      # 0x13b32
xorl %eax, %eax
callq 0x1140
movl 0x464(%rbx), %r14d
subl 0x460(%rbx), %r14d
jb 0xac1a
movq 0x10(%rbx), %rdi
movq 0x18(%rbx), %rdx
movl 0x450(%rbx), %ecx
leaq 0x9249(%rip), %rsi      # 0x13b8d
xorl %eax, %eax
callq 0x1140
movq 0x10(%rbx), %rdi
movq 0x18(%rbx), %rdx
movl 0x464(%rbx), %eax
xorpd %xmm0, %xmm0
testl %eax, %eax
je 0xa97c
xorps %xmm0, %xmm0
cvtsi2sd %r14, %xmm0
movl %eax, %eax
cvtsi2sd %rax, %xmm1
divsd %xmm1, %xmm0
mulsd 0x8774(%rip), %xmm0     # 0x130f0
leaq 0x9221(%rip), %rsi      # 0x13ba4
movb $0x1, %al
callq 0x1140
movq 0x10(%rbx), %rdi
movq 0x18(%rbx), %rdx
movq 0x3d8(%rbx), %rcx
leaq 0x921f(%rip), %rsi      # 0x13bbf
xorl %eax, %eax
callq 0x1140
movq 0x10(%rbx), %rdi
movq 0x18(%rbx), %rdx
movq 0x458(%rbx), %rcx
leaq 0x9217(%rip), %rsi      # 0x13bd4
xorl %eax, %eax
callq 0x1140
movq 0x10(%rbx), %rdi
movq 0x18(%rbx), %rdx
movl 0x2c(%rbx), %eax
testl %eax, %eax
xorpd %xmm0, %xmm0
je 0xa9fb
movl 0x44c(%rbx), %ecx
xorps %xmm0, %xmm0
cvtsi2sd %rcx, %xmm0
movl %eax, %eax
xorps %xmm1, %xmm1
cvtsi2sd %rax, %xmm1
divsd %xmm1, %xmm0
mulsd 0x86f5(%rip), %xmm0     # 0x130f0
leaq 0x91e1(%rip), %rsi      # 0x13be3
movb $0x1, %al
callq 0x1140
callq 0xac39
movapd %xmm0, %xmm2
subsd 0x350(%rbx), %xmm2
xorpd %xmm1, %xmm1
maxsd %xmm2, %xmm1
addsd 0x340(%rbx), %xmm1
movsd %xmm1, 0x340(%rbx)
movsd %xmm0, 0x350(%rbx)
movq 0x10(%rbx), %rdi
movq 0x18(%rbx), %rdx
leaq 0x91b3(%rip), %rsi      # 0x13bfc
movapd %xmm1, %xmm0
movb $0x1, %al
callq 0x1140
movq 0x10(%rbx), %rdi
movq 0x18(%rbx), %rdx
movsd 0x340(%rbx), %xmm1
ucomisd 0x86a4(%rip), %xmm1     # 0x13110
xorpd %xmm0, %xmm0
jne 0xaa74
jnp 0xaaa3
movsd 0x3d8(%rbx), %xmm2
unpcklps 0x864d(%rip), %xmm2     # xmm2 = xmm2[0],mem[0],xmm2[1],mem[1]
subpd 0x8655(%rip), %xmm2     # 0x130e0
movapd %xmm2, %xmm0
unpckhpd %xmm2, %xmm0            # xmm0 = xmm0[1],xmm2[1]
addsd %xmm2, %xmm0
divsd 0x8669(%rip), %xmm0     # 0x13108
divsd %xmm1, %xmm0
leaq 0x916d(%rip), %rsi      # 0x13c17
movb $0x1, %al
callq 0x1140
movq 0x10(%rbx), %rdi
movq 0x18(%rbx), %rdx
movsd 0x340(%rbx), %xmm2
xorpd %xmm0, %xmm0
ucomisd %xmm0, %xmm2
jne 0xaacd
jnp 0xaafc
movsd 0x458(%rbx), %xmm1
unpcklps 0x85f4(%rip), %xmm1     # xmm1 = xmm1[0],mem[0],xmm1[1],mem[1]
subpd 0x85fc(%rip), %xmm1     # 0x130e0
movapd %xmm1, %xmm0
unpckhpd %xmm1, %xmm0            # xmm0 = xmm0[1],xmm1[1]
addsd %xmm1, %xmm0
divsd 0x8610(%rip), %xmm0     # 0x13108
divsd %xmm2, %xmm0
leaq 0x912d(%rip), %rsi      # 0x13c30
movb $0x1, %al
callq 0x1140
movq 0x10(%rbx), %rdi
movsd 0x348(%rbx), %xmm0
movsd 0x340(%rbx), %xmm2
movapd %xmm0, %xmm3
divsd %xmm2, %xmm3
mulsd 0x85c2(%rip), %xmm3     # 0x130f0
movq 0x18(%rbx), %rdx
xorpd %xmm1, %xmm1
cmpneqsd %xmm2, %xmm1
andpd %xmm3, %xmm1
leaq 0x9104(%rip), %rsi      # 0x13c4a
movb $0x2, %al
callq 0x1140
movq 0x10(%rbx), %rdi
movq 0x18(%rbx), %rdx
movl 0x398(%rbx), %ecx
leaq 0x9107(%rip), %rsi      # 0x13c69
xorl %eax, %eax
callq 0x1140
movq 0x10(%rbx), %rdi
movq 0x18(%rbx), %rdx
movl 0x3a4(%rbx), %ecx
leaq 0x9101(%rip), %rsi      # 0x13c7f
xorl %eax, %eax
callq 0x1140
movq 0x10(%rbx), %rdi
movq 0x18(%rbx), %rdx
movsd 0x338(%rbx), %xmm1
unpcklps 0x8534(%rip), %xmm1     # xmm1 = xmm1[0],mem[0],xmm1[1],mem[1]
subpd 0x853c(%rip), %xmm1     # 0x130e0
movapd %xmm1, %xmm0
unpckhpd %xmm1, %xmm0            # xmm0 = xmm0[1],xmm1[1]
addsd %xmm1, %xmm0
mulsd 0x8548(%rip), %xmm0     # 0x13100
leaq 0x90d1(%rip), %rsi      # 0x13c90
movb $0x1, %al
callq 0x1140
movq 0x10(%rbx), %r14
movq 0x18(%rbx), %r15
movq %rbx, %rdi
callq 0x441c
movsd 0x330(%rbx), %xmm1
unpcklps 0x84eb(%rip), %xmm1     # xmm1 = xmm1[0],mem[0],xmm1[1],mem[1]
subpd 0x84f3(%rip), %xmm1     # 0x130e0
movapd %xmm1, %xmm0
unpckhpd %xmm1, %xmm0            # xmm0 = xmm0[1],xmm1[1]
addsd %xmm1, %xmm0
mulsd 0x84ff(%rip), %xmm0     # 0x13100
leaq 0x909c(%rip), %rsi      # 0x13ca4
movq %r14, %rdi
movq %r15, %rdx
movb $0x1, %al
popq %rbx
popq %r14
popq %r15
jmp 0x1140
leaq 0x8f27(%rip), %rdi      # 0x13b48
leaq 0x8654(%rip), %rsi      # 0x1327c
leaq 0x8f45(%rip), %rcx      # 0x13b74
movl $0x1f5b, %edx           # imm = 0x1F5B
callq 0x10b0