// File: /workspace/github_cpp_makefile_star2_O2/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
pushq $0x63
popq %rsi
callq 0x1368
testl %eax, %eax
jne 0x2260
pushq $0x63
popq %rsi
movq %rbx, %rdi
callq 0x1462
testl %eax, %eax
jns 0x227f
pushq $0x63
popq %rsi
movq %rbx, %rdi
callq 0x1376
testl %eax, %eax
jns 0x229e
pushq $0x63
popq %rsi
movq %rbx, %rdi
callq 0x186c
testl %eax, %eax
jne 0x22bd
leaq 0xf13(%rip), %rdi       # 0x315b
leaq 0xea4(%rip), %rsi       # 0x30f3
leaq 0xeaf(%rip), %rcx       # 0x3105
movl $0x1eb, %edx            # imm = 0x1EB
callq 0x1070
leaq 0xe78(%rip), %rdi       # 0x30df
leaq 0xe85(%rip), %rsi       # 0x30f3
leaq 0xe90(%rip), %rcx       # 0x3105
movl $0x1e8, %edx            # imm = 0x1E8
callq 0x1070
leaq 0xea3(%rip), %rdi       # 0x3129
leaq 0xe66(%rip), %rsi       # 0x30f3
leaq 0xe71(%rip), %rcx       # 0x3105
movl $0x1e9, %edx            # imm = 0x1E9
callq 0x1070
leaq 0xe9d(%rip), %rdi       # 0x3142
leaq 0xe47(%rip), %rsi       # 0x30f3
leaq 0xe52(%rip), %rcx       # 0x3105
movl $0x1ea, %edx            # imm = 0x1EA
callq 0x1070
pushq $0x63
popq %rsi
movq %rbx, %rdi
callq 0x1368
testl %eax, %eax
jne 0x22eb
leaq 0xe9b(%rip), %rdi       # 0x316e
leaq 0xe19(%rip), %rsi       # 0x30f3
leaq 0xe24(%rip), %rcx       # 0x3105
movl $0x1ec, %edx            # imm = 0x1EC
callq 0x1070
pushq $0x63
popq %rsi
movq %rbx, %rdi
callq 0x1376
testl %eax, %eax
js 0x238f
pushq $0x63
popq %rsi
movq %rbx, %rdi
callq 0x1462
testl %eax, %eax
js 0x23ae
pushq $0x63
popq %rsi
movq %rbx, %rdi
callq 0x186c
testl %eax, %eax
jne 0x23cd
pushq $0x62
popq %rsi
movq %rbx, %rdi
callq 0x1368
testl %eax, %eax
jne 0x23ec
pushq $0x62
popq %rsi
movq %rbx, %rdi
callq 0x1462
testl %eax, %eax
jns 0x240b
pushq $0x62
popq %rsi
movq %rbx, %rdi
callq 0x1376
testl %eax, %eax
jns 0x242a
pushq $0x62
popq %rsi
movq %rbx, %rdi
callq 0x186c
testl %eax, %eax
jne 0x2449
leaq 0xe98(%rip), %rdi       # 0x320f
leaq 0xd75(%rip), %rsi       # 0x30f3
leaq 0xd80(%rip), %rcx       # 0x3105
movl $0x1f4, %edx            # imm = 0x1F4
callq 0x1070
leaq 0xdeb(%rip), %rdi       # 0x3181
leaq 0xd56(%rip), %rsi       # 0x30f3
leaq 0xd61(%rip), %rcx       # 0x3105
movl $0x1ed, %edx            # imm = 0x1ED
callq 0x1070
leaq 0xde6(%rip), %rdi       # 0x319b
leaq 0xd37(%rip), %rsi       # 0x30f3
leaq 0xd42(%rip), %rcx       # 0x3105
movl $0x1ee, %edx            # imm = 0x1EE
callq 0x1070
leaq 0xde1(%rip), %rdi       # 0x31b5
leaq 0xd18(%rip), %rsi       # 0x30f3
leaq 0xd23(%rip), %rcx       # 0x3105
movl $0x1ef, %edx            # imm = 0x1EF
callq 0x1070
leaq 0xdd6(%rip), %rdi       # 0x31c9
leaq 0xcf9(%rip), %rsi       # 0x30f3
leaq 0xd04(%rip), %rcx       # 0x3105
movl $0x1f1, %edx            # imm = 0x1F1
callq 0x1070
leaq 0xdcb(%rip), %rdi       # 0x31dd
leaq 0xcda(%rip), %rsi       # 0x30f3
leaq 0xce5(%rip), %rcx       # 0x3105
movl $0x1f2, %edx            # imm = 0x1F2
callq 0x1070
leaq 0xdc5(%rip), %rdi       # 0x31f6
leaq 0xcbb(%rip), %rsi       # 0x30f3
leaq 0xcc6(%rip), %rcx       # 0x3105
movl $0x1f3, %edx            # imm = 0x1F3
callq 0x1070
pushq $0x62
popq %rsi
movq %rbx, %rdi
callq 0x1368
testl %eax, %eax
jne 0x2477
leaq 0xdc3(%rip), %rdi       # 0x3222
leaq 0xc8d(%rip), %rsi       # 0x30f3
leaq 0xc98(%rip), %rcx       # 0x3105
movl $0x1f5, %edx            # imm = 0x1F5
callq 0x1070
pushq $0x62
popq %rsi
movq %rbx, %rdi
callq 0x1462
testl %eax, %eax
js 0x24d2
pushq $0x62
popq %rsi
movq %rbx, %rdi
callq 0x1376
testl %eax, %eax
js 0x24f1
pushq $0x62
popq %rsi
movq %rbx, %rdi
callq 0x186c
testl %eax, %eax
jne 0x2510
pushq $0x5a
popq %rsi
movq %rbx, %rdi
callq 0x186c
testl %eax, %eax
jne 0x252f
leaq 0xdc3(%rip), %rdi       # 0x327d
leaq 0xc32(%rip), %rsi       # 0x30f3
leaq 0xc3d(%rip), %rcx       # 0x3105
movl $0x1fa, %edx            # imm = 0x1FA
callq 0x1070
leaq 0xd5c(%rip), %rdi       # 0x3235
leaq 0xc13(%rip), %rsi       # 0x30f3
leaq 0xc1e(%rip), %rcx       # 0x3105
movl $0x1f6, %edx            # imm = 0x1F6
callq 0x1070
leaq 0xd57(%rip), %rdi       # 0x324f
leaq 0xbf4(%rip), %rsi       # 0x30f3
leaq 0xbff(%rip), %rcx       # 0x3105
movl $0x1f7, %edx            # imm = 0x1F7
callq 0x1070
leaq 0xd52(%rip), %rdi       # 0x3269
leaq 0xbd5(%rip), %rsi       # 0x30f3
leaq 0xbe0(%rip), %rcx       # 0x3105
movl $0x1f8, %edx            # imm = 0x1F8
callq 0x1070
pushq $0x5a
popq %rsi
movq %rbx, %rdi
callq 0x1368
testl %eax, %eax
jne 0x255d
leaq 0xd4b(%rip), %rdi       # 0x3290
leaq 0xba7(%rip), %rsi       # 0x30f3
leaq 0xbb2(%rip), %rcx       # 0x3105
movl $0x1fb, %edx            # imm = 0x1FB
callq 0x1070
pushq $0x5a
popq %rsi
movq %rbx, %rdi
callq 0x1462
testl %eax, %eax
js 0x25a9
pushq $0x5a
popq %rsi
movq %rbx, %rdi
callq 0x1376
testl %eax, %eax
js 0x25c8
pushq $0x61
popq %rsi
movq %rbx, %rdi
callq 0x186c
testl %eax, %eax
jne 0x25e7
leaq 0xd46(%rip), %rdi       # 0x32d7
leaq 0xb5b(%rip), %rsi       # 0x30f3
leaq 0xb66(%rip), %rcx       # 0x3105
movl $0x1ff, %edx            # imm = 0x1FF
callq 0x1070
leaq 0xcf3(%rip), %rdi       # 0x32a3
leaq 0xb3c(%rip), %rsi       # 0x30f3
leaq 0xb47(%rip), %rcx       # 0x3105
movl $0x1fc, %edx            # imm = 0x1FC
callq 0x1070
leaq 0xcee(%rip), %rdi       # 0x32bd
leaq 0xb1d(%rip), %rsi       # 0x30f3
leaq 0xb28(%rip), %rcx       # 0x3105
movl $0x1fd, %edx            # imm = 0x1FD
callq 0x1070
pushq $0x61
popq %rsi
movq %rbx, %rdi
callq 0x1368
testl %eax, %eax
jne 0x2615
leaq 0xced(%rip), %rdi       # 0x32ea
leaq 0xaef(%rip), %rsi       # 0x30f3
leaq 0xafa(%rip), %rcx       # 0x3105
movl $0x200, %edx            # imm = 0x200
callq 0x1070
pushq $0x61
popq %rsi
movq %rbx, %rdi
callq 0x1462
testl %eax, %eax
js 0x264e
pushq $0x61
popq %rsi
movq %rbx, %rdi
callq 0x1376
leaq 0xce1(%rip), %rdi       # 0x3317
leaq 0xab6(%rip), %rsi       # 0x30f3
leaq 0xac1(%rip), %rcx       # 0x3105
movl $0x202, %edx            # imm = 0x202
callq 0x1070
leaq 0xca8(%rip), %rdi       # 0x32fd
leaq 0xa97(%rip), %rsi       # 0x30f3
leaq 0xaa2(%rip), %rcx       # 0x3105
movl $0x201, %edx            # imm = 0x201
callq 0x1070