// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/core/hashtable.c
// Function: gt_ht_reinit
static void
gt_ht_reinit(GtHashtable *ht, HashElemInfo table_info, unsigned short size_log,
             unsigned short high_mul, unsigned short low_mul)
{
  htsize_t table_size;
  gt_assert(high_mul > low_mul);
  gt_assert(low_mul > 0 && high_mul < FILL_DIVISOR);
  ht->table_info = table_info;
  ht->table_size_log = size_log;
  ht->table_mask = (table_size = 1 << size_log) - 1;
  if (ht->no_ma)
    ht->table = realloc(ht->table, table_info.elem_size * table_size);
  else
    ht->table = gt_realloc(ht->table, table_info.elem_size * table_size);
  ht->high_fill_mul = high_mul;
  ht->high_fill
    = (GtUint64)ht->high_fill_mul * table_size / FILL_DIVISOR;
  ht->low_fill_mul = low_mul;
  ht->low_fill
    = (GtUint64)ht->low_fill_mul * table_size / FILL_DIVISOR;
  {
    uint32_t i;
    if (ht->no_ma)
      ht->links.table = realloc(ht->links.table,
                                sizeof (*(ht->links.table)) * table_size);
    else
      ht->links.table = gt_realloc(ht->links.table,
                                   sizeof (*(ht->links.table)) * table_size);
    for (i = 0; i < table_size; ++i)
      ht->links.table[i] = free_mark;
    ht->get_link = gt_ht_get_table_link;
    ht->set_link = gt_ht_set_table_link;
  }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
movl %ecx, %ebp
movl %edx, %r14d
cmpw %bp, %r14w
jbe 0x5721d
cmpw $0xff, %r14w
ja 0x57247
testw %bp, %bp
je 0x57247
movl %esi, %ecx
movq %rdi, %rbx
leaq 0x30(%rsp), %rax
movups (%rax), %xmm0
movups 0x10(%rax), %xmm1
movups 0x20(%rax), %xmm2
movups %xmm2, 0x20(%rdi)
movups %xmm1, 0x10(%rdi)
movups %xmm0, (%rdi)
pushq $0x1
popq %r12
shll %cl, %r12d
movw %cx, 0x60(%rdi)
leal -0x1(%r12), %edx
movl %edx, 0x48(%rdi)
movq 0x10(%rax), %rsi
shlq %cl, %rsi
movq 0x30(%rdi), %rdi
movzwl %cx, %r15d
cmpb $0x1, 0x78(%rbx)
jne 0x57181
callq 0xba60
jmp 0x57190
leaq 0x83221(%rip), %rdx     # 0xda3a9
pushq $0x6a
popq %rcx
callq 0xcfc2
movq %rax, 0x30(%rbx)
movzwl %r14w, %eax
movl %r15d, %ecx
shlq %cl, %rax
movw %r14w, 0x62(%rbx)
movl %r12d, %r14d
shrq $0x8, %rax
movzwl %bp, %edx
shlq %cl, %rdx
movl %eax, 0x4c(%rbx)
movw %bp, 0x64(%rbx)
shrq $0x8, %rdx
movl %edx, 0x50(%rbx)
movq 0x58(%rbx), %rdi
leaq (,%r14,4), %rsi
cmpb $0x1, 0x78(%rbx)
jne 0x571d7
callq 0xba60
jmp 0x571e6
leaq 0x831cb(%rip), %rdx     # 0xda3a9
pushq $0x78
popq %rcx
callq 0xcfc2
movq %rax, 0x58(%rbx)
xorl %eax, %eax
cmpq %rax, %r14
je 0x571fe
movq 0x58(%rbx), %rcx
orl $-0x1, (%rcx,%rax,4)
incq %rax
jmp 0x571ec
leaq -0xb8f(%rip), %rax      # 0x56676
movq %rax, 0x38(%rbx)
leaq 0x97a(%rip), %rax       # 0x57b8a
movq %rax, 0x40(%rbx)
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
movq 0xd6d94(%rip), %rax     # 0x12dfb8
movq (%rax), %rdi
leaq 0x72e38(%rip), %rsi     # 0xca066
leaq 0x833a1(%rip), %rdx     # 0xda5d6
leaq 0x833ad(%rip), %rcx     # 0xda5e9
leaq 0x83166(%rip), %r8      # 0xda3a9
pushq $0x62
jmp 0x5726f
movq 0xd6d6a(%rip), %rax     # 0x12dfb8
movq (%rax), %rdi
leaq 0x72e0e(%rip), %rsi     # 0xca066
leaq 0x83397(%rip), %rdx     # 0xda5f6
leaq 0x83383(%rip), %rcx     # 0xda5e9
leaq 0x8313c(%rip), %r8      # 0xda3a9
pushq $0x63
popq %r9
xorl %eax, %eax
callq 0xb8c0
callq 0xb300