#define NULL ((void *)0)
typedef unsigned long size_t; // Customize by platform.
typedef long intptr_t;
typedef unsigned long uintptr_t;
typedef long scalar_t__; // Either arithmetic or pointer type.
/* By default, we understand bool (as a convenience). */
typedef int bool;
#define false 0
#define true 1

/* Forward declarations */

/* Type definitions */

/* Variables and functions */
int /*<<< orphan*/ exit(int /*<<< orphan*/);
int /*<<< orphan*/ printf(char *);
void usage() {
  printf(
      "Tool:    ga_reads_summit_all\n\nSummary: report the read distributions "
      "around ALL summits\n\nUsage:   ga_reads_summit_all [options] --smt "
      "<summit file> --sig <signal file> --sigfmt <sig format:bedgraph | "
      "sepwiggz | onewiggz>\n\nOptions:\n         -v: output version "
      "information and exit.\n         -h, --help: display this help and "
      "exit.\n         --col_chr <int>: column number for chromosome of summit "
      "file (default:0).\n         --col_start <int>: column number for peak "
      "start position of summit file (default:1).\n         --col_end <int>: "
      "column number for peak end position of summit file (default:2).\n       "
      "  --col_strand <int>: column number for strand of summit file "
      "(default:-1).\n         --header: the first line of summit file is "
      "considered as header (default:off).\n         --gt: genome table file "
      "(default:NULL)\n         --sig_d: signal denominator file like input "
      "(default:NULL)\n         --hw: <int> half range size (default:1000)\n   "
      "      --step: <int> step size (default: 10)\n         --win: <int> "
      "window size (default:25)\n");
  exit(0);
}


x86 assembly (clang, -O0):
<usage>:
push   %rbp
mov    %rsp,%rbp
lea    0xed5(%rip),%rdi
call   1030 <printf@plt>
xor    %edi,%edi
call   1040 <exit@plt>

x86 assembly (clang, -O2):
<usage>:
push   %rax
lea    0xed8(%rip),%rdi
call   1030 <puts@plt>
xor    %edi,%edi
call   1040 <exit@plt>

LLVM IR (-O0):
@.str = [1031 x i8] c"Tool: ga_reads_summit_all\0A\0ASummary: report the read distributions around ALL summits\0A\0AUsage: ga_reads_summit_all [options] --smt <summit file> --sig <signal file> --sigfmt <sig format:bedgraph | sepwiggz | onewiggz>\0A\0AOptions:\0A -v: output version information and exit.\0A -h, --help: display this help and exit.\0A --col_chr <int>: column number for chromosome of summit file (default:0).\0A --col_start <int>: column number for peak start position of summit file (default:1).\0A --col_end <int>: column number for peak end position of summit file (default:2).\0A --col_strand <int>: column number for strand of summit file (default:-1).\0A --header: the first line of summit file is considered as header (default:off).\0A --gt: genome table file (default:NULL)\0A --sig_d: signal denominator file like input (default:NULL)\0A --hw: <int> half range size (default:1000)\0A --step: <int> step size (default: 10)\0A --win: <int> window size (default:25)\0A\00"
define void @usage() {
%1 = call i32 @printf(i8* getelementptr inbounds ([1031 x i8], [1031 x i8]* @.str, i64 0, i64 0))
%2 = call i32 @exit(i32 0)
unreachable
}

LLVM IR (-O2):
@str = [1030 x i8] c"Tool: ga_reads_summit_all\0A\0ASummary: report the read distributions around ALL summits\0A\0AUsage: ga_reads_summit_all [options] --smt <summit file> --sig <signal file> --sigfmt <sig format:bedgraph | sepwiggz | onewiggz>\0A\0AOptions:\0A -v: output version information and exit.\0A -h, --help: display this help and exit.\0A --col_chr <int>: column number for chromosome of summit file (default:0).\0A --col_start <int>: column number for peak start position of summit file (default:1).\0A --col_end <int>: column number for peak end position of summit file (default:2).\0A --col_strand <int>: column number for strand of summit file (default:-1).\0A --header: the first line of summit file is considered as header (default:off).\0A --gt: genome table file (default:NULL)\0A --sig_d: signal denominator file like input (default:NULL)\0A --hw: <int> half range size (default:1000)\0A --step: <int> step size (default: 10)\0A --win: <int> window size (default:25)\00"
define void @usage() {
%1 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([1030 x i8], [1030 x i8]* @str, i64 0, i64 0))
%2 = tail call i32 @exit(i32 0)
unreachable
}