// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/ltr/ltrdigest_pdom_visitor.c
// Function: gt_hmmer_parse_status_add_hit
static void gt_hmmer_parse_status_add_hit(GtHMMERParseStatus *s,
                                          GtHMMERSingleHit *hit)
{
  GtHMMERModelHit *mh;
  gt_assert(s);
  if (!(mh = gt_hashmap_get(s->models, gt_str_get(s->cur_model)))) {
    mh = gt_calloc((size_t) 1, sizeof (*mh));
    mh->fwd_hits = gt_array_new(sizeof (GtHMMERSingleHit*));
    mh->rev_hits = gt_array_new(sizeof (GtHMMERSingleHit*));
    mh->best_rev = mh->best_fwd = DBL_MAX;
    mh->modelname = gt_cstr_dup(gt_str_get(s->cur_model));
    gt_hashmap_add(s->models, mh->modelname, mh);
  }
  gt_assert(mh && mh->fwd_hits &&mh->rev_hits);
  if (hit->strand == GT_STRAND_FORWARD) {
    if (gt_double_compare(mh->best_fwd, hit->evalue) > 0)
      mh->best_fwd = hit->evalue;
    gt_array_add(mh->fwd_hits, hit);
  } else {
    if (gt_double_compare(mh->best_rev, hit->evalue) > 0)
      mh->best_rev = hit->evalue;
    gt_array_add(mh->rev_hits, hit);
  }
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
cmpq $0x0, 0x20(%rsp)
jne 0x309d0e
movq 0x3322c3(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x20c32c(%rip), %rsi    # 0x516013
leaq 0x222bbe(%rip), %rdx    # 0x52c8ac
leaq 0x289cca(%rip), %rcx    # 0x5939bf
leaq 0x2897fd(%rip), %r8     # 0x5934f9
movl $0x7d, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x309d10
movq 0x20(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x8(%rsp)
movq 0x20(%rsp), %rax
movq 0x8(%rax), %rdi
callq 0x11dee0
movq 0x8(%rsp), %rdi
movq %rax, %rsi
callq 0xe0f20
movq %rax, 0x10(%rsp)
cmpq $0x0, %rax
jne 0x309df5
movl $0x1, %edi
movl $0x38, %esi
leaq 0x2897a0(%rip), %rdx    # 0x5934f9
movl $0x7f, %ecx
callq 0xe83c0
movq %rax, 0x10(%rsp)
movl $0x8, %edi
callq 0x80990
movq %rax, %rcx
movq 0x10(%rsp), %rax
movq %rcx, (%rax)
movl $0x8, %edi
callq 0x80990
movq %rax, %rcx
movq 0x10(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x10(%rsp), %rax
movsd 0x20efb0(%rip), %xmm0   # 0x518d50
movsd %xmm0, 0x28(%rax)
movq 0x10(%rsp), %rax
movsd 0x20ef9e(%rip), %xmm0   # 0x518d50
movsd %xmm0, 0x20(%rax)
movq 0x20(%rsp), %rax
movq 0x8(%rax), %rdi
callq 0x11dee0
movq %rax, %rdi
callq 0xa2db0
movq %rax, %rcx
movq 0x10(%rsp), %rax
movq %rcx, 0x30(%rax)
movq 0x20(%rsp), %rax
movq 0x10(%rax), %rdi
movq 0x10(%rsp), %rax
movq 0x30(%rax), %rsi
movq 0x10(%rsp), %rdx
callq 0xe0fc0
jmp 0x309df7
cmpq $0x0, 0x10(%rsp)
je 0x309e16
movq 0x10(%rsp), %rax
cmpq $0x0, (%rax)
je 0x309e16
movq 0x10(%rsp), %rax
cmpq $0x0, 0x8(%rax)
jne 0x309e4e
movq 0x332183(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x20c1ec(%rip), %rsi    # 0x516013
leaq 0x289baf(%rip), %rdx    # 0x5939dd
leaq 0x289b8a(%rip), %rcx    # 0x5939bf
leaq 0x2896bd(%rip), %r8     # 0x5934f9
movl $0x86, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x309e50
movq 0x18(%rsp), %rax
cmpl $0x0, 0x38(%rax)
jne 0x309ea6
movq 0x10(%rsp), %rax
movsd 0x28(%rax), %xmm0
movq 0x18(%rsp), %rax
movsd 0x28(%rax), %xmm1
callq 0xec290
cmpl $0x0, %eax
jle 0x309e8d
movq 0x18(%rsp), %rax
movsd 0x28(%rax), %xmm0
movq 0x10(%rsp), %rax
movsd %xmm0, 0x28(%rax)
movq 0x10(%rsp), %rax
movq (%rax), %rdi
leaq 0x18(%rsp), %rsi
movl $0x8, %edx
callq 0x81100
jmp 0x309ef0
movq 0x10(%rsp), %rax
movsd 0x20(%rax), %xmm0
movq 0x18(%rsp), %rax
movsd 0x28(%rax), %xmm1
callq 0xec290
cmpl $0x0, %eax
jle 0x309ed8
movq 0x18(%rsp), %rax
movsd 0x28(%rax), %xmm0
movq 0x10(%rsp), %rax
movsd %xmm0, 0x20(%rax)
movq 0x10(%rsp), %rax
movq 0x8(%rax), %rdi
leaq 0x18(%rsp), %rsi
movl $0x8, %edx
callq 0x81100
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)