// File: 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
movq %rsp, %rbp
subq $0x1c0, %rsp            # imm = 0x1C0
movq %rsi, -0x188(%rbp)
movl %edi, -0x4(%rbp)
movq %rsi, -0x10(%rbp)
movl $0x0, -0x14(%rbp)
leaq -0x48(%rbp), %rdi
movq %rdi, -0x180(%rbp)
callq 0x11030
movq -0x180(%rbp), %rsi
leaq -0x38(%rbp), %rdi
callq 0x10ff0
jmp 0x9162
leaq -0x48(%rbp), %rdi
callq 0x11060
leaq -0x38(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rsi
leaq -0x88(%rbp), %rdi
callq 0x3ead0
jmp 0x9185
movq -0x20(%rbp), %rsi
leaq -0xb8(%rbp), %rdi
callq 0x3eb60
jmp 0x9197
jmp 0x9199
leaq -0x88(%rbp), %rdi
leaq -0xb8(%rbp), %rsi
callq 0x11080
movb %al, -0x189(%rbp)
jmp 0x91b4
movb -0x189(%rbp), %al
testb $0x1, %al
jne 0x9236
jmp 0x91c0
leaq -0xb8(%rbp), %rdi
callq 0x110e0
leaq -0x88(%rbp), %rdi
callq 0x110e0
leaq -0x38(%rbp), %rdi
callq 0x11120
jmp 0x929b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x48(%rbp), %rdi
callq 0x11060
jmp 0x954a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x928d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x9281
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0xb8(%rbp), %rdi
callq 0x110e0
jmp 0x9281
leaq -0x88(%rbp), %rdi
callq 0x110b0
movb %al, -0x18a(%rbp)
jmp 0x924a
movb -0x18a(%rbp), %al
andb $0x1, %al
movb %al, -0xb9(%rbp)
testb $0x1, -0xb9(%rbp)
jne 0x9263
jmp 0x926c
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x926e
leaq -0x88(%rbp), %rdi
callq 0x3ea80
jmp 0x927c
jmp 0x9199
leaq -0x88(%rbp), %rdi
callq 0x110e0
leaq -0x38(%rbp), %rdi
callq 0x11120
jmp 0x954a
movq -0x188(%rbp), %rsi
leaq -0x100(%rbp), %rdi
movq %rdi, -0x198(%rbp)
callq 0x11030
movq -0x198(%rbp), %rsi
leaq -0xf0(%rbp), %rdi
callq 0x400a0
jmp 0x92ca
leaq -0xe0(%rbp), %rdi
leaq -0xf0(%rbp), %rsi
callq 0x10ff0
jmp 0x92df
leaq -0xf0(%rbp), %rdi
callq 0x11060
leaq -0x100(%rbp), %rdi
callq 0x11060
leaq -0xe0(%rbp), %rax
movq %rax, -0xc8(%rbp)
movq -0xc8(%rbp), %rsi
leaq -0x130(%rbp), %rdi
callq 0x3ead0
jmp 0x931a
movq -0xc8(%rbp), %rsi
leaq -0x160(%rbp), %rdi
callq 0x3eb60
jmp 0x932f
jmp 0x9331
leaq -0x130(%rbp), %rdi
leaq -0x160(%rbp), %rsi
callq 0x11080
movb %al, -0x199(%rbp)
jmp 0x934c
movb -0x199(%rbp), %al
testb $0x1, %al
jne 0x93f2
jmp 0x935c
leaq -0x160(%rbp), %rdi
callq 0x110e0
leaq -0x130(%rbp), %rdi
callq 0x110e0
leaq -0xe0(%rbp), %rdi
callq 0x11120
jmp 0x945a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x93ab
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0xf0(%rbp), %rdi
callq 0x11060
leaq -0x100(%rbp), %rdi
callq 0x11060
jmp 0x954a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x9449
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x943d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x160(%rbp), %rdi
callq 0x110e0
jmp 0x943d
leaq -0x130(%rbp), %rdi
callq 0x110b0
movb %al, -0x19a(%rbp)
jmp 0x9406
movb -0x19a(%rbp), %al
andb $0x1, %al
movb %al, -0x161(%rbp)
testb $0x1, -0x161(%rbp)
jne 0x941f
jmp 0x9428
movl -0x14(%rbp), %eax
addl $0x2, %eax
movl %eax, -0x14(%rbp)
jmp 0x942a
leaq -0x130(%rbp), %rdi
callq 0x3ea80
jmp 0x9438
jmp 0x9331
leaq -0x130(%rbp), %rdi
callq 0x110e0
leaq -0xe0(%rbp), %rdi
callq 0x11120
jmp 0x954a
movl -0x14(%rbp), %eax
cmpl -0x4(%rbp), %eax
jne 0x9477
movq 0x9bb6f(%rip), %rdi     # 0xa4fd8
leaq 0x68c6a(%rip), %rsi     # 0x720da
callq 0x82b0
jmp 0x948a
movq 0x9bb5a(%rip), %rdi     # 0xa4fd8
leaq 0x68c5e(%rip), %rsi     # 0x720e3
callq 0x82b0
movslq -0x14(%rbp), %rax
shlq $0x5, %rax
leaq 0x9bea7(%rip), %rsi     # 0xa5340
addq %rax, %rsi
movq 0x9bb35(%rip), %rdi     # 0xa4fd8
callq 0x8280
movq %rax, %rdi
leaq 0x6a3b0(%rip), %rsi     # 0x73862
callq 0x82b0
movq -0x188(%rbp), %rsi
movq %rax, -0x1b8(%rbp)
leaq -0x178(%rbp), %rdi
movq %rdi, -0x1b0(%rbp)
callq 0x11030
movq -0x1b8(%rbp), %rdi
movq -0x1b0(%rbp), %rsi
callq 0x40060
movq %rax, -0x1a8(%rbp)
jmp 0x94f4
movq -0x1a8(%rbp), %rdi
movq 0x9baae(%rip), %rsi     # 0xa4fb0
callq 0x8300
jmp 0x9509
leaq -0x178(%rbp), %rdi
callq 0x11060
movl -0x14(%rbp), %eax
cmpl -0x4(%rbp), %eax
je 0x9541
movl $0x1, %edi
callq 0x8390
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x178(%rbp), %rdi
callq 0x11060
jmp 0x954a
addq $0x1c0, %rsp            # imm = 0x1C0
popq %rbp
retq
movq -0x50(%rbp), %rdi
callq 0x84d0
nopw %cs:(%rax,%rax)