// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_stat.c
// Function: gt_stat_option_parser_new
static GtOptionParser* gt_stat_option_parser_new(void *tool_arguments)
{
  StatArguments *arguments = tool_arguments;
  GtOptionParser *op;
  GtOption *option;

  op = gt_option_parser_new("[option ...] [GFF3_file ...]",
                            "Show statistics about features contained in GFF3 "
                            "files.");

  /* -genelengthdistri */
  option = gt_option_new_bool("genelengthdistri",
                              "show gene length distribution",
                              &arguments->gene_length_distribution, false);
  gt_option_parser_add_option(op, option);

  /* -genescoresdistri */
  option = gt_option_new_bool("genescoredistri", "show gene score distribution",
                              &arguments->gene_score_distribution, false);
  gt_option_parser_add_option(op, option);

  /* -exonlengthdistri */
  option = gt_option_new_bool("exonlengthdistri",
                              "show exon length distribution",
                              &arguments->exon_length_distribution, false);
  gt_option_parser_add_option(op, option);

  /* -exonnumberdistri */
  option = gt_option_new_bool("exonnumberdistri",
                              "show exon number distribution",
                              &arguments->exon_number_distribution, false);
  gt_option_parser_add_option(op, option);

  /* -intronlengthdistri */
  option = gt_option_new_bool("intronlengthdistri",
                              "show intron length distribution",
                              &arguments->intron_length_distribution, false);
  gt_option_parser_add_option(op, option);

  /* -cdslengthdistri */
  option = gt_option_new_bool("cdslengthdistri", "show CDS length distribution "
                              "(measured in amino acids)",
                              &arguments->cds_length_distribution, false);
  gt_option_parser_add_option(op, option);

  /* -source */
  option = gt_option_new_bool("source", "show the set of used source tags "
                              "(column 2 in regular GFF3 lines)",
                              &arguments->used_sources, false);
  gt_option_parser_add_option(op, option);

  /* -addintrons */
  option = gt_option_new_bool("addintrons", "add intron features between "
                              "existing exon features (before computing stats)",
                              &arguments->addintrons, false);
  gt_option_parser_add_option(op, option);

  /* -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);

  return op;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq 0x20(%rsp), %rax
movq %rax, 0x18(%rsp)
leaq 0x4a3588(%rip), %rdi    # 0x51b542
leaq 0x4b50f2(%rip), %rsi    # 0x52d0b3
callq 0xf1420
movq %rax, 0x10(%rsp)
movq 0x18(%rsp), %rdx
leaq 0x4b5114(%rip), %rdi    # 0x52d0eb
leaq 0x4b511e(%rip), %rsi    # 0x52d0fc
xorl %ecx, %ecx
callq 0xf5f20
movq %rax, 0x8(%rsp)
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rsi
callq 0xf1600
movq 0x18(%rsp), %rdx
addq $0x1, %rdx
leaq 0x4b5111(%rip), %rdi    # 0x52d11a
leaq 0x4b511a(%rip), %rsi    # 0x52d12a
xorl %ecx, %ecx
callq 0xf5f20
movq %rax, 0x8(%rsp)
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rsi
callq 0xf1600
movq 0x18(%rsp), %rdx
addq $0x3, %rdx
leaq 0x4b510c(%rip), %rdi    # 0x52d147
leaq 0x4b5116(%rip), %rsi    # 0x52d158
xorl %ecx, %ecx
callq 0xf5f20
movq %rax, 0x8(%rsp)
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rsi
callq 0xf1600
movq 0x18(%rsp), %rdx
addq $0x2, %rdx
leaq 0x4b5109(%rip), %rdi    # 0x52d176
leaq 0x4b5113(%rip), %rsi    # 0x52d187
xorl %ecx, %ecx
callq 0xf5f20
movq %rax, 0x8(%rsp)
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rsi
callq 0xf1600
movq 0x18(%rsp), %rdx
addq $0x4, %rdx
leaq 0x4b5106(%rip), %rdi    # 0x52d1a5
leaq 0x4b5112(%rip), %rsi    # 0x52d1b8
xorl %ecx, %ecx
callq 0xf5f20
movq %rax, 0x8(%rsp)
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rsi
callq 0xf1600
movq 0x18(%rsp), %rdx
addq $0x5, %rdx
leaq 0x4b5107(%rip), %rdi    # 0x52d1d8
leaq 0x4b5110(%rip), %rsi    # 0x52d1e8
xorl %ecx, %ecx
callq 0xf5f20
movq %rax, 0x8(%rsp)
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rsi
callq 0xf1600
movq 0x18(%rsp), %rdx
addq $0x6, %rdx
leaq 0x4d7f93(%rip), %rdi    # 0x550096
leaq 0x4b5115(%rip), %rsi    # 0x52d21f
xorl %ecx, %ecx
callq 0xf5f20
movq %rax, 0x8(%rsp)
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rsi
callq 0xf1600
movq 0x18(%rsp), %rdx
addq $0x7, %rdx
leaq 0x4a6dfc(%rip), %rdi    # 0x51ef31
leaq 0x4b5125(%rip), %rsi    # 0x52d261
xorl %ecx, %ecx
callq 0xf5f20
movq %rax, 0x8(%rsp)
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rsi
callq 0xf1600
movq 0x18(%rsp), %rdi
addq $0x8, %rdi
callq 0xf5f90
movq %rax, 0x8(%rsp)
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rsi
callq 0xf1600
movq 0x18(%rsp), %rax
movq 0x10(%rax), %rdi
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
addq $0x18, %rdx
callq 0xf7d50
movq 0x10(%rsp), %rax
addq $0x28, %rsp
retq
nop