// File: /workspace/github_cpp_makefile_star2_O3/biotomas[P]ipasir/sat/picosat961/picosat-961/picosat.c
// Function: picosat_print
void
picosat_print (PS * ps, FILE * file)
{
#ifdef NO_BINARY_CLAUSES
  Lit * lit, *other, * last;
  Ltk * stack;
#endif
  Lit **q, **eol;
  Cls **p, *c;
  unsigned n;

  if (ps->measurealltimeinlib)
    enter (ps);
  else
    check_ready (ps);

  n = 0;
  n +=  ps->alshead - ps->als;

  for (p = SOC; p != EOC; p = NXC (p))
    {
      c = *p;

      if (!c)
	continue;

#ifdef TRACE
      if (c->collected)
	continue;
#endif
      n++;
    }

#ifdef NO_BINARY_CLAUSES
  last = int2lit (ps, -ps->max_var);
  for (lit = int2lit (ps, 1); lit <= last; lit++)
    {
      stack = LIT2IMPLS (lit);
      eol = stack->start + stack->count;
      for (q = stack->start; q < eol; q++)
	if (*q >= lit)
	  n++;
    }
#endif

  fprintf (file, "p cnf %d %u\n", ps->max_var, n);

  for (p = SOC; p != EOC; p = NXC (p))
    {
      c = *p;
      if (!c)
	continue;

#ifdef TRACE
      if (c->collected)
	continue;
#endif

      eol = end_of_lits (c);
      for (q = c->lits; q < eol; q++)
	fprintf (file, "%d ", LIT2INT (*q));

      fputs ("0\n", file);
    }

#ifdef NO_BINARY_CLAUSES
  last = int2lit (ps, -ps->max_var);
  for (lit = int2lit (ps, 1); lit <= last; lit++)
    {
      stack = LIT2IMPLS (lit);
      eol = stack->start + stack->count;
      for (q = stack->start; q < eol; q++)
	if ((other = *q) >= lit)
	  fprintf (file, "%d %d 0\n", LIT2INT (lit), LIT2INT (other));
    }
#endif

  {
    Lit **r;
    for (r = ps->als; r < ps->alshead; r++)
      fprintf (file, "%d 0\n", LIT2INT (*r));
  }

  fflush (file);

  if (ps->measurealltimeinlib)
    leave (ps);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rsi, %r14
movq %rdi, %rbx
cmpl $0x0, 0x35c(%rdi)
je 0xacd9
movq %rbx, %rdi
callq 0x3eb1
jmp 0xace1
movq %rbx, %rdi
callq 0x441c
movq 0x100(%rbx), %rcx
subq 0xf8(%rbx), %rcx
movq 0x1e0(%rbx), %rax
shrq $0x3, %rcx
movq 0x1e8(%rbx), %rdx
cmpq %rdx, %rax
jne 0xad0d
movq 0x1f8(%rbx), %rax
movq 0x200(%rbx), %rsi
cmpq %rsi, %rax
je 0xad32
cmpq $0x1, (%rax)
sbbl $-0x1, %ecx
addq $0x8, %rax
cmpq %rdx, %rax
jne 0xad14
movq 0x1f8(%rbx), %rax
jmp 0xad14
movl 0x2c(%rbx), %edx
movl %edx, %eax
negl %eax
leal (%rax,%rax), %esi
testl %eax, %eax
leal 0x1(%rdx,%rdx), %eax
cmovnsl %esi, %eax
cmpl $0x2, %eax
jb 0xad8c
movq 0x38(%rbx), %rsi
addq %rsi, %rax
leaq 0x2(%rsi), %rdi
movq 0x68(%rbx), %r8
movl %edi, %r9d
subl %esi, %r9d
shlq $0x4, %r9
movl 0x8(%r8,%r9), %r10d
testq %r10, %r10
je 0xad84
movq (%r8,%r9), %r9
leaq (%r9,%r10,8), %r10
cmpq %rdi, (%r9)
sbbl $-0x1, %ecx
addq $0x8, %r9
cmpq %r10, %r9
jb 0xad75
incq %rdi
cmpq %rax, %rdi
jbe 0xad59
leaq 0x8f30(%rip), %rsi      # 0x13cc3
movq %r14, %rdi
xorl %eax, %eax
callq 0x1140
movq 0x1e0(%rbx), %r13
movq 0x1e8(%rbx), %rax
cmpq %rax, %r13
jne 0xadb7
movq 0x1f8(%rbx), %r13
cmpq 0x200(%rbx), %r13
je 0xae3f
leaq 0x8f09(%rip), %r12      # 0x13cd0
movq (%r13), %rbp
testq %rbp, %rbp
je 0xae26
movl (%rbp), %eax
testq %rax, %rax
je 0xae10
leaq 0x18(,%rax,8), %r15
addq %rbp, %r15
addq $0x18, %rbp
movl (%rbp), %eax
subl 0x38(%rbx), %eax
movl %eax, %ecx
shrl %ecx
movl %ecx, %edx
negl %edx
testb $0x1, %al
cmovel %ecx, %edx
movq %r14, %rdi
movq %r12, %rsi
xorl %eax, %eax
callq 0x1140
addq $0x8, %rbp
cmpq %r15, %rbp
jb 0xade7
leaq 0x8ec3(%rip), %rdi      # 0x13cda
movq %r14, %rsi
callq 0x10c0
movq 0x1e8(%rbx), %rax
addq $0x8, %r13
cmpq %rax, %r13
jne 0xae36
movq 0x1f8(%rbx), %r13
cmpq 0x200(%rbx), %r13
jne 0xadc7
movl 0x2c(%rbx), %eax
leal 0x1(,%rax,2), %edx
negl %eax
leal (%rax,%rax), %ecx
testl %eax, %eax
cmovnsl %ecx, %edx
movq %rdx, (%rsp)
cmpl $0x2, %edx
jb 0xaee9
movq 0x38(%rbx), %r13
addq %r13, (%rsp)
addq $0x2, %r13
leaq 0x8e61(%rip), %r15      # 0x13cd4
movq 0x68(%rbx), %rax
movl 0x38(%rbx), %edx
movl %r13d, %ecx
subl %edx, %ecx
shlq $0x4, %rcx
movl 0x8(%rax,%rcx), %edx
testq %rdx, %rdx
je 0xaee0
movq (%rax,%rcx), %rbp
leaq (,%rdx,8), %r12
addq %rbp, %r12
movq (%rbp), %rax
cmpq %r13, %rax
jb 0xaed7
movl 0x38(%rbx), %ecx
movl %r13d, %esi
subl %ecx, %esi
movl %esi, %edi
shrl %edi
movl %edi, %edx
negl %edx
testb $0x1, %sil
cmovel %edi, %edx
subl %ecx, %eax
movl %eax, %esi
shrl %esi
movl %esi, %ecx
negl %ecx
testb $0x1, %al
cmovel %esi, %ecx
movq %r14, %rdi
movq %r15, %rsi
xorl %eax, %eax
callq 0x1140
addq $0x8, %rbp
cmpq %r12, %rbp
jb 0xae9b
incq %r13
cmpq (%rsp), %r13
jbe 0xae73
movq 0xf8(%rbx), %r12
cmpq 0x100(%rbx), %r12
jae 0xaf2e
leaq 0x8dd7(%rip), %r15      # 0x13cd7
movl (%r12), %eax
subl 0x38(%rbx), %eax
movl %eax, %ecx
shrl %ecx
movl %ecx, %edx
negl %edx
testb $0x1, %al
cmovel %ecx, %edx
movq %r14, %rdi
movq %r15, %rsi
xorl %eax, %eax
callq 0x1140
addq $0x8, %r12
cmpq 0x100(%rbx), %r12
jb 0xaf00
movq %r14, %rdi
callq 0x1170
cmpl $0x0, 0x35c(%rbx)
je 0xaf55
movq %rbx, %rdi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x4375
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq