// File: /workspace/github_cpp_makefile_star2_O2/afinit[P]afin/afin.cpp
// Function: print_usage(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
void print_usage( string prog ){
  cout << "Usage: " << prog << " -c contigsfile(s) -r readsfile(s) [-o outfile] [-m sort_char] [-s sub_len]" << endl;
  cout << "          [-l search_loops] [-i min_cov] [-p min_overlap] [-t max_threads]" << endl;
  cout << "          [-d initial_trim] [-e max_missed] [-f stop_ext] [-g mismatch] [-x extend_len]" << endl;
  cout << "          [--silent] [--no_log] [--no_fusion] [--verbose] [--print_fused]" << endl << endl;
  cout << "       " << prog << " -h [--help]" << endl << endl;
  cout << endl;
  cout << "  -c, contigsfiles       Space (or comma) separated list of files containing contigs" << endl;
  cout << "  -r, readsfiles         Space (or comma) separated list of files containing reads" << endl;
  cout << "  -o, outfile            Output will be printed to the outfile specified, with a .fa extension for the contigs and .log extension for the logfile" << endl;
  cout << "  -m, sort_char          [default:   4] Sorts the reads by the first max_sort_char characters" << endl;
  cout << "  -s, sub_len            [default: 100] Will focus on the current last contig_sub_len characters of the contig in each search" << endl;
  cout << "  -l, search_loops       [default:  10] Will search against each contig a maximum of max_search_loops times to attempt extension" << endl;
  cout << "  -i, min_cov            [default:   3] Will stop adding bp's once the coverage falls below min_cov" << endl;
  cout << "  -p, min_overlap        [default:  20] Only those reads overlapping the contig by at least min_overlap bp's will be returned in each search" << endl;
  cout << "  -t, max_threads        [default:   4] Will only run max_threads threads at a time" << endl;
  cout << "  -d, initial_trim       [default:   0] Length to trim off the beginning and end of each contig at the start of the program" << endl;
  cout << "  -e, max_missed         [default:   5] Maximum allowable mismatched bp's for each read when checking troubled contig fusions" << endl;
  cout << "  -f, stop_ext           [default:  .5] During extension, if the percentage of reads remaining after cleaning is below stop_ext, do not extend here" << endl;
  cout << "  -g, mismatch           [default:  .1] maximum percentage of mismatches allowed when fusing two contigs" << endl;
  cout << "  -x, extend_len         [default:  40] Will add a max of extend_len bp's each search loop" << endl;
  cout << "  --silent               Suppress screen output" << endl;
  cout << "  --no_log               Suppress log file creation" << endl;
  cout << "  --no_fusion            Only extend, no attempt will be made to fuse contigs" << endl;
  cout << "  --verbose              Output additional information to logfile and/or screen (except if output to that location is suppressed)" << endl;
  cout << "  --print_fused          Print to file (_fused.fasta) fused contigs just before fusion, for inspecting the fusion locations" << endl << endl;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
movq %rdi, %r14
movq 0x16763(%rip), %rbx     # 0x1afc0
leaq 0xd800(%rip), %rsi      # 0x12064
movq %rbx, %rdi
callq 0x4310
movq %rax, %rdi
movq %r14, %rsi
callq 0x42c0
leaq 0xd7ee(%rip), %rsi      # 0x1206c
movq %rax, %rdi
callq 0x4310
movq %rax, %rdi
callq 0x4180
leaq 0xd823(%rip), %rsi      # 0x120b8
movq %rbx, %rdi
callq 0x4310
movq %rax, %rdi
callq 0x4180
leaq 0xd857(%rip), %rsi      # 0x12103
movq %rbx, %rdi
callq 0x4310
movq %rax, %rdi
callq 0x4180
leaq 0xd898(%rip), %rsi      # 0x1215b
movq %rbx, %rdi
callq 0x4310
movq %rax, %rdi
callq 0x4180
movq %rax, %rdi
callq 0x4180
leaq 0xd8c3(%rip), %rsi      # 0x121a5
movq %rbx, %rdi
callq 0x4310
movq %rax, %rdi
movq %r14, %rsi
callq 0x42c0
leaq 0xd8b1(%rip), %rsi      # 0x121ad
movq %rax, %rdi
callq 0x4310
movq %rax, %rdi
callq 0x4180
movq %rax, %rdi
callq 0x4180
movq %rbx, %rdi
callq 0x4180
leaq 0xd897(%rip), %rsi      # 0x121ba
movq %rbx, %rdi
callq 0x4310
movq %rax, %rdi
callq 0x4180
leaq 0xd8d5(%rip), %rsi      # 0x1220f
movq %rbx, %rdi
callq 0x4310
movq %rax, %rdi
callq 0x4180
leaq 0xd911(%rip), %rsi      # 0x12262
movq %rbx, %rdi
callq 0x4310
movq %rax, %rdi
callq 0x4180
leaq 0xd98c(%rip), %rsi      # 0x122f4
movq %rbx, %rdi
callq 0x4310
movq %rax, %rdi
callq 0x4180
leaq 0xd9d3(%rip), %rsi      # 0x12352
movq %rbx, %rdi
callq 0x4310
movq %rax, %rdi
callq 0x4180
leaq 0xda3a(%rip), %rsi      # 0x123d0
movq %rbx, %rdi
callq 0x4310
movq %rax, %rdi
callq 0x4180
leaq 0xdaa4(%rip), %rsi      # 0x12451
movq %rbx, %rdi
callq 0x4310
movq %rax, %rdi
callq 0x4180
leaq 0xdaf1(%rip), %rsi      # 0x124b5
movq %rbx, %rdi
callq 0x4310
movq %rax, %rdi
callq 0x4180
leaq 0xdb67(%rip), %rsi      # 0x12542
movq %rbx, %rdi
callq 0x4310
movq %rax, %rdi
callq 0x4180
leaq 0xdba4(%rip), %rsi      # 0x12596
movq %rbx, %rdi
callq 0x4310
movq %rax, %rdi
callq 0x4180
leaq 0xdc09(%rip), %rsi      # 0x12612
movq %rbx, %rdi
callq 0x4310
movq %rax, %rdi
callq 0x4180
leaq 0xdc70(%rip), %rsi      # 0x12690
movq %rbx, %rdi
callq 0x4310
movq %rax, %rdi
callq 0x4180
leaq 0xdced(%rip), %rsi      # 0x12724
movq %rbx, %rdi
callq 0x4310
movq %rax, %rdi
callq 0x4180
leaq 0xdd3f(%rip), %rsi      # 0x1278d
movq %rbx, %rdi
callq 0x4310
movq %rax, %rdi
callq 0x4180
leaq 0xdd83(%rip), %rsi      # 0x127e8
movq %rbx, %rdi
callq 0x4310
movq %rax, %rdi
callq 0x4180
leaq 0xdd9c(%rip), %rsi      # 0x12818
movq %rbx, %rdi
callq 0x4310
movq %rax, %rdi
callq 0x4180
leaq 0xddb9(%rip), %rsi      # 0x1284c
movq %rbx, %rdi
callq 0x4310
movq %rax, %rdi
callq 0x4180
leaq 0xddf0(%rip), %rsi      # 0x1289a
movq %rbx, %rdi
callq 0x4310
movq %rax, %rdi
callq 0x4180
leaq 0xde5b(%rip), %rsi      # 0x1291c
movq %rbx, %rdi
callq 0x4310
movq %rax, %rdi
callq 0x4180
movq %rax, %rdi
popq %rbx
popq %r14
popq %rbp
jmp 0x4180