#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*/ test(char *, char *);
void cml_stax_reader_test() {
  test("Page\n"
       "items:\n"
       "	Page.header ;comment\n"
       "	align 1 ; comment\n"
       "	size 20\n"
       "	items: ;comment\n"
       "		Image.logo\n"
       "		align 2\n"
       "		size 20\n"
       "		url \"logo.gif\"\n"
       "\n"
       "		TextBox.title\n"
       "		content:\n"
       "			Span\n"
       "			text \"Title\"\n"
       "			style TextStyle\n"
       "				parent TextStyle.main_style\n"
       "					family \"Arial\"\n"
       "					weight 400\n"
       "					size 12\n"
       "					color 0\n"
       "				size 24\n"
       "				color 16436877\n"
       "\n"
       "	TextBox.mainText\n"
       "	content:\n"
       "		Span\n"
       "		text \"Hello \"\n"
       "		style=main_style\n"
       "\n"
       "		Span\n"
       "		text \"world!\"\n"
       "		style TextStyle.bold\n"
       "			weight 600\n"
       "			parent=main_style\n",
       "Page{items:[header=Page{align:1size:20items:[logo=Image{align:2size:"
       "20url:'logo.gif'}"
       "title=TextBox{content:[Span{text:'Title'style:TextStyle{parent:main_"
       "style=TextStyle{"
       "family:'Arial'weight:400size:12color:0}size:24color:16436877}}]}]}"
       "mainText=TextBox{"
       "content:[Span{text:'Hello "
       "'style:=main_style}Span{text:'world!'style:bold=TextStyle{"
       "weight:600parent:=main_style}}]}]}");
  test(":\n"
       "   +\n"
       "   3.14\n"
       "   22\n"
       "   \"\"\n"
       "   point.p\n"
       "   x 1\n"
       "   y 2\n"
       "\n"
       "   +\n"
       "   =p\n"
       "   :\n"
       "     +\n"
       "     -\n",
       "[true3.1422''p=point{x:1y:2}true=p[truefalse]]");
  test("#4\n"
       " /8AMq\n"
       " g==",
       "ffc00caa");
}


x86 assembly (clang, -O0):
<cml_stax_reader_test>:
push   %rbp
mov    %rsp,%rbp
lea    0xee5(%rip),%rdi
lea    0x10bd(%rip),%rsi
call   1030 <test@plt>
lea    0x1224(%rip),%rdi
lea    0x1271(%rip),%rsi
call   1030 <test@plt>
lea    0x1294(%rip),%rdi
lea    0x129c(%rip),%rsi
call   1030 <test@plt>
pop    %rbp
ret

x86 assembly (clang, -O2):
<cml_stax_reader_test>:
push   %rax
lea    0xee8(%rip),%rdi
lea    0x10c0(%rip),%rsi
call   1030 <test@plt>
lea    0x1227(%rip),%rdi
lea    0x1274(%rip),%rsi
call   1030 <test@plt>
lea    0x1297(%rip),%rdi
lea    0x129f(%rip),%rsi
pop    %rax
jmp    1030 <test@plt>

