// File: /workspace/github_cpp_makefile_star2_O1/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
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl %esi, %ebx
movq %rdi, %r14
movq 0x38(%rdi), %r15
movq 0x48(%rdi), %rbp
movl 0x30(%rdi), %edx
addl %edx, %edx
leal (%rbx,%rbx), %r12d
movq %r15, %rsi
movq %r12, %rcx
callq 0x4593
movq %rax, 0x38(%r14)
movl 0x30(%r14), %edx
addl %edx, %edx
shlq $0x2, %rdx
leaq (,%r12,4), %rcx
movq 0x50(%r14), %rsi
movq %r14, %rdi
callq 0x4593
movq %rax, 0x50(%r14)
movl 0x30(%r14), %edx
addl %edx, %edx
shlq $0x3, %rdx
leaq (,%r12,8), %r13
movq 0x58(%r14), %rsi
movq %r14, %rdi
movq %r13, %rcx
callq 0x4593
movq %rax, 0x58(%r14)
movl 0x30(%r14), %edx
addl %edx, %edx
shlq $0x3, %rdx
movq 0x60(%r14), %rsi
movq %r14, %rdi
movq %r13, %rcx
callq 0x4593
movq %rax, 0x60(%r14)
movl 0x30(%r14), %edx
addl %edx, %edx
shlq $0x4, %rdx
shlq $0x4, %r12
movq 0x68(%r14), %rsi
movq %r14, %rdi
movq %r12, %rcx
callq 0x4593
movq %rax, 0x68(%r14)
movl 0x30(%r14), %edx
shlq $0x4, %rdx
movl %ebx, %r12d
movq %r12, %rcx
shlq $0x4, %rcx
movq 0x40(%r14), %rsi
movq %r14, %rdi
callq 0x4593
movq %rax, 0x40(%r14)
movl 0x30(%r14), %edx
shlq $0x3, %rdx
shlq $0x3, %r12
movq 0x48(%r14), %rsi
movq %r14, %rdi
movq %r12, %rcx
callq 0x4593
movq %rax, 0x48(%r14)
movq 0x38(%r14), %rax
subq %r15, %rax
je 0x402b
movq 0xc8(%r14), %rcx
cmpq 0xd0(%r14), %rcx
jae 0x3f2e
addq %rax, (%rcx)
addq $0x8, %rcx
jmp 0x3f1c
movq 0x1e0(%r14), %rcx
cmpq 0x1e8(%r14), %rcx
jne 0x3f45
movq 0x1f8(%r14), %rcx
cmpq 0x200(%r14), %rcx
je 0x3f9a
movq (%rcx), %rdx
testq %rdx, %rdx
je 0x3f94
movl (%rdx), %edi
testq %rdi, %rdi
je 0x3f94
movslq %edi, %rsi
leaq (%rdx,%rdi,8), %rdi
addq $0x18, %rdi
addq $0x18, %rdx
xorl %r8d, %r8d
movq %r8, %r9
sarq $0x3, %r9
cmpq %rsi, %r9
jg 0x4070
leaq (%rdx,%r8), %r9
addq $0x8, %r9
addq %rax, -0x8(%r9)
addq $0x8, %r8
cmpq %rdi, %r9
jb 0x3f6f
addq $0x8, %rcx
jmp 0x3f35
movq 0x258(%r14), %rcx
cmpq 0x260(%r14), %rcx
jae 0x3fb3
addq %rax, (%rcx)
addq $0x8, %rcx
jmp 0x3fa1
movq 0xf8(%r14), %rcx
cmpq 0x100(%r14), %rcx
jae 0x3fcc
addq %rax, (%rcx)
addq $0x8, %rcx
jmp 0x3fba
movq 0x118(%r14), %rcx
cmpq 0x120(%r14), %rcx
jae 0x3fe5
addq %rax, (%rcx)
addq $0x8, %rcx
jmp 0x3fd3
movl 0x2c(%r14), %ecx
addl %ecx, %ecx
je 0x402b
movq 0x68(%r14), %rdx
addq $0x20, %rdx
shlq $0x4, %rcx
cmpl $0x0, 0x8(%rdx)
je 0x4018
movq (%rdx), %rsi
addq %rax, (%rsi)
addq $0x8, %rsi
movl 0x8(%rdx), %edi
shlq $0x3, %rdi
addq (%rdx), %rdi
cmpq %rdi, %rsi
jb 0x4002
leaq 0x10(%rdx), %rsi
movq 0x68(%r14), %rdi
addq %rcx, %rdi
cmpq %rdi, %rdx
movq %rsi, %rdx
jbe 0x3ff9
movq 0x48(%r14), %rax
subq %rbp, %rax
je 0x404d
movq 0x1c8(%r14), %rcx
addq $0x8, %rcx
cmpq 0x1d0(%r14), %rcx
jae 0x404d
addq %rax, (%rcx)
jmp 0x403b
movq 0x278(%r14), %rax
cmpq 0x270(%r14), %rax
jne 0x408f
movl %ebx, 0x30(%r14)
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0xf031(%rip), %rdi      # 0x130a8
leaq 0xe22e(%rip), %rsi      # 0x122ac
leaq 0xf04a(%rip), %rcx      # 0x130cf
movl $0xb02, %edx            # imm = 0xB02
callq 0x10b0
leaq 0xefd9(%rip), %rdi      # 0x1306f
leaq 0xe20f(%rip), %rsi      # 0x122ac
leaq 0xefe3(%rip), %rcx      # 0x13087
movl $0xb65, %edx            # imm = 0xB65
callq 0x10b0