...
1-- in.cue --
2t1: a: {
3 a1: a0 + 2
4 b1: a1 - 2
5 a0: X
6 X: b1
7 X: 5.0
8}
9
10t1: b: {
11 X: 5.0
12 a1: a0 + 2
13 b1: a1 - 2
14 a0: X
15 X: b1
16}
17
18t1: c: {
19 a1: a0 + 2
20 b1: a1 - 2
21 X: 5.0
22 a0: X
23 X: b1
24}
25
26t1: c: {
27 b1: a1 - 2
28 a1: a0 + 2
29 X: 5.0
30 a0: X
31 X: b1
32}
33
34t1: c: {
35 b1: a1 - 2
36 X: 5.0
37 a1: a0 + 2
38 a0: X
39 X: b1
40}
41
42t1total: {
43 for _, v in t1 {v}
44}
45
46// Issue #622
47t2: a: {
48 a0: X
49 a1: a0 * 2
50 Y: a1
51
52 b0: Y
53 b1: b0 / 2
54 X: b1
55
56 X: 5.0
57}
58
59t2: b: {
60 b0: Y
61 b1: b0 / 2
62 X: b1
63
64 a0: X
65 a1: a0 * 2
66 Y: a1
67
68 X: 5.0
69}
70
71t2: c: {
72 b0: Y
73 b1: b0 / 2
74 X: b1
75
76 X: 5.0
77
78 a0: X
79 a1: a0 * 2
80 Y: a1
81}
82
83t2: d: {
84 b0: Y
85 b1: b0 / 2
86 X: b1
87
88 a0: X
89 a1: a0 * 2
90 Y: a1
91
92 X: 5.0
93}
94
95t2total: {
96 for _, v in t2 {v}
97}
98-- out/eval/stats --
99Leaks: 0
100Freed: 58
101Reused: 49
102Allocs: 9
103Retain: 71
104
105Unifications: 58
106Conjuncts: 410
107Disjuncts: 75
108-- out/eval --
109(struct){
110 t1: (struct){
111 a: (struct){
112 a1: (float){ 7.0 }
113 b1: (float){ 5.0 }
114 a0: (float){ 5.0 }
115 X: (float){ 5.0 }
116 }
117 b: (struct){
118 X: (float){ 5.0 }
119 a1: (float){ 7.0 }
120 b1: (float){ 5.0 }
121 a0: (float){ 5.0 }
122 }
123 c: (struct){
124 a1: (float){ 7.0 }
125 b1: (float){ 5.0 }
126 X: (float){ 5.0 }
127 a0: (float){ 5.0 }
128 }
129 }
130 t1total: (struct){
131 a1: (float){ 7.0 }
132 b1: (float){ 5.0 }
133 a0: (float){ 5.0 }
134 X: (float){ 5.0 }
135 }
136 t2: (struct){
137 a: (struct){
138 a0: (float){ 5.0 }
139 a1: (float){ 10.0 }
140 Y: (float){ 10.0 }
141 b0: (float){ 10.0 }
142 b1: (float){ 5.0 }
143 X: (float){ 5.0 }
144 }
145 b: (struct){
146 b0: (float){ 10.0 }
147 b1: (float){ 5.0 }
148 X: (float){ 5.0 }
149 a0: (float){ 5.0 }
150 a1: (float){ 10.0 }
151 Y: (float){ 10.0 }
152 }
153 c: (struct){
154 b0: (float){ 10.0 }
155 b1: (float){ 5.0 }
156 X: (float){ 5.0 }
157 a0: (float){ 5.0 }
158 a1: (float){ 10.0 }
159 Y: (float){ 10.0 }
160 }
161 d: (struct){
162 b0: (float){ 10.0 }
163 b1: (float){ 5.0 }
164 X: (float){ 5.0 }
165 a0: (float){ 5.0 }
166 a1: (float){ 10.0 }
167 Y: (float){ 10.0 }
168 }
169 }
170 t2total: (struct){
171 a0: (float){ 5.0 }
172 a1: (float){ 10.0 }
173 Y: (float){ 10.0 }
174 b0: (float){ 10.0 }
175 b1: (float){ 5.0 }
176 X: (float){ 5.0 }
177 }
178}
179-- out/compile --
180--- in.cue
181{
182 t1: {
183 a: {
184 a1: (〈0;a0〉 + 2)
185 b1: (〈0;a1〉 - 2)
186 a0: 〈0;X〉
187 X: 〈0;b1〉
188 X: 5.0
189 }
190 }
191 t1: {
192 b: {
193 X: 5.0
194 a1: (〈0;a0〉 + 2)
195 b1: (〈0;a1〉 - 2)
196 a0: 〈0;X〉
197 X: 〈0;b1〉
198 }
199 }
200 t1: {
201 c: {
202 a1: (〈0;a0〉 + 2)
203 b1: (〈0;a1〉 - 2)
204 X: 5.0
205 a0: 〈0;X〉
206 X: 〈0;b1〉
207 }
208 }
209 t1: {
210 c: {
211 b1: (〈0;a1〉 - 2)
212 a1: (〈0;a0〉 + 2)
213 X: 5.0
214 a0: 〈0;X〉
215 X: 〈0;b1〉
216 }
217 }
218 t1: {
219 c: {
220 b1: (〈0;a1〉 - 2)
221 X: 5.0
222 a1: (〈0;a0〉 + 2)
223 a0: 〈0;X〉
224 X: 〈0;b1〉
225 }
226 }
227 t1total: {
228 for _, v in 〈1;t1〉 {
229 〈1;v〉
230 }
231 }
232 t2: {
233 a: {
234 a0: 〈0;X〉
235 a1: (〈0;a0〉 * 2)
236 Y: 〈0;a1〉
237 b0: 〈0;Y〉
238 b1: (〈0;b0〉 / 2)
239 X: 〈0;b1〉
240 X: 5.0
241 }
242 }
243 t2: {
244 b: {
245 b0: 〈0;Y〉
246 b1: (〈0;b0〉 / 2)
247 X: 〈0;b1〉
248 a0: 〈0;X〉
249 a1: (〈0;a0〉 * 2)
250 Y: 〈0;a1〉
251 X: 5.0
252 }
253 }
254 t2: {
255 c: {
256 b0: 〈0;Y〉
257 b1: (〈0;b0〉 / 2)
258 X: 〈0;b1〉
259 X: 5.0
260 a0: 〈0;X〉
261 a1: (〈0;a0〉 * 2)
262 Y: 〈0;a1〉
263 }
264 }
265 t2: {
266 d: {
267 b0: 〈0;Y〉
268 b1: (〈0;b0〉 / 2)
269 X: 〈0;b1〉
270 a0: 〈0;X〉
271 a1: (〈0;a0〉 * 2)
272 Y: 〈0;a1〉
273 X: 5.0
274 }
275 }
276 t2total: {
277 for _, v in 〈1;t2〉 {
278 〈1;v〉
279 }
280 }
281}
View as plain text