LLVM IR (-O0):
@.str = [479 x i8] c"Page\0Aitems:\0A\09Page.header ;comment\0A\09align 1 ; comment\0A\09size 20\0A\09items: ;comment\0A\09\09Image.logo\0A\09\09align 2\0A\09\09size 20\0A\09\09url \22logo.gif\22\0A\0A\09\09TextBox.title\0A\09\09content:\0A\09\09\09Span\0A\09\09\09text \22Title\22\0A\09\09\09style TextStyle\0A\09\09\09\09parent TextStyle.main_style\0A\09\09\09\09\09family \22Arial\22\0A\09\09\09\09\09weight 400\0A\09\09\09\09\09size 12\0A\09\09\09\09\09color 0\0A\09\09\09\09size 24\0A\09\09\09\09color 16436877\0A\0A\09TextBox.mainText\0A\09content:\0A\09\09Span\0A\09\09text \22Hello \22\0A\09\09style=main_style\0A\0A\09\09Span\0A\09\09text \22world!\22\0A\09\09style TextStyle.bold\0A\09\09\09weight 600\0A\09\09\09parent=main_style\0A\00"
@.str.1 = [371 x i8] c"Page{items:[header=Page{align:1size:20items:[logo=Image{align:2size:20url:'logo.gif'}title=TextBox{content:[Span{text:'Title'style:TextStyle{parent:main_style=TextStyle{family:'Arial'weight:400size:12color:0}size:24color:16436877}}]}]}mainText=TextBox{content:[Span{text:'Hello 'style:=main_style}Span{text:'world!'style:bold=TextStyle{weight:600parent:=main_style}}]}]}\00"
@.str.2 = [84 x i8] c":\0A +\0A 3.14\0A 22\0A \22\22\0A point.p\0A x 1\0A y 2\0A\0A +\0A =p\0A :\0A +\0A -\0A\00"
@.str.3 = [47 x i8] c"[true3.1422''p=point{x:1y:2}true=p[truefalse]]\00"
@.str.4 = [15 x i8] c"\0A /8AMq\0A g==\00"
@.str.5 = [9 x i8] c"ffc00caa\00"
define void @cml_stax_reader_test() {
%1 = call i32 @test(i8* getelementptr inbounds ([479 x i8], [479 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([371 x i8], [371 x i8]* @.str.1, i64 0, i64 0))
%2 = call i32 @test(i8* getelementptr inbounds ([84 x i8], [84 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([47 x i8], [47 x i8]* @.str.3, i64 0, i64 0))
%3 = call i32 @test(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.4, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.5, i64 0, i64 0))
ret void
}

LLVM IR (-O2):
@.str = [479 x i8] c"Page\0Aitems:\0A\09Page.header ;comment\0A\09align 1 ; comment\0A\09size 20\0A\09items: ;comment\0A\09\09Image.logo\0A\09\09align 2\0A\09\09size 20\0A\09\09url \22logo.gif\22\0A\0A\09\09TextBox.title\0A\09\09content:\0A\09\09\09Span\0A\09\09\09text \22Title\22\0A\09\09\09style TextStyle\0A\09\09\09\09parent TextStyle.main_style\0A\09\09\09\09\09family \22Arial\22\0A\09\09\09\09\09weight 400\0A\09\09\09\09\09size 12\0A\09\09\09\09\09color 0\0A\09\09\09\09size 24\0A\09\09\09\09color 16436877\0A\0A\09TextBox.mainText\0A\09content:\0A\09\09Span\0A\09\09text \22Hello \22\0A\09\09style=main_style\0A\0A\09\09Span\0A\09\09text \22world!\22\0A\09\09style TextStyle.bold\0A\09\09\09weight 600\0A\09\09\09parent=main_style\0A\00"
@.str.1 = [371 x i8] c"Page{items:[header=Page{align:1size:20items:[logo=Image{align:2size:20url:'logo.gif'}title=TextBox{content:[Span{text:'Title'style:TextStyle{parent:main_style=TextStyle{family:'Arial'weight:400size:12color:0}size:24color:16436877}}]}]}mainText=TextBox{content:[Span{text:'Hello 'style:=main_style}Span{text:'world!'style:bold=TextStyle{weight:600parent:=main_style}}]}]}\00"
@.str.2 = [84 x i8] c":\0A +\0A 3.14\0A 22\0A \22\22\0A point.p\0A x 1\0A y 2\0A\0A +\0A =p\0A :\0A +\0A -\0A\00"
@.str.3 = [47 x i8] c"[true3.1422''p=point{x:1y:2}true=p[truefalse]]\00"
@.str.4 = [15 x i8] c"\0A /8AMq\0A g==\00"
@.str.5 = [9 x i8] c"ffc00caa\00"
define void @cml_stax_reader_test() {
%1 = tail call i32 @test(i8* getelementptr inbounds ([479 x i8], [479 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([371 x i8], [371 x i8]* @.str.1, i64 0, i64 0))
%2 = tail call i32 @test(i8* getelementptr inbounds ([84 x i8], [84 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([47 x i8], [47 x i8]* @.str.3, i64 0, i64 0))
%3 = tail call i32 @test(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.4, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.5, i64 0, i64 0))
ret void
}