// File: /workspace/github_c_makefile_star2_O3/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 0xbb6d7
movq %rdi, %r14
leaq 0x2997c2(%rip), %rdi    # 0x354d66
leaq 0x2997d3(%rip), %rsi    # 0x354d7e
callq 0x107bfe
movq %rax, %rbx
leaq 0x2d4278(%rip), %rdi    # 0x38f832
leaq 0x28bb29(%rip), %rsi    # 0x3470ea
movq %r14, %rdx
xorl %ecx, %ecx
callq 0x10a235
movq %rbx, %rdi
movq %rax, %rsi
callq 0x107cc0
leaq 0x1(%r14), %rdx
leaq 0x2997e0(%rip), %rdi    # 0x354dc1
leaq 0x28eb05(%rip), %rsi    # 0x34a0ed
xorl %ecx, %ecx
callq 0x10a235
movq %rax, %r15
movq %rbx, %rdi
movq %rax, %rsi
callq 0x107cc0
leaq 0x2(%r14), %rdx
leaq 0x2be508(%rip), %rdi    # 0x379b10
leaq 0x2997ba(%rip), %rsi    # 0x354dc9
xorl %ecx, %ecx
callq 0x10a235
movq %rax, %r12
movq %rax, %rdi
movq %r15, %rsi
callq 0x10ab96
movq %rbx, %rdi
movq %r12, %rsi
callq 0x107cc0
leaq 0x10(%r14), %rdx
leaq 0x28eac2(%rip), %rdi    # 0x34a0fc
leaq 0x2997a5(%rip), %rsi    # 0x354de6
movl $0x3c, %ecx
callq 0x10a2ab
movq %rax, %r15
movq %rax, %rdi
movq %r12, %rsi
callq 0x10a9e4
movq %rbx, %rdi
movq %r15, %rsi
callq 0x107cc0
movq 0x8(%r14), %rdx
movq 0x3fe2c1(%rip), %rcx    # 0x4b9930
leaq 0x3fe2ba(%rip), %r8     # 0x4b9930
leaq 0x2a0537(%rip), %rdi    # 0x35bbb4
leaq 0x29978b(%rip), %rsi    # 0x354e0f
callq 0x10a7ed
movq %rbx, %rdi
movq %rax, %rsi
callq 0x107cc0
addq $0x3, %r14
leaq 0x29979f(%rip), %rdi    # 0x354e3e
leaq 0x2997a3(%rip), %rsi    # 0x354e49
movq %r14, %rdx
xorl %ecx, %ecx
callq 0x10a235
movq %rbx, %rdi
movq %rax, %rsi
callq 0x107cc0
movq %rbx, %rdi
movl $0x1, %esi
callq 0x10872d
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
callq 0x1dea4