// File: /workspace/github_cpp_makefile_star2_O2/ncbi[P]amr/stx/stxtyper.cpp
// Function: (anonymous namespace)::BlastAlignment::less((anonymous namespace)::BlastAlignment const*, (anonymous namespace)::BlastAlignment const*)
static bool less (const BlastAlignment* a,
                    const BlastAlignment* b) 
    // = sameClassLess(), but without stxClass
    { ASSERT (a);
      ASSERT (b);
    //LESS_PART (*a, *b, reported);
      LESS_PART (*a, *b, targetName);
      LESS_PART (*a, *b, targetStrand);
      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 0x1563e
testq %r15, %r15
je 0x15712
leaq 0x58(%r14), %r12
leaq 0x58(%r15), %r13
movq %r12, %rdi
movq %r13, %rsi
callq 0x1a81a
movb $0x1, %bl
testb %al, %al
jne 0x154be
movq %r13, %rdi
movq %r12, %rsi
callq 0x1a81a
testb %al, %al
je 0x154ac
xorl %ebx, %ebx
jmp 0x154be
movb 0x98(%r14), %al
movb 0x98(%r15), %cl
cmpb %cl, %al
jae 0x154d1
movl %ebx, %eax
addq $0x110, %rsp            # imm = 0x110
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
ja 0x154a8
movb 0x140(%r14), %al
movb 0x140(%r15), %cl
cmpb %cl, %al
jl 0x154be
jg 0x154a8
movq 0x30(%r14), %rax
movq 0x30(%r15), %rcx
cmpq %rcx, %rax
jb 0x154be
ja 0x154a8
movdqu (%r15), %xmm4
movdqa 0x3ab1d(%rip), %xmm0    # 0x50020
movdqa %xmm4, %xmm5
pand %xmm0, %xmm5
movdqa 0x3ab1d(%rip), %xmm1    # 0x50030
por %xmm1, %xmm5
psrlq $0x20, %xmm4
movdqa 0x3ab1c(%rip), %xmm2    # 0x50040
por %xmm2, %xmm4
movapd 0x3ab20(%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 0x154be
ucomisd %xmm4, %xmm5
ja 0x154a8
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 0x154be
ucomisd %xmm0, %xmm4
ja 0x154a8
movl $0xa0, %eax
addq %rax, %r14
addq %rax, %r15
movq %r14, %rdi
movq %r15, %rsi
callq 0x1a81a
testb %al, %al
jne 0x154be
movq %r15, %rdi
movq %r14, %rsi
callq 0x1a81a
jmp 0x154a8
callq 0xa6a0
testl %eax, %eax
jne 0x157e6
leaq 0x3b096(%rip), %rsi     # 0x506e8
leaq 0x70(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x18af0
leaq 0x50(%rsp), %rdi
movl $0x1fe, %esi            # imm = 0x1FE
callq 0x1a2c7
leaq 0x90(%rsp), %rdi
leaq 0x70(%rsp), %rsi
leaq 0x50(%rsp), %rdx
callq 0x19646
leaq 0x3b070(%rip), %rdx     # 0x506fe
leaq 0xb0(%rsp), %rdi
leaq 0x90(%rsp), %rsi
callq 0x19582
leaq 0x3bbe7(%rip), %rsi     # 0x51291
leaq 0x10(%rsp), %rdi
leaq 0xe(%rsp), %rdx
callq 0x18af0
leaq 0x3c50c(%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 0x3aef1(%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 0x157e6
leaq 0x3afc2(%rip), %rsi     # 0x506e8
leaq 0x70(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x18af0
leaq 0x50(%rsp), %rdi
movl $0x1ff, %esi            # imm = 0x1FF
callq 0x1a2c7
leaq 0x90(%rsp), %rdi
leaq 0x70(%rsp), %rsi
leaq 0x50(%rsp), %rdx
callq 0x19646
leaq 0x3af9c(%rip), %rdx     # 0x506fe
leaq 0xb0(%rsp), %rdi
leaq 0x90(%rsp), %rsi
callq 0x19582
leaq 0x3bb13(%rip), %rsi     # 0x51291
leaq 0x10(%rsp), %rdi
leaq 0xe(%rsp), %rdx
callq 0x18af0
leaq 0x3c438(%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 0x3ae29(%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 0x157f2
jmp 0x15804
movq %rax, %rbx
leaq 0xf0(%rsp), %rdi
callq 0xab28
jmp 0x15807
movq %rax, %rbx
leaq 0xd0(%rsp), %rdi
callq 0xab28
jmp 0x1581b
jmp 0x15818
movq %rax, %rbx
leaq 0x30(%rsp), %rdi
callq 0xab28
jmp 0x1582c
jmp 0x15829
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0xab28
jmp 0x1583d
jmp 0x1583a
movq %rax, %rbx
leaq 0xb0(%rsp), %rdi
callq 0xab28
jmp 0x15851
jmp 0x1584e
movq %rax, %rbx
leaq 0x90(%rsp), %rdi
callq 0xab28
jmp 0x15865
jmp 0x15862
movq %rax, %rbx
leaq 0x50(%rsp), %rdi
callq 0xab28
jmp 0x15876
jmp 0x15873
movq %rax, %rbx
leaq 0x70(%rsp), %rdi
callq 0xab28
jmp 0x15887
jmp 0x15884
movq %rax, %rbx
movq %rbx, %rdi
callq 0xa9f0
nop