#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 *, char *, char *, char *);
void help(char *argv[]) {
  printf(
      "Indents the Newick, making structure more clear.\n"
      "\n"
      "Synopsis\n"
      "--------\n"
      "\n"
      "%s [-cht:] <newick trees filename|->\n"
      "\n"
      "Input\n"
      "-----\n"
      "\n"
      "Argument is the name of a file that contains Newick trees, or '-' (in\n"
      "which case trees are read from standard input).\n"
      "\n"
      "Output\n"
      "------\n"
      "\n"
      "By default, prints the input tree, with each parenthesis and each leaf "
      "on a\n"
      "line of its own, and indented a multiple of '  ' (two spaces) to "
      "reflect\n"
      "structure. The default output is valid Newick.\n"
      "\n"
      "This is useful for seeing the structure of larger trees, and also for\n"
      "editing them. \n"
      "\n"
      "Indenting is purely lexical, therefore it tolerates syntax errors. A "
      "tree\n"
      "that does not parse can be indented for examination, corrected, then\n"
      "compacted (see Options).\n"
      "\n"
      "Options\n"
      "-------\n"
      "\n"
      "    -c: compact - remove indentation \n"
      "    -h: print this message and exit\n"
      "    -t <text>: use 'text' instead of the default '  '. WARNING: using\n"
      "       anything else than whitespace is likely to result in output "
      "that\n"
      "       is not valid Newick (which may or may not be a problem).\n"
      "       Ignored with '-c'.\n"
      "\n"
      "Examples\n"
      "--------\n"
      "\n"
      "# Indent\n"
      "$ %s data/catarrhini\n"
      "\n"
      "# Indent, with visual guides for indentation (NOT valid Newick "
      "anymore)\n"
      "$ %s -t '|  ' data/catarrhini\n",
      argv[0], argv[0], argv[0]);
}


x86 assembly (clang, -O0):
<help>:
push   %rbp
mov    %rsp,%rbp
sub    $0x10,%rsp
mov    %rdi,-0x8(%rbp)
mov    -0x8(%rbp),%rax
mov    (%rax),%rsi
mov    -0x8(%rbp),%rax
mov    (%rax),%rdx
mov    -0x8(%rbp),%rax
mov    (%rax),%rcx
lea    0xec8(%rip),%rdi
call   1030 <printf@plt>
add    $0x10,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<help>:
mov    (%rdi),%rcx
lea    0xee6(%rip),%rdi
mov    %rcx,%rsi
mov    %rcx,%rdx
jmp    1030 <printf@plt>

LLVM IR (-O0):
@.str = [1183 x i8] c"Indents the Newick, making structure more clear.\0A\0ASynopsis\0A--------\0A\0A%s [-cht:] <newick trees filename|->\0A\0AInput\0A-----\0A\0AArgument is the name of a file that contains Newick trees, or '-' (in\0Awhich case trees are read from standard input).\0A\0AOutput\0A------\0A\0ABy default, prints the input tree, with each parenthesis and each leaf on a\0Aline of its own, and indented a multiple of ' ' (two spaces) to reflect\0Astructure. The default output is valid Newick.\0A\0AThis is useful for seeing the structure of larger trees, and also for\0Aediting them. \0A\0AIndenting is purely lexical, therefore it tolerates syntax errors. A tree\0Athat does not parse can be indented for examination, corrected, then\0Acompacted (see Options).\0A\0AOptions\0A-------\0A\0A -c: compact - remove indentation \0A -h: print this message and exit\0A -t <text>: use 'text' instead of the default ' '. WARNING: using\0A anything else than whitespace is likely to result in output that\0A is not valid Newick (which may or may not be a problem).\0A Ignored with '-c'.\0A\0AExamples\0A--------\0A\0A# Indent\0A$ %s data/catarrhini\0A\0A# Indent, with visual guides for indentation (NOT valid Newick anymore)\0A$ %s -t '| ' data/catarrhini\0A\00"
define void @help(i8** %0) {
%2 = alloca i8**
store i8** %0, i8*** %2
%3 = load i8**, i8*** %2
%4 = getelementptr inbounds i8*, i8** %3, i64 0
%5 = load i8*, i8** %4
%6 = load i8**, i8*** %2
%7 = getelementptr inbounds i8*, i8** %6, i64 0
%8 = load i8*, i8** %7
%9 = load i8**, i8*** %2
%10 = getelementptr inbounds i8*, i8** %9, i64 0
%11 = load i8*, i8** %10
%12 = call i32 @printf(i8* getelementptr inbounds ([1183 x i8], [1183 x i8]* @.str, i64 0, i64 0), i8* %5, i8* %8, i8* %11)
ret void
}

LLVM IR (-O2):
@.str = [1183 x i8] c"Indents the Newick, making structure more clear.\0A\0ASynopsis\0A--------\0A\0A%s [-cht:] <newick trees filename|->\0A\0AInput\0A-----\0A\0AArgument is the name of a file that contains Newick trees, or '-' (in\0Awhich case trees are read from standard input).\0A\0AOutput\0A------\0A\0ABy default, prints the input tree, with each parenthesis and each leaf on a\0Aline of its own, and indented a multiple of ' ' (two spaces) to reflect\0Astructure. The default output is valid Newick.\0A\0AThis is useful for seeing the structure of larger trees, and also for\0Aediting them. \0A\0AIndenting is purely lexical, therefore it tolerates syntax errors. A tree\0Athat does not parse can be indented for examination, corrected, then\0Acompacted (see Options).\0A\0AOptions\0A-------\0A\0A -c: compact - remove indentation \0A -h: print this message and exit\0A -t <text>: use 'text' instead of the default ' '. WARNING: using\0A anything else than whitespace is likely to result in output that\0A is not valid Newick (which may or may not be a problem).\0A Ignored with '-c'.\0A\0AExamples\0A--------\0A\0A# Indent\0A$ %s data/catarrhini\0A\0A# Indent, with visual guides for indentation (NOT valid Newick anymore)\0A$ %s -t '| ' data/catarrhini\0A\00"
define void @help(i8** nocapture %0) {
%2 = load i8*, i8** %0
%3 = tail call i32 @printf(i8* getelementptr inbounds ([1183 x i8], [1183 x i8]* @.str, i64 0, i64 0), i8* %2, i8* %2, i8* %2)
ret void
}