#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 */
typedef int /*<<< orphan*/ FILE;

/* Variables and functions */
int /*<<< orphan*/ fprintf(int /*<<< orphan*/ *, char *);
void macula_ShowSyntax(FILE *outfile) {
  fprintf(outfile,
          "-macula < \"inject\" | \"fit\" <\"amoeba\" | \"lm\"> >\n"
          "     <\"Prot\" <\"fix\" value | \"list\" | \"fixcolumn\" <colname | "
          "colnum> | \"expr\" expr>\n"
          "         [\"vary\"]>\n"
          "     <\"istar\" <\"fix\" value | \"list\" | \"fixcolumn\" <colname "
          "| colnum> | \"expr\" expr>\n"
          "         [\"vary\"]>\n"
          "     <\"kappa2\" <\"fix\" value | \"list\" | \"fixcolumn\" <colname "
          "| colnum> | \"expr\" expr>\n"
          "         [\"vary\"]>\n"
          "     <\"kappa4\" <\"fix\" value | \"list\" | \"fixcolumn\" <colname "
          "| colnum> | \"expr\" expr>\n"
          "         [\"vary\"]>\n"
          "     <\"c1\" <\"fix\" value | \"list\" | \"fixcolumn\" <colname | "
          "colnum> | \"expr\" expr>\n"
          "         [\"vary\"]>\n"
          "     <\"c2\" <\"fix\" value | \"list\" | \"fixcolumn\" <colname | "
          "colnum> | \"expr\" expr>\n"
          "         [\"vary\"]>\n"
          "     <\"c3\" <\"fix\" value | \"list\" | \"fixcolumn\" <colname | "
          "colnum> | \"expr\" expr>\n"
          "         [\"vary\"]>\n"
          "     <\"c4\" <\"fix\" value | \"list\" | \"fixcolumn\" <colname | "
          "colnum> | \"expr\" expr>\n"
          "         [\"vary\"]>\n"
          "     <\"d1\" <\"fix\" value | \"list\" | \"fixcolumn\" <colname | "
          "colnum> | \"expr\" expr>\n"
          "         [\"vary\"]>\n"
          "     <\"d2\" <\"fix\" value | \"list\" | \"fixcolumn\" <colname | "
          "colnum> | \"expr\" expr>\n"
          "         [\"vary\"]>\n"
          "     <\"d3\" <\"fix\" value | \"list\" | \"fixcolumn\" <colname | "
          "colnum> | \"expr\" expr>\n"
          "         [\"vary\"]>\n"
          "     <\"d4\" <\"fix\" value | \"list\" | \"fixcolumn\" <colname | "
          "colnum> | \"expr\" expr>\n"
          "         [\"vary\"]>\n"
          "     <\"blend\" <\"fix\" value | \"list\" | \"fixcolumn\" <colname "
          "| colnum> | \"expr\" expr>\n"
          "         [\"vary\"]>\n"
          "     <\"Nspot\" value>\n"
          "        ... Repeat below Nspot times ....\n"
          "        <\"Lambda0\" <\"fix\" value | \"list\" | \"fixcolumn\" "
          "<colname | colnum> | \"expr\" expr>\n"
          "           [\"vary\"]>\n"
          "        <\"Phi0\" <\"fix\" value | \"list\" | \"fixcolumn\" "
          "<colname | colnum> | \"expr\" expr>\n"
          "           [\"vary\"]>\n"
          "        <\"alphamax\" <\"fix\" value | \"list\" | \"fixcolumn\" "
          "<colname | colnum> | \"expr\" expr>\n"
          "           [\"vary\"]>\n"
          "        <\"fspot\" <\"fix\" value | \"list\" | \"fixcolumn\" "
          "<colname | colnum> | \"expr\" expr>\n"
          "           [\"vary\"]>\n"
          "        <\"tmax\" <\"fix\" value | \"list\" | \"fixcolumn\" "
          "<colname | colnum> | \"expr\" expr>\n"
          "           [\"vary\"]>\n"
          "        <\"life\" <\"fix\" value | \"list\" | \"fixcolumn\" "
          "<colname | colnum> | \"expr\" expr>\n"
          "           [\"vary\"]>\n"
          "        <\"ingress\" <\"fix\" value | \"list\" | \"fixcolumn\" "
          "<colname | colnum> | \"expr\" expr>\n"
          "           [\"vary\"]>\n"
          "        <\"egress\" <\"fix\" value | \"list\" | \"fixcolumn\" "
          "<colname | colnum> | \"expr\" expr>\n"
          "           [\"vary\"]>\n"
          "        .... Stop repeating here ....\n"
          "    [\"fluxinput\"] [\"fluxoutput\"] [\"correctlc\"]\n"
          "    [\"omodel\" <outdir [\"nameformat\" fmt]> [\"tdelv\"]]\n"
          "    [\"ocurve\" <\"outdir\" outdir [ \"nameformat\" fmt]>\n"
          "        [\"tdelv\"] [\"step\" stepsize]]\n");
}


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

