// File: /workspace/github_cpp_makefile_star2_O3/mshabbirhasan[P]ups-indel/include/seqan/misc/misc_name_store_cache.h
// Function: bool seqan::NameStoreLess_<seqan::StringSet<seqan::String<char, seqan::Alloc<void>>, seqan::Owner<seqan::Tag<seqan::Default_>>>, seqan::String<char, seqan::Alloc<void>>>::operator()<unsigned long>(unsigned long, unsigned long) const
inline bool operator() (TId a, TId b) const
    {
        if (a != maxValue(a))
        {
            if (b != maxValue(b))
                return (*nameStore)[a] < (*nameStore)[b];
            else
                return (*nameStore)[a] < *name;
        } else
        {
            if (b != maxValue(b))
                return *name < (*nameStore)[b];
            else
                return false;
        }
    }

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movq %rdx, %rbx
movq %rdi, %r15
cmpq $-0x1, %rsi
je 0x9e83
movq %rsi, %r14
movq (%r15), %r12
leaq -0x40(%rbp), %rdx
cmpq $-0x1, %rbx
je 0x9f09
movq %r14, (%rdx)
movq 0x8(%r12), %rax
subq (%r12), %rax
sarq $0x3, %rax
movabsq $-0x5555555555555555, %rcx # imm = 0xAAAAAAAAAAAAAAAB
imulq %rcx, %rax
leaq -0x30(%rbp), %r8
movq %rax, (%r8)
leaq 0x75c6(%rip), %r13      # 0x113a9
movq %r13, (%rsp)
leaq 0x7555(%rip), %rdi      # 0x11343
leaq 0x7573(%rip), %rcx      # 0x11368
leaq 0x7589(%rip), %r9       # 0x11385
movl $0x1f2, %esi            # imm = 0x1F2
xorl %eax, %eax
callq 0xa00e
testb %al, %al
je 0x9f94
movq (%r12), %r12
movq (%r15), %r15
leaq -0x40(%rbp), %rdx
movq %rbx, (%rdx)
movq 0x8(%r15), %rax
subq (%r15), %rax
sarq $0x3, %rax
movabsq $-0x5555555555555555, %rcx # imm = 0xAAAAAAAAAAAAAAAB
imulq %rcx, %rax
leaq -0x30(%rbp), %r8
movq %rax, (%r8)
movq %r13, (%rsp)
leaq 0x74fa(%rip), %rdi      # 0x11343
leaq 0x7518(%rip), %rcx      # 0x11368
leaq 0x752e(%rip), %r9       # 0x11385
movl $0x1f2, %esi            # imm = 0x1F2
xorl %eax, %eax
callq 0xa00e
testb %al, %al
je 0x9f94
leaq (%r14,%r14,2), %rax
leaq (%r12,%rax,8), %rsi
leaq (%rbx,%rbx,2), %rdx
shlq $0x3, %rdx
addq (%r15), %rdx
jmp 0x9f6e
cmpq $-0x1, %rbx
je 0x9f90
movq (%r15), %r12
movq 0x8(%r15), %r14
leaq -0x40(%rbp), %rdx
movq %rbx, (%rdx)
movq 0x8(%r12), %rax
subq (%r12), %rax
sarq $0x3, %rax
movabsq $-0x5555555555555555, %rcx # imm = 0xAAAAAAAAAAAAAAAB
imulq %rax, %rcx
leaq -0x30(%rbp), %r8
movq %rcx, (%r8)
leaq 0x74e5(%rip), %rax      # 0x113a9
movq %rax, (%rsp)
leaq 0x7474(%rip), %rdi      # 0x11343
leaq 0x7492(%rip), %rcx      # 0x11368
leaq 0x74a8(%rip), %r9       # 0x11385
movl $0x1f2, %esi            # imm = 0x1F2
xorl %eax, %eax
callq 0xa00e
testb %al, %al
je 0x9f94
leaq (%rbx,%rbx,2), %rdx
shlq $0x3, %rdx
addq (%r12), %rdx
leaq -0x40(%rbp), %rbx
movq %rbx, %rdi
movq %r14, %rsi
jmp 0x9f75
movq %r14, (%rdx)
movq 0x8(%r12), %rax
subq (%r12), %rax
sarq $0x3, %rax
movabsq $-0x5555555555555555, %rcx # imm = 0xAAAAAAAAAAAAAAAB
imulq %rax, %rcx
leaq -0x30(%rbp), %r8
movq %rcx, (%r8)
leaq 0x7474(%rip), %rax      # 0x113a9
movq %rax, (%rsp)
leaq 0x7403(%rip), %rdi      # 0x11343
leaq 0x7421(%rip), %rcx      # 0x11368
leaq 0x7437(%rip), %r9       # 0x11385
movl $0x1f2, %esi            # imm = 0x1F2
xorl %eax, %eax
callq 0xa00e
testb %al, %al
je 0x9f94
leaq (%r14,%r14,2), %rsi
shlq $0x3, %rsi
addq (%r12), %rsi
movq 0x8(%r15), %rdx
leaq -0x40(%rbp), %rbx
movq %rbx, %rdi
callq 0x9f9a
testb $0xa, 0x8(%rbx)
setne %al
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
xorl %eax, %eax
jmp 0x9f81
callq 0x31e0
nop