// File: /workspace/github_c_makefile_star2_O3/genometools[P]genometools/src/tools/gt_compreads_decompress.c
// Function: gt_compreads_decompress_option_parser_new
static GtOptionParser*
gt_compreads_decompress_option_parser_new(void *tool_arguments)
{
  GtCsrHcrDecodeArguments *arguments = tool_arguments;
  GtOptionParser *op;
  GtOption *option;
  gt_assert(arguments);

  /* init */
  op = gt_option_parser_new("[option ...] (-file file)",
                         "Decodes a file of compressed reads.");

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

  option = gt_option_new_bool("descs","enable description decoding",
                              &arguments->descs, false);
  gt_option_parser_add_option(op, option);

  option = gt_option_new_string("file", "specify base name of files containing"
                                " HCR.",
                                arguments->file, NULL);
  gt_option_is_mandatory(option);
  gt_option_parser_add_option(op, option);

  option = gt_option_new_string("name", "specify base name for decoded hcr"
                                " (suffix will be \".fastq\")",
                                arguments->name, NULL);
  gt_option_parser_add_option(op, option);

  option = gt_option_new_string("smap", "specify file containing alphabet"
                                "description (file must be an .al1 file)."
                                " If \"-smap\" is not set, dna alphabet is"
                                " used.",
                                arguments->smap, NULL);
  gt_option_parser_add_option(op, option);

  option = gt_option_new_range("range", "decode multiple consecutive reads."
                               " If range is not specified, the "
                               " entire file will be decoded.",
                               &arguments->rng, NULL);
  gt_option_parser_add_option(op, option);

  option = gt_option_new_uword("benchmark", "decode given number random reads "
                               "and report the time to do this",
                               &arguments->bench, 0);
  gt_option_is_development_option(option);
  gt_option_parser_add_option(op, option);

  option = gt_option_new_uword("width",
                               "set width of output, 0 disables formatting. "
                               "line breaks in quality strings can cause "
                               "problems with parsers, use with care",
                               &arguments->width, 0);
  gt_option_parser_add_option(op, option);

  gt_option_parser_set_min_max_args(op, 0U, 0U);
  return op;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
testq %rdi, %rdi
je 0x9b729
movq %rdi, %r14
leaq 0x2abadf(%rip), %rdi    # 0x3470ac
leaq 0x2abaf2(%rip), %rsi    # 0x3470c6
callq 0x107bfe
movq %rax, %rbx
leaq 0x1(%r14), %rdx
leaq 0x2f424b(%rip), %rdi    # 0x38f832
leaq 0x2abafc(%rip), %rsi    # 0x3470ea
xorl %ecx, %ecx
callq 0x10a235
movq %rbx, %rdi
movq %rax, %rsi
callq 0x107cc0
leaq 0x31725b(%rip), %rdi    # 0x3b2862
leaq 0x2abae7(%rip), %rsi    # 0x3470f5
movq %r14, %rdx
xorl %ecx, %ecx
callq 0x10a235
movq %rbx, %rdi
movq %rax, %rsi
callq 0x107cc0
movq 0x18(%r14), %rdx
leaq 0x2ae27e(%rip), %rdi    # 0x3498ac
leaq 0x2abadc(%rip), %rsi    # 0x347111
xorl %ecx, %ecx
callq 0x10a770
movq %rax, %r15
movq %rax, %rdi
callq 0x10a87b
movq %rbx, %rdi
movq %r15, %rsi
callq 0x107cc0
movq 0x30(%r14), %rdx
leaq 0x2e7102(%rip), %rdi    # 0x38275f
leaq 0x2abad8(%rip), %rsi    # 0x34713c
xorl %ecx, %ecx
callq 0x10a770
movq %rbx, %rdi
movq %rax, %rsi
callq 0x107cc0
movq 0x20(%r14), %rdx
leaq 0x2ca134(%rip), %rdi    # 0x3657b5
leaq 0x2abaf0(%rip), %rsi    # 0x347178
xorl %ecx, %ecx
callq 0x10a770
movq %rbx, %rdi
movq %rax, %rsi
callq 0x107cc0
leaq 0x38(%r14), %rdx
leaq 0x2e1da7(%rip), %rdi    # 0x37d44c
leaq 0x2abb42(%rip), %rsi    # 0x3471ee
xorl %ecx, %ecx
callq 0x10a6f7
movq %rbx, %rdi
movq %rax, %rsi
callq 0x107cc0
leaq 0x8(%r14), %rdx
leaq 0x2ac401(%rip), %rdi    # 0x347aca
leaq 0x2abb7e(%rip), %rsi    # 0x34724e
xorl %ecx, %ecx
callq 0x10a2ab
movq %rax, %r15
movq %rax, %rdi
callq 0x10a9d4
movq %rbx, %rdi
movq %r15, %rsi
callq 0x107cc0
addq $0x10, %r14
leaq 0x31bbee(%rip), %rdi    # 0x3b72e6
leaq 0x2abb8f(%rip), %rsi    # 0x34728e
movq %r14, %rdx
xorl %ecx, %ecx
callq 0x10a2ab
movq %rbx, %rdi
movq %rax, %rsi
callq 0x107cc0
movq %rbx, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x10874b
movq %rbx, %rax
popq %rbx
popq %r14
popq %r15
retq
callq 0x1899b