// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_kmer_database.c
// Function: gt_kmer_database_add_to_hash
static void gt_kmer_database_add_to_hash(GtHashmap *hash, GtCodetype kmercode,
                                         GtUword position)
{
  GtArrayGtUword *arr =
    (GtArrayGtUword *) gt_hashmap_get(hash, (void *) kmercode);

  if (arr == NULL) {
    arr = gt_malloc(sizeof (*arr));
    GT_INITARRAY(arr, GtUword);
    gt_hashmap_add(hash, (void *) kmercode, (void *) arr);
  }
  if (arr->allocatedGtUword == 0)
    GT_STOREINARRAY(arr, GtUword,
                    (GtUword) 20,
                    position);
  else
    GT_STOREINARRAY(arr, GtUword,
                    arr->allocatedGtUword * 0.1,
                    position);
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
movq %rsi, 0x28(%rsp)
movq %rdx, 0x20(%rsp)
movq 0x30(%rsp), %rdi
movq 0x28(%rsp), %rsi
callq 0xe0f20
movq %rax, 0x18(%rsp)
cmpq $0x0, 0x18(%rsp)
jne 0x40794
movl $0x18, %edi
leaq 0x4dfe98(%rip), %rsi    # 0x5205e3
movl $0xcb, %edx
callq 0xe80f0
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq $0x0, (%rax)
movq 0x18(%rsp), %rax
movq $0x0, 0x10(%rax)
movq 0x18(%rsp), %rax
movq $0x0, 0x8(%rax)
movq 0x30(%rsp), %rdi
movq 0x28(%rsp), %rsi
movq 0x18(%rsp), %rdx
callq 0xe0fc0
movq 0x18(%rsp), %rax
cmpq $0x0, 0x8(%rax)
jne 0x408c6
jmp 0x407a6
jmp 0x407a8
movq 0x18(%rsp), %rax
movq 0x10(%rax), %rax
addq $0x0, %rax
movq 0x18(%rsp), %rcx
cmpq 0x8(%rcx), %rax
jb 0x40853
movq $0x14, 0x10(%rsp)
xorl %eax, %eax
cmpq 0x10(%rsp), %rax
jbe 0x4080e
movq 0x5fb7c3(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x4d582c(%rip), %rsi    # 0x516013
leaq 0x4d89b9(%rip), %rdx    # 0x5191a7
leaq 0x4e0289(%rip), %rcx    # 0x520a7e
leaq 0x4dfde7(%rip), %r8     # 0x5205e3
movl $0xd2, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x40810
movq 0x10(%rsp), %rcx
movq 0x18(%rsp), %rax
addq 0x8(%rax), %rcx
movq %rcx, 0x8(%rax)
movq 0x18(%rsp), %rax
movq (%rax), %rdi
movq 0x18(%rsp), %rax
movq 0x8(%rax), %rsi
shlq $0x3, %rsi
leaq 0x4dfda5(%rip), %rdx    # 0x5205e3
movl $0xd2, %ecx
callq 0xe8540
movq %rax, %rcx
movq 0x18(%rsp), %rax
movq %rcx, (%rax)
jmp 0x40855
movq 0x18(%rsp), %rax
cmpq $0x0, (%rax)
jne 0x40898
movq 0x5fb739(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x4d57a2(%rip), %rsi    # 0x516013
leaq 0x4e0223(%rip), %rdx    # 0x520a9b
leaq 0x4e01ff(%rip), %rcx    # 0x520a7e
leaq 0x4dfd5d(%rip), %r8     # 0x5205e3
movl $0xd2, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x4089a
jmp 0x4089c
movq 0x20(%rsp), %rdx
movq 0x18(%rsp), %rax
movq (%rax), %rax
movq 0x18(%rsp), %rsi
movq 0x10(%rsi), %rcx
movq %rcx, %rdi
addq $0x1, %rdi
movq %rdi, 0x10(%rsi)
movq %rdx, (%rax,%rcx,8)
jmp 0x40a3f
jmp 0x408c8
jmp 0x408ca
movq 0x18(%rsp), %rax
movq 0x10(%rax), %rax
addq $0x0, %rax
movq 0x18(%rsp), %rcx
cmpq 0x8(%rcx), %rax
jb 0x409cf
movq 0x18(%rsp), %rax
movq 0x8(%rax), %xmm0
movaps 0x4d8039(%rip), %xmm1   # 0x518930
punpckldq %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
movapd 0x4d803d(%rip), %xmm1   # 0x518940
subpd %xmm1, %xmm0
movaps %xmm0, %xmm1
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
addsd %xmm1, %xmm0
movsd 0x4de936(%rip), %xmm1   # 0x51f250
mulsd %xmm1, %xmm0
movaps %xmm0, %xmm1
cvttsd2si %xmm1, %rax
movq %rax, %rdx
sarq $0x3f, %rdx
movsd 0x4d843b(%rip), %xmm1   # 0x518d70
subsd %xmm1, %xmm0
cvttsd2si %xmm0, %rcx
andq %rdx, %rcx
orq %rcx, %rax
movq %rax, 0x8(%rsp)
xorl %eax, %eax
cmpq 0x8(%rsp), %rax
jbe 0x4098a
movq 0x5fb647(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x4d56b0(%rip), %rsi    # 0x516013
leaq 0x4d883d(%rip), %rdx    # 0x5191a7
leaq 0x4e010d(%rip), %rcx    # 0x520a7e
leaq 0x4dfc6b(%rip), %r8     # 0x5205e3
movl $0xd6, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x4098c
movq 0x8(%rsp), %rcx
movq 0x18(%rsp), %rax
addq 0x8(%rax), %rcx
movq %rcx, 0x8(%rax)
movq 0x18(%rsp), %rax
movq (%rax), %rdi
movq 0x18(%rsp), %rax
movq 0x8(%rax), %rsi
shlq $0x3, %rsi
leaq 0x4dfc29(%rip), %rdx    # 0x5205e3
movl $0xd6, %ecx
callq 0xe8540
movq %rax, %rcx
movq 0x18(%rsp), %rax
movq %rcx, (%rax)
jmp 0x409d1
movq 0x18(%rsp), %rax
cmpq $0x0, (%rax)
jne 0x40a14
movq 0x5fb5bd(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x4d5626(%rip), %rsi    # 0x516013
leaq 0x4e00a7(%rip), %rdx    # 0x520a9b
leaq 0x4e0083(%rip), %rcx    # 0x520a7e
leaq 0x4dfbe1(%rip), %r8     # 0x5205e3
movl $0xd6, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x40a16
jmp 0x40a18
movq 0x20(%rsp), %rdx
movq 0x18(%rsp), %rax
movq (%rax), %rax
movq 0x18(%rsp), %rsi
movq 0x10(%rsi), %rcx
movq %rcx, %rdi
addq $0x1, %rdi
movq %rdi, 0x10(%rsi)
movq %rdx, (%rax,%rcx,8)
jmp 0x40a3f
addq $0x38, %rsp
retq
nopw %cs:(%rax,%rax)
nop