// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/match/rdj-spmlist.c
// Function: parse_line
static inline int parse_line(GtStr *s, GtUword min_length,
    GtSpmproc proc_e, GtSpmprocA proc_a, void *data, GtError *err)
{
  int had_err = 0;
  GtSplitter *splitter;
  char **tokens = NULL;
  GtUword suffix_seqnum = 0, prefix_seqnum = 0, suffix_length = 0,
                prefix_length, unit_edist;
  bool suffixseq_direct = true, prefixseq_direct = true, exact;

  exact = (proc_e != NULL) ? true : false;
  splitter = gt_splitter_new();
  gt_splitter_split(splitter, gt_str_get(s), gt_str_length(s), ' ');
  if (gt_splitter_size(splitter) != (exact ? 5UL : 7UL))
  {
    gt_error_set(err, "Wrong number of tokens");
    had_err = -1;
  }
  if (!had_err) tokens = gt_splitter_get_tokens(splitter);
  GT_SPMLIST_PARSE(0, gt_parse_uword, &suffix_seqnum);
  GT_SPMLIST_PARSE(1, parse_plusminus, &suffixseq_direct);
  GT_SPMLIST_PARSE(2, gt_parse_uword, &prefix_seqnum);
  GT_SPMLIST_PARSE(3, parse_plusminus, &prefixseq_direct);
  GT_SPMLIST_PARSE(4, gt_parse_uword, &suffix_length);
  if (!exact)
  {
    GT_SPMLIST_PARSE(5, gt_parse_uword, &prefix_length);
    GT_SPMLIST_PARSE(6, gt_parse_uword, &unit_edist);
  }
  if (!had_err)
  {
    if (exact && suffix_length >= min_length)
    {
      gt_assert(proc_e != NULL);
      proc_e(suffix_seqnum, prefix_seqnum, suffix_length,
          suffixseq_direct, prefixseq_direct, data);
    }
    else if (!exact && (suffix_length >= min_length ||
          prefix_length >= min_length))
    {
      gt_assert(proc_a != NULL);
      proc_a(suffix_seqnum, prefix_seqnum, suffix_length, prefix_length,
          unit_edist, suffixseq_direct, prefixseq_direct, data);
    }
  }
  gt_splitter_delete(splitter);
  return had_err;
}

// Assembly:
subq $0x98, %rsp
movq %rdi, 0x90(%rsp)
movq %rsi, 0x88(%rsp)
movq %rdx, 0x80(%rsp)
movq %rcx, 0x78(%rsp)
movq %r8, 0x70(%rsp)
movq %r9, 0x68(%rsp)
movl $0x0, 0x64(%rsp)
movq $0x0, 0x50(%rsp)
movq $0x0, 0x48(%rsp)
movq $0x0, 0x40(%rsp)
movq $0x0, 0x38(%rsp)
movb $0x1, 0x27(%rsp)
movb $0x1, 0x26(%rsp)
movq 0x80(%rsp), %rdx
xorl %eax, %eax
movl $0x1, %ecx
cmpq $0x0, %rdx
cmovnel %ecx, %eax
cmpl $0x0, %eax
setne %al
andb $0x1, %al
movb %al, 0x25(%rsp)
callq 0x11afb0
movq %rax, 0x58(%rsp)
movq 0x58(%rsp), %rax
movq %rax, 0x10(%rsp)
movq 0x90(%rsp), %rdi
callq 0x11dee0
movq %rax, 0x18(%rsp)
movq 0x90(%rsp), %rdi
callq 0x11dfa0
movq 0x10(%rsp), %rdi
movq 0x18(%rsp), %rsi
movq %rax, %rdx
movl $0x20, %ecx
callq 0x11afd0
movq 0x58(%rsp), %rdi
callq 0x11b5b0
movb 0x25(%rsp), %sil
movl $0x7, %ecx
movl $0x5, %edx
testb $0x1, %sil
cmovneq %rdx, %rcx
cmpq %rcx, %rax
je 0x28c981
movq 0x68(%rsp), %rdi
leaq 0x2f4c91(%rip), %rsi    # 0x581603
movb $0x0, %al
callq 0xd88c0
movl $0xffffffff, 0x64(%rsp) # imm = 0xFFFFFFFF
cmpl $0x0, 0x64(%rsp)
jne 0x28c997
movq 0x58(%rsp), %rdi
callq 0x11b470
movq %rax, 0x50(%rsp)
cmpl $0x0, 0x64(%rsp)
jne 0x28ca16
jmp 0x28c9a0
cmpq $0x0, 0x50(%rsp)
jne 0x28c9e0
movq 0x3af5f1(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x28965a(%rip), %rsi    # 0x516013
leaq 0x2f4c5a(%rip), %rdx    # 0x58161a
leaq 0x2f4c62(%rip), %rcx    # 0x581629
leaq 0x2f4ab2(%rip), %r8     # 0x581480
movl $0xb5, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x28c9e2
movq 0x50(%rsp), %rax
movq (%rax), %rsi
leaq 0x48(%rsp), %rdi
callq 0xf86d0
movl %eax, 0x64(%rsp)
cmpl $0x0, 0x64(%rsp)
je 0x28ca14
movq 0x68(%rsp), %rdi
leaq 0x2f4c29(%rip), %rsi    # 0x581634
xorl %edx, %edx
movb $0x0, %al
callq 0xd88c0
jmp 0x28ca16
cmpl $0x0, 0x64(%rsp)
jne 0x28ca99
jmp 0x28ca1f
cmpq $0x0, 0x50(%rsp)
jne 0x28ca5f
movq 0x3af572(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x2895db(%rip), %rsi    # 0x516013
leaq 0x2f4bdb(%rip), %rdx    # 0x58161a
leaq 0x2f4be3(%rip), %rcx    # 0x581629
leaq 0x2f4a33(%rip), %r8     # 0x581480
movl $0xb6, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x28ca61
movq 0x50(%rsp), %rax
movq 0x8(%rax), %rsi
leaq 0x27(%rsp), %rdi
callq 0x28cec0
movl %eax, 0x64(%rsp)
cmpl $0x0, 0x64(%rsp)
je 0x28ca97
movq 0x68(%rsp), %rdi
leaq 0x2f4ba9(%rip), %rsi    # 0x581634
movl $0x1, %edx
movb $0x0, %al
callq 0xd88c0
jmp 0x28ca99
cmpl $0x0, 0x64(%rsp)
jne 0x28cb1c
jmp 0x28caa2
cmpq $0x0, 0x50(%rsp)
jne 0x28cae2
movq 0x3af4ef(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x289558(%rip), %rsi    # 0x516013
leaq 0x2f4b58(%rip), %rdx    # 0x58161a
leaq 0x2f4b60(%rip), %rcx    # 0x581629
leaq 0x2f49b0(%rip), %r8     # 0x581480
movl $0xb7, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x28cae4
movq 0x50(%rsp), %rax
movq 0x10(%rax), %rsi
leaq 0x40(%rsp), %rdi
callq 0xf86d0
movl %eax, 0x64(%rsp)
cmpl $0x0, 0x64(%rsp)
je 0x28cb1a
movq 0x68(%rsp), %rdi
leaq 0x2f4b26(%rip), %rsi    # 0x581634
movl $0x2, %edx
movb $0x0, %al
callq 0xd88c0
jmp 0x28cb1c
cmpl $0x0, 0x64(%rsp)
jne 0x28cb9f
jmp 0x28cb25
cmpq $0x0, 0x50(%rsp)
jne 0x28cb65
movq 0x3af46c(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x2894d5(%rip), %rsi    # 0x516013
leaq 0x2f4ad5(%rip), %rdx    # 0x58161a
leaq 0x2f4add(%rip), %rcx    # 0x581629
leaq 0x2f492d(%rip), %r8     # 0x581480
movl $0xb8, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x28cb67
movq 0x50(%rsp), %rax
movq 0x18(%rax), %rsi
leaq 0x26(%rsp), %rdi
callq 0x28cec0
movl %eax, 0x64(%rsp)
cmpl $0x0, 0x64(%rsp)
je 0x28cb9d
movq 0x68(%rsp), %rdi
leaq 0x2f4aa3(%rip), %rsi    # 0x581634
movl $0x3, %edx
movb $0x0, %al
callq 0xd88c0
jmp 0x28cb9f
cmpl $0x0, 0x64(%rsp)
jne 0x28cc22
jmp 0x28cba8
cmpq $0x0, 0x50(%rsp)
jne 0x28cbe8
movq 0x3af3e9(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x289452(%rip), %rsi    # 0x516013
leaq 0x2f4a52(%rip), %rdx    # 0x58161a
leaq 0x2f4a5a(%rip), %rcx    # 0x581629
leaq 0x2f48aa(%rip), %r8     # 0x581480
movl $0xb9, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x28cbea
movq 0x50(%rsp), %rax
movq 0x20(%rax), %rsi
leaq 0x38(%rsp), %rdi
callq 0xf86d0
movl %eax, 0x64(%rsp)
cmpl $0x0, 0x64(%rsp)
je 0x28cc20
movq 0x68(%rsp), %rdi
leaq 0x2f4a20(%rip), %rsi    # 0x581634
movl $0x4, %edx
movb $0x0, %al
callq 0xd88c0
jmp 0x28cc22
testb $0x1, 0x25(%rsp)
jne 0x28cd35
cmpl $0x0, 0x64(%rsp)
jne 0x28ccb0
jmp 0x28cc36
cmpq $0x0, 0x50(%rsp)
jne 0x28cc76
movq 0x3af35b(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x2893c4(%rip), %rsi    # 0x516013
leaq 0x2f49c4(%rip), %rdx    # 0x58161a
leaq 0x2f49cc(%rip), %rcx    # 0x581629
leaq 0x2f481c(%rip), %r8     # 0x581480
movl $0xbc, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x28cc78
movq 0x50(%rsp), %rax
movq 0x28(%rax), %rsi
leaq 0x30(%rsp), %rdi
callq 0xf86d0
movl %eax, 0x64(%rsp)
cmpl $0x0, 0x64(%rsp)
je 0x28ccae
movq 0x68(%rsp), %rdi
leaq 0x2f4992(%rip), %rsi    # 0x581634
movl $0x5, %edx
movb $0x0, %al
callq 0xd88c0
jmp 0x28ccb0
cmpl $0x0, 0x64(%rsp)
jne 0x28cd33
jmp 0x28ccb9
cmpq $0x0, 0x50(%rsp)
jne 0x28ccf9
movq 0x3af2d8(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x289341(%rip), %rsi    # 0x516013
leaq 0x2f4941(%rip), %rdx    # 0x58161a
leaq 0x2f4949(%rip), %rcx    # 0x581629
leaq 0x2f4799(%rip), %r8     # 0x581480
movl $0xbd, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x28ccfb
movq 0x50(%rsp), %rax
movq 0x30(%rax), %rsi
leaq 0x28(%rsp), %rdi
callq 0xf86d0
movl %eax, 0x64(%rsp)
cmpl $0x0, 0x64(%rsp)
je 0x28cd31
movq 0x68(%rsp), %rdi
leaq 0x2f490f(%rip), %rsi    # 0x581634
movl $0x6, %edx
movb $0x0, %al
callq 0xd88c0
jmp 0x28cd33
jmp 0x28cd35
cmpl $0x0, 0x64(%rsp)
jne 0x28ce9c
testb $0x1, 0x25(%rsp)
je 0x28cddf
movq 0x38(%rsp), %rax
cmpq 0x88(%rsp), %rax
jb 0x28cddf
jmp 0x28cd60
cmpq $0x0, 0x80(%rsp)
jne 0x28cda3
movq 0x3af22e(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x289297(%rip), %rsi    # 0x516013
leaq 0x2f48c7(%rip), %rdx    # 0x58164a
leaq 0x2f489f(%rip), %rcx    # 0x581629
leaq 0x2f46ef(%rip), %r8     # 0x581480
movl $0xc3, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x28cda5
movq 0x80(%rsp), %rax
movq 0x48(%rsp), %rdi
movq 0x40(%rsp), %rsi
movq 0x38(%rsp), %rdx
movb 0x27(%rsp), %cl
movb 0x26(%rsp), %r8b
movq 0x70(%rsp), %r9
andb $0x1, %cl
andb $0x1, %r8b
movzbl %cl, %ecx
movzbl %r8b, %r8d
callq *%rax
jmp 0x28ce9a
testb $0x1, 0x25(%rsp)
jne 0x28ce98
movq 0x38(%rsp), %rax
cmpq 0x88(%rsp), %rax
jae 0x28ce0c
movq 0x30(%rsp), %rax
cmpq 0x88(%rsp), %rax
jb 0x28ce98
jmp 0x28ce0e
cmpq $0x0, 0x78(%rsp)
jne 0x28ce4e
movq 0x3af183(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x2891ec(%rip), %rsi    # 0x516013
leaq 0x2f482b(%rip), %rdx    # 0x581659
leaq 0x2f47f4(%rip), %rcx    # 0x581629
leaq 0x2f4644(%rip), %r8     # 0x581480
movl $0xca, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x28ce50
movq 0x78(%rsp), %rax
movq 0x48(%rsp), %rdi
movq 0x40(%rsp), %rsi
movq 0x38(%rsp), %rdx
movq 0x30(%rsp), %rcx
movq 0x28(%rsp), %r8
movb 0x27(%rsp), %r9b
movb 0x26(%rsp), %r11b
movq 0x70(%rsp), %r10
andb $0x1, %r9b
andb $0x1, %r11b
movzbl %r9b, %r9d
movzbl %r11b, %r11d
movl %r11d, (%rsp)
movq %r10, 0x8(%rsp)
callq *%rax
jmp 0x28ce9a
jmp 0x28ce9c
movq 0x58(%rsp), %rdi
callq 0x11b600
movl 0x64(%rsp), %eax
addq $0x98, %rsp
retq
nopw %cs:(%rax,%rax)