// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/match/index_options.c
// Function: gt_index_options_check_set_create_opts
static int gt_index_options_check_set_create_opts(void *oip, GtError *err)
{
  int had_err = 0;
  GtIndexOptions *oi = (GtIndexOptions*) oip;
  gt_assert(oi != NULL && oi->type != GT_INDEX_OPTIONS_UNDEFINED);
  gt_error_check(err);
  /* readmode needs to be initialized to fwd */
  oi->readmode = (GtReadmode) 0;
  if (!had_err)
  {
    if (gt_option_is_set(oi->optionalgbounds))
    {
      if (gt_parse_algbounds(&oi->sfxstrategy,oi->algbounds,err) != 0)
      {
        had_err = -1;
      }
    } else
    {
      oi->sfxstrategy.maxinsertionsort = MAXINSERTIONSORTDEFAULT;
      oi->sfxstrategy.maxbltriesort = MAXBLTRIESORTDEFAULT;
      oi->sfxstrategy.maxcountingsort = MAXCOUNTINGSORTDEFAULT;
    }
  }
  if (!had_err && oi->sfxstrategy.kmerswithencseqreader &&
      oi->sfxstrategy.spmopt_minlength > 0)
  {
    gt_error_set(err,"options -spmopt  and -kmerswithencseqreader are "
                     "not compatible");
    had_err = -1;
  }
  if (!had_err
        && oi->optionmemlimit != NULL
        && gt_option_is_set(oi->optionmemlimit))
  {
    had_err = gt_option_parse_spacespec(&oi->maximumspace,"memlimit",
                                        oi->memlimit,err);
  }
  if (!had_err)
  {
    if (oi->sfxstrategy.maxinsertionsort > oi->sfxstrategy.maxbltriesort)
    {
      gt_error_set(err,"first argument of option -algbds must not be larger "
                       "than second argument");
      had_err = -1;
    } else
    {
      if (oi->sfxstrategy.maxbltriesort > oi->sfxstrategy.maxcountingsort)
      {
        gt_error_set(err,"second argument of option -algbds must not be larger "
                         "than third argument");
        had_err = -1;
      }
    }
  }
  return had_err;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
movl $0x0, 0x14(%rsp)
movq 0x20(%rsp), %rax
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
je 0x25d226
movq 0x8(%rsp), %rax
cmpl $0x0, 0x88(%rax)
jne 0x25d25e
movq 0x3ded73(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x2b8ddc(%rip), %rsi    # 0x516013
leaq 0x31e18b(%rip), %rdx    # 0x57b3c9
leaq 0x31e1b9(%rip), %rcx    # 0x57b3fe
leaq 0x31da04(%rip), %r8     # 0x57ac50
movl $0xb1, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x25d260
jmp 0x25d262
cmpq $0x0, 0x18(%rsp)
je 0x25d2b2
movq 0x18(%rsp), %rdi
callq 0xd8a60
testb $0x1, %al
jne 0x25d27a
jmp 0x25d2b2
movq 0x3ded1f(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x2b8d88(%rip), %rsi    # 0x516013
leaq 0x2b8f2d(%rip), %rdx    # 0x5161bf
leaq 0x31e165(%rip), %rcx    # 0x57b3fe
leaq 0x31d9b0(%rip), %r8     # 0x57ac50
movl $0xb2, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x25d2b4
movq 0x8(%rsp), %rax
movl $0x0, 0x18(%rax)
cmpl $0x0, 0x14(%rsp)
jne 0x25d332
movq 0x8(%rsp), %rax
movq 0xe8(%rax), %rdi
callq 0xf74a0
testb $0x1, %al
jne 0x25d2de
jmp 0x25d309
movq 0x8(%rsp), %rdi
addq $0x48, %rdi
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rsi
movq 0x18(%rsp), %rdx
callq 0x25b910
cmpl $0x0, %eax
je 0x25d307
movl $0xffffffff, 0x14(%rsp) # imm = 0xFFFFFFFF
jmp 0x25d330
movq 0x8(%rsp), %rax
movq $0x3, 0x50(%rax)
movq 0x8(%rsp), %rax
movq $0x3e8, 0x58(%rax)      # imm = 0x3E8
movq 0x8(%rsp), %rax
movq $0xfa0, 0x60(%rax)      # imm = 0xFA0
jmp 0x25d332
cmpl $0x0, 0x14(%rsp)
jne 0x25d36a
movq 0x8(%rsp), %rax
testb $0x1, 0x79(%rax)
je 0x25d36a
movq 0x8(%rsp), %rax
cmpl $0x0, 0x70(%rax)
jbe 0x25d36a
movq 0x18(%rsp), %rdi
leaq 0x31e0ca(%rip), %rsi    # 0x57b425
movb $0x0, %al
callq 0xd88c0
movl $0xffffffff, 0x14(%rsp) # imm = 0xFFFFFFFF
cmpl $0x0, 0x14(%rsp)
jne 0x25d3be
movq 0x8(%rsp), %rax
cmpq $0x0, 0xf8(%rax)
je 0x25d3be
movq 0x8(%rsp), %rax
movq 0xf8(%rax), %rdi
callq 0xf74a0
testb $0x1, %al
jne 0x25d397
jmp 0x25d3be
movq 0x8(%rsp), %rdi
addq $0x8, %rdi
movq 0x8(%rsp), %rax
movq 0x40(%rax), %rdx
movq 0x18(%rsp), %rcx
leaq 0x35d0d3(%rip), %rsi    # 0x5ba488
callq 0xf7500
movl %eax, 0x14(%rsp)
cmpl $0x0, 0x14(%rsp)
jne 0x25d429
movq 0x8(%rsp), %rax
movq 0x50(%rax), %rax
movq 0x8(%rsp), %rcx
cmpq 0x58(%rcx), %rax
jbe 0x25d3f6
movq 0x18(%rsp), %rdi
leaq 0x31d7bb(%rip), %rsi    # 0x57aba0
movb $0x0, %al
callq 0xd88c0
movl $0xffffffff, 0x14(%rsp) # imm = 0xFFFFFFFF
jmp 0x25d427
movq 0x8(%rsp), %rax
movq 0x58(%rax), %rax
movq 0x8(%rsp), %rcx
cmpq 0x60(%rcx), %rax
jbe 0x25d425
movq 0x18(%rsp), %rdi
leaq 0x31d7d3(%rip), %rsi    # 0x57abe9
movb $0x0, %al
callq 0xd88c0
movl $0xffffffff, 0x14(%rsp) # imm = 0xFFFFFFFF
jmp 0x25d427
jmp 0x25d429
movl 0x14(%rsp), %eax
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)