x86 assembly (clang, -O2):
<macula_ShowSyntax>:
mov    %rdi,%rcx
lea    0xee6(%rip),%rdi
mov    $0x9da,%esi
mov    $0x1,%edx
jmp    1030 <fwrite@plt>

LLVM IR (-O0):
@.str = [2523 x i8] c"-macula < \22inject\22 | \22fit\22 <\22amoeba\22 | \22lm\22> >\0A <\22Prot\22 <\22fix\22 value | \22list\22 | \22fixcolumn\22 <colname | colnum> | \22expr\22 expr>\0A [\22vary\22]>\0A <\22istar\22 <\22fix\22 value | \22list\22 | \22fixcolumn\22 <colname | colnum> | \22expr\22 expr>\0A [\22vary\22]>\0A <\22kappa2\22 <\22fix\22 value | \22list\22 | \22fixcolumn\22 <colname | colnum> | \22expr\22 expr>\0A [\22vary\22]>\0A <\22kappa4\22 <\22fix\22 value | \22list\22 | \22fixcolumn\22 <colname | colnum> | \22expr\22 expr>\0A [\22vary\22]>\0A <\22c1\22 <\22fix\22 value | \22list\22 | \22fixcolumn\22 <colname | colnum> | \22expr\22 expr>\0A [\22vary\22]>\0A <\22c2\22 <\22fix\22 value | \22list\22 | \22fixcolumn\22 <colname | colnum> | \22expr\22 expr>\0A [\22vary\22]>\0A <\22c3\22 <\22fix\22 value | \22list\22 | \22fixcolumn\22 <colname | colnum> | \22expr\22 expr>\0A [\22vary\22]>\0A <\22c4\22 <\22fix\22 value | \22list\22 | \22fixcolumn\22 <colname | colnum> | \22expr\22 expr>\0A [\22vary\22]>\0A <\22d1\22 <\22fix\22 value | \22list\22 | \22fixcolumn\22 <colname | colnum> | \22expr\22 expr>\0A [\22vary\22]>\0A <\22d2\22 <\22fix\22 value | \22list\22 | \22fixcolumn\22 <colname | colnum> | \22expr\22 expr>\0A [\22vary\22]>\0A <\22d3\22 <\22fix\22 value | \22list\22 | \22fixcolumn\22 <colname | colnum> | \22expr\22 expr>\0A [\22vary\22]>\0A <\22d4\22 <\22fix\22 value | \22list\22 | \22fixcolumn\22 <colname | colnum> | \22expr\22 expr>\0A [\22vary\22]>\0A <\22blend\22 <\22fix\22 value | \22list\22 | \22fixcolumn\22 <colname | colnum> | \22expr\22 expr>\0A [\22vary\22]>\0A <\22Nspot\22 value>\0A ... Repeat below Nspot times ....\0A <\22Lambda0\22 <\22fix\22 value | \22list\22 | \22fixcolumn\22 <colname | colnum> | \22expr\22 expr>\0A [\22vary\22]>\0A <\22Phi0\22 <\22fix\22 value | \22list\22 | \22fixcolumn\22 <colname | colnum> | \22expr\22 expr>\0A [\22vary\22]>\0A <\22alphamax\22 <\22fix\22 value | \22list\22 | \22fixcolumn\22 <colname | colnum> | \22expr\22 expr>\0A [\22vary\22]>\0A <\22fspot\22 <\22fix\22 value | \22list\22 | \22fixcolumn\22 <colname | colnum> | \22expr\22 expr>\0A [\22vary\22]>\0A <\22tmax\22 <\22fix\22 value | \22list\22 | \22fixcolumn\22 <colname | colnum> | \22expr\22 expr>\0A [\22vary\22]>\0A <\22life\22 <\22fix\22 value | \22list\22 | \22fixcolumn\22 <colname | colnum> | \22expr\22 expr>\0A [\22vary\22]>\0A <\22ingress\22 <\22fix\22 value | \22list\22 | \22fixcolumn\22 <colname | colnum> | \22expr\22 expr>\0A [\22vary\22]>\0A <\22egress\22 <\22fix\22 value | \22list\22 | \22fixcolumn\22 <colname | colnum> | \22expr\22 expr>\0A [\22vary\22]>\0A .... Stop repeating here ....\0A [\22fluxinput\22] [\22fluxoutput\22] [\22correctlc\22]\0A [\22omodel\22 <outdir [\22nameformat\22 fmt]> [\22tdelv\22]]\0A [\22ocurve\22 <\22outdir\22 outdir [ \22nameformat\22 fmt]>\0A [\22tdelv\22] [\22step\22 stepsize]]\0A\00"
define void @macula_ShowSyntax(i32* %0) {
%2 = alloca i32*
store i32* %0, i32** %2
%3 = load i32*, i32** %2
%4 = call i32 @fprintf(i32* %3, i8* getelementptr inbounds ([2523 x i8], [2523 x i8]* @.str, i64 0, i64 0))
ret void
}

