#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 *, char *, char *, char *,
                           char *, char *, char *, char *);
void document_output_dynarch_heading(FILE *output_stream) {
  fprintf(
      output_stream,
      "<link rel=stylesheet type=text/css href=\"/%s/src/style-%s.css\">\n"
      "<link rel=stylesheet type=text/css href=\"/%s/src/skin-%s.css\">\n"
      "<script type=\"text/javascript\"> _dynarch_menu_url=\"/%s/src/\"; "
      "</script>\n"
      "<script type=\"text/javascript\"> _dynarch_top=\"/%s/\"; </script>\n"
      "<script type=\"text/javascript\" src=\"/%s/src/hmenu.js\"> </script>\n",
      "appaserver/zmenu", "template", "appaserver/zmenu", "template",
      "appaserver/zmenu", "appaserver/zmenu", "appaserver/zmenu");
}


x86 assembly (clang, -O0):
<document_output_dynarch_heading>:
push   %rbp
mov    %rsp,%rbp
sub    $0x20,%rsp
mov    %rdi,-0x8(%rbp)
mov    -0x8(%rbp),%rdi
lea    0xed9(%rip),%rsi
lea    0x101a(%rip),%rax
lea    0x1024(%rip),%r9
mov    %rax,%rdx
mov    %r9,%rcx
mov    %rax,%r8
mov    %rax,(%rsp)
mov    %rax,0x8(%rsp)
mov    %rax,0x10(%rsp)
call   1030 <fprintf@plt>
add    $0x20,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<document_output_dynarch_heading>:
push   %rax
sub    $0x8,%rsp
lea    0x102c(%rip),%rdx
lea    0xedd(%rip),%rsi
lea    0x102f(%rip),%rcx
mov    %rdx,%r8
mov    %rcx,%r9
push   %rdx
push   %rdx
push   %rdx
call   1030 <fprintf@plt>
add    $0x20,%rsp
pop    %rax
ret

LLVM IR (-O0):
@.str = [328 x i8] c"<link rel=stylesheet type=text/css href=\22/%s/src/style-%s.css\22>\0A<link rel=stylesheet type=text/css href=\22/%s/src/skin-%s.css\22>\0A<script type=\22text/javascript\22> _dynarch_menu_url=\22/%s/src/\22; </script>\0A<script type=\22text/javascript\22> _dynarch_top=\22/%s/\22; </script>\0A<script type=\22text/javascript\22 src=\22/%s/src/hmenu.js\22> </script>\0A\00"
@.str.1 = [17 x i8] c"appaserver/zmenu\00"
@.str.2 = [9 x i8] c"template\00"
define void @document_output_dynarch_heading(i32* %0) {
%2 = alloca i32*
store i32* %0, i32** %2
%3 = load i32*, i32** %2
%4 = call i32 @fprintf(i32* %3, i8* getelementptr inbounds ([328 x i8], [328 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.1, i64 0, i64 0))
ret void
}

LLVM IR (-O2):
@.str = [328 x i8] c"<link rel=stylesheet type=text/css href=\22/%s/src/style-%s.css\22>\0A<link rel=stylesheet type=text/css href=\22/%s/src/skin-%s.css\22>\0A<script type=\22text/javascript\22> _dynarch_menu_url=\22/%s/src/\22; </script>\0A<script type=\22text/javascript\22> _dynarch_top=\22/%s/\22; </script>\0A<script type=\22text/javascript\22 src=\22/%s/src/hmenu.js\22> </script>\0A\00"
@.str.1 = [17 x i8] c"appaserver/zmenu\00"
@.str.2 = [9 x i8] c"template\00"
define void @document_output_dynarch_heading(i32* nocapture %0) {
%2 = tail call i32 @fprintf(i32* %0, i8* getelementptr inbounds ([328 x i8], [328 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.1, i64 0, i64 0))
ret void
}