// File: /workspace/github_cpp_makefile_star2_O1/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 0x9014
movq %rdi, %rbx
cmpq $0x0, 0x1b8(%rdi)
je 0x9033
movq 0x270(%rbx), %rsi
movq 0x278(%rbx), %r14
subq %rsi, %r14
jne 0x9052
movq 0x280(%rbx), %rdx
cmpq %rdx, %rsi
jne 0x8ebb
subq %rsi, %rdx
movq %rdx, %rax
shrq $0x2, %rax
movabsq $0x7fffffff8, %r15      # imm = 0x7FFFFFFF8
andq %r15, %rdx
movl %eax, %eax
movl $0x1, %r12d
cmovneq %rax, %r12
leaq (,%r12,8), %rcx
movq %rbx, %rdi
callq 0x4593
movq %rax, 0x270(%rbx)
andq %r15, %r14
addq %rax, %r14
movq %r14, 0x278(%rbx)
leaq (%rax,%r12,8), %rax
movq %rax, 0x280(%rbx)
movl 0x1b8(%rbx), %esi
subl 0x38(%rbx), %esi
shrl %esi
shlq $0x4, %rsi
addq 0x40(%rbx), %rsi
movq %rbx, %rdi
callq 0x10775
movq 0x270(%rbx), %rax
movq 0x278(%rbx), %rcx
subq %rax, %rcx
testq %rcx, %rcx
jle 0x8f81
leaq 0x70(%rbx), %r15
xorl %r12d, %r12d
movq (%rax,%r12,8), %rsi
testb $0x1, (%rsi)
je 0x8ff5
movq %rbx, %rdi
callq 0x1062b
testq %rax, %rax
je 0x8f60
movq %rax, %r14
movl (%rax), %eax
testq %rax, %rax
je 0x8f51
leaq (%r14,%rax,8), %r13
addq $0x18, %r13
leaq 0x18(%r14), %rbp
movq 0x40(%rbx), %rsi
movl (%rbp), %eax
subl 0x38(%rbx), %eax
shrl %eax
shlq $0x4, %rax
testb $0x1, (%rsi,%rax)
jne 0x8f48
addq %rax, %rsi
movq %rbx, %rdi
callq 0x10775
addq $0x8, %rbp
cmpq %r13, %rbp
jb 0x8f27
cmpq %r15, %r14
jne 0x8f60
movl $0x0, 0xc0(%rbx)
incq %r12
movq 0x270(%rbx), %rax
movq 0x278(%rbx), %rcx
subq %rax, %rcx
sarq $0x3, %rcx
cmpq %r12, %rcx
jg 0x8ef7
movq 0xf8(%rbx), %rax
cmpq 0x100(%rbx), %rax
jae 0x8fcc
movq 0x40(%rbx), %rcx
movl (%rax), %edx
subl 0x38(%rbx), %edx
shrl %edx
shlq $0x4, %rdx
movzwl (%rcx,%rdx), %esi
testb $0x1, %sil
je 0x8fb3
addq %rdx, %rcx
orl $0x20, %esi
movw %si, (%rcx)
addq $0x8, %rax
jmp 0x8f88
leaq -0x8(%rax), %rcx
movq %rcx, 0x278(%rbx)
movq -0x8(%rax), %rax
andw $-0x2, (%rax)
movq 0x278(%rbx), %rax
cmpq 0x270(%rbx), %rax
ja 0x8fb9
movl $0x1, 0x1c0(%rbx)
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0xaecc(%rip), %rdi      # 0x13ec8
leaq 0x92a9(%rip), %rsi      # 0x122ac
leaq 0xb6e7(%rip), %rcx      # 0x146f1
movl $0x1994, %edx           # imm = 0x1994
callq 0x10b0
leaq 0x9981(%rip), %rdi      # 0x1299c
leaq 0x928a(%rip), %rsi      # 0x122ac
leaq 0xb6c8(%rip), %rcx      # 0x146f1
movl $0x1985, %edx           # imm = 0x1985
callq 0x10b0
leaq 0x9550(%rip), %rdi      # 0x1258a
leaq 0x926b(%rip), %rsi      # 0x122ac
leaq 0xb6a9(%rip), %rcx      # 0x146f1
movl $0x1987, %edx           # imm = 0x1987
callq 0x10b0
leaq 0xa016(%rip), %rdi      # 0x1306f
leaq 0x924c(%rip), %rsi      # 0x122ac
leaq 0xb68a(%rip), %rcx      # 0x146f1
movl $0x1988, %edx           # imm = 0x1988
callq 0x10b0