// File: /workspace/github_c_makefile_star2_O3/jsh58[P]Genrich/Genrich.c
// Function: usage
void usage(void) {
  fprintf(stderr, "Usage: ./Genrich  -%c <file>  -%c <file>", INFILE, OUTFILE);
  fprintf(stderr, "  [optional arguments]\n");
  fprintf(stderr, "Required arguments:\n");
  fprintf(stderr, "  -%c  <file>       Input SAM/BAM file(s) for experimental sample(s)\n", INFILE);
  fprintf(stderr, "  -%c  <file>       Output peak file (in ENCODE narrowPeak format)\n", OUTFILE);
  fprintf(stderr, "Optional I/O arguments:\n");
  fprintf(stderr, "  -%c  <file>       Input SAM/BAM file(s) for control sample(s)\n", CTRLFILE);
  fprintf(stderr, "  -%c  <file>       Output bedgraph-ish file for p/q values\n", LOGFILE);
  fprintf(stderr, "  -%c  <file>       Output bedgraph-ish file for pileups and p-values\n", PILEFILE);
  fprintf(stderr, "  -%c  <file>       Output BED file for reads/fragments/intervals\n", BEDFILE);
  fprintf(stderr, "  -%c  <file>       Output file for PCR duplicates (only with -%c)\n", DUPSFILE, DUPSOPT);
  fprintf(stderr, "Filtering options:\n");
  fprintf(stderr, "  -%c               Remove PCR duplicates\n", DUPSOPT);
  fprintf(stderr, "  -%c  <arg>        Comma-separated list of chromosomes to exclude\n", XCHROM);
  fprintf(stderr, "  -%c  <file>       Input BED file(s) of genomic regions to exclude\n", XFILE);
  fprintf(stderr, "  -%c  <int>        Minimum MAPQ to keep an alignment (def. 0)\n", MINMAPQ);
  fprintf(stderr, "  -%c  <float>      Keep sec alns with AS >= bestAS - <float> (def. 0)\n", ASDIFF);
  fprintf(stderr, "  -%c               Keep unpaired alignments (def. false)\n", UNPAIROPT);
  fprintf(stderr, "  -%c  <int>        Keep unpaired alns, lengths changed to <int>\n", EXTENDOPT);
  fprintf(stderr, "  -%c               Keep unpaired alns, lengths changed to paired avg\n", AVGEXTOPT);
  fprintf(stderr, "Options for ATAC-seq:\n");
  fprintf(stderr, "  -%c               Use ATAC-seq mode (def. false)\n", ATACOPT);
  fprintf(stderr, "  -%c  <int>        Expand cut sites to <int> bp (def. %d)\n", ATACLEN, DEFATAC);
  fprintf(stderr, "  -%c               Skip Tn5 adjustments of cut sites (def. false)\n", DNASEOPT);
  fprintf(stderr, "Options for peak-calling:\n");
  fprintf(stderr, "  -%c  <float>      Maximum p-value (def. %.2f)\n", PVALUE, DEFPVAL);
  fprintf(stderr, "  -%c  <float>      Maximum q-value (FDR-adjusted p-value; def. 1)\n", QVALUE);
  fprintf(stderr, "  -%c  <float>      Minimum AUC for a peak (def. %.1f)\n", MINAUC, DEFAUC);
  fprintf(stderr, "  -%c  <int>        Minimum length of a peak (def. %d)\n", MINLEN, DEFMINLEN);
  fprintf(stderr, "  -%c  <int>        Maximum distance between signif. sites (def. %d)\n", MAXGAP, DEFMAXGAP);
  fprintf(stderr, "Other options:\n");
  fprintf(stderr, "  -%c               Skip peak-calling\n", NOPEAKS);
  fprintf(stderr, "  -%c               Call peaks directly from a log file (-%c)\n", PEAKSONLY, LOGFILE);
  fprintf(stderr, "  -%c               Option to gzip-compress output(s)\n", GZOPT);
  fprintf(stderr, "  -%c               Option to print status updates/counts to stderr\n", VERBOSE);
  exit(EXIT_FAILURE);
}

