// File: /workspace/github_cpp_makefile_star2_O1/biotomas[P]ipasir/sat/picosat961/picosat-961/picosat.c
// Function: picosat_deref_partial
int
picosat_deref_partial (PS * ps, int int_lit) 
{
  check_ready (ps);
  check_sat_state (ps);
  ABORTIF (!int_lit, "API usage: can not partial deref zero literal");
  ABORTIF (ps->mtcls, "API usage: deref partial after empty clause generated");
  ABORTIF (!ps->saveorig, "API usage: 'picosat_save_original_clauses' missing");

#ifdef STATS
  ps->derefs++;
#endif

  if (!ps->partial)
    minautarky (ps);

  return pderef (ps, int_lit);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movl %esi, %ebx
movq %rdi, %r14
callq 0x4264
movq %r14, %rdi
callq 0x8b95
testl %ebx, %ebx
je 0xc210
cmpq $0x0, 0x248(%r14)
jne 0xc215
cmpl $0x0, 0x228(%r14)
je 0xc21a
cmpl $0x0, 0x22c(%r14)
jne 0xc19b
movl %ebx, 0x24(%rsp)
movl 0x2c(%r14), %eax
addl %eax, %eax
leaq 0x4(,%rax,4), %rsi
movq %r14, %rdi
callq 0x9bf6
movq %rax, %r15
movl 0x2c(%r14), %eax
addl %eax, %eax
leaq 0x4(,%rax,4), %rdx
movq %r15, %rdi
xorl %esi, %esi
callq 0x10d0
movl 0x2c(%r14), %eax
leaq (%r15,%rax,4), %rsi
movq 0x210(%r14), %r13
movq 0x218(%r14), %rax
cmpq %rax, %r13
jae 0xbfc6
movq %r13, %rcx
movslq (%rcx), %rdx
incl (%rsi,%rdx,4)
addq $0x4, %rcx
cmpq %rax, %rcx
jb 0xbfb7
movl (%rsi), %ecx
cmpl 0x438(%r14), %ecx
jne 0xc21f
movl $0x0, 0x10(%rsp)
cmpq %rax, %r13
jae 0xc125
movl $0x0, 0x10(%rsp)
movq %rsi, 0x18(%rsp)
movl (%r13), %r12d
testl %r12d, %r12d
sete %bl
je 0xc0b2
leaq 0x4(%r13), %rbp
movl $0x0, 0xc(%rsp)
movl $0x0, 0x14(%rsp)
movq %r14, %rdi
movl %r12d, %esi
callq 0x8bdd
testl %eax, %eax
js 0xc09c
movslq %r12d, %r15
je 0xc03d
movq 0x18(%rsp), %rax
movl (%rax,%r15,4), %eax
movl %eax, 0x14(%rsp)
movl %r12d, 0xc(%rsp)
movq %r14, %rdi
movl %r12d, %esi
callq 0xc23e
testl %eax, %eax
jg 0xc0ba
js 0xc09c
movq 0x38(%r14), %rax
leal (%r12,%r12), %ecx
movl $0x1, %edx
subl %ecx, %edx
testl %r12d, %r12d
cmovnsl %ecx, %edx
cmpb $0x0, (%rax,%rdx)
je 0xc1d2
js 0xc09c
movq 0x18(%rsp), %rax
movl (%rax,%r15,4), %eax
movl 0xc(%rsp), %esi
testl %esi, %esi
sete %cl
movl 0x14(%rsp), %edi
cmpl %edi, %eax
seta %dl
orb %cl, %dl
cmovnel %eax, %edi
movl %edi, 0x14(%rsp)
cmovel %esi, %r12d
movl %r12d, 0xc(%rsp)
movl (%rbp), %r12d
addq $0x4, %rbp
testl %r12d, %r12d
sete %bl
jne 0xc017
jmp 0xc0ba
movl $0x0, 0xc(%rsp)
testb $0x1, %bl
je 0xc0eb
movl 0xc(%rsp), %edx
testl %edx, %edx
movq 0x18(%rsp), %rsi
je 0xc1f1
movq 0x40(%r14), %rax
movl %edx, %ecx
negl %ecx
cmovsl %edx, %ecx
shlq $0x4, %rcx
orw $0x2000, (%rax,%rcx)    # imm = 0x2000
incl 0x10(%rsp)
jmp 0xc0f0
movq 0x18(%rsp), %rsi
movl (%r13), %eax
testl %eax, %eax
je 0xc114
cltq
movl (%rsi,%rax,4), %ecx
testl %ecx, %ecx
je 0xc1b3
decl %ecx
movl %ecx, (%rsi,%rax,4)
movl 0x4(%r13), %eax
addq $0x4, %r13
jmp 0xc0f4
addq $0x4, %r13
cmpq 0x218(%r14), %r13
jb 0xbff3
movl 0x2c(%r14), %eax
leal (%rax,%rax), %ecx
shlq $0x2, %rax
subq %rax, %rsi
leaq 0x4(,%rcx,4), %rdx
movq %r14, %rdi
callq 0x9b29
movl $0x1, 0x22c(%r14)
cmpl $0x0, 0x20(%r14)
movl 0x24(%rsp), %ebx
je 0xc19b
movq 0x10(%r14), %rdi
movq 0x18(%r14), %rdx
movl 0x2c(%r14), %r8d
xorpd %xmm0, %xmm0
testl %r8d, %r8d
movl 0x10(%rsp), %ecx
je 0xc18d
movl %ecx, %eax
xorps %xmm0, %xmm0
cvtsi2sd %rax, %xmm0
cvtsi2sd %r8, %xmm1
divsd %xmm1, %xmm0
mulsd 0x5f93(%rip), %xmm0     # 0x12120
leaq 0x88b2(%rip), %rsi      # 0x14a46
movb $0x1, %al
callq 0x1130
movq %r14, %rdi
movl %ebx, %esi
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0xc23e
leaq 0x887e(%rip), %rdi      # 0x14a38
leaq 0x60eb(%rip), %rsi      # 0x122ac
leaq 0x883f(%rip), %rcx      # 0x14a07
movl $0x1b93, %edx           # imm = 0x1B93
callq 0x10b0
leaq 0x737c(%rip), %rdi      # 0x13555
leaq 0x60cc(%rip), %rsi      # 0x122ac
leaq 0x8820(%rip), %rcx      # 0x14a07
movl $0x1b80, %edx           # imm = 0x1B80
callq 0x10b0
leaq 0x883b(%rip), %rdi      # 0x14a33
leaq 0x60ad(%rip), %rsi      # 0x122ac
leaq 0x8801(%rip), %rcx      # 0x14a07
movl $0x1b8b, %edx           # imm = 0x1B8B
callq 0x10b0
callq 0x1604
callq 0x15cc
callq 0x15e8
leaq 0x87f7(%rip), %rdi      # 0x14a1d
leaq 0x607f(%rip), %rsi      # 0x122ac
leaq 0x87d3(%rip), %rcx      # 0x14a07
movl $0x1b63, %edx           # imm = 0x1B63
callq 0x10b0