// File: /workspace/github_cpp_makefile_star2_O2/ncbi[P]amr/stx/stxtyper.cpp
// Function: (anonymous namespace)::BlastAlignment::sameClassLess((anonymous namespace)::BlastAlignment const*, (anonymous namespace)::BlastAlignment const*)
static bool sameClassLess (const BlastAlignment* a,
                             const BlastAlignment* b) 
    { ASSERT (a);
      ASSERT (b);
      LESS_PART (*a, *b, reported);
      LESS_PART (*a, *b, targetName);
      LESS_PART (*a, *b, targetStrand);
      LESS_PART (*a, *b, stxClass);
      LESS_PART (*a, *b, subunit);
      LESS_PART (*a, *b, targetStart);
      LESS_PART (*b, *a, getIdentity ());  
      LESS_PART (*b, *a, getRelCoverage ());  
      // Tie resolution
      LESS_PART (*a, *b, refAccession);  
      return false;
    }

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x110, %rsp            # imm = 0x110
movq %rsi, %r15
movq %rdi, %r14
callq 0xa060
andl $0x0, (%rax)
testq %r14, %r14
je 0x1359f
testq %r15, %r15
je 0x13673
movb 0x168(%r14), %al
movb 0x168(%r15), %cl
movb $0x1, %bl
cmpb %cl, %al
jb 0x133c7
jbe 0x133b0
xorl %ebx, %ebx
jmp 0x133c7
leaq 0x58(%r14), %r12
leaq 0x58(%r15), %r13
movq %r12, %rdi
movq %r13, %rsi
callq 0x1a81a
testb %al, %al
je 0x133da
movl %ebx, %eax
addq $0x110, %rsp            # imm = 0x110
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
movq %r13, %rdi
movq %r12, %rsi
callq 0x1a81a
testb %al, %al
jne 0x133ac
movb 0x98(%r14), %al
movb 0x98(%r15), %cl
cmpb %cl, %al
jb 0x133c7
ja 0x133ac
movl $0x100, %r13d           # imm = 0x100
leaq (%r14,%r13), %r12
addq %r15, %r13
movq %r12, %rdi
movq %r13, %rsi
callq 0x1a81a
testb %al, %al
jne 0x133c7
movq %r13, %rdi
movq %r12, %rsi
callq 0x1a81a
testb %al, %al
jne 0x133ac
movb 0x140(%r14), %al
movb 0x140(%r15), %cl
cmpb %cl, %al
jl 0x133c7
jg 0x133ac
movq 0x30(%r14), %rax
movq 0x30(%r15), %rcx
cmpq %rcx, %rax
jb 0x133c7
ja 0x133ac
movdqu (%r15), %xmm4
movdqa 0x3cbbc(%rip), %xmm0    # 0x50020
movdqa %xmm4, %xmm5
pand %xmm0, %xmm5
movdqa 0x3cbbc(%rip), %xmm1    # 0x50030
por %xmm1, %xmm5
psrlq $0x20, %xmm4
movdqa 0x3cbbb(%rip), %xmm2    # 0x50040
por %xmm2, %xmm4
movapd 0x3cbbf(%rip), %xmm3    # 0x50050
subpd %xmm3, %xmm4
addpd %xmm5, %xmm4
movdqu (%r14), %xmm6
movdqa %xmm6, %xmm5
pand %xmm0, %xmm5
por %xmm1, %xmm5
psrlq $0x20, %xmm6
por %xmm2, %xmm6
subpd %xmm3, %xmm6
addpd %xmm5, %xmm6
movapd %xmm4, %xmm5
unpckhpd %xmm6, %xmm5            # xmm5 = xmm5[1],xmm6[1]
unpcklpd %xmm6, %xmm4            # xmm4 = xmm4[0],xmm6[0]
divpd %xmm4, %xmm5
movapd %xmm5, %xmm4
unpckhpd %xmm5, %xmm4            # xmm4 = xmm4[1],xmm5[1]
ucomisd %xmm5, %xmm4
ja 0x133c7
ucomisd %xmm4, %xmm5
ja 0x133ac
movq 0x20(%r14), %xmm5
movq 0x20(%r15), %xmm4
punpcklqdq %xmm5, %xmm4    # xmm4 = xmm4[0],xmm5[0]
movq 0x18(%r14), %xmm5
movq 0x18(%r15), %xmm6
punpcklqdq %xmm5, %xmm6    # xmm6 = xmm6[0],xmm5[0]
psubq %xmm6, %xmm4
movdqa %xmm4, %xmm5
pand %xmm0, %xmm5
por %xmm1, %xmm5
psrlq $0x20, %xmm4
por %xmm2, %xmm4
subpd %xmm3, %xmm4
addpd %xmm5, %xmm4
movq 0x28(%r14), %xmm5
movq 0x28(%r15), %xmm6
punpcklqdq %xmm5, %xmm6    # xmm6 = xmm6[0],xmm5[0]
pand %xmm6, %xmm0
por %xmm1, %xmm0
psrlq $0x20, %xmm6
por %xmm2, %xmm6
subpd %xmm3, %xmm6
addpd %xmm0, %xmm6
divpd %xmm6, %xmm4
movapd %xmm4, %xmm0
unpckhpd %xmm4, %xmm0            # xmm0 = xmm0[1],xmm4[1]
ucomisd %xmm4, %xmm0
ja 0x133c7
ucomisd %xmm0, %xmm4
ja 0x133ac
movl $0xa0, %eax
addq %rax, %r14
addq %rax, %r15
movq %r14, %rdi
movq %r15, %rsi
callq 0x1a81a
testb %al, %al
jne 0x133c7
movq %r15, %rdi
movq %r14, %rsi
callq 0x1a81a
jmp 0x133ac
callq 0xa6a0
testl %eax, %eax
jne 0x13747
leaq 0x3d135(%rip), %rsi     # 0x506e8
leaq 0x70(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x18af0
leaq 0x50(%rsp), %rdi
movl $0x1ed, %esi            # imm = 0x1ED
callq 0x1a2c7
leaq 0x90(%rsp), %rdi
leaq 0x70(%rsp), %rsi
leaq 0x50(%rsp), %rdx
callq 0x19646
leaq 0x3d10f(%rip), %rdx     # 0x506fe
leaq 0xb0(%rsp), %rdi
leaq 0x90(%rsp), %rsi
callq 0x19582
leaq 0x3d945(%rip), %rsi     # 0x50f50
leaq 0x10(%rsp), %rdi
leaq 0xe(%rsp), %rdx
callq 0x18af0
leaq 0x3e5ab(%rip), %rdx     # 0x51bcc
leaq 0x30(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x19582
leaq 0xd0(%rsp), %rdi
leaq 0xb0(%rsp), %rsi
leaq 0x30(%rsp), %rdx
callq 0x19646
leaq 0x3cf90(%rip), %rdx     # 0x505e1
leaq 0xf0(%rsp), %rdi
leaq 0xd0(%rsp), %rsi
callq 0x19582
leaq 0xf0(%rsp), %rdi
callq 0x1ccf0
callq 0xa6a0
testl %eax, %eax
jne 0x13747
leaq 0x3d061(%rip), %rsi     # 0x506e8
leaq 0x70(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x18af0
leaq 0x50(%rsp), %rdi
movl $0x1ee, %esi            # imm = 0x1EE
callq 0x1a2c7
leaq 0x90(%rsp), %rdi
leaq 0x70(%rsp), %rsi
leaq 0x50(%rsp), %rdx
callq 0x19646
leaq 0x3d03b(%rip), %rdx     # 0x506fe
leaq 0xb0(%rsp), %rdi
leaq 0x90(%rsp), %rsi
callq 0x19582
leaq 0x3d871(%rip), %rsi     # 0x50f50
leaq 0x10(%rsp), %rdi
leaq 0xe(%rsp), %rdx
callq 0x18af0
leaq 0x3e4d7(%rip), %rdx     # 0x51bcc
leaq 0x30(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x19582
leaq 0xd0(%rsp), %rdi
leaq 0xb0(%rsp), %rsi
leaq 0x30(%rsp), %rdx
callq 0x19646
leaq 0x3cec8(%rip), %rdx     # 0x505ed
leaq 0xf0(%rsp), %rdi
leaq 0xd0(%rsp), %rsi
callq 0x19582
leaq 0xf0(%rsp), %rdi
callq 0x1ccf0
pushq $0x1
popq %rdi
callq 0xa6b0
jmp 0x13753
jmp 0x13765
movq %rax, %rbx
leaq 0xf0(%rsp), %rdi
callq 0xab28
jmp 0x13768
movq %rax, %rbx
leaq 0xd0(%rsp), %rdi
callq 0xab28
jmp 0x1377c
jmp 0x13779
movq %rax, %rbx
leaq 0x30(%rsp), %rdi
callq 0xab28
jmp 0x1378d
jmp 0x1378a
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0xab28
jmp 0x1379e
jmp 0x1379b
movq %rax, %rbx
leaq 0xb0(%rsp), %rdi
callq 0xab28
jmp 0x137b2
jmp 0x137af
movq %rax, %rbx
leaq 0x90(%rsp), %rdi
callq 0xab28
jmp 0x137c6
jmp 0x137c3
movq %rax, %rbx
leaq 0x50(%rsp), %rdi
callq 0xab28
jmp 0x137d7
jmp 0x137d4
movq %rax, %rbx
leaq 0x70(%rsp), %rdi
callq 0xab28
jmp 0x137e8
jmp 0x137e5
movq %rax, %rbx
movq %rbx, %rdi
callq 0xa9f0