#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_overlap\n\nSummary: report the overlaps of two "
      "peaks/summits\n\nUsage:   ga_overlap [options] -1 <file1> -2 <file2>\n  "
      " or:   ga_overlap [options] -1 <file1> -2 <file2> --hw <half_window: "
      "int> --col_start1 <int> --col_end1 <int> ##col_start1 and col_end1 "
      "should be same for -hw option\n\nOptions:\n         -v: output version "
      "information and exit.\n         -h, --help: display this help and "
      "exit.\n         --header: the header of file1 is preserved (default: "
      "off).\n         --count: report the number of overlapped peaks of file2 "
      "for each peak of file1 (default: off).\n         --preserve2: preserve "
      "file2 content if overlapped (default: off).\n         --hw <int>: the "
      "peak width is extended for this fixed half window from summit of "
      "file1.\n         --col_chr1 <int>: column number for chromosome of "
      "file1 (default:0).\n         --col_chr2 <int>: column number for "
      "chromosome of file2 (default:0).\n         --col_start1 <int>: column "
      "number for peak start position of file1 (default:1).\n         "
      "--col_start2 <int>: column number for peak start position of file2 "
      "(default:1).\n         --col_end1 <int>: column number for peak end "
      "position of file1 (default:2).\n         --col_end2 <int>: column "
      "number for peak end position of file2 (default:2).\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 = [1250 x i8] c"Tool: ga_overlap\0A\0ASummary: report the overlaps of two peaks/summits\0A\0AUsage: ga_overlap [options] -1 <file1> -2 <file2>\0A or: ga_overlap [options] -1 <file1> -2 <file2> --hw <half_window: int> --col_start1 <int> --col_end1 <int> ##col_start1 and col_end1 should be same for -hw option\0A\0AOptions:\0A -v: output version information and exit.\0A -h, --help: display this help and exit.\0A --header: the header of file1 is preserved (default: off).\0A --count: report the number of overlapped peaks of file2 for each peak of file1 (default: off).\0A --preserve2: preserve file2 content if overlapped (default: off).\0A --hw <int>: the peak width is extended for this fixed half window from summit of file1.\0A --col_chr1 <int>: column number for chromosome of file1 (default:0).\0A --col_chr2 <int>: column number for chromosome of file2 (default:0).\0A --col_start1 <int>: column number for peak start position of file1 (default:1).\0A --col_start2 <int>: column number for peak start position of file2 (default:1).\0A --col_end1 <int>: column number for peak end position of file1 (default:2).\0A --col_end2 <int>: column number for peak end position of file2 (default:2).\0A\00"
define void @usage() {
%1 = call i32 @printf(i8* getelementptr inbounds ([1250 x i8], [1250 x i8]* @.str, i64 0, i64 0))
%2 = call i32 @exit(i32 0)
unreachable
}

LLVM IR (-O2):
@str = [1249 x i8] c"Tool: ga_overlap\0A\0ASummary: report the overlaps of two peaks/summits\0A\0AUsage: ga_overlap [options] -1 <file1> -2 <file2>\0A or: ga_overlap [options] -1 <file1> -2 <file2> --hw <half_window: int> --col_start1 <int> --col_end1 <int> ##col_start1 and col_end1 should be same for -hw option\0A\0AOptions:\0A -v: output version information and exit.\0A -h, --help: display this help and exit.\0A --header: the header of file1 is preserved (default: off).\0A --count: report the number of overlapped peaks of file2 for each peak of file1 (default: off).\0A --preserve2: preserve file2 content if overlapped (default: off).\0A --hw <int>: the peak width is extended for this fixed half window from summit of file1.\0A --col_chr1 <int>: column number for chromosome of file1 (default:0).\0A --col_chr2 <int>: column number for chromosome of file2 (default:0).\0A --col_start1 <int>: column number for peak start position of file1 (default:1).\0A --col_start2 <int>: column number for peak start position of file2 (default:1).\0A --col_end1 <int>: column number for peak end position of file1 (default:2).\0A --col_end2 <int>: column number for peak end position of file2 (default:2).\00"
define void @usage() {
%1 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([1249 x i8], [1249 x i8]* @str, i64 0, i64 0))
%2 = tail call i32 @exit(i32 0)
unreachable
}