// File: /workspace/github_cpp_makefile_star2_O3/afinit[P]afin/contiglist.cpp
// Function: Contiglist::output_contigs(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
void Contiglist::output_contigs( int list_num, string file, string id_suffix ){
  vector<Contig> clist = contigs;  

  cout << "output_contigs" << endl;
  if( list_num )
    clist = contigs_fused;
  
  // open outfile
  ofstream outfile_fp( file+".fa");

  // print out each line to the
  for( int i=0; i<clist.size(); i++ ){
    string seq = clist[i].get_sequence();
    outfile_fp << ">" << "contig" << i << "_len_" << seq.length() << "_" << id_suffix << endl;
    outfile_fp << seq << endl;
  }

  outfile_fp.close();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x238, %rsp            # imm = 0x238
movq %rcx, %rbx
movq %rdx, %r14
movl %esi, %r12d
movq %rdi, %r15
leaq 0x8(%rdi), %rsi
leaq -0x60(%rbp), %rdi
callq 0x144be
movq 0x906c(%rip), %r13      # 0x1cfc0
leaq 0x2763(%rip), %rsi      # 0x166be
movl $0xe, %edx
movq %r13, %rdi
callq 0x4360
movq (%r13), %rax
addq -0x18(%rax), %r13
movq %r13, %rdi
movl $0xa, %esi
callq 0x4300
movsbl %al, %esi
movq 0x9039(%rip), %rdi      # 0x1cfc0
callq 0x4030
movq %rax, %rdi
callq 0x4210
testl %r12d, %r12d
je 0x13fa9
addq $0x20, %r15
leaq -0x60(%rbp), %rdi
movq %r15, %rsi
callq 0x1455e
leaq -0x38(%rbp), %rax
movq %rax, -0x10(%rax)
movq (%r14), %rsi
movq 0x8(%r14), %rdx
addq %rsi, %rdx
leaq -0x48(%rbp), %rdi
callq 0x68f6
leaq 0x2702(%rip), %rsi      # 0x166cd
leaq -0x48(%rbp), %rdi
callq 0x45f0
leaq -0x260(%rbp), %rdi
leaq -0x48(%rbp), %rsi
movl $0x10, %edx
callq 0x4600
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x13ffb
callq 0x42f0
movq -0x60(%rbp), %rsi
cmpq %rsi, -0x58(%rbp)
je 0x14141
xorl %r15d, %r15d
leaq -0x260(%rbp), %r12
xorl %r13d, %r13d
addq %r15, %rsi
leaq -0x48(%rbp), %rdi
callq 0x5c92
movl $0x1, %edx
movq %r12, %rdi
leaq 0x26a0(%rip), %rsi      # 0x166d1
callq 0x4360
movl $0x6, %edx
movq %r12, %rdi
leaq 0x268e(%rip), %rsi      # 0x166d3
callq 0x4360
movq %r12, %rdi
movl %r13d, %esi
callq 0x4570
movq %rax, %r14
movl $0x5, %edx
movq %rax, %rdi
leaq 0x2673(%rip), %rsi      # 0x166da
callq 0x4360
movq -0x40(%rbp), %rsi
movq %r14, %rdi
callq 0x4200
movq %rax, %r14
movl $0x1, %edx
movq %rax, %rdi
leaq 0x2089(%rip), %rsi      # 0x16113
callq 0x4360
movq (%rbx), %rsi
movq 0x8(%rbx), %rdx
movq %r14, %rdi
callq 0x4360
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x4300
movsbl %al, %esi
movq %r14, %rdi
callq 0x4030
movq %rax, %rdi
callq 0x4210
movq -0x48(%rbp), %rsi
movq -0x40(%rbp), %rdx
movq %r12, %rdi
callq 0x4360
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x4300
movsbl %al, %esi
movq %r14, %rdi
callq 0x4030
movq %rax, %rdi
callq 0x4210
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x14114
callq 0x42f0
incq %r13
movq -0x60(%rbp), %rsi
movq -0x58(%rbp), %rax
subq %rsi, %rax
sarq $0x4, %rax
movabsq $-0x3333333333333333, %rcx # imm = 0xCCCCCCCCCCCCCCCD
imulq %rcx, %rax
addq $0x50, %r15
cmpq %r13, %rax
ja 0x14016
leaq -0x260(%rbp), %rdi
callq 0x4450
movq 0x8e5c(%rip), %rax      # 0x1cfb0
movq (%rax), %rcx
movq 0x18(%rax), %rax
leaq -0x258(%rbp), %rdi
movq %rcx, -0x8(%rdi)
movq -0x18(%rcx), %rcx
movq %rax, -0x260(%rbp,%rcx)
callq 0x42a0
leaq -0x168(%rbp), %rdi
callq 0x4100
leaq -0x60(%rbp), %rdi
callq 0x8b20
addq $0x238, %rsp            # imm = 0x238
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x141c0
jmp 0x141a2
movq %rax, %rbx
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x141e6
callq 0x42f0
jmp 0x141e6
jmp 0x141bb
movq %rax, %rbx
jmp 0x141e6
movq %rax, %rbx
jmp 0x141da
movq %rax, %rbx
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x141da
callq 0x42f0
leaq -0x260(%rbp), %rdi
callq 0x44a0
leaq -0x60(%rbp), %rdi
callq 0x8b20
movq %rbx, %rdi
callq 0x4590
nop