// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/tools/gt_tir.c
// Function: gt_tir_arguments_check
static int gt_tir_arguments_check(GT_UNUSED int rest_argc,
                                       void *tool_arguments,
                                       GT_UNUSED GtError *err)
{
  GtTirArguments *arguments = tool_arguments;
  int had_err = 0;
  gt_error_check(err);
  gt_assert(arguments);

  if (!had_err) {
    if (gt_option_is_set(arguments->optionoverlaps)) {
      if (strcmp(gt_str_get(arguments->str_overlaps), "no") == 0) {
        arguments->best_overlaps = false;
        arguments->no_overlaps = true;
        arguments->longest_overlaps = false;
      } else if (strcmp(gt_str_get(arguments->str_overlaps), "best") == 0 ) {
        arguments->best_overlaps = true;
        arguments->no_overlaps = false;
        arguments->longest_overlaps = false;
      } else if (strcmp(gt_str_get(arguments->str_overlaps), "longest") == 0 ) {
        arguments->best_overlaps = false;
        arguments->no_overlaps = false;
        arguments->longest_overlaps = true;
      } else if (strcmp(gt_str_get(arguments->str_overlaps), "all") == 0 ) {
        arguments->best_overlaps = false;
        arguments->no_overlaps = false;
        arguments->longest_overlaps = false;
      } else {
        gt_assert(0); /* cannot happen */
      }
    } else {
      /* default is "best" */
      arguments->longest_overlaps = false;
      arguments->best_overlaps = true;  /* take best prediction
                                           if overlap occurs, default */
      arguments->no_overlaps = false; /* overlapping predictions (not)
                                         allowed*/
    }
  }

  return had_err;
}

// Assembly:
pushq %rbx
movq %rsi, %rbx
testq %rdx, %rdx
je 0x5512b
movq %rdx, %rdi
callq 0x89eb7
testb %al, %al
jne 0x55238
testq %rbx, %rbx
je 0x5520a
movq 0x98(%rbx), %rdi
callq 0x9b4cb
testb %al, %al
je 0x551c8
movq 0x10(%rbx), %rdi
callq 0xad1fa
cmpb $0x6e, (%rax)
jne 0x55166
cmpb $0x6f, 0x1(%rax)
jne 0x55166
cmpb $0x0, 0x2(%rax)
je 0x551f6
movq 0x10(%rbx), %rdi
callq 0xad1fa
leaq 0x30a622(%rip), %rsi    # 0x35f798
movq %rax, %rdi
callq 0x179e0
testl %eax, %eax
je 0x551da
movq 0x10(%rbx), %rdi
callq 0xad1fa
leaq 0x29c1c6(%rip), %rsi    # 0x2f1358
movq %rax, %rdi
callq 0x179e0
testl %eax, %eax
je 0x551e5
movq 0x10(%rbx), %rdi
callq 0xad1fa
leaq 0x30a5d8(%rip), %rsi    # 0x35f786
movq %rax, %rdi
callq 0x179e0
testl %eax, %eax
jne 0x55266
andw $0x0, 0x88(%rbx)
jmp 0x551ff
movb $0x0, 0x8a(%rbx)
movw $0x1, 0x88(%rbx)
jmp 0x55206
movw $0x1, 0x88(%rbx)
jmp 0x551ff
andw $0x0, 0x88(%rbx)
movb $0x1, 0x8a(%rbx)
jmp 0x55206
movw $0x100, 0x88(%rbx)      # imm = 0x100
movb $0x0, 0x8a(%rbx)
xorl %eax, %eax
popq %rbx
retq
movq 0x3e2d57(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x28fdf8(%rip), %rsi    # 0x2e5013
leaq 0x2f3431(%rip), %rdx    # 0x348653
leaq 0x2a893a(%rip), %rcx    # 0x2fdb63
leaq 0x2a82e8(%rip), %r8     # 0x2fd518
movl $0x148, %r9d            # imm = 0x148
jmp 0x55292
movq 0x3e2d29(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x28fdca(%rip), %rsi    # 0x2e5013
leaq 0x28ff6f(%rip), %rdx    # 0x2e51bf
leaq 0x2a890c(%rip), %rcx    # 0x2fdb63
leaq 0x2a82ba(%rip), %r8     # 0x2fd518
movl $0x147, %r9d            # imm = 0x147
jmp 0x55292
movq 0x3e2cfb(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x28fd9c(%rip), %rsi    # 0x2e5013
leaq 0x2b9a77(%rip), %rdx    # 0x30ecf5
leaq 0x2a88de(%rip), %rcx    # 0x2fdb63
leaq 0x2a828c(%rip), %r8     # 0x2fd518
movl $0x15d, %r9d            # imm = 0x15D
xorl %eax, %eax
callq 0x17a50
callq 0x17390