~ubuntu-branches/ubuntu/karmic/maxima/karmic

« back to all changes in this revision

Viewing changes to share/physics/gamcon.lisp

  • Committer: Bazaar Package Importer
  • Author(s): Camm Maguire
  • Date: 2004-11-13 18:39:14 UTC
  • mto: (2.1.2 hoary) (3.2.1 sid) (1.1.5 upstream)
  • mto: This revision was merged to the branch mainline in revision 3.
  • Revision ID: james.westby@ubuntu.com-20041113183914-ttig0evwuatnqosl
Tags: upstream-5.9.1
ImportĀ upstreamĀ versionĀ 5.9.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
 
2
 
        (SETQ IBASE 8.)
3
 
 
4
 
        (SETQ SAVENO 5454)
5
 
 
6
 
        (DEFPROP $ROR (LAMBDA ($LIST) (SIMPLIFY ($REOR $LIST 1))) EXPR)
7
 
 
8
 
        (ARGS '$ROR '(NIL . 1))
9
 
 
10
 
        (DEFPROP $ROR T TRANSLATED)
11
 
 
12
 
        (ADD2LNC '$ROR $PROPS)
13
 
 
14
 
        (MDEFPROP $ROR ((LAMBDA) ((MLIST) $LIST) (($REOR) $LIST 1)) MEXPR)
15
 
 
16
 
        (ARGS '$ROR '(NIL . 1))
17
 
 
18
 
        (ADD2LNC '(($ROR) $LIST) $FUNCTIONS)
19
 
 
20
 
        (DEFPROP $DCON
21
 
                 (LAMBDA ($EXP) 
22
 
                   (COND ((AND (LIKE ($PART $EXP 1) ($PART $EXP 2))
23
 
                               ($MEMBER ($PART $EXP 1) (TRD-MSYMEVAL $IND)))
24
 
                          (TRD-MSYMEVAL $N))
25
 
                         (T $EXP)))
26
 
                 EXPR)
27
 
 
28
 
        (ARGS '$DCON '(NIL . 1))
29
 
 
30
 
        (DEFPROP $DCON T TRANSLATED)
31
 
 
32
 
        (ADD2LNC '$DCON $PROPS)
33
 
 
34
 
        (MDEFPROP $DCON
35
 
                  ((LAMBDA)
36
 
                   ((MLIST) $EXP)
37
 
                   ((MCOND)
38
 
                    ((MAND)
39
 
                     ((MEQUAL) (($PART) $EXP 1) (($PART) $EXP 2))
40
 
                     (($MEMBER) (($PART) $EXP 1) $IND))
41
 
                    $N
42
 
                    T
43
 
                    $EXP))
44
 
                  MEXPR)
45
 
 
46
 
        (ARGS '$DCON '(NIL . 1))
47
 
 
48
 
        (ADD2LNC '(($DCON) $EXP) $FUNCTIONS)
49
 
 
50
 
        (DEFPROP $SER
51
 
                 (LAMBDA ($LIST) 
52
 
                   ((LAMBDA ($SOBS $COBS) 
53
 
                      (PROG NIL 
54
 
                            (SETQ $COBS 1)
55
 
                            (COND ((LIKE $LIST
56
 
                                         (LIST '(MLIST)
57
 
                                               '((MLIST))))
58
 
                                   (RETURN 1)))
59
 
                       $BEG (SETQ $SOBS (SIMPLIFY ($SER1 $LIST)))
60
 
                            (COND ((LIKE ($PART $SOBS 2)
61
 
                                         (LIST '(MLIST)
62
 
                                               '((MLIST))))
63
 
                                   (RETURN (MUL* $COBS ($PART $SOBS 1)))))
64
 
                            (SETQ $COBS (MUL* $COBS ($PART $SOBS 1)))
65
 
                            (SETQ $LIST ($PART $SOBS 2))
66
 
                            (GO $BEG)))
67
 
                    '$SOBS
68
 
                    '$COBS))
69
 
                 EXPR)
70
 
 
71
 
        (ARGS '$SER '(NIL . 1))
72
 
 
73
 
        (DEFPROP $SER T TRANSLATED)
74
 
 
75
 
        (ADD2LNC '$SER $PROPS)
76
 
 
77
 
        (MDEFPROP $SER
78
 
                  ((LAMBDA)
79
 
                   ((MLIST) $LIST)
80
 
                   ((MPROG)
81
 
                    ((MLIST) $SOBS $COBS)
82
 
                    ((MSETQ) $COBS 1)
83
 
                    ((MCOND)
84
 
                     ((MEQUAL) $LIST ((MLIST) ((MLIST))))
85
 
                     ((MRETURN) 1)
86
 
                     T
87
 
                     $FALSE)
88
 
                    $BEG
89
 
                    ((MSETQ) $SOBS (($SER1) $LIST))
90
 
                    ((MCOND)
91
 
                     ((MEQUAL) (($PART) $SOBS 2) ((MLIST) ((MLIST))))
92
 
                     ((MRETURN) ((MTIMES) $COBS (($PART) $SOBS 1)))
93
 
                     T
94
 
                     $FALSE)
95
 
                    ((MSETQ) $COBS ((MTIMES) $COBS (($PART) $SOBS 1)))
96
 
                    ((MSETQ) $LIST (($PART) $SOBS 2))
97
 
                    ((MGO) $BEG)))
98
 
                  MEXPR)
99
 
 
100
 
        (ARGS '$SER '(NIL . 1))
101
 
 
102
 
        (ADD2LNC '(($SER) $LIST) $FUNCTIONS)
103
 
 
104
 
        (DEFPROP
105
 
         $SWAP
106
 
         (LAMBDA ($LIST $I) 
107
 
           ((LAMBDA ($L $LI $LIP $A1 $A2) 
108
 
              (PROG NIL 
109
 
                    (SETQ $L (MEVAL '(($LISBRE) $LIST $I)))
110
 
                    (SETQ $LI ($PART $LIST $I))
111
 
                    (SETQ $LIP ($PART $LIST (ADD* $I 1)))
112
 
                    (SETQ $A1 ($APPEND ($PART $L 1) ($REST ($PART $L 2) 1)))
113
 
                    (SETQ $A2 ($APPEND ($PART $L 1)
114
 
                                       (LIST '(MLIST) $LIP $LI)
115
 
                                       ($REST ($PART $L 2) 1)))
116
 
                    (COND ((OR ($MEMBER $LI (TRD-MSYMEVAL $IND))
117
 
                               ($MEMBER $LIP (TRD-MSYMEVAL $IND)))
118
 
                           (GO $CON))
119
 
                          (T (GO $ON)))
120
 
               $ON  (RETURN (ADD* (MUL* 2
121
 
                                        (MEVAL '(($SOR) $LI $LIP))
122
 
                                        (SIMPLIFY ($REOR $A1 1)))
123
 
                                  (SIMPLIFY (LIST '(MMINUS)
124
 
                                                  (SIMPLIFY ($REOR $A2 1))))))
125
 
               $CON (COND
126
 
                     ((LIKE $LI $LIP)
127
 
                      (RETURN
128
 
                       (ADD* (MUL* 2
129
 
                                   (TRD-MSYMEVAL $N)
130
 
                                   (SIMPLIFY ($CRUNCH $A1)))
131
 
                             (SIMPLIFY (LIST '(MMINUS)
132
 
                                             (SIMPLIFY ($CRUNCH $A2))))))))
133
 
                    (COND ((AND (IS ($FREEOF ($PART $LIST $I) $A1))
134
 
                                (IS ($FREEOF ($PART $LIST (ADD* $I 1)) $A1)))
135
 
                           (GO $ON)))
136
 
                    (COND
137
 
                     (($MEMBER $LI (TRD-MSYMEVAL $IND))
138
 
                      (RETURN
139
 
                       (ADD*
140
 
                        (MUL*
141
 
                         2
142
 
                         (SIMPLIFY
143
 
                          ($CRUNCH
144
 
                           (SIMPLIFY (MAPPLY (TRD-MSYMEVAL $EV)
145
 
                                             (LIST $A1
146
 
                                                   (MEVAL '((MEQUAL)
147
 
                                                            $LI
148
 
                                                            $LIP)))
149
 
                                             '$EV)))))
150
 
                        (SIMPLIFY (LIST '(MMINUS)
151
 
                                        (SIMPLIFY ($CRUNCH $A2))))))))
152
 
                    (RETURN
153
 
                     (ADD*
154
 
                      (MUL*
155
 
                       2
156
 
                       (SIMPLIFY
157
 
                        ($CRUNCH (SIMPLIFY (MAPPLY (TRD-MSYMEVAL $EV)
158
 
                                                   (LIST $A1
159
 
                                                         (MEVAL '((MEQUAL)
160
 
                                                                  $LIP
161
 
                                                                  $LI)))
162
 
                                                   '$EV)))))
163
 
                      (SIMPLIFY (LIST '(MMINUS)
164
 
                                      (SIMPLIFY ($CRUNCH $A2))))))))
165
 
            '$L
166
 
            '$LI
167
 
            '$LIP
168
 
            '$A1
169
 
            '$A2))
170
 
         EXPR)
171
 
 
172
 
        (ARGS '$SWAP '(NIL . 2))
173
 
 
174
 
        (DEFPROP $SWAP T TRANSLATED)
175
 
 
176
 
        (ADD2LNC '$SWAP $PROPS)
177
 
 
178
 
        (MDEFPROP $SWAP
179
 
                  ((LAMBDA)
180
 
                   ((MLIST) $LIST $I)
181
 
                   ((MPROG)
182
 
                    ((MLIST) $L $LI $LIP $A1 $A2)
183
 
                    ((MSETQ) $L (($LISBRE) $LIST $I))
184
 
                    ((MSETQ) $LI (($PART) $LIST $I))
185
 
                    ((MSETQ) $LIP (($PART) $LIST ((MPLUS) $I 1)))
186
 
                    ((MSETQ)
187
 
                     $A1
188
 
                     (($APPEND) (($PART) $L 1) (($REST) (($PART) $L 2) 1)))
189
 
                    ((MSETQ)
190
 
                     $A2
191
 
                     (($APPEND)
192
 
                      (($PART) $L 1)
193
 
                      ((MLIST) $LIP $LI)
194
 
                      (($REST) (($PART) $L 2) 1)))
195
 
                    ((MCOND)
196
 
                     ((MOR) (($MEMBER) $LI $IND) (($MEMBER) $LIP $IND))
197
 
                     ((MGO) $CON)
198
 
                     T
199
 
                     ((MGO) $ON))
200
 
                    $ON
201
 
                    ((MRETURN)
202
 
                     ((MPLUS)
203
 
                      ((MTIMES) 2 (($SOR) $LI $LIP) (($REOR) $A1 1))
204
 
                      ((MMINUS) (($REOR) $A2 1))))
205
 
                    $CON
206
 
                    ((MCOND)
207
 
                     ((MEQUAL) $LI $LIP)
208
 
                     ((MRETURN)
209
 
                      ((MPLUS)
210
 
                       ((MTIMES) 2 $N (($CRUNCH) $A1))
211
 
                       ((MMINUS) (($CRUNCH) $A2))))
212
 
                     T
213
 
                     $FALSE)
214
 
                    ((MCOND)
215
 
                     ((MAND)
216
 
                      (($FREEOF) (($PART) $LIST $I) $A1)
217
 
                      (($FREEOF) (($PART) $LIST ((MPLUS) $I 1)) $A1))
218
 
                     ((MGO) $ON)
219
 
                     T
220
 
                     $FALSE)
221
 
                    ((MCOND)
222
 
                     (($MEMBER) $LI $IND)
223
 
                     ((MRETURN)
224
 
                      ((MPLUS)
225
 
                       ((MTIMES)
226
 
                        2
227
 
                        (($CRUNCH)
228
 
                         (($APPLY) $EV ((MLIST) $A1 ((MEQUAL) $LI $LIP)))))
229
 
                       ((MMINUS) (($CRUNCH) $A2))))
230
 
                     T
231
 
                     $FALSE)
232
 
                    ((MRETURN)
233
 
                     ((MPLUS)
234
 
                      ((MTIMES)
235
 
                       2
236
 
                       (($CRUNCH)
237
 
                        (($APPLY) $EV ((MLIST) $A1 ((MEQUAL) $LIP $LI)))))
238
 
                      ((MMINUS) (($CRUNCH) $A2))))))
239
 
                  MEXPR)
240
 
 
241
 
        (ARGS '$SWAP '(NIL . 2))
242
 
 
243
 
        (ADD2LNC '(($SWAP) $LIST $I) $FUNCTIONS)
244
 
 
245
 
        (DEFPROP
246
 
         $CRUNCH1
247
 
         (LAMBDA ($EXP) 
248
 
           ((LAMBDA ($QW) 
249
 
              (SETQ $QW (SIMPLIFY ($SUBSTITUTE (TRD-MSYMEVAL $CRUNCH0)
250
 
                                               (TRD-MSYMEVAL $G)
251
 
                                               $EXP)))
252
 
              (SIMPLIFY ($EV $QW)))
253
 
            '$QW))
254
 
         EXPR)
255
 
 
256
 
        (ARGS '$CRUNCH1 '(NIL . 1))
257
 
 
258
 
        (DEFPROP $CRUNCH1 T TRANSLATED)
259
 
 
260
 
        (ADD2LNC '$CRUNCH1 $PROPS)
261
 
 
262
 
        (MDEFPROP $CRUNCH1
263
 
                  ((LAMBDA)
264
 
                   ((MLIST) $EXP)
265
 
                   ((MPROG)
266
 
                    ((MLIST) $QW)
267
 
                    ((MSETQ) $QW (($SUBSTITUTE) $CRUNCH0 $G $EXP))
268
 
                    ((MRETURN) (($EV) $QW))))
269
 
                  MEXPR)
270
 
 
271
 
        (ARGS '$CRUNCH1 '(NIL . 1))
272
 
 
273
 
        (ADD2LNC '(($CRUNCH1) $EXP) $FUNCTIONS)
274
 
 
275
 
        (DEFPROP
276
 
         $REOR
277
 
         (LAMBDA ($LIST $I) 
278
 
           ((LAMBDA ($LI2 $PI $LI) 
279
 
              (PROG NIL 
280
 
                    (COND ((NOT (IS (MLSP $I ($LENGTH $LIST))))
281
 
                           (RETURN (SIMPLIFY ($G00 $LIST)))))
282
 
                    (COND ((LIKE ($PART $LIST $I) ($PART $LIST (ADD* $I 1)))
283
 
                           (GO $FIN)))
284
 
                    (COND ((IS ($ORDERLESSP ($PART $LIST $I)
285
 
                                            ($PART $LIST (ADD* $I 1))))
286
 
                           (RETURN (SIMPLIFY ($REOR $LIST (ADD* $I 1)))))
287
 
                          (T (RETURN (SIMPLIFY ($SWAP $LIST $I)))))
288
 
               $FIN (SETQ $PI ($PART $LIST $I))
289
 
                    (SETQ $LI (MEVAL '(($LISBRE) $LIST $I)))
290
 
                    (COND ((LIKE (ADD* $I 1) ($LENGTH $LIST))
291
 
                           (SETQ $LI2 '((MLIST))))
292
 
                          (T (SETQ $LI2 ($REST ($PART $LI 2) 1))))
293
 
                    (RETURN
294
 
                     (MUL* (MEVAL '(($D) $PI $PI))
295
 
                           (SIMPLIFY ($REOR ($APPEND ($PART $LI 1) $LI2)
296
 
                                            (MAXIMUM (LIST 1
297
 
                                                           (ADD* $I -1)))))))))
298
 
            '$LI2
299
 
            '$PI
300
 
            '$LI))
301
 
         EXPR)
302
 
 
303
 
        (ARGS '$REOR '(NIL . 2))
304
 
 
305
 
        (DEFPROP $REOR T TRANSLATED)
306
 
 
307
 
        (ADD2LNC '$REOR $PROPS)
308
 
 
309
 
        (MDEFPROP $REOR
310
 
                  ((LAMBDA)
311
 
                   ((MLIST) $LIST $I)
312
 
                   ((MPROG)
313
 
                    ((MLIST) $LI2 $PI $LI)
314
 
                    ((MCOND)
315
 
                     ((MGEQP) $I (($LENGTH) $LIST))
316
 
                     ((MRETURN) (($G00) $LIST))
317
 
                     T
318
 
                     $FALSE)
319
 
                    ((MCOND)
320
 
                     ((MEQUAL)
321
 
                      (($PART) $LIST $I)
322
 
                      (($PART) $LIST ((MPLUS) $I 1)))
323
 
                     ((MGO) $FIN)
324
 
                     T
325
 
                     $FALSE)
326
 
                    ((MCOND)
327
 
                     (($ORDERLESSP)
328
 
                      (($PART) $LIST $I)
329
 
                      (($PART) $LIST ((MPLUS) $I 1)))
330
 
                     ((MRETURN) (($REOR) $LIST ((MPLUS) $I 1)))
331
 
                     T
332
 
                     ((MRETURN) (($SWAP) $LIST $I)))
333
 
                    $FIN
334
 
                    ((MSETQ) $PI (($PART) $LIST $I))
335
 
                    ((MSETQ) $LI (($LISBRE) $LIST $I))
336
 
                    ((MCOND)
337
 
                     ((MEQUAL) ((MPLUS) $I 1) (($LENGTH) $LIST))
338
 
                     ((MSETQ) $LI2 ((MLIST)))
339
 
                     T
340
 
                     ((MSETQ) $LI2 (($REST) (($PART) $LI 2) 1)))
341
 
                    ((MRETURN)
342
 
                     ((MTIMES)
343
 
                      (($D) $PI $PI)
344
 
                      (($REOR)
345
 
                       (($APPEND) (($PART) $LI 1) $LI2)
346
 
                       (($MAX) 1 ((MPLUS) $I ((MMINUS) 1))))))))
347
 
                  MEXPR)
348
 
 
349
 
        (ARGS '$REOR '(NIL . 2))
350
 
 
351
 
        (ADD2LNC '(($REOR) $LIST $I) $FUNCTIONS)
352
 
 
353
 
        (DEFPROP
354
 
         $SER1
355
 
         (LAMBDA ($LIST) 
356
 
           ((LAMBDA ($H1 $H2 $LIS $I $LEN $DEX $VEC1 $VEC2) 
357
 
              (PROG NIL 
358
 
                    (SETQ $LEN ($LENGTH $LIST))
359
 
                    (SETQ $VEC1 ($PART $LIST 2 2))
360
 
                    (SETQ $DEX ($PART $LIST 2 1))
361
 
                    (COND ((LIKE $DEX $VEC1)
362
 
                           (RETURN (LIST '(MLIST)
363
 
                                         (TRD-MSYMEVAL $N)
364
 
                                         ($APPEND (LIST '(MLIST)
365
 
                                                        '((MLIST)))
366
 
                                                  ($REST $LIST 2))))))
367
 
                    (SETQ $I 2)
368
 
               $LOOP(SETQ $I (ADD* $I 1))
369
 
                    (COND ((NOT (IS (MGRP $I $LEN))) (GO $ONIT)))
370
 
                    (COND ((AND ($MEMBER $VEC1 (TRD-MSYMEVAL $IND))
371
 
                                (NOT (IS ($FREEOF $VEC1 ($REST $LIST 2)))))
372
 
                           (RETURN (LIST '(MLIST)
373
 
                                         1
374
 
                                         ($APPEND (LIST '(MLIST)
375
 
                                                        '((MLIST))
376
 
                                                        (LIST '(MLIST)
377
 
                                                              $VEC1
378
 
                                                              $DEX))
379
 
                                                  ($REST $LIST 2)))))
380
 
                          (T (RETURN (LIST '(MLIST)
381
 
                                           (MEVAL '(($DP) $VEC1 $DEX))
382
 
                                           ($APPEND (LIST '(MLIST)
383
 
                                                          '((MLIST)))
384
 
                                                    ($REST $LIST 2))))))
385
 
               $ONIT(COND ((LIKE ($PART $LIST $I 1) $DEX) (GO $S1)))
386
 
                    (COND ((LIKE ($PART $LIST $I 2) $DEX) (GO $S2)))
387
 
                    (GO $LOOP)
388
 
               $S1  (SETQ $VEC2 ($PART $LIST $I 2))
389
 
                    (GO $S3)
390
 
               $S2  (SETQ $VEC2 ($PART $LIST $I 1))
391
 
               $S3  (SETQ $LIS (MEVAL '(($LISBRE) $LIST $I)))
392
 
                    (SETQ $LIS
393
 
                          ($APPEND (LIST '(MLIST) '((MLIST)))
394
 
                                   ($REST ($APPEND ($FIRST $LIS) ($LAST $LIS))
395
 
                                          2)))
396
 
                    (SETQ $H1 ($MEMBER $VEC1 (TRD-MSYMEVAL $IND)))
397
 
                    (SETQ $H2 ($MEMBER $VEC2 (TRD-MSYMEVAL $IND)))
398
 
                    (COND ((AND (NOT (IS $H1)) (NOT (IS $H2)))
399
 
                           (RETURN (LIST '(MLIST)
400
 
                                         (MEVAL '(($DP) $VEC1 $VEC2))
401
 
                                         $LIS))))
402
 
                    (COND ((IS $H1)
403
 
                           (RETURN (LIST '(MLIST)
404
 
                                         1
405
 
                                         ($APPEND $LIS
406
 
                                                  (LIST '(MLIST)
407
 
                                                        (LIST '(MLIST)
408
 
                                                              $VEC1
409
 
                                                              $VEC2)))))))
410
 
                    (RETURN (LIST '(MLIST)
411
 
                                  1
412
 
                                  ($APPEND $LIS
413
 
                                           (LIST '(MLIST)
414
 
                                                 (LIST '(MLIST)
415
 
                                                       $VEC2
416
 
                                                       $VEC1)))))))
417
 
            '$H1
418
 
            '$H2
419
 
            '$LIS
420
 
            '$I
421
 
            '$LEN
422
 
            '$DEX
423
 
            '$VEC1
424
 
            '$VEC2))
425
 
         EXPR)
426
 
 
427
 
        (ARGS '$SER1 '(NIL . 1))
428
 
 
429
 
        (DEFPROP $SER1 T TRANSLATED)
430
 
 
431
 
        (ADD2LNC '$SER1 $PROPS)
432
 
 
433
 
        (MDEFPROP $SER1
434
 
                  ((LAMBDA)
435
 
                   ((MLIST) $LIST)
436
 
                   ((MPROG)
437
 
                    ((MLIST) $H1 $H2 $LIS $I $LEN $DEX $VEC1 $VEC2)
438
 
                    ((MSETQ) $LEN (($LENGTH) $LIST))
439
 
                    ((MSETQ) $VEC1 (($PART) $LIST 2 2))
440
 
                    ((MSETQ) $DEX (($PART) $LIST 2 1))
441
 
                    ((MCOND)
442
 
                     ((MEQUAL) $DEX $VEC1)
443
 
                     ((MRETURN)
444
 
                      ((MLIST)
445
 
                       $N
446
 
                       (($APPEND) ((MLIST) ((MLIST))) (($REST) $LIST 2))))
447
 
                     T
448
 
                     $FALSE)
449
 
                    ((MSETQ) $I 2)
450
 
                    $LOOP
451
 
                    ((MSETQ) $I ((MPLUS) $I 1))
452
 
                    ((MCOND) ((MLEQP) $I $LEN) ((MGO) $ONIT) T $FALSE)
453
 
                    ((MCOND)
454
 
                     ((MAND)
455
 
                      (($MEMBER) $VEC1 $IND)
456
 
                      ((MNOT) (($FREEOF) $VEC1 (($REST) $LIST 2))))
457
 
                     ((MRETURN)
458
 
                      ((MLIST)
459
 
                       1
460
 
                       (($APPEND)
461
 
                        ((MLIST) ((MLIST)) ((MLIST) $VEC1 $DEX))
462
 
                        (($REST) $LIST 2))))
463
 
                     T
464
 
                     ((MRETURN)
465
 
                      ((MLIST)
466
 
                       (($DP) $VEC1 $DEX)
467
 
                       (($APPEND) ((MLIST) ((MLIST))) (($REST) $LIST 2)))))
468
 
                    $ONIT
469
 
                    ((MCOND)
470
 
                     ((MEQUAL) (($PART) $LIST $I 1) $DEX)
471
 
                     ((MGO) $S1)
472
 
                     T
473
 
                     $FALSE)
474
 
                    ((MCOND)
475
 
                     ((MEQUAL) (($PART) $LIST $I 2) $DEX)
476
 
                     ((MGO) $S2)
477
 
                     T
478
 
                     $FALSE)
479
 
                    ((MGO) $LOOP)
480
 
                    $S1
481
 
                    ((MSETQ) $VEC2 (($PART) $LIST $I 2))
482
 
                    ((MGO) $S3)
483
 
                    $S2
484
 
                    ((MSETQ) $VEC2 (($PART) $LIST $I 1))
485
 
                    $S3
486
 
                    ((MSETQ) $LIS (($LISBRE) $LIST $I))
487
 
                    ((MSETQ)
488
 
                     $LIS
489
 
                     (($APPEND)
490
 
                      ((MLIST) ((MLIST)))
491
 
                      (($REST) (($APPEND) (($FIRST) $LIS) (($LAST) $LIS)) 2)))
492
 
                    ((MSETQ) $H1 (($MEMBER) $VEC1 $IND))
493
 
                    ((MSETQ) $H2 (($MEMBER) $VEC2 $IND))
494
 
                    ((MCOND)
495
 
                     ((MAND) ((MNOT) $H1) ((MNOT) $H2))
496
 
                     ((MRETURN) ((MLIST) (($DP) $VEC1 $VEC2) $LIS))
497
 
                     T
498
 
                     $FALSE)
499
 
                    ((MCOND)
500
 
                     $H1
501
 
                     ((MRETURN)
502
 
                      ((MLIST)
503
 
                       1
504
 
                       (($APPEND) $LIS ((MLIST) ((MLIST) $VEC1 $VEC2)))))
505
 
                     T
506
 
                     $FALSE)
507
 
                    ((MRETURN)
508
 
                     ((MLIST)
509
 
                      1
510
 
                      (($APPEND) $LIS ((MLIST) ((MLIST) $VEC2 $VEC1)))))))
511
 
                  MEXPR)
512
 
 
513
 
        (ARGS '$SER1 '(NIL . 1))
514
 
 
515
 
        (ADD2LNC '(($SER1) $LIST) $FUNCTIONS)
516
 
 
517
 
        (DEFPROP $SRES
518
 
                 (LAMBDA ($LIST $I) 
519
 
                   ((LAMBDA ($QE) 
520
 
                      (SETQ $QE (MEVAL '(($LISBRE) $LIST $I)))
521
 
                      ($APPEND (SIMPLIFY (MARRAYREF $QE 1))
522
 
                               ($REST (SIMPLIFY (MARRAYREF $QE 2)))))
523
 
                    '$QE))
524
 
                 EXPR)
525
 
 
526
 
        (ARGS '$SRES '(NIL . 2))
527
 
 
528
 
        (DEFPROP $SRES T TRANSLATED)
529
 
 
530
 
        (ADD2LNC '$SRES $PROPS)
531
 
 
532
 
        (MDEFPROP $SRES
533
 
                  ((LAMBDA)
534
 
                   ((MLIST) $LIST $I)
535
 
                   ((MPROG)
536
 
                    ((MLIST) $QE)
537
 
                    ((MSETQ) $QE (($LISBRE) $LIST $I))
538
 
                    ((MRETURN)
539
 
                     (($APPEND) (($QE ARRAY) 1) (($REST) (($QE ARRAY) 2))))))
540
 
                  MEXPR)
541
 
 
542
 
        (ARGS '$SRES '(NIL . 2))
543
 
 
544
 
        (ADD2LNC '(($SRES) $LIST $I) $FUNCTIONS)
545
 
 
546
 
        (DEFPROP $CRUNCH00
547
 
                 (LAMBDA ($LIST) 
548
 
                   (SIMPLIFY ($CRUNCH0 (MEVAL '(($GETRED) $LIST)))))
549
 
                 EXPR)
550
 
 
551
 
        (ARGS '$CRUNCH00 '(NIL . 1))
552
 
 
553
 
        (DEFPROP $CRUNCH00 T TRANSLATED)
554
 
 
555
 
        (ADD2LNC '$CRUNCH00 $PROPS)
556
 
 
557
 
        (MDEFPROP
558
 
         $CRUNCH00
559
 
         (LAMBDA N 
560
 
           (COND (NOEVALARGS (SETQ NOEVALARGS NIL)
561
 
                             ($CRUNCH00 (CONS '(MLIST) (LISTIFY N))))
562
 
                 (T (SETQ NOEVALARGS NIL)
563
 
                    ($CRUNCH00 (CONS '(MLIST)
564
 
                                     (MEVALARGS (LISTIFY N)))))))
565
 
         T-MFEXPR)
566
 
 
567
 
        (MDEFPROP $CRUNCH00
568
 
                  ((LAMBDA)
569
 
                   ((MLIST) ((MLIST) $LIST))
570
 
                   (($CRUNCH0) (($GETRED) $LIST)))
571
 
                  MEXPR)
572
 
 
573
 
        (ARGS '$CRUNCH00 '(NIL . 1))
574
 
 
575
 
        (ADD2LNC '(($CRUNCH00) ((MLIST) $LIST)) $FUNCTIONS)
576
 
 
577
 
        (MDEFPROP $CRUNCH00 T MLEXPRP)
578
 
 
579
 
        (DEFPROP $EPSUB
580
 
                 (LAMBDA ($LIST) 
581
 
                   (DIV (MEVAL '(($G) $G5 $LIST)) (MUL* 4 '$%I)))
582
 
                 EXPR)
583
 
 
584
 
        (ARGS '$EPSUB '(NIL . 1))
585
 
 
586
 
        (DEFPROP $EPSUB T TRANSLATED)
587
 
 
588
 
        (ADD2LNC '$EPSUB $PROPS)
589
 
 
590
 
        (MDEFPROP $EPSUB
591
 
                  (LAMBDA N 
592
 
                    (COND (NOEVALARGS (SETQ NOEVALARGS NIL)
593
 
                                      ($EPSUB (CONS '(MLIST)
594
 
                                                    (LISTIFY N))))
595
 
                          (T (SETQ NOEVALARGS NIL)
596
 
                             ($EPSUB (CONS '(MLIST)
597
 
                                           (MEVALARGS (LISTIFY N)))))))
598
 
                  T-MFEXPR)
599
 
 
600
 
        (MDEFPROP $EPSUB
601
 
                  ((LAMBDA)
602
 
                   ((MLIST) ((MLIST) $LIST))
603
 
                   ((MQUOTIENT) (($G) $G5 $LIST) ((MTIMES) 4 $%I)))
604
 
                  MEXPR)
605
 
 
606
 
        (ARGS '$EPSUB '(NIL . 1))
607
 
 
608
 
        (ADD2LNC '(($EPSUB) ((MLIST) $LIST)) $FUNCTIONS)
609
 
 
610
 
        (MDEFPROP $EPSUB T MLEXPRP)
611
 
 
612
 
        (DEFPROP
613
 
         $TCON
614
 
         (LAMBDA ($EXP) 
615
 
           ((LAMBDA ($ANS $PO $I $CONS $INE $XP1 $XP2 $H1 $H2) 
616
 
              (PROG NIL 
617
 
                    (COND ((IS ($FREEOF (TRD-MSYMEVAL $D) $EXP))
618
 
                           (RETURN (COND ((IS ($FREEOF (TRD-MSYMEVAL $EPS)
619
 
                                                       $EXP))
620
 
                                          $EXP)
621
 
                                         (T (SIMPLIFY ($EPSCON $EXP)))))))
622
 
                    (SETQ $INE (LIST '(MLIST) '((MLIST))))
623
 
                    (SETQ $CONS 1)
624
 
                    (SETQ $I 0)
625
 
               $LOOP(SETQ $I (ADD* $I 1))
626
 
                    (COND ((LIKE (SIMPLIFY ($INPART $EXP $I))
627
 
                                 (TRD-MSYMEVAL $END))
628
 
                           (GO $ON)))
629
 
                    (COND ((NOT (LIKE (SIMPLIFY ($INPART $EXP $I 0))
630
 
                                      (TRD-MSYMEVAL $D)))
631
 
                           (GO $NONE)))
632
 
                    (SETQ $PO (SIMPLIFY ($INPART $EXP $I)))
633
 
                    (SETQ $XP1 (SIMPLIFY ($INPART $PO 1)))
634
 
                    (SETQ $XP2 (SIMPLIFY ($INPART $PO 2)))
635
 
                    (SETQ $H1 ($MEMBER $XP1 (TRD-MSYMEVAL $IND)))
636
 
                    (SETQ $H2 ($MEMBER $XP2 (TRD-MSYMEVAL $IND)))
637
 
                    (COND ((AND (NOT (IS $H1)) (NOT (IS $H2))) (GO $IN0)))
638
 
                    (COND ((LIKE $XP1 $XP2) (GO $EQIND)))
639
 
                    (COND ((IS $H1)
640
 
                           (SETQ $INE ($APPEND $INE
641
 
                                               (LIST '(MLIST)
642
 
                                                     (LIST '(MLIST)
643
 
                                                           $XP1
644
 
                                                           $XP2)))))
645
 
                          (T (SETQ $INE ($APPEND $INE
646
 
                                                 (LIST '(MLIST)
647
 
                                                       (LIST '(MLIST)
648
 
                                                             $XP2
649
 
                                                             $XP1))))))
650
 
                    (GO $LOOP)
651
 
               $ON  (RETURN (MEVAL '(($GCONP) ((MTIMES) $CONS (($SER) $INE)))))
652
 
               $IN0 (SETQ $CONS (MUL* $CONS (MEVAL '(($DP) $XP1 $XP2))))
653
 
                    (GO $LOOP)
654
 
               $NONE(SETQ $ANS (SIMPLIFY ($INPART $EXP $I)))
655
 
                    (COND ((LIKE ($PART $ANS 0) '&^)
656
 
                           (SETQ $ANS (SIMPLIFY ($PCON $ANS))))
657
 
                          ((LIKE ($PART $ANS 0) (TRD-MSYMEVAL $D))
658
 
                           (SETQ $ANS (SIMPLIFY ($DCON $ANS)))))
659
 
                    (SETQ $CONS (MUL* $CONS $ANS))
660
 
                    (GO $LOOP)
661
 
               $EQIND
662
 
                    (SETQ $CONS (MUL* $CONS (TRD-MSYMEVAL $N)))
663
 
                    (GO $LOOP)))
664
 
            '$ANS
665
 
            '$PO
666
 
            '$I
667
 
            '$CONS
668
 
            '$INE
669
 
            '$XP1
670
 
            '$XP2
671
 
            '$H1
672
 
            '$H2))
673
 
         EXPR)
674
 
 
675
 
        (ARGS '$TCON '(NIL . 1))
676
 
 
677
 
        (DEFPROP $TCON T TRANSLATED)
678
 
 
679
 
        (ADD2LNC '$TCON $PROPS)
680
 
 
681
 
        (MDEFPROP $TCON
682
 
                  ((LAMBDA)
683
 
                   ((MLIST) $EXP)
684
 
                   ((MPROG)
685
 
                    ((MLIST) $ANS $PO $I $CONS $INE $XP1 $XP2 $H1 $H2)
686
 
                    ((MCOND)
687
 
                     (($FREEOF) $D $EXP)
688
 
                     ((MRETURN)
689
 
                      ((MCOND) (($FREEOF) $EPS $EXP) $EXP T (($EPSCON) $EXP)))
690
 
                     T
691
 
                     $FALSE)
692
 
                    ((MSETQ) $INE ((MLIST) ((MLIST))))
693
 
                    ((MSETQ) $CONS 1)
694
 
                    ((MSETQ) $I 0)
695
 
                    $LOOP
696
 
                    ((MSETQ) $I ((MPLUS) $I 1))
697
 
                    ((MCOND)
698
 
                     ((MEQUAL) (($INPART) $EXP $I) $END)
699
 
                     ((MGO) $ON)
700
 
                     T
701
 
                     $FALSE)
702
 
                    ((MCOND)
703
 
                     ((MNOTEQUAL) (($INPART) $EXP $I 0) $D)
704
 
                     ((MGO) $NONE)
705
 
                     T
706
 
                     $FALSE)
707
 
                    ((MSETQ) $PO (($INPART) $EXP $I))
708
 
                    ((MSETQ) $XP1 (($INPART) $PO 1))
709
 
                    ((MSETQ) $XP2 (($INPART) $PO 2))
710
 
                    ((MSETQ) $H1 (($MEMBER) $XP1 $IND))
711
 
                    ((MSETQ) $H2 (($MEMBER) $XP2 $IND))
712
 
                    ((MCOND)
713
 
                     ((MAND) ((MNOT) $H1) ((MNOT) $H2))
714
 
                     ((MGO) $IN0)
715
 
                     T
716
 
                     $FALSE)
717
 
                    ((MCOND) ((MEQUAL) $XP1 $XP2) ((MGO) $EQIND) T $FALSE)
718
 
                    ((MCOND)
719
 
                     $H1
720
 
                     ((MSETQ)
721
 
                      $INE
722
 
                      (($APPEND) $INE ((MLIST) ((MLIST) $XP1 $XP2))))
723
 
                     T
724
 
                     ((MSETQ)
725
 
                      $INE
726
 
                      (($APPEND) $INE ((MLIST) ((MLIST) $XP2 $XP1)))))
727
 
                    ((MGO) $LOOP)
728
 
                    $ON
729
 
                    ((MRETURN) (($GCONP) ((MTIMES) $CONS (($SER) $INE))))
730
 
                    $IN0
731
 
                    ((MSETQ) $CONS ((MTIMES) $CONS (($DP) $XP1 $XP2)))
732
 
                    ((MGO) $LOOP)
733
 
                    $NONE
734
 
                    ((MSETQ) $ANS (($INPART) $EXP $I))
735
 
                    ((MCOND)
736
 
                     ((MEQUAL) (($PART) $ANS 0) &^)
737
 
                     ((MSETQ) $ANS (($PCON) $ANS))
738
 
                     T
739
 
                     ((MCOND)
740
 
                      ((MEQUAL) (($PART) $ANS 0) $D)
741
 
                      ((MSETQ) $ANS (($DCON) $ANS))
742
 
                      T
743
 
                      $FALSE))
744
 
                    ((MSETQ) $CONS ((MTIMES) $CONS $ANS))
745
 
                    ((MGO) $LOOP)
746
 
                    $EQIND
747
 
                    ((MSETQ) $CONS ((MTIMES) $CONS $N))
748
 
                    ((MGO) $LOOP)))
749
 
                  MEXPR)
750
 
 
751
 
        (ARGS '$TCON '(NIL . 1))
752
 
 
753
 
        (ADD2LNC '(($TCON) $EXP) $FUNCTIONS)
754
 
 
755
 
        (DEFPROP
756
 
         $PCON
757
 
         (LAMBDA ($EXP) 
758
 
           ((LAMBDA ($B1 $B2 $H1 $H2) 
759
 
              (PROG NIL 
760
 
                    (COND ((NOT (LIKE ($PART $EXP 1 0) (TRD-MSYMEVAL $D)))
761
 
                           (RETURN (COND ((IS ($FREEOF (TRD-MSYMEVAL $EPS)
762
 
                                                       $EXP))
763
 
                                          $EXP)
764
 
                                         (T (SIMPLIFY ($EPSCON $EXP)))))))
765
 
                    (SETQ $B1 ($PART $EXP 1 1))
766
 
                    (SETQ $B2 ($PART $EXP 1 2))
767
 
                    (SETQ $H1 ($MEMBER $B1 (TRD-MSYMEVAL $IND)))
768
 
                    (SETQ $H2 ($MEMBER $B2 (TRD-MSYMEVAL $IND)))
769
 
                    (COND ((AND (NOT (IS $H1)) (NOT (IS $H2))) (RETURN $EXP)))
770
 
                    (COND ((LIKE $B1 $B2) (RETURN (TRD-MSYMEVAL $N))))
771
 
                    (COND ((AND (IS $H1) (IS $H2)) (RETURN (TRD-MSYMEVAL $N))))
772
 
                    (COND ((IS $H1) (RETURN (MEVAL '(($D) $B2 $B2)))))
773
 
                    (RETURN (COND ((IS $H2)
774
 
                                   (RETURN (MEVAL '(($D) $B1 $B1))))))))
775
 
            '$B1
776
 
            '$B2
777
 
            '$H1
778
 
            '$H2))
779
 
         EXPR)
780
 
 
781
 
        (ARGS '$PCON '(NIL . 1))
782
 
 
783
 
        (DEFPROP $PCON T TRANSLATED)
784
 
 
785
 
        (ADD2LNC '$PCON $PROPS)
786
 
 
787
 
        (MDEFPROP $PCON
788
 
                  ((LAMBDA)
789
 
                   ((MLIST) $EXP)
790
 
                   ((MPROG)
791
 
                    ((MLIST) $B1 $B2 $H1 $H2)
792
 
                    ((MCOND)
793
 
                     ((MNOTEQUAL) (($PART) $EXP 1 0) $D)
794
 
                     ((MRETURN)
795
 
                      ((MCOND) (($FREEOF) $EPS $EXP) $EXP T (($EPSCON) $EXP)))
796
 
                     T
797
 
                     $FALSE)
798
 
                    ((MSETQ) $B1 (($PART) $EXP 1 1))
799
 
                    ((MSETQ) $B2 (($PART) $EXP 1 2))
800
 
                    ((MSETQ) $H1 (($MEMBER) $B1 $IND))
801
 
                    ((MSETQ) $H2 (($MEMBER) $B2 $IND))
802
 
                    ((MCOND)
803
 
                     ((MAND) ((MNOT) $H1) ((MNOT) $H2))
804
 
                     ((MRETURN) $EXP)
805
 
                     T
806
 
                     $FALSE)
807
 
                    ((MCOND) ((MEQUAL) $B1 $B2) ((MRETURN) $N) T $FALSE)
808
 
                    ((MCOND) ((MAND) $H1 $H2) ((MRETURN) $N) T $FALSE)
809
 
                    ((MCOND) $H1 ((MRETURN) (($D) $B2 $B2)) T $FALSE)
810
 
                    ((MCOND) $H2 ((MRETURN) (($D) $B1 $B1)) T $FALSE)))
811
 
                  MEXPR)
812
 
 
813
 
        (ARGS '$PCON '(NIL . 1))
814
 
 
815
 
        (ADD2LNC '(($PCON) $EXP) $FUNCTIONS)
816
 
 
817
 
        (DEFPROP
818
 
         $CRUNCH0
819
 
         (LAMBDA ($LIST) 
820
 
           ((LAMBDA ($JQ $LEN $BET $CONBIT $LENCON $IN $OUT $BEG $I $J $DEX
821
 
                     $NOTIN $RET) 
822
 
              (PROG NIL 
823
 
                    (COND ((< ($LENGTH $LIST) 2)
824
 
                           (RETURN (SIMPLIFY ($G0 $LIST)))))
825
 
                    (SETQ $LEN ($LENGTH $LIST))
826
 
                    (COND ((AND (LIKE (TRD-MSYMEVAL $N) 4)
827
 
                                (IS (TRD-MSYMEVAL $KAHAF))
828
 
                                (IS (MGRP $LEN 3)))
829
 
                           (RETURN (MEVAL '(($KAHG) $LIST)))))
830
 
                    (SETQ $NOTIN '((MLIST)))
831
 
               $STAR(SETQ $I 0)
832
 
               $LOOP(SETQ $I (ADD* $I 1))
833
 
                    (COND ((IS (MGRP $I $LEN)) (GO $RETF)))
834
 
                    (SETQ $JQ ($PART $LIST $I))
835
 
                    (SETQ $ICH (ADD* $I 1))
836
 
                    (COND
837
 
                     ((LIKE $JQ ($PART $LIST (TRD-MSYMEVAL $ICH)))
838
 
                      (RETURN
839
 
                       ((LAMBDA ($DPI) 
840
 
                          (PROG NIL 
841
 
                                (SETQ $DPI (SIMPLIFY ($DI0 $JQ $JQ)))
842
 
                                (RETURN
843
 
                                 (COND
844
 
                                  ((LIKE $DPI 0) (RETURN 0))
845
 
                                  (T
846
 
                                   (RETURN
847
 
                                    (COND
848
 
                                     ((NOT (LIKE (TRD-MSYMEVAL $ICH) 1))
849
 
                                      (MUL*
850
 
                                       $DPI
851
 
                                       (SIMPLIFY
852
 
                                        ($CRUNCH0 (SIMPLIFY ($SRES $LIST
853
 
                                                                   $I))))))
854
 
                                     (T
855
 
                                      (MUL*
856
 
                                       $DPI
857
 
                                       (SIMPLIFY
858
 
                                        ($G0
859
 
                                         ($REST
860
 
                                          ($APPEND
861
 
                                           ($PART (MEVAL '(($LISBRE) $LIST $I))
862
 
                                                  1)
863
 
                                           ($PART (MEVAL '(($LISBRE) $LIST $I))
864
 
                                                  2))))))))))))))
865
 
                        '$DPI))))
866
 
                    (COND ((AND ($MEMBER $JQ (TRD-MSYMEVAL $IND))
867
 
                                (NOT ($MEMBER $JQ $NOTIN)))
868
 
                           (GO $FND)))
869
 
                    (GO $LOOP)
870
 
               $FND (SETQ $DEX $JQ)
871
 
                    (SETQ $J $I)
872
 
               $T2  (SETQ $J (ADD* $J 1))
873
 
                    (COND ((IS (MGRP $J $LEN)) (GO $POUT)))
874
 
                    (COND ((LIKE ($PART $LIST $J) $DEX) (GO $DOIT))
875
 
                          (T (GO $T2)))
876
 
               $DOIT(SETQ $BET (ADD* $J (SIMPLIFY (LIST '(MMINUS) $I))))
877
 
                    (COND ((IS (MGRP $BET 6)) (GO $BORE)))
878
 
                    (SETQ $CONBIT ($PART (TRD-MSYMEVAL $CONTAB) $BET))
879
 
                    (SETQ $LENCON ($LENGTH $CONBIT))
880
 
                    (SETQ $OUT ($REST $LIST $J))
881
 
                    (SETQ $BEG ($REST $LIST
882
 
                                      (ADD* $I
883
 
                                            -1
884
 
                                            (SIMPLIFY (LIST '(MMINUS)
885
 
                                                            $LEN)))))
886
 
                    (SETQ $IN ($REST ($REST $LIST $I)
887
 
                                     (ADD* $J
888
 
                                           (SIMPLIFY (LIST '(MMINUS)
889
 
                                                           $LEN))
890
 
                                           -1)))
891
 
                    (RETURN (DOSUM '((MTIMES)
892
 
                                     (($FIRST)
893
 
                                      (($PART)
894
 
                                       $CONBIT
895
 
                                       ((MPLUS) ((MTIMES) 2 $I) ((MMINUS) 1))))
896
 
                                     ((MPROG)
897
 
                                      ((MLIST) $NB)
898
 
                                      ((MSETQ)
899
 
                                       $NB
900
 
                                       (($NEWL)
901
 
                                        $IN
902
 
                                        (($PART) $CONBIT ((MTIMES) 2 $I))
903
 
                                        $OUT))
904
 
                                      ((MCOND)
905
 
                                       ((MEQUAL) (($PART) $NB 1) 0)
906
 
                                       ((MRETURN) 0)
907
 
                                       T
908
 
                                       ((MRETURN)
909
 
                                        ((MTIMES)
910
 
                                         (($PART) $NB 1)
911
 
                                         (($CRUNCH0)
912
 
                                          (($APPEND)
913
 
                                           $BEG
914
 
                                           (($PART) $NB 2))))))))
915
 
                                   '$I
916
 
                                   1
917
 
                                   (DIV $LENCON 2)
918
 
                                   T))
919
 
               $POUT(SETQ $NOTIN ($APPEND $NOTIN
920
 
                                          (LIST '(MLIST)
921
 
                                                ($PART $LIST $I))))
922
 
                    (GO $STAR)
923
 
               $BORE(SETQ $NOTIN ($APPEND $NOTIN (LIST '(MLIST) $DEX)))
924
 
                    (GO $STAR)
925
 
               $RETF(RETURN (SIMPLIFY ($G0 $LIST)))))
926
 
            '$JQ
927
 
            '$LEN
928
 
            '$BET
929
 
            '$CONBIT
930
 
            '$LENCON
931
 
            '$IN
932
 
            '$OUT
933
 
            '$BEG
934
 
            '$I
935
 
            '$J
936
 
            '$DEX
937
 
            '$NOTIN
938
 
            '$RET))
939
 
         EXPR)
940
 
 
941
 
        (ARGS '$CRUNCH0 '(NIL . 1))
942
 
 
943
 
        (DEFPROP $CRUNCH0 T TRANSLATED)
944
 
 
945
 
        (ADD2LNC '$CRUNCH0 $PROPS)
946
 
 
947
 
        (MDEFPROP $CRUNCH0
948
 
                  ((LAMBDA)
949
 
                   ((MLIST) $LIST)
950
 
                   ((MPROG)
951
 
                    ((MLIST)
952
 
                     $JQ
953
 
                     $LEN
954
 
                     $BET
955
 
                     $CONBIT
956
 
                     $LENCON
957
 
                     $IN
958
 
                     $OUT
959
 
                     $BEG
960
 
                     $I
961
 
                     $J
962
 
                     $DEX
963
 
                     $NOTIN
964
 
                     $RET)
965
 
                    ((MCOND)
966
 
                     ((MLESSP) (($LENGTH) $LIST) 2)
967
 
                     ((MRETURN) (($G0) $LIST))
968
 
                     T
969
 
                     $FALSE)
970
 
                    ((MSETQ) $LEN (($LENGTH) $LIST))
971
 
                    ((MCOND)
972
 
                     ((MAND) ((MEQUAL) $N 4) $KAHAF ((MGREATERP) $LEN 3))
973
 
                     ((MRETURN) (($KAHG) $LIST))
974
 
                     T
975
 
                     $FALSE)
976
 
                    ((MSETQ) $NOTIN ((MLIST)))
977
 
                    $STAR
978
 
                    ((MSETQ) $I 0)
979
 
                    $LOOP
980
 
                    ((MSETQ) $I ((MPLUS) $I 1))
981
 
                    ((MCOND) ((MGREATERP) $I $LEN) ((MGO) $RETF) T $FALSE)
982
 
                    ((MSETQ) $JQ (($PART) $LIST $I))
983
 
                    ((MSETQ) $ICH ((MPLUS) $I 1))
984
 
                    ((MCOND)
985
 
                     ((MEQUAL) $JQ (($PART) $LIST $ICH))
986
 
                     ((MRETURN)
987
 
                      ((MPROG)
988
 
                       ((MLIST) $DPI)
989
 
                       ((MSETQ) $DPI (($DI0) $JQ $JQ))
990
 
                       ((MCOND)
991
 
                        ((MEQUAL) $DPI 0)
992
 
                        ((MRETURN) 0)
993
 
                        T
994
 
                        ((MRETURN)
995
 
                         ((MCOND)
996
 
                          ((MNOTEQUAL) $ICH 1)
997
 
                          ((MTIMES) $DPI (($CRUNCH0) (($SRES) $LIST $I)))
998
 
                          T
999
 
                          ((MTIMES)
1000
 
                           $DPI
1001
 
                           (($G0)
1002
 
                            (($REST)
1003
 
                             (($APPEND)
1004
 
                              (($PART) (($LISBRE) $LIST $I) 1)
1005
 
                              (($PART) (($LISBRE) $LIST $I) 2))))))))))
1006
 
                     T
1007
 
                     $FALSE)
1008
 
                    ((MCOND)
1009
 
                     ((MAND)
1010
 
                      (($MEMBER) $JQ $IND)
1011
 
                      ((MNOT) (($MEMBER) $JQ $NOTIN)))
1012
 
                     ((MGO) $FND)
1013
 
                     T
1014
 
                     $FALSE)
1015
 
                    ((MGO) $LOOP)
1016
 
                    $FND
1017
 
                    ((MSETQ) $DEX $JQ)
1018
 
                    ((MSETQ) $J $I)
1019
 
                    $T2
1020
 
                    ((MSETQ) $J ((MPLUS) $J 1))
1021
 
                    ((MCOND) ((MGREATERP) $J $LEN) ((MGO) $POUT) T $FALSE)
1022
 
                    ((MCOND)
1023
 
                     ((MEQUAL) (($PART) $LIST $J) $DEX)
1024
 
                     ((MGO) $DOIT)
1025
 
                     T
1026
 
                     ((MGO) $T2))
1027
 
                    $DOIT
1028
 
                    ((MSETQ) $BET ((MPLUS) $J ((MMINUS) $I)))
1029
 
                    ((MCOND) ((MGREATERP) $BET 6) ((MGO) $BORE) T $FALSE)
1030
 
                    ((MSETQ) $CONBIT (($PART) $CONTAB $BET))
1031
 
                    ((MSETQ) $LENCON (($LENGTH) $CONBIT))
1032
 
                    ((MSETQ) $OUT (($REST) $LIST $J))
1033
 
                    ((MSETQ)
1034
 
                     $BEG
1035
 
                     (($REST) $LIST ((MPLUS) $I ((MMINUS) 1) ((MMINUS) $LEN))))
1036
 
                    ((MSETQ)
1037
 
                     $IN
1038
 
                     (($REST)
1039
 
                      (($REST) $LIST $I)
1040
 
                      ((MPLUS) $J ((MMINUS) $LEN) ((MMINUS) 1))))
1041
 
                    ((MRETURN)
1042
 
                     (($SUM)
1043
 
                      ((MTIMES)
1044
 
                       (($FIRST)
1045
 
                        (($PART)
1046
 
                         $CONBIT
1047
 
                         ((MPLUS) ((MTIMES) 2 $I) ((MMINUS) 1))))
1048
 
                       ((MPROG)
1049
 
                        ((MLIST) $NB)
1050
 
                        ((MSETQ)
1051
 
                         $NB
1052
 
                         (($NEWL) $IN (($PART) $CONBIT ((MTIMES) 2 $I)) $OUT))
1053
 
                        ((MCOND)
1054
 
                         ((MEQUAL) (($PART) $NB 1) 0)
1055
 
                         ((MRETURN) 0)
1056
 
                         T
1057
 
                         ((MRETURN)
1058
 
                          ((MTIMES)
1059
 
                           (($PART) $NB 1)
1060
 
                           (($CRUNCH0) (($APPEND) $BEG (($PART) $NB 2))))))))
1061
 
                      $I
1062
 
                      1
1063
 
                      ((MQUOTIENT) $LENCON 2)))
1064
 
                    $POUT
1065
 
                    ((MSETQ)
1066
 
                     $NOTIN
1067
 
                     (($APPEND) $NOTIN ((MLIST) (($PART) $LIST $I))))
1068
 
                    ((MGO) $STAR)
1069
 
                    $BORE
1070
 
                    ((MSETQ) $NOTIN (($APPEND) $NOTIN ((MLIST) $DEX)))
1071
 
                    ((MGO) $STAR)
1072
 
                    $RETF
1073
 
                    ((MRETURN) (($G0) $LIST))))
1074
 
                  MEXPR)
1075
 
 
1076
 
        (ARGS '$CRUNCH0 '(NIL . 1))
1077
 
 
1078
 
        (ADD2LNC '(($CRUNCH0) $LIST) $FUNCTIONS)
1079
 
 
1080
 
        (DEFPROP $DI0
1081
 
                 (LAMBDA ($AOB $BOB) 
1082
 
                   (COND ((NOT (IS ($FREEOF $AOB (TRD-MSYMEVAL $IND))))
1083
 
                          (TRD-MSYMEVAL $N))
1084
 
                         (T (MEVAL '(($SOR) $AOB $BOB)))))
1085
 
                 EXPR)
1086
 
 
1087
 
        (ARGS '$DI0 '(NIL . 2))
1088
 
 
1089
 
        (DEFPROP $DI0 T TRANSLATED)
1090
 
 
1091
 
        (ADD2LNC '$DI0 $PROPS)
1092
 
 
1093
 
        (MDEFPROP $DI0
1094
 
                  ((LAMBDA)
1095
 
                   ((MLIST) $AOB $BOB)
1096
 
                   ((MCOND)
1097
 
                    ((MNOT) (($FREEOF) $AOB $IND))
1098
 
                    $N
1099
 
                    T
1100
 
                    (($SOR) $AOB $BOB)))
1101
 
                  MEXPR)
1102
 
 
1103
 
        (ARGS '$DI0 '(NIL . 2))
1104
 
 
1105
 
        (ADD2LNC '(($DI0) $AOB $BOB) $FUNCTIONS)
1106
 
 
1107
 
        (DEFPROP
1108
 
         $CONP
1109
 
         (LAMBDA ($EXP) 
1110
 
           ((LAMBDA ($INP) 
1111
 
              (PROG NIL 
1112
 
                    (COND ((IS ($FREEOF (TRD-MSYMEVAL $D) $EXP))
1113
 
                           (RETURN (COND ((IS ($FREEOF (TRD-MSYMEVAL $EPS)
1114
 
                                                       $EXP))
1115
 
                                          $EXP)
1116
 
                                         (T (SIMPLIFY ($EPSCON $EXP)))))))
1117
 
                    (SETQ $EXP (SIMPLIFY ($EXPAND $EXP)))
1118
 
                    (SETQ $INP (SIMPLIFY ($INPART $EXP 0)))
1119
 
                    (COND ((LIKE $INP '&*)
1120
 
                           (RETURN (SIMPLIFY ($TCON $EXP)))))
1121
 
                    (COND ((LIKE $INP (TRD-MSYMEVAL $D))
1122
 
                           (RETURN (SIMPLIFY ($DCON $EXP)))))
1123
 
                    (COND ((LIKE $INP '&^)
1124
 
                           (RETURN (SIMPLIFY ($PCON $EXP)))))
1125
 
                    (RETURN (MAP1 (GETOPR (TRD-MSYMEVAL $CON)) $EXP))))
1126
 
            '$INP))
1127
 
         EXPR)
1128
 
 
1129
 
        (ARGS '$CONP '(NIL . 1))
1130
 
 
1131
 
        (DEFPROP $CONP T TRANSLATED)
1132
 
 
1133
 
        (ADD2LNC '$CONP $PROPS)
1134
 
 
1135
 
        (MDEFPROP $CONP
1136
 
                  ((LAMBDA)
1137
 
                   ((MLIST) $EXP)
1138
 
                   ((MPROG)
1139
 
                    ((MLIST) $INP)
1140
 
                    ((MCOND)
1141
 
                     (($FREEOF) $D $EXP)
1142
 
                     ((MRETURN)
1143
 
                      ((MCOND) (($FREEOF) $EPS $EXP) $EXP T (($EPSCON) $EXP)))
1144
 
                     T
1145
 
                     $FALSE)
1146
 
                    ((MSETQ) $EXP (($EXPAND) $EXP))
1147
 
                    ((MSETQ) $INP (($INPART) $EXP 0))
1148
 
                    ((MCOND)
1149
 
                     ((MEQUAL) $INP &*)
1150
 
                     ((MRETURN) (($TCON) $EXP))
1151
 
                     T
1152
 
                     $FALSE)
1153
 
                    ((MCOND)
1154
 
                     ((MEQUAL) $INP $D)
1155
 
                     ((MRETURN) (($DCON) $EXP))
1156
 
                     T
1157
 
                     $FALSE)
1158
 
                    ((MCOND)
1159
 
                     ((MEQUAL) $INP &^)
1160
 
                     ((MRETURN) (($PCON) $EXP))
1161
 
                     T
1162
 
                     $FALSE)
1163
 
                    ((MRETURN) (($MAP) $CON $EXP))))
1164
 
                  MEXPR)
1165
 
 
1166
 
        (ARGS '$CONP '(NIL . 1))
1167
 
 
1168
 
        (ADD2LNC '(($CONP) $EXP) $FUNCTIONS)
1169
 
 
1170
 
        (DEFPROP $CON
1171
 
                 (LAMBDA ($EXP) (SIMPLIFY ($RATSIMP (SIMPLIFY ($CONP $EXP)))))
1172
 
                 EXPR)
1173
 
 
1174
 
        (ARGS '$CON '(NIL . 1))
1175
 
 
1176
 
        (DEFPROP $CON T TRANSLATED)
1177
 
 
1178
 
        (ADD2LNC '$CON $PROPS)
1179
 
 
1180
 
        (MDEFPROP $CON
1181
 
                  ((LAMBDA) ((MLIST) $EXP) (($RATSIMP) (($CONP) $EXP)))
1182
 
                  MEXPR)
1183
 
 
1184
 
        (ARGS '$CON '(NIL . 1))
1185
 
 
1186
 
        (ADD2LNC '(($CON) $EXP) $FUNCTIONS)
1187
 
 
1188
 
        (DEFPROP $EPSCON
1189
 
                 (LAMBDA ($EXP) 
1190
 
                   (COND ((AND (IS (TRD-MSYMEVAL $NTR))
1191
 
                               (NOT (IS ($FREEOF (TRD-MSYMEVAL $G) $EXP))))
1192
 
                          $EXP)
1193
 
                         ((LIKE ($PART $EXP 0) (TRD-MSYMEVAL $EPS))
1194
 
                          (MEVAL '(($EPSFIX) $EXP)))
1195
 
                         (T (MEVAL '(($CGT)
1196
 
                                     (($COTR)
1197
 
                                      (($EV) $EXP ((MEQUAL) $EPS $EPSUB))))))))
1198
 
                 EXPR)
1199
 
 
1200
 
        (ARGS '$EPSCON '(NIL . 1))
1201
 
 
1202
 
        (DEFPROP $EPSCON T TRANSLATED)
1203
 
 
1204
 
        (ADD2LNC '$EPSCON $PROPS)
1205
 
 
1206
 
        (MDEFPROP $EPSCON
1207
 
                  ((LAMBDA)
1208
 
                   ((MLIST) $EXP)
1209
 
                   ((MCOND)
1210
 
                    ((MAND) $NTR ((MNOT) (($FREEOF) $G $EXP)))
1211
 
                    $EXP
1212
 
                    T
1213
 
                    ((MCOND)
1214
 
                     ((MEQUAL) (($PART) $EXP 0) $EPS)
1215
 
                     (($EPSFIX) $EXP)
1216
 
                     T
1217
 
                     (($CGT) (($COTR) (($EV) $EXP ((MEQUAL) $EPS $EPSUB)))))))
1218
 
                  MEXPR)
1219
 
 
1220
 
        (ARGS '$EPSCON '(NIL . 1))
1221
 
 
1222
 
        (ADD2LNC '(($EPSCON) $EXP) $FUNCTIONS)
1223
 
 
1224
 
        (DEFPROP
1225
 
         $CRUNCH
1226
 
         (LAMBDA ($EXP) 
1227
 
           ((LAMBDA ($QW) 
1228
 
              (SETQ $QW (SIMPLIFY ($SUBSTITUTE (TRD-MSYMEVAL $CRUNCH00)
1229
 
                                               (TRD-MSYMEVAL $G)
1230
 
                                               $EXP)))
1231
 
              (SIMPLIFY ($RATSIMP (SIMPLIFY ($EV $QW)))))
1232
 
            '$QW))
1233
 
         EXPR)
1234
 
 
1235
 
        (ARGS '$CRUNCH '(NIL . 1))
1236
 
 
1237
 
        (DEFPROP $CRUNCH T TRANSLATED)
1238
 
 
1239
 
        (ADD2LNC '$CRUNCH $PROPS)
1240
 
 
1241
 
        (MDEFPROP $CRUNCH
1242
 
                  ((LAMBDA)
1243
 
                   ((MLIST) $EXP)
1244
 
                   ((MPROG)
1245
 
                    ((MLIST) $QW)
1246
 
                    ((MSETQ) $QW (($SUBSTITUTE) $CRUNCH00 $G $EXP))
1247
 
                    ((MRETURN) (($RATSIMP) (($EV) $QW)))))
1248
 
                  MEXPR)
1249
 
 
1250
 
        (ARGS '$CRUNCH '(NIL . 1))
1251
 
 
1252
 
        (ADD2LNC '(($CRUNCH) $EXP) $FUNCTIONS)
1253
 
 
1254
 
        (DEFPROP $G00
1255
 
                 (LAMBDA ($LIST) 
1256
 
                   (COND ((LIKE $LIST '((MLIST))) 1)
1257
 
                         (T (SIMPLIFY (MAPPLY (TRD-MSYMEVAL $G)
1258
 
                                              (CDR $LIST)
1259
 
                                              '$G)))))
1260
 
                 EXPR)
1261
 
 
1262
 
        (ARGS '$G00 '(NIL . 1))
1263
 
 
1264
 
        (DEFPROP $G00 T TRANSLATED)
1265
 
 
1266
 
        (ADD2LNC '$G00 $PROPS)
1267
 
 
1268
 
        (MDEFPROP $G00
1269
 
                  ((LAMBDA)
1270
 
                   ((MLIST) $LIST)
1271
 
                   ((MCOND)
1272
 
                    ((MEQUAL) $LIST ((MLIST)))
1273
 
                    1
1274
 
                    T
1275
 
                    (($APPLY) $G $LIST)))
1276
 
                  MEXPR)
1277
 
 
1278
 
        (ARGS '$G00 '(NIL . 1))
1279
 
 
1280
 
        (ADD2LNC '(($G00) $LIST) $FUNCTIONS)
1281
 
 
1282
 
        (DEFPROP $G0
1283
 
                 (LAMBDA ($LIST) 
1284
 
                   (COND ((LIKE $LIST '((MLIST))) 1)
1285
 
                         ((IS (TRD-MSYMEVAL $COF)) (SIMPLIFY ($ROR $LIST)))
1286
 
                         (T (SIMPLIFY (MAPPLY (TRD-MSYMEVAL $G)
1287
 
                                              (CDR $LIST)
1288
 
                                              '$G)))))
1289
 
                 EXPR)
1290
 
 
1291
 
        (ARGS '$G0 '(NIL . 1))
1292
 
 
1293
 
        (DEFPROP $G0 T TRANSLATED)
1294
 
 
1295
 
        (ADD2LNC '$G0 $PROPS)
1296
 
 
1297
 
        (MDEFPROP $G0
1298
 
                  ((LAMBDA)
1299
 
                   ((MLIST) $LIST)
1300
 
                   ((MCOND)
1301
 
                    ((MEQUAL) $LIST ((MLIST)))
1302
 
                    1
1303
 
                    T
1304
 
                    ((MCOND) $COF (($ROR) $LIST) T (($APPLY) $G $LIST))))
1305
 
                  MEXPR)
1306
 
 
1307
 
        (ARGS '$G0 '(NIL . 1))
1308
 
 
1309
 
        (ADD2LNC '(($G0) $LIST) $FUNCTIONS)
1310
 
 
1311
 
        (DEFPROP
1312
 
         $GCONP
1313
 
         (LAMBDA ($EXP) 
1314
 
           ((LAMBDA ($CONS $I $GBITS $SUBLIS $PI $H1 $H2) 
1315
 
              (PROG NIL 
1316
 
                    (COND ((IS ($FREEOF (TRD-MSYMEVAL $G)
1317
 
                                        (TRD-MSYMEVAL $EPS)
1318
 
                                        $EXP))
1319
 
                           (RETURN $EXP)))
1320
 
                    (SETQ $EXP (SIMPLIFY ($EXPAND $EXP)))
1321
 
                    (COND (($MEMBER ($PART $EXP 0)
1322
 
                                    (LIST '(MLIST)
1323
 
                                          '&+
1324
 
                                          '&//
1325
 
                                          '&-))
1326
 
                           (RETURN (MAP1 (GETOPR (TRD-MSYMEVAL $GCONP))
1327
 
                                         $EXP))))
1328
 
                    (COND ((NOT (LIKE ($PART $EXP 0) '&*))
1329
 
                           (RETURN (COND ((IS ($FREEOF (TRD-MSYMEVAL $EPS)
1330
 
                                                       $EXP))
1331
 
                                          $EXP)
1332
 
                                         (T (SIMPLIFY ($EPSCON $EXP)))))))
1333
 
                    (SETQ $GBITS 1)
1334
 
                    (SETQ $SUBLIS '((MLIST)))
1335
 
                    (SETQ $CONS 1)
1336
 
                    (SETQ $I 0)
1337
 
               $LOOP(SETQ $I (ADD* $I 1))
1338
 
                    (COND ((IS (MGRP $I ($LENGTH $EXP))) (GO $ON)))
1339
 
                    (SETQ $PI ($PART $EXP $I))
1340
 
                    (COND (($MEMBER ($PART $PI 0)
1341
 
                                    (LIST '(MLIST)
1342
 
                                          (TRD-MSYMEVAL $G)
1343
 
                                          (TRD-MSYMEVAL $EPS)))
1344
 
                           (GO $GBIT)))
1345
 
                    (COND ((NOT (LIKE ($PART $PI 0) (TRD-MSYMEVAL $D)))
1346
 
                           (GO $NOTD)))
1347
 
                    (SETQ $H1 (SIMPLIFY ($FREEOF ($PART $PI 1)
1348
 
                                                 (TRD-MSYMEVAL $IND))))
1349
 
                    (SETQ $H2 (SIMPLIFY ($FREEOF ($PART $PI 2)
1350
 
                                                 (TRD-MSYMEVAL $IND))))
1351
 
                    (COND ((AND (IS $H1) (IS $H2)) (GO $NOTD)))
1352
 
                    (COND
1353
 
                     ((AND (IS $H1) (NOT (IS $H2)))
1354
 
                      (SETQ $SUBLIS
1355
 
                            ($APPEND $SUBLIS
1356
 
                                     (LIST '(MLIST)
1357
 
                                           (MEVAL '((MEQUAL)
1358
 
                                                    (($PART) $PI 2)
1359
 
                                                    (($PART) $PI 1)))))))
1360
 
                     (T (SETQ $SUBLIS
1361
 
                              ($APPEND $SUBLIS
1362
 
                                       (LIST '(MLIST)
1363
 
                                             (MEVAL '((MEQUAL)
1364
 
                                                      (($PART) $PI 1)
1365
 
                                                      (($PART) $PI 2))))))))
1366
 
                    (GO $LOOP)
1367
 
               $NOTD(SETQ $CONS (MUL* $CONS $PI))
1368
 
                    (GO $LOOP)
1369
 
               $GBIT(SETQ $GBITS (MUL* $GBITS $PI))
1370
 
                    (GO $LOOP)
1371
 
               $ON  (DO (($I 1 (+ 1 $I))) 
1372
 
                        ((> $I ($LENGTH $SUBLIS)) '$DONE) 
1373
 
                     (COND
1374
 
                      ((IS ($FREEOF ($LHS (SIMPLIFY (MARRAYREF $SUBLIS $I)))
1375
 
                                    $GBITS))
1376
 
                       (COND
1377
 
                        ((OR (IS ($FREEOF ($RHS (SIMPLIFY (MARRAYREF $SUBLIS
1378
 
                                                                     $I)))
1379
 
                                          (TRD-MSYMEVAL $IND)))
1380
 
                             (IS ($FREEOF ($RHS (SIMPLIFY (MARRAYREF $SUBLIS
1381
 
                                                                     $I)))
1382
 
                                          $GBITS)))
1383
 
                         (SETQ $CONS
1384
 
                               (MUL* (MEVAL '(($D)
1385
 
                                              (($LHS) (($SUBLIS ARRAY) $I))
1386
 
                                              (($RHS) (($SUBLIS ARRAY) $I))))
1387
 
                                     $CONS))
1388
 
                         (SETQ $SUBLIS
1389
 
                               (SIMPLIFY (PART1 (LIST (LIST '(MQUOTE SIMP)
1390
 
                                                            '((MLIST)))
1391
 
                                                      (LIST '(MQUOTE SIMP)
1392
 
                                                            $SUBLIS)
1393
 
                                                      (LIST '(MQUOTE SIMP)
1394
 
                                                            $I))
1395
 
                                                T
1396
 
                                                NIL
1397
 
                                                $INFLAG))))
1398
 
                        (T (SETQ $SUBLIS
1399
 
                                 (SIMPLIFY (PART1 '(((MEQUAL)
1400
 
                                                     (($RHS)
1401
 
                                                      (($SUBLIS ARRAY) $I))
1402
 
                                                     (($LHS)
1403
 
                                                      (($SUBLIS ARRAY) $I)))
1404
 
                                                    $SUBLIS
1405
 
                                                    $I)
1406
 
                                                  T
1407
 
                                                  NIL
1408
 
                                                  $INFLAG))))))))
1409
 
                    (SETQ $GBITS (SIMPLIFY (MAPPLY (TRD-MSYMEVAL $EV)
1410
 
                                                   (LIST $GBITS $SUBLIS)
1411
 
                                                   '$EV)))
1412
 
                    (COND ((NOT (IS ($FREEOF (TRD-MSYMEVAL $EPS) $GBITS)))
1413
 
                           (SETQ $GBITS (SIMPLIFY ($EPSCON $GBITS)))))
1414
 
                    (RETURN (MUL* $GBITS $CONS))))
1415
 
            '$CONS
1416
 
            '$I
1417
 
            '$GBITS
1418
 
            '$SUBLIS
1419
 
            '$PI
1420
 
            '$H1
1421
 
            '$H2))
1422
 
         EXPR)
1423
 
 
1424
 
        (ARGS '$GCONP '(NIL . 1))
1425
 
 
1426
 
        (DEFPROP $GCONP T TRANSLATED)
1427
 
 
1428
 
        (ADD2LNC '$GCONP $PROPS)
1429
 
 
1430
 
        (MDEFPROP $GCONP
1431
 
                  ((LAMBDA)
1432
 
                   ((MLIST) $EXP)
1433
 
                   ((MPROG)
1434
 
                    ((MLIST) $CONS $I $GBITS $SUBLIS $PI $H1 $H2)
1435
 
                    ((MCOND)
1436
 
                     (($FREEOF) $G $EPS $EXP)
1437
 
                     ((MRETURN) $EXP)
1438
 
                     T
1439
 
                     $FALSE)
1440
 
                    ((MSETQ) $EXP (($EXPAND) $EXP))
1441
 
                    ((MCOND)
1442
 
                     (($MEMBER) (($PART) $EXP 0) ((MLIST) &+ &// &-))
1443
 
                     ((MRETURN) (($MAP) $GCONP $EXP))
1444
 
                     T
1445
 
                     $FALSE)
1446
 
                    ((MCOND)
1447
 
                     ((MNOTEQUAL) (($PART) $EXP 0) &*)
1448
 
                     ((MRETURN)
1449
 
                      ((MCOND) (($FREEOF) $EPS $EXP) $EXP T (($EPSCON) $EXP)))
1450
 
                     T
1451
 
                     $FALSE)
1452
 
                    ((MSETQ) $GBITS 1)
1453
 
                    ((MSETQ) $SUBLIS ((MLIST)))
1454
 
                    ((MSETQ) $CONS 1)
1455
 
                    ((MSETQ) $I 0)
1456
 
                    $LOOP
1457
 
                    ((MSETQ) $I ((MPLUS) $I 1))
1458
 
                    ((MCOND)
1459
 
                     ((MGREATERP) $I (($LENGTH) $EXP))
1460
 
                     ((MGO) $ON)
1461
 
                     T
1462
 
                     $FALSE)
1463
 
                    ((MSETQ) $PI (($PART) $EXP $I))
1464
 
                    ((MCOND)
1465
 
                     (($MEMBER) (($PART) $PI 0) ((MLIST) $G $EPS))
1466
 
                     ((MGO) $GBIT)
1467
 
                     T
1468
 
                     $FALSE)
1469
 
                    ((MCOND)
1470
 
                     ((MNOTEQUAL) (($PART) $PI 0) $D)
1471
 
                     ((MGO) $NOTD)
1472
 
                     T
1473
 
                     $FALSE)
1474
 
                    ((MSETQ) $H1 (($FREEOF) (($PART) $PI 1) $IND))
1475
 
                    ((MSETQ) $H2 (($FREEOF) (($PART) $PI 2) $IND))
1476
 
                    ((MCOND) ((MAND) $H1 $H2) ((MGO) $NOTD) T $FALSE)
1477
 
                    ((MCOND)
1478
 
                     ((MAND) $H1 ((MNOT) $H2))
1479
 
                     ((MSETQ)
1480
 
                      $SUBLIS
1481
 
                      (($APPEND)
1482
 
                       $SUBLIS
1483
 
                       ((MLIST) ((MEQUAL) (($PART) $PI 2) (($PART) $PI 1)))))
1484
 
                     T
1485
 
                     ((MSETQ)
1486
 
                      $SUBLIS
1487
 
                      (($APPEND)
1488
 
                       $SUBLIS
1489
 
                       ((MLIST) ((MEQUAL) (($PART) $PI 1) (($PART) $PI 2))))))
1490
 
                    ((MGO) $LOOP)
1491
 
                    $NOTD
1492
 
                    ((MSETQ) $CONS ((MTIMES) $CONS $PI))
1493
 
                    ((MGO) $LOOP)
1494
 
                    $GBIT
1495
 
                    ((MSETQ) $GBITS ((MTIMES) $GBITS $PI))
1496
 
                    ((MGO) $LOOP)
1497
 
                    $ON
1498
 
                    ((MDO)
1499
 
                     $I
1500
 
                     NIL
1501
 
                     NIL
1502
 
                     NIL
1503
 
                     (($LENGTH) $SUBLIS)
1504
 
                     NIL
1505
 
                     ((MCOND)
1506
 
                      (($FREEOF) (($LHS) (($SUBLIS ARRAY) $I)) $GBITS)
1507
 
                      ((MCOND)
1508
 
                       ((MOR)
1509
 
                        (($FREEOF) (($RHS) (($SUBLIS ARRAY) $I)) $IND)
1510
 
                        (($FREEOF) (($RHS) (($SUBLIS ARRAY) $I)) $GBITS))
1511
 
                       ((MPROG)
1512
 
                        ((MLIST))
1513
 
                        ((MSETQ)
1514
 
                         $CONS
1515
 
                         ((MTIMES)
1516
 
                          (($D)
1517
 
                           (($LHS) (($SUBLIS ARRAY) $I))
1518
 
                           (($RHS) (($SUBLIS ARRAY) $I)))
1519
 
                          $CONS))
1520
 
                        ((MSETQ) $SUBLIS (($SUBSTPART) ((MLIST)) $SUBLIS $I)))
1521
 
                       T
1522
 
                       ((MSETQ)
1523
 
                        $SUBLIS
1524
 
                        (($SUBSTPART)
1525
 
                         ((MEQUAL)
1526
 
                          (($RHS) (($SUBLIS ARRAY) $I))
1527
 
                          (($LHS) (($SUBLIS ARRAY) $I)))
1528
 
                         $SUBLIS
1529
 
                         $I)))
1530
 
                      T
1531
 
                      $FALSE))
1532
 
                    ((MSETQ) $GBITS (($APPLY) $EV ((MLIST) $GBITS $SUBLIS)))
1533
 
                    ((MCOND)
1534
 
                     ((MNOT) (($FREEOF) $EPS $GBITS))
1535
 
                     ((MSETQ) $GBITS (($EPSCON) $GBITS))
1536
 
                     T
1537
 
                     $FALSE)
1538
 
                    ((MRETURN) ((MTIMES) $GBITS $CONS))))
1539
 
                  MEXPR)
1540
 
 
1541
 
        (ARGS '$GCONP '(NIL . 1))
1542
 
 
1543
 
        (ADD2LNC '(($GCONP) $EXP) $FUNCTIONS)
1544
 
 
1545
 
        (DEFPROP $KAHG (GAMKAH > DSK SHARE2) AUTOLOAD)
1546
 
 
1547
 
        (ADD2LNC '$KAHG $PROPS)
1548
 
 
1549
 
        (SETQ IBASE 10.)
1550
 
 
1551