// File: /workspace/github_c_makefile_star2_O1/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, 0x10(%rsp)
movq %r8, 0x78(%rsp)
movq %rcx, %r12
movq %rdx, %rbx
movq 0xe0(%rsp), %rax
movq %rax, 0x50(%rsp)
movq 0xd8(%rsp), %rax
movq %rax, 0x68(%rsp)
movq 0xd0(%rsp), %rax
movq %rax, 0x30(%rsp)
movq 0xc8(%rsp), %rax
movq %rax, 0x60(%rsp)
testl %edi, %edi
movq %rsi, 0x40(%rsp)
movq %rdx, 0x8(%rsp)
je 0x324ae9
movq %rsi, %r13
movq 0xc0(%rsp), %rax
movq %rax, (%rsp)
movq $0x0, 0x38(%rbx)
movq 0x10(%r12), %rax
leaq 0x1(%rax), %rcx
cmpq %rcx, 0x48(%rbx)
jae 0x3246e0
movq %rcx, 0x48(%rbx)
movq 0x28(%rbx), %rdi
leaq 0x8(,%rax,8), %rsi
leaq 0xc8343(%rip), %rdx     # 0x3eca15
movl $0x270, %ecx            # imm = 0x270
callq 0x1094e6
movq %rax, 0x28(%rbx)
testq %rbx, %rbx
je 0x324e06
testq %r12, %r12
je 0x324e06
cmpq $0x0, 0x50(%rbx)
je 0x324e06
movq %rbx, %rdi
movq %r12, %rsi
callq 0x325152
movq %rbx, %r15
movq %rax, %rbx
movq 0x10(%r12), %rsi
movq 0x20(%r15), %rdi
movq 0x50(%r15), %rdx
callq 0x32519b
movq 0x10(%r15), %r14
subq %rax, %r14
jb 0x324e1f
movq %r12, %rbp
leaq 0x30(%r15), %rdi
callq 0x3251be
movq %rax, %r12
movq (%rbp), %rax
movq 0x8(%rbp), %rcx
subq %rcx, %rax
subq %rcx, %rax
movq %rax, (%r12)
movq 0x10(%rbp), %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 0x10(%rsp), %rax
movq %rax, 0x8(%r12)
movq %r14, 0x18(%r12)
movq %rbp, 0x80(%rsp)
movq 0x18(%rbp), %rax
movq %rax, 0x20(%r12)
movq %rcx, 0x70(%rsp)
movq %rcx, 0x28(%r12)
movq $0x0, 0x30(%r12)
movq 0x38(%r15), %rax
testq %rax, %rax
movq %r15, %rsi
je 0x324a6a
negq 0x30(%rsp)
movb $0x1, %r14b
decq %rax
movq %rax, 0x38(%rsi)
leaq (%rax,%rax,8), %r12
shlq $0x3, %r12
addq 0x30(%rsi), %r12
testb $0x1, %r14b
je 0x32480d
movq 0x30(%r12), %rax
addq 0x28(%r12), %rax
cmpq 0x78(%rsp), %rax
movzbl %r14b, %r14d
movl $0x0, %eax
cmovael %eax, %r14d
movq 0x30(%r12), %rax
testq %rax, %rax
je 0x324843
leaq -0x1(%rax), %rcx
movq 0x80(%rsp), %rdx
cmpq 0x10(%rdx), %rcx
ja 0x324de8
movb 0x41(%r12), %cl
movq 0x28(%rsi), %rdx
movb %cl, -0x8(%rdx,%rax,8)
movl 0x3c(%r12), %ecx
movl %ecx, -0x4(%rdx,%rax,8)
cmpb $0x0, 0x40(%r12)
je 0x324a6a
testq %r13, %r13
jne 0x324874
movq (%r12), %rdx
movl 0x38(%r12), %r8d
movl %r8d, %ecx
subl 0x3c(%r12), %ecx
movq 0x60(%rsp), %rdi
movq 0x68(%rsp), %rsi
callq 0x32511c
movq 0x10(%r12), %r15
testq %r15, %r15
je 0x324de3
movb 0x40(%r12), %bpl
testb %bpl, %bpl
je 0x324de3
movq (%r12), %rdx
movq 0x8(%r12), %r13
movq 0x18(%r12), %rax
movq 0x20(%r12), %r10
movl 0x38(%r12), %r9d
movl 0x3c(%r12), %esi
movq 0x28(%r12), %r11
movq 0x30(%r12), %rbx
testb $0x2, %bpl
je 0x32495f
testb $0x1, %r14b
je 0x3248d1
cmpq (%rsp), %r13
jl 0x32495f
cmpq 0x30(%rsp), %rdx
jle 0x324dfc
movq %rdx, 0x18(%rsp)
movq 0x18(%rsp), %rcx
leaq -0x1(%rcx), %rdx
movq %r13, %rcx
subq (%rsp), %rcx
movl %r9d, %r8d
subl %esi, %r8d
movl %r9d, 0x24(%rsp)
leaq -0x1(%r15), %r9
subq $0x8, %rsp
movq 0x10(%rsp), %rdi
movl %esi, 0x28(%rsp)
movq 0x18(%rsp), %rsi
pushq %rbx
pushq $0x2
pushq %r11
pushq %r10
pushq %rax
movq %rax, 0x58(%rsp)
movq %rbx, 0x78(%rsp)
movq %r10, %rbx
movq %r11, 0x68(%rsp)
callq 0x325262
movl 0x50(%rsp), %esi
movl 0x54(%rsp), %r9d
movq 0x48(%rsp), %rdx
movq 0x68(%rsp), %r11
movq %rbx, %r10
movq 0x78(%rsp), %rbx
movq 0x58(%rsp), %rax
addq $0x30, %rsp
testb $0x1, %r14b
je 0x324a53
testb $0x4, %bpl
je 0x324971
testb $0x1, %r14b
je 0x324980
cmpq (%rsp), %r13
jge 0x324980
testb $0x1, %bpl
jne 0x324a13
jmp 0x324a53
cmpq 0x50(%rsp), %rdx
jge 0x324e01
movq %rdx, 0x18(%rsp)
movq 0x18(%rsp), %rcx
leaq 0x1(%rcx), %rdx
movq %r13, %rcx
subq (%rsp), %rcx
movl %esi, %r8d
notl %r8d
addl %r9d, %r8d
movl %r9d, 0x24(%rsp)
leaq -0x1(%r15), %r9
subq $0x8, %rsp
movq 0x10(%rsp), %rdi
movl %esi, 0x28(%rsp)
movq 0x18(%rsp), %rsi
pushq %rbx
pushq $0x1
pushq %r11
pushq %r10
pushq %rax
movq %rax, 0x58(%rsp)
movq %rbx, 0x78(%rsp)
movq %r10, %rbx
movq %r11, 0x68(%rsp)
callq 0x325262
movl 0x50(%rsp), %esi
movl 0x54(%rsp), %r9d
movq 0x48(%rsp), %rdx
movq 0x68(%rsp), %r11
movq %rbx, %r10
movq 0x78(%rsp), %rbx
movq 0x58(%rsp), %rax
addq $0x30, %rsp
testb $0x1, %bpl
je 0x324a53
testb $0x1, %r14b
je 0x324a53
testb $0x1, %r14b
je 0x324a1f
cmpq (%rsp), %r13
jl 0x324a53
subq (%rsp), %r13
notl %esi
addl %esi, %r9d
decq %r15
subq $0x8, %rsp
movq 0x10(%rsp), %rdi
movq 0x18(%rsp), %rsi
movq %r13, %rcx
movl %r9d, %r8d
movq %r15, %r9
pushq %rbx
pushq $0x0
pushq %r11
pushq %r10
pushq %rax
callq 0x325262
addq $0x30, %rsp
movq 0x8(%rsp), %rsi
movq 0x38(%rsi), %rax
testq %rax, %rax
movq 0x40(%rsp), %r13
jne 0x3247d8
testq %r12, %r12
je 0x324e2e
testq %r13, %r13
je 0x324db8
movq 0x28(%rsi), %rbx
movq 0x30(%r12), %r14
cmpl $0x8, 0x5c(%rsp)
jb 0x324a99
movq %r13, %rdi
movq 0x70(%rsp), %rsi
callq 0x322783
testq %r14, %r14
je 0x324db8
xorl %r15d, %r15d
movzbl (%rbx,%r15,8), %eax
movq %r13, %rdi
cmpl $0x2, %eax
je 0x324abe
cmpl $0x1, %eax
jne 0x324ac5
callq 0x322629
jmp 0x324aca
callq 0x3226d6
jmp 0x324aca
callq 0x3228fe
movl 0x4(%rbx,%r15,8), %esi
testq %rsi, %rsi
je 0x324adc
movq %r13, %rdi
callq 0x322783
incq %r15
cmpq %r15, %r14
jne 0x324aa5
jmp 0x324db8
testq %rbx, %rbx
je 0x324e0b
testq %r12, %r12
je 0x324e0b
cmpq $0x0, 0x50(%rbx)
je 0x324e0b
movq %rbx, %rdi
movq %r12, %rsi
callq 0x325152
movq %rax, %rbp
movq 0x10(%r12), %rsi
movq 0x20(%rbx), %rdi
movq 0x50(%rbx), %rdx
callq 0x32519b
movq 0x10(%rbx), %rcx
subq %rax, %rcx
jb 0x324e24
movq 0x10(%r12), %r14
cmpq 0x50(%rbx), %r14
jae 0x324e29
movq %rcx, 0x10(%rsp)
leaq (,%rcx,4), %rax
addq (%rbx), %rax
movl (%rax,%rbp,4), %ebx
movl %ebx, %r15d
andb $0x7, %r15b
movl %ebx, %eax
shrl $0x3, %eax
testq %r14, %r14
je 0x324d7d
movq (%r12), %rdx
movq %r12, %rsi
movq 0x8(%r12), %r12
subq %r12, %rdx
subq %r12, %rdx
movq 0x18(%rsi), %r8
negq 0x30(%rsp)
movl $0x1, %r13d
subq %r14, %r13
movb $0x1, 0x28(%rsp)
movl %eax, %ecx
movq %rcx, 0x18(%rsp)
movq 0x40(%rsp), %rdi
testq %rdi, %rdi
movq %r8, (%rsp)
je 0x324bcd
cmpl $0x8, %ebx
jb 0x324bf3
movq %rdi, %rbp
movq 0x18(%rsp), %rsi
movq %rdx, 0x38(%rsp)
callq 0x322783
movq %rbp, %rdi
movq (%rsp), %r8
movq 0x38(%rsp), %rdx
jmp 0x324bf3
movl %r12d, %ecx
subl %eax, %ecx
movq 0x60(%rsp), %rdi
movq 0x68(%rsp), %rsi
movq %rdx, %rbp
movl %r12d, %r8d
callq 0x32511c
movq 0x40(%rsp), %rdi
movq (%rsp), %r8
movq %rbp, %rdx
movb 0x28(%rsp), %bpl
testb %r15b, %bpl
je 0x324c30
movzbl %bpl, %r15d
cmpb $0x1, %r15b
movq 0x8(%rsp), %r9
je 0x324c9a
cmpl $0x4, %r15d
je 0x324c64
cmpl $0x2, %r15d
jne 0x324ded
cmpq 0x30(%rsp), %rdx
jle 0x324df2
decq %rdx
jmp 0x324c97
movl $0x1, %r15d
movb $0x1, %bpl
testb $0x1, %bl
jne 0x324c7a
testb $0x2, %bl
jne 0x324c81
testb $0x4, %bl
je 0x324e10
cmpq 0x50(%rsp), %rdx
movq 0x8(%rsp), %r9
jge 0x324e1a
incq %rdx
movb $0x4, %bpl
jmp 0x324c9a
cmpq 0x50(%rsp), %rdx
jge 0x324df7
incq %rdx
movl $0x1, %r15d
jmp 0x324c9a
movq 0x8(%rsp), %r9
jmp 0x324c9a
cmpq 0x30(%rsp), %rdx
movq 0x8(%rsp), %r9
jle 0x324e15
decq %rdx
movb $0x2, %bpl
xorl %r15d, %r15d
testq %rdi, %rdi
je 0x324cdc
movq %rdx, %rbx
cmpb $0x2, %bpl
je 0x324cb8
movzbl %bpl, %eax
cmpl $0x4, %eax
jne 0x324ccb
callq 0x322629
jmp 0x324cd0
callq 0x3226d6
movq 0x8(%rsp), %r9
movq (%rsp), %r8
movq %rbx, %rdx
jmp 0x324cdc
callq 0x3228fe
movq %rbx, %rdx
movq (%rsp), %r8
movq 0x8(%rsp), %r9
movb %bpl, 0x28(%rsp)
movq 0x20(%r9), %rax
movzwl (%rax,%r14,4), %ebp
movq %r8, %rcx
subq %rbp, %rcx
jb 0x324dd4
leaq (%rcx,%r13), %rsi
cmpq %rdx, %rsi
jg 0x324dcf
leaq -0x1(%r14), %rdi
movzwl 0x2(%rax,%rdi,4), %eax
leaq (%r8,%rax), %rsi
subq %rbp, %rsi
addq %r13, %rsi
cmpq %rsi, %rdx
jge 0x324dde
movq 0x10(%rsp), %rsi
subq %rax, %rsi
jb 0x324dca
movl %r12d, %r12d
addq 0x18(%rsp), %r15
subq %r15, %r12
jb 0x324dd9
addq %rdx, %rbp
subq %r8, %rbp
addq %rbp, %r14
movq %rsi, 0x10(%rsp)
leaq (,%rsi,4), %rax
addq (%r9), %rax
movl -0x4(%rax,%r14,4), %ebx
movl %ebx, %r15d
andb $0x7, %r15b
movl %ebx, %eax
shrl $0x3, %eax
incq %r13
movq %rdi, %r14
movq %rcx, %r8
testq %rdi, %rdi
jne 0x324b93
addq %rdi, %rbp
addq %rbp, 0x10(%rsp)
jne 0x324e33
testb %r15b, %r15b
jne 0x324e33
movq 0x40(%rsp), %rdi
testq %rdi, %rdi
je 0x324db8
cmpl $0x8, %ebx
jb 0x324db8
movl %eax, %esi
addq $0x88, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x322783
addq $0x88, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
callq 0x949ab
callq 0x949e4
callq 0x94a1d
callq 0x94972
callq 0x94939
callq 0x94b73
callq 0x94b3a
callq 0x9488e
callq 0x94855
callq 0x9481c
callq 0x94bac
callq 0x94be5
callq 0x94c90
callq 0x94b01
callq 0x94a56
callq 0x948c7
callq 0x94900
callq 0x94c57
callq 0x94ac8
callq 0x947e3
callq 0x94c1e
callq 0x94a8f