val sier = List(
ArrayDef("mem", 30000),
Assign("ptr", Num(15000)),
AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(8))),
While(
Bop("!=", Ref("mem", Var("ptr")), Num(0)),
List(
Assign("ptr", Aop("+", Var("ptr"), Num(1))),
AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(1))),
Assign("ptr", Aop("+", Var("ptr"), Num(1))),
AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(4))),
Assign("ptr", Aop("-", Var("ptr"), Num(2))),
AssignA("mem", Var("ptr"), Aop("-", Ref("mem", Var("ptr")), Num(1))),
Skip
)
),
Assign("ptr", Aop("+", Var("ptr"), Num(1))),
AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(2))),
Assign("ptr", Aop("+", Var("ptr"), Num(2))),
AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(1))),
Assign("ptr", Aop("-", Var("ptr"), Num(1))),
While(
Bop("!=", Ref("mem", Var("ptr")), Num(0)),
List(
AssignA("mem", Var("ptr"), Aop("-", Ref("mem", Var("ptr")), Num(1))),
While(
Bop("!=", Ref("mem", Var("ptr")), Num(0)),
List(
Assign("ptr", Aop("+", Var("ptr"), Num(2))),
AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(1))),
Assign("ptr", Aop("-", Var("ptr"), Num(2))),
AssignA("mem", Var("ptr"), Aop("-", Ref("mem", Var("ptr")), Num(1))),
Skip
)
),
AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(1))),
Assign("ptr", Aop("+", Var("ptr"), Num(2))),
Skip
)
),
Assign("ptr", Aop("+", Var("ptr"), Num(1))),
AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(1))),
While(
Bop("!=", Ref("mem", Var("ptr")), Num(0)),
List(
AssignA("mem", Var("ptr"), Aop("-", Ref("mem", Var("ptr")), Num(1))),
Assign("ptr", Aop("-", Var("ptr"), Num(3))),
While(
Bop("!=", Ref("mem", Var("ptr")), Num(0)),
List(
AssignA("mem", Var("ptr"), Aop("-", Ref("mem", Var("ptr")), Num(1))),
Assign("ptr", Aop("+", Var("ptr"), Num(1))),
While(
Bop("!=", Ref("mem", Var("ptr")), Num(0)),
List(
AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(1))),
AssignA("mem", Var("ptr"), Num(0)),
AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(1))),
Assign("ptr", Aop("+", Var("ptr"), Num(1))),
AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(2))),
Assign("ptr", Aop("+", Var("ptr"), Num(3))),
AssignA("mem", Var("ptr"), Aop("-", Ref("mem", Var("ptr")), Num(1))),
Assign("ptr", Aop("-", Var("ptr"), Num(2))),
Skip
)
),
Assign("ptr", Aop("-", Var("ptr"), Num(1))),
While(
Bop("!=", Ref("mem", Var("ptr")), Num(0)),
List(Assign("ptr", Aop("-", Var("ptr"), Num(1))), Skip)
),
Assign("ptr", Aop("+", Var("ptr"), Num(2))),
AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(6))),
While(
Bop("!=", Ref("mem", Var("ptr")), Num(0)),
List(
Assign("ptr", Aop("-", Var("ptr"), Num(2))),
AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(5))),
Assign("ptr", Aop("+", Var("ptr"), Num(2))),
AssignA("mem", Var("ptr"), Aop("-", Ref("mem", Var("ptr")), Num(1))),
Skip
)
),
AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(1))),
Assign("ptr", Aop("-", Var("ptr"), Num(2))),
AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(2))),
Assign("x", Ref("mem", Var("ptr"))),
Write("x"),
AssignA("mem", Var("ptr"), Num(0)),
Assign("ptr", Aop("-", Var("ptr"), Num(2))),
Skip
)
),
Assign("ptr", Aop("+", Var("ptr"), Num(1))),
Assign("x", Ref("mem", Var("ptr"))),
Write("x"),
Assign("ptr", Aop("+", Var("ptr"), Num(1))),
AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(1))),
While(
Bop("!=", Ref("mem", Var("ptr")), Num(0)),
List(Assign("ptr", Aop("+", Var("ptr"), Num(2))), Skip)
),
Assign("ptr", Aop("+", Var("ptr"), Num(1))),
AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(1))),
Skip
)
),
Skip
)