// File: biotomas[P]ipasir/sat/picosat961/picosat-961/picosat.c
// Function: enlarge
static void
enlarge (PS * ps, unsigned new_size_vars)
{
  long rnks_delta, lits_delta;
  Lit *old_lits = ps->lits;
  Rnk *old_rnks = ps->rnks;

  RESIZEN (ps->lits, 2 * ps->size_vars, 2 * new_size_vars);
  RESIZEN (ps->jwh, 2 * ps->size_vars, 2 * new_size_vars);
  RESIZEN (ps->htps, 2 * ps->size_vars, 2 * new_size_vars);
#ifndef NDSC
  RESIZEN (ps->dhtps, 2 * ps->size_vars, 2 * new_size_vars);
#endif
  RESIZEN (ps->impls, 2 * ps->size_vars, 2 * new_size_vars);
  RESIZEN (ps->vars, ps->size_vars, new_size_vars);
  RESIZEN (ps->rnks, ps->size_vars, new_size_vars);

  if ((lits_delta = ps->lits - old_lits))
    {
      fix_trail_lits (ps, lits_delta);
      fix_clause_lits (ps, lits_delta);
      fix_added_lits (ps, lits_delta);
      fix_assumed_lits (ps, lits_delta);
      fix_cls_lits (ps, lits_delta);
#ifdef NO_BINARY_CLAUSES
      fix_impl_lits (ps, lits_delta);
#endif
#ifndef NADC
      fix_ados (ps, lits_delta);
#endif
    }

  if ((rnks_delta = ps->rnks - old_rnks))
    {
      fix_heap_rnks (ps, rnks_delta);
    }

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

  ps->size_vars = new_size_vars;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movq -0x8(%rbp), %rax
movq 0x38(%rax), %rax
movq %rax, -0x28(%rbp)
movq -0x8(%rbp), %rax
movq 0x48(%rax), %rax
movq %rax, -0x30(%rbp)
movq -0x8(%rbp), %rax
movl 0x30(%rax), %eax
shll %eax
movl %eax, %eax
shlq $0x0, %rax
movq %rax, -0x38(%rbp)
movl -0xc(%rbp), %eax
shll %eax
movl %eax, %eax
shlq $0x0, %rax
movq %rax, -0x40(%rbp)
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x38(%rax), %rsi
movq -0x38(%rbp), %rdx
movq -0x40(%rbp), %rcx
callq 0x4f30
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x38(%rax)
jmp 0x4462
movq -0x8(%rbp), %rax
movl 0x30(%rax), %eax
shll %eax
movl %eax, %eax
shlq $0x2, %rax
movq %rax, -0x48(%rbp)
movl -0xc(%rbp), %eax
shll %eax
movl %eax, %eax
shlq $0x2, %rax
movq %rax, -0x50(%rbp)
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x50(%rax), %rsi
movq -0x48(%rbp), %rdx
movq -0x50(%rbp), %rcx
callq 0x4f30
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x50(%rax)
jmp 0x44aa
movq -0x8(%rbp), %rax
movl 0x30(%rax), %eax
shll %eax
movl %eax, %eax
shlq $0x3, %rax
movq %rax, -0x58(%rbp)
movl -0xc(%rbp), %eax
shll %eax
movl %eax, %eax
shlq $0x3, %rax
movq %rax, -0x60(%rbp)
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rsi
movq -0x58(%rbp), %rdx
movq -0x60(%rbp), %rcx
callq 0x4f30
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x58(%rax)
jmp 0x44f2
movq -0x8(%rbp), %rax
movl 0x30(%rax), %eax
shll %eax
movl %eax, %eax
shlq $0x3, %rax
movq %rax, -0x68(%rbp)
movl -0xc(%rbp), %eax
shll %eax
movl %eax, %eax
shlq $0x3, %rax
movq %rax, -0x70(%rbp)
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rsi
movq -0x68(%rbp), %rdx
movq -0x70(%rbp), %rcx
callq 0x4f30
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x60(%rax)
jmp 0x453a
movq -0x8(%rbp), %rax
movl 0x30(%rax), %eax
shll %eax
movl %eax, %eax
shlq $0x4, %rax
movq %rax, -0x78(%rbp)
movl -0xc(%rbp), %eax
shll %eax
movl %eax, %eax
shlq $0x4, %rax
movq %rax, -0x80(%rbp)
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x68(%rax), %rsi
movq -0x78(%rbp), %rdx
movq -0x80(%rbp), %rcx
callq 0x4f30
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x68(%rax)
jmp 0x4582
movq -0x8(%rbp), %rax
movl 0x30(%rax), %eax
shlq $0x4, %rax
movq %rax, -0x88(%rbp)
movl -0xc(%rbp), %eax
shlq $0x4, %rax
movq %rax, -0x90(%rbp)
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x40(%rax), %rsi
movq -0x88(%rbp), %rdx
movq -0x90(%rbp), %rcx
callq 0x4f30
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x40(%rax)
jmp 0x45ce
movq -0x8(%rbp), %rax
movl 0x30(%rax), %eax
shlq $0x3, %rax
movq %rax, -0x98(%rbp)
movl -0xc(%rbp), %eax
shlq $0x3, %rax
movq %rax, -0xa0(%rbp)
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x48(%rax), %rsi
movq -0x98(%rbp), %rdx
movq -0xa0(%rbp), %rcx
callq 0x4f30
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x48(%rax)
movq -0x8(%rbp), %rax
movq 0x38(%rax), %rax
movq -0x28(%rbp), %rcx
subq %rcx, %rax
movq %rax, -0x20(%rbp)
cmpq $0x0, %rax
je 0x467f
movq -0x8(%rbp), %rdi
movq -0x20(%rbp), %rsi
callq 0xe660
movq -0x8(%rbp), %rdi
movq -0x20(%rbp), %rsi
callq 0xe6b0
movq -0x8(%rbp), %rdi
movq -0x20(%rbp), %rsi
callq 0xe810
movq -0x8(%rbp), %rdi
movq -0x20(%rbp), %rsi
callq 0xe860
movq -0x8(%rbp), %rdi
movq -0x20(%rbp), %rsi
callq 0xe8b0
movq -0x8(%rbp), %rdi
movq -0x20(%rbp), %rsi
callq 0xe900
movq -0x8(%rbp), %rax
movq 0x48(%rax), %rax
movq -0x30(%rbp), %rcx
subq %rcx, %rax
sarq $0x3, %rax
movq %rax, -0x18(%rbp)
cmpq $0x0, %rax
je 0x46a9
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0xe9b0
movq -0x8(%rbp), %rax
movq 0x278(%rax), %rax
movq -0x8(%rbp), %rcx
cmpq 0x270(%rcx), %rax
jne 0x46c3
jmp 0x46e2
leaq 0x199e4(%rip), %rdi     # 0x1e0ae
leaq 0x18bd3(%rip), %rsi     # 0x1d2a4
movl $0xb65, %edx            # imm = 0xB65
leaq 0x199e9(%rip), %rcx     # 0x1e0c6
callq 0x10b0
movl -0xc(%rbp), %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x30(%rax)
addq $0xa0, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)