// File: BGI-Qingdao[P]metaSLR/classify.cpp
// Function: printBarcodeInfos(BarcodeCache const&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>> const&)
void printBarcodeInfos(const BarcodeCache& g_barcode_haps , 
        const std::vector<std::string> & haps){
    std::cout<<"barcode_str\thap_result";
    for( int i = 0 ; i < (int)g_kmers.size() ; i ++ ){
        std::cout<<'\t'<<getSpeciesName(haps.at(i));
    }
    std::cout<<'\n';
    for(const auto & pair : g_barcode_haps.barcode_haps){
        std::cout<<pair.first;
        const auto & data=pair.second;
        std::cout<<'\t'<<getHap(pair.first,data);
        for( int i = 0 ; i < (int)g_kmers.size() ; i ++ )
            std::cout<<'\t'<<getHapCount(data,i);
        std::cout<<'\n';
        //std::cout<<'\t'<<getHapCount(data,-1)<<'\n';
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq 0x1e156(%rip), %rdi     # 0x22fd0
leaq 0x12288(%rip), %rsi     # 0x17109
callq 0x42c0
movl $0x0, -0x14(%rbp)
movl -0x14(%rbp), %eax
movl %eax, -0x78(%rbp)
leaq 0x1e53e(%rip), %rdi     # 0x233d8
callq 0x6fa0
movq %rax, %rcx
movl -0x78(%rbp), %eax
cmpl %ecx, %eax
jge 0x4f1e
movq 0x1e120(%rip), %rdi     # 0x22fd0
movl $0x9, %esi
callq 0x4350
movq %rax, -0x88(%rbp)
movq -0x10(%rbp), %rdi
movslq -0x14(%rbp), %rsi
callq 0x74a0
movq %rax, %rsi
leaq -0x38(%rbp), %rdi
movq %rdi, -0x80(%rbp)
callq 0x4dd0
movq -0x88(%rbp), %rdi
movq -0x80(%rbp), %rsi
callq 0x4270
jmp 0x4ef0
leaq -0x38(%rbp), %rdi
callq 0x41d0
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x4e8d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x38(%rbp), %rdi
callq 0x41d0
jmp 0x5051
movq 0x1e0ab(%rip), %rdi     # 0x22fd0
movl $0xa, %esi
callq 0x4350
movq -0x8(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x50(%rbp), %rdi
callq 0x74e0
movq %rax, -0x58(%rbp)
movq -0x50(%rbp), %rdi
callq 0x7510
movq %rax, -0x60(%rbp)
leaq -0x58(%rbp), %rdi
leaq -0x60(%rbp), %rsi
callq 0x7540
testb $0x1, %al
jne 0x4f67
jmp 0x5048
leaq -0x58(%rbp), %rdi
callq 0x7570
movq %rax, -0x68(%rbp)
movq -0x68(%rbp), %rsi
movq 0x1e051(%rip), %rdi     # 0x22fd0
callq 0x4270
movq -0x68(%rbp), %rax
addq $0x20, %rax
movq %rax, -0x70(%rbp)
movq 0x1e039(%rip), %rdi     # 0x22fd0
movl $0x9, %esi
callq 0x4350
movq %rax, -0x90(%rbp)
movq -0x68(%rbp), %rdi
movq -0x70(%rbp), %rsi
callq 0x4bf0
movq -0x90(%rbp), %rdi
movl %eax, %esi
callq 0x4530
movl $0x0, -0x74(%rbp)
movl -0x74(%rbp), %eax
movl %eax, -0x94(%rbp)
leaq 0x1e3fe(%rip), %rdi     # 0x233d8
callq 0x6fa0
movq %rax, %rcx
movl -0x94(%rbp), %eax
cmpl %ecx, %eax
jge 0x5029
movq 0x1dfdd(%rip), %rdi     # 0x22fd0
movl $0x9, %esi
callq 0x4350
movq %rax, -0xa0(%rbp)
movq -0x70(%rbp), %rdi
movl -0x74(%rbp), %esi
callq 0x4d60
movq -0xa0(%rbp), %rdi
movl %eax, %esi
callq 0x4530
movl -0x74(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x74(%rbp)
jmp 0x4fca
movq 0x1dfa0(%rip), %rdi     # 0x22fd0
movl $0xa, %esi
callq 0x4350
leaq -0x58(%rbp), %rdi
callq 0x7590
jmp 0x4f51
addq $0xa0, %rsp
popq %rbp
retq
movq -0x40(%rbp), %rdi
callq 0x4550
nopw (%rax,%rax)