char *scrinc(char *arg) {
  char *temp;
  if (arg == "HF") {
    temp =
        "\n\\definecolor{codegreen}{rgb}{0,0.6,0}\n\\definecolor{codegray}{rgb}"
        "{0.5,0.5,0.5}\n\\definecolor{codepurple}{rgb}{0.58,0,0.82}"
        "\n\\definecolor{backcolour}{rgb}{0.95,0.95,0.92}\n\n      "
        "\\lstdefinestyle{mystyle10}{\n      "
        "backgroundcolor=\\color{codegray},   \n      "
        "commentstyle=\\color{magenta},\n      keywordstyle=\\color{blue},\n   "
        "   linewidth=3.5in,\n      numberstyle=\\tiny\\color{codegray},\n     "
        " stringstyle=\\color{codepurple},\n      basicstyle=\\footnotesize,\n "
        "     breakatwhitespace=false,         \n      breaklines=true,        "
        "         \n      captionpos=b,                    \n      "
        "keepspaces=true,                 \n      numbers=left,                "
        "    \n      numbersep=5pt,                  \n      showspaces=false, "
        "               \n      showstringspaces=false,\n      showtabs=false, "
        "                 \n      tabsize=2\n      "
        "}\n\\begin{lstlisting}[language=c,style=mystyle10]\n<script=c:action={"
        "!!sid=c1!!}>\n#include <stdlib.h>\n#include <string.h>\nvoid "
        "main(){\nchar* test = \"Hello World! From c\";\noutput( "
        "scrinc(\"HF\") );\n</script>\\end{lstlisting}\n          ";
  } else {
    temp =
        "\n\\definecolor{codegreen}{rgb}{0,0.6,0}\n\\definecolor{codegray}{rgb}"
        "{0.5,0.5,0.5}\n\\definecolor{codepurple}{rgb}{0.58,0,0.82}"
        "\n\\definecolor{backcolour}{rgb}{0.95,0.95,0.92}\n\n      "
        "\\lstdefinestyle{mystyle10}{\n      "
        "backgroundcolor=\\color{codegray},   \n      "
        "commentstyle=\\color{magenta},\n      keywordstyle=\\color{blue},\n   "
        "   linewidth=3.5in,\n      numberstyle=\\tiny\\color{codegray},\n     "
        " stringstyle=\\color{codepurple},\n      basicstyle=\\footnotesize,\n "
        "     breakatwhitespace=false,         \n      breaklines=true,        "
        "         \n      captionpos=b,                    \n      "
        "keepspaces=true,                 \n      numbers=left,                "
        "    \n      numbersep=5pt,                  \n      showspaces=false, "
        "               \n      showstringspaces=false,\n      showtabs=false, "
        "                 \n      tabsize=2\n      "
        "}\n\\begin{lstlisting}[language=c,style=mystyle10]\n#include "
        "<stdlib.h>\n#include <string.h>\nvoid main(){\nchar* test = \"Hello "
        "World! From c\";\noutput( scrinc(\"HF\") );\n\\end{lstlisting}\n      "
        "    ";
  }
  return temp;
}


