// File: readmapping[P]alfalfa/src/mapper.h
// Function: read_t::printUnpairedAlignment[abi:cxx11](int)
std::string printUnpairedAlignment(int i){
        std::stringstream ss;
        alignment_t * a = alignments[i];
        ss << qname << "\t" << a->flag.to_ulong() << "\t"
            << a->rname << "\t" << a->pos << "\t" << 
            a->mapq << "\t" << a->cigar << "\t" << 
            "*" << "\t" << 0 << "\t" << 
            0 << "\t" << (a->flag.test(4) ? rcSequence : sequence) <<
            "\t" << (a->flag.test(4) ? rQual : qual) << "\tAS:i:" << 
            a->alignmentScore << "\tNM:i:" << a->editDist << "\tX0:Z:" << 
            a->NMtag << std::endl;
        return ss.str();
    }

// Assembly:
subq $0x2d8, %rsp            # imm = 0x2D8
movq %rdi, 0x100(%rsp)
movq %rdi, %rax
movq %rax, 0x108(%rsp)
movq %rdi, 0x2d0(%rsp)
movq %rsi, 0x2c8(%rsp)
movl %edx, 0x2c4(%rsp)
movq 0x2c8(%rsp), %rax
movq %rax, 0x110(%rsp)
leaq 0x138(%rsp), %rdi
callq 0x8260
movq 0x110(%rsp), %rdi
addq $0xb0, %rdi
movslq 0x2c4(%rsp), %rsi
callq 0xdae0
movq 0x110(%rsp), %rsi
movq (%rax), %rax
movq %rax, 0x130(%rsp)
leaq 0x148(%rsp), %rdi
callq 0x8330
movq %rax, 0x118(%rsp)
jmp 0xc174
movq 0x118(%rsp), %rdi
leaq 0x6d8da(%rip), %rsi     # 0x79a5d
callq 0x8360
movq %rax, 0xf8(%rsp)
jmp 0xc192
movq 0x130(%rsp), %rdi
addq $0x40, %rdi
callq 0xe330
movq %rax, 0xf0(%rsp)
jmp 0xc1ad
movq 0xf0(%rsp), %rsi
movq 0xf8(%rsp), %rdi
callq 0x8100
movq %rax, 0xe8(%rsp)
jmp 0xc1cc
movq 0xe8(%rsp), %rdi
leaq 0x6d882(%rip), %rsi     # 0x79a5d
callq 0x8360
movq %rax, 0xe0(%rsp)
jmp 0xc1ea
movq 0xe0(%rsp), %rdi
movq 0x130(%rsp), %rsi
addq $0x48, %rsi
callq 0x8330
movq %rax, 0xd8(%rsp)
jmp 0xc20d
movq 0xd8(%rsp), %rdi
leaq 0x6d841(%rip), %rsi     # 0x79a5d
callq 0x8360
movq %rax, 0xd0(%rsp)
jmp 0xc22b
movq 0xd0(%rsp), %rdi
movq 0x130(%rsp), %rax
movq 0x18(%rax), %rsi
callq 0x8790
movq %rax, 0xc8(%rsp)
jmp 0xc24e
movq 0xc8(%rsp), %rdi
leaq 0x6d800(%rip), %rsi     # 0x79a5d
callq 0x8360
movq %rax, 0xc0(%rsp)
jmp 0xc26c
movq 0xc0(%rsp), %rdi
movq 0x130(%rsp), %rax
movl 0x68(%rax), %esi
callq 0x8710
movq %rax, 0xb8(%rsp)
jmp 0xc28e
movq 0xb8(%rsp), %rdi
leaq 0x6d7c0(%rip), %rsi     # 0x79a5d
callq 0x8360
movq %rax, 0xb0(%rsp)
jmp 0xc2ac
movq 0xb0(%rsp), %rdi
movq 0x130(%rsp), %rsi
addq $0x20, %rsi
callq 0x8330
movq %rax, 0xa8(%rsp)
jmp 0xc2cf
movq 0xa8(%rsp), %rdi
leaq 0x6d77f(%rip), %rsi     # 0x79a5d
callq 0x8360
movq %rax, 0xa0(%rsp)
jmp 0xc2ed
movq 0xa0(%rsp), %rdi
leaq 0x6cd56(%rip), %rsi     # 0x79052
callq 0x8360
movq %rax, 0x98(%rsp)
jmp 0xc30b
movq 0x98(%rsp), %rdi
leaq 0x6d743(%rip), %rsi     # 0x79a5d
callq 0x8360
movq %rax, 0x90(%rsp)
jmp 0xc329
movq 0x90(%rsp), %rdi
xorl %esi, %esi
callq 0x8710
movq %rax, 0x88(%rsp)
jmp 0xc342
movq 0x88(%rsp), %rdi
leaq 0x6d70c(%rip), %rsi     # 0x79a5d
callq 0x8360
movq %rax, 0x80(%rsp)
jmp 0xc360
movq 0x80(%rsp), %rdi
xorl %esi, %esi
callq 0x8710
movq %rax, 0x78(%rsp)
jmp 0xc376
movq 0x78(%rsp), %rdi
leaq 0x6d6db(%rip), %rsi     # 0x79a5d
callq 0x8360
movq %rax, 0x70(%rsp)
jmp 0xc38e
movq 0x130(%rsp), %rdi
addq $0x40, %rdi
movl $0x4, %esi
callq 0xe340
movb %al, 0x6f(%rsp)
jmp 0xc3aa
movb 0x6f(%rsp), %al
testb $0x1, %al
jne 0xc3b4
jmp 0xc3c7
movq 0x110(%rsp), %rax
addq $0x60, %rax
movq %rax, 0x60(%rsp)
jmp 0xc3d8
movq 0x110(%rsp), %rax
addq $0x20, %rax
movq %rax, 0x60(%rsp)
movq 0x70(%rsp), %rdi
movq 0x60(%rsp), %rsi
callq 0x8330
movq %rax, 0x58(%rsp)
jmp 0xc3ee
movq 0x58(%rsp), %rdi
leaq 0x6d663(%rip), %rsi     # 0x79a5d
callq 0x8360
movq %rax, 0x50(%rsp)
jmp 0xc406
movq 0x130(%rsp), %rdi
addq $0x40, %rdi
movl $0x4, %esi
callq 0xe340
movb %al, 0x4f(%rsp)
jmp 0xc422
movb 0x4f(%rsp), %al
testb $0x1, %al
jne 0xc42c
jmp 0xc441
movq 0x110(%rsp), %rax
addq $0x80, %rax
movq %rax, 0x40(%rsp)
jmp 0xc452
movq 0x110(%rsp), %rax
addq $0x40, %rax
movq %rax, 0x40(%rsp)
movq 0x50(%rsp), %rdi
movq 0x40(%rsp), %rsi
callq 0x8330
movq %rax, 0x38(%rsp)
jmp 0xc468
movq 0x38(%rsp), %rdi
leaq 0x6cff0(%rip), %rsi     # 0x79464
callq 0x8360
movq %rax, 0x30(%rsp)
jmp 0xc480
movq 0x30(%rsp), %rdi
movq 0x130(%rsp), %rax
movl 0x70(%rax), %esi
callq 0x8710
movq %rax, 0x28(%rsp)
jmp 0xc49c
movq 0x28(%rsp), %rdi
leaq 0x6cfc3(%rip), %rsi     # 0x7946b
callq 0x8360
movq %rax, 0x20(%rsp)
jmp 0xc4b4
movq 0x20(%rsp), %rdi
movq 0x130(%rsp), %rax
movl 0x6c(%rax), %esi
callq 0x8710
movq %rax, 0x18(%rsp)
jmp 0xc4d0
movq 0x18(%rsp), %rdi
leaq 0x6cf96(%rip), %rsi     # 0x79472
callq 0x8360
movq %rax, 0x10(%rsp)
jmp 0xc4e8
movq 0x10(%rsp), %rdi
movq 0x130(%rsp), %rsi
addq $0x78, %rsi
callq 0x8330
movq %rax, 0x8(%rsp)
jmp 0xc505
movq 0x8(%rsp), %rdi
movq 0x8aa9f(%rip), %rsi     # 0x96fb0
callq 0x83b0
jmp 0xc518
movq 0x100(%rsp), %rdi
leaq 0x138(%rsp), %rsi
callq 0x8350
jmp 0xc52f
leaq 0x138(%rsp), %rdi
callq 0x8290
movq 0x108(%rsp), %rax
addq $0x2d8, %rsp            # imm = 0x2D8
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x128(%rsp)
movl %eax, 0x124(%rsp)
leaq 0x138(%rsp), %rdi
callq 0x8290
movq 0x128(%rsp), %rdi
callq 0x8730
nopw (%rax,%rax)