// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/match/idxlocalidp.c
// Function: locali_nextLimdfsstate
static void locali_nextLimdfsstate (const Limdfsconstinfo *lci,
                                    DECLAREPTRDFSSTATE (aliasoutcol),
                                    GT_UNUSED GtUword currentdepth,
                                    GtUchar currentchar,
                                    const DECLAREPTRDFSSTATE (aliasincol))
{
  LocaliColumn *outcol = (LocaliColumn *) aliasoutcol;
  const LocaliColumn *incol = (const LocaliColumn *) aliasincol;

  if (currentdepth > 1UL)
  {
    nextcolumn (lci,outcol,currentchar,incol);
  } else
  {
    secondcolumn (lci, outcol, currentchar);
  }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl %ecx, %ebx
movq %rsi, %r14
movq %rdi, %r15
cmpq $0x2, %rdx
jb 0x162939
movq %r8, %r12
cmpq %r8, %r14
je 0x162a42
movq (%r14), %rax
cmpq (%r12), %rax
je 0x162a73
movq 0x30(%r15), %rcx
leaq 0x1(%rcx), %rdx
cmpq %rdx, 0x8(%r12)
jb 0x162aa1
movq 0x8(%r14), %rsi
cmpq %rdx, %rsi
jae 0x162848
movq 0x28(%r15), %rsi
shlq $0x4, %rsi
leaq 0x1e5acc(%rip), %rdx    # 0x3482f4
movq %rax, %rdi
movl $0xe8, %ecx
callq 0x93472
movq %rax, (%r14)
movq 0x28(%r15), %rsi
movq %rsi, 0x8(%r14)
movq 0x30(%r15), %rcx
leaq 0x1(%rcx), %rdx
cmpq %rdx, %rsi
jb 0x162acf
orq $-0x1, (%rax)
andl $0x0, 0x8(%rax)
xorps %xmm0, %xmm0
movups %xmm0, 0x10(%r14)
pushq $0x1
popq %rdx
pushq $-0x1
popq %rsi
xorl %edi, %edi
xorl %r8d, %r8d
movq %rsi, %r10
cmpq %rcx, %rdx
ja 0x162a33
orq $-0x1, 0x10(%rax,%rdi)
andl $0x0, 0x18(%rax,%rdi)
movq %rsi, %r9
testq %r10, %r10
jle 0x1628a4
addq 0x18(%r15), %r10
movq %rsi, %r9
js 0x1628a4
movq %r10, 0x10(%rax,%rdi)
movl $0x3, 0x18(%rax,%rdi)
movq %r10, %r9
movq (%r12), %r10
movq (%r10,%rdi), %r11
testq %r11, %r11
jle 0x1628e5
cmpb $-0x2, %bl
setae %bpl
movq 0x20(%r15), %r13
cmpb %bl, -0x1(%r13,%rdx)
setne %r13b
orb %bpl, %r13b
movzbl %r13b, %r13d
addq (%r15,%r13,8), %r11
cmpq %r9, %r11
jle 0x1628e5
movq %r11, 0x10(%rax,%rdi)
movl $0x2, 0x18(%rax,%rdi)
movq %r11, %r9
movq 0x10(%r10,%rdi), %r10
testq %r10, %r10
jle 0x162908
addq 0x18(%r15), %r10
cmpq %r9, %r10
jle 0x162908
movq %r10, 0x10(%rax,%rdi)
movl $0x1, 0x18(%rax,%rdi)
movq %r10, %r9
testq %r9, %r9
setg %r10b
cmpq %r8, %r9
setg %r11b
andb %r10b, %r11b
cmpb $0x1, %r11b
jne 0x16292a
movq %r9, 0x18(%r14)
movq %rdx, 0x10(%r14)
movq %r9, %r8
incq %rdx
addq $0x10, %rdi
movq %r9, %r10
jmp 0x16286f
movq (%r14), %rax
movq 0x28(%r15), %rsi
cmpq %rsi, 0x8(%r14)
jae 0x162969
shlq $0x4, %rsi
leaq 0x1e59a3(%rip), %rdx    # 0x3482f4
movq %rax, %rdi
movl $0xa8, %ecx
callq 0x93472
movq %rax, (%r14)
movq 0x28(%r15), %rcx
movq %rcx, 0x8(%r14)
orq $-0x1, (%rax)
andl $0x0, 0x8(%rax)
xorps %xmm0, %xmm0
movups %xmm0, 0x10(%r14)
movq 0x30(%r15), %rcx
addq $0x18, %rax
pushq $0x1
popq %rdx
pushq $-0x1
popq %rsi
xorl %edi, %edi
movq %rsi, %r8
cmpq %rcx, %rdx
ja 0x162a33
orq $-0x1, -0x8(%rax)
andl $0x0, (%rax)
movq %rsi, %r9
testq %r8, %r8
jle 0x1629bb
addq 0x18(%r15), %r8
movq %rsi, %r9
js 0x1629bb
movq %r8, -0x8(%rax)
movl $0x3, (%rax)
movq %r8, %r9
cmpb $-0x2, %bl
setae %r8b
movq 0x20(%r15), %r10
cmpb %bl, -0x1(%r10,%rdx)
setne %r10b
orb %r8b, %r10b
movzbl %r10b, %r8d
movq (%r15,%r8,8), %r8
cmpq %r9, %r8
jle 0x1629ec
movq %r8, -0x8(%rax)
movl $0x2, (%rax)
movq %r8, %r9
movq 0x18(%r15), %r10
movq %r9, %r8
cmpq %r9, %r10
jle 0x162a05
movq %r10, -0x8(%rax)
movl $0x1, (%rax)
movq %r10, %r8
testq %r8, %r8
setg %r9b
cmpq %rdi, %r8
setg %r10b
andb %r9b, %r10b
cmpb $0x1, %r10b
jne 0x162a27
movq %r8, 0x18(%r14)
movq %rdx, 0x10(%r14)
movq %r8, %rdi
incq %rdx
addq $0x10, %rax
jmp 0x16298c
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x2d551f(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x1825c0(%rip), %rsi    # 0x2e5013
leaq 0x1e5a4c(%rip), %rdx    # 0x3484a6
leaq 0x1e5a55(%rip), %rcx    # 0x3484b6
leaq 0x1e588c(%rip), %r8     # 0x3482f4
movl $0xe0, %r9d
jmp 0x162afb
movq 0x2d54ee(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x18258f(%rip), %rsi    # 0x2e5013
leaq 0x1e5a36(%rip), %rdx    # 0x3484c1
leaq 0x1e5a24(%rip), %rcx    # 0x3484b6
leaq 0x1e585b(%rip), %r8     # 0x3482f4
movl $0xe1, %r9d
jmp 0x162afb
movq 0x2d54c0(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x182561(%rip), %rsi    # 0x2e5013
leaq 0x1e5a2e(%rip), %rdx    # 0x3484e7
leaq 0x1e59f6(%rip), %rcx    # 0x3484b6
leaq 0x1e582d(%rip), %r8     # 0x3482f4
movl $0xe2, %r9d
jmp 0x162afb
movq 0x2d5492(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x182533(%rip), %rsi    # 0x2e5013
leaq 0x1e5a24(%rip), %rdx    # 0x34850b
leaq 0x1e59c8(%rip), %rcx    # 0x3484b6
leaq 0x1e57ff(%rip), %r8     # 0x3482f4
movl $0xec, %r9d
xorl %eax, %eax
callq 0x17a50
callq 0x17390
nop