#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, int, int, int);
int /*<<< orphan*/ stderr;
void PrintMenu(void) {
  fprintf(stderr,
          "Usage: KESTREL [OPTION]... [FILE1] [FILE2]                          "
          "     \n"
          "An ultra-fast tool to filter exogenous DNA from ancient samples.    "
          "     \n"
          "                                                                    "
          "     \n"
          "Non-mandatory arguments:                                            "
          "     \n"
          "                                                                    "
          "     \n"
          "  -h                       give this help,                          "
          "     \n"
          "  -F                       force mode (overwrites top file),        "
          "     \n"
          "  -V                       display version number,                  "
          "     \n"
          "  -v                       verbose mode (more information),         "
          "     \n"
          "  -i                       inverts search,                          "
          "     \n"
          "  -s                       show compression levels,                 "
          "     \n"
          "  -l <level>               compression level [%u;%u],               "
          "     \n"
          "  -t <threshold>           similarity threshold [0.0;1.0],          "
          "     \n"
          "  -p <sample>              subsampling (default: %u),               "
          "     \n"
          "  -n <nThreads>            number of threads (default: %u),         "
          "     \n"
          "  -o <FILE>                output filename,                         "
          "     \n"
          "                                                                    "
          "     \n"
          "Mandatory arguments:                                                "
          "     \n"
          "                                                                    "
          "     \n"
          "  [FILE1]                  reference filename (FASTA or FASTQ),     "
          "     \n"
          "  [FILE2]                  raw reads filename (FASTQ).              "
          "     \n"
          "                                                                    "
          "     \n"
          "Report issues to <{pratas,ap}@ua.pt>.                               "
          "     \n",
          1, 44, 1, 2);
}


x86 assembly (clang, -O0):
<PrintMenu>:
push   %rbp
mov    %rsp,%rbp
mov    0x2ec5(%rip),%rax
mov    (%rax),%edi
lea    0xedc(%rip),%rsi
mov    $0x1,%r8d
mov    $0x2c,%ecx
mov    $0x2,%r9d
mov    %r8d,%edx
call   1030 <fprintf@plt>
pop    %rbp
ret

x86 assembly (clang, -O2):
<PrintMenu>:
mov    0x2ec9(%rip),%rax
mov    (%rax),%edi
lea    0xee0(%rip),%rsi
mov    $0x1,%edx
mov    $0x2c,%ecx
mov    $0x1,%r8d
mov    $0x2,%r9d
jmp    1030 <fprintf@plt>

LLVM IR (-O0):
@stderr = global i32 0
@.str = [1703 x i8] c"Usage: KESTREL [OPTION]... [FILE1] [FILE2] \0AAn ultra-fast tool to filter exogenous DNA from ancient samples. \0A \0ANon-mandatory arguments: \0A \0A -h give this help, \0A -F force mode (overwrites top file), \0A -V display version number, \0A -v verbose mode (more information), \0A -i inverts search, \0A -s show compression levels, \0A -l <level> compression level [%u;%u], \0A -t <threshold> similarity threshold [0.0;1.0], \0A -p <sample> subsampling (default: %u), \0A -n <nThreads> number of threads (default: %u), \0A -o <FILE> output filename, \0A \0AMandatory arguments: \0A \0A [FILE1] reference filename (FASTA or FASTQ), \0A [FILE2] raw reads filename (FASTQ). \0A \0AReport issues to <{pratas,ap}@ua.pt>. \0A\00"
define void @PrintMenu() {
%1 = load i32, i32* @stderr
%2 = call i32 @fprintf(i32 %1, i8* getelementptr inbounds ([1703 x i8], [1703 x i8]* @.str, i64 0, i64 0), i32 1, i32 44, i32 1, i32 2)
ret void
}

LLVM IR (-O2):
@stderr = global i32 0
@.str = [1703 x i8] c"Usage: KESTREL [OPTION]... [FILE1] [FILE2] \0AAn ultra-fast tool to filter exogenous DNA from ancient samples. \0A \0ANon-mandatory arguments: \0A \0A -h give this help, \0A -F force mode (overwrites top file), \0A -V display version number, \0A -v verbose mode (more information), \0A -i inverts search, \0A -s show compression levels, \0A -l <level> compression level [%u;%u], \0A -t <threshold> similarity threshold [0.0;1.0], \0A -p <sample> subsampling (default: %u), \0A -n <nThreads> number of threads (default: %u), \0A -o <FILE> output filename, \0A \0AMandatory arguments: \0A \0A [FILE1] reference filename (FASTA or FASTQ), \0A [FILE2] raw reads filename (FASTQ). \0A \0AReport issues to <{pratas,ap}@ua.pt>. \0A\00"
define void @PrintMenu() {
%1 = load i32, i32* @stderr
%2 = tail call i32 @fprintf(i32 %1, i8* getelementptr inbounds ([1703 x i8], [1703 x i8]* @.str, i64 0, i64 0), i32 1, i32 44, i32 1, i32 2)
ret void
}