// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/tools/gt_tallymer.c
// Function: gt_tyr_occratio_runner
static int gt_tyr_occratio_runner(GT_UNUSED int argc,
                                  GT_UNUSED const char **argv,
                                  GT_UNUSED int parsed_args,
                                  void *tool_arguments,
                                  GtError *err)
{
  GtLogger *logger;
  Tyr_occratio_options *arguments = tool_arguments;
  bool haserr = false;
  GtArrayuint64_t uniquedistribution,
                  nonuniquedistribution,
                  nonuniquemultidistribution;

  logger = gt_logger_new(arguments->verbose, GT_LOGGER_DEFLT_PREFIX, stdout);
  GT_INITARRAY(&uniquedistribution,uint64_t);
  GT_INITARRAY(&nonuniquedistribution,uint64_t);
  GT_INITARRAY(&nonuniquemultidistribution,uint64_t);
  if (gt_tyr_occratio_func(gt_str_get(arguments->str_inputindex),
                           arguments->scanfile,
                           arguments->minmersize,
                           arguments->maxmersize,
                           &uniquedistribution,
                           &nonuniquedistribution,
                           &nonuniquemultidistribution,
                           logger,
                           err) != 0)
  {
    haserr = true;
  }
  if (!haserr)
  {
    showoccratios(&uniquedistribution,
                  &nonuniquedistribution,
                  &nonuniquemultidistribution,
                  arguments->outputmode,
                  arguments->outputvector);
  }
  gt_logger_delete(logger);
  GT_FREEARRAY(&uniquedistribution,uint64_t);
  GT_FREEARRAY(&nonuniquedistribution,uint64_t);
  GT_FREEARRAY(&nonuniquemultidistribution,uint64_t);
  return haserr ? -1 : 0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x58, %rsp
movq %r8, %rbx
movq %rcx, %r15
movzbl 0x45(%rcx), %edi
movq 0x3e3c7a(%rip), %rax    # 0x437eb0
movq (%rax), %rdx
leaq 0x292694(%rip), %rsi    # 0x2e68d4
callq 0x92b50
movq %rax, %r14
xorps %xmm0, %xmm0
movq %rsp, %r12
andq $0x0, 0x10(%r12)
leaq 0x20(%rsp), %r13
andq $0x0, 0x10(%r13)
movaps %xmm0, (%r12)
movaps %xmm0, (%r13)
leaq 0x40(%rsp), %rbp
movaps %xmm0, (%rbp)
andq $0x0, 0x10(%rbp)
movq 0x10(%r15), %rdi
callq 0xad1fa
movzbl 0x44(%r15), %esi
movq 0x20(%r15), %rdx
movq 0x28(%r15), %rcx
subq $0x8, %rsp
movq %rax, %rdi
movq %r12, %r8
movq %r13, %r9
pushq %rbx
pushq %r14
pushq %rbp
callq 0x1b6974
addq $0x20, %rsp
movl %eax, %ebx
testl %eax, %eax
jne 0x543a9
movl 0x40(%r15), %ebp
movq 0x38(%r15), %r15
testb $0x1, %bpl
je 0x542f0
leaq 0x2a901b(%rip), %rdi    # 0x2fd2e0
callq 0x17b60
testb $0x8, %bpl
jne 0x542dd
movq %rsp, %rdi
movq %r15, %rsi
callq 0x5458f
jmp 0x542f0
pushq $0x1
popq %rdi
movq %rsp, %rsi
leaq 0x20(%rsp), %rdx
movq %r15, %rcx
callq 0x54431
testb $0x2, %bpl
je 0x5432a
leaq 0x2a9001(%rip), %rdi    # 0x2fd2fe
callq 0x17b60
testb $0x8, %bpl
jne 0x54317
leaq 0x20(%rsp), %rdi
movq %r15, %rsi
callq 0x5458f
jmp 0x5432a
pushq $0x2
popq %rdi
movq %rsp, %rsi
leaq 0x20(%rsp), %rdx
movq %r15, %rcx
callq 0x54431
testb $0x4, %bpl
je 0x54364
leaq 0x2a9012(%rip), %rdi    # 0x2fd349
callq 0x17b60
testb $0x8, %bpl
jne 0x54351
leaq 0x40(%rsp), %rdi
movq %r15, %rsi
callq 0x5458f
jmp 0x54364
pushq $0x2
popq %rdi
movq %rsp, %rsi
leaq 0x40(%rsp), %rdx
movq %r15, %rcx
callq 0x54431
testb $0x10, %bpl
je 0x543a9
leaq 0x2a9028(%rip), %rdi    # 0x2fd399
callq 0x17b60
movq %rsp, %r12
leaq 0x20(%rsp), %rdx
xorl %edi, %edi
movq %r12, %rsi
movq %r15, %rcx
callq 0x54431
leaq 0x2a904b(%rip), %rdi    # 0x2fd3dd
callq 0x17b60
leaq 0x40(%rsp), %rdx
xorl %edi, %edi
movq %r12, %rsi
movq %r15, %rcx
callq 0x54431
movq %r14, %rdi
callq 0x92fd0
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x543d8
leaq 0x2a8358(%rip), %rsi    # 0x2fc719
movl $0x308, %edx            # imm = 0x308
callq 0x936f9
xorps %xmm0, %xmm0
movaps %xmm0, (%rsp)
andq $0x0, 0x10(%rsp)
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x54401
leaq 0x2a8330(%rip), %rsi    # 0x2fc719
movl $0x309, %edx            # imm = 0x309
callq 0x936f9
xorps %xmm0, %xmm0
movaps %xmm0, 0x20(%rsp)
andq $0x0, 0x30(%rsp)
movq 0x40(%rsp), %rdi
testq %rdi, %rdi
je 0x5441c
leaq 0x2a8307(%rip), %rsi    # 0x2fc719
movl $0x30a, %edx            # imm = 0x30A
callq 0x936f9
xorl %eax, %eax
negl %ebx
sbbl %eax, %eax
addq $0x58, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq