// File: /workspace/github_c_makefile_star2_O3/genometools[P]genometools/src/match/ft-front-generation.c
// Function: front_trace2eoplist
void front_trace2eoplist(bool polished,
                         GtEoplist *eoplist,
                         GtFrontTrace *front_trace,
                         const GtFtPolished_point *pp,
                         GtUword pol_size,
                         GtWord match_score,
                         GtWord difference_score,
                         const GtUchar *useq,
                         GtUword ulen,
                         const GtUchar *vseq,
                         GtUword vlen)
{
  if (polished)
  {
    front_trace2polished_eoplist(eoplist,
                                 front_trace,
                                 pp,
                                 pol_size,
                                 match_score,
                                 difference_score,
                                 useq,
                                 ulen,
                                 vseq,
                                 vlen);
  } else
  {
    front_trace2eoplist_directed(eoplist,
                                 front_trace,
                                 useq,
                                 ulen,
                                 vseq,
                                 vlen,
                                 pp);
  }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x88, %rsp
movq %r9, 0x18(%rsp)
movq %r8, 0x78(%rsp)
movq %rcx, %r12
movq %rdx, %r15
movq %rsi, (%rsp)
movq 0xe0(%rsp), %rax
movq %rax, 0x50(%rsp)
movq 0xd8(%rsp), %rax
movq %rax, 0x68(%rsp)
movq 0xd0(%rsp), %rax
movq %rax, 0x40(%rsp)
movq 0xc8(%rsp), %rax
movq %rax, 0x60(%rsp)
testl %edi, %edi
movq %rdx, 0x10(%rsp)
je 0x31a778
movq 0xc0(%rsp), %rax
movq %rax, 0x8(%rsp)
movq $0x0, 0x38(%r15)
movq 0x10(%r12), %rax
leaq 0x1(%rax), %rcx
cmpq %rcx, 0x48(%r15)
jae 0x31a3fa
movq %rcx, 0x48(%r15)
movq 0x28(%r15), %rdi
leaq 0x8(,%rax,8), %rsi
leaq 0xc8ed5(%rip), %rdx     # 0x3e32c1
movl $0x270, %ecx            # imm = 0x270
callq 0x104461
movq %rax, 0x28(%r15)
cmpq $0x0, 0x50(%r15)
je 0x31ab48
movq %r15, %rdi
movq %r12, %rsi
callq 0x31ae7c
movq %rax, %rbx
movq 0x10(%r12), %rsi
movq 0x20(%r15), %rdi
movq 0x50(%r15), %rdx
callq 0x31aec5
movq 0x10(%r15), %r14
subq %rax, %r14
jb 0x31ab4d
movq %r12, %r13
leaq 0x30(%r15), %rdi
callq 0x31aee8
movq %rax, %r12
movq (%r13), %rax
movq 0x8(%r13), %rcx
subq %rcx, %rax
subq %rcx, %rax
movq %rax, (%r12)
movq 0x10(%r13), %rax
movq %rax, 0x10(%r12)
leaq (,%r14,4), %rax
addq (%r15), %rax
movb (%rax,%rbx,4), %dl
andb $0x7, %dl
movb %dl, 0x40(%r12)
movl %ecx, 0x38(%r12)
movb $0x0, 0x41(%r12)
movl (%rax,%rbx,4), %eax
movl %eax, 0x5c(%rsp)
movl %eax, %ecx
shrl $0x3, %ecx
movl %ecx, 0x3c(%r12)
movq %rcx, %rax
imulq 0x18(%rsp), %rax
movq %rax, 0x8(%r12)
movq %r14, 0x18(%r12)
movq %r13, 0x80(%rsp)
movq 0x18(%r13), %rax
movq %rax, 0x20(%r12)
movq %rcx, 0x70(%rsp)
movq %rcx, 0x28(%r12)
movq $0x0, 0x30(%r12)
movq 0x38(%r15), %rax
testq %rax, %rax
je 0x31aa70
negq 0x40(%rsp)
movb $0x1, %r14b
decq %rax
movq %rax, 0x38(%r15)
leaq (%rax,%rax,8), %r12
shlq $0x3, %r12
addq 0x30(%r15), %r12
testb $0x1, %r14b
je 0x31a514
movq 0x30(%r12), %rbx
movq 0x28(%r12), %rax
addq %rbx, %rax
cmpq 0x78(%rsp), %rax
movzbl %r14b, %r14d
movl $0x0, %eax
cmovael %eax, %r14d
jmp 0x31a519
movq 0x30(%r12), %rbx
testq %rbx, %rbx
je 0x31a54a
leaq -0x1(%rbx), %rax
movq 0x80(%rsp), %rcx
cmpq 0x10(%rcx), %rax
ja 0x31ab16
movb 0x41(%r12), %al
movq 0x28(%r15), %rcx
movb %al, -0x8(%rcx,%rbx,8)
movl 0x3c(%r12), %eax
movl %eax, -0x4(%rcx,%rbx,8)
movb 0x40(%r12), %bpl
testb %bpl, %bpl
je 0x31aa6b
cmpq $0x0, (%rsp)
jne 0x31a589
movq (%r12), %rdx
movl 0x38(%r12), %r8d
movl %r8d, %ecx
subl 0x3c(%r12), %ecx
movq 0x60(%rsp), %rdi
movq 0x68(%rsp), %rsi
callq 0x31ae46
movb 0x40(%r12), %bpl
movq 0x30(%r12), %rbx
testb %bpl, %bpl
je 0x31ab11
movq 0x10(%r12), %r15
testq %r15, %r15
je 0x31ab11
movq (%r12), %rdx
movq 0x8(%r12), %r13
movq 0x18(%r12), %r10
movq 0x20(%r12), %r11
movl 0x38(%r12), %r9d
movl 0x3c(%r12), %esi
movq 0x28(%r12), %rax
movq %rax, 0x38(%rsp)
testb $0x2, %bpl
je 0x31a66a
testb $0x1, %r14b
je 0x31a5e2
cmpq 0x8(%rsp), %r13
jl 0x31a66a
movl %r14d, 0x34(%rsp)
cmpq 0x40(%rsp), %rdx
jle 0x31ab2a
movq %rdx, 0x20(%rsp)
movq 0x20(%rsp), %rax
leaq -0x1(%rax), %rdx
movq %r13, %rcx
subq 0x8(%rsp), %rcx
movl %r9d, %r8d
subl %esi, %r8d
movl %r9d, 0x30(%rsp)
leaq -0x1(%r15), %r9
subq $0x8, %rsp
movq 0x18(%rsp), %rdi
movl %esi, 0x34(%rsp)
movq 0x20(%rsp), %rsi
pushq %rbx
pushq $0x2
pushq 0x50(%rsp)
pushq %r11
pushq %r10
movq %r10, 0x78(%rsp)
movq %r11, %r14
callq 0x31af8f
movl 0x5c(%rsp), %esi
movl 0x60(%rsp), %r9d
movq 0x50(%rsp), %rdx
movq %r14, %r11
movq 0x78(%rsp), %r10
addq $0x30, %rsp
movl 0x34(%rsp), %r14d
testb $0x1, %r14b
je 0x31a761
testb $0x4, %bpl
je 0x31a67d
testb $0x1, %r14b
je 0x31a68f
cmpq 0x8(%rsp), %r13
jge 0x31a68f
testb $0x1, %bpl
je 0x31a761
movl %r14d, %eax
jmp 0x31a71e
movl %r14d, 0x34(%rsp)
cmpq 0x50(%rsp), %rdx
jge 0x31ab2f
movq %rdx, 0x20(%rsp)
movq 0x20(%rsp), %rax
leaq 0x1(%rax), %rdx
movq %r13, %rcx
subq 0x8(%rsp), %rcx
movl %esi, %r8d
notl %r8d
addl %r9d, %r8d
movl %r9d, 0x30(%rsp)
leaq -0x1(%r15), %r9
subq $0x8, %rsp
movq 0x18(%rsp), %rdi
movl %esi, 0x34(%rsp)
movq 0x20(%rsp), %rsi
pushq %rbx
pushq $0x1
pushq 0x50(%rsp)
pushq %r11
pushq %r10
movq %r10, 0x78(%rsp)
movq %r11, %r14
callq 0x31af8f
movl 0x5c(%rsp), %esi
movl 0x60(%rsp), %r9d
movq 0x50(%rsp), %rdx
movq %r14, %r11
movq 0x78(%rsp), %r10
addq $0x30, %rsp
testb $0x1, %bpl
movl 0x34(%rsp), %r14d
je 0x31a761
movb $0x1, %al
testb $0x1, %r14b
je 0x31a761
testb $0x1, %al
je 0x31a729
cmpq 0x8(%rsp), %r13
jl 0x31a761
subq 0x8(%rsp), %r13
notl %esi
addl %esi, %r9d
decq %r15
subq $0x8, %rsp
movq 0x18(%rsp), %rdi
movq 0x20(%rsp), %rsi
movq %r13, %rcx
movl %r9d, %r8d
movq %r15, %r9
pushq %rbx
pushq $0x0
pushq 0x50(%rsp)
pushq %r11
pushq %r10
callq 0x31af8f
addq $0x30, %rsp
movq 0x10(%rsp), %r15
movq 0x38(%r15), %rax
testq %rax, %rax
jne 0x31a4da
jmp 0x31aa70
testq %r15, %r15
je 0x31ab34
testq %r12, %r12
je 0x31ab34
cmpq $0x0, 0x50(%r15)
je 0x31ab34
movq %r15, %rdi
movq %r12, %rsi
callq 0x31ae7c
movq %rax, %rbx
movq 0x10(%r12), %rsi
movq 0x20(%r15), %rdi
movq 0x50(%r15), %rdx
callq 0x31aec5
movq 0x10(%r15), %rcx
subq %rax, %rcx
jb 0x31ab52
movq 0x10(%r12), %r14
cmpq 0x50(%r15), %r14
jae 0x31ab57
movq %rcx, 0x20(%rsp)
leaq (,%rcx,4), %rax
addq (%r15), %rax
movl (%rax,%rbx,4), %ebp
movl %ebp, %r15d
andb $0x7, %r15b
movl %ebp, %eax
shrl $0x3, %eax
testq %r14, %r14
je 0x31aa27
movq (%r12), %rdx
movq %r12, %rsi
movq 0x8(%r12), %r12
subq %r12, %rdx
subq %r12, %rdx
movq 0x18(%rsi), %r8
negq 0x40(%rsp)
movl $0x1, %r13d
subq %r14, %r13
movb $0x1, %r9b
movl %eax, %ecx
movq %rcx, 0x38(%rsp)
cmpq $0x0, (%rsp)
movq %r8, 0x8(%rsp)
je 0x31a85d
cmpl $0x8, %ebp
jb 0x31a889
movq (%rsp), %rdi
movq 0x38(%rsp), %rsi
movq %rdx, %rbx
movb %r9b, 0x18(%rsp)
callq 0x318485
movb 0x18(%rsp), %r9b
movq 0x8(%rsp), %r8
movq %rbx, %rdx
jmp 0x31a889
movl %r12d, %ecx
subl %eax, %ecx
movq 0x60(%rsp), %rdi
movq 0x68(%rsp), %rsi
movq %rdx, 0x18(%rsp)
movl %r12d, %r8d
movl %r9d, %ebx
callq 0x31ae46
movl %ebx, %r9d
movq 0x8(%rsp), %r8
movq 0x18(%rsp), %rdx
testb %r15b, %r9b
je 0x31a8bd
movzbl %r9b, %r15d
cmpb $0x1, %r15b
movq 0x10(%rsp), %rbp
je 0x31a92a
cmpl $0x4, %r15d
je 0x31a8f1
cmpl $0x2, %r15d
jne 0x31ab1b
cmpq 0x40(%rsp), %rdx
jg 0x31a921
jmp 0x31ab20
movl $0x1, %r15d
movb $0x1, %r9b
testb $0x1, %bpl
jne 0x31a90a
testb $0x2, %bpl
jne 0x31a911
testb $0x4, %bpl
je 0x31ab39
cmpq 0x50(%rsp), %rdx
movq 0x10(%rsp), %rbp
jge 0x31ab43
incq %rdx
jmp 0x31a905
cmpq 0x50(%rsp), %rdx
jge 0x31ab25
incq %rdx
movl $0x1, %r15d
movb $0x4, %r9b
jmp 0x31a92a
movq 0x10(%rsp), %rbp
jmp 0x31a92a
cmpq 0x40(%rsp), %rdx
movq 0x10(%rsp), %rbp
jle 0x31ab3e
decq %rdx
movb $0x2, %r9b
xorl %r15d, %r15d
cmpq $0x0, (%rsp)
je 0x31a98a
cmpb $0x2, %r9b
je 0x31a951
movq %rdx, %rbx
movl %r9d, %ebp
movzbl %r9b, %eax
cmpl $0x4, %eax
jne 0x31a971
movq (%rsp), %rdi
callq 0x318327
jmp 0x31a97a
movq (%rsp), %rdi
movq %rdx, %rbx
movb %r9b, 0x18(%rsp)
callq 0x3183d6
movb 0x18(%rsp), %r9b
movq 0x8(%rsp), %r8
movq %rbx, %rdx
jmp 0x31a98a
movq (%rsp), %rdi
callq 0x318601
movq %rbx, %rdx
movq 0x8(%rsp), %r8
movl %ebp, %r9d
movq 0x10(%rsp), %rbp
movq 0x20(%rbp), %rax
movzwl (%rax,%r14,4), %ebx
movq %r8, %rcx
subq %rbx, %rcx
jb 0x31ab02
leaq (%rcx,%r13), %rsi
cmpq %rdx, %rsi
jg 0x31aafd
leaq -0x1(%r14), %rdi
movzwl 0x2(%rax,%rdi,4), %eax
leaq (%r8,%rax), %rsi
subq %rbx, %rsi
addq %r13, %rsi
cmpq %rsi, %rdx
jge 0x31ab0c
movq 0x20(%rsp), %rsi
subq %rax, %rsi
jb 0x31aaf8
movl %r12d, %r12d
addq 0x38(%rsp), %r15
subq %r15, %r12
jb 0x31ab07
addq %rdx, %rbx
subq %r8, %rbx
addq %rbx, %r14
movq %rsi, 0x20(%rsp)
leaq (,%rsi,4), %rax
addq (%rbp), %rax
movl -0x4(%rax,%r14,4), %ebp
movl %ebp, %r15d
andb $0x7, %r15b
movl %ebp, %eax
shrl $0x3, %eax
incq %r13
movq %rdi, %r14
movq %rcx, %r8
testq %rdi, %rdi
jne 0x31a820
addq %rdi, %rbx
addq %rbx, 0x20(%rsp)
jne 0x31ab5c
testb %r15b, %r15b
jne 0x31ab5c
cmpq $0x0, (%rsp)
je 0x31aae6
cmpl $0x8, %ebp
jb 0x31aae6
movl %eax, %esi
movq (%rsp), %rdi
addq $0x88, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x318485
movq 0x10(%rsp), %r15
cmpq $0x0, (%rsp)
je 0x31aae6
movq 0x28(%r15), %rbx
movq 0x30(%r12), %r14
cmpl $0x8, 0x5c(%rsp)
jb 0x31aa95
movq (%rsp), %rdi
movq 0x70(%rsp), %rsi
callq 0x318485
testq %r14, %r14
je 0x31aae6
xorl %r15d, %r15d
movzbl (%rbx,%r15,8), %eax
cmpl $0x2, %eax
je 0x31aab7
cmpl $0x1, %eax
jne 0x31aac2
movq (%rsp), %rdi
callq 0x318327
jmp 0x31aacb
movq (%rsp), %rdi
callq 0x3183d6
jmp 0x31aacb
movq (%rsp), %rdi
callq 0x318601
movl 0x4(%rbx,%r15,8), %esi
testq %rsi, %rsi
je 0x31aade
movq (%rsp), %rdi
callq 0x318485
incq %r15
cmpq %r15, %r14
jne 0x31aa9d
addq $0x88, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
callq 0x92a98
callq 0x92ad1
callq 0x92b0a
callq 0x92a5f
callq 0x92a26
callq 0x92c60
callq 0x92c27
callq 0x9297b
callq 0x92942
callq 0x92909
callq 0x92c99
callq 0x92cd2
callq 0x92bee
callq 0x92b43
callq 0x929b4
callq 0x929ed
callq 0x92d44
callq 0x92d0b
callq 0x92bb5
callq 0x928d0
callq 0x92b7c