#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*/ fprintf(int /*<<< orphan*/, char *);
int /*<<< orphan*/ stdout;
void print_help() {
  fprintf(
      stdout,
      "fastq-sample [OPTION]... FILE [FILE2]\n"
      "Sample random reads from a FASTQ file."
      "Options:\n"
      "  -n N                    the number of reads to sample (default: "
      "10000)\n"
      "  -p N                    the proportion of the total reads to sample\n"
      "  -o, --output=PREFIX     output file prefix\n (Default: \"sample\")"
      "  -c, --complement-output=PREFIX\n"
      "                          output reads not included in the random "
      "sample to\n"
      "                          a file (or files) with the given prefix (by "
      "default,\n"
      "                          they are not output).\n"
      "  -r, --with-replacement  sample with replacement\n"
      "  -s, --seed=SEED         a manual seed to the random number generator\n"
      "  -h, --help              print this message\n"
      "  -V, --version           output version information and exit\n");
}


x86 assembly (clang, -O0):
<print_help>:
push   %rbp
mov    %rsp,%rbp
mov    0x2ec5(%rip),%rax
mov    (%rax),%edi
lea    0xedc(%rip),%rsi
call   1030 <fprintf@plt>
pop    %rbp
ret

x86 assembly (clang, -O2):
<print_help>:
mov    0x2ec9(%rip),%rax
mov    (%rax),%edi
lea    0xee0(%rip),%rsi
jmp    1030 <fprintf@plt>

LLVM IR (-O0):
@stdout = global i32 0
@.str = [758 x i8] c"fastq-sample [OPTION]... FILE [FILE2]\0ASample random reads from a FASTQ file.Options:\0A -n N the number of reads to sample (default: 10000)\0A -p N the proportion of the total reads to sample\0A -o, --output=PREFIX output file prefix\0A (Default: \22sample\22) -c, --complement-output=PREFIX\0A output reads not included in the random sample to\0A a file (or files) with the given prefix (by default,\0A they are not output).\0A -r, --with-replacement sample with replacement\0A -s, --seed=SEED a manual seed to the random number generator\0A -h, --help print this message\0A -V, --version output version information and exit\0A\00"
define void @print_help() {
%1 = load i32, i32* @stdout
%2 = call i32 @fprintf(i32 %1, i8* getelementptr inbounds ([758 x i8], [758 x i8]* @.str, i64 0, i64 0))
ret void
}

LLVM IR (-O2):
@stdout = global i32 0
@.str = [758 x i8] c"fastq-sample [OPTION]... FILE [FILE2]\0ASample random reads from a FASTQ file.Options:\0A -n N the number of reads to sample (default: 10000)\0A -p N the proportion of the total reads to sample\0A -o, --output=PREFIX output file prefix\0A (Default: \22sample\22) -c, --complement-output=PREFIX\0A output reads not included in the random sample to\0A a file (or files) with the given prefix (by default,\0A they are not output).\0A -r, --with-replacement sample with replacement\0A -s, --seed=SEED a manual seed to the random number generator\0A -h, --help print this message\0A -V, --version output version information and exit\0A\00"
define void @print_help() {
%1 = load i32, i32* @stdout
%2 = tail call i32 @fprintf(i32 %1, i8* getelementptr inbounds ([758 x i8], [758 x i8]* @.str, i64 0, i64 0))
ret void
}