// File: /workspace/github_cpp_makefile_star2_O1/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 0x99eb(%rip), %rbx      # 0xeff0
leaq 0x5c7e(%rip), %rsi      # 0xb28a
movq %rbx, %rdi
callq 0x32a0
movss 0x5a9c(%rip), %xmm0     # 0xb0b8
movq %rax, %rdi
callq 0x3200
movq %rax, %rdi
callq 0x3140
movq %rax, %rdi
movq %r14, %rsi
callq 0x32a0
leaq 0x5c6e(%rip), %rsi      # 0xb2ac
movq %rax, %rdi
callq 0x32a0
movq %rax, %rdi
callq 0x3140
leaq 0x5c8d(%rip), %rsi      # 0xb2e2
movq %rax, %rdi
callq 0x32a0
movq %rax, %rdi
callq 0x3140
movq %rax, %rdi
movq %r14, %rsi
callq 0x32a0
leaq 0x5c6e(%rip), %rsi      # 0xb2e5
movq %rax, %rdi
callq 0x32a0
movq %rax, %rdi
callq 0x3140
movq %rbx, %rdi
callq 0x3140
leaq 0x5c75(%rip), %rsi      # 0xb30b
movq %rax, %rdi
callq 0x32a0
movq %rax, %rdi
callq 0x3140
movq %rax, %rdi
callq 0x3140
leaq 0x5d04(%rip), %rsi      # 0xb3b9
movq %rbx, %rdi
callq 0x32a0
movq %rax, %rdi
callq 0x3140
movq %rax, %rdi
callq 0x3140
leaq 0x5cf9(%rip), %rsi      # 0xb3cd
movq %rax, %rdi
callq 0x32a0
movq %rax, %rdi
callq 0x3140
leaq 0x5d08(%rip), %rsi      # 0xb3f3
movq %rax, %rdi
callq 0x32a0
movq %rax, %rdi
callq 0x3140
leaq 0x5d2e(%rip), %rsi      # 0xb430
movq %rax, %rdi
callq 0x32a0
movq %rax, %rdi
callq 0x3140
leaq 0x5d91(%rip), %rsi      # 0xb4aa
movq %rax, %rdi
callq 0x32a0
movq %rax, %rdi
callq 0x3140
leaq 0x5db7(%rip), %rsi      # 0xb4e7
movq %rax, %rdi
callq 0x32a0
movq %rax, %rdi
callq 0x3140
movq %rax, %rdi
callq 0x3140
leaq 0x5de9(%rip), %rsi      # 0xb538
movq %rax, %rdi
callq 0x32a0
movq %rax, %rdi
callq 0x3140
leaq 0x5e37(%rip), %rsi      # 0xb59d
movq %rax, %rdi
callq 0x32a0
movq %rax, %rdi
callq 0x3140
leaq 0x5e81(%rip), %rsi      # 0xb5fe
movq %rax, %rdi
callq 0x32a0
movq %rax, %rdi
callq 0x3140
leaq 0x5eb3(%rip), %rsi      # 0xb647
movq %rax, %rdi
callq 0x32a0
movq %rax, %rdi
callq 0x3140
leaq 0x5ecd(%rip), %rsi      # 0xb678
movq %rax, %rdi
callq 0x32a0
movq %rax, %rdi
callq 0x3140
leaq 0x5fa7(%rip), %rsi      # 0xb769
movq %rax, %rdi
callq 0x32a0
movq %rax, %rdi
callq 0x3140
leaq 0x602b(%rip), %rsi      # 0xb804
movq %rax, %rdi
callq 0x32a0
movq %rax, %rdi
callq 0x3140
leaq 0x6062(%rip), %rsi      # 0xb852
movq %rax, %rdi
callq 0x32a0
movq %rax, %rdi
callq 0x3140
movq %rax, %rdi
callq 0x3140
movl $0x1, %edi
callq 0x3340