// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/match_iterator_blast.c
// Function: gt_match_iterator_blastalln_process_new
GtMatchIterator* gt_match_iterator_blastalln_process_new(const char *query,
                                                         const char *db_name,
                                                         double evalue,
                                                         bool dust,
                                                         int word_size,
                                                         int gapopen,
                                                         int gapextend,
                                                         int penalty,
                                                         int reward,
                                                         double threshold,
                                                         int num_threads,
                                                         int xdrop_gap_final,
                                                         GtError *err)
{
  GtBlastProcessCall *call = gt_blast_process_call_new_all_nucl();
  char buffer[BUFSIZ];

  gt_blast_process_call_set_query(call, query);
  gt_blast_process_call_set_db(call, db_name);
  if (evalue != GT_UNDEF_DOUBLE)
    gt_blast_process_call_set_evalue(call, evalue);
  if (dust)
    gt_blast_process_call_set_opt(call, " -F");
  if (word_size != GT_UNDEF_INT)
    gt_blast_process_call_set_wordsize(call, word_size);
  if (gapopen != GT_UNDEF_INT)
    gt_blast_process_call_set_gapopen(call, gapopen);
  if (gapextend != GT_UNDEF_INT)
    gt_blast_process_call_set_gapextend(call, gapextend);
  if (penalty != GT_UNDEF_INT)
    gt_blast_process_call_set_penalty(call, penalty);
  if (reward != GT_UNDEF_INT)
    gt_blast_process_call_set_reward(call, reward);
  if (threshold != GT_UNDEF_DOUBLE) {
    GT_UNUSED int ret;
    ret = snprintf(buffer, BUFSIZ, " -f %.3f", threshold);
    gt_assert((size_t) ret < BUFSIZ);
    gt_blast_process_call_set_opt(call, buffer);
  }
  if (num_threads != GT_UNDEF_INT)
    gt_blast_process_call_set_num_threads(call, num_threads);
  if (xdrop_gap_final != GT_UNDEF_INT)
    gt_blast_process_call_set_xdrop_gap_final(call, xdrop_gap_final);
  return gt_match_iterator_blast_process_new(call, err);
}

// Assembly:
subq $0x2048, %rsp           # imm = 0x2048
movb %dl, %al
movq 0x2070(%rsp), %rdx
movl 0x2068(%rsp), %edx
movl 0x2060(%rsp), %edx
movl 0x2058(%rsp), %edx
movl 0x2050(%rsp), %edx
movq %rdi, 0x2040(%rsp)
movq %rsi, 0x2038(%rsp)
movsd %xmm0, 0x2030(%rsp)
andb $0x1, %al
movb %al, 0x202f(%rsp)
movl %ecx, 0x2028(%rsp)
movl %r8d, 0x2024(%rsp)
movl %r9d, 0x2020(%rsp)
movsd %xmm1, 0x2018(%rsp)
callq 0x136e70
movq %rax, 0x2010(%rsp)
movq 0x2010(%rsp), %rdi
movq 0x2040(%rsp), %rsi
callq 0x137080
movq 0x2010(%rsp), %rdi
movq 0x2038(%rsp), %rsi
callq 0x137130
movsd 0x2030(%rsp), %xmm0
movsd 0x370ee9(%rip), %xmm1   # 0x518d50
ucomisd %xmm1, %xmm0
jne 0x1a7e71
jp 0x1a7e71
jmp 0x1a7e87
movq 0x2010(%rsp), %rdi
movsd 0x2030(%rsp), %xmm0
callq 0x1371e0
testb $0x1, 0x202f(%rsp)
je 0x1a7ea5
movq 0x2010(%rsp), %rdi
leaq 0x3b189b(%rip), %rsi    # 0x55973b
callq 0x137970
cmpl $0x80000000, 0x2028(%rsp) # imm = 0x80000000
je 0x1a7ec6
movq 0x2010(%rsp), %rdi
movl 0x2028(%rsp), %esi
callq 0x137290
cmpl $0x80000000, 0x2024(%rsp) # imm = 0x80000000
je 0x1a7ee7
movq 0x2010(%rsp), %rdi
movl 0x2024(%rsp), %esi
callq 0x137340
cmpl $0x80000000, 0x2020(%rsp) # imm = 0x80000000
je 0x1a7f08
movq 0x2010(%rsp), %rdi
movl 0x2020(%rsp), %esi
callq 0x1373f0
cmpl $0x80000000, 0x2050(%rsp) # imm = 0x80000000
je 0x1a7f29
movq 0x2010(%rsp), %rdi
movl 0x2050(%rsp), %esi
callq 0x1374a0
cmpl $0x80000000, 0x2058(%rsp) # imm = 0x80000000
je 0x1a7f4a
movq 0x2010(%rsp), %rdi
movl 0x2058(%rsp), %esi
callq 0x137590
movsd 0x2018(%rsp), %xmm0
movsd 0x370df5(%rip), %xmm1   # 0x518d50
ucomisd %xmm1, %xmm0
jne 0x1a7f65
jp 0x1a7f65
jmp 0x1a7fe3
leaq 0x10(%rsp), %rdi
movsd 0x2018(%rsp), %xmm0
movl $0x2000, %esi           # imm = 0x2000
leaq 0x3b17c0(%rip), %rdx    # 0x55973f
movb $0x1, %al
callq 0x19b90
movl %eax, 0xc(%rsp)
movslq 0xc(%rsp), %rax
cmpq $0x2000, %rax           # imm = 0x2000
jb 0x1a7fcf
movq 0x494002(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x36e06b(%rip), %rsi    # 0x516013
leaq 0x3b1799(%rip), %rdx    # 0x559748
leaq 0x3b17a8(%rip), %rcx    # 0x55975e
leaq 0x3b172b(%rip), %r8     # 0x5596e8
movl $0x110, %r9d            # imm = 0x110
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x1a7fd1
movq 0x2010(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x137970
cmpl $0x80000000, 0x2060(%rsp) # imm = 0x80000000
je 0x1a8004
movq 0x2010(%rsp), %rdi
movl 0x2060(%rsp), %esi
callq 0x137680
cmpl $0x80000000, 0x2068(%rsp) # imm = 0x80000000
je 0x1a8027
movq 0x2010(%rsp), %rdi
cvtsi2sdl 0x2068(%rsp), %xmm0
callq 0x137730
movq 0x2010(%rsp), %rdi
movq 0x2070(%rsp), %rsi
callq 0x1a7cc0
addq $0x2048, %rsp           # imm = 0x2048
retq
nopw %cs:(%rax,%rax)