// File: xx01cyx[P]LSM-Tree/correctness.cc
// Function: main
int main(int argc, char *argv[])
{
	bool verbose = (argc == 2 && std::string(argv[1]) == "-v");

	std::cout << "Usage: " << argv[0] << " [-v]" << std::endl;
	std::cout << "  -v: print extra info for failed tests [currently ";
	std::cout << (verbose ? "ON" : "OFF")<< "]" << std::endl;
	std::cout << std::endl;
	std::cout.flush();

	CorrectnessTest test("./data", verbose);

	test.start_test();

	return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x150, %rsp            # imm = 0x150
movl $0x0, -0x4(%rbp)
movl %edi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl -0x8(%rbp), %ecx
movb $0x0, -0x3a(%rbp)
movb $0x0, -0x4d(%rbp)
xorl %eax, %eax
cmpl $0x2, %ecx
movb %al, -0x112(%rbp)
jne 0x4917
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x128(%rbp)
leaq -0x39(%rbp), %rdi
movq %rdi, -0x120(%rbp)
callq 0x4570
movq -0x128(%rbp), %rsi
movq -0x120(%rbp), %rdx
movb $0x1, -0x3a(%rbp)
leaq -0x38(%rbp), %rdi
callq 0x4b40
jmp 0x48ed
movb $0x1, -0x4d(%rbp)
leaq 0x1e70c(%rip), %rsi     # 0x23004
leaq -0x38(%rbp), %rdi
callq 0x4bf0
movb %al, -0x129(%rbp)
jmp 0x4909
movb -0x129(%rbp), %al
movb %al, -0x112(%rbp)
jmp 0x4917
movb -0x112(%rbp), %al
movb %al, -0x12a(%rbp)
testb $0x1, -0x4d(%rbp)
jne 0x492b
jmp 0x4934
leaq -0x38(%rbp), %rdi
callq 0x4608
testb $0x1, -0x3a(%rbp)
jne 0x493c
jmp 0x4945
leaq -0x39(%rbp), %rdi
callq 0x4320
movb -0x12a(%rbp), %al
andb $0x1, %al
movb %al, -0x11(%rbp)
movq 0x2d679(%rip), %rdi     # 0x31fd0
movq %rdi, -0x140(%rbp)
leaq 0x1e6a2(%rip), %rsi     # 0x23007
callq 0x42c0
movq %rax, %rdi
movq -0x10(%rbp), %rax
movq (%rax), %rsi
callq 0x42c0
movq %rax, %rdi
leaq 0x1e68c(%rip), %rsi     # 0x2300f
callq 0x42c0
movq %rax, %rdi
movq 0x2d61e(%rip), %rsi     # 0x31fb0
movq %rsi, -0x148(%rbp)
callq 0x4300
movq -0x140(%rbp), %rdi
leaq 0x1e669(%rip), %rsi     # 0x23015
callq 0x42c0
movq -0x140(%rbp), %rdi
movb -0x11(%rbp), %cl
leaq 0x1e687(%rip), %rax     # 0x23049
leaq 0x1e683(%rip), %rsi     # 0x2304c
testb $0x1, %cl
cmovneq %rax, %rsi
callq 0x42c0
movq %rax, %rdi
leaq 0x1e70d(%rip), %rsi     # 0x230ec
callq 0x42c0
movq -0x148(%rbp), %rsi
movq %rax, %rdi
callq 0x4300
movq -0x148(%rbp), %rsi
movq -0x140(%rbp), %rdi
callq 0x4300
movq -0x140(%rbp), %rdi
callq 0x41c0
leaq -0x111(%rbp), %rdi
movq %rdi, -0x138(%rbp)
callq 0x4570
movq -0x138(%rbp), %rdx
leaq 0x1e61d(%rip), %rsi     # 0x23050
leaq -0x110(%rbp), %rdi
callq 0x4b40
jmp 0x4a41
movzbl -0x11(%rbp), %edx
andl $0x1, %edx
leaq -0xf0(%rbp), %rdi
leaq -0x110(%rbp), %rsi
callq 0x4c20
jmp 0x4a5d
leaq -0x110(%rbp), %rdi
callq 0x4608
leaq -0x111(%rbp), %rdi
callq 0x4320
xorl %eax, %eax
movl %eax, %esi
leaq -0xf0(%rbp), %rdi
callq 0x4c80
jmp 0x4a87
movl $0x0, -0x4(%rbp)
leaq -0xf0(%rbp), %rdi
callq 0x4d30
movl -0x4(%rbp), %eax
addq $0x150, %rsp            # imm = 0x150
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x4ad3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
testb $0x1, -0x4d(%rbp)
jne 0x4ac8
jmp 0x4ad1
leaq -0x38(%rbp), %rdi
callq 0x4608
jmp 0x4ad3
testb $0x1, -0x3a(%rbp)
jne 0x4adb
jmp 0x4ae4
leaq -0x39(%rbp), %rdi
callq 0x4320
jmp 0x4b32
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x4b0c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x110(%rbp), %rdi
callq 0x4608
leaq -0x111(%rbp), %rdi
callq 0x4320
jmp 0x4b32
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0xf0(%rbp), %rdi
callq 0x4d30
movq -0x48(%rbp), %rdi
callq 0x4560
nopl (%rax,%rax)