// File: /workspace/github_cpp_makefile_star2_O1/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 0x1366
testl %eax, %eax
jns 0x23eb
movq %rbx, %rdi
movl $0x63, %esi
callq 0x1452
testl %eax, %eax
jns 0x240a
movq %rbx, %rdi
movl $0x63, %esi
callq 0x1366
testl %eax, %eax
jns 0x2429
movq %rbx, %rdi
movl $0x63, %esi
callq 0x194c
testl %eax, %eax
jne 0x2448
leaq 0xd88(%rip), %rdi       # 0x315b
leaq 0xd19(%rip), %rsi       # 0x30f3
leaq 0xd24(%rip), %rcx       # 0x3105
movl $0x1eb, %edx            # imm = 0x1EB
callq 0x1070
leaq 0xced(%rip), %rdi       # 0x30df
leaq 0xcfa(%rip), %rsi       # 0x30f3
leaq 0xd05(%rip), %rcx       # 0x3105
movl $0x1e8, %edx            # imm = 0x1E8
callq 0x1070
leaq 0xd18(%rip), %rdi       # 0x3129
leaq 0xcdb(%rip), %rsi       # 0x30f3
leaq 0xce6(%rip), %rcx       # 0x3105
movl $0x1e9, %edx            # imm = 0x1E9
callq 0x1070
leaq 0xd12(%rip), %rdi       # 0x3142
leaq 0xcbc(%rip), %rsi       # 0x30f3
leaq 0xcc7(%rip), %rcx       # 0x3105
movl $0x1ea, %edx            # imm = 0x1EA
callq 0x1070
movq %rbx, %rdi
movl $0x63, %esi
callq 0x1366
testl %eax, %eax
jns 0x2478
leaq 0xd0e(%rip), %rdi       # 0x316e
leaq 0xc8c(%rip), %rsi       # 0x30f3
leaq 0xc97(%rip), %rcx       # 0x3105
movl $0x1ec, %edx            # imm = 0x1EC
callq 0x1070
movq %rbx, %rdi
movl $0x63, %esi
callq 0x1366
testl %eax, %eax
js 0x252a
movq %rbx, %rdi
movl $0x63, %esi
callq 0x1452
testl %eax, %eax
js 0x2549
movq %rbx, %rdi
movl $0x63, %esi
callq 0x194c
testl %eax, %eax
jne 0x2568
movq %rbx, %rdi
movl $0x62, %esi
callq 0x1366
testl %eax, %eax
jns 0x2587
movq %rbx, %rdi
movl $0x62, %esi
callq 0x1452
testl %eax, %eax
jns 0x25a6
movq %rbx, %rdi
movl $0x62, %esi
callq 0x1366
testl %eax, %eax
jns 0x25c5
movq %rbx, %rdi
movl $0x62, %esi
callq 0x194c
testl %eax, %eax
jne 0x25e4
leaq 0xcfd(%rip), %rdi       # 0x320f
leaq 0xbda(%rip), %rsi       # 0x30f3
leaq 0xbe5(%rip), %rcx       # 0x3105
movl $0x1f4, %edx            # imm = 0x1F4
callq 0x1070
leaq 0xc50(%rip), %rdi       # 0x3181
leaq 0xbbb(%rip), %rsi       # 0x30f3
leaq 0xbc6(%rip), %rcx       # 0x3105
movl $0x1ed, %edx            # imm = 0x1ED
callq 0x1070
leaq 0xc4b(%rip), %rdi       # 0x319b
leaq 0xb9c(%rip), %rsi       # 0x30f3
leaq 0xba7(%rip), %rcx       # 0x3105
movl $0x1ee, %edx            # imm = 0x1EE
callq 0x1070
leaq 0xc46(%rip), %rdi       # 0x31b5
leaq 0xb7d(%rip), %rsi       # 0x30f3
leaq 0xb88(%rip), %rcx       # 0x3105
movl $0x1ef, %edx            # imm = 0x1EF
callq 0x1070
leaq 0xc3b(%rip), %rdi       # 0x31c9
leaq 0xb5e(%rip), %rsi       # 0x30f3
leaq 0xb69(%rip), %rcx       # 0x3105
movl $0x1f1, %edx            # imm = 0x1F1
callq 0x1070
leaq 0xc30(%rip), %rdi       # 0x31dd
leaq 0xb3f(%rip), %rsi       # 0x30f3
leaq 0xb4a(%rip), %rcx       # 0x3105
movl $0x1f2, %edx            # imm = 0x1F2
callq 0x1070
leaq 0xc2a(%rip), %rdi       # 0x31f6
leaq 0xb20(%rip), %rsi       # 0x30f3
leaq 0xb2b(%rip), %rcx       # 0x3105
movl $0x1f3, %edx            # imm = 0x1F3
callq 0x1070
movq %rbx, %rdi
movl $0x62, %esi
callq 0x1366
testl %eax, %eax
jns 0x2614
leaq 0xc26(%rip), %rdi       # 0x3222
leaq 0xaf0(%rip), %rsi       # 0x30f3
leaq 0xafb(%rip), %rcx       # 0x3105
movl $0x1f5, %edx            # imm = 0x1F5
callq 0x1070
movq %rbx, %rdi
movl $0x62, %esi
callq 0x1452
testl %eax, %eax
js 0x2677
movq %rbx, %rdi
movl $0x62, %esi
callq 0x1366
testl %eax, %eax
js 0x2696
movq %rbx, %rdi
movl $0x62, %esi
callq 0x194c
testl %eax, %eax
jne 0x26b5
movq %rbx, %rdi
movl $0x5a, %esi
callq 0x194c
testl %eax, %eax
jne 0x26d4
leaq 0xc1e(%rip), %rdi       # 0x327d
leaq 0xa8d(%rip), %rsi       # 0x30f3
leaq 0xa98(%rip), %rcx       # 0x3105
movl $0x1fa, %edx            # imm = 0x1FA
callq 0x1070
leaq 0xbb7(%rip), %rdi       # 0x3235
leaq 0xa6e(%rip), %rsi       # 0x30f3
leaq 0xa79(%rip), %rcx       # 0x3105
movl $0x1f6, %edx            # imm = 0x1F6
callq 0x1070
leaq 0xbb2(%rip), %rdi       # 0x324f
leaq 0xa4f(%rip), %rsi       # 0x30f3
leaq 0xa5a(%rip), %rcx       # 0x3105
movl $0x1f7, %edx            # imm = 0x1F7
callq 0x1070
leaq 0xbad(%rip), %rdi       # 0x3269
leaq 0xa30(%rip), %rsi       # 0x30f3
leaq 0xa3b(%rip), %rcx       # 0x3105
movl $0x1f8, %edx            # imm = 0x1F8
callq 0x1070
movq %rbx, %rdi
movl $0x5a, %esi
callq 0x1366
testl %eax, %eax
jns 0x2704
leaq 0xba4(%rip), %rdi       # 0x3290
leaq 0xa00(%rip), %rsi       # 0x30f3
leaq 0xa0b(%rip), %rcx       # 0x3105
movl $0x1fb, %edx            # imm = 0x1FB
callq 0x1070
movq %rbx, %rdi
movl $0x5a, %esi
callq 0x1452
testl %eax, %eax
js 0x2756
movq %rbx, %rdi
movl $0x5a, %esi
callq 0x1366
testl %eax, %eax
js 0x2775
movq %rbx, %rdi
movl $0x61, %esi
callq 0x194c
testl %eax, %eax
jne 0x2794
leaq 0xb99(%rip), %rdi       # 0x32d7
leaq 0x9ae(%rip), %rsi       # 0x30f3
leaq 0x9b9(%rip), %rcx       # 0x3105
movl $0x1ff, %edx            # imm = 0x1FF
callq 0x1070
leaq 0xb46(%rip), %rdi       # 0x32a3
leaq 0x98f(%rip), %rsi       # 0x30f3
leaq 0x99a(%rip), %rcx       # 0x3105
movl $0x1fc, %edx            # imm = 0x1FC
callq 0x1070
leaq 0xb41(%rip), %rdi       # 0x32bd
leaq 0x970(%rip), %rsi       # 0x30f3
leaq 0x97b(%rip), %rcx       # 0x3105
movl $0x1fd, %edx            # imm = 0x1FD
callq 0x1070
movq %rbx, %rdi
movl $0x61, %esi
callq 0x1366
testl %eax, %eax
jns 0x27c4
leaq 0xb3e(%rip), %rdi       # 0x32ea
leaq 0x940(%rip), %rsi       # 0x30f3
leaq 0x94b(%rip), %rcx       # 0x3105
movl $0x200, %edx            # imm = 0x200
callq 0x1070
movq %rbx, %rdi
movl $0x61, %esi
callq 0x1452
testl %eax, %eax
js 0x2801
movq %rbx, %rdi
movl $0x61, %esi
callq 0x1366
leaq 0xb2e(%rip), %rdi       # 0x3317
leaq 0x903(%rip), %rsi       # 0x30f3
leaq 0x90e(%rip), %rcx       # 0x3105
movl $0x202, %edx            # imm = 0x202
callq 0x1070
leaq 0xaf5(%rip), %rdi       # 0x32fd
leaq 0x8e4(%rip), %rsi       # 0x30f3
leaq 0x8ef(%rip), %rcx       # 0x3105
movl $0x201, %edx            # imm = 0x201
callq 0x1070