// File: /workspace/github_cpp_makefile_star2_O3/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 0x473a
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 0x473a
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 0x473a
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 0x473a
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 0x473a
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 0x473a
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 0x473a
movq %rax, 0x48(%r14)
movq 0x38(%r14), %rax
subq %r15, %rax
je 0x4101
movq 0xc8(%r14), %rcx
cmpq 0xd0(%r14), %rcx
jae 0x3ff9
addq %rax, (%rcx)
addq $0x8, %rcx
jmp 0x3fe7
movq 0x1e0(%r14), %rcx
movq 0x1e8(%r14), %rdx
cmpq %rdx, %rcx
jne 0x4013
movq 0x1f8(%r14), %rcx
cmpq 0x200(%r14), %rcx
je 0x406f
movq (%rcx), %rsi
testq %rsi, %rsi
je 0x4069
movl (%rsi), %edi
testq %rdi, %rdi
je 0x4069
movslq %edi, %rdx
leaq (%rsi,%rdi,8), %rdi
addq $0x18, %rdi
addq $0x18, %rsi
xorl %r8d, %r8d
movq %r8, %r9
sarq $0x3, %r9
cmpq %rdx, %r9
jg 0x4146
leaq (%rsi,%r8), %r9
addq $0x8, %r9
addq %rax, -0x8(%r9)
addq $0x8, %r8
cmpq %rdi, %r9
jb 0x403d
movq 0x1e8(%r14), %rdx
addq $0x8, %rcx
jmp 0x4007
movq 0x258(%r14), %rcx
cmpq 0x260(%r14), %rcx
jae 0x4088
addq %rax, (%rcx)
addq $0x8, %rcx
jmp 0x4076
movq 0xf8(%r14), %rcx
cmpq 0x100(%r14), %rcx
jae 0x40a1
addq %rax, (%rcx)
addq $0x8, %rcx
jmp 0x408f
movq 0x118(%r14), %rcx
cmpq 0x120(%r14), %rcx
jae 0x40ba
addq %rax, (%rcx)
addq $0x8, %rcx
jmp 0x40a8
movl 0x2c(%r14), %ecx
addl %ecx, %ecx
je 0x4101
movq 0x68(%r14), %rsi
leaq 0x20(%rsi), %rdx
shlq $0x4, %rcx
cmpl $0x0, 0x8(%rdx)
je 0x40f1
movq (%rdx), %rsi
addq %rax, (%rsi)
addq $0x8, %rsi
movl 0x8(%rdx), %edi
shlq $0x3, %rdi
addq (%rdx), %rdi
cmpq %rdi, %rsi
jb 0x40d7
movq 0x68(%r14), %rsi
leaq 0x10(%rdx), %rdi
leaq (%rsi,%rcx), %r8
cmpq %r8, %rdx
movq %rdi, %rdx
jbe 0x40ce
movq 0x48(%r14), %rax
subq %rbp, %rax
je 0x4123
movq 0x1c8(%r14), %rcx
addq $0x8, %rcx
cmpq 0x1d0(%r14), %rcx
jae 0x4123
addq %rax, (%rcx)
jmp 0x4111
movq 0x278(%r14), %rax
cmpq 0x270(%r14), %rax
jne 0x4165
movl %ebx, 0x30(%r14)
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0xff1d(%rip), %rdi      # 0x1406a
leaq 0xf128(%rip), %rsi      # 0x1327c
leaq 0xff36(%rip), %rcx      # 0x14091
movl $0xb02, %edx            # imm = 0xB02
callq 0x10b0
leaq 0xfec5(%rip), %rdi      # 0x14031
leaq 0xf109(%rip), %rsi      # 0x1327c
leaq 0xfecf(%rip), %rcx      # 0x14049
movl $0xb65, %edx            # imm = 0xB65
callq 0x10b0