|
1 val bench = List( |
|
2 ArrayDef("mem", 30000), |
|
3 Assign("ptr", Num(15000)), |
|
4 Assign("ptr", Aop("+", Var("ptr"), Num(1))), |
|
5 AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(2))), |
|
6 While( |
|
7 Bop("!=", Ref("mem", Var("ptr")), Num(0)), |
|
8 List( |
|
9 Assign("ptr", Aop("-", Var("ptr"), Num(1))), |
|
10 AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(13))), |
|
11 Assign("ptr", Aop("+", Var("ptr"), Num(1))), |
|
12 AssignA("mem", Var("ptr"), Aop("-", Ref("mem", Var("ptr")), Num(1))), |
|
13 Skip |
|
14 ) |
|
15 ), |
|
16 Assign("ptr", Aop("-", Var("ptr"), Num(1))), |
|
17 While( |
|
18 Bop("!=", Ref("mem", Var("ptr")), Num(0)), |
|
19 List( |
|
20 While( |
|
21 Bop("!=", Ref("mem", Var("ptr")), Num(0)), |
|
22 List( |
|
23 Assign("ptr", Aop("+", Var("ptr"), Num(1))), |
|
24 AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(1))), |
|
25 Assign("ptr", Aop("+", Var("ptr"), Num(1))), |
|
26 AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(1))), |
|
27 Assign("ptr", Aop("-", Var("ptr"), Num(2))), |
|
28 AssignA("mem", Var("ptr"), Aop("-", Ref("mem", Var("ptr")), Num(1))), |
|
29 Skip |
|
30 ) |
|
31 ), |
|
32 Assign("ptr", Aop("+", Var("ptr"), Num(1))), |
|
33 While( |
|
34 Bop("!=", Ref("mem", Var("ptr")), Num(0)), |
|
35 List( |
|
36 Assign("ptr", Aop("-", Var("ptr"), Num(1))), |
|
37 AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(1))), |
|
38 Assign("ptr", Aop("+", Var("ptr"), Num(1))), |
|
39 AssignA("mem", Var("ptr"), Aop("-", Ref("mem", Var("ptr")), Num(1))), |
|
40 Skip |
|
41 ) |
|
42 ), |
|
43 AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(8))), |
|
44 While( |
|
45 Bop("!=", Ref("mem", Var("ptr")), Num(0)), |
|
46 List( |
|
47 Assign("ptr", Aop("+", Var("ptr"), Num(1))), |
|
48 AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(8))), |
|
49 Assign("ptr", Aop("-", Var("ptr"), Num(1))), |
|
50 AssignA("mem", Var("ptr"), Aop("-", Ref("mem", Var("ptr")), Num(1))), |
|
51 Skip |
|
52 ) |
|
53 ), |
|
54 Assign("ptr", Aop("+", Var("ptr"), Num(1))), |
|
55 Assign("x", Ref("mem", Var("ptr"))), |
|
56 Write("x"), |
|
57 AssignA("mem", Var("ptr"), Num(0)), |
|
58 Assign("ptr", Aop("-", Var("ptr"), Num(2))), |
|
59 Assign("ptr", Aop("+", Var("ptr"), Num(1))), |
|
60 AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(10))), |
|
61 While( |
|
62 Bop("!=", Ref("mem", Var("ptr")), Num(0)), |
|
63 List( |
|
64 Assign("ptr", Aop("+", Var("ptr"), Num(1))), |
|
65 AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(10))), |
|
66 While( |
|
67 Bop("!=", Ref("mem", Var("ptr")), Num(0)), |
|
68 List( |
|
69 Assign("ptr", Aop("+", Var("ptr"), Num(1))), |
|
70 AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(2))), |
|
71 AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(8))), |
|
72 While( |
|
73 Bop("!=", Ref("mem", Var("ptr")), Num(0)), |
|
74 List( |
|
75 Assign("ptr", Aop("+", Var("ptr"), Num(1))), |
|
76 AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(10))), |
|
77 While( |
|
78 Bop("!=", Ref("mem", Var("ptr")), Num(0)), |
|
79 List( |
|
80 Assign("ptr", Aop("+", Var("ptr"), Num(1))), |
|
81 AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(10))), |
|
82 While( |
|
83 Bop("!=", Ref("mem", Var("ptr")), Num(0)), |
|
84 List( |
|
85 Assign("ptr", Aop("+", Var("ptr"), Num(1))), |
|
86 AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(10))), |
|
87 While( |
|
88 Bop("!=", Ref("mem", Var("ptr")), Num(0)), |
|
89 List( |
|
90 Assign("ptr", Aop("+", Var("ptr"), Num(1))), |
|
91 AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(1))), |
|
92 AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(9))), |
|
93 AssignA("mem", Var("ptr"), Num(0)), |
|
94 Assign("ptr", Aop("-", Var("ptr"), Num(1))), |
|
95 AssignA("mem", Var("ptr"), Aop("-", Ref("mem", Var("ptr")), Num(1))), |
|
96 Skip |
|
97 ) |
|
98 ), |
|
99 Assign("ptr", Aop("-", Var("ptr"), Num(1))), |
|
100 AssignA("mem", Var("ptr"), Aop("-", Ref("mem", Var("ptr")), Num(1))), |
|
101 Skip |
|
102 ) |
|
103 ), |
|
104 Assign("ptr", Aop("-", Var("ptr"), Num(1))), |
|
105 AssignA("mem", Var("ptr"), Aop("-", Ref("mem", Var("ptr")), Num(1))), |
|
106 Skip |
|
107 ) |
|
108 ), |
|
109 Assign("ptr", Aop("-", Var("ptr"), Num(1))), |
|
110 AssignA("mem", Var("ptr"), Aop("-", Ref("mem", Var("ptr")), Num(1))), |
|
111 Skip |
|
112 ) |
|
113 ), |
|
114 Assign("ptr", Aop("-", Var("ptr"), Num(1))), |
|
115 AssignA("mem", Var("ptr"), Aop("-", Ref("mem", Var("ptr")), Num(1))), |
|
116 Skip |
|
117 ) |
|
118 ), |
|
119 Assign("ptr", Aop("-", Var("ptr"), Num(1))), |
|
120 AssignA("mem", Var("ptr"), Aop("-", Ref("mem", Var("ptr")), Num(1))), |
|
121 Skip |
|
122 ) |
|
123 ), |
|
124 Assign("ptr", Aop("-", Var("ptr"), Num(1))), |
|
125 AssignA("mem", Var("ptr"), Aop("-", Ref("mem", Var("ptr")), Num(1))), |
|
126 Skip |
|
127 ) |
|
128 ), |
|
129 AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(10))), |
|
130 Assign("x", Ref("mem", Var("ptr"))), |
|
131 Write("x"), |
|
132 Skip |
|
133 ) |