// File: /workspace/github_c_makefile_star2_O1/genometools[P]genometools/src/tools/gt_seqfilter.c
// Function: gt_seqfilter_option_parser_new
static GtOptionParser* gt_seqfilter_option_parser_new(void *tool_arguments)
{
  SeqFilterArguments *arguments = tool_arguments;
  GtOption *option;
  GtOptionParser *op;
  gt_assert(arguments);

  op = gt_option_parser_new("[option ...] [sequence_file ...]",
                            "Filter the given sequence file(s) and show the "
                            "results on stdout.");

  /* -minlength */
  option = gt_option_new_uword("minlength",
                               "set minimum length a sequence must "
                               "have to pass the filter", &arguments->minlength,
                               GT_UNDEF_UWORD);
  gt_option_parser_add_option(op, option);

  /* -maxlength */
  option = gt_option_new_uword("maxlength", "set maximum length a sequence can "
                               "have to pass the filter", &arguments->maxlength,
                               GT_UNDEF_UWORD);
  gt_option_parser_add_option(op, option);

  /* -maxseqnum */
  option = gt_option_new_uword("maxseqnum", "set the maximum number of "
                               "sequences which can pass the filter",
                               &arguments->maxseqnum, GT_UNDEF_UWORD);
  gt_option_parser_add_option(op, option);

  /* -sample */
  option = gt_option_new_double_min_max("sample", "set a probability for each "
                                        "sequence to pass the filter",
                                        &arguments->sample_prob,
                                        SEQFILTER_DEF_PROB,
                                        SEQFILTER_MIN_PROB,
                                        SEQFILTER_MAX_PROB);
  gt_option_parser_add_option(op, option);

  /* -step */
  option = gt_option_new_uword_min("step", "only every 'step'-th sequence "
                                   "passes the filter",
                                   &arguments->step,
                                   SEQFILTER_DEF_STEP,
                                   SEQFILTER_MIN_STEP);
  gt_option_parser_add_option(op, option);

  /* -nowildcards */
  option = gt_option_new_bool("nowildcards", "filter out seqences containing "
                              "wildcards",
                              &arguments->nowildcards, false);
  gt_option_parser_add_option(op, option);

  /* -width */
  option = gt_option_new_width(&arguments->width);
  gt_option_parser_add_option(op, option);

  gt_output_file_info_register_options(arguments->ofi, op, &arguments->outfp);

  return op;
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
testq %rdi, %rdi
je 0xc5210
movq %rdi, %rbx
leaq 0x29c551(%rip), %rdi    # 0x361628
leaq 0x29c56b(%rip), %rsi    # 0x361649
callq 0x10cc4e
movq %rax, %r14
leaq 0x20(%rbx), %rdx
leaq 0x2e8e3d(%rip), %rdi    # 0x3adf2e
leaq 0x29c593(%rip), %rsi    # 0x36168b
movq $-0x1, %rcx
callq 0x10f4c7
movq %r14, %rdi
movq %rax, %rsi
callq 0x10cd10
leaq 0x10(%rbx), %rdx
leaq 0x2d749b(%rip), %rdi    # 0x39c5b5
leaq 0x29c5a5(%rip), %rsi    # 0x3616c6
movq $-0x1, %rcx
callq 0x10f4c7
movq %r14, %rdi
movq %rax, %rsi
callq 0x10cd10
leaq 0x18(%rbx), %rdx
leaq 0x29c5bd(%rip), %rdi    # 0x361700
leaq 0x29c5c0(%rip), %rsi    # 0x36170a
movq $-0x1, %rcx
callq 0x10f4c7
movq %r14, %rdi
movq %rax, %rsi
callq 0x10cd10
leaq 0x38(%rbx), %rdx
leaq 0x2faf17(%rip), %rdi    # 0x3c0083
leaq 0x29c5d5(%rip), %rsi    # 0x361748
movsd 0x28a0ad(%rip), %xmm0   # 0x34f228
xorps %xmm1, %xmm1
movaps %xmm0, %xmm2
callq 0x10f5d1
movq %r14, %rdi
movq %rax, %rsi
callq 0x10cd10
leaq 0x28(%rbx), %rdx
leaq 0x3050d9(%rip), %rdi    # 0x3ca275
leaq 0x29c5dc(%rip), %rsi    # 0x36177f
movl $0x1, %ecx
movl $0x1, %r8d
callq 0x10f7ed
movq %r14, %rdi
movq %rax, %rsi
callq 0x10cd10
leaq 0x40(%rbx), %rdx
leaq 0x328b49(%rip), %rdi    # 0x3edd12
leaq 0x29c5df(%rip), %rsi    # 0x3617af
xorl %ecx, %ecx
callq 0x10f451
movq %r14, %rdi
movq %rax, %rsi
callq 0x10cd10
leaq 0x30(%rbx), %rdi
callq 0x10f49c
movq %r14, %rdi
movq %rax, %rsi
callq 0x10cd10
movq 0x8(%rbx), %rdi
movq %r14, %rsi
movq %rbx, %rdx
callq 0x10ffa3
movq %r14, %rax
addq $0x8, %rsp
popq %rbx
popq %r14
retq
callq 0x1f19a