// File: biotomas[P]ipasir/sat/picosat961/picosat-961/picosat.c
// Function: simplify_and_add_original_clause
static void
simplify_and_add_original_clause (PS * ps)
{
#ifdef NO_BINARY_CLAUSES
  Cls * c;
#endif
  if (trivial_clause (ps))
    {
      ps->ahead = ps->added;

      if (ps->ohead == ps->eoo)
	ENLARGE (ps->oclauses, ps->ohead, ps->eoo);

      *ps->ohead++ = 0;

      ps->addedclauses++;
      ps->oadded++;
    }
  else
    {
      if (ps->CLS != ps->clshead)
	add_lit (ps, NOTLIT (ps->clshead[-1]));

#ifdef NO_BINARY_CLAUSES
      c = 
#endif
      add_simplified_clause (ps, 0);
#ifdef NO_BINARY_CLAUSES
      if (c == &ps->impl) assert (!ps->implvalid);
#endif
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
callq 0x18640
cmpl $0x0, %eax
je 0x6fdf
movq -0x8(%rbp), %rax
movq 0x258(%rax), %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x260(%rax)
movq -0x8(%rbp), %rax
movq 0x1e8(%rax), %rax
movq -0x8(%rbp), %rcx
cmpq 0x1f0(%rcx), %rax
jne 0x6f94
jmp 0x6e72
movq -0x8(%rbp), %rax
movq 0x1f0(%rax), %rax
movq -0x8(%rbp), %rcx
movq 0x1e0(%rcx), %rcx
subq %rcx, %rax
sarq $0x3, %rax
movl %eax, -0x14(%rbp)
cmpl $0x0, -0x14(%rbp)
je 0x6ea2
movl -0x14(%rbp), %eax
shll %eax
movl %eax, -0x3c(%rbp)
jmp 0x6eac
movl $0x1, %eax
movl %eax, -0x3c(%rbp)
jmp 0x6eac
movl -0x3c(%rbp), %eax
movl %eax, %eax
movq %rax, -0x20(%rbp)
movq -0x8(%rbp), %rax
movq 0x1e8(%rax), %rax
movq -0x8(%rbp), %rcx
movq 0x1e0(%rcx), %rcx
subq %rcx, %rax
sarq $0x3, %rax
movl %eax, -0x24(%rbp)
movq -0x8(%rbp), %rax
movq 0x1e0(%rax), %rax
movq -0x8(%rbp), %rcx
cmpq 0x1f0(%rcx), %rax
ja 0x6eef
jmp 0x6f0e
leaq 0x179f8(%rip), %rdi     # 0x1e8ee
leaq 0x163a7(%rip), %rsi     # 0x1d2a4
movl $0xa2d, %edx            # imm = 0xA2D
leaq 0x18432(%rip), %rcx     # 0x1f33b
callq 0x10b0
jmp 0x6f10
movl -0x14(%rbp), %eax
shlq $0x3, %rax
movq %rax, -0x30(%rbp)
movq -0x20(%rbp), %rax
shlq $0x3, %rax
movq %rax, -0x38(%rbp)
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x1e0(%rax), %rsi
movq -0x30(%rbp), %rdx
movq -0x38(%rbp), %rcx
callq 0x4f30
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x1e0(%rax)
movq -0x8(%rbp), %rax
movq 0x1e0(%rax), %rcx
movl -0x24(%rbp), %eax
shlq $0x3, %rax
addq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x1e8(%rax)
movq -0x8(%rbp), %rax
movq 0x1e0(%rax), %rcx
movq -0x20(%rbp), %rax
shlq $0x3, %rax
addq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x1f0(%rax)
jmp 0x6f94
movq -0x8(%rbp), %rcx
movq 0x1e8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x1e8(%rcx)
movq $0x0, (%rax)
movq -0x8(%rbp), %rax
movl 0x448(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x448(%rax)
movq -0x8(%rbp), %rax
movl 0x438(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x438(%rax)
jmp 0x707b
movq -0x8(%rbp), %rax
movq 0x118(%rax), %rax
movq -0x8(%rbp), %rcx
cmpq 0x120(%rcx), %rax
je 0x7029
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x38(%rax), %rsi
movq -0x8(%rbp), %rax
movq 0x120(%rax), %rax
movq -0x8(%rax), %rax
movq -0x8(%rbp), %rcx
movq 0x38(%rcx), %rcx
subq %rcx, %rax
xorq $0x1, %rax
addq %rax, %rsi
callq 0x6c80
movq -0x8(%rbp), %rdi
xorl %esi, %esi
callq 0x14260
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq -0x8(%rbp), %rcx
addq $0x70, %rcx
cmpq %rcx, %rax
jne 0x7079
movq -0x8(%rbp), %rax
cmpl $0x0, 0xc0(%rax)
jne 0x7058
jmp 0x7077
leaq 0x176f8(%rip), %rdi     # 0x1e757
leaq 0x1623e(%rip), %rsi     # 0x1d2a4
movl $0xa3e, %edx            # imm = 0xA3E
leaq 0x182c9(%rip), %rcx     # 0x1f33b
callq 0x10b0
jmp 0x7079
jmp 0x707b
addq $0x40, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)