#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*/ ScreenSep();
int /*<<< orphan*/ fprintf(int /*<<< orphan*/, char *);
int /*<<< orphan*/ stdout;
void HelpScreen2(void) {
  ScreenSep();
  fprintf(
      stdout,
      "--dam          simulate cutting in the presence of Dam methylase "
      "(GmATC)\n"
      "--dcm          simulate cutting in the presence of Dcm methylase "
      "(CmCWGG)\n"
      "               for both above, REs not cutting due to methylation are "
      "listed as\n"
      "               not cutting at all in summary.\n"
      "--example {1-10} example code to show how to add your own flags and "
      "functions.\n"
      "               Search for 'EXAMPLE' in 'SetFlags.c' and 'tacg.c' for "
      "the code.\n"
      "-f   {0|1*}    form (or topology) of DNA - 0 (zero) for circular; 1 for "
      "linear.\n"
      "-F   {0*-3}    print/sort Fragments; 0*-omit; 1-unsorted; 2-sorted; "
      "3-both.\n"
      "-g   {Lo(,Hi)} prints a gel map w/ lo cutoff of Lo, (opt) hi cutoff of "
      "Hi bp.\n"
      "               Lo&Hi can be any value to slice out the range of "
      "interest.\n"
      "   NB: if Hi is omitted, it will be set to the the seq length, but it "
      "can be \n"
      "       set to ANY length to provide identical output conditions for "
      "comparisons\n"
      "-G {#,X|Y|L}   streams numeric data to stdout for external "
      "analysis/plotting.\n"
      "   # = bases/bin (the hits for this many bases should be pooled).\n"
      "   X = bins on X axis; Y = bins on Y axis; L = Long output as 'bins(X) "
      "data(Y).\n"
      "-h (--help)    asks for (this) brief help page.\n"
      "-H (--HTML) {0*|1}  complete (0) or partial(1) HTML tags generated on "
      "the fly \n"
      "               for WWW output. See man page for appro usage. \n"
      "               0 = makes standalone HTML page, with Table of Contents.\n"
      "               1 = no page headers, only TOC, to embed in other HTML "
      "pages.\n"
      "\n");
}


x86 assembly (clang, -O0):
<HelpScreen2>:
push   %rbp
mov    %rsp,%rbp
mov    $0x0,%al
call   1040 <ScreenSep@plt>
mov    0x2eae(%rip),%rax
mov    (%rax),%edi
lea    0xec5(%rip),%rsi
call   1030 <fprintf@plt>
pop    %rbp
ret

x86 assembly (clang, -O2):
<HelpScreen2>:
push   %rax
xor    %eax,%eax
call   1040 <ScreenSep@plt>
mov    0x2eb1(%rip),%rax
mov    (%rax),%edi
lea    0xec8(%rip),%rsi
pop    %rax
jmp    1030 <fprintf@plt>

LLVM IR (-O0):
@stdout = global i32 0
@.str = [1459 x i8] c"--dam simulate cutting in the presence of Dam methylase (GmATC)\0A--dcm simulate cutting in the presence of Dcm methylase (CmCWGG)\0A for both above, REs not cutting due to methylation are listed as\0A not cutting at all in summary.\0A--example {1-10} example code to show how to add your own flags and functions.\0A Search for 'EXAMPLE' in 'SetFlags.c' and 'tacg.c' for the code.\0A-f {0|1*} form (or topology) of DNA - 0 (zero) for circular; 1 for linear.\0A-F {0*-3} print/sort Fragments; 0*-omit; 1-unsorted; 2-sorted; 3-both.\0A-g {Lo(,Hi)} prints a gel map w/ lo cutoff of Lo, (opt) hi cutoff of Hi bp.\0A Lo&Hi can be any value to slice out the range of interest.\0A NB: if Hi is omitted, it will be set to the the seq length, but it can be \0A set to ANY length to provide identical output conditions for comparisons\0A-G {#,X|Y|L} streams numeric data to stdout for external analysis/plotting.\0A # = bases/bin (the hits for this many bases should be pooled).\0A X = bins on X axis; Y = bins on Y axis; L = Long output as 'bins(X) data(Y).\0A-h (--help) asks for (this) brief help page.\0A-H (--HTML) {0*|1} complete (0) or partial(1) HTML tags generated on the fly \0A for WWW output. See man page for appro usage. \0A 0 = makes standalone HTML page, with Table of Contents.\0A 1 = no page headers, only TOC, to embed in other HTML pages.\0A\0A\00"
define void @HelpScreen2() {
%1 = call i32 (...) @ScreenSep()
%2 = load i32, i32* @stdout
%3 = call i32 @fprintf(i32 %2, i8* getelementptr inbounds ([1459 x i8], [1459 x i8]* @.str, i64 0, i64 0))
ret void
}

LLVM IR (-O2):
@stdout = global i32 0
@.str = [1459 x i8] c"--dam simulate cutting in the presence of Dam methylase (GmATC)\0A--dcm simulate cutting in the presence of Dcm methylase (CmCWGG)\0A for both above, REs not cutting due to methylation are listed as\0A not cutting at all in summary.\0A--example {1-10} example code to show how to add your own flags and functions.\0A Search for 'EXAMPLE' in 'SetFlags.c' and 'tacg.c' for the code.\0A-f {0|1*} form (or topology) of DNA - 0 (zero) for circular; 1 for linear.\0A-F {0*-3} print/sort Fragments; 0*-omit; 1-unsorted; 2-sorted; 3-both.\0A-g {Lo(,Hi)} prints a gel map w/ lo cutoff of Lo, (opt) hi cutoff of Hi bp.\0A Lo&Hi can be any value to slice out the range of interest.\0A NB: if Hi is omitted, it will be set to the the seq length, but it can be \0A set to ANY length to provide identical output conditions for comparisons\0A-G {#,X|Y|L} streams numeric data to stdout for external analysis/plotting.\0A # = bases/bin (the hits for this many bases should be pooled).\0A X = bins on X axis; Y = bins on Y axis; L = Long output as 'bins(X) data(Y).\0A-h (--help) asks for (this) brief help page.\0A-H (--HTML) {0*|1} complete (0) or partial(1) HTML tags generated on the fly \0A for WWW output. See man page for appro usage. \0A 0 = makes standalone HTML page, with Table of Contents.\0A 1 = no page headers, only TOC, to embed in other HTML pages.\0A\0A\00"
define void @HelpScreen2() {
%1 = tail call i32 (...) @ScreenSep()
%2 = load i32, i32* @stdout
%3 = tail call i32 @fprintf(i32 %2, i8* getelementptr inbounds ([1459 x i8], [1459 x i8]* @.str, i64 0, i64 0))
ret void
}