// File: ncbi[P]amr/seq.cpp
// Function: Seq_sp::SubstMat::qc() const
void SubstMat::qc () const
{
  if (! qc_on)
    return;
    
  // sim[][]
  FOR (size_t, i, sim_size)
  {
    if (! goodIndex (i))
      continue;
    QC_IMPLY (! isAmbigAa (char (i)), sim [i] [i] >= 0.0);
    FOR (size_t, j, sim_size)
    {
      if (! goodIndex (j))
        continue;
      QC_ASSERT (fabs (sim [i] [j] - sim [j] [i]) < 1e-6);  // PAR
    }
  }
}

// Assembly:
subq $0x278, %rsp            # imm = 0x278
movq %rdi, 0x270(%rsp)
movq 0x270(%rsp), %rax
movq %rax, 0x28(%rsp)
leaq 0x6aa35(%rip), %rax     # 0x120c58
testb $0x1, (%rax)
jne 0xb622d
jmp 0xb688c
movq $0x0, 0x268(%rsp)
cmpq $0x80, 0x268(%rsp)
jae 0xb688c
movq 0x28(%rsp), %rdi
movq 0x268(%rsp), %rsi
callq 0xd8410
testb $0x1, %al
jne 0xb6266
jmp 0xb6873
movq 0x268(%rsp), %rax
movsbl %al, %edi
callq 0xd8470
testb $0x1, %al
jne 0xb6547
callq 0xd0a0
movq %rax, %rcx
movq 0x28(%rsp), %rax
movl $0x0, (%rcx)
addq $0x8, %rax
movq 0x268(%rsp), %rcx
shlq $0xa, %rcx
addq %rcx, %rax
movq 0x268(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jae 0xb6545
callq 0xd8c0
cmpl $0x0, %eax
jne 0xb653b
leaq 0x1c7(%rsp), %rdi
movq %rdi, 0x20(%rsp)
callq 0xdd50
movq 0x20(%rsp), %rdx
leaq 0x3215c(%rip), %rsi     # 0xe8446
leaq 0x1c8(%rsp), %rdi
callq 0xfae0
jmp 0xb62f9
leaq 0x190(%rsp), %rdi
movl $0xccf, %esi            # imm = 0xCCF
callq 0x11600
jmp 0xb630d
leaq 0x1e8(%rsp), %rdi
leaq 0x1c8(%rsp), %rsi
leaq 0x190(%rsp), %rdx
callq 0x11510
jmp 0xb632c
leaq 0x2ce9e(%rip), %rdx     # 0xe31d1
leaq 0x208(%rsp), %rdi
leaq 0x1e8(%rsp), %rsi
callq 0x114c0
jmp 0xb634a
leaq 0x14f(%rsp), %rdi
movq %rdi, 0x18(%rsp)
callq 0xdd50
movq 0x18(%rsp), %rdx
leaq 0x32965(%rip), %rsi     # 0xe8ccd
leaq 0x150(%rsp), %rdi
callq 0xfae0
jmp 0xb6377
leaq 0x2d626(%rip), %rdx     # 0xe39a4
leaq 0x170(%rsp), %rdi
leaq 0x150(%rsp), %rsi
callq 0x114c0
jmp 0xb6395
leaq 0x228(%rsp), %rdi
leaq 0x208(%rsp), %rsi
leaq 0x170(%rsp), %rdx
callq 0x11510
jmp 0xb63b4
leaq 0x3293c(%rip), %rdx     # 0xe8cf7
leaq 0x248(%rsp), %rdi
leaq 0x228(%rsp), %rsi
callq 0x114c0
jmp 0xb63d2
leaq 0x248(%rsp), %rdi
callq 0x173d0
jmp 0xb63e1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1b8(%rsp)
movl %eax, 0x1b4(%rsp)
jmp 0xb6529
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1b8(%rsp)
movl %eax, 0x1b4(%rsp)
jmp 0xb651c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1b8(%rsp)
movl %eax, 0x1b4(%rsp)
jmp 0xb650f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1b8(%rsp)
movl %eax, 0x1b4(%rsp)
jmp 0xb6502
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1b8(%rsp)
movl %eax, 0x1b4(%rsp)
jmp 0xb64e8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1b8(%rsp)
movl %eax, 0x1b4(%rsp)
jmp 0xb64db
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1b8(%rsp)
movl %eax, 0x1b4(%rsp)
jmp 0xb64ce
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1b8(%rsp)
movl %eax, 0x1b4(%rsp)
jmp 0xb64c1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1b8(%rsp)
movl %eax, 0x1b4(%rsp)
leaq 0x248(%rsp), %rdi
callq 0xdf08
leaq 0x228(%rsp), %rdi
callq 0xdf08
leaq 0x170(%rsp), %rdi
callq 0xdf08
leaq 0x150(%rsp), %rdi
callq 0xdf08
leaq 0x14f(%rsp), %rdi
callq 0xd7a0
leaq 0x208(%rsp), %rdi
callq 0xdf08
leaq 0x1e8(%rsp), %rdi
callq 0xdf08
leaq 0x190(%rsp), %rdi
callq 0xdf08
leaq 0x1c8(%rsp), %rdi
callq 0xdf08
leaq 0x1c7(%rsp), %rdi
callq 0xd7a0
jmp 0xb6894
movl $0x1, %edi
callq 0xd8e0
jmp 0xb6547
movq $0x0, 0x140(%rsp)
cmpq $0x80, 0x140(%rsp)
jae 0xb6871
movq 0x28(%rsp), %rdi
movq 0x140(%rsp), %rsi
callq 0xd8410
testb $0x1, %al
jne 0xb6580
jmp 0xb6858
callq 0xd0a0
movq %rax, %rcx
movq 0x28(%rsp), %rax
movl $0x0, (%rcx)
movq %rax, %rcx
addq $0x8, %rcx
movq 0x268(%rsp), %rdx
shlq $0xa, %rdx
addq %rdx, %rcx
movq 0x140(%rsp), %rdx
movsd (%rcx,%rdx,8), %xmm1
addq $0x8, %rax
movq 0x140(%rsp), %rcx
shlq $0xa, %rcx
addq %rcx, %rax
movq 0x268(%rsp), %rcx
subsd (%rax,%rcx,8), %xmm1
movaps 0x2d1b3(%rip), %xmm0    # 0xe3790
pand %xmm0, %xmm1
movsd 0x31dbf(%rip), %xmm0    # 0xe83a8
ucomisd %xmm1, %xmm0
ja 0xb6856
callq 0xd8c0
cmpl $0x0, %eax
jne 0xb684c
leaq 0x9f(%rsp), %rdi
movq %rdi, 0x10(%rsp)
callq 0xdd50
movq 0x10(%rsp), %rdx
leaq 0x31e27(%rip), %rsi     # 0xe8446
leaq 0xa0(%rsp), %rdi
callq 0xfae0
jmp 0xb662e
leaq 0x78(%rsp), %rdi
movl $0xcd4, %esi            # imm = 0xCD4
callq 0x11600
jmp 0xb663f
leaq 0xc0(%rsp), %rdi
leaq 0xa0(%rsp), %rsi
leaq 0x78(%rsp), %rdx
callq 0x11510
jmp 0xb665b
leaq 0x2cb6f(%rip), %rdx     # 0xe31d1
leaq 0xe0(%rsp), %rdi
leaq 0xc0(%rsp), %rsi
callq 0x114c0
jmp 0xb6679
leaq 0x37(%rsp), %rdi
movq %rdi, 0x8(%rsp)
callq 0xdd50
movq 0x8(%rsp), %rdx
leaq 0x32639(%rip), %rsi     # 0xe8ccd
leaq 0x38(%rsp), %rdi
callq 0xfae0
jmp 0xb66a0
leaq 0x2d2fd(%rip), %rdx     # 0xe39a4
leaq 0x58(%rsp), %rdi
leaq 0x38(%rsp), %rsi
callq 0x114c0
jmp 0xb66b8
leaq 0x100(%rsp), %rdi
leaq 0xe0(%rsp), %rsi
leaq 0x58(%rsp), %rdx
callq 0x11510
jmp 0xb66d4
leaq 0x3262f(%rip), %rdx     # 0xe8d0a
leaq 0x120(%rsp), %rdi
leaq 0x100(%rsp), %rsi
callq 0x114c0
jmp 0xb66f2
leaq 0x120(%rsp), %rdi
callq 0x173d0
jmp 0xb6701
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1b8(%rsp)
movl %eax, 0x1b4(%rsp)
jmp 0xb683d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1b8(%rsp)
movl %eax, 0x1b4(%rsp)
jmp 0xb6830
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1b8(%rsp)
movl %eax, 0x1b4(%rsp)
jmp 0xb6826
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1b8(%rsp)
movl %eax, 0x1b4(%rsp)
jmp 0xb6819
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1b8(%rsp)
movl %eax, 0x1b4(%rsp)
jmp 0xb6802
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1b8(%rsp)
movl %eax, 0x1b4(%rsp)
jmp 0xb67f8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1b8(%rsp)
movl %eax, 0x1b4(%rsp)
jmp 0xb67ee
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1b8(%rsp)
movl %eax, 0x1b4(%rsp)
jmp 0xb67e1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1b8(%rsp)
movl %eax, 0x1b4(%rsp)
leaq 0x120(%rsp), %rdi
callq 0xdf08
leaq 0x100(%rsp), %rdi
callq 0xdf08
leaq 0x58(%rsp), %rdi
callq 0xdf08
leaq 0x38(%rsp), %rdi
callq 0xdf08
leaq 0x37(%rsp), %rdi
callq 0xd7a0
leaq 0xe0(%rsp), %rdi
callq 0xdf08
leaq 0xc0(%rsp), %rdi
callq 0xdf08
leaq 0x78(%rsp), %rdi
callq 0xdf08
leaq 0xa0(%rsp), %rdi
callq 0xdf08
leaq 0x9f(%rsp), %rdi
callq 0xd7a0
jmp 0xb6894
movl $0x1, %edi
callq 0xd8e0
jmp 0xb6858
movq 0x140(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x140(%rsp)
jmp 0xb6553
jmp 0xb6873
movq 0x268(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x268(%rsp)
jmp 0xb6239
addq $0x278, %rsp            # imm = 0x278
retq
movq 0x1b8(%rsp), %rdi
callq 0xdd40
nopw %cs:(%rax,%rax)