// File: ncbi[P]amr/seq.cpp
// Function: Seq_sp::Align::getMinEditDistance() const
AlignScore Align::getMinEditDistance () const
{	
  ASSERT (self_score1 >= 0.0);
  ASSERT (self_score2 >= 0.0);
  
  const AlignScore dist = self_score1 + self_score2 - 2 * score;
  ASSERT (dist >= 0.0);
	return dist;
}

// Assembly:
subq $0x388, %rsp            # imm = 0x388
movq %rdi, 0x380(%rsp)
movq 0x380(%rsp), %rax
movq %rax, 0x30(%rsp)
callq 0xd0a0
movq %rax, %rcx
movq 0x30(%rsp), %rax
movl $0x0, (%rcx)
movsd 0x70(%rax), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jae 0xc6ed8
callq 0xd8c0
cmpl $0x0, %eax
jne 0xc6ece
leaq 0x2df(%rsp), %rdi
movq %rdi, 0x28(%rsp)
callq 0xdd50
movq 0x28(%rsp), %rdx
leaq 0x217c9(%rip), %rsi     # 0xe8446
leaq 0x2e0(%rsp), %rdi
callq 0xfae0
jmp 0xc6c8c
leaq 0x2a8(%rsp), %rdi
movl $0x1148, %esi           # imm = 0x1148
callq 0x11600
jmp 0xc6ca0
leaq 0x300(%rsp), %rdi
leaq 0x2e0(%rsp), %rsi
leaq 0x2a8(%rsp), %rdx
callq 0x11510
jmp 0xc6cbf
leaq 0x1c50b(%rip), %rdx     # 0xe31d1
leaq 0x320(%rsp), %rdi
leaq 0x300(%rsp), %rsi
callq 0x114c0
jmp 0xc6cdd
leaq 0x267(%rsp), %rdi
movq %rdi, 0x20(%rsp)
callq 0xdd50
movq 0x20(%rsp), %rdx
leaq 0x22912(%rip), %rsi     # 0xe960d
leaq 0x268(%rsp), %rdi
callq 0xfae0
jmp 0xc6d0a
leaq 0x1cc93(%rip), %rdx     # 0xe39a4
leaq 0x288(%rsp), %rdi
leaq 0x268(%rsp), %rsi
callq 0x114c0
jmp 0xc6d28
leaq 0x340(%rsp), %rdi
leaq 0x320(%rsp), %rsi
leaq 0x288(%rsp), %rdx
callq 0x11510
jmp 0xc6d47
leaq 0x2286f(%rip), %rdx     # 0xe95bd
leaq 0x360(%rsp), %rdi
leaq 0x340(%rsp), %rsi
callq 0x114c0
jmp 0xc6d65
leaq 0x360(%rsp), %rdi
callq 0x173d0
jmp 0xc6d74
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d0(%rsp)
movl %eax, 0x2cc(%rsp)
jmp 0xc6ebc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d0(%rsp)
movl %eax, 0x2cc(%rsp)
jmp 0xc6eaf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d0(%rsp)
movl %eax, 0x2cc(%rsp)
jmp 0xc6ea2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d0(%rsp)
movl %eax, 0x2cc(%rsp)
jmp 0xc6e95
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d0(%rsp)
movl %eax, 0x2cc(%rsp)
jmp 0xc6e7b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d0(%rsp)
movl %eax, 0x2cc(%rsp)
jmp 0xc6e6e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d0(%rsp)
movl %eax, 0x2cc(%rsp)
jmp 0xc6e61
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d0(%rsp)
movl %eax, 0x2cc(%rsp)
jmp 0xc6e54
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d0(%rsp)
movl %eax, 0x2cc(%rsp)
leaq 0x360(%rsp), %rdi
callq 0xdf08
leaq 0x340(%rsp), %rdi
callq 0xdf08
leaq 0x288(%rsp), %rdi
callq 0xdf08
leaq 0x268(%rsp), %rdi
callq 0xdf08
leaq 0x267(%rsp), %rdi
callq 0xd7a0
leaq 0x320(%rsp), %rdi
callq 0xdf08
leaq 0x300(%rsp), %rdi
callq 0xdf08
leaq 0x2a8(%rsp), %rdi
callq 0xdf08
leaq 0x2e0(%rsp), %rdi
callq 0xdf08
leaq 0x2df(%rsp), %rdi
callq 0xd7a0
jmp 0xc7445
movl $0x1, %edi
callq 0xd8e0
callq 0xd0a0
movq %rax, %rcx
movq 0x30(%rsp), %rax
movl $0x0, (%rcx)
movsd 0x78(%rax), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jae 0xc7184
callq 0xd8c0
cmpl $0x0, %eax
jne 0xc717a
leaq 0x1bf(%rsp), %rdi
movq %rdi, 0x18(%rsp)
callq 0xdd50
movq 0x18(%rsp), %rdx
leaq 0x2151d(%rip), %rsi     # 0xe8446
leaq 0x1c0(%rsp), %rdi
callq 0xfae0
jmp 0xc6f38
leaq 0x198(%rsp), %rdi
movl $0x1149, %esi           # imm = 0x1149
callq 0x11600
jmp 0xc6f4c
leaq 0x1e0(%rsp), %rdi
leaq 0x1c0(%rsp), %rsi
leaq 0x198(%rsp), %rdx
callq 0x11510
jmp 0xc6f6b
leaq 0x1c25f(%rip), %rdx     # 0xe31d1
leaq 0x200(%rsp), %rdi
leaq 0x1e0(%rsp), %rsi
callq 0x114c0
jmp 0xc6f89
leaq 0x157(%rsp), %rdi
movq %rdi, 0x10(%rsp)
callq 0xdd50
movq 0x10(%rsp), %rdx
leaq 0x22666(%rip), %rsi     # 0xe960d
leaq 0x158(%rsp), %rdi
callq 0xfae0
jmp 0xc6fb6
leaq 0x1c9e7(%rip), %rdx     # 0xe39a4
leaq 0x178(%rsp), %rdi
leaq 0x158(%rsp), %rsi
callq 0x114c0
jmp 0xc6fd4
leaq 0x220(%rsp), %rdi
leaq 0x200(%rsp), %rsi
leaq 0x178(%rsp), %rdx
callq 0x11510
jmp 0xc6ff3
leaq 0x225d6(%rip), %rdx     # 0xe95d0
leaq 0x240(%rsp), %rdi
leaq 0x220(%rsp), %rsi
callq 0x114c0
jmp 0xc7011
leaq 0x240(%rsp), %rdi
callq 0x173d0
jmp 0xc7020
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d0(%rsp)
movl %eax, 0x2cc(%rsp)
jmp 0xc7168
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d0(%rsp)
movl %eax, 0x2cc(%rsp)
jmp 0xc715b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d0(%rsp)
movl %eax, 0x2cc(%rsp)
jmp 0xc714e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d0(%rsp)
movl %eax, 0x2cc(%rsp)
jmp 0xc7141
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d0(%rsp)
movl %eax, 0x2cc(%rsp)
jmp 0xc7127
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d0(%rsp)
movl %eax, 0x2cc(%rsp)
jmp 0xc711a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d0(%rsp)
movl %eax, 0x2cc(%rsp)
jmp 0xc710d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d0(%rsp)
movl %eax, 0x2cc(%rsp)
jmp 0xc7100
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d0(%rsp)
movl %eax, 0x2cc(%rsp)
leaq 0x240(%rsp), %rdi
callq 0xdf08
leaq 0x220(%rsp), %rdi
callq 0xdf08
leaq 0x178(%rsp), %rdi
callq 0xdf08
leaq 0x158(%rsp), %rdi
callq 0xdf08
leaq 0x157(%rsp), %rdi
callq 0xd7a0
leaq 0x200(%rsp), %rdi
callq 0xdf08
leaq 0x1e0(%rsp), %rdi
callq 0xdf08
leaq 0x198(%rsp), %rdi
callq 0xdf08
leaq 0x1c0(%rsp), %rdi
callq 0xdf08
leaq 0x1bf(%rsp), %rdi
callq 0xd7a0
jmp 0xc7445
movl $0x1, %edi
callq 0xd8e0
movq 0x30(%rsp), %rax
movsd 0x70(%rax), %xmm0
addsd 0x78(%rax), %xmm0
movsd 0x8(%rax), %xmm1
addsd %xmm1, %xmm1
subsd %xmm1, %xmm0
movsd %xmm0, 0x148(%rsp)
callq 0xd0a0
movl $0x0, (%rax)
movsd 0x148(%rsp), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jae 0xc7434
callq 0xd8c0
cmpl $0x0, %eax
jne 0xc742a
leaq 0xa7(%rsp), %rdi
movq %rdi, 0x8(%rsp)
callq 0xdd50
movq 0x8(%rsp), %rdx
leaq 0x21250(%rip), %rsi     # 0xe8446
leaq 0xa8(%rsp), %rdi
callq 0xfae0
jmp 0xc7205
leaq 0x80(%rsp), %rdi
movl $0x114c, %esi           # imm = 0x114C
callq 0x11600
jmp 0xc7219
leaq 0xc8(%rsp), %rdi
leaq 0xa8(%rsp), %rsi
leaq 0x80(%rsp), %rdx
callq 0x11510
jmp 0xc7238
leaq 0x1bf92(%rip), %rdx     # 0xe31d1
leaq 0xe8(%rsp), %rdi
leaq 0xc8(%rsp), %rsi
callq 0x114c0
jmp 0xc7256
leaq 0x3f(%rsp), %rdi
movq %rdi, (%rsp)
callq 0xdd50
movq (%rsp), %rdx
leaq 0x2239e(%rip), %rsi     # 0xe960d
leaq 0x40(%rsp), %rdi
callq 0xfae0
jmp 0xc727b
leaq 0x1c722(%rip), %rdx     # 0xe39a4
leaq 0x60(%rsp), %rdi
leaq 0x40(%rsp), %rsi
callq 0x114c0
jmp 0xc7293
leaq 0x108(%rsp), %rdi
leaq 0xe8(%rsp), %rsi
leaq 0x60(%rsp), %rdx
callq 0x11510
jmp 0xc72af
leaq 0x2238c(%rip), %rdx     # 0xe9642
leaq 0x128(%rsp), %rdi
leaq 0x108(%rsp), %rsi
callq 0x114c0
jmp 0xc72cd
leaq 0x128(%rsp), %rdi
callq 0x173d0
jmp 0xc72dc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d0(%rsp)
movl %eax, 0x2cc(%rsp)
jmp 0xc741b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d0(%rsp)
movl %eax, 0x2cc(%rsp)
jmp 0xc740e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d0(%rsp)
movl %eax, 0x2cc(%rsp)
jmp 0xc7401
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d0(%rsp)
movl %eax, 0x2cc(%rsp)
jmp 0xc73f4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d0(%rsp)
movl %eax, 0x2cc(%rsp)
jmp 0xc73dd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d0(%rsp)
movl %eax, 0x2cc(%rsp)
jmp 0xc73d3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d0(%rsp)
movl %eax, 0x2cc(%rsp)
jmp 0xc73c9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d0(%rsp)
movl %eax, 0x2cc(%rsp)
jmp 0xc73bc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d0(%rsp)
movl %eax, 0x2cc(%rsp)
leaq 0x128(%rsp), %rdi
callq 0xdf08
leaq 0x108(%rsp), %rdi
callq 0xdf08
leaq 0x60(%rsp), %rdi
callq 0xdf08
leaq 0x40(%rsp), %rdi
callq 0xdf08
leaq 0x3f(%rsp), %rdi
callq 0xd7a0
leaq 0xe8(%rsp), %rdi
callq 0xdf08
leaq 0xc8(%rsp), %rdi
callq 0xdf08
leaq 0x80(%rsp), %rdi
callq 0xdf08
leaq 0xa8(%rsp), %rdi
callq 0xdf08
leaq 0xa7(%rsp), %rdi
callq 0xd7a0
jmp 0xc7445
movl $0x1, %edi
callq 0xd8e0
movsd 0x148(%rsp), %xmm0
addq $0x388, %rsp            # imm = 0x388
retq
movq 0x2d0(%rsp), %rdi
callq 0xdd40
nopw %cs:(%rax,%rax)