// File: /workspace/github_c_makefile_star2_O1/genometools[P]genometools/src/extended/uint64hashtable.c
// Function: gt_uint64hashtable_unit_test
int gt_uint64hashtable_unit_test(GtError *err)
{
  int had_err = 0;
  GtUint64hashtable *table = NULL;
  bool found;
  size_t i, nof_elements;

  gt_error_check(err);

  table = gt_uint64hashtable_new(0);
  gt_ensure(table != NULL);
  found = gt_uint64hashtable_search(table, (uint64_t)7, false);
  gt_ensure(!found);
  found = gt_uint64hashtable_search(table, (uint64_t)7, true);
  gt_ensure(!found);
  found = gt_uint64hashtable_search(table, (uint64_t)7, true);
  gt_ensure(found);
  gt_uint64hashtable_delete(table);

  nof_elements = (size_t)10000;
  table = gt_uint64hashtable_new(nof_elements);
  gt_ensure(table != NULL);
  for (i = 0; i < nof_elements; i++)
  {
    found = gt_uint64hashtable_search(table, (uint64_t)i, true);
    gt_ensure(!found);
  }
  for (i = 0; i < nof_elements; i++)
  {
    found = gt_uint64hashtable_search(table, (uint64_t)i, true);
    gt_ensure(found);
  }
  gt_uint64hashtable_delete(table);
  return had_err;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %r13
testq %rdi, %rdi
je 0x18c286
movq %r13, %rdi
callq 0x101a9a
testb %al, %al
jne 0x18c4e5
xorl %edi, %edi
callq 0x18bc94
movq %rax, %r14
testq %rax, %rax
setne %r15b
jne 0x18c2c5
leaq 0x1db29a(%rip), %rsi    # 0x36753a
leaq 0x204bdb(%rip), %rdx    # 0x390e82
leaq 0x214c80(%rip), %rcx    # 0x3a0f2e
leaq 0x214a2b(%rip), %r8     # 0x3a0ce0
movq %r13, %rdi
movl $0x163, %r9d            # imm = 0x163
xorl %eax, %eax
callq 0x1019cf
movl $0x7, %esi
movq %r14, %rdi
xorl %edx, %edx
callq 0x18bde6
testq %r14, %r14
je 0x18c30c
testb %al, %al
je 0x18c30c
leaq 0x1db256(%rip), %rsi    # 0x36753a
leaq 0x1e82b9(%rip), %rdx    # 0x3745a4
leaq 0x214c3c(%rip), %rcx    # 0x3a0f2e
leaq 0x2149e7(%rip), %r8     # 0x3a0ce0
xorl %r15d, %r15d
movq %r13, %rdi
movl $0x165, %r9d            # imm = 0x165
xorl %eax, %eax
callq 0x1019cf
movl $0x7, %esi
movq %r14, %rdi
movl $0x1, %edx
callq 0x18bde6
testb %r15b, %r15b
je 0x18c356
testb %al, %al
je 0x18c356
leaq 0x1db20c(%rip), %rsi    # 0x36753a
leaq 0x1e826f(%rip), %rdx    # 0x3745a4
leaq 0x214bf2(%rip), %rcx    # 0x3a0f2e
leaq 0x21499d(%rip), %r8     # 0x3a0ce0
xorl %r15d, %r15d
movq %r13, %rdi
movl $0x167, %r9d            # imm = 0x167
xorl %eax, %eax
callq 0x1019cf
movl $0x7, %esi
movq %r14, %rdi
movl $0x1, %edx
callq 0x18bde6
xorb $0x1, %r15b
orb %r15b, %al
je 0x18c379
movzbl %r15b, %ebp
negl %ebp
jmp 0x18c3ad
leaq 0x1db1ba(%rip), %rsi    # 0x36753a
leaq 0x2483f6(%rip), %rdx    # 0x3d477d
leaq 0x214ba0(%rip), %rcx    # 0x3a0f2e
leaq 0x21494b(%rip), %r8     # 0x3a0ce0
movq %r13, %rdi
movl $0x169, %r9d            # imm = 0x169
xorl %eax, %eax
callq 0x1019cf
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
movb $0x1, %r15b
movq %r14, %rdi
callq 0x18bdab
movl $0x2710, %edi           # imm = 0x2710
callq 0x18bc94
movq %rax, %r14
testq %rax, %rax
setne %al
orb %r15b, %al
jne 0x18c3fe
leaq 0x1db166(%rip), %rsi    # 0x36753a
leaq 0x204aa7(%rip), %rdx    # 0x390e82
leaq 0x214b4c(%rip), %rcx    # 0x3a0f2e
leaq 0x2148f7(%rip), %r8     # 0x3a0ce0
movq %r13, %rdi
movl $0x16e, %r9d            # imm = 0x16E
xorl %eax, %eax
callq 0x1019cf
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
leaq 0x2148db(%rip), %r15    # 0x3a0ce0
xorl %r12d, %r12d
movl %ebp, %ebx
movq %r14, %rdi
movq %r12, %rsi
movl $0x1, %edx
callq 0x18bde6
xorl %ebp, %ebp
testl %ebx, %ebx
setne %bpl
negl %ebp
testl %ebx, %ebx
jne 0x18c459
testb %al, %al
je 0x18c459
movq %r13, %rdi
leaq 0x1db104(%rip), %rsi    # 0x36753a
leaq 0x1e8167(%rip), %rdx    # 0x3745a4
leaq 0x214aea(%rip), %rcx    # 0x3a0f2e
movq %r15, %r8
movl $0x172, %r9d            # imm = 0x172
xorl %eax, %eax
callq 0x1019cf
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
incq %r12
cmpq $0x2710, %r12           # imm = 0x2710
jne 0x18c408
leaq 0x214874(%rip), %r15    # 0x3a0ce0
xorl %r12d, %r12d
movl %ebp, %ebx
movq %r14, %rdi
movq %r12, %rsi
movl $0x1, %edx
callq 0x18bde6
xorl %ebp, %ebp
testl %ebx, %ebx
setne %bpl
negl %ebp
testl %ebx, %ebx
jne 0x18c4c0
testb %al, %al
jne 0x18c4c0
movq %r13, %rdi
leaq 0x1db09d(%rip), %rsi    # 0x36753a
leaq 0x2482d9(%rip), %rdx    # 0x3d477d
leaq 0x214a83(%rip), %rcx    # 0x3a0f2e
movq %r15, %r8
movl $0x177, %r9d            # imm = 0x177
xorl %eax, %eax
callq 0x1019cf
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
incq %r12
cmpq $0x2710, %r12           # imm = 0x2710
jne 0x18c46f
movq %r14, %rdi
callq 0x18bdab
movl %ebp, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
callq 0x5a892
nop