// File: /workspace/github_c_makefile_star2_O2/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 %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
movq 0x14bd1(%rip), %r15     # 0x16ff8
movq (%r15), %rdi
leaq 0xe7a7(%rip), %rsi      # 0x10bd8
pushq $0x74
popq %r14
pushq $0x6f
popq %rbp
movl %r14d, %edx
movl %ebp, %ecx
xorl %eax, %eax
callq 0x21c0
movq (%r15), %rcx
leaq 0xe7b3(%rip), %rdi      # 0x10c01
pushq $0x17
popq %rsi
pushq $0x1
popq %rbx
movq %rbx, %rdx
callq 0x22b0
movq (%r15), %rcx
leaq 0xe7b3(%rip), %rdi      # 0x10c19
pushq $0x14
popq %rsi
movq %rbx, %rdx
callq 0x22b0
movq (%r15), %rdi
leaq 0xe7b3(%rip), %rsi      # 0x10c2e
movl %r14d, %edx
xorl %eax, %eax
callq 0x21c0
movq (%r15), %rdi
leaq 0xe7e5(%rip), %rsi      # 0x10c74
movl %ebp, %edx
xorl %eax, %eax
callq 0x21c0
movq (%r15), %rcx
leaq 0xe816(%rip), %rdi      # 0x10cb8
pushq $0x18
popq %rsi
movq %rbx, %rdx
callq 0x22b0
movq (%r15), %rdi
leaq 0xe81a(%rip), %rsi      # 0x10cd1
pushq $0x63
popq %rdx
xorl %eax, %eax
callq 0x21c0
movq (%r15), %rdi
leaq 0xe847(%rip), %rsi      # 0x10d12
pushq $0x66
popq %rbp
movl %ebp, %edx
xorl %eax, %eax
callq 0x21c0
movq (%r15), %rdi
leaq 0xe86e(%rip), %rsi      # 0x10d4f
pushq $0x6b
popq %rdx
xorl %eax, %eax
callq 0x21c0
movq (%r15), %rdi
leaq 0xe8a1(%rip), %rsi      # 0x10d96
pushq $0x62
popq %rdx
xorl %eax, %eax
callq 0x21c0
movq (%r15), %rdi
leaq 0xe8d0(%rip), %rsi      # 0x10dd9
pushq $0x52
popq %rdx
pushq $0x72
popq %r14
movl %r14d, %ecx
xorl %eax, %eax
callq 0x21c0
movq (%r15), %rcx
leaq 0xe8f9(%rip), %rdi      # 0x10e1d
pushq $0x13
popq %rsi
movq %rbx, %rdx
callq 0x22b0
movq (%r15), %rdi
leaq 0xe8f8(%rip), %rsi      # 0x10e31
movl %r14d, %edx
xorl %eax, %eax
callq 0x21c0
movq (%r15), %rdi
leaq 0xe90f(%rip), %rsi      # 0x10e5c
pushq $0x65
popq %rdx
xorl %eax, %eax
callq 0x21c0
movq (%r15), %rdi
leaq 0xe93f(%rip), %rsi      # 0x10ea0
pushq $0x45
popq %rdx
xorl %eax, %eax
callq 0x21c0
movq (%r15), %rdi
leaq 0xe970(%rip), %rsi      # 0x10ee5
pushq $0x6d
popq %rdx
xorl %eax, %eax
callq 0x21c0
movq (%r15), %rdi
leaq 0xe99c(%rip), %rsi      # 0x10f25
pushq $0x73
popq %rdx
xorl %eax, %eax
callq 0x21c0
movq (%r15), %rdi
leaq 0xe9d0(%rip), %rsi      # 0x10f6d
pushq $0x79
popq %rdx
xorl %eax, %eax
callq 0x21c0
movq (%r15), %rdi
leaq 0xe9f7(%rip), %rsi      # 0x10fa8
pushq $0x77
popq %rdx
xorl %eax, %eax
callq 0x21c0
movq (%r15), %rdi
leaq 0xea25(%rip), %rsi      # 0x10fea
pushq $0x78
popq %rdx
xorl %eax, %eax
callq 0x21c0
movq (%r15), %rcx
leaq 0xea58(%rip), %rdi      # 0x11031
pushq $0x16
popq %rsi
movq %rbx, %rdx
callq 0x22b0
movq (%r15), %rdi
leaq 0xea5a(%rip), %rsi      # 0x11048
pushq $0x6a
popq %rdx
xorl %eax, %eax
callq 0x21c0
movq (%r15), %rdi
leaq 0xea7a(%rip), %rsi      # 0x1107c
pushq $0x64
popq %r14
movl %r14d, %edx
movl %r14d, %ecx
xorl %eax, %eax
callq 0x21c0
movq (%r15), %rdi
leaq 0xea9b(%rip), %rsi      # 0x110b8
pushq $0x44
popq %rdx
xorl %eax, %eax
callq 0x21c0
movq (%r15), %rcx
leaq 0xeacb(%rip), %rdi      # 0x110fc
pushq $0x1a
popq %rsi
movq %rbx, %rdx
callq 0x22b0
movq (%r15), %rdi
leaq 0xead1(%rip), %rsi      # 0x11117
pushq $0x70
popq %rdx
movsd 0xd9b7(%rip), %xmm0     # 0x10008
movb $0x1, %al
callq 0x21c0
movq (%r15), %rdi
leaq 0xeae6(%rip), %rsi      # 0x11148
pushq $0x71
popq %rdx
xorl %eax, %eax
callq 0x21c0
movq (%r15), %rdi
leaq 0xeb16(%rip), %rsi      # 0x1118c
pushq $0x61
popq %rdx
movsd 0xd98f(%rip), %xmm0     # 0x10010
movb $0x1, %al
callq 0x21c0
movq (%r15), %rdi
leaq 0xeb32(%rip), %rsi      # 0x111c4
pushq $0x6c
popq %rdx
xorl %ecx, %ecx
xorl %eax, %eax
callq 0x21c0
movq (%r15), %rdi
leaq 0xeb54(%rip), %rsi      # 0x111fc
pushq $0x67
popq %rdx
movl %r14d, %ecx
xorl %eax, %eax
callq 0x21c0
movq (%r15), %rcx
leaq 0xeb83(%rip), %rdi      # 0x11242
pushq $0xf
popq %rsi
movq %rbx, %rdx
callq 0x22b0
movq (%r15), %rdi
leaq 0xeb7e(%rip), %rsi      # 0x11252
pushq $0x58
popq %rdx
xorl %eax, %eax
callq 0x21c0
movq (%r15), %rdi
leaq 0xeb91(%rip), %rsi      # 0x11279
pushq $0x50
popq %rdx
movl %ebp, %ecx
xorl %eax, %eax
callq 0x21c0
movq (%r15), %rdi
leaq 0xebba(%rip), %rsi      # 0x112b8
pushq $0x7a
popq %rdx
xorl %eax, %eax
callq 0x21c0
movq (%r15), %rdi
leaq 0xebdd(%rip), %rsi      # 0x112ef
pushq $0x76
popq %rdx
xorl %eax, %eax
callq 0x21c0
pushq $0x1
popq %rdi
callq 0x22a0