// File: ncbi[P]amr/amr_report.cpp
// Function: (anonymous namespace)::HmmAlignment::betterEq((anonymous namespace)::HmmAlignment const&, unsigned char) const
bool betterEq (const HmmAlignment &other,
                 unsigned char criterion) const
    // Reflexive
    // For one sseqid: one HmmAlignment is better than all others
    { ASSERT (good ());
      ASSERT (other. good ());
      if (sseqid != other. sseqid)
        return false;
      switch (criterion)
      {
        case 0: return fam->descendantOf (other. fam); 
        case 1: 
          {
            LESS_PART (other, *this, score1);
          //return score2 >= other. score2;  // GP-16770
            LESS_PART (other, *this, fam->tc1);
            if (! equidistant)
              LESS_PART (*this, other, fam->id);  // Tie resolution
            return true;
          }
        default: ERROR;
      }
      throw logic_error ("Never call");
    }

// Assembly:
subq $0x3a8, %rsp            # imm = 0x3A8
movb %dl, %al
movq %rdi, 0x398(%rsp)
movq %rsi, 0x390(%rsp)
movb %al, 0x38f(%rsp)
movq 0x398(%rsp), %rax
movq %rax, 0x40(%rsp)
callq 0xc090
movq 0x40(%rsp), %rdi
movl $0x0, (%rax)
callq 0x27e80
testb $0x1, %al
jne 0x492b1
callq 0xc870
cmpl $0x0, %eax
jne 0x492a7
leaq 0x2e7(%rsp), %rdi
movq %rdi, 0x38(%rsp)
callq 0xcca0
movq 0x38(%rsp), %rdx
leaq 0xb48b1(%rip), %rsi     # 0xfd907
leaq 0x2e8(%rsp), %rdi
callq 0x50b50
jmp 0x49065
leaq 0x2b0(%rsp), %rdi
movl $0xf9, %esi
callq 0x52760
jmp 0x49079
leaq 0x308(%rsp), %rdi
leaq 0x2e8(%rsp), %rsi
leaq 0x2b0(%rsp), %rdx
callq 0x52670
jmp 0x49098
leaq 0xb4880(%rip), %rdx     # 0xfd91f
leaq 0x328(%rsp), %rdi
leaq 0x308(%rsp), %rsi
callq 0x50db0
jmp 0x490b6
leaq 0x26f(%rsp), %rdi
movq %rdi, 0x30(%rsp)
callq 0xcca0
movq 0x30(%rsp), %rdx
leaq 0xb5e44(%rip), %rsi     # 0xfef18
leaq 0x270(%rsp), %rdi
callq 0x50b50
jmp 0x490e3
leaq 0xb4d34(%rip), %rdx     # 0xfde1e
leaq 0x290(%rsp), %rdi
leaq 0x270(%rsp), %rsi
callq 0x50db0
jmp 0x49101
leaq 0x348(%rsp), %rdi
leaq 0x328(%rsp), %rsi
leaq 0x290(%rsp), %rdx
callq 0x52670
jmp 0x49120
leaq 0xb8341(%rip), %rdx     # 0x101468
leaq 0x368(%rsp), %rdi
leaq 0x348(%rsp), %rsi
callq 0x50db0
jmp 0x4913e
leaq 0x368(%rsp), %rdi
callq 0x69f20
jmp 0x4914d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d8(%rsp)
movl %eax, 0x2d4(%rsp)
jmp 0x49295
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d8(%rsp)
movl %eax, 0x2d4(%rsp)
jmp 0x49288
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d8(%rsp)
movl %eax, 0x2d4(%rsp)
jmp 0x4927b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d8(%rsp)
movl %eax, 0x2d4(%rsp)
jmp 0x4926e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d8(%rsp)
movl %eax, 0x2d4(%rsp)
jmp 0x49254
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d8(%rsp)
movl %eax, 0x2d4(%rsp)
jmp 0x49247
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d8(%rsp)
movl %eax, 0x2d4(%rsp)
jmp 0x4923a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d8(%rsp)
movl %eax, 0x2d4(%rsp)
jmp 0x4922d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d8(%rsp)
movl %eax, 0x2d4(%rsp)
leaq 0x368(%rsp), %rdi
callq 0xce58
leaq 0x348(%rsp), %rdi
callq 0xce58
leaq 0x290(%rsp), %rdi
callq 0xce58
leaq 0x270(%rsp), %rdi
callq 0xce58
leaq 0x26f(%rsp), %rdi
callq 0xc750
leaq 0x328(%rsp), %rdi
callq 0xce58
leaq 0x308(%rsp), %rdi
callq 0xce58
leaq 0x2b0(%rsp), %rdi
callq 0xce58
leaq 0x2e8(%rsp), %rdi
callq 0xce58
leaq 0x2e7(%rsp), %rdi
callq 0xc750
jmp 0x49988
movl $0x1, %edi
callq 0xc880
callq 0xc090
movl $0x0, (%rax)
movq 0x390(%rsp), %rdi
callq 0x27e80
testb $0x1, %al
jne 0x49558
callq 0xc870
cmpl $0x0, %eax
jne 0x4954e
leaq 0x1c7(%rsp), %rdi
movq %rdi, 0x28(%rsp)
callq 0xcca0
movq 0x28(%rsp), %rdx
leaq 0xb460a(%rip), %rsi     # 0xfd907
leaq 0x1c8(%rsp), %rdi
callq 0x50b50
jmp 0x4930c
leaq 0x1a0(%rsp), %rdi
movl $0xfa, %esi
callq 0x52760
jmp 0x49320
leaq 0x1e8(%rsp), %rdi
leaq 0x1c8(%rsp), %rsi
leaq 0x1a0(%rsp), %rdx
callq 0x52670
jmp 0x4933f
leaq 0xb45d9(%rip), %rdx     # 0xfd91f
leaq 0x208(%rsp), %rdi
leaq 0x1e8(%rsp), %rsi
callq 0x50db0
jmp 0x4935d
leaq 0x15f(%rsp), %rdi
movq %rdi, 0x20(%rsp)
callq 0xcca0
movq 0x20(%rsp), %rdx
leaq 0xb5b9d(%rip), %rsi     # 0xfef18
leaq 0x160(%rsp), %rdi
callq 0x50b50
jmp 0x4938a
leaq 0xb4a8d(%rip), %rdx     # 0xfde1e
leaq 0x180(%rsp), %rdi
leaq 0x160(%rsp), %rsi
callq 0x50db0
jmp 0x493a8
leaq 0x228(%rsp), %rdi
leaq 0x208(%rsp), %rsi
leaq 0x180(%rsp), %rdx
callq 0x52670
jmp 0x493c7
leaq 0xb5ba8(%rip), %rdx     # 0xfef76
leaq 0x248(%rsp), %rdi
leaq 0x228(%rsp), %rsi
callq 0x50db0
jmp 0x493e5
leaq 0x248(%rsp), %rdi
callq 0x69f20
jmp 0x493f4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d8(%rsp)
movl %eax, 0x2d4(%rsp)
jmp 0x4953c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d8(%rsp)
movl %eax, 0x2d4(%rsp)
jmp 0x4952f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d8(%rsp)
movl %eax, 0x2d4(%rsp)
jmp 0x49522
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d8(%rsp)
movl %eax, 0x2d4(%rsp)
jmp 0x49515
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d8(%rsp)
movl %eax, 0x2d4(%rsp)
jmp 0x494fb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d8(%rsp)
movl %eax, 0x2d4(%rsp)
jmp 0x494ee
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d8(%rsp)
movl %eax, 0x2d4(%rsp)
jmp 0x494e1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d8(%rsp)
movl %eax, 0x2d4(%rsp)
jmp 0x494d4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d8(%rsp)
movl %eax, 0x2d4(%rsp)
leaq 0x248(%rsp), %rdi
callq 0xce58
leaq 0x228(%rsp), %rdi
callq 0xce58
leaq 0x180(%rsp), %rdi
callq 0xce58
leaq 0x160(%rsp), %rdi
callq 0xce58
leaq 0x15f(%rsp), %rdi
callq 0xc750
leaq 0x208(%rsp), %rdi
callq 0xce58
leaq 0x1e8(%rsp), %rdi
callq 0xce58
leaq 0x1a0(%rsp), %rdi
callq 0xce58
leaq 0x1c8(%rsp), %rdi
callq 0xce58
leaq 0x1c7(%rsp), %rdi
callq 0xc750
jmp 0x49988
movl $0x1, %edi
callq 0xc880
movq 0x40(%rsp), %rdi
movq 0x390(%rsp), %rsi
callq 0x5d640
testb $0x1, %al
jne 0x49570
jmp 0x4957d
movb $0x0, 0x3a7(%rsp)
jmp 0x49977
movzbl 0x38f(%rsp), %eax
movl %eax, 0x1c(%rsp)
testl %eax, %eax
je 0x4959d
jmp 0x4958f
movl 0x1c(%rsp), %eax
subl $0x1, %eax
je 0x495c5
jmp 0x4970b
movq 0x40(%rsp), %rax
movq 0x30(%rax), %rdi
movq 0x390(%rsp), %rax
movq 0x30(%rax), %rsi
callq 0x499a0
andb $0x1, %al
movb %al, 0x3a7(%rsp)
jmp 0x49977
movq 0x40(%rsp), %rax
movq 0x390(%rsp), %rcx
movsd 0x20(%rcx), %xmm1
movsd 0x20(%rax), %xmm0
ucomisd %xmm1, %xmm0
jbe 0x495ef
movb $0x1, 0x3a7(%rsp)
jmp 0x49977
movq 0x40(%rsp), %rax
movsd 0x20(%rax), %xmm1
movq 0x390(%rsp), %rax
movsd 0x20(%rax), %xmm0
ucomisd %xmm1, %xmm0
jbe 0x49619
movb $0x0, 0x3a7(%rsp)
jmp 0x49977
movq 0x40(%rsp), %rax
movq 0x390(%rsp), %rcx
movq 0x30(%rcx), %rcx
movsd 0x90(%rcx), %xmm1
movq 0x30(%rax), %rax
movsd 0x90(%rax), %xmm0
ucomisd %xmm1, %xmm0
jbe 0x49651
movb $0x1, 0x3a7(%rsp)
jmp 0x49977
movq 0x40(%rsp), %rax
movq 0x30(%rax), %rax
movsd 0x90(%rax), %xmm1
movq 0x390(%rsp), %rax
movq 0x30(%rax), %rax
movsd 0x90(%rax), %xmm0
ucomisd %xmm1, %xmm0
jbe 0x49689
movb $0x0, 0x3a7(%rsp)
jmp 0x49977
testb $0x1, 0xf8618(%rip)     # 0x141ca8
jne 0x496fe
movq 0x40(%rsp), %rax
movq 0x30(%rax), %rdi
addq $0x8, %rdi
movq 0x390(%rsp), %rax
movq 0x30(%rax), %rsi
addq $0x8, %rsi
callq 0x54450
testb $0x1, %al
jne 0x496ba
jmp 0x496c7
movb $0x1, 0x3a7(%rsp)
jmp 0x49977
movq 0x40(%rsp), %rax
movq 0x390(%rsp), %rcx
movq 0x30(%rcx), %rdi
addq $0x8, %rdi
movq 0x30(%rax), %rsi
addq $0x8, %rsi
callq 0x54450
testb $0x1, %al
jne 0x496ef
jmp 0x496fc
movb $0x0, 0x3a7(%rsp)
jmp 0x49977
jmp 0x496fe
movb $0x1, 0x3a7(%rsp)
jmp 0x49977
callq 0xc870
cmpl $0x0, %eax
jne 0x4996d
leaq 0xb7(%rsp), %rdi
movq %rdi, 0x10(%rsp)
callq 0xcca0
movq 0x10(%rsp), %rdx
leaq 0xb41d0(%rip), %rsi     # 0xfd907
leaq 0xb8(%rsp), %rdi
callq 0x50b50
jmp 0x49746
leaq 0x90(%rsp), %rdi
movl $0x109, %esi            # imm = 0x109
callq 0x52760
jmp 0x4975a
leaq 0xd8(%rsp), %rdi
leaq 0xb8(%rsp), %rsi
leaq 0x90(%rsp), %rdx
callq 0x52670
jmp 0x49779
leaq 0xb419f(%rip), %rdx     # 0xfd91f
leaq 0xf8(%rsp), %rdi
leaq 0xd8(%rsp), %rsi
callq 0x50db0
jmp 0x49797
leaq 0x4f(%rsp), %rdi
movq %rdi, 0x8(%rsp)
callq 0xcca0
movq 0x8(%rsp), %rdx
leaq 0xb5766(%rip), %rsi     # 0xfef18
leaq 0x50(%rsp), %rdi
callq 0x50b50
jmp 0x497be
leaq 0xb4659(%rip), %rdx     # 0xfde1e
leaq 0x70(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x50db0
jmp 0x497d6
leaq 0x118(%rsp), %rdi
leaq 0xf8(%rsp), %rsi
leaq 0x70(%rsp), %rdx
callq 0x52670
jmp 0x497f2
leaq 0xb578c(%rip), %rdx     # 0xfef85
leaq 0x138(%rsp), %rdi
leaq 0x118(%rsp), %rsi
callq 0x50db0
jmp 0x49810
leaq 0x138(%rsp), %rdi
callq 0x69f20
jmp 0x4981f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d8(%rsp)
movl %eax, 0x2d4(%rsp)
jmp 0x4995e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d8(%rsp)
movl %eax, 0x2d4(%rsp)
jmp 0x49951
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d8(%rsp)
movl %eax, 0x2d4(%rsp)
jmp 0x49944
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d8(%rsp)
movl %eax, 0x2d4(%rsp)
jmp 0x49937
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d8(%rsp)
movl %eax, 0x2d4(%rsp)
jmp 0x49920
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d8(%rsp)
movl %eax, 0x2d4(%rsp)
jmp 0x49916
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d8(%rsp)
movl %eax, 0x2d4(%rsp)
jmp 0x4990c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d8(%rsp)
movl %eax, 0x2d4(%rsp)
jmp 0x498ff
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2d8(%rsp)
movl %eax, 0x2d4(%rsp)
leaq 0x138(%rsp), %rdi
callq 0xce58
leaq 0x118(%rsp), %rdi
callq 0xce58
leaq 0x70(%rsp), %rdi
callq 0xce58
leaq 0x50(%rsp), %rdi
callq 0xce58
leaq 0x4f(%rsp), %rdi
callq 0xc750
leaq 0xf8(%rsp), %rdi
callq 0xce58
leaq 0xd8(%rsp), %rdi
callq 0xce58
leaq 0x90(%rsp), %rdi
callq 0xce58
leaq 0xb8(%rsp), %rdi
callq 0xce58
leaq 0xb7(%rsp), %rdi
callq 0xc750
jmp 0x49988
movl $0x1, %edi
callq 0xc880
movb 0x3a7(%rsp), %al
andb $0x1, %al
addq $0x3a8, %rsp            # imm = 0x3A8
retq
movq 0x2d8(%rsp), %rdi
callq 0xcc90
nopw %cs:(%rax,%rax)