// File: biotomas[P]ipasir/sat/picosat961/picosat-961/picosat.c
// Function: inc_max_var
inline static void
inc_max_var (PS * ps)
{
  Lit *lit;
  Rnk *r;
  Var *v;

  assert (ps->max_var < ps->size_vars);

  if (ps->max_var + 1 == ps->size_vars)
    enlarge (ps, ps->size_vars + 2*(ps->size_vars + 3) / 4); /* +25% */

  ps->max_var++;			/* new index of variable */
  assert (ps->max_var);			/* no unsigned overflow */

  assert (ps->max_var < ps->size_vars);

  lit = ps->lits + 2 * ps->max_var;
  lit[0].val = lit[1].val = UNDEF;

  memset (ps->htps + 2 * ps->max_var, 0, 2 * sizeof *ps->htps);
#ifndef NDSC
  memset (ps->dhtps + 2 * ps->max_var, 0, 2 * sizeof *ps->dhtps);
#endif
  memset (ps->impls + 2 * ps->max_var, 0, 2 * sizeof *ps->impls);
  memset (ps->jwh + 2 * ps->max_var, 0, 2 * sizeof *ps->jwh);

  v = ps->vars + ps->max_var;		/* initialize variable components */
  CLR (v);

  r = ps->rnks + ps->max_var;		/* initialize rank */
  CLR (r);

  hpush (ps, r);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movl 0x2c(%rax), %eax
movq -0x8(%rbp), %rcx
cmpl 0x30(%rcx), %eax
jae 0x471e
jmp 0x473d
leaq 0x19a0a(%rip), %rdi     # 0x1e12f
leaq 0x18b78(%rip), %rsi     # 0x1d2a4
movl $0x1167, %edx           # imm = 0x1167
leaq 0x19a13(%rip), %rcx     # 0x1e14b
callq 0x10b0
movq -0x8(%rbp), %rax
movl 0x2c(%rax), %eax
addl $0x1, %eax
movq -0x8(%rbp), %rcx
cmpl 0x30(%rcx), %eax
jne 0x4771
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rax
movl 0x30(%rax), %esi
movq -0x8(%rbp), %rax
movl 0x30(%rax), %eax
addl $0x3, %eax
shll %eax
shrl $0x2, %eax
addl %eax, %esi
callq 0x43f0
movq -0x8(%rbp), %rax
movl 0x2c(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x2c(%rax)
movq -0x8(%rbp), %rax
cmpl $0x0, 0x2c(%rax)
je 0x478a
jmp 0x47a9
leaq 0x1b0a1(%rip), %rdi     # 0x1f832
leaq 0x18b0c(%rip), %rsi     # 0x1d2a4
movl $0x116d, %edx           # imm = 0x116D
leaq 0x199a7(%rip), %rcx     # 0x1e14b
callq 0x10b0
movq -0x8(%rbp), %rax
movl 0x2c(%rax), %eax
movq -0x8(%rbp), %rcx
cmpl 0x30(%rcx), %eax
jae 0x47bb
jmp 0x47da
leaq 0x1996d(%rip), %rdi     # 0x1e12f
leaq 0x18adb(%rip), %rsi     # 0x1d2a4
movl $0x116f, %edx           # imm = 0x116F
leaq 0x19976(%rip), %rcx     # 0x1e14b
callq 0x10b0
movq -0x8(%rbp), %rax
movq 0x38(%rax), %rax
movq -0x8(%rbp), %rcx
movl 0x2c(%rcx), %ecx
shll %ecx
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
movb $0x0, 0x1(%rax)
movq -0x10(%rbp), %rax
movb $0x0, (%rax)
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rdi
movq -0x8(%rbp), %rax
movl 0x2c(%rax), %eax
shll %eax
movl %eax, %eax
shlq $0x3, %rax
addq %rax, %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x10d0
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rdi
movq -0x8(%rbp), %rax
movl 0x2c(%rax), %eax
shll %eax
movl %eax, %eax
shlq $0x3, %rax
addq %rax, %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x10d0
movq -0x8(%rbp), %rax
movq 0x68(%rax), %rdi
movq -0x8(%rbp), %rax
movl 0x2c(%rax), %eax
shll %eax
movl %eax, %eax
shlq $0x4, %rax
addq %rax, %rdi
xorl %esi, %esi
movl $0x20, %edx
callq 0x10d0
movq -0x8(%rbp), %rax
movq 0x50(%rax), %rdi
movq -0x8(%rbp), %rax
movl 0x2c(%rax), %eax
shll %eax
movl %eax, %eax
shlq $0x2, %rax
addq %rax, %rdi
xorl %esi, %esi
movl $0x8, %edx
callq 0x10d0
movq -0x8(%rbp), %rax
movq 0x40(%rax), %rax
movq -0x8(%rbp), %rcx
movl 0x2c(%rcx), %ecx
shlq $0x4, %rcx
addq %rcx, %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x10d0
movq -0x8(%rbp), %rax
movq 0x48(%rax), %rax
movq -0x8(%rbp), %rcx
movl 0x2c(%rcx), %ecx
shlq $0x3, %rcx
addq %rcx, %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rdi
xorl %esi, %esi
movl $0x8, %edx
callq 0x10d0
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0xbcf0
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)