// Assembly:
pushq %rbx
movq 0x16a31(%rip), %rbx     # 0x19ff8
movq (%rbx), %rdi
leaq 0xf6b7(%rip), %rsi      # 0x12c88
movl $0x74, %edx
movl $0x6f, %ecx
xorl %eax, %eax
callq 0x21d0
movq (%rbx), %rcx
leaq 0xf6c5(%rip), %rdi      # 0x12cb1
movl $0x17, %esi
movl $0x1, %edx
callq 0x22b0
movq (%rbx), %rcx
leaq 0xf6c4(%rip), %rdi      # 0x12cc9
movl $0x14, %esi
movl $0x1, %edx
callq 0x22b0
movq (%rbx), %rdi
leaq 0xf6c0(%rip), %rsi      # 0x12cde
movl $0x74, %edx
xorl %eax, %eax
callq 0x21d0
movq (%rbx), %rdi
leaq 0xf6f0(%rip), %rsi      # 0x12d24
movl $0x6f, %edx
xorl %eax, %eax
callq 0x21d0
movq (%rbx), %rcx
leaq 0xf71e(%rip), %rdi      # 0x12d68
movl $0x18, %esi
movl $0x1, %edx
callq 0x22b0
movq (%rbx), %rdi
leaq 0xf71e(%rip), %rsi      # 0x12d81
movl $0x63, %edx
xorl %eax, %eax
callq 0x21d0
movq (%rbx), %rdi
leaq 0xf749(%rip), %rsi      # 0x12dc2
movl $0x66, %edx
xorl %eax, %eax
callq 0x21d0
movq (%rbx), %rdi
leaq 0xf770(%rip), %rsi      # 0x12dff
movl $0x6b, %edx
xorl %eax, %eax
callq 0x21d0
movq (%rbx), %rdi
leaq 0xf7a1(%rip), %rsi      # 0x12e46
movl $0x62, %edx
xorl %eax, %eax
callq 0x21d0
movq (%rbx), %rdi
leaq 0xf7ce(%rip), %rsi      # 0x12e89
movl $0x52, %edx
movl $0x72, %ecx
xorl %eax, %eax
callq 0x21d0
movq (%rbx), %rcx
leaq 0xf7f7(%rip), %rdi      # 0x12ecd
movl $0x13, %esi
movl $0x1, %edx
callq 0x22b0
movq (%rbx), %rdi
leaq 0xf7f2(%rip), %rsi      # 0x12ee1
movl $0x72, %edx
xorl %eax, %eax
callq 0x21d0
movq (%rbx), %rdi
leaq 0xf807(%rip), %rsi      # 0x12f0c
movl $0x65, %edx
xorl %eax, %eax
callq 0x21d0
movq (%rbx), %rdi
leaq 0xf835(%rip), %rsi      # 0x12f50
movl $0x45, %edx
xorl %eax, %eax
callq 0x21d0
movq (%rbx), %rdi
leaq 0xf864(%rip), %rsi      # 0x12f95
movl $0x6d, %edx
xorl %eax, %eax
callq 0x21d0
movq (%rbx), %rdi
leaq 0xf88e(%rip), %rsi      # 0x12fd5
movl $0x73, %edx
xorl %eax, %eax
callq 0x21d0
movq (%rbx), %rdi
leaq 0xf8c0(%rip), %rsi      # 0x1301d
movl $0x79, %edx
xorl %eax, %eax
callq 0x21d0
movq (%rbx), %rdi
leaq 0xf8e5(%rip), %rsi      # 0x13058
movl $0x77, %edx
xorl %eax, %eax
callq 0x21d0
movq (%rbx), %rdi
leaq 0xf911(%rip), %rsi      # 0x1309a
movl $0x78, %edx
xorl %eax, %eax
callq 0x21d0
movq (%rbx), %rcx
leaq 0xf942(%rip), %rdi      # 0x130e1
movl $0x16, %esi
movl $0x1, %edx
callq 0x22b0
movq (%rbx), %rdi
leaq 0xf940(%rip), %rsi      # 0x130f8
movl $0x6a, %edx
xorl %eax, %eax
callq 0x21d0
movq (%rbx), %rdi
leaq 0xf95e(%rip), %rsi      # 0x1312c
movl $0x64, %edx
movl $0x64, %ecx
xorl %eax, %eax
callq 0x21d0
movq (%rbx), %rdi
leaq 0xf97f(%rip), %rsi      # 0x13168
movl $0x44, %edx
xorl %eax, %eax
callq 0x21d0
movq (%rbx), %rcx
leaq 0xf9ad(%rip), %rdi      # 0x131ac
movl $0x1a, %esi
movl $0x1, %edx
callq 0x22b0
movq (%rbx), %rdi
leaq 0xf9af(%rip), %rsi      # 0x131c7
movsd 0xe7e8(%rip), %xmm0     # 0x12008
movl $0x70, %edx
movb $0x1, %al
callq 0x21d0
movq (%rbx), %rdi
leaq 0xf9c2(%rip), %rsi      # 0x131f8
movl $0x71, %edx
xorl %eax, %eax
callq 0x21d0
movq (%rbx), %rdi
leaq 0xf9f0(%rip), %rsi      # 0x1323c
movsd 0xe7bc(%rip), %xmm0     # 0x12010
movl $0x61, %edx
movb $0x1, %al
callq 0x21d0
movq (%rbx), %rdi
leaq 0xfa0a(%rip), %rsi      # 0x13274
movl $0x6c, %edx
xorl %ecx, %ecx
xorl %eax, %eax
callq 0x21d0
movq (%rbx), %rdi
leaq 0xfa2a(%rip), %rsi      # 0x132ac
movl $0x67, %edx
movl $0x64, %ecx
xorl %eax, %eax
callq 0x21d0
movq (%rbx), %rcx
leaq 0xfa55(%rip), %rdi      # 0x132f2
movl $0xf, %esi
movl $0x1, %edx
callq 0x22b0
movq (%rbx), %rdi
leaq 0xfa4c(%rip), %rsi      # 0x13302
movl $0x58, %edx
xorl %eax, %eax
callq 0x21d0
movq (%rbx), %rdi
leaq 0xfa5d(%rip), %rsi      # 0x13329
movl $0x50, %edx
movl $0x66, %ecx
xorl %eax, %eax
callq 0x21d0
movq (%rbx), %rdi
leaq 0xfa81(%rip), %rsi      # 0x13368
movl $0x7a, %edx
xorl %eax, %eax
callq 0x21d0
movq (%rbx), %rdi
leaq 0xfaa2(%rip), %rsi      # 0x1339f
movl $0x76, %edx
xorl %eax, %eax
callq 0x21d0
movl $0x1, %edi
callq 0x22a0