#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*/ printf(char *);
void print_help_pca() {
  printf("\nHELP: ./pca options \n\n"
         "mandatory:\n"
         "        -x genotype_file      -- genotype file (in .lfmm format)\n\n"
         "optional:\n"
         "        -h                    -- help\n"
         "        -K K                  -- number of principal components "
         "(default: n, the number of individuals)\n"
         "        -a eigenvalue_file    -- output eigenvalues file (default: "
         "genotype_file.eigenvalues)\n"
         "        -e eigenvector_file   -- output eigenvectors file (default: "
         "genotype_file.eigenvectors)\n"
         "        -d sdev_file          -- output standard deviation file "
         "(default: genotype_file.sdev)\n"
         "        -p projection_file    -- output projection file (default: "
         "genotype_file.projections)\n"
         "        -c                    -- data centered (default: FALSE)\n"
         "        -s                    -- data centered and scaled (default: "
         "FALSE)\n\n");
}


x86 assembly (clang, -O0):
<print_help_pca>:
push   %rbp
mov    %rsp,%rbp
lea    0xee5(%rip),%rdi
call   1030 <printf@plt>
pop    %rbp
ret

x86 assembly (clang, -O2):
<print_help_pca>:
lea    0xee9(%rip),%rdi
jmp    1030 <puts@plt>

LLVM IR (-O0):
@.str = [771 x i8] c"\0AHELP: ./pca\C2\A0options \0A\0Amandatory:\0A -x genotype_file -- genotype file (in .lfmm format)\0A\0Aoptional:\0A -h -- help\0A -K K -- number of principal components (default: n, the number of individuals)\0A -a eigenvalue_file -- output eigenvalues file (default: genotype_file.eigenvalues)\0A -e eigenvector_file -- output eigenvectors file (default: genotype_file.eigenvectors)\0A -d sdev_file -- output standard deviation file (default: genotype_file.sdev)\0A -p projection_file -- output projection file (default: genotype_file.projections)\0A -c -- data centered (default: FALSE)\0A -s -- data centered and scaled (default: FALSE)\0A\0A\00"
define void @print_help_pca() {
%1 = call i32 @printf(i8* getelementptr inbounds ([771 x i8], [771 x i8]* @.str, i64 0, i64 0))
ret void
}

LLVM IR (-O2):
@str = [770 x i8] c"\0AHELP: ./pca\C2\A0options \0A\0Amandatory:\0A -x genotype_file -- genotype file (in .lfmm format)\0A\0Aoptional:\0A -h -- help\0A -K K -- number of principal components (default: n, the number of individuals)\0A -a eigenvalue_file -- output eigenvalues file (default: genotype_file.eigenvalues)\0A -e eigenvector_file -- output eigenvectors file (default: genotype_file.eigenvectors)\0A -d sdev_file -- output standard deviation file (default: genotype_file.sdev)\0A -p projection_file -- output projection file (default: genotype_file.projections)\0A -c -- data centered (default: FALSE)\0A -s -- data centered and scaled (default: FALSE)\0A\00"
define void @print_help_pca() {
%1 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([770 x i8], [770 x i8]* @str, i64 0, i64 0))
ret void
}