// File: /workspace/github_cpp_makefile_star2_O2/biotomas[P]ipasir/sat/picosat961/picosat-961/picosat.c
// Function: extract_all_failed_assumptions
static void
extract_all_failed_assumptions (PS * ps)
{
  Lit ** p, ** eol;
  Var * v, * u;
  int pos;
  Cls * c;

  assert (!ps->extracted_all_failed_assumptions);

  assert (ps->failed_assumption);
  assert (ps->mhead == ps->marked);

  if (ps->marked == ps->eom)
    ENLARGE (ps->marked, ps->mhead, ps->eom);

  v = LIT2VAR (ps->failed_assumption);
  mark_var (ps, v);
  pos = 0;

  while (pos < ps->mhead - ps->marked)
    {
      v = ps->marked[pos++];
      assert (v->mark);
      c = var2reason (ps, v);
      if (!c)
	continue;
      eol = end_of_lits (c);
      for (p = c->lits; p < eol; p++)
	{
	  u = LIT2VAR (*p);
	  if (!u->mark)
	    mark_var (ps, u);
	}
#ifdef NO_BINARY_CLAUSES
      if (c == &ps->impl)
	resetimpl (ps);
#endif
    }

  for (p = ps->als; p < ps->alshead; p++)
    {
      u = LIT2VAR (*p);
      if (!u->mark) continue;
      u->failed = 1;
      LOG ( fprintf (ps->out,
                     "%sfailed assumption %d\n",
		     ps->prefix, LIT2INT (*p)));
    }

  while (ps->mhead > ps->marked)
    (*--ps->mhead)->mark = 0;

  ps->extracted_all_failed_assumptions = 1;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
cmpl $0x0, 0x1c0(%rdi)
jne 0x8451
movq %rdi, %rbx
movq 0x1b8(%rdi), %rsi
testq %rsi, %rsi
je 0x8470
movq 0x270(%rbx), %rax
movq 0x278(%rbx), %rcx
cmpq %rax, %rcx
jne 0x848f
cmpq 0x280(%rbx), %rcx
jne 0x831c
pushq $0x8
popq %rcx
movq %rbx, %rdi
movq %rax, %rsi
xorl %edx, %edx
callq 0x3e40
movq %rax, 0x270(%rbx)
movq %rax, 0x278(%rbx)
addq $0x8, %rax
movq %rax, 0x280(%rbx)
movq 0x1b8(%rbx), %rsi
subl 0x38(%rbx), %esi
shrl %esi
shlq $0x4, %rsi
addq 0x40(%rbx), %rsi
movq %rbx, %rdi
callq 0xeed9
leaq 0x70(%rbx), %r15
xorl %r12d, %r12d
movq 0x270(%rbx), %rax
movq 0x278(%rbx), %rcx
subq %rax, %rcx
sarq $0x3, %rcx
cmpq %r12, %rcx
jle 0x83be
movq (%rax,%r12,8), %rsi
testb $0x1, (%rsi)
je 0x8432
incq %r12
movq %rbx, %rdi
callq 0xeda1
testq %rax, %rax
je 0x8338
movq %rax, %r14
leaq 0x18(%rax), %r13
movl (%rax), %eax
leaq (%r14,%rax,8), %rbp
addq $0x18, %rbp
cmpq %rbp, %r13
jae 0x83ad
movq 0x40(%rbx), %rsi
movl (%r13), %eax
subl 0x38(%rbx), %eax
shrl %eax
shlq $0x4, %rax
testb $0x1, (%rsi,%rax)
jne 0x83a7
addq %rax, %rsi
movq %rbx, %rdi
callq 0xeed9
addq $0x8, %r13
jmp 0x8380
cmpq %r15, %r14
jne 0x8338
andl $0x0, 0xc0(%rbx)
jmp 0x8338
movq 0xf8(%rbx), %rax
cmpq 0x100(%rbx), %rax
jae 0x8409
movq 0x40(%rbx), %rcx
movl (%rax), %edx
subl 0x38(%rbx), %edx
shrl %edx
shlq $0x4, %rdx
movzwl (%rcx,%rdx), %esi
testb $0x1, %sil
je 0x83f0
addq %rdx, %rcx
orl $0x20, %esi
movw %si, (%rcx)
addq $0x8, %rax
jmp 0x83c5
leaq -0x8(%rax), %rcx
movq %rcx, 0x278(%rbx)
movq -0x8(%rax), %rax
andw $-0x2, (%rax)
movq 0x278(%rbx), %rax
cmpq 0x270(%rbx), %rax
ja 0x83f6
movl $0x1, 0x1c0(%rbx)
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0xaa23(%rip), %rdi      # 0x12e5c
leaq 0x8e34(%rip), %rsi      # 0x11274
leaq 0xb224(%rip), %rcx      # 0x1366b
movl $0x1994, %edx           # imm = 0x1994
callq 0x10b0
leaq 0x950c(%rip), %rdi      # 0x11964
leaq 0x8e15(%rip), %rsi      # 0x11274
leaq 0xb205(%rip), %rcx      # 0x1366b
movl $0x1985, %edx           # imm = 0x1985
callq 0x10b0
leaq 0x90db(%rip), %rdi      # 0x11552
leaq 0x8df6(%rip), %rsi      # 0x11274
leaq 0xb1e6(%rip), %rcx      # 0x1366b
movl $0x1987, %edx           # imm = 0x1987
callq 0x10b0
leaq 0x9b93(%rip), %rdi      # 0x12029
leaq 0x8dd7(%rip), %rsi      # 0x11274
leaq 0xb1c7(%rip), %rcx      # 0x1366b
movl $0x1988, %edx           # imm = 0x1988
callq 0x10b0