#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_RPKM\n\nSummary: report the expression level as reads per "
      "kilobase per million mapped reads (RPKM)\n\nUsage:   ga_RPKM [options] "
      "-exp <expression file in bedgraph format> -ref <reference file> "
      "-readlen <int: read length(default:101)>\nor       ga_RPKM [options] "
      "-exp <expression file in bedgraph format> -ref <reference file> "
      "-readlen <int: read length(default:101)> --consid_ov --thresh <double: "
      "threshold(default:0.5)>\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 "
      "reference file (default:2).\n         --col_start <int>: column number "
      "for gene start position of reference file (default:4).\n         "
      "--col_end <int>: column number for gene end position of reference file "
      "(default:5).\n         --col_strand <int>: column number for strand of "
      "reference file (default:3).\n         --col_exon_st <int>: column "
      "number for exon start positions of reference file (default:9).\n        "
      " --col_exon_ed <int>: column number for exon end positions of reference "
      "file (default:10).\n         --col_gene <int>: column number for gene "
      "name of reference file (default:0).\n         --consid_ov: consider "
      "exon overlapping. If exon is overlapped less than (1-thresh), the "
      "non-overlapping exon is used for calculation. Set --thresh "
      "argument(default: off)l\n         --thresh: threshold for considering "
      "exon overlapping. The 'non-overlapping' exon is used for calculation "
      "for exon which is overlapped by proportion of "
      "'1-thresh'(default:0.5).\n         --header: the first line of "
      "reference file is considered as header (default:off).\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 = [1640 x i8] c"Tool: ga_RPKM\0A\0ASummary: report the expression level as reads per kilobase per million mapped reads (RPKM)\0A\0AUsage: ga_RPKM [options] -exp <expression file in bedgraph format> -ref <reference file> -readlen <int: read length(default:101)>\0Aor ga_RPKM [options] -exp <expression file in bedgraph format> -ref <reference file> -readlen <int: read length(default:101)> --consid_ov --thresh <double: threshold(default:0.5)>\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 reference file (default:2).\0A --col_start <int>: column number for gene start position of reference file (default:4).\0A --col_end <int>: column number for gene end position of reference file (default:5).\0A --col_strand <int>: column number for strand of reference file (default:3).\0A --col_exon_st <int>: column number for exon start positions of reference file (default:9).\0A --col_exon_ed <int>: column number for exon end positions of reference file (default:10).\0A --col_gene <int>: column number for gene name of reference file (default:0).\0A --consid_ov: consider exon overlapping. If exon is overlapped less than (1-thresh), the non-overlapping exon is used for calculation. Set --thresh argument(default: off)l\0A --thresh: threshold for considering exon overlapping. The 'non-overlapping' exon is used for calculation for exon which is overlapped by proportion of '1-thresh'(default:0.5).\0A --header: the first line of reference file is considered as header (default:off).\0A\00"
define void @usage() {
%1 = call i32 @printf(i8* getelementptr inbounds ([1640 x i8], [1640 x i8]* @.str, i64 0, i64 0))
%2 = call i32 @exit(i32 0)
unreachable
}

LLVM IR (-O2):
@str = [1639 x i8] c"Tool: ga_RPKM\0A\0ASummary: report the expression level as reads per kilobase per million mapped reads (RPKM)\0A\0AUsage: ga_RPKM [options] -exp <expression file in bedgraph format> -ref <reference file> -readlen <int: read length(default:101)>\0Aor ga_RPKM [options] -exp <expression file in bedgraph format> -ref <reference file> -readlen <int: read length(default:101)> --consid_ov --thresh <double: threshold(default:0.5)>\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 reference file (default:2).\0A --col_start <int>: column number for gene start position of reference file (default:4).\0A --col_end <int>: column number for gene end position of reference file (default:5).\0A --col_strand <int>: column number for strand of reference file (default:3).\0A --col_exon_st <int>: column number for exon start positions of reference file (default:9).\0A --col_exon_ed <int>: column number for exon end positions of reference file (default:10).\0A --col_gene <int>: column number for gene name of reference file (default:0).\0A --consid_ov: consider exon overlapping. If exon is overlapped less than (1-thresh), the non-overlapping exon is used for calculation. Set --thresh argument(default: off)l\0A --thresh: threshold for considering exon overlapping. The 'non-overlapping' exon is used for calculation for exon which is overlapped by proportion of '1-thresh'(default:0.5).\0A --header: the first line of reference file is considered as header (default:off).\00"
define void @usage() {
%1 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([1639 x i8], [1639 x i8]* @str, i64 0, i64 0))
%2 = tail call i32 @exit(i32 0)
unreachable
}