// File: /workspace/github_cpp_makefile_star2_O2/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 0x3e40
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 0x3e40
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 0x3e40
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 0x3e40
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 0x3e40
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 0x3e40
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 0x3e40
movq %rax, 0x48(%r14)
movq 0x38(%r14), %rcx
subq %r15, %rcx
je 0x3950
movq 0xc8(%r14), %rax
cmpq 0xd0(%r14), %rax
jae 0x384b
addq %rcx, (%rax)
addq $0x8, %rax
jmp 0x3839
movq 0x1e0(%r14), %rax
movq 0x1e8(%r14), %rdx
cmpq %rdx, %rax
jne 0x3865
movq 0x1f8(%r14), %rax
cmpq 0x200(%r14), %rax
je 0x38ba
movq (%rax), %rdi
testq %rdi, %rdi
je 0x38b4
leaq 0x18(%rdi), %rdx
movslq (%rdi), %rsi
movl %esi, %r8d
leaq (%rdi,%r8,8), %rdi
addq $0x18, %rdi
xorl %r8d, %r8d
leaq (%rdx,%r8), %r9
cmpq %rdi, %r9
jae 0x38ad
movq %r8, %r10
sarq $0x3, %r10
cmpq %rsi, %r10
jg 0x3991
addq %rcx, (%r9)
addq $0x8, %r8
jmp 0x388b
movq 0x1e8(%r14), %rdx
addq $0x8, %rax
jmp 0x3859
movq 0x258(%r14), %rax
cmpq 0x260(%r14), %rax
jae 0x38d3
addq %rcx, (%rax)
addq $0x8, %rax
jmp 0x38c1
movq 0xf8(%r14), %rax
cmpq 0x100(%r14), %rax
jae 0x38ec
addq %rcx, (%rax)
addq $0x8, %rax
jmp 0x38da
movq 0x118(%r14), %rax
cmpq 0x120(%r14), %rax
jae 0x3905
addq %rcx, (%rax)
addq $0x8, %rax
jmp 0x38f3
movq 0x68(%r14), %rsi
leaq 0x20(%rsi), %rax
movl 0x2c(%r14), %edx
addl %edx, %edx
shlq $0x4, %rdx
addq %rdx, %rsi
addq $0x10, %rsi
cmpq %rsi, %rax
ja 0x394c
movq (%rax), %rdi
movq %rdi, %rsi
movl 0x8(%rax), %r8d
leaq (%rdi,%r8,8), %rdi
cmpq %rdi, %rsi
jae 0x3942
addq %rcx, (%rsi)
addq $0x8, %rsi
movq (%rax), %rdi
jmp 0x3929
addq $0x10, %rax
movq 0x68(%r14), %rsi
jmp 0x3917
movq 0x48(%r14), %rax
subq %rbp, %rax
je 0x396e
movq 0x1c8(%r14), %rcx
addq $0x8, %rcx
cmpq 0x1d0(%r14), %rcx
jae 0x396e
addq %rax, (%rcx)
jmp 0x395c
movq 0x278(%r14), %rax
cmpq 0x270(%r14), %rax
jne 0x39b0
movl %ebx, 0x30(%r14)
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0xe6ca(%rip), %rdi      # 0x12062
leaq 0xd8d5(%rip), %rsi      # 0x11274
leaq 0xe6e3(%rip), %rcx      # 0x12089
movl $0xb02, %edx            # imm = 0xB02
callq 0x10b0
leaq 0xe672(%rip), %rdi      # 0x12029
leaq 0xd8b6(%rip), %rsi      # 0x11274
leaq 0xe67c(%rip), %rcx      # 0x12041
movl $0xb65, %edx            # imm = 0xB65
callq 0x10b0