// File: /workspace/github_c_makefile_star2_O0/keithnoguchi[P]pearls-in-action/0x4/main_test.c
// Function: main
int main(void)
{
	int fail = 0;
	int i = 0;

	printf("===============================\n");
	printf("Programming Pearls, Chapter 0x4\n");
	printf("===============================\n");

	if (test_bsearch_0(&i))
		fail++;
	if (test_bsearch_2(&i))
		fail++;
	if (test_bsearch_3(&i))
		fail++;
	if (test_bsearch_10(&i))
		fail++;
	if (test_bsearch_1024(&i))
		fail++;
	if (test_bsearch_with_try_0(&i))
		fail++;
	if (test_bsearch_with_try_2(&i))
		fail++;
	if (test_bsearch_with_try_3(&i))
		fail++;
	if (test_bsearch_with_try_10(&i))
		fail++;
	if (test_bsearch_with_try_1024(&i))
		fail++;
	if (test_bsearch_recursive_0(&i))
		fail++;
	if (test_bsearch_recursive_2(&i))
		fail++;
	if (test_bsearch_recursive_3(&i))
		fail++;
	if (test_bsearch_recursive_10(&i))
		fail++;
	if (test_bsearch_recursive_1024(&i))
		fail++;
	if (test_bsearch_recursive_with_try_0(&i))
		fail++;
	if (test_bsearch_recursive_with_try_2(&i))
		fail++;
	if (test_bsearch_recursive_with_try_3(&i))
		fail++;
	if (test_bsearch_recursive_with_try_10(&i))
		fail++;
	if (test_bsearch_recursive_with_try_1024(&i))
		fail++;

	puts("");

	return fail;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl $0x0, -0x4(%rbp)
movl $0x0, -0x8(%rbp)
movl $0x0, -0xc(%rbp)
leaq 0x1e80(%rip), %rdi      # 0x4004
movb $0x0, %al
callq 0x2040
leaq 0x1e93(%rip), %rdi      # 0x4025
movb $0x0, %al
callq 0x2040
leaq 0x1e64(%rip), %rdi      # 0x4004
movb $0x0, %al
callq 0x2040
leaq -0xc(%rbp), %rdi
callq 0x25f0
cmpl $0x0, %eax
je 0x21be
movl -0x8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x8(%rbp)
leaq -0xc(%rbp), %rdi
callq 0x2700
cmpl $0x0, %eax
je 0x21d5
movl -0x8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x8(%rbp)
leaq -0xc(%rbp), %rdi
callq 0x2810
cmpl $0x0, %eax
je 0x21ec
movl -0x8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x8(%rbp)
leaq -0xc(%rbp), %rdi
callq 0x2920
cmpl $0x0, %eax
je 0x2203
movl -0x8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x8(%rbp)
leaq -0xc(%rbp), %rdi
callq 0x2a30
cmpl $0x0, %eax
je 0x221a
movl -0x8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x8(%rbp)
leaq -0xc(%rbp), %rdi
callq 0x2b90
cmpl $0x0, %eax
je 0x2231
movl -0x8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x8(%rbp)
leaq -0xc(%rbp), %rdi
callq 0x2c90
cmpl $0x0, %eax
je 0x2248
movl -0x8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x8(%rbp)
leaq -0xc(%rbp), %rdi
callq 0x2de0
cmpl $0x0, %eax
je 0x225f
movl -0x8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x8(%rbp)
leaq -0xc(%rbp), %rdi
callq 0x2f30
cmpl $0x0, %eax
je 0x2276
movl -0x8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x8(%rbp)
leaq -0xc(%rbp), %rdi
callq 0x3080
cmpl $0x0, %eax
je 0x228d
movl -0x8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x8(%rbp)
leaq -0xc(%rbp), %rdi
callq 0x31f0
cmpl $0x0, %eax
je 0x22a4
movl -0x8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x8(%rbp)
leaq -0xc(%rbp), %rdi
callq 0x32c0
cmpl $0x0, %eax
je 0x22bb
movl -0x8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x8(%rbp)
leaq -0xc(%rbp), %rdi
callq 0x33d0
cmpl $0x0, %eax
je 0x22d2
movl -0x8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x8(%rbp)
leaq -0xc(%rbp), %rdi
callq 0x34e0
cmpl $0x0, %eax
je 0x22e9
movl -0x8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x8(%rbp)
leaq -0xc(%rbp), %rdi
callq 0x35f0
cmpl $0x0, %eax
je 0x2300
movl -0x8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x8(%rbp)
leaq -0xc(%rbp), %rdi
callq 0x3710
cmpl $0x0, %eax
je 0x2317
movl -0x8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x8(%rbp)
leaq -0xc(%rbp), %rdi
callq 0x3810
cmpl $0x0, %eax
je 0x232e
movl -0x8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x8(%rbp)
leaq -0xc(%rbp), %rdi
callq 0x3960
cmpl $0x0, %eax
je 0x2345
movl -0x8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x8(%rbp)
leaq -0xc(%rbp), %rdi
callq 0x3ab0
cmpl $0x0, %eax
je 0x235c
movl -0x8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x8(%rbp)
leaq -0xc(%rbp), %rdi
callq 0x3c00
cmpl $0x0, %eax
je 0x2373
movl -0x8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x8(%rbp)
leaq 0x1ccb(%rip), %rdi      # 0x4045
callq 0x2030
movl -0x8(%rbp), %eax
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax,%rax)