// File: /workspace/github_cpp_makefile_star2_O1/eryxcc[P]lois/tests/autotest.cpp
// Function: testSat(int, lois::rbool)
void testSat(int mode, rbool phi) {
  int cnt = 0;
  If(phi) cnt ++;
  If(!phi) cnt += 2;
  if(cnt == mode) cout << "passed: ";
  else cout << "failed: ";
  cout << modenames[cnt] << " " << phi << endl;
  if(cnt != mode) exit(1);
  }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xa8, %rsp
movq %rsi, %r14
movl %edi, %ebx
movq (%rsi), %rax
movq 0x8(%rsi), %rdi
testq %rdi, %rdi
je 0x7ff0
movq 0x4afe6(%rip), %rcx     # 0x52fc8
cmpb $0x0, (%rcx)
je 0x7fec
incl 0x8(%rdi)
jmp 0x7ff0
lock
incl 0x8(%rdi)
movq %rax, (%rsp)
movq %rdi, 0x8(%rsp)
testq %rdi, %rdi
je 0x800f
movq 0x4afc3(%rip), %rax     # 0x52fc8
cmpb $0x0, (%rax)
je 0x8019
incl 0x8(%rdi)
jmp 0x801d
movl $0x0, 0x10(%rsp)
jmp 0x802f
lock
incl 0x8(%rdi)
movl $0x0, 0x10(%rsp)
testq %rdi, %rdi
je 0x802f
callq 0x13308
leaq 0x38(%rsp), %rdi
movq %rsp, %rsi
callq 0x29206
leaq 0x78(%rsp), %rdi
movq %rsp, %rsi
callq 0x29291
xorl %r12d, %r12d
leaq 0x38(%rsp), %r15
movl 0x60(%rsp), %eax
cmpl 0xa0(%rsp), %eax
je 0x8072
addl $-0x4, %eax
cmpl $-0x2, %eax
adcl $0x0, %r12d
movq %r15, %rdi
callq 0x291f2
jmp 0x8051
leaq 0x4922f(%rip), %r13     # 0x512a8
movq %r13, 0x78(%rsp)
movq 0x98(%rsp), %rdi
testq %rdi, %rdi
je 0x8090
callq 0x13308
leaq 0x78(%rsp), %rdi
callq 0x133aa
movq %r13, 0x38(%rsp)
movq 0x58(%rsp), %rdi
testq %rdi, %rdi
je 0x80ae
callq 0x13308
leaq 0x38(%rsp), %rdi
callq 0x133aa
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x80c7
callq 0x13308
movq (%r14), %rax
movq %rax, 0x28(%rsp)
movq 0x8(%r14), %rax
movq %rax, 0x30(%rsp)
testq %rax, %rax
je 0x80f2
movq 0x4aee4(%rip), %rcx     # 0x52fc8
cmpb $0x0, (%rcx)
je 0x80ee
incl 0x8(%rax)
jmp 0x80f2
lock
incl 0x8(%rax)
leaq 0x68(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x29645
movq 0x68(%rsp), %rcx
movq 0x70(%rsp), %rax
movq %rcx, (%rsp)
movq %rax, 0x8(%rsp)
testq %rax, %rax
je 0x812e
movq 0x4aea8(%rip), %rcx     # 0x52fc8
cmpb $0x0, (%rcx)
je 0x812a
incl 0x8(%rax)
jmp 0x812e
lock
incl 0x8(%rax)
movl $0x0, 0x10(%rsp)
movq 0x70(%rsp), %rdi
testq %rdi, %rdi
je 0x8145
callq 0x13308
movq 0x30(%rsp), %rdi
testq %rdi, %rdi
je 0x8154
callq 0x13308
leaq 0x38(%rsp), %rdi
movq %rsp, %rsi
callq 0x29206
leaq 0x78(%rsp), %rdi
movq %rsp, %rsi
callq 0x29291
leaq 0x38(%rsp), %r15
movl 0x60(%rsp), %eax
cmpl 0xa0(%rsp), %eax
je 0x819c
addl $-0x4, %eax
leal 0x2(%r12), %ebp
cmpl $-0x2, %eax
cmovael %r12d, %ebp
movq %r15, %rdi
callq 0x291f2
movl %ebp, %r12d
jmp 0x8173
movq %r13, 0x78(%rsp)
movq 0x98(%rsp), %rdi
testq %rdi, %rdi
je 0x81b3
callq 0x13308
leaq 0x78(%rsp), %rdi
callq 0x133aa
movq %r13, 0x38(%rsp)
movq 0x58(%rsp), %rdi
testq %rdi, %rdi
je 0x81d1
callq 0x13308
leaq 0x38(%rsp), %rdi
callq 0x133aa
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x81ea
callq 0x13308
cmpl %ebx, %r12d
leaq 0x37e76(%rip), %rax     # 0x4006a
leaq 0x37e78(%rip), %rsi     # 0x40073
cmoveq %rax, %rsi
movq 0x4adca(%rip), %r15     # 0x52fd0
movl $0x8, %edx
movq %r15, %rdi
callq 0x72c0
movslq %r12d, %rax
shlq $0x5, %rax
leaq 0x4b09f(%rip), %rcx     # 0x532c0
movq (%rax,%rcx), %rsi
movq 0x8(%rax,%rcx), %rdx
movq %r15, %rdi
callq 0x72c0
movq %rax, %r15
leaq 0x395f1(%rip), %rsi     # 0x4182d
movl $0x1, %edx
movq %rax, %rdi
callq 0x72c0
movq (%r14), %rax
movq %rax, 0x18(%rsp)
movq 0x8(%r14), %rax
movq %rax, 0x20(%rsp)
testq %rax, %rax
je 0x8274
movq 0x4ad62(%rip), %rcx     # 0x52fc8
cmpb $0x0, (%rcx)
je 0x8270
incl 0x8(%rax)
jmp 0x8274
lock
incl 0x8(%rax)
leaq 0x18(%rsp), %rsi
movq %r15, %rdi
callq 0x29634
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x7250
movsbl %al, %esi
movq %r14, %rdi
callq 0x7030
movq %rax, %rdi
callq 0x7190
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x82ba
callq 0x13308
cmpl %ebx, %r12d
jne 0x82d1
addq $0xa8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl $0x1, %edi
callq 0x72f0
jmp 0x82e9
jmp 0x82ee
movq %rax, %rbx
movq 0x30(%rsp), %rdi
jmp 0x831b
movq %rax, %rbx
jmp 0x830c
movq %rax, %rbx
jmp 0x8316
movq %rax, %rbx
movq 0x20(%rsp), %rdi
jmp 0x831b
jmp 0x82ff
movq %rax, %rbx
leaq 0x78(%rsp), %rdi
callq 0x1052a
leaq 0x38(%rsp), %rdi
callq 0x1052a
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x8325
callq 0x13308
movq %rbx, %rdi
callq 0x7430