x86 assembly (clang, -O0):
<scrinc>:
push   %rbp
mov    %rsp,%rbp
mov    %rdi,-0x8(%rbp)
lea    0xef1(%rip),%rax
cmp    %rax,-0x8(%rbp)
jne    1129 <scrinc+0x29>
lea    0xee3(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    1134 <scrinc+0x34>
lea    0x12ee(%rip),%rax
mov    %rax,-0x10(%rbp)
mov    -0x10(%rbp),%rax
pop    %rbp
ret

x86 assembly (clang, -O2):
<scrinc>:
lea    0xef9(%rip),%rax
cmp    %rax,%rdi
lea    0xef2(%rip),%rcx
lea    0x1306(%rip),%rax
cmove  %rcx,%rax
ret

LLVM IR (-O0):
@.str = [3 x i8] c"HF\00"
@.str.1 = [1051 x i8] c"\0A\\definecolor{codegreen}{rgb}{0,0.6,0}\0A\\definecolor{codegray}{rgb}{0.5,0.5,0.5}\0A\\definecolor{codepurple}{rgb}{0.58,0,0.82}\0A\\definecolor{backcolour}{rgb}{0.95,0.95,0.92}\0A\0A \\lstdefinestyle{mystyle10}{\0A backgroundcolor=\\color{codegray}, \0A commentstyle=\\color{magenta},\0A keywordstyle=\\color{blue},\0A linewidth=3.5in,\0A numberstyle=\\tiny\\color{codegray},\0A stringstyle=\\color{codepurple},\0A basicstyle=\\footnotesize,\0A breakatwhitespace=false, \0A breaklines=true, \0A captionpos=b, \0A keepspaces=true, \0A numbers=left, \0A numbersep=5pt, \0A showspaces=false, \0A showstringspaces=false,\0A showtabs=false, \0A tabsize=2\0A }\0A\\begin{lstlisting}[language=c,style=mystyle10]\0A<script=c:action={!!sid=c1!!}>\0A#include <stdlib.h>\0A#include <string.h>\0Avoid main(){\0Achar* test = \22Hello World! From c\22;\0Aoutput( scrinc(\22HF\22) );\0A</script>\\end{lstlisting}\0A \00"
@.str.2 = [1011 x i8] c"\0A\\definecolor{codegreen}{rgb}{0,0.6,0}\0A\\definecolor{codegray}{rgb}{0.5,0.5,0.5}\0A\\definecolor{codepurple}{rgb}{0.58,0,0.82}\0A\\definecolor{backcolour}{rgb}{0.95,0.95,0.92}\0A\0A \\lstdefinestyle{mystyle10}{\0A backgroundcolor=\\color{codegray}, \0A commentstyle=\\color{magenta},\0A keywordstyle=\\color{blue},\0A linewidth=3.5in,\0A numberstyle=\\tiny\\color{codegray},\0A stringstyle=\\color{codepurple},\0A basicstyle=\\footnotesize,\0A breakatwhitespace=false, \0A breaklines=true, \0A captionpos=b, \0A keepspaces=true, \0A numbers=left, \0A numbersep=5pt, \0A showspaces=false, \0A showstringspaces=false,\0A showtabs=false, \0A tabsize=2\0A }\0A\\begin{lstlisting}[language=c,style=mystyle10]\0A#include <stdlib.h>\0A#include <string.h>\0Avoid main(){\0Achar* test = \22Hello World! From c\22;\0Aoutput( scrinc(\22HF\22) );\0A\\end{lstlisting}\0A \00"
define i8* @scrinc(i8* %0) {
%2 = alloca i8*
%3 = alloca i8*
store i8* %0, i8** %2
%4 = load i8*, i8** %2
%5 = icmp eq i8* %4, getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0)
br i1 %5, label %6, label %7
6: ; preds = %1
store i8* getelementptr inbounds ([1051 x i8], [1051 x i8]* @.str.1, i64 0, i64 0), i8** %3
br label %8
7: ; preds = %1
store i8* getelementptr inbounds ([1011 x i8], [1011 x i8]* @.str.2, i64 0, i64 0), i8** %3
br label %8
8: ; preds = %7, %6
%9 = load i8*, i8** %3
ret i8* %9
}

LLVM IR (-O2):
@.str = [3 x i8] c"HF\00"
@.str.1 = [1051 x i8] c"\0A\\definecolor{codegreen}{rgb}{0,0.6,0}\0A\\definecolor{codegray}{rgb}{0.5,0.5,0.5}\0A\\definecolor{codepurple}{rgb}{0.58,0,0.82}\0A\\definecolor{backcolour}{rgb}{0.95,0.95,0.92}\0A\0A \\lstdefinestyle{mystyle10}{\0A backgroundcolor=\\color{codegray}, \0A commentstyle=\\color{magenta},\0A keywordstyle=\\color{blue},\0A linewidth=3.5in,\0A numberstyle=\\tiny\\color{codegray},\0A stringstyle=\\color{codepurple},\0A basicstyle=\\footnotesize,\0A breakatwhitespace=false, \0A breaklines=true, \0A captionpos=b, \0A keepspaces=true, \0A numbers=left, \0A numbersep=5pt, \0A showspaces=false, \0A showstringspaces=false,\0A showtabs=false, \0A tabsize=2\0A }\0A\\begin{lstlisting}[language=c,style=mystyle10]\0A<script=c:action={!!sid=c1!!}>\0A#include <stdlib.h>\0A#include <string.h>\0Avoid main(){\0Achar* test = \22Hello World! From c\22;\0Aoutput( scrinc(\22HF\22) );\0A</script>\\end{lstlisting}\0A \00"
@.str.2 = [1011 x i8] c"\0A\\definecolor{codegreen}{rgb}{0,0.6,0}\0A\\definecolor{codegray}{rgb}{0.5,0.5,0.5}\0A\\definecolor{codepurple}{rgb}{0.58,0,0.82}\0A\\definecolor{backcolour}{rgb}{0.95,0.95,0.92}\0A\0A \\lstdefinestyle{mystyle10}{\0A backgroundcolor=\\color{codegray}, \0A commentstyle=\\color{magenta},\0A keywordstyle=\\color{blue},\0A linewidth=3.5in,\0A numberstyle=\\tiny\\color{codegray},\0A stringstyle=\\color{codepurple},\0A basicstyle=\\footnotesize,\0A breakatwhitespace=false, \0A breaklines=true, \0A captionpos=b, \0A keepspaces=true, \0A numbers=left, \0A numbersep=5pt, \0A showspaces=false, \0A showstringspaces=false,\0A showtabs=false, \0A tabsize=2\0A }\0A\\begin{lstlisting}[language=c,style=mystyle10]\0A#include <stdlib.h>\0A#include <string.h>\0Avoid main(){\0Achar* test = \22Hello World! From c\22;\0Aoutput( scrinc(\22HF\22) );\0A\\end{lstlisting}\0A \00"
define i8* @scrinc(i8* readnone %0) {
%2 = icmp eq i8* %0, getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0)
%3 = select i1 %2, i8* getelementptr inbounds ([1051 x i8], [1051 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([1011 x i8], [1011 x i8]* @.str.2, i64 0, i64 0)
ret i8* %3
}