// File: /workspace/github_cpp_makefile_star2_O2/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 $0x18, %rsp
movl %esi, %ebx
movq %rdi, %r14
callq 0x3b54
movq %r14, %rdi
callq 0x7fc8
testl %ebx, %ebx
je 0xb3ee
cmpq $0x0, 0x248(%r14)
jne 0xb401
cmpl $0x0, 0x228(%r14)
je 0xb414
cmpl $0x0, 0x22c(%r14)
jne 0xb379
movl %ebx, 0x14(%rsp)
movl 0x2c(%r14), %eax
addl %eax, %eax
movq %r14, 0x8(%rsp)
leaq 0x4(,%rax,4), %rsi
movq 0x8(%rsp), %rdi
callq 0x8f50
movq %rax, %r15
movq 0x8(%rsp), %rax
movl 0x2c(%rax), %eax
addl %eax, %eax
leaq 0x4(,%rax,4), %rdx
movq %r15, %rdi
xorl %esi, %esi
callq 0x10d0
movq 0x8(%rsp), %rdi
movl 0x2c(%rdi), %eax
leaq (%r15,%rax,4), %r15
movq 0x210(%rdi), %rbp
movq 0x218(%rdi), %rax
movq %rbp, %rcx
cmpq %rax, %rcx
jae 0xb1fc
movslq (%rcx), %rdx
incl (%r15,%rdx,4)
addq $0x4, %rcx
jmp 0xb1ea
movl (%r15), %ecx
cmpl 0x438(%rdi), %ecx
jne 0xb42f
movl $0x0, 0x10(%rsp)
cmpq %rax, %rbp
jae 0xb2fd
xorl %r14d, %r14d
movq %rbp, %r13
xorl %ebx, %ebx
movslq (%r13), %r12
testq %r12, %r12
je 0xb2a8
movl %r12d, %esi
callq 0x803c
testl %eax, %eax
js 0xb29a
je 0xb242
movl (%r15,%r12,4), %r14d
movl %r12d, %ebx
movq 0x8(%rsp), %rdi
movl %r12d, %esi
callq 0xb44e
testl %eax, %eax
jg 0xb2cb
js 0xb29a
movq 0x8(%rsp), %rdi
movq 0x38(%rdi), %rax
leal (%r12,%r12), %ecx
pushq $0x1
popq %rdx
subl %ecx, %edx
testl %r12d, %r12d
cmovnsl %ecx, %edx
cmpb $0x0, (%rax,%rdx)
je 0xb3b0
js 0xb29f
movl (%r15,%r12,4), %eax
testl %ebx, %ebx
sete %cl
cmpl %r14d, %eax
seta %dl
orb %cl, %dl
jne 0xb292
movl %r14d, %eax
movl %ebx, %r12d
movl %eax, %r14d
movl %r12d, %ebx
jmp 0xb29f
movq 0x8(%rsp), %rdi
addq $0x4, %r13
jmp 0xb224
testl %ebx, %ebx
je 0xb3cf
movq 0x40(%rdi), %rax
movl %ebx, %ecx
negl %ecx
cmovsl %ebx, %ecx
shlq $0x4, %rcx
orw $0x2000, (%rax,%rcx)    # imm = 0x2000
incl 0x10(%rsp)
jmp 0xb2e4
movq 0x8(%rsp), %rdi
jmp 0xb2e4
movl (%r15,%rax,4), %ecx
testl %ecx, %ecx
je 0xb391
decl %ecx
movl %ecx, (%r15,%rax,4)
addq $0x4, %rbp
movslq -0x4(%rbp), %rax
testq %rax, %rax
jne 0xb2d2
movq 0x218(%rdi), %rax
jmp 0xb213
movl 0x2c(%rdi), %eax
leal (%rax,%rax), %ecx
shlq $0x2, %rax
subq %rax, %r15
leaq 0x4(,%rcx,4), %rdx
movq %r15, %rsi
callq 0x8e83
movq 0x8(%rsp), %r14
movl $0x1, 0x22c(%r14)
cmpl $0x0, 0x20(%r14)
movl 0x14(%rsp), %ebx
je 0xb379
movq 0x10(%r14), %rdi
movq 0x18(%r14), %rdx
movl 0x2c(%r14), %r8d
xorpd %xmm0, %xmm0
testl %r8d, %r8d
movl 0x10(%rsp), %ecx
je 0xb366
movl %ecx, %eax
cvtsi2sd %rax, %xmm0
cvtsi2sd %r8, %xmm1
divsd %xmm1, %xmm0
mulsd 0x5d8a(%rip), %xmm0     # 0x110f0
leaq 0x8653(%rip), %rsi      # 0x139c0
movb $0x1, %al
callq 0x1140
movq 0x8(%rsp), %r14
movq %r14, %rdi
movl %ebx, %esi
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0xb44e
leaq 0x861a(%rip), %rdi      # 0x139b2
leaq 0x5ed5(%rip), %rsi      # 0x11274
leaq 0x85db(%rip), %rcx      # 0x13981
movl $0x1b93, %edx           # imm = 0x1B93
callq 0x10b0
leaq 0x7158(%rip), %rdi      # 0x1250f
leaq 0x5eb6(%rip), %rsi      # 0x11274
leaq 0x85bc(%rip), %rcx      # 0x13981
movl $0x1b80, %edx           # imm = 0x1B80
callq 0x10b0
leaq 0x85d7(%rip), %rdi      # 0x139ad
leaq 0x5e97(%rip), %rsi      # 0x11274
leaq 0x859d(%rip), %rcx      # 0x13981
movl $0x1b8b, %edx           # imm = 0x1B8B
callq 0x10b0
movq 0xcc03(%rip), %rax      # 0x17ff8
movq (%rax), %rsi
leaq 0x6a34(%rip), %rdi      # 0x11e33
jmp 0xb425
movq 0xcbf0(%rip), %rax      # 0x17ff8
movq (%rax), %rsi
leaq 0x6a5d(%rip), %rdi      # 0x11e6f
jmp 0xb425
movq 0xcbdd(%rip), %rax      # 0x17ff8
movq (%rax), %rsi
leaq 0x6a8e(%rip), %rdi      # 0x11eb3
callq 0x10c0
callq 0x1060
leaq 0x8561(%rip), %rdi      # 0x13997
leaq 0x5e37(%rip), %rsi      # 0x11274
leaq 0x853d(%rip), %rcx      # 0x13981
movl $0x1b63, %edx           # imm = 0x1B63
callq 0x10b0