// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/tools/gt_eval.c
// Function: gt_eval_option_parser_new
static GtOptionParser* gt_eval_option_parser_new(void *tool_arguments)
{
  EvalArguments *arguments = tool_arguments;
  GtOptionParser *op;
  GtOption *option, *ltroption, *ltrdeltaoption;
  gt_assert(arguments);

  op = gt_option_parser_new("reference_file prediction_file ",
                            "Compare annotation files and show "
                            "accuracy measures (prediction vs. reference).");

  /* -exondiff */
  option = gt_option_new_bool("exondiff", "show a diff for the exons",
                              &arguments->exondiff, false);
  gt_option_is_development_option(option);
  gt_option_parser_add_option(op, option);

  /* -exondiffcollapsed */
  option = gt_option_new_bool("exondiffcollapsed", "show a diff for the "
                              "collapsed exons", &arguments->exondiffcollapsed,
                              false);
  gt_option_is_development_option(option);
  gt_option_parser_add_option(op, option);

  /* -nuc */
  option = gt_option_new_bool("nuc",
                              "evaluate nucleotide level (memory consumption "
                              "is proportional to the input file sizes)",
                              &arguments->nuceval, true);
  gt_option_parser_add_option(op, option);

  /* -ltr */
  ltroption = gt_option_new_bool("ltr", "evaluate a LTR retrotransposon "
                                 "prediction instead of a gene prediction\n"
                                 "(all LTR_retrotransposon elements are "
                                 "considered to have an undetermined strand)",
                                 &arguments->evalLTR, false);
  gt_option_parser_add_option(op, ltroption);

  /* -ltrdelta */
  ltrdeltaoption = gt_option_new_uword("ltrdelta", "set allowed delta for LTR "
                                       "borders to be considered equal",
                                       &arguments->LTRdelta, 20);
  gt_option_parser_add_option(op, ltrdeltaoption);

  /* -v */
  option = gt_option_new_verbose(&arguments->verbose);
  gt_option_parser_add_option(op, option);

  /* output file options */
  gt_output_file_info_register_options(arguments->ofi, op, &arguments->outfp);

  /* option implications */
  gt_option_imply(ltrdeltaoption, ltroption);

  /* set comment function */
  gt_option_parser_set_comment_func(op, gt_gtdata_show_help, NULL);

  /* set minimum and maximum number of arguments */
  gt_option_parser_set_min_max_args(op, 2, 2);

  return op;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
testq %rdi, %rdi
je 0x288f1
movq %rdi, %r14
leaq 0x2c38c8(%rip), %rdi    # 0x2ec07a
leaq 0x2c38e1(%rip), %rsi    # 0x2ec09a
callq 0x97df5
movq %rax, %rbx
leaq 0x1(%r14), %rdx
leaq 0x2c391e(%rip), %rdi    # 0x2ec0ea
leaq 0x2c3920(%rip), %rsi    # 0x2ec0f3
xorl %ecx, %ecx
callq 0x9a997
movq %rax, %r15
movq %rax, %rdi
callq 0x9b10a
movq %rbx, %rdi
movq %r15, %rsi
callq 0x97f31
leaq 0x2(%r14), %rdx
leaq 0x2c3912(%rip), %rdi    # 0x2ec10d
leaq 0x2c391d(%rip), %rsi    # 0x2ec11f
xorl %ecx, %ecx
callq 0x9a997
movq %rax, %r15
movq %rax, %rdi
callq 0x9b10a
movq %rbx, %rdi
movq %r15, %rsi
callq 0x97f31
leaq 0x3(%r14), %rdx
leaq 0x2c3919(%rip), %rdi    # 0x2ec143
leaq 0x2c3916(%rip), %rsi    # 0x2ec147
pushq $0x1
popq %rcx
callq 0x9a997
movq %rbx, %rdi
movq %rax, %rsi
callq 0x97f31
leaq 0x4(%r14), %rdx
leaq 0x33725a(%rip), %rdi    # 0x35faa9
leaq 0x2c3948(%rip), %rsi    # 0x2ec19e
xorl %ecx, %ecx
callq 0x9a997
movq %rax, %r15
movq %rbx, %rdi
movq %rax, %rsi
callq 0x97f31
leaq 0x8(%r14), %rdx
leaq 0x2c39c0(%rip), %rdi    # 0x2ec236
leaq 0x2c39c2(%rip), %rsi    # 0x2ec23f
pushq $0x14
popq %rcx
callq 0x9a9e6
movq %rax, %r12
movq %rbx, %rdi
movq %rax, %rsi
callq 0x97f31
movq %r14, %rdi
callq 0x9a9b6
movq %rbx, %rdi
movq %rax, %rsi
callq 0x97f31
movq 0x10(%r14), %rdi
addq $0x18, %r14
movq %rbx, %rsi
movq %r14, %rdx
callq 0x9b6d7
movq %r12, %rdi
movq %r15, %rsi
callq 0x9b14d
leaq 0xbec21(%rip), %rsi     # 0xe74ec
movq %rbx, %rdi
xorl %edx, %edx
callq 0x98045
pushq $0x2
popq %rdx
movq %rbx, %rdi
movl %edx, %esi
callq 0x98c6b
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
movq 0x40f670(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x2bc711(%rip), %rsi    # 0x2e5013
leaq 0x31fd4a(%rip), %rdx    # 0x348653
leaq 0x2c3750(%rip), %rcx    # 0x2ec060
leaq 0x2c3735(%rip), %r8     # 0x2ec04c
pushq $0x3c
popq %r9
xorl %eax, %eax
callq 0x17a50
callq 0x17390
nop