// File: /workspace/github_c_makefile_star2_O2/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, %rbx
testq %rdi, %rdi
je 0x12b76b
movq %rbx, %rdi
callq 0x89eb7
testb %al, %al
jne 0x12b9c0
xorl %edi, %edi
callq 0x12aed8
movq %rax, %r14
testq %rax, %rax
setne %r15b
jne 0x12b7aa
leaq 0x1d2c6d(%rip), %rsi    # 0x2fe3f2
leaq 0x1fc712(%rip), %rdx    # 0x327e9e
leaq 0x20c62b(%rip), %rcx    # 0x337dbe
leaq 0x20c3d6(%rip), %r8     # 0x337b70
movq %rbx, %rdi
movl $0x163, %r9d            # imm = 0x163
xorl %eax, %eax
callq 0x89dbb
pushq $0x7
popq %rsi
movq %r14, %rdi
xorl %edx, %edx
callq 0x12b067
testq %r14, %r14
je 0x12b7ef
testb %al, %al
je 0x12b7ef
leaq 0x1d2c2b(%rip), %rsi    # 0x2fe3f2
leaq 0x1dfae6(%rip), %rdx    # 0x30b2b4
leaq 0x20c5e9(%rip), %rcx    # 0x337dbe
leaq 0x20c394(%rip), %r8     # 0x337b70
xorl %r15d, %r15d
movq %rbx, %rdi
movl $0x165, %r9d            # imm = 0x165
xorl %eax, %eax
callq 0x89dbb
pushq $0x7
popq %rsi
pushq $0x1
popq %rdx
movq %r14, %rdi
callq 0x12b067
testb %r15b, %r15b
je 0x12b835
testb %al, %al
je 0x12b835
leaq 0x1d2be5(%rip), %rsi    # 0x2fe3f2
leaq 0x1dfaa0(%rip), %rdx    # 0x30b2b4
leaq 0x20c5a3(%rip), %rcx    # 0x337dbe
leaq 0x20c34e(%rip), %r8     # 0x337b70
xorl %r15d, %r15d
movq %rbx, %rdi
movl $0x167, %r9d            # imm = 0x167
xorl %eax, %eax
callq 0x89dbb
pushq $0x7
popq %rsi
pushq $0x1
popq %rdx
movq %r14, %rdi
callq 0x12b067
xorb $0x1, %r15b
orb %r15b, %al
je 0x12b854
movzbl %r15b, %ebp
negl %ebp
jmp 0x12b886
pushq $-0x1
popq %rbp
leaq 0x1d2b94(%rip), %rsi    # 0x2fe3f2
leaq 0x23fc08(%rip), %rdx    # 0x36b46d
leaq 0x20c552(%rip), %rcx    # 0x337dbe
leaq 0x20c2fd(%rip), %r8     # 0x337b70
movq %rbx, %rdi
movl $0x169, %r9d            # imm = 0x169
xorl %eax, %eax
callq 0x89dbb
movb $0x1, %r15b
movq %r14, %rdi
callq 0x12b02c
movl $0x2710, %edi           # imm = 0x2710
callq 0x12aed8
movq %rax, %r14
testq %rax, %rax
setne %al
orb %r15b, %al
jne 0x12b8d5
leaq 0x1d2b45(%rip), %rsi    # 0x2fe3f2
leaq 0x1fc5ea(%rip), %rdx    # 0x327e9e
leaq 0x20c503(%rip), %rcx    # 0x337dbe
leaq 0x20c2ae(%rip), %r8     # 0x337b70
movq %rbx, %rdi
movl $0x16e, %r9d            # imm = 0x16E
xorl %eax, %eax
callq 0x89dbb
pushq $-0x1
popq %rbp
pushq $0x1
popq %r15
pushq $-0x1
popq %r13
xorl %r12d, %r12d
cmpq $0x2710, %r12           # imm = 0x2710
je 0x12b93e
movq %r14, %rdi
movq %r12, %rsi
movl %r15d, %edx
callq 0x12b067
xorl %ecx, %ecx
testl %ebp, %ebp
setne %cl
negl %ecx
testl %ebp, %ebp
jne 0x12b937
testb %al, %al
je 0x12b937
movq %rbx, %rdi
leaq 0x1d2ae0(%rip), %rsi    # 0x2fe3f2
leaq 0x1df99b(%rip), %rdx    # 0x30b2b4
leaq 0x20c49e(%rip), %rcx    # 0x337dbe
leaq 0x20c249(%rip), %r8     # 0x337b70
movl $0x172, %r9d            # imm = 0x172
xorl %eax, %eax
callq 0x89dbb
movl %r13d, %ecx
incq %r12
movl %ecx, %ebp
jmp 0x12b8e0
pushq $0x1
popq %r15
pushq $-0x1
popq %r13
xorl %r12d, %r12d
cmpq $0x2710, %r12           # imm = 0x2710
je 0x12b9a7
movq %r14, %rdi
movq %r12, %rsi
movl %r15d, %edx
callq 0x12b067
xorl %ecx, %ecx
testl %ebp, %ebp
setne %cl
negl %ecx
testl %ebp, %ebp
jne 0x12b9a0
testb %al, %al
jne 0x12b9a0
movq %rbx, %rdi
leaq 0x1d2a77(%rip), %rsi    # 0x2fe3f2
leaq 0x23faeb(%rip), %rdx    # 0x36b46d
leaq 0x20c435(%rip), %rcx    # 0x337dbe
leaq 0x20c1e0(%rip), %r8     # 0x337b70
movl $0x177, %r9d            # imm = 0x177
xorl %eax, %eax
callq 0x89dbb
movl %r13d, %ecx
incq %r12
movl %ecx, %ebp
jmp 0x12b949
movq %r14, %rdi
callq 0x12b02c
movl %ebp, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x30c5a1(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x1b9642(%rip), %rsi    # 0x2e5013
leaq 0x1b97e7(%rip), %rdx    # 0x2e51bf
leaq 0x20c3df(%rip), %rcx    # 0x337dbe
leaq 0x20c18a(%rip), %r8     # 0x337b70
movl $0x160, %r9d            # imm = 0x160
xorl %eax, %eax
callq 0x17a50
callq 0x17390