// File: /workspace/github_cpp_makefile_star2_O2/afinit[P]afin/fusion.cpp
// Function: Fusion::commit_fusion(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, int, int)
void Fusion::commit_fusion( string fused, string fused_id, int index_i, int index_j ){ 
  contigs->append_contig( 1, contigs->get_contig(index_i) );
  Log::Inst()->log_it( "Contig moved to fused file: " + contigs->get_contig(index_i).get_contig_id() );

  contigs->append_contig( 1, contigs->get_contig(index_j) );
  Log::Inst()->log_it( "Contig moved to fused file: " + contigs->get_contig(index_j).get_contig_id() );

  Log::Inst()->log_it( "Committing: " + fused_id );
  Log::Inst()->log_it( "\t" + fused );
  contigs->append_contig( 0, Contig( reads, fused, fused_id ));
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x238, %rsp            # imm = 0x238
movl %r8d, -0x2c(%rbp)
movl %ecx, %r13d
movq %rdx, -0x38(%rbp)
movq %rsi, %r12
movq %rdi, %r15
movq (%rdi), %rbx
leaq -0x258(%rbp), %r14
movq %r14, %rdi
movq %rbx, %rsi
movl %ecx, %edx
callq 0x107a4
pushq $0x1
popq %rsi
movq %rbx, %rdi
movq %r14, %rdx
callq 0x10814
leaq -0x258(%rbp), %rdi
callq 0x5328
callq 0x81fe
movq %rax, %rbx
movq (%r15), %rsi
leaq -0x168(%rbp), %r14
movq %r14, %rdi
movl %r13d, %edx
callq 0x107a4
leaq -0x58(%rbp), %rdi
movq %r14, %rsi
callq 0x5550
leaq 0xa182(%rip), %rsi      # 0x13164
leaq -0xd8(%rbp), %rdi
leaq -0x58(%rbp), %rdx
callq 0x6ffb
movq %r12, %r13
leaq -0xd8(%rbp), %rsi
movq %rbx, %rdi
callq 0x83ae
leaq -0xd8(%rbp), %rdi
callq 0x4160
leaq -0x58(%rbp), %rdi
callq 0x4160
leaq -0x168(%rbp), %rdi
callq 0x5328
movq (%r15), %rbx
leaq -0x208(%rbp), %r14
movq %r14, %rdi
movq %rbx, %rsi
movl -0x2c(%rbp), %r12d
movl %r12d, %edx
callq 0x107a4
pushq $0x1
popq %rsi
movq %rbx, %rdi
movq %r14, %rdx
callq 0x10814
leaq -0x208(%rbp), %rdi
callq 0x5328
callq 0x81fe
movq %rax, %rbx
movq (%r15), %rsi
leaq -0x168(%rbp), %r14
movq %r14, %rdi
movl %r12d, %edx
callq 0x107a4
leaq -0x58(%rbp), %rdi
movq %r14, %rsi
callq 0x5550
leaq 0xa0d9(%rip), %rsi      # 0x13164
leaq -0xb8(%rbp), %rdi
leaq -0x58(%rbp), %rdx
callq 0x6ffb
movq -0x38(%rbp), %r12
leaq -0xb8(%rbp), %rsi
movq %rbx, %rdi
callq 0x83ae
leaq -0xb8(%rbp), %rdi
callq 0x4160
leaq -0x58(%rbp), %rdi
callq 0x4160
leaq -0x168(%rbp), %rdi
callq 0x5328
callq 0x81fe
movq %rax, %rbx
leaq 0xa0a3(%rip), %rsi      # 0x13181
leaq -0x118(%rbp), %r14
movq %r14, %rdi
movq %r12, %rdx
callq 0xae38
movq %rbx, %rdi
movq %r14, %rsi
callq 0x83ae
leaq -0x118(%rbp), %rdi
callq 0x4160
callq 0x81fe
movq %rax, %rbx
leaq 0x9e35(%rip), %rsi      # 0x12f4b
leaq -0xf8(%rbp), %r14
movq %r14, %rdi
movq %r13, %rdx
callq 0xae38
movq %rbx, %rdi
movq %r14, %rsi
callq 0x83ae
leaq -0xf8(%rbp), %rdi
callq 0x4160
movq (%r15), %rbx
movq 0x8(%r15), %r15
leaq -0x98(%rbp), %rdi
movq %r13, %rsi
callq 0x4410
leaq -0x78(%rbp), %rdi
movq %r12, %rsi
callq 0x4410
leaq -0x1b8(%rbp), %rdi
leaq -0x98(%rbp), %rdx
leaq -0x78(%rbp), %rcx
movq %r15, %rsi
callq 0x528e
leaq -0x1b8(%rbp), %rdx
movq %rbx, %rdi
xorl %esi, %esi
callq 0x10814
leaq -0x1b8(%rbp), %rdi
callq 0x5328
leaq -0x78(%rbp), %rdi
callq 0x4160
leaq -0x98(%rbp), %rdi
callq 0x4160
addq $0x238, %rsp            # imm = 0x238
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
leaq -0x1b8(%rbp), %rdi
callq 0x5328
jmp 0x91d3
movq %rax, %rbx
leaq -0x78(%rbp), %rdi
callq 0x4160
jmp 0x91e1
movq %rax, %rbx
leaq -0x98(%rbp), %rdi
jmp 0x9200
movq %rax, %rbx
leaq -0xf8(%rbp), %rdi
jmp 0x9200
movq %rax, %rbx
leaq -0x118(%rbp), %rdi
callq 0x4160
jmp 0x9251
movq %rax, %rbx
leaq -0xb8(%rbp), %rdi
jmp 0x922d
jmp 0x9234
jmp 0x9242
movq %rax, %rbx
leaq -0x208(%rbp), %rdi
jmp 0x924c
movq %rax, %rbx
leaq -0xd8(%rbp), %rdi
callq 0x4160
jmp 0x9237
movq %rax, %rbx
leaq -0x58(%rbp), %rdi
callq 0x4160
jmp 0x9245
movq %rax, %rbx
leaq -0x168(%rbp), %rdi
callq 0x5328
movq %rbx, %rdi
callq 0x4590
movq %rax, %rbx
leaq -0x258(%rbp), %rdi
jmp 0x924c
nop