#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 *, int, int, char, char,
                           char);
void grace_output_top_heading(FILE *output_pipe, int page_width_pixels,
                              int page_length_pixels) {
  fprintf(
      output_pipe,
      "# Grace project file\n"
      "# -----------------------\n"
      "# Automatically generated\n"
      "# -----------------------\n"
      "#\n"
      "@version 50103\n"
      "@page size %d, %d\n"
      "@page scroll 5%c\n"
      "@page inout 5%c\n"
      "@link page off\n"
      "@map font 0 to \"Times-Roman\", \"Times-Roman\"\n"
      "@map font 1 to \"Times-Italic\", \"Times-Italic\"\n"
      "@map font 2 to \"Times-Bold\", \"Times-Bold\"\n"
      "@map font 3 to \"Times-BoldItalic\", \"Times-BoldItalic\"\n"
      "@map font 4 to \"Helvetica\", \"Helvetica\"\n"
      "@map font 5 to \"Helvetica-Oblique\", \"Helvetica-Oblique\"\n"
      "@map font 6 to \"Helvetica-Bold\", \"Helvetica-Bold\"\n"
      "@map font 7 to \"Helvetica-BoldOblique\", \"Helvetica-BoldOblique\"\n"
      "@map font 8 to \"Courier\", \"Courier\"\n"
      "@map font 9 to \"Courier-Oblique\", \"Courier-Oblique\"\n"
      "@map font 10 to \"Courier-Bold\", \"Courier-Bold\"\n"
      "@map font 11 to \"Courier-BoldOblique\", \"Courier-BoldOblique\"\n"
      "@map font 12 to \"Symbol\", \"Symbol\"\n"
      "@map font 13 to \"ZapfDingbats\", \"ZapfDingbats\"\n"
      "@map color 0 to (255, 255, 255), \"white\"\n"
      "@map color 1 to (0, 0, 0), \"black\"\n"
      "@map color 2 to (255, 0, 0), \"red\"\n"
      "@map color 3 to (0, 0, 255), \"blue\"\n"
      "@map color 4 to (0, 255, 0), \"green\"\n"
      "@map color 5 to (255, 165, 0), \"orange\"\n"
      "@map color 6 to (188, 143, 143), \"brown\"\n"
      "@map color 7 to (148, 0, 211), \"violet\"\n"
      "@map color 8 to (0, 255, 255), \"cyan\"\n"
      "@map color 9 to (255, 0, 255), \"magenta\"\n"
      "@map color 10 to (103, 7, 72), \"maroon\"\n"
      "@map color 11 to (114, 33, 188), \"indigo\"\n"
      "@map color 12 to (0, 125, 255), \"gr_blue\"\n"
      "@map color 13 to (64, 224, 208), \"turquoise\"\n"
      "@map color 14 to (0, 139, 0), \"green4\"\n"
      "@map color 15 to (220, 220, 220), \"grey\"\n"
      "@reference date 0\n"
      "@date wrap on\n"
      "@date wrap year 1900\n"
      "@default linewidth 1.0\n"
      "@default linestyle 1\n"
      "@default color 1\n"
      "@default pattern 1\n"
      "@default font 6\n"
      "@default char size 1.000000\n"
      "@default symbol size 1.000000\n"
      "@default sformat \"%c16.8f\"\n"
      "@background color 0\n"
      "@page background fill on\n"
      "@timestamp off\n"
      "@timestamp 0.03, 0.03\n"
      "@timestamp color 1\n"
      "@timestamp rot 0\n"
      "@timestamp font 6\n"
      "@timestamp char size 1.000000\n"
      "@r0 type above\n"
      "@r0 linestyle 1\n"
      "@r0 linewidth 1.0\n"
      "@r0 color 1\n"
      "@r0 line 0, 0, 0, 0\n"
      "@r1 type above\n"
      "@r1 linestyle 1\n"
      "@r1 linewidth 1.0\n"
      "@r1 color 1\n"
      "@r1 line 0, 0, 0, 0\n"
      "@r2 type above\n"
      "@r2 linestyle 1\n"
      "@r2 linewidth 1.0\n"
      "@r2 color 1\n"
      "@r2 line 0, 0, 0, 0\n"
      "@r3 type above\n"
      "@r3 linestyle 1\n"
      "@r3 linewidth 1.0\n"
      "@r3 color 1\n"
      "@r3 line 0, 0, 0, 0\n"
      "@r4 type above\n"
      "@r4 linestyle 1\n"
      "@r4 linewidth 1.0\n"
      "@r4 color 1\n"
      "@r4 line 0, 0, 0, 0\n",
      page_width_pixels, page_length_pixels, '%', '%', '%');
}


x86 assembly (clang, -O0):
<grace_output_top_heading>:
push   %rbp
mov    %rsp,%rbp
sub    $0x20,%rsp
mov    %rdi,-0x8(%rbp)
mov    %esi,-0xc(%rbp)
mov    %edx,-0x10(%rbp)
mov    -0x8(%rbp),%rdi
mov    -0xc(%rbp),%edx
mov    -0x10(%rbp),%ecx
lea    0xecd(%rip),%rsi
mov    $0x25,%r9d
mov    %r9d,%r8d
movl   $0x25,(%rsp)
call   1030 <fprintf@plt>
add    $0x20,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<grace_output_top_heading>:
push   %rax
mov    %edx,%ecx
mov    %esi,%edx
movl   $0x25,(%rsp)
lea    0xedd(%rip),%rsi
mov    $0x25,%r8d
mov    $0x25,%r9d
call   1030 <fprintf@plt>
pop    %rax
ret

LLVM IR (-O0):
@.str = [2295 x i8] c"# Grace project file\0A# -----------------------\0A# Automatically generated\0A# -----------------------\0A#\0A@version 50103\0A@page size %d, %d\0A@page scroll 5%c\0A@page inout 5%c\0A@link page off\0A@map font 0 to \22Times-Roman\22, \22Times-Roman\22\0A@map font 1 to \22Times-Italic\22, \22Times-Italic\22\0A@map font 2 to \22Times-Bold\22, \22Times-Bold\22\0A@map font 3 to \22Times-BoldItalic\22, \22Times-BoldItalic\22\0A@map font 4 to \22Helvetica\22, \22Helvetica\22\0A@map font 5 to \22Helvetica-Oblique\22, \22Helvetica-Oblique\22\0A@map font 6 to \22Helvetica-Bold\22, \22Helvetica-Bold\22\0A@map font 7 to \22Helvetica-BoldOblique\22, \22Helvetica-BoldOblique\22\0A@map font 8 to \22Courier\22, \22Courier\22\0A@map font 9 to \22Courier-Oblique\22, \22Courier-Oblique\22\0A@map font 10 to \22Courier-Bold\22, \22Courier-Bold\22\0A@map font 11 to \22Courier-BoldOblique\22, \22Courier-BoldOblique\22\0A@map font 12 to \22Symbol\22, \22Symbol\22\0A@map font 13 to \22ZapfDingbats\22, \22ZapfDingbats\22\0A@map color 0 to (255, 255, 255), \22white\22\0A@map color 1 to (0, 0, 0), \22black\22\0A@map color 2 to (255, 0, 0), \22red\22\0A@map color 3 to (0, 0, 255), \22blue\22\0A@map color 4 to (0, 255, 0), \22green\22\0A@map color 5 to (255, 165, 0), \22orange\22\0A@map color 6 to (188, 143, 143), \22brown\22\0A@map color 7 to (148, 0, 211), \22violet\22\0A@map color 8 to (0, 255, 255), \22cyan\22\0A@map color 9 to (255, 0, 255), \22magenta\22\0A@map color 10 to (103, 7, 72), \22maroon\22\0A@map color 11 to (114, 33, 188), \22indigo\22\0A@map color 12 to (0, 125, 255), \22gr_blue\22\0A@map color 13 to (64, 224, 208), \22turquoise\22\0A@map color 14 to (0, 139, 0), \22green4\22\0A@map color 15 to (220, 220, 220), \22grey\22\0A@reference date 0\0A@date wrap on\0A@date wrap year 1900\0A@default linewidth 1.0\0A@default linestyle 1\0A@default color 1\0A@default pattern 1\0A@default font 6\0A@default char size 1.000000\0A@default symbol size 1.000000\0A@default sformat \22%c16.8f\22\0A@background color 0\0A@page background fill on\0A@timestamp off\0A@timestamp 0.03, 0.03\0A@timestamp color 1\0A@timestamp rot 0\0A@timestamp font 6\0A@timestamp char size 1.000000\0A@r0 type above\0A@r0 linestyle 1\0A@r0 linewidth 1.0\0A@r0 color 1\0A@r0 line 0, 0, 0, 0\0A@r1 type above\0A@r1 linestyle 1\0A@r1 linewidth 1.0\0A@r1 color 1\0A@r1 line 0, 0, 0, 0\0A@r2 type above\0A@r2 linestyle 1\0A@r2 linewidth 1.0\0A@r2 color 1\0A@r2 line 0, 0, 0, 0\0A@r3 type above\0A@r3 linestyle 1\0A@r3 linewidth 1.0\0A@r3 color 1\0A@r3 line 0, 0, 0, 0\0A@r4 type above\0A@r4 linestyle 1\0A@r4 linewidth 1.0\0A@r4 color 1\0A@r4 line 0, 0, 0, 0\0A\00"
define void @grace_output_top_heading(i32* %0, i32 %1, i32 %2) {
%4 = alloca i32*
%5 = alloca i32
%6 = alloca i32
store i32* %0, i32** %4
store i32 %1, i32* %5
store i32 %2, i32* %6
%7 = load i32*, i32** %4
%8 = load i32, i32* %5
%9 = load i32, i32* %6
%10 = call i32 @fprintf(i32* %7, i8* getelementptr inbounds ([2295 x i8], [2295 x i8]* @.str, i64 0, i64 0), i32 %8, i32 %9, i8 signext 37, i8 signext 37, i8 signext 37)
ret void
}

LLVM IR (-O2):
@.str = [2295 x i8] c"# Grace project file\0A# -----------------------\0A# Automatically generated\0A# -----------------------\0A#\0A@version 50103\0A@page size %d, %d\0A@page scroll 5%c\0A@page inout 5%c\0A@link page off\0A@map font 0 to \22Times-Roman\22, \22Times-Roman\22\0A@map font 1 to \22Times-Italic\22, \22Times-Italic\22\0A@map font 2 to \22Times-Bold\22, \22Times-Bold\22\0A@map font 3 to \22Times-BoldItalic\22, \22Times-BoldItalic\22\0A@map font 4 to \22Helvetica\22, \22Helvetica\22\0A@map font 5 to \22Helvetica-Oblique\22, \22Helvetica-Oblique\22\0A@map font 6 to \22Helvetica-Bold\22, \22Helvetica-Bold\22\0A@map font 7 to \22Helvetica-BoldOblique\22, \22Helvetica-BoldOblique\22\0A@map font 8 to \22Courier\22, \22Courier\22\0A@map font 9 to \22Courier-Oblique\22, \22Courier-Oblique\22\0A@map font 10 to \22Courier-Bold\22, \22Courier-Bold\22\0A@map font 11 to \22Courier-BoldOblique\22, \22Courier-BoldOblique\22\0A@map font 12 to \22Symbol\22, \22Symbol\22\0A@map font 13 to \22ZapfDingbats\22, \22ZapfDingbats\22\0A@map color 0 to (255, 255, 255), \22white\22\0A@map color 1 to (0, 0, 0), \22black\22\0A@map color 2 to (255, 0, 0), \22red\22\0A@map color 3 to (0, 0, 255), \22blue\22\0A@map color 4 to (0, 255, 0), \22green\22\0A@map color 5 to (255, 165, 0), \22orange\22\0A@map color 6 to (188, 143, 143), \22brown\22\0A@map color 7 to (148, 0, 211), \22violet\22\0A@map color 8 to (0, 255, 255), \22cyan\22\0A@map color 9 to (255, 0, 255), \22magenta\22\0A@map color 10 to (103, 7, 72), \22maroon\22\0A@map color 11 to (114, 33, 188), \22indigo\22\0A@map color 12 to (0, 125, 255), \22gr_blue\22\0A@map color 13 to (64, 224, 208), \22turquoise\22\0A@map color 14 to (0, 139, 0), \22green4\22\0A@map color 15 to (220, 220, 220), \22grey\22\0A@reference date 0\0A@date wrap on\0A@date wrap year 1900\0A@default linewidth 1.0\0A@default linestyle 1\0A@default color 1\0A@default pattern 1\0A@default font 6\0A@default char size 1.000000\0A@default symbol size 1.000000\0A@default sformat \22%c16.8f\22\0A@background color 0\0A@page background fill on\0A@timestamp off\0A@timestamp 0.03, 0.03\0A@timestamp color 1\0A@timestamp rot 0\0A@timestamp font 6\0A@timestamp char size 1.000000\0A@r0 type above\0A@r0 linestyle 1\0A@r0 linewidth 1.0\0A@r0 color 1\0A@r0 line 0, 0, 0, 0\0A@r1 type above\0A@r1 linestyle 1\0A@r1 linewidth 1.0\0A@r1 color 1\0A@r1 line 0, 0, 0, 0\0A@r2 type above\0A@r2 linestyle 1\0A@r2 linewidth 1.0\0A@r2 color 1\0A@r2 line 0, 0, 0, 0\0A@r3 type above\0A@r3 linestyle 1\0A@r3 linewidth 1.0\0A@r3 color 1\0A@r3 line 0, 0, 0, 0\0A@r4 type above\0A@r4 linestyle 1\0A@r4 linewidth 1.0\0A@r4 color 1\0A@r4 line 0, 0, 0, 0\0A\00"
define void @grace_output_top_heading(i32* nocapture %0, i32 %1, i32 %2) {
%4 = tail call i32 @fprintf(i32* %0, i8* getelementptr inbounds ([2295 x i8], [2295 x i8]* @.str, i64 0, i64 0), i32 %1, i32 %2, i8 signext 37, i8 signext 37, i8 signext 37)
ret void
}