1(declaim (special *s1* *s2* *s3* *s4* *s5* *s6* *s7* *s8* *s9*)) 2 3(let ((vars '(a b c d e f g h)) 4 (var-types 5 '((integer -10156883949 -308945276) (integer -10238129190247 4942) 6 (integer -13 430071204) (integer 636299151392 1316378644139) 7 (integer -4178997 150763) (integer -106672607540 118536683934) 8 (integer 2 1648136180958) (integer -234451072 182015592)) ) 9 (vals-list 10 '((-6471154533 -252139422192 298074672 864413032888 -3027364 11 -35189361672 1119416506309 69109593))) 12 (form 13 '(+ 14 (+ 15 (+ 16 (if 17 (if (and (= 103360 3005) 18 (eql g e)) 19 (or (and (/= h 16959) 20 (<= a 364235)) 21 (ldb-test (byte 22 17) -6421)) 22 (or 23 (logbitp 22 h) 24 (<= -39441685))) 25 (* (let* ((*s2* 26 (ash 27 (let ((*s8* (if (<= f d) (coerce b 'integer) h))) 28 -30686) 29 79))) 30 c)) 31 (lognor 32 (labels ((%f2 (f2-1) 33 (labels ((%f2 (f2-1 f2-2) 34 (declare (ignore f2-1 f2-2)) 35 (- -280859370 440819981))) 36 (%f2 g f2-1)))) 37 (lognor 38 (labels ((%f16 (f16-1 f16-2) (declare (ignore f16-1 f16-2)) 39 (%f2 1504872262))) 40 (- (if (equal (%f16 371066235 -188) f) 41 (- f) 42 g))) 43 (let* ((*s1* 66)) e))) 44 (lcm (dotimes (iv3 2 -2876)) 3072))) 45 (+ 46 (+ 47 (case d 48 ((1882) (dpb e (byte 16 24) a)) 49 ((1721) c) 50 ((173) d) 51 ((1944) 52 (logior 53 0 54 (let ((v8 55 (flet ((%f5 () 56 (logorc1 f (mask-field (byte 3 16) e)))) 57 (min 58 (%f5) 59 (gcd 60 (dotimes 61 (iv1 1 62 (if (ldb-test (byte 33 17) a) 63 (lcm (logxor -22 d) f a) 64 -1)))))))) 65 (declare (ignore v8)) 66 -1746))) 67 (t g)) 68 (block b3 69 (logior 70 -1154444 71 (if (eql e d) 72 g 73 (flet ((%f17 (f17-1 f17-2) (declare (ignore f17-1 f17-2)) 74 -309530764)) 75 (if 76 (and (> -574942 -63058285) 77 (typep 78 (multiple-value-prog1 79 (logand 80 (logcount -92) 81 (truncate 16256 (max 77 a)) 82 (case e 83 ((3) 16) 84 ((-15) 0) 85 ((-6) e) 86 ((-16) 1) 87 ((-14) (return-from b3 -180)) 88 ((-1) 12) 89 ((-7) 100) 90 (t b)))) 91 '(integer 62572038)) 92 (< (+ (ldb (byte 32 24) d) c) a)) 93 (return-from b3 -2858) 94 (%f17 30967 -403468604))))))) 95 (if (not 96 (if (logbitp 10 478) 97 (= -36 c) 98 (typep 99 (prog1 11452525 (unwind-protect d)) 100 '(integer -1815287 1107737)))) 101 (if (> (logxor c (mask-field (byte 29 1) (floor b))) 102 2) 103 (logeqv 1062524 b) 104 0) 105 (logorc1 h (if (> 1737453 f) d f))) 106 (truncate 107 -50347453 108 (min -24 (- (+ e -293586) 1187228))) 109 (dpb 110 (if (> 62325 5162518) c 5758514) 111 (byte 9 3) 112 (ldb (byte 2 5) 311))) 113 (ldb (byte 7 15) 114 (deposit-field e (byte 7 19) 115 (dotimes (iv3 1 1024366))))) 116 (block b6 117 (if 118 (if 119 (logbitp 3 120 (lognor 121 (logand -39609 99668265 122 (dpb -3121 (byte 24 13) 6)) 123 (logandc1 124 (- -43 (+ -437)) 125 47))) 126 (not 127 (and 128 (if 129 (logbitp 5 (gcd 130 (let ((*s8* 267159)) b) 131 1 (catch 'ct6 h) c)) 132 (logbitp 26 (max (lognor f (catch 'ct5 133 (logxor e 1552895971 -31267 134 41816870))))) 135 (ldb-test (byte 5 12) 136 (dotimes (iv3 2 g) 137 (let* ((v9 (gcd 37467 138 (ignore-errors b) 139 (ignore-errors e) 140 -382551))) 141 (declare (ignore v9)))))) 142 (< -2399 143 (let ((*s3* (if (= a d) h 14))) 144 (ash g 81))))) 145 (not 146 (ldb-test (byte 27 16) 147 (flet ((%f18 () 148 (deposit-field a (byte 29 2) 149 (progv '(*s6* *s5* *s1*) 150 (list 0 1131 -685394175) 151 217)))) 152 (deposit-field (%f18) (byte 12 13) e))))) 153 (gcd 154 (case f 155 ((91) (if (equal -83 a) (return-from b6 g) 0)) 156 (t 157 (catch 'ct1 158 (labels ((%f10 () 159 (return-from b6 160 (if (not t) h (catch 'ct1 (- b c)))))) 161 (catch 'ct2 162 (flet ((%f18 (f18-1) 163 (ignore-errors c) 164 (tagbody (go tag3) (%f10) tag3) 165 f18-1)) 166 (mask-field (byte 1 7) (%f18 -293)))))))) 167 (if (and (or (eql g f) 168 (return-from b6 (dotimes (iv4 3 -1491648)))) 169 (if (= a -36) t)) 170 (return-from b6 0) 171 (if (> e 13) 172 (return-from b6 0) 173 0))) 174 (block b4 175 (labels ((%f17 (f17-1 f17-2 f17-3 &optional f17-4 f17-5) 176 (declare (ignore f17-1 f17-2 f17-3 f17-4 f17-5)) 177 0)) 178 (%f17 179 (if (= (%f17 8313 h b) -27267375) 180 (max h 181 (progn 182 (%f17 244 45 b) 183 (ldb (byte 28 18) d))) 184 (logorc2 185 (if (> b -32743995) 186 b 187 (if (<= h (%f17 h -223 -2849 468003267)) 188 (%f17 g a (%f17 f -21460141 e) 25) 189 (truncate 119531 (min -32 1003261)))) 190 e)) 191 (dotimes 192 (iv4 3 193 (%f17 (labels ((%f11 () 194 (if (= 0 1) (return-from b4 0) d))) 0) 195 0 0)) 196 (catch 'ct6 197 (restart-case 198 (dotimes 199 (iv2 3 200 (%f17 201 (dotimes (iv1 0 iv4) 202 (apply #'%f17 174 iv1 -62 -23980698 nil)) 203 1 204 (%f17 205 (catch 'ct7 1783873) 206 (mask-field (byte 28 3) 207 (throw 'ct6 208 (%f17 -16 e 0 209 (%f17 -377458758 210 2273 g)))) 211 g))) 212 (case (dotimes (iv3 0 f) (%f17 h b iv2 0)) 213 ((-126253 -99432 -123213) 0) 214 (t 1)))))) 215 0))))))))) 216 (let* ((fn (coerce `(lambda ,vars ,form) 'function)) e c 217 (cfn (compile nil fn))) 218 (fresh-line) 219 (finish-output) 220 ;; (disassemble cfn) 221 (dolist (vals vals-list) 222 (format t "~& ---- ~S ----~%EVAL: ~S~%COMPILE: ~S~%" vals 223 (setq e (apply fn vals)) 224 (setq c (apply cfn vals))) 225 (assert (equal e c)) 226 (finish-output)))) 227