// File: eryxcc[P]lois/src/formula.cpp
// Function: lois::FormulaQ::verifyAt(int)
bool FormulaQ::verifyAt(int at) {
  if(at == -1) return right->verify();
  auto dom = subGet(var[at]);
  int& nextval(dom->nextval);
  triesleft -= nextval;
  if(triesleft < 0) return false;
  for(int z=0; z<nextval; z++) { 
    var[at]->value = z; 
    if(verifyAt(at-1) != type) return !type;
    }
  var[at]->value = nextval;
  nextval++;
  bool b = generateAll(at, dom, nextval-1, 0);
  nextval--;
  return b;
  }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq %rdi, -0x10(%rbp)
movl %esi, -0x14(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x68(%rbp)
cmpl $-0x1, -0x14(%rbp)
jne 0x42990
movq -0x68(%rbp), %rdi
addq $0x18, %rdi
callq 0x3ece0
movq %rax, %rdi
movq (%rdi), %rax
callq *0x20(%rax)
andb $0x1, %al
movb %al, -0x1(%rbp)
jmp 0x42b45
movq -0x68(%rbp), %rdi
addq $0x28, %rdi
movslq -0x14(%rbp), %rsi
callq 0x44b90
movq %rax, %rsi
leaq -0x38(%rbp), %rdi
movq %rdi, -0x70(%rbp)
callq 0x1b100
movq -0x70(%rbp), %rsi
leaq -0x28(%rbp), %rdi
callq 0x42b60
jmp 0x429c0
leaq -0x38(%rbp), %rdi
callq 0x10f20
leaq -0x28(%rbp), %rdi
callq 0x45010
movq %rax, -0x50(%rbp)
movq -0x50(%rbp), %rax
movl (%rax), %ecx
movl 0x62e3e(%rip), %eax     # 0xa5820
subl %ecx, %eax
movl %eax, 0x62e36(%rip)     # 0xa5820
cmpl $0x0, 0x62e2f(%rip)     # 0xa5820
jge 0x42a1d
movb $0x0, -0x1(%rbp)
movl $0x1, -0x54(%rbp)
jmp 0x42b3c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x38(%rbp), %rdi
callq 0x10f20
jmp 0x42b53
movl $0x0, -0x58(%rbp)
movl -0x58(%rbp), %eax
movq -0x50(%rbp), %rcx
cmpl (%rcx), %eax
jge 0x42ac8
movq -0x68(%rbp), %rdi
movl -0x58(%rbp), %eax
movl %eax, -0x78(%rbp)
addq $0x28, %rdi
movslq -0x14(%rbp), %rsi
callq 0x44b90
movq %rax, %rdi
callq 0x11830
movl -0x78(%rbp), %ecx
movq -0x68(%rbp), %rdi
movl %ecx, 0x44(%rax)
movl -0x14(%rbp), %esi
decl %esi
callq 0x42950
movb %al, -0x71(%rbp)
jmp 0x42a6b
movq -0x68(%rbp), %rcx
movb -0x71(%rbp), %al
andb $0x1, %al
movzbl %al, %eax
movb 0x10(%rcx), %cl
andb $0x1, %cl
movzbl %cl, %ecx
cmpl %ecx, %eax
je 0x42ab8
movq -0x68(%rbp), %rax
movb 0x10(%rax), %al
xorb $-0x1, %al
andb $0x1, %al
movb %al, -0x1(%rbp)
movl $0x1, -0x54(%rbp)
jmp 0x42b3c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x21170
jmp 0x42b53
jmp 0x42aba
movl -0x58(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x58(%rbp)
jmp 0x42a24
movq -0x68(%rbp), %rdi
movq -0x50(%rbp), %rax
movl (%rax), %eax
movl %eax, -0x80(%rbp)
addq $0x28, %rdi
movslq -0x14(%rbp), %rsi
callq 0x44b90
movq %rax, %rdi
callq 0x11830
movl -0x80(%rbp), %ecx
movq -0x68(%rbp), %rdi
movl %ecx, 0x44(%rax)
movq -0x50(%rbp), %rax
movl (%rax), %ecx
incl %ecx
movl %ecx, (%rax)
movl -0x14(%rbp), %esi
movq -0x50(%rbp), %rax
movl (%rax), %ecx
decl %ecx
leaq -0x28(%rbp), %rdx
xorl %r8d, %r8d
callq 0x42c70
movb %al, -0x79(%rbp)
jmp 0x42b1a
movb -0x79(%rbp), %al
andb $0x1, %al
movb %al, -0x59(%rbp)
movq -0x50(%rbp), %rax
movl (%rax), %ecx
addl $-0x1, %ecx
movl %ecx, (%rax)
movb -0x59(%rbp), %al
andb $0x1, %al
movb %al, -0x1(%rbp)
movl $0x1, -0x54(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x21170
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x80, %rsp
popq %rbp
retq
movq -0x40(%rbp), %rdi
callq 0x84d0
nopl (%rax)