// File: /workspace/github_cpp_makefile_star2_O1/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 0xc86(%rip), %rdi       # 0x34b3
callq 0x1100
leaq -0x598(%rip), %rsi      # 0x22a1
movl %ebx, %edi
callq 0x2313
testl %ebx, %ebx
jle 0x2885
movq %rax, %r14
xorl %ebp, %ebp
movq %r14, %rdi
movl %ebp, %esi
callq 0x1366
testl %eax, %eax
js 0x2988
movq %r14, %rdi
movl %ebp, %esi
callq 0x1366
testl %eax, %eax
js 0x29a7
movq %r14, %rdi
movl %ebp, %esi
callq 0x1452
testl %eax, %eax
js 0x29c6
incl %ebp
cmpl %ebp, %ebx
jne 0x2849
leaq -0x5b4(%rip), %rsi      # 0x22d8
movl %ebx, %edi
callq 0x2313
testl %ebx, %ebx
jle 0x28d8
movq %rax, %r14
xorl %ebp, %ebp
movq %r14, %rdi
movl %ebp, %esi
callq 0x1366
testl %eax, %eax
js 0x29e5
movq %r14, %rdi
movl %ebp, %esi
callq 0x1366
testl %eax, %eax
js 0x2a04
movq %r14, %rdi
movl %ebp, %esi
callq 0x1452
testl %eax, %eax
js 0x2a23
incl %ebp
cmpl %ebp, %ebx
jne 0x289c
leaq -0x6ab(%rip), %rsi      # 0x2234
movl %ebx, %edi
callq 0x2313
testl %ebx, %ebx
jle 0x291f
movq %rax, %r14
xorl %ebp, %ebp
movq %r14, %rdi
movl %ebp, %esi
callq 0x1366
testl %eax, %eax
js 0x292b
movq %r14, %rdi
movl %ebp, %esi
callq 0x1366
testl %eax, %eax
js 0x294a
movq %r14, %rdi
movl %ebp, %esi
callq 0x1452
testl %eax, %eax
js 0x2969
incl %ebp
cmpl %ebp, %ebx
jne 0x28ef
leaq 0xbaa(%rip), %rdi       # 0x34d0
callq 0x1100
leaq 0x9ff(%rip), %rdi       # 0x3331
leaq 0x7ba(%rip), %rsi       # 0x30f3
leaq 0xa04(%rip), %rcx       # 0x3344
movl $0x215, %edx            # imm = 0x215
callq 0x1070
leaq 0xa08(%rip), %rdi       # 0x3359
leaq 0x79b(%rip), %rsi       # 0x30f3
leaq 0x9e5(%rip), %rcx       # 0x3344
movl $0x216, %edx            # imm = 0x216
callq 0x1070
leaq 0xa03(%rip), %rdi       # 0x3373
leaq 0x77c(%rip), %rsi       # 0x30f3
leaq 0x9c6(%rip), %rcx       # 0x3344
movl $0x217, %edx            # imm = 0x217
callq 0x1070
leaq 0x9a2(%rip), %rdi       # 0x3331
leaq 0x75d(%rip), %rsi       # 0x30f3
leaq 0x9a7(%rip), %rcx       # 0x3344
movl $0x209, %edx            # imm = 0x209
callq 0x1070
leaq 0x9ab(%rip), %rdi       # 0x3359
leaq 0x73e(%rip), %rsi       # 0x30f3
leaq 0x988(%rip), %rcx       # 0x3344
movl $0x20a, %edx            # imm = 0x20A
callq 0x1070
leaq 0x9a6(%rip), %rdi       # 0x3373
leaq 0x71f(%rip), %rsi       # 0x30f3
leaq 0x969(%rip), %rcx       # 0x3344
movl $0x20b, %edx            # imm = 0x20B
callq 0x1070
leaq 0x945(%rip), %rdi       # 0x3331
leaq 0x700(%rip), %rsi       # 0x30f3
leaq 0x94a(%rip), %rcx       # 0x3344
movl $0x20f, %edx            # imm = 0x20F
callq 0x1070
leaq 0x94e(%rip), %rdi       # 0x3359
leaq 0x6e1(%rip), %rsi       # 0x30f3
leaq 0x92b(%rip), %rcx       # 0x3344
movl $0x210, %edx            # imm = 0x210
callq 0x1070
leaq 0x949(%rip), %rdi       # 0x3373
leaq 0x6c2(%rip), %rsi       # 0x30f3
leaq 0x90c(%rip), %rcx       # 0x3344
movl $0x211, %edx            # imm = 0x211
callq 0x1070