#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 /*<<< orphan*/ stderr;
void IndexScreen(void) {
  fprintf(
      stderr,
      "Usage:   tacg -flag option -flag option ... <infile >outfile\n"
      "tacg uses stdin/stdout/stderr; uses redirection or pipes for input and "
      "output;\n"
      "needs input specifier (| or <); output to screen (default), >file, | "
      "nextcmd\n"
      "Uses Knight's SEQIO for auto reformat on input; most ASCII formats "
      "accepted.\n"
      "1 or more of: -F -g -G -l -L -O -p -P --rules --rulefile -s -S -X flags "
      "must be\n"
      "specified for output.\n"
      "+-------+---------+-----------+--------+----------+-----------+---------"
      "-+-------+\n"
      "| 1     |    2    |    3      | 4      |    5     |     6     |      7  "
      " |   A   |\n"
      "+-------+---------+-----------+--------+----------+-----------+---------"
      "-+-------+\n"
      "| b     | dam     | i         | m/M    | rule     | silent    | X       "
      " |  ALL  |\n"
      "| e     | dcm     | infile    | n      | rulefile | tmppath   | #       "
      " | Pages |\n"
      "| c     | example | logdegens | o      | r regex  | T         | "
      "examples |       |\n"
      "| C     | f       | l         | O      | R        | v         "
      "+----------+------ +\n"
      "| clone | F       | L         | orfmap | raw      | V         | rev     "
      " |   i   |\n"
      "| cost  | g       | strands   | p      | s        | w         | comp    "
      " +-------+\n"
      "| D     | G       | notics    | P      | S        | W         | revcomp "
      " | index |\n"
      "|       | h help  | numstart  | ps     |          | x         |         "
      " |       |\n"
      "|       | H HTML  |           | pdf    |          |           |         "
      " |       |\n"
      "+-------+---------+-----------+--------+----------+-----------+---------"
      "-+-------+\n"
      " (leading dashes for flags above have been removed for brevity)\n"
      "Type one of the numbers indicated to show the help page for that flag.\n"
      "1-7 = page for those flags, 'A' = all pages, 'i' = index page, 'q' = "
      "quit\n");
}


x86 assembly (clang, -O0):
<IndexScreen>:
push   %rbp
mov    %rsp,%rbp
mov    0x2ec5(%rip),%rax
mov    (%rax),%edi
lea    0xedc(%rip),%rsi
call   1030 <fprintf@plt>
pop    %rbp
ret

x86 assembly (clang, -O2):
<IndexScreen>:
mov    0x2ec9(%rip),%rax
mov    (%rax),%edi
lea    0xee0(%rip),%rsi
jmp    1030 <fprintf@plt>

LLVM IR (-O0):
@stderr = global i32 0
@.str = [1685 x i8] c"Usage: tacg -flag option -flag option ... <infile >outfile\0Atacg uses stdin/stdout/stderr; uses redirection or pipes for input and output;\0Aneeds input specifier (| or <); output to screen (default), >file, | nextcmd\0AUses Knight's SEQIO for auto reformat on input; most ASCII formats accepted.\0A1 or more of: -F -g -G -l -L -O -p -P --rules --rulefile -s -S -X flags must be\0Aspecified for output.\0A+-------+---------+-----------+--------+----------+-----------+----------+-------+\0A| 1 | 2 | 3 | 4 | 5 | 6 | 7 | A |\0A+-------+---------+-----------+--------+----------+-----------+----------+-------+\0A| b | dam | i | m/M | rule | silent | X | ALL |\0A| e | dcm | infile | n | rulefile | tmppath | # | Pages |\0A| c | example | logdegens | o | r regex | T | examples | |\0A| C | f | l | O | R | v +----------+------ +\0A| clone | F | L | orfmap | raw | V | rev | i |\0A| cost | g | strands | p | s | w | comp +-------+\0A| D | G | notics | P | S | W | revcomp | index |\0A| | h help | numstart | ps | | x | | |\0A| | H HTML | | pdf | | | | |\0A+-------+---------+-----------+--------+----------+-----------+----------+-------+\0A (leading dashes for flags above have been removed for brevity)\0AType one of the numbers indicated to show the help page for that flag.\0A1-7 = page for those flags, 'A' = all pages, 'i' = index page, 'q' = quit\0A\00"
define void @IndexScreen() {
%1 = load i32, i32* @stderr
%2 = call i32 @fprintf(i32 %1, i8* getelementptr inbounds ([1685 x i8], [1685 x i8]* @.str, i64 0, i64 0))
ret void
}

LLVM IR (-O2):
@stderr = global i32 0
@.str = [1685 x i8] c"Usage: tacg -flag option -flag option ... <infile >outfile\0Atacg uses stdin/stdout/stderr; uses redirection or pipes for input and output;\0Aneeds input specifier (| or <); output to screen (default), >file, | nextcmd\0AUses Knight's SEQIO for auto reformat on input; most ASCII formats accepted.\0A1 or more of: -F -g -G -l -L -O -p -P --rules --rulefile -s -S -X flags must be\0Aspecified for output.\0A+-------+---------+-----------+--------+----------+-----------+----------+-------+\0A| 1 | 2 | 3 | 4 | 5 | 6 | 7 | A |\0A+-------+---------+-----------+--------+----------+-----------+----------+-------+\0A| b | dam | i | m/M | rule | silent | X | ALL |\0A| e | dcm | infile | n | rulefile | tmppath | # | Pages |\0A| c | example | logdegens | o | r regex | T | examples | |\0A| C | f | l | O | R | v +----------+------ +\0A| clone | F | L | orfmap | raw | V | rev | i |\0A| cost | g | strands | p | s | w | comp +-------+\0A| D | G | notics | P | S | W | revcomp | index |\0A| | h help | numstart | ps | | x | | |\0A| | H HTML | | pdf | | | | |\0A+-------+---------+-----------+--------+----------+-----------+----------+-------+\0A (leading dashes for flags above have been removed for brevity)\0AType one of the numbers indicated to show the help page for that flag.\0A1-7 = page for those flags, 'A' = all pages, 'i' = index page, 'q' = quit\0A\00"
define void @IndexScreen() {
%1 = load i32, i32* @stderr
%2 = tail call i32 @fprintf(i32 %1, i8* getelementptr inbounds ([1685 x i8], [1685 x i8]* @.str, i64 0, i64 0))
ret void
}