// File: /workspace/github_cpp_makefile_star2_O3/narula[P]skiplists/skiplist-extra.cc
// Function: perfect_insert_test(SkipList*)
int perfect_insert_test(SkipList* sk) {
  assert(sk->lookup(99) <= 0);
  assert(sk->fastFindTest(99) < 0);
  assert(sk->fastFindNode(99) < 0);
  assert(sk->insert(99) > 0);
  assert(sk->lookup(99) > 0);
  assert(sk->fastFindNode(99) >= 0);
  assert(sk->fastFindTest(99) >= 0);
  assert(sk->insert(99) <= 0);

  assert(sk->lookup(98) <= 0);
  assert(sk->fastFindTest(98) < 0);
  assert(sk->fastFindNode(98) < 0);
  assert(sk->insert(98) > 0);
  assert(sk->lookup(98) > 0);
  assert(sk->fastFindTest(98) >= 0);
  assert(sk->fastFindNode(98) >= 0);
  assert(sk->insert(98) <= 0);

  assert(sk->insert(90) > 0);
  assert(sk->lookup(90) > 0);
  assert(sk->fastFindTest(90) >= 0);
  assert(sk->fastFindNode(90) >= 0);

  assert(sk->insert(97) > 0);
  assert(sk->lookup(97) > 0);
  assert(sk->fastFindTest(97) >= 0);
  assert(sk->fastFindNode(97) >= 0);
}

// Assembly:
pushq %rbx
movq %rdi, %rbx
movl $0x63, %esi
callq 0x137e
testl %eax, %eax
jns 0x2441
movq %rbx, %rdi
movl $0x63, %esi
callq 0x147c
testl %eax, %eax
jns 0x2460
movq %rbx, %rdi
movl $0x63, %esi
callq 0x137e
testl %eax, %eax
jns 0x247f
movq %rbx, %rdi
movl $0x63, %esi
callq 0x1992
testl %eax, %eax
jne 0x249e
leaq 0xd32(%rip), %rdi       # 0x315b
leaq 0xcc3(%rip), %rsi       # 0x30f3
leaq 0xcce(%rip), %rcx       # 0x3105
movl $0x1eb, %edx            # imm = 0x1EB
callq 0x1070
leaq 0xc97(%rip), %rdi       # 0x30df
leaq 0xca4(%rip), %rsi       # 0x30f3
leaq 0xcaf(%rip), %rcx       # 0x3105
movl $0x1e8, %edx            # imm = 0x1E8
callq 0x1070
leaq 0xcc2(%rip), %rdi       # 0x3129
leaq 0xc85(%rip), %rsi       # 0x30f3
leaq 0xc90(%rip), %rcx       # 0x3105
movl $0x1e9, %edx            # imm = 0x1E9
callq 0x1070
leaq 0xcbc(%rip), %rdi       # 0x3142
leaq 0xc66(%rip), %rsi       # 0x30f3
leaq 0xc71(%rip), %rcx       # 0x3105
movl $0x1ea, %edx            # imm = 0x1EA
callq 0x1070
movq %rbx, %rdi
movl $0x63, %esi
callq 0x137e
testl %eax, %eax
jns 0x24ce
leaq 0xcb8(%rip), %rdi       # 0x316e
leaq 0xc36(%rip), %rsi       # 0x30f3
leaq 0xc41(%rip), %rcx       # 0x3105
movl $0x1ec, %edx            # imm = 0x1EC
callq 0x1070
movq %rbx, %rdi
movl $0x63, %esi
callq 0x137e
testl %eax, %eax
js 0x2580
movq %rbx, %rdi
movl $0x63, %esi
callq 0x147c
testl %eax, %eax
js 0x259f
movq %rbx, %rdi
movl $0x63, %esi
callq 0x1992
testl %eax, %eax
jne 0x25be
movq %rbx, %rdi
movl $0x62, %esi
callq 0x137e
testl %eax, %eax
jns 0x25dd
movq %rbx, %rdi
movl $0x62, %esi
callq 0x147c
testl %eax, %eax
jns 0x25fc
movq %rbx, %rdi
movl $0x62, %esi
callq 0x137e
testl %eax, %eax
jns 0x261b
movq %rbx, %rdi
movl $0x62, %esi
callq 0x1992
testl %eax, %eax
jne 0x263a
leaq 0xca7(%rip), %rdi       # 0x320f
leaq 0xb84(%rip), %rsi       # 0x30f3
leaq 0xb8f(%rip), %rcx       # 0x3105
movl $0x1f4, %edx            # imm = 0x1F4
callq 0x1070
leaq 0xbfa(%rip), %rdi       # 0x3181
leaq 0xb65(%rip), %rsi       # 0x30f3
leaq 0xb70(%rip), %rcx       # 0x3105
movl $0x1ed, %edx            # imm = 0x1ED
callq 0x1070
leaq 0xbf5(%rip), %rdi       # 0x319b
leaq 0xb46(%rip), %rsi       # 0x30f3
leaq 0xb51(%rip), %rcx       # 0x3105
movl $0x1ee, %edx            # imm = 0x1EE
callq 0x1070
leaq 0xbf0(%rip), %rdi       # 0x31b5
leaq 0xb27(%rip), %rsi       # 0x30f3
leaq 0xb32(%rip), %rcx       # 0x3105
movl $0x1ef, %edx            # imm = 0x1EF
callq 0x1070
leaq 0xbe5(%rip), %rdi       # 0x31c9
leaq 0xb08(%rip), %rsi       # 0x30f3
leaq 0xb13(%rip), %rcx       # 0x3105
movl $0x1f1, %edx            # imm = 0x1F1
callq 0x1070
leaq 0xbda(%rip), %rdi       # 0x31dd
leaq 0xae9(%rip), %rsi       # 0x30f3
leaq 0xaf4(%rip), %rcx       # 0x3105
movl $0x1f2, %edx            # imm = 0x1F2
callq 0x1070
leaq 0xbd4(%rip), %rdi       # 0x31f6
leaq 0xaca(%rip), %rsi       # 0x30f3
leaq 0xad5(%rip), %rcx       # 0x3105
movl $0x1f3, %edx            # imm = 0x1F3
callq 0x1070
movq %rbx, %rdi
movl $0x62, %esi
callq 0x137e
testl %eax, %eax
jns 0x266a
leaq 0xbd0(%rip), %rdi       # 0x3222
leaq 0xa9a(%rip), %rsi       # 0x30f3
leaq 0xaa5(%rip), %rcx       # 0x3105
movl $0x1f5, %edx            # imm = 0x1F5
callq 0x1070
movq %rbx, %rdi
movl $0x62, %esi
callq 0x147c
testl %eax, %eax
js 0x26cd
movq %rbx, %rdi
movl $0x62, %esi
callq 0x137e
testl %eax, %eax
js 0x26ec
movq %rbx, %rdi
movl $0x62, %esi
callq 0x1992
testl %eax, %eax
jne 0x270b
movq %rbx, %rdi
movl $0x5a, %esi
callq 0x1992
testl %eax, %eax
jne 0x272a
leaq 0xbc8(%rip), %rdi       # 0x327d
leaq 0xa37(%rip), %rsi       # 0x30f3
leaq 0xa42(%rip), %rcx       # 0x3105
movl $0x1fa, %edx            # imm = 0x1FA
callq 0x1070
leaq 0xb61(%rip), %rdi       # 0x3235
leaq 0xa18(%rip), %rsi       # 0x30f3
leaq 0xa23(%rip), %rcx       # 0x3105
movl $0x1f6, %edx            # imm = 0x1F6
callq 0x1070
leaq 0xb5c(%rip), %rdi       # 0x324f
leaq 0x9f9(%rip), %rsi       # 0x30f3
leaq 0xa04(%rip), %rcx       # 0x3105
movl $0x1f7, %edx            # imm = 0x1F7
callq 0x1070
leaq 0xb57(%rip), %rdi       # 0x3269
leaq 0x9da(%rip), %rsi       # 0x30f3
leaq 0x9e5(%rip), %rcx       # 0x3105
movl $0x1f8, %edx            # imm = 0x1F8
callq 0x1070
movq %rbx, %rdi
movl $0x5a, %esi
callq 0x137e
testl %eax, %eax
jns 0x275a
leaq 0xb4e(%rip), %rdi       # 0x3290
leaq 0x9aa(%rip), %rsi       # 0x30f3
leaq 0x9b5(%rip), %rcx       # 0x3105
movl $0x1fb, %edx            # imm = 0x1FB
callq 0x1070
movq %rbx, %rdi
movl $0x5a, %esi
callq 0x147c
testl %eax, %eax
js 0x27ac
movq %rbx, %rdi
movl $0x5a, %esi
callq 0x137e
testl %eax, %eax
js 0x27cb
movq %rbx, %rdi
movl $0x61, %esi
callq 0x1992
testl %eax, %eax
jne 0x27ea
leaq 0xb43(%rip), %rdi       # 0x32d7
leaq 0x958(%rip), %rsi       # 0x30f3
leaq 0x963(%rip), %rcx       # 0x3105
movl $0x1ff, %edx            # imm = 0x1FF
callq 0x1070
leaq 0xaf0(%rip), %rdi       # 0x32a3
leaq 0x939(%rip), %rsi       # 0x30f3
leaq 0x944(%rip), %rcx       # 0x3105
movl $0x1fc, %edx            # imm = 0x1FC
callq 0x1070
leaq 0xaeb(%rip), %rdi       # 0x32bd
leaq 0x91a(%rip), %rsi       # 0x30f3
leaq 0x925(%rip), %rcx       # 0x3105
movl $0x1fd, %edx            # imm = 0x1FD
callq 0x1070
movq %rbx, %rdi
movl $0x61, %esi
callq 0x137e
testl %eax, %eax
jns 0x281a
leaq 0xae8(%rip), %rdi       # 0x32ea
leaq 0x8ea(%rip), %rsi       # 0x30f3
leaq 0x8f5(%rip), %rcx       # 0x3105
movl $0x200, %edx            # imm = 0x200
callq 0x1070
movq %rbx, %rdi
movl $0x61, %esi
callq 0x147c
testl %eax, %eax
js 0x2857
movq %rbx, %rdi
movl $0x61, %esi
callq 0x137e
leaq 0xad8(%rip), %rdi       # 0x3317
leaq 0x8ad(%rip), %rsi       # 0x30f3
leaq 0x8b8(%rip), %rcx       # 0x3105
movl $0x202, %edx            # imm = 0x202
callq 0x1070
leaq 0xa9f(%rip), %rdi       # 0x32fd
leaq 0x88e(%rip), %rsi       # 0x30f3
leaq 0x899(%rip), %rcx       # 0x3105
movl $0x201, %edx            # imm = 0x201
callq 0x1070