#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_region\n\nSummary: report the amount of reads "
         "inside regions\n\nUsage:   ga_reads_region [options] --smt <summit "
         "file> --sig <signal file> --sigfmt <sig format:bedgraph | sepwiggz | "
         "onewiggz> --mode smt --col_smt <int: column of summit>\n   or:   "
         "ga_reads_region [options] --smt <region file> --sig <signal file> "
         "--sigfmt <sig format:bedgraph | sepwiggz | onewiggz> --mode <region "
         "mode: region | up-tss | tss-dw | up-tss-dw | up-tes | tes-dw | "
         "up-tes-dw>\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_smt <int>: column number for summit "
         "position of summit file (default:1).\n         --col_strand <int>: "
         "column number for strand of summit file (default:-1).\n         "
         "--header: the header of summit file is preserved (default:off).\n    "
         "     --norm_len: normalization by region length (default:off).\n     "
         "    --sig_d: signal denominator file like input (default:NULL)\n     "
         "    --hw: <int> half range size (default:1000)\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 = [1276 x i8] c"Tool: ga_reads_region\0A\0ASummary: report the amount of reads inside regions\0A\0AUsage: ga_reads_region [options] --smt <summit file> --sig <signal file> --sigfmt <sig format:bedgraph | sepwiggz | onewiggz> --mode smt --col_smt <int: column of summit>\0A or: ga_reads_region [options] --smt <region file> --sig <signal file> --sigfmt <sig format:bedgraph | sepwiggz | onewiggz> --mode <region mode: region | up-tss | tss-dw | up-tss-dw | up-tes | tes-dw | up-tes-dw>\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_smt <int>: column number for summit position of summit file (default:1).\0A --col_strand <int>: column number for strand of summit file (default:-1).\0A --header: the header of summit file is preserved (default:off).\0A --norm_len: normalization by region length (default:off).\0A --sig_d: signal denominator file like input (default:NULL)\0A --hw: <int> half range size (default:1000)\0A\00"
define void @usage() {
%1 = call i32 @printf(i8* getelementptr inbounds ([1276 x i8], [1276 x i8]* @.str, i64 0, i64 0))
%2 = call i32 @exit(i32 0)
unreachable
}

LLVM IR (-O2):
@str = [1275 x i8] c"Tool: ga_reads_region\0A\0ASummary: report the amount of reads inside regions\0A\0AUsage: ga_reads_region [options] --smt <summit file> --sig <signal file> --sigfmt <sig format:bedgraph | sepwiggz | onewiggz> --mode smt --col_smt <int: column of summit>\0A or: ga_reads_region [options] --smt <region file> --sig <signal file> --sigfmt <sig format:bedgraph | sepwiggz | onewiggz> --mode <region mode: region | up-tss | tss-dw | up-tss-dw | up-tes | tes-dw | up-tes-dw>\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_smt <int>: column number for summit position of summit file (default:1).\0A --col_strand <int>: column number for strand of summit file (default:-1).\0A --header: the header of summit file is preserved (default:off).\0A --norm_len: normalization by region length (default:off).\0A --sig_d: signal denominator file like input (default:NULL)\0A --hw: <int> half range size (default:1000)\00"
define void @usage() {
%1 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([1275 x i8], [1275 x i8]* @str, i64 0, i64 0))
%2 = tail call i32 @exit(i32 0)
unreachable
}