// File: /workspace/github_c_makefile_star2_O1/genometools[P]genometools/src/tools/gt_readreads.c
// Function: gt_readreads_option_parser_new
static GtOptionParser* gt_readreads_option_parser_new(void *tool_arguments)
{
  GtReadreads *opts = tool_arguments;
  GtOptionParser *op;
  GtOption *option, *fasta;
  static const char *qualformats[] = {
    "phred",
    "solexa",
    NULL
  };
  gt_assert(opts);

  /* init */
  op = gt_option_parser_new("[option ...] file [...]",
                            "Read in FASTQ reads with PHRED or Solexa "
                            "qualities and print them.");

  option = gt_option_new_bool("v","be verbose",
                              &opts->verbose, false);
  gt_option_parser_add_option(op, option);

  option = gt_option_new_bool("showseq","show sequences",
                              &opts->showseq, false);
  gt_option_parser_add_option(op, option);

  fasta = gt_option_new_bool("fasta","output reads in fasta format",
                              &opts->fasta, false);
  gt_option_exclude(fasta, option);
  gt_option_parser_add_option(op, fasta);

  option = gt_option_new_uword("fastawidth",
                               "fasta output line width, 0 for unlimited",
                               &opts->fastawidth, 60UL);
  gt_option_imply(option, fasta);
  gt_option_parser_add_option(op, option);

  option = gt_option_new_choice("format", "quality score scale\n"
                                          "can be 'phred' or 'solexa'",
                                opts->qualformat,
                                qualformats[0],
                                qualformats);
  gt_option_parser_add_option(op, option);

  option = gt_option_new_bool("colorspace", "reads are color space coded",
                              &opts->colorspace,
                              false);
  gt_option_parser_add_option(op, option);

  gt_option_parser_set_min_args(op, 1U);
  return op;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
testq %rdi, %rdi
je 0xbd757
movq %rdi, %r14
leaq 0x2a077a(%rip), %rdi    # 0x35dd9e
leaq 0x2a078b(%rip), %rsi    # 0x35ddb6
callq 0x10cc4e
movq %rax, %rbx
leaq 0x2db620(%rip), %rdi    # 0x398c5a
leaq 0x292aa9(%rip), %rsi    # 0x3500ea
movq %r14, %rdx
xorl %ecx, %ecx
callq 0x10f451
movq %rbx, %rdi
movq %rax, %rsi
callq 0x10cd10
leaq 0x1(%r14), %rdx
leaq 0x2a0798(%rip), %rdi    # 0x35ddf9
leaq 0x295a95(%rip), %rsi    # 0x3530fd
xorl %ecx, %ecx
callq 0x10f451
movq %rax, %r15
movq %rbx, %rdi
movq %rax, %rsi
callq 0x10cd10
leaq 0x2(%r14), %rdx
leaq 0x2c57a6(%rip), %rdi    # 0x382e2e
leaq 0x2a0772(%rip), %rsi    # 0x35de01
xorl %ecx, %ecx
callq 0x10f451
movq %rax, %r12
movq %rax, %rdi
movq %r15, %rsi
callq 0x10fd9f
movq %rbx, %rdi
movq %r12, %rsi
callq 0x10cd10
leaq 0x10(%r14), %rdx
leaq 0x295a52(%rip), %rdi    # 0x35310c
leaq 0x2a075d(%rip), %rsi    # 0x35de1e
movl $0x3c, %ecx
callq 0x10f4c7
movq %rax, %r15
movq %rax, %rdi
movq %r12, %rsi
callq 0x10fbff
movq %rbx, %rdi
movq %r15, %rsi
callq 0x10cd10
movq 0x8(%r14), %rdx
movq 0x407241(%rip), %rcx    # 0x4c4930
leaq 0x40723a(%rip), %r8     # 0x4c4930
leaq 0x2a7557(%rip), %rdi    # 0x364c54
leaq 0x2a0743(%rip), %rsi    # 0x35de47
callq 0x10fa04
movq %rbx, %rdi
movq %rax, %rsi
callq 0x10cd10
addq $0x3, %r14
leaq 0x2a0757(%rip), %rdi    # 0x35de76
leaq 0x2a075b(%rip), %rsi    # 0x35de81
movq %r14, %rdx
xorl %ecx, %ecx
callq 0x10f451
movq %rbx, %rdi
movq %rax, %rsi
callq 0x10cd10
movq %rbx, %rdi
movl $0x1, %esi
callq 0x10d766
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
callq 0x1e1f5