LLVM IR (-O2):
@.str = [2523 x i8] c"-macula < \22inject\22 | \22fit\22 <\22amoeba\22 | \22lm\22> >\0A <\22Prot\22 <\22fix\22 value | \22list\22 | \22fixcolumn\22 <colname | colnum> | \22expr\22 expr>\0A [\22vary\22]>\0A <\22istar\22 <\22fix\22 value | \22list\22 | \22fixcolumn\22 <colname | colnum> | \22expr\22 expr>\0A [\22vary\22]>\0A <\22kappa2\22 <\22fix\22 value | \22list\22 | \22fixcolumn\22 <colname | colnum> | \22expr\22 expr>\0A [\22vary\22]>\0A <\22kappa4\22 <\22fix\22 value | \22list\22 | \22fixcolumn\22 <colname | colnum> | \22expr\22 expr>\0A [\22vary\22]>\0A <\22c1\22 <\22fix\22 value | \22list\22 | \22fixcolumn\22 <colname | colnum> | \22expr\22 expr>\0A [\22vary\22]>\0A <\22c2\22 <\22fix\22 value | \22list\22 | \22fixcolumn\22 <colname | colnum> | \22expr\22 expr>\0A [\22vary\22]>\0A <\22c3\22 <\22fix\22 value | \22list\22 | \22fixcolumn\22 <colname | colnum> | \22expr\22 expr>\0A [\22vary\22]>\0A <\22c4\22 <\22fix\22 value | \22list\22 | \22fixcolumn\22 <colname | colnum> | \22expr\22 expr>\0A [\22vary\22]>\0A <\22d1\22 <\22fix\22 value | \22list\22 | \22fixcolumn\22 <colname | colnum> | \22expr\22 expr>\0A [\22vary\22]>\0A <\22d2\22 <\22fix\22 value | \22list\22 | \22fixcolumn\22 <colname | colnum> | \22expr\22 expr>\0A [\22vary\22]>\0A <\22d3\22 <\22fix\22 value | \22list\22 | \22fixcolumn\22 <colname | colnum> | \22expr\22 expr>\0A [\22vary\22]>\0A <\22d4\22 <\22fix\22 value | \22list\22 | \22fixcolumn\22 <colname | colnum> | \22expr\22 expr>\0A [\22vary\22]>\0A <\22blend\22 <\22fix\22 value | \22list\22 | \22fixcolumn\22 <colname | colnum> | \22expr\22 expr>\0A [\22vary\22]>\0A <\22Nspot\22 value>\0A ... Repeat below Nspot times ....\0A <\22Lambda0\22 <\22fix\22 value | \22list\22 | \22fixcolumn\22 <colname | colnum> | \22expr\22 expr>\0A [\22vary\22]>\0A <\22Phi0\22 <\22fix\22 value | \22list\22 | \22fixcolumn\22 <colname | colnum> | \22expr\22 expr>\0A [\22vary\22]>\0A <\22alphamax\22 <\22fix\22 value | \22list\22 | \22fixcolumn\22 <colname | colnum> | \22expr\22 expr>\0A [\22vary\22]>\0A <\22fspot\22 <\22fix\22 value | \22list\22 | \22fixcolumn\22 <colname | colnum> | \22expr\22 expr>\0A [\22vary\22]>\0A <\22tmax\22 <\22fix\22 value | \22list\22 | \22fixcolumn\22 <colname | colnum> | \22expr\22 expr>\0A [\22vary\22]>\0A <\22life\22 <\22fix\22 value | \22list\22 | \22fixcolumn\22 <colname | colnum> | \22expr\22 expr>\0A [\22vary\22]>\0A <\22ingress\22 <\22fix\22 value | \22list\22 | \22fixcolumn\22 <colname | colnum> | \22expr\22 expr>\0A [\22vary\22]>\0A <\22egress\22 <\22fix\22 value | \22list\22 | \22fixcolumn\22 <colname | colnum> | \22expr\22 expr>\0A [\22vary\22]>\0A .... Stop repeating here ....\0A [\22fluxinput\22] [\22fluxoutput\22] [\22correctlc\22]\0A [\22omodel\22 <outdir [\22nameformat\22 fmt]> [\22tdelv\22]]\0A [\22ocurve\22 <\22outdir\22 outdir [ \22nameformat\22 fmt]>\0A [\22tdelv\22] [\22step\22 stepsize]]\0A\00"
define void @macula_ShowSyntax(i32* nocapture %0) {
%2 = tail call i64 @fwrite(i8* getelementptr inbounds ([2523 x i8], [2523 x i8]* @.str, i64 0, i64 0), i64 2522, i64 1, i32* %0)
ret void
}