// File: /workspace/github_cpp_makefile_star2_O2/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 %r15
pushq %r14
pushq %rbx
pushq %rax
movl %edi, %ebx
leaq 0xe36(%rip), %rdi       # 0x34b3
callq 0x1100
leaq -0x557(%rip), %rsi      # 0x2132
movl %ebx, %edi
callq 0x2198
movq %rax, %r14
xorl %ebp, %ebp
testl %ebx, %ebx
movl $0x0, %r15d
cmovgl %ebx, %r15d
cmpl %ebp, %r15d
je 0x26f9
movq %r14, %rdi
movl %ebp, %esi
callq 0x1368
testl %eax, %eax
je 0x2768
movq %r14, %rdi
movl %ebp, %esi
callq 0x1376
testl %eax, %eax
js 0x2787
movq %r14, %rdi
movl %ebp, %esi
callq 0x1462
incl %ebp
testl %eax, %eax
jns 0x26a1
leaq 0xc92(%rip), %rdi       # 0x3373
leaq 0xa0b(%rip), %rsi       # 0x30f3
leaq 0xc55(%rip), %rcx       # 0x3344
movl $0x20b, %edx            # imm = 0x20B
callq 0x1070
leaq -0x59d(%rip), %rsi      # 0x2163
movl %ebx, %edi
callq 0x2198
movq %rax, %r14
xorl %ebp, %ebp
cmpl %ebp, %r15d
je 0x27a6
movq %r14, %rdi
movl %ebp, %esi
callq 0x1368
testl %eax, %eax
je 0x2811
movq %r14, %rdi
movl %ebp, %esi
callq 0x1376
testl %eax, %eax
js 0x2830
movq %r14, %rdi
movl %ebp, %esi
callq 0x1462
incl %ebp
testl %eax, %eax
jns 0x270c
leaq 0xc23(%rip), %rdi       # 0x3373
leaq 0x99c(%rip), %rsi       # 0x30f3
leaq 0xbe6(%rip), %rcx       # 0x3344
movl $0x211, %edx            # imm = 0x211
callq 0x1070
leaq 0xbc2(%rip), %rdi       # 0x3331
leaq 0x97d(%rip), %rsi       # 0x30f3
leaq 0xbc7(%rip), %rcx       # 0x3344
movl $0x209, %edx            # imm = 0x209
callq 0x1070
leaq 0xbcb(%rip), %rdi       # 0x3359
leaq 0x95e(%rip), %rsi       # 0x30f3
leaq 0xba8(%rip), %rcx       # 0x3344
movl $0x20a, %edx            # imm = 0x20A
callq 0x1070
leaq -0x6df(%rip), %rsi      # 0x20ce
movl %ebx, %edi
callq 0x2198
movq %rax, %rbx
xorl %ebp, %ebp
cmpl %ebp, %r15d
je 0x288d
movq %rbx, %rdi
movl %ebp, %esi
callq 0x1368
testl %eax, %eax
je 0x284f
movq %rbx, %rdi
movl %ebp, %esi
callq 0x1376
testl %eax, %eax
js 0x286e
movq %rbx, %rdi
movl %ebp, %esi
callq 0x1462
incl %ebp
testl %eax, %eax
jns 0x27b9
leaq 0xb7a(%rip), %rdi       # 0x3373
leaq 0x8f3(%rip), %rsi       # 0x30f3
leaq 0xb3d(%rip), %rcx       # 0x3344
movl $0x217, %edx            # imm = 0x217
callq 0x1070
leaq 0xb19(%rip), %rdi       # 0x3331
leaq 0x8d4(%rip), %rsi       # 0x30f3
leaq 0xb1e(%rip), %rcx       # 0x3344
movl $0x20f, %edx            # imm = 0x20F
callq 0x1070
leaq 0xb22(%rip), %rdi       # 0x3359
leaq 0x8b5(%rip), %rsi       # 0x30f3
leaq 0xaff(%rip), %rcx       # 0x3344
movl $0x210, %edx            # imm = 0x210
callq 0x1070
leaq 0xadb(%rip), %rdi       # 0x3331
leaq 0x896(%rip), %rsi       # 0x30f3
leaq 0xae0(%rip), %rcx       # 0x3344
movl $0x215, %edx            # imm = 0x215
callq 0x1070
leaq 0xae4(%rip), %rdi       # 0x3359
leaq 0x877(%rip), %rsi       # 0x30f3
leaq 0xac1(%rip), %rcx       # 0x3344
movl $0x216, %edx            # imm = 0x216
callq 0x1070
leaq 0xc3c(%rip), %rdi       # 0x34d0
callq 0x1100