// File: /workspace/github_cpp_makefile_star2_O2/soccin[P]BIC-RNAseq/tools/MergeFusion/StandardFusion.cpp
// Function: operator<<(std::ostream&, StandardFusion const&)
ostream& operator<<(ostream &output, const StandardFusion& my_fusion)
{
    output << CALLER_TYPE_STRING[my_fusion.caller_id] << "\t" \
    << my_fusion.gene1 << "\t" \
    << my_fusion.gene2 << "\t" \
    << my_fusion.chr1 << "\t" \
    << my_fusion.strand1 << "\t" \
    << my_fusion.breakpoint1 << "\t" \
    << my_fusion.chr2 << "\t" \
    << my_fusion.strand2 << "\t" \
    << my_fusion.breakpoint2 << "\t";
    if(my_fusion.breakpoint_coverage >= 0)
        output << my_fusion.breakpoint_coverage << "\t";
    else
        output << "NA" << "\t";
    if(my_fusion.spanning_coverage >= 0)
        output << my_fusion.spanning_coverage << "\t";
    else
        output << "NA" << "\t";
    if(my_fusion.total_coverage >= 0)
        output << my_fusion.total_coverage << "\t";
    else
        output << "NA" << "\t";
    if(my_fusion.start1 >= 0)
        output << my_fusion.start1 << "\t";
    else
        output << "NA" << "\t";
    if(my_fusion.end1 >= 0)
        output << my_fusion.end1 << "\t";
    else
        output << "NA" << "\t";
    if(my_fusion.start2 >= 0)
        output << my_fusion.start2 << "\t";
    else
        output << "NA" << "\t";
    if(my_fusion.end2 >= 0)
        output << my_fusion.end2 << "\t";
    else
        output << "NA" << "\t";
    output << my_fusion.transcript1 << "\t" \
    << my_fusion.transcript2 << "\t" \
    << my_fusion.info;
    return output;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %r14
movq %rdi, %rbx
movl (%rsi), %eax
leaq 0x60f2(%rip), %rcx      # 0xe330
movq (%rcx,%rax,8), %rsi
callq 0x21b0
leaq 0x1407(%rip), %r15      # 0x9655
movq %rax, %rdi
movq %r15, %rsi
callq 0x21b0
leaq 0xb0(%r14), %rsi
movq %rax, %rdi
callq 0x21a0
movq %rax, %rdi
movq %r15, %rsi
callq 0x21b0
leaq 0xd0(%r14), %rsi
movq %rax, %rdi
callq 0x21a0
movq %rax, %rdi
movq %r15, %rsi
callq 0x21b0
leaq 0x8(%r14), %rsi
movq %rax, %rdi
callq 0x21a0
movq %rax, %rdi
movq %r15, %rsi
callq 0x21b0
leaq 0x60(%r14), %rsi
movq %rax, %rdi
callq 0x21a0
movq %rax, %rdi
movq %r15, %rsi
callq 0x21b0
movl 0x58(%r14), %esi
movq %rax, %rdi
callq 0x22f0
movq %rax, %rdi
movq %r15, %rsi
callq 0x21b0
leaq 0x28(%r14), %rsi
movq %rax, %rdi
callq 0x21a0
movq %rax, %rdi
movq %r15, %rsi
callq 0x21b0
leaq 0x80(%r14), %rsi
movq %rax, %rdi
callq 0x21a0
movq %rax, %rdi
movq %r15, %rsi
callq 0x21b0
movl 0x5c(%r14), %esi
movq %rax, %rdi
callq 0x22f0
movq %rax, %rdi
movq %r15, %rsi
callq 0x21b0
movl 0xa8(%r14), %esi
testl %esi, %esi
js 0x832f
movq %rbx, %rdi
callq 0x22f0
jmp 0x833e
leaq 0x12dc(%rip), %rsi      # 0x9612
movq %rbx, %rdi
callq 0x21b0
leaq 0x1310(%rip), %rsi      # 0x9655
movq %rax, %rdi
callq 0x21b0
movl 0xa4(%r14), %esi
testl %esi, %esi
js 0x8362
movq %rbx, %rdi
callq 0x22f0
jmp 0x8371
leaq 0x12a9(%rip), %rsi      # 0x9612
movq %rbx, %rdi
callq 0x21b0
leaq 0x12dd(%rip), %rsi      # 0x9655
movq %rax, %rdi
callq 0x21b0
movl 0xa0(%r14), %esi
testl %esi, %esi
js 0x8395
movq %rbx, %rdi
callq 0x22f0
jmp 0x83a4
leaq 0x1276(%rip), %rsi      # 0x9612
movq %rbx, %rdi
callq 0x21b0
leaq 0x12aa(%rip), %rsi      # 0x9655
movq %rax, %rdi
callq 0x21b0
movl 0x48(%r14), %esi
testl %esi, %esi
js 0x83c5
movq %rbx, %rdi
callq 0x22f0
jmp 0x83d4
leaq 0x1246(%rip), %rsi      # 0x9612
movq %rbx, %rdi
callq 0x21b0
leaq 0x127a(%rip), %rsi      # 0x9655
movq %rax, %rdi
callq 0x21b0
movl 0x50(%r14), %esi
testl %esi, %esi
js 0x83f5
movq %rbx, %rdi
callq 0x22f0
jmp 0x8404
leaq 0x1216(%rip), %rsi      # 0x9612
movq %rbx, %rdi
callq 0x21b0
leaq 0x124a(%rip), %rsi      # 0x9655
movq %rax, %rdi
callq 0x21b0
movl 0x4c(%r14), %esi
testl %esi, %esi
js 0x8425
movq %rbx, %rdi
callq 0x22f0
jmp 0x8434
leaq 0x11e6(%rip), %rsi      # 0x9612
movq %rbx, %rdi
callq 0x21b0
leaq 0x121a(%rip), %rsi      # 0x9655
movq %rax, %rdi
callq 0x21b0
movl 0x54(%r14), %esi
testl %esi, %esi
js 0x8455
movq %rbx, %rdi
callq 0x22f0
jmp 0x8464
leaq 0x11b6(%rip), %rsi      # 0x9612
movq %rbx, %rdi
callq 0x21b0
leaq 0x11ea(%rip), %r15      # 0x9655
movq %rax, %rdi
movq %r15, %rsi
callq 0x21b0
leaq 0xf0(%r14), %rsi
movq %rbx, %rdi
callq 0x21a0
movq %rax, %rdi
movq %r15, %rsi
callq 0x21b0
leaq 0x110(%r14), %rsi
movq %rax, %rdi
callq 0x21a0
movq %rax, %rdi
movq %r15, %rsi
callq 0x21b0
addq $0x130, %r14            # imm = 0x130
movq %rax, %rdi
movq %r14, %rsi
callq 0x21a0
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq