use a hash table to parse temporaries
[qbe.git] / test / vararg2.ssa
blob5ad057ac4636672aa008798e5cfcbbb035b7ea2f
1 export function $qbeprint0(l %fmt, ...) {
2 @start
3         %fmtdbl =l alloc4 4
4         %fmtint =l alloc4 4
5         %emptys =l alloc4 4
6         storew 2122789, %fmtint
7         storew 2123557, %fmtdbl
8         storew 0, %emptys
9         %vp =l alloc8 32
10         %fmt1 =l add 1, %fmt
11         vastart %vp
12 @loop
13         %p =l phi @start %fmt1, @casef %p1, @cased %p1
14         %c =w loadsb %p
15         %p1 =l add 3, %p
16         jnz %c, @loop1, @end
17 @loop1
18         %isg =w ceqw %c, 103
19         jnz %isg, @casef, @cased
20 @casef
21         %dbl =d vaarg %vp
22         call $printf(l %fmtdbl, d %dbl, ...)
23         jmp @loop
24 @cased
25         %int =w vaarg %vp
26         call $printf(l %fmtint, w %int, ...)
27         jmp @loop
28 @end
29         call $puts(l %emptys)
30         ret
33 export function $qbecall0(l %fmt, ...) {
34 @start
35         %vp =l alloc8 32
36         vastart %vp
37         call $vprintf(l %fmt, l %vp)
38         ret
41 export function $qbeprint1(w %argw0, l %fmt, ...) {
42 @start
43         %fmtdbl =l alloc4 4
44         %fmtint =l alloc4 4
45         %emptys =l alloc4 4
46         storew 2122789, %fmtint
47         storew 2123557, %fmtdbl
48         storew 0, %emptys
49         %vp =l alloc8 32
50         %fmt1 =l add 1, %fmt
51         vastart %vp
52 @loop
53         %p =l phi @start %fmt1, @casef %p1, @cased %p1
54         %c =w loadsb %p
55         %p1 =l add 3, %p
56         jnz %c, @loop1, @end
57 @loop1
58         %isg =w ceqw %c, 103
59         jnz %isg, @casef, @cased
60 @casef
61         %dbl =d vaarg %vp
62         call $printf(l %fmtdbl, d %dbl, ...)
63         jmp @loop
64 @cased
65         %int =w vaarg %vp
66         call $printf(l %fmtint, w %int, ...)
67         jmp @loop
68 @end
69         call $puts(l %emptys)
70         ret
73 export function $qbecall1(w %argw0, l %fmt, ...) {
74 @start
75         %vp =l alloc8 32
76         vastart %vp
77         call $vprintf(l %fmt, l %vp)
78         ret
81 export function $qbeprint2(d %argd0, l %fmt, ...) {
82 @start
83         %fmtdbl =l alloc4 4
84         %fmtint =l alloc4 4
85         %emptys =l alloc4 4
86         storew 2122789, %fmtint
87         storew 2123557, %fmtdbl
88         storew 0, %emptys
89         %vp =l alloc8 32
90         %fmt1 =l add 1, %fmt
91         vastart %vp
92 @loop
93         %p =l phi @start %fmt1, @casef %p1, @cased %p1
94         %c =w loadsb %p
95         %p1 =l add 3, %p
96         jnz %c, @loop1, @end
97 @loop1
98         %isg =w ceqw %c, 103
99         jnz %isg, @casef, @cased
100 @casef
101         %dbl =d vaarg %vp
102         call $printf(l %fmtdbl, d %dbl, ...)
103         jmp @loop
104 @cased
105         %int =w vaarg %vp
106         call $printf(l %fmtint, w %int, ...)
107         jmp @loop
108 @end
109         call $puts(l %emptys)
110         ret
113 export function $qbecall2(d %argd0, l %fmt, ...) {
114 @start
115         %vp =l alloc8 32
116         vastart %vp
117         call $vprintf(l %fmt, l %vp)
118         ret
121 export function $qbeprint3(w %argw0, w %argw1, w %argw2, w %argw3, l %fmt, ...) {
122 @start
123         %fmtdbl =l alloc4 4
124         %fmtint =l alloc4 4
125         %emptys =l alloc4 4
126         storew 2122789, %fmtint
127         storew 2123557, %fmtdbl
128         storew 0, %emptys
129         %vp =l alloc8 32
130         %fmt1 =l add 1, %fmt
131         vastart %vp
132 @loop
133         %p =l phi @start %fmt1, @casef %p1, @cased %p1
134         %c =w loadsb %p
135         %p1 =l add 3, %p
136         jnz %c, @loop1, @end
137 @loop1
138         %isg =w ceqw %c, 103
139         jnz %isg, @casef, @cased
140 @casef
141         %dbl =d vaarg %vp
142         call $printf(l %fmtdbl, d %dbl, ...)
143         jmp @loop
144 @cased
145         %int =w vaarg %vp
146         call $printf(l %fmtint, w %int, ...)
147         jmp @loop
148 @end
149         call $puts(l %emptys)
150         ret
153 export function $qbecall3(w %argw0, w %argw1, w %argw2, w %argw3, l %fmt, ...) {
154 @start
155         %vp =l alloc8 32
156         vastart %vp
157         call $vprintf(l %fmt, l %vp)
158         ret
161 export function $qbeprint4(d %argd0, d %argd1, d %argd2, d %argd3, d %argd4, d %argd5, l %fmt, ...) {
162 @start
163         %fmtdbl =l alloc4 4
164         %fmtint =l alloc4 4
165         %emptys =l alloc4 4
166         storew 2122789, %fmtint
167         storew 2123557, %fmtdbl
168         storew 0, %emptys
169         %vp =l alloc8 32
170         %fmt1 =l add 1, %fmt
171         vastart %vp
172 @loop
173         %p =l phi @start %fmt1, @casef %p1, @cased %p1
174         %c =w loadsb %p
175         %p1 =l add 3, %p
176         jnz %c, @loop1, @end
177 @loop1
178         %isg =w ceqw %c, 103
179         jnz %isg, @casef, @cased
180 @casef
181         %dbl =d vaarg %vp
182         call $printf(l %fmtdbl, d %dbl, ...)
183         jmp @loop
184 @cased
185         %int =w vaarg %vp
186         call $printf(l %fmtint, w %int, ...)
187         jmp @loop
188 @end
189         call $puts(l %emptys)
190         ret
193 export function $qbecall4(d %argd0, d %argd1, d %argd2, d %argd3, d %argd4, d %argd5, l %fmt, ...) {
194 @start
195         %vp =l alloc8 32
196         vastart %vp
197         call $vprintf(l %fmt, l %vp)
198         ret
201 export function $qbeprint5(w %argw0, w %argw1, w %argw2, w %argw3, w %argw4, d %argd0, d %argd1, d %argd2, d %argd3, d %argd4, d %argd5, d %argd6, l %fmt, ...) {
202 @start
203         %fmtdbl =l alloc4 4
204         %fmtint =l alloc4 4
205         %emptys =l alloc4 4
206         storew 2122789, %fmtint
207         storew 2123557, %fmtdbl
208         storew 0, %emptys
209         %vp =l alloc8 32
210         %fmt1 =l add 1, %fmt
211         vastart %vp
212 @loop
213         %p =l phi @start %fmt1, @casef %p1, @cased %p1
214         %c =w loadsb %p
215         %p1 =l add 3, %p
216         jnz %c, @loop1, @end
217 @loop1
218         %isg =w ceqw %c, 103
219         jnz %isg, @casef, @cased
220 @casef
221         %dbl =d vaarg %vp
222         call $printf(l %fmtdbl, d %dbl, ...)
223         jmp @loop
224 @cased
225         %int =w vaarg %vp
226         call $printf(l %fmtint, w %int, ...)
227         jmp @loop
228 @end
229         call $puts(l %emptys)
230         ret
233 export function $qbecall5(w %argw0, w %argw1, w %argw2, w %argw3, w %argw4, d %argd0, d %argd1, d %argd2, d %argd3, d %argd4, d %argd5, d %argd6, l %fmt, ...) {
234 @start
235         %vp =l alloc8 32
236         vastart %vp
237         call $vprintf(l %fmt, l %vp)
238         ret
241 export function $qbeprint6(w %argw0, w %argw1, w %argw2, w %argw3, w %argw4, w %argw5, w %argw6, w %argw7, w %argw8, w %argw9, d %argd0, d %argd1, d %argd2, d %argd3, d %argd4, d %argd5, d %argd6, d %argd7, d %argd8, d %argd9, l %fmt, ...) {
242 @start
243         %fmtdbl =l alloc4 4
244         %fmtint =l alloc4 4
245         %emptys =l alloc4 4
246         storew 2122789, %fmtint
247         storew 2123557, %fmtdbl
248         storew 0, %emptys
249         %vp =l alloc8 32
250         %fmt1 =l add 1, %fmt
251         vastart %vp
252 @loop
253         %p =l phi @start %fmt1, @casef %p1, @cased %p1
254         %c =w loadsb %p
255         %p1 =l add 3, %p
256         jnz %c, @loop1, @end
257 @loop1
258         %isg =w ceqw %c, 103
259         jnz %isg, @casef, @cased
260 @casef
261         %dbl =d vaarg %vp
262         call $printf(l %fmtdbl, d %dbl, ...)
263         jmp @loop
264 @cased
265         %int =w vaarg %vp
266         call $printf(l %fmtint, w %int, ...)
267         jmp @loop
268 @end
269         call $puts(l %emptys)
270         ret
273 export function $qbecall6(w %argw0, w %argw1, w %argw2, w %argw3, w %argw4, w %argw5, w %argw6, w %argw7, w %argw8, w %argw9, d %argd0, d %argd1, d %argd2, d %argd3, d %argd4, d %argd5, d %argd6, d %argd7, d %argd8, d %argd9, l %fmt, ...) {
274 @start
275         %vp =l alloc8 32
276         vastart %vp
277         call $vprintf(l %fmt, l %vp)
278         ret
281 # >>> driver
282 # #include <stdio.h>
283 # extern void qbeprint0(char *, ...);
284 # extern void qbecall0(char *, ...);
285 # extern void qbeprint1(int argw0, char *, ...);
286 # extern void qbecall1(int argw0, char *, ...);
287 # extern void qbeprint2(double argd0, char *, ...);
288 # extern void qbecall2(double argd0, char *, ...);
289 # extern void qbeprint3(int argw0, int argw1, int argw2, int argw3, char *, ...);
290 # extern void qbecall3(int argw0, int argw1, int argw2, int argw3, char *, ...);
291 # extern void qbeprint4(double argd0, double argd1, double argd2, double argd3, double argd4, double argd5, char *, ...);
292 # extern void qbecall4(double argd0, double argd1, double argd2, double argd3, double argd4, double argd5, char *, ...);
293 # extern void qbeprint5(int argw0, int argw1, int argw2, int argw3, int argw4, double argd0, double argd1, double argd2, double argd3, double argd4, double argd5, double argd6, char *, ...);
294 # extern void qbecall5(int argw0, int argw1, int argw2, int argw3, int argw4, double argd0, double argd1, double argd2, double argd3, double argd4, double argd5, double argd6, char *, ...);
295 # extern void qbeprint6(int argw0, int argw1, int argw2, int argw3, int argw4, int argw5, int argw6, int argw7, int argw8, int argw9, double argd0, double argd1, double argd2, double argd3, double argd4, double argd5, double argd6, double argd7, double argd8, double argd9, char *, ...);
296 # extern void qbecall6(int argw0, int argw1, int argw2, int argw3, int argw4, int argw5, int argw6, int argw7, int argw8, int argw9, double argd0, double argd1, double argd2, double argd3, double argd4, double argd5, double argd6, double argd7, double argd8, double argd9, char *, ...);
297 # int main() {
298 #       puts("# (0 int, 0 double)");
299 #       qbeprint0("%d \n", 3);
300 #       qbecall0("%d \n", 3);
301 #       qbeprint0("%g \n", -9.5);
302 #       qbecall0("%g \n", -9.5);
303 #       qbeprint0("%d %g \n", -5, -5.536);
304 #       qbecall0("%d %g \n", -5, -5.536);
305 #       qbeprint0("%g %g \n", 4.729, 3.534);
306 #       qbecall0("%g %g \n", 4.729, 3.534);
307 #       qbeprint0("%d %d %d %d \n", 8, -9, -2, -10);
308 #       qbecall0("%d %d %d %d \n", 8, -9, -2, -10);
309 #       qbeprint0("%g %g %g %g \n", -5.627, 0.1071, -9.469, -6.023);
310 #       qbecall0("%g %g %g %g \n", -5.627, 0.1071, -9.469, -6.023);
311 #       qbeprint0("%d %g %d %g \n", 3, 0.8988, -6, 1.785);
312 #       qbecall0("%d %g %d %g \n", 3, 0.8988, -6, 1.785);
313 #       qbeprint0("%g %g %d %d \n", 6.189, -9.87, 6, 4);
314 #       qbecall0("%g %g %d %d \n", 6.189, -9.87, 6, 4);
315 #       qbeprint0("%d %d %g %g \n", -3, -7, 9.144, -3.268);
316 #       qbecall0("%d %d %g %g \n", -3, -7, 9.144, -3.268);
317 #       qbeprint0("\n");
318 #       qbecall0("\n");
319 #       puts("# (1 int, 0 double)");
320 #       qbeprint1(0, "%d \n", -9);
321 #       qbecall1(0, "%d \n", -9);
322 #       qbeprint1(0, "%g \n", -8.066);
323 #       qbecall1(0, "%g \n", -8.066);
324 #       qbeprint1(0, "%d %g \n", 7, 2.075);
325 #       qbecall1(0, "%d %g \n", 7, 2.075);
326 #       qbeprint1(0, "%g %g \n", 6.143, 4.595);
327 #       qbecall1(0, "%g %g \n", 6.143, 4.595);
328 #       qbeprint1(0, "%d %d %d %d \n", 1, 10, -3, 1);
329 #       qbecall1(0, "%d %d %d %d \n", 1, 10, -3, 1);
330 #       qbeprint1(0, "%g %g %g %g \n", 6.588, 2.37, 7.234, 1.547);
331 #       qbecall1(0, "%g %g %g %g \n", 6.588, 2.37, 7.234, 1.547);
332 #       qbeprint1(0, "%d %g %d %g \n", 4, -9.084, -6, -4.212);
333 #       qbecall1(0, "%d %g %d %g \n", 4, -9.084, -6, -4.212);
334 #       qbeprint1(0, "%g %g %d %d \n", -8.404, -5.344, -8, -5);
335 #       qbecall1(0, "%g %g %d %d \n", -8.404, -5.344, -8, -5);
336 #       qbeprint1(0, "%d %d %g %g \n", 3, -3, -2.596, -5.81);
337 #       qbecall1(0, "%d %d %g %g \n", 3, -3, -2.596, -5.81);
338 #       qbeprint1(0, "\n");
339 #       qbecall1(0, "\n");
340 #       puts("# (0 int, 1 double)");
341 #       qbeprint2(0, "%d \n", -5);
342 #       qbecall2(0, "%d \n", -5);
343 #       qbeprint2(0, "%g \n", 8.733);
344 #       qbecall2(0, "%g \n", 8.733);
345 #       qbeprint2(0, "%d %g \n", 3, 2.183);
346 #       qbecall2(0, "%d %g \n", 3, 2.183);
347 #       qbeprint2(0, "%g %g \n", -6.577, 4.583);
348 #       qbecall2(0, "%g %g \n", -6.577, 4.583);
349 #       qbeprint2(0, "%d %d %d %d \n", -7, -3, 10, 3);
350 #       qbecall2(0, "%d %d %d %d \n", -7, -3, 10, 3);
351 #       qbeprint2(0, "%g %g %g %g \n", 1.139, 3.692, 6.857, 5.52);
352 #       qbecall2(0, "%g %g %g %g \n", 1.139, 3.692, 6.857, 5.52);
353 #       qbeprint2(0, "%d %g %d %g \n", -6, -9.358, -4, -4.645);
354 #       qbecall2(0, "%d %g %d %g \n", -6, -9.358, -4, -4.645);
355 #       qbeprint2(0, "%g %g %d %d \n", -5.78, 8.858, 8, -4);
356 #       qbecall2(0, "%g %g %d %d \n", -5.78, 8.858, 8, -4);
357 #       qbeprint2(0, "%d %d %g %g \n", 3, -2, 8.291, -0.823);
358 #       qbecall2(0, "%d %d %g %g \n", 3, -2, 8.291, -0.823);
359 #       qbeprint2(0, "\n");
360 #       qbecall2(0, "\n");
361 #       puts("# (4 int, 0 double)");
362 #       qbeprint3(0, 0, 0, 0, "%d \n", -5);
363 #       qbecall3(0, 0, 0, 0, "%d \n", -5);
364 #       qbeprint3(0, 0, 0, 0, "%g \n", -5.067);
365 #       qbecall3(0, 0, 0, 0, "%g \n", -5.067);
366 #       qbeprint3(0, 0, 0, 0, "%d %g \n", 1, -4.745);
367 #       qbecall3(0, 0, 0, 0, "%d %g \n", 1, -4.745);
368 #       qbeprint3(0, 0, 0, 0, "%g %g \n", 1.692, 7.956);
369 #       qbecall3(0, 0, 0, 0, "%g %g \n", 1.692, 7.956);
370 #       qbeprint3(0, 0, 0, 0, "%d %d %d %d \n", -2, -6, 10, 0);
371 #       qbecall3(0, 0, 0, 0, "%d %d %d %d \n", -2, -6, 10, 0);
372 #       qbeprint3(0, 0, 0, 0, "%g %g %g %g \n", -8.182, -9.058, -7.807, 2.549);
373 #       qbecall3(0, 0, 0, 0, "%g %g %g %g \n", -8.182, -9.058, -7.807, 2.549);
374 #       qbeprint3(0, 0, 0, 0, "%d %g %d %g \n", 6, -1.557, -9, -2.368);
375 #       qbecall3(0, 0, 0, 0, "%d %g %d %g \n", 6, -1.557, -9, -2.368);
376 #       qbeprint3(0, 0, 0, 0, "%g %g %d %d \n", 9.922, 0.5823, 10, 8);
377 #       qbecall3(0, 0, 0, 0, "%g %g %d %d \n", 9.922, 0.5823, 10, 8);
378 #       qbeprint3(0, 0, 0, 0, "%d %d %g %g \n", -10, 5, 3.634, 0.7394);
379 #       qbecall3(0, 0, 0, 0, "%d %d %g %g \n", -10, 5, 3.634, 0.7394);
380 #       qbeprint3(0, 0, 0, 0, "\n");
381 #       qbecall3(0, 0, 0, 0, "\n");
382 #       puts("# (0 int, 6 double)");
383 #       qbeprint4(0, 0, 0, 0, 0, 0, "%d \n", -5);
384 #       qbecall4(0, 0, 0, 0, 0, 0, "%d \n", -5);
385 #       qbeprint4(0, 0, 0, 0, 0, 0, "%g \n", 2.819);
386 #       qbecall4(0, 0, 0, 0, 0, 0, "%g \n", 2.819);
387 #       qbeprint4(0, 0, 0, 0, 0, 0, "%d %g \n", -8, -1.305);
388 #       qbecall4(0, 0, 0, 0, 0, 0, "%d %g \n", -8, -1.305);
389 #       qbeprint4(0, 0, 0, 0, 0, 0, "%g %g \n", -0.9255, 9.076);
390 #       qbecall4(0, 0, 0, 0, 0, 0, "%g %g \n", -0.9255, 9.076);
391 #       qbeprint4(0, 0, 0, 0, 0, 0, "%d %d %d %d \n", 8, -5, 0, -7);
392 #       qbecall4(0, 0, 0, 0, 0, 0, "%d %d %d %d \n", 8, -5, 0, -7);
393 #       qbeprint4(0, 0, 0, 0, 0, 0, "%g %g %g %g \n", 8.253, 7.41, -4.031, 2.779);
394 #       qbecall4(0, 0, 0, 0, 0, 0, "%g %g %g %g \n", 8.253, 7.41, -4.031, 2.779);
395 #       qbeprint4(0, 0, 0, 0, 0, 0, "%d %g %d %g \n", 2, -6.943, 6, 0.7876);
396 #       qbecall4(0, 0, 0, 0, 0, 0, "%d %g %d %g \n", 2, -6.943, 6, 0.7876);
397 #       qbeprint4(0, 0, 0, 0, 0, 0, "%g %g %d %d \n", 5.573, 0.6071, -10, -4);
398 #       qbecall4(0, 0, 0, 0, 0, 0, "%g %g %d %d \n", 5.573, 0.6071, -10, -4);
399 #       qbeprint4(0, 0, 0, 0, 0, 0, "%d %d %g %g \n", -10, 9, 7.574, 6.633);
400 #       qbecall4(0, 0, 0, 0, 0, 0, "%d %d %g %g \n", -10, 9, 7.574, 6.633);
401 #       qbeprint4(0, 0, 0, 0, 0, 0, "\n");
402 #       qbecall4(0, 0, 0, 0, 0, 0, "\n");
403 #       puts("# (5 int, 7 double)");
404 #       qbeprint5(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "%d \n", -4);
405 #       qbecall5(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "%d \n", -4);
406 #       qbeprint5(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "%g \n", -8.841);
407 #       qbecall5(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "%g \n", -8.841);
408 #       qbeprint5(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "%d %g \n", 8, 8.939);
409 #       qbecall5(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "%d %g \n", 8, 8.939);
410 #       qbeprint5(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "%g %g \n", -8.287, -0.2802);
411 #       qbecall5(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "%g %g \n", -8.287, -0.2802);
412 #       qbeprint5(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "%d %d %d %d \n", -9, 5, 6, -8);
413 #       qbecall5(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "%d %d %d %d \n", -9, 5, 6, -8);
414 #       qbeprint5(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "%g %g %g %g \n", -0.4944, 0.9961, -4.699, 7.449);
415 #       qbecall5(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "%g %g %g %g \n", -0.4944, 0.9961, -4.699, 7.449);
416 #       qbeprint5(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "%d %g %d %g \n", -2, -5.764, 1, 4.599);
417 #       qbecall5(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "%d %g %d %g \n", -2, -5.764, 1, 4.599);
418 #       qbeprint5(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "%g %g %d %d \n", -5.977, -3.766, 10, 3);
419 #       qbecall5(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "%g %g %d %d \n", -5.977, -3.766, 10, 3);
420 #       qbeprint5(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "%d %d %g %g \n", -1, 0, -7.58, -5.506);
421 #       qbecall5(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "%d %d %g %g \n", -1, 0, -7.58, -5.506);
422 #       qbeprint5(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "\n");
423 #       qbecall5(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "\n");
424 #       puts("# (10 int, 10 double)");
425 #       qbeprint6(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "%d \n", -3);
426 #       qbecall6(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "%d \n", -3);
427 #       qbeprint6(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "%g \n", 1.766);
428 #       qbecall6(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "%g \n", 1.766);
429 #       qbeprint6(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "%d %g \n", -6, -5.596);
430 #       qbecall6(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "%d %g \n", -6, -5.596);
431 #       qbeprint6(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "%g %g \n", -8.58, 2.622);
432 #       qbecall6(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "%g %g \n", -8.58, 2.622);
433 #       qbeprint6(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "%d %d %d %d \n", -6, 9, 8, -9);
434 #       qbecall6(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "%d %d %d %d \n", -6, 9, 8, -9);
435 #       qbeprint6(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "%g %g %g %g \n", -5.24, 3.38, -5.715, -7.354);
436 #       qbecall6(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "%g %g %g %g \n", -5.24, 3.38, -5.715, -7.354);
437 #       qbeprint6(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "%d %g %d %g \n", 9, 1.421, -1, 5.692);
438 #       qbecall6(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "%d %g %d %g \n", 9, 1.421, -1, 5.692);
439 #       qbeprint6(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "%g %g %d %d \n", 6.15, -6.192, -8, -1);
440 #       qbecall6(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "%g %g %d %d \n", 6.15, -6.192, -8, -1);
441 #       qbeprint6(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "%d %d %g %g \n", -2, -1, 4.582, 3.467);
442 #       qbecall6(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "%d %d %g %g \n", -2, -1, 4.582, 3.467);
443 #       qbeprint6(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "\n");
444 #       qbecall6(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "\n");
445 # }
446 # <<<
448 # >>> output
449 # # (0 int, 0 double)
450 # 3 
451 # 3 
452 # -9.5 
453 # -9.5 
454 # -5 -5.536 
455 # -5 -5.536 
456 # 4.729 3.534 
457 # 4.729 3.534 
458 # 8 -9 -2 -10 
459 # 8 -9 -2 -10 
460 # -5.627 0.1071 -9.469 -6.023 
461 # -5.627 0.1071 -9.469 -6.023 
462 # 3 0.8988 -6 1.785 
463 # 3 0.8988 -6 1.785 
464 # 6.189 -9.87 6 4 
465 # 6.189 -9.87 6 4 
466 # -3 -7 9.144 -3.268 
467 # -3 -7 9.144 -3.268 
470 # # (1 int, 0 double)
471 # -9 
472 # -9 
473 # -8.066 
474 # -8.066 
475 # 7 2.075 
476 # 7 2.075 
477 # 6.143 4.595 
478 # 6.143 4.595 
479 # 1 10 -3 1 
480 # 1 10 -3 1 
481 # 6.588 2.37 7.234 1.547 
482 # 6.588 2.37 7.234 1.547 
483 # 4 -9.084 -6 -4.212 
484 # 4 -9.084 -6 -4.212 
485 # -8.404 -5.344 -8 -5 
486 # -8.404 -5.344 -8 -5 
487 # 3 -3 -2.596 -5.81 
488 # 3 -3 -2.596 -5.81 
491 # # (0 int, 1 double)
492 # -5 
493 # -5 
494 # 8.733 
495 # 8.733 
496 # 3 2.183 
497 # 3 2.183 
498 # -6.577 4.583 
499 # -6.577 4.583 
500 # -7 -3 10 3 
501 # -7 -3 10 3 
502 # 1.139 3.692 6.857 5.52 
503 # 1.139 3.692 6.857 5.52 
504 # -6 -9.358 -4 -4.645 
505 # -6 -9.358 -4 -4.645 
506 # -5.78 8.858 8 -4 
507 # -5.78 8.858 8 -4 
508 # 3 -2 8.291 -0.823 
509 # 3 -2 8.291 -0.823 
512 # # (4 int, 0 double)
513 # -5 
514 # -5 
515 # -5.067 
516 # -5.067 
517 # 1 -4.745 
518 # 1 -4.745 
519 # 1.692 7.956 
520 # 1.692 7.956 
521 # -2 -6 10 0 
522 # -2 -6 10 0 
523 # -8.182 -9.058 -7.807 2.549 
524 # -8.182 -9.058 -7.807 2.549 
525 # 6 -1.557 -9 -2.368 
526 # 6 -1.557 -9 -2.368 
527 # 9.922 0.5823 10 8 
528 # 9.922 0.5823 10 8 
529 # -10 5 3.634 0.7394 
530 # -10 5 3.634 0.7394 
533 # # (0 int, 6 double)
534 # -5 
535 # -5 
536 # 2.819 
537 # 2.819 
538 # -8 -1.305 
539 # -8 -1.305 
540 # -0.9255 9.076 
541 # -0.9255 9.076 
542 # 8 -5 0 -7 
543 # 8 -5 0 -7 
544 # 8.253 7.41 -4.031 2.779 
545 # 8.253 7.41 -4.031 2.779 
546 # 2 -6.943 6 0.7876 
547 # 2 -6.943 6 0.7876 
548 # 5.573 0.6071 -10 -4 
549 # 5.573 0.6071 -10 -4 
550 # -10 9 7.574 6.633 
551 # -10 9 7.574 6.633 
554 # # (5 int, 7 double)
555 # -4 
556 # -4 
557 # -8.841 
558 # -8.841 
559 # 8 8.939 
560 # 8 8.939 
561 # -8.287 -0.2802 
562 # -8.287 -0.2802 
563 # -9 5 6 -8 
564 # -9 5 6 -8 
565 # -0.4944 0.9961 -4.699 7.449 
566 # -0.4944 0.9961 -4.699 7.449 
567 # -2 -5.764 1 4.599 
568 # -2 -5.764 1 4.599 
569 # -5.977 -3.766 10 3 
570 # -5.977 -3.766 10 3 
571 # -1 0 -7.58 -5.506 
572 # -1 0 -7.58 -5.506 
575 # # (10 int, 10 double)
576 # -3 
577 # -3 
578 # 1.766 
579 # 1.766 
580 # -6 -5.596 
581 # -6 -5.596 
582 # -8.58 2.622 
583 # -8.58 2.622 
584 # -6 9 8 -9 
585 # -6 9 8 -9 
586 # -5.24 3.38 -5.715 -7.354 
587 # -5.24 3.38 -5.715 -7.354 
588 # 9 1.421 -1 5.692 
589 # 9 1.421 -1 5.692 
590 # 6.15 -6.192 -8 -1 
591 # 6.15 -6.192 -8 -1 
592 # -2 -1 4.582 3.467 
593 # -2 -1 4.582 3.467 
596 # <<<