// File: /workspace/github_cpp_makefile_star2_O3/Ahhgust[P]STRaitRazor/str8.cpp
// Function: usage(char*)
void
usage(char *arg0) {

  cerr << "Correct usage for version cstr8 v" << VERSION_NUM << endl << arg0 << " -c configFile [OPTIONS] fastqfile1 [fastqfile2 ... ]" << endl << "OR" << endl << arg0 << " -c configFile [OPTIONS] < fastqfile1" << endl;
  cerr << endl << "IE, This program takes in standard input, or a bunch of (uncompressed) fastq files\nAnd remember, options are specified *before* the configfile and fastqs (ie, the arguments)" << endl << endl;
  cerr << "Possible arguments:" << endl << endl << 
    "\t-h (help; causes this to be printed)" << endl <<
    "\t-d (heaDer; prints a header (column identifiers) to the tsv" << endl <<
    "\t-n (no reverse complement-- this turns off the default behavior of reverse-complementing matches on the negative strand)" << endl <<
    "\t-v (verbose ; prints out additional diagnostic information)" << endl <<
    "\t-i (Include anchors ; includes the Anchor sequences in the reported haplotypes)" << endl << endl <<

    "\t-a integer (default 1; the maximum Hamming distance used with anchor search. can only be 0, 1 or 2)" << endl <<
    "\t-m integer (default 0; the maximum Hamming distance used with motif search. can only be 0 or 1)" << endl <<
    "\t-c configFile (REQUIRED; the locus config file used to define the STRs)" << endl << 
    "\t-p integer (The number of processors/cpus used)" << endl <<
    "\t-q (Uses quality scores. Optional arguments: -q E (uses number of errors expected, per Edgar, sum of error probs) or the default (-q X which is the expected probability of error, taken as product of probabilities that the base is correct )" << endl <<
    "\t-t filter (This filters on Type, e.g. AUTOSOMES; ie, it restricts the output to STRs that have the same type as specified in column 2 of the config file)" << endl <<
    "\t-o filename (This writes the output to filename, as opposed to standard out)" << endl <<
    "\t-f integer (Min match; this causes haplotypes with less than f occurences to be omitted from the final output file" << endl << endl;
  exit(EXIT_FAILURE);
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %r14
movq 0x9a58(%rip), %rbx      # 0xeff0
leaq 0x5d2b(%rip), %rsi      # 0xb2ca
movq %rbx, %rdi
callq 0x32a0
movss 0x5b49(%rip), %xmm0     # 0xb0f8
movq %rax, %rdi
callq 0x3200
movq %rax, %rdi
callq 0x3140
movq %rax, %rdi
movq %r14, %rsi
callq 0x32a0
leaq 0x5d1b(%rip), %rsi      # 0xb2ec
movq %rax, %rdi
callq 0x32a0
movq %rax, %rdi
callq 0x3140
leaq 0x5d3a(%rip), %rsi      # 0xb322
movq %rax, %rdi
callq 0x32a0
movq %rax, %rdi
callq 0x3140
movq %rax, %rdi
movq %r14, %rsi
callq 0x32a0
leaq 0x5d1b(%rip), %rsi      # 0xb325
movq %rax, %rdi
callq 0x32a0
movq %rax, %rdi
callq 0x3140
movq %rbx, %rdi
callq 0x3140
leaq 0x5d22(%rip), %rsi      # 0xb34b
movq %rax, %rdi
callq 0x32a0
movq %rax, %rdi
callq 0x3140
movq %rax, %rdi
callq 0x3140
leaq 0x5db1(%rip), %rsi      # 0xb3f9
movq %rbx, %rdi
callq 0x32a0
movq %rax, %rdi
callq 0x3140
movq %rax, %rdi
callq 0x3140
leaq 0x5da6(%rip), %rsi      # 0xb40d
movq %rax, %rdi
callq 0x32a0
movq %rax, %rdi
callq 0x3140
leaq 0x5db5(%rip), %rsi      # 0xb433
movq %rax, %rdi
callq 0x32a0
movq %rax, %rdi
callq 0x3140
leaq 0x5ddb(%rip), %rsi      # 0xb470
movq %rax, %rdi
callq 0x32a0
movq %rax, %rdi
callq 0x3140
leaq 0x5e3e(%rip), %rsi      # 0xb4ea
movq %rax, %rdi
callq 0x32a0
movq %rax, %rdi
callq 0x3140
leaq 0x5e64(%rip), %rsi      # 0xb527
movq %rax, %rdi
callq 0x32a0
movq %rax, %rdi
callq 0x3140
movq %rax, %rdi
callq 0x3140
leaq 0x5e96(%rip), %rsi      # 0xb578
movq %rax, %rdi
callq 0x32a0
movq %rax, %rdi
callq 0x3140
leaq 0x5ee4(%rip), %rsi      # 0xb5dd
movq %rax, %rdi
callq 0x32a0
movq %rax, %rdi
callq 0x3140
leaq 0x5f2e(%rip), %rsi      # 0xb63e
movq %rax, %rdi
callq 0x32a0
movq %rax, %rdi
callq 0x3140
leaq 0x5f60(%rip), %rsi      # 0xb687
movq %rax, %rdi
callq 0x32a0
movq %rax, %rdi
callq 0x3140
leaq 0x5f7a(%rip), %rsi      # 0xb6b8
movq %rax, %rdi
callq 0x32a0
movq %rax, %rdi
callq 0x3140
leaq 0x6054(%rip), %rsi      # 0xb7a9
movq %rax, %rdi
callq 0x32a0
movq %rax, %rdi
callq 0x3140
leaq 0x60d8(%rip), %rsi      # 0xb844
movq %rax, %rdi
callq 0x32a0
movq %rax, %rdi
callq 0x3140
leaq 0x610f(%rip), %rsi      # 0xb892
movq %rax, %rdi
callq 0x32a0
movq %rax, %rdi
callq 0x3140
movq %rax, %rdi
callq 0x3140
movl $0x1, %edi
callq 0x3340