// File: /workspace/github_cpp_makefile_star2_O2/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 0xa0e5(%rip), %rbx      # 0xeff0
leaq 0x5378(%rip), %rsi      # 0xa28a
movq %rbx, %rdi
callq 0x3240
movss 0x5196(%rip), %xmm0     # 0xa0b8
movq %rax, %rdi
callq 0x31b0
movq %rax, %rdi
callq 0x3130
movq %rax, %rdi
movq %r14, %rsi
callq 0x3240
leaq 0x5368(%rip), %rsi      # 0xa2ac
movq %rax, %rdi
callq 0x3240
movq %rax, %rdi
callq 0x3130
leaq 0x5387(%rip), %rsi      # 0xa2e2
movq %rax, %rdi
callq 0x3240
movq %rax, %rdi
callq 0x3130
movq %rax, %rdi
movq %r14, %rsi
callq 0x3240
leaq 0x5368(%rip), %rsi      # 0xa2e5
movq %rax, %rdi
callq 0x3240
movq %rax, %rdi
callq 0x3130
movq %rbx, %rdi
callq 0x3130
leaq 0x536f(%rip), %rsi      # 0xa30b
movq %rax, %rdi
callq 0x3240
movq %rax, %rdi
callq 0x3130
movq %rax, %rdi
callq 0x3130
leaq 0x53fe(%rip), %rsi      # 0xa3b9
movq %rbx, %rdi
callq 0x3240
movq %rax, %rdi
callq 0x3130
movq %rax, %rdi
callq 0x3130
leaq 0x53f3(%rip), %rsi      # 0xa3cd
movq %rax, %rdi
callq 0x3240
movq %rax, %rdi
callq 0x3130
leaq 0x5402(%rip), %rsi      # 0xa3f3
movq %rax, %rdi
callq 0x3240
movq %rax, %rdi
callq 0x3130
leaq 0x5428(%rip), %rsi      # 0xa430
movq %rax, %rdi
callq 0x3240
movq %rax, %rdi
callq 0x3130
leaq 0x548b(%rip), %rsi      # 0xa4aa
movq %rax, %rdi
callq 0x3240
movq %rax, %rdi
callq 0x3130
leaq 0x54b1(%rip), %rsi      # 0xa4e7
movq %rax, %rdi
callq 0x3240
movq %rax, %rdi
callq 0x3130
movq %rax, %rdi
callq 0x3130
leaq 0x54e3(%rip), %rsi      # 0xa538
movq %rax, %rdi
callq 0x3240
movq %rax, %rdi
callq 0x3130
leaq 0x5531(%rip), %rsi      # 0xa59d
movq %rax, %rdi
callq 0x3240
movq %rax, %rdi
callq 0x3130
leaq 0x557b(%rip), %rsi      # 0xa5fe
movq %rax, %rdi
callq 0x3240
movq %rax, %rdi
callq 0x3130
leaq 0x55ad(%rip), %rsi      # 0xa647
movq %rax, %rdi
callq 0x3240
movq %rax, %rdi
callq 0x3130
leaq 0x55c7(%rip), %rsi      # 0xa678
movq %rax, %rdi
callq 0x3240
movq %rax, %rdi
callq 0x3130
leaq 0x56a1(%rip), %rsi      # 0xa769
movq %rax, %rdi
callq 0x3240
movq %rax, %rdi
callq 0x3130
leaq 0x5725(%rip), %rsi      # 0xa804
movq %rax, %rdi
callq 0x3240
movq %rax, %rdi
callq 0x3130
leaq 0x575c(%rip), %rsi      # 0xa852
movq %rax, %rdi
callq 0x3240
movq %rax, %rdi
callq 0x3130
movq %rax, %rdi
callq 0x3130
pushq $0x1
popq %rdi
callq 0x32e0