// File: /workspace/github_cpp_makefile_star2_O1/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 0xa70a
movq 0x10(%rbx), %rdi
movq 0x18(%rbx), %rdx
leaq 0x83f3(%rip), %rsi      # 0x12af6
xorl %eax, %eax
callq 0x1130
movl 0x420(%rbx), %ecx
testl %ecx, %ecx
je 0xa738
movq 0x10(%rbx), %rdi
movq 0x18(%rbx), %rdx
leaq 0x83df(%rip), %rsi      # 0x12b02
xorl %eax, %eax
callq 0x1130
movq 0x10(%rbx), %rsi
movl $0xa, %edi
callq 0x10f0
movq 0x10(%rbx), %rdi
movq 0x18(%rbx), %rdx
movl 0x380(%rbx), %ecx
leaq 0x83c3(%rip), %rsi      # 0x12b10
xorl %eax, %eax
callq 0x1130
movq 0x10(%rbx), %rdi
movq 0x18(%rbx), %rdx
movl 0x394(%rbx), %ecx
leaq 0x83b8(%rip), %rsi      # 0x12b21
xorl %eax, %eax
callq 0x1130
movq 0x10(%rbx), %rsi
movl $0xa, %edi
callq 0x10f0
movq 0x10(%rbx), %rdi
movq 0x18(%rbx), %rdx
movl 0x3ec(%rbx), %ecx
leaq 0x839c(%rip), %rsi      # 0x12b2f
xorl %eax, %eax
callq 0x1130
movq 0x10(%rbx), %rsi
movl $0xa, %edi
callq 0x10f0
movq 0x10(%rbx), %rdi
movq 0x18(%rbx), %rdx
movl 0x41c(%rbx), %ecx
leaq 0x8387(%rip), %rsi      # 0x12b44
xorl %eax, %eax
callq 0x1130
movq 0x10(%rbx), %rsi
movl $0xa, %edi
callq 0x10f0
movq 0x10(%rbx), %rdi
movq 0x18(%rbx), %rdx
movl 0x390(%rbx), %ecx
leaq 0x836c(%rip), %rsi      # 0x12b53
xorl %eax, %eax
callq 0x1130
movq 0x10(%rbx), %rsi
movl $0xa, %edi
callq 0x10f0
movq 0x10(%rbx), %rdi
movq 0x18(%rbx), %rdx
movl 0x3e8(%rbx), %ecx
leaq 0x8351(%rip), %rsi      # 0x12b62
xorl %eax, %eax
callq 0x1130
movl 0x464(%rbx), %r14d
subl 0x460(%rbx), %r14d
jb 0xab17
movq 0x10(%rbx), %rdi
movq 0x18(%rbx), %rdx
movl 0x450(%rbx), %ecx
leaq 0x837c(%rip), %rsi      # 0x12bbd
xorl %eax, %eax
callq 0x1130
movq 0x10(%rbx), %rdi
movq 0x18(%rbx), %rdx
movl 0x464(%rbx), %eax
xorpd %xmm0, %xmm0
testl %eax, %eax
je 0xa879
xorps %xmm0, %xmm0
cvtsi2sd %r14, %xmm0
movl %eax, %eax
cvtsi2sd %rax, %xmm1
divsd %xmm1, %xmm0
mulsd 0x78a7(%rip), %xmm0     # 0x12120
leaq 0x8354(%rip), %rsi      # 0x12bd4
movb $0x1, %al
callq 0x1130
movq 0x10(%rbx), %rdi
movq 0x18(%rbx), %rdx
movq 0x3d8(%rbx), %rcx
leaq 0x8352(%rip), %rsi      # 0x12bef
xorl %eax, %eax
callq 0x1130
movq 0x10(%rbx), %rdi
movq 0x18(%rbx), %rdx
movq 0x458(%rbx), %rcx
leaq 0x834a(%rip), %rsi      # 0x12c04
xorl %eax, %eax
callq 0x1130
movq 0x10(%rbx), %rdi
movq 0x18(%rbx), %rdx
movl 0x2c(%rbx), %eax
testl %eax, %eax
xorpd %xmm0, %xmm0
je 0xa8f8
movl 0x44c(%rbx), %ecx
xorps %xmm0, %xmm0
cvtsi2sd %rcx, %xmm0
movl %eax, %eax
xorps %xmm1, %xmm1
cvtsi2sd %rax, %xmm1
divsd %xmm1, %xmm0
mulsd 0x7828(%rip), %xmm0     # 0x12120
leaq 0x8314(%rip), %rsi      # 0x12c13
movb $0x1, %al
callq 0x1130
callq 0xab36
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 0x82e6(%rip), %rsi      # 0x12c2c
movapd %xmm1, %xmm0
movb $0x1, %al
callq 0x1130
movq 0x10(%rbx), %rdi
movq 0x18(%rbx), %rdx
movsd 0x340(%rbx), %xmm1
ucomisd 0x77d7(%rip), %xmm1     # 0x12140
xorpd %xmm0, %xmm0
jne 0xa971
jnp 0xa9a0
movsd 0x3d8(%rbx), %xmm2
unpcklps 0x7780(%rip), %xmm2     # xmm2 = xmm2[0],mem[0],xmm2[1],mem[1]
subpd 0x7788(%rip), %xmm2     # 0x12110
movapd %xmm2, %xmm0
unpckhpd %xmm2, %xmm0            # xmm0 = xmm0[1],xmm2[1]
addsd %xmm2, %xmm0
divsd 0x779c(%rip), %xmm0     # 0x12138
divsd %xmm1, %xmm0
leaq 0x82a0(%rip), %rsi      # 0x12c47
movb $0x1, %al
callq 0x1130
movq 0x10(%rbx), %rdi
movq 0x18(%rbx), %rdx
movsd 0x340(%rbx), %xmm2
xorpd %xmm0, %xmm0
ucomisd %xmm0, %xmm2
jne 0xa9ca
jnp 0xa9f9
movsd 0x458(%rbx), %xmm1
unpcklps 0x7727(%rip), %xmm1     # xmm1 = xmm1[0],mem[0],xmm1[1],mem[1]
subpd 0x772f(%rip), %xmm1     # 0x12110
movapd %xmm1, %xmm0
unpckhpd %xmm1, %xmm0            # xmm0 = xmm0[1],xmm1[1]
addsd %xmm1, %xmm0
divsd 0x7743(%rip), %xmm0     # 0x12138
divsd %xmm2, %xmm0
leaq 0x8260(%rip), %rsi      # 0x12c60
movb $0x1, %al
callq 0x1130
movq 0x10(%rbx), %rdi
movsd 0x348(%rbx), %xmm0
movsd 0x340(%rbx), %xmm2
movapd %xmm0, %xmm3
divsd %xmm2, %xmm3
mulsd 0x76f5(%rip), %xmm3     # 0x12120
movq 0x18(%rbx), %rdx
xorpd %xmm1, %xmm1
cmpneqsd %xmm2, %xmm1
andpd %xmm3, %xmm1
leaq 0x8237(%rip), %rsi      # 0x12c7a
movb $0x2, %al
callq 0x1130
movq 0x10(%rbx), %rdi
movq 0x18(%rbx), %rdx
movl 0x398(%rbx), %ecx
leaq 0x823a(%rip), %rsi      # 0x12c99
xorl %eax, %eax
callq 0x1130
movq 0x10(%rbx), %rdi
movq 0x18(%rbx), %rdx
movl 0x3a4(%rbx), %ecx
leaq 0x8234(%rip), %rsi      # 0x12caf
xorl %eax, %eax
callq 0x1130
movq 0x10(%rbx), %rdi
movq 0x18(%rbx), %rdx
movsd 0x338(%rbx), %xmm1
unpcklps 0x7667(%rip), %xmm1     # xmm1 = xmm1[0],mem[0],xmm1[1],mem[1]
subpd 0x766f(%rip), %xmm1     # 0x12110
movapd %xmm1, %xmm0
unpckhpd %xmm1, %xmm0            # xmm0 = xmm0[1],xmm1[1]
addsd %xmm1, %xmm0
mulsd 0x767b(%rip), %xmm0     # 0x12130
leaq 0x8204(%rip), %rsi      # 0x12cc0
movb $0x1, %al
callq 0x1130
movq 0x10(%rbx), %r14
movq 0x18(%rbx), %r15
movq %rbx, %rdi
callq 0x4264
movsd 0x330(%rbx), %xmm1
unpcklps 0x761e(%rip), %xmm1     # xmm1 = xmm1[0],mem[0],xmm1[1],mem[1]
subpd 0x7626(%rip), %xmm1     # 0x12110
movapd %xmm1, %xmm0
unpckhpd %xmm1, %xmm0            # xmm0 = xmm0[1],xmm1[1]
addsd %xmm1, %xmm0
mulsd 0x7632(%rip), %xmm0     # 0x12130
leaq 0x81cf(%rip), %rsi      # 0x12cd4
movq %r14, %rdi
movq %r15, %rdx
movb $0x1, %al
popq %rbx
popq %r14
popq %r15
jmp 0x1130
leaq 0x805a(%rip), %rdi      # 0x12b78
leaq 0x7787(%rip), %rsi      # 0x122ac
leaq 0x8078(%rip), %rcx      # 0x12ba4
movl $0x1f5b, %edx           # imm = 0x1F5B
callq 0x10b0