// File: /workspace/github_c_makefile_star2_O3/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 0x183b5f
movq %rbx, %rdi
callq 0xfcc32
testb %al, %al
jne 0x183dbb
xorl %edi, %edi
callq 0x18357c
testq %rax, %rax
je 0x183db3
movq %rax, %r14
movl $0x7, %esi
movq %rax, %rdi
xorl %edx, %edx
callq 0x1836ce
testb %al, %al
je 0x183bc8
leaq 0x1da8b2(%rip), %rsi    # 0x35e43e
leaq 0x1e77c1(%rip), %rdx    # 0x36b354
leaq 0x213ecc(%rip), %rcx    # 0x397a66
leaq 0x213c77(%rip), %r8     # 0x397818
movq %rbx, %rdi
movl $0x165, %r9d            # imm = 0x165
xorl %eax, %eax
callq 0xfcb67
movl $0x7, %esi
movq %r14, %rdi
movl $0x1, %edx
callq 0x1836ce
jmp 0x183c5b
movl %eax, %ebp
movl $0x7, %esi
movq %r14, %rdi
movl $0x1, %edx
callq 0x1836ce
xorb $0x1, %al
orb %al, %bpl
je 0x183c2f
movl $0x7, %esi
movq %r14, %rdi
movl $0x1, %edx
callq 0x1836ce
xorl %r15d, %r15d
movl $0x0, %ebp
testb %al, %al
jne 0x183c75
leaq 0x1da836(%rip), %rsi    # 0x35e43e
leaq 0x24744e(%rip), %rdx    # 0x3cb05d
leaq 0x213e50(%rip), %rcx    # 0x397a66
leaq 0x213bfb(%rip), %r8     # 0x397818
movq %rbx, %rdi
movl $0x169, %r9d            # imm = 0x169
xorl %eax, %eax
callq 0xfcb67
jmp 0x183c6d
leaq 0x1da808(%rip), %rsi    # 0x35e43e
leaq 0x1e7717(%rip), %rdx    # 0x36b354
leaq 0x213e22(%rip), %rcx    # 0x397a66
leaq 0x213bcd(%rip), %r8     # 0x397818
movq %rbx, %rdi
movl $0x167, %r9d            # imm = 0x167
xorl %eax, %eax
callq 0xfcb67
movl $0x7, %esi
movq %r14, %rdi
movl $0x1, %edx
callq 0x1836ce
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
movb $0x1, %r15b
movq %r14, %rdi
callq 0x183693
movl $0x2710, %edi           # imm = 0x2710
callq 0x18357c
movq %rax, %r14
testq %rax, %rax
setne %al
orb %r15b, %al
jne 0x183cc6
leaq 0x1da7a2(%rip), %rsi    # 0x35e43e
leaq 0x203e06(%rip), %rdx    # 0x387aa9
leaq 0x213dbc(%rip), %rcx    # 0x397a66
leaq 0x213b67(%rip), %r8     # 0x397818
movq %rbx, %rdi
movl $0x16e, %r9d            # imm = 0x16E
xorl %eax, %eax
callq 0xfcb67
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
leaq 0x213b4b(%rip), %r15    # 0x397818
xorl %r12d, %r12d
movl %ebp, %r13d
movq %r14, %rdi
movq %r12, %rsi
movl $0x1, %edx
callq 0x1836ce
xorl %ebp, %ebp
testl %r13d, %r13d
setne %bpl
negl %ebp
testl %r13d, %r13d
jne 0x183d24
testb %al, %al
je 0x183d24
movq %rbx, %rdi
leaq 0x1da73d(%rip), %rsi    # 0x35e43e
leaq 0x1e764c(%rip), %rdx    # 0x36b354
leaq 0x213d57(%rip), %rcx    # 0x397a66
movq %r15, %r8
movl $0x172, %r9d            # imm = 0x172
xorl %eax, %eax
callq 0xfcb67
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
incq %r12
cmpq $0x2710, %r12           # imm = 0x2710
jne 0x183cd0
leaq 0x213ae1(%rip), %r15    # 0x397818
xorl %r12d, %r12d
movl %ebp, %r13d
movq %r14, %rdi
movq %r12, %rsi
movl $0x1, %edx
callq 0x1836ce
xorl %ebp, %ebp
testl %r13d, %r13d
setne %bpl
negl %ebp
testl %r13d, %r13d
jne 0x183d8e
testb %al, %al
jne 0x183d8e
movq %rbx, %rdi
leaq 0x1da6d3(%rip), %rsi    # 0x35e43e
leaq 0x2472eb(%rip), %rdx    # 0x3cb05d
leaq 0x213ced(%rip), %rcx    # 0x397a66
movq %r15, %r8
movl $0x177, %r9d            # imm = 0x177
xorl %eax, %eax
callq 0xfcb67
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
incq %r12
cmpq $0x2710, %r12           # imm = 0x2710
jne 0x183d3a
movq %r14, %rdi
callq 0x183693
movl %ebp, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rbx, %rdi
callq 0x5962a
callq 0x595f1