#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*/ F(char *);
int /*<<< orphan*/ print_P(int /*<<< orphan*/);
void printSetupPage() {
  print_P(F(
      "<!DOCTYPE html>\n"
      "<html>\n"
      "<style>\n"
      "form {\n"
      "border: solid gray;\n"
      "border-radius: 1em;\n"
      "padding: 1em;\n"
      "position: absolute;\n"
      "top: 50%;\n"
      "left: 50%;\n"
      "margin-right: -50%;\n"
      "transform: translate(-50%, -50%);\n"
      "}\n"
      "input {\n"
      "margin-right: 1em;\n"
      "}\n"
      "</style>\n"
      "<form action='/'>\n"
      "<input type='radio' name='x' value='a' checked/>Add fuel &#8530s;<br>\n"
      "<input type='radio' name='x' value='f'/>Set fuel capacity &#8530s;<br>\n"
      "<input type='radio' name='x' value='h'/>Set hobbs &#8530s;<br>\n"
      "<input type='radio' name='x' value='k'/>Set fuel flow k<br>\n"
      "<br>\n"
      "<input type='number' name='n' pattern='[0-9]*'/>\n"
      "<input type='submit'/><br>\n"
      "<br>\n"
      "<input type='button' value='Tanks Filled' "
      "onClick=\"javascript:location.assign('/?x=a&n=9999');\"/>\n"
      "<input type='button' value='Cancel' style='float:right;' "
      "onClick=\"javascript:location.assign('/');\"/\n"
      "</form>\n"
      "</html>\n"));
}


x86 assembly (clang, -O0):
<printSetupPage>:
push   %rbp
mov    %rsp,%rbp
lea    0xed5(%rip),%rdi
call   1030 <F@plt>
mov    %eax,%edi
call   1040 <print_P@plt>
pop    %rbp
ret

x86 assembly (clang, -O2):
<printSetupPage>:
push   %rax
lea    0xed8(%rip),%rdi
call   1030 <F@plt>
mov    %eax,%edi
pop    %rax
jmp    1040 <print_P@plt>

LLVM IR (-O0):
@.str = [811 x i8] c"<!DOCTYPE html>\0A<html>\0A<style>\0Aform {\0Aborder: solid gray;\0Aborder-radius: 1em;\0Apadding: 1em;\0Aposition: absolute;\0Atop: 50%;\0Aleft: 50%;\0Amargin-right: -50%;\0Atransform: translate(-50%, -50%);\0A}\0Ainput {\0Amargin-right: 1em;\0A}\0A</style>\0A<form action='/'>\0A<input type='radio' name='x' value='a' checked/>Add fuel &s;<br>\0A<input type='radio' name='x' value='f'/>Set fuel capacity &s;<br>\0A<input type='radio' name='x' value='h'/>Set hobbs &s;<br>\0A<input type='radio' name='x' value='k'/>Set fuel flow k<br>\0A<br>\0A<input type='number' name='n' pattern='[0-9]*'/>\0A<input type='submit'/><br>\0A<br>\0A<input type='button' value='Tanks Filled' onClick=\22javascript:location.assign('/?x=a&n=9999');\22/>\0A<input type='button' value='Cancel' style='float:right;' onClick=\22javascript:location.assign('/');\22/\0A</form>\0A</html>\0A\00"
define void @printSetupPage() {
%1 = call i32 @F(i8* getelementptr inbounds ([811 x i8], [811 x i8]* @.str, i64 0, i64 0))
%2 = call i32 @print_P(i32 %1)
ret void
}

LLVM IR (-O2):
@.str = [811 x i8] c"<!DOCTYPE html>\0A<html>\0A<style>\0Aform {\0Aborder: solid gray;\0Aborder-radius: 1em;\0Apadding: 1em;\0Aposition: absolute;\0Atop: 50%;\0Aleft: 50%;\0Amargin-right: -50%;\0Atransform: translate(-50%, -50%);\0A}\0Ainput {\0Amargin-right: 1em;\0A}\0A</style>\0A<form action='/'>\0A<input type='radio' name='x' value='a' checked/>Add fuel &s;<br>\0A<input type='radio' name='x' value='f'/>Set fuel capacity &s;<br>\0A<input type='radio' name='x' value='h'/>Set hobbs &s;<br>\0A<input type='radio' name='x' value='k'/>Set fuel flow k<br>\0A<br>\0A<input type='number' name='n' pattern='[0-9]*'/>\0A<input type='submit'/><br>\0A<br>\0A<input type='button' value='Tanks Filled' onClick=\22javascript:location.assign('/?x=a&n=9999');\22/>\0A<input type='button' value='Cancel' style='float:right;' onClick=\22javascript:location.assign('/');\22/\0A</form>\0A</html>\0A\00"
define void @printSetupPage() {
%1 = tail call i32 @F(i8* getelementptr inbounds ([811 x i8], [811 x i8]* @.str, i64 0, i64 0))
%2 = tail call i32 @print_P(i32 %1)
ret void
}