#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(char *name) {
  printf("%s\n", name);
  printf(
      "ceeq library\n"
      "============\n\n"
      "The ceeq library is a library for manipulating DNA sequences written in "
      "C. "
      "The goal is to generate a library that is fast to handle the sequences, "
      "available and extensible, and written with a simple logic so you can "
      "understand "
      "how the components of the library work.\n\n"
      "To use the ceeq standalone application, please provide one of the flags "
      "below. "
      "For most options you can either provide a file name on the command "
      "line, or use "
      "a - to read from stdin (e.g. from pipes, etc). ceeq will automatically "
      "try and "
      "guess the file format that you are using. We currently only support "
      "fastq and "
      "fasta, but maybe we'll add others when we get there.\n\n"
      "Current options:\n"
      "================\n\n"
      "Output selection\n"
      "-n number of sequences to print\n"
      "\nOutput format\n"
      "The default format is fastq\n"
      "-a print output in fasta format\n");
}


x86 assembly (clang, -O0):
<print_help>:
push   %rbp
mov    %rsp,%rbp
sub    $0x10,%rsp
mov    %rdi,-0x8(%rbp)
mov    -0x8(%rbp),%rsi
lea    0xed9(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0xecf(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
add    $0x10,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<print_help>:
push   %rax
call   1030 <puts@plt>
lea    0xee3(%rip),%rdi
pop    %rax
jmp    1030 <puts@plt>

LLVM IR (-O0):
@.str = [4 x i8] c"%s\0A\00"
@.str.1 = [825 x i8] c"ceeq library\0A============\0A\0AThe ceeq library is a library for manipulating DNA sequences written in C. The goal is to generate a library that is fast to handle the sequences, available and extensible, and written with a simple logic so you can understand how the components of the library work.\0A\0ATo use the ceeq standalone application, please provide one of the flags below. For most options you can either provide a file name on the command line, or use a - to read from stdin (e.g. from pipes, etc). ceeq will automatically try and guess the file format that you are using. We currently only support fastq and fasta, but maybe we'll add others when we get there.\0A\0ACurrent options:\0A================\0A\0AOutput selection\0A-n number of sequences to print\0A\0AOutput format\0AThe default format is fastq\0A-a print output in fasta format\0A\00"
define void @print_help(i8* %0) {
%2 = alloca i8*
store i8* %0, i8** %2
%3 = load i8*, i8** %2
%4 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), i8* %3)
%5 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([825 x i8], [825 x i8]* @.str.1, i64 0, i64 0))
ret void
}

LLVM IR (-O2):
@str = [824 x i8] c"ceeq library\0A============\0A\0AThe ceeq library is a library for manipulating DNA sequences written in C. The goal is to generate a library that is fast to handle the sequences, available and extensible, and written with a simple logic so you can understand how the components of the library work.\0A\0ATo use the ceeq standalone application, please provide one of the flags below. For most options you can either provide a file name on the command line, or use a - to read from stdin (e.g. from pipes, etc). ceeq will automatically try and guess the file format that you are using. We currently only support fastq and fasta, but maybe we'll add others when we get there.\0A\0ACurrent options:\0A================\0A\0AOutput selection\0A-n number of sequences to print\0A\0AOutput format\0AThe default format is fastq\0A-a print output in fasta format\00"
define void @print_help(i8* nocapture %0) {
%2 = tail call i32 @puts(i8* dereferenceable(1) %0)
%3 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([824 x i8], [824 x i8]* @str, i64 0, i64 0))
ret void
}