1
2(SDEFUN |FC;get_assignment|
3        ((|name| |OutputForm|) (|e| |OutputForm|) (|int_to_floats?| |Boolean|)
4         ($ |List| (|String|)))
5        (SPADCALL
6         (SPADCALL (SPADCALL '= (QREFELT $ 8)) (LIST |name| |e|)
7                   (QREFELT $ 10))
8         |int_to_floats?| (QREFELT $ 14)))
9
10(SDEFUN |FC;format_switch|
11        ((|switch1| |OutputForm|) (|l| |List| (|String|))
12         ($ |List| (|List| (|String|))))
13        (SPROG ((|r| (|List| (|String|))) (|l1| (|List| (|OutputForm|))))
14               (SEQ
15                (COND
16                 ((LISTP |switch1|)
17                  (SEQ (LETT |l1| |switch1|)
18                       (EXIT
19                        (COND
20                         ((EQ (|SPADfirst| |l1|) 'NULL)
21                          (LETT |switch1| (|SPADfirst| (CDR |l1|)))))))))
22                (LETT |r| (NREVERSE (SPADCALL |switch1| (QREFELT $ 15))))
23                (SEQ G190
24                     (COND
25                      ((NULL
26                        (COND ((NULL |r|) NIL)
27                              ('T (NULL (EQUAL (|SPADfirst| |r|) "%l")))))
28                       (GO G191)))
29                     (SEQ (LETT |l| (CONS (|SPADfirst| |r|) |l|))
30                          (EXIT (LETT |r| (CDR |r|))))
31                     NIL (GO G190) G191 (EXIT NIL))
32                (EXIT (LIST |l| |r|)))))
33
34(SDEFUN |FC;fortFormatIf1|
35        ((|switch1| |OutputForm|) (|i| |Integer|) (|kind| |String|)
36         ($ |List| (|String|)))
37        (SPROG
38         ((|r| NIL) (|#G11| #1=(|List| (|List| (|String|))))
39          (|l| (|List| (|String|))) (|#G10| #1#))
40         (SEQ (LETT |l| (LIST ")THEN")) (SPADCALL (- |i|) (QREFELT $ 18))
41              (PROGN
42               (LETT |#G10| (|FC;format_switch| |switch1| |l| $))
43               (LETT |#G11| |#G10|)
44               (LETT |l| (|SPADfirst| |#G11|))
45               (LETT |#G11| (CDR |#G11|))
46               (LETT |r| (|SPADfirst| |#G11|))
47               |#G10|)
48              (SPADCALL |i| (QREFELT $ 18))
49              (EXIT
50               (NREVERSE
51                (SPADCALL (NREVERSE |l|) (CONS |kind| |r|) (QREFELT $ 19)))))))
52
53(SDEFUN |FC;fortFormatIf| ((|switch1| |OutputForm|) ($ |List| (|String|)))
54        (SPROG NIL
55               (SPADCALL (CONS #'|FC;fortFormatIf!0| (VECTOR $ |switch1|))
56                         (QREFELT $ 21))))
57
58(SDEFUN |FC;fortFormatIf!0| (($$ NIL))
59        (PROG (|switch1| $)
60          (LETT |switch1| (QREFELT $$ 1))
61          (LETT $ (QREFELT $$ 0))
62          (RETURN (PROGN (|FC;fortFormatIf1| |switch1| 8 "IF(" $)))))
63
64(SDEFUN |FC;fortFormatElseIf| ((|switch1| |OutputForm|) ($ |List| (|String|)))
65        (SPROG NIL
66               (SPADCALL (CONS #'|FC;fortFormatElseIf!0| (VECTOR $ |switch1|))
67                         (QREFELT $ 21))))
68
69(SDEFUN |FC;fortFormatElseIf!0| (($$ NIL))
70        (PROG (|switch1| $)
71          (LETT |switch1| (QREFELT $$ 1))
72          (LETT $ (QREFELT $$ 0))
73          (RETURN (PROGN (|FC;fortFormatIf1| |switch1| 12 "ELSEIF(" $)))))
74
75(SDEFUN |FC;fortFormatIfGoto1|
76        ((|switch1| |OutputForm|) (|lab| |SingleInteger|)
77         ($ |List| (|String|)))
78        (SPROG
79         ((|r| NIL) (|#G19| #1=(|List| (|List| (|String|))))
80          (|l| (|List| (|String|))) (|#G18| #1#))
81         (SEQ (LETT |l| (LIST ")GOTO " (STRINGIMAGE |lab|)))
82              (SPADCALL -8 (QREFELT $ 18))
83              (PROGN
84               (LETT |#G18| (|FC;format_switch| |switch1| |l| $))
85               (LETT |#G19| |#G18|)
86               (LETT |l| (|SPADfirst| |#G19|))
87               (LETT |#G19| (CDR |#G19|))
88               (LETT |r| (|SPADfirst| |#G19|))
89               |#G18|)
90              (SPADCALL 8 (QREFELT $ 18))
91              (EXIT
92               (NREVERSE
93                (SPADCALL (NREVERSE |l|) (CONS "IF(" |r|) (QREFELT $ 19)))))))
94
95(SDEFUN |FC;fortFormatIfGoto|
96        ((|switch1| |OutputForm|) (|lab| |SingleInteger|)
97         ($ |List| (|String|)))
98        (SPROG NIL
99               (SPADCALL
100                (CONS #'|FC;fortFormatIfGoto!0| (VECTOR $ |lab| |switch1|))
101                (QREFELT $ 21))))
102
103(SDEFUN |FC;fortFormatIfGoto!0| (($$ NIL))
104        (PROG (|switch1| |lab| $)
105          (LETT |switch1| (QREFELT $$ 2))
106          (LETT |lab| (QREFELT $$ 1))
107          (LETT $ (QREFELT $$ 0))
108          (RETURN (PROGN (|FC;fortFormatIfGoto1| |switch1| |lab| $)))))
109
110(SDEFUN |FC;fortFormatLabelledIfGoto1|
111        ((|switch1| |OutputForm|) (|lab1| |SingleInteger|)
112         (|lab2| |SingleInteger|) ($ |List| (|String|)))
113        (SPROG ((|l| (|List| (|String|))) (|labString| (|String|)) (|i| NIL))
114               (SEQ (LETT |l| (|FC;fortFormatIfGoto1| |switch1| |lab2| $))
115                    (LETT |labString| (STRINGIMAGE |lab1|))
116                    (SEQ (LETT |i| (QCSIZE |labString|)) G190
117                         (COND ((> |i| 5) (GO G191)))
118                         (SEQ
119                          (EXIT (LETT |labString| (STRCONC |labString| " "))))
120                         (LETT |i| (+ |i| 1)) (GO G190) G191 (EXIT NIL))
121                    (LETT |l| (SPADCALL |l| (QREFELT $ 22)))
122                    (EXIT
123                     (CONS
124                      (STRCONC |labString|
125                               (SPADCALL (|SPADfirst| |l|)
126                                         (SPADCALL 7 (QREFELT $ 24))
127                                         (QREFELT $ 26)))
128                      (CDR |l|))))))
129
130(SDEFUN |FC;fortFormatLabelledIfGoto|
131        ((|switch1| |OutputForm|) (|lab1| |SingleInteger|)
132         (|lab2| |SingleInteger|) ($ |List| (|String|)))
133        (|FC;fortFormatLabelledIfGoto1| |switch1| |lab1| |lab2| $))
134
135(SDEFUN |FC;getfortarrayexp1|
136        ((|name| |Symbol|) (|of| |OutputForm|) (|int_to_floats?| |Boolean|)
137         ($ |List| (|String|)))
138        (SPROG ((#1=#:G441 NIL) (|l| (|List| (|String|))))
139               (SEQ
140                (LETT |l|
141                      (SPADCALL (CONS #'|FC;getfortarrayexp1!0| |name|) |of|
142                                |int_to_floats?| (QREFELT $ 28)))
143                (EXIT
144                 (SPADCALL |l|
145                           (PROG1 (LETT #1# (- (LENGTH |l|) 2))
146                             (|check_subtype2| (>= #1# 0)
147                                               '(|NonNegativeInteger|)
148                                               '(|Integer|) #1#))
149                           (QREFELT $ 30))))))
150
151(SDEFUN |FC;getfortarrayexp1!0| ((|name| NIL)) |name|)
152
153(SDEFUN |FC;getfortarrayexp|
154        ((|name| |Symbol|) (|of| |OutputForm|) (|int_to_floats?| |Boolean|)
155         ($ |List| (|String|)))
156        (SPROG NIL
157               (SPADCALL |int_to_floats?|
158                         (CONS #'|FC;getfortarrayexp!0|
159                               (VECTOR $ |int_to_floats?| |of| |name|))
160                         (QREFELT $ 31))))
161
162(SDEFUN |FC;getfortarrayexp!0| (($$ NIL))
163        (PROG (|name| |of| |int_to_floats?| $)
164          (LETT |name| (QREFELT $$ 3))
165          (LETT |of| (QREFELT $$ 2))
166          (LETT |int_to_floats?| (QREFELT $$ 1))
167          (LETT $ (QREFELT $$ 0))
168          (RETURN
169           (PROGN (|FC;getfortarrayexp1| |name| |of| |int_to_floats?| $)))))
170
171(SDEFUN |FC;fortFormatDo1|
172        ((|var1| |Symbol|) (|lo| |OutputForm|) (|hi| |OutputForm|)
173         (|incr| |OutputForm|) (|lab| |SingleInteger|) ($ |List| (|String|)))
174        (SPROG
175         ((|il| (|List| (|String|))) (|incl| (|List| (|String|)))
176          (|hil| #1=(|List| (|String|))) (|lol| #1#))
177         (SEQ (LETT |lol| (SPADCALL |lo| (QREFELT $ 15)))
178              (LETT |hil| (SPADCALL |hi| (QREFELT $ 15)))
179              (LETT |incl|
180                    (COND
181                     ((EQUAL |incr| 1)
182                      (CONS "," (SPADCALL |incr| (QREFELT $ 15))))
183                     ('T NIL)))
184              (LETT |il|
185                    (SPADCALL |lol|
186                              (CONS "," (SPADCALL |hil| |incl| (QREFELT $ 19)))
187                              (QREFELT $ 19)))
188              (EXIT
189               (SPADCALL
190                (LIST "DO " (STRINGIMAGE |lab|) " "
191                      (SPADCALL |var1| (QREFELT $ 32)) "=")
192                |il| (QREFELT $ 19))))))
193
194(SDEFUN |FC;fortFormatDo|
195        ((|var1| |Symbol|) (|lo| |OutputForm|) (|hi| |OutputForm|)
196         (|inc| |OutputForm|) (|lab| |SingleInteger|) ($ |List| (|String|)))
197        (SPROG NIL
198               (SPADCALL NIL
199                         (CONS #'|FC;fortFormatDo!0|
200                               (VECTOR $ |lab| |inc| |hi| |lo| |var1|))
201                         (QREFELT $ 31))))
202
203(SDEFUN |FC;fortFormatDo!0| (($$ NIL))
204        (PROG (|var1| |lo| |hi| |inc| |lab| $)
205          (LETT |var1| (QREFELT $$ 5))
206          (LETT |lo| (QREFELT $$ 4))
207          (LETT |hi| (QREFELT $$ 3))
208          (LETT |inc| (QREFELT $$ 2))
209          (LETT |lab| (QREFELT $$ 1))
210          (LETT $ (QREFELT $$ 0))
211          (RETURN (PROGN (|FC;fortFormatDo1| |var1| |lo| |hi| |inc| |lab| $)))))
212
213(SDEFUN |FC;addCommas| ((|l| |List| (|Symbol|)) ($ |List| (|String|)))
214        (SPROG ((|r| (|List| (|String|))) (#1=#:G456 NIL) (|e| NIL))
215               (SEQ
216                (COND ((NULL |l|) NIL)
217                      ('T
218                       (SEQ
219                        (LETT |r|
220                              (LIST
221                               (SPADCALL (|SPADfirst| |l|) (QREFELT $ 32))))
222                        (SEQ (LETT |e| NIL) (LETT #1# (CDR |l|)) G190
223                             (COND
224                              ((OR (ATOM #1#) (PROGN (LETT |e| (CAR #1#)) NIL))
225                               (GO G191)))
226                             (SEQ
227                              (EXIT
228                               (LETT |r|
229                                     (CONS (SPADCALL |e| (QREFELT $ 32))
230                                           (CONS "," |r|)))))
231                             (LETT #1# (CDR #1#)) (GO G190) G191 (EXIT NIL))
232                        (EXIT (NREVERSE |r|))))))))
233
234(SDEFUN |FC;setLabelValue;2Si;15| ((|u| |SingleInteger|) ($ |SingleInteger|))
235        (SETELT $ 34 |u|))
236
237(SDEFUN |FC;newLabel| (($ |SingleInteger|))
238        (SEQ (SETELT $ 34 (|add_SI| (QREFELT $ 34) 1)) (EXIT (QREFELT $ 34))))
239
240(SDEFUN |FC;commaSep| ((|l| |List| (|String|)) ($ |List| (|String|)))
241        (SPROG
242         ((#1=#:G463 NIL) (#2=#:G462 #3=(|List| (|String|))) (#4=#:G464 #3#)
243          (#5=#:G466 NIL) (|u| NIL))
244         (SEQ
245          (CONS (SPADCALL |l| 1 (QREFELT $ 39))
246                (PROGN
247                 (LETT #1# NIL)
248                 (SEQ (LETT |u| NIL) (LETT #5# (CDR |l|)) G190
249                      (COND
250                       ((OR (ATOM #5#) (PROGN (LETT |u| (CAR #5#)) NIL))
251                        (GO G191)))
252                      (SEQ
253                       (EXIT
254                        (PROGN
255                         (LETT #4# (LIST "," |u|))
256                         (COND
257                          (#1# (LETT #2# (SPADCALL #2# #4# (QREFELT $ 19))))
258                          ('T (PROGN (LETT #2# #4#) (LETT #1# 'T)))))))
259                      (LETT #5# (CDR #5#)) (GO G190) G191 (EXIT NIL))
260                 (COND (#1# #2#) ('T NIL)))))))
261
262(SDEFUN |FC;getReturn|
263        ((|rec| |Record| (|:| |empty?| (|Boolean|))
264          (|:| |value|
265               (|Record| (|:| |ints2Floats?| (|Boolean|))
266                         (|:| |expr| (|OutputForm|)))))
267         ($ |List| (|String|)))
268        (SPROG
269         ((|rv| (|OutputForm|))
270          (|rt|
271           (|Record| (|:| |ints2Floats?| (|Boolean|))
272                     (|:| |expr| (|OutputForm|))))
273          (|returnToken| (|OutputForm|)))
274         (SEQ (LETT |returnToken| (SPADCALL 'RETURN (QREFELT $ 8)))
275              (EXIT
276               (COND ((QCAR |rec|) (SPADCALL |returnToken| NIL (QREFELT $ 14)))
277                     ('T
278                      (SEQ (LETT |rt| (QCDR |rec|)) (LETT |rv| (QCDR |rt|))
279                           (EXIT
280                            (SPADCALL
281                             (SPADCALL |returnToken| (LIST |rv|)
282                                       (QREFELT $ 10))
283                             (QCAR |rt|) (QREFELT $ 14))))))))))
284
285(SDEFUN |FC;getStop| (($ |List| (|String|)))
286        (SPADCALL (LIST "STOP") (QREFELT $ 22)))
287
288(SDEFUN |FC;getSave| (($ |List| (|String|)))
289        (SPADCALL (LIST "SAVE") (QREFELT $ 22)))
290
291(SDEFUN |FC;getCommon|
292        ((|u| |Record| (|:| |name| (|Symbol|))
293          (|:| |contents| (|List| (|Symbol|))))
294         ($ |List| (|String|)))
295        (SPADCALL
296         (SPADCALL
297          (LIST "COMMON" " /" (SPADCALL (QCAR |u|) (QREFELT $ 32)) "/ ")
298          (|FC;addCommas| (QCDR |u|) $) (QREFELT $ 19))
299         (QREFELT $ 22)))
300
301(SDEFUN |FC;getPrint| ((|l| |List| (|OutputForm|)) ($ |List| (|String|)))
302        (SPROG ((|ll| (|List| (|String|))) (#1=#:G478 NIL) (|i| NIL))
303               (SEQ (LETT |ll| (LIST "PRINT*"))
304                    (SEQ (LETT |i| NIL) (LETT #1# |l|) G190
305                         (COND
306                          ((OR (ATOM #1#) (PROGN (LETT |i| (CAR #1#)) NIL))
307                           (GO G191)))
308                         (SEQ
309                          (EXIT
310                           (LETT |ll|
311                                 (SPADCALL |ll|
312                                           (CONS ","
313                                                 (SPADCALL |i| (QREFELT $ 40)))
314                                           (QREFELT $ 19)))))
315                         (LETT #1# (CDR #1#)) (GO G190) G191 (EXIT NIL))
316                    (EXIT (SPADCALL |ll| (QREFELT $ 22))))))
317
318(SDEFUN |FC;getBlock| ((|rec| |List| $) ($ |List| (|String|)))
319        (SPROG ((|expr| (|List| (|String|))) (#1=#:G482 NIL) (|u| NIL))
320               (SEQ (SPADCALL 1 (QREFELT $ 41)) (LETT |expr| NIL)
321                    (SEQ (LETT |u| NIL) (LETT #1# |rec|) G190
322                         (COND
323                          ((OR (ATOM #1#) (PROGN (LETT |u| (CAR #1#)) NIL))
324                           (GO G191)))
325                         (SEQ
326                          (EXIT
327                           (LETT |expr|
328                                 (SPADCALL |expr| (SPADCALL |u| (QREFELT $ 42))
329                                           (QREFELT $ 19)))))
330                         (LETT #1# (CDR #1#)) (GO G190) G191 (EXIT NIL))
331                    (SPADCALL -1 (QREFELT $ 41)) (EXIT |expr|))))
332
333(SDEFUN |FC;getBody| ((|f| $) ($ |List| (|String|)))
334        (SPROG ((|expr| (|List| (|String|))))
335               (SEQ
336                (COND
337                 ((QEQCAR (SPADCALL |f| (QREFELT $ 44)) 4)
338                  (SPADCALL |f| (QREFELT $ 42)))
339                 ('T
340                  (SEQ (SPADCALL 1 (QREFELT $ 41))
341                       (LETT |expr| (SPADCALL |f| (QREFELT $ 42)))
342                       (SPADCALL -1 (QREFELT $ 41)) (EXIT |expr|)))))))
343
344(SDEFUN |FC;getElseIf| ((|f| $) ($ |List| (|String|)))
345        (SPROG
346         ((|expr| (|List| (|String|))) (|elseBranch| ($)) (#1=#:G510 NIL)
347          (|rec|
348           (|Union| (|:| |nullBranch| #2="null")
349                    (|:| |assignmentBranch|
350                         (|Record| (|:| |var| (|Symbol|))
351                                   (|:| |arrayIndex|
352                                        (|List| (|Polynomial| (|Integer|))))
353                                   (|:| |rand|
354                                        (|Record|
355                                         (|:| |ints2Floats?| (|Boolean|))
356                                         (|:| |expr| (|OutputForm|))))))
357                    (|:| |arrayAssignmentBranch|
358                         (|Record| (|:| |var| (|Symbol|))
359                                   (|:| |rand| (|OutputForm|))
360                                   (|:| |ints2Floats?| (|Boolean|))))
361                    (|:| |conditionalBranch|
362                         (|Record| (|:| |switch| (|Switch|))
363                                   (|:| |thenClause| $) (|:| |elseClause| $)))
364                    (|:| |returnBranch|
365                         (|Record| (|:| |empty?| (|Boolean|))
366                                   (|:| |value|
367                                        (|Record|
368                                         (|:| |ints2Floats?| (|Boolean|))
369                                         (|:| |expr| (|OutputForm|))))))
370                    (|:| |blockBranch| (|List| $))
371                    (|:| |commentBranch| (|List| (|String|)))
372                    (|:| |callBranch| (|String|))
373                    (|:| |forBranch|
374                         (|Record|
375                          (|:| |range|
376                               (|SegmentBinding| (|Polynomial| (|Integer|))))
377                          (|:| |span| (|Polynomial| (|Integer|)))
378                          (|:| |body| $)))
379                    (|:| |labelBranch| (|SingleInteger|))
380                    (|:| |loopBranch|
381                         (|Record| (|:| |switch| (|Switch|)) (|:| |body| $)))
382                    (|:| |commonBranch|
383                         (|Record| (|:| |name| (|Symbol|))
384                                   (|:| |contents| (|List| (|Symbol|)))))
385                    (|:| |printBranch| (|List| (|OutputForm|))))))
386         (SEQ (LETT |rec| (SPADCALL |f| (QREFELT $ 54)))
387              (LETT |expr|
388                    (|FC;fortFormatElseIf|
389                     (SPADCALL
390                      (QVELT
391                       (PROG2 (LETT #1# |rec|)
392                           (QCDR #1#)
393                         (|check_union2| (QEQCAR #1# 3)
394                                         (|Record| (|:| |switch| (|Switch|))
395                                                   (|:| |thenClause| $)
396                                                   (|:| |elseClause| $))
397                                         (|Union| (|:| |nullBranch| #2#)
398                                                  (|:| |assignmentBranch|
399                                                       (|Record|
400                                                        (|:| |var| (|Symbol|))
401                                                        (|:| |arrayIndex|
402                                                             (|List|
403                                                              (|Polynomial|
404                                                               (|Integer|))))
405                                                        (|:| |rand|
406                                                             (|Record|
407                                                              (|:|
408                                                               |ints2Floats?|
409                                                               (|Boolean|))
410                                                              (|:| |expr|
411                                                                   (|OutputForm|))))))
412                                                  (|:| |arrayAssignmentBranch|
413                                                       (|Record|
414                                                        (|:| |var| (|Symbol|))
415                                                        (|:| |rand|
416                                                             (|OutputForm|))
417                                                        (|:| |ints2Floats?|
418                                                             (|Boolean|))))
419                                                  (|:| |conditionalBranch|
420                                                       (|Record|
421                                                        (|:| |switch|
422                                                             (|Switch|))
423                                                        (|:| |thenClause| $)
424                                                        (|:| |elseClause| $)))
425                                                  (|:| |returnBranch|
426                                                       (|Record|
427                                                        (|:| |empty?|
428                                                             (|Boolean|))
429                                                        (|:| |value|
430                                                             (|Record|
431                                                              (|:|
432                                                               |ints2Floats?|
433                                                               (|Boolean|))
434                                                              (|:| |expr|
435                                                                   (|OutputForm|))))))
436                                                  (|:| |blockBranch|
437                                                       (|List| $))
438                                                  (|:| |commentBranch|
439                                                       (|List| (|String|)))
440                                                  (|:| |callBranch| (|String|))
441                                                  (|:| |forBranch|
442                                                       (|Record|
443                                                        (|:| |range|
444                                                             (|SegmentBinding|
445                                                              (|Polynomial|
446                                                               (|Integer|))))
447                                                        (|:| |span|
448                                                             (|Polynomial|
449                                                              (|Integer|)))
450                                                        (|:| |body| $)))
451                                                  (|:| |labelBranch|
452                                                       (|SingleInteger|))
453                                                  (|:| |loopBranch|
454                                                       (|Record|
455                                                        (|:| |switch|
456                                                             (|Switch|))
457                                                        (|:| |body| $)))
458                                                  (|:| |commonBranch|
459                                                       (|Record|
460                                                        (|:| |name| (|Symbol|))
461                                                        (|:| |contents|
462                                                             (|List|
463                                                              (|Symbol|)))))
464                                                  (|:| |printBranch|
465                                                       (|List|
466                                                        (|OutputForm|))))
467                                         #1#))
468                       0)
469                      (QREFELT $ 56))
470                     $))
471              (LETT |expr|
472                    (SPADCALL |expr|
473                              (|FC;getBody|
474                               (QVELT
475                                (PROG2 (LETT #1# |rec|)
476                                    (QCDR #1#)
477                                  (|check_union2| (QEQCAR #1# 3)
478                                                  (|Record|
479                                                   (|:| |switch| (|Switch|))
480                                                   (|:| |thenClause| $)
481                                                   (|:| |elseClause| $))
482                                                  (|Union|
483                                                   (|:| |nullBranch| #2#)
484                                                   (|:| |assignmentBranch|
485                                                        (|Record|
486                                                         (|:| |var| (|Symbol|))
487                                                         (|:| |arrayIndex|
488                                                              (|List|
489                                                               (|Polynomial|
490                                                                (|Integer|))))
491                                                         (|:| |rand|
492                                                              (|Record|
493                                                               (|:|
494                                                                |ints2Floats?|
495                                                                (|Boolean|))
496                                                               (|:| |expr|
497                                                                    (|OutputForm|))))))
498                                                   (|:| |arrayAssignmentBranch|
499                                                        (|Record|
500                                                         (|:| |var| (|Symbol|))
501                                                         (|:| |rand|
502                                                              (|OutputForm|))
503                                                         (|:| |ints2Floats?|
504                                                              (|Boolean|))))
505                                                   (|:| |conditionalBranch|
506                                                        (|Record|
507                                                         (|:| |switch|
508                                                              (|Switch|))
509                                                         (|:| |thenClause| $)
510                                                         (|:| |elseClause| $)))
511                                                   (|:| |returnBranch|
512                                                        (|Record|
513                                                         (|:| |empty?|
514                                                              (|Boolean|))
515                                                         (|:| |value|
516                                                              (|Record|
517                                                               (|:|
518                                                                |ints2Floats?|
519                                                                (|Boolean|))
520                                                               (|:| |expr|
521                                                                    (|OutputForm|))))))
522                                                   (|:| |blockBranch|
523                                                        (|List| $))
524                                                   (|:| |commentBranch|
525                                                        (|List| (|String|)))
526                                                   (|:| |callBranch|
527                                                        (|String|))
528                                                   (|:| |forBranch|
529                                                        (|Record|
530                                                         (|:| |range|
531                                                              (|SegmentBinding|
532                                                               (|Polynomial|
533                                                                (|Integer|))))
534                                                         (|:| |span|
535                                                              (|Polynomial|
536                                                               (|Integer|)))
537                                                         (|:| |body| $)))
538                                                   (|:| |labelBranch|
539                                                        (|SingleInteger|))
540                                                   (|:| |loopBranch|
541                                                        (|Record|
542                                                         (|:| |switch|
543                                                              (|Switch|))
544                                                         (|:| |body| $)))
545                                                   (|:| |commonBranch|
546                                                        (|Record|
547                                                         (|:| |name|
548                                                              (|Symbol|))
549                                                         (|:| |contents|
550                                                              (|List|
551                                                               (|Symbol|)))))
552                                                   (|:| |printBranch|
553                                                        (|List|
554                                                         (|OutputForm|))))
555                                                  #1#))
556                                1)
557                               $)
558                              (QREFELT $ 19)))
559              (LETT |elseBranch|
560                    (QVELT
561                     (PROG2 (LETT #1# |rec|)
562                         (QCDR #1#)
563                       (|check_union2| (QEQCAR #1# 3)
564                                       (|Record| (|:| |switch| (|Switch|))
565                                                 (|:| |thenClause| $)
566                                                 (|:| |elseClause| $))
567                                       (|Union| (|:| |nullBranch| #2#)
568                                                (|:| |assignmentBranch|
569                                                     (|Record|
570                                                      (|:| |var| (|Symbol|))
571                                                      (|:| |arrayIndex|
572                                                           (|List|
573                                                            (|Polynomial|
574                                                             (|Integer|))))
575                                                      (|:| |rand|
576                                                           (|Record|
577                                                            (|:| |ints2Floats?|
578                                                                 (|Boolean|))
579                                                            (|:| |expr|
580                                                                 (|OutputForm|))))))
581                                                (|:| |arrayAssignmentBranch|
582                                                     (|Record|
583                                                      (|:| |var| (|Symbol|))
584                                                      (|:| |rand|
585                                                           (|OutputForm|))
586                                                      (|:| |ints2Floats?|
587                                                           (|Boolean|))))
588                                                (|:| |conditionalBranch|
589                                                     (|Record|
590                                                      (|:| |switch| (|Switch|))
591                                                      (|:| |thenClause| $)
592                                                      (|:| |elseClause| $)))
593                                                (|:| |returnBranch|
594                                                     (|Record|
595                                                      (|:| |empty?|
596                                                           (|Boolean|))
597                                                      (|:| |value|
598                                                           (|Record|
599                                                            (|:| |ints2Floats?|
600                                                                 (|Boolean|))
601                                                            (|:| |expr|
602                                                                 (|OutputForm|))))))
603                                                (|:| |blockBranch| (|List| $))
604                                                (|:| |commentBranch|
605                                                     (|List| (|String|)))
606                                                (|:| |callBranch| (|String|))
607                                                (|:| |forBranch|
608                                                     (|Record|
609                                                      (|:| |range|
610                                                           (|SegmentBinding|
611                                                            (|Polynomial|
612                                                             (|Integer|))))
613                                                      (|:| |span|
614                                                           (|Polynomial|
615                                                            (|Integer|)))
616                                                      (|:| |body| $)))
617                                                (|:| |labelBranch|
618                                                     (|SingleInteger|))
619                                                (|:| |loopBranch|
620                                                     (|Record|
621                                                      (|:| |switch| (|Switch|))
622                                                      (|:| |body| $)))
623                                                (|:| |commonBranch|
624                                                     (|Record|
625                                                      (|:| |name| (|Symbol|))
626                                                      (|:| |contents|
627                                                           (|List|
628                                                            (|Symbol|)))))
629                                                (|:| |printBranch|
630                                                     (|List| (|OutputForm|))))
631                                       #1#))
632                     2))
633              (COND
634               ((NULL (QEQCAR (SPADCALL |elseBranch| (QREFELT $ 44)) 0))
635                (EXIT
636                 (COND
637                  ((QEQCAR (SPADCALL |elseBranch| (QREFELT $ 44)) 2)
638                   (SPADCALL |expr| (|FC;getElseIf| |elseBranch| $)
639                             (QREFELT $ 19)))
640                  ('T
641                   (SEQ
642                    (LETT |expr|
643                          (SPADCALL |expr|
644                                    (SPADCALL (SPADCALL 'ELSE (QREFELT $ 8))
645                                              NIL (QREFELT $ 14))
646                                    (QREFELT $ 19)))
647                    (EXIT
648                     (LETT |expr|
649                           (SPADCALL |expr| (|FC;getBody| |elseBranch| $)
650                                     (QREFELT $ 19))))))))))
651              (EXIT |expr|))))
652
653(SDEFUN |FC;getContinue| ((|label| |SingleInteger|) ($ |List| (|String|)))
654        (SPROG
655         ((|sp| (|OutputForm|)) (|cnt| (#1="CONTINUE")) (|lab| (|String|)))
656         (SEQ (LETT |lab| (STRINGIMAGE |label|))
657              (COND ((> (QCSIZE |lab|) 6) (|error| "Label too big")))
658              (LETT |cnt| #1#)
659              (LETT |sp|
660                    (SPADCALL (- (SPADCALL (QREFELT $ 57)) (QCSIZE |lab|))
661                              (QREFELT $ 58)))
662              (EXIT (STRCONC |lab| |sp| |cnt|)))))
663
664(SDEFUN |FC;getGoto| ((|label| |SingleInteger|) ($ |List| (|String|)))
665        (SPADCALL (LIST (STRCONC "GOTO " (STRINGIMAGE |label|)))
666                  (QREFELT $ 22)))
667
668(SDEFUN |FC;getRepeat|
669        ((|repRec| |Record| (|:| |switch| (|Switch|)) (|:| |body| $))
670         ($ |List| (|String|)))
671        (SPROG ((|bod| ($)) (|lab| (|SingleInteger|)) (|sw| (|Switch|)))
672               (SEQ (LETT |sw| (SPADCALL (QCAR |repRec|) (QREFELT $ 59)))
673                    (LETT |lab| (|FC;newLabel| $)) (LETT |bod| (QCDR |repRec|))
674                    (EXIT
675                     (SPADCALL (|FC;getContinue| |lab| $)
676                               (SPADCALL (|FC;getBody| |bod| $)
677                                         (|FC;fortFormatIfGoto|
678                                          (SPADCALL |sw| (QREFELT $ 56)) |lab|
679                                          $)
680                                         (QREFELT $ 19))
681                               (QREFELT $ 19))))))
682
683(SDEFUN |FC;getWhile|
684        ((|whileRec| |Record| (|:| |switch| (|Switch|)) (|:| |body| $))
685         ($ |List| (|String|)))
686        (SPROG
687         ((|rl1| (|List| (|List| (|String|)))) (|ig| (|List| (|String|)))
688          (|bod| ($)) (|lab2| #1=(|SingleInteger|)) (|lab1| #1#)
689          (|sw| (|Switch|)))
690         (SEQ (LETT |sw| (SPADCALL (QCAR |whileRec|) (QREFELT $ 59)))
691              (LETT |lab1| (|FC;newLabel| $)) (LETT |lab2| (|FC;newLabel| $))
692              (LETT |bod| (QCDR |whileRec|))
693              (LETT |ig|
694                    (|FC;fortFormatLabelledIfGoto|
695                     (SPADCALL |sw| (QREFELT $ 56)) |lab1| |lab2| $))
696              (LETT |rl1|
697                    (LIST |ig| (|FC;getBody| |bod| $)
698                          (|FC;getBody| (SPADCALL |lab1| (QREFELT $ 60)) $)
699                          (|FC;getContinue| |lab2| $)))
700              (EXIT (SPADCALL |rl1| (QREFELT $ 61))))))
701
702(SDEFUN |FC;getArrayAssign|
703        ((|rec| |Record| (|:| |var| (|Symbol|)) (|:| |rand| (|OutputForm|))
704          (|:| |ints2Floats?| (|Boolean|)))
705         ($ |List| (|String|)))
706        (|FC;getfortarrayexp| (QVELT |rec| 0) (QVELT |rec| 1) (QVELT |rec| 2)
707         $))
708
709(SDEFUN |FC;getAssign|
710        ((|rec| |Record| (|:| |var| (|Symbol|))
711          (|:| |arrayIndex| (|List| (|Polynomial| (|Integer|))))
712          (|:| |rand|
713               (|Record| (|:| |ints2Floats?| (|Boolean|))
714                         (|:| |expr| (|OutputForm|)))))
715         ($ |List| (|String|)))
716        (SPROG
717         ((|ex| #1=(|OutputForm|))
718          (|ass| (|Record| (|:| |ints2Floats?| (|Boolean|)) (|:| |expr| #1#)))
719          (|lhs| (|OutputForm|))
720          (|indices| (|List| (|Polynomial| (|Integer|)))))
721         (SEQ (LETT |indices| (QVELT |rec| 1))
722              (LETT |lhs| (SPADCALL (QVELT |rec| 0) (QREFELT $ 8)))
723              (COND
724               ((NULL (NULL |indices|))
725                (LETT |lhs|
726                      (SPADCALL |lhs|
727                                (SPADCALL (ELT $ 62) |indices| (QREFELT $ 67))
728                                (QREFELT $ 10)))))
729              (LETT |ass| (QVELT |rec| 2)) (LETT |ex| (QCDR |ass|))
730              (EXIT (|FC;get_assignment| |lhs| |ex| (QCAR |ass|) $)))))
731
732(SDEFUN |FC;getCond|
733        ((|rec| |Record| (|:| |switch| (|Switch|)) (|:| |thenClause| $)
734          (|:| |elseClause| $))
735         ($ |List| (|String|)))
736        (SPROG ((|expr| (|List| (|String|))) (|elseBranch| ($)))
737               (SEQ
738                (LETT |expr|
739                      (SPADCALL
740                       (|FC;fortFormatIf|
741                        (SPADCALL (QVELT |rec| 0) (QREFELT $ 56)) $)
742                       (|FC;getBody| (QVELT |rec| 1) $) (QREFELT $ 19)))
743                (LETT |elseBranch| (QVELT |rec| 2))
744                (COND
745                 ((NULL (QEQCAR (SPADCALL |elseBranch| (QREFELT $ 44)) 0))
746                  (COND
747                   ((QEQCAR (SPADCALL |elseBranch| (QREFELT $ 44)) 2)
748                    (LETT |expr|
749                          (SPADCALL |expr| (|FC;getElseIf| |elseBranch| $)
750                                    (QREFELT $ 19))))
751                   ('T
752                    (LETT |expr|
753                          (SPADCALL |expr|
754                                    (SPADCALL
755                                     (SPADCALL (SPADCALL 'ELSE (QREFELT $ 8))
756                                               NIL (QREFELT $ 14))
757                                     (|FC;getBody| |elseBranch| $)
758                                     (QREFELT $ 19))
759                                    (QREFELT $ 19)))))))
760                (EXIT
761                 (SPADCALL |expr|
762                           (SPADCALL (SPADCALL 'ENDIF (QREFELT $ 8)) NIL
763                                     (QREFELT $ 14))
764                           (QREFELT $ 19))))))
765
766(SDEFUN |FC;getComment| ((|rec| |List| (|String|)) ($ |List| (|String|)))
767        (SPROG ((#1=#:G582 NIL) (|c| NIL) (#2=#:G581 NIL))
768               (SEQ
769                (PROGN
770                 (LETT #2# NIL)
771                 (SEQ (LETT |c| NIL) (LETT #1# |rec|) G190
772                      (COND
773                       ((OR (ATOM #1#) (PROGN (LETT |c| (CAR #1#)) NIL))
774                        (GO G191)))
775                      (SEQ (EXIT (LETT #2# (CONS (STRCONC "C     " |c|) #2#))))
776                      (LETT #1# (CDR #1#)) (GO G190) G191
777                      (EXIT (NREVERSE #2#)))))))
778
779(SDEFUN |FC;getCall| ((|rec| |String|) ($ |List| (|String|)))
780        (SPROG ((|expr| (|String|)))
781               (SEQ (LETT |expr| (STRCONC "CALL " |rec|))
782                    (EXIT
783                     (COND
784                      ((> (QCSIZE |expr|) 1320)
785                       (|error| "Fortran CALL too large"))
786                      ('T (SPADCALL (LIST |expr|) (QREFELT $ 22))))))))
787
788(SDEFUN |FC;getFor|
789        ((|rec| |Record|
790          (|:| |range| #1=(|SegmentBinding| (|Polynomial| (|Integer|))))
791          (|:| |span| #2=(|Polynomial| (|Integer|))) (|:| |body| $))
792         ($ |List| (|String|)))
793        (SPROG
794         ((|expr| (|List| (|String|))) (|lab| (|SingleInteger|))
795          (|increment| #2#) (|rnge| #1#))
796         (SEQ (LETT |rnge| (QVELT |rec| 0)) (LETT |increment| (QVELT |rec| 1))
797              (LETT |lab| (|FC;newLabel| $))
798              (SPADCALL (SPADCALL |rnge| (QREFELT $ 69))
799                        (SPADCALL (QREFELT $ 71)) (QREFELT $ 73))
800              (LETT |expr|
801                    (|FC;fortFormatDo| (SPADCALL |rnge| (QREFELT $ 69))
802                     (SPADCALL
803                      (SPADCALL (SPADCALL |rnge| (QREFELT $ 75))
804                                (QREFELT $ 76))
805                      (QREFELT $ 62))
806                     (SPADCALL
807                      (SPADCALL (SPADCALL |rnge| (QREFELT $ 75))
808                                (QREFELT $ 77))
809                      (QREFELT $ 62))
810                     (SPADCALL |increment| (QREFELT $ 62)) |lab| $))
811              (EXIT
812               (SPADCALL |expr|
813                         (SPADCALL (|FC;getBody| (QVELT |rec| 2) $)
814                                   (|FC;getContinue| |lab| $) (QREFELT $ 19))
815                         (QREFELT $ 19))))))
816
817(SDEFUN |FC;getCode;$L;36| ((|f| $) ($ |List| (|String|)))
818        (SPROG
819         ((#1=#:G620 NIL) (#2=#:G621 NIL) (#3=#:G619 NIL) (#4=#:G618 NIL)
820          (#5=#:G617 NIL) (#6=#:G616 NIL) (#7=#:G615 NIL) (#8=#:G614 NIL)
821          (#9=#:G613 NIL) (#10=#:G612 NIL) (#11=#:G611 NIL) (#12=#:G610 NIL)
822          (|rec|
823           (|Union| (|:| |nullBranch| #13="null")
824                    (|:| |assignmentBranch|
825                         (|Record| (|:| |var| (|Symbol|))
826                                   (|:| |arrayIndex|
827                                        (|List| (|Polynomial| (|Integer|))))
828                                   (|:| |rand|
829                                        (|Record|
830                                         (|:| |ints2Floats?| (|Boolean|))
831                                         (|:| |expr| (|OutputForm|))))))
832                    (|:| |arrayAssignmentBranch|
833                         (|Record| (|:| |var| (|Symbol|))
834                                   (|:| |rand| (|OutputForm|))
835                                   (|:| |ints2Floats?| (|Boolean|))))
836                    (|:| |conditionalBranch|
837                         (|Record| (|:| |switch| (|Switch|))
838                                   (|:| |thenClause| $) (|:| |elseClause| $)))
839                    (|:| |returnBranch|
840                         (|Record| (|:| |empty?| (|Boolean|))
841                                   (|:| |value|
842                                        (|Record|
843                                         (|:| |ints2Floats?| (|Boolean|))
844                                         (|:| |expr| (|OutputForm|))))))
845                    (|:| |blockBranch| (|List| $))
846                    (|:| |commentBranch| (|List| (|String|)))
847                    (|:| |callBranch| (|String|))
848                    (|:| |forBranch|
849                         (|Record|
850                          (|:| |range|
851                               (|SegmentBinding| (|Polynomial| (|Integer|))))
852                          (|:| |span| (|Polynomial| (|Integer|)))
853                          (|:| |body| $)))
854                    (|:| |labelBranch| (|SingleInteger|))
855                    (|:| |loopBranch|
856                         (|Record| (|:| |switch| (|Switch|)) (|:| |body| $)))
857                    (|:| |commonBranch|
858                         (|Record| (|:| |name| (|Symbol|))
859                                   (|:| |contents| (|List| (|Symbol|)))))
860                    (|:| |printBranch| (|List| (|OutputForm|)))))
861          (|opp|
862           (|Union| (|:| |Null| "null") (|:| |Assignment| "assignment")
863                    (|:| |Conditional| "conditional") (|:| |Return| "return")
864                    (|:| |Block| "block") (|:| |Comment| "comment")
865                    (|:| |Call| "call") (|:| |For| "for") (|:| |While| "while")
866                    (|:| |Repeat| "repeat") (|:| |Goto| "goto")
867                    (|:| |Continue| "continue")
868                    (|:| |ArrayAssignment| "arrayAssignment")
869                    (|:| |Save| "save") (|:| |Stop| "stop")
870                    (|:| |Common| "common") (|:| |Print| "print"))))
871         (SEQ (LETT |opp| (SPADCALL |f| (QREFELT $ 44)))
872              (LETT |rec| (SPADCALL |f| (QREFELT $ 54)))
873              (EXIT
874               (COND
875                ((QEQCAR |opp| 1)
876                 (|FC;getAssign|
877                  (PROG2 (LETT #12# |rec|)
878                      (QCDR #12#)
879                    (|check_union2| (QEQCAR #12# 1)
880                                    (|Record| (|:| |var| (|Symbol|))
881                                              (|:| |arrayIndex|
882                                                   (|List|
883                                                    (|Polynomial|
884                                                     (|Integer|))))
885                                              (|:| |rand|
886                                                   (|Record|
887                                                    (|:| |ints2Floats?|
888                                                         (|Boolean|))
889                                                    (|:| |expr|
890                                                         (|OutputForm|)))))
891                                    (|Union| (|:| |nullBranch| #13#)
892                                             (|:| |assignmentBranch|
893                                                  (|Record|
894                                                   (|:| |var| (|Symbol|))
895                                                   (|:| |arrayIndex|
896                                                        (|List|
897                                                         (|Polynomial|
898                                                          (|Integer|))))
899                                                   (|:| |rand|
900                                                        (|Record|
901                                                         (|:| |ints2Floats?|
902                                                              (|Boolean|))
903                                                         (|:| |expr|
904                                                              (|OutputForm|))))))
905                                             (|:| |arrayAssignmentBranch|
906                                                  (|Record|
907                                                   (|:| |var| (|Symbol|))
908                                                   (|:| |rand| (|OutputForm|))
909                                                   (|:| |ints2Floats?|
910                                                        (|Boolean|))))
911                                             (|:| |conditionalBranch|
912                                                  (|Record|
913                                                   (|:| |switch| (|Switch|))
914                                                   (|:| |thenClause| $)
915                                                   (|:| |elseClause| $)))
916                                             (|:| |returnBranch|
917                                                  (|Record|
918                                                   (|:| |empty?| (|Boolean|))
919                                                   (|:| |value|
920                                                        (|Record|
921                                                         (|:| |ints2Floats?|
922                                                              (|Boolean|))
923                                                         (|:| |expr|
924                                                              (|OutputForm|))))))
925                                             (|:| |blockBranch| (|List| $))
926                                             (|:| |commentBranch|
927                                                  (|List| (|String|)))
928                                             (|:| |callBranch| (|String|))
929                                             (|:| |forBranch|
930                                                  (|Record|
931                                                   (|:| |range|
932                                                        (|SegmentBinding|
933                                                         (|Polynomial|
934                                                          (|Integer|))))
935                                                   (|:| |span|
936                                                        (|Polynomial|
937                                                         (|Integer|)))
938                                                   (|:| |body| $)))
939                                             (|:| |labelBranch|
940                                                  (|SingleInteger|))
941                                             (|:| |loopBranch|
942                                                  (|Record|
943                                                   (|:| |switch| (|Switch|))
944                                                   (|:| |body| $)))
945                                             (|:| |commonBranch|
946                                                  (|Record|
947                                                   (|:| |name| (|Symbol|))
948                                                   (|:| |contents|
949                                                        (|List| (|Symbol|)))))
950                                             (|:| |printBranch|
951                                                  (|List| (|OutputForm|))))
952                                    #12#))
953                  $))
954                ((QEQCAR |opp| 12)
955                 (|FC;getArrayAssign|
956                  (PROG2 (LETT #11# |rec|)
957                      (QCDR #11#)
958                    (|check_union2| (QEQCAR #11# 2)
959                                    (|Record| (|:| |var| (|Symbol|))
960                                              (|:| |rand| (|OutputForm|))
961                                              (|:| |ints2Floats?| (|Boolean|)))
962                                    (|Union| (|:| |nullBranch| #13#)
963                                             (|:| |assignmentBranch|
964                                                  (|Record|
965                                                   (|:| |var| (|Symbol|))
966                                                   (|:| |arrayIndex|
967                                                        (|List|
968                                                         (|Polynomial|
969                                                          (|Integer|))))
970                                                   (|:| |rand|
971                                                        (|Record|
972                                                         (|:| |ints2Floats?|
973                                                              (|Boolean|))
974                                                         (|:| |expr|
975                                                              (|OutputForm|))))))
976                                             (|:| |arrayAssignmentBranch|
977                                                  (|Record|
978                                                   (|:| |var| (|Symbol|))
979                                                   (|:| |rand| (|OutputForm|))
980                                                   (|:| |ints2Floats?|
981                                                        (|Boolean|))))
982                                             (|:| |conditionalBranch|
983                                                  (|Record|
984                                                   (|:| |switch| (|Switch|))
985                                                   (|:| |thenClause| $)
986                                                   (|:| |elseClause| $)))
987                                             (|:| |returnBranch|
988                                                  (|Record|
989                                                   (|:| |empty?| (|Boolean|))
990                                                   (|:| |value|
991                                                        (|Record|
992                                                         (|:| |ints2Floats?|
993                                                              (|Boolean|))
994                                                         (|:| |expr|
995                                                              (|OutputForm|))))))
996                                             (|:| |blockBranch| (|List| $))
997                                             (|:| |commentBranch|
998                                                  (|List| (|String|)))
999                                             (|:| |callBranch| (|String|))
1000                                             (|:| |forBranch|
1001                                                  (|Record|
1002                                                   (|:| |range|
1003                                                        (|SegmentBinding|
1004                                                         (|Polynomial|
1005                                                          (|Integer|))))
1006                                                   (|:| |span|
1007                                                        (|Polynomial|
1008                                                         (|Integer|)))
1009                                                   (|:| |body| $)))
1010                                             (|:| |labelBranch|
1011                                                  (|SingleInteger|))
1012                                             (|:| |loopBranch|
1013                                                  (|Record|
1014                                                   (|:| |switch| (|Switch|))
1015                                                   (|:| |body| $)))
1016                                             (|:| |commonBranch|
1017                                                  (|Record|
1018                                                   (|:| |name| (|Symbol|))
1019                                                   (|:| |contents|
1020                                                        (|List| (|Symbol|)))))
1021                                             (|:| |printBranch|
1022                                                  (|List| (|OutputForm|))))
1023                                    #11#))
1024                  $))
1025                ((QEQCAR |opp| 2)
1026                 (|FC;getCond|
1027                  (PROG2 (LETT #10# |rec|)
1028                      (QCDR #10#)
1029                    (|check_union2| (QEQCAR #10# 3)
1030                                    (|Record| (|:| |switch| (|Switch|))
1031                                              (|:| |thenClause| $)
1032                                              (|:| |elseClause| $))
1033                                    (|Union| (|:| |nullBranch| #13#)
1034                                             (|:| |assignmentBranch|
1035                                                  (|Record|
1036                                                   (|:| |var| (|Symbol|))
1037                                                   (|:| |arrayIndex|
1038                                                        (|List|
1039                                                         (|Polynomial|
1040                                                          (|Integer|))))
1041                                                   (|:| |rand|
1042                                                        (|Record|
1043                                                         (|:| |ints2Floats?|
1044                                                              (|Boolean|))
1045                                                         (|:| |expr|
1046                                                              (|OutputForm|))))))
1047                                             (|:| |arrayAssignmentBranch|
1048                                                  (|Record|
1049                                                   (|:| |var| (|Symbol|))
1050                                                   (|:| |rand| (|OutputForm|))
1051                                                   (|:| |ints2Floats?|
1052                                                        (|Boolean|))))
1053                                             (|:| |conditionalBranch|
1054                                                  (|Record|
1055                                                   (|:| |switch| (|Switch|))
1056                                                   (|:| |thenClause| $)
1057                                                   (|:| |elseClause| $)))
1058                                             (|:| |returnBranch|
1059                                                  (|Record|
1060                                                   (|:| |empty?| (|Boolean|))
1061                                                   (|:| |value|
1062                                                        (|Record|
1063                                                         (|:| |ints2Floats?|
1064                                                              (|Boolean|))
1065                                                         (|:| |expr|
1066                                                              (|OutputForm|))))))
1067                                             (|:| |blockBranch| (|List| $))
1068                                             (|:| |commentBranch|
1069                                                  (|List| (|String|)))
1070                                             (|:| |callBranch| (|String|))
1071                                             (|:| |forBranch|
1072                                                  (|Record|
1073                                                   (|:| |range|
1074                                                        (|SegmentBinding|
1075                                                         (|Polynomial|
1076                                                          (|Integer|))))
1077                                                   (|:| |span|
1078                                                        (|Polynomial|
1079                                                         (|Integer|)))
1080                                                   (|:| |body| $)))
1081                                             (|:| |labelBranch|
1082                                                  (|SingleInteger|))
1083                                             (|:| |loopBranch|
1084                                                  (|Record|
1085                                                   (|:| |switch| (|Switch|))
1086                                                   (|:| |body| $)))
1087                                             (|:| |commonBranch|
1088                                                  (|Record|
1089                                                   (|:| |name| (|Symbol|))
1090                                                   (|:| |contents|
1091                                                        (|List| (|Symbol|)))))
1092                                             (|:| |printBranch|
1093                                                  (|List| (|OutputForm|))))
1094                                    #10#))
1095                  $))
1096                ((QEQCAR |opp| 3)
1097                 (|FC;getReturn|
1098                  (PROG2 (LETT #9# |rec|)
1099                      (QCDR #9#)
1100                    (|check_union2| (QEQCAR #9# 4)
1101                                    (|Record| (|:| |empty?| (|Boolean|))
1102                                              (|:| |value|
1103                                                   (|Record|
1104                                                    (|:| |ints2Floats?|
1105                                                         (|Boolean|))
1106                                                    (|:| |expr|
1107                                                         (|OutputForm|)))))
1108                                    (|Union| (|:| |nullBranch| #13#)
1109                                             (|:| |assignmentBranch|
1110                                                  (|Record|
1111                                                   (|:| |var| (|Symbol|))
1112                                                   (|:| |arrayIndex|
1113                                                        (|List|
1114                                                         (|Polynomial|
1115                                                          (|Integer|))))
1116                                                   (|:| |rand|
1117                                                        (|Record|
1118                                                         (|:| |ints2Floats?|
1119                                                              (|Boolean|))
1120                                                         (|:| |expr|
1121                                                              (|OutputForm|))))))
1122                                             (|:| |arrayAssignmentBranch|
1123                                                  (|Record|
1124                                                   (|:| |var| (|Symbol|))
1125                                                   (|:| |rand| (|OutputForm|))
1126                                                   (|:| |ints2Floats?|
1127                                                        (|Boolean|))))
1128                                             (|:| |conditionalBranch|
1129                                                  (|Record|
1130                                                   (|:| |switch| (|Switch|))
1131                                                   (|:| |thenClause| $)
1132                                                   (|:| |elseClause| $)))
1133                                             (|:| |returnBranch|
1134                                                  (|Record|
1135                                                   (|:| |empty?| (|Boolean|))
1136                                                   (|:| |value|
1137                                                        (|Record|
1138                                                         (|:| |ints2Floats?|
1139                                                              (|Boolean|))
1140                                                         (|:| |expr|
1141                                                              (|OutputForm|))))))
1142                                             (|:| |blockBranch| (|List| $))
1143                                             (|:| |commentBranch|
1144                                                  (|List| (|String|)))
1145                                             (|:| |callBranch| (|String|))
1146                                             (|:| |forBranch|
1147                                                  (|Record|
1148                                                   (|:| |range|
1149                                                        (|SegmentBinding|
1150                                                         (|Polynomial|
1151                                                          (|Integer|))))
1152                                                   (|:| |span|
1153                                                        (|Polynomial|
1154                                                         (|Integer|)))
1155                                                   (|:| |body| $)))
1156                                             (|:| |labelBranch|
1157                                                  (|SingleInteger|))
1158                                             (|:| |loopBranch|
1159                                                  (|Record|
1160                                                   (|:| |switch| (|Switch|))
1161                                                   (|:| |body| $)))
1162                                             (|:| |commonBranch|
1163                                                  (|Record|
1164                                                   (|:| |name| (|Symbol|))
1165                                                   (|:| |contents|
1166                                                        (|List| (|Symbol|)))))
1167                                             (|:| |printBranch|
1168                                                  (|List| (|OutputForm|))))
1169                                    #9#))
1170                  $))
1171                ((QEQCAR |opp| 4)
1172                 (|FC;getBlock|
1173                  (PROG2 (LETT #8# |rec|)
1174                      (QCDR #8#)
1175                    (|check_union2| (QEQCAR #8# 5) (|List| $)
1176                                    (|Union| (|:| |nullBranch| #13#)
1177                                             (|:| |assignmentBranch|
1178                                                  (|Record|
1179                                                   (|:| |var| (|Symbol|))
1180                                                   (|:| |arrayIndex|
1181                                                        (|List|
1182                                                         (|Polynomial|
1183                                                          (|Integer|))))
1184                                                   (|:| |rand|
1185                                                        (|Record|
1186                                                         (|:| |ints2Floats?|
1187                                                              (|Boolean|))
1188                                                         (|:| |expr|
1189                                                              (|OutputForm|))))))
1190                                             (|:| |arrayAssignmentBranch|
1191                                                  (|Record|
1192                                                   (|:| |var| (|Symbol|))
1193                                                   (|:| |rand| (|OutputForm|))
1194                                                   (|:| |ints2Floats?|
1195                                                        (|Boolean|))))
1196                                             (|:| |conditionalBranch|
1197                                                  (|Record|
1198                                                   (|:| |switch| (|Switch|))
1199                                                   (|:| |thenClause| $)
1200                                                   (|:| |elseClause| $)))
1201                                             (|:| |returnBranch|
1202                                                  (|Record|
1203                                                   (|:| |empty?| (|Boolean|))
1204                                                   (|:| |value|
1205                                                        (|Record|
1206                                                         (|:| |ints2Floats?|
1207                                                              (|Boolean|))
1208                                                         (|:| |expr|
1209                                                              (|OutputForm|))))))
1210                                             (|:| |blockBranch| (|List| $))
1211                                             (|:| |commentBranch|
1212                                                  (|List| (|String|)))
1213                                             (|:| |callBranch| (|String|))
1214                                             (|:| |forBranch|
1215                                                  (|Record|
1216                                                   (|:| |range|
1217                                                        (|SegmentBinding|
1218                                                         (|Polynomial|
1219                                                          (|Integer|))))
1220                                                   (|:| |span|
1221                                                        (|Polynomial|
1222                                                         (|Integer|)))
1223                                                   (|:| |body| $)))
1224                                             (|:| |labelBranch|
1225                                                  (|SingleInteger|))
1226                                             (|:| |loopBranch|
1227                                                  (|Record|
1228                                                   (|:| |switch| (|Switch|))
1229                                                   (|:| |body| $)))
1230                                             (|:| |commonBranch|
1231                                                  (|Record|
1232                                                   (|:| |name| (|Symbol|))
1233                                                   (|:| |contents|
1234                                                        (|List| (|Symbol|)))))
1235                                             (|:| |printBranch|
1236                                                  (|List| (|OutputForm|))))
1237                                    #8#))
1238                  $))
1239                ((QEQCAR |opp| 5)
1240                 (|FC;getComment|
1241                  (PROG2 (LETT #7# |rec|)
1242                      (QCDR #7#)
1243                    (|check_union2| (QEQCAR #7# 6) (|List| (|String|))
1244                                    (|Union| (|:| |nullBranch| #13#)
1245                                             (|:| |assignmentBranch|
1246                                                  (|Record|
1247                                                   (|:| |var| (|Symbol|))
1248                                                   (|:| |arrayIndex|
1249                                                        (|List|
1250                                                         (|Polynomial|
1251                                                          (|Integer|))))
1252                                                   (|:| |rand|
1253                                                        (|Record|
1254                                                         (|:| |ints2Floats?|
1255                                                              (|Boolean|))
1256                                                         (|:| |expr|
1257                                                              (|OutputForm|))))))
1258                                             (|:| |arrayAssignmentBranch|
1259                                                  (|Record|
1260                                                   (|:| |var| (|Symbol|))
1261                                                   (|:| |rand| (|OutputForm|))
1262                                                   (|:| |ints2Floats?|
1263                                                        (|Boolean|))))
1264                                             (|:| |conditionalBranch|
1265                                                  (|Record|
1266                                                   (|:| |switch| (|Switch|))
1267                                                   (|:| |thenClause| $)
1268                                                   (|:| |elseClause| $)))
1269                                             (|:| |returnBranch|
1270                                                  (|Record|
1271                                                   (|:| |empty?| (|Boolean|))
1272                                                   (|:| |value|
1273                                                        (|Record|
1274                                                         (|:| |ints2Floats?|
1275                                                              (|Boolean|))
1276                                                         (|:| |expr|
1277                                                              (|OutputForm|))))))
1278                                             (|:| |blockBranch| (|List| $))
1279                                             (|:| |commentBranch|
1280                                                  (|List| (|String|)))
1281                                             (|:| |callBranch| (|String|))
1282                                             (|:| |forBranch|
1283                                                  (|Record|
1284                                                   (|:| |range|
1285                                                        (|SegmentBinding|
1286                                                         (|Polynomial|
1287                                                          (|Integer|))))
1288                                                   (|:| |span|
1289                                                        (|Polynomial|
1290                                                         (|Integer|)))
1291                                                   (|:| |body| $)))
1292                                             (|:| |labelBranch|
1293                                                  (|SingleInteger|))
1294                                             (|:| |loopBranch|
1295                                                  (|Record|
1296                                                   (|:| |switch| (|Switch|))
1297                                                   (|:| |body| $)))
1298                                             (|:| |commonBranch|
1299                                                  (|Record|
1300                                                   (|:| |name| (|Symbol|))
1301                                                   (|:| |contents|
1302                                                        (|List| (|Symbol|)))))
1303                                             (|:| |printBranch|
1304                                                  (|List| (|OutputForm|))))
1305                                    #7#))
1306                  $))
1307                ((QEQCAR |opp| 6)
1308                 (|FC;getCall|
1309                  (PROG2 (LETT #6# |rec|)
1310                      (QCDR #6#)
1311                    (|check_union2| (QEQCAR #6# 7) (|String|)
1312                                    (|Union| (|:| |nullBranch| #13#)
1313                                             (|:| |assignmentBranch|
1314                                                  (|Record|
1315                                                   (|:| |var| (|Symbol|))
1316                                                   (|:| |arrayIndex|
1317                                                        (|List|
1318                                                         (|Polynomial|
1319                                                          (|Integer|))))
1320                                                   (|:| |rand|
1321                                                        (|Record|
1322                                                         (|:| |ints2Floats?|
1323                                                              (|Boolean|))
1324                                                         (|:| |expr|
1325                                                              (|OutputForm|))))))
1326                                             (|:| |arrayAssignmentBranch|
1327                                                  (|Record|
1328                                                   (|:| |var| (|Symbol|))
1329                                                   (|:| |rand| (|OutputForm|))
1330                                                   (|:| |ints2Floats?|
1331                                                        (|Boolean|))))
1332                                             (|:| |conditionalBranch|
1333                                                  (|Record|
1334                                                   (|:| |switch| (|Switch|))
1335                                                   (|:| |thenClause| $)
1336                                                   (|:| |elseClause| $)))
1337                                             (|:| |returnBranch|
1338                                                  (|Record|
1339                                                   (|:| |empty?| (|Boolean|))
1340                                                   (|:| |value|
1341                                                        (|Record|
1342                                                         (|:| |ints2Floats?|
1343                                                              (|Boolean|))
1344                                                         (|:| |expr|
1345                                                              (|OutputForm|))))))
1346                                             (|:| |blockBranch| (|List| $))
1347                                             (|:| |commentBranch|
1348                                                  (|List| (|String|)))
1349                                             (|:| |callBranch| (|String|))
1350                                             (|:| |forBranch|
1351                                                  (|Record|
1352                                                   (|:| |range|
1353                                                        (|SegmentBinding|
1354                                                         (|Polynomial|
1355                                                          (|Integer|))))
1356                                                   (|:| |span|
1357                                                        (|Polynomial|
1358                                                         (|Integer|)))
1359                                                   (|:| |body| $)))
1360                                             (|:| |labelBranch|
1361                                                  (|SingleInteger|))
1362                                             (|:| |loopBranch|
1363                                                  (|Record|
1364                                                   (|:| |switch| (|Switch|))
1365                                                   (|:| |body| $)))
1366                                             (|:| |commonBranch|
1367                                                  (|Record|
1368                                                   (|:| |name| (|Symbol|))
1369                                                   (|:| |contents|
1370                                                        (|List| (|Symbol|)))))
1371                                             (|:| |printBranch|
1372                                                  (|List| (|OutputForm|))))
1373                                    #6#))
1374                  $))
1375                ((QEQCAR |opp| 7)
1376                 (|FC;getFor|
1377                  (PROG2 (LETT #5# |rec|)
1378                      (QCDR #5#)
1379                    (|check_union2| (QEQCAR #5# 8)
1380                                    (|Record|
1381                                     (|:| |range|
1382                                          (|SegmentBinding|
1383                                           (|Polynomial| (|Integer|))))
1384                                     (|:| |span| (|Polynomial| (|Integer|)))
1385                                     (|:| |body| $))
1386                                    (|Union| (|:| |nullBranch| #13#)
1387                                             (|:| |assignmentBranch|
1388                                                  (|Record|
1389                                                   (|:| |var| (|Symbol|))
1390                                                   (|:| |arrayIndex|
1391                                                        (|List|
1392                                                         (|Polynomial|
1393                                                          (|Integer|))))
1394                                                   (|:| |rand|
1395                                                        (|Record|
1396                                                         (|:| |ints2Floats?|
1397                                                              (|Boolean|))
1398                                                         (|:| |expr|
1399                                                              (|OutputForm|))))))
1400                                             (|:| |arrayAssignmentBranch|
1401                                                  (|Record|
1402                                                   (|:| |var| (|Symbol|))
1403                                                   (|:| |rand| (|OutputForm|))
1404                                                   (|:| |ints2Floats?|
1405                                                        (|Boolean|))))
1406                                             (|:| |conditionalBranch|
1407                                                  (|Record|
1408                                                   (|:| |switch| (|Switch|))
1409                                                   (|:| |thenClause| $)
1410                                                   (|:| |elseClause| $)))
1411                                             (|:| |returnBranch|
1412                                                  (|Record|
1413                                                   (|:| |empty?| (|Boolean|))
1414                                                   (|:| |value|
1415                                                        (|Record|
1416                                                         (|:| |ints2Floats?|
1417                                                              (|Boolean|))
1418                                                         (|:| |expr|
1419                                                              (|OutputForm|))))))
1420                                             (|:| |blockBranch| (|List| $))
1421                                             (|:| |commentBranch|
1422                                                  (|List| (|String|)))
1423                                             (|:| |callBranch| (|String|))
1424                                             (|:| |forBranch|
1425                                                  (|Record|
1426                                                   (|:| |range|
1427                                                        (|SegmentBinding|
1428                                                         (|Polynomial|
1429                                                          (|Integer|))))
1430                                                   (|:| |span|
1431                                                        (|Polynomial|
1432                                                         (|Integer|)))
1433                                                   (|:| |body| $)))
1434                                             (|:| |labelBranch|
1435                                                  (|SingleInteger|))
1436                                             (|:| |loopBranch|
1437                                                  (|Record|
1438                                                   (|:| |switch| (|Switch|))
1439                                                   (|:| |body| $)))
1440                                             (|:| |commonBranch|
1441                                                  (|Record|
1442                                                   (|:| |name| (|Symbol|))
1443                                                   (|:| |contents|
1444                                                        (|List| (|Symbol|)))))
1445                                             (|:| |printBranch|
1446                                                  (|List| (|OutputForm|))))
1447                                    #5#))
1448                  $))
1449                ((QEQCAR |opp| 11)
1450                 (|FC;getContinue|
1451                  (PROG2 (LETT #4# |rec|)
1452                      (QCDR #4#)
1453                    (|check_union2| (QEQCAR #4# 9) (|SingleInteger|)
1454                                    (|Union| (|:| |nullBranch| #13#)
1455                                             (|:| |assignmentBranch|
1456                                                  (|Record|
1457                                                   (|:| |var| (|Symbol|))
1458                                                   (|:| |arrayIndex|
1459                                                        (|List|
1460                                                         (|Polynomial|
1461                                                          (|Integer|))))
1462                                                   (|:| |rand|
1463                                                        (|Record|
1464                                                         (|:| |ints2Floats?|
1465                                                              (|Boolean|))
1466                                                         (|:| |expr|
1467                                                              (|OutputForm|))))))
1468                                             (|:| |arrayAssignmentBranch|
1469                                                  (|Record|
1470                                                   (|:| |var| (|Symbol|))
1471                                                   (|:| |rand| (|OutputForm|))
1472                                                   (|:| |ints2Floats?|
1473                                                        (|Boolean|))))
1474                                             (|:| |conditionalBranch|
1475                                                  (|Record|
1476                                                   (|:| |switch| (|Switch|))
1477                                                   (|:| |thenClause| $)
1478                                                   (|:| |elseClause| $)))
1479                                             (|:| |returnBranch|
1480                                                  (|Record|
1481                                                   (|:| |empty?| (|Boolean|))
1482                                                   (|:| |value|
1483                                                        (|Record|
1484                                                         (|:| |ints2Floats?|
1485                                                              (|Boolean|))
1486                                                         (|:| |expr|
1487                                                              (|OutputForm|))))))
1488                                             (|:| |blockBranch| (|List| $))
1489                                             (|:| |commentBranch|
1490                                                  (|List| (|String|)))
1491                                             (|:| |callBranch| (|String|))
1492                                             (|:| |forBranch|
1493                                                  (|Record|
1494                                                   (|:| |range|
1495                                                        (|SegmentBinding|
1496                                                         (|Polynomial|
1497                                                          (|Integer|))))
1498                                                   (|:| |span|
1499                                                        (|Polynomial|
1500                                                         (|Integer|)))
1501                                                   (|:| |body| $)))
1502                                             (|:| |labelBranch|
1503                                                  (|SingleInteger|))
1504                                             (|:| |loopBranch|
1505                                                  (|Record|
1506                                                   (|:| |switch| (|Switch|))
1507                                                   (|:| |body| $)))
1508                                             (|:| |commonBranch|
1509                                                  (|Record|
1510                                                   (|:| |name| (|Symbol|))
1511                                                   (|:| |contents|
1512                                                        (|List| (|Symbol|)))))
1513                                             (|:| |printBranch|
1514                                                  (|List| (|OutputForm|))))
1515                                    #4#))
1516                  $))
1517                ((QEQCAR |opp| 10)
1518                 (|FC;getGoto|
1519                  (PROG2 (LETT #4# |rec|)
1520                      (QCDR #4#)
1521                    (|check_union2| (QEQCAR #4# 9) (|SingleInteger|)
1522                                    (|Union| (|:| |nullBranch| #13#)
1523                                             (|:| |assignmentBranch|
1524                                                  (|Record|
1525                                                   (|:| |var| (|Symbol|))
1526                                                   (|:| |arrayIndex|
1527                                                        (|List|
1528                                                         (|Polynomial|
1529                                                          (|Integer|))))
1530                                                   (|:| |rand|
1531                                                        (|Record|
1532                                                         (|:| |ints2Floats?|
1533                                                              (|Boolean|))
1534                                                         (|:| |expr|
1535                                                              (|OutputForm|))))))
1536                                             (|:| |arrayAssignmentBranch|
1537                                                  (|Record|
1538                                                   (|:| |var| (|Symbol|))
1539                                                   (|:| |rand| (|OutputForm|))
1540                                                   (|:| |ints2Floats?|
1541                                                        (|Boolean|))))
1542                                             (|:| |conditionalBranch|
1543                                                  (|Record|
1544                                                   (|:| |switch| (|Switch|))
1545                                                   (|:| |thenClause| $)
1546                                                   (|:| |elseClause| $)))
1547                                             (|:| |returnBranch|
1548                                                  (|Record|
1549                                                   (|:| |empty?| (|Boolean|))
1550                                                   (|:| |value|
1551                                                        (|Record|
1552                                                         (|:| |ints2Floats?|
1553                                                              (|Boolean|))
1554                                                         (|:| |expr|
1555                                                              (|OutputForm|))))))
1556                                             (|:| |blockBranch| (|List| $))
1557                                             (|:| |commentBranch|
1558                                                  (|List| (|String|)))
1559                                             (|:| |callBranch| (|String|))
1560                                             (|:| |forBranch|
1561                                                  (|Record|
1562                                                   (|:| |range|
1563                                                        (|SegmentBinding|
1564                                                         (|Polynomial|
1565                                                          (|Integer|))))
1566                                                   (|:| |span|
1567                                                        (|Polynomial|
1568                                                         (|Integer|)))
1569                                                   (|:| |body| $)))
1570                                             (|:| |labelBranch|
1571                                                  (|SingleInteger|))
1572                                             (|:| |loopBranch|
1573                                                  (|Record|
1574                                                   (|:| |switch| (|Switch|))
1575                                                   (|:| |body| $)))
1576                                             (|:| |commonBranch|
1577                                                  (|Record|
1578                                                   (|:| |name| (|Symbol|))
1579                                                   (|:| |contents|
1580                                                        (|List| (|Symbol|)))))
1581                                             (|:| |printBranch|
1582                                                  (|List| (|OutputForm|))))
1583                                    #4#))
1584                  $))
1585                ((QEQCAR |opp| 9)
1586                 (|FC;getRepeat|
1587                  (PROG2 (LETT #3# |rec|)
1588                      (QCDR #3#)
1589                    (|check_union2| (QEQCAR #3# 10)
1590                                    (|Record| (|:| |switch| (|Switch|))
1591                                              (|:| |body| $))
1592                                    (|Union| (|:| |nullBranch| #13#)
1593                                             (|:| |assignmentBranch|
1594                                                  (|Record|
1595                                                   (|:| |var| (|Symbol|))
1596                                                   (|:| |arrayIndex|
1597                                                        (|List|
1598                                                         (|Polynomial|
1599                                                          (|Integer|))))
1600                                                   (|:| |rand|
1601                                                        (|Record|
1602                                                         (|:| |ints2Floats?|
1603                                                              (|Boolean|))
1604                                                         (|:| |expr|
1605                                                              (|OutputForm|))))))
1606                                             (|:| |arrayAssignmentBranch|
1607                                                  (|Record|
1608                                                   (|:| |var| (|Symbol|))
1609                                                   (|:| |rand| (|OutputForm|))
1610                                                   (|:| |ints2Floats?|
1611                                                        (|Boolean|))))
1612                                             (|:| |conditionalBranch|
1613                                                  (|Record|
1614                                                   (|:| |switch| (|Switch|))
1615                                                   (|:| |thenClause| $)
1616                                                   (|:| |elseClause| $)))
1617                                             (|:| |returnBranch|
1618                                                  (|Record|
1619                                                   (|:| |empty?| (|Boolean|))
1620                                                   (|:| |value|
1621                                                        (|Record|
1622                                                         (|:| |ints2Floats?|
1623                                                              (|Boolean|))
1624                                                         (|:| |expr|
1625                                                              (|OutputForm|))))))
1626                                             (|:| |blockBranch| (|List| $))
1627                                             (|:| |commentBranch|
1628                                                  (|List| (|String|)))
1629                                             (|:| |callBranch| (|String|))
1630                                             (|:| |forBranch|
1631                                                  (|Record|
1632                                                   (|:| |range|
1633                                                        (|SegmentBinding|
1634                                                         (|Polynomial|
1635                                                          (|Integer|))))
1636                                                   (|:| |span|
1637                                                        (|Polynomial|
1638                                                         (|Integer|)))
1639                                                   (|:| |body| $)))
1640                                             (|:| |labelBranch|
1641                                                  (|SingleInteger|))
1642                                             (|:| |loopBranch|
1643                                                  (|Record|
1644                                                   (|:| |switch| (|Switch|))
1645                                                   (|:| |body| $)))
1646                                             (|:| |commonBranch|
1647                                                  (|Record|
1648                                                   (|:| |name| (|Symbol|))
1649                                                   (|:| |contents|
1650                                                        (|List| (|Symbol|)))))
1651                                             (|:| |printBranch|
1652                                                  (|List| (|OutputForm|))))
1653                                    #3#))
1654                  $))
1655                ((QEQCAR |opp| 8)
1656                 (|FC;getWhile|
1657                  (PROG2 (LETT #3# |rec|)
1658                      (QCDR #3#)
1659                    (|check_union2| (QEQCAR #3# 10)
1660                                    (|Record| (|:| |switch| (|Switch|))
1661                                              (|:| |body| $))
1662                                    (|Union| (|:| |nullBranch| #13#)
1663                                             (|:| |assignmentBranch|
1664                                                  (|Record|
1665                                                   (|:| |var| (|Symbol|))
1666                                                   (|:| |arrayIndex|
1667                                                        (|List|
1668                                                         (|Polynomial|
1669                                                          (|Integer|))))
1670                                                   (|:| |rand|
1671                                                        (|Record|
1672                                                         (|:| |ints2Floats?|
1673                                                              (|Boolean|))
1674                                                         (|:| |expr|
1675                                                              (|OutputForm|))))))
1676                                             (|:| |arrayAssignmentBranch|
1677                                                  (|Record|
1678                                                   (|:| |var| (|Symbol|))
1679                                                   (|:| |rand| (|OutputForm|))
1680                                                   (|:| |ints2Floats?|
1681                                                        (|Boolean|))))
1682                                             (|:| |conditionalBranch|
1683                                                  (|Record|
1684                                                   (|:| |switch| (|Switch|))
1685                                                   (|:| |thenClause| $)
1686                                                   (|:| |elseClause| $)))
1687                                             (|:| |returnBranch|
1688                                                  (|Record|
1689                                                   (|:| |empty?| (|Boolean|))
1690                                                   (|:| |value|
1691                                                        (|Record|
1692                                                         (|:| |ints2Floats?|
1693                                                              (|Boolean|))
1694                                                         (|:| |expr|
1695                                                              (|OutputForm|))))))
1696                                             (|:| |blockBranch| (|List| $))
1697                                             (|:| |commentBranch|
1698                                                  (|List| (|String|)))
1699                                             (|:| |callBranch| (|String|))
1700                                             (|:| |forBranch|
1701                                                  (|Record|
1702                                                   (|:| |range|
1703                                                        (|SegmentBinding|
1704                                                         (|Polynomial|
1705                                                          (|Integer|))))
1706                                                   (|:| |span|
1707                                                        (|Polynomial|
1708                                                         (|Integer|)))
1709                                                   (|:| |body| $)))
1710                                             (|:| |labelBranch|
1711                                                  (|SingleInteger|))
1712                                             (|:| |loopBranch|
1713                                                  (|Record|
1714                                                   (|:| |switch| (|Switch|))
1715                                                   (|:| |body| $)))
1716                                             (|:| |commonBranch|
1717                                                  (|Record|
1718                                                   (|:| |name| (|Symbol|))
1719                                                   (|:| |contents|
1720                                                        (|List| (|Symbol|)))))
1721                                             (|:| |printBranch|
1722                                                  (|List| (|OutputForm|))))
1723                                    #3#))
1724                  $))
1725                ((QEQCAR |opp| 13) (|FC;getSave| $))
1726                ((QEQCAR |opp| 14) (|FC;getStop| $))
1727                ((QEQCAR |opp| 16)
1728                 (|FC;getPrint|
1729                  (PROG2 (LETT #2# |rec|)
1730                      (QCDR #2#)
1731                    (|check_union2| (QEQCAR #2# 12) (|List| (|OutputForm|))
1732                                    (|Union| (|:| |nullBranch| #13#)
1733                                             (|:| |assignmentBranch|
1734                                                  (|Record|
1735                                                   (|:| |var| (|Symbol|))
1736                                                   (|:| |arrayIndex|
1737                                                        (|List|
1738                                                         (|Polynomial|
1739                                                          (|Integer|))))
1740                                                   (|:| |rand|
1741                                                        (|Record|
1742                                                         (|:| |ints2Floats?|
1743                                                              (|Boolean|))
1744                                                         (|:| |expr|
1745                                                              (|OutputForm|))))))
1746                                             (|:| |arrayAssignmentBranch|
1747                                                  (|Record|
1748                                                   (|:| |var| (|Symbol|))
1749                                                   (|:| |rand| (|OutputForm|))
1750                                                   (|:| |ints2Floats?|
1751                                                        (|Boolean|))))
1752                                             (|:| |conditionalBranch|
1753                                                  (|Record|
1754                                                   (|:| |switch| (|Switch|))
1755                                                   (|:| |thenClause| $)
1756                                                   (|:| |elseClause| $)))
1757                                             (|:| |returnBranch|
1758                                                  (|Record|
1759                                                   (|:| |empty?| (|Boolean|))
1760                                                   (|:| |value|
1761                                                        (|Record|
1762                                                         (|:| |ints2Floats?|
1763                                                              (|Boolean|))
1764                                                         (|:| |expr|
1765                                                              (|OutputForm|))))))
1766                                             (|:| |blockBranch| (|List| $))
1767                                             (|:| |commentBranch|
1768                                                  (|List| (|String|)))
1769                                             (|:| |callBranch| (|String|))
1770                                             (|:| |forBranch|
1771                                                  (|Record|
1772                                                   (|:| |range|
1773                                                        (|SegmentBinding|
1774                                                         (|Polynomial|
1775                                                          (|Integer|))))
1776                                                   (|:| |span|
1777                                                        (|Polynomial|
1778                                                         (|Integer|)))
1779                                                   (|:| |body| $)))
1780                                             (|:| |labelBranch|
1781                                                  (|SingleInteger|))
1782                                             (|:| |loopBranch|
1783                                                  (|Record|
1784                                                   (|:| |switch| (|Switch|))
1785                                                   (|:| |body| $)))
1786                                             (|:| |commonBranch|
1787                                                  (|Record|
1788                                                   (|:| |name| (|Symbol|))
1789                                                   (|:| |contents|
1790                                                        (|List| (|Symbol|)))))
1791                                             (|:| |printBranch|
1792                                                  (|List| (|OutputForm|))))
1793                                    #2#))
1794                  $))
1795                ((QEQCAR |opp| 15)
1796                 (|FC;getCommon|
1797                  (PROG2 (LETT #1# |rec|)
1798                      (QCDR #1#)
1799                    (|check_union2| (QEQCAR #1# 11)
1800                                    (|Record| (|:| |name| (|Symbol|))
1801                                              (|:| |contents|
1802                                                   (|List| (|Symbol|))))
1803                                    (|Union| (|:| |nullBranch| #13#)
1804                                             (|:| |assignmentBranch|
1805                                                  (|Record|
1806                                                   (|:| |var| (|Symbol|))
1807                                                   (|:| |arrayIndex|
1808                                                        (|List|
1809                                                         (|Polynomial|
1810                                                          (|Integer|))))
1811                                                   (|:| |rand|
1812                                                        (|Record|
1813                                                         (|:| |ints2Floats?|
1814                                                              (|Boolean|))
1815                                                         (|:| |expr|
1816                                                              (|OutputForm|))))))
1817                                             (|:| |arrayAssignmentBranch|
1818                                                  (|Record|
1819                                                   (|:| |var| (|Symbol|))
1820                                                   (|:| |rand| (|OutputForm|))
1821                                                   (|:| |ints2Floats?|
1822                                                        (|Boolean|))))
1823                                             (|:| |conditionalBranch|
1824                                                  (|Record|
1825                                                   (|:| |switch| (|Switch|))
1826                                                   (|:| |thenClause| $)
1827                                                   (|:| |elseClause| $)))
1828                                             (|:| |returnBranch|
1829                                                  (|Record|
1830                                                   (|:| |empty?| (|Boolean|))
1831                                                   (|:| |value|
1832                                                        (|Record|
1833                                                         (|:| |ints2Floats?|
1834                                                              (|Boolean|))
1835                                                         (|:| |expr|
1836                                                              (|OutputForm|))))))
1837                                             (|:| |blockBranch| (|List| $))
1838                                             (|:| |commentBranch|
1839                                                  (|List| (|String|)))
1840                                             (|:| |callBranch| (|String|))
1841                                             (|:| |forBranch|
1842                                                  (|Record|
1843                                                   (|:| |range|
1844                                                        (|SegmentBinding|
1845                                                         (|Polynomial|
1846                                                          (|Integer|))))
1847                                                   (|:| |span|
1848                                                        (|Polynomial|
1849                                                         (|Integer|)))
1850                                                   (|:| |body| $)))
1851                                             (|:| |labelBranch|
1852                                                  (|SingleInteger|))
1853                                             (|:| |loopBranch|
1854                                                  (|Record|
1855                                                   (|:| |switch| (|Switch|))
1856                                                   (|:| |body| $)))
1857                                             (|:| |commonBranch|
1858                                                  (|Record|
1859                                                   (|:| |name| (|Symbol|))
1860                                                   (|:| |contents|
1861                                                        (|List| (|Symbol|)))))
1862                                             (|:| |printBranch|
1863                                                  (|List| (|OutputForm|))))
1864                                    #1#))
1865                  $))
1866                ('T (|error| "Unsupported program construct.")))))))
1867
1868(SDEFUN |FC;printCode;$V;37| ((|f| $) ($ |Void|))
1869        (SEQ (SPADCALL (SPADCALL |f| (QREFELT $ 42)) (QREFELT $ 78))
1870             (EXIT (SPADCALL (QREFELT $ 79)))))
1871
1872(PUT '|FC;code;$U;38| '|SPADreplace| 'QCDR)
1873
1874(SDEFUN |FC;code;$U;38|
1875        ((|f| $)
1876         ($ |Union| (|:| |nullBranch| "null")
1877          (|:| |assignmentBranch|
1878               (|Record| (|:| |var| (|Symbol|))
1879                         (|:| |arrayIndex| (|List| (|Polynomial| (|Integer|))))
1880                         (|:| |rand|
1881                              (|Record| (|:| |ints2Floats?| (|Boolean|))
1882                                        (|:| |expr| (|OutputForm|))))))
1883          (|:| |arrayAssignmentBranch|
1884               (|Record| (|:| |var| (|Symbol|)) (|:| |rand| (|OutputForm|))
1885                         (|:| |ints2Floats?| (|Boolean|))))
1886          (|:| |conditionalBranch|
1887               (|Record| (|:| |switch| (|Switch|)) (|:| |thenClause| $)
1888                         (|:| |elseClause| $)))
1889          (|:| |returnBranch|
1890               (|Record| (|:| |empty?| (|Boolean|))
1891                         (|:| |value|
1892                              (|Record| (|:| |ints2Floats?| (|Boolean|))
1893                                        (|:| |expr| (|OutputForm|))))))
1894          (|:| |blockBranch| (|List| $))
1895          (|:| |commentBranch| (|List| (|String|)))
1896          (|:| |callBranch| (|String|))
1897          (|:| |forBranch|
1898               (|Record|
1899                (|:| |range| (|SegmentBinding| (|Polynomial| (|Integer|))))
1900                (|:| |span| (|Polynomial| (|Integer|))) (|:| |body| $)))
1901          (|:| |labelBranch| (|SingleInteger|))
1902          (|:| |loopBranch|
1903               (|Record| (|:| |switch| (|Switch|)) (|:| |body| $)))
1904          (|:| |commonBranch|
1905               (|Record| (|:| |name| (|Symbol|))
1906                         (|:| |contents| (|List| (|Symbol|)))))
1907          (|:| |printBranch| (|List| (|OutputForm|)))))
1908        (QCDR |f|))
1909
1910(PUT '|FC;operation;$U;39| '|SPADreplace| 'QCAR)
1911
1912(SDEFUN |FC;operation;$U;39|
1913        ((|f| $)
1914         ($ |Union| (|:| |Null| "null") (|:| |Assignment| "assignment")
1915          (|:| |Conditional| "conditional") (|:| |Return| "return")
1916          (|:| |Block| "block") (|:| |Comment| "comment") (|:| |Call| "call")
1917          (|:| |For| "for") (|:| |While| "while") (|:| |Repeat| "repeat")
1918          (|:| |Goto| "goto") (|:| |Continue| "continue")
1919          (|:| |ArrayAssignment| "arrayAssignment") (|:| |Save| "save")
1920          (|:| |Stop| "stop") (|:| |Common| "common") (|:| |Print| "print")))
1921        (QCAR |f|))
1922
1923(SDEFUN |FC;common;SL$;40|
1924        ((|name| |Symbol|) (|contents| |List| (|Symbol|)) ($ $))
1925        (CONS (CONS 15 "common") (CONS 11 (CONS |name| |contents|))))
1926
1927(SDEFUN |FC;stop;$;41| (($ $)) (CONS (CONS 14 "stop") (CONS 0 "null")))
1928
1929(SDEFUN |FC;save;$;42| (($ $)) (CONS (CONS 13 "save") (CONS 0 "null")))
1930
1931(SDEFUN |FC;printStatement;L$;43| ((|l| |List| (|OutputForm|)) ($ $))
1932        (CONS (CONS 16 "print") (CONS 12 |l|)))
1933
1934(SDEFUN |FC;comment;L$;44| ((|s| |List| (|String|)) ($ $))
1935        (CONS (CONS 5 "comment") (CONS 6 |s|)))
1936
1937(SDEFUN |FC;comment;S$;45| ((|s| |String|) ($ $))
1938        (CONS (CONS 5 "comment") (CONS 6 (SPADCALL |s| (QREFELT $ 87)))))
1939
1940(SDEFUN |FC;forLoop;Sb2$;46|
1941        ((|r| |SegmentBinding| (|Polynomial| (|Integer|))) (|body| $) ($ $))
1942        (CONS (CONS 7 "for")
1943              (CONS 8
1944                    (VECTOR |r|
1945                            (SPADCALL
1946                             (SPADCALL (SPADCALL |r| (QREFELT $ 75))
1947                                       (QREFELT $ 89))
1948                             (QREFELT $ 90))
1949                            |body|))))
1950
1951(SDEFUN |FC;forLoop;SbP2$;47|
1952        ((|r| |SegmentBinding| (|Polynomial| (|Integer|)))
1953         (|increment| |Polynomial| (|Integer|)) (|body| $) ($ $))
1954        (CONS (CONS 7 "for") (CONS 8 (VECTOR |r| |increment| |body|))))
1955
1956(SDEFUN |FC;gotoJump;Si$;48| ((|l| |SingleInteger|) ($ $))
1957        (CONS (CONS 10 "goto") (CONS 9 |l|)))
1958
1959(SDEFUN |FC;continue;Si$;49| ((|l| |SingleInteger|) ($ $))
1960        (CONS (CONS 11 "continue") (CONS 9 |l|)))
1961
1962(SDEFUN |FC;whileLoop;S2$;50| ((|sw| |Switch|) (|b| $) ($ $))
1963        (CONS (CONS 8 "while") (CONS 10 (CONS |sw| |b|))))
1964
1965(SDEFUN |FC;repeatUntilLoop;S2$;51| ((|sw| |Switch|) (|b| $) ($ $))
1966        (CONS (CONS 9 "repeat") (CONS 10 (CONS |sw| |b|))))
1967
1968(SDEFUN |FC;returns;$;52| (($ $))
1969        (SPROG
1970         ((|v|
1971           (|Record| (|:| |ints2Floats?| (|Boolean|))
1972                     (|:| |expr| (|OutputForm|)))))
1973         (SEQ
1974          (LETT |v| (CONS NIL (SPADCALL (|spadConstant| $ 96) (QREFELT $ 62))))
1975          (EXIT (CONS (CONS 3 "return") (CONS 4 (CONS 'T |v|)))))))
1976
1977(SDEFUN |FC;returns;E$;53| ((|v| |Expression| (|MachineInteger|)) ($ $))
1978        (CONS (CONS 3 "return")
1979              (CONS 4 (CONS NIL (CONS NIL (SPADCALL |v| (QREFELT $ 99)))))))
1980
1981(SDEFUN |FC;returns;E$;54| ((|v| |Expression| (|MachineFloat|)) ($ $))
1982        (CONS (CONS 3 "return")
1983              (CONS 4 (CONS NIL (CONS NIL (SPADCALL |v| (QREFELT $ 102)))))))
1984
1985(SDEFUN |FC;returns;E$;55| ((|v| |Expression| (|MachineComplex|)) ($ $))
1986        (CONS (CONS 3 "return")
1987              (CONS 4 (CONS NIL (CONS NIL (SPADCALL |v| (QREFELT $ 105)))))))
1988
1989(SDEFUN |FC;returns;E$;56| ((|v| |Expression| (|Integer|)) ($ $))
1990        (CONS (CONS 3 "return")
1991              (CONS 4 (CONS NIL (CONS NIL (SPADCALL |v| (QREFELT $ 108)))))))
1992
1993(SDEFUN |FC;returns;E$;57| ((|v| |Expression| (|Float|)) ($ $))
1994        (CONS (CONS 3 "return")
1995              (CONS 4 (CONS NIL (CONS NIL (SPADCALL |v| (QREFELT $ 111)))))))
1996
1997(SDEFUN |FC;returns;E$;58| ((|v| |Expression| (|Complex| (|Float|))) ($ $))
1998        (CONS (CONS 3 "return")
1999              (CONS 4 (CONS NIL (CONS NIL (SPADCALL |v| (QREFELT $ 114)))))))
2000
2001(SDEFUN |FC;block;L$;59| ((|l| |List| $) ($ $))
2002        (CONS (CONS 4 "block") (CONS 5 |l|)))
2003
2004(SDEFUN |FC;cond;S2$;60| ((|sw| |Switch|) (|thenC| $) ($ $))
2005        (CONS (CONS 2 "conditional")
2006              (CONS 3
2007                    (VECTOR |sw| |thenC|
2008                            (CONS (CONS 0 "null") (CONS 0 "null"))))))
2009
2010(SDEFUN |FC;cond;S3$;61| ((|sw| |Switch|) (|thenC| $) (|elseC| $) ($ $))
2011        (CONS (CONS 2 "conditional") (CONS 3 (VECTOR |sw| |thenC| |elseC|))))
2012
2013(SDEFUN |FC;coerce;$Of;62| ((|f| $) ($ |OutputForm|))
2014        (SPADCALL (QCAR |f|) (QREFELT $ 119)))
2015
2016(SDEFUN |FC;assign;SS$;63| ((|v| |Symbol|) (|rhs| |String|) ($ $))
2017        (CONS (CONS 1 "assignment")
2018              (CONS 1
2019                    (VECTOR |v| NIL
2020                            (CONS NIL (SPADCALL |rhs| (QREFELT $ 121)))))))
2021
2022(SDEFUN |FC;assign;SM$;64|
2023        ((|v| |Symbol|) (|rhs| |Matrix| (|MachineInteger|)) ($ $))
2024        (CONS (CONS 12 "arrayAssignment")
2025              (CONS 2 (VECTOR |v| (SPADCALL |rhs| (QREFELT $ 124)) NIL))))
2026
2027(SDEFUN |FC;assign;SM$;65|
2028        ((|v| |Symbol|) (|rhs| |Matrix| (|MachineFloat|)) ($ $))
2029        (CONS (CONS 12 "arrayAssignment")
2030              (CONS 2 (VECTOR |v| (SPADCALL |rhs| (QREFELT $ 127)) 'T))))
2031
2032(SDEFUN |FC;assign;SM$;66|
2033        ((|v| |Symbol|) (|rhs| |Matrix| (|MachineComplex|)) ($ $))
2034        (CONS (CONS 12 "arrayAssignment")
2035              (CONS 2 (VECTOR |v| (SPADCALL |rhs| (QREFELT $ 130)) 'T))))
2036
2037(SDEFUN |FC;assign;SV$;67|
2038        ((|v| |Symbol|) (|rhs| |Vector| (|MachineInteger|)) ($ $))
2039        (CONS (CONS 12 "arrayAssignment")
2040              (CONS 2 (VECTOR |v| (SPADCALL |rhs| (QREFELT $ 133)) NIL))))
2041
2042(SDEFUN |FC;assign;SV$;68|
2043        ((|v| |Symbol|) (|rhs| |Vector| (|MachineFloat|)) ($ $))
2044        (CONS (CONS 12 "arrayAssignment")
2045              (CONS 2 (VECTOR |v| (SPADCALL |rhs| (QREFELT $ 136)) 'T))))
2046
2047(SDEFUN |FC;assign;SV$;69|
2048        ((|v| |Symbol|) (|rhs| |Vector| (|MachineComplex|)) ($ $))
2049        (CONS (CONS 12 "arrayAssignment")
2050              (CONS 2 (VECTOR |v| (SPADCALL |rhs| (QREFELT $ 139)) 'T))))
2051
2052(SDEFUN |FC;assign;SM$;70|
2053        ((|v| |Symbol|) (|rhs| |Matrix| (|Expression| (|MachineInteger|)))
2054         ($ $))
2055        (CONS (CONS 12 "arrayAssignment")
2056              (CONS 2 (VECTOR |v| (SPADCALL |rhs| (QREFELT $ 142)) NIL))))
2057
2058(SDEFUN |FC;assign;SM$;71|
2059        ((|v| |Symbol|) (|rhs| |Matrix| (|Expression| (|MachineFloat|))) ($ $))
2060        (CONS (CONS 12 "arrayAssignment")
2061              (CONS 2 (VECTOR |v| (SPADCALL |rhs| (QREFELT $ 145)) 'T))))
2062
2063(SDEFUN |FC;assign;SM$;72|
2064        ((|v| |Symbol|) (|rhs| |Matrix| (|Expression| (|MachineComplex|)))
2065         ($ $))
2066        (CONS (CONS 12 "arrayAssignment")
2067              (CONS 2 (VECTOR |v| (SPADCALL |rhs| (QREFELT $ 148)) 'T))))
2068
2069(SDEFUN |FC;assign;SV$;73|
2070        ((|v| |Symbol|) (|rhs| |Vector| (|Expression| (|MachineInteger|)))
2071         ($ $))
2072        (CONS (CONS 12 "arrayAssignment")
2073              (CONS 2 (VECTOR |v| (SPADCALL |rhs| (QREFELT $ 151)) NIL))))
2074
2075(SDEFUN |FC;assign;SV$;74|
2076        ((|v| |Symbol|) (|rhs| |Vector| (|Expression| (|MachineFloat|))) ($ $))
2077        (CONS (CONS 12 "arrayAssignment")
2078              (CONS 2 (VECTOR |v| (SPADCALL |rhs| (QREFELT $ 154)) 'T))))
2079
2080(SDEFUN |FC;assign;SV$;75|
2081        ((|v| |Symbol|) (|rhs| |Vector| (|Expression| (|MachineComplex|)))
2082         ($ $))
2083        (CONS (CONS 12 "arrayAssignment")
2084              (CONS 2 (VECTOR |v| (SPADCALL |rhs| (QREFELT $ 157)) 'T))))
2085
2086(SDEFUN |FC;assign;SLE$;76|
2087        ((|v| |Symbol|) (|index| |List| (|Polynomial| (|Integer|)))
2088         (|rhs| |Expression| (|MachineInteger|)) ($ $))
2089        (CONS (CONS 1 "assignment")
2090              (CONS 1
2091                    (VECTOR |v| |index|
2092                            (CONS NIL (SPADCALL |rhs| (QREFELT $ 99)))))))
2093
2094(SDEFUN |FC;assign;SLE$;77|
2095        ((|v| |Symbol|) (|index| |List| (|Polynomial| (|Integer|)))
2096         (|rhs| |Expression| (|MachineFloat|)) ($ $))
2097        (CONS (CONS 1 "assignment")
2098              (CONS 1
2099                    (VECTOR |v| |index|
2100                            (CONS 'T (SPADCALL |rhs| (QREFELT $ 102)))))))
2101
2102(SDEFUN |FC;assign;SLE$;78|
2103        ((|v| |Symbol|) (|index| |List| (|Polynomial| (|Integer|)))
2104         (|rhs| |Expression| (|MachineComplex|)) ($ $))
2105        (CONS (CONS 1 "assignment")
2106              (CONS 1
2107                    (VECTOR |v| |index|
2108                            (CONS 'T (SPADCALL |rhs| (QREFELT $ 105)))))))
2109
2110(SDEFUN |FC;assign;SE$;79|
2111        ((|v| |Symbol|) (|rhs| |Expression| (|MachineInteger|)) ($ $))
2112        (CONS (CONS 1 "assignment")
2113              (CONS 1
2114                    (VECTOR |v| NIL
2115                            (CONS NIL (SPADCALL |rhs| (QREFELT $ 99)))))))
2116
2117(SDEFUN |FC;assign;SE$;80|
2118        ((|v| |Symbol|) (|rhs| |Expression| (|MachineFloat|)) ($ $))
2119        (CONS (CONS 1 "assignment")
2120              (CONS 1
2121                    (VECTOR |v| NIL
2122                            (CONS 'T (SPADCALL |rhs| (QREFELT $ 102)))))))
2123
2124(SDEFUN |FC;assign;SE$;81|
2125        ((|v| |Symbol|) (|rhs| |Expression| (|MachineComplex|)) ($ $))
2126        (CONS (CONS 1 "assignment")
2127              (CONS 1
2128                    (VECTOR |v| NIL
2129                            (CONS 'T (SPADCALL |rhs| (QREFELT $ 105)))))))
2130
2131(SDEFUN |FC;assign;SM$;82|
2132        ((|v| |Symbol|) (|rhs| |Matrix| (|Expression| (|Integer|))) ($ $))
2133        (CONS (CONS 12 "arrayAssignment")
2134              (CONS 2 (VECTOR |v| (SPADCALL |rhs| (QREFELT $ 166)) NIL))))
2135
2136(SDEFUN |FC;assign;SM$;83|
2137        ((|v| |Symbol|) (|rhs| |Matrix| (|Expression| (|Float|))) ($ $))
2138        (CONS (CONS 12 "arrayAssignment")
2139              (CONS 2 (VECTOR |v| (SPADCALL |rhs| (QREFELT $ 169)) 'T))))
2140
2141(SDEFUN |FC;assign;SM$;84|
2142        ((|v| |Symbol|) (|rhs| |Matrix| (|Expression| (|Complex| (|Float|))))
2143         ($ $))
2144        (CONS (CONS 12 "arrayAssignment")
2145              (CONS 2 (VECTOR |v| (SPADCALL |rhs| (QREFELT $ 172)) 'T))))
2146
2147(SDEFUN |FC;assign;SV$;85|
2148        ((|v| |Symbol|) (|rhs| |Vector| (|Expression| (|Integer|))) ($ $))
2149        (CONS (CONS 12 "arrayAssignment")
2150              (CONS 2 (VECTOR |v| (SPADCALL |rhs| (QREFELT $ 175)) NIL))))
2151
2152(SDEFUN |FC;assign;SV$;86|
2153        ((|v| |Symbol|) (|rhs| |Vector| (|Expression| (|Float|))) ($ $))
2154        (CONS (CONS 12 "arrayAssignment")
2155              (CONS 2 (VECTOR |v| (SPADCALL |rhs| (QREFELT $ 178)) 'T))))
2156
2157(SDEFUN |FC;assign;SV$;87|
2158        ((|v| |Symbol|) (|rhs| |Vector| (|Expression| (|Complex| (|Float|))))
2159         ($ $))
2160        (CONS (CONS 12 "arrayAssignment")
2161              (CONS 2 (VECTOR |v| (SPADCALL |rhs| (QREFELT $ 181)) 'T))))
2162
2163(SDEFUN |FC;assign;SLE$;88|
2164        ((|v| |Symbol|) (|index| |List| (|Polynomial| (|Integer|)))
2165         (|rhs| |Expression| (|Integer|)) ($ $))
2166        (CONS (CONS 1 "assignment")
2167              (CONS 1
2168                    (VECTOR |v| |index|
2169                            (CONS NIL (SPADCALL |rhs| (QREFELT $ 108)))))))
2170
2171(SDEFUN |FC;assign;SLE$;89|
2172        ((|v| |Symbol|) (|index| |List| (|Polynomial| (|Integer|)))
2173         (|rhs| |Expression| (|Float|)) ($ $))
2174        (CONS (CONS 1 "assignment")
2175              (CONS 1
2176                    (VECTOR |v| |index|
2177                            (CONS 'T (SPADCALL |rhs| (QREFELT $ 111)))))))
2178
2179(SDEFUN |FC;assign;SLE$;90|
2180        ((|v| |Symbol|) (|index| |List| (|Polynomial| (|Integer|)))
2181         (|rhs| |Expression| (|Complex| (|Float|))) ($ $))
2182        (CONS (CONS 1 "assignment")
2183              (CONS 1
2184                    (VECTOR |v| |index|
2185                            (CONS 'T (SPADCALL |rhs| (QREFELT $ 114)))))))
2186
2187(SDEFUN |FC;assign;SE$;91|
2188        ((|v| |Symbol|) (|rhs| |Expression| (|Integer|)) ($ $))
2189        (CONS (CONS 1 "assignment")
2190              (CONS 1
2191                    (VECTOR |v| NIL
2192                            (CONS NIL (SPADCALL |rhs| (QREFELT $ 108)))))))
2193
2194(SDEFUN |FC;assign;SE$;92|
2195        ((|v| |Symbol|) (|rhs| |Expression| (|Float|)) ($ $))
2196        (CONS (CONS 1 "assignment")
2197              (CONS 1
2198                    (VECTOR |v| NIL
2199                            (CONS 'T (SPADCALL |rhs| (QREFELT $ 111)))))))
2200
2201(SDEFUN |FC;assign;SE$;93|
2202        ((|v| |Symbol|) (|rhs| |Expression| (|Complex| (|Float|))) ($ $))
2203        (CONS (CONS 1 "assignment")
2204              (CONS 1
2205                    (VECTOR |v| NIL
2206                            (CONS 'T (SPADCALL |rhs| (QREFELT $ 114)))))))
2207
2208(SDEFUN |FC;call;S$;94| ((|s| |String|) ($ $))
2209        (CONS (CONS 6 "call") (CONS 7 |s|)))
2210
2211(DECLAIM (NOTINLINE |FortranCode;|))
2212
2213(DEFUN |FortranCode| ()
2214  (SPROG NIL
2215         (PROG (#1=#:G2592)
2216           (RETURN
2217            (COND
2218             ((LETT #1# (HGET |$ConstructorCache| '|FortranCode|))
2219              (|CDRwithIncrement| (CDAR #1#)))
2220             ('T
2221              (UNWIND-PROTECT
2222                  (PROG1
2223                      (CDDAR
2224                       (HPUT |$ConstructorCache| '|FortranCode|
2225                             (LIST (CONS NIL (CONS 1 (|FortranCode;|))))))
2226                    (LETT #1# T))
2227                (COND
2228                 ((NOT #1#) (HREM |$ConstructorCache| '|FortranCode|))))))))))
2229
2230(DEFUN |FortranCode;| ()
2231  (SPROG ((|dv$| NIL) ($ NIL) (|pv$| NIL))
2232         (PROGN
2233          (LETT |dv$| '(|FortranCode|))
2234          (LETT $ (GETREFV 191))
2235          (QSETREFV $ 0 |dv$|)
2236          (QSETREFV $ 3 (LETT |pv$| (|buildPredVector| 0 0 NIL)))
2237          (|haddProp| |$ConstructorCache| '|FortranCode| NIL (CONS 1 $))
2238          (|stuffDomainSlots| $)
2239          (SETF |pv$| (QREFELT $ 3))
2240          (QSETREFV $ 33
2241                    (|Record|
2242                     (|:| |op|
2243                          (|Union| (|:| |Null| #1="null")
2244                                   (|:| |Assignment| "assignment")
2245                                   (|:| |Conditional| "conditional")
2246                                   (|:| |Return| "return")
2247                                   (|:| |Block| "block")
2248                                   (|:| |Comment| "comment")
2249                                   (|:| |Call| "call") (|:| |For| "for")
2250                                   (|:| |While| "while")
2251                                   (|:| |Repeat| "repeat") (|:| |Goto| "goto")
2252                                   (|:| |Continue| "continue")
2253                                   (|:| |ArrayAssignment| "arrayAssignment")
2254                                   (|:| |Save| "save") (|:| |Stop| "stop")
2255                                   (|:| |Common| "common")
2256                                   (|:| |Print| "print")))
2257                     (|:| |data|
2258                          (|Union| (|:| |nullBranch| #1#)
2259                                   (|:| |assignmentBranch|
2260                                        (|Record| (|:| |var| (|Symbol|))
2261                                                  (|:| |arrayIndex|
2262                                                       (|List|
2263                                                        (|Polynomial|
2264                                                         (|Integer|))))
2265                                                  (|:| |rand|
2266                                                       (|Record|
2267                                                        (|:| |ints2Floats?|
2268                                                             (|Boolean|))
2269                                                        (|:| |expr|
2270                                                             (|OutputForm|))))))
2271                                   (|:| |arrayAssignmentBranch|
2272                                        (|Record| (|:| |var| (|Symbol|))
2273                                                  (|:| |rand| (|OutputForm|))
2274                                                  (|:| |ints2Floats?|
2275                                                       (|Boolean|))))
2276                                   (|:| |conditionalBranch|
2277                                        (|Record| (|:| |switch| (|Switch|))
2278                                                  (|:| |thenClause| $)
2279                                                  (|:| |elseClause| $)))
2280                                   (|:| |returnBranch|
2281                                        (|Record| (|:| |empty?| (|Boolean|))
2282                                                  (|:| |value|
2283                                                       (|Record|
2284                                                        (|:| |ints2Floats?|
2285                                                             (|Boolean|))
2286                                                        (|:| |expr|
2287                                                             (|OutputForm|))))))
2288                                   (|:| |blockBranch| (|List| $))
2289                                   (|:| |commentBranch| (|List| (|String|)))
2290                                   (|:| |callBranch| (|String|))
2291                                   (|:| |forBranch|
2292                                        (|Record|
2293                                         (|:| |range|
2294                                              (|SegmentBinding|
2295                                               (|Polynomial| (|Integer|))))
2296                                         (|:| |span|
2297                                              (|Polynomial| (|Integer|)))
2298                                         (|:| |body| $)))
2299                                   (|:| |labelBranch| (|SingleInteger|))
2300                                   (|:| |loopBranch|
2301                                        (|Record| (|:| |switch| (|Switch|))
2302                                                  (|:| |body| $)))
2303                                   (|:| |commonBranch|
2304                                        (|Record| (|:| |name| (|Symbol|))
2305                                                  (|:| |contents|
2306                                                       (|List| (|Symbol|)))))
2307                                   (|:| |printBranch|
2308                                        (|List| (|OutputForm|)))))))
2309          (QSETREFV $ 34 25000)
2310          $)))
2311
2312(MAKEPROP '|FortranCode| '|infovec|
2313          (LIST
2314           '#(NIL NIL NIL NIL NIL NIL (|OutputForm|) (|Symbol|) (0 . |coerce|)
2315              (|List| $) (5 . |elt|) (|List| 25) (|Boolean|)
2316              (|FortranCodeTools|) (11 . |getStatement|)
2317              (17 . |statement2Fortran|) (|Void|) (|Integer|)
2318              (22 . |changeExprLength|) (27 . |append|) (|Mapping| 11)
2319              (33 . |do_with_error_env1|) (38 . |fort_clean_lines|)
2320              (|UniversalSegment| 17) (43 . SEGMENT) (|String|) (48 . |elt|)
2321              (|Mapping| 7) (54 . |expression2Fortran1|) (|NonNegativeInteger|)
2322              (61 . |first|) (67 . |do_with_error_env2|) (73 . |string|) '|Rep|
2323              '|labelValue| (|SingleInteger|) |FC;setLabelValue;2Si;15|
2324              (|Polynomial| 17) (78 . |One|) (82 . |elt|)
2325              (88 . |expression2Fortran|) (93 . |indentFortLevel|)
2326              |FC;getCode;$L;36|
2327              (|Union| (|:| |Null| '"null") (|:| |Assignment| '"assignment")
2328                       (|:| |Conditional| '"conditional")
2329                       (|:| |Return| '"return") (|:| |Block| '"block")
2330                       (|:| |Comment| '"comment") (|:| |Call| '"call")
2331                       (|:| |For| '"for") (|:| |While| '"while")
2332                       (|:| |Repeat| '"repeat") (|:| |Goto| '"goto")
2333                       (|:| |Continue| '"continue")
2334                       (|:| |ArrayAssignment| '"arrayAssignment")
2335                       (|:| |Save| '"save") (|:| |Stop| '"stop")
2336                       (|:| |Common| '"common") (|:| |Print| '"print"))
2337              |FC;operation;$U;39|
2338              (|Record| (|:| |ints2Floats?| 12) (|:| |expr| 6))
2339              (|Record| (|:| |var| 7) (|:| |arrayIndex| 65) (|:| |rand| 45))
2340              (|Record| (|:| |var| 7) (|:| |rand| 6) (|:| |ints2Floats?| 12))
2341              (|Record| (|:| |switch| 55) (|:| |thenClause| $)
2342                        (|:| |elseClause| $))
2343              (|Record| (|:| |empty?| 12) (|:| |value| 45))
2344              (|Record| (|:| |range| 68) (|:| |span| 37) (|:| |body| $))
2345              (|Record| (|:| |switch| 55) (|:| |body| $))
2346              (|Record| (|:| |name| 7) (|:| |contents| 81))
2347              (|Union| (|:| |nullBranch| '"null") (|:| |assignmentBranch| 46)
2348                       (|:| |arrayAssignmentBranch| 47)
2349                       (|:| |conditionalBranch| 48) (|:| |returnBranch| 49)
2350                       (|:| |blockBranch| 9) (|:| |commentBranch| 11)
2351                       (|:| |callBranch| 25) (|:| |forBranch| 50)
2352                       (|:| |labelBranch| 35) (|:| |loopBranch| 51)
2353                       (|:| |commonBranch| 52) (|:| |printBranch| 63))
2354              |FC;code;$U;38| (|Switch|) (98 . |coerce|)
2355              (103 . |get_fort_indent|) (107 . |hspace|) (112 . NOT)
2356              |FC;gotoJump;Si$;48| (117 . |concat|) (122 . |coerce|) (|List| 6)
2357              (|Mapping| 6 37) (|List| 37) (|ListFunctions2| 37 6)
2358              (127 . |map|) (|SegmentBinding| 37) (133 . |variable|)
2359              (|FortranType|) (138 . |fortranInteger|) (|TheSymbolTable|)
2360              (142 . |declare!|) (|Segment| 37) (148 . |segment|) (153 . |low|)
2361              (158 . |high|) (163 . |displayLines|) (168 . |void|)
2362              |FC;printCode;$V;37| (|List| 7) |FC;common;SL$;40| |FC;stop;$;41|
2363              |FC;save;$;42| |FC;printStatement;L$;43| |FC;comment;L$;44|
2364              (172 . |list|) |FC;comment;S$;45| (177 . |incr|) (182 . |coerce|)
2365              |FC;forLoop;Sb2$;46| |FC;forLoop;SbP2$;47| |FC;continue;Si$;49|
2366              |FC;whileLoop;S2$;50| |FC;repeatUntilLoop;S2$;51| (187 . |Zero|)
2367              |FC;returns;$;52| (|Expression| (|MachineInteger|))
2368              (191 . |coerce|) |FC;returns;E$;53|
2369              (|Expression| (|MachineFloat|)) (196 . |coerce|)
2370              |FC;returns;E$;54| (|Expression| (|MachineComplex|))
2371              (201 . |coerce|) |FC;returns;E$;55| (|Expression| 17)
2372              (206 . |coerce|) |FC;returns;E$;56| (|Expression| (|Float|))
2373              (211 . |coerce|) |FC;returns;E$;57|
2374              (|Expression| (|Complex| (|Float|))) (216 . |coerce|)
2375              |FC;returns;E$;58| |FC;block;L$;59| |FC;cond;S2$;60|
2376              |FC;cond;S3$;61| (221 . |coerce|) |FC;coerce;$Of;62|
2377              (226 . |coerce|) |FC;assign;SS$;63| (|Matrix| (|MachineInteger|))
2378              (231 . |coerce|) |FC;assign;SM$;64| (|Matrix| (|MachineFloat|))
2379              (236 . |coerce|) |FC;assign;SM$;65| (|Matrix| (|MachineComplex|))
2380              (241 . |coerce|) |FC;assign;SM$;66| (|Vector| (|MachineInteger|))
2381              (246 . |coerce|) |FC;assign;SV$;67| (|Vector| (|MachineFloat|))
2382              (251 . |coerce|) |FC;assign;SV$;68| (|Vector| (|MachineComplex|))
2383              (256 . |coerce|) |FC;assign;SV$;69| (|Matrix| 98)
2384              (261 . |coerce|) |FC;assign;SM$;70| (|Matrix| 101)
2385              (266 . |coerce|) |FC;assign;SM$;71| (|Matrix| 104)
2386              (271 . |coerce|) |FC;assign;SM$;72| (|Vector| 98)
2387              (276 . |coerce|) |FC;assign;SV$;73| (|Vector| 101)
2388              (281 . |coerce|) |FC;assign;SV$;74| (|Vector| 104)
2389              (286 . |coerce|) |FC;assign;SV$;75| |FC;assign;SLE$;76|
2390              |FC;assign;SLE$;77| |FC;assign;SLE$;78| |FC;assign;SE$;79|
2391              |FC;assign;SE$;80| |FC;assign;SE$;81| (|Matrix| 107)
2392              (291 . |coerce|) |FC;assign;SM$;82| (|Matrix| 110)
2393              (296 . |coerce|) |FC;assign;SM$;83| (|Matrix| 113)
2394              (301 . |coerce|) |FC;assign;SM$;84| (|Vector| 107)
2395              (306 . |coerce|) |FC;assign;SV$;85| (|Vector| 110)
2396              (311 . |coerce|) |FC;assign;SV$;86| (|Vector| 113)
2397              (316 . |coerce|) |FC;assign;SV$;87| |FC;assign;SLE$;88|
2398              |FC;assign;SLE$;89| |FC;assign;SLE$;90| |FC;assign;SE$;91|
2399              |FC;assign;SE$;92| |FC;assign;SE$;93| |FC;call;S$;94|
2400              (|HashState|))
2401           '#(~= 321 |whileLoop| 327 |stop| 333 |setLabelValue| 337 |save| 342
2402              |returns| 346 |repeatUntilLoop| 380 |printStatement| 386
2403              |printCode| 391 |operation| 396 |latex| 401 |hashUpdate!| 406
2404              |hash| 412 |gotoJump| 417 |getCode| 422 |forLoop| 427 |continue|
2405              440 |cond| 445 |common| 458 |comment| 464 |coerce| 474 |code| 479
2406              |call| 484 |block| 489 |assign| 494 = 686)
2407           'NIL
2408           (CONS (|makeByteWordVec2| 1 '(0 0 0))
2409                 (CONS '#(|SetCategory&| |BasicType&| NIL)
2410                       (CONS
2411                        '#((|SetCategory|) (|BasicType|) (|CoercibleTo| 6))
2412                        (|makeByteWordVec2| 190
2413                                            '(1 7 6 0 8 2 6 0 0 9 10 2 13 11 6
2414                                              12 14 1 13 11 6 15 1 13 16 17 18
2415                                              2 11 0 0 0 19 1 13 11 20 21 1 13
2416                                              11 11 22 1 23 0 17 24 2 25 0 0 23
2417                                              26 3 13 11 27 6 12 28 2 11 0 0 29
2418                                              30 2 13 11 12 20 31 1 7 25 0 32 0
2419                                              37 0 38 2 11 25 0 17 39 1 13 11 6
2420                                              40 1 13 16 17 41 1 55 6 0 56 0 13
2421                                              17 57 1 6 0 17 58 1 55 0 0 59 1
2422                                              11 0 9 61 1 37 6 0 62 2 66 63 64
2423                                              65 67 1 68 7 0 69 0 70 0 71 2 72
2424                                              70 7 70 73 1 68 74 0 75 1 74 37 0
2425                                              76 1 74 37 0 77 1 13 16 11 78 0
2426                                              16 0 79 1 11 0 25 87 1 74 17 0 89
2427                                              1 37 0 17 90 0 37 0 96 1 98 6 0
2428                                              99 1 101 6 0 102 1 104 6 0 105 1
2429                                              107 6 0 108 1 110 6 0 111 1 113 6
2430                                              0 114 1 43 6 0 119 1 25 6 0 121 1
2431                                              123 6 0 124 1 126 6 0 127 1 129 6
2432                                              0 130 1 132 6 0 133 1 135 6 0 136
2433                                              1 138 6 0 139 1 141 6 0 142 1 144
2434                                              6 0 145 1 147 6 0 148 1 150 6 0
2435                                              151 1 153 6 0 154 1 156 6 0 157 1
2436                                              165 6 0 166 1 168 6 0 169 1 171 6
2437                                              0 172 1 174 6 0 175 1 177 6 0 178
2438                                              1 180 6 0 181 2 0 12 0 0 1 2 0 0
2439                                              55 0 94 0 0 0 83 1 0 35 35 36 0 0
2440                                              0 84 1 0 0 113 115 1 0 0 110 112
2441                                              1 0 0 107 109 1 0 0 98 100 1 0 0
2442                                              104 106 0 0 0 97 1 0 0 101 103 2
2443                                              0 0 55 0 95 1 0 0 63 85 1 0 16 0
2444                                              80 1 0 43 0 44 1 0 25 0 1 2 0 190
2445                                              190 0 1 1 0 35 0 1 1 0 0 35 60 1
2446                                              0 11 0 42 3 0 0 68 37 0 92 2 0 0
2447                                              68 0 91 1 0 0 35 93 3 0 0 55 0 0
2448                                              118 2 0 0 55 0 117 2 0 0 7 81 82
2449                                              1 0 0 11 86 1 0 0 25 88 1 0 6 0
2450                                              120 1 0 53 0 54 1 0 0 25 189 1 0
2451                                              0 9 116 3 0 0 7 65 110 184 3 0 0
2452                                              7 65 113 185 2 0 0 7 180 182 3 0
2453                                              0 7 65 107 183 2 0 0 7 174 176 2
2454                                              0 0 7 177 179 2 0 0 7 168 170 2 0
2455                                              0 7 171 173 2 0 0 7 113 188 2 0 0
2456                                              7 165 167 2 0 0 7 107 186 2 0 0 7
2457                                              110 187 3 0 0 7 65 101 160 3 0 0
2458                                              7 65 104 161 2 0 0 7 156 158 3 0
2459                                              0 7 65 98 159 2 0 0 7 150 152 2 0
2460                                              0 7 153 155 2 0 0 7 144 146 2 0 0
2461                                              7 147 149 2 0 0 7 138 140 2 0 0 7
2462                                              141 143 2 0 0 7 132 134 2 0 0 7
2463                                              135 137 2 0 0 7 126 128 2 0 0 7
2464                                              129 131 2 0 0 7 104 164 2 0 0 7
2465                                              123 125 2 0 0 7 98 162 2 0 0 7
2466                                              101 163 2 0 0 7 25 122 2 0 12 0 0
2467                                              1)))))
2468           '|lookupComplete|))
2469
2470(MAKEPROP '|FortranCode| 'NILADIC T)
2471