// File: /workspace/github_cpp_makefile_star2_O3/narula[P]skiplists/skiplist-extra.cc
// Function: insert_test(int)
int insert_test(int sz) {
  printf("Testing imperfect inserts...\n");
  SkipList* sk4 = empty_fill(sz, &fillForward);
  for (int i = 0; i < sz; i++) {
	assert(sk4->lookup(i) > 0);
	assert(sk4->fastFindNode(i) >= 0);
	assert(sk4->fastFindTest(i) >= 0);
  }
  sk4 = empty_fill(sz, &fillBackward);
  for (int i = 0; i < sz; i++) {
	assert(sk4->lookup(i) > 0);
	assert(sk4->fastFindNode(i) >= 0);
	assert(sk4->fastFindTest(i) >= 0);
  }
  sk4 = empty_fill(sz, &fillRandom);
  for (int i = 0; i < sz; i++) {
	assert(sk4->lookup(i) > 0);
	assert(sk4->fastFindNode(i) >= 0);
	assert(sk4->fastFindTest(i) >= 0);
  }
  printf("PASSED\n");
}

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
movl %edi, %ebx
leaq 0xc30(%rip), %rdi       # 0x34b3
callq 0x1100
leaq -0x598(%rip), %rsi      # 0x22f7
movl %ebx, %edi
callq 0x2369
testl %ebx, %ebx
jle 0x2aa9
movq %rax, %r14
xorl %ebp, %ebp
movq %r14, %rdi
movl %ebp, %esi
callq 0x137e
testl %eax, %eax
js 0x2992
movq %r14, %rdi
movl %ebp, %esi
callq 0x137e
testl %eax, %eax
js 0x29b1
movq %r14, %rdi
movl %ebp, %esi
callq 0x147c
testl %eax, %eax
js 0x29d0
incl %ebp
cmpl %ebp, %ebx
jne 0x28a3
leaq -0x5b8(%rip), %rsi      # 0x232e
movl %ebx, %edi
callq 0x2369
testl %ebx, %ebx
jle 0x2ab7
movq %rax, %r14
xorl %ebp, %ebp
movq %r14, %rdi
movl %ebp, %esi
callq 0x137e
testl %eax, %eax
js 0x29ef
movq %r14, %rdi
movl %ebp, %esi
callq 0x137e
testl %eax, %eax
js 0x2a0e
movq %r14, %rdi
movl %ebp, %esi
callq 0x147c
testl %eax, %eax
js 0x2a2d
incl %ebp
cmpl %ebp, %ebx
jne 0x28fa
leaq -0x6b3(%rip), %rsi      # 0x228a
movl %ebx, %edi
callq 0x2369
testl %ebx, %ebx
jle 0x2ac5
movq %rax, %r14
xorl %ebp, %ebp
movq %r14, %rdi
movl %ebp, %esi
callq 0x137e
testl %eax, %eax
js 0x2a4c
movq %r14, %rdi
movl %ebp, %esi
callq 0x137e
testl %eax, %eax
js 0x2a6b
movq %r14, %rdi
movl %ebp, %esi
callq 0x147c
testl %eax, %eax
js 0x2a8a
incl %ebp
cmpl %ebp, %ebx
jne 0x2951
jmp 0x2ac5
leaq 0x998(%rip), %rdi       # 0x3331
leaq 0x753(%rip), %rsi       # 0x30f3
leaq 0x99d(%rip), %rcx       # 0x3344
movl $0x209, %edx            # imm = 0x209
callq 0x1070
leaq 0x9a1(%rip), %rdi       # 0x3359
leaq 0x734(%rip), %rsi       # 0x30f3
leaq 0x97e(%rip), %rcx       # 0x3344
movl $0x20a, %edx            # imm = 0x20A
callq 0x1070
leaq 0x99c(%rip), %rdi       # 0x3373
leaq 0x715(%rip), %rsi       # 0x30f3
leaq 0x95f(%rip), %rcx       # 0x3344
movl $0x20b, %edx            # imm = 0x20B
callq 0x1070
leaq 0x93b(%rip), %rdi       # 0x3331
leaq 0x6f6(%rip), %rsi       # 0x30f3
leaq 0x940(%rip), %rcx       # 0x3344
movl $0x20f, %edx            # imm = 0x20F
callq 0x1070
leaq 0x944(%rip), %rdi       # 0x3359
leaq 0x6d7(%rip), %rsi       # 0x30f3
leaq 0x921(%rip), %rcx       # 0x3344
movl $0x210, %edx            # imm = 0x210
callq 0x1070
leaq 0x93f(%rip), %rdi       # 0x3373
leaq 0x6b8(%rip), %rsi       # 0x30f3
leaq 0x902(%rip), %rcx       # 0x3344
movl $0x211, %edx            # imm = 0x211
callq 0x1070
leaq 0x8de(%rip), %rdi       # 0x3331
leaq 0x699(%rip), %rsi       # 0x30f3
leaq 0x8e3(%rip), %rcx       # 0x3344
movl $0x215, %edx            # imm = 0x215
callq 0x1070
leaq 0x8e7(%rip), %rdi       # 0x3359
leaq 0x67a(%rip), %rsi       # 0x30f3
leaq 0x8c4(%rip), %rcx       # 0x3344
movl $0x216, %edx            # imm = 0x216
callq 0x1070
leaq 0x8e2(%rip), %rdi       # 0x3373
leaq 0x65b(%rip), %rsi       # 0x30f3
leaq 0x8a5(%rip), %rcx       # 0x3344
movl $0x217, %edx            # imm = 0x217
callq 0x1070
leaq -0x782(%rip), %rsi      # 0x232e
movl %ebx, %edi
callq 0x2369
leaq -0x834(%rip), %rsi      # 0x228a
movl %ebx, %edi
callq 0x2369
leaq 0xa04(%rip), %rdi       # 0x34d0
callq 0x1100