source: trunk/source/tests/ansi-tests/misc.lsp @ 8991

Last change on this file since 8991 was 8991, checked in by gz, 11 years ago

Check in the gcl ansi test suite (original, in preparation for making local changes)

File size: 358.7 KB
Line 
1;-*- Mode:     Lisp -*-
2;;;; Author:   Paul Dietz
3;;;; Created:  Sat Sep 20 09:45:15 2003
4;;;; Contains: Miscellaneous tests
5
6;;;
7;;; This file contains odds-and-ends, mostly tests that came up as
8;;; bug-stimulators in various implementations.
9;;;
10
11(in-package :cl-test)
12
13(declaim (special *s1* *s2* *s3* *s4* *s5* *s6* *s7* *s8*))
14
15(deftest misc.1
16  (funcall
17   (compile nil '(lambda (b)
18                   (declare (type (integer 8 22337) b))
19                   (+ b 2607688420)))
20   100)
21  2607688520)
22
23(deftest misc.2
24  (funcall (compile nil
25                    '(lambda (b) (integer-length (dpb b (byte 4 28) -1005))))
26           12800263)
27  32)
28
29(deftest misc.3
30  (funcall
31   (compile
32    nil
33    '(lambda (a b)
34       (declare (optimize (speed 3) (debug 1)))
35       (let ((v7
36              (let ((v2 (block b5 (return-from b5 (if t b -4)))))
37                a)))
38         -65667836)))
39   1 2)
40  -65667836)
41
42(deftest misc.4
43  (funcall
44   (compile
45    nil
46    '(lambda (a b c)
47           (declare (type (integer -629491 -333) a)
48                    (type (integer -142 1) b)
49                    (type (integer 0 12604) c)
50                    (optimize (speed 3) (safety 1) (debug 1)))
51           (let ((v6 (block b7 (return-from b7 (if (eql b 0) 1358159 a)))))
52                b)))
53   -1000 -17 6143)
54  -17)
55
56(deftest misc.5
57  (funcall
58   (compile nil
59            '(lambda () (* 390 (- (signum (logeqv -8005440 -2310))
60                                  -10604863)))))
61  4135896180)
62
63(deftest misc.6
64  (funcall
65   (compile nil
66            '(lambda (a c)
67                     (declare (optimize (speed 3) (debug 1)))
68                     (flet ((%f14 () (if c a -486826646)))
69                           (let ((v7 (flet ((%f18 () (%f14))) a)))
70                                (let ((v5 (%f14)))
71                                     0)))))
72   10 20)
73  0)
74
75(deftest misc.7
76  (funcall (compile nil
77                    '(lambda (c) (declare (optimize (speed 3) (debug 1)))
78                       (flet ((%f18 () -36))
79                         (flet ((%f13 ()
80                                      (let () (block b8 (return-from b8 c)))))
81                           (%f18)))))
82           10)
83  -36)
84
85(deftest misc.8
86  (funcall
87   (compile
88    nil
89    '(lambda (a b)
90       (declare (optimize (speed 3) (debug 1)))
91       (let ((v3 (flet ((%f12 () (min b (block b2 (return-from b2 a)))))
92                       a)))
93            (block b7
94                   (flet ((%f5 () (return-from b7 b)))
95                         (%f5))))))
96   10 20)
97  20)
98
99(deftest misc.9
100  (funcall
101   (compile
102    nil
103    '(lambda ()
104             (declare (optimize (speed 3) (debug 1)))
105             (block b6
106                    (flet ((%f3 ()
107                                (ldb (byte 19 23)
108                                     (block b1
109                                            (let ()
110                                                 (- (if nil (return-from b6 89627)
111                                                        1160)
112                                                    (return-from b1 22923)))))))
113                          1)))))
114  1)
115
116(deftest misc.10
117  (funcall
118   (compile
119    nil
120    '(lambda (c)
121             (declare (optimize (speed 3) (debug 1))
122                      (type (integer -15417757 5816) c))
123             (flet ((%f3 () (if nil -3143 c)))
124                   (block b5
125                          (let ((v7 (if (< 23613642 (%f3)) c -23097977)))
126                               (let ((v5
127                                      (return-from b5
128                                                   (if (eql c v7)
129                                                       (let ((v6 (%f3))) 4650813)
130                                                       782))))
131                                    -4362540))))))
132   -10000)
133  782)
134
135(deftest misc.11
136  (funcall
137   (compile
138    nil
139    '(lambda (a b c)
140             (declare (optimize (speed 3) (debug 1)))
141             (block b8
142                    (logxor
143                     (let ((v3 (return-from b8 120789657))) 3690)
144                     (block b2
145                            (flet ((%f9 ()
146                                        (flet ((%f10 () -1))
147                                              c)))
148                                  (flet ((%f3 () (let () (return-from b2 b))))
149                                        a)))))))
150   1 2 3)
151  120789657)
152
153(deftest misc.12
154  (funcall
155   (compile
156    nil
157    '(lambda (c)
158             (declare (optimize (speed 3) (safety 1) (debug 1))
159                      (type (integer -171067 -5) c))
160             (flet ((%f16 ()
161                          (flet ((%f12 () 439))
162                                3358)))
163                   (flet ((%f14 () c))
164                         (if (%f14) -1 (%f14))))))
165   -100)
166  -1)
167
168(deftest misc.13
169  (funcall
170   (compile
171    nil
172    '(lambda (b c)
173             (declare (optimize (speed 3) (safety 1) (debug 1))
174                      (type  (integer -1554410 36086789) b)
175                      (type (integer -15033876209 126774299) c)
176                      )
177             (block b3
178                    (flet ((%f9 ()
179                                (abs
180                                 (flet ((%f5 ()
181                                             (return-from b3 -2)))
182                                       (if (if (<= 1 c) b (%f5)) -65 -47895812)))))
183                          (min
184                           (let ((v3 (let ((v8 (%f9))) b))) b)
185                           (if (= 1364001 (%f9))
186                               (logeqv (block b5 -2713) -247)
187                               -19))))))
188   0 0)
189  -2)
190
191(deftest misc.14
192  (funcall
193   (compile
194    nil
195    '(lambda (c)
196             (declare (notinline logandc1))
197             (block b6
198                    (flet ((%f17 () (return-from b6 c)))
199                          (logandc1 (%f17)
200                                    (if 1
201                                        450967818
202                                        (let ((v1 (%f17))) -17)))))))
203   10)
204  10)
205
206(deftest misc.15
207  (funcall
208   (compile
209    nil
210    '(lambda (a b)
211             (declare (optimize (speed 3) (safety 1) (debug 1)))
212             (flet ((%f6 () a))
213                   (block b5
214                          (flet ((%f14 ()
215                                       (min 17593 (block b1 (return-from b1 b)))))
216                                (block b7 (if (%f6) (return-from b7 28182012)
217                                              (return-from b5 0))))))))
218   3 5)
219  28182012)
220
221(deftest misc.16
222  (funcall
223   (compile
224    nil
225    '(lambda (a c)
226             (flet ((%f14 ()
227                          (block b6
228                                 (flet ((%f7 () (return-from b6 4)))
229                                       (if 587793 (if (%f7) c -23086423) (%f7))))))
230                   (block b1
231                          (flet ((%f18 () a))
232                                (logandc1 (return-from b1 -2781)
233                                          (if (%f14) 58647578 -396746)))))))
234   1 2)
235  -2781)
236
237(deftest misc.17
238  (funcall
239   (compile
240    nil
241    '(lambda (a b c)
242             (declare (optimize (speed 3) (safety 1) (debug 1))
243                      (type (integer 4 23363) b)
244                      (type (integer -32681 41648) c)
245                      )
246             (flet ((%f18 ()
247                          (if nil c b)))
248                   (if (if (> -71810514 a) 102077 465393)
249                       (block b3 (if (%f18) (return-from b3 c) c))
250                       (%f18)))))
251   0 10 1000)
252  1000)
253
254(deftest misc.18
255  (funcall
256   (compile
257    nil
258    '(lambda (a b c)
259             (declare (optimize (speed 3) (safety 1) (debug 1))
260                      (type (integer 7 58010860) a)
261                      (type (integer -3573280 -1) b)
262                      (type (integer -920848 -819) c)
263                      )
264             (flet ((%f15 () (if (logbitp 5 a) a c)))
265                   (min (if (%f15) b -39) (if (> 0 -14756) b (%f15))))))
266   8 -1000 -10000)
267  -1000)
268
269(deftest misc.19
270  (funcall
271   (compile
272    nil
273    '(lambda (a b c)
274             (declare (type (integer 54 3862515) a) (type (integer -961325 1539) b)
275                      (type (integer 6 31455) c) (ignorable a b c)
276                      (optimize (speed 3) (safety 1) (debug 1)))
277             (lognor
278              (flet ((%f13 () b)) (%f13))
279              (flet ((%f1 () (return-from %f1 a)))
280                    (labels ((%f3 () (%f1)))
281                            -428)))))
282   100 0 200)
283  427)
284
285(deftest misc.20
286  (funcall
287   (compile
288    nil
289    '(lambda (a b c)
290             (declare (type (integer -1 31880308) a)
291                      (type (integer -11374222037 5331202966) b)
292                      (type (integer -483 -1) c)
293                      (ignorable a b c)
294                      (optimize (speed 3) (safety 1) (debug 1)))
295             (labels ((%f6 () a))
296                     (if (eql (let ((v9 (%f6))) -50072824) c)
297                      28146341
298                      (if (< 119937 21304962) 21304962 (%f6))))))
299   0 0 -1)
300  21304962)
301
302(deftest misc.21
303  (funcall
304   (compile
305    nil
306    '(lambda (a b c)
307             (declare (type (integer 398 3955) a) (type (integer 233 464963) b)
308                      (type (integer -124477 16) c) (ignorable a b c)
309                      (optimize (speed 3) (safety 1) (debug 1)))
310             (logior
311              (flet ((%f18 ()
312                           -3584768))
313                    (%f18))
314              (flet ((%f1 ()
315                          (return-from %f1 c)))
316                    (flet ((%f9 ()
317                                (if (%f1) 24181 7)))
318                          56048)))))
319   400 300 0)
320  -3547152)
321
322(deftest misc.22
323  (funcall
324   (compile
325    nil
326    '(lambda (a b c)
327             (declare (type (integer -126378 -103) a)
328                      (type (integer -1158604975 1) b)
329                      (type (integer 502 28036) c)
330                      (ignorable a b c)
331                      (optimize (speed 3) (safety 1) (debug 1)))
332             (labels ((%f13 () c))
333                     (labels ((%f3 ()
334                                   (logandc1
335                                    c
336                                    (block b6
337                                           (max -73100
338                                                (if b (return-from b6 4935) (%f13)))))))
339                             (%f13)))))
340   -200 0 1000)
341  1000)
342
343(deftest misc.23
344  (funcall
345   (compile
346    nil
347    '(lambda (a b c)
348             (declare (type (integer 1 18911480) a)
349                      (type (integer -1 48333) b)
350                      (type (integer -3881001767 -1937357) c)
351                      (ignorable a b c)
352                      (optimize (speed 3) (safety 1) (debug 1)))
353             (labels ((%f10 () c))
354                     (block b7
355                            (logorc2
356                             (* (%f10)
357                                (if (ldb-test (byte 27 1) -11337)
358                                    (return-from b7 -2)
359                                    246137101))
360                             (min (%f10) (return-from b7 -76114)))))))
361   1 0 -2000000)
362  -2)
363
364(deftest misc.24
365  (funcall
366   (compile
367    nil
368    '(lambda (a b c)
369             (declare (type (integer -1477249397 -10697252) a)
370                      (type (integer -7 54591) b)
371                      (type (integer -102559556 15) c)
372                      (ignorable a b c)
373                      (optimize (speed 3) (safety 1) (debug 1)))
374             (block b8
375                    (let ((v1 (return-from b8 a)))
376                         (1+
377                          (block b3
378                                 (flet ((%f10 ()
379                                              (min a (return-from b3 -1))))
380                                       16776220)))))))
381   -11000000 0 0)
382  -11000000)
383
384(deftest misc.25
385  (funcall
386   (compile
387    nil
388    '(lambda (a b c)
389             (declare (type (integer -944 111244) a)
390                      (type (integer 100512 3286178) b)
391                      (type (integer -2170236 -107) c)
392                      (ignorable a b c)
393                      (optimize (speed 3) (safety 1) (debug 1)))
394             (labels ((%f17 () c))
395                     (labels ((%f16 () a))
396                             (if (if (logbitp 10 1029643) t 355)
397                                 (if (equal (%f17) b) c a)
398                                 (if (= 1325844 (%f16)) -50285 (1- (%f17))))))))
399   0 200000 -200)
400  0)
401
402(deftest misc.26
403  (funcall
404   (compile
405    nil
406    '(lambda (c)
407             (declare (optimize speed))
408             (block b5
409                    (if (logbitp 6 -97)
410                        (let ((v2 (block b8 -42484))) c)
411                        (flet ((%f10 () (return-from b5 -785143)))
412                              (let ((v3 (%f10)))
413                                   (%f10)))))))
414   0)
415  -785143)
416
417(deftest misc.27
418  (funcall
419   (compile
420    nil
421    '(lambda (a b c)
422             (declare (optimize (speed 3) (debug 1)))
423             (labels ((%f14 () c))
424                     (logand (%f14)
425                             (labels ((%f15 () (logeqv (let ((v1 b)) c)
426                                                       (return-from %f15 -1740))))
427                                     (labels ((%f8 () (%f15)))
428                                             a))))))
429   5 2 3)
430  1)
431
432(deftest misc.28
433  (funcall
434   (compile
435    nil
436    '(lambda (a b c)
437          (declare
438           (type (integer 1948 12024) b)
439           (type (integer -104357939 -252) c)
440           (optimize (speed 3) (debug 1)))
441    (flet ((%f18 () c))
442      (logandc1 (if (eql b (%f18)) 0 a)
443                (if (ldb-test (byte 30 30) 1) (%f18) 1)
444                ))))
445   0 2000 -300)
446  1)
447
448(deftest misc.29
449  (funcall
450   (compile
451    nil
452    '(lambda (a b c)
453             (declare (type (integer 661607 10451683348) a)
454                      (type (integer -2 -2) b)
455                      (type (integer 5996117 18803237) c)
456                      (optimize (speed 3) (safety 1) (debug 1)))
457             (labels ((%f16 () -29))
458               (flet ((%f7 ()
459                           (labels ((%f1 () a))
460                             (let ()
461                               (block b3
462                                 (if 37101207
463                                     (return-from b3 -5322045)
464                                   (let ((v5 b))
465                                     146099574)))))))
466                 (if (%f16) c c)))))
467   1000000 -2 6000000)
468  6000000)
469
470(deftest misc.30
471  (funcall
472   (compile
473    nil
474    '(lambda (c)
475             (declare (type (integer -253 -1) c)
476                      (optimize (speed 3) (safety 1) (debug 1)))
477             (flet ((%f8 () c))
478                   (if (= (%f8) 481) (%f8) 1779465))))
479   -100)
480  1779465)
481
482(deftest misc.31
483  (funcall
484   (compile nil
485            '(lambda () (let ((v9 (labels ((%f13 () nil)) nil)))
486                             (let ((v3 (logandc2 97 3)))
487                                  (* v3 (- 37391897 (logand v3 -66))))))))
488  3589619040)
489
490(deftest misc.32
491  (funcall
492   (compile
493    nil
494    '(lambda (a d)
495             (declare (type (integer -8507 26755) a)
496                      (type (integer -393314538 2084485) d)
497                      (optimize (speed 3) (safety 1) (debug 1)))
498             (gcd
499              (if (= 0 a) 10 (abs -1))
500              (logxor -1
501                      (min -7580
502                           (max (logand a 31365125) d))))))
503   1 1)
504  1)
505
506(deftest misc.33
507  (funcall
508   (compile
509    nil
510    '(lambda (a b c d)
511             (declare (type (integer 240 100434465) a)
512                      (optimize (speed 3) (safety 1) (debug 1)))
513             (logxor
514              (if (ldb-test (byte 27 4) d)
515                  -1
516                  (max 55546856 -431))
517              (logorc2
518               (if (>= 0 b)
519                   (if (> b c) (logandc2 c d) (if (> d 224002) 0 d))
520                   (signum (logior c b)))
521               (logior a -1)))))
522   256 0 0 0)
523  55546856)
524
525(deftest misc.34
526  (funcall
527   (compile nil
528            `(lambda (b c)
529                     (declare (type (integer -23228343 2) b)
530                              (type (integer -115581022 512244512) c)
531                              (optimize (speed 3) (safety 1) (debug 1)))
532                     (* (* (logorc2 3 (deposit-field 4667947 (byte 14 26) b))
533                           (deposit-field b (byte 25 27) -30424886))
534                        (dpb b (byte 23 29) c)
535                        )))
536   0 0)
537  0)
538
539(deftest misc.35
540  (funcall
541   (compile
542    nil
543    '(lambda (c)
544             (declare (type (integer -5945502333 12668542) c)
545                      (optimize (speed 3)))
546             (let ((v2 (* c 12)))
547                  (- (max (if (/= 109335113 v2) -26479 v2)
548                          (deposit-field 311
549                                         (byte 14 28)
550                                         (min (max 521326 c) -51)))))))
551   12668542)
552  26479)
553
554(deftest misc.36
555  (funcall
556   (compile nil
557            '(lambda ()
558               (declare (notinline + logand)
559                        (optimize (speed 0)))
560               (logand
561                (block b5
562                       (flet ((%f1 ()
563                                   (return-from b5 -220)))
564                             (let ((v7 (%f1)))
565                                  (+ 359749 35728422))))
566                -24076))))
567  -24284)
568
569(deftest misc.37
570  (funcall
571   (compile
572    nil
573    '(lambda (b)
574       (declare (notinline -) (optimize (speed 0)))
575       (- (block b4
576                 (flet ((%f4 ()
577                             (return-from b4 b)))
578                       (%f4))))))
579   10)
580  -10)
581
582(deftest misc.38
583  (funcall
584   (compile
585    nil
586    '(lambda (x) (declare (type (integer 0 100) x)
587                          (optimize (speed 3) (safety 1)))
588       (logandc1 x x)))
589   79)
590  0)
591
592(deftest misc.39
593  (funcall
594   (compile
595    nil
596    '(lambda (x) (declare (type (integer 0 100) x)
597                          (optimize (speed 3) (safety 1)))
598       (logandc2 x x)))
599   79)
600  0)
601
602(deftest misc.40
603  (funcall
604   (compile
605    nil
606    '(lambda (x) (declare (type (integer 0 100) x)
607                          (optimize (speed 3) (safety 1)))
608       (logorc1 x x)))
609   79)
610  -1)
611
612(deftest misc.41
613  (funcall
614   (compile
615    nil
616    '(lambda (x) (declare (type (integer 0 100) x)
617                          (optimize (speed 3) (safety 1)))
618       (logorc2 x x)))
619   79)
620  -1)
621
622(deftest misc.42
623  (funcall
624   (compile
625    nil
626    '(lambda (x)
627       (declare (type (integer -100 100) x))
628       (ldb (byte 1 32) x)))
629   -1)
630  1)
631
632(deftest misc.43
633  (funcall (compile nil
634        '(lambda () (flet ((%f2 () 288213285))
635                      (+ (%f2) (* 13 (%f2)))))))
636  4034985990)
637 
638
639(deftest misc.44
640  (funcall
641   (compile
642    nil
643    '(lambda (a)
644             (declare (type (integer -917858 964754309) a)
645                      (optimize (speed 3)))
646             (* 25 (min (max a 171625820) 171626138))))
647   861929141)
648  4290653450)
649
650(deftest misc.45
651  (funcall
652   (compile
653    nil
654    '(lambda (b)
655             (declare (type (integer 21 9673) b)
656                      (optimize (speed 3)))
657             (* (integer-length -198435631) (+ b 137206182))))
658   6027)
659  3841941852)
660
661(deftest misc.46
662  (funcall
663   (compile
664    nil
665    '(lambda (b c)
666             (declare (type (integer 0 1) b) (optimize (speed 3)))
667             (flet ((%f2 () (lognor (block b5 138) c)))
668                   (if (not (or (= -67399 b) b))
669                       (deposit-field (%f2) (byte 11 8) -3)
670                       c))))
671   0 0)
672  0)
673
674(deftest misc.47
675  (funcall
676   (compile
677    nil
678    '(lambda (a)
679             (declare (type (integer -4005718822 -50081775) a)
680                      (optimize (speed 3) (safety 1) (debug 1)))
681             (lognor (ash a (min 0 a)) a)))
682   -2878148992)
683  0)
684
685(deftest misc.48
686  (funcall
687   (compile
688    nil
689    '(lambda (a) (declare (notinline ash min)) (lognor (ash a (min 0 a)) a)))
690   -2878148992)
691  0)
692
693(deftest misc.49
694  (let ((body '(truncate (logorc1 -996082 C) -2))
695        (arg 25337234))
696    (values
697     (funcall (compile nil `(lambda (c) ,body)) arg)
698     (funcall (compile nil `(lambda (c) (declare (notinline truncate))
699                              ,body)) arg)))
700  -13099001
701  -13099001)
702
703(deftest misc.50
704  (funcall (compile nil `(lambda (c)
705                           (declare (optimize (speed 3))
706                                    (type (integer 23062188 149459656) c))
707                           (mod c (min -2 0))))
708           95019853)
709  -1)
710
711(deftest misc.51
712  (funcall (compile nil `(lambda (b)
713                           (declare (optimize (speed 3))
714                                    (type (integer 2 152044363) b))
715                            (rem b (min -16 0))))
716           108251912)
717  8)
718 
719(deftest misc.53
720  (funcall
721   (compile nil '(lambda ()
722                   (let (x)
723                     (block nil
724                       (flet ((%f (y z) (if (> y z) (setq x y) (setq x z))))
725                         (%f 1 2)
726                         (%f (return 14) 2)))
727                     x))))
728  2)
729
730(deftest misc.54
731  (funcall
732   (compile nil '(lambda (a c)
733                   (declare (type (integer 8 117873977) a)
734                            (type (integer -131828754 234037511) c)
735                            (optimize (speed 3) (safety 1) (debug 1)))
736                   (* (mod (signum a) (max 50 -358301))
737                      (* -2320445737132
738                         (* (* a (deposit-field a (byte 32 19) a)) c)))))
739   11386 165297671)
740  -49725654774521915007942373712)
741
742(deftest misc.55
743  (funcall
744   (compile nil '(lambda (a b c)
745                   (declare (type (integer -5498929 389890) a)
746                            (type (integer -5029571274946 48793670) b)
747                            (type (integer 9221496 260169518304) c)
748                            (ignorable a b c)
749                            (optimize (speed 3) (safety 1) (debug 1)))
750                   (- (mod 1020122 (min -49 -420))
751                      (logandc1
752                       (block b2
753                         (mod c (min -49 (if t (return-from b2 1582) b))))
754                       (labels ((%f14 () (mod a (max 76 8))))
755                         b)))))
756   -1893077 -2965238893954 30902744890)
757  2965238894454)
758
759(deftest misc.56
760  (funcall
761   (compile nil '(lambda (a c)
762                   (declare (type (integer -8691408487404 -9) a)
763                            (type (integer 266003133 2112105962) c)
764                            (optimize (speed 3) (safety 1) (debug 1)))
765                   (truncate (max (round a) c) (* (* a a) a))))
766   -10 266003133)
767  -266003
768  133)
769
770(deftest misc.57
771  (funcall
772   (compile nil '(lambda (a b c)
773                         (declare (type (integer -1907 58388940297) a)
774                                  (type (integer -646968358 294016) b)
775                                  (type (integer -708435313 89383896) c)
776                                  (optimize (speed 3) (safety 1) (debug 1)))
777                         (let ((v6 (abs (min a (signum c)))))
778                              (if (ceiling v6 (max 77 v6)) b 2))))
779   50005747335 -363030456 17382819)
780  -363030456)
781
782(deftest misc.58
783  (funcall
784   (compile nil '(lambda (a)
785                   (declare (type (integer -23 66141285) a)
786                            (optimize (speed 3)))
787                   (logorc2 (setq a 35191330) (* a 107))))
788   4099241)
789  -3764388885)
790
791(deftest misc.59
792  (funcall
793   (compile nil '(lambda (a b c)
794                   (declare (type (integer -3966039360 -879349) a)
795                            (type (integer -62642199164 -8993827395) b)
796                            (type (integer -8065934654337 223) c)
797                            (optimize (speed 3) (safety 1) (debug 1)))
798                   (floor (* (ceiling c) c)
799                          (max 78 (* b (* a (* a b)))))))
800   -1000000 -10000000000 0)
801  0 0)
802
803(deftest misc.60
804  (funcall
805    (compile nil
806             '(lambda ()
807                (let ((v5 46660))
808                  (setq v5 (signum (rem v5 (max 53 v5))))))))
809  0)
810
811(deftest misc.61
812  (progn
813    (compile nil
814             '(lambda (a b)
815                (declare (type (integer -1785799651 -2) a)
816                         (type (integer -27 614132331) b)
817                         (optimize (speed 3) (safety 1) (debug 1)))
818                (ceiling (max (floor -733432 (max 84 -20)) 346)
819                         (min -10 (* 17592186028032 (* (* a b) a))))))
820    :good)
821  :good)
822
823(deftest misc.62
824  (funcall (compile nil '(lambda (a)
825                (if (and (if a t nil) nil)
826                    a
827                  (min (block b5 -1) a))))
828           100)
829  -1)
830
831;;; sbcl bug (probably #233)
832(deftest misc.63
833  (let* ((form '(flet ((%f12 () (setq c -9868204937)))
834                  (if (<= c (%f12)) -2 (if (= c c) b c))))
835         (form1 `(lambda (b c)
836                   (declare (type (integer -80421740610 1395590616) c))
837                   ,form))
838         (form2 `(lambda (b c) ,form))
839         (vals '(-696742851945 686256271)))
840    (eqlt (apply (compile nil form1) vals)
841          (apply (compile nil form2) vals)))
842  t)
843
844;;; sbcl bug (probably #233)
845(deftest misc.64
846  (let* ((form '(logcount
847                 (if (not (> c (let ((v7 (setq c -246180))) -1)))
848                     (ldb (byte 24 11) c)
849                   c)))
850         (form1 `(lambda (c)
851                   (declare (type (integer -256128 207636) c))
852                   ,form))
853         (form2 `(lambda (c) ,form))
854         (vals '(11292))
855         )
856    (eqlt (apply (compile nil form1) vals)
857          (apply (compile nil form2) vals)))
858  t)
859
860;;; sbcl bug (probably #233)
861(deftest misc.65
862  (let ((form1 '(lambda (b c)
863                  (declare (type (integer -350684427436 -255912007) b))
864                  (logandc2 c (if (< b (setq b -25647585550)) b 0))))
865        (form2 '(lambda (b c)
866                  (logandc2 c (if (< b (setq b -25647585550)) b 0))))
867        (vals '(-297090677547 -20121092)))
868    (eqlt (apply (compile nil form1) vals)
869          (apply (compile nil form2) vals)))
870  t)
871
872(deftest misc.66
873  (let* ((form '(if (> a (setq a -2198578292))
874                    (min b (if (<= a -14866) a -128363))
875                  a))
876         (form1 `(lambda (a b)
877                   (declare (type (integer -3709231882 0) a))
878                   (declare (type (integer -562051054 -1) b))
879                   ,form))
880         (form2 `(lambda (a b) ,form))
881         (vals '(-2095414787 -256985442)))
882    (eqlt (apply (compile nil form1) vals)
883          (apply (compile nil form2) vals)))
884  t)
885
886;;; sbcl/cmucl bug (on sparc)
887(deftest misc.67
888  (funcall
889    (compile nil '(lambda (x)
890                    (declare (type (integer 10604862 10604862) x)
891                             (optimize speed))
892                    (* x 390)))
893    10604862)
894  4135896180)
895
896;;; cmucl bug (cvs, 10/10/2003)
897(deftest misc.68
898  (funcall
899   (compile nil
900            '(lambda (b)
901               (flet ((%f8 () (rem b (identity (return-from %f8 0)))))
902                 (lognor (%f8) 0))))
903   0)
904  -1)
905
906(deftest misc.69
907  (funcall
908   (compile nil
909            '(lambda (b)
910               (flet ((%f11 () (logorc2 (block b1 (let () (return-from b1 b)))
911                                        -1984)))
912                 b)))
913   0)
914  0)
915
916(deftest misc.70
917  (funcall
918   (compile nil '(lambda (c)
919                   (declare (type (integer 46156191457 126998564334) c))
920                   (truncate c (min -16 186196583))))
921   87723029763)
922  -5482689360
923  3)
924
925(deftest misc.71
926  (funcall
927   (compile nil
928            '(lambda ()
929               (block b8
930                 (if (identity (return-from b8 30))
931                     1
932                   (identity
933                    (block b5
934                      (labels ((%f10 () (min -52 (return-from b5 10))))
935                        20))))))))
936  30)
937
938(deftest misc.72
939  (funcall
940   (compile nil '(lambda ()
941                   (flet ((%f13 () (rem 1 (min 0 (return-from %f13 17)))))
942                     (%f13)))))
943  17)
944
945(deftest misc.73
946  (funcall
947   (compile nil '(lambda (c)
948                   (declare (type (integer 46156191457 126998564334) c))
949                   (rem c (min -1 0))))
950   87723029763)
951  0)
952
953(deftest misc.74
954  (funcall (compile nil '(lambda ()
955                           (declare (optimize (safety 3) (speed 0) (debug 0)))
956                           (ash 6916244 (min 42 -185236061640)))))
957  0)
958
959;;; Unwind-protect bug, from sbcl:
960;;; "The value NIL is not of type SB-C::NODE."
961
962(deftest misc.75
963  (funcall (compile nil '(lambda () (flet ((%f12 () (unwind-protect 1))) 0))))
964  0)
965
966
967;;; cmucl (2003-10-12), "NIL is not of type C::REF"
968(deftest misc.76
969  (funcall
970   (compile nil
971            '(lambda (a c)
972                (if nil (unwind-protect (max 521739 (unwind-protect c)))
973                  (logandc2 3942 a))))
974   0 0)
975  3942)
976
977;;; gcl (2003-10-11)  Miscomputation of (mod 0 -53) in compiled code
978(deftest misc.77
979  (funcall (compile nil '(lambda () (mod 0 -53))))
980  0)
981
982
983;;; cmucl (2003-10-12)  "NIL is not of type C::BYTE-LAMBDA-INFO"
984(deftest misc.78
985  (funcall
986   (compile nil '(lambda ()
987                   (declare (optimize (speed 0) (debug 0)))
988                   (let ((v4
989                          (case 227
990                            ((-11113 -106126) (unwind-protect 8473))
991                            (t 43916))))
992                     -12))))
993  -12)
994
995;;; Same as misc.78, but with no declarations
996;;; In cmucl (2003-10-12)  "NIL is not of type C::ENVIRONMENT"
997(deftest misc.79
998  (funcall
999   (compile nil '(lambda ()
1000                   (let ((v4
1001                          (case 227
1002                            ((-11113 -106126) (unwind-protect 8473))
1003                            (t 43916))))
1004                     -12))))
1005  -12)
1006
1007(deftest misc.79a
1008  (funcall
1009   (compile
1010    nil
1011    '(lambda (a b)
1012       (declare (type (integer 72504 351460) a))
1013       (declare (type (integer 2383 108330) b))
1014       (declare        (optimize (speed 2) (space 0) (safety 0)
1015                          (debug 2) (compilation-speed 1)))
1016       (if (or (or (/= b 0) (logbitp 0 0)) (logbitp 0 a))
1017           0
1018         (funcall (constantly 0) b 0 (catch 'ct4 b)))))
1019   132318 12238)
1020  0)
1021
1022
1023;;; cmucl (2003-10-12) "Invalid number of arguments: 2"
1024(deftest misc.80
1025  (funcall
1026   (compile nil
1027            '(lambda (b c)
1028               (declare (notinline > logior imagpart))
1029               (declare (optimize (speed 0) (debug 0)))
1030               (labels ((%f16 ()
1031                              (imagpart
1032                               (block b3
1033                                 (logeqv (logior -122516 (if (> -1 0) (return-from b3 c) b))
1034                                         (return-from %f16 32186310))))))
1035                 (lognor (%f16) b))))
1036   -123886 -1656)
1037  57385)
1038
1039;;; cmucl (2003-10-12) "NIL is not of type C::REF"
1040(deftest misc.81
1041  (funcall
1042   (compile nil '(lambda (b)
1043                   (block b7
1044                     (let ((v3 (return-from b7 b)))
1045                       (unwind-protect b)))))
1046   17)
1047  17)
1048
1049;;; cmucl (2003-10-12) "The assertion C::SUCC failed"
1050(deftest misc.82
1051  (funcall
1052   (compile nil '(lambda (c)
1053                   (labels ((%f15 ()
1054                                  (* (unwind-protect c)
1055                                     (max -5726369
1056                                          (return-from %f15 3099206)))))
1057                     c)))
1058   0)
1059  0)
1060
1061;;; cmucl (2003-10-13) "The assertion (NOT (C::BLOCK-DELETE-P BLOCK)) failed."
1062(deftest misc.83
1063  (funcall
1064   (compile nil '(lambda (a c)
1065                   (flet ((%f8 () (min c (min a (return-from %f8 c)))))
1066                     c)))
1067   0 -10)
1068  -10)
1069
1070(deftest misc.84
1071  (funcall
1072   (compile nil '(lambda (a b)
1073                   (flet ((%f18 ()
1074                                (let ()
1075                                  (let ()
1076                                    (if (ldb-test (byte 20 23) b) a
1077                                      (return-from %f18 431))))))
1078                     -674)))
1079   0 0)
1080  -674)
1081
1082(deftest misc.85
1083  (funcall
1084   (compile nil
1085            '(lambda (c)
1086               (labels ((%f14 ()
1087                              (let ()
1088                                (logandc1 (min -32 (return-from %f14 -69793))
1089                                          c))))
1090                     156)))
1091   0)
1092  156)
1093
1094;;; Two tests showing bug(s) in clisp (2.31)
1095(deftest misc.86
1096  (funcall (compile nil '(lambda (b)
1097                           (flet ((%f10 nil :bad))
1098                             (let ((v7 (let ((v2 (%f10))) b)))
1099                               (unwind-protect b)))))
1100           :good)
1101  :good)
1102
1103(deftest misc.87
1104  (apply (compile nil '(lambda (a b c)
1105                         (let ((v9 a))
1106                           (let ((v2 (setq v9 c)))
1107                             (unwind-protect c)))))
1108         '(x y z))
1109  z)
1110
1111;;; cmucl bug (18e+ 10/15/03)
1112(deftest misc.88
1113  (eval '(block b3
1114           (max (return-from b3 1)
1115                (if (unwind-protect (unwind-protect 2)) 3 4))))
1116  1)
1117
1118;;;
1119;;; cmucl bug (18e+ 10/15/03)
1120;;; Also occurs in sbcl (0.8.16.20)
1121;;;  "Too large to be represented as a SINGLE-FLOAT"
1122;;; (a large bignum is coerced to a single-float in type propagation,
1123;;;  with unfortunate results.)
1124;;;
1125
1126;;; Here, the function were the problem occurs is -
1127(deftest misc.89
1128  (funcall
1129   (compile nil
1130            '(lambda (c)
1131               (declare (type (integer 0 130304) c))
1132               (- (rem -26 (max 25 (load-time-value 505849129)))
1133                  (* -15718867961526428520296254978781964 c))))
1134   0)
1135  -26)
1136
1137;;; Here, it is MAX
1138(deftest misc.89a
1139  (funcall
1140   (compile
1141    nil
1142    '(lambda (a b c d)
1143       (declare (type (integer -265115792172 -206231862770) a))
1144       (declare (type (integer 11069 58322510034) b))
1145       (declare (type (integer -7351 28730) c))
1146       (declare (type (integer -913299295156 3670905260104) d))
1147       (declare (ignorable a b c d))
1148       (declare
1149        (optimize (safety 1) (space 1) (compilation-speed 2)
1150                  (debug 0) (speed 2)))
1151       (- (signum (catch 'ct6 0)) (numerator (* -1303 d -20527703 d c)))))
1152   -261283766805 41605749408 5110 1269102278886)
1153  -220139978315039892599545286437019126040)
1154
1155;;; Here, it is MOD
1156(deftest misc.89b
1157  (funcall
1158   (compile
1159    nil
1160    '(lambda (a b c d)
1161       (declare (type (integer -481454219025 239286093202) a))
1162       (declare (type (integer -1121405368785 213522) b))
1163       (declare (type (integer -103720347879 -241) c))
1164       (declare (type (integer -12830115357 3027711346) d))
1165       (declare (ignorable a b c d))
1166       (declare (optimize (speed 2) (compilation-speed 1) (space 1)
1167                          (safety 3) (debug 2)))
1168       (floor (load-time-value 0) (min -18 (* a c b -12626)))))
1169   -78545446876 -460518205737 -38885914099 1598305189)
1170  0 0)
1171
1172;;; acl bugs (version 6.2, linux x86 trial)
1173(deftest misc.90
1174  (let* ((form '(- 0 (ignore-errors 20763)
1175                   (logxor b 1 c -7672794) b))
1176         (fn1 `(lambda (b c)
1177                 (declare (type (integer -148895 -46982) b))
1178                 (declare (type (integer 0 1) c))
1179                 (declare (optimize (speed 3)))
1180                 (declare (optimize (safety 1)))
1181                 ,form))
1182         (fn2 `(lambda (b c) ,form)))
1183    (let ((v1 (funcall (compile nil fn1) -76071 0))
1184          (v2 (funcall (compile nil fn2) -76071 0))
1185          (v3 (funcall (eval `(function ,fn2)) -76071 0)))
1186      (if (= v1 v2 v3) :good
1187        (list v1 v2 v3))))
1188  :good)
1189
1190(deftest misc.91
1191  (let ((fn1 '(lambda ()
1192                (declare (optimize (speed 3) (safety 1)))
1193                (ash -10 (min 8 -481))))
1194        (fn2 '(lambda () (ash -10 (min 8 -481)))))
1195    (let ((v1 (funcall (compile nil fn1)))
1196          (v2 (funcall (compile nil fn2)))
1197          (v3 (funcall (eval `(function ,fn2)))))
1198      (if (= v1 v2 v3)
1199          :good
1200        (list v1 v2 v3))))
1201  :good)
1202
1203(deftest misc.92
1204  (let* ((form '(- -16179207 b (lognor (let () 3) (logxor -17567197 c))))
1205         (fn1 `(lambda (b c)
1206                 (declare (type (integer -621 30) c))
1207                 (declare (optimize (speed 3)))
1208                 (declare (optimize (safety 1)))
1209                 ,form))
1210         (fn2 `(lambda (b c) ,form))
1211         (vals '(26291532469 -21)))
1212    (let ((v1 (apply (compile nil fn1) vals))
1213          (v2 (apply (compile nil fn2) vals))
1214          (v3 (apply (eval `(function ,fn2)) vals)))
1215      (if (= v1 v2 v3)
1216          :good
1217        (list v1 v2 v3))))
1218  :good)
1219
1220(deftest misc.93
1221  (let* ((form '(ash (1+ (flet ((%f5 (f5-1) c)) c))
1222                     (min 69 (logxor a b))))
1223         (fn1 `(lambda (a b c)
1224                 (declare (type (integer -128 -109) a)
1225                          (type (integer -2 -1) b)
1226                          (optimize (speed 3) (safety 1)))
1227                 ,form))
1228         (fn2 `(lambda (a b c) ,form))
1229         (vals '(-123 -1 2590941967601)))
1230    (eqlt (apply (compile nil fn1) vals)
1231          (apply (compile nil fn2) vals)))
1232  t)
1233
1234(deftest misc.94
1235  (not (funcall
1236        (compile nil '(lambda ()
1237                        (declare (optimize (speed 3) (safety 1) (debug 1)))
1238                        (<= 268435280
1239                            (load-time-value
1240                             39763134374436777607194165739302560271120000))))))
1241  nil)
1242
1243(deftest misc.95
1244  (let* ((form '(+ 272 c (if (< b a) -49618 -29042) b))
1245         (fn1 `(lambda (a b c)
1246                 (declare (type (integer -1585918 601848636) a))
1247                 (declare (type (integer -4 16544323) b))
1248                 (declare (optimize (speed 3)))
1249                 (declare (optimize (safety 1)))
1250                 ,form))
1251         (fn2 `(lambda (a b c) ,form))
1252         (vals '(601739317 10891850 17452477960)))
1253    (let ((v1 (apply (compile nil fn1) vals))
1254          (v2 (apply (compile nil fn2) vals)))
1255      (if (eql v1 v2)
1256          :good
1257        (list v1 v2))))
1258  :good)
1259
1260(deftest misc.96
1261  (let* ((form '(max 26 (ceiling b (min -8 (max -1 c)))))
1262         (fn1 `(lambda (b c)
1263                 (declare (type (integer 482134 96074347505) b))
1264                 (declare (type (integer -4036 -50) c))
1265                 (declare (optimize (speed 3)))
1266                 (declare (optimize (safety 1)))
1267                 ,form))
1268         (fn2 `(lambda (b c) ,form))
1269         (vals '(90244278480 -338)))
1270    (let ((v1 (apply (compile nil fn1) vals))
1271          (v2 (apply (compile nil fn2) vals)))
1272      (if (eql v1 v2)
1273          :good
1274        (list v1 v2))))
1275  :good)
1276
1277(deftest misc.97
1278  (let* ((form '(- 349708 (gcd c 0) (logand b b (if (> -8543459 c) 83328 1073))))
1279         (fn1 `(lambda (b c)
1280                 (declare (type (integer 301653 329907) b))
1281                 (declare (type (integer 171971491 1073721279) c))
1282                 (declare (optimize (speed 3)))
1283                 (declare (optimize (safety 1)))
1284                 ,form))
1285         (fn2 `(lambda (b c) ,form))
1286         (vals '(321769 1073671227)))
1287    (let ((v1 (apply (compile nil fn1) vals))
1288          (v2 (apply (compile nil fn2) vals)))
1289      (if (eql v1 v2)
1290          :good
1291        (list v1 v2))))
1292  :good)
1293
1294;;; sbcl bugs (0.8.4.40, x86 linux)
1295
1296(deftest misc.98
1297  (funcall (compile nil '(lambda (x)
1298                           (declare (type (integer -1000000 1000000) x))
1299                           (logand x x 0)))
1300           12345)
1301  0)
1302
1303(deftest misc.99
1304  (funcall
1305   (compile nil '(lambda (a)
1306                   (declare (type (integer 4303063 101130078) a))
1307                   (mask-field (byte 18 2) (ash a 77))))
1308   57132532)
1309  0)
1310
1311(deftest misc.100
1312  (funcall (compile nil '(lambda (c)
1313                           (declare (type (integer -3924 1001809828) c))
1314                           (declare (optimize (speed 3)))
1315                           (min 47 (if (ldb-test (byte 2 14) c)
1316                                       -570344431
1317                                     (ignore-errors -732893970)))))
1318           705347625)
1319  -570344431)
1320
1321(deftest misc.101
1322  (funcall
1323   (compile nil '(lambda (a c)
1324                   (declare (type (integer 185501219873 303014665162) a))
1325                   (declare (type (integer -160758 255724) c))
1326                   (declare (optimize (speed 3)))
1327                   (let ((v8
1328                          (- -554046873252388011622614991634432
1329                             (ignore-errors c)
1330                             (unwind-protect 2791485))))
1331                     (max (ignore-errors a)
1332                          (let ((v6 (- v8 (restart-case 980))))
1333                            (min v8 v6))))))
1334   259448422916 173715)
1335  259448422916)
1336
1337(deftest misc.102
1338  (funcall
1339   (compile nil '(lambda (b)
1340                   (declare (type (integer -1598566306 2941) b))
1341                   (declare (optimize (speed 3)))
1342                   (max -148949 (ignore-errors b))))
1343   0)
1344  0)
1345
1346(deftest misc.103
1347  (funcall
1348   (compile nil '(lambda (a b)
1349                   (min -80
1350                        (abs
1351                         (ignore-errors
1352                           (+
1353                            (logeqv b
1354                                    (block b6
1355                                      (return-from b6
1356                                        (load-time-value -6876935))))
1357                            (if (logbitp 1 a) b (setq a -1522022182249))))))))
1358   -1802767029877 -12374959963)
1359  -80)
1360
1361(deftest misc.104
1362  (funcall
1363   (compile nil '(lambda (a) (declare (type (integer 55400028 60748067) a))
1364                   (lognand 1505 (ash a (let () 40)))))
1365   58194485)
1366  -1)
1367
1368(deftest misc.105
1369  (funcall
1370   (compile nil '(lambda (b c)
1371                   (declare (type (integer -4 -3) c))
1372                   (block b7
1373                     (flet ((%f1 (f1-1 f1-2 f1-3)
1374                                 (if (logbitp 0 (return-from b7
1375                                                  (- -815145138 f1-2)))
1376                                     (return-from b7 -2611670)
1377                                   99345)))
1378                       (let ((v2 (%f1 -2464 (%f1 -1146 c c) -2)))
1379                         b)))))
1380   2950453607 -4)
1381  -815145134)
1382
1383;;; Gives the error The value NIL is not of type INTEGER.  (in sbcl 0.8.4.40)
1384
1385(deftest misc.106
1386  (progn
1387    (eval '(defun misc.106-fn (a b c)
1388             (declare (optimize speed))
1389             (block b6
1390               (flet ((%f8 (f8-1 f8-2) b))
1391                 (%f8 (%f8 c 338) (if t (return-from b6 a) c))))))
1392    (misc.106-fn -30271 -1 -3043))
1393  -30271)
1394
1395 ;;; "The value NIL is not of type SB-C::IR2-LVAR." (sbcl 0.8.4.40)
1396(deftest misc.107
1397  (funcall
1398   (compile nil
1399            '(lambda (b c)
1400               (declare (type (integer -29742055786 23602182204) b))
1401               (declare (type (integer -7409 -2075) c))
1402               (declare (optimize (speed 3)))
1403               (floor
1404                (labels ((%f2 ()
1405                              (block b6
1406                                (ignore-errors (return-from b6
1407                                                 (if (= c 8) b 82674))))))
1408                  (%f2)))))
1409   22992834060 -5833)
1410  82674 0)
1411
1412;;; "The value NIL is not of type SB-C::IR2-LVAR." (sbcl 0.8.10.15)
1413(deftest misc.107a
1414  (funcall
1415   (compile
1416    nil
1417    '(lambda ()
1418       (declare
1419        (optimize (speed 2) (space 0) (safety 1)
1420                  (debug 3) (compilation-speed 0)))
1421       (flet ((%f14
1422               (f14-1
1423                &optional (f14-2 (rationalize (catch 'ct4 0))) (f14-3 0)
1424                (f14-4 0))
1425               (dotimes (iv2 0 0) (progn f14-2))))
1426         (apply #'%f14 0 0 0 nil)))))
1427  0)
1428
1429;;; "The value NIL is not of type SB-C::IR2-LVAR." (sbcl 0.8.14.18)
1430
1431(deftest misc.107b
1432  (funcall
1433   (compile
1434    nil
1435    '(lambda (a b c)
1436       (declare (type (integer 7215 1030625885) a))
1437       (declare (type (integer -4361 -6) b))
1438       (declare (type (integer -3798210806 -898) c))
1439       (declare (ignorable a b c))
1440       (declare
1441        (optimize (speed 2)
1442                  (space 2)
1443                  (safety 2)
1444                  (debug 3)
1445                  (compilation-speed 1)))
1446       (block b4
1447         (let ((*s7* (cons c 0)))
1448           (declare (special *s7*))
1449           (return-from b4
1450             (prog1 0
1451               (the integer
1452                 (integer-length
1453                  (1+
1454                   (let ()
1455                     (gcd (cdr *s7*)
1456                          (case b
1457                            ((31 38 20 0 5 45) 2)
1458                            ((34 35 64 61 47) 39)
1459                            ((58) a)
1460                            (t 131788)))))))))))))
1461   734649164 -3343 -2306504518)
1462  0)
1463
1464(deftest misc.107c
1465  (funcall
1466   (compile
1467    nil
1468    '(lambda (c)
1469       (declare (optimize (speed 2) (space 1) (safety 1) (debug 3)
1470                          (compilation-speed 0)))
1471       (let* ((*s6*
1472               (unwind-protect 0 (the integer (ash 2914825 (min 8 c))))))
1473         (declare (special *s6*))
1474         0)))
1475   -105)
1476  0)
1477
1478(deftest misc.107d
1479  (funcall
1480   (compile
1481    nil
1482    '(lambda (a b)
1483       (declare (optimize (speed 1) (space 1) (safety 1) (debug 3)
1484                          (compilation-speed 1)))
1485       (catch 'ct4
1486         (logorc1
1487          (the integer
1488            (case (dotimes (iv2 2 2) (progn 203))
1489              ((-51) -59598)
1490              ((-31 -150) a)
1491              (t b)))
1492          (throw 'ct4 0)))))
1493   10 20)
1494  0)
1495
1496(deftest misc.107e
1497  (funcall
1498   (compile
1499    nil
1500    '(lambda (a)
1501       (declare (optimize (speed 1) (space 0) (safety 1)
1502                          (debug 3) (compilation-speed 1)))
1503       (flet ((%f11 (&key (key1 (the integer (- a 245241933)))) 0))
1504         (%f11))))
1505   1)
1506  0)
1507
1508;;; cmucl bug (Argument X is not a NUMBER: NIL)
1509
1510(deftest misc.108
1511  (funcall
1512   (compile nil '(lambda (b)
1513                   (block b7 (- b (ignore-errors (return-from b7 57876))))))
1514   10)
1515  57876)
1516
1517;;; "The assertion (C::CONSTANT-CONTINUATION-P C::CONT) failed." (cmucl)
1518(deftest misc.109
1519  (funcall (compile
1520            nil
1521            '(lambda ()
1522               (load-time-value
1523                (block b4
1524                  (* (return-from b4 -27)
1525                     (block b5
1526                       (return-from b4
1527                         (return-from b5
1528                           (ignore-errors (unwind-protect
1529                                              (return-from b5 0))))))))))))
1530  -27)
1531
1532;;; This bug was occuring a lot in sbcl, and now occurs in cmucl too
1533;;; NIL fell through ETYPECASE expression.  Wanted one of (C:FIXUP X86::EA C:TN).
1534(deftest misc.110
1535  (funcall
1536   (compile nil
1537            '(lambda (c)
1538               (declare (type (integer -1441970837 -427) c))
1539               (declare (optimize (speed 3)))
1540               (block b7 (abs (min c (ignore-errors (return-from b7 c)))))))
1541   -500)
1542  -500)
1543
1544;;; In sbcl 0.8.10.14
1545;;;  NIL fell through ETYPECASE expression.
1546;;;  Wanted one of (SB-C:FIXUP SB-VM::EA SB-C:TN).
1547
1548(deftest misc.110a
1549  (funcall
1550   (compile
1551    nil
1552    '(lambda (a b c d e f)
1553       (declare (type (integer -1294746569 1640996137) a))
1554       (declare (type (integer 33628514900 90005963619) b))
1555       (declare (type (integer -807801310 3) c))
1556       (declare (type (integer 36607 121946) d))
1557       (declare (type (integer -6669690514043 -1776180885905) e))
1558       (declare (type (integer -1472 1979) f))
1559       (declare (ignorable a b c d e f))
1560       (declare
1561        (optimize (speed 3)
1562                  (space 3)
1563                  (safety 0)
1564                  (debug 0)
1565                  (compilation-speed 3)))
1566       (catch 'ct7
1567         (if
1568             (logbitp 0
1569                      (if (/= 0 a)
1570                          c
1571                        (ignore-errors
1572                          (progn
1573                            (if
1574                                (ldb-test (byte 0 0) (rational (throw 'ct7 0)))
1575                                0
1576                              0)
1577                            0))))
1578             0
1579           0))))
1580   391833530 36648101240 -32785211 91893 -4124561581760 1358)
1581  0)
1582
1583;;; CLISP (2.31+) compiler bug
1584
1585(deftest misc.111
1586  (funcall
1587   (compile nil
1588            '(lambda (a c)
1589               (if (or (ldb-test (byte 12 18) a)
1590                       (not (and t (not (if (not (and c t)) nil nil)))))
1591                   170 -110730)))
1592   3035465333 1919088834)
1593  170)
1594
1595;;; sbcl (0.8.5.8) "The value NIL is not of type SB-C::IR2-LVAR."
1596
1597(deftest misc.112
1598  (funcall
1599   (compile nil '(lambda (a)
1600                   (declare (type (integer -944 -472) a))
1601                   (declare (optimize (speed 3)))
1602                   (round
1603                    (block b3
1604                      (return-from b3
1605                        (if (= 55957 a) -117 (ignore-errors
1606                                               (return-from b3 a))))))))
1607   -589)
1608  -589 0)
1609
1610;;; sbcl (0.8.5.8) "The value NIL is not of type SB-C::CTRAN"
1611
1612(deftest misc.113
1613  (funcall
1614   (compile nil '(lambda (b c)
1615                   (if (or (ldb-test (byte 8 10) b) t)
1616                       c
1617                     (min (if (<= -6467 c) c 6)
1618                          (flet ((%f3 (f3-1 f3-2)
1619                                      f3-1))
1620                            (multiple-value-call #'%f3 (values b 107)))))))
1621   -238 -23658556)
1622  -23658556)
1623
1624;;; clisp (1 Oct 2003 cvs HEAD)  "*** - CAR: #:G7744659 is not a LIST"
1625
1626(deftest misc.114
1627  (funcall
1628   (compile nil
1629            '(lambda (a b)
1630               (unwind-protect
1631                   (block b2
1632                     (flet ((%f1 nil b))
1633                       (logior (if a
1634                                   (if (ldb-test (byte 23 1) 253966182)
1635                                       (return-from b2 a)
1636                                     -103275090)
1637                                 62410)
1638                               (if (not (not (if (not nil) t (ldb-test (byte 2 27) 253671809))))
1639                                   (return-from b2 -22)
1640                                 (%f1))))))))
1641   777595384624 -1510893868)
1642  777595384624)
1643
1644;;; clisp (1 Oct 2003 cvs HEAD) "Compiler bug!! Occurred in OPTIMIZE-LABEL."
1645
1646(deftest misc.115
1647  (funcall
1648   (compile nil
1649            '(lambda (a b c)
1650               (declare (type (integer 0 1000) a b c))
1651               (if (and (if b (not (and (not (or a t)) nil)) nil)
1652                        (logbitp 6 c))
1653                   c b)))
1654   0 100 600)
1655  600)
1656
1657(deftest misc.116
1658  (funcall
1659   (compile nil
1660            '(lambda (a c)
1661               (declare (type (integer 0 1000) a c))
1662               (if (if (and (not (and (not (or a t)) nil)) t) c nil)
1663                   91 -1725615)))
1664   0 0)
1665  91)
1666
1667(deftest misc.117
1668  (funcall
1669   (compile nil
1670            '(lambda (a c)
1671               (declare (type (integer 0 1000) a c))
1672               (if (or c (not (or nil (not (and (not (or a t)) nil)))))
1673                   373146181 115)))
1674   0 0)
1675  373146181)
1676
1677(deftest misc.118
1678  (funcall
1679   (compile nil '(lambda (a)
1680                   (declare (type (integer 0 10000) a))
1681                   (if (or (or nil (not (or (not (or a nil)) t))) a) a 9376)))
1682   0)
1683  0)
1684
1685(deftest misc.119
1686  (funcall
1687   (compile
1688    nil
1689    '(lambda ()
1690       (if (and (if (1+ 0) nil (not (and (not (and (<= 3) nil)) nil)))
1691                (if (= -31) -20 -2371))
1692           1493 39720))))
1693  39720)
1694
1695(deftest misc.120
1696  (funcall
1697   (compile
1698    nil
1699    '(lambda (c)
1700       (declare (type (integer 377036 4184626) c))
1701       (if (or (and t (not (and (not (and c nil)) nil))) nil)
1702           3470653 c)))
1703   1000000)
1704  3470653)
1705
1706(deftest misc.121
1707  (funcall
1708   (compile
1709    nil
1710    '(lambda (a b c)
1711       (if (and (and -92220 (not (and (not (or c nil)) nil))) a) b b)))
1712   2000000 150000 -1)
1713  150000)
1714
1715;;; CAR: #:G243 is not a LIST
1716(deftest misc.122
1717  (funcall
1718   (compile
1719    nil
1720    '(lambda (a b c)
1721       (declare (type (integer 2872749 5754655) a))
1722       (declare (type (integer 24114340 89504792) b))
1723       (declare (type (integer 506491 1412971) c))
1724       (declare (ignorable a b c))
1725       (declare (optimize (speed 3)))
1726       (declare (optimize (safety 1)))
1727       (declare (optimize (debug 1)))
1728       (- (let ((v7 (ignore-errors a))) -6)
1729          (logand (if c -13936 c)
1730                  (block b3 (if (if (or t b) (not nil) c)
1731                                (return-from b3 -3114)
1732                              (ignore-errors 7)
1733                              ))))))
1734   3000000 30000000 600000)
1735  15978)
1736
1737;;; gcl bug (30 Oct 2003)
1738(deftest misc.123
1739  (let* ((fn1 '(lambda (b)
1740                 (declare (optimize (safety 1)))
1741                 (labels ((%f7 (f7-1 f7-2)
1742                               (let ((v2 (setq b 723149855)))
1743                                 25620)))
1744                   (max b
1745                        (multiple-value-call #'%f7 (values b 2))))))
1746         (fn2 '(lambda (b)
1747                 (labels ((%f7 (f7-1 f7-2)
1748                               (let ((v2 (setq b 723149855)))
1749                                 25620)))
1750                   (max b
1751                        (multiple-value-call #'%f7 (values b 2))))))
1752         (vals '(1439719153))
1753         (v1 (apply (compile nil fn1) vals))
1754         (v2 (apply (compile nil fn2) vals)))
1755    (if (eql v1 v2) :good (list v1 v2)))
1756  :good)
1757
1758(deftest misc.124
1759  (let* ((fn1 '(lambda (b)
1760                 (declare (optimize (safety 1)))
1761                 (labels ((%f7 (f7-1 f7-2)
1762                               (let ((v2 (setq b 723149855)))
1763                                 25620)))
1764                   (max b
1765                        (funcall #'%f7 b 2)))))
1766         (fn2 '(lambda (b)
1767                 (labels ((%f7 (f7-1 f7-2)
1768                               (let ((v2 (setq b 723149855)))
1769                                 25620)))
1770                   (max b
1771                        (funcall #'%f7 b 2)))))
1772         (vals '(1439719153))
1773         (v1 (apply (compile nil fn1) vals))
1774         (v2 (apply (compile nil fn2) vals)))
1775    (if (eql v1 v2) :good (list v1 v2)))
1776  :good)
1777
1778;;; This passed in gcl, but I added it for completeness.
1779(deftest misc.125
1780  (let* ((fn1 '(lambda (b)
1781                 (declare (optimize (safety 1)))
1782                 (labels ((%f7 (f7-1 f7-2)
1783                               (let ((v2 (setq b 723149855)))
1784                                 25620)))
1785                   (max b
1786                        (%f7 b 2)))))
1787         (fn2 '(lambda (b)
1788                 (labels ((%f7 (f7-1 f7-2)
1789                               (let ((v2 (setq b 723149855)))
1790                                 25620)))
1791                   (max b
1792                        (%f7 b 2)))))
1793         (vals '(1439719153))
1794         (v1 (apply (compile nil fn1) vals))
1795         (v2 (apply (compile nil fn2) vals)))
1796    (if (eql v1 v2) :good (list v1 v2)))
1797  :good)
1798
1799
1800;;; clisp optional argument bug: "SYMBOL-VALUE: 1 is not a SYMBOL"
1801
1802(deftest misc.126
1803  (funcall
1804   (compile
1805    nil
1806    '(lambda ()
1807       (declare (special *should-always-be-true*))
1808       (labels ((%f10 (f10-1 &optional
1809                             (f10-2 (cl:handler-bind nil
1810                                                     (if *should-always-be-true*
1811                                                         (progn 878)
1812                                                       (should-never-be-called)
1813                                                       )))
1814                             (f10-3 (cl:handler-case 10)))
1815                      -15))
1816         (%f10 -144)))))
1817  -15)
1818
1819(deftest misc.127
1820  (funcall
1821   (compile
1822    nil
1823    '(lambda (a c)
1824       (flet ((%f10 (f10-1 f10-2) 10))
1825         (flet ((%f4
1826                 (&optional
1827                  (f4-1 (ldb (byte 10 6)
1828                             (* 828
1829                                (+ 30 (dpb c (byte 9 30) (%f10 1918433 34107)))
1830                                )))
1831                  (f4-2 (setq a 0)))
1832                 2))
1833           (%f4 -5)))))
1834   0 0)
1835  2)
1836
1837;;; cmucl (22 Oct 2003 build) bug
1838;;; The assertion (EQ (C::COMPONENT-KIND C:COMPONENT) :INITIAL) failed.
1839
1840(deftest misc.128
1841  (flet ((%f14
1842          (f14-1 f14-2
1843                 &optional
1844                 (f14-3 (unwind-protect 13059412))
1845                 (f14-4 452384)
1846                 (f14-5 -6714))
1847          -1))
1848    (%f14 -2 1 1279896 589726354 -11))
1849  -1)
1850
1851(deftest misc.129
1852  (labels ((%f17 (f17-1 f17-2 &optional (f17-3 (unwind-protect 178)))
1853                 483633925))
1854    -661328075)
1855  -661328075)
1856
1857(deftest misc.130
1858  (let* ((fn1
1859          '(lambda (a c)
1860             (flet ((%f10 (&optional (f10-1 -6489) (f10-2 (+ c)))
1861                          a))
1862               (multiple-value-call #'%f10 (values -178858 a)))))
1863         (fn2
1864          '(lambda (a c)
1865             (declare (notinline values +) (optimize (speed 0) (debug 0)))
1866             (flet ((%f10 (&optional (f10-1 -6489) (f10-2 (+ c)))
1867                          a))
1868               (multiple-value-call #'%f10 (values -178858 a)))))
1869         (vals '(-13649921 -1813684177409))
1870         (v1 (apply (compile nil fn1) vals))
1871         (v2 (apply (compile nil fn2) vals)))
1872    (if (eql v1 v2) :good (list v1 v2)))
1873  :good)
1874
1875(deftest misc.131
1876  (let* ((fn1
1877          '(lambda (a b)
1878             (max
1879              (block b7
1880                (abs
1881                 (ignore-errors
1882                   (if (ldb-test (byte 33 15) (return-from b7 a))
1883                       b b)))))))
1884         (fn2
1885          '(lambda (a b)
1886             (declare (notinline abs max))
1887             (declare (optimize (speed 0)))
1888             (declare (optimize (debug 0)))
1889             (max
1890              (block b7
1891                (abs
1892                 (ignore-errors
1893                   (if (ldb-test (byte 33 15) (return-from b7 a))
1894                       b b)))))))
1895         (vals '(-823894140303 -3))
1896         (v1 (apply (compile nil fn1) vals))
1897         (v2 (apply (compile nil fn2) vals)))
1898    (if (eql v1 v2) :good (list v1 v2)))
1899  :good)
1900
1901;;; cmucl (22 Oct 2003)
1902;;; The assertion (EQ C::ENV
1903;;;                   (C::LAMBDA-ENVIRONMENT
1904;;;                      (C::LAMBDA-VAR-HOME C::THING))) failed.
1905
1906(deftest misc.132
1907  (funcall
1908   (compile nil
1909            '(lambda (b c)
1910               (declare (type (integer -3358662 7782429) b))
1911               (declare (type (integer -513018 12740) c))
1912               (declare (optimize (speed 3)))
1913               (declare (optimize (safety 1)))
1914               (declare (optimize (debug 1)))
1915               (labels ((%f9
1916                         (&optional
1917                          (f9-1
1918                           (labels
1919                               ((%f5 (f5-1 f5-2)
1920                                     (floor (ignore-errors f5-1)
1921                                            (min -67 (if (equal -56 c)
1922                                                         -11197265 f5-2)))))
1923                             c))
1924                          (f9-2 -439518)
1925                          (f9-3 -2840573))
1926                         f9-1))
1927                 (%f9 -193644 b 1368))))
1928   10 20)
1929  -193644)
1930
1931(deftest misc.132a
1932  (funcall
1933   (compile
1934    nil
1935    '(lambda ()
1936       (declare (optimize (speed 2) (space 0) (safety 0) (debug 2) (compilation-speed 0)))
1937       (labels ((%f1 () 0))
1938         (if t 0 (dotimes (iv1 5 (if (%f1) 0 0)) (catch 'ct1 0)))))))
1939  0)
1940
1941;;; cmucl (22 Oct 2003)  Default for optional parameter is improperly chosen
1942(deftest misc.133
1943  (funcall
1944   (compile nil
1945            '(lambda (a b c)
1946               (declare (notinline values))
1947               (declare (optimize (speed 0) (debug 0)))
1948               (flet ((%f15 (&optional (f15-5 c)) f15-5))
1949                 (multiple-value-call #'%f15 (values -2688612)))))
1950   1 2 3)
1951  -2688612)
1952
1953;;; ACL 6.2 (x86 linux trial) bugs
1954;;; With optional flet/labels parameters, there's a very high frequency bug
1955;;; causing the compiler error "Error: `:INFERRED' is not of the expected
1956;;; type `NUMBER'".  The following tests show this bug.
1957
1958(deftest misc.134
1959  (funcall
1960   (compile nil
1961            '(lambda (b)
1962               (labels ((%f5 (f5-1 f5-2 f5-3 &optional (f5-4 0)
1963                                   (f5-5
1964                                    (flet ((%f13 (f13-1)
1965                                                 (return-from %f13 b))) b)))
1966                             900654472))
1967                 183301)))
1968   13775799184)
1969  183301)
1970
1971(deftest misc.135
1972  (funcall
1973   (compile nil
1974            '(lambda (a b)
1975               (labels ((%f4 (&optional (f4-1 (labels ((%f17 nil a)) b)))
1976                             -14806404))
1977                 190134)))
1978   1783745644 268410629)
1979  190134)
1980
1981(deftest misc.136
1982  (funcall
1983   (compile nil
1984            '(lambda (c)
1985               (flet ((%f17 (&optional
1986                             (f17-1 (flet ((%f9 nil c)) 73574919)))
1987                            643))
1988                 1039017546)))
1989   0)
1990  1039017546)
1991
1992;;; And these caused segfaults
1993
1994(deftest misc.137
1995  (funcall
1996   (compile nil
1997            '(lambda ()
1998               (declare (optimize (speed 3)))
1999               (declare (optimize (safety 1)))
2000               (flet ((%f16 (&optional
2001                             (f16-2 (lognor -3897747
2002                                            (if nil -1 -127228378))))
2003                            10))
2004                 20))))
2005  20)
2006
2007(deftest misc.138
2008  (funcall
2009   (compile nil
2010            '(lambda (c)
2011               (declare (type (integer 2996 39280) c))
2012               (declare (optimize (speed 3)))
2013               (declare (optimize (safety 1)))
2014               (if (zerop (labels ((%f8 (&optional
2015                                         (f8-2 (logorc2 c -161957)))
2016                                        2176))
2017                            3))
2018                   c c)))
2019   3000)
2020  3000)
2021
2022;;; Lispworks 4.2 (x86 linux personal edition) failures
2023
2024
2025(deftest misc.139
2026  (let* ((fn1
2027          '(lambda (c)
2028             (declare (optimize (speed 3)))
2029             (logior (labels ((%f1 (f1-1 &optional (f1-2 (setq c 7))) f1-1))
2030                       (%f1 774 3616592)) c)))
2031         (fn2
2032          '(lambda (c)
2033             (logior (labels ((%f1 (f1-1 &optional (f1-2 (setq c 7))) f1-1))
2034                       (%f1 774 3616592)) c)))
2035         (vals '(-3))
2036         (v1 (apply (compile nil fn1) vals))
2037         (v2 (apply (compile nil fn2) vals)))
2038    (if (eql v1 v2) :good (list v1 v2)))
2039  :good)
2040
2041(deftest misc.140
2042  (funcall
2043   (compile nil
2044            '(lambda (a)
2045               (ldb (byte 24 20)
2046                    (labels ((%f12 (&optional (f12-1 149) (f12-2 -3894159)) 34068))
2047                      (let* ((v4 (%f12))) a)))))
2048   -1)
2049  16777215)
2050 
2051
2052;;; In Lispworks 4.2 (x86 linux personal edition)
2053;;; 'Error: *** Ran out of patterns in (MOVE) for (edi NIL)'
2054
2055(deftest misc.141
2056  (funcall
2057   (compile nil
2058            '(lambda () (labels ((%f11 (&optional (f11-3 (restart-case 0))) f11-3))
2059                          (%f11 1)))))
2060  1)
2061
2062(deftest misc.142
2063  (funcall
2064   (compile nil
2065            '(lambda ()
2066               (labels ((%f15 (&optional (f15-3 (block b1 (+ 1 (return-from b1 -10)))))
2067                              f15-3))
2068                 (%f15)))))
2069  -10)
2070
2071;;; cmucl (22 Oct 2003):  NIL is not of type C::REF
2072(deftest misc.143
2073  (block b2
2074      (max (return-from b2 1)
2075           (let ((v3
2076                  (unwind-protect
2077                      (let* ((v1 (ignore-errors -254)))
2078                        1))))
2079             -2)))
2080  1)
2081
2082;;; (was) The assertion (NOT (C::BLOCK-DELETE-P BLOCK)) failed.
2083;;; (now) The assertion (NOT (MEMBER C::KIND '(:DELETED :OPTIONAL :TOP-LEVEL))) failed.
2084
2085(deftest misc.144
2086  (funcall
2087   (compile nil
2088            '(lambda (a b c)
2089               (declare (type (integer 9739325 14941321) c))
2090               (labels ((%f7 (f7-1 f7-2 f7-3 &optional (f7-4 b))
2091                             (return-from %f7 f7-4)))
2092                 (if (= -76482 c)
2093                     (if (>= c 10986082) (%f7 a b (%f7 -8088 c -147106 2)) -10502)
2094                   (%f7 509252 b b)))))
2095   -200 17 10000000)
2096  17)
2097
2098(deftest misc.145
2099  (funcall
2100   (compile nil
2101            '(lambda (a b c)
2102               (declare (optimize (safety 3)))
2103               (block b5
2104                 (return-from b5
2105                   (logior (if (or c t) b (load-time-value -61)) (return-from b5 -3))))))
2106   1 2 3)
2107  -3)
2108
2109;;; cmucl: order of evaluation error
2110(deftest misc.146
2111  (funcall
2112   (compile nil
2113            '(lambda (b)
2114               (declare (optimize (speed 3)))
2115               (flet ((%f14 (&optional (f14-1 301917227)
2116                                       (f14-2 (setq b 995196571)))
2117                            f14-1))
2118                 (%f14 b (block b3 (%f14 -64))))))
2119   10)
2120  10)
2121
2122;;; cmucl (22 Oct 2003): NIL is not of type C::CLEANUP
2123(deftest misc.147
2124  (flet ((%f11 () (if nil (ignore-errors -19884254) (unwind-protect -2)))) :good)
2125  :good)
2126
2127;;; The assertion (C::CONSTANT-CONTINUATION-P C::CONT) failed.
2128(deftest misc.148
2129  (block b2 (logior (return-from b2 484) (restart-case (ignore-errors 1737021))))
2130  484)
2131
2132;;; Argument X is not a NUMBER: NIL.
2133(deftest misc.149
2134  (funcall
2135   (compile nil '(lambda (b)
2136                   (block b1 (- (logand 0 -34 1026491) (ignore-errors (return-from b1 b))))))
2137   0)
2138  0)
2139
2140(deftest misc.149a
2141  (funcall
2142   (compile nil '(lambda (a) (block b1 (- a (ignore-errors (return-from b1 1))))))
2143   0)
2144  1)
2145
2146;;; cmucl (11 2003 image)  "NIL is not of type C::CONTINUATION"
2147(deftest misc.150
2148  (funcall
2149   (compile
2150    nil
2151    '(lambda (a b c)
2152       (flet ((%f17
2153               (&optional
2154                (f17-4
2155                 (labels ((%f13 (f13-1 &optional (f13-2 (multiple-value-prog1 b)))
2156                                -4))
2157                   (%f13 b (%f13 190)))))
2158               -157596))
2159         (labels ((%f6 () (%f17))) c))))
2160   10 20 30000)
2161  30000)
2162
2163(deftest misc.150a
2164  (funcall
2165   (compile
2166    nil
2167    '(lambda ()
2168       (declare (optimize (speed 3) (space 2) (safety 3)
2169                          (debug 3) (compilation-speed 2)))
2170       (catch 'ct6 (apply (constantly 0) (list))))))
2171  0)
2172
2173(deftest misc.150b
2174  (funcall
2175   (compile
2176    nil
2177    '(lambda (a)
2178       (declare (type integer a))
2179       (declare (optimize (speed 3) (space 0) (safety 3) (debug 2)
2180                          (compilation-speed 3)))
2181       (if (= a 0) 0 (truncate a))))
2182   0)
2183  0)
2184
2185(deftest misc.150c
2186  (funcall
2187   (compile
2188    nil
2189    '(lambda (a b)
2190       (declare (optimize (speed 1) (space 3) (safety 2) (debug 3) (compilation-speed 3)))
2191       (labels ((%f4 (f4-1)
2192                     0))
2193         (labels ((%f15
2194                   (f15-1 f15-2
2195                          &optional (f15-3 (apply #'%f4 0 nil)) (f15-4 0)
2196                          (f15-5 (%f4 (%f4 (if (/= 0 0) a 0)))))
2197                   0))
2198           (labels ((%f13 (f13-1)
2199                          (%f15 b 0 0 0)))
2200             0)))))
2201   1 2)
2202  0)
2203
2204(deftest misc.150d
2205  (funcall
2206   (compile
2207    nil
2208    '(lambda (a b)
2209       (declare (type (integer 4146834609223 16403344221223) a))
2210       (declare (type (integer -35470308180 3523580009) b))
2211       (declare (optimize (speed 1) (space 3) (safety 3) (debug 0) (compilation-speed 0)))
2212       (catch 'ct1 (logand b a 0))))
2213   4146834609223 10)
2214  0)
2215
2216;;; cmucl (11 2003 x86 linux)  "NIL is not of type C::ENVIRONMENT"
2217(deftest misc.151
2218  (funcall
2219   (compile
2220    nil
2221    '(lambda (b c)
2222       (declare (type (integer -249 97) b))
2223       (declare (type (integer 3565969 6559088) c))
2224       (let* ((v7
2225               (if (not (= 1030 4))
2226                   c
2227                 (logand (if (/= b c) b 34945725) (unwind-protect -12443701)))))
2228         5520737)))
2229   -24 5657943)
2230  5520737)
2231
2232(deftest misc.151a
2233  (funcall
2234   (compile
2235    nil
2236    '(lambda ()
2237       (declare
2238        (optimize (speed 3) (space 3) (safety 1) (debug 1) (compilation-speed 0)))
2239       (case 0 ((-12 -9 -12 -2 -5 -2 15) (catch 'ct7 (throw 'ct7 0))) (t 0)))))
2240  0) 
2241
2242;;; sbcl bug (0.8.5.19)
2243;;; "The value NIL is not of type SB-C::REF."
2244
2245(deftest misc.152
2246  (funcall
2247   (compile nil
2248            '(lambda (a)
2249               (block b5
2250                 (let ((v1 (let ((v8 (unwind-protect 9365)))
2251                             8862008)))
2252                   (*
2253                    (return-from b5
2254                      (labels ((%f11 (f11-1) f11-1))
2255                        (%f11 87246015)))
2256                    (return-from b5
2257                      (setq v1
2258                            (labels ((%f6 (f6-1 f6-2 f6-3) v1))
2259                              (dpb (unwind-protect a)
2260                                   (byte 18 13)
2261                                   (labels ((%f4 () 27322826))
2262                                     (%f6 -2 -108626545 (%f4))))))))))))
2263   -6)
2264  87246015)
2265
2266(deftest misc.153
2267  (funcall
2268   (compile nil
2269            '(lambda (a)
2270               (if (logbitp 3
2271                            (case -2
2272                              ((-96879 -1035 -57680 -106404 -94516 -125088)
2273                               (unwind-protect 90309179))
2274                              ((-20811 -86901 -9368 -98520 -71594)
2275                               (let ((v9 (unwind-protect 136707)))
2276                                 (block b3
2277                                   (setq v9
2278                                         (let ((v4 (return-from b3 v9)))
2279                                           (- (ignore-errors (return-from b3 v4))))))))
2280                              (t -50)))
2281                   -20343
2282                 a)))
2283   0)
2284  -20343)
2285
2286;;; Bug in ecl (cvs head, 4 Nov 2003)
2287;;; "/tmp/ecl04Coiwc0V.c:48: `lex0' undeclared (first use in this function)"
2288
2289(deftest misc.154
2290  (funcall
2291   (compile nil
2292            '(lambda (b)
2293               (labels ((%f8 nil -39011))
2294                 (flet ((%f4 (f4-1 f4-2 &optional (f4-3 (%f8)) (f4-4 b))
2295                             (%f8)))
2296                   (%f4 -260093 -75538 -501684 (let ((v9 (%f8))) -3))))))
2297   0)
2298  -39011)
2299
2300;;; "/tmp/ecl1572CbKzu.c:16: too many arguments to function `APPLY'"
2301
2302(deftest misc.155
2303  (funcall
2304   (compile nil
2305            '(lambda (a b c)
2306               (labels ((%f6 (f6-1 f6-2) c))
2307                 (multiple-value-call #'%f6 (values a c)))))
2308   0 10 20)
2309  20)
2310
2311;;; "The function C::LDB1 is undefined."
2312
2313(deftest misc.156
2314  (funcall
2315   (compile nil
2316            '(lambda ()
2317               (let ((v6 (ldb (byte 30 1) 1473))) (let ((v8 v6)) 2395)))))
2318  2395)
2319
2320;;; "/tmp/ecl9CEiD1RL5.c:36: `lex0' undeclared (first use in this function)"
2321   
2322(deftest misc.157
2323  (funcall
2324   (compile nil
2325            ' (lambda (c)
2326                (labels ((%f11 nil 1))
2327                  (flet ((%f9 (f9-1 f9-2)
2328                              (case 17466182 ((-12) (%f11)) (t c))))
2329                    (%f9 -9913 c)))))
2330   17)
2331  17)
2332
2333;;; SBCL (0.8.5.24) bug:  "bogus operands to XOR"
2334
2335(deftest misc.158
2336  (funcall
2337   (compile nil
2338            '(lambda (a b c)
2339               (declare (type (integer 79828 2625480458) a))
2340               (declare (type (integer -4363283 8171697) b))
2341               (declare (type (integer -301 0) c))
2342               (if (equal 6392154 (logxor a b))
2343                   1706
2344                 (let ((v5 (abs c)))
2345                   (logand v5
2346                           (logior (logandc2 c v5)
2347                                   (common-lisp:handler-case
2348                                    (ash a (min 36 22477)))))))))
2349   100000 0 0)
2350  0)
2351
2352;;; sbcl (0.8.5.24) The value NIL is not of type SB-C::CTRAN.
2353
2354(deftest misc.159
2355  (funcall
2356   (compile nil
2357            '(lambda ()
2358               (let ((v8 70696))
2359                 (if (equal v8 -536145083)
2360                     (let ((v2 (setq v8 v8)))
2361                       (flet ((%f9 (f9-1 f9-2)
2362                                   309257))
2363                         (multiple-value-call #'%f9 (values v2 v2))))
2364                   100)))))
2365  100)
2366
2367;;; sbcl (0.8.5.37) The value NIL is not of type SB-C::CTRAN.
2368
2369(deftest misc.159a
2370  (funcall
2371   (compile
2372    nil
2373    '(lambda (a b)
2374       (declare (type (integer -105680 2104974) a))
2375       (declare (type (integer -1881 -1134) b))
2376       (declare (ignorable a b))
2377       (declare (optimize (speed 3)))
2378       (declare (optimize (safety 1)))
2379       (declare (optimize (debug 1)))
2380       (block b5
2381         (let ((v2
2382                (if (or (>= 34 a) 108361696)
2383                    (return-from b5 -1)
2384                  (lognand b -16023672))))
2385           (flet ((%f10
2386                   (f10-1
2387                    &optional (f10-2 (if (eql -30 v2) v2 -5)) (f10-3 v2)
2388                    (f10-4 14))
2389                   (if (equal a f10-2) f10-4 380663047)))
2390             (flet ((%f6 (f6-1 f6-2 f6-3)
2391                         f6-1))
2392               (multiple-value-call #'%f6
2393                                    (values a (%f10 -37243) -47691))))))))
2394   100 -1200)
2395  -1)
2396
2397;;; gcl (9 Nov 2003) bug
2398;;; Error in FUNCALL [or a callee]: Caught fatal error [memory may be damaged]
2399
2400(deftest misc.160
2401  (funcall
2402   (compile nil
2403            '(lambda (c)
2404               (declare (notinline + funcall))
2405               (+ (labels ((%f1 () -14)) (funcall #'%f1))
2406                  (flet ((%f2 () (floor c))) (funcall #'%f2)))))
2407   0)
2408  -14)
2409
2410;;; cmucl (9 Nov 2003)
2411;;; The assertion (NOT (MEMBER C::KIND '(:DELETED :OPTIONAL :TOP-LEVEL))) failed.
2412
2413(deftest misc.161
2414  (funcall
2415   (compile nil
2416            '(lambda (a b c)
2417               (flet ((%f17 (f17-1 f17-2 f17-3)
2418                            (flet ((%f2
2419                                    (f2-1 f2-2
2420                                          &optional (f2-3 (return-from %f17 f17-1))
2421                                          (f2-4 (return-from %f17 -57)))
2422                                    b))
2423                              (multiple-value-call #'%f2 (values c -588 55101157)))))
2424                 (if nil
2425                     (let* ((v6 (%f17 102136 3096194 a)))
2426                       b)
2427                   c))))
2428   -511 -2269809964 250738)
2429  250738)
2430
2431(deftest misc.161a
2432  (funcall
2433   (compile nil
2434            '(lambda (a)
2435               (declare (optimize (speed 3) (space 2) (safety 3) (debug 0) (compilation-speed 0)))
2436               (progn (abs 0) (- a) 0)))
2437   1)
2438  0)
2439
2440;;; cmucl (9 Nov 2003) Incorrect result at SPEED 0.
2441
2442(deftest misc.162
2443  (let* ((fn `(lambda (a c)
2444                (declare (notinline funcall)
2445                         (optimize (speed 0) (debug 0)))
2446                (labels ((%f17 (f17-1 &optional (f17-4 c))
2447                               (return-from %f17 (if f17-4 f17-1 49572640))))
2448                  (funcall #'%f17 15128425 a)))))
2449    (funcall (compile nil fn) 1 3))
2450  15128425)
2451
2452;;; gcl (12 Nov 2003)
2453;;; C compiler failure during compilation (duplicate case value)
2454
2455(deftest misc.163
2456  (funcall
2457   (compile nil
2458            '(lambda (b)
2459               (declare (type (integer -15716 3947) b))
2460               (case b
2461                 ((-7 -6 -6) :good)
2462                 ((-5 -6) :bad)
2463                 )))
2464
2465   -6)
2466  :good)
2467
2468;;; gcl (13 Nov 2003)
2469;;; Error in FUNCALL [or a callee]: Caught fatal error [memory may be damaged]
2470
2471(deftest misc.164
2472  (funcall
2473   (compile
2474    nil
2475    '(lambda (a)
2476     (labels ((%f6 (f6-1 f6-2)
2477                   (cl:handler-case
2478                    (labels ((%f2 nil (logior a)))
2479                      (if (eql (%f2) (%f2))
2480                          2829254 -10723))
2481                    (error (c) (error c))
2482                    )))
2483       (funcall #'%f6 10 20)
2484       )))
2485   0)
2486  2829254)
2487
2488;;; sbcl failures
2489
2490;;; The value NIL is not of type SB-C::NODE.
2491(deftest misc.165
2492  (funcall
2493   (compile
2494    nil
2495    '(lambda (a b c)
2496       (block b3
2497         (flet ((%f15
2498                 (f15-1 f15-2 f15-3
2499                        &optional
2500                        (f15-4
2501                         (flet ((%f17
2502                                 (f17-1 f17-2 f17-3
2503                                        &optional (f17-4 185155520) (f17-5 c)
2504                                        (f17-6 37))
2505                                 c))
2506                           (%f17 -1046 a 1115306 (%f17 b -146330 422) -337817)))
2507                        (f15-5 a) (f15-6 -40))
2508                 (return-from b3 -16)))
2509           (multiple-value-call #'%f15 (values -519354 a 121 c -1905))))))
2510   0 0 -5)
2511  -16)
2512
2513;;; failed AVER:
2514;;;      "(NOT
2515;;; (AND (NULL (BLOCK-SUCC B))
2516;;;      (NOT (BLOCK-DELETE-P B))
2517;;;      (NOT (EQ B (COMPONENT-HEAD #)))))"
2518
2519(deftest misc.166
2520  (funcall
2521   (compile
2522    nil
2523    '(lambda (a b c)
2524       (labels ((%f4
2525                 (f4-1 f4-2 &optional (f4-3 b) (f4-4 c) (f4-5 -170))
2526                 (let ((v2
2527                        (flet ((%f3
2528                                (f3-1
2529                                 &optional (f3-2 28476586) (f3-3 c)
2530                                 (f3-4 -9240))
2531                                (return-from %f4 1)))
2532                          (multiple-value-call
2533                           #'%f3
2534                           (values -479909 19843799 f4-5 -463858)))))
2535                       b)))
2536         c)))
2537   0 0 -223721124)
2538  -223721124)
2539
2540(deftest misc.167
2541  (funcall
2542   (compile
2543    nil
2544    '(lambda (a b c)
2545       (flet ((%f5 (f5-1 f5-2)
2546                   (return-from %f5 604245664)))
2547         (flet ((%f12
2548                 (f12-1 f12-2
2549                        &optional (f12-3 c) (f12-4 -579456)
2550                        (f12-5
2551                         (labels ((%f9
2552                                   (f9-1
2553                                    &optional
2554                                    (f9-2
2555                                     (%f5 1
2556                                          (let ((v4 (%f5 30732606 a)))
2557                                            b)))
2558                                    (f9-3 -29)
2559                                    (f9-4
2560                                     (block b4
2561                                       (labels ((%f14 ()
2562                                                      (labels ((%f18
2563                                                                (&optional
2564                                                                 (f18-1
2565                                                                  (locally
2566                                                                   592928))
2567                                                                 (f18-2 -3)
2568                                                                 (f18-3
2569                                                                  (return-from
2570                                                                      b4 a)))
2571                                                                f18-1))
2572                                                        (%f18 74214190 a))))
2573                                         (%f14)))))
2574                                   -1))
2575                           (flet ((%f17
2576                                   (f17-1 f17-2 &optional (f17-3 -136045032))
2577                                   -38655))
2578                             (%f17 43873 -138030706 -1372492)))))
2579                 (return-from %f12 -15216677)))
2580           (%f12 (%f5 b 2329383) a)))))
2581   1 2 3)
2582  -15216677)
2583
2584(deftest misc.168
2585  (funcall
2586   (compile
2587    nil
2588    '(lambda (a b c)
2589       (block b3
2590         (flet ((%f11
2591                 (f11-1 f11-2
2592                        &optional
2593                        (f11-3
2594                         (block b6
2595                           (labels ((%f11
2596                                     (f11-1
2597                                      &optional (f11-2 c)
2598                                      (f11-3 (return-from b6 -1806)))
2599                                     (return-from b3 -28432)))
2600                             (apply #'%f11 (list -114))))))
2601                 (return-from %f11 f11-2)))
2602           (%f11 b
2603                 c
2604                 (labels ((%f10
2605                           (f10-1 f10-2
2606                                  &optional (f10-3 a) (f10-4 (%f11 -3931 170)))
2607                           -1704759))
2608                   c))))))
2609   1 2 3)
2610  3)
2611
2612(deftest misc.169
2613  (funcall
2614   (compile
2615    nil
2616    '(lambda (a b c)
2617       (if t -21705
2618         (flet ((%f15 (f15-1 f15-2)
2619                      b))
2620           (block b4
2621             (%f15 -11112264
2622                   (labels ((%f2
2623                             (f2-1
2624                              &optional (f2-2 (if b -5485340 -1534))
2625                              (f2-3 -6))
2626                             (return-from b4 f2-1)))
2627                     (return-from b4
2628                       (if b (%f2 c -320813) (%f2 b a a))))))))))
2629   1 2 3)
2630  -21705)
2631
2632;;; sbcl (0.8.5.26)
2633;;; failed AVER: "(FUNCTIONAL-LETLIKE-P CLAMBDA)"
2634
2635(deftest misc.170
2636  (funcall
2637   (compile
2638    nil
2639    '(lambda (b)
2640       (flet ((%f14 (f14-1 f14-2)
2641                    (if (if (eql b -7) nil nil)
2642                        (labels ((%f10 (f10-1 f10-2 f10-3)
2643                                       7466))
2644                          (return-from %f14
2645                            (min
2646                             (multiple-value-call #'%f10 (values 0 492 f14-1))
2647                             (max 11 f14-1)
2648                             (multiple-value-call #'%f10
2649                                                  (values 439171 f14-2 0)))))
2650                      1)))
2651         (let ((v6 (%f14 (logcount b) -386283)))
2652           56211))))
2653   17)
2654  56211)
2655
2656(deftest misc.170a
2657  (funcall
2658   (compile
2659    nil
2660    '(lambda (a b)
2661       (declare (type (integer -281 30570) a))
2662       (declare (type (integer -4247786 -199821) b))
2663       (declare
2664        (optimize (speed 3)
2665                  (space 0)
2666                  (safety 0)
2667                  (debug 2)
2668                  (compilation-speed 1)))
2669       (flet ((%f14 (f14-1 f14-2)
2670                    (coerce 0 'integer)))
2671         (labels ((%f3 (f3-1 f3-2 f3-3)
2672                       (if
2673                           (if
2674                               (typep (%f14 -864 -10620) '(integer -11672107617 -2))
2675                               t
2676                             (typep
2677                              (imagpart
2678                               (lcm 2120258 0 (logandc2 -6222 -1057382553)))
2679                              '(integer * -113)))
2680                           (dotimes
2681                               (iv3 5
2682                                    (flet ((%f11 (f11-1 f11-2 f11-3)
2683                                                 b))
2684                                      (multiple-value-call #'%f11
2685                                                           (values a a f3-3))))
2686                             0)
2687                         0)))
2688           (case (%f3 a a 0) (t 0))))))
2689   22087 -1787181)
2690  0)
2691
2692;;; The value NIL is not of type SB-C::NODE.
2693
2694(deftest misc.171
2695  (funcall
2696   (compile
2697    nil
2698    '(lambda (b)
2699       (block b6
2700         (flet ((%f11 (f11-1 f11-2 &optional (f11-3 -2369157) (f11-4 409468))
2701                      (return-from b6 1)))
2702           (block b2
2703             (flet ((%f10 (f10-1 f10-2
2704                            &optional (f10-3 (return-from b6 (return-from b6 -3))))
2705                     -8))
2706               (%f10
2707                (multiple-value-call #'%f11 (values -5945959 1654846427 -22))
2708                (return-from b2 b)
2709                (return-from b2 31258361))))))))
2710   10)
2711  1)
2712
2713 
2714;;;   segmentation violation at #XA4A0B59
2715
2716(deftest misc.172
2717  (funcall
2718   (compile
2719    nil
2720    '(lambda (a b c)
2721       (declare (notinline list apply))
2722       (declare (optimize (safety 3)))
2723       (declare (optimize (speed 0)))
2724       (declare (optimize (debug 0)))
2725       (labels ((%f12 (f12-1 f12-2)
2726                      (labels ((%f2 (f2-1 f2-2)
2727                                    (flet ((%f6 ()
2728                                                (flet ((%f18
2729                                                        (f18-1
2730                                                         &optional (f18-2 a)
2731                                                         (f18-3 -207465075)
2732                                                         (f18-4 a))
2733                                                        (return-from %f12 b)))
2734                                                  (%f18 -3489553
2735                                                        -7
2736                                                        (%f18 (%f18 150 -64 f12-1)
2737                                                              (%f18 (%f18 -8531)
2738                                                                    11410)
2739                                                              b)
2740                                                        56362666))))
2741                                      (labels ((%f7
2742                                                (f7-1 f7-2
2743                                                      &optional (f7-3 (%f6)))
2744                                                7767415))
2745                                        f12-1))))
2746                        (%f2 b -36582571))))
2747         (apply #'%f12 (list 774 -4413)))))
2748   0 1 2)
2749  774)
2750
2751;;; In sbcl 0.8.5.37
2752;;; "Unreachable code is found or flow graph is not properly depth-first ordered."
2753
2754(deftest misc.173
2755  (funcall
2756   (compile
2757    nil
2758    '(lambda (a b c)
2759       (declare (notinline values))
2760       (declare (optimize (safety 3)))
2761       (declare (optimize (speed 0)))
2762       (declare (optimize (debug 0)))
2763       (flet ((%f11
2764               (f11-1 f11-2
2765                      &optional (f11-3 c) (f11-4 7947114)
2766                      (f11-5
2767                       (flet ((%f3 (f3-1 &optional (f3-2 b) (f3-3 5529))
2768                                   8134))
2769                         (multiple-value-call #'%f3
2770                                              (values (%f3 -30637724 b) c)))))
2771               (setq c 555910)))
2772         (if (and nil (%f11 a a))
2773             (if (%f11 a 421778 4030 1)
2774                 (labels ((%f7
2775                           (f7-1 f7-2
2776                                 &optional
2777                                 (f7-3
2778                                  (%f11 -79192293
2779                                        (%f11 c a c -4 214720)
2780                                        b
2781                                        b
2782                                        (%f11 b 985)))
2783                                 (f7-4 a))
2784                           b))
2785                   (%f11 c b -25644))
2786               54)
2787           -32326608))))
2788   1 2 3)
2789  -32326608)
2790
2791;;; In sbcl 0.8.5.37
2792;;; The value NIL is not of type SB-C:COMPONENT.
2793
2794(deftest misc.174
2795  (funcall
2796   (compile
2797    nil
2798    '(lambda (a b c)
2799         (declare (type (integer 10292971433 14459537906) b))
2800         (declare (optimize (speed 3)))
2801         (declare (optimize (safety 1)))
2802         (declare (optimize (debug 1)))
2803         (if
2804          (and (and (/= -51885 b) nil)
2805               (case (1+ b)
2806                 ((4 4 3 -4)
2807                  (let* ((v1
2808                          (flet ((%f16 (f16-1)
2809                                   -1858366))
2810                            (apply #'%f16 b (list)))))
2811                    -1602321))
2812                 (t 3)))
2813          19
2814          c)))
2815   0 11000000000 0)
2816  0)
2817
2818(deftest misc.174a
2819  (funcall
2820   (compile
2821    nil
2822    '(lambda (a b)
2823       (declare (type (integer 23 365478242977) a))
2824       (declare (type (integer -38847 268231) b))
2825       (declare (optimize (speed 3)))
2826       (declare (optimize (safety 1)))
2827       (declare (optimize (debug 1)))
2828       (if (not (if (/= b 7) t (not (not a))))
2829           (case (setq b -5880)
2830             ((8382 3401 2058 39167 62228)
2831              (flet ((%f7 (f7-1 f7-2 f7-3) f7-1))
2832                (multiple-value-call #'%f7 (values -135629 a -410168200))))
2833             (t a))
2834         15173)))
2835   30 0)
2836  15173)
2837
2838(deftest misc.174b
2839  (funcall
2840   (compile
2841    nil
2842    '(lambda (a b)
2843       (declare (type (integer -8688 2170) a))
2844       (declare (type (integer -9938931470 1964967743) b))
2845       (declare (optimize (speed 3)))
2846       (declare (optimize (safety 1)))
2847       (declare (optimize (debug 1)))
2848       (if
2849           (and
2850            (if (if (equal b 9) nil t)
2851                nil
2852              (not
2853               (logbitp 5
2854                        (labels ((%f5 (f5-1 f5-2 f5-3)
2855                                      4057223))
2856                          (let ((v9 (%f5 -42 -27504 45026809)))
2857                            15011)))))
2858            (if
2859                (or a
2860                    (labels ((%f16 (f16-1)
2861                                   61))
2862                      (apply #'%f16 275 (list))))
2863                a
2864              t))
2865           (setq a -4803)
2866         (rem a (max 47 b)))))
2867   0 0)
2868  0)
2869
2870;;; In sbcl 0.8.5.37
2871;;; "Unreachable code is found or flow graph is not properly depth-first ordered."
2872
2873(deftest misc.175
2874  (funcall
2875   (compile
2876    nil
2877    '(lambda (a b c)
2878       (declare (notinline list apply values signum funcall))
2879       (declare (optimize (safety 3)))
2880       (declare (optimize (speed 0)))
2881       (declare (optimize (debug 0)))
2882       (labels ((%f4 (f4-1 f4-2 f4-3)
2883                     (labels ((%f1 (f1-1 f1-2 f1-3)
2884                                   2))
2885                       (labels ((%f11
2886                                 (f11-1
2887                                  &optional
2888                                  (f11-2
2889                                   (return-from %f4
2890                                     (labels ((%f8
2891                                               (f8-1 f8-2 f8-3
2892                                                     &optional (f8-4 -35)
2893                                                     (f8-5 f4-2))
2894                                               f4-1))
2895                                       (funcall #'%f8 53 b f4-1)))))
2896                                 (return-from %f4 a)))
2897                         (signum
2898                          (let ((v4
2899                                 (flet ((%f8
2900                                         (f8-1 f8-2 f8-3
2901                                               &optional (f8-4 b) (f8-5 -560367))
2902                                         f8-4))
2903                                   (%f8 -27 35395 c -69))))
2904                            (%f11
2905                             (multiple-value-call #'%f11
2906                                                  (values (%f1 (%f11 b (%f11 v4 f4-3)) f4-3 77936)
2907                                                          1628490976))
2908                             (return-from %f4 (%f1 -9432 f4-1 f4-1)))))))))
2909         (flet ((%f7 (f7-1 f7-2 f7-3)
2910                     (%f4 b f7-3 f7-3)))
2911           (flet ((%f14 (f14-1)
2912                        (apply #'%f7 -252 -56169265 -7322946 (list))))
2913             (%f14 a))))))
2914   -70313091 577425217 28052774417)
2915  -70313091)
2916
2917(deftest misc.175a
2918  (funcall
2919   (compile
2920    nil
2921    '(lambda (a b)
2922         (declare (notinline values list apply logior))
2923         (declare (optimize (safety 3)))
2924         (declare (optimize (speed 0)))
2925         (declare (optimize (debug 0)))
2926         (if nil
2927             (logior (flet ((%f5 (f5-1) b)) (%f5 56288))
2928              (flet ((%f17 (f17-1 f17-2
2929                          &optional
2930                          (f17-3 (let () 6857))
2931                          (f17-4
2932                           (labels ((%f3 (f3-1 f3-2 f3-3  &optional (f3-4 a) (f3-5 877))
2933                                         139))
2934                             (apply #'%f3 (list -33052082 b a 1572)))))
2935                           b))
2936                (multiple-value-call #'%f17 (values 31 b a b))))
2937             392)))
2938   0 0)
2939  392)
2940
2941(deftest misc.175b
2942  (funcall
2943   (compile
2944    nil
2945    '(lambda (a b)
2946       (declare (type (integer -1185422977 2286472818) a))
2947       (declare (type (integer -211381289038 74868) b))
2948       (declare (ignorable a b))
2949       (declare (optimize (speed 3)))
2950       (declare (optimize (safety 1)))
2951       (declare (optimize (debug 1)))
2952       (lognor (unwind-protect -1248)
2953               (flet ((%f7
2954                       (&optional
2955                        (f7-1
2956                         (flet ((%f1 (f1-1 f1-2 f1-3) 121426))
2957                           (%f1 b 2337452 (%f1 61767 b a))))
2958                        (f7-2
2959                         (block b8
2960                           (logandc1
2961                            (labels ((%f10 (f10-1 f10-2 f10-3) 323734600))
2962                              (%f10 (%f10 323734600 323734600 -10165)
2963                                    -607741 (ignore-errors 971588)))
2964                            (if (>= b -27) (return-from b8 -2)
2965                              (ignore-errors 237138926))))))
2966                       f7-2))
2967                 (apply #'%f7 (list 761316125 b))))))
2968   1792769319 -60202244870)
2969  5)
2970
2971
2972;;; sbcl 0.8.5.37
2973;;; failed AVER: "(FUNCTIONAL-LETLIKE-P CLAMBDA)"
2974
2975(deftest misc.176
2976  (funcall
2977   (compile
2978    nil
2979    '(lambda (a b c)
2980       (declare (type (integer 162180298 184143783) a))
2981       (declare (type (integer 702599480988 725878356286) b))
2982       (declare (type (integer 168 80719238530) c))
2983       (declare (optimize (speed 3)))
2984       (declare (optimize (safety 1)))
2985       (declare (optimize (debug 1)))
2986       (block b6
2987         (flet ((%f10 (f10-1 f10-2)
2988                      (labels ((%f6 (f6-1 f6-2)
2989                                    f6-1))
2990                        (let ((v2
2991                               (flet ((%f1 (f1-1 f1-2 f1-3)
2992                                           f1-3))
2993                                 (let ((v8
2994                                        (%f1 -11350578
2995                                             (%f6 10414199 13)
2996                                             -58931837)))
2997                                   -239755))))
2998                          323))))
2999           (labels ((%f4
3000                     (f4-1
3001                      &optional (f4-2 204) (f4-3 -1)
3002                      (f4-4
3003                       (flet ((%f2 (f2-1)
3004                                   (if t (return-from b6 c) a)))
3005                         (logorc2 (multiple-value-call #'%f2 (values 1))
3006                                  (let* ((v5 (floor (%f2 -1260))))
3007                                    (case (abs (logxor 185664 a))
3008                                      ((-2 5975)
3009                                       (if (or (< b v5) nil)
3010                                           (return-from b6
3011                                             (let ((v10 (%f2 c)))
3012                                               0))
3013                                         (multiple-value-call #'%f10
3014                                                              (values -3 a))))
3015                                      (t b)))))))
3016                     1503938))
3017             (multiple-value-call #'%f4 (values -1 a 1853966)))))))
3018   173549795 725346738048 993243799)
3019  993243799)
3020
3021;;; different results (sbcl 0.8.5.37)
3022;;; May be that setq side effects bug again?
3023
3024(deftest misc.177
3025  (let* ((form '(flet ((%f11
3026                        (f11-1 f11-2)
3027                        (labels ((%f4 () (round 200048 (max 99 c))))
3028                          (logand
3029                           f11-1
3030                           (labels ((%f3 (f3-1) -162967612))
3031                             (%f3 (let* ((v8 (%f4)))
3032                                    (setq f11-1 (%f4)))))))))
3033                  (%f11 -120429363 (%f11 62362 b))))
3034         (vars '(a b c))
3035         (vals '(6714367 9645616 -637681868))
3036         (fn1 `(lambda ,vars
3037                  (declare (type (integer 804561 7640697) a))
3038                  (declare (type (integer -1 10441401) b))
3039                  (declare (type (integer -864634669 55189745) c))
3040                  (declare (ignorable a b c))
3041                  (declare (optimize (speed 3)))
3042                  (declare (optimize (safety 1)))
3043                  (declare (optimize (debug 1)))
3044                  ,form))
3045         (fn2 `(lambda ,vars
3046                 (declare (notinline list apply logand max round))
3047                 (declare (optimize (safety 3)))
3048                 (declare (optimize (speed 0)))
3049                 (declare (optimize (debug 0)))
3050                 ,form))
3051         (compiled-fn1 (compile nil fn1))
3052         (compiled-fn2 (compile nil fn2))
3053         (results1 (multiple-value-list (apply compiled-fn1 vals)))
3054         (results2 (multiple-value-list (apply compiled-fn2 vals))))
3055    (if (equal results1 results2)
3056        :good
3057      (values results1 results2)))
3058  :good)
3059
3060;;; sbcl 0.8.5.37
3061;;; The value NIL is not of type INTEGER.
3062
3063(deftest misc.178
3064  (funcall
3065   (compile
3066    nil
3067    '(lambda (a b c)
3068         (declare (ignorable a b c))
3069         (declare (optimize (speed 3)))
3070         (declare (optimize (safety 1)))
3071         (declare (optimize (debug 1)))
3072         (let ((v9
3073                (flet ((%f9
3074                           (f9-1 f9-2 f9-3
3075                            &optional (f9-4 -40538)
3076                            (f9-5
3077                             (flet ((%f10 (f10-1 f10-2)
3078                                      (labels ((%f11 (f11-1 f11-2)
3079                                                 (labels ((%f10 (f10-1 f10-2)
3080                                                            -1422))
3081                                                   (if
3082                                                    (< b
3083                                                       (%f10
3084                                                        (%f10 28262437 95387)
3085                                                        f10-2))
3086                                                    -1562
3087                                                    f10-2))))
3088                                        (let* ((v6 (%f11 59 b)))
3089                                          (return-from %f10
3090                                            (apply #'%f11
3091                                                   f10-1
3092                                                   (list
3093                                                    (return-from %f10
3094                                                      2029647))))))))
3095                               (apply #'%f10 -3067 3854883 (list)))))
3096                         64066))
3097                  (%f9 a 2774 0 c))))
3098           (flet ((%f18 (f18-1 f18-2 &optional (f18-3 66) (f18-4 b))
3099                    -6939342))
3100             (%f18 1274880 (%f18 b a 46746370 -1))))))
3101   0 0 0)
3102  -6939342)
3103
3104;;; sbcl 0.8.5.37
3105;;; failed AVER: "(FUNCTIONAL-LETLIKE-P CLAMBDA)"
3106
3107(deftest misc.179
3108  (funcall
3109   (compile
3110    nil
3111    '(lambda (a b)
3112       (declare (type (integer 1135 16722) a))
3113       (declare (type (integer -640723637053 -9049) b))
3114       (declare (optimize (speed 3)))
3115       (declare (optimize (safety 1)))
3116       (declare (optimize (debug 1)))
3117       (block b3
3118         (return-from b3
3119           (flet ((%f17 (f17-1 &optional (f17-2 b) (f17-3 b))
3120                        (+ (if t (return-from b3 -64796) a))))
3121             (case (%f17 -3908648 -7026139 a)
3122               ((41771 -113272 -48004 -39699 50691 -13222)
3123                (multiple-value-call #'%f17 (values -1963404294 -105)))
3124               (t -7026139)))))))
3125   2000 -10000)
3126  -64796)
3127
3128(deftest misc.180
3129  (funcall
3130   (compile
3131    nil
3132    '(lambda (a b)
3133       (declare (type (integer 41 484) a))
3134       (declare (type (integer -2546947 1008697961708) b))
3135       (declare (optimize (speed 3)))
3136       (declare (optimize (safety 1)))
3137       (declare (optimize (debug 1)))
3138       (if (and (ldb-test (byte 30 10) b) nil)
3139           (labels ((%f7 (f7-1 f7-2 &optional (f7-3 -508405733))
3140                         390004056))
3141             (let* ((v4 (multiple-value-call #'%f7 (values b (%f7 b b)))))
3142               (multiple-value-call #'%f7
3143                                    (values (%f7 80199 a)
3144                                            (%f7
3145                                             (%f7 a
3146                                                  (let* ((v6 (%f7 -226 250)))
3147                                                    a))
3148                                             (abs (ceiling v4)))))))
3149         -6001)))
3150   50 0)
3151  -6001)
3152
3153;;; sbcl 0.8.5.37
3154;;; The value NIL is not of type SB-C::TAIL-SET.
3155
3156(deftest misc.181
3157  (funcall
3158   (compile
3159    nil
3160    '(lambda (a b)
3161         (declare (type (integer -74233251043 -16478648860) a))
3162         (declare (type (integer 0 960962) b))
3163         (declare (optimize (speed 3)))
3164         (declare (optimize (safety 1)))
3165         (declare (optimize (debug 1)))
3166         (flet ((%f14 ()
3167                  (if 1
3168                      (return-from %f14 a)
3169                      (labels ((%f10 (f10-1 f10-2 f10-3
3170                                            &optional (f10-4 (let* ((v7 a)) 915)))
3171                                 -1268205049))
3172                        (labels ((%f18 (f18-1)
3173                                   (multiple-value-call #'%f10
3174                                     (values f18-1
3175                                             (%f10
3176                                              (%f10 -1495
3177                                                    (%f10 -384
3178                                                          -84
3179                                                          (%f10 -1
3180                                                                48052
3181                                                                58909027
3182                                                                -35812)
3183                                                          -114)
3184                                                    (%f10 -391646964
3185                                                          -28131299
3186                                                          f18-1
3187                                                          (%f10 b 368193 a)))
3188                                              (%f10 f18-1
3189                                                    -1415811
3190                                                    f18-1
3191                                                    267932407)
3192                                              174)
3193                                             -58
3194                                             320))))
3195                          (let* ((v3 (let ((v7 (return-from %f14 (%f18 -418731))))
3196                                       (%f10 104871 -1196 -21 a))))
3197                            (labels ((%f1 () (%f18 (%f18 -794761))))
3198                              (return-from %f14 b))))))))
3199           (if (%f14) b 887481))))
3200   -51967629256 809047)
3201  809047)
3202
3203(deftest misc.181a
3204  (funcall
3205   (compile
3206    nil
3207    '(lambda (a b)
3208       (declare (type (integer -982285129 -90) a))
3209       (declare (type (integer 1 82987) b))
3210       (declare (optimize (speed 3)))
3211       (declare (optimize (safety 1)))
3212       (declare (optimize (debug 1)))
3213       (labels ((%f1 (f1-1 &optional (f1-2 -34) (f1-3 3318057) (f1-4 117))
3214                     (let ((v9 (let ((v9 (if t (return-from %f1 f1-2) 606042)))
3215                                 f1-1)))
3216                       (flet ((%f16 (f16-1 f16-2)  292))
3217                         (labels ((%f2 (f2-1 f2-2 f2-3
3218                                             &optional (f2-4 f1-3) (f2-5 f1-4)
3219                                             (f2-6 -418207187))
3220                                       (%f16 2099 (%f16 f1-2 1157))))
3221                           (return-from %f1 (%f2 f1-4 -12066040 v9 122107)))))))
3222         (flet ((%f5
3223                 (f5-1
3224                  &optional
3225                  (f5-2 (labels ((%f13 (f13-1 f13-2 f13-3
3226                                              &optional (f13-4 a) (f13-5 b))
3227                                       1054213657))
3228                          (%f13 b 166441 -3)))
3229                  (f5-3 20102220)
3230                  (f5-4 (labels ((%f11 (f11-1 f11-2 f11-3)
3231                                       (%f1 -110148 (%f1 -12336576 f11-1 -61))))
3232                          (let ((v1 (apply #'%f11 -29706 a b (list))))
3233                            a))))
3234                 b))
3235           (labels ((%f17 (f17-1 f17-2 f17-3
3236                                 &optional (f17-4 -107566292) (f17-5 63) (f17-6 -2))
3237                          105656))
3238             (%f5
3239              (%f17 185703492 a a -511
3240                    (%f1 b b -218142
3241                         (%f17 -240978 2923208 22 (%f5 1542 68917407 a) b)))
3242              -2018
3243              -1))))))
3244   -100 1)
3245  1)
3246
3247;;; sbcl 0.8.5.40
3248;;; Different results from exprs containing ROUND
3249
3250(deftest misc.182
3251  (let* ((form '(labels ((%f14 (f14-1 f14-2)
3252                               (labels ((%f16
3253                                         (f16-1 f16-2
3254                                                &optional
3255                                                (f16-3 (setq f14-1 (ash f14-1 (min 77 b)))))
3256                                         (logandc2 c -100)))
3257                                 (return-from %f14 (* 2 (gcd f14-1 (%f16 c f14-1)))))))
3258                  (round (%f14 c c)
3259                         (max 83 (%f14 (multiple-value-call #'%f14 (values 0 2)) 0)))))
3260         (fn1 `(lambda (a b c)
3261                 (declare (type (integer 5628 8762) a))
3262                 (declare (type (integer 778 33310188747) b))
3263                 (declare (type (integer -6699 4554) c))
3264                 (declare (optimize (speed 3)))
3265                 (declare (optimize (safety 1)))
3266                 (declare (optimize (debug 1)))
3267                 ,form))
3268         (fn2 `(lambda (a b c)
3269                 (declare (notinline values max round gcd * logandc2 min ash))
3270                 (declare (optimize (safety 3)))
3271                 (declare (optimize (speed 0)))
3272                 (declare (optimize (debug 0)))
3273                 ,form))
3274         (vals '(7395 1602862793 -2384))
3275         (cfn1 (compile nil fn1))
3276         (cfn2 (compile nil fn2))
3277         (result1 (multiple-value-list (apply cfn1 vals)))
3278         (result2 (multiple-value-list (apply cfn2 vals))))
3279    (if (equal result1 result2)
3280        :good
3281      (values result1 result2)))
3282  :good)
3283
3284;;; sbcl 0.8.5.42
3285;;; failed AVER: "(NOT POPPING)"
3286;;; Also occurs in cmucl (11/2003 snapshot)
3287
3288(deftest misc.183
3289  (funcall
3290   (compile
3291    nil
3292    '(lambda (a b c)
3293       (declare (type (integer -368154 377964) a))
3294       (declare (type (integer 5044 14959) b))
3295       (declare (type (integer -184859815 -8066427) c))
3296       (declare (ignorable a b c))
3297       (declare (optimize (speed 3)))
3298       (declare (optimize (safety 1)))
3299       (declare (optimize (debug 1)))
3300       (block b7
3301         (flet ((%f3 (f3-1 f3-2 f3-3) 0))
3302           (apply #'%f3 0 (catch 'foo (return-from b7 (%f3 0 b c))) c nil)))))
3303   0 6000 -9000000)
3304  0)
3305
3306(deftest misc.183a
3307  (let () (apply #'list 1 (list (catch 'a (throw 'a (block b 2))))))
3308  (1 2))
3309
3310;;; sbcl 0.8.5.42
3311;;; failed AVER: "(FUNCTIONAL-LETLIKE-P CLAMBDA)"
3312
3313(deftest misc.184
3314  (funcall
3315   (compile
3316    nil
3317    '(lambda (a b c)
3318       (declare (type (integer 867934833 3293695878) a))
3319       (declare (type (integer -82111 1776797) b))
3320       (declare (type (integer -1432413516 54121964) c))
3321       (declare (optimize (speed 3)))
3322       (declare (optimize (safety 1)))
3323       (declare (optimize (debug 1)))
3324       (if nil
3325           (flet ((%f15 (f15-1 &optional (f15-2 c))
3326                        (labels ((%f1 (f1-1 f1-2) 0))
3327                          (%f1 a 0))))
3328             (flet ((%f4 ()
3329                         (multiple-value-call #'%f15
3330                                              (values (%f15 c 0) (%f15 0)))))
3331               (if nil (%f4)
3332                 (flet ((%f8 (f8-1 &optional (f8-2 (%f4)) (f8-3 0))
3333                             f8-3))
3334                   0))))
3335         0)))
3336   3040851270 1664281 -1340106197)
3337  0)
3338
3339;;; sbcl 0.8.5.42
3340;;; invalid number of arguments: 1
3341;;; ("XEP for LABELS CL-TEST::%F10" ...
3342
3343(deftest misc.185
3344  (funcall
3345   (compile
3346    nil
3347    '(lambda (a b c)
3348       (declare (type (integer 5 155656586618) a))
3349       (declare (type (integer -15492 196529) b))
3350       (declare (type (integer 7 10) c))
3351       (declare (optimize (speed 3)))
3352       (declare (optimize (safety 1)))
3353       (declare (optimize (debug 1)))
3354       (flet ((%f3
3355               (f3-1 f3-2 f3-3
3356                     &optional (f3-4 a) (f3-5 0)
3357                     (f3-6
3358                      (labels ((%f10 (f10-1 f10-2 f10-3)
3359                                     0))
3360                        (apply #'%f10
3361                               0
3362                               a
3363                               (- (if (equal a b) b (%f10 c a 0))
3364                                  (catch 'ct2 (throw 'ct2 c)))
3365                               nil))))
3366               0))
3367         (%f3 (%f3 (%f3 b 0 0 0) a 0) a b b b c))))
3368   5 0 7)
3369  0)
3370
3371(deftest misc.185a
3372  (funcall
3373   (compile
3374    nil
3375    '(lambda (a b c)
3376       (declare (type (integer -1304066 1995764) a))
3377       (declare (type (integer -52262604195 5419515202) b))
3378       (declare (type (integer -13 94521) c))
3379       (declare (optimize (speed 3)))
3380       (declare (optimize (safety 1)))
3381       (declare (optimize (debug 1)))
3382       (flet ((%f13 (f13-1 f13-2 f13-3)
3383                    0))
3384         (apply #'%f13
3385                (%f13 b 0 0)
3386                (catch 'ct1 0)
3387                (catch 'ct2 (throw 'ct2 c))
3388                nil))))
3389   0 0 0)
3390  0)
3391
3392;;; sbcl 0.8.5.42
3393;;; Different results
3394
3395(deftest misc.186
3396  (let* ((form '(labels ((%f3 (f3-1 f3-2) f3-1))
3397                  (apply #'%f3 b (catch 'ct8 (throw 'ct8 (logeqv (%f3 c 0)))) nil)))
3398         (vars '(b c))
3399         (fn1 `(lambda ,vars
3400                 (declare (type (integer -2 19) b)
3401                          (type (integer -1520 218978) c)
3402                          (optimize (speed 3) (safety 1) (debug 1)))
3403                 ,form))
3404         (fn2 `(lambda ,vars
3405                 (declare (notinline logeqv apply)
3406                          (optimize (safety 3) (speed 0) (debug 0)))
3407                 ,form))
3408         (cf1 (compile nil fn1))
3409         (cf2 (compile nil fn2))
3410         (result1 (multiple-value-list (funcall cf1 2 18886)))
3411         (result2 (multiple-value-list (funcall cf2 2 18886))))
3412    (if (equal result1 result2)
3413        :good
3414      (values result1 result2)))
3415  :good)
3416
3417;;; cmucl (11/2003 snapshot)
3418;;; The assertion (NOT (EQ (C::FUNCTIONAL-KIND C::LEAF) :ESCAPE)) failed.
3419
3420(deftest misc.187
3421  (apply
3422   (eval '(function
3423           (lambda (a b c)
3424             (declare (notinline))
3425             (declare (optimize (safety 3)))
3426             (declare (optimize (speed 0)))
3427             (declare (optimize (debug 0)))
3428             (flet ((%f7 (&optional (f7-1 (catch (quote ct7) 0)) (f7-2 0))
3429                         c))
3430               (let ((v8
3431                      (flet ((%f14 (f14-1 &optional (f14-2 (%f7 b)))
3432                                   0))
3433                        0)))
3434                 (%f7 b))))))
3435   '(2374299 70496 -6321798384))
3436  -6321798384)
3437
3438;;; ecl bug
3439;;; Segmentation violation
3440
3441(deftest misc.188
3442  (funcall
3443   (compile
3444    nil
3445    '(lambda (a b c)
3446          (declare (notinline floor min funcall))
3447          (declare (optimize (safety 3) (speed 0) (debug 0)))
3448          (floor (flet ((%f10 (f10-1 f10-2) b)) (%f10 (%f10 0 0) a))
3449                 (min -37
3450                      (labels ((%f6 (f6-1 f6-2 f6-3) b))
3451                        (funcall #'%f6 b b b))))))
3452   7187592 -3970792748407 -14760)
3453  1 0)
3454
3455;;; Wrong number of arguments passed to an anonymous function
3456(deftest misc.189
3457  (funcall
3458   (compile
3459    nil
3460    '(lambda (a b c)
3461       (declare (optimize (speed 3) (safety 1) (debug 1)))
3462       (let* ((v7 (labels ((%f13 (f13-1 f13-2 f13-3) 0))
3463                    (multiple-value-call #'%f13 (values a a a)))))
3464         (flet ((%f10 nil v7)) (%f10)))))
3465   1733 3000 1314076)
3466  0)
3467
3468;;; gcl bug
3469;;; Error in FUNCALL [or a callee]: #<compiled-closure 088ab770> is not of type NUMBER.
3470
3471(deftest misc.190
3472  (let* ((form '(flet ((%f15 ()
3473                             (labels ((%f4 (f4-1) 0))
3474                               (flet ((%f6 (&optional
3475                                            (f6-2
3476                                             (logand (apply #'%f4 (list (%f4 0)))
3477                                                     (round (* a)))))
3478                                           -284))
3479                                 (%f6)))))
3480                  (funcall #'%f15)))
3481         (fn `(lambda (a b c)
3482                (declare (notinline values equal abs isqrt < >= byte
3483                                    mask-field funcall + * logcount logand logior
3484                                    round list apply min))
3485                (declare (optimize (safety 3)))
3486                (declare (optimize (speed 0)))
3487                (declare (optimize (debug 0)))
3488                ,form))
3489         (vals '(538754530150 -199250645748 105109641)))
3490    (apply (compile nil fn) vals))
3491  -284)
3492
3493;;; gcl
3494;;; Error in COMPILER::CMP-ANON [or a callee]: 0 is not of type FUNCTION.
3495
3496(deftest misc.191
3497  (funcall
3498   (compile
3499    nil
3500    '(lambda (a b c)
3501          (declare (optimize (speed 3) (safety 1)))
3502          (labels ((%f1 nil c))
3503            (flet ((%f12 (f12-1)
3504                         (labels ((%f9 (f9-1 f9-2 f9-3) (%f1)))
3505                           (apply #'%f9 (%f9 a b 0) a 0 nil))))
3506              (apply #'%f12 0 nil)))))
3507   0 0 0)
3508  0)
3509
3510;;; acl 6.2 (trial, x86)
3511;;; Returns incorrect value
3512
3513(deftest misc.192
3514  (funcall
3515   (compile
3516    nil
3517    '(lambda (a b)
3518       (declare (optimize (speed 3)))
3519       (declare (optimize (safety 1)))
3520       (declare (optimize (debug 1)))
3521       (flet ((%f8 (f8-1 f8-2 f8-3) f8-2))
3522         (catch 'ct6 (%f8 0 b (catch 'ct6 (throw 'ct6 a)))))))
3523   1 2)
3524  2)
3525
3526(deftest misc.193
3527  (let* ((form '(if (if (<= a (truncate c (min -43 b)))
3528                        (logbitp 0 0) (logbitp 0 -1))
3529                    0 -36223))
3530         (fn1 `(lambda (a b c)
3531                 (declare (type (integer -3 15350342) a))
3532                 (declare (type (integer -4357 -1555) b))
3533                 (declare (type (integer 5389300879793 6422214587951) c))
3534                 (declare (optimize (speed 3)))
3535                 (declare (optimize (safety 1)))
3536                 (declare (optimize (debug 1)))
3537                 ,form))
3538         (fn2 `(lambda (a b c)
3539                 (declare (notinline logbitp min truncate <=))
3540                 (declare (optimize (safety 3)))
3541                 (declare (optimize (speed 0)))
3542                 (declare (optimize (debug 0)))
3543                 ,form))
3544         (vals '(7792101 -1615 6070931814551))
3545         (result1 (multiple-value-list (apply (compile nil fn1) vals)))
3546         (result2 (multiple-value-list (apply (compile nil fn2) vals))))
3547    (if (equal result1 result2)
3548        :good
3549      (values result1 result2)))
3550  :good)
3551
3552;;; cmucl (4 Nov 2003 snapshot)
3553;;;  The assertion (EQ (C::TN-ENVIRONMENT C:TN) C::TN-ENV) failed.
3554
3555(deftest misc.194
3556  (funcall
3557   (compile
3558    nil
3559    '(lambda (a b c)
3560       (declare (notinline funcall))
3561       (declare (optimize (safety 3) (speed 0) (debug 3)))
3562       (flet ((%f14
3563               (f14-1 f14-2
3564                      &optional (f14-3 0) (f14-4 (catch 'ct8 0))
3565                      (f14-5 (unwind-protect c)))
3566               0))
3567         (funcall #'%f14 0 0))))
3568   1 2 3)
3569  0)
3570
3571;;; incorrect value (in cmucl)
3572(deftest misc.195
3573  (funcall
3574   (compile
3575    nil
3576    '(lambda (a b)
3577       (declare (type (integer -5906488825 254936878485) a))
3578       (declare (type (integer -350857549 -11423) b))
3579       (declare (ignorable a b))
3580       (declare (optimize (speed 3) (safety 1) (debug 1)))
3581       (block b8
3582         (labels ((%f6 (f6-1 &optional (f6-2 0) (f6-3 0) (f6-4 0))
3583                       0))
3584           (multiple-value-call #'%f6 (values 0))))))
3585   100 -100000)
3586  0)
3587
3588;;; NIL is not of type C::ENVIRONMENT
3589(deftest misc.196
3590  (funcall
3591   (compile
3592    nil
3593    '(lambda (a b)
3594       (declare (type (integer 1 46794484349) a))
3595       (declare (type (integer -627 -2) b))
3596       (declare (ignorable a b))
3597       (declare (optimize (speed 3) (safety 1) (debug 1)))
3598       (if (not (logbitp 0 0))
3599           0
3600         (labels ((%f9 (f9-1 f9-2 f9-3)
3601                       0))
3602           (%f9 (catch 'ct6 a) (catch 'ct4 0) 0)))))
3603   1 -200)
3604  0)
3605
3606;;; The assertion (EQ (C::TN-ENVIRONMENT C:TN) C::TN-ENV) failed.
3607(deftest misc.197
3608  (funcall
3609   (compile
3610    nil
3611    '(lambda (a b)
3612       (declare (notinline logcount))
3613       (declare (optimize (safety 3) (speed 0) (debug 3)))
3614       (labels ((%f5 (&optional (f5-1 b) (f5-2 0) (f5-3 (catch (quote ct2) 0)))
3615                     (prog1 (logcount (block b1 f5-1)))))
3616         (if (%f5 0 0 0) (%f5 a) 0))))
3617   1 2)
3618  1)
3619
3620;;; gcl bug (30-11-2003)
3621;;; Different results
3622;;; These tests appear to be for the same bug.
3623
3624(deftest misc.198
3625  (let* ((form '(min (catch 'ct4 (throw 'ct4 (setq c 29119897960))) c))
3626         (fn1 `(lambda (c)
3627                 (declare (type (integer -70450 39128850560) c))
3628                 (declare (optimize (speed 3) (safety 1)))
3629                 ,form)))
3630    (funcall (compile nil fn1) 3512352656))
3631  29119897960)
3632
3633(deftest misc.199
3634  (let* ((fn '(lambda (b)
3635                (declare (type (integer 3352138624 13120037248) b))
3636                (declare (optimize (speed 3) (safety 1) (space 1)))
3637                (progn (catch 'ct1
3638                         (progn (setq b 11159349376)
3639                                (throw 'ct1 0)))
3640                       b))))
3641    (funcall (compile nil fn) 4108962100))
3642  11159349376)
3643
3644;;; sbcl
3645;;; "The value 0 is not of type REAL."  (???)
3646
3647(deftest misc.200
3648  (funcall
3649   (compile nil '(lambda ()
3650                   (declare (optimize (speed 1) (space 0) (safety 3) (debug 3) (compilation-speed 1)))
3651                   (ceiling
3652                    (ceiling
3653                     (flet ((%f16 () 0)) (%f16)))))))
3654  0 0)
3655
3656;;; ecl 5 Dec 2003
3657;;; Wrong number of arguments passed to an anonymous function
3658
3659(deftest misc.201
3660  ;; form to be evaluated
3661  (funcall
3662   (compile
3663    nil
3664    '(lambda (a b)
3665       (declare (optimize (speed 1) (space 0) (safety 0) (debug 2)
3666                          (compilation-speed 1)))
3667       (flet ((%f10 (f10-1) (return-from %f10 a)))
3668         (multiple-value-call #'%f10 (values b)))))
3669   10 -100)
3670  ;; expected return value
3671  10)
3672
3673;;; Does not terminate?
3674(deftest misc.202
3675  (funcall
3676   (compile
3677    nil
3678    '(lambda (a b c)
3679             (declare (type (integer -363953100 5324773015552) a))
3680             (declare (type (integer -5744998440960 59520311) b))
3681             (declare (type (integer -1864645998 -14608) c))
3682             (declare (ignorable a b c))
3683             (declare (optimize (speed 3) (space 0) (safety 2) (debug 0)
3684                                (compilation-speed 2)))
3685             (flet ((%f1 (f1-1 f1-2)
3686                         (labels ((%f1 (f1-1 f1-2) 0)) (%f1 a f1-2))))
3687                   (%f1 0 c))))
3688   10 20 -20000)
3689  0)
3690
3691;;; #<illegal pointer bfffe90c>
3692(deftest misc.203
3693  (funcall
3694   (compile
3695    nil
3696    '(lambda (a)
3697       (declare (optimize (speed 3) (space 1) (safety 2) (debug 0)
3698                          (compilation-speed 0)))
3699       (labels ((%f18 (f18-1 f18-2 &optional (f18-3 a) (f18-4 a))
3700                      f18-2))
3701         (multiple-value-call #'%f18 (values a 0)))))
3702   100)
3703  0)
3704
3705;;; `env0' undeclared (first use in this function)
3706(deftest misc.204
3707  (funcall
3708   (compile
3709    nil
3710    '(lambda (a b)
3711          (declare (type (integer -4801373 -50300) a))
3712          (declare (type (integer -62 -28) b))
3713          (declare (ignorable a b))
3714          (declare (optimize (speed 1) (space 3) (safety 3) (debug 2)
3715                       (compilation-speed 2)))
3716          (flet ((%f12 (f12-1) 0))
3717            (labels ((%f3 (f3-1 f3-2 f3-3 &optional (f3-4 b) (f3-5 b)
3718                                (f3-6 (labels ((%f9 nil b))
3719                                        (apply #'%f12 (%f9) nil))))
3720                          (%f12 0)))
3721              (%f3 b 0 a)))))
3722   -2224841 -54)
3723  0)
3724
3725;;; #<compiled-function 08405fd8> is not of type INTEGER.
3726(deftest misc.205
3727  (funcall
3728   (compile
3729    nil
3730    '(lambda (a b)
3731       (declare (optimize (speed 3) (space 1) (safety 1) (debug 0)
3732                          (compilation-speed 3)))
3733       (labels ((%f1 nil b))
3734         (flet ((%f11 (f11-1 f11-2 f11-3) 0))
3735           (apply #'%f11 a (logand (%f1))
3736                  (flet ((%f13 (f13-1 f13-2) b))
3737                    (apply #'%f13 0 0 nil))
3738                  nil)))))
3739   100 200)
3740  0)
3741
3742;;; #<bytecompiled-function %F14> is not of type INTEGER.
3743(deftest misc.206
3744  (funcall
3745   #'(lambda (a b)
3746       (declare (notinline mask-field byte))
3747       (declare (optimize (speed 1) (space 1) (safety 2) (debug 1)
3748                          (compilation-speed 2)))
3749       (mask-field (byte 0 0)
3750                   (block b3
3751                     (labels ((%f14 nil (return-from b3 a))) (%f14)))))
3752   1 2)
3753  0)
3754
3755;;; #<compiled-closure 08405fd8> is not of type INTEGER
3756(deftest misc.207
3757  (funcall
3758   (compile
3759    nil
3760    '(lambda (a)
3761       (declare (optimize (speed 3) (space 2) (safety 0) (debug 1)
3762                          (compilation-speed 0)))
3763       (labels ((%f3 (f3-1) a))
3764         (labels ((%f10 (f10-1 f10-2) a))
3765           (apply #'%f10 0 (logior (%f3 0)) nil)))))
3766   -10000)
3767  -10000)
3768
3769;;; `env0' undeclared (first use in this function)
3770(deftest misc.208
3771  (funcall
3772   (compile
3773    nil
3774    '(lambda (b)
3775       (declare (optimize (speed 3) (space 2) (safety 3) (debug 3)
3776                          (compilation-speed 0)))
3777       (flet ((%f6 (f6-1 f6-2 f6-3) f6-3))
3778         (labels ((%f8 (f8-1) (let* ((v1 (%f6 0 0 0))) 0)))
3779           (apply #'%f6 b b (%f8 b) nil)))))
3780   10)
3781  0)
3782
3783;;; Wrong value computed
3784(deftest misc.209
3785  (funcall
3786   (compile
3787    nil
3788    '(lambda (b)
3789       (declare (optimize (speed 3) (space 2) (safety 3) (debug 3)
3790                          (compilation-speed 3)))
3791       (max (catch 'ct4 (throw 'ct4 (setq b 0))) b)))
3792   6353)
3793  0)
3794
3795;;; Wrong value computed
3796(deftest misc.210
3797  (funcall
3798   (compile
3799    nil
3800    '(lambda (c)
3801       (declare (type (integer 3 65500689) c))
3802       (declare (optimize (speed 2) (space 1) (safety 3) (debug 3)
3803                          (compilation-speed 2)))
3804       (catch 'ct6
3805         (let ((v10 (truncate (integer-length (throw 'ct6 0))))) c))))
3806   100)
3807  0)
3808
3809(deftest misc.210a
3810  (funcall
3811   (compile
3812    nil
3813    '(lambda (a)
3814       (declare (type (integer -55982525 -1) a))
3815       (declare (optimize (speed 1) (space 2) (safety 1) (debug 2)
3816                          (compilation-speed 1)))
3817       (flet ((%f11 (f11-1 f11-2 f11-3) a))
3818         (let ((v6 0))
3819           (flet ((%f12 (f12-1) v6))
3820             (if (<= 0) (%f11 v6 0 0)
3821               (multiple-value-call #'%f11
3822                                    (values 0 0 (%f11 0 0 (apply #'%f12 0 nil))))))))))
3823   -100)
3824  -100)
3825
3826;;; Segmentation violation
3827(deftest misc.211
3828  (funcall
3829   (compile
3830    nil
3831    '(lambda (a b c)
3832       (declare (type (integer -1439706333184 1191686946816) a))
3833       (declare (type (integer -28 282229324) b))
3834       (declare (type (integer -108149896 38889958912) c))
3835       (declare (optimize (speed 3) (space 1) (safety 2) (debug 1)
3836                          (compilation-speed 3)))
3837       (let ((v4 (labels ((%f8 (f8-1 &optional (f8-2 0) (f8-3 b)) 0))
3838                   (logior (%f8 0) (%f8 0 0)))))
3839         (truncate
3840          (labels ((%f4 (&optional (f4-1 (ceiling c))) a))
3841            (%f4 v4))
3842          (max 38
3843               (labels ((%f8 (f8-1 &optional (f8-2 (+ c a))) 0))
3844                 (apply #'%f8 a nil)))))))
3845   -979021452526 138874383 21099308459)
3846  -25763722434
3847  -34)
3848
3849;;; Wrong value returned
3850(deftest misc.212
3851  (funcall #'(lambda ()
3852               (declare (optimize (speed 2) (space 0) (safety 3) (debug 2)
3853                                  (compilation-speed 0)))
3854               (let* ((v9 (unwind-protect 0))) v9)))
3855  0)
3856
3857;;; segmentation violation
3858(deftest misc.213
3859  (funcall
3860   (compile
3861    nil
3862    '(lambda (a b)
3863       (declare (type (integer -2 -1) b))
3864       (declare (optimize (speed 1) (space 0) (safety 1) (debug 1)
3865                          (compilation-speed 3)))
3866       (max (labels ((%f15 (f15-1) b)) (if (< 0 (%f15 a)) 0 0))
3867            (labels ((%f11 (f11-1 f11-2 f11-3) b))
3868              (apply #'%f11 0 0 0 nil)))))
3869   0 -2)
3870  0)
3871
3872(deftest misc.213a
3873  (funcall
3874   (compile
3875    nil
3876    '(lambda (a)
3877       (declare (optimize (speed 3) (space 3) (safety 0) (debug 1)
3878                          (compilation-speed 3)))
3879       (max (labels ((%f7 (f7-1) a)) (%f7 0))
3880            (flet ((%f12 (f12-1 f12-2) (if a f12-2 0)))
3881              (apply #'%f12 0 a nil)))))
3882   123)
3883  123)
3884
3885;;; Wrong value
3886(deftest misc.214
3887  (funcall
3888   (compile
3889    nil
3890    '(lambda (a)
3891       (declare (optimize (speed 3) (space 1) (safety 2) (debug 0)
3892                          (compilation-speed 2)))
3893       (flet ((%f8 nil (setq a 0))) (max a (%f8)))))
3894   100)
3895  100)
3896
3897;;; Wrong value
3898(deftest misc.215
3899  (funcall
3900   (compile
3901    nil
3902    '(lambda ()
3903       (declare (optimize (speed 3) (space 3) (safety 3) (debug 0)
3904                          (compilation-speed 2)))
3905       (ldb (byte 26 6) -1252))))
3906  67108844)
3907
3908(deftest misc.215a
3909  (funcall
3910   (compile nil '(lambda ()
3911                   (declare (optimize (speed 3) (space 2) (safety 2) (debug 1)
3912                                      (compilation-speed 2)))
3913                   (ldb (byte 30 0) -407020740))))
3914  666721084)
3915
3916;;; Floating point exception
3917(deftest misc.216
3918  (truncate 0 -2549795210)
3919  0 0)
3920
3921(deftest misc.217
3922  (ceiling 0 -2549795210)
3923  0 0)
3924   
3925(deftest misc.218
3926  (floor 0 -2549795210)
3927  0 0)
3928
3929;;; Infinite loop
3930(deftest misc.219
3931  (funcall
3932   (compile
3933    nil
3934    '(lambda ()
3935       (labels ((%f (a b)
3936                    (labels ((%f (c d) 0))
3937                      (%f 1 2))))
3938         (%f 3 4)))))
3939  0)
3940
3941;;; #\^E is not of type NUMBER.
3942(deftest misc.220
3943  (funcall
3944   (compile
3945    nil
3946    '(lambda (a b)
3947       (declare (type (integer -3218770816 9386121) a))
3948       (declare (type (integer -1 13) b))
3949       (declare (ignorable a b))
3950       (declare (optimize (speed 2) (space 1) (safety 1) (debug 0)
3951                          (compilation-speed 1)))
3952       (labels ((%f18 (f18-1 f18-2 f18-3) a))
3953         (apply #'%f18 0 a
3954                (%f18 b
3955                      (- (labels ((%f11 (f11-1 f11-2 f11-3) a))
3956                           (%f11 0 0 0)))
3957                      a)
3958                nil))))
3959   -468614602 3)
3960  -468614602)
3961
3962;;; Floating point exception
3963(deftest misc.221
3964  (truncate 0 3006819284014656913408)
3965  0 0)
3966
3967(deftest misc.222
3968  (ceiling 0 3006819284014656913408)
3969  0 0)
3970
3971(deftest misc.223
3972  (floor 0 3006819284014656913408)
3973  0 0)
3974
3975;;; clisp (10 Dec 2003 cvs head)
3976;;; *** - SYMBOL-VALUE: 2 is not a SYMBOL
3977
3978(deftest misc.224
3979  (funcall
3980   (compile
3981    nil
3982    '(lambda (a b c)
3983       (declare (optimize (speed 2) (space 3) (safety 0)
3984                          (debug 1) (compilation-speed 0)))
3985       (flet ((%f14 (f14-1 f14-2
3986                           &optional (f14-3 c)
3987                           (f14-4 (if (not nil)
3988                                      (labels ((%f9 nil 0)) (%f9))
3989                                    a)))
3990                    (flet ((%f17 (f17-1 f17-2) f14-1)) (%f17 0 f14-3))))
3991         (%f14 (%f14 0 a) 0 b a))))
3992   248000 5409415 227923)
3993  0)
3994
3995;;; Wrong values
3996(deftest misc.225
3997  (funcall (compile nil '(lambda () (values (values 'a 'b)))))
3998  a)
3999
4000;;; clisp (12 Dec 2003, 2:30AM CST cvs head)
4001;;; SYMBOL-VALUE: 1 is not a SYMBOL
4002(deftest misc.226
4003  (funcall
4004   (compile nil
4005            '(lambda (a)
4006               (flet ((%f (&optional (x (setq a 1))
4007                                     (y (setq a 2)))
4008                           0))
4009                 (%f 0 0))))
4010   0)
4011  0)
4012
4013(deftest misc.227
4014  (funcall
4015   (compile
4016    nil
4017    '(lambda (b)
4018       (flet ((%f (&optional x (y (setq b 1))) x))
4019         (%f 0))))
4020   0)
4021  0)
4022
4023;;; acl (x86 linux 6.2, patched 12 Dec 2003)
4024;;; No from-creg to move to...
4025(deftest misc.228
4026  (funcall
4027   (compile
4028    nil
4029    '(lambda (a b c)
4030       (declare (optimize (speed 1) (space 2) (safety 0) (debug 2)
4031                          (compilation-speed 2)))
4032       (catch 'ct2
4033         (case 0
4034           ((-56087 86404 -94716)
4035            (signum (labels ((%f7 (f7-1 f7-2 f7-3) f7-2)) 0)))
4036           ((12986)
4037            (let ((v3 (catch 'ct2 (throw 'ct2 0))))
4038              (labels ((%f14 (f14-1 f14-2) 0)) (%f14 b c))))
4039           (t 0)))))
4040   -3847091255 -13482 -7577750)
4041  0)
4042
4043(deftest misc.228a
4044  (funcall
4045   (compile
4046    nil
4047    '(lambda (a b c)
4048       (declare (type (integer -249606 2) a))
4049       (declare (type (integer 125 511) b))
4050       (declare (type (integer -2 1) c))
4051       (declare (ignorable a b c))
4052       (declare (optimize (speed 2) (space 2) (safety 1) (debug 3)
4053                          (compilation-speed 3)))
4054       (catch 'ct4
4055         (rational (case b
4056                     ((350 244 1059) (prog2 (numerator c) 0))
4057                     ((1705 493)
4058                      (unwind-protect
4059                          (throw 'ct4 c)
4060                        (loop for lv2 below 2 count (logbitp 0 c))))
4061                     (t a))))))
4062   0 200 -1)
4063  0)
4064
4065(deftest misc.228b
4066  (funcall
4067   (compile
4068    nil
4069    '(lambda (c)
4070       (declare (type (integer -1 412413109) c))
4071       (declare (optimize (speed 1) (space 2) (safety 2) (debug 1)
4072                          (compilation-speed 3)))
4073       (catch 'ct2
4074         (logior (* (progn (if c 0 (throw 'ct2 0)) 0)
4075                    (catch 'ct2 (throw 'ct2 0)))
4076                 (complex c 0)
4077                 ))))
4078   62151)
4079  62151)
4080
4081;;; Error: `T' is not of the expected type `INTEGER'
4082(deftest misc.229
4083  (funcall
4084   (compile
4085    nil
4086    '(lambda nil
4087       (declare (optimize (speed 2) (space 1) (safety 1) (debug 2)
4088                          (compilation-speed 3)))
4089       (labels ((%f15 (f15-1) 0))
4090         (let ((v4 0))
4091           (catch 'ct5
4092             (%f15
4093              (gcd (catch 'ct5 (let* ((v5 (throw 'ct5 0))) 0)) v4))))))))
4094  0)
4095
4096;;; ecl
4097;;; Wrong result (order of evaluation problem)
4098
4099(deftest misc.230
4100  (funcall
4101   (compile
4102    nil
4103    '(lambda (a)
4104       (declare (type (integer -6527559920 -247050) a))
4105       (declare (optimize (speed 1) (space 3) (safety 0) (debug 0)
4106                          (compilation-speed 3)))
4107       (labels ((%f10 (&optional (f10-1 0)
4108                                 (f10-2 (setq a -4456327156)))
4109                      0))
4110         (logxor a (%f10 a)))))
4111   -3444248334)
4112  -3444248334)
4113
4114;;; cmucl
4115;;; Wrong value
4116
4117(deftest misc.231
4118  (funcall
4119   (compile
4120    nil
4121    '(lambda (b)
4122       (declare (type (integer -5209401 3339878) b))
4123       (declare (optimize (speed 1) (space 2) (safety 0) (debug 2)
4124                          (compilation-speed 3)))
4125       (flet ((%f3 (f3-1 f3-2)
4126                   f3-1))
4127         (apply #'%f3 0 (logxor (catch 'ct2 b)
4128                                (catch 'ct5 (throw 'ct5 0))) nil))))
4129   -2179757)
4130  0)
4131
4132;;; Invalid number of arguments: 1
4133(deftest misc.232
4134  (funcall
4135   (compile
4136    nil
4137    '(lambda (a b)
4138       (declare (type (integer 197447754 495807327) a))
4139       (declare (type (integer -125379462 1863191461) b))
4140       (declare
4141        (optimize (speed 2) (space 2) (safety 2) (debug 1) (compilation-speed 2)))
4142       (flet ((%f8
4143               (&optional
4144                (f8-1
4145                 (max (catch (quote ct4) 0)
4146                      (catch (quote ct6) (throw (quote ct6) 0)))))
4147               b))
4148         (flet ((%f16 (f16-1 f16-2 f16-3)
4149                      0))
4150           (apply #'%f16 a 0 (%f8) nil)))))
4151   348270365 28780966)
4152  0)
4153
4154;;;  The assertion (EQ C::CHECK :SIMPLE) failed.
4155(deftest misc.233
4156  (funcall
4157   (compile
4158    nil
4159    '(lambda (a b)
4160       (declare (type (integer -2333758327203 -321096206070) a))
4161       (declare (type (integer -2842843403569 258395684270) b))
4162       (declare (optimize (speed 2) (space 0) (safety 1) (debug 2)
4163                          (compilation-speed 2)))
4164       (flet ((%f18 (f18-1)
4165                    (the integer
4166                      (labels ((%f9 (f9-1 f9-2)
4167                                    (* (- -1 -210032251)
4168                                       (1+
4169                                        (floor
4170                                         (labels ((%f11 (f11-1 f11-2)
4171                                                        -96773966))
4172                                           (%f11 b -3440758)))))))
4173                        (flet ((%f2
4174                                (f2-1 f2-2 f2-3
4175                                      &optional (f2-4 (%f9 -429204 -63))
4176                                      (f2-5 (- (%f9 b 17) a))
4177                                      (f2-6
4178                                       (multiple-value-call #'%f9
4179                                                            (values
4180                                                             (let () 7127585)
4181                                                             (flet ((%f1 (f1-1 f1-2 f1-3)
4182                                                                         (catch 'ct6 -569234)))
4183                                                               (macrolet () 13))))))
4184                                1027))
4185                          (if nil
4186                              (%f2 b a f18-1 69968 4 -217193265)
4187                            (catch 'ct1 129548688)))))))
4188         (max (apply #'%f18 (list 0))))))
4189   -2067244683733 143879071206)
4190  129548688)
4191
4192;;;  NIL is not of type C::TAIL-SET
4193(deftest misc.234
4194  (funcall
4195   (compile
4196    nil
4197    '(lambda (b) ;; (a b)
4198       (declare (type (integer -13583709 -3876310) b))
4199       (declare (optimize (speed 1) (space 2) (safety 3) (debug 3)
4200                          (compilation-speed 1)))
4201       (flet ((%f14 (f14-1 f14-2 f14-3)
4202                    (flet ((%f2
4203                            (f2-1
4204                             &optional (f2-2 0) (f2-3 0)
4205                             (f2-4
4206                              (block b8 (if (ldb-test (byte 0 0) 0) (* 0 f14-2) 0))))
4207                            0))
4208                      (%f2 b f14-2))))
4209         (%f14 0 0 (%f14 0 0 0)))))
4210   ;; -155589
4211   -5694124)
4212  0)
4213
4214;;; sbcl 0.8.6.34
4215;;; Wrong value
4216(deftest misc.235
4217  (funcall
4218   (compile
4219    nil
4220    '(lambda (b)
4221         (declare (notinline not))
4222         (declare (optimize (speed 1) (space 0) (safety 0)
4223                            (debug 2) (compilation-speed 3)))
4224         (multiple-value-prog1 0 (catch 'ct2 (if (not nil) (throw 'ct2 b) 0)))))
4225   :wrong)
4226  0)
4227
4228(deftest misc.236
4229  (funcall
4230   (compile
4231    nil
4232    '(lambda (a b)
4233       (declare (optimize (speed 1) (space 0) (safety 3)
4234                          (debug 0) (compilation-speed 1)))
4235       (flet ((%f8 (f8-1) 0))
4236         (labels ((%f18 (f18-1 f18-2 &optional (f18-3 0))
4237                        (%f8 (catch 'ct7 (throw 'ct7 f18-1)))))
4238           (multiple-value-prog1 (catch 'ct7 a)
4239                                 0
4240                                 (multiple-value-call #'%f18 (values 0 (%f8 b))))))))
4241   :good :bad)
4242  :good)
4243
4244(deftest misc.237
4245  (funcall
4246   (compile
4247    nil
4248    '(lambda ()
4249       (declare (optimize (speed 2) (space 2) (safety 3)
4250                          (debug 3) (compilation-speed 1)))
4251       (multiple-value-prog1 0
4252                             (catch 'ct7 (logandc1 (block b7 0)
4253                                                   (throw 'ct7 -908543)))))))
4254  0)
4255
4256;;; cmucl (11 2003 snapshot)
4257
4258;;;  NIL is not of type C::CONTINUATION
4259(deftest misc.238
4260  (funcall
4261   (compile
4262    nil
4263    '(lambda (a)
4264       (declare (type (integer -77145797 -1) a))
4265       (declare (optimize (speed 1) (space 1) (safety 3) (debug 3) (compilation-speed 1)))
4266       (flet ((%f5 (f5-1) a))
4267         (%f5 (unwind-protect 0 (logand (- (catch 'ct5 0))))))))
4268   -100)
4269  -100)
4270
4271(deftest misc.238a
4272  (funcall
4273   (compile
4274    nil
4275    '(lambda ()
4276       (declare (optimize (speed 3) (space 2) (safety 3)
4277                          (debug 0) (compilation-speed 0)))
4278       (min (load-time-value 0))
4279       0)))
4280  0)
4281
4282;;; (in C::MAYBE-LET-CONVERT)
4283(deftest misc.239
4284  (funcall
4285   (compile
4286    nil
4287    '(lambda (a)
4288       (declare (type (integer -2315418108387 111852261677) a))
4289       (declare (optimize (speed 2) (space 0) (safety 2) (debug 2) (compilation-speed 1)))
4290       (labels ((%f4 ()
4291                     (labels ((%f16 (f16-1 f16-2) 0))
4292                       (flet ((%f9 () 0))
4293                         (%f16 0 (%f16 (%f9) a))))))
4294         (flet ((%f10 (f10-1 f10-2 f10-3)
4295                      (flet ((%f15 (f15-1 &optional (f15-2 (%f4)) (f15-3 0)) f15-3))
4296                        0)))
4297           0))))
4298   100)
4299  0)
4300
4301(deftest misc.239a
4302  (funcall
4303   (compile nil '(lambda () (declare (optimize speed safety))
4304                   (LET ((x (PROG1 0 (ROUND 18916)))) (catch 'ct4 0)))))
4305  0)
4306
4307(deftest misc.240
4308  (funcall
4309   (compile
4310    nil
4311    '(lambda (b)
4312       (declare (type (integer 4 7) b))
4313       (declare (optimize (speed 2) (space 3) (safety 3) (debug 1) (compilation-speed 3)))
4314       (unwind-protect 0
4315         (common-lisp:handler-case
4316          (max
4317           (let ((*s1* b))
4318             (declare (special *s1*))
4319             (+ 0 *s1*)))))))
4320   5)
4321  0)
4322
4323;;; clisp (12 Dec 2003 cvs head)
4324;;; *** - Compiler bug!! Occurred in ASSEMBLE-LAP at ILLEGAL INSTRUCTION.
4325(deftest misc.241
4326  (funcall
4327   (compile
4328    nil
4329    '(lambda ()
4330       (declare (optimize (speed 3) (space 3) (safety 0) (debug 0) (compilation-speed 2)))
4331       (labels ((%f17 (f17-1 f17-2) (multiple-value-prog1 0 0 0 (return-from %f17 0)))) (%f17 0 0)))))
4332  0)
4333
4334(deftest misc.242
4335  (funcall (compile nil '(lambda (a) (block b6 (multiple-value-prog1 a (return-from b6 0))))) :wrong)
4336  0)
4337
4338(deftest misc.243
4339  (funcall (compile nil '(lambda () (block b3 (return-from b3 (multiple-value-prog1 0 (return-from b3 0)))))))
4340  0)
4341
4342;;; lispworks 4.3 (personal edition)
4343(deftest misc.244
4344  (funcall
4345   (compile
4346    nil
4347    '(lambda (b)
4348       (declare (optimize (speed 3) (space 1) (safety 2) (debug 3) (compilation-speed 2)))
4349       (catch 'ct8 (labels ((%f4 (&optional (f4-1 0) (f4-2 (throw 'ct8 0))) f4-1)) (%f4 b)))))
4350   :wrong)
4351  0)
4352
4353(deftest misc.245
4354  (funcall
4355   (compile
4356    nil
4357    '(lambda (a)
4358       (declare (optimize (speed 2) (space 0) (safety 0) (debug 2) (compilation-speed 1)))
4359       (catch 'ct2 (labels ((%f11 (&optional (f11-1 (throw 'ct2 0))) a)) (apply #'%f11 0 nil)))))
4360   20)
4361  20)
4362
4363;;; ecl (cvs head, 18 Dec 2003)
4364(deftest misc.246
4365  (let ((x (unwind-protect 0))) x)
4366  0)
4367
4368(deftest misc.247
4369  (let ((x (dotimes (i 0 10)))) x)
4370  10)
4371
4372;;; acl 6.2 trial
4373;;; "Error: Attempt to access the plist field of 0 which is not a symbol."
4374
4375(deftest misc.248
4376  (funcall (compile nil '(lambda () (dotimes (i 0 0) 0))))
4377  0)
4378
4379;;; sbcl
4380;;;  #<SB-C::LAMBDA-VAR :%SOURCE-NAME IV4 :TYPE # {A67BE29}>
4381;;;  not found in
4382;;;  #<SB-C::PHYSENV :LAMBDA # :NLX-INFO # {A680EF1}>
4383
4384(deftest misc.249
4385  (funcall
4386   (compile
4387    nil
4388    '(lambda (a b)
4389         (declare (notinline <=))
4390         (declare (optimize (speed 2) (space 3) (safety 0)
4391                            (debug 1) (compilation-speed 3)))
4392         (if (if (<= 0) nil nil)
4393             (labels ((%f9 (f9-1 f9-2 f9-3)
4394                           (ignore-errors 0)))
4395               (dotimes (iv4 5 a) (%f9 0 0 b)))
4396           0)))
4397   1 2)
4398  0)
4399
4400;;; cmucl 11/2003
4401(deftest misc.250
4402  (funcall
4403   (compile
4404    nil
4405    '(lambda (a)
4406       (declare (type (integer -12 14) a))
4407       (declare        (optimize (speed 1) (space 2) (safety 1) (debug 1) (compilation-speed 3)))
4408       (let ((v6 0))
4409         (flet ((%f11
4410                 (f11-1
4411                  &optional
4412                  (f11-2
4413                   (case (catch 'ct7 0)
4414                     (t
4415                      (let* ((v2 (ignore-errors a)))
4416                        v6)))))
4417                 0))
4418           (%f11 0 0)))))
4419   5)
4420  0)
4421
4422;;; NIL is not of type C::CONTINUATION
4423;;; (C::MAYBE-CONVERT-TO-ASSIGNMENT
4424;;;  #<LAMBDA #x48A3031D
4425;;;     NAME= (FLET %F3
4426;;;             NIL)
4427;;;     TYPE= #<KERNEL::BUILT-IN-CLASS FUNCTION (read-only) {2803AE6D}>
4428;;;     WHERE-FROM= :DEFINED
4429;;;     VARS= (F3-1 F3-2 F3-3)>)
4430
4431(deftest misc.251
4432  (funcall
4433   (compile
4434    nil
4435    '(lambda (a b)
4436       (declare (type (integer -186585769 -7483) a))
4437       (declare (type (integer -550 524) b))
4438       (declare
4439        (optimize (speed 2) (space 1) (safety 1) (debug 2) (compilation-speed 3)))
4440       (flet ((%f3 (f3-1 f3-2 f3-3)
4441                   0))
4442         (%f3 0 0
4443              (flet ((%f13 (f13-1 f13-2)
4444                           0))
4445                (if (/= b a)
4446                    b
4447                  (deposit-field (%f3 0 b 0) (byte 0 0) (%f3 0 0 (%f13 0 0)))))))))
4448   -10000 0)
4449  0)
4450
4451;;; 8061593093 is not of type (INTEGER -2147483648 4294967295)
4452(deftest misc.252
4453  (funcall
4454   (compile
4455    nil
4456    '(lambda (b)
4457       (declare (type (integer -43443 9126488423) b))
4458       (declare (optimize (speed 3) (space 1) (safety 1) (debug 3) (compilation-speed 0)))
4459       (logand (setq b 8061593093) (min b 0))))
4460   0)
4461  0)
4462
4463(deftest misc.252a
4464  (funcall
4465   (compile
4466    nil
4467    '(lambda (a b)
4468       (declare (type (integer -30189 -6047) a))
4469       (declare (type (integer -10 16391481067) b))
4470       (declare (optimize (speed 3) (space 1) (safety 2) (debug 3)
4471                          (compilation-speed 0)))
4472       (if
4473           (<= 0
4474               (let ((*s1* (setq b 12204309028)))
4475                 (declare (special *s1*))
4476                 (truncate b)))
4477           a
4478         0)))
4479   -12618 16130777867)
4480  -12618)
4481
4482;;; #<C::ENTRY #x48DCC585> fell through ETYPECASE expression.
4483;;; Wanted one of (C::BASIC-COMBINATION C::EXIT C::CRETURN C::CSET C::CIF
4484;;;                (OR C::REF C:BIND)).
4485;;;    [Condition of type CONDITIONS::CASE-FAILURE]
4486;;;[...]
4487;;; (C::SUBSTITUTE-CONTINUATION #<Continuation c1> #<Continuation c2>)
4488
4489(deftest misc.253
4490  (funcall
4491   (compile
4492    nil
4493    '(lambda ()
4494       (declare (optimize (speed 2) (space 2) (safety 3) (debug 3) (compilation-speed 2)))
4495       (flet ((%f17 (f17-1) 0))
4496         (%f17 (logandc1 0 (catch 'ct2 0)))))))
4497  0)
4498
4499(deftest misc.253a
4500  (funcall
4501   (compile
4502    nil
4503    '(lambda (c)
4504       (declare (optimize (speed 1) (space 1) (safety 3) (debug 2)
4505                          (compilation-speed 1)))
4506       (labels ((%f1 (f1-1 f1-2)
4507                     (isqrt (abs (complex f1-1 0)))))
4508         (progn
4509           (/
4510            (multiple-value-call #'%f1
4511                                 (values (1- (restart-bind nil 1416182210))
4512                                         123337746))
4513            1)
4514           (tagbody)
4515           c))))
4516   -34661)
4517  -34661)
4518
4519;;; Wrong return value
4520(deftest misc.254
4521  (funcall
4522   (compile
4523    nil
4524    '(lambda (a)
4525       (declare (type (integer -5241 -1159) a))
4526       (declare (optimize (speed 3) (space 2) (safety 0) (debug 3) (compilation-speed 1)))
4527       (gcd a
4528            (let ((*misc.254* (setq a -4929)))  ;; special variable
4529              (declare (special *misc.254*))
4530              0))))
4531   -3000)
4532  3000)
4533
4534(deftest misc.255
4535  (funcall
4536   (compile
4537    nil
4538    '(lambda (b)
4539       (declare (type (integer -3474321 15089206) b))
4540       (declare (optimize (speed 3) (space 3) (safety 3) (debug 3) (compilation-speed 0)))
4541       (- b
4542          (block b3
4543            (setq b 9367613)
4544            0))))
4545   10)
4546  10)
4547
4548;;; clisp (20 Dec 2003)
4549;;; Bug involving tagbody and go in lexical function
4550
4551(deftest misc.256
4552  (funcall
4553   (compile
4554    nil
4555    '(lambda ()
4556       (declare (optimize (speed 3) (space 0) (safety 3) (debug 0) (compilation-speed 0)))
4557       (tagbody (flet ((%f6 () (go 18))) (%f6))
4558                18))))
4559  nil)
4560
4561;;; clisp (22 Dec 2003)
4562;;; *** - Compiler bug!! Occurred in ACCESS-IN-STACK at STACKZ-END.
4563
4564(deftest misc.257
4565  (funcall
4566   (compile
4567    nil
4568    '(lambda ()
4569       (declare (optimize (speed 1) (space 2) (safety 3) (debug 3) (compilation-speed 1)))
4570       (declare (special b))
4571       (tagbody (flet ((%f1 (f1-1)
4572                            (flet ((%f9 (&optional (f9-1 b) (f9-2 (go tag2)) (f9-3 0)) 0))
4573                              (%f9 0 0 0))))
4574                  (%f1 0))
4575                tag2))))
4576  nil)
4577
4578;;; clisp (26 Dec 2003)
4579;;; PROGV binding is not having the correct effect in compiled code
4580
4581(deftest misc.258
4582  (funcall
4583   (compile
4584    nil
4585    '(lambda ()
4586       (declare (optimize (speed 1) (space 2) (safety 1) (debug 1)
4587                          (compilation-speed 0)))
4588       (let ((*s4* :right))
4589         (declare (special *s4*))
4590         (progv '(*s4*) (list :wrong1) (setq *s4* :wrong2))
4591         *s4*))))
4592  :right)
4593
4594;;; sbcl 0.8.7.5
4595;;; The value 215067723 is not of type (INTEGER 177547470 226026978).
4596
4597(deftest misc.259
4598  (funcall
4599   (compile
4600    nil
4601    '(lambda (a)
4602         (declare (type (integer 177547470 226026978) a))
4603         (declare (optimize (speed 3) (space 0) (safety 0) (debug 0)
4604                            (compilation-speed 1)))
4605         (logand a (* a 438810))))
4606   215067723)
4607  13739018)
4608
4609(deftest misc.260
4610  (funcall
4611   (compile
4612    nil
4613    '(lambda (a)
4614         (declare (type (integer 43369342 45325981) a))
4615         (declare (optimize (speed 2) (space 0) (safety 2)
4616                            (debug 0) (compilation-speed 3)))
4617         (logand 0 (* 5459177 a))))
4618   44219966)
4619  0)
4620
4621(deftest misc.261
4622  (funcall
4623   (compile
4624    nil
4625    '(lambda (b)
4626         (declare (type (integer 379442022 806547932) b))
4627         (declare (optimize (speed 2) (space 0) (safety 0)
4628                            (debug 3) (compilation-speed 2)))
4629         (logand b (* 227 b))))
4630   551173513)
4631  545263625)
4632
4633(deftest misc.262
4634  (funcall
4635   (compile
4636    nil
4637    '(lambda (a)
4638       (declare (type (integer 515644 54674673) a))
4639       (declare (optimize (speed 3) (space 2) (safety 3)
4640                          (debug 0) (compilation-speed 1)))
4641       (mask-field (byte 0 0) (* 613783109 a))))
4642   28831407)
4643  0)
4644
4645(deftest misc.263
4646  (funcall
4647   (compile
4648    nil
4649    '(lambda (a)
4650       (declare (type (integer 862944 60462138) a))
4651       (declare (optimize (speed 3) (space 3) (safety 0)
4652                          (debug 1) (compilation-speed 1)))
4653       (logandc2 0 (* a 18094747))))
4654   36157847)
4655  0)
4656
4657(deftest misc.264
4658  (funcall
4659   (compile
4660    nil
4661    '(lambda (a)
4662       (declare (type (integer 896520522 1249309734) a))
4663       (declare (optimize (speed 3) (space 3) (safety 1)
4664                          (debug 1) (compilation-speed 2)))
4665       (lognand 0 (* a 1381212086))))
4666   1202966173)
4667  -1)
4668
4669;;; sbcl 0.8.7.6
4670;;; Lisp error during constant folding:
4671;;; The function SB-VM::%LEA-MOD32 is undefined.
4672
4673(deftest misc.265
4674  (funcall
4675   (compile
4676    nil
4677    '(lambda (a)
4678       (declare (type (integer -19621 11895) a))
4679       (declare (optimize (speed 3) (space 2) (safety 3)
4680                          (debug 3) (compilation-speed 3)))
4681       (* 0 a 103754)))
4682   1)
4683  0)
4684
4685;;; ecl (10 jan 2004)
4686;;; A bug was found in the compiler.  Contact worm@arrakis.es.
4687;;; Broken at C::C2GO.
4688
4689(deftest misc.266
4690  (funcall
4691   (compile
4692    nil
4693    '(lambda ()
4694       (tagbody
4695        (flet ((%f (x) :bad)) (multiple-value-call #'%f (go done)))
4696        done))))
4697  nil)
4698
4699(deftest misc.266a
4700  (funcall
4701   (compile
4702    nil
4703    '(lambda (b)
4704       (declare (type (integer -14356828946432 -24266) b))
4705       (declare (optimize (speed 3) (space 1) (safety 1) (debug 3)
4706                          (compilation-speed 2)))
4707       (progn (tagbody (unwind-protect 0 (go 3)) 3) b)))
4708   -30000)
4709  -30000)
4710
4711;;; Broken at C::C2VAR.
4712(deftest misc.266b
4713  (funcall
4714   (compile
4715    nil
4716    '(lambda (b)
4717       (declare (optimize (speed 2) (space 3) (safety 2) (debug 0)
4718                          (compilation-speed 0)))
4719       (unwind-protect 0 (catch 'ct7 (prog1 b 0)))))
4720   1)
4721  0)
4722
4723;;; Incorrect return value
4724
4725(deftest misc.267
4726  (locally (declare (special *s5*))
4727           (let ((v8 (progv '(*s5*) (list 0) (if t *s5* *s5*))))
4728             v8))
4729  0)
4730
4731(deftest misc.267a
4732  (let ((x (progv nil nil 0))) x)
4733  0)
4734
4735(deftest misc.268
4736  (funcall
4737   (compile
4738    nil
4739    '(lambda ()
4740       (declare (optimize (speed 1) (space 1) (safety 3) (debug 2)
4741                          (compilation-speed 2)))
4742       (catch 'ct7
4743         (rationalize (let ((v9 (1+ (throw 'ct7 0)))) 48955))))))
4744  0)
4745
4746(deftest misc.269
4747  (funcall
4748   (compile
4749    nil
4750    '(lambda (a)
4751       (declare (type (integer -1 20) a))
4752       (declare (optimize (speed 3) (space 1) (safety 2) (debug 2)
4753                          (compilation-speed 3)))
4754       (if (if a (logbitp 34 a) nil) 0 -230678)))
4755   14)
4756  -230678)
4757
4758(deftest misc.270
4759  (let ((*s3* (dotimes (iv4 0 10) (if t iv4 8))))
4760    (declare (special *s3*))
4761    *s3*)
4762  10)
4763
4764(deftest misc.271
4765  (let ((v2 (unwind-protect 0))) v2)
4766  0)
4767
4768;;; wrong number of values passed to anonymous function
4769
4770(deftest misc.272
4771  (funcall
4772   (compile
4773    nil
4774    '(lambda ()
4775       (declare (optimize (speed 3) (space 1) (safety 0) (debug 3)
4776                          (compilation-speed 2)))
4777       (flet ((%f17 (f17-1) 1))
4778         (multiple-value-call #'%f17 (values (floor 0)))))))
4779  1)
4780
4781;;; clisp (10 jan 2004)
4782;;; Improper handling of a jump to an exit point from unwind-protect
4783;;; (see CLHS section 5.2)
4784
4785(deftest misc.273
4786  (funcall
4787   (compile
4788    nil
4789    '(lambda (d)
4790       (declare (optimize (speed 3) (space 0) (safety 3)
4791                          (debug 2) (compilation-speed 0)))
4792       (gcd 39
4793            (catch 'ct2
4794              (block b7
4795                (throw 'ct2
4796                       (unwind-protect
4797                           (return-from b7 17)
4798                         (return-from b7
4799                           (progv '(*s6*) (list 31) d))
4800                         )))))))
4801   65)
4802  13)
4803
4804;;; sbcl 0.8.7.13
4805;;; Lexical unwinding of UVL stack is not implemented.
4806
4807(deftest misc.274
4808  (funcall
4809   (compile
4810    nil
4811    '(lambda ()
4812       (declare
4813        (optimize (speed 2)
4814                  (space 2)
4815                  (safety 1)
4816                  (debug 2)
4817                  (compilation-speed 0)))
4818       (multiple-value-prog1
4819        (ignore-errors 0)
4820        0
4821        (catch 'ct7 0)
4822        (catch 'ct1
4823          (catch 'ct4
4824            (complex (throw 'ct4 (dotimes (iv4 0 0) (throw 'ct1 0))) 0)))))))
4825  0)
4826
4827(deftest misc.274a
4828  (funcall
4829   (compile
4830    nil
4831    '(lambda ()
4832         (declare (optimize (speed 3) (space 1) (safety 3)
4833                            (debug 1) (compilation-speed 3)))
4834         (dotimes (iv4 3 0)
4835           (apply (constantly 0)
4836                  0
4837                  (catch 'ct2 (throw 'ct2 (rem 0 (max 46 0))))
4838                  nil)))))
4839  0)
4840
4841
4842;;;  failed AVER: "SUCC"
4843
4844(deftest misc.275
4845  (funcall
4846   (compile
4847    nil
4848    '(lambda (b)
4849       (declare (notinline funcall min coerce))
4850       (declare
4851        (optimize (speed 1)
4852                  (space 2)
4853                  (safety 2)
4854                  (debug 1)
4855                  (compilation-speed 1)))
4856       (flet ((%f12 (f12-1)
4857                    (coerce
4858                     (min
4859                      (if f12-1 (multiple-value-prog1
4860                                 b (return-from %f12 0))
4861                        0))
4862                     'integer)))
4863         (funcall #'%f12 0))))
4864   -33)
4865  0)
4866
4867(deftest misc.275a
4868  (funcall
4869   (compile
4870    nil
4871    '(lambda ()
4872       (declare (optimize (speed 2) (space 0) (safety 2)
4873                          (debug 1) (compilation-speed 1)))
4874       (block b4
4875         (coerce
4876          (logcount
4877           (if t 0 (multiple-value-prog1 (identity 0) (return-from b4 0))))
4878          'integer)))))
4879  0)
4880
4881;;; clisp (28 Jan 2004)
4882;;; Different return values
4883
4884(deftest misc.276
4885  (funcall
4886   (compile
4887    nil
4888    `(lambda (b)
4889       (declare (optimize (speed 2) (space 0) (safety 0)
4890                          (debug 3) (compilation-speed 3)))
4891       (labels
4892           ((%f2 ()
4893                 (let ((v10 (progn (dotimes (iv2 0 0) iv2)
4894                                   b)))
4895                   (unwind-protect b (labels ((%f6 ())) (%f6))
4896                                   ))))
4897         (%f2))))
4898   :good)
4899  :good)
4900
4901;;; Lispworks 4.3 linux (personal edition)
4902
4903;;; Error: In - of (1 NIL) arguments should be of type NUMBER
4904(deftest misc.277
4905  (funcall
4906   (compile
4907    nil
4908    '(lambda ()
4909       (declare (optimize (speed 3) (space 1) (safety 0)
4910                          (debug 3) (compilation-speed 0)))
4911       (labels ((%f15 (&optional (f15-3
4912                                  (tagbody (labels ((%f6 () (go tag1))) (%f6)) tag1)))
4913                      0))
4914         (%f15)))))
4915  0)
4916
4917;;; incorrect return value
4918(deftest misc.278
4919  (funcall
4920   (compile
4921    nil
4922    '(lambda ()
4923       (declare (optimize (speed 1) (space 0) (safety 2) (debug 3)
4924                          (compilation-speed 0)))
4925       (catch 'ct5 (flet ((%f2 (&optional (f2-4 (throw 'ct5 0))) 1))
4926                     (%f2 (%f2 0)))))))
4927  1)
4928
4929;;; incorrect return value
4930(deftest misc.279
4931  (funcall
4932   (compile
4933    nil
4934    '(lambda ()
4935       (declare (optimize (speed 1) (space 1) (safety 3) (debug 0) (compilation-speed 3)))
4936       (flet ((%f10 ()
4937                    (if (< 0 (dotimes (iv2 1 -501162)))
4938                        0 -14)))
4939         (%f10)))))
4940  -14)
4941
4942;;; incorrect return value (may be same bug as misc.278)
4943(deftest misc.280
4944  (funcall
4945   (compile
4946    nil
4947    '(lambda (a)
4948       (declare (optimize (speed 1) (space 3) (safety 1) (debug 3) (compilation-speed 2)))
4949       (catch 'ct6
4950         (labels ((%f12 ()
4951                        (labels ((%f14 (&optional (f14-3 (return-from %f12 5))) 4))
4952                          (funcall (constantly 3)
4953                                   (let ((v2 (%f14))) 2)
4954                                   (throw 'ct6 1)
4955                                   ))))
4956           (%f12)
4957           a))))
4958   :good)
4959  :good)
4960
4961;;; incorrect return value
4962(deftest misc.281
4963  (funcall
4964   (compile
4965    nil
4966    '(lambda (c)
4967       (declare (optimize (speed 3) (space 3) (safety 3) (debug 2) (compilation-speed 3)))
4968       (ldb (byte 24 0) c)))
4969   -227016367797)
4970  12919115)
4971
4972;;; gcl: Error in COMPILER::CMP-ANON [or a callee]: The function COMPILER::LDB1 is undefined.
4973(deftest misc.282
4974  (funcall (compile nil '(lambda () (declare (optimize safety))
4975                           (ldb (byte 13 13) 43710))))
4976  5)
4977
4978;;; gcl (2/28/2004)
4979;;; Error in COMPILER::CMP-ANON [or a callee]: T is not of type INTEGER.
4980(deftest misc.283
4981  (funcall
4982   (compile
4983    nil
4984    '(lambda (b d)
4985       (declare (optimize (speed 2) (space 2) (safety 1) (compilation-speed 3)))
4986       (expt (logxor (progn
4987                       (tagbody
4988                        (multiple-value-prog1 0 (go 7))
4989                        7)
4990                       0)
4991                     0 b
4992                     (rational d))
4993             0)))
4994   2 4)
4995  1)
4996
4997;;; Error in COMPILER::CMP-ANON [or a callee]: 3 is not of type FUNCTION.
4998;;; (possibly the same bug as misc.283)
4999(deftest misc.284
5000  (funcall
5001   (compile
5002    nil
5003    '(lambda (c)
5004       (declare (optimize (speed 1) (space 1) (safety 2) (debug 3)
5005                          (compilation-speed 2)))
5006       (progn
5007         (tagbody
5008          (multiple-value-prog1 0 (go tag2))
5009          0
5010          tag2)
5011         (funcall (constantly 0)
5012                  (apply (constantly 0) (signum c) nil)))))
5013   3)
5014  0)
5015
5016;;; ecl 29 Feb 2004
5017;;; Incorrect constant propagation
5018(deftest misc.285
5019  (funcall
5020   (compile
5021    nil
5022    '(lambda (a)
5023       (declare (optimize (speed 2) (space 0) (safety 0) (debug 2)
5024                          (compilation-speed 3)))
5025       (block b7 (let* ((v1 (* (return-from b7 0) a))) -4359852))))
5026   1)
5027  0)
5028
5029(deftest misc.286
5030  (let ((v4 (dotimes (iv4 0 18494910) (progn 0)))) v4)
5031  18494910)
5032
5033;;; gcl (found by Camm)
5034;;; Error in COMPILER::CMP-ANON [or a callee]: The function NIL is undefined.
5035(deftest misc.287
5036  (funcall
5037   (compile
5038    nil
5039    '(lambda (e)
5040       (declare (optimize (speed 1) (space 3) (safety 3) (debug 3)
5041                          (compilation-speed 1)))
5042       (flet ((%f11 (f11-2) 0))
5043         (%f11 (unwind-protect
5044                   e
5045                 (tagbody
5046                  (let* ((v4 (unwind-protect (go 0)))) 0)
5047                  0)
5048                 (logand (handler-bind () 0)))))))
5049   10)
5050  0)
5051
5052#|
5053ecl (6 Mar 2004)
5054(LAMBDA (C::LOC1 C::LOC2) (IF (AND (CONSP C::LOC1)
5055                                   (EQ (CAR C::LOC1) 'FIXNUM)
5056                                   (CONSP (CADR C::LOC1))
5057                                   (EQ (CAADR C::LOC1) 'C::FIXNUM-VALUE)
5058                                   (EQ (CADR (CADR C::LOC1)) 2))
5059                              (PROGN (C::WT1 "(1<<(")
5060                                     (C::WT1 C::LOC2) (C::WT1 "))"))
5061                              (PROGN (C::WT1 "fixnum_expt(")
5062                                     (C::WT1 C::LOC1)
5063                                     (C::WT1 #\,)
5064                                     (C::WT1 C::LOC2)
5065                                     (C::WT1 #\)))))
5066is not of type STRING.
5067Broken at C::WT-C-INLINE-LOC.
5068|#
5069
5070(deftest misc.288
5071  (funcall
5072   (compile
5073    nil
5074    '(lambda ()
5075       (declare (optimize (speed 1) (space 2) (safety 3) (debug 3)
5076                          (compilation-speed 2)))
5077       (let ((v2 (integer-length (expt 0 0))))
5078         (dotimes (iv4 0 0) (logand v2))))))
5079  0)
5080
5081;;; cmucl
5082;;; wrong return value
5083
5084(deftest misc.289
5085  (funcall
5086   (compile
5087    nil
5088    '(lambda (b)
5089       (declare (optimize (speed 3) (space 1) (safety 1) (debug 2)
5090                          (compilation-speed 2)))
5091       (multiple-value-prog1 (apply (constantly 0) b 0 0 nil)
5092                             (catch 'ct8 (throw 'ct8 -2)))))
5093   1)
5094  0)
5095
5096;;; sbcl (0.8.8.23.stack.1)
5097;;; failed AVER: "(TAILP BLOCK2-STACK BLOCK1-STACK)"
5098
5099(deftest misc.290
5100  (funcall
5101   (compile
5102    nil
5103    '(lambda ()
5104       (declare
5105        (optimize (speed 3) (space 3) (safety 1)
5106                  (debug 2) (compilation-speed 0)))
5107       (apply (constantly 0) (catch 'ct2 0) 0 (catch 'ct2 0) nil))))
5108  0)
5109
5110(deftest misc.290a
5111  (funcall
5112   (compile
5113    nil
5114    '(lambda ()
5115       (declare (optimize (speed 2) (space 1) (safety 0)
5116                          (debug 0) (compilation-speed 0)))
5117       (boole boole-nor
5118              (expt
5119               (let ((v2 (expt (catch 'ct7 0) 0)))
5120                 0)
5121               0)
5122              (expt (apply (constantly 0) 0 0 (catch 'ct6 0) nil) 0)))))
5123  -2)
5124
5125;; Allegro CL 6.2 (14 Mar 2004) interpreter bug
5126;; Error: Cannot go to TAG, its body has been exited.
5127
5128(deftest misc.291
5129  (funcall
5130   #'(lambda (a)
5131       (declare (notinline numerator))
5132       (declare (optimize (speed 2) (space 3) (safety 2) (debug 0)
5133                          (compilation-speed 2)))
5134       (tagbody (tagbody (progn a) tag)
5135                (go tag)
5136                tag))
5137   17)
5138  nil)
5139
5140;;; sbcl 0.8.8.23.stack.2
5141;;; The value -1 is not of type (MOD 536870911).
5142
5143(deftest misc.292
5144  (funcall
5145   (compile
5146    nil
5147    '(lambda (a b c)
5148       (declare
5149        (optimize (speed 3) (space 2) (safety 3) (debug 0)
5150                  (compilation-speed 1)))
5151       (flet ((%f15 (f15-1 f15-2 f15-3)
5152                    (apply (constantly 0)
5153                           0
5154                           0
5155                           (ignore-errors
5156                             (let ((v10 (apply (constantly 0)
5157                                               b a (max 0 c) nil)))
5158                               0))
5159                           nil)))
5160         (flet ((%f14 (f14-1 &optional (f14-2 b) (f14-3 0) (f14-4 0))
5161                      (%f15 0 0 b)))
5162           (%f14 0 c)))))
5163   1 2 3)
5164  0)
5165
5166(deftest misc.292a
5167  (funcall
5168   (compile
5169    nil
5170    '(lambda (a b)
5171       (declare (optimize (speed 2) (space 0) (safety 3) (debug 1)
5172                          (compilation-speed 2)))
5173       (apply (constantly 0)
5174              a
5175              0
5176              (catch 'ct6
5177                (apply (constantly 0)
5178                       0
5179                       0
5180                       (let* ((v1
5181                               (let ((*s7* 0))
5182                                 b)))
5183                         0)
5184                       0
5185                       nil))
5186              0
5187              nil)))
5188   1 2)
5189  0)
5190
5191;;; failed AVER: "(NOT (MEMQ PUSH END-STACK))"
5192
5193(deftest misc.293
5194  (funcall
5195   (compile
5196    nil
5197    '(lambda (a)
5198       (declare (optimize (speed 2) (space 1) (safety 3) (debug 3)
5199                          (compilation-speed 3)))
5200       (let ((v6
5201              (labels ((%f9 (f9-1)
5202                            (multiple-value-prog1 0 (return-from %f9 0) a)))
5203                (let ((*s4* (%f9 0)))
5204                  0))))
5205         0)))
5206   1)
5207  0)
5208
5209(deftest misc.293a
5210  (funcall
5211   (compile
5212    nil
5213    '(lambda (a b c)
5214       (declare (optimize (speed 2) (space 3) (safety 1)
5215                          (debug 2) (compilation-speed 2)))
5216       (block b6
5217         (multiple-value-prog1
5218          0 b 0
5219          (catch 'ct7
5220            (return-from b6
5221              (catch 'ct2
5222                (complex (cl::handler-bind nil -254932942) 0))))))))
5223   1 2 3)
5224  -254932942)
5225
5226(deftest misc.293b
5227  (funcall
5228   (compile
5229    nil
5230    '(lambda ()
5231       (declare (notinline complex))
5232       (declare (optimize (speed 1) (space 0) (safety 1)
5233                          (debug 3) (compilation-speed 3)))
5234       (flet ((%f () (multiple-value-prog1 0 (return-from %f 0))))
5235         (complex (%f) 0)))))
5236  0)
5237
5238(deftest misc.293c
5239  (funcall
5240   (compile
5241    nil
5242    '(lambda (a b)
5243           (declare (type (integer -6556 -33) a))
5244           (declare (type (integer -1973908574551 1125) b))
5245           (declare (ignorable a b))
5246           (declare
5247            (optimize (compilation-speed 0)
5248                      (space 2)
5249                      (safety 0)
5250                      (debug 2)
5251                      (speed 0)
5252                      #+sbcl (sb-c:insert-step-conditions 0)
5253                      ))
5254           (block b4
5255             (multiple-value-prog1 0
5256               (catch 'ct7 (return-from b4 (catch 'ct6 (if a 0 b))))
5257               0
5258               0))))
5259   -237 -1365751422718)
5260  0)
5261
5262(deftest misc.293d
5263  (funcall
5264   (compile
5265    nil
5266    '(lambda ()
5267       (declare (optimize (debug 3) (safety 0) (space 2)
5268                          (compilation-speed 2) (speed 2)))
5269       (block b4
5270              (multiple-value-prog1
5271               0
5272               (catch 'ct8
5273                 (return-from b4 (catch 'ct2 (progn (tagbody) 0)))))))))
5274  0)
5275   
5276
5277;;; failed AVER: "(SUBSETP START START-STACK)"
5278
5279(deftest misc.294
5280  (funcall
5281   (compile
5282    nil
5283    '(lambda (a b c)
5284       (declare (notinline /=))
5285       (declare (optimize (speed 2) (space 0) (safety 1)
5286                          (debug 0)(compilation-speed 1)))
5287         (catch 'ct1
5288           (flet ((%f1 (f1-1 f1-2 f1-3)
5289                    (throw 'ct1
5290                      (if (/= 0) 0 (multiple-value-prog1
5291                                    0 (throw 'ct1 a) c)))))
5292             (let ((*s3* (%f1 a a 0)))
5293               0)))))
5294   1 2 3)
5295  0)
5296
5297(deftest misc.294a
5298  (funcall
5299   (compile
5300    nil
5301    '(lambda (a b c)
5302       (declare (notinline expt))
5303       (declare (optimize (speed 1) (space 2) (safety 3)
5304                          (debug 0) (compilation-speed 0)))
5305       (catch 'ct2
5306         (expt
5307          (catch 'ct2
5308            (throw 'ct2 (if a 0 (multiple-value-prog1 0 (throw 'ct2 c) 0))))
5309          0))))
5310   1 2 3)
5311  1)
5312
5313;;;  The value NIL is not of type SB-C::IR2-BLOCK.
5314
5315(deftest misc.295
5316  (funcall
5317   (compile
5318    nil
5319    '(lambda (a b c)
5320       (declare (type (integer -2858 1050811) a))
5321       (declare (type (integer -419372 1395833) b))
5322       (declare (type (integer -4717708 795706) c))
5323       (declare (ignorable a b c))
5324       (declare
5325        (optimize (speed 1)
5326                  (space 0)
5327                  (safety 2)
5328                  (debug 1)
5329                  (compilation-speed 2)))
5330       (multiple-value-prog1
5331        (the integer
5332          (catch 'ct8
5333            (catch 'ct5
5334              (catch 'ct7
5335                (flet ((%f3 (f3-1 f3-2 &optional (f3-3 a) (f3-4 c)) b))
5336                  (labels ((%f13 (f13-1 f13-2 f13-3)
5337                                 (let* ((*s4*
5338                                         (return-from %f13
5339                                           (flet ((%f18 (f18-1 f18-2)
5340                                                        (apply #'%f3
5341                                                               (progv nil nil f13-2)
5342                                                               (list (%f3 -460 f18-1 10095 352819651)))))
5343                                             (flet ((%f5 ()
5344                                                         (funcall #'%f3
5345                                                                  f13-2
5346                                                                  (flet ((%f14 (f14-1 f14-2 &optional (f14-3 f13-2) (f14-4 -15))
5347                                                                               160080387))
5348                                                                    -196377)
5349                                                                  (isqrt
5350                                                                   (abs
5351                                                                    (if        (/= 117 (%f18 -14 -46574))
5352                                                                        (return-from
5353                                                                            %f13
5354                                                                          (ignore-errors
5355                                                                            (flet ((%f12 (f12-1 f12-2 &optional (f12-3 740148786)
5356                                                                                                (f12-4 -20)
5357                                                                                                (f12-5 -35261))
5358                                                                                         f12-3))
5359                                                                              (%f3
5360                                                                               (%f3 b (%f12 c b f13-3 f13-1 -1124))
5361                                                                               0
5362                                                                               -1003264058
5363                                                                               f13-1))))
5364                                                                      (block b3 (labels ((%f15 () f13-2))  -4858377)))))
5365                                                                  (%f3 793 f13-2 f13-3 a))))
5366                                               f13-3)))))
5367                                   (* -420793
5368                                      (%f3 (%f3 f13-1 f13-3 f13-3 f13-2) 0 8604 f13-1)))))
5369                    (lognor
5370                     (progv nil nil
5371                       (if (< -16 c)
5372                           15867134
5373                         (-
5374                          (throw 'ct5
5375                                 (prog1 7
5376                                   (floor
5377                                    (max (%f13 -4862 -888 -53824112) a -17974 1540006)
5378                                    (min -74 -473379)))))))
5379                     (progv nil nil (prog1 b 22 c a)))))))))
5380        (catch 'ct1 (throw 'ct1 0))
5381        0)))
5382   794801 211700 -1246335)
5383  7)
5384
5385;;; Tests added by Camm for gcl
5386
5387(deftest misc.296
5388  (funcall
5389   (compile
5390    nil
5391    '(lambda (a b c d e f g h)
5392          (declare (type (integer -2016726144 234357120) a))
5393          (declare (type (integer -10569521299456 -1307998945280) b))
5394          (declare (type (integer -45429002240 -17228484608) c))
5395          (declare (type (integer 228451840 1454976512) d))
5396          (declare (type (integer -4797 -2609) e))
5397          (declare (type (integer -21 36300536) f))
5398          (declare (type (integer -15983530 31646604) g))
5399          (declare (type (integer -208720272 -357) h))
5400          (declare (ignorable a b c d e f g h))
5401          (declare (optimize (speed 1) (space 3) (safety 3) (debug 0)
5402                       (compilation-speed 3)))
5403          (expt (labels ((%f14 (f14-1 f14-2)
5404                               (progn
5405                                 (tagbody
5406                                   (+
5407                                    (unwind-protect
5408                                      (labels ((%f1 (f1-1) (go tag1)))
5409                                        (let ((*s6* (%f1 d))) 0))))
5410                                   tag1
5411                                   (+
5412                                    (cl::handler-bind ()
5413                                      (if (<= -11215713 -819)
5414                                       (integer-length
5415                                        (floor (conjugate f14-1)
5416                                         (max 12
5417                                          (ceiling
5418                                           (block b2
5419                                             (catch 'ct2
5420                                               (ignore-errors
5421                                                (flet
5422                                                 ((%f13 (f13-1)
5423                                                   (logior 87 f14-2)))
5424                                                  f14-1))))))))
5425                                       (progv '(*s8*) (list 472865632)
5426                                         *s8*)))))
5427                                 0)))
5428                  (%f14 0 0))
5429                0)))
5430   -28594854 -3859203606860 -40757449218 894599577 -4163 11621230
5431   29558853 -92216802)
5432  1)
5433
5434
5435(deftest misc.297
5436  (funcall
5437   (compile
5438    nil
5439    '(lambda (a b c d e f g h)
5440          (declare (type (integer -4354712743936 666241234) a))
5441          (declare (type (integer -23496787232 13342697120) b))
5442          (declare (type (integer -6834570 6274788) c))
5443          (declare (type (integer -1988742 -250650) d))
5444          (declare (type (integer 10523345 10868247) e))
5445          (declare (type (integer -489185 -46267) f))
5446          (declare (type (integer -627627253760 226529) g))
5447          (declare (type (integer -1039260485 -22498) h))
5448          (declare (ignorable a b c d e f g h))
5449          (declare (optimize (speed 1) (space 3) (safety 2) (debug 2)
5450                       (compilation-speed 0)))
5451          (labels ((%f7 (f7-1 f7-2 f7-3 &optional (f7-4 0) (f7-5 0)
5452                              (f7-6 (labels
5453                                     ((%f6 (f6-1)
5454                                       (labels ((%f9 (f9-1) 0))
5455                                         (progn
5456                                           (tagbody
5457                                             (unwind-protect
5458                                               (if (%f9 (go tag4)) 0 0))
5459                                             tag4
5460                                             (cl::handler-case
5461                                              0))
5462                                           h))))
5463                                      (apply #'%f6 0 nil))))
5464                        0))
5465            (%f7 0 d 0 f d))))
5466    -4319330882538 -3195059121 -2799927 -1466395 10630639 -224479
5467    -502579707077 -985908422)
5468   0)
5469
5470(deftest misc.298
5471  (funcall
5472   (compile
5473    nil
5474    '(lambda (a b c d e f g h)
5475          (declare (type (integer 1296736620544 1680954654720) a))
5476          (declare (type (integer -2 -2) b))
5477          (declare (type (integer 1 42303) c))
5478          (declare (type (integer -38881008000 1333202563072) d))
5479          (declare (type (integer -435684 1289298) e))
5480          (declare (type (integer -164302654464 -10150328832) f))
5481          (declare (type (integer 30759259904 38429537792) g))
5482          (declare (type (integer -1628949299200 -47724342) h))
5483          (declare (ignorable a b c d e f g h))
5484          (declare (optimize (speed 3) (space 1) (safety 0) (debug 0)
5485                       (compilation-speed 1)))
5486          (progn
5487            (tagbody
5488              (let ((v9 (unwind-protect (go 0)))) 0)
5489              0
5490              (numerator (funcall (constantly 0) (logorc2 0 0) 0)))
5491            0)))
5492   1451922002679 -2 285 1067997670626 1115209 -37445463114
5493         36530345360 -80501559891)
5494   0)
5495
5496(deftest misc.299
5497  (funcall
5498   (compile
5499    nil
5500    '(lambda (a b c d e f g h)
5501          (declare (type (integer -1814 3348) a))
5502          (declare (type (integer -32239015 12) b))
5503          (declare (type (integer 128412 101411593) c))
5504          (declare (type (integer -329076792320 -22) d))
5505          (declare (type (integer 77651198 86069496) e))
5506          (declare (type (integer -4616 3453771) f))
5507          (declare (type (integer -14889981824 53610580608) g))
5508          (declare (type (integer -1049733788 46605484288) h))
5509          (declare (ignorable a b c d e f g h))
5510          (declare (optimize (speed 2) (space 1) (safety 3) (debug 2)
5511                       (compilation-speed 2)))
5512          (conjugate
5513              (progn
5514                (tagbody
5515                  (flet ((%f3 nil 0))
5516                    (unwind-protect
5517                      (flet ((%f10 (f10-1) (let ((*s6* (%f3))) (go 6))))
5518                        (funcall #'%f10 f))))
5519                  6
5520                  (let ((*s1* (restart-bind ()
5521                                (labels ((%f1 (f1-1) 3136))
5522                                  (let ()
5523                                    (progv '(*s5* *s1*)
5524                                     (list
5525                                      (labels
5526                                       ((%f2 nil (catch 'ct8 -11)))
5527                                        -70941710)
5528                                      (if nil (%f1 -1) 87))
5529                                      (progn
5530                                        (tagbody
5531                                          (%f1 *s1*)
5532                                          3
5533                                          (block b2 (progn a))
5534                                          tag3)
5535                                        h)))))))
5536                    0))
5537                0))))
5538   1555 -22062210 85224215 -161218251003 78463284 730073
5539   33930166854 37839245921)
5540   0)
5541
5542(deftest misc.300
5543  (funcall
5544   (compile
5545    nil
5546    '(lambda (a b c d e f g h)
5547          (declare (type (integer -29429 -3320) a))
5548          (declare (type (integer -407874593 279639852) b))
5549          (declare (type (integer -542849760256 3344389718016) c))
5550          (declare (type (integer -2 12012755) d))
5551          (declare (type (integer -248 -228) e))
5552          (declare (type (integer 5 15636824592) f))
5553          (declare (type (integer 21039 21595) g))
5554          (declare (type (integer -1867743555584 -1621183025152) h))
5555          (declare (ignorable a b c d e f g h))
5556          (declare (optimize (speed 1) (space 3) (safety 1) (debug 2)
5557                       (compilation-speed 3)))
5558          (labels ((%f12 (f12-1 f12-2 f12-3) 0))
5559            (labels ((%f17 (f17-1)
5560                           (progn
5561                             (tagbody
5562                               (max (apply (constantly 0)
5563                                     (list
5564                                      (%f12 (unwind-protect (go tag1))
5565                                       0 d)
5566                                      0 f)))
5567                               tag1
5568                               (dpb (realpart
5569                                     (expt
5570                                      (round
5571                                       (return-from %f17
5572                                         (restart-bind ()
5573                                           (complex e 0)))
5574                                       (max 40 0))
5575                                      0))
5576                                    (byte 0 0) 0))
5577                             0)))
5578              (%f12 0 (%f17 0) 0)))))
5579   -6416 -274982013 2946309248013 1724720 -228 5782683458 21484
5580   -1681168611256)
5581  0)
5582
5583
5584(deftest misc.301
5585  (funcall
5586   (compile
5587    nil
5588    '(lambda (a b c d e f g h)
5589          (declare (type (integer -1814 3348) a))
5590          (declare (type (integer -32239015 12) b))
5591          (declare (type (integer 128412 101411593) c))
5592          (declare (type (integer -329076792320 -22) d))
5593          (declare (type (integer 77651198 86069496) e))
5594          (declare (type (integer -4616 3453771) f))
5595          (declare (type (integer -14889981824 53610580608) g))
5596          (declare (type (integer -1049733788 46605484288) h))
5597          (declare (ignorable a b c d e f g h))
5598          (declare (optimize (speed 2) (space 1) (safety 3) (debug 2)
5599                       (compilation-speed 2)))
5600          (conjugate
5601              (progn
5602                (tagbody
5603                  (flet ((%f3 nil 0))
5604                    (unwind-protect
5605                      (flet ((%f10 (f10-1) (let ((*s6* (%f3))) (go 6))))
5606                        (funcall #'%f10 f))))
5607                  6
5608                  (let ((*s1* (restart-bind ()
5609                                (labels ((%f1 (f1-1) 3136))
5610                                  (let ()
5611                                    (progv '(*s5* *s1*)
5612                                     (list
5613                                      (labels
5614                                       ((%f2 nil (catch 'ct8 -11)))
5615                                        -70941710)
5616                                      (if nil (%f1 -1) 87))
5617                                      (progn
5618                                        (tagbody
5619                                          (%f1 *s1*)
5620                                          3
5621                                          (block b2 (progn a))
5622                                          tag3)
5623                                        h)))))))
5624                    0))
5625                0))))
5626   1555 -22062210 85224215 -161218251003 78463284 730073
5627   33930166854 37839245921)
5628  0)
5629
5630(deftest misc.302
5631  (funcall
5632   (compile
5633    nil
5634    '(lambda (a b c d e f g h)
5635          (declare (type (integer -206837809920 -126404559104) a))
5636          (declare (type (integer -277874608640 -63724432) b))
5637          (declare (type (integer -2 0) c))
5638          (declare (type (integer -5992710 9946878) d))
5639          (declare (type (integer -4345390743552 -76504514048) e))
5640          (declare (type (integer -330 3826137) f))
5641          (declare (type (integer -517792898560 -1193868) g))
5642          (declare (type (integer 2018 98092396) h))
5643          (declare (ignorable a b c d e f g h))
5644          (declare (optimize (speed 2) (space 2) (safety 2) (debug 1)
5645                       (compilation-speed 1)))
5646          (flet ((%f12 (f12-1 f12-2 &optional (f12-3 0)
5647                              (f12-4 (progn
5648                                       (tagbody
5649                                         (unwind-protect (go tag6))
5650                                         tag6)
5651                                       (flet ((%f1 (f1-1 f1-2) 0))
5652                                         (apply #'%f1 0 0 (list))))))
5653                       0))
5654            (%f12 0 e))))
5655   -195379170409 -30212852077 -1 -2082141 -1686846623470 360505
5656   -324299330279 37218064)
5657  0)
5658
5659(deftest misc.303
5660  (funcall
5661   (compile
5662    nil
5663    '(lambda (a b c d e f g h)
5664          (declare (type (integer -55724018 0) a))
5665          (declare (type (integer -4929718 2777256) b))
5666          (declare (type (integer 18939493568 24064422528) c))
5667          (declare (type (integer -13157393 112210531) d))
5668          (declare (type (integer -75775 -4883) e))
5669          (declare (type (integer 5071 1584913674240) f))
5670          (declare (type (integer -1 -1) g))
5671          (declare (type (integer -100 7017454141440) h))
5672          (declare (ignorable a b c d e f g h))
5673          (declare (optimize (speed 1) (space 3) (safety 3) (debug 1)
5674                       (compilation-speed 1)))
5675          (labels ((%f7 (f7-1 &optional (f7-2 0) (f7-3 0) (f7-4 0)) 0))
5676            (progn
5677              (denominator
5678                  (progn
5679                    (let ((*s6* (progn
5680                                  (tagbody
5681                                    (unwind-protect
5682                                      (%f7 0 0 (go tag6) d))
5683                                    tag6
5684                                    (restart-case 0))
5685                                  0)))
5686                      0)
5687                    0))
5688              0))))
5689   -23410726 -4342503 20297113275 80145634 -17664 937086103773 -1
5690   2923877584757)
5691  0)
5692
5693(deftest misc.304
5694  (funcall
5695   (compile
5696    nil
5697    '(lambda (a b c d e f g h)
5698          (declare (type (integer -11679 1672) a))
5699          (declare (type (integer -359757 -216048) b))
5700          (declare (type (integer -46345706880 -1824) c))
5701          (declare (type (integer -18 18) d))
5702          (declare (type (integer -70852138 427028370944) e))
5703          (declare (type (integer -428904547840 535369082368) f))
5704          (declare (type (integer -4372225 83) g))
5705          (declare (type (integer -2 0) h))
5706          (declare (ignorable a b c d e f g h))
5707          (declare (optimize (speed 2) (space 1) (safety 3) (debug 0)
5708                       (compilation-speed 1)))
5709          (labels ((%f1 (f1-1 f1-2 f1-3) 0))
5710            (rationalize
5711                (%f1 (progn
5712                       (tagbody
5713                         (let ((v3 (%f1 (unwind-protect (go tag2)) b 0)))
5714                           0)
5715                         tag2)
5716                       0)
5717                     h (cl::handler-case 0))))))
5718   -7209 -223767 -42093806027 -9 132172281069 138363461574
5719   -3751010 0)
5720  0)
5721
5722(deftest misc.305
5723  (funcall
5724   (compile
5725    nil
5726    '(lambda (a b c d e f g h)
5727          (declare (type (integer -438 247) a))
5728          (declare (type (integer -93662232 112841) b))
5729          (declare (type (integer 8769 2766606) c))
5730          (declare (type (integer -33007133760 32531429568) d))
5731          (declare (type (integer 419 3712) e))
5732          (declare (type (integer 1628 20513914304) f))
5733          (declare (type (integer -1347290 47) g))
5734          (declare (type (integer -12 3030073088) h))
5735          (declare (ignorable a b c d e f g h))
5736          (declare (optimize (speed 3) (space 3) (safety 0) (debug 3)
5737                       (compilation-speed 0)))
5738          (flet ((%f5 (f5-1 f5-2 &optional (f5-3 0) (f5-4 0) (f5-5 0))
5739                      (progn
5740                        (tagbody (unwind-protect (go tag1)) tag1)
5741                        (coerce (let* ((*s4*
5742                                        (flet
5743                                         ((%f1 nil
5744                                           (let*
5745                                            ((v7 (dpb 0 (byte 0 0) c)))
5746                                             a)))
5747                                          (progv '(*s6* *s7*)
5748                                           (list (%f1) 0)
5749                                            g))))
5750                                  c)
5751                                'integer))))
5752            (if (%f5 d 0 e 0 0) h 0))))
5753   -58 -22237190 2055343 -8144832891 1213 19038103159 -1009345
5754   929619162)
5755  929619162)
5756
5757(deftest misc.306
5758  (funcall
5759   (compile
5760    nil
5761    '(lambda (a b c d e f g h)
5762          (declare (type (integer 261 234565) a))
5763          (declare (type (integer -1454263719936 -3279802168) b))
5764          (declare (type (integer -1251120498 -49518770) c))
5765          (declare (type (integer 0 369) d))
5766          (declare (type (integer -12465203856 -45) e))
5767          (declare (type (integer -94321486 -91941853) f))
5768          (declare (type (integer -16528338864 11322249648) g))
5769          (declare (type (integer -1230549 -1143976) h))
5770          (declare (ignorable a b c d e f g h))
5771          (declare (optimize (speed 2) (space 1) (safety 0) (debug 0)
5772                       (compilation-speed 0)))
5773          (denominator
5774              (progn
5775                (tagbody (unwind-protect (go tag7)) tag7)
5776                (logxor f
5777                        (multiple-value-bind (*s4*)
5778                            (logxor 0 (expt -2 1))
5779                          (truncate 0)))))))
5780   130724 -736795298357 -1221747467 326 -9775240900 -94105708
5781   -2273680158 -1156846)
5782  1)
5783
5784(deftest misc.307
5785  (funcall
5786   (compile
5787    nil
5788    '(lambda (a b c d e f g h)
5789          (declare (type (integer -2903632 1282236) a))
5790          (declare (type (integer 7 10741) b))
5791          (declare (type (integer -249635 214804) c))
5792          (declare (type (integer -50422 10469) d))
5793          (declare (type (integer -52337314 10771161) e))
5794          (declare (type (integer 0 5333060) f))
5795          (declare (type (integer -1 0) g))
5796          (declare (type (integer 1595835 4577573) h))
5797          (declare (ignorable a b c d e f g h))
5798          (declare (optimize (speed 1) (space 3) (safety 3) (debug 3)
5799                       (compilation-speed 1)))
5800          (flet ((%f11 (f11-1 f11-2) 0))
5801            (%f11 0
5802                  (unwind-protect
5803                    e
5804                    (progn
5805                      (tagbody
5806                        (let* ((v4 (progn (unwind-protect (go 0)) 0)))
5807                          0)
5808                        0)
5809                      (logand (cl::handler-bind ()
5810                                (logand -15 -2 32578787 10349 e
5811                                        -24781944 -8)))))))))
5812   60336 1625 124302 -33193 -8095855 4995857 0 4572381)
5813  0)
5814
5815(deftest misc.308
5816  (funcall
5817   (compile
5818    nil
5819    '(lambda (a b c d e f g h)
5820          (declare (type (integer -2806612475904 8750665416704) a))
5821          (declare (type (integer -3 10) b))
5822          (declare (type (integer -94336824 116591592) c))
5823          (declare (type (integer 456813135872 903636350976) d))
5824          (declare (type (integer -2364199833600 -172353318912) e))
5825          (declare (type (integer 717 1760915) f))
5826          (declare (type (integer -21 105) g))
5827          (declare (type (integer -3579048169472 -346272903168) h))
5828          (declare (ignorable a b c d e f g h))
5829          (declare (optimize (speed 2) (space 1) (safety 0) (debug 0)
5830                       (compilation-speed 0)))
5831          (labels ((%f7 (f7-1)
5832                        (multiple-value-prog1 0
5833                          0
5834                          (return-from %f7 (mask-field (byte 0 0) 0)))))
5835            (unwind-protect (%f7 0)))))
5836   1951007924893 10 -49879990 614214833752 -1808568999586 1282634
5837   99 -2783010573143)
5838  0)
5839
5840(deftest misc.309
5841  (funcall
5842   (compile
5843    nil
5844    '(lambda (a b c d e f g h)
5845          (declare (type (integer -521338 12) a))
5846          (declare (type (integer -1787856009216 1182078822400) b))
5847          (declare (type (integer -3313 28535137344) c))
5848          (declare (type (integer -38914612 -25121536) d))
5849          (declare (type (integer 403073126400 2632230309888) e))
5850          (declare (type (integer -39663606528 -1238304) f))
5851          (declare (type (integer -103560 -70383) g))
5852          (declare (type (integer -894 -227) h))
5853          (declare (ignorable a b c d e f g h))
5854          (declare (optimize (speed 3) (space 1) (safety 1) (debug 3)
5855                       (compilation-speed 2)))
5856          (block b8
5857            (multiple-value-prog1
5858                (logand (logior 0
5859                                (if (logbitp 0 0) 0
5860                                    (multiple-value-bind (v2) 0 0))))
5861              (gcd (let* ((*s4* 0))
5862                     (logior 0
5863                             (return-from b8
5864                               (let ((*s8* 0)) (round 0))))))
5865              0
5866              0))))
5867   -275760 -565946697213 9650536069 -37585973 1536165173011
5868   -12895970021 -102192 -534)
5869  0 0)
5870
5871
5872(deftest misc.310
5873  (funcall
5874   (compile
5875    nil
5876    '(lambda (a b c d e f g h)
5877          (declare (type (integer -2016726144 234357120) a))
5878          (declare (type (integer -10569521299456 -1307998945280) b))
5879          (declare (type (integer -45429002240 -17228484608) c))
5880          (declare (type (integer 228451840 1454976512) d))
5881          (declare (type (integer -4797 -2609) e))
5882          (declare (type (integer -21 36300536) f))
5883          (declare (type (integer -15983530 31646604) g))
5884          (declare (type (integer -208720272 -357) h))
5885          (declare (ignorable a b c d e f g h))
5886          (declare (optimize (speed 1) (space 3) (safety 3) (debug 0)
5887                       (compilation-speed 3)))
5888          (expt (labels ((%f14 (f14-1 f14-2)
5889                               (progn
5890                                 (tagbody
5891                                   (+
5892                                    (unwind-protect
5893                                      (labels ((%f1 (f1-1) (go tag1)))
5894                                        (let ((*s6* (%f1 d))) 0))))
5895                                   tag1
5896                                   (+
5897                                    (cl::handler-bind ()
5898                                      (if (<= -11215713 -819)
5899                                       (integer-length
5900                                        (floor (conjugate f14-1)
5901                                         (max 12
5902                                          (ceiling
5903                                           (block b2
5904                                             (catch 'ct2
5905                                               (ignore-errors
5906                                                (flet
5907                                                 ((%f13 (f13-1)
5908                                                   (logior 87 f14-2)))
5909                                                  f14-1))))))))
5910                                       (progv '(*s8*) (list 472865632)
5911                                         *s8*)))))
5912                                 0)))
5913                  (%f14 0 0))
5914                0)))
5915   -28594854 -3859203606860 -40757449218 894599577 -4163 11621230
5916   29558853 -92216802)
5917  1)
5918
5919(deftest misc.311
5920  (funcall
5921   (compile
5922    nil
5923    '(lambda (a b c d e f g h)
5924          (declare (type (integer -1203392327680 -3017953) a))
5925          (declare (type (integer -34222 -1) b))
5926          (declare (type (integer -871294987 19) c))
5927          (declare (type (integer 717979131904 3341735845888) d))
5928          (declare (type (integer -7521858 3) e))
5929          (declare (type (integer -52 49) f))
5930          (declare (type (integer 18 43) g))
5931          (declare (type (integer -503567246 -46) h))
5932          (declare (ignorable a b c d e f g h))
5933          (declare (optimize (speed 1) (space 3) (safety 1) (debug 2)
5934                       (compilation-speed 2)))
5935          (labels ((%f2 (f2-1 f2-2 f2-3 &optional
5936                              (f2-4 (let
5937                                     ((*s6*
5938                                       (progn
5939                                         (tagbody
5940                                           (flet
5941                                            ((%f17 (f17-1 f17-2 f17-3)
5942                                              (go 6)))
5943                                             (%f17 0 b 0))
5944                                           6)
5945                                         0)))
5946                                      (complex
5947                                       (progn
5948                                         (tagbody
5949                                           (labels
5950                                            ((%f18
5951                                              (f18-1 f18-2 &optional
5952                                               (f18-3 0) (f18-4 f))
5953                                              0))
5954                                             (apply #'%f18 g 0 0
5955                                              (list)))
5956                                           0)
5957                                         0)
5958                                       0)))
5959                              (f2-5 0) (f2-6 0))
5960                        0))
5961            (%f2 0 0 f))))
5962   -738307241633 -25016 -846570136 2181696281793 -983259 24 36
5963   -185316211)
5964  0)
5965
5966
5967(deftest misc.312
5968  (funcall
5969   (compile
5970    nil
5971    '(lambda (a b c d e f g h)
5972          (declare (type (integer -18334222 14354736) a))
5973          (declare (type (integer 11163582 6421184978944) b))
5974          (declare (type (integer -13690431913984 -64765792960) c))
5975          (declare (type (integer -12750925 31112834) d))
5976          (declare (type (integer -5188669232 2246825616) e))
5977          (declare (type (integer -31235593088 -134) f))
5978          (declare (type (integer -1 -1) g))
5979          (declare (type (integer -647589424 12392126736) h))
5980          (declare (ignorable a b c d e f g h))
5981          (declare (optimize (speed 3) (space 2) (safety 1) (debug 1)
5982                       (compilation-speed 1)))
5983          (let ((*s4* (if (progn
5984                            (tagbody (unwind-protect (go 2)) 2)
5985                            0)
5986                          (numerator
5987                              (let* ((v1
5988                                      (let ((*s6* 0))
5989                                        (logand b
5990                                         (rationalize
5991                                          (coerce 0 'integer))))))
5992                                0))
5993                          0)))
5994            0)))
5995   7112398 3547401482305 -12827294644277 23312291 -444957551
5996   -5443955020 -1 4998457143)
5997  0)
5998
5999(deftest misc.313
6000  (funcall
6001   (compile
6002    nil
6003    '(lambda (a b c d e f g h)
6004          (declare (type (integer 55474 401001) a))
6005          (declare (type (integer -8359558987776 8684176949248) b))
6006          (declare (type (integer -54332 116292) c))
6007          (declare (type (integer 0 0) d))
6008          (declare (type (integer -609311104000 959776553984) e))
6009          (declare (type (integer -2031580 3834807) f))
6010          (declare (type (integer -10955 2549) g))
6011          (declare (type (integer -8362590032 -210369) h))
6012          (declare (ignorable a b c d e f g h))
6013          (declare (optimize (speed 1) (space 3) (safety 1) (debug 0)
6014                       (compilation-speed 1)))
6015          (dotimes (iv1 3 0)
6016            (labels ((%f6 (f6-1 f6-2 f6-3 &optional
6017                                (f6-4 (flet
6018                                       ((%f3
6019                                         (f3-1 f3-2 f3-3 &optional
6020                                          (f3-4 0))
6021                                         (flet ((%f11 nil 0))
6022                                           (ash
6023                                            (progn
6024                                              (tagbody
6025                                                (labels
6026                                                 ((%f3
6027                                                   (f3-1 &optional
6028                                                    (f3-2 (go tag4)))
6029                                                   0))
6030                                                  (%f3 0))
6031                                                tag4)
6032                                              0)
6033                                            (min 42
6034                                             (conjugate
6035                                              (coerce
6036                                               (conjugate
6037                                                (let ((v9 (%f11)))
6038                                                  f3-1))
6039                                               'integer)))))))
6040                                        (%f3 c 0 a)))
6041                                (f6-5 0))
6042                          0))
6043              (apply #'%f6 0 0 h nil)))))
6044   93287 3146418586486 -51786 0 -63479145888 1935918 -10058 -2033798238)
6045  0)
6046
6047(deftest misc.314
6048  (funcall
6049   (compile
6050    nil
6051    '(lambda (a b c d e f g h)
6052          (declare (type (integer -176150296 698) a))
6053          (declare (type (integer -62799871488 -56234210816) b))
6054          (declare (type (integer -1 1) c))
6055          (declare (type (integer 31 215808) d))
6056          (declare (type (integer -3 -1) e))
6057          (declare (type (integer -3 3387651) f))
6058          (declare (type (integer -14370846720 -56648624) g))
6059          (declare (type (integer -8316238784 -6221617344) h))
6060          (declare (ignorable a b c d e f g h))
6061          (declare (optimize (speed 1) (space 1) (safety 1) (debug 2)
6062                       (compilation-speed 2)))
6063          (progn
6064            (tagbody
6065              (unwind-protect
6066                (let ((v10 (let* ((v7 (if (go tag6) 0 0))) 0))) 0))
6067              tag6
6068              (let ((v7 (flet ((%f11 nil 0))
6069                          (flet ((%f13 (f13-1 f13-2 f13-3) f13-2))
6070                            (funcall #'%f13 0 a (%f11))))))
6071                0))
6072            0)))
6073   -90583503 -61289371485 -1 175888 -3 3257970 -3264725617  -6816839328)
6074  0)
6075
6076;;; (misc.315 deleted)
6077
6078;;; ACL 6.2 interpreter bugs
6079;;; Error: `NIL' is not of the expected type `NUMBER'
6080;;; (in COMP::IA-RESOLVE-REFS)
6081
6082(deftest misc.316
6083  (funcall
6084   (compile
6085    nil
6086    '(lambda (a c)
6087       (declare (optimize (speed 2) (space 3) (safety 2) (debug 2)
6088                          (compilation-speed 0)))
6089       (unwind-protect
6090           0
6091         (progn (tagbody (bit #*000000111 (min 8 (max 0 a)))
6092                         tag5    (flet ((%f17 (f17-1 f17-2 f17-3)
6093                                              (complex (numerator (go tag4)) 0)))
6094                                   c)
6095                         tag4)
6096                c))))
6097   1 2)
6098  0)
6099
6100;;; ecl failures (12 April 2004)
6101
6102;;; wrong value returned
6103(deftest misc.317
6104  (funcall
6105   (compile
6106    nil
6107    '(lambda ()
6108       (declare (optimize (speed 1) (space 1) (safety 3) (debug 0)
6109                          (compilation-speed 3)))
6110       (catch 'ct4
6111         (elt '(40760)
6112              (min 0 (max 0 (let* ((v3 (* (throw 'ct4 0) 0))) 0))))))))
6113  0)
6114
6115;;; seg fault
6116(deftest misc.318
6117  (funcall
6118   (compile
6119    nil
6120    '(lambda (a b c)
6121       (declare (type (integer -2050548150 4917) a))
6122       (declare (type (integer -4 1) b))
6123       (declare (type (integer 99335934976 442465125376) c))
6124       (declare (ignorable a b c))
6125       (declare (optimize (speed 1) (space 1) (safety 1) (debug 0)
6126                          (compilation-speed 0)))
6127       (if (rationalize
6128            (labels ((%f12 (f12-1)
6129                           (if c 0
6130                             (bit #*101010011000011
6131                                  (min 14 (max 0 0))))))
6132              (if (> 0 c) 0 (%f12 0))))
6133           (progn
6134             (expt (flet ((%f18 (f18-1 f18-2 &optional (f18-3 0)
6135                                       (f18-4 c) (f18-5 b))
6136                                0))
6137                     (apply #'%f18 b b 0 0 nil))
6138                   0)
6139             a)
6140         0)))
6141   10 1 99335934976)
6142  10)
6143
6144;;; seg fault
6145(deftest misc.319
6146  (funcall
6147   (compile
6148    nil
6149    '(lambda (a b c)
6150       (declare (type (integer -626615938 3649977016320) a))
6151       (declare (type (integer -3615553 6013683) b))
6152       (declare (type (integer -746719 1431737508) c))
6153       (declare (ignorable a b c))
6154       (declare (optimize (speed 3) (space 1) (safety 2) (debug 3)
6155                          (compilation-speed 3)))
6156       (if (logbitp 0
6157                    (flet ((%f10 (f10-1 f10-2 f10-3) b))
6158                      (flet ((%f4 (f4-1 f4-2)
6159                                  (apply #'%f10 (%f10 0 a 0) 0 c nil)))
6160                        (complex (%f4 0 0) 0))))
6161           0 0)))
6162   2378435476701 1646880 246794654)
6163  0)
6164
6165;;; sbcl 0.8.9.35
6166;;; failed AVER: "(EQL (LAMBDA-COMPONENT FUNCTIONAL) *CURRENT-COMPONENT*)"
6167
6168(deftest misc.320
6169  (funcall
6170   (compile
6171    nil
6172    '(lambda ()
6173       (declare (optimize (speed 3) (space 0) (safety 2)
6174                          (debug 2) (compilation-speed 0)))
6175       (catch 'ct2
6176         (elt '(102)
6177              (flet ((%f12 () (rem 0 -43)))
6178                (multiple-value-call #'%f12 (values))))))))
6179  102)
6180
6181(deftest misc.320a
6182  (funcall
6183   (compile
6184    nil
6185    '(lambda (b)
6186       (declare (optimize (speed 3) (space 0) (safety 2)
6187                            (debug 2) (compilation-speed 0)))
6188         (reduce '*
6189                 (list (elt '(10 20 30 40 50) b)
6190                       (expt (reduce #'(lambda (lmv1 lmv3) (mod lmv3 15))
6191                                     (vector 0 0))
6192                             0)
6193                       (rem 0 -71))
6194                 )))
6195   2)
6196  0)
6197
6198(deftest misc.320b
6199  (funcall
6200   (compile
6201    nil
6202    '(lambda (a b c)
6203       (declare (type (integer -690191 -454473) a))
6204       (declare (type (integer -459197 -62) b))
6205       (declare (type (integer 445621505781 8489194559765) c))
6206       (declare (ignorable a b c))
6207       (declare
6208        (optimize (speed 1)
6209                  (space 0)
6210                  (safety 2)
6211                  (debug 3)
6212                  (compilation-speed 3)))
6213       (elt '(3327764 3386241)
6214            (min 1
6215                 (max 0
6216                      (reduce #'(lambda (lmv6 lmv5) (mod 0 (min -86 0)))
6217                              (list 0 0)))))))
6218   -512398 -156405 1140919327630)
6219  3327764) 
6220
6221;;; ecl
6222;;; Wrong value
6223
6224(deftest misc.321
6225  (funcall
6226   (compile
6227    nil
6228    '(lambda (p)
6229       (declare (optimize (speed 1) (space 3) (safety 2) (debug 1)
6230                          (compilation-speed 3)))
6231       (catch 'ct2
6232         (let* ((v3 (- (if p (throw 'ct2 :good) 0))))
6233           :bad))))
6234   t)
6235  :good)
6236
6237;;; segfault
6238(deftest misc.322
6239  (funcall
6240   (compile
6241    nil
6242    '(lambda (a)
6243       (declare (optimize (speed 2) (space 2) (safety 0) (debug 3)
6244                          (compilation-speed 2)))
6245       (logorc2 (labels ((%f14 (f14-1) a)) (%f14 0))
6246                (reduce #'(lambda (lmv1 lmv2) a) (list 0 0)))))
6247   3151096069)
6248  -1)
6249
6250;; #1# is undefined
6251
6252(deftest misc.323
6253  (let* ((tail '(:from-end t))
6254         (form
6255          `(lambda ()
6256            (declare (optimize (speed 3) (space 1) (safety 2) (debug 2)
6257                               (compilation-speed 2)))
6258            (eval '(reduce #'logior
6259                           (vector (reduce #'logand (vector 0 0) . ,tail) 0)
6260                           . ,tail)))))
6261    (funcall (compile nil form)))
6262  0)
6263
6264;;; Bad value
6265
6266(deftest misc.324
6267  (funcall
6268   (compile
6269    nil
6270    '(lambda (a)
6271       (declare (optimize (speed 2) (space 2) (safety 3) (debug 2)
6272                          (compilation-speed 3)))
6273       (labels ((%f6 (f6-1) (multiple-value-setq (a) 0)))
6274         (reduce #'(lambda (lmv4 lmv3) a)
6275                 (list (%f6 0) 2)))))
6276   1)
6277  0)
6278
6279;;; "A bug was found in the compiler.  Contact worm@arrakis.es."
6280;;; Broken at C::C2MULTIPLE-VALUE-SETQ.
6281
6282(deftest misc.325
6283  (funcall
6284   (compile
6285    nil
6286    '(lambda (a b)
6287       (declare (type (integer -1659358 3099614928896) a))
6288       (declare (type (integer -492625 197903) b))
6289       (declare (ignorable a b))
6290       (declare (optimize (speed 3) (space 1) (safety 3) (debug 0)
6291                          (compilation-speed 1)))
6292       (reduce #'(lambda (lmv5 lmv6)
6293                   (multiple-value-setq (a) 2443855591508))
6294               (vector b a 0 0) :from-end t)))
6295   1 2)
6296  2443855591508)
6297
6298;;; wrong value
6299(deftest misc.326
6300  (funcall
6301   (compile
6302    nil
6303    '(lambda (b)
6304       (declare (type (integer 155 7955) b))
6305       (declare (optimize (speed 3) (space 3) (safety 3) (debug 1)
6306                          (compilation-speed 0)))
6307       (flet ((%f13 (f13-1) (shiftf b 3019))) (+ b (%f13 0)))))
6308   200)
6309  400)
6310
6311;;; acl 6.2 (x86 linux trial edition, patched, 4/15/04)
6312;;; Error: `NIL' is not of the expected type `REAL'
6313
6314(deftest misc.327
6315  (funcall
6316   (compile
6317    nil
6318    '(lambda (a b)
6319       (declare (type (integer -67668056 -55) a))
6320       (declare (type (integer -586950907 -10945000) b))
6321       (declare (ignorable a b))
6322       (declare (optimize (speed 2) (space 0) (safety 2) (debug 2)
6323                          (compilation-speed 1)))
6324       (labels ((%f15 (f15-1)
6325                      (elt #(1073730663 1073689230 596123606 1073713997
6326                                        311527378 186184643 1073713230 1316881)
6327                           (min 7
6328                                (max 0
6329                                     (catch 'ct7
6330                                       (reduce
6331                                        #'min
6332                                        (list 0 b (catch 'ct7
6333                                                    (throw 'ct7 f15-1))
6334                                              0)
6335                                        :start 1
6336                                        :from-end t)))))))
6337     (%f15 0))))
6338   -38276611 -11001852)
6339  1073730663)
6340
6341;;; wrong return value: T
6342(deftest misc.327a
6343  (funcall
6344   (compile
6345    nil
6346    '(lambda (a b c d e)
6347       (declare (notinline max vector reduce))
6348       (declare (optimize (speed 1) (space 2) (safety 1) (debug 1)
6349                          (compilation-speed 2)))
6350       (reduce #'(lambda (lmv6 lmv3) lmv3)
6351               (vector 0 (max 0) 0 0
6352                       (catch 'ct2 (catch 'ct2 (throw 'ct2 0))) 0 e 0)
6353               
6354               :end 2
6355               :from-end t)))
6356   68664683637 328245 881497115 -303855 311427)
6357  0)
6358   
6359;;; Bugs from abcl
6360;;; Debugger invoked on condition of type TYPE-ERROR:
6361;;;   The value org.armedbear.lisp.Symbol@54 is not of type integer.
6362
6363(deftest misc.328
6364  (funcall
6365   (compile
6366    nil
6367    '(lambda (a b)
6368       (declare (type (integer -11368047588 14412128900) a))
6369       (declare (type (integer -10 0) b))
6370       (declare (ignorable a b))
6371       (declare (optimize (speed 3) (space 1) (safety 3) (debug 0)
6372                          (compilation-speed 0)))
6373       (if (logbitp 0 (if (or t nil) (setf a -2616861879) 0)) 0 0)))
6374   -4836700955 -1)
6375  0)
6376
6377;;; Incorrect value
6378(deftest misc.329
6379  (funcall
6380   (compile
6381    nil
6382    '(lambda (a b)
6383       (declare (type (integer -725661427 405092) a))
6384       (declare (type (integer 84176291516 98216856233) b))
6385       (declare (ignorable a b))
6386       (declare (optimize (speed 3) (space 3) (safety 0) (debug 0)
6387                          (compilation-speed 0)))
6388       (let ((*s2* (case b ((53651 62711 29537 25305 62250) 0) (t 0))))
6389         (declare (special *s2*))
6390         (setq a -688292831))))
6391   -406606203 84436335326)
6392  -688292831)
6393
6394(deftest misc.330
6395  (funcall
6396   (compile
6397    nil
6398    '(lambda (a b)
6399       (declare (type (integer -12816761394938 -8706928710678) a))
6400       (declare (type (integer -3683497948554 427) b))
6401       (declare (ignorable a b))
6402       (declare (optimize (speed 3) (space 0) (safety 0) (debug 3)
6403                          (compilation-speed 2)))
6404       (lcm (block b8 (signum (return-from b8 a))))))
6405   -12715609319989 -582329850697)
6406  12715609319989)
6407
6408(deftest misc.331
6409  (funcall
6410   (compile
6411    nil
6412    '(lambda (a b)
6413       (declare (type (integer -777352478 239900) a))
6414       (declare (type (integer -63500163479 -8671) b))
6415       (declare (ignorable a b))
6416       (declare (optimize (speed 3) (space 0) (safety 0) (debug 2)
6417                          (compilation-speed 3)))
6418       (if (if (>= 0) t t) (setq b -25319949896) b)))
6419   0 -10000)
6420  -25319949896)
6421
6422;;; Debugger invoked on condition of type TYPE-ERROR:
6423;;;   The value 0 is not of type org.armedbear.lisp.Symbol@80f563d8.
6424(deftest misc.332
6425  (funcall
6426   (compile
6427    nil
6428    '(lambda (a b)
6429       (declare (notinline max logorc1 numerator rem))
6430       (declare (optimize (speed 3) (space 1) (safety 1) (debug 1)
6431                          (compilation-speed 2)))
6432       (rem (progn (tagbody (numerator (logorc1 0 (go tag5)))
6433                            tag5)
6434                   0)
6435            (max 93 0))))
6436   -801 17641908)
6437  0)
6438
6439;;; Debugger invoked on condition of type TYPE-ERROR:
6440;;;   The value #<THREAD @ #x15c40eb> is not of type org.armedbear.lisp.Symbol@80f563d8.
6441
6442(deftest misc.333
6443  (funcall
6444   (compile
6445    nil
6446    '(lambda ()
6447       (declare (notinline logxor))
6448       (declare (optimize (speed 3) (space 0) (safety 0) (debug 3)
6449                          (compilation-speed 3)))
6450       (logxor (progn (tagbody (let* ((*s4* (progn (go 1) 0))) 0)
6451                               1)
6452                      0)))))
6453  0)
6454
6455;;; Debugger invoked on condition of type PROGRAM-ERROR:
6456;;;  Wrong number of arguments for EXPT.
6457(deftest misc.334
6458  (funcall
6459   (compile
6460    nil
6461    '(lambda (a b c)
6462       (declare (type (integer 1892675246514 8763564964618) a))
6463       (declare (type (integer -1353 -456) b))
6464       (declare (type (integer 2010840649 2119165101) c))
6465       (declare (ignorable a b c))
6466       (declare (optimize (speed 3) (space 2) (safety 0) (debug 2)
6467                          (compilation-speed 1)))
6468       (+ (block b6 (expt (return-from b6 b) 0)))))
6469   3966745735633 -1123 2030094113)
6470  -1123)
6471
6472;;; The value NIL is not of type number.
6473(deftest misc.335
6474  (let ((c 10))
6475    (denominator (progn (tagbody (realpart (loop for lv4 below 2 sum (go 0)))
6476                                 0)
6477                        c)))
6478  1)
6479
6480(deftest misc.336
6481  (prog2 (progn (tagbody (- (common-lisp:handler-case (go tag2)))
6482                         tag2)
6483                0)
6484         0)
6485  0)
6486
6487;;; Incorrect return value
6488(deftest misc.337
6489  (funcall
6490   (compile
6491    nil
6492    '(lambda ()
6493       (declare (optimize (speed 2) (space 2) (safety 2) (debug 0)
6494                          (compilation-speed 0)))
6495       (imagpart (block b8
6496                   (logior (block b7 (return-from b8 225480400))))))))
6497  0)
6498
6499;;; Inconsistent stack height 1 != 2
6500(deftest misc.338
6501  (let #+armedbear ((jvm::*catch-errors* nil))
6502       nil
6503       (funcall
6504        (compile
6505         nil
6506         '(lambda (c)
6507            (conjugate (block b8 (max (if c (return-from b8 0) 0))))))
6508        10))
6509  0)
6510
6511;;; Inconsistent stack height 4 != 0
6512(deftest misc.339
6513  (let
6514   #+armedbear ((jvm::*catch-errors* nil))
6515   nil
6516   (funcall
6517    (compile
6518     nil
6519     '(lambda ()
6520        (declare (optimize (speed 1) (space 3) (safety 3) (debug 0)
6521                           (compilation-speed 0)))
6522        (block b1
6523          (reduce #'min
6524                  (list (return-from b1 0))
6525                  :end    1
6526                  :start  0
6527                  :from-end t
6528                  ))))))
6529  0)
6530
6531;;;   The value INTEGER is not of type sequence.
6532(deftest misc.340
6533  (funcall
6534   (compile
6535    nil
6536    '(lambda (a b c)
6537       (declare (type (integer -4379340 -1962) a))
6538       (declare (type (integer 1304043 3225940) b))
6539       (declare (type (integer -3229571579853 -180689150012) c))
6540       (declare (ignorable a b c))
6541       (declare (optimize (speed 3) (space 1) (safety 0) (debug 2)
6542                          (compilation-speed 2)))
6543       (coerce (rationalize (progn (tagbody (reduce #'logand
6544                                                    (list b 0 (go tag3))
6545                                                    :from-end
6546                                                    t)
6547                                            tag3)
6548                                   0))
6549               'integer)))
6550   -1625211 3052955 -2091182035681)
6551  0)
6552
6553;;; Inconsistent stack height 1 != 2
6554(deftest misc.341
6555  (let
6556   #+armedbear ((jvm::*catch-errors* nil))
6557   nil
6558   (funcall
6559    (compile
6560     nil
6561     '(lambda (c)
6562        (declare (optimize (speed 2) (space 1) (safety 1) (debug 2)
6563                           (compilation-speed 3)))
6564        (logeqv (block b6
6565                  (logeqv (case 0
6566                            ((45293 29462 60403) (return-from b6 0))
6567                            (t c)))))))
6568    10))
6569  10)
6570
6571;;;  Inconsistent stack height 0 != 1
6572(deftest misc.342
6573  (let
6574   #+armedbear ((jvm::*catch-errors* nil))
6575   nil
6576   (funcall
6577    (compile
6578     nil
6579     '(lambda (a)
6580        (declare (optimize (speed 1) (space 0) (safety 2) (debug 1)
6581                           (compilation-speed 2)))
6582        (progn (tagbody (imagpart (dotimes (iv3 0 a) (go 4)))
6583                        4)
6584               0)))
6585    1))
6586  0)
6587
6588;;; Expecting to find object/array on stack
6589(deftest misc.343
6590  (let
6591   #+armedbear ((jvm::*catch-errors* nil))
6592   nil
6593   (funcall
6594    (compile
6595     nil
6596     '(lambda ()
6597        (declare (optimize (speed 2) (space 3) (safety 2) (debug 3)
6598                           (compilation-speed 2)))
6599        (mask-field (byte 0 0)
6600                    (block b8
6601                      (reduce 'logior
6602                              (list (return-from b8 0) 0 0)
6603                              :end      3
6604                              :start    0
6605                              :from-end t)))))))
6606  0)
6607
6608;;; Wrong value
6609(deftest misc.344
6610  (funcall
6611   (compile
6612    nil
6613    '(lambda (a)
6614       (declare (type (integer -3464434 12316202) a))
6615       (declare (optimize (speed 1) (space 0) (safety 0) (debug 0)
6616                          (compilation-speed 2)))
6617       (progn (tagbody (gcd (expt (setf a -2612809) 0) (go 5))
6618                       5)
6619              a)))
6620   1891348)
6621  -2612809)
6622
6623;;; Stack size too large
6624(deftest misc.345
6625  (let
6626   #+armedbear ((jvm::*catch-errors* nil))
6627   nil
6628   (funcall
6629    (compile
6630     nil
6631     '(lambda (a b c)
6632        (declare (type (integer -1968 -1759) a))
6633        (declare (type (integer 91 2293818743282) b))
6634        (declare (type (integer -843793650839 -2) c))
6635        (declare (ignorable a b c))
6636        (declare (optimize (speed 3) (space 2) (safety 3) (debug 0)
6637                           (compilation-speed 3)))
6638        (max (block b1
6639               (conjugate (dotimes (iv3 0
6640                                        (bit #*010
6641                                             (min 2
6642                                                  (max 0
6643                                                       (return-from b1 0)))))
6644                            (progn 0))))
6645             (sbit #*0001011010010 (min 12 (max 0 0))))))
6646    -1957 523078358699 -634832888815))
6647  0)
6648
6649(deftest misc.345a
6650  (let
6651   #+armedbear ((jvm::*catch-errors* nil))
6652   nil
6653   (funcall
6654    (compile
6655     nil
6656     '(lambda (c)
6657        (declare (type (integer -3011346550 1630587670) c))
6658        (declare (optimize (speed 1) (space 1) (safety 0) (debug 3)
6659                           (compilation-speed 1)))
6660        (progn (tagbody (dotimes (iv2 0 (- 0 (go 7))) (progn 0))
6661                        7
6662                        (progn (mask-field (byte 0 0) 0) c))
6663               0)))
6664    1))
6665  0)
6666
6667;;; wrong return value
6668(deftest misc.346
6669  (funcall
6670   (compile
6671    nil
6672    '(lambda ()
6673       (declare (optimize (speed 2) (space 2) (safety 2) (debug 2)
6674                          (compilation-speed 2)))
6675       (bit #*011100
6676            (min 5
6677                 (max 0
6678                      (block b8
6679                        (aref #(122010971004 126555236004)
6680                              (min 1
6681                                   (max 0
6682                                        (progn (return-from b8 191438621)
6683                                               0)))))))))))
6684  0)
6685
6686;;; The value 8 is not of type FUNCTION.
6687(deftest misc.347
6688  (funcall
6689   (compile
6690    nil
6691    '(lambda ()
6692       (declare (optimize (speed 2) (space 2) (safety 3) (debug 2)
6693                          (compilation-speed 1)))
6694       (complex (* (block b2
6695                     (boole boole-xor (logxor (return-from b2 0)) 0)))
6696                0))))
6697  0)
6698
6699;;; Wrong result
6700(deftest misc.348
6701  (funcall
6702   (compile
6703    nil
6704    '(lambda (a c)
6705       (declare (optimize (speed 1) (space 0) (safety 2) (debug 3)
6706                          (compilation-speed 1)))
6707       (max (conjugate (setq a -4178265097)) (if (> c 0) 0 a))))
6708   -2408319173 -4307532101272)
6709  -4178265097)
6710
6711(deftest misc.349
6712  (funcall
6713   (compile
6714    nil
6715    '(lambda ()
6716       (declare (optimize (speed 3) (space 1) (safety 1) (debug 1)
6717                          (compilation-speed 2)))
6718       (mod (let ((*s7* (block b7 (logandc2 (+ (return-from b7 0)) 0))))
6719              -10)
6720            (max 26 0)))))
6721  16)
6722
6723;;; Inconsistent stack height 0 != 1
6724
6725(deftest misc.350
6726  (let
6727   #+armedbear ((jvm::*catch-errors* nil))
6728   nil
6729   (funcall
6730    (compile
6731     nil
6732     '(lambda ()
6733        (declare (optimize (speed 2) (space 3) (safety 1) (debug 2)
6734                           (compilation-speed 3)))
6735        (progn (tagbody (complex (- 0 (if (and t) 0 (go tag1))) 0)
6736                        tag1)
6737               0)))))
6738  0)
6739
6740(deftest misc.351
6741  (let
6742   #+armedbear ((jvm::*catch-errors* nil))
6743   nil
6744   (funcall
6745    (compile
6746     nil
6747     '(lambda (c)
6748        (declare (type (integer -598962457711 -2902) c))
6749        (declare (optimize (speed 1) (space 0) (safety 1) (debug 0)
6750                           (compilation-speed 3)))
6751        (lognor c
6752                (block b1
6753                  (loop for lv3 below 1
6754                        sum (if (/= 0) (return-from b1 0) c))))))
6755    -392248104420))
6756  392248104419)
6757
6758(deftest misc.352
6759  (let
6760   #+armedbear ((jvm::*catch-errors* nil))
6761   nil
6762   (funcall
6763    (compile
6764     nil
6765     '(lambda ()
6766        (declare (optimize (speed 1) (space 3) (safety 3) (debug 3)
6767                           (compilation-speed 1)))
6768        (progn (tagbody (+ 0 (if (< 0) (go 5) 0))
6769                        5)
6770               0)))))
6771  0)
6772
6773(deftest misc.353
6774  (let
6775   #+armedbear ((jvm::*catch-errors* nil))
6776   nil
6777   (funcall
6778    (compile
6779     nil
6780     '(lambda (a b)
6781        (declare (type (integer -8 -2) a))
6782        (declare (type (integer -67321 14697029362) b))
6783        (declare (optimize (speed 3) (space 1) (safety 3) (debug 1)
6784                           (compilation-speed 2)))
6785        (expt (block b2
6786                (loop for lv1 below 3
6787                      sum (prog2 b
6788                              0
6789                            (expt (case 0
6790                                    ((-13960 -57685 -37843 -34222
6791                                             -14273 -40931 -2688)
6792                                     (return-from b2 0))
6793                                    (t a))
6794                                  0))))
6795              0)))
6796    -7 772373806))
6797  1)
6798
6799;;; Incorrect return value
6800(deftest misc.354
6801  (funcall
6802   (compile
6803    nil
6804    '(lambda (a b c)
6805       (declare (type (integer -1309 67082465417) a))
6806       (declare (type (integer -7824641338734 -832606641) b))
6807       (declare (type (integer 7473698771 3542216118742) c))
6808       (declare (ignorable a b c))
6809       (declare (optimize (speed 3) (space 2) (safety 1) (debug 3)
6810                          (compilation-speed 2)))
6811       (+ 0
6812          (progn (tagbody (if (if (>= b (go 3)) nil t) a c)
6813                          3)
6814                 0))))
6815   29329060987 -4964942044116 512158612507)
6816  0)
6817
6818(deftest misc.355
6819  (funcall
6820   (compile
6821    nil
6822    '(lambda (c)
6823       (declare (type (integer -1390043946499 -115168466439) c))
6824       (declare (optimize (speed 2) (space 0) (safety 0) (debug 1)
6825                          (compilation-speed 2)))
6826       (+ 0
6827          (coerce (progn (tagbody (if (<= -1 (go tag1)) 0 c)
6828                                  tag1)
6829                         0)
6830                  'integer))))
6831   -115168466439)
6832  0)
6833
6834(deftest misc.356
6835  (let
6836   #+armedbear ((jvm::*catch-errors* nil))
6837   nil
6838   (funcall
6839    (compile
6840     nil
6841     '(lambda ()
6842        (declare (optimize (speed 2) (space 2) (safety 1) (debug 0)
6843                           (compilation-speed 3)))
6844        (let ((*s7* 0))
6845          (dotimes (iv2 0 0)
6846            (block b3
6847              (block b3 (block b3 (setq *s7* (return-from b3 0)))))))))))
6848  0)
6849
6850(deftest misc.357
6851  (let
6852   #+armedbear ((jvm::*catch-errors* nil))
6853   nil
6854   (funcall
6855    (compile
6856     nil
6857     '(lambda (b)
6858        (declare (type (integer -1750881587721 -327383867) b))
6859        (declare (optimize (speed 1) (space 0) (safety 2) (debug 3)
6860                           (compilation-speed 3)))
6861        (denominator (block b2
6862                       (let* ((*s8* 0))
6863                         (setq *s8*
6864                               (case 0
6865                                 ((-26733 -244 -26253 -50028) 0)
6866                                 (t (return-from b2 b)))))))))
6867    -1153135130306))
6868  1)
6869
6870(deftest misc.358
6871  (let
6872   #+armedbear ((jvm::*catch-errors* nil))
6873   nil
6874   (funcall
6875    (compile
6876     nil
6877     '(lambda ()
6878        (declare (optimize (speed 2) (space 0) (safety 0) (debug 3)
6879                           (compilation-speed 1)))
6880        (rationalize (let* ((*s1* 0))
6881                       (block b3
6882                         (conjugate (let* ((v10
6883                                            (if (ldb-test (byte 0 0) 0)
6884                                                (return-from b3 *s1*)
6885                                              0)))
6886                                      (setq *s1* (return-from b3 0)))))))))))
6887  0)
6888
6889(deftest misc.359
6890  (let
6891   #+armedbear ((jvm::*catch-errors* nil))
6892   nil
6893   (funcall
6894    (compile
6895     nil
6896     '(lambda (a b)
6897        (declare (type (integer -477801566869 432060432661) a))
6898        (declare (type (integer 366578392 525704751) b))
6899        (declare (optimize (speed 3) (space 3) (safety 1) (debug 1)
6900                           (compilation-speed 1)))
6901        (max (case b
6902               ((0 -3 -2 -2 -3)
6903                (progn (tagbody (loop for lv1 below 2
6904                                      count (let* ((*s1* a))
6905                                              (setq *s1* (go 4))))
6906                                4)
6907                       0))
6908               (t 0)))))
6909    287358622300 400248608))
6910  0)
6911
6912;;; Wrong return value
6913
6914(deftest misc.360
6915  (let ((c :good))
6916    (tagbody
6917      (dotimes (j 1 (setf c :bad)) (go done))
6918      done)
6919    c)
6920  :good)
6921
6922;;; sbcl bugs (0.8.10.4)
6923
6924;;; failed AVER: "(SUBSETP END END-STACK)"
6925(deftest misc.361
6926  (funcall
6927   (compile
6928    nil
6929    '(lambda (a b c)
6930       (declare (notinline boole values denominator list))
6931       (declare
6932        (optimize (speed 2)
6933                  (space 0)
6934                  (safety 1)
6935                  (debug 0)
6936                  (compilation-speed 2)))
6937       (catch 'ct6
6938         (progv
6939             '(*s8*)
6940             (list 0)
6941           (let ((v9 (ignore-errors (throw 'ct6 0))))
6942             (denominator
6943              (progv nil nil (values (boole boole-and 0 v9)))))))))
6944   1 2 3)
6945  0)
6946
6947;;; sbcl (0.8.10.15)
6948;;; Wrong return value: SB-KERNEL:*HANDLER-CLUSTERS*
6949(deftest misc.362
6950  (funcall
6951   (compile
6952    nil
6953    '(lambda (b g h)
6954       (declare (optimize (speed 3) (space 3) (safety 2)
6955                          (debug 2) (compilation-speed 3)))
6956       (catch 'ct5
6957         (unwind-protect
6958             (labels ((%f15 (f15-1 f15-2 f15-3)
6959                            (rational (throw 'ct5 0))))
6960               (%f15 0
6961                     (apply #'%f15
6962                            0
6963                            h
6964                            (progn
6965                              (progv '(*s2* *s5*) (list 0 (%f15 0 g 0)) b)
6966                              0)
6967                            nil)
6968                     0))
6969           (common-lisp:handler-case 0)))))
6970   1 2 3)
6971  0)
6972
6973;;; Wrong value: NIL
6974(deftest misc.363
6975  (funcall
6976   (compile
6977    nil
6978    '(lambda (a)
6979       (declare (type (integer -17286401550789 15753784105886) a))
6980       (declare (optimize (speed 2) (space 2) (safety 2)
6981                          (debug 0) (compilation-speed 3)))
6982       (if (not (>= 0 (shiftf a 110236462073)))
6983           0
6984         (elt '(30 101 13 2 10 52 89 57) (min 7 (max 0 a))))))
6985   -3647332298473)
6986  57)
6987
6988;;; "full call to SB-KERNEL:DATA-VECTOR-REF"
6989(deftest misc.364
6990  (dotimes (iv1 2 0)
6991           (if (> iv1 iv1)
6992                 (svref #(2002 3778 1998 3466 530 3279 2033 521 4085)
6993                        (min 8 (max 0 iv1)))
6994                 0))
6995  0)
6996
6997;;; OpenMCL/darwin bug (12 May 2004)
6998(deftest misc.365
6999  (let* ((fn1
7000          '(lambda (a b c)
7001             (declare (type (integer -2 21) a))
7002             (declare (type (integer -5651364356 4324101092) b))
7003             (declare (type (integer -30766087 28182568) c))
7004             (declare (ignorable a b c))
7005             (declare (optimize (speed 3) (space 1) (safety 3) (debug 0) (compilation-speed 1)))
7006             (coerce (logxor b -1) 'integer)))
7007         (fn2
7008          '(lambda (a b c)
7009             (declare (notinline logxor coerce))
7010             (declare (optimize (speed 3) (space 0) (safety 3) (debug 2) (compilation-speed 2)))
7011             (coerce (logxor b -1) 'integer)))
7012         (vals '(9 -328421075 -6406890))
7013         (v1 (apply (compile nil fn1) vals))
7014         (v2 (apply (compile nil fn2) vals)))
7015    (if (eql v1 v2) :good (list v1 v2)))
7016  :good)
7017
7018;;; sbcl 0.8.10.24
7019;;;  Argument X is not a REAL: #<FUNCTION "CLOSURE" {947C46D}>
7020
7021(deftest misc.366
7022  (funcall
7023   (compile
7024    nil
7025    '(lambda (a b c d e f g h i)
7026       (declare (type (integer 10 65866342) a))
7027       (declare (type (integer 151 702748905609) b))
7028       (declare (type (integer -60442925 167939283) c))
7029       (declare (type (integer 7706 10562) d))
7030       (declare (type (integer -97180326158 17496) e))
7031       (declare (type (integer -73249 -51989) f))
7032       (declare (type (integer -12 2718) g))
7033       (declare (type (integer -37832 591244) h))
7034       (declare (type (integer -2579781276 2108461452) i))
7035       (declare (ignorable a b c d e f g h i))
7036       (declare
7037        (optimize (speed 3)
7038                  (space 0)
7039                  (safety 0)
7040                  (debug 2)
7041                  (compilation-speed 2)))
7042       (elt '(11751 8554 7393 1924 3418)
7043            (min 4
7044                 (max 0
7045                      (block b4
7046                        (numerator
7047                         (flet ((%f5
7048                                 (f5-1 f5-2 f5-3
7049                                       &optional
7050                                       (f5-4 (prog1 0 (return-from b4 0) 0))
7051                                       (f5-5 d) (f5-6 0))
7052                                 0))
7053                           (numerator
7054                            (apply (constantly 0)
7055                                   0
7056                                   0
7057                                   (rationalize
7058                                    (unwind-protect
7059                                        (%f5 0
7060                                             c
7061                                             (%f5 0
7062                                                  c
7063                                                  (%f5 0
7064                                                       0
7065                                                       0
7066                                                       h
7067                                                       (%f5 0 0 0)
7068                                                       i)
7069                                                  a))
7070                                      (ignore-errors 0)))
7071                                   0
7072                                   nil))))))))))
7073   21956127 524275646496 101890987 8762 -88607922426 -55959 2177 147174
7074   38469170)
7075  11751)
7076
7077;;;  The value #<unknown pointer object, widetag=#x29 {A295F27}>
7078;;;  is not of type RATIONAL.
7079
7080(deftest misc.367
7081  (funcall
7082   (compile
7083    nil
7084    '(lambda (a b)
7085       (declare (type (integer 11557968 115977463) a))
7086       (declare (type (integer -89510 -20616) b))
7087       (declare (optimize (speed 2) (space 3) (safety 1)
7088                          (debug 0) (compilation-speed 1)))
7089       (rational
7090        (flet ((%f17 (f17-1 f17-2) 0))
7091          (%f17
7092           (numerator
7093            (%f17
7094             (denominator
7095              (catch 'ct5
7096                (apply (constantly 0)
7097                       0
7098                       (unwind-protect
7099                           (catch 'ct2 (throw 'ct5 (progn (%f17 a b) a))))
7100                       nil)))
7101             0))
7102           (%f17 0 a))))))
7103   112475717 -25829)
7104  0)
7105
7106;;; sbcl 0.8.10.25
7107;;; "The value -3 is not of type (INTEGER -5 -2)."
7108(deftest misc.368
7109  (funcall
7110   (compile
7111    nil
7112    '(lambda (a)
7113       (declare (type (integer -5 -2) a))
7114       (declare (ignorable a))
7115       (declare
7116        (optimize (speed 2) (space 3) (safety 1)
7117                  (debug 1) (compilation-speed 1)))
7118       (if
7119           (and (not (not (> a (numerator (setf a -4)))))
7120                (logbitp 0 (conjugate a)))
7121           0
7122         0)))
7123   -3)
7124  0)
7125
7126;;; acl 6.2 (x86 linux trial edition, patched, 4/15/04)
7127;;; Error: `T' is not of the expected type `NUMBER'
7128(deftest misc.369
7129  (funcall
7130   (compile
7131    nil
7132    '(lambda (a b c d e)
7133       (declare (type (integer -15256078323 33828721319) a))
7134       (declare (type (integer -44368 22872) b))
7135       (declare (type (integer -7623 -7522) c))
7136       (declare (type (integer -53 289) d))
7137       (declare (type (integer -1853649832248 2196352552304) e))
7138       (declare (ignorable a b c d e))
7139       (declare (optimize (speed 1) (space 2) (safety 0) (debug 0)
7140                          (compilation-speed 3)))
7141       (flet ((%f2 (f2-1 &optional &key (key1 0) (key2 e))
7142                   (labels ((%f5 (f5-1 f5-2 f5-3 &optional &key
7143                                       (key1
7144                                        (aref #(397)
7145                                              (min
7146                                               0
7147                                               (max
7148                                                0
7149                                                (let ((v7 (make-array nil :initial-element d)))
7150                                                  (reduce
7151                                                   #'(lambda (lmv5 lmv6) key1)
7152                                                   (vector f2-1 0)
7153                                                   :start 0))))))
7154                                       &allow-other-keys)
7155                                 0))
7156                     0)))
7157         b)))
7158   -2821485338 -35420 -7622 135 9592294022)
7159  -35420)
7160
7161;;; Lispworks personal edition 4.3 (x86 linux)
7162;;; Inconsistent return value
7163(deftest misc.370
7164  (funcall
7165   (compile
7166    nil
7167    '(lambda (a b c)
7168       (declare (type (integer -3070433 6) a))
7169       (declare (type (integer -5 -3) b))
7170       (declare (type (integer -4433759745778 -1) c))
7171       (declare (ignorable a b c))
7172       (declare
7173        (optimize (speed 3)
7174                  (space 1)
7175                  (safety 0)
7176                  (debug 2)
7177                  (compilation-speed 3)))
7178       (flet ((%f15
7179               (f15-1 f15-2
7180                      &optional (f15-3 0)
7181                      (f15-4 (denominator (setq c -4214677583716))) (f15-5 0)
7182                      &key (key1 c) &allow-other-keys)
7183               (progv '(*s1* *s5* *s7*) (list f15-2 0 f15-1) key1)))
7184         (%f15 0 (%f15 c 0) 0))))
7185   -1233959 -4 -2643533316361)
7186  -4214677583716)
7187
7188;;; Armed Bear CL
7189
7190;;; inconsistent stack height
7191(deftest misc.371
7192  (let
7193   #+armedbear ((jvm::*catch-errors* nil))
7194   nil
7195   (funcall
7196    (compile
7197     nil
7198     '(lambda (a b c)
7199        (declare (type (integer -7288 10764) a))
7200        (declare (type (integer -7 24) b))
7201        (declare (type (integer 7951930344 11209871544) c))
7202        (declare (ignorable a b c))
7203        (declare (optimize (speed 2) (space 2) (safety 0) (debug 0)
7204                           (compilation-speed 0)))
7205        (rationalize (block b1
7206                       (if b
7207                           (return-from b1
7208                             (progn (tagbody (return-from b1
7209                                               (let* ((*s1*
7210                                                       (cons (go tag3)
7211                                                             0)))
7212                                                 (declare (dynamic-extent
7213                                                           *s1*))
7214                                                 0))
7215                                             tag3)
7216                                    0))
7217                         0)))))
7218    -5566 9 10557204445))
7219  0)
7220
7221;;; 0 is not of type LIST
7222(deftest misc.372
7223  (funcall
7224   (compile
7225    nil
7226    '(lambda (a b c)
7227       (declare (type (integer -738508 627) a))
7228       (declare (type (integer -100241328874 104421) b))
7229       (declare (type (integer -71651668566 4932238952300) c))
7230       (declare (ignorable a b c))
7231       (declare (optimize (speed 3) (space 2) (safety 1) (debug 3)
7232                          (compilation-speed 2)))
7233       (sbit #*0
7234             (min 0
7235                  (max 0
7236                       (multiple-value-bind (v1)
7237                           (cons c
7238                                 (truncate 0
7239                                           (min -42 0)))
7240                         (cdr v1)))))))
7241   -657195 -10801112339 -4291316763)
7242  0)
7243
7244;;; inconsistent stack height
7245(deftest misc.373
7246  (let
7247   #+armedbear ((jvm::*catch-errors* nil))
7248   nil
7249   (funcall
7250    (compile
7251     nil
7252     '(lambda (a b c)
7253        (declare (type (integer 0 179061) a))
7254        (declare (type (integer -15793 42532) b))
7255        (declare (type (integer -2 0) c))
7256        (declare (ignorable a b c))
7257        (declare (optimize (speed 3) (space 0) (safety 2) (debug 1)
7258                           (compilation-speed 0)))
7259        (reduce 'logxor
7260                (list 0 b 0 0
7261                      a 0 0 0
7262                      (block b6
7263                        (let* ((v6 (cons (if c (return-from b6 0) 0) b)))
7264                          0))
7265                      0)
7266                :end 6
7267                :from-end t)))
7268    141814 1445 -2))
7269  142419)
7270
7271(deftest misc.374
7272  (let
7273   #+armedbear ((jvm::*catch-errors* nil))
7274   nil 
7275   (funcall
7276    (compile
7277     nil
7278     '(lambda (a b)
7279        (declare (type (integer -99 4) a))
7280        (declare (type (integer 35621436 36172433) b))
7281        (declare (ignorable a b))
7282        (declare (optimize (speed 2) (space 1) (safety 3) (debug 1)
7283                           (compilation-speed 0)))
7284        (lognand (let ((v6 0)) (declare (dynamic-extent v6)) v6)
7285                 (block b6
7286                   (let* ((v10
7287                           (cons (expt (case 0
7288                                         ((30207) (return-from b6 0))
7289                                         (t b))
7290                                       0)
7291                                 0)))
7292                     (declare (dynamic-extent v10))
7293                     0)))))
7294    -57 35725118))
7295  -1)
7296
7297;;; abcl (23 May 2004)
7298;;; 0 is not of type LIST
7299(deftest misc.375
7300  (funcall
7301   (compile
7302    nil
7303    '(lambda (a b c d e f)
7304       (declare (type (integer -3172868 25583841) a))
7305       (declare (type (integer -8176159 1565888775976) b))
7306       (declare (type (integer -2601325109 147819602) c))
7307       (declare (type (integer -502316251909 515874281072) d))
7308       (declare (type (integer 174 2604648) e))
7309       (declare (type (integer 1627646459 3124243119) f))
7310       (declare (ignorable a b c d e f))
7311       (declare (optimize (speed 3) (space 0) (safety 3) (debug 2)
7312                          (compilation-speed 2)))
7313       (let* ((*s6* (make-array nil :initial-element 0 :adjustable t)))
7314         (if (logbitp 0
7315                      (denominator (prog2 (truncate (dotimes (iv3 0 0)
7316                                                      (progn 0)))
7317                                       (multiple-value-bind (*s7*)
7318                                           (cons d 0)
7319                                         (cdr *s7*)))))
7320             0
7321           0))))
7322   12851164 182468232812 -2243976802 309299185674 2538150 1855615980)
7323  0)
7324
7325;;; abcl (25 May 2004)
7326;;; 0 is not of type LIST
7327(deftest misc.376
7328  (funcall
7329   (compile
7330    nil
7331    '(lambda ()
7332       (declare (optimize (speed 1) (space 1) (safety 2) (debug 1)
7333                          (compilation-speed 0)))
7334       (dotimes (iv4 3
7335                     (multiple-value-bind (*s6*) (cons 0 0)
7336                       (progn (cdr *s6*) 0)))
7337         (floor (rational (let ((*s2*
7338                                 (rational (common-lisp:handler-case 0))))
7339                            0)))))))
7340  0)
7341
7342(deftest misc.377
7343  (funcall
7344   (compile
7345    nil
7346    '(lambda (e) ; (a b c d e)
7347       (declare (type (integer -46778182694 512) e))
7348       (declare (optimize (speed 3) (space 3) (safety 2) (debug 2)
7349                          (compilation-speed 3)))
7350       (if (block b3
7351             (numerator (progn (tagbody (truncate (dotimes (iv3 0 0)
7352                                                    (block b3 0)))
7353                                        (multiple-value-bind (*s5*)
7354                                            (cons 0 e)
7355                                          (rationalize (cdr *s5*))))
7356                               0)))
7357           0
7358         0)))
7359   10)
7360  0)
7361
7362(deftest misc.378
7363  (funcall
7364   (compile
7365    nil
7366    '(lambda (c)
7367       (declare (optimize (speed 1) (space 0) (safety 1) (debug 3)
7368                          (compilation-speed 2)))
7369       (dotimes (iv4 3 0)
7370         (restart-case (round (multiple-value-bind (*s6*) (cons c 0)
7371                                (car *s6*)))))))
7372   1)
7373  0)
7374
7375(deftest misc.379
7376  (funcall
7377   (compile
7378    nil
7379    '(lambda ()
7380       (declare (optimize (speed 2) (space 0) (safety 2) (debug 2)
7381                          (compilation-speed 1)))
7382       (values (floor 0) (multiple-value-bind (v3) (cons 0 0) (car v3))))))
7383  0 0)
7384
7385;;; gcl (31 May 2004, cvs head)
7386;;; Error in APPLY [or a callee]: Expected a FIXNUM
7387;;; Also fails in cmucl 1/2003
7388(deftest misc.380
7389  (funcall
7390   (compile
7391    nil
7392    '(lambda (a)
7393       (declare (type (integer -1397457 1846252) a))
7394       (declare (optimize (speed 2) (space 2) (safety 1)
7395                          (debug 3) (compilation-speed 3)))
7396       (let ((v9 (make-array nil :initial-element 0)))
7397         (declare (dynamic-extent v9))
7398         (block b8
7399           (let ((*s1* 0))
7400             (let ((*s4* (let
7401                             ((*s1*
7402                               (return-from b8
7403                                 (rational
7404                                  (setf (aref v9)
7405                                        (deposit-field -5
7406                                                       (byte 20 30) a))))))
7407                           0)))
7408               (let ((*s8* (cons 0 0))) 0)))))))
7409   399997)
7410  1125898833500797)
7411
7412;; This also fails in cmucl (11/2003 image).  This case has not been fully
7413;; pruned for cmucl.
7414;;
7415;; Error in function LISP::ASSERT-ERROR:  The assertion (NOT C::WIN) failed.
7416(deftest misc.381
7417  (funcall
7418   (compile
7419    nil
7420    '(lambda (a)
7421       (declare (type (integer -1397457 1846252) a))
7422       (declare (optimize (speed 2) (space 2) (safety 1)
7423                          (debug 3) (compilation-speed 3)))
7424       (let ((v9 (make-array nil :initial-element 0)))
7425         (declare (dynamic-extent v9))
7426         (block b8
7427           (let ((s1 0))
7428             (let ((s4 (let
7429                             ((s1
7430                               (return-from b8
7431                                 (rational
7432                                  (setf (aref v9)
7433                                        (deposit-field -5
7434                                                       (byte 20 30) a))))))
7435                           0)))
7436               (let ((s8 (cons 0 0))) 0)))))))
7437   399997)
7438  1125898833500797)
7439
7440                           
7441;;; gcl (31 May 2004, cvs head)
7442;;; Error in SYSTEM:ASET [or a callee]: Expected a FIXNUM
7443
7444(deftest misc.382
7445  (funcall
7446   (compile
7447    nil
7448    '(lambda (b)
7449       (declare (type (integer -65822755520 31689335872) b))
7450       (declare (optimize (speed 2) (space 2) (safety 3)
7451                          (debug 0) (compilation-speed 1)))
7452       (let ((s8 (make-array nil :initial-element
7453                             (catch 'ct4
7454                               (complex
7455                                (dotimes (iv1 1 0)
7456                                  (rational (throw 'ct4 b)))
7457                                0)))))
7458         (elt '(13423701584)
7459              (min 0
7460                   (max 0
7461                        (rational
7462                         (let ((s3 (make-array nil :initial-element 0)))
7463                           (if (ldb-test (byte 0 0)
7464                                         (shiftf (aref s8)
7465                                                 (aref s8)))
7466                               0 0)))))))))
7467   -38169486910)
7468  13423701584)
7469
7470;;; cmucl 11/2003
7471;;; Wrong value
7472(deftest misc.383
7473  (funcall
7474   (compile
7475    nil
7476    '(lambda (a b c)
7477       (declare (type (integer -93650 118967004056) a))
7478       (declare (type (integer -429173946 -3892) b))
7479       (declare (type (integer -229669685 -50537386) c))
7480       (declare (ignorable a b c))
7481       #+cmu (declare (optimize (extensions:inhibit-warnings 3)))
7482       (declare
7483        (optimize (speed 3) (space 1) (safety 0) (debug 3) (compilation-speed 2)))
7484       (logorc2
7485        (let* ((*s3* (cons 0 a)))
7486          (declare (dynamic-extent *s3*))
7487          (shiftf c -124766263))
7488        411942919)))
7489   79909316946 -347537841 -210771963)
7490  -142606339)
7491
7492;;; abcl 7 Jun 2004
7493;;; catch-throw now enabled in the abcl compiler
7494
7495;;; Inconsistent stack height
7496(deftest misc.384
7497  (let
7498      #+armedbear ((jvm::*catch-errors* nil))
7499      nil
7500      (funcall
7501       (compile
7502        nil
7503        '(lambda ()
7504           (catch 'ct8 (throw 'ct8 (catch 'ct7 0)))))))
7505  0)
7506
7507(deftest misc.385
7508  (let
7509      #+armedbear ((jvm::*catch-errors* nil))
7510      nil
7511      (funcall
7512       (compile nil '(lambda () (values 1 (catch 'ct2 2))))))
7513  1 2)
7514
7515(deftest misc.386
7516  (let
7517      #+armedbear ((jvm::*catch-errors* nil))
7518      nil
7519      (funcall
7520       (compile nil '(lambda () (values (rationalize (catch 'ct1 1)) 2)))))
7521  1 2)
7522
7523(deftest misc.387
7524  (let
7525      #+armedbear ((jvm::*catch-errors* nil))
7526      nil
7527      (funcall
7528       (compile nil '(lambda () (block b1 (catch 'ct1 (throw 'ct1 (return-from b1 0))))))))
7529  0)
7530
7531;;; ecl (cvs head, 13 June 2004)
7532;;; Problems with multiple-value-setq
7533
7534; NIL cannot be coerced to a C int.
7535
7536(deftest misc.388
7537  (funcall
7538   (compile
7539    nil
7540    '(lambda (a b c)
7541       (declare (type (integer 200077 60836768) a))
7542       (declare (type (integer 339831915 371006999) b))
7543       (declare (type (integer -13 5553) c))
7544       (declare (ignorable a b c))
7545       (declare (optimize (speed 2) (space 1) (safety 0) (debug 0)
7546                          (compilation-speed 0)))
7547       (dotimes (iv4 2 0) (multiple-value-setq (c) 4212))))
7548   8959928 366395687 5048)
7549  0)
7550
7551;;; wrong return value
7552
7553(deftest misc.389
7554  (funcall
7555   (compile
7556    nil
7557    '(lambda (a b c)
7558       (declare (type (integer -49972981888 -48068810368) a))
7559       (declare (type (integer -452283089 -27620701) b))
7560       (declare (type (integer -24815 15089) c))
7561       (declare (ignorable a b c))
7562       (declare (optimize (speed 2) (space 1) (safety 2) (debug 1)
7563                          (compilation-speed 0)))
7564       (multiple-value-setq (c) 8015)))
7565   -49966124671 -68547159 12944)
7566  8015)
7567
7568;;; Evaluation order bug
7569(deftest misc.390
7570  (funcall
7571   (compile
7572    nil
7573    '(lambda (a b c)
7574       (declare (type (integer -257 -140) a))
7575       (declare (type (integer -1 1069496658) b))
7576       (declare (type (integer -4 2001960914944) c))
7577       (declare (ignorable a b c))
7578       (declare (optimize (speed 2) (space 0) (safety 1) (debug 0)
7579                          (compilation-speed 1)))
7580       (labels ((%f12 (f12-1 &optional (f12-2 (setq b 63838027)) &key
7581                             (key1 0) (key2 0))
7582                      b))
7583         (boole boole-orc2 b (let ((*s3* (%f12 0))) -14)))))
7584   -173 1028908375 1289968133290)
7585  1028908383)
7586
7587;;; sbcl 0.8.14.14
7588;;; "The value NIL is not of type SB-C::LVAR"
7589
7590(deftest misc.391
7591  (funcall
7592   (compile
7593    nil
7594    '(lambda (a b)
7595       (declare (optimize (speed 2) (space 0) (safety 0)
7596                          (debug 1) (compilation-speed 3)))
7597       (let* ((v5 (cons b b)))
7598         (declare (dynamic-extent v5))
7599         a)))
7600   'x 'y)
7601  x)
7602
7603;;; sbcl 0.8.14.18
7604;;; "The value #<SB-C::COMBINATION :FUN # :ARGS (# # #) {C44D1C1}>
7605;;;   is not of type SB-C::REF."
7606
7607(deftest misc.392
7608  (funcall
7609   (compile
7610    nil
7611    '(lambda (a b)
7612       (declare (notinline /=))
7613       (declare (optimize (speed 1) (space 2) (safety 1)
7614                          (debug 3) (compilation-speed 3)))
7615       (prog2 0 0 (loop for lv4 below 3 count (or b (/= b))))))
7616   1 2)
7617  0)
7618
7619;;; cmucl (2004-09 snapshot)
7620;;; "Error in function C::CORE-CALL-TOP-LEVEL-LAMBDA:
7621;;;   Unresolved forward reference."
7622;;; (in C::CORE-CALL-TOP-LEVEL-LAMBDA)
7623
7624(deftest misc.393
7625  (funcall
7626   (compile
7627    nil
7628    '(lambda (a b)
7629       (declare (type (integer -995205 1035654) a))
7630       (declare (type (integer 473 114804994247) b))
7631       (declare (ignorable a b))
7632       #+cmu (declare (optimize (extensions:inhibit-warnings 3)))
7633       (declare
7634        (optimize (debug 3) (speed 2) (compilation-speed 0) (space 3)
7635                  (safety 3)))
7636       (labels ((%f7
7637                 (f7-1 f7-2 f7-3
7638                       &optional (f7-4 (lcm (if (>= b a) 0 a))) (f7-5 0)
7639                       &key)
7640                 0))
7641         (progn (%f7 (%f7 b a a b) b 0) 0))))
7642   447930 66120263479)
7643  0)
7644
7645(deftest misc.393a
7646  (funcall
7647   (compile
7648    nil
7649    '(lambda (a b)
7650       (declare (type (integer -76 86) a))
7651       (declare (type (integer -13771285280 109) b))
7652       (declare (ignorable a b))
7653       #+cmu (declare (optimize (extensions:inhibit-warnings 3)))
7654       (declare
7655        (optimize (safety 3) (space 1) (debug 2) (compilation-speed 3)
7656                  (speed 3)))
7657       (dotimes (iv1 2 0)
7658         (case (min -3693810 a iv1) ((26 -4) (ldb (byte 13 0) a)) (t b)))))
7659   56 -1579426331)
7660  0)
7661
7662;;; cmucl (2004-09 snapshot)
7663;;; Wrong values
7664
7665(deftest misc.394
7666  (funcall
7667   (compile
7668    nil
7669    '(lambda (a b)
7670       (declare (type (integer -76645001 98715919) a))
7671       (declare (type (integer 0 856472753903) b))
7672       (declare (ignorable a b))
7673       #+cmu (declare (optimize (extensions:inhibit-warnings 3)))
7674       (declare
7675        (optimize (speed 2) (space 0) (debug 3) (compilation-speed 0)
7676                  (safety 3)))
7677       (logeqv 0 b)))
7678   -34528661 843541658238)
7679  -843541658239)
7680
7681(deftest misc.395
7682  (funcall
7683   (compile
7684    nil
7685    '(lambda (a b)
7686       (declare (type (integer 6429252570156 8761983588786) a))
7687       (declare (type (integer -400378288 4971722) b))
7688       (declare (ignorable a b))
7689       #+cmu (declare (optimize (extensions:inhibit-warnings 3)))
7690       (declare
7691        (optimize (debug 3) (speed 3) (space 2) (safety 0)
7692                  (compilation-speed 3)))
7693       (+ (shiftf a 8496033756259) (min 0 b))))
7694   8369430915156 -369704905)
7695  8369061210251)
7696
7697;;; "The assertion (EQ (CAR C::STACK) C::CONT) failed."
7698(deftest misc.396
7699  (funcall
7700   (compile
7701    nil
7702    '(lambda (a b)
7703       (declare (type (integer -1601 485) a))
7704       (declare (type (integer -190428560464 -1444494) b))
7705       (declare (ignorable a b))
7706       #+cmu (declare (optimize (extensions:inhibit-warnings 3)))
7707       (declare
7708        (optimize (debug 0) (space 2) (speed 0) (safety 3)
7709                  (compilation-speed 2)))
7710       (apply (constantly 0) 0 (list (signum b)))))
7711   -1365 -46960621335)
7712  0)
7713
7714;;; "The assertion (EQ (C::FUNCTIONAL-KIND (C::LAMBDA-HOME C::FUN))
7715;;;      :TOP-LEVEL) failed."
7716(deftest misc.397
7717  (funcall
7718   (compile
7719    nil
7720    '(lambda (a b)
7721       (declare (type (integer -168258525920 -2044) a))
7722       (declare (type (integer -522 54) b))
7723       (declare (ignorable a b))
7724       #+cmu (declare (optimize (extensions:inhibit-warnings 3)))
7725       (declare
7726        (optimize (speed 0) (safety 3) (compilation-speed 1) (space 0)
7727                  (debug 2)))
7728       (labels ((%f4 (f4-1 f4-2 &key)
7729                     (flet ((%f7 (f7-1 f7-2 f7-3 &optional &key (key1 a))
7730                                 (progv '(*s1* *s6* *s2*) (list a 0 key1) f4-1)))
7731                       f4-2)))
7732         (apply #'%f4 (list a 0)))))
7733   -156882103995 -38)
7734  0)
7735
7736;;; "Error in function C::CLOSURE-POSITION:
7737;;;   Can't find #<C::LAMBDA-VAR #x594259BD
7738;;;                  NAME= IV1
7739;;;                  TYPE= #<NUMERIC-TYPE (MOD 3)>>"
7740(deftest misc.398
7741  (funcall
7742   (compile
7743    nil
7744    '(lambda (a b)
7745       (declare (type (integer -319 7353) a))
7746       (declare (type (integer 31751 4233916489) b))
7747       (declare (ignorable a b))
7748       #+cmu (declare (optimize (extensions:inhibit-warnings 3)))
7749       (declare
7750        (optimize (safety 3) (compilation-speed 1) (debug 1) (speed 0)
7751                  (space 0)))
7752       (conjugate
7753        (if t
7754            (labels ((%f12 (f12-1 f12-2 f12-3)
7755                           0))
7756              (%f12 0 b 0))
7757          (dotimes (iv1 2 0) (catch 'ct2 a))))))
7758   4430 3476635674)
7759  0)
7760
7761;;; "NIL is not of type C::CONTINUATION"
7762;;; in C::FIND-PUSHED-CONTINUATIONS
7763(deftest misc.399
7764  (funcall
7765   (compile
7766    nil
7767    '(lambda (a)
7768       (declare (type (integer -3 1) a))
7769       (declare (ignorable a))
7770       #+cmu (declare (optimize (extensions:inhibit-warnings 3)))
7771       (declare
7772        (optimize (space 0) (debug 0) (speed 3) (compilation-speed 2)
7773                  (safety 3)))
7774       (catch 'ct8 (logior a -457019 -1))))
7775   0)
7776  -1)
7777
7778;;; Wrong value
7779(deftest misc.400
7780  (funcall
7781   (compile
7782    nil
7783    '(lambda (a)
7784       (declare (type (integer 3376 4762) a))
7785       (declare (ignorable a))
7786       #+cmu (declare (optimize (extensions:inhibit-warnings 3)))
7787       (declare
7788        (optimize (debug 0) (safety 0) (space 0) (compilation-speed 3)
7789                  (speed 3)))
7790       (case (lognand 775 a) ((-7) 0) (t 4))))
7791   4182)
7792  0)
7793
7794;;; Invalid number of arguments: 1
7795(deftest misc.401
7796  (funcall
7797   (compile
7798    nil
7799    '(lambda (a)
7800       (declare (type (integer 7299 257071514003) a))
7801       (declare (ignorable a))
7802       #+cmu (declare (optimize (extensions:inhibit-warnings 3)))
7803       (declare
7804        (optimize (compilation-speed 2) (space 1) (safety 2) (speed 1)
7805                  (debug 2)))
7806       (logeqv (setq a 220250126156) 0)))
7807   157474319912)
7808  -220250126157)
7809
7810;;; "The assertion (EQ (CAR C::NEW-STACK) C::CONT) failed."
7811(deftest misc.402
7812  (funcall
7813   (compile
7814    nil
7815    '(lambda (a)
7816       (declare (type (integer -19116544 21344004) a))
7817       (declare (ignorable a))
7818       #+cmu (declare (optimize (extensions:inhibit-warnings 3)))
7819       (declare
7820        (optimize (space 1) (safety 3) (debug 1) (compilation-speed 0)
7821                  (speed 0)))
7822       (dotimes (iv3 2 0)
7823         (progn
7824           (apply (constantly 0)
7825                  (list
7826                   (let* ((*s1* 0))
7827                     *s1*)))
7828           0))))
7829   10)
7830  0)
7831
7832;;; "The assertion C::INDIRECT failed."
7833(deftest misc.403
7834  (funcall
7835   (compile
7836    nil
7837    '(lambda (a)
7838       (declare (type (integer -6456 -32) a))
7839       (declare (ignorable a))
7840       #+cmu (declare (optimize (extensions:inhibit-warnings 3)))
7841       (declare
7842        (optimize (space 3) (safety 1) (compilation-speed 1) (speed 0)
7843                  (debug 0)))
7844       (dotimes (iv1 0 a) (loop for lv4 below 3 sum (catch 'ct8 0)))))
7845   -1648)
7846  -1648)
7847
7848;;; From abcl (cvs, 15 Sept 2004)
7849;;; Inconsistent stack height
7850
7851(deftest misc.404
7852  (let #+armedbear ((jvm::*catch-errors* nil))
7853       nil
7854       (funcall
7855        (compile
7856         nil
7857         '(lambda (a b)
7858            (declare (type (integer -77007578505 7500480849) a))
7859            (declare (type (integer 211464 53140083) b))
7860            (declare (ignorable a b))
7861            (declare (optimize (compilation-speed 0) (speed 2) (debug 3)
7862                               (safety 1) (space 3)))
7863            (progn (tagbody (let ((v3
7864                                   (cons (case a
7865                                           ((13 5 -9 2 -13) (go tag8))
7866                                           (t 0))
7867                                         0)))
7868                              0)
7869                            tag8)
7870                   a)))
7871        -1068524571 20786758))
7872  -1068524571)
7873
7874(deftest misc.405
7875  (let #+armedbear ((jvm::*catch-errors* nil))
7876       nil
7877       (funcall
7878        (compile
7879         nil
7880         '(lambda (a b)
7881            (declare (type (integer -82196 13938) a))
7882            (declare (type (integer -44152792 -15846835) b))
7883            (declare (ignorable a b))
7884            (declare (optimize (compilation-speed 3) (safety 2) (speed 3)
7885                               (space 0) (debug 0)))
7886            (block b5
7887              (let ((*s7*
7888                     (cons (if (position (if (eql 0 0)
7889                                             (return-from b5
7890                                               (return-from b5
7891                                                 (let ((*s6* (cons b a))) 0)))
7892                                           b)
7893                                         #(23)
7894                                         :test-not
7895                                         'eql)
7896                               0
7897                             0)
7898                           b)))
7899                0))))
7900        -10305 -26691848))
7901  0)
7902
7903(deftest misc.406
7904  (let #+armedbear ((jvm::*catch-errors* nil))
7905       nil
7906       (funcall
7907        (compile
7908         nil
7909         '(lambda (a)
7910            (declare (type (integer -1 1412366903315) a))
7911            (declare (ignorable a))
7912            (declare (optimize (debug 3) (safety 3) (space 3)
7913                               (compilation-speed 1) (speed 2)))
7914            (progn (tagbody (case 0 ((1 0 4) (values (go 1) 0)) (t 0))
7915                            1)
7916                   0)))
7917        251841706892))
7918  0)
7919
7920;;; Incorrect binding
7921(deftest misc.407
7922  (funcall
7923   (compile
7924    nil
7925    '(lambda (a)
7926       (declare (type (integer -324 175) a))
7927       (declare (ignorable a))
7928       (declare (optimize (safety 0) (space 0) (speed 2) (debug 0)
7929                          (compilation-speed 0)))
7930       (multiple-value-bind (v5) (cons (truncate 0) a) (cdr v5))))
7931   -279)
7932  -279)
7933
7934;;; Stack size too large
7935
7936(deftest misc.408
7937  (let #+armedbear ((jvm::*catch-errors* nil))
7938       nil
7939       (funcall
7940        (compile
7941         nil
7942         '(lambda (a)
7943            (declare (type (integer 0 0) a))
7944            (declare (ignorable a))
7945            (declare (optimize (compilation-speed 0) (safety 3) (speed 0)
7946                               (debug 1) (space 0)))
7947            (progn (tagbody (dotimes (iv4 0
7948                                          (let ((v5 (cons 0 (if (go 3) 0 0)))) 0))
7949                              (progn 0))
7950                            3)
7951                   (ash 0 (min 16 0)))))
7952        0))
7953  0)
7954
7955;;; ecl (07 Oct 2004)
7956;;; (0 . 0) is not of type REAL
7957
7958(deftest misc.409
7959  (funcall
7960   (compile
7961    nil
7962    '(lambda (a b)
7963       (declare (type (integer -40524 53538) a))
7964       (declare (type (integer -5967075 -235) b))
7965       (declare (ignorable a b))
7966       (declare (optimize (speed 2) (safety 1) (space 2)
7967                          (compilation-speed 3) (debug 0)))
7968       (labels ((%f2 (f2-1 f2-2 &optional (f2-3 0) (f2-4 a)) 0))
7969         (apply #'%f2 a
7970                (%f2 b
7971                     (flet ((%f12 (f12-1 f12-2 f12-3 &optional &key
7972                                         (key1 0) (key2 0))
7973                                  (%f2 0 0)))
7974                       (reduce #'(lambda (lmv2 lmv1) (%f2 0 0 a))
7975                               (list 0 0 a 0 0 0 a) :end 7))
7976                     0)
7977                nil))))
7978   -7465 -3590953)
7979  0)
7980
7981#|
7982;;; A bug was found in the compiler.  Contact worm@arrakis.es.
7983
7984Broken at C::WT-MAKE-CLOSURE.
7985|#
7986(deftest misc.410
7987  (funcall
7988   (compile
7989    nil
7990    '(lambda ()
7991       (declare (optimize (safety 0) (space 1) (compilation-speed 0)
7992                          (speed 2) (debug 0)))
7993       (let ((*s2* 0))
7994         (declare (special *s2*))
7995         (reduce #'(lambda (lmv1 lmv2) *s2*) (vector 0) :end 1
7996                 :start 0)))))
7997  0)
7998
7999;;; THROW: The catch CT2 is undefined.
8000(deftest misc.411
8001  (funcall
8002   (compile
8003    nil
8004    '(lambda ()
8005       (declare (optimize (safety 2) (debug 0) (space 0)
8006                          (compilation-speed 2) (speed 0)))
8007       (catch 'ct2 (values 0 (throw 'ct2 0)))
8008       0)))
8009  0)
8010
8011;;; /tmp/eclDD7aumXi8.c: In function `LC3':
8012;;; /tmp/eclDD7aumXi8.c:9: `env0' undeclared (first use in this function)
8013(deftest misc.412
8014  (funcall
8015   (compile
8016    nil
8017    '(lambda (a b)
8018       (declare (type (integer -25409 1946) a))
8019       (declare (type (integer -215956065 223815244) b))
8020       (declare (ignorable a b))
8021       (declare (optimize (compilation-speed 2) (space 3) (debug 2)
8022                          (safety 1) (speed 3)))
8023       (complex (flet ((%f15 (f15-1 &optional &key (key1 0)) 0))
8024                  (reduce #'(lambda (lmv6 lmv1) (%f15 lmv1))
8025                          (list b 0)))
8026                0)))
8027   -21802 -105983932)
8028  0)
8029
8030;;; Different resutls: #<a type-error>, 0
8031(deftest misc.413
8032  (funcall
8033   (compile
8034    nil
8035    '(lambda (a b)
8036       (declare (type (integer -120206733 37762378) a))
8037       (declare (type (integer 2777758072 5675328792) b))
8038       (declare (ignorable a b))
8039       (declare (optimize (compilation-speed 3) (space 3) (debug 3)
8040                          (safety 0) (speed 1)))
8041       (labels ((%f8 (f8-1 f8-2 &optional &key (key1 0))
8042                     (let* ((v2 (ash f8-1 (min 63 a)))) 0)))
8043         (ignore-errors
8044           (logand (apply #'%f8 0 b nil)
8045                   (unwind-protect
8046                       0
8047                     (ash (%f8 0 0)
8048                          (min 48
8049                               (flet
8050                                   ((%f12
8051                                     (f12-1 f12-2 &optional &key
8052                                            (key1 a) (key2 b)
8053                                            &allow-other-keys)
8054                                     0))
8055                                 b)))))))))
8056   -4794909 4095236669)
8057  0)
8058
8059;;; sbcl 0.8.14.28
8060;;; Wrong value computed
8061
8062(deftest misc.414
8063  (funcall
8064   (compile
8065    nil
8066    '(lambda (c)
8067       (declare (optimize (speed 1) (space 3) (compilation-speed 3)
8068                          (debug 3) (safety 1)))
8069       (if (setq c 2)
8070           (case (shiftf c 1) ((2) c) (t 0))
8071         0)))
8072   0)
8073  1)
8074
8075;;; cmucl
8076;;; Sept. 2004 snapshot
8077;;; Wrong return value
8078
8079(deftest misc.415
8080  (funcall
8081   #'(lambda (a c)
8082       (catch 'ct2
8083         (flet ((%f17 (&optional x &key)
8084                        (let* ((y (cons (dotimes (iv3 0)) 0)))
8085                          a)))
8086           c)))
8087   :bad :good)
8088  :good)
8089
8090;;; Wrong value
8091(deftest misc.416
8092  (funcall
8093   (compile
8094    nil
8095    '(lambda (b)
8096       (declare (type (integer 12052668 22838464) b))
8097       (declare (ignorable a b c))
8098       (declare        (optimize (compilation-speed 3) (debug 2) (speed 1) (space 0)
8099                          (safety 3)))
8100       (min (mask-field (byte 2 18) b) 89582)))
8101   13891743)
8102  0)
8103
8104;;; Invalid number of arguments: 3
8105(deftest misc.417
8106  (funcall
8107   (compile
8108    nil
8109    '(lambda (c)
8110     (declare (type (integer 995 22565094) c))
8111     (declare (optimize (safety 2) (debug 1) (space 0) (compilation-speed 2)
8112                        (speed 1)))
8113     (numerator (floor (numerator (deposit-field 0 (byte 0 0) c))))))
8114   17190042)
8115  17190042)
8116
8117;;; Invalid number of arguments: #<Unknown Immediate Object, lowtag=#b110, type=#x66
8118;;;                               {598FCC66}>
8119(deftest misc.418
8120  (funcall
8121   (compile
8122    nil
8123    '(lambda (a b c)
8124       (declare (type (integer 1670923021 2536883848) a))
8125       (declare (ignorable a b c))
8126       (declare (optimize (safety 3) (compilation-speed 3) (speed 1) (debug 1)
8127                          (space 2)))
8128       (if (logior (setf c 67) 0 a) a 0)))
8129   2161404325 -1968715305 83)
8130  2161404325)
8131
8132;;;   nil is not of type c::continuation
8133;;; (c::convert-type-check #<Continuation c1>
8134;;;                       ((nil #<numeric-type integer> #<numeric-type integer>)))
8135
8136(deftest misc.419
8137  (funcall
8138   (compile
8139    nil
8140    '(lambda ()
8141       (declare (optimize (safety 3) (speed 3) (compilation-speed 1) (space 1)
8142                          (debug 2)))
8143       (boole boole-set 0 (case 2 ((0) 0) (t (numerator (catch 'ct2 0))))))))
8144  -1)
8145
8146;;;  nil is not of type c::continuation
8147;;; (c::convert-type-check #<Continuation c1>
8148;;;                       ((nil #<union-type real> #<union-type real>)))
8149
8150(deftest misc.420
8151  (funcall
8152   (compile
8153    nil
8154    '(lambda (a b)
8155       (declare (type (integer -65954801 6519292634236) a))
8156       (declare (type (integer 5721249203 36508717226) b))
8157       (declare (ignorable a b))
8158       (declare
8159        (optimize (space 3) (compilation-speed 2) (safety 3) (speed 0)
8160                  (debug 2)))
8161       (flet ((%f14 (f14-1 f14-2 &key)
8162                    (prog2 0 f14-2 (min (catch 'ct4 (floor 120378948 (max 22 a)))))))
8163         (reduce #'(lambda (lmv6 lmv5) (%f14 0 0))
8164                 (vector 0 0 0)
8165                 :start
8166                 0
8167                 :from-end
8168                 t))))
8169   6313133774518 10840050742)
8170  0)
8171
8172;;; Invalid number of arguments: 1
8173(deftest misc.421
8174  (funcall
8175   (compile
8176    nil
8177    '(lambda (a)
8178       (declare (optimize (debug 0) (space 2) (compilation-speed 1) (safety 0)
8179                          (speed 0)))
8180       (imagpart (block b8 (logior (catch 'ct7 (return-from b8 a)) -1123785)))))
8181   -1021899)
8182  0)
8183
8184;;; Invalid number of arguments: 2
8185(deftest misc.422
8186  (funcall
8187   (compile
8188    nil
8189    '(lambda (a)
8190       (declare (type (integer -13 -3) a))
8191       (declare (optimize (space 2) (debug 1) (safety 1) (speed 2)
8192                          (compilation-speed 1)))
8193       (logorc2 (sbit #*0010000011101010 (min 15 (max 0 0))) a)))
8194   -7)
8195  6)
8196
8197;;;   nil is not of type c::continuation
8198;;; (c::convert-type-check #<Continuation c1>
8199;;;                        ((t #<member-type null> #<union-type real>)))
8200(deftest misc.423
8201  (funcall
8202   (compile
8203    nil
8204    '(lambda (a b)
8205       (declare (type (integer 0 1) a))
8206       (declare (type (integer -8031148528 5509023941) b))
8207       #+cmu (declare (optimize (extensions:inhibit-warnings 3)))
8208       (declare (optimize (space 2) (safety 3) (debug 1) (compilation-speed 3) (speed 2)))
8209       (min 0 (ignore-errors (logand 0 b 388)))))
8210   0 4604112015)
8211  0)
8212
8213;;; Argument x is not a real: nil.
8214;;; (kernel:two-arg-> nil 0)
8215
8216(deftest misc.424
8217  (funcall
8218   (compile
8219    nil
8220    '(lambda (a b)
8221     (declare (type (integer -24 15) a))
8222     (declare (type (integer -99661829155 16) b))
8223     (declare (ignorable a b))
8224     #+cmu (declare (optimize (extensions:inhibit-warnings 3)))
8225     (declare (optimize (safety 3) (debug 1) (compilation-speed 1) (space 3)
8226                        (speed 3)))
8227     (catch 'ct4
8228       (logandc1 a
8229                 (ignore-errors
8230                  (let* ((v8 (complex (throw 'ct4 0) 0)))
8231                    0))))))
8232   -18 -47519360453)
8233  0)
8234
8235;;; Different results
8236(deftest misc.425
8237  (funcall
8238   (compile
8239    nil
8240    '(lambda (a b)
8241     (declare (type (integer -394128 80657) a))
8242     (declare (type (integer 13729431 14852298) b))
8243     (declare (optimize (space 2) (compilation-speed 1) (safety 0) (debug 0)
8244                        (speed 2)))
8245     (logorc1 (* a (logior b 0)) 0)))
8246   -80334 14527920)
8247  1167085925279)
8248
8249;;; Unable to display error condition
8250(deftest misc.426
8251  (funcall
8252   (compile
8253    nil
8254    '(lambda ()
8255       #+cmu (declare (optimize (extensions:inhibit-warnings 3)))
8256       (declare (optimize (safety 3) (space 3) (speed 3) (debug 1)
8257                          (compilation-speed 3)))
8258       (dotimes (iv3 1 0) (logxor iv3 1285775)))))
8259  0)
8260
8261;;; sbcl 0.8.15.13
8262;;; NIL is not of type REAL
8263;;; (This appears to be related to DYNAMIC-EXTENT)
8264
8265(deftest misc.427
8266  (funcall
8267   (compile
8268    nil
8269    '(lambda (a)
8270       (declare (notinline list reduce logior))
8271       (declare (optimize (safety 2) (compilation-speed 1)
8272                          ; #+sbcl (sb-c:insert-step-conditions 0)
8273                          (speed 3) (space 2) (debug 2)))
8274       (logior
8275        (let* ((v5 (reduce #'+ (list 0 a))))
8276          (declare (dynamic-extent v5))
8277          (1- v5)))))
8278   17)
8279  16)
8280
8281(deftest misc.428
8282  (funcall
8283   (compile
8284    nil
8285    '(lambda ()
8286       (declare (notinline -))
8287       (declare        (optimize (compilation-speed 0) (safety 1) (speed 0)
8288                          (debug 2) (space 3)))
8289       (let ((v10 (catch 'ct2 1)))
8290         (declare (dynamic-extent v10))
8291         (- v10)))))
8292  -1)
8293
8294(deftest misc.429
8295  (funcall
8296   (compile
8297    nil
8298    '(lambda ()
8299       (declare (optimize (safety 1) (debug 1) (space 2)
8300                          (speed 2) (compilation-speed 1)))
8301       (let ((v8 (let ((*s3* 0)) *s3*)))
8302         (declare (dynamic-extent v8))
8303         (logandc1 v8 28)))))
8304  28)
8305
8306;;; poplog 15.53
8307;;; Excess type specifier(s) in THE special form
8308
8309(deftest misc.430
8310  (unwind-protect 0 (the integer 1))
8311  0)
8312
8313;;; Wrong return values: T, 0
8314(deftest misc.431
8315  (funcall
8316   (compile
8317    nil
8318    '(lambda (a) (declare (notinline > *))
8319       (declare (optimize (compilation-speed 0) (safety 2) (speed 2) (debug 0) (space 3)))
8320       (catch 'ct1 (* a (throw 'ct1 (if (> 0) a 0))))))
8321   5445205692802)
8322  5445205692802)
8323
8324;;; Ste: stack empty (missing argument? missing result?)
8325(deftest misc.432
8326  (loop for x below 2 count (not (not (typep x t))))
8327  2)
8328
8329(deftest misc.433
8330  (let ((a 1)) (if (not (/= a 0)) a 0))
8331  0)
8332
8333;;; sbcl 0.8.16.13
8334;;;   #<SB-C:TN t1> is not valid as the first argument to VOP:
8335;;;   SB-VM::FAST-ASH-LEFT-MOD32/UNSIGNED=>UNSIGNED
8336;;; Primitive type: T
8337;;; SC restrictions:
8338;;;   (SB-VM::UNSIGNED-REG)
8339;;; The primitive type disallows these loadable SCs:
8340;;;   (SB-VM::UNSIGNED-REG)
8341
8342(deftest misc.434
8343  (funcall
8344   (compile
8345    nil
8346    '(lambda (a b)
8347       (declare (type (integer -8431780939320 1571817471932) a))
8348       (declare (type (integer -4085 0) b))
8349       (declare (ignorable a b))
8350       (declare
8351        (optimize (space 2)
8352                  (compilation-speed 0)
8353                  #+sbcl (sb-c:insert-step-conditions 0)
8354                  (debug 2)
8355                  (safety 0)
8356                  (speed 3)))
8357       (let ((*s5* 0))
8358         (dotimes (iv1 2 0)
8359           (let ((*s5*
8360                  (elt '(1954479092053)
8361                       (min 0
8362                            (max 0
8363                                 (if (< iv1 iv1)
8364                                     (lognand iv1 (ash iv1 (min 53 iv1)))
8365                                   iv1))))))
8366             0)))))
8367   -7639589303599 -1368)
8368  0)
8369
8370;;; failed AVER:
8371;;;  "(AND (EQ (CTRAN-KIND START) INSIDE-BLOCK) (NOT (BLOCK-DELETE-P BLOCK)))"
8372(deftest misc.435
8373  (funcall
8374   (compile
8375    nil
8376    '(lambda (a b c d)
8377       (declare (notinline aref logandc2 gcd make-array))
8378       (declare
8379        (optimize (space 0)
8380                  (safety 0)
8381                  (compilation-speed 3)
8382                  (speed 3)
8383                  (debug 1)
8384                  ))
8385       (progn
8386         (tagbody
8387          (let* ((v2
8388                  (make-array nil :initial-element (catch 'ct1 (go tag2)))))
8389            (declare (dynamic-extent v2))
8390            (gcd (go tag2) (logandc2 (catch 'ct2 c) (aref v2))))
8391          tag2)
8392         0)))
8393   3021871717588 -866608 -2 -17194)
8394  0)
8395
8396;;; In sbcl 0.8.16.18
8397;;;   #<SB-C:TN INTEGER!1> is not valid as the first argument to VOP:
8398;;;   SB-VM::FAST-ASH-LEFT-MOD32/UNSIGNED=>UNSIGNED
8399;;; Primitive type: T
8400;;; SC restrictions:
8401;;;   (SB-VM::UNSIGNED-REG)
8402;;; The primitive type disallows these loadable SCs:
8403;;;   (SB-VM::UNSIGNED-REG)
8404
8405(deftest misc.436
8406  (funcall
8407   (compile
8408    nil
8409    '(lambda (a b)
8410       (declare (type (integer -2917822 2783884) a))
8411       (declare (type (integer 0 160159) b))
8412       (declare (ignorable a b))
8413       (declare
8414        (optimize (compilation-speed 1)
8415                  (speed 3)
8416                  (safety 3)
8417                  (space 0)
8418                  ; #+sbcl (sb-c:insert-step-conditions 0)
8419                  (debug 0)))
8420       (if
8421           (oddp
8422            (loop for
8423                  lv1
8424                  below
8425                  2
8426                  count
8427                  (logbitp 0
8428                           (1-
8429                            (ash b
8430                                 (min 8
8431                                      (count 0
8432                                             '(-10197561 486 430631291
8433                                                         9674068))))))))
8434           b
8435         0)))
8436   1265797 110757)
8437  0)
8438
8439;;;  The value NIL is not of type INTEGER.
8440;;; (in (SB-C::TN-SC-OFFSET 1 #<SB-C:TN #:G27!1>))
8441
8442(deftest misc.437
8443  (funcall
8444   (compile
8445    nil
8446    '(lambda (a b c d e)
8447       (declare (notinline values complex eql))
8448       (declare
8449        (optimize (compilation-speed 3)
8450                  (speed 3)
8451                  ; #+sbcl (sb-c:insert-step-conditions 0)
8452                  (debug 1)
8453                  (safety 1)
8454                  (space 0)))
8455       (flet ((%f10
8456               (f10-1 f10-2 f10-3
8457                      &optional (f10-4 (ignore-errors 0)) (f10-5 0)
8458                      &key &allow-other-keys)
8459               (if (or (eql 0 0) t) 0 (if f10-1 0 0))))
8460         (complex (multiple-value-call #'%f10 (values a c b 0 0)) 0))))
8461   80043 74953652306 33658947 -63099937105 -27842393)
8462  0)
8463
8464;;;   #<SB-C:TN COUNT!1> is not valid as the second argument to VOP:
8465;;;   SB-VM::FAST-ASH-LEFT-MOD32/UNSIGNED=>UNSIGNED
8466;;; Primitive type: T
8467;;; SC restrictions:
8468;;;   (SB-VM::UNSIGNED-REG)
8469;;; The primitive type disallows these loadable SCs:
8470;;;   (SB-VM::UNSIGNED-REG)
8471
8472(deftest misc.438
8473  (funcall
8474   (compile
8475    nil
8476    ' (lambda (a)
8477        (declare (type (integer 0 1696) a))
8478        ; (declare (ignorable a))
8479        (declare (optimize (space 2) (debug 0) (safety 1)
8480                   (compilation-speed 0) (speed 1)))
8481        (if (logbitp 0 (ash (1- a) (min 11 a))) 0 0)))
8482   805)
8483  0)
8484
8485;;; "The value -13589 is not of type (INTEGER -15205 18871)"
8486(deftest misc.439
8487  (funcall
8488   (compile
8489    nil
8490    '(lambda (a)
8491       (declare (type (integer -15205 18871) a))
8492       (declare (ignorable a))
8493       (declare
8494        (optimize (space 2)
8495                  ; (sb-c:insert-step-conditions 0)
8496                  (speed 1)
8497                  (safety 1)
8498                  (debug 1)
8499                  (compilation-speed 3)))
8500       (if (<= a (- (setf a 10305))) a 0)))
8501   -13589)
8502  10305)
8503
8504;;; In ACL 7.0 (sparc, Solaris 8, 11 Nov 2004)
8505;;; Error: the value of (CAR EXCL::INTEGERS) is NIL, which is not of type INTEGER.
8506
8507(deftest misc.440
8508  (funcall
8509   (compile
8510    nil
8511    '(lambda (a b c)
8512       (declare (notinline logior))
8513       (declare (optimize (safety 3) (debug 1) (speed 0) (space 1)
8514                          (compilation-speed 3)))
8515       (flet ((%f10 (&optional &key
8516                               (key1
8517                                (logior (flet ((%f4 (f4-1
8518                                                     &optional
8519                                                     &key
8520                                                     (key1 0)
8521                                                     (key2 b)
8522                                                     &allow-other-keys)
8523                                                 c))
8524                                          (%f4 0))))
8525                               &allow-other-keys)
8526                0))
8527         (let ((*s8* (%f10)))
8528           (declare (special *s8*))
8529           *s8*))))
8530   13524 4484529434427 8109510572804)
8531  0)
8532
8533;;; Error: the value of realpart is nil, which is not of type (or rational float).
8534(deftest misc.441
8535  (funcall
8536   (compile
8537    nil
8538    '(lambda (a b)
8539       (declare (notinline complex))
8540       (declare (optimize (compilation-speed 1) (space 1) (speed 3) (safety 2) (debug 3)))
8541       (flet ((%f8 (f8-1 f8-2 &optional
8542                         &key (key1 (labels ((%f9 nil a)) (complex (%f9) 0)))
8543                         (key2 0) &allow-other-keys)
8544                0))
8545         (%f8 0 a))))
8546   1 2)
8547  0)
8548
8549;;; Error: the value of excl::x is nil, which is not of type integer.
8550(deftest misc.442
8551  (funcall
8552   (compile
8553    nil
8554    '(lambda (a b)
8555       (declare (notinline apply evenp))
8556       (declare (optimize (speed 1) (space 1) (safety 1) (compilation-speed 0) (debug 0)))
8557       (labels ((%f18 (f18-1 &optional
8558                             &key
8559                             (key1 (flet ((%f8 nil b)) (if (evenp (%f8)) 0 a)))
8560                             (key2 0))
8561                  0))
8562         (apply #'%f18 b nil))))
8563   505808341634 -39752189)
8564  0)
8565
8566;;; Error: No from-creg to move to <3:iparam2@(:iparam 2){4=c{s:<3>}}> before (move-throw-tag nil nil -> ({18}) ([18>>:frame :dfr]))
8567
8568(deftest misc.443
8569  (funcall
8570   (compile
8571    nil
8572    '(lambda (a b c d e)
8573       (declare (type (integer -2310674 2) a))
8574       (declare (type (integer -492505702625 -147091001460) b))
8575       (declare (type (integer -27638568 52971156) c))
8576       (declare (type (integer -151 203) d))
8577       (declare (type (integer -1400301 8173230) e))
8578       (declare (ignorable a b c d e))
8579       (declare (optimize (compilation-speed 3) (debug 0) (space 0) (safety 1) (speed 1)))
8580       (catch 'ct7 (lcm (case 0
8581                          ((-4557) (let ((*s7* (max d))) 0))
8582                          ((-15387) c)
8583                          (t 0))
8584                        (unwind-protect (throw 'ct7 b) 0)))))
8585   -1748290 -244489705763 38969920 -90 341977)
8586  -244489705763)
8587
8588;;; misc.444
8589;;; misc.445
8590
8591;;; gcl 25 Nov 2004
8592;;; Incorrect return value
8593(deftest misc.446
8594  (funcall
8595   (compile
8596    nil
8597    '(lambda (a b c d)
8598       (declare (type (integer -1254 1868060) a))
8599       (declare (type (integer -1 0) b))
8600       (declare (type (integer -424707253248 -82453721088) c))
8601       (declare (type (integer -252962 3018671) d))
8602       (declare (ignorable a b c d))
8603       (declare (optimize (safety 3) (space 3) (speed 3)
8604                          (compilation-speed 3) (debug 3)))
8605       (* (labels ((%f8 (&optional (f8-1 0)) (setq b 0)))
8606            (if (> d 1668249724 (%f8)) 0 (complex a 0)))
8607          (if (oddp b) 0 c))))
8608   796131 -1 -338008808923 530637)
8609  -269099291056676913)
8610
8611(deftest misc.447
8612  (funcall
8613   (compile
8614    nil
8615    '(lambda (a)
8616       (declare (type (integer 38632397 46632460288) a))
8617       (declare (optimize (space 0) (safety 0) (debug 1)
8618                          (compilation-speed 1) (speed 0)))
8619       (catch 'ct2 (if (= a 0 (throw 'ct2 0)) 1 2289596))))
8620   18160383912)
8621  0)
8622
8623(deftest misc.448
8624  (funcall
8625   (compile
8626    nil
8627    '(lambda (a b)
8628       (declare (type (integer -3716 1269) a))
8629       (declare (type (integer -1976579 2312) b))
8630       (declare (optimize (compilation-speed 1) (safety 0)
8631                          (speed 0) (space 0) (debug 3)))
8632       (if (<= 0 b (setq a 117)) 0 a)))
8633   -1147 -44004)
8634  117)
8635
8636;;; gcl 27 Nov 2004
8637;;; Incorrect return value
8638
8639(deftest misc.449
8640  (funcall (compile nil '(lambda (a) (* 10 a (setq a 1000)))) 1)
8641  10000)
8642
8643;;; Error in COMPILER::CMP-ANON [or a callee]: The variable MIN is unbound.
8644(deftest misc.450
8645  (funcall
8646   (compile nil '(lambda (a b) (min 0 (reduce #'min (vector a b 0)) 0)))
8647   -10 -1)
8648  -10)
8649
8650;;; gcl 28 Nov 2004
8651;;; Incorrect return value
8652
8653(deftest misc.451
8654  (funcall (compile nil '(lambda (a b) (flet ((%f3 () (setq a -2210)))
8655                                         (logxor a b (%f3)))))
8656           -22650 20595)
8657  171)
8658
8659(deftest misc.452
8660  (funcall (compile nil '(lambda (d) (labels ((%f3 () (setf d -1135) -983))
8661                                       (+ d (%f3) 11267))))
8662           -2914)
8663  7370)
8664
8665(deftest misc.453
8666  (funcall (compile nil '(lambda (a) (* a (setf a 2) a (identity 5))))
8667           3)
8668  60)
8669
8670(deftest misc.454
8671  (let* ((form '(let ((v1 0)) (decf v1 (setq v1 -1))))
8672         (val1 (eval form))
8673         (val2 (funcall (compile nil `(lambda () ,form)))))
8674    (if (eql val1 val2) :good
8675      (list val1 val2)))
8676  :good)
8677
8678;;; sbcl 0.8.17.24
8679;;; Bugs in the just-introduced fixnum arithmetic transforms
8680
8681;;; LOGAND (?) bug
8682
8683(deftest misc.455
8684  (funcall
8685   (compile
8686    nil
8687    '(lambda (a b)
8688       (declare (type (integer -4079701634499 2272876436845) b))
8689       (declare (optimize (space 0) (compilation-speed 1)
8690                          (safety 3) (speed 2) (debug 0)))
8691       (logand (* -775 b) a 37284)))
8692   -18465060867 832909434173)
8693  32772)
8694
8695(deftest misc.456
8696  (funcall
8697   (compile
8698    nil
8699    '(lambda (b c)
8700       (declare (type (integer -30606350847 35078064098) b))
8701       (declare (type (integer -6652 6638) c))
8702       (declare (optimize (space 3) (safety 0)
8703                          (speed 0) (compilation-speed 2) (debug 1)))
8704           (logand (* -9964236 (setq c 6206) 2600) b c)))
8705    17296668225 -6574)
8706  4096)
8707
8708;;; DEPOSIT-FIELD (?) bug
8709
8710(deftest misc.457
8711  (funcall
8712   (compile
8713    nil
8714    '(lambda (a b)
8715       (declare (type (integer -455461 343063) a))
8716       (declare (type (integer -1020097 -12430) b))
8717       (declare (optimize (speed 3) (space 0) (compilation-speed 3)
8718                          (debug 0) (safety 3)))
8719       (deposit-field (* (logeqv a a) b) (byte 6 24) 0)))
8720   -212811 -985078)
8721  0)
8722
8723;;; LDB, *
8724
8725(deftest misc.458
8726  (funcall
8727   (compile
8728    nil
8729    ' (lambda (a)
8730           (declare (type (integer -8175 27760966190) a))
8731           (declare (optimize
8732                     ;; The next optimize declaration is necessary
8733                     ;; for the bug to occur in sbcl 0.8.17.24
8734                     #+sbcl (sb-c:insert-step-conditions 0)
8735                     (space 2) (speed 0) (compilation-speed 1)
8736                     (safety 0) (debug 3)))
8737           (ldb (byte 29 0) (* a a))))
8738   14774118941)
8739  101418825)
8740
8741;;; LOGAND, +
8742
8743(deftest misc.459
8744  (funcall
8745   (compile
8746    nil
8747    '(lambda (a b)
8748           (declare (type (integer -32933298905 -168011) a))
8749           (declare (type (integer -190015111797 16) b))
8750           (declare (optimize (speed 2) (compilation-speed 0) (space 0)
8751                              (safety 1) (debug 0)))
8752           (logand (+ b -9255) a 63)))
8753   -8166030199 -45872222127)
8754  8)
8755
8756;;; In sbcl 0.8.17.28-signed-modular-arithmetic.3
8757;;; Unreachable code is found or flow graph is not properly depth-first ordered.
8758;;; (This is apparently a different bug from the previous ones that
8759;;;  were causing this message to be printed.)
8760
8761(deftest misc.460
8762  (funcall
8763   (compile
8764    nil
8765    '(lambda (a)
8766       (declare (type (integer 50354997 50514623) a))
8767       (declare (ignorable a))
8768       (declare
8769        (optimize (speed 0)
8770                  (safety 0)
8771                  (compilation-speed 3)
8772                  #+sbcl (sb-c:insert-step-conditions 0)
8773                  (debug 1)
8774                  (space 1)))
8775       (loop for lv3 below 2
8776             sum (if (find 0
8777                           '(-17604051 126613572 -795198 12037855 127043241 -2 -59
8778                                       -3458890 1505 -1 -2 107498637 -977489 172087 421813
8779                                       543299114 12 4311490 569 -3509 -4051770 -1 1 1
8780                                       216399387 -2482 143297 2 304550 -61 -195904988
8781                                       57682175 2344 1294831 -247 -2 25779388 -296 -12115
8782                                       -158487 -15)
8783                           :test 'eql)
8784                     (if (find 0 #(4193594) :test '<)
8785                         (min (catch 'ct6 0) (catch 'ct8 0) 0)
8786                       (let ((*s1* (cons a 0)))
8787                         (car *s1*)))
8788                   0))))
8789   50395193)
8790  0)
8791
8792;;; gcl 16 Dec 2004
8793;;; Error possibly related to type propagation
8794
8795(deftest misc.461
8796  (funcall
8797   (compile nil '(lambda (a)
8798                   (declare (type (integer -26657952320 0) a))
8799                   (declare (optimize (compilation-speed 0) (space 3) (speed 3)
8800                                      (safety 0) (debug 2)))
8801                   (- a
8802                      (ash -1 (min 31 (- a)))
8803                      -26715477)))
8804   -26179151369)
8805  -24004952244)
8806
8807;;; gcl 18 Dec 2004
8808;;; Doesn't cause an error, unless -Werror is added to gcc flags
8809;;; gazonk0.c: In function `L1':
8810;;; gazonk0.c:5257: warning: assignment makes integer from pointer without a cast
8811
8812(deftest misc.462
8813  (funcall
8814   (compile nil '(lambda (a b)
8815                   (declare (type (integer -2726808666112 -26532) a))
8816                   (declare (type (integer 182701814 171137312256) b))
8817                   (declare (ignorable a b))
8818                   (declare (optimize (compilation-speed 3) (safety 0)
8819                                      (speed 3) (space 3) (debug 3)))
8820                   (ash (let* ((v8 (cons 0 0))) 0) (min 15 a))))
8821   -1982565461868 46279989780)
8822  0)
8823
8824;;; gazonk0.c: In function `L1':
8825;;; gazonk0.c:5262: warning: assignment makes integer from pointer without a cast
8826(deftest misc.463
8827  (funcall
8828   (compile nil '(lambda (a b)
8829                   (declare (type (integer 0 0) a))
8830                   (declare (type (integer -160364747008 264742845184) b))
8831                   (declare (ignorable a b))
8832                   (declare (optimize (debug 0) (safety 0)
8833                                      (compilation-speed 2) (space 0)
8834                                      (speed 1)))
8835                   (ash (multiple-value-setq (a) 0) (min 97 13027666096))))
8836   0 34670845086)
8837  0)
8838
8839;;; gcl 21 Dec 2004
8840;;; Compiler error on ash, rem
8841
8842(deftest misc.464
8843  (funcall
8844   (compile nil '(lambda ()
8845                   (declare (optimize (debug 1) (safety 2) (compilation-speed 0)
8846                                      (space 1) (speed 1)))
8847                   (count (ash (the integer
8848                                 (macrolet () (rem -197 (min -72 215))))
8849                               (min 98 442719))
8850                          #(0 96) :test '=))))
8851  0)
8852
8853(deftest misc.465
8854  (funcall
8855   (compile nil '(lambda (a)
8856                   (declare (type (integer -18822 -1280) a))
8857                   (declare (optimize (debug 0) (speed 1)
8858                                      (compilation-speed 3) (safety 0)
8859                                      (space 0)))
8860                   (ash (the integer
8861                          (logand a (if t a (imagpart -2607360))))
8862                        (min 79 (catch 'ct7 0)))))
8863   -17635)
8864  -17635)
8865
8866;;; ACL 6.2 (x86 linux)
8867;;; Bug in type propagation for ISQRT
8868;;; Found with the special purpose random tester for type propagation
8869
8870;;; While compiling (:ANONYMOUS-LAMBDA 22203):
8871;;; Error: -1 is illegal argument to isqrt
8872
8873(deftest misc.466
8874  (funcall (compile nil '(lambda (x)
8875                           (declare (type (member 4 -1) x)
8876                                    (optimize speed (safety 1)))
8877                           (isqrt x)))
8878           4)
8879  2)
8880
8881;;; gcl 24 Dec 2004
8882;;; Incorrect results (these may all be related)
8883;;; These are also produced by the special purpose tester in random-type-prop.lsp
8884
8885(deftest misc.467
8886  (funcall
8887   (compile nil '(lambda (p2 p3)
8888                   (declare (optimize speed (safety 1))
8889                            (type (integer -990888631320) p2)
8890                            (type (integer -20346 -19755) p3))
8891                   (+ -77 (the (integer * -990888630255) p2) p3)))
8892   -990888630272 -19756)
8893  -990888650105)
8894
8895(deftest misc.468
8896  (funcall
8897   (compile nil '(lambda (p2 p3)
8898                   (declare (optimize speed (safety 1))
8899                            (type (integer * 151075404030) p2)
8900                            (type (integer 6515518 *) p3))
8901                   (- 12967657127936 (the (eql 151075403520) p2)
8902                      (the (member 6515658 -14) p3))))
8903   151075403520 6515658)
8904  12816575208758)
8905
8906(deftest misc.469
8907  (funcall
8908   (compile nil '(lambda (p2)
8909                   (declare (optimize speed (safety 1)) (type integer p2))
8910                   (+ 30926 (the (integer -4025987543018 *) p2))))
8911   -4025817763840)
8912  -4025817732914)
8913
8914(deftest misc.470
8915  (funcall
8916   (compile nil '(lambda (p2)
8917                   (declare (optimize speed (safety 1))
8918                            (type (integer 3689224658939 *) p2))
8919                   (+ -1071 (the (integer * 3689229115390) p2))))
8920   3689228853248)
8921  3689228852177)
8922
8923(deftest misc.471
8924  (funcall
8925   (compile nil '(lambda (p1 p2)
8926                   (declare (optimize speed (safety 1))
8927                            (type (integer -9024844 230253450) p1)
8928                            (type (eql 35716681856) p2))
8929                   (* p1 (the (integer * 35716681856) p2))))
8930   -9024809 35716681856)
8931  -322336231864165504)
8932
8933(deftest misc.472
8934  (funcall
8935   (compile nil '(lambda (p1 p2)
8936                   (declare (optimize speed (safety 1))
8937                            (type (integer -785238 -80) p1)
8938                            (type (eql -523213622272) p2))
8939                   (min p1 (the integer p2))))
8940   -259 -523213622272)
8941  -523213622272)
8942
8943(deftest misc.473
8944  (funcall
8945   (compile nil '(lambda (p2)
8946                   (declare (optimize speed (safety 1))
8947                            (type (integer * 65861934352) p2))
8948                   (max 23939 (the (integer 64863825609 65878336765) p2))))
8949   65861912512)
8950  65861912512)
8951
8952(deftest misc.474
8953  (funcall
8954   (compile nil '(lambda (p1)
8955                   (declare (optimize speed (safety 1))
8956                            (type (integer -6750156308) p1))
8957                   (logand (the signed-byte p1) -540165229)))
8958   -6750156304)
8959  -7289140848)
8960
8961;;; abcl 25 Dec 2005
8962;;; Debugger invoked on condition of type UNDEFINED-FUNCTION:
8963;;; The function %FAILED-AVER is undefined.
8964
8965(deftest misc.475
8966  (let #+armedbear ((jvm::*catch-errors* nil))
8967       nil
8968       (funcall
8969        (compile nil '(lambda (p1 p2 p3 p4 p6)
8970                        (declare (optimize speed (safety 1))
8971                                 (type (integer -785238 61564048) p1)
8972                                 (type (integer * 65861934352) p2))
8973                        (+ P1 (THE (INTEGER -485480 -7019) P2) P3 P4
8974                           463666373060
8975                           P6)))
8976        61564048 -7457 24939545512 51 730))
8977  488667475944)
8978
8979(deftest misc.476
8980  (let #+armedbear ((jvm::*catch-errors* nil))
8981       nil
8982       (funcall
8983        (compile nil '(lambda (p4)
8984                        (declare (optimize speed (safety 1))
8985                                 (type (integer -115781893486) p4))
8986                        (- 1 -35 0 (the (integer -115778245122) p4) -2)))
8987        -115778114900))
8988  115778114938)
8989
8990(deftest misc.477
8991  (let #+armedbear ((jvm::*catch-errors* nil))
8992       nil
8993       (funcall
8994        (compile nil '(lambda (p4 p5)
8995                        (declare (optimize speed (safety 1))
8996                                 (type (integer -126908726190 -126906628448) p4)
8997                                 (type (integer * 2202) p5))
8998                        (* -1950 -33610502463 2 p4 p5)))
8999        -126906629040 1839))
9000  -30591843552678654213361992000)
9001
9002(deftest misc.478
9003  (let #+armedbear ((jvm::*catch-errors* nil))
9004       nil
9005       (funcall
9006        (compile nil '(lambda (p2)
9007                        (declare (optimize speed (safety 1))
9008                                 (type (integer * 2343679) p2))
9009                        (logand 12050257282405 p2 117775123 505354693 -415679150084)))
9010        -6189))
9011  33816832)
9012
9013;;; Bug in CMUCL Snapshot 2004-10
9014;;; Invalid number of arguments: 370632372
9015
9016(deftest misc.479
9017  (let ((r (make-array nil :element-type '(unsigned-byte 32)))
9018        (fn (compile nil '(lambda (r p2)
9019                            (declare (optimize speed (safety 1))
9020                                     (type (simple-array (unsigned-byte 32) nil) r)
9021                                     (type integer p2))
9022                            (setf (aref r) (logxor 0 (the (integer 2797513123 2798027357) p2)))
9023                            (values)))))
9024    (funcall fn r 2797674503)
9025    (aref r))
9026  2797674503)
9027
9028(deftest misc.480
9029  (let ((r (make-array nil :element-type 'integer))
9030        (fn (compile nil '(lambda (r p1)
9031                            (declare (optimize speed (safety 1))
9032                                     (type (simple-array integer nil) r)
9033                                     (type (integer -797971 -797511) p1))
9034                            (setf (aref r) (logeqv p1 15 1078254884158 -12564176924 0 15096591909))
9035                            (values)))))
9036    (funcall fn r -797965)
9037    (aref r))
9038  -1075415510532)
9039
9040(deftest misc.481
9041  (let ((r (make-array nil :element-type '(unsigned-byte 16)))
9042        (fn (compile nil '(lambda (r p1)
9043                            (declare (optimize speed (safety 1))
9044                                     (type (simple-array (unsigned-byte 16) nil) r)
9045                                     (type (member 4194309 -123 1692 -4432 -760653 -1741 37) p1))
9046                            (setf (aref r) (logorc1 (the (eql -4432) p1) 0))
9047                            (values)))))
9048    (funcall fn r -4432)
9049    (aref r))
9050  4431)
9051
9052;; Various incorrect results
9053
9054(deftest misc.482
9055  (let ((r (make-array nil :element-type '(unsigned-byte 4)))
9056        (fn (compile nil '(lambda (r p2)
9057                            (declare (optimize speed (safety 1))
9058                                     (type (simple-array (unsigned-byte 4) nil) r)
9059                                     (type (eql -4) p2))
9060                            (setf (aref r) (logorc2 13 p2))
9061                            (values)))))
9062    (funcall fn r -4)
9063    (aref r))
9064  15)
9065
9066(deftest misc.483
9067  (let ((r (make-array nil :element-type '(unsigned-byte 4)))
9068        (fn (compile nil '(lambda (r p1 p2)
9069                            (declare (optimize speed (safety 1))
9070                                     (type (simple-array (unsigned-byte 4) nil) r)
9071                                     (type (integer * 28306533) p1)
9072                                     (type (integer * 1245601) p2))
9073                            (setf (aref r) (logandc1 p1 (the (integer -3308174) p2)))
9074                            (values)))))
9075    (funcall fn r -519 -28180)
9076    (aref r))
9077  4)
9078
9079(deftest misc.484
9080  (let ((r (make-array nil :element-type '(unsigned-byte 4)))
9081        (fn (compile nil '(lambda (r p2)
9082                            (declare (optimize speed (safety 1))
9083                                     (type (simple-array (unsigned-byte 4) nil) r)
9084                                     (type (member 260646 -348969 34359738370 -110167) p2))
9085                            (setf (aref r) (logandc2 9 (the (eql -348969) p2)))
9086                            (values)))))
9087    (funcall fn r -348969)
9088    (aref r))
9089  8)
9090
9091(deftest misc.485
9092  (let ((r (make-array nil :element-type 'bit))
9093        (fn (compile nil '(lambda (r p2)
9094                            (declare (optimize speed (safety 1))
9095                                     (type (simple-array bit nil) r)
9096                                     (type (integer -108220 256178) p2))
9097                            (setf (aref r) (logand 1 (the (member -1 2147483652 1 -5 3802) p2)))
9098                            (values)))))
9099    (funcall fn r -5)
9100    (aref r))
9101  1)
9102
9103(deftest misc.486
9104  (let ((r (make-array nil :element-type '(unsigned-byte 4)))
9105        (fn (compile nil '(lambda (r p1 p2)
9106                            (declare (optimize speed (safety 1))
9107                                     (type (simple-array (unsigned-byte 4) nil) r)
9108                                     (type (integer -9) p1)
9109                                     (type (integer * 1234117) p2))
9110                            (setf (aref r) (logior (the (integer -295 *) p1) (the (integer -90 *) p2)))
9111                            (values)))))
9112    (funcall fn r 6 6)
9113    (aref r))
9114  6)
9115
9116(deftest misc.487
9117  (let ((r (make-array nil :element-type '(unsigned-byte 16)))
9118        (fn (compile nil '(lambda (r p1)
9119                            (declare (optimize speed (safety 1))
9120                                     (type (simple-array (unsigned-byte 16) nil) r)
9121                                     (type (integer 1583040351 1587341394) p1))
9122                            (setf (aref r) (logandc2 (the (integer 1587211196 1587341392) p1) -166174))
9123                            (values)))))
9124    (funcall fn r 1587341392)
9125    (aref r))
9126  34832)
9127
9128(deftest misc.488
9129  (let ((r (make-array nil :element-type '(unsigned-byte 32)))
9130        (fn (compile nil '(lambda (r p2)
9131                            (declare (optimize speed (safety 1))
9132                                     (type (simple-array (unsigned-byte 32) nil) r)
9133                                     (type (integer 1960409798 1960426181) p2))
9134                            (setf (aref r) (logorc1 -1 p2))
9135                            (values)))))
9136    (funcall fn r 1960409801)
9137    (aref r))
9138  1960409801)
9139
9140(deftest misc.489
9141  (let ((r (make-array nil :element-type '(unsigned-byte 32)))
9142        (fn (compile nil '(lambda (r p2)
9143                            (declare (optimize speed (safety 1))
9144                                     (type (simple-array (unsigned-byte 32) nil) r)
9145                                     (type (integer -55) p2))
9146                            (setf (aref r) (logorc2 0 (the (member -51) p2)))
9147                            (values)))))
9148    (funcall fn r -51)
9149    (aref r))
9150  50)
9151
9152(deftest misc.490
9153  (let ((r (make-array nil :element-type '(unsigned-byte 32)))
9154        (fn (compile nil '(lambda (r p1)
9155                            (declare (optimize speed (safety 1))
9156                                     (type (simple-array (unsigned-byte 32) nil) r)
9157                                     (type (integer 761639858 1030075825) p1))
9158                            (setf (aref r) (logior (the (integer * 35389813668) p1) 0))
9159                            (values)))))
9160    (funcall fn r 1030075308)
9161    (aref r))
9162  1030075308)
9163
9164(deftest misc.491
9165  (let ((r (make-array nil :element-type '(signed-byte 16)))
9166        (fn (compile nil '(lambda (r p2)
9167                            (declare (optimize speed (safety 1))
9168                                     (type (simple-array (signed-byte 16) nil) r)
9169                                     (type (integer 505774114 573717424) p2))
9170                            (setf (aref r) (lognand 58539 (the (integer * 910674467) p2)))
9171                            (values)))))
9172    (funcall fn r 506608551)
9173    (aref r))
9174  -8356)
9175
9176(deftest misc.492
9177  (let ((r (make-array nil :element-type '(signed-byte 8)))
9178        (fn (compile nil '(lambda (r p1)
9179                            (declare (optimize speed (safety 1))
9180                                     (type (simple-array (signed-byte 8) nil) r) (type (integer * 22050378) p1))
9181                            (setf (aref r) (lognand (the (integer 19464371) p1) 2257))
9182                            (values)))))
9183    (funcall fn r 19469591)
9184    (aref r))
9185  -18)
9186
9187;;; ABCL (25 Dec 2004)
9188;;; Class verification failed: (class: org/armedbear/lisp/out, method: execute signature: (Lorg/armedbear/lisp/LispObject;Lorg/armedbear/lisp/LispObject;Lorg/armedbear/lisp/LispObject;)Lorg/armedbear/lisp/LispObject;) Expecting to find integer on stack
9189
9190(deftest misc.493
9191  (let #+abcl ((jvm::*catch-errors* nil))
9192       nil
9193       (funcall
9194        (compile nil '(lambda (b)
9195                        (declare (optimize (speed 2) (debug 1) (safety 3)
9196                                           (compilation-speed 3) (space 1)))
9197                        (aref #(41397376227 18660605846 49244777443) (min 2 (max 0 b)))))
9198       
9199        -71))
9200  41397376227)
9201
9202;;; ABCL (26 Dec 2004)
9203;;;  Class verification failed: [...] Illegal exception table range
9204
9205(deftest misc.494
9206  (let #+abcl ((jvm::*catch-errors* nil))
9207       nil
9208       (funcall
9209        (compile nil '(lambda ()
9210                        (declare (optimize (safety 0) (space 2) (debug 3) (speed 0)
9211                                           (compilation-speed 2)))
9212                        (conjugate (progn (catch 'ct5 (if t 0 0)) 0))))))
9213  0)
9214
9215;;; The value 5085 is not of type FUNCTION.
9216
9217(deftest misc.495
9218  (funcall
9219   (compile nil '(lambda (a b)
9220                   (declare (type (integer -4197 284380207) a))
9221                   (declare (type (integer -23 5088) b))
9222                   (declare (ignorable a b))
9223                   (declare (optimize (speed 1) (space 2) (debug 0)
9224                                      (compilation-speed 0) (safety 2)))
9225                   (if (position (progn (1+ b) 0)
9226                                 '(169496 -726 -13623 53307916 128 -258391 156
9227                                          7432659 30 20 -11))
9228                       0
9229                     a)))
9230   72179019 5084)
9231  72179019)
9232
9233;;; Inconsistent stack height 1 != 2
9234
9235(deftest misc.496
9236  (let #+abcl ((jvm::*catch-errors* nil))
9237       nil
9238       (funcall
9239        (compile nil
9240                 '(lambda (a)
9241                    (declare (type (integer -54915 -3396) a))
9242                    (declare (optimize (debug 3) (space 0) (safety 2) (speed 2)
9243                                       (compilation-speed 3)))
9244                    (progn (1+ a) (catch 'ct6 (progn 0)))))
9245        -25986))
9246  0)
9247
9248(deftest misc.497
9249  (let #+abcl ((jvm::*catch-errors* nil))
9250       nil
9251       (funcall
9252        (compile nil
9253                 '(lambda (b)
9254                    (declare (type (integer -1 0) b))
9255                    (declare (optimize (space 3) (compilation-speed 1)
9256                                       (safety 0) (debug 1) (speed 0)))
9257                    (if 0 (prog2 0 0 (1+ b)) 0)))
9258        0))
9259  0)
9260
9261;;; Inconsistent stack height 1 != 0
9262
9263(deftest misc.498
9264  (let #+abcl ((jvm::*catch-errors* nil))
9265       nil
9266       (funcall
9267        (compile nil
9268                 '(lambda (a)
9269                    (declare (type (integer -16191 4) a))
9270                    (declare (optimize (compilation-speed 2) (space 1) (debug 0)
9271                                       (safety 0) (speed 2)))
9272                    (conjugate (dotimes (iv1 0 0)
9273                                 (let ((v2 (dotimes (iv3 0 0) (1+ a))))
9274                                   0)))))
9275        -2840))
9276  0)
9277
9278;;; Incompatible object argument for function call
9279
9280(deftest misc.499
9281  (let #+abcl ((jvm::*catch-errors* nil))
9282       nil
9283       (funcall
9284        (compile nil
9285                 '(lambda (a b)
9286                    (declare (type (integer -31415 133871) a))
9287                    (declare (type (integer -993 6448) b))
9288                    (declare (ignorable a b))
9289                    (declare (optimize (space 0) (debug 2) (safety 0) (speed 0)
9290                                       (compilation-speed 0)))
9291                    (progn (ceiling (progn (1+ b) a)) a)))
9292        -16435 2620))
9293  -16435)
9294
9295;;; Stack overflow during compilation
9296
9297(deftest misc.500
9298  (funcall
9299   (compile nil '(lambda nil
9300                   (declare (optimize (space 2) (debug 2) (compilation-speed 2)
9301                                      (speed 1) (safety 3)))
9302                   (the integer (integer-length (dotimes (iv4 2 15790955)))))))
9303  24)
9304
9305;;; Inconsistent stack height 1 != 0
9306
9307(deftest misc.501
9308  (let #+abcl ((jvm::*catch-errors* nil))
9309       nil
9310       (funcall
9311        (compile nil '(lambda (a)
9312                        (declare (type (integer -437165353 179983908) a))
9313                        (declare (optimize (compilation-speed 0) (debug 1) (space 1)
9314                                           (safety 2) (speed 1)))
9315                        (dotimes (iv1 0 0) (1+ a))))
9316        1))
9317  0)
9318
9319;;; Ordering problems
9320
9321(deftest misc.502
9322  (funcall
9323   (compile nil '(lambda (a)
9324                   (declare (type (integer -7 84717795) a))
9325                   (declare (ignorable a))
9326                   (declare (optimize (speed 1) (space 1) (debug 1) (safety 2)
9327                                      (compilation-speed 0)))
9328                   (+ a (setq a 35035201))))
9329   29207264)
9330  64242465)
9331
9332;;; ABCL 27 Dec 2004
9333;;; Different results
9334
9335(deftest misc.503
9336  (funcall
9337   (compile nil '(lambda (a)
9338                   (declare (optimize (space 3) (debug 1) (speed 2) (safety 0)
9339                                      (compilation-speed 1)))
9340                   (catch 'ct1
9341                     (throw 'ct1
9342                            (catch 'ct5
9343                              (reduce 'min
9344                                      (vector 0 0 0 a a 0 0 (values 0 0) (throw 'ct5 -6))
9345                                      :end 8 :start 6 :from-end t))))))
9346   17)
9347  -6)
9348
9349;;; Inconsistent stack height
9350
9351(deftest misc.504
9352  (let #+abcl ((jvm::*catch-errors* nil))
9353       nil
9354       (funcall
9355        (compile nil '(lambda (a)
9356                        (declare (type (integer 196060 241373941) a))
9357                        (declare (ignorable a))
9358                        (declare (optimize (speed 3) (debug 0) (safety 2)
9359                                           (compilation-speed 3) (space 2)))
9360                        (prog2 (if 0 (+ a a) 0) 0)))
9361        200000))
9362  0)
9363
9364(deftest misc.505
9365  (let #+abcl ((jvm::*catch-errors* nil))
9366       nil
9367       (funcall
9368        (compile nil '(lambda (a)
9369                        (declare (type (integer -6 5) a))
9370                        (declare (optimize (speed 3) (space 0) (safety 2)
9371                                           (compilation-speed 2) (debug 3)))
9372                        (dotimes (iv1 0 0) (+ a a))))
9373        1))
9374  0)
9375
9376(deftest misc.506
9377  (let #+abcl ((jvm::*catch-errors* nil))
9378       nil
9379       (funcall
9380        (compile nil '(lambda (a)
9381                        (declare (type (integer -53 49) a))
9382                        (declare (optimize (debug 0) (compilation-speed 1) (space 2)
9383                                           (safety 0) (speed 0)))
9384                        (unwind-protect (+ a a) 0)))
9385        -38))
9386  -76)
9387
9388;;; The value 15390 is not of type FUNCTION.
9389(deftest misc.507
9390  (funcall
9391   (compile nil '(lambda (a)
9392                   (declare (type (integer 2697 13005) a))
9393                   (declare (optimize (debug 0) (space 2) (speed 2)
9394                                      (compilation-speed 3) (safety 3)))
9395                   (truncate (prog1 0 a (+ a a)))))
9396   7695)
9397  0 0)
9398
9399;;; COMPILE-FORM: unsupported special operator LET*
9400;;; Associated with 'THE' operator
9401
9402(deftest misc.508
9403  (let #+abcl ((jvm::*catch-errors* nil))
9404       nil
9405       (funcall
9406        (compile nil '(lambda (a)
9407                        (declare (type (integer -57853147 -2) a))
9408                        (declare (ignorable a))
9409                        (declare (optimize (debug 2) (space 1) (compilation-speed 3)
9410                                           (safety 1) (speed 2)))
9411                        (the integer
9412                          (mask-field (byte 2 29)
9413                                      (ash (multiple-value-setq (a) -51781613)
9414                                           (min 1 a))))))
9415        -29324754))
9416  1610612736)
9417
9418(deftest misc.509
9419  (let #+abcl ((jvm::*catch-errors* nil))
9420       nil
9421       (funcall
9422        (compile nil '(lambda (a)
9423                        (declare (type (integer -38984312 657) a))
9424                        (declare (ignorable a))
9425                        (declare (optimize (debug 1) (compilation-speed 1) (speed 1)
9426                                           (safety 2) (space 3)))
9427                        (the integer
9428                          (if (> a -27907941364)
9429                              116871
9430                            (cl:handler-case
9431                             (multiple-value-setq (a)
9432                               -34832621))))))
9433        -26788929))
9434  116871)
9435
9436(deftest misc.510
9437  (let #+abcl ((jvm::*catch-errors* nil))
9438       nil
9439       (funcall
9440        (compile nil '(lambda (a)
9441                        (declare (type (integer -2827 3400) a))
9442                        (declare (optimize (compilation-speed 1) (space 3) (debug 1)
9443                                           (safety 0) (speed 1)))
9444                        (logand (the integer (dotimes (iv4 2 a) (progn iv4))))))
9445        155))
9446  155)
9447
9448(deftest misc.511
9449  (let #+abcl ((jvm::*catch-errors* nil))
9450       nil
9451       (funcall
9452        (compile nil '(lambda (a)
9453                        (declare (type (integer 18967 23584) a))
9454                        (declare (ignorable a))
9455                        (declare (optimize (space 1) (speed 1) (debug 1)
9456                                           (compilation-speed 3) (safety 1)))
9457                        (the integer
9458                          (values (loop for lv4 below 2 count (find a '(16389)))))))
9459        21352))
9460  0)
9461
9462;;; Inconsistent stack height
9463
9464(deftest misc.512
9465  (let #+abcl ((jvm::*catch-errors* nil))
9466       nil
9467       (funcall
9468        (compile nil '(lambda (a)
9469                        (declare (type (integer 1 188902468) a))
9470                        (declare (ignorable a))
9471                        (declare (optimize (space 2) (speed 3) (safety 3)
9472                                           (compilation-speed 0) (debug 2)))
9473                        (catch 'ct6
9474                          (the integer
9475                            (let* ((v3 (signum (ignore-errors a))))
9476                              (declare (dynamic-extent v3))
9477                              (throw 'ct6
9478                                     (round (case (prog2
9479                                                      (lognor 290171664 v3)
9480                                                      -3512003993
9481                                                    -550842867)
9482                                              ((4) (* 1 4092))
9483                                              ((21 220 225)
9484                                               (block b1
9485                                                 (setf v3
9486                                                       (let* ((v9 v3))
9487                                                         a))))
9488                                              (t -639367819)))))))))
9489        49008586))
9490  -639367819
9491  0)
9492
9493;;; COMPILE-FORM: unsupported special operator LET*
9494;;; Associated with 'THE' operator
9495
9496(deftest misc.513
9497  (let #+abcl ((jvm::*catch-errors* nil))
9498       nil
9499       (funcall
9500        (compile nil '(lambda (a)
9501                        (declare (type (integer -2 75025568) a))
9502                        (declare (ignorable a))
9503                        (declare (optimize (space 0) (compilation-speed 0) (safety 0)
9504                                           (speed 2) (debug 2)))
9505                        (let* ((v8
9506                                (cons (the integer
9507                                        (prog2 a
9508                                            -1558460
9509                                          a
9510                                          (ignore-errors (progn (tagbody) -49510826))
9511                                          a))
9512                                      0)))
9513                          0)))
9514        68043554))
9515  0)
9516
9517(deftest misc.514
9518  (let #+abcl ((jvm::*catch-errors* nil))
9519       nil
9520       (funcall
9521        (compile nil '(lambda (a)
9522                        (declare (type (integer -6844832476 188341751) a))
9523                        (declare (optimize (speed 3) (debug 1) (safety 0) (space 3)
9524                                           (compilation-speed 1)))
9525                        (the integer (multiple-value-setq (a) -96073358))))
9526        -3792864899))
9527  -96073358)
9528
9529;;; gcl 27 Dec 2004
9530;;; Issue with dynamic extent
9531
9532(deftest misc.515
9533  (funcall
9534   (compile nil '(lambda (a)
9535                   (declare (type (integer -1337016312 832159784) a))
9536                   (declare (optimize speed (safety 1)))
9537                   (let* ((y 0)
9538                          (v9 0))
9539                     (declare (dynamic-extent v9))
9540                     (setq v9 (+ a a))
9541                     (setq y (1+ v9)))))
9542   -1209913207)
9543  -2419826413)
9544
9545(deftest misc.516
9546  (funcall
9547   (compile nil '(lambda ()
9548                         (declare (optimize (space 0) (debug 0) (safety 2)
9549                                            (compilation-speed 3) (speed 1)))
9550                         (let ((*s2* (* -507991378 14)))
9551                              (declare (dynamic-extent *s2*))
9552                              (declare (special *s2*))
9553                              (1+ *s2*)))))
9554  -7111879291)
9555
9556;;; gcl 29 Dec 2004
9557;;; Interference of special variable bindings?
9558
9559(deftest misc.517
9560  (funcall
9561   (compile nil '(lambda ()
9562                   (declare (optimize (safety 3) (space 3) (debug 1) (speed 1)
9563                                      (compilation-speed 0)))
9564                   (let* ((*s8* (let ((*s8* (make-array nil :initial-element 0)))
9565                                  (declare (special *s8*))
9566                                  (progn (shiftf (aref *s8*) 31508066) 0))
9567                                ))
9568                     (declare (special *s8*))
9569                     0))))
9570  0)
9571
9572;;; Incorrect return value
9573
9574(deftest misc.518
9575  (funcall
9576   (compile nil '(lambda ()
9577                   (declare (optimize (compilation-speed 0) (safety 1)
9578                                      (debug 1) (space 0) (speed 3)))
9579                   (flet ((%f10 (&optional (f10-1 0) (f10-2 0) &key)
9580                                (progn
9581                                  (tagbody
9582                                   (decf f10-2)
9583                                   (return-from %f10
9584                                     (complex (unwind-protect (go tag7))
9585                                              0))
9586                                   tag7)
9587                                  f10-2)))
9588                     (if (evenp (%f10 0 0)) 0 2140390)))))
9589  2140390)
9590
9591;;; Error in APPLY [or a callee]: fixnum or bignum expected
9592;;; Broken at COMPILER::CMP-ANON.
9593
9594(deftest misc.519
9595  (funcall
9596   (compile
9597    nil
9598    '(lambda ()
9599       (declare (optimize (compilation-speed 0) (speed 1) (debug 1)
9600                          (space 1) (safety 3)))
9601       (let ((*s3*
9602              (* (the integer
9603                   (expt (rationalize
9604                          (multiple-value-bind (*s3*)
9605                              (make-array nil :initial-element 0)
9606                            (shiftf (aref *s3*) 0)))
9607                         2)))))
9608         1))))
9609  1)
9610
9611;;; sbcl 0.8.18 (sparc solaris)
9612;;;  identity ASH not transformed away
9613
9614(deftest misc.520
9615  (funcall
9616   (compile
9617    nil
9618    '(lambda (a c e)
9619      (declare (type (integer -44330 64753) c))
9620      (declare (type (integer -301534047 4291509) e))
9621      (declare (optimize (safety 3) (debug 2) (speed 3)
9622                (space 2) (compilation-speed 2)))
9623      (if (oddp
9624           (ash (logorc2 c e)
9625                (min 2 (mask-field (byte 0 0) (mod 0 (max 69 0))))))
9626       a
9627       0)))
9628   1 -8156 -229264929)
9629  0)
9630
9631;;; ecl (25 Jan 2005)
9632;;; Error: In a call to AREF, the type of the form *S6* is FIXNUM, not (ARRAY *).
9633
9634(deftest misc.521
9635  (funcall
9636   (compile
9637    nil
9638    '(lambda (b)
9639       (declare (optimize (speed 0) (safety 1) (debug 1) (compilation-speed 3)
9640                          (space 0)))
9641       (if b
9642           (let ((*s6* 0))
9643             0)
9644         (let* ((*s6* (make-array nil :initial-element 0)))
9645           (aref *s6*)))))
9646   nil)
9647  0)
9648
9649;;; nil is not of type number.
9650
9651(deftest misc.522
9652  (funcall
9653   (compile
9654    nil
9655    '(lambda (a)
9656       (declare (type (integer -25 38) a))
9657       (declare (optimize (compilation-speed 3) (safety 3) (debug 1) (space 2) (speed 1)))
9658       (flet ((%f2 (f2-1 f2-2
9659                         &optional
9660                         (f2-3 (labels ((%f6 (&optional (f6-1 0) (f6-2 0)) (max a)))
9661                                 (%f6 0)))
9662                         (f2-4 0) (f2-5 0))
9663                   (flet ((%f4 (f4-1 f4-2 f4-3)
9664                               (flet ((%f15 () f2-3)) a)))
9665                     0)))
9666         (reduce #'(lambda (lmv1 lmv6) a)
9667                 (vector 0 0 0 (%f2 a a) 0 a 0 a 0)
9668                 :start 4 :from-end t))))
9669   35)
9670  35)
9671
9672;;; Incorrect return value
9673
9674(deftest misc.523
9675  (funcall
9676   (compile
9677    nil
9678    '(lambda (a)
9679       (declare (type (integer -1011 978) a))
9680       (declare (optimize (compilation-speed 1) (safety 3) (debug 0) (speed 2) (space 1)))
9681       (let ((*s5*
9682              (cons 0
9683                    (catch 'ct8
9684                      (ash
9685                       (flet ((%f15 (f15-1)
9686                                    (return-from %f15 a)))
9687                         0)
9688                       (min 57
9689                            (lognor (throw 'ct8 (shiftf a 332))
9690                                    (let ((v1 (setf a 371)))
9691                                      a))))))))
9692         a)))
9693   99)
9694  332)
9695
9696;;; Seg fault
9697
9698(deftest misc.524
9699  (funcall
9700   (compile
9701    nil
9702    '(lambda (a b)
9703       (declare (type (integer -2432551 871) a))
9704       (declare (type (integer -6390 -1) b))
9705       (declare (ignorable b))
9706       (declare (optimize (compilation-speed 0) (safety 0) (space 2) (speed 0) (debug 3)))
9707       (flet ((%f18 (f18-1 f18-2 f18-3 &optional &key (key1 0) &allow-other-keys)
9708                    (labels ((%f12
9709                              (f12-1
9710                               &optional (f12-2 0)
9711                               &key (key1 (catch 'ct7 (conjugate key1))) (key2 0)
9712                               &allow-other-keys)
9713                              0))
9714                      (%f12 a))))
9715         (%f18 a 0 0))))
9716   -925293 -1603)
9717  0)
9718
9719;;; Internal error: tried to advance stack.
9720
9721(deftest misc.525
9722  (funcall
9723   (compile
9724    nil
9725    '(lambda (a)
9726       (declare (type (integer -17179869184 -2147483648) a))
9727       (declare (ignorable a))
9728       (declare
9729        (optimize (space 2) (debug 3) (speed 3) (compilation-speed 3) (safety 1)))
9730       (catch 'ct4
9731         (max (conjugate (unwind-protect 0 (catch 'ct4 (values 0))))
9732              (throw 'ct4 0)))))
9733   -17179869184)
9734  0)
9735
9736;;; integer does not specify a sequence type
9737
9738(deftest misc.526
9739  (funcall
9740   (compile
9741    nil
9742    '(lambda (a)
9743       (declare (type (integer -4 3025867) a))
9744       (declare (ignorable a))
9745       (declare
9746        (optimize (space 1) (safety 0) (debug 0) (speed 3) (compilation-speed 0)))
9747       (flet ((%f14 (f14-1 f14-2 f14-3 &key)
9748                    (let ((v4
9749                           (return-from %f14
9750                             (flet ((%f11
9751                                     (&optional (f11-1 0) (f11-2 0)
9752                                                (f11-3
9753                                                 (coerce
9754                                                  (reduce (function (lambda (lmv2 lmv5) a))
9755                                                          (vector f14-1 f14-1 0 f14-3 a f14-3 a f14-1
9756                                                                  0 f14-2))
9757                                                  (quote integer)))
9758                                                &key (key1 f14-3) (key2 a))
9759                                     (flet ((%f8
9760                                             (f8-1
9761                                              &optional
9762                                              (f8-2
9763                                               (flet ((%f16
9764                                                       (f16-1 f16-2 f16-3
9765                                                              &optional
9766                                                              &key (key1 0)
9767                                                              (key2 f11-3))
9768                                                       key1))
9769                                                 0))
9770                                              &key (key1 0))
9771                                             f14-3))
9772                                       0)))
9773                               (if (%f11 f14-1 (%f11 0 f14-3) f14-1) 0 0)))))
9774                      0)))
9775         (%f14 0 a a))))
9776   857304)
9777  0)
9778
9779;;; sbcl 0.8.19.32
9780;;; Type propagation problem with BIT-AND
9781
9782(deftest misc.527
9783  (let ((v1 (make-array 1 :element-type 'bit
9784                        :initial-contents '(1)
9785                        :fill-pointer 0))
9786        (v2 (make-array 1 :element-type 'bit
9787                        :initial-contents '(1)
9788                        :fill-pointer 1))
9789        (r (make-array nil)))
9790    (funcall
9791     (compile
9792      nil
9793      `(lambda  (r p2)
9794         (declare (optimize speed (safety 1))
9795                  (type (simple-array t nil) r)
9796                  (type (array *) p2))
9797         (setf (aref r) (bit-and ,v1 (the (bit-vector *) p2)))
9798         (values)))
9799     r v2)
9800    (let ((result (aref r)))
9801      (values
9802       (notnot (simple-bit-vector-p result))
9803       (=t (array-dimension result 0) 1)
9804       (=t (aref result 0) 1))))
9805  t t t)
9806
9807;;;  The value 22717067 is not of type (INTEGER 22717067 22717067)
9808
9809(deftest misc.528
9810  (let* ((x 296.3066f0)
9811         (y 22717067)
9812         (form `(lambda (r p2)
9813                  (declare (optimize speed (safety 1))
9814                           (type (simple-array single-float nil) r)
9815                           (type (integer -9369756340 22717335) p2))
9816                  (setf (aref r) (* ,x (the (eql 22717067) p2)))
9817                  (values)))
9818         (r (make-array nil :element-type 'single-float))
9819         (expected (* x y)))
9820    (funcall (compile nil form) r y)
9821    (let ((actual (aref r)))
9822      (unless (eql expected actual)
9823        (list expected actual))))
9824  nil)
9825
9826;;; The value 46790178 is not of type (INTEGER 46790178 46790178).
9827
9828(deftest misc.529
9829  (let* ((x -2367.3296f0)
9830         (y 46790178)
9831         (form `(lambda (r p2)
9832                  (declare (optimize speed (safety 1))
9833                           (type (simple-array single-float nil) r)
9834                           (type (eql 46790178) p2))
9835                  (setf (aref r) (+ ,x (the (integer 45893897) p2)))
9836                  (values)))
9837         (r (make-array nil :element-type 'single-float))
9838         (expected (+ x y)))
9839    (funcall (compile nil form) r y)
9840    (let ((actual (aref r)))
9841      (unless (eql expected actual)
9842        (list expected actual))))
9843  nil)
9844
9845;;; cmucl (Jan 2005 snapshot)
9846
9847;;; Segmentation fault
9848
9849(deftest misc.530
9850  (let* ((v (make-array
9851             '(11) :element-type 'double-float
9852             :initial-contents
9853             '(56826.586316245484d0 -57680.53641925701d0 68651.27735979737d0
9854               30934.627728043164d0 47252.736017400945d0 35129.46986219467d0
9855               -57804.412938803005d0 13000.374416975968d0 50263.681826551256d0
9856               89386.08276072948d0 -89508.77479231959d0)))
9857         (form
9858          `(lambda (r)
9859             (declare (optimize speed (safety 1))
9860                      (type (simple-array t nil) r))
9861             (setf (aref r)
9862                   (array-has-fill-pointer-p ,v))))
9863         (r (make-array nil)))
9864    (funcall (compile nil form) r)
9865    (eqlt (aref r) (array-has-fill-pointer-p v)))
9866  t)
9867
9868;;; gcl
9869;;; Problem with 0-dim char arrays
9870;;; Produces wrong return value (#\\320).
9871
9872(deftest misc.532
9873  (let ((r (make-array nil :element-type 'base-char)))
9874    (funcall
9875     (compile
9876      nil
9877      '(lambda (r c)
9878         (declare (optimize speed (safety 1))
9879                  (type (simple-array base-char nil) r)
9880                  (type base-char c))
9881         (setf (aref r) c)
9882         (values)))
9883     r #\Z)
9884    (aref r))
9885  #\Z)
9886
9887;;; sbcl 0.8.19.32
9888;;; Bound is not *, a INTEGER or a list of a INTEGER: -51494/29889
9889
9890(deftest misc.533
9891  (let* ((r (make-array nil))
9892         (c #c(208 -51494/29889))
9893         (form `(lambda (r p1)
9894                  (declare (optimize speed (safety 1))
9895                           (type (simple-array t nil) r)
9896                           (type number p1))
9897                  (setf (aref r) (+ (the (eql ,c) p1) -319284))
9898                  (values)))
9899         (fn (compile nil form)))
9900    (funcall fn r c)
9901    (eqlt (aref r) (+ -319284 c)))
9902  t)
9903
9904;;; sbcl 0.8.19.35
9905;;; Incorrect return value from conditional
9906
9907(deftest misc.534
9908  (let ((r0 (make-array nil)))
9909    (funcall
9910     (compile
9911      nil
9912      '(lambda (r p1 p2 p3)
9913         (declare (optimize speed (safety 1))
9914                  (type (eql 4134713351/6105637898) p2)
9915                  (type (eql 2685) p3))
9916         (setf (aref r)
9917               (if p1
9918                   (the (eql 4134713351/6105637898) p2)
9919                 (the (integer * 8391301) p3)))))
9920     r0 t 4134713351/6105637898 2685)
9921    (aref r0))
9922  4134713351/6105637898)
9923
9924#|
9925  The value
9926    #<SB-ALIEN:CAST
9927      :%TYPE-CHECK NIL
9928      :VALUE #<SB-C::LVAR 1 {DEDE809}>
9929      :ASSERTED-TYPE #<SB-KERNEL:MEMBER-TYPE (MEMBER
9930                                              #C(4196.088977268509d0 -15943.3603515625d0))>
9931      :TYPE-TO-CHECK #<SB-KERNEL:NAMED-TYPE *> {DECFF19}>
9932  is not of type
9933    SB-C::REF.
9934|#
9935
9936(deftest misc.535
9937  (let ((c0 #c(4196.088977268509d0 -15943.3603515625d0)))
9938    (funcall
9939     (compile
9940      nil
9941      `(lambda (p1 p2)
9942         (declare (optimize speed (safety 1))
9943                  (type (simple-array t nil) r)
9944                  (type (eql ,c0) p1)
9945                  (type number p2))
9946         (eql (the (complex double-float) p1) p2)))
9947     c0 #c(12 612/979)))
9948  nil)
9949
9950;;; Similar to misc.535
9951(deftest misc.536
9952  (funcall
9953   (compile
9954    nil
9955    '(lambda (p1 p2)
9956       (declare (optimize speed (safety 1))
9957                (type (eql #c(11963908204 1/6)) p1)
9958                (type (complex rational) p2))
9959       (eql p1 (the complex p2))))
9960   #c(11963908204 1/6) #c(2343315619 5252231066))
9961  nil)
9962
9963;;; Comparison of bit vectors in compiled code
9964(deftest misc.537
9965  (let ((p1 (make-array '(0) :element-type 'bit
9966                        :adjustable t)))
9967    (notnot
9968     (funcall
9969      (compile
9970       nil
9971       `(lambda (p2)
9972          (declare (optimize speed (safety 1))
9973                   (type (simple-array t nil) r)
9974                   (type (simple-bit-vector 0) p2))
9975          (equal ,p1 (the (bit-vector 0) p2))))
9976      #*)))
9977  t)
9978
9979;;; abcl (23 Feb 2005)
9980;;;  The value #C(3 4) is not of type number.
9981
9982(deftest misc.538
9983  (notnot (typep (* 2/5 #c(3 4)) 'number))
9984  t)
9985
9986;;; Allegro CL (6.2 trial edition, x86)
9987;;; Error: `#c(0 -8)' is not of the expected type `REAL'
9988
9989(deftest misc.539
9990  (notnot-mv
9991   (complexp
9992    (funcall
9993     (compile nil '(lambda (x)
9994                     (declare (OPTIMIZE SPEED (SAFETY 1))
9995                              (type (eql #c(0 -8)) x))
9996                     (sqrt x)))
9997     #c(0 -8))))
9998  t)
9999
10000;;; Illegal instruction
10001
10002(deftest misc.540
10003  (let* ((d0 #(a b c d e f g h))
10004         (d1 (make-array 5
10005                         :fill-pointer 1
10006                         :displaced-to d0
10007                         :displaced-index-offset 2)))
10008    (find #c(1.0 2.0) d1))
10009  nil)
10010
10011;;; A crasher bug of REMOVE on non-simple nibble arrays
10012
10013(deftest misc.541
10014  (dotimes (i 1000)
10015    (let* ((init '(12 11 8 8 11 10 9 1 3 9 6 12 4 3 6 4 7 10 12 6 11 12 4 15 8 10 7 0 0
10016                    0 12 9 6 1 0 14 2 14 6 4 2 2 11 7 13 11 3 9 0 2 3 4 2 11 8 7 9 0 0 3
10017                    8 3 10 8 2 8 9 4 9 0 11 4 9 8 12 8 5 2 10 10 1 14 7 8 5 5 7 8 1 13 2
10018                    13 12 2 5 11 1 12 12 0 2 5 15 2 14 2 3 10 1 0 7 7 11 3 7 6 1 13 8 4 2
10019                    7 14 9 9 7 3 8 1 15 6 11 15 0 11 9 7 15 12 10 6 4 5 6 10 4 4 4 15 5 1
10020                    8 9 3 12 11 8 4 10 8 3 15 12 3 4 10 8 12 8 14 2 12 12 14 14 5 14 6 10
10021                    13 9 6 4 14 9 6 8 4 11 1 6 0 7 7 5 4 12 15 7 4 4 10 7 3 0 11 10 11 1
10022                    8 9 0 12 14 6 2 15 2 5 11 8 3 4 2 9 9 7 0 7 11 13 5 7 12 8 6 12 11 15
10023                    3 6 11 0 1 2 7 2 13 14 15 4))
10024          (d0 (make-array
10025              '(251) :element-type '(integer 0 15)
10026              :initial-contents init
10027              :adjustable t)))
10028      (assert
10029       (equalp
10030        (remove 7 d0)
10031        (coerce (remove 7 init) '(vector (integer 0 15)))))))
10032  nil)
10033
10034;;; Object identity for bit vectors
10035
10036(deftest misc.542
10037  (funcall
10038   (compile
10039    nil
10040    (let ((bv1 (copy-seq #*1))
10041          (bv2 (copy-seq #*1)))
10042      `(lambda () (eq ,bv1 ,bv2)))))
10043  nil)
10044
10045;;; Lispworks personal edition 4.3 (x86 linux)
10046;;; Error: In PLUSP of (#C(1123113 -260528)) arguments should be of type REAL.
10047
10048(deftest misc.543
10049  (funcall
10050   (compile
10051    nil
10052    '(lambda (p1)
10053        (declare (optimize speed (safety 1))
10054                 ; (type (simple-array t nil) r)
10055                 (type (integer 2493220 2495515) p1))
10056        (* p1 #c(1123113 -260528))))
10057   2493726)
10058  #C(2800736089038 -649685447328))
10059
10060;;; gcl
10061
10062(deftest misc.544
10063  (let ((n -1.0l0))
10064    (notnot-mv
10065     (complexp
10066      (funcall
10067       (compile
10068        nil
10069        `(lambda (p1)
10070           (declare (optimize speed (safety 1))
10071                    (type (long-float ,n 0.0l0) p1))
10072           (sqrt p1)))
10073         n))))
10074  t)
10075
10076;;; OpenMCL
10077;;; 1/2 is not of type integer
10078
10079(deftest misc.545
10080  (let ((x #c(-1 1/2)))
10081    (declare (type (eql #c(-1 1/2)) x))
10082    x)
10083  #c(-1 1/2))
10084
10085;;; SBCL
10086;;; 0.8.19.39
10087;;; The function SB-KERNEL:CHARACTER-STRING-P is undefined.
10088
10089(deftest misc.546
10090  (funcall
10091   (compile
10092    nil
10093    '(lambda (p1)
10094       (declare (optimize (speed 0) (safety 1) (debug 2) (space 3))
10095                (type (eql a) p1))
10096       (typep p1 (type-of ""))))
10097   'a)
10098  nil)
10099
10100;;; The function SB-KERNEL:SIMPLE-CHARACTER-STRING-P is undefined.
10101
10102(deftest misc.547
10103  (funcall
10104   (compile
10105    nil
10106    '(lambda (p1)
10107       (declare (optimize (speed 3) (safety 3) (debug 0) (space 3))
10108                (type symbol p1))
10109       (typep (the (eql :c1) p1) (type-of "b"))))
10110   :c1)
10111  nil)
10112
10113;;; The value NIL is not of type SB-KERNEL:CTYPE.
10114
10115(deftest misc.548
10116  (notnot
10117   (funcall
10118    (compile
10119     nil
10120     '(lambda (p1)
10121        (declare (optimize (speed 2) (safety 1) (debug 3) (space 2)))
10122        (atom (the (member f assoc-if write-line t w) p1))))
10123    t))
10124  t)
10125
10126;;; IR2 type checking of unused values in [sic] not implemented.
10127
10128(deftest misc.549
10129  (funcall
10130   (compile
10131    nil
10132    '(lambda (p2)
10133       (declare (optimize (speed 1) (safety 1) (debug 0) (space 3))
10134                (type symbol p2))
10135       (and :a (the (eql t) p2))))
10136   t)
10137  t)
10138
10139(deftest misc.550
10140  (funcall
10141   (compile
10142    nil
10143    '(lambda (p1 p2)
10144       (declare (optimize (speed 3) (safety 2) (debug 3) (space 3))
10145                (type atom p1)
10146                (type symbol p2))
10147       (or p1 (the (eql t) p2))))
10148   nil t)
10149  t)
10150
10151(deftest misc.551
10152  (funcall
10153   (compile
10154    nil
10155    '(lambda (p1 p2)
10156       (declare (optimize (speed 1) (safety 1) (debug 3) (space 3))
10157                (type symbol p1)
10158                (type (integer * 55687) p2))
10159       (funcall (the (eql +) p1) (the (integer -93015310 16215) p2) 2952)))
10160   '+ 823)
10161  3775)
10162
10163(deftest misc.551a
10164  (funcall
10165   (compile nil '(lambda (x) (declare (optimize (speed 2))
10166                                      (type symbol x))
10167                   (the (eql t) x)))
10168   t)
10169  t)
10170
10171;;; cmucl (mar 2005 snapshot)
10172
10173(deftest misc.552
10174  (funcall
10175   (compile
10176    nil
10177    '(lambda (p1)
10178       (declare (optimize (speed 3) (safety 1) (debug 2) (space 2))
10179                (type unsigned-byte p1))
10180       (logbitp (the (integer -780969457 *) p1) 9)))
10181   26)
10182  nil)
10183
10184;;; ecls
10185;;; REAL is not of type REAL.
10186
10187(deftest misc.553
10188  (funcall (compile nil '(lambda (x) (declare (type (eql #c(1.0 2.0)) x)) x))
10189           #c(1.0 2.0))
10190  #c(1.0 2.0))
10191
10192;;; 1 is not of type SEQUENCE
10193(deftest misc.554
10194  (funcall (compile nil '(lambda (x) (declare (type (array t 1) x)) x)) #(a))
10195  #(a))
10196
10197;;; sbcl 5 Mar 2005
10198;;; failed AVER: "(EQ CHECK SIMPLE)"
10199
10200(deftest misc.555
10201  (notnot
10202   (funcall
10203    (compile nil '(lambda (p1)
10204                    (declare (optimize (speed 1) (safety 2) (debug 2) (space 0))
10205                             (type keyword p1))
10206                    (keywordp p1)))
10207    :c))
10208  t)
10209
10210; Problem with FLOOR
10211; Wrong return value
10212(deftest misc.556
10213  (values
10214   (funcall
10215    (compile nil '(lambda (p1 p2)
10216                    (declare
10217                     (optimize (speed 1) (safety 0)
10218                               (debug 0) (space 0))
10219                     (type (member 8174.8604) p1)
10220                     (type (member -95195347) p2))
10221                    (floor p1 p2)))
10222    8174.8604 -95195347))
10223  -1)
10224
10225;  invalid number of arguments: 1
10226; (possible removal of code due to type fumble)
10227(deftest misc.557
10228  (values
10229   (funcall
10230    (compile
10231     nil
10232     '(lambda (p1)
10233        (declare (optimize (speed 3) (safety 0) (debug 3) (space 1))
10234                 (type (member -94430.086f0) p1))
10235        (floor (the single-float p1) 19311235)))
10236    -94430.086f0))
10237  -1)
10238
10239; FFLOOR
10240; Wrong return value
10241(deftest misc.558
10242  (values
10243   (funcall
10244    (compile
10245     nil
10246     '(lambda (p1)
10247              (declare (optimize (speed 1) (safety 2)
10248                                 (debug 2) (space 3))
10249                       (type (eql -39466.56f0) p1))
10250              (ffloor p1 305598613)))
10251    -39466.56f0))
10252  -1.0f0)
10253
10254; CEILING
10255;  invalid number of arguments: 1
10256(deftest misc.559
10257  (values
10258   (funcall
10259    (compile
10260     nil
10261     '(lambda (p1)
10262        (declare (optimize (speed 1) (safety 1) (debug 1) (space 2))
10263                 (type (eql -83232.09f0) p1))
10264        (ceiling p1 -83381228)))
10265    -83232.09f0))
10266  1)
10267
10268; wrong return value
10269(deftest misc.560
10270  (values
10271   (funcall
10272    (compile
10273     nil
10274     '(lambda (p1)
10275        (declare (optimize (speed 1) (safety 1)
10276                           (debug 1) (space 0))
10277                 (type (member -66414.414f0) p1))
10278        (ceiling p1 -63019173f0)))
10279    -66414.414f0))
10280  1)
10281
10282; FCEILING
10283; wrong return value
10284(deftest misc.561
10285  (values
10286   (funcall
10287    (compile
10288     nil
10289     '(lambda (p1)
10290        (declare (optimize (speed 0) (safety 1)
10291                           (debug 0) (space 1))
10292                 (type (eql 20851.398f0) p1))
10293        (fceiling p1 80839863)))
10294    20851.398f0))
10295  1.0f0)
10296
10297;;; LOG
10298;;; The value #C(-215549 39/40) is not of type (COMPLEX RATIONAL).
10299
10300(deftest misc.562
10301  (let ((fn '(lambda (p1)
10302               (declare (optimize (speed 0) (safety 0) (debug 0) (space 2))
10303                        (type (complex rational) p1))
10304               (log p1))))
10305    (notnot (complexp (funcall (compile nil fn) #C(-215549 39/40)))))
10306  t)
10307
10308;;; CONJUGATE
10309;;; Wrong result (#c(1 2))
10310
10311(deftest misc.563
10312  (funcall (compile nil '(lambda (x)
10313                           (declare (optimize (speed 1) (safety 0) (debug 3) (space 1))
10314                                    (type (complex rational) x))
10315                           (conjugate (the (eql #c(1 2)) x))))
10316           #c(1 2))
10317  #c(1 -2))
10318
10319;;; PHASE
10320;;; The function SB-KERNEL:%ATAN2 is undefined.
10321
10322(deftest misc.564
10323  (notnot
10324   (typep
10325    (funcall
10326     (compile
10327      nil
10328      '(lambda (p1)
10329         (declare (optimize (speed 3) (safety 2) (debug 3) (space 0))
10330                  (type complex p1))
10331         (phase (the (eql #c(1.0d0 2.0d0)) p1))))
10332     #c(1.0d0 2.0d0))
10333    'double-float))
10334  t)
10335
10336;;; ACL 6.2 (trial, x86 linux)
10337;;; Incorrect return value (t instead of nil)
10338
10339(deftest misc.565
10340  (funcall
10341   (compile
10342    nil
10343    '(lambda (x)
10344       (declare (optimize (speed 2) (safety 1) (debug 3) (space 0))
10345                (type double-float x))
10346       (not (the (eql 1.0d0) x))))
10347   1.0d0)
10348  nil)
10349
10350;;; ASH
10351;;; Incorrect value (59 == (ash p1 -3))
10352
10353(deftest misc.566
10354  (funcall
10355   (compile
10356    nil
10357    '(lambda (p1)
10358                 (declare (optimize (speed 3) (safety 2) (debug 2) (space 0))
10359                          (type (integer 465 127871) p1))
10360                 (ash p1 -35)))
10361   477)
10362  0)
10363
10364;;; sbcl
10365;;; The value -4 is not of type (INTEGER -26794287907 505600792).
10366
10367(deftest misc.567
10368  (eqlt
10369   (funcall
10370    (compile
10371     nil
10372     '(lambda (p2)
10373        (declare (optimize (speed 3) (safety 1) (debug 0) (space 1))
10374                 (type (integer -26794287907 505600792) p2))
10375        (scale-float -15193.341216130497d0 (the (integer * 25) p2))))
10376    -4)
10377   (scale-float -15193.341216130497d0 -4))
10378  t)
10379
10380;;; ACL 7.0 (x86 linux)
10381;;; Found by random type prop tests
10382
10383;;; Error: Attempt to divide 13026.059 by zero.
10384(deftest misc.568
10385  (values
10386   (funcall
10387   (compile nil '(lambda (p2)
10388                  (declare (optimize (speed 1) (safety 3) (debug 3) (space 1))
10389                   (type (rational * 5325/3112) p2))
10390                  (floor 13026.059 (the (member 5325/3112 0 -2316/167 -449/460) p2))))
10391   5325/3112))
10392  7612)
10393
10394;;; Error: Attempt to take the car of #2\%b which is not listp.
10395(deftest misc.569
10396  (funcall
10397   (compile
10398    nil
10399    '(lambda (p2)
10400      (declare (optimize (speed 3) (safety 2) (debug 1) (space 2))
10401       (type t p2))
10402      (ash -2609443 (the (integer -3 0) p2))))
10403   -1)
10404  -1304722)
10405
10406;;; Incorrect return value
10407(deftest misc.570
10408  (funcall (compile nil '(lambda ()
10409                          (declare (optimize (speed 3) (safety 1)))
10410                          (char-equal #\: #\: #\;))))
10411  nil)
10412
10413;;; CODE-CHAR returns incorrect result
10414;;; (ACL7.0, 8 bit character image)
10415
10416(deftest misc.571
10417  (and (< 1000 char-code-limit)
10418       (let ((c1 (code-char 1000))
10419             (c2
10420              (funcall (compile nil '(lambda (x)
10421                                      (declare (optimize speed (safety 1)))
10422                                      (code-char x)))
10423                       1000)))
10424         (if (not (eql c1 c2))