1 
2 /* $destdir\u58.c        Machine generated C code */
3 
4 /* Signature: 00000000 28-Sep-2011 */
5 
6 #include <stdio.h>
7 #include <stdlib.h>
8 #include <string.h>
9 #include <ctype.h>
10 #include <stdarg.h>
11 #include <time.h>
12 #ifndef _cplusplus
13 #include <setjmp.h>
14 #endif
15 
16 #include "config.h"
17 
18 #ifndef header_machine_h
19 #define header_machine_h 1
20 #if !defined UNDER_CE && !defined EMBEDDED
21 #if ((defined HAVE_SOCKET && defined HAVE_SYS_SOCKET_H) || defined WIN32)
22 #define SOCKETS                  1
23 #endif
24 #endif
25 #ifndef MS_CDECL
26 #ifdef _MSC_VER
27 #  define MS_CDECL __cdecl
28 #else
29 #  define MS_CDECL
30 #endif
31 #endif
32 #ifdef WIN32
33 #  if defined WIN64 || defined __WIN64__
34 #     define OPSYS           "win64"
35 #     define IMPNAME         "win64"
36 #  else
37 #     define OPSYS           "win32"
38 #     define IMPNAME         "win32"
39 #  endif
40 #else
41 #  ifdef HOST_OS
42 #     define OPSYS           HOST_OS
43 #     ifdef HOST_CPU
44 #        define IMPNAME      HOST_OS ":" HOST_CPU
45 #     else
46 #        define IMPNAME      HOST_OS
47 #     endif
48 #  else
49 #     define OPSYS           "Unknown"
50 #     define IMPNAME         "Generic"
51 #  endif
52 #endif
53 #ifdef HAVE_STDINT_H
54 #include <stdint.h>
55 #else
56 #ifndef HAVE_UINT32_T
57 #ifdef  HAVE_U_INT32_T
58 typedef u_int32_t uint32_t;
59 #define HAVE_UINT32_T 1
60 #endif
61 #endif
62 #ifndef HAVE_UINT64_T
63 #ifdef  HAVE_U_INT64_T
64 typedef u_int64_t uint64_t;
65 #define HAVE_UINT64_T 1
66 #endif
67 #endif
68 #ifndef HAVE_UINTPTR_T
69 #ifdef  HAVE_U_INTPTR_T
70 typedef u_intptr_t uintptr_t;
71 #define HAVE_UINTPTR_T 1
72 #endif
73 #endif
74 #if !defined HAVE_INT32_T && defined SIZEOF_INT && (SIZEOF_INT == 4)
75 typedef int int32_t;
76 #define HAVE_INT32_T 1
77 #endif
78 #if !defined HAVE_UINT32_T && defined SIZEOF_INT && (SIZEOF_INT == 4)
79 typedef unsigned int uint32_t;
80 #define HAVE_UINT32_T 1
81 #endif
82 #if !defined HAVE_INT32_T && defined SIZEOF_SHORT_INT && (SIZEOF_SHORT_INT == 4)
83 typedef short int int32_t;
84 #define HAVE_INT32_T 1
85 #endif
86 #if !defined HAVE_UINT32_T && defined SIZEOF_SHORT_INT && (SIZEOF_SHORT_INT == 4)
87 typedef unsigned short int uint32_t;
88 #define HAVE_UINT32_T 1
89 #endif
90 #if !defined HAVE_INT64_T && defined SIZEOF_LONG && (SIZEOF_LONG == 8)
91 typedef long int64_t;
92 #define HAVE_INT64_T 1
93 #endif
94 #if !defined HAVE_UINT64_T && defined SIZEOF_LONG && (SIZEOF_LONG == 8)
95 typedef unsigned long uint64_t;
96 #define HAVE_UINT64_T 1
97 #endif
98 #if !defined HAVE_INT64_T && defined SIZEOF_LONG_LONG && (SIZEOF_LONG_LONG == 8)
99 typedef long long int64_t;
100 #define HAVE_INT64_T 1
101 #endif
102 #if !defined HAVE_UINT64_T && defined SIZEOF_LONG_LONG && (SIZEOF_LONG_LONG == 8)
103 typedef unsigned long long uint64_t;
104 #define HAVE_UINT64_T 1
105 #endif
106 #if !defined HAVE_INTPTR_T && defined SIZEOF_VOID_P && (SIZEOF_VOID_P == 4) && defined HAVE_INT32_T
107 typedef int32_t intptr_t;
108 #define HAVE_INTPTR_T 1
109 #endif
110 #if !defined HAVE_INTPTR_T && defined SIZEOF_VOID_P && (SIZEOF_VOID_P == 8) && defined HAVE_INT64_T
111 typedef int64_t intptr_t;
112 #define HAVE_INTPTR_T 1
113 #endif
114 #if !defined HAVE_UINTPTR_T && defined SIZEOF_VOID_P && (SIZEOF_VOID_P == 4) && defined HAVE_UINT32_T
115 typedef uint32_t uintptr_t;
116 #define HAVE_UINTPTR_T 1
117 #endif
118 #if !defined HAVE_UINTPTR_T && defined SIZEOF_VOID_P && (SIZEOF_VOID_P == 8) && defined HAVE_UINT64_T
119 typedef uint64_t uintptr_t;
120 #define HAVE_UINTPTR_T 1
121 #endif
122 #endif
123 #endif
124 #ifndef header_tags_h
125 #define header_tags_h 1
126 #if !defined HAVE_STDINT_H || !defined HAVE_INT32_T
127 #error This system needs a 32-bit integer type.
128 #endif
129 #define SIXTY_FOUR_BIT (sizeof(intptr_t) == 8)
130 typedef int                 CSLbool;
131 #define YES                 1
132 #define NO                  0
133 #ifndef PAGE_BITS
134 #  define PAGE_BITS             22
135 #endif
136 #define PAGE_POWER_OF_TWO       (((uint32_t)1) << PAGE_BITS)
137 #define CSL_PAGE_SIZE           (PAGE_POWER_OF_TWO - 256U)
138 #ifndef MAX_HEAPSIZE
139 #  define MAX_HEAPSIZE       (SIXTY_FOUR_BIT ? (512*1024) : 2048)
140 #endif
141 #ifndef MAX_BPSSIZE
142 #  define MAX_BPSSIZE           64
143 #endif
144 #define MEGABYTE                ((uint32_t)0x100000U)
145 #if PAGE_BITS >= 20
146 #define MAX_PAGES               (MAX_HEAPSIZE >> (PAGE_BITS-20))
147 #define MAX_BPS_PAGES           (MAX_BPSSIZE >> (PAGE_BITS-20))
148 #else
149 #define MAX_PAGES               (MAX_HEAPSIZE << (20-PAGE_BITS))
150 #define MAX_BPS_PAGES           (MAX_BPSSIZE << (20-PAGE_BITS))
151 #endif
152 #define MAX_NATIVE_PAGES        MAX_BPS_PAGES
153 #define CSL_IGNORE(x)           (x = x)
154 #define LONGEST_LEGAL_FILENAME 1024
155 #define FP_WORD_ORDER 0x01
156 #define FP_BYTE_ORDER 0x02
157 #define FP_MASK       0xff
158 typedef intptr_t Lisp_Object;
159 #define CELL sizeof(Lisp_Object)
160 #define TAG_BITS        7
161 #define TAG_CONS        0
162 
163 #define TAG_FIXNUM      1
164 #define TAG_ODDS        2
165 #ifdef COMMON
166 #define TAG_SFLOAT      3
167 #endif
168 #define TAG_SYMBOL      4
169 #define TAG_NUMBERS     5
170 #define TAG_VECTOR      6
171 #define TAG_BOXFLOAT    7
172 #define fixnum_of_int(x)    ((Lisp_Object)(TAG_FIXNUM + (((int32_t)(x)) << 4)))
173 #ifdef SIGNED_SHIFTS_ARE_LOGICAL
174 #define int_of_fixnum(x)    ((int32_t)(((int32_t)(x)) < 0 ?           \
175                              (((int32_t)(x))>>4) | (-0x10000000) :  \
176                              (((int32_t)(x))>>4)))
177 #else
178 #define int_of_fixnum(x)    ((int32_t)(((int32_t)(x)) >> 4))
179 #endif
180 #define GC_BIT_I        8
181 #define GC_BIT_H        8
182 #define GC_BIT_P        ((intptr_t)~((~(uintptr_t)0) >> 1))
183 #define is_marked_i(w)      (((int)(w) & GC_BIT_I) != 0)
184 extern Lisp_Object address_sign;
185 #define is_marked_p(w)      (((Lisp_Object)(w) - address_sign) < 0)
186 #define clear_mark_bit_p(w) (((Lisp_Object)(w) & ~GC_BIT_P) + \
187                               address_sign)
188 #define flip_mark_bit_i(w)  ((Lisp_Object)(w) ^ GC_BIT_I)
189 #define flip_mark_bit_h(w)  ((Header)(w) ^ GC_BIT_H)
190 #define flip_mark_bit_p(w)  ((Lisp_Object)(w) ^ GC_BIT_P)
191 #define is_marked_h(w)      (((int)(w) & GC_BIT_H) != 0)
192 #define exception_pending() (((int)nil & 1) != 0)
193 #define flip_exception()    (nil = C_nil = (nil ^ 1))
194 #define ignore_exception() \
195    do { nil = C_nil; if (exception_pending()) flip_exception(); } while (0)
196 #define set_mark_bit_h(h)   ((Header)(h) | GC_BIT_H)
197 #define clear_mark_bit_h(h) ((Header)(h) & ~GC_BIT_H)
198 #define set_mark_bit_i(h)   ((Lisp_Object)(h) | GC_BIT_I)
199 #define clear_mark_bit_i(h) ((Lisp_Object)(h) & ~GC_BIT_I)
200 #define is_cons(p)   ((((int)(p)) & TAG_BITS) == TAG_CONS)
201 #define is_fixnum(p) ((((int)(p)) & TAG_BITS) == TAG_FIXNUM)
202 #define is_odds(p)   ((((int)(p)) & TAG_BITS) == TAG_ODDS)
203 #ifdef COMMON
204 #define is_sfloat(p) ((((int)(p)) & TAG_BITS) == TAG_SFLOAT)
205 #endif
206 #define is_symbol(p) ((((int)(p)) & TAG_BITS) == TAG_SYMBOL)
207 #define is_numbers(p)((((int)(p)) & TAG_BITS) == TAG_NUMBERS)
208 #define is_vector(p) ((((int)(p)) & TAG_BITS) == TAG_VECTOR)
209 #define is_bfloat(p) ((((int)(p)) & TAG_BITS) == TAG_BOXFLOAT)
210 #ifdef COMMON
211 #define consp(p)     (is_cons(p) && (p) != nil)
212 #define symbolp(p)   (is_symbol(p) || (p) == nil)
213 #else
214 #define consp(p)     is_cons(p)
215 #define symbolp(p)   is_symbol(p)
216 #endif
217 #define car_legal(p) is_cons(p)
218 #define is_number(p) ((((int)(p)) & 1) != 0)
219 #define is_float(p)  ((((int)(p)) & 3) == 3)
220 #define is_immed_or_cons(p) ((((int)(p)) & 4) == 0)
221 typedef struct Cons_Cell
222 {
223     Lisp_Object car;
224     Lisp_Object cdr;
225 } Cons_Cell;
226 #ifdef MEMORY_TRACE
227 extern Cons_Cell *memory_reference(intptr_t p);
228 extern char *cmemory_reference(intptr_t p);
229 extern void identify_page_types();
230 extern long int car_counter;
231 extern unsigned long int car_low, car_high;
232 #define qcar(p) (memory_reference((intptr_t)p)->car)
233 #define qcdr(p) (memory_reference((intptr_t)p)->cdr)
234 #else
235 #define qcar(p) (((Cons_Cell *) (p))->car)
236 #define qcdr(p) (((Cons_Cell *) (p))->cdr)
237 #endif
238 #define car32(p) (*(int32_t *)(p))
239 #define cdr32(p) (*(int32_t *)(p))[1])
240 typedef Lisp_Object Special_Form(Lisp_Object, Lisp_Object);
241 typedef Lisp_Object one_args(Lisp_Object, Lisp_Object);
242 typedef Lisp_Object two_args(Lisp_Object, Lisp_Object, Lisp_Object);
243 typedef Lisp_Object MS_CDECL n_args(Lisp_Object, int, ...);
244 typedef uintptr_t Header;
245 #define header_mask          0x3f0
246 #define type_of_header(h)    (((unsigned int)(h)) & header_mask)
247 #define length_of_header(h)  (((uint32_t)(h)) >> 10)
248 #define TYPE_SYMBOL         0x00000010
249 #define  SYM_SPECIAL_VAR    0x00000040
250 #define  SYM_GLOBAL_VAR     0x00000080
251 #define  SYM_SPECIAL_FORM   0x00000100
252 #define  SYM_MACRO          0x00000200
253 #define  SYM_C_DEF          0x00000400
254 #define  SYM_CODEPTR        0x00000800
255 #define  SYM_ANY_GENSYM     0x00001000
256 #define  SYM_TRACED         0x00002000
257 #define  SYM_FASTGET_MASK   0x000fc000
258 #define  SYM_FASTGET_SHIFT  14
259 #ifdef COMMON
260 #define  SYM_EXTERN_IN_HOME 0x00100000
261 #define  SYM_IN_PACKAGE     0xffe00000
262 #define  SYM_IN_PKG_SHIFT   23
263 #define  SYM_IN_PKG_COUNT   11
264 #else
265 #define  SYM_UNPRINTED_GENSYM 0x00100000
266 #endif
267 #define symhdr_length       ((sizeof(Symbol_Head) + 7) & ~7)
268 #define is_symbol_header(h) (((int)h & 0x30) == TYPE_SYMBOL)
269 #define header_fastget(h)   (((h) >> SYM_FASTGET_SHIFT) & 0x3f)
270 #define TYPE_BIGNUM         0x020
271 #ifdef COMMON
272 #define TYPE_RATNUM         0x060
273 #define TYPE_COMPLEX_NUM    0x0a0
274 #define TYPE_SINGLE_FLOAT   0x120
275 #endif
276 #define TYPE_DOUBLE_FLOAT   0x160
277 #ifdef COMMON
278 #define TYPE_LONG_FLOAT     0x1a0
279 #endif
280 #ifdef MEMORY_TRACE
281 #define numhdr(v) (*(Header *)memory_reference((intptr_t)((char *)(v) - \
282                                                TAG_NUMBERS)))
283 #define flthdr(v) (*(Header *)memory_reference((intptr_t)((char *)(v) - \
284                                                TAG_BOXFLOAT)))
285 #else
286 #define numhdr(v) (*(Header *)((char *)(v) - TAG_NUMBERS))
287 #define flthdr(v) (*(Header *)((char *)(v) - TAG_BOXFLOAT))
288 #endif
289 #define is_numbers_header(h) (((int)(h) & 0x330) == 0x020)
290 #define is_boxfloat_header(h)(((int)(h) & 0x330) == 0x120)
291 #ifdef COMMON
292 #define is_ratio(n) \
293     (type_of_header(numhdr(n)) == TYPE_RATNUM)
294 #define is_complex(n) \
295     (type_of_header(numhdr(n)) == TYPE_COMPLEX_NUM)
296 #endif
297 #define is_bignum_header(h) (type_of_header(h) == TYPE_BIGNUM)
298 #define is_bignum(n) is_bignum_header(numhdr(n))
299 #define ADDRESS_SHIFT (SIXTY_FOUR_BIT ? 3 : 2)
300 #ifdef MEMORY_TRACE
301 #define vechdr(v)  (*(Header *)memory_reference((intptr_t)((char *)(v) - \
302                                TAG_VECTOR)))
303 #define elt(v, n)  (*(Lisp_Object *)memory_reference((intptr_t)((char *)(v) + \
304                                (CELL-TAG_VECTOR) + \
305                                (((intptr_t)(n))<<ADDRESS_SHIFT))))
306 #define celt(v, n) (*cmemory_reference((intptr_t)((char *)(v) + \
307                                (CELL-TAG_VECTOR)+((intptr_t)(n)))))
308 #define ucelt(v, n) (*(unsigned char *)cmemory_reference( \
309                                (intptr_t)((char *)(v) + \
310                                (CELL-TAG_VECTOR)+((intptr_t)(n)))))
311 #define scelt(v, n) (*(signed char *)cmemory_reference( \
312                                (intptr_t)((char *)(v) + \
313                                (CELL-TAG_VECTOR)+((intptr_t)(n)))))
314 #else
315 #define vechdr(v)  (*(Header *)((char *)(v) - TAG_VECTOR))
316 #define elt(v, n)  (*(Lisp_Object *)((char *)(v) + \
317                                (CELL-TAG_VECTOR) + \
318                                (((intptr_t)(n))<<ADDRESS_SHIFT)))
319 #define celt(v, n) (*((char *)(v) + (CELL-TAG_VECTOR)+((intptr_t)(n))))
320 #define ucelt(v, n) (*((unsigned char *)(v) + (CELL-TAG_VECTOR)+((intptr_t)(n))))
321 #define scelt(v, n) (*((signed char *)(v) + (CELL-TAG_VECTOR)+((intptr_t)(n))))
322 #endif
323 #define helt(v, n) \
324    ((*(unsigned char *)((v) + (CELL-TAG_VECTOR) + (2*(intptr_t)(n))) | \
325     (*(signed char *)((v) + (CELL-TAG_VECTOR+1) + (2*(intptr_t)(n)))) << 8))
326 #define sethelt(v, n, x) \
327    do { \
328       *(char *)((v) + (CELL-TAG_VECTOR+0) + (2*(intptr_t)(n))) = (x); \
329       *(char *)((v) + (CELL-TAG_VECTOR+1) + (2*(intptr_t)(n))) = (x)>>8; \
330       } while (0)
331 #define ielt(v, n)  (*(intptr_t *)((char *)(v) + \
332                            (CELL-TAG_VECTOR)+(((intptr_t)(n))<<ADDRESS_SHIFT)))
333 #define ielt32(v, n)  (*(int32_t *)((char *)(v) + \
334                            (CELL-TAG_VECTOR)+(((intptr_t)(n))<<2)))
335 #define felt(v, n)  (*(float *)((char *)(v) + \
336                            (CELL-TAG_VECTOR)+(((intptr_t)(n))<<2)))
337 #define delt(v, n)  (*(double *)((char *)(v) + \
338                            (2*CELL-TAG_VECTOR)+(((intptr_t)(n))<<3)))
339 #ifdef COMMON
340 #define TYPE_BITVEC1        0x030
341 #define TYPE_BITVEC2        0x0b0
342 #define TYPE_BITVEC3        0x130
343 #define TYPE_BITVEC4        0x1b0
344 #define TYPE_BITVEC5        0x230
345 #define TYPE_BITVEC6        0x2b0
346 #define TYPE_BITVEC7        0x330
347 #define TYPE_BITVEC8        0x3b0
348 #define header_of_bitvector(h) (((h) & 0x70) == TYPE_BITVEC1)
349 #endif
350 #define TYPE_STRING         0x070
351 #define TYPE_BPS            0x170
352 #define TYPE_SPARE          0x270
353 #define TYPE_MAPLEREF       TYPE_SPARE
354 #define TYPE_SP             0x370
355 #ifdef COMMON
356 #define vector_holds_binary(h) (((h) & 0x80) == 0 || header_of_bitvector(h))
357 #else
358 #define vector_holds_binary(h) (((h) & 0x80) == 0)
359 #endif
360 #define TYPE_SIMPLE_VEC     0x0f0
361 #define TYPE_HASH           0x1f0
362 #define TYPE_ARRAY          0x2f0
363 #define TYPE_STRUCTURE      0x3f0
364 #define is_mixed_header(h) (((h) & 0x2b0) == TYPE_MIXED1)
365 #define TYPE_VEC8           TYPE_BPS
366 #define TYPE_VEC16          0x220
367 #define TYPE_VEC32          0x260
368 #define TYPE_MIXED1         0x2a0
369 #define TYPE_MIXED2         0x2e0
370 #define TYPE_FLOAT32        0x320
371 #define TYPE_FLOAT64        0x360
372 #define TYPE_MIXED3         0x3a0
373 #define TYPE_STREAM         0x3e0
374 #define ODDS_MASK           0xff
375 #define TAG_CHAR            0x02
376 #define TAG_BPS             0x42
377 #define TAG_SPID            0xc2
378 #define SPID_NIL            (TAG_SPID+0x0000)
379 #define SPID_FBIND          (TAG_SPID+0x0100)
380 #define SPID_CATCH          (TAG_SPID+0x0200)
381 #define SPID_PROTECT        (TAG_SPID+0x0300)
382 #define SPID_HASH0          (TAG_SPID+0x0400)
383 #define SPID_HASH1          (TAG_SPID+0x0500)
384 #define SPID_GCMARK         (TAG_SPID+0x0600)
385 #define SPID_NOINPUT        (TAG_SPID+0x0700)
386 #define SPID_ERROR          (TAG_SPID+0x0800)
387 #define SPID_PVBIND         (TAG_SPID+0x0900)
388 #define SPID_NOARG          (TAG_SPID+0x0a00)
389 #define SPID_NOPROP         (TAG_SPID+0x0b00)
390 #define SPID_LIBRARY        (TAG_SPID+0x0c00)
391 #define is_header(x) (((int)(x) & 0x30) != 0)
392 #define is_char(x)   (((int)(x) & ODDS_MASK) == TAG_CHAR)
393 #define is_bps(x)    (((int)(x) & ODDS_MASK) == TAG_BPS)
394 #define is_spid(x)   (((int)(x) & ODDS_MASK) == TAG_SPID)
395 #define is_library(x)(((int)(x) & 0xffff)    == SPID_LIBRARY)
396 #define library_number(x) (((x) >> 20) & 0xfff)
397 #ifdef OLD_VERSION
398 #define font_of_char(n)  (((int32_t)(n) >> 24) & 0xff)
399 #define bits_of_char(n)  (((int32_t)(n) >> 16) & 0xff)
400 #ifdef Kanji
401 #define code_of_char(n)  (((int32_t)(n) >>  8) & 0xffff)
402 #else
403 #define code_of_char(n)  ((char)(((int32_t)(n) >>  8) & 0xff))
404 #endif
405 #define pack_char(bits, font, code)                                \
406     ((Lisp_Object)((((uint32_t)(font)) << 24) |                  \
407     (((uint32_t)(bits)) << 16) | (((uint32_t)(code)) << 8) | TAG_CHAR))
408 
409 #define CHAR_EOF pack_char(0, 0xff, 4)
410 #else
411 #define font_of_char(n)  (((int32_t)(n) >> 29) & 0x03)
412 #define bits_of_char(n)  (0)
413 #define code_of_char(n)  (((int32_t)(n) >>  8) & 0x001fffff)
414 #define pack_char(bits, font, code)                                \
415     ((Lisp_Object)((((uint32_t)(font)) << 29) |                    \
416                    (((uint32_t)(code)) << 8) | TAG_CHAR))
417 
418 #define CHAR_EOF ((Lisp_Object)(int32_t)0xff000402)
419 #endif
420 #define data_of_bps(v)                                        \
421   ((char *)(doubleword_align_up((intptr_t)                    \
422                bps_pages[((uint32_t)(v))>>(PAGE_BITS+6)]) +   \
423             (SIXTY_FOUR_BIT ?                                 \
424                (intptr_t)((((uint64_t)(v))>>(32-PAGE_BITS)) & \
425                           PAGE_POWER_OF_TWO) :                \
426                0) +                                           \
427             (((v) >> 6) & (PAGE_POWER_OF_TWO-4))))
428 typedef int32_t junk;
429 typedef intptr_t junkxx;
430 typedef struct Symbol_Head
431 {
432     Header header;
433     Lisp_Object value;
434     Lisp_Object env;
435     intptr_t function1;
436     intptr_t function2;
437     intptr_t functionn;
438     Lisp_Object pname;
439     Lisp_Object plist;
440     Lisp_Object fastgets;
441     uintptr_t count;
442 #ifdef COMMON
443     Lisp_Object package;
444 #endif
445 } Symbol_Head;
446 #define MAX_FASTGET_SIZE  63
447 #ifdef COMMON
448 #define symalign(n) (SIXTY_FOUR_BIT ? \
449      ((char *)((intptr_t)(n) & ~(intptr_t)TAG_SYMBOL)) : \
450      (n)
451 #else
452 #define symalign(n) (n)
453 #endif
454 #ifndef MEMORY_TRACE
455 #define qheader(p)     (*(Header *)     symalign((char *)(p) - TAG_SYMBOL))
456 #define qvalue(p)      (*(Lisp_Object *)symalign((char *)(p) + (CELL - TAG_SYMBOL)))
457 #define qenv(p)        (*(Lisp_Object *)symalign((char *)(p) + (2*CELL - TAG_SYMBOL)))
458 #define qfn1(p)        ((one_args *) *((intptr_t *)symalign((char *)(p) + \
459                                          (3*CELL - TAG_SYMBOL))))
460 #define qfn2(p)        ((two_args *) *((intptr_t *)symalign((char *)(p) + \
461                                          (4*CELL - TAG_SYMBOL))))
462 #define qfnn(p)        ((n_args *)   *((intptr_t *)symalign((char *)(p) + \
463                                          (5*CELL - TAG_SYMBOL))))
464 #define ifn1(p)        (*(intptr_t *)      symalign((char *)(p) + (3*CELL-TAG_SYMBOL)))
465 #define ifn2(p)        (*(intptr_t *)      symalign((char *)(p) + (4*CELL-TAG_SYMBOL)))
466 #define ifnn(p)        (*(intptr_t *)      symalign((char *)(p) + (5*CELL-TAG_SYMBOL)))
467 #define qpname(p)      (*(Lisp_Object *)symalign((char *)(p) + (6*CELL-TAG_SYMBOL)))
468 #define qplist(p)      (*(Lisp_Object *)symalign((char *)(p) + (7*CELL-TAG_SYMBOL)))
469 #define qfastgets(p)   (*(Lisp_Object *)symalign((char *)(p) + (8*CELL-TAG_SYMBOL)))
470 #define qcount(p)      (*(uintptr_t *) symalign((char *)(p) + (9*CELL-TAG_SYMBOL)))
471 #ifdef COMMON
472 #define qpackage(p)    (*(Lisp_Object *)symalign((char *)(p) + (10*CELL-TAG_SYMBOL)))
473 #endif
474 #else
475 #define qheader(p)     (*(Header *)     memory_reference((intptr_t) \
476                                          symalign((char *)(p) - TAG_SYMBOL)))
477 #define qvalue(p)      (*(Lisp_Object *)memory_reference((intptr_t) \
478                                          symalign((char *)(p) + (CELL-TAG_SYMBOL))))
479 #define qenv(p)        (*(Lisp_Object *)memory_reference((intptr_t) \
480                                          symalign((char *)(p) + (2*CELL-TAG_SYMBOL))))
481 #define qfn1(p)        ((one_args *) *(intptr_t *)memory_reference((intptr_t) \
482                                          symalign((char *)(p) + (3*CELL-TAG_SYMBOL))))
483 #define qfn2(p)        ((two_args *) *(intptr_t *)memory_reference((intptr_t) \
484                                          symalign((char *)(p) + (4*CELL-TAG_SYMBOL))))
485 #define qfnn(p)        ((n_args *)   *(intptr_t *)memory_reference((intptr_t) \
486                                          symalign((char *)(p) + (5*CELL-TAG_SYMBOL))))
487 #define ifn1(p)        (*(intptr_t *)      memory_reference((intptr_t) \
488                                          symalign((char *)(p) + (3*CELL-TAG_SYMBOL))))
489 #define ifn2(p)        (*(intptr_t *)      memory_reference((intptr_t) \
490                                          symalign((char *)(p) + (4*CELL-TAG_SYMBOL))))
491 #define ifnn(p)        (*(intptr_t *)      memory_reference((intptr_t) \
492                                          symalign((char *)(p) + (5*CELL-TAG_SYMBOL))))
493 #define qpname(p)      (*(Lisp_Object *)memory_reference((intptr_t) \
494                                          symalign((char *)(p) + (6*CELL-TAG_SYMBOL))))
495 #define qplist(p)      (*(Lisp_Object *)memory_reference((intptr_t) \
496                                          symalign((char *)(p) + (7*CELL-TAG_SYMBOL))))
497 #define qfastgets(p)   (*(Lisp_Object *)memory_reference((intptr_t) \
498                                          symalign((char *)(p) + (8*CELL-TAG_SYMBOL))))
499 #define qcount(p)      (*(uintptr_t *) memory_reference((intptr_t) \
500                                          symalign((char *)(p) + (9*CELL-TAG_SYMBOL))))
501 #ifdef COMMON
502 #define qpackage(p)    (*(Lisp_Object *)memory_reference((intptr_t) \
503                                          symalign((char *)(p) + (10*CELL-TAG_SYMBOL))))
504 #endif
505 #endif
506 #ifdef COMMON
507 typedef union Float_union
508 {
509     float f;
510     int32_t i;
511 } Float_union;
512 #endif
513 typedef struct Big_Number
514 {
515     Header h;
516     uint32_t d[1];
517 } Big_Number;
518 #define bignum_length(b)  length_of_header(numhdr(b))
519 #ifdef MEMORY_TRACE
520 #define bignum_digits(b)  ((uint32_t *)memory_reference((intptr_t)((char *)b + \
521                                          (CELL-TAG_NUMBERS))))
522 #else
523 #define bignum_digits(b)  ((uint32_t *)((char *)b  + (CELL-TAG_NUMBERS)))
524 #endif
525 #define make_bighdr(n)    (TAG_ODDS+TYPE_BIGNUM+(((intptr_t)(n))<<12))
526 #define pack_hdrlength(n) (((intptr_t)(n))<<12)
527 #ifdef COMMON
528 typedef struct Rational_Number
529 {
530     Header header;
531     Lisp_Object num;
532     Lisp_Object den;
533 } Rational_Number;
534 #define numerator(r)    (((Rational_Number *)((char *)(r)-TAG_NUMBERS))->num)
535 #define denominator(r)  (((Rational_Number *)((char *)(r)-TAG_NUMBERS))->den)
536 typedef struct Complex_Number
537 {
538     Header header;
539     Lisp_Object real;
540     Lisp_Object imag;
541 } Complex_Number;
542 #define real_part(r)    (((Complex_Number *)((char *)(r)-TAG_NUMBERS))->real)
543 #define imag_part(r)    (((Complex_Number *)((char *)(r)-TAG_NUMBERS))->imag)
544 typedef struct Single_Float
545 {
546     Header header;
547     union float_or_int {
548        float f;
549        int32_t i;
550     } f;
551 } Single_Float;
552 #define single_float_val(v) \
553     (((Single_Float *)((char *)(v)-TAG_BOXFLOAT))->f.f)
554 #endif
555 #define SIZEOF_DOUBLE_FLOAT     16
556 #define double_float_addr(v)    ((double *)((char *)(v) + \
557                                    (8-TAG_BOXFLOAT)))
558 #define double_float_val(v)     (*(double *)((char *)(v) + \
559                                    (8-TAG_BOXFLOAT)))
560 #ifdef COMMON
561 #define SIZEOF_LONG_FLOAT       16
562 #define long_float_addr(v)      ((double *)((char *)(v) + \
563                                    (8-TAG_BOXFLOAT)))
564 #define long_float_val(v)       (*(double *)((char *)(v) + \
565                                    (8-TAG_BOXFLOAT)))
566 #endif
567 #define word_align_up(n) ((Lisp_Object)(((intptr_t)(n) + 3) & (-4)))
568 #define doubleword_align_up(n) ((Lisp_Object)(((intptr_t)(n) + 7) & (-8)))
569 #define doubleword_align_down(n) ((Lisp_Object)((intptr_t)(n) & (-8)))
570 #define object_align_up(n) ((Lisp_Object)(((intptr_t)(n) + \
571                             sizeof(Lisp_Object) - 1) & (-sizeof(Lisp_Object))))
572 #define quadword_align_up(n) ((Lisp_Object)(((intptr_t)(n) + 15) & (-16)))
573 #define quadword_align_down(n) ((Lisp_Object)((intptr_t)(n) & (-16)))
574 #define UNWIND_NULL       0x0
575 #define UNWIND_GO         0x1
576 #define UNWIND_RETURN     0x2
577 #define UNWIND_THROW      0x3
578 #define UNWIND_RESTART    0x4
579 #define UNWIND_RESOURCE   0x5
580 #define UNWIND_FNAME      0x100
581 #define UNWIND_ARGS       0x200
582 #define UNWIND_ERROR      (UNWIND_FNAME|UNWIND_ARGS)
583 #define UNWIND_UNWIND     0x400
584 #endif
585 #ifndef header_cslerror_h
586 #define header_cslerror_h 1
587 extern Lisp_Object interrupted(Lisp_Object p);
588 extern Lisp_Object MS_CDECL error(int nargs, int code, ...);
589 extern Lisp_Object MS_CDECL cerror(int nargs, int code1, int code2, ...);
590 extern Lisp_Object too_few_2(Lisp_Object env, Lisp_Object a1);
591 extern Lisp_Object too_many_1(Lisp_Object env, Lisp_Object a1, Lisp_Object a2);
592 extern Lisp_Object wrong_no_0a(Lisp_Object env, Lisp_Object a1);
593 extern Lisp_Object wrong_no_0b(Lisp_Object env, Lisp_Object a1, Lisp_Object a2);
594 extern Lisp_Object wrong_no_3a(Lisp_Object env, Lisp_Object a1);
595 extern Lisp_Object wrong_no_3b(Lisp_Object env, Lisp_Object a1, Lisp_Object a2);
596 extern Lisp_Object wrong_no_na(Lisp_Object env, Lisp_Object a1);
597 extern Lisp_Object wrong_no_nb(Lisp_Object env, Lisp_Object a1, Lisp_Object a2);
598 extern Lisp_Object MS_CDECL wrong_no_1(Lisp_Object env, int nargs, ...);
599 extern Lisp_Object MS_CDECL wrong_no_2(Lisp_Object env, int nargs, ...);
600 extern Lisp_Object bad_special2(Lisp_Object env, Lisp_Object a1, Lisp_Object a2);
601 extern Lisp_Object MS_CDECL bad_specialn(Lisp_Object env, int nargs, ...);
602 extern Lisp_Object aerror(char *s);
603 extern Lisp_Object aerror0(char *s);
604 extern Lisp_Object aerror1(char *s, Lisp_Object a);
605 extern Lisp_Object aerror2(char *s, Lisp_Object a, Lisp_Object b);
606 extern void MS_CDECL fatal_error(int code, ...);
607 #define GC_MESSAGES   0x01
608 #define FASL_MESSAGES 0x02
609 #define VERBOSE_MSGS  0x04
610 #define GC_MSG_BITS   0x07
611 #define verbos_flag (miscflags & GC_MSG_BITS)
612 #define HEADLINE_FLAG 0x08
613 #define FNAME_FLAG    0x10
614 #define ARGS_FLAG     0x20
615 #define BACKTRACE_MSG_BITS 0x38
616 
617 #define err_bad_car               0
618 #define err_bad_cdr               1
619 #define err_no_store              2
620 #define err_undefined_function_1  3
621 #define err_undefined_function_2  4
622 #define err_undefined_function_n  5
623 #define err_wrong_no_args         6
624 #define err_unbound_lexical       7
625 #define err_bad_rplac             8
626 #define err_bad_arith             9
627 #define err_redef_special        10
628 #define err_bad_arg              11
629 #define err_bad_declare          12
630 #define err_bad_fn               13
631 #define err_unset_var            14
632 #define err_too_many_args1       15
633 #define err_too_many_args2       16
634 #define err_bad_apply            17
635 #define err_macroex_hook         18
636 #define err_block_tag            19
637 #define err_go_tag               20
638 #define err_excess_args          21
639 #define err_insufficient_args    22
640 #define err_bad_bvl              23
641 #define err_bad_keyargs          24
642 #define err_write_err            25
643 #define err_bad_endp             26
644 #define err_no_fasldir           27
645 #define err_no_fasl              28
646 #define err_open_failed          29
647 #define err_pipe_failed          30
648 #define err_stack_overflow       31
649 #define err_top_bit              32
650 #define err_mem_spans_zero       33
651 #define err_no_longer_used       34
652 #define err_no_tempdir           35
653 
654 #ifdef INCLUDE_ERROR_STRING_TABLE
655 static char *error_message_table[] =
656 {
657     "attempt to take car of an atom",
658     "attempt to take cdr of an atom",
659     "insufficient freestore to run this package",
660     "undefined function (1 arg)",
661     "undefined function (2 args)",
662     "undefined function",
663     "wrong number of arguments",
664     "unbound lexical variable",
665     "bad rplaca/rplacd",
666     "bad argument for an arithmetic function",
667     "attempt to redefine a special form",
668     "not a variable",
669     "bad use of declare",
670     "attempt to apply non-function",
671     "unset variable",
672     "too many arguments",
673     "too many arguments",
674     "object not valid as a function (apply,",
675     "macroexpand-hook failure",
676     "block tag not found",
677     "go tag not found",
678     "too many arguments provided",
679     "not enough arguments provided",
680     "bad item in bound variable list",
681     "bad keyword arguments",
682     "write-error on file",
683     "endp used on badly terminated list",
684     "environment parameter 'fasldir' not set",
685     "loadable module not found for loading",
686     "file could not be opened",
687     "unable to establish pipe",
688     "stack overflow",
689     "top bit of address has unexpected value",
690     "memory block spans the zero address",
691     "this error code available for re-use",
692     "unable to find a directory for temporary files",
693     "dummy final error message"
694 };
695 #endif
696 #endif
697 #ifndef header_externs_h
698 #define header_externs_h 1
699 #ifdef __cplusplus
700 extern "C" {
701 #endif
702 #ifdef USE_MPI
703 #include "mpi.h"
704 extern int32_t mpi_rank,mpi_size;
705 #endif
706 #define D do { \
707           char *fffff = strrchr(__FILE__, '/'); \
708           if (fffff == NULL) fffff = strrchr(__FILE__, '\\'); \
709           if (fffff == NULL) fffff = __FILE__; else fffff++; \
710           fprintf(stderr, "Line %d File %s\n", __LINE__, fffff); \
711           fflush(stderr); \
712           } while (0)
713 #define DS(s) do { \
714           char *fffff = strrchr(__FILE__, '/'); \
715           if (fffff == NULL) fffff = strrchr(__FILE__, '\\'); \
716           if (fffff == NULL) fffff = __FILE__; else fffff++; \
717           fprintf(stderr, "Line %d File %s: %s\n", __LINE__, fffff, (s)); \
718           fflush(stderr); \
719           } while (0)
720 #define DX(s) do { \
721           char *fffff = strrchr(__FILE__, '/'); \
722           if (fffff == NULL) fffff = strrchr(__FILE__, '\\'); \
723           if (fffff == NULL) fffff = __FILE__; else fffff++; \
724           fprintf(stderr, "Line %d File %s: %llx\n", __LINE__, fffff, \
725                           (long long unsigned)(s)); \
726           fflush(stderr); \
727           } while (0)
728 extern void **pages,
729             **heap_pages, **vheap_pages,
730             **bps_pages, **native_pages;
731 extern void **new_heap_pages, **new_vheap_pages,
732             **new_bps_pages, **new_native_pages;
733 #ifdef CONSERVATIVE
734 #define PAGE_TYPE_CONS   0
735 #define PAGE_TYPE_VECTOR 1
736 #define PAGE_TYPE_BPS    2
737 #define PAGE_TYPE_NATIVE 3
738 typedef struct page_map_t
739 {
740     void *start;
741     void *end;
742     int type;
743 } page_map_t;
744 #endif
745 extern int32_t pages_count,
746                heap_pages_count, vheap_pages_count,
747                bps_pages_count, native_pages_count;
748 extern int32_t new_heap_pages_count, new_vheap_pages_count,
749                new_bps_pages_count, new_native_pages_count;
750 extern int32_t native_pages_changed;
751 extern int32_t native_fringe;
752 extern Lisp_Object *nilsegment, *stacksegment;
753 extern Lisp_Object *stackbase;
754 extern int32_t stack_segsize;
755 extern Lisp_Object *C_stack;
756 #define stack C_stack
757 extern char *C_stack_limit;
758 extern CSLbool restartp;
759 extern char *big_chunk_start, *big_chunk_end;
760 #ifdef CONSERVATIVE
761 extern Lisp_Object *C_stackbase, *C_stacktop;
762 #endif
763 #ifdef MEMORY_TRACE
764 #define push(a)         do { \
765                           *++stack = (a); \
766                           memory_reference((intptr_t)stack); } while (0)
767 #define push2(a,b)      do { \
768                           *++stack = (a); \
769                           memory_reference((intptr_t)stack); \
770                           *++stack = (b); \
771                           memory_reference((intptr_t)stack); } while (0)
772 #define push3(a,b,c)    do { \
773                           *++stack = (a); \
774                           memory_reference((intptr_t)stack); \
775                           *++stack = (b); \
776                           memory_reference((intptr_t)stack); \
777                           *++stack = (c); \
778                           memory_reference((intptr_t)stack); } while (0)
779 #define push4(a,b,c,d)  do { \
780                           *++stack = (a); \
781                           memory_reference((intptr_t)stack); \
782                           *++stack = (b); \
783                           memory_reference((intptr_t)stack); \
784                           *++stack = (c); \
785                           memory_reference((intptr_t)stack); \
786                           *++stack = (d); \
787                           memory_reference((intptr_t)stack); } while (0)
788 #define push5(a,b,c,d,e)do { \
789                           *++stack = (a); \
790                           memory_reference((intptr_t)stack); \
791                           *++stack = (b); \
792                           memory_reference((intptr_t)stack); \
793                           *++stack = (c); \
794                           memory_reference((intptr_t)stack); \
795                           *++stack = (d); \
796                           memory_reference((intptr_t)stack); \
797                           *++stack = (e); \
798                           memory_reference((intptr_t)stack); } while (0)
799 #define push6(a,b,c,d,e,f) do {push3(a,b,c); push3(d,e,f); } while (0)
800 #define my_pop()        (memory_reference((int32_t)stack), (*stack--))
801 #define pop(a)          { memory_reference((intptr_t)stack); (a) = *stack--; }
802 #define pop2(a,b)       { memory_reference((intptr_t)stack); (a) = *stack--; memory_reference((intptr_t)stack); (b) = *stack--; }
803 #define pop3(a,b,c)     { memory_reference((intptr_t)stack); (a) = *stack--; memory_reference((intptr_t)stack); (b) = *stack--; memory_reference((intptr_t)stack); (c) = *stack--; }
804 #define pop4(a,b,c,d)   { memory_reference((intptr_t)stack); (a) = *stack--; memory_reference((intptr_t)stack); (b) = *stack--; memory_reference((intptr_t)stack); (c) = *stack--; \
805                           memory_reference((intptr_t)stack); (d) = *stack--; }
806 #define pop5(a,b,c,d,e) { memory_reference((intptr_t)stack); (a) = *stack--; memory_reference((intptr_t)stack); (b) = *stack--; memory_reference((intptr_t)stack); (c) = *stack--; \
807                           memory_reference((intptr_t)stack); (d) = *stack--; memory_reference((intptr_t)stack); (e) = *stack--; }
808 #define pop6(a,b,c,d,e,f) {pop3(a,b,c); pop3(d,e,f)}
809 #define popv(n)           stack -= (n)
810 #else
811 #define push(a)         { *++stack = (a); }
812 #define push2(a,b)      { stack[1] = (a); stack[2] = (b); stack += 2; }
813 #define push3(a,b,c)    { stack[1] = (a); stack[2] = (b); stack[3] = (c); \
814                           stack += 3; }
815 #define push4(a,b,c,d)  { stack[1] = (a); stack[2] = (b); stack[3] = (c); \
816                           stack[4] = (d); stack += 4; }
817 #define push5(a,b,c,d,e){ stack[1] = (a); stack[2] = (b); stack[3] = (c); \
818                           stack[4] = (d); stack[5] = (e); stack += 5; }
819 #define push6(a,b,c,d,e,f) {                                              \
820                           stack[1] = (a); stack[2] = (b); stack[3] = (c); \
821                           stack[4] = (d); stack[5] = (e); stack[6] = (f); \
822                           stack += 6; }
823 #define pop(a)          { (a) = *stack--; }
824 #define pop2(a,b)       { stack -= 2;     (a) = stack[2]; (b) = stack[1]; }
825 #define pop3(a,b,c)     { stack -= 3;     (a) = stack[3]; (b) = stack[2]; \
826                           (c) = stack[1]; }
827 #define pop4(a,b,c,d)   { stack -= 4;     (a) = stack[4]; (b) = stack[3]; \
828                           (c) = stack[2]; (d) = stack[1]; }
829 #define pop5(a,b,c,d,e) { stack -= 5;     (a) = stack[5]; (b) = stack[4]; \
830                           (c) = stack[3]; (d) = stack[2]; (e) = stack[1]; }
831 #define pop6(a,b,c,d,e, f) { stack -= 6;                                  \
832                           (a) = stack[6]; (b) = stack[5]; (c) = stack[4]; \
833                           (d) = stack[3]; (e) = stack[2]; (f) = stack[1]; }
834 #define popv(n)           stack -= (n)
835 #endif
836 #define errexit()    { nil = C_nil; if (exception_pending()) return nil; }
837 #define errexitn(n)  { nil = C_nil;                                      \
838                        if (exception_pending()) { popv(n); return nil; } }
839 #define errexitv()   { nil = C_nil; if (exception_pending()) return; }
840 #define errexitvn(n) { nil = C_nil;                                      \
841                        if (exception_pending()) { popv(n); return; } }
842 #define GC_USER_SOFT 0
843 #define GC_USER_HARD 1
844 #define GC_STACK     2
845 #define GC_CONS      3
846 #define GC_VEC       4
847 #define GC_BPS       5
848 #define GC_PRESERVE  6
849 #define GC_NATIVE    7
850 extern volatile char stack_contents_temp;
851 #ifdef CHECK_STACK
852 extern int check_stack(char *file, int line);
853 extern void show_stack();
854 #define if_check_stack \
855    if (check_stack(__FILE__,__LINE__)) \
856    {   show_stack(); return aerror("stack overflow"); }
857 #else
858 #define if_check_stack \
859    {   char *p = (char *)&p; \
860        if (p < C_stack_limit) return aerror("stack overflow"); \
861    }
862 #endif
863 extern int32_t software_ticks, countdown;
864 #define stackcheck0(k)                                      \
865     if_check_stack                                          \
866     if ((--countdown < 0 && deal_with_tick()) ||            \
867         stack >= stacklimit)                                \
868     {   reclaim(nil, "stack", GC_STACK, 0);                 \
869         nil = C_nil;                                        \
870         if (exception_pending()) { popv(k); return nil; }   \
871     }
872 #define stackcheck1(k, a1)                                  \
873     if_check_stack                                          \
874     if ((--countdown < 0 && deal_with_tick()) ||            \
875         stack >= stacklimit)                                \
876     {   a1 = reclaim(a1, "stack", GC_STACK, 0);             \
877         nil = C_nil;                                        \
878         if (exception_pending()) { popv(k); return nil; }   \
879     }
880 #define stackcheck2(k, a1, a2)                              \
881     if_check_stack                                          \
882     if ((--countdown < 0 && deal_with_tick()) ||            \
883         stack >= stacklimit)                                \
884     {   push(a2);                                           \
885         a1 = reclaim(a1, "stack", GC_STACK, 0); pop(a2);    \
886         nil = C_nil;                                        \
887         if (exception_pending()) { popv(k); return nil; }   \
888     }
889 #define stackcheck3(k, a1, a2, a3)                          \
890     if_check_stack                                          \
891     if ((--countdown < 0 && deal_with_tick()) ||            \
892         stack >= stacklimit)                                \
893     {   push2(a2, a3);                                      \
894         a1 = reclaim(a1, "stack", GC_STACK, 0);             \
895         pop2(a3, a2);                                       \
896         nil = C_nil;                                        \
897         if (exception_pending()) { popv(k); return nil; }   \
898     }
899 #define stackcheck4(k, a1, a2, a3, a4)                      \
900     if_check_stack                                          \
901     if ((--countdown < 0 && deal_with_tick()) ||            \
902         stack >= stacklimit)                                \
903     {   push3(a2, a3, a4);                                  \
904         a1 = reclaim(a1, "stack", GC_STACK, 0);             \
905         pop3(a4, a3, a2);                                   \
906         nil = C_nil;                                        \
907         if (exception_pending()) { popv(k); return nil; }   \
908     }
909 extern Lisp_Object C_nil;
910 #define first_nil_offset         50
911 #define work_0_offset           200
912 #define last_nil_offset         251
913 #define NIL_SEGMENT_SIZE    (last_nil_offset*sizeof(Lisp_Object) + 32)
914 #define SPARE                   512
915 #ifdef COMMON
916 #define BASE ((Lisp_Object *)nil)
917 #else
918 #define BASE (SIXTY_FOUR_BIT ? ((Lisp_Object *)(nil+4)): ((Lisp_Object *)nil))
919 #endif
920 #ifdef NILSEG_EXTERNS
921 #define nil_as_base
922 extern intptr_t byteflip;
923 extern Lisp_Object codefringe;
924 extern Lisp_Object volatile codelimit;
925 extern Lisp_Object * volatile stacklimit;
926 extern Lisp_Object fringe;
927 extern Lisp_Object volatile heaplimit;
928 extern Lisp_Object volatile vheaplimit;
929 extern Lisp_Object vfringe;
930 extern intptr_t nwork;
931 extern intptr_t exit_count;
932 extern intptr_t gensym_ser, print_precision, miscflags;
933 extern intptr_t current_modulus, fastget_size, package_bits;
934 extern Lisp_Object lisp_true, lambda, funarg, unset_var, opt_key, rest_key;
935 extern Lisp_Object quote_symbol, function_symbol, comma_symbol;
936 extern Lisp_Object comma_at_symbol, cons_symbol, eval_symbol;
937 extern Lisp_Object work_symbol, evalhook, applyhook, macroexpand_hook;
938 extern Lisp_Object append_symbol, exit_tag, exit_value, catch_tags;
939 extern Lisp_Object current_package, startfn;
940 extern Lisp_Object gensym_base, string_char_sym, boffo;
941 extern Lisp_Object err_table;
942 extern Lisp_Object progn_symbol;
943 extern Lisp_Object lisp_work_stream, charvec, raise_symbol, lower_symbol;
944 extern Lisp_Object echo_symbol, codevec, litvec, supervisor, B_reg;
945 extern Lisp_Object savedef, comp_symbol, compiler_symbol, faslvec;
946 extern Lisp_Object tracedfn, lisp_terminal_io;
947 extern Lisp_Object lisp_standard_output, lisp_standard_input, lisp_error_output;
948 extern Lisp_Object lisp_trace_output, lisp_debug_io, lisp_query_io;
949 extern Lisp_Object prompt_thing, faslgensyms;
950 extern Lisp_Object prinl_symbol, emsg_star, redef_msg;
951 extern Lisp_Object expr_symbol, fexpr_symbol, macro_symbol;
952 extern Lisp_Object cl_symbols, active_stream, current_module;
953 extern Lisp_Object native_defs, features_symbol, lisp_package;
954 extern Lisp_Object sys_hash_table, help_index, cfunarg, lex_words;
955 extern Lisp_Object get_counts, fastget_names, input_libraries;
956 extern Lisp_Object output_library, current_file, break_function;
957 extern Lisp_Object standard_output, standard_input, debug_io;
958 extern Lisp_Object error_output, query_io, terminal_io;
959 extern Lisp_Object trace_output, fasl_stream;
960 extern Lisp_Object native_code, native_symbol, traceprint_symbol;
961 extern Lisp_Object loadsource_symbol;
962 extern Lisp_Object hankaku_symbol, bytecoded_symbol, nativecoded_symbol;
963 extern Lisp_Object gchook, resources, callstack, procstack, procmem;
964 #ifdef COMMON
965 extern Lisp_Object keyword_package;
966 extern Lisp_Object all_packages, package_symbol, internal_symbol;
967 extern Lisp_Object external_symbol, inherited_symbol;
968 extern Lisp_Object key_key, allow_other_keys, aux_key;
969 extern Lisp_Object format_symbol;
970 extern Lisp_Object expand_def_symbol, allow_key_key;
971 #endif
972 extern Lisp_Object declare_symbol, special_symbol;
973 #ifdef OPENMATH
974 extern Lisp_Object MS_CDECL om_openFileDev(Lisp_Object env, int nargs, ...);
975 extern Lisp_Object om_openStringDev(Lisp_Object nil, Lisp_Object lstr, Lisp_Object lenc);
976 extern Lisp_Object om_closeDev(Lisp_Object env, Lisp_Object dev);
977 extern Lisp_Object om_setDevEncoding(Lisp_Object nil, Lisp_Object ldev, Lisp_Object lenc);
978 extern Lisp_Object om_makeConn(Lisp_Object nil, Lisp_Object ltimeout);
979 extern Lisp_Object om_closeConn(Lisp_Object nil, Lisp_Object lconn);
980 extern Lisp_Object om_getConnInDevice(Lisp_Object nil, Lisp_Object lconn);
981 extern Lisp_Object om_getConnOutDevice(Lisp_Object nil, Lisp_Object lconn);
982 extern Lisp_Object MS_CDECL om_connectTCP(Lisp_Object nil, int nargs, ...);
983 extern Lisp_Object om_bindTCP(Lisp_Object nil, Lisp_Object lconn, Lisp_Object lport);
984 extern Lisp_Object om_putApp(Lisp_Object nil, Lisp_Object ldev);
985 extern Lisp_Object om_putEndApp(Lisp_Object nil, Lisp_Object ldev);
986 extern Lisp_Object om_putAtp(Lisp_Object nil, Lisp_Object ldev);
987 extern Lisp_Object om_putEndAtp(Lisp_Object nil, Lisp_Object ldev);
988 extern Lisp_Object om_putAttr(Lisp_Object nil, Lisp_Object ldev);
989 extern Lisp_Object om_putEndAttr(Lisp_Object nil, Lisp_Object ldev);
990 extern Lisp_Object om_putBind(Lisp_Object nil, Lisp_Object ldev);
991 extern Lisp_Object om_putEndBind(Lisp_Object nil, Lisp_Object ldev);
992 extern Lisp_Object om_putBVar(Lisp_Object nil, Lisp_Object ldev);
993 extern Lisp_Object om_putEndBVar(Lisp_Object nil, Lisp_Object ldev);
994 extern Lisp_Object om_putError(Lisp_Object nil, Lisp_Object ldev);
995 extern Lisp_Object om_putEndError(Lisp_Object nil, Lisp_Object ldev);
996 extern Lisp_Object om_putObject(Lisp_Object nil, Lisp_Object ldev);
997 extern Lisp_Object om_putEndObject(Lisp_Object nil, Lisp_Object ldev);
998 extern Lisp_Object om_putInt(Lisp_Object nil, Lisp_Object ldev, Lisp_Object val);
999 extern Lisp_Object om_putFloat(Lisp_Object nil, Lisp_Object ldev, Lisp_Object val);
1000 extern Lisp_Object om_putByteArray(Lisp_Object nil, Lisp_Object ldev, Lisp_Object val);
1001 extern Lisp_Object om_putVar(Lisp_Object nil, Lisp_Object ldev, Lisp_Object val);
1002 extern Lisp_Object om_putString(Lisp_Object nil, Lisp_Object ldev, Lisp_Object val);
1003 extern Lisp_Object om_putSymbol(Lisp_Object nil, Lisp_Object ldev, Lisp_Object val);
1004 extern Lisp_Object MS_CDECL om_putSymbol2(Lisp_Object nil, int nargs, ...);
1005 extern Lisp_Object om_getApp(Lisp_Object nil, Lisp_Object ldev);
1006 extern Lisp_Object om_getEndApp(Lisp_Object nil, Lisp_Object ldev);
1007 extern Lisp_Object om_getAtp(Lisp_Object nil, Lisp_Object ldev);
1008 extern Lisp_Object om_getEndAtp(Lisp_Object nil, Lisp_Object ldev);
1009 extern Lisp_Object om_getAttr(Lisp_Object nil, Lisp_Object ldev);
1010 extern Lisp_Object om_getEndAttr(Lisp_Object nil, Lisp_Object ldev);
1011 extern Lisp_Object om_getBind(Lisp_Object nil, Lisp_Object ldev);
1012 extern Lisp_Object om_getEndBind(Lisp_Object nil, Lisp_Object ldev);
1013 extern Lisp_Object om_getBVar(Lisp_Object nil, Lisp_Object ldev);
1014 extern Lisp_Object om_getEndBVar(Lisp_Object nil, Lisp_Object ldev);
1015 extern Lisp_Object om_getError(Lisp_Object nil, Lisp_Object ldev);
1016 extern Lisp_Object om_getEndError(Lisp_Object nil, Lisp_Object ldev);
1017 extern Lisp_Object om_getObject(Lisp_Object nil, Lisp_Object ldev);
1018 extern Lisp_Object om_getEndObject(Lisp_Object nil, Lisp_Object ldev);
1019 extern Lisp_Object om_getInt(Lisp_Object nil, Lisp_Object ldev);
1020 extern Lisp_Object om_getFloat(Lisp_Object nil, Lisp_Object ldev);
1021 extern Lisp_Object om_getByteArray(Lisp_Object nil, Lisp_Object ldev);
1022 extern Lisp_Object om_getVar(Lisp_Object nil, Lisp_Object ldev);
1023 extern Lisp_Object om_getString(Lisp_Object nil, Lisp_Object ldev);
1024 extern Lisp_Object om_getSymbol(Lisp_Object nil, Lisp_Object ldev);
1025 extern Lisp_Object om_getType(Lisp_Object nil, Lisp_Object ldev);
1026 extern Lisp_Object om_stringToStringPtr(Lisp_Object nil, Lisp_Object lstr);
1027 extern Lisp_Object om_stringPtrToString(Lisp_Object nil, Lisp_Object lpstr);
1028 extern Lisp_Object om_read(Lisp_Object nil, Lisp_Object dev);
1029 extern Lisp_Object om_supportsCD(Lisp_Object nil, Lisp_Object lcd);
1030 extern Lisp_Object om_supportsSymbol(Lisp_Object nil, Lisp_Object lcd, Lisp_Object lsym);
1031 extern Lisp_Object MS_CDECL om_listCDs(Lisp_Object nil, int nargs, ...);
1032 extern Lisp_Object om_listSymbols(Lisp_Object nil, Lisp_Object lcd);
1033 extern Lisp_Object om_whichCDs(Lisp_Object nil, Lisp_Object lsym);
1034 #endif
1035 extern Lisp_Object workbase[51];
1036 extern Lisp_Object user_base_0, user_base_1, user_base_2;
1037 extern Lisp_Object user_base_3, user_base_4, user_base_5;
1038 extern Lisp_Object user_base_6, user_base_7, user_base_8;
1039 extern Lisp_Object user_base_9;
1040 #define work_0              workbase[0]
1041 #define work_1              workbase[1]
1042 #define mv_1                workbase[1]
1043 #define mv_2                workbase[2]
1044 #define mv_3                workbase[3]
1045 #define work_50             workbase[50]
1046 #else
1047 #define nil_as_base  Lisp_Object nil = C_nil;
1048 #define byteflip              BASE[12]
1049 #define codefringe            BASE[13]
1050 #define codelimit             (*(Lisp_Object volatile *)&BASE[14])
1051 extern Lisp_Object * volatile stacklimit;
1052 #define fringe                BASE[18]
1053 #define heaplimit             (*(Lisp_Object volatile *)&BASE[19])
1054 #define vheaplimit            (*(Lisp_Object volatile *)&BASE[20])
1055 #define vfringe               BASE[21]
1056 #define miscflags             BASE[22]
1057 #define nwork                 BASE[24]
1058 #define exit_count            BASE[26]
1059 #define gensym_ser            BASE[27]
1060 #define print_precision       BASE[28]
1061 #define current_modulus       BASE[29]
1062 #define fastget_size          BASE[30]
1063 #define package_bits          BASE[31]
1064 #define current_package       BASE[52]
1065 #define B_reg                 BASE[53]
1066 #define codevec               BASE[54]
1067 #define litvec                BASE[55]
1068 #define exit_tag              BASE[56]
1069 #define exit_value            BASE[57]
1070 #define catch_tags            BASE[58]
1071 #define lisp_package          BASE[59]
1072 #define boffo                 BASE[60]
1073 #define charvec               BASE[61]
1074 #define sys_hash_table        BASE[62]
1075 #define help_index            BASE[63]
1076 #define gensym_base           BASE[64]
1077 #define err_table             BASE[65]
1078 #define supervisor            BASE[66]
1079 #define startfn               BASE[67]
1080 #define faslvec               BASE[68]
1081 #define tracedfn              BASE[69]
1082 #define prompt_thing          BASE[70]
1083 #define faslgensyms           BASE[71]
1084 #define cl_symbols            BASE[72]
1085 #define active_stream         BASE[73]
1086 #define current_module        BASE[74]
1087 #define native_defs           BASE[75]
1088 #define append_symbol         BASE[90]
1089 #define applyhook             BASE[91]
1090 #define cfunarg               BASE[92]
1091 #define comma_at_symbol       BASE[93]
1092 #define comma_symbol          BASE[94]
1093 #define compiler_symbol       BASE[95]
1094 #define comp_symbol           BASE[96]
1095 #define cons_symbol           BASE[97]
1096 #define echo_symbol           BASE[98]
1097 #define emsg_star             BASE[99]
1098 #define evalhook              BASE[100]
1099 #define eval_symbol           BASE[101]
1100 #define expr_symbol           BASE[102]
1101 #define features_symbol       BASE[103]
1102 #define fexpr_symbol          BASE[104]
1103 #define funarg                BASE[105]
1104 #define function_symbol       BASE[106]
1105 #define lambda                BASE[107]
1106 #define lisp_true             BASE[108]
1107 #define lower_symbol          BASE[109]
1108 #define macroexpand_hook      BASE[110]
1109 #define macro_symbol          BASE[111]
1110 #define opt_key               BASE[112]
1111 #define prinl_symbol          BASE[113]
1112 #define progn_symbol          BASE[114]
1113 #define quote_symbol          BASE[115]
1114 #define raise_symbol          BASE[116]
1115 #define redef_msg             BASE[117]
1116 #define rest_key              BASE[118]
1117 #define savedef               BASE[119]
1118 #define string_char_sym       BASE[120]
1119 #define unset_var             BASE[121]
1120 #define work_symbol           BASE[122]
1121 #define lex_words             BASE[123]
1122 #define get_counts            BASE[124]
1123 #define fastget_names         BASE[125]
1124 #define input_libraries       BASE[126]
1125 #define output_library        BASE[127]
1126 #define current_file          BASE[128]
1127 #define break_function        BASE[129]
1128 #define lisp_work_stream      BASE[130]
1129 #define lisp_standard_output  BASE[131]
1130 #define lisp_standard_input   BASE[132]
1131 #define lisp_debug_io         BASE[133]
1132 #define lisp_error_output     BASE[134]
1133 #define lisp_query_io         BASE[135]
1134 #define lisp_terminal_io      BASE[136]
1135 #define lisp_trace_output     BASE[137]
1136 #define standard_output       BASE[138]
1137 #define standard_input        BASE[139]
1138 #define debug_io              BASE[140]
1139 #define error_output          BASE[141]
1140 #define query_io              BASE[142]
1141 #define terminal_io           BASE[143]
1142 #define trace_output          BASE[144]
1143 #define fasl_stream           BASE[145]
1144 #define native_code           BASE[146]
1145 #define native_symbol         BASE[147]
1146 #define traceprint_symbol     BASE[148]
1147 #define loadsource_symbol     BASE[149]
1148 #define hankaku_symbol        BASE[150]
1149 #define bytecoded_symbol      BASE[151]
1150 #define nativecoded_symbol    BASE[152]
1151 #define gchook                BASE[153]
1152 #define resources             BASE[154]
1153 #define callstack             BASE[155]
1154 #define procstack             BASE[156]
1155 #define procmem               BASE[157]
1156 #ifdef COMMON
1157 #define keyword_package       BASE[170]
1158 #define all_packages          BASE[171]
1159 #define package_symbol        BASE[172]
1160 #define internal_symbol       BASE[173]
1161 #define external_symbol       BASE[174]
1162 #define inherited_symbol      BASE[175]
1163 #define key_key               BASE[176]
1164 #define allow_other_keys      BASE[177]
1165 #define aux_key               BASE[178]
1166 #define format_symbol         BASE[179]
1167 #define expand_def_symbol     BASE[180]
1168 #define allow_key_key         BASE[181]
1169 #endif
1170 #define declare_symbol        BASE[182]
1171 #define special_symbol        BASE[183]
1172 extern Lisp_Object user_base_0, user_base_1, user_base_2;
1173 extern Lisp_Object user_base_3, user_base_4, user_base_5;
1174 extern Lisp_Object user_base_6, user_base_7, user_base_8;
1175 extern Lisp_Object user_base_9;
1176 #define work_0                BASE[200]
1177 #define work_1                BASE[201]
1178 #define mv_1                  work_1
1179 #define mv_2                  BASE[202]
1180 #define mv_3                  BASE[203]
1181 #define work_50               BASE[250]
1182 #endif
1183 extern void copy_into_nilseg(int fg);
1184 extern void copy_out_of_nilseg(int fg);
1185 #define eq_hash_table_list     BASE[50]
1186 #define equal_hash_table_list  BASE[51]
1187 #define current_package_offset 52
1188 extern void rehash_this_table(Lisp_Object v);
1189 extern Lisp_Object eq_hash_tables, equal_hash_tables;
1190 extern Lisp_Object volatile savecodelimit;
1191 extern Lisp_Object * volatile savestacklimit;
1192 extern Lisp_Object volatile saveheaplimit;
1193 extern Lisp_Object volatile savevheaplimit;
1194 extern char *exit_charvec;
1195 extern intptr_t exit_reason;
1196 extern int procstackp;
1197 #ifdef DEBUG
1198 extern int trace_all;
1199 #endif
1200 extern int garbage_collection_permitted;
1201 #define MAX_INPUT_FILES         40
1202 #define MAX_SYMBOLS_TO_DEFINE   40
1203 #define MAX_FASL_PATHS          20
1204 extern char *files_to_read[MAX_INPUT_FILES],
1205      *symbols_to_define[MAX_SYMBOLS_TO_DEFINE],
1206      *fasl_paths[MAX_FASL_PATHS];
1207 extern int csl_argc;
1208 extern char **csl_argv;
1209 extern int fasl_output_file, output_directory;
1210 extern FILE *binary_read_file;
1211 extern int boffop;
1212 extern void packbyte(int c);
1213 #ifndef COMMON
1214 #ifdef HAVE_FWIN
1215 extern char **loadable_packages;
1216 extern char **switches;
1217 extern void review_switch_settings();
1218 #endif
1219 #endif
1220 #ifdef SOCKETS
1221 extern int sockets_ready;
1222 extern void flush_socket(void);
1223 #endif
1224 extern void report_file(const char *s);
1225 extern CSLbool undefine_this_one[MAX_SYMBOLS_TO_DEFINE];
1226 extern int errorset_min, errorset_max;
1227 extern int number_of_input_files,
1228     number_of_symbols_to_define,
1229     number_of_fasl_paths,
1230     init_flags;
1231 extern int native_code_tag;
1232 extern char *standard_directory;
1233 extern int gc_number;
1234 extern CSLbool gc_method_is_copying;
1235 extern int force_reclaim_method, reclaim_trap_count;
1236 #define INIT_QUIET      1
1237 #define INIT_VERBOSE    2
1238 #define INIT_EXPANDABLE 4
1239 #define Lispify_predicate(p)  ((p) ? lisp_true : nil)
1240 extern int tty_count;
1241 extern FILE *spool_file;
1242 extern char spool_file_name[32];
1243 typedef struct Ihandle
1244 {
1245     FILE *f;
1246     long int o;
1247     long int n;
1248     uint32_t chk;
1249     int status;
1250     int nativedir;
1251 } Ihandle;
1252 extern int32_t compression_worth_while;
1253 #define CODESIZE                0x1000
1254 typedef struct entry_point1
1255 {
1256     one_args *p;
1257     char *s;
1258 } entry_point1;
1259 typedef struct entry_point2
1260 {
1261     two_args *p;
1262     char *s;
1263 } entry_point2;
1264 typedef struct entry_pointn
1265 {
1266     n_args *p;
1267     char *s;
1268 } entry_pointn;
1269 extern entry_point1 entries_table1[];
1270 extern entry_point2 entries_table2[];
1271 extern entry_pointn entries_tablen[];
1272 extern entry_pointn entries_table_io[];
1273 extern void set_up_entry_lookup(void);
1274 extern int32_t code_up_fn1(one_args *e);
1275 extern int32_t code_up_fn2(two_args *e);
1276 extern int32_t code_up_fnn(n_args *e);
1277 extern int32_t code_up_io(void *e);
1278 extern int doubled_execution;
1279 extern char *linker_type;
1280 extern char *compiler_command[], *import_data[],
1281             *config_header[], *csl_headers[];
1282 extern Lisp_Object encapsulate_pointer(void *);
1283 typedef void initfn(Lisp_Object *, Lisp_Object **, Lisp_Object * volatile *);
1284 extern int load_dynamic(char *objname, char *modname,
1285                         Lisp_Object name, Lisp_Object fns);
1286 extern Lisp_Object Linstate_c_code(Lisp_Object nil,
1287                                    Lisp_Object name, Lisp_Object fns);
1288 #ifdef MEMORY_TRACE
1289 extern intptr_t memory_base, memory_size;
1290 extern unsigned char *memory_map;
1291 extern FILE *memory_file;
1292 extern void memory_comment(int n);
1293 #endif
1294 #define ARG_CUT_OFF 25
1295 extern void push_args(va_list a, int nargs);
1296 extern void push_args_1(va_list a, int nargs);
1297 extern void Iinit(void);
1298 extern void IreInit(void);
1299 extern void Icontext(Ihandle *);
1300 extern void Irestore_context(Ihandle);
1301 extern void Ilist(void);
1302 extern CSLbool open_output(char *s, int len);
1303 #define IOPEN_OUT       0
1304 #define IOPEN_UNCHECKED 1
1305 #define IOPEN_CHECKED   2
1306 extern CSLbool Iopen(char *name, int len, int dirn, char *expanded_name);
1307 extern CSLbool Iopen_from_stdin(void), Iopen_to_stdout(void);
1308 extern CSLbool IopenRoot(char *expanded_name, int hard, int sixtyfour);
1309 extern CSLbool Iwriterootp(char *expanded);
1310 extern CSLbool Iopen_help(int32_t offset);
1311 extern CSLbool Iopen_banner(int code);
1312 extern CSLbool Imodulep(char *name, int len, char *datestamp, int32_t *size,
1313                                  char *expanded_name);
1314 extern CSLbool Icopy(char *name, int len);
1315 extern CSLbool Idelete(char *name, int len);
1316 extern CSLbool IcloseInput(int check_checksum);
1317 extern CSLbool IcloseOutput(int write_checksum);
1318 extern CSLbool Ifinished(void);
1319 extern int  Igetc(void);
1320 extern int32_t Iread(void *buff, int32_t size);
1321 extern CSLbool Iputc(int ch);
1322 extern CSLbool Iwrite(void *buff, int32_t size);
1323 extern long int Ioutsize(void);
1324 extern char *CSLtmpnam(char *suffix, int32_t suffixlen);
1325 extern int Cmkdir(char *s);
1326 extern char *look_in_lisp_variable(char *o, int prefix);
1327 extern void CSL_MD5_Init(void);
1328 extern void CSL_MD5_Update(unsigned char *data, int len);
1329 extern void CSL_MD5_Final(unsigned char *md);
1330 extern CSLbool CSL_MD5_busy;
1331 extern unsigned char *CSL_MD5(unsigned char *data, int n, unsigned char *md);
1332 extern void checksum(Lisp_Object a);
1333 extern unsigned char unpredictable[256];
1334 extern void inject_randomness(int n);
1335 extern void ensure_screen(void);
1336 extern int window_heading;
1337 extern void my_exit(int n);
1338 extern void *my_malloc(size_t n);
1339 extern clock_t base_time;
1340 extern double *clock_stack;
1341 extern void push_clock(void);
1342 extern double pop_clock(void);
1343 extern double consolidated_time[10], gc_time;
1344 extern CSLbool volatile already_in_gc, tick_on_gc_exit;
1345 extern CSLbool volatile interrupt_pending, tick_pending;
1346 extern int deal_with_tick(void);
1347 extern int current_fp_rep;
1348 #ifndef __cplusplus
1349 #ifdef USE_SIGALTSTACK
1350 extern sigjmp_buf *errorset_buffer;
1351 extern sigjmp_buf my_exit_buffer;
1352 #else
1353 extern jmp_buf *errorset_buffer;
1354 extern jmp_buf my_exit_buffer;
1355 #endif
1356 #endif
1357 extern char *errorset_msg;
1358 extern int errorset_code;
1359 extern void unwind_stack(Lisp_Object *, CSLbool findcatch);
1360 extern CSLbool segvtrap;
1361 extern CSLbool batch_flag;
1362 extern int escaped_printing;
1363 extern void MS_CDECL low_level_signal_handler(int code);
1364 extern int async_interrupt(int a);
1365 extern void MS_CDECL sigint_handler(int code);
1366 extern void record_get(Lisp_Object tag, CSLbool found);
1367 extern int         primep(int32_t);
1368 extern void        adjust_all(void);
1369 extern void        set_up_functions(CSLbool restartp);
1370 extern void        get_user_files_checksum(unsigned char *);
1371 extern Lisp_Object acons(Lisp_Object a, Lisp_Object b, Lisp_Object c);
1372 extern Lisp_Object ash(Lisp_Object a, Lisp_Object b);
1373 extern Lisp_Object bytestream_interpret(Lisp_Object code, Lisp_Object lit,
1374                                         Lisp_Object *entry_stack);
1375 extern CSLbool        complex_stringp(Lisp_Object a);
1376 extern void        freshline_trace(void);
1377 extern void        freshline_debug(void);
1378 extern Lisp_Object cons(Lisp_Object a, Lisp_Object b);
1379 extern Lisp_Object cons_no_gc(Lisp_Object a, Lisp_Object b);
1380 extern Lisp_Object cons_gc_test(Lisp_Object a);
1381 extern void        convert_fp_rep(void *p, int old_rep, int new_rep, int type);
1382 extern Lisp_Object Ceval(Lisp_Object u, Lisp_Object env);
1383 extern uint32_t  Crand(void);
1384 extern Lisp_Object Cremainder(Lisp_Object a, Lisp_Object b);
1385 extern void        Csrand(uint32_t a, uint32_t b);
1386 extern void        discard(Lisp_Object a);
1387 extern CSLbool eql_fn(Lisp_Object a, Lisp_Object b);
1388 extern CSLbool cl_equal_fn(Lisp_Object a, Lisp_Object b);
1389 extern CSLbool equal_fn(Lisp_Object a, Lisp_Object b);
1390 #ifdef TRACED_EQUAL
1391 extern CSLbool traced_equal_fn(Lisp_Object a, Lisp_Object b,
1392                                       char *, int, int);
1393 #define equal_fn(a, b) traced_equal_fn(a, b, __FILE__, __LINE__, 0)
1394 extern void dump_equals();
1395 #endif
1396 extern CSLbool equalp(Lisp_Object a, Lisp_Object b);
1397 extern Lisp_Object apply(Lisp_Object fn, int nargs,
1398                          Lisp_Object env, Lisp_Object fname);
1399 extern Lisp_Object apply_lambda(Lisp_Object def, int nargs,
1400                          Lisp_Object env, Lisp_Object name);
1401 extern void        deallocate_pages(void);
1402 extern void        drop_heap_segments(void);
1403 extern Lisp_Object gcd(Lisp_Object a, Lisp_Object b);
1404 extern Lisp_Object get_pname(Lisp_Object a);
1405 #ifdef COMMON
1406 extern Lisp_Object get(Lisp_Object a, Lisp_Object b, Lisp_Object c);
1407 #else
1408 extern Lisp_Object get(Lisp_Object a, Lisp_Object b);
1409 #endif
1410 extern Lisp_Object getvector(int tag, int type, int32_t length);
1411 extern Lisp_Object getvector_init(int32_t n, Lisp_Object v);
1412 extern Lisp_Object getcodevector(int type, int32_t size);
1413 extern uint32_t  hash_lisp_string(Lisp_Object s);
1414 extern void lose_C_def(Lisp_Object a);
1415 extern CSLbool        geq2(Lisp_Object a, Lisp_Object b);
1416 extern CSLbool        greaterp2(Lisp_Object a, Lisp_Object b);
1417 extern CSLbool        lesseq2(Lisp_Object a, Lisp_Object b);
1418 extern CSLbool        lessp2(Lisp_Object a, Lisp_Object b);
1419 extern Lisp_Object list2(Lisp_Object a, Lisp_Object b);
1420 extern Lisp_Object list2star(Lisp_Object a, Lisp_Object b, Lisp_Object c);
1421 extern Lisp_Object list3(Lisp_Object a, Lisp_Object b, Lisp_Object c);
1422 extern Lisp_Object list3star(Lisp_Object a, Lisp_Object b,
1423                              Lisp_Object c, Lisp_Object d);
1424 extern Lisp_Object list4(Lisp_Object a, Lisp_Object b,
1425                          Lisp_Object c, Lisp_Object d);
1426 extern Lisp_Object lognot(Lisp_Object a);
1427 extern Lisp_Object macroexpand(Lisp_Object form, Lisp_Object env);
1428 extern Lisp_Object make_one_word_bignum(int32_t n);
1429 extern Lisp_Object make_package(Lisp_Object name);
1430 extern Lisp_Object make_string(const char *b);
1431 extern Lisp_Object make_nstring(char *b, int32_t n);
1432 extern Lisp_Object make_undefined_symbol(char const *s);
1433 extern Lisp_Object make_symbol(char const *s, int restartp,
1434                                one_args *f1, two_args *f2, n_args *fn);
1435 extern void MS_CDECL  stdout_printf(char *fmt, ...);
1436 extern void MS_CDECL  term_printf(char *fmt, ...);
1437 extern void MS_CDECL  err_printf(char *fmt, ...);
1438 extern void MS_CDECL  debug_printf(char *fmt, ...);
1439 extern void MS_CDECL  trace_printf(char *fmt, ...);
1440 extern char        *my_getenv(char *name);
1441 extern Lisp_Object ncons(Lisp_Object a);
1442 extern Lisp_Object ndelete(Lisp_Object a, Lisp_Object b);
1443 extern Lisp_Object negate(Lisp_Object a);
1444 extern Lisp_Object nreverse(Lisp_Object a);
1445 extern FILE        *open_file(char *filename, char *original_name,
1446                               size_t n, char *dirn, FILE *old_file);
1447 extern Lisp_Object plus2(Lisp_Object a, Lisp_Object b);
1448 extern void        preserve(char *msg, int len);
1449 extern void        preserve_native_code(void);
1450 extern void        relocate_native_function(unsigned char *bps);
1451 extern Lisp_Object prin(Lisp_Object u);
1452 extern char *get_string_data(Lisp_Object a, char *why, int32_t *len);
1453 extern void prin_to_stdout(Lisp_Object u);
1454 extern void prin_to_terminal(Lisp_Object u);
1455 extern void prin_to_debug(Lisp_Object u);
1456 extern void prin_to_query(Lisp_Object u);
1457 extern void prin_to_trace(Lisp_Object u);
1458 extern void prin_to_error(Lisp_Object u);
1459 extern void loop_print_stdout(Lisp_Object o);
1460 extern void loop_print_terminal(Lisp_Object o);
1461 extern void loop_print_debug(Lisp_Object o);
1462 extern void loop_print_query(Lisp_Object o);
1463 extern void loop_print_trace(Lisp_Object o);
1464 extern void loop_print_error(Lisp_Object o);
1465 extern void internal_prin(Lisp_Object u, int prefix);
1466 extern Lisp_Object princ(Lisp_Object u);
1467 extern Lisp_Object print(Lisp_Object u);
1468 extern Lisp_Object printc(Lisp_Object u);
1469 extern void        print_bignum(Lisp_Object u, CSLbool blankp, int nobreak);
1470 extern void        print_bighexoctbin(Lisp_Object u,
1471                        int radix, int width, CSLbool blankp, int nobreak);
1472 extern Lisp_Object putprop(Lisp_Object a, Lisp_Object b,
1473                        Lisp_Object c);
1474 extern Lisp_Object quot2(Lisp_Object a, Lisp_Object b);
1475 extern Lisp_Object rational(Lisp_Object a);
1476 extern void        read_eval_print(int noisy);
1477 extern Lisp_Object reclaim(Lisp_Object value_to_return, char *why,
1478                            int stg_class, intptr_t size);
1479 #ifdef DEBUG
1480 extern void validate_all(char *why, int line, char *file);
1481 extern int check_env(Lisp_Object env);
1482 #endif
1483 extern CSLbool do_not_kill_native_code;
1484 extern void        set_fns(Lisp_Object sym, one_args *f1,
1485                                             two_args *f2, n_args *fn);
1486 extern void        setup(int restartp, double storesize);
1487 extern Lisp_Object simplify_string(Lisp_Object s);
1488 extern CSLbool        stringp(Lisp_Object a);
1489 extern Lisp_Object times2(Lisp_Object a, Lisp_Object b);
1490 extern int32_t       thirty_two_bits(Lisp_Object a);
1491 #ifdef HAVE_INT64_T
1492 extern int64_t       sixty_four_bits(Lisp_Object a);
1493 #endif
1494 #ifdef DEBUG
1495 extern void validate_string_fn(Lisp_Object a, char *f, int l);
1496 #define validate_string(a) validate_string_fn(a, __FILE__, __LINE__)
1497 #else
1498 #define validate_string(a)
1499 #endif
1500 #ifdef COMMON
1501 #define onevalue(r)   (exit_count=1, (r))
1502 #define nvalues(r, n) (exit_count=(n), (r))
1503 #else
1504 #define onevalue(r)   (r)
1505 #define nvalues(r, n) (r)
1506 #endif
1507 #ifdef COMMON
1508 #define eval(a, b) Ceval(a, b)
1509 #define voideval(a, b) Ceval(a, b)
1510 #else
1511 #define eval(a, b) \
1512     (is_cons(a) ? Ceval(a, b) : \
1513      is_symbol(a) ? (qvalue(a) == unset_var ? error(1, err_unset_var, a) : \
1514                      onevalue(qvalue(a))) : \
1515      onevalue(a))
1516 #define voideval(a, b) \
1517     if (is_cons(a)) Ceval(a, b)
1518 #endif
1519 #define equal(a, b)                                \
1520     ((a) == (b) ||                                 \
1521      (((((a) ^ (b)) & TAG_BITS) == 0) &&           \
1522       ((unsigned)(((a) & TAG_BITS) - 1) > 3) &&    \
1523       equal_fn(a, b)))
1524 #define cl_equal(a, b)                             \
1525     ((a) == (b) ||                                 \
1526      (((((a) ^ (b)) & TAG_BITS) == 0) &&           \
1527       ((unsigned)(((a) & TAG_BITS) - 1) > 3) &&    \
1528       cl_equal_fn(a, b)))
1529 #define eql(a, b)                                  \
1530     ((a) == (b) ||                                 \
1531      (((((a) ^ (b)) & TAG_BITS) == 0) &&           \
1532       ((unsigned)(((a) & TAG_BITS) - 1) > 3) &&    \
1533       eql_fn(a, b)))
1534 #ifndef IMULTIPLY
1535 extern uint32_t Imultiply(uint32_t *rlow, uint32_t a,
1536                             uint32_t b, uint32_t c);
1537 #endif
1538 #ifndef IDIVIDE
1539 extern uint32_t Idivide(uint32_t *qp, uint32_t a,
1540                           uint32_t b, uint32_t c);
1541 extern uint32_t Idiv10_9(uint32_t *qp, uint32_t a, uint32_t b);
1542 #endif
1543 #define argcheck(var, n, msg) if ((var)!=(n)) return aerror(msg);
1544 extern n_args   *zero_arg_functions[];
1545 extern one_args *one_arg_functions[];
1546 extern two_args *two_arg_functions[];
1547 extern n_args   *three_arg_functions[];
1548 extern void     *useful_functions[];
1549 extern char     *address_of_var(int n);
1550 typedef struct setup_type
1551 {
1552     char *name;
1553     one_args *one;
1554     two_args *two;
1555     n_args *n;
1556 } setup_type;
1557 typedef struct setup_type_1
1558 {
1559     char *name;
1560     one_args *one;
1561     two_args *two;
1562     n_args *n;
1563     uint32_t c1;
1564     uint32_t c2;
1565 } setup_type_1;
1566 extern setup_type const
1567        arith06_setup[], arith08_setup[], arith10_setup[], arith12_setup[],
1568        char_setup[], eval1_setup[], eval2_setup[], eval3_setup[],
1569        funcs1_setup[], funcs2_setup[], funcs3_setup[], print_setup[],
1570        read_setup[], mpi_setup[];
1571 extern setup_type const
1572                     u01_setup[], u02_setup[], u03_setup[], u04_setup[],
1573        u05_setup[], u06_setup[], u07_setup[], u08_setup[], u09_setup[],
1574        u10_setup[], u11_setup[], u12_setup[], u13_setup[], u14_setup[],
1575        u15_setup[], u16_setup[], u17_setup[], u18_setup[], u19_setup[],
1576        u20_setup[], u21_setup[], u22_setup[], u23_setup[], u24_setup[],
1577        u25_setup[], u26_setup[], u27_setup[], u28_setup[], u29_setup[],
1578        u30_setup[], u31_setup[], u32_setup[], u33_setup[], u34_setup[],
1579        u35_setup[], u36_setup[], u37_setup[], u38_setup[], u39_setup[],
1580        u40_setup[], u41_setup[], u42_setup[], u43_setup[], u44_setup[],
1581        u45_setup[], u46_setup[], u47_setup[], u48_setup[], u49_setup[],
1582        u50_setup[], u51_setup[], u52_setup[], u53_setup[], u54_setup[],
1583        u55_setup[], u56_setup[], u57_setup[], u58_setup[], u59_setup[],
1584        u60_setup[];
1585 extern setup_type const *setup_tables[];
1586 #ifdef NAG
1587 extern setup_type const nag_setup[], asp_setup[];
1588 extern setup_type const socket_setup[], xdr_setup[], grep_setup[];
1589 extern setup_type const gr_setup[], axfns_setup[];
1590 #endif
1591 #ifdef OPENMATH
1592 extern setup_type const om_setup[];
1593 extern setup_type const om_parse_setup[];
1594 #endif
1595 extern char *find_image_directory(int argc, char *argv[]);
1596 extern char program_name[64];
1597 extern Lisp_Object declare_fn(Lisp_Object args, Lisp_Object env);
1598 extern Lisp_Object function_fn(Lisp_Object args, Lisp_Object env);
1599 extern Lisp_Object let_fn_1(Lisp_Object bvl, Lisp_Object body,
1600                             Lisp_Object env, int compilerp);
1601 extern Lisp_Object mv_call_fn(Lisp_Object args, Lisp_Object env);
1602 extern Lisp_Object progn_fn(Lisp_Object args, Lisp_Object env);
1603 extern Lisp_Object quote_fn(Lisp_Object args, Lisp_Object env);
1604 extern Lisp_Object tagbody_fn(Lisp_Object args, Lisp_Object env);
1605 extern Lisp_Object resource_exceeded();
1606 extern int64_t time_base,  space_base,  io_base,  errors_base;
1607 extern int64_t time_now,   space_now,   io_now,   errors_now;
1608 extern int64_t time_limit, space_limit, io_limit, errors_limit;
1609 extern CSLbool symbol_protect_flag, warn_about_protected_symbols;
1610 #ifdef JIT
1611 extern char *Jcompile(Lisp_Object def, Lisp_Object env);
1612 extern unsigned long jit_size;
1613 #define JIT_INIT_SIZE 8192
1614 #endif
1615 #ifdef __cplusplus
1616 }
1617 #endif
1618 #endif
1619 #ifndef header_arith_h
1620 #define header_arith_h 1
1621 #define TWO_32    4294967296.0
1622 #define TWO_31    2147483648.0
1623 #define TWO_24    16777216.0
1624 #define TWO_22    4194304.0
1625 #define TWO_21    2097152.0
1626 #define TWO_20    1048576.0
1627 #define M2_31_1   -2147483649.0
1628 #define _pi       3.14159265358979323846
1629 #define _half_pi  1.57079632679489661923
1630 #define boole_clr   0
1631 #define boole_and   1
1632 #define boole_andc2 2
1633 #define boole_1     3
1634 #define boole_andc1 4
1635 #define boole_2     5
1636 #define boole_xor   6
1637 #define boole_ior   7
1638 #define boole_nor   8
1639 #define boole_eqv   9
1640 #define boole_c2    10
1641 #define boole_orc2  11
1642 #define boole_c1    12
1643 #define boole_orc1  13
1644 #define boole_nand  14
1645 #define boole_set   15
1646 #define top_bit_set(n)     (((int32_t)(n)) < 0)
1647 #define top_bit(n)         (((uint32_t)(n)) >> 31)
1648 #define set_top_bit(n)     ((n) | (uint32_t)0x80000000)
1649 #define clear_top_bit(n)   ((n) & 0x7fffffff)
1650 #define signed_overflow(n) top_bit_set((n) ^ (((int32_t)(n))<<1))
1651 #ifdef HAVE_UINT64_T
1652 #define IMULTIPLY 1
1653 #define Dmultiply(hi, lo, a, b, c)                          \
1654  do { uint64_t r64 = (uint64_t)(a) * (uint64_t)(b) +  \
1655                      (uint32_t)(c);                       \
1656       (lo) = 0x7fffffffu & (uint32_t)r64;                 \
1657       (hi) = (uint32_t)(r64 >> 31); } while (0)
1658 #define IDIVIDE   1
1659 #define Ddivide(r, q, a, b, c)                                      \
1660  do { uint64_t r64 = (((uint64_t)(a)) << 31) | (uint64_t)(b); \
1661       uint64_t c64 = (uint64_t)(uint32_t)(c);                 \
1662       q = (uint32_t)(r64 / c64);                                  \
1663       r = (uint32_t)(r64 % c64); } while (0)
1664 #define Ddiv10_9(r, q, a, b) Ddivide(r, q, a, b, 1000000000u)
1665 #else
1666 #define Dmultiply(hi, lo, a, b, c) ((hi) = Imultiply(&(lo), (a), (b), (c)))
1667 #define Ddivide(r, q, a, b, c) ((r) = Idivide(&(q), (a), (b), (c)))
1668 #define Ddiv10_9(r, q, a, b)   ((r) = Idiv10_9(&(q), (a), (b)))
1669 #endif
1670 #define fix_mask (-0x08000000)
1671 #define fixnum_minusp(a) ((int32_t)(a) < 0)
1672 #define bignum_minusp(a) \
1673     ((int32_t)bignum_digits(a)[((bignum_length(a)-CELL)/4)-1]<0)
1674 extern Lisp_Object negateb(Lisp_Object);
1675 extern Lisp_Object copyb(Lisp_Object);
1676 extern Lisp_Object negate(Lisp_Object);
1677 extern Lisp_Object plus2(Lisp_Object a, Lisp_Object b);
1678 extern Lisp_Object difference2(Lisp_Object a, Lisp_Object b);
1679 extern Lisp_Object times2(Lisp_Object a, Lisp_Object b);
1680 extern Lisp_Object quot2(Lisp_Object a, Lisp_Object b);
1681 extern Lisp_Object CLquot2(Lisp_Object a, Lisp_Object b);
1682 extern Lisp_Object quotbn(Lisp_Object a, int32_t n);
1683 extern Lisp_Object quotbn1(Lisp_Object a, int32_t n);
1684 extern Lisp_Object quotbb(Lisp_Object a, Lisp_Object b);
1685 extern Lisp_Object Cremainder(Lisp_Object a, Lisp_Object b);
1686 extern Lisp_Object rembi(Lisp_Object a, Lisp_Object b);
1687 extern Lisp_Object rembb(Lisp_Object a, Lisp_Object b);
1688 extern Lisp_Object shrink_bignum(Lisp_Object a, int32_t lena);
1689 extern Lisp_Object modulus(Lisp_Object a, Lisp_Object b);
1690 extern Lisp_Object rational(Lisp_Object a);
1691 extern Lisp_Object rationalize(Lisp_Object a);
1692 extern Lisp_Object lcm(Lisp_Object a, Lisp_Object b);
1693 extern Lisp_Object lengthen_by_one_bit(Lisp_Object a, int32_t msd);
1694 extern CSLbool numeq2(Lisp_Object a, Lisp_Object b);
1695 extern CSLbool zerop(Lisp_Object a);
1696 extern CSLbool onep(Lisp_Object a);
1697 extern CSLbool minusp(Lisp_Object a);
1698 extern CSLbool plusp(Lisp_Object a);
1699 extern CSLbool lesspbd(Lisp_Object a, double b);
1700 extern CSLbool lessprd(Lisp_Object a, double b);
1701 extern CSLbool lesspdb(double a, Lisp_Object b);
1702 extern CSLbool lesspdr(double a, Lisp_Object b);
1703 extern Lisp_Object make_one_word_bignum(int32_t n);
1704 extern Lisp_Object make_two_word_bignum(int32_t a, uint32_t b);
1705 extern Lisp_Object make_n_word_bignum(int32_t a1, uint32_t a2,
1706                                       uint32_t a3, int32_t n);
1707 extern Lisp_Object make_sfloat(double d);
1708 extern double float_of_integer(Lisp_Object a);
1709 extern Lisp_Object add1(Lisp_Object p);
1710 extern Lisp_Object sub1(Lisp_Object p);
1711 extern Lisp_Object integerp(Lisp_Object p);
1712 extern double float_of_number(Lisp_Object a);
1713 extern Lisp_Object make_boxfloat(double a, int32_t type);
1714 extern Lisp_Object make_complex(Lisp_Object r, Lisp_Object i);
1715 extern Lisp_Object make_ratio(Lisp_Object p, Lisp_Object q);
1716 extern Lisp_Object ash(Lisp_Object a, Lisp_Object b);
1717 extern Lisp_Object lognot(Lisp_Object a);
1718 extern Lisp_Object logior2(Lisp_Object a, Lisp_Object b);
1719 extern Lisp_Object logxor2(Lisp_Object a, Lisp_Object b);
1720 extern Lisp_Object logand2(Lisp_Object a, Lisp_Object b);
1721 extern Lisp_Object logeqv2(Lisp_Object a, Lisp_Object b);
1722 extern Lisp_Object rationalf(double d);
1723 extern int _reduced_exp(double, double *);
1724 extern CSLbool lesspbi(Lisp_Object a, Lisp_Object b);
1725 extern CSLbool lesspib(Lisp_Object a, Lisp_Object b);
1726 #ifdef COMMON
1727 typedef struct Complex
1728 {
1729     double real;
1730     double imag;
1731 } Complex;
1732 extern Complex MS_CDECL Cln(Complex a);
1733 extern Complex MS_CDECL Ccos(Complex a);
1734 extern Complex MS_CDECL Cexp(Complex a);
1735 extern Complex MS_CDECL Cpow(Complex a, Complex b);
1736 extern double MS_CDECL Cabs(Complex a);
1737 #endif
1738 #endif
1739 #ifndef header_entries_h
1740 #define header_entries_h 1
1741 #ifdef __cplusplus
1742 extern "C" {
1743 #endif
1744 extern Lisp_Object MS_CDECL Lbatchp(Lisp_Object env, int nargs, ...);
1745 extern Lisp_Object MS_CDECL bytecounts(Lisp_Object nil, int nargs, ...);
1746 extern Lisp_Object MS_CDECL Ldate(Lisp_Object env, int nargs, ...);
1747 extern Lisp_Object MS_CDECL Ldatestamp(Lisp_Object nil, int nargs, ...);
1748 extern Lisp_Object MS_CDECL Leject(Lisp_Object env, int nargs, ...);
1749 extern Lisp_Object MS_CDECL Lerror(Lisp_Object env, int nargs, ...);
1750 extern Lisp_Object MS_CDECL Lerror0(Lisp_Object env, int nargs, ...);
1751 extern Lisp_Object MS_CDECL Lflush(Lisp_Object nil, int nargs, ...);
1752 extern Lisp_Object MS_CDECL Lgc0(Lisp_Object nil, int nargs, ...);
1753 extern Lisp_Object MS_CDECL Lgctime(Lisp_Object env, int nargs, ...);
1754 extern Lisp_Object MS_CDECL Lgensym(Lisp_Object env, int nargs, ...);
1755 extern Lisp_Object MS_CDECL Llist_modules(Lisp_Object env, int nargs, ...);
1756 extern Lisp_Object MS_CDECL Llibrary_members0(Lisp_Object env, int nargs, ...);
1757 extern Lisp_Object MS_CDECL Llposn(Lisp_Object env, int nargs, ...);
1758 extern Lisp_Object MS_CDECL Lmapstore0(Lisp_Object env, int nargs, ...);
1759 extern Lisp_Object MS_CDECL Lnext_random(Lisp_Object env, int nargs, ...);
1760 extern Lisp_Object MS_CDECL Lposn(Lisp_Object env, int nargs, ...);
1761 extern Lisp_Object MS_CDECL Lread(Lisp_Object env, int nargs, ...);
1762 extern Lisp_Object MS_CDECL Lreadch(Lisp_Object env, int nargs, ...);
1763 extern Lisp_Object MS_CDECL Lrtell(Lisp_Object nil, int nargs, ...);
1764 extern Lisp_Object MS_CDECL Lterpri(Lisp_Object env, int nargs, ...);
1765 extern Lisp_Object MS_CDECL Ltime(Lisp_Object env, int nargs, ...);
1766 extern Lisp_Object MS_CDECL Ltmpnam(Lisp_Object nil, int nargs, ...);
1767 extern Lisp_Object MS_CDECL Ltyi(Lisp_Object env, int nargs, ...);
1768 extern Lisp_Object autoload1(Lisp_Object env, Lisp_Object a1);
1769 extern Lisp_Object bytecoded1(Lisp_Object env, Lisp_Object a);
1770 extern Lisp_Object byteopt1(Lisp_Object def, Lisp_Object a);
1771 extern Lisp_Object byteoptrest1(Lisp_Object def, Lisp_Object a);
1772 extern Lisp_Object double_bytecoded1(Lisp_Object env, Lisp_Object a);
1773 extern Lisp_Object double_byteopt1(Lisp_Object def, Lisp_Object a);
1774 extern Lisp_Object double_byteoptrest1(Lisp_Object def, Lisp_Object a);
1775 extern Lisp_Object double_funarged1(Lisp_Object env, Lisp_Object a1);
1776 extern Lisp_Object double_hardopt1(Lisp_Object def, Lisp_Object a);
1777 extern Lisp_Object double_hardoptrest1(Lisp_Object def, Lisp_Object a);
1778 extern Lisp_Object double_interpreted1(Lisp_Object env, Lisp_Object a1);
1779 extern Lisp_Object funarged1(Lisp_Object env, Lisp_Object a1);
1780 extern Lisp_Object tracefunarged1(Lisp_Object env, Lisp_Object a1);
1781 extern Lisp_Object hardopt1(Lisp_Object def, Lisp_Object a);
1782 extern Lisp_Object hardoptrest1(Lisp_Object def, Lisp_Object a);
1783 extern Lisp_Object interpreted1(Lisp_Object env, Lisp_Object a1);
1784 extern Lisp_Object tracebytecoded1(Lisp_Object env, Lisp_Object a);
1785 extern Lisp_Object jitcompileme1(Lisp_Object env, Lisp_Object a);
1786 extern Lisp_Object tracebyteopt1(Lisp_Object def, Lisp_Object a);
1787 extern Lisp_Object tracebyteoptrest1(Lisp_Object def, Lisp_Object a);
1788 extern Lisp_Object tracebytecoded1(Lisp_Object env, Lisp_Object a);
1789 extern Lisp_Object traceinterpreted1(Lisp_Object env, Lisp_Object a1);
1790 extern Lisp_Object tracehardopt1(Lisp_Object def, Lisp_Object a);
1791 extern Lisp_Object tracehardoptrest1(Lisp_Object def, Lisp_Object a);
1792 extern Lisp_Object undefined1(Lisp_Object env, Lisp_Object a1);
1793 extern Lisp_Object f1_as_0(Lisp_Object env, Lisp_Object a);
1794 extern Lisp_Object f1_as_1(Lisp_Object env, Lisp_Object a);
1795 #ifdef CJAVA
1796 extern Lisp_Object java1(Lisp_Object env, Lisp_Object a);
1797 #endif
1798 extern Lisp_Object Labsval(Lisp_Object env, Lisp_Object a);
1799 extern Lisp_Object Ladd1(Lisp_Object env, Lisp_Object a);
1800 extern Lisp_Object Lalpha_char_p(Lisp_Object env, Lisp_Object a);
1801 extern Lisp_Object Lapply0(Lisp_Object env, Lisp_Object a);
1802 extern Lisp_Object Lapply_1(Lisp_Object env, Lisp_Object fn);
1803 extern Lisp_Object Latan(Lisp_Object env, Lisp_Object a);
1804 extern Lisp_Object Latom(Lisp_Object env, Lisp_Object a);
1805 extern Lisp_Object Lbanner(Lisp_Object env, Lisp_Object a);
1806 extern Lisp_Object Lboundp(Lisp_Object env, Lisp_Object a);
1807 extern Lisp_Object Lbpsp(Lisp_Object nil, Lisp_Object a);
1808 extern Lisp_Object Lbpsupbv(Lisp_Object nil, Lisp_Object v);
1809 extern Lisp_Object Lcaaaar(Lisp_Object env, Lisp_Object a);
1810 extern Lisp_Object Lcaaadr(Lisp_Object env, Lisp_Object a);
1811 extern Lisp_Object Lcaaar(Lisp_Object env, Lisp_Object a);
1812 extern Lisp_Object Lcaadar(Lisp_Object env, Lisp_Object a);
1813 extern Lisp_Object Lcaaddr(Lisp_Object env, Lisp_Object a);
1814 extern Lisp_Object Lcaadr(Lisp_Object env, Lisp_Object a);
1815 extern Lisp_Object Lcaar(Lisp_Object env, Lisp_Object a);
1816 extern Lisp_Object Lcaar(Lisp_Object env, Lisp_Object a);
1817 extern Lisp_Object Lcadaar(Lisp_Object env, Lisp_Object a);
1818 extern Lisp_Object Lcadadr(Lisp_Object env, Lisp_Object a);
1819 extern Lisp_Object Lcadar(Lisp_Object env, Lisp_Object a);
1820 extern Lisp_Object Lcaddar(Lisp_Object env, Lisp_Object a);
1821 extern Lisp_Object Lcadddr(Lisp_Object env, Lisp_Object a);
1822 extern Lisp_Object Lcaddr(Lisp_Object env, Lisp_Object a);
1823 extern Lisp_Object Lcadr(Lisp_Object env, Lisp_Object a);
1824 extern Lisp_Object Lcadr(Lisp_Object env, Lisp_Object a);
1825 extern Lisp_Object Lcar(Lisp_Object env, Lisp_Object a);
1826 extern Lisp_Object Lcar(Lisp_Object env, Lisp_Object a);
1827 extern Lisp_Object Lcdaaar(Lisp_Object env, Lisp_Object a);
1828 extern Lisp_Object Lcdaadr(Lisp_Object env, Lisp_Object a);
1829 extern Lisp_Object Lcdaar(Lisp_Object env, Lisp_Object a);
1830 extern Lisp_Object Lcdadar(Lisp_Object env, Lisp_Object a);
1831 extern Lisp_Object Lcdaddr(Lisp_Object env, Lisp_Object a);
1832 extern Lisp_Object Lcdadr(Lisp_Object env, Lisp_Object a);
1833 extern Lisp_Object Lcdar(Lisp_Object env, Lisp_Object a);
1834 extern Lisp_Object Lcdar(Lisp_Object env, Lisp_Object a);
1835 extern Lisp_Object Lcddaar(Lisp_Object env, Lisp_Object a);
1836 extern Lisp_Object Lcddadr(Lisp_Object env, Lisp_Object a);
1837 extern Lisp_Object Lcddar(Lisp_Object env, Lisp_Object a);
1838 extern Lisp_Object Lcdddar(Lisp_Object env, Lisp_Object a);
1839 extern Lisp_Object Lcddddr(Lisp_Object env, Lisp_Object a);
1840 extern Lisp_Object Lcdddr(Lisp_Object env, Lisp_Object a);
1841 extern Lisp_Object Lcddr(Lisp_Object env, Lisp_Object a);
1842 extern Lisp_Object Lcddr(Lisp_Object env, Lisp_Object a);
1843 extern Lisp_Object Lcdr(Lisp_Object env, Lisp_Object a);
1844 extern Lisp_Object Lcdr(Lisp_Object env, Lisp_Object a);
1845 extern Lisp_Object Lchar_code(Lisp_Object env, Lisp_Object a);
1846 extern Lisp_Object Lclose(Lisp_Object env, Lisp_Object a);
1847 extern Lisp_Object Lcodep(Lisp_Object env, Lisp_Object a);
1848 extern Lisp_Object Lcompress(Lisp_Object env, Lisp_Object a);
1849 extern Lisp_Object Lconsp(Lisp_Object env, Lisp_Object a);
1850 extern Lisp_Object Lconstantp(Lisp_Object env, Lisp_Object a);
1851 extern Lisp_Object Lcopy_module(Lisp_Object env, Lisp_Object a);
1852 extern Lisp_Object Ldefine_in_module(Lisp_Object env, Lisp_Object a);
1853 extern Lisp_Object Ldelete_module(Lisp_Object env, Lisp_Object a);
1854 extern Lisp_Object Ldigitp(Lisp_Object env, Lisp_Object a);
1855 extern Lisp_Object Lendp(Lisp_Object env, Lisp_Object a);
1856 extern Lisp_Object Lerror1(Lisp_Object nil, Lisp_Object a1);
1857 extern Lisp_Object Lerrorset1(Lisp_Object nil, Lisp_Object form);
1858 extern Lisp_Object Leval(Lisp_Object env, Lisp_Object a);
1859 extern Lisp_Object Levenp(Lisp_Object env, Lisp_Object a);
1860 extern Lisp_Object Levlis(Lisp_Object env, Lisp_Object a);
1861 extern Lisp_Object Lexplode(Lisp_Object env, Lisp_Object a);
1862 extern Lisp_Object Lexplode2lc(Lisp_Object env, Lisp_Object a);
1863 extern Lisp_Object Lexplode2lcn(Lisp_Object nil, Lisp_Object a);
1864 extern Lisp_Object Lexplode2n(Lisp_Object env, Lisp_Object a);
1865 extern Lisp_Object Lexplodec(Lisp_Object env, Lisp_Object a);
1866 extern Lisp_Object Lexplodecn(Lisp_Object env, Lisp_Object a);
1867 extern Lisp_Object Lexplodehex(Lisp_Object nil, Lisp_Object a);
1868 extern Lisp_Object Lexploden(Lisp_Object env, Lisp_Object a);
1869 extern Lisp_Object Lexplodeoctal(Lisp_Object nil, Lisp_Object a);
1870 extern Lisp_Object Lfixp(Lisp_Object env, Lisp_Object a);
1871 extern Lisp_Object Lfloat(Lisp_Object env, Lisp_Object a);
1872 extern Lisp_Object Lfloatp(Lisp_Object env, Lisp_Object a);
1873 extern Lisp_Object Lfrexp(Lisp_Object nil, Lisp_Object a);
1874 extern Lisp_Object Lfuncall1(Lisp_Object env, Lisp_Object fn);
1875 extern Lisp_Object Lgc(Lisp_Object nil, Lisp_Object a);
1876 extern Lisp_Object Lgensym1(Lisp_Object env, Lisp_Object a);
1877 extern Lisp_Object Lgensym2(Lisp_Object env, Lisp_Object a);
1878 extern Lisp_Object Lgetd(Lisp_Object env, Lisp_Object a);
1879 extern Lisp_Object Lgetenv(Lisp_Object env, Lisp_Object a);
1880 extern Lisp_Object Lget_bps(Lisp_Object env, Lisp_Object a);
1881 extern Lisp_Object Lhelp(Lisp_Object nil, Lisp_Object a);
1882 extern Lisp_Object Liadd1(Lisp_Object env, Lisp_Object a);
1883 extern Lisp_Object Lidentity(Lisp_Object env, Lisp_Object a);
1884 extern Lisp_Object Liminus(Lisp_Object env, Lisp_Object a);
1885 extern Lisp_Object Liminusp(Lisp_Object env, Lisp_Object a);
1886 extern Lisp_Object Lindirect(Lisp_Object env, Lisp_Object a);
1887 extern Lisp_Object Lintegerp(Lisp_Object env, Lisp_Object a);
1888 extern Lisp_Object Lintern(Lisp_Object env, Lisp_Object a);
1889 extern Lisp_Object Lionep(Lisp_Object nil, Lisp_Object a);
1890 extern Lisp_Object Lisub1(Lisp_Object env, Lisp_Object a);
1891 extern Lisp_Object Lizerop(Lisp_Object nil, Lisp_Object a);
1892 extern Lisp_Object Llength(Lisp_Object env, Lisp_Object a);
1893 extern Lisp_Object Llengthc(Lisp_Object env, Lisp_Object a);
1894 extern Lisp_Object Llibrary_members(Lisp_Object nil, Lisp_Object a);
1895 extern Lisp_Object Llinelength(Lisp_Object env, Lisp_Object a);
1896 extern Lisp_Object Llist_to_string(Lisp_Object env, Lisp_Object a);
1897 extern Lisp_Object Llist_to_vector(Lisp_Object env, Lisp_Object a);
1898 extern Lisp_Object Lload_module(Lisp_Object env, Lisp_Object a);
1899 extern Lisp_Object Lload_source(Lisp_Object env, Lisp_Object a);
1900 extern Lisp_Object Llognot(Lisp_Object env, Lisp_Object a);
1901 extern Lisp_Object Llog_1(Lisp_Object nil, Lisp_Object a);
1902 extern Lisp_Object Llsd(Lisp_Object env, Lisp_Object a);
1903 extern Lisp_Object Lmacroexpand(Lisp_Object env, Lisp_Object a);
1904 extern Lisp_Object Lmacroexpand_1(Lisp_Object env, Lisp_Object a);
1905 extern Lisp_Object Lmacro_function(Lisp_Object env, Lisp_Object a);
1906 extern Lisp_Object Lmake_global(Lisp_Object env, Lisp_Object a);
1907 extern Lisp_Object Lmake_special(Lisp_Object env, Lisp_Object a);
1908 extern Lisp_Object Lmapstore(Lisp_Object env, Lisp_Object a);
1909 extern Lisp_Object Lmd5(Lisp_Object env, Lisp_Object a1);
1910 extern Lisp_Object Lmd60(Lisp_Object env, Lisp_Object a1);
1911 extern Lisp_Object Lminus(Lisp_Object env, Lisp_Object a);
1912 extern Lisp_Object Lminusp(Lisp_Object env, Lisp_Object a);
1913 extern Lisp_Object Lmkevect(Lisp_Object nil, Lisp_Object n);
1914 extern Lisp_Object Lmkquote(Lisp_Object env, Lisp_Object a);
1915 extern Lisp_Object Lmkvect(Lisp_Object env, Lisp_Object a);
1916 extern Lisp_Object Lmodular_minus(Lisp_Object env, Lisp_Object a);
1917 extern Lisp_Object Lmodular_number(Lisp_Object env, Lisp_Object a);
1918 extern Lisp_Object Lmodular_reciprocal(Lisp_Object env, Lisp_Object a);
1919 extern Lisp_Object Lmodule_exists(Lisp_Object env, Lisp_Object a);
1920 extern Lisp_Object Lmsd(Lisp_Object env, Lisp_Object a);
1921 extern Lisp_Object Lmv_list(Lisp_Object nil, Lisp_Object a);
1922 extern Lisp_Object Lncons(Lisp_Object env, Lisp_Object a);
1923 extern Lisp_Object Lnreverse(Lisp_Object env, Lisp_Object a);
1924 extern Lisp_Object Lnull(Lisp_Object env, Lisp_Object a);
1925 extern Lisp_Object Lnumberp(Lisp_Object env, Lisp_Object a);
1926 extern Lisp_Object Loddp(Lisp_Object env, Lisp_Object a);
1927 extern Lisp_Object Lonep(Lisp_Object env, Lisp_Object a);
1928 extern Lisp_Object Lpagelength(Lisp_Object env, Lisp_Object a);
1929 extern Lisp_Object Lplist(Lisp_Object env, Lisp_Object a);
1930 extern Lisp_Object Lplusp(Lisp_Object env, Lisp_Object a);
1931 extern Lisp_Object Lprin(Lisp_Object env, Lisp_Object a);
1932 extern Lisp_Object Lprin(Lisp_Object env, Lisp_Object a);
1933 extern Lisp_Object Lprin2a(Lisp_Object nil, Lisp_Object a);
1934 extern Lisp_Object Lprinc(Lisp_Object env, Lisp_Object a);
1935 extern Lisp_Object Lprinc(Lisp_Object env, Lisp_Object a);
1936 extern Lisp_Object Lprint(Lisp_Object env, Lisp_Object a);
1937 extern Lisp_Object Lprintc(Lisp_Object env, Lisp_Object a);
1938 extern Lisp_Object Lrandom(Lisp_Object env, Lisp_Object a);
1939 extern Lisp_Object Lrational(Lisp_Object env, Lisp_Object a);
1940 extern Lisp_Object Lrdf1(Lisp_Object env, Lisp_Object a);
1941 extern Lisp_Object Lrds(Lisp_Object env, Lisp_Object a);
1942 extern Lisp_Object Lremd(Lisp_Object env, Lisp_Object a);
1943 extern Lisp_Object Lreverse(Lisp_Object env, Lisp_Object a);
1944 extern Lisp_Object Lsetpchar(Lisp_Object env, Lisp_Object a);
1945 extern Lisp_Object Lset_small_modulus(Lisp_Object env, Lisp_Object a);
1946 extern Lisp_Object Lsmkvect(Lisp_Object env, Lisp_Object a);
1947 extern Lisp_Object Lspecial_char(Lisp_Object env, Lisp_Object a);
1948 extern Lisp_Object Lspecial_form_p(Lisp_Object env, Lisp_Object a);
1949 extern Lisp_Object Lspool(Lisp_Object env, Lisp_Object a);
1950 extern Lisp_Object Lstart_module(Lisp_Object env, Lisp_Object a);
1951 extern Lisp_Object Lstop(Lisp_Object env, Lisp_Object a);
1952 extern Lisp_Object Lstringp(Lisp_Object env, Lisp_Object a);
1953 extern Lisp_Object Lsub1(Lisp_Object env, Lisp_Object a);
1954 extern Lisp_Object Lsymbolp(Lisp_Object env, Lisp_Object a);
1955 extern Lisp_Object Lsymbol_argcount(Lisp_Object env, Lisp_Object a);
1956 extern Lisp_Object Lsymbol_argcode(Lisp_Object env, Lisp_Object a);
1957 extern Lisp_Object Lsymbol_env(Lisp_Object env, Lisp_Object a);
1958 extern Lisp_Object Lsymbol_function(Lisp_Object env, Lisp_Object a);
1959 extern Lisp_Object Lsymbol_globalp(Lisp_Object env, Lisp_Object a);
1960 extern Lisp_Object Lsymbol_name(Lisp_Object env, Lisp_Object a);
1961 extern Lisp_Object Lsymbol_restore_fns(Lisp_Object env, Lisp_Object a);
1962 extern Lisp_Object Lsymbol_specialp(Lisp_Object env, Lisp_Object a);
1963 extern Lisp_Object Lsymbol_value(Lisp_Object env, Lisp_Object a);
1964 extern Lisp_Object Lsystem(Lisp_Object env, Lisp_Object a);
1965 extern Lisp_Object Lthreevectorp(Lisp_Object env, Lisp_Object a);
1966 extern Lisp_Object Ltrace(Lisp_Object env, Lisp_Object a);
1967 extern Lisp_Object Ltruncate(Lisp_Object env, Lisp_Object a);
1968 extern Lisp_Object Lttab(Lisp_Object env, Lisp_Object a);
1969 extern Lisp_Object Ltyo(Lisp_Object env, Lisp_Object a);
1970 extern Lisp_Object Lunintern(Lisp_Object env, Lisp_Object a);
1971 extern Lisp_Object Lunmake_global(Lisp_Object env, Lisp_Object a);
1972 extern Lisp_Object Lunmake_special(Lisp_Object env, Lisp_Object a);
1973 extern Lisp_Object Luntrace(Lisp_Object env, Lisp_Object a);
1974 extern Lisp_Object Lupbv(Lisp_Object env, Lisp_Object a);
1975 extern Lisp_Object Lsimple_vectorp(Lisp_Object env, Lisp_Object a);
1976 extern Lisp_Object Lvectorp(Lisp_Object env, Lisp_Object a);
1977 extern Lisp_Object Lverbos(Lisp_Object env, Lisp_Object a);
1978 extern Lisp_Object Lwhitespace_char_p(Lisp_Object env, Lisp_Object a);
1979 extern Lisp_Object Lwritable_libraryp(Lisp_Object env, Lisp_Object a);
1980 extern Lisp_Object Lwrite_module(Lisp_Object env, Lisp_Object a);
1981 extern Lisp_Object Lwrs(Lisp_Object env, Lisp_Object a);
1982 extern Lisp_Object Lxtab(Lisp_Object env, Lisp_Object a);
1983 extern Lisp_Object Lxtab(Lisp_Object env, Lisp_Object a);
1984 extern Lisp_Object Lzerop(Lisp_Object env, Lisp_Object a);
1985 #ifdef COMMON
1986 extern Lisp_Object Lfind_symbol_1(Lisp_Object nil, Lisp_Object str);
1987 extern Lisp_Object Llistp(Lisp_Object env, Lisp_Object a);
1988 #endif
1989 extern Lisp_Object autoload2(Lisp_Object env, Lisp_Object a1, Lisp_Object a2);
1990 extern Lisp_Object bytecoded2(Lisp_Object env, Lisp_Object a, Lisp_Object b);
1991 extern Lisp_Object byteopt2(Lisp_Object def, Lisp_Object a, Lisp_Object b);
1992 extern Lisp_Object byteoptrest2(Lisp_Object def, Lisp_Object a, Lisp_Object b);
1993 extern Lisp_Object double_bytecoded2(Lisp_Object env, Lisp_Object a, Lisp_Object b);
1994 extern Lisp_Object double_byteopt2(Lisp_Object def, Lisp_Object a, Lisp_Object b);
1995 extern Lisp_Object double_byteoptrest2(Lisp_Object def, Lisp_Object a, Lisp_Object b);
1996 extern Lisp_Object double_funarged2(Lisp_Object env, Lisp_Object a1, Lisp_Object a2);
1997 extern Lisp_Object double_hardopt2(Lisp_Object def, Lisp_Object a, Lisp_Object b);
1998 extern Lisp_Object double_hardoptrest2(Lisp_Object def, Lisp_Object a, Lisp_Object b);
1999 extern Lisp_Object double_interpreted2(Lisp_Object env, Lisp_Object a1, Lisp_Object a2);
2000 extern Lisp_Object funarged2(Lisp_Object env, Lisp_Object a1, Lisp_Object a2);
2001 extern Lisp_Object tracefunarged2(Lisp_Object env, Lisp_Object a1, Lisp_Object a2);
2002 extern Lisp_Object hardopt2(Lisp_Object def, Lisp_Object a, Lisp_Object b);
2003 extern Lisp_Object hardoptrest2(Lisp_Object def, Lisp_Object a, Lisp_Object b);
2004 extern Lisp_Object interpreted2(Lisp_Object env, Lisp_Object a1, Lisp_Object a2);
2005 extern Lisp_Object tracebyteopt2(Lisp_Object def, Lisp_Object a, Lisp_Object b);
2006 extern Lisp_Object tracebyteoptrest2(Lisp_Object def, Lisp_Object a, Lisp_Object b);
2007 extern Lisp_Object tracebytecoded2(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2008 extern Lisp_Object jitcompileme2(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2009 extern Lisp_Object traceinterpreted2(Lisp_Object env, Lisp_Object a1, Lisp_Object a2);
2010 extern Lisp_Object tracehardopt2(Lisp_Object def, Lisp_Object a, Lisp_Object b);
2011 extern Lisp_Object tracehardoptrest2(Lisp_Object def, Lisp_Object a, Lisp_Object b);
2012 extern Lisp_Object undefined2(Lisp_Object env, Lisp_Object a1, Lisp_Object a2);
2013 extern Lisp_Object f2_as_0(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2014 extern Lisp_Object f2_as_1(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2015 extern Lisp_Object f2_as_2(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2016 #ifdef CJAVA
2017 extern Lisp_Object java2(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2018 #endif
2019 extern Lisp_Object Lappend(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2020 extern Lisp_Object Lapply_2(Lisp_Object env, Lisp_Object fn, Lisp_Object a1);
2021 extern Lisp_Object Lapply1(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2022 extern Lisp_Object Lash(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2023 extern Lisp_Object Lash1(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2024 extern Lisp_Object Lassoc(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2025 extern Lisp_Object Latan2(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2026 extern Lisp_Object Latan2d(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2027 extern Lisp_Object Latsoc(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2028 extern Lisp_Object Lbpsgetv(Lisp_Object nil, Lisp_Object v, Lisp_Object n);
2029 extern Lisp_Object Lcons(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2030 extern Lisp_Object Lcopy_native(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2031 extern Lisp_Object Ldeleq(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2032 extern Lisp_Object Ldelete(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2033 extern Lisp_Object Ldifference2(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2034 extern Lisp_Object Ldivide(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2035 extern Lisp_Object Lelt(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2036 extern Lisp_Object Leq(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2037 extern Lisp_Object Leqcar(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2038 extern Lisp_Object Lequalcar(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2039 extern Lisp_Object Leql(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2040 extern Lisp_Object Leqn(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2041 extern Lisp_Object Lcl_equal(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2042 extern Lisp_Object Lequal(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2043 extern Lisp_Object Lerror2(Lisp_Object nil, Lisp_Object a1, Lisp_Object a2);
2044 extern Lisp_Object Lerrorset2(Lisp_Object nil, Lisp_Object form, Lisp_Object ffg1);
2045 extern Lisp_Object Lexpt(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2046 extern Lisp_Object Lflag(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2047 extern Lisp_Object Lflagp(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2048 extern Lisp_Object Lflagpcar(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2049 extern Lisp_Object Lfuncall2(Lisp_Object env, Lisp_Object fn, Lisp_Object a1);
2050 extern Lisp_Object Lgcd(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2051 extern Lisp_Object Lgeq(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2052 extern Lisp_Object Lget(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2053 extern Lisp_Object Lget_hash_2(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2054 extern Lisp_Object Lgetv(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2055 extern Lisp_Object Lgreaterp(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2056 extern Lisp_Object Lhelp_2(Lisp_Object nil, Lisp_Object a, Lisp_Object b);
2057 extern Lisp_Object Lidifference(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2058 extern Lisp_Object Ligeq(Lisp_Object nil, Lisp_Object a, Lisp_Object b);
2059 extern Lisp_Object Ligreaterp(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2060 extern Lisp_Object Lileq(Lisp_Object nil, Lisp_Object a, Lisp_Object b);
2061 extern Lisp_Object Lilessp(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2062 extern Lisp_Object Limax(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2063 extern Lisp_Object Limin(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2064 extern Lisp_Object Linorm(Lisp_Object nil, Lisp_Object a, Lisp_Object k);
2065 extern Lisp_Object Linstate_c_code(Lisp_Object nil, Lisp_Object a, Lisp_Object b);
2066 extern Lisp_Object Lintersect(Lisp_Object nil, Lisp_Object a, Lisp_Object b);
2067 extern Lisp_Object Liplus2(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2068 extern Lisp_Object Liquotient(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2069 extern Lisp_Object Liremainder(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2070 extern Lisp_Object Lirightshift(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2071 extern Lisp_Object Litimes2(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2072 extern Lisp_Object Llcm(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2073 extern Lisp_Object Lleq(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2074 extern Lisp_Object Llessp(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2075 extern Lisp_Object Llist2(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2076 extern Lisp_Object Llog(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2077 extern Lisp_Object Llog_2(Lisp_Object nil, Lisp_Object a, Lisp_Object b);
2078 extern Lisp_Object Lmake_random_state(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2079 extern Lisp_Object Lmake_random_state(Lisp_Object nil, Lisp_Object a, Lisp_Object b);
2080 extern Lisp_Object Lmax2(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2081 extern Lisp_Object Lmember(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2082 extern Lisp_Object Lmemq(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2083 extern Lisp_Object Lmin2(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2084 extern Lisp_Object Lmod(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2085 extern Lisp_Object Lmodular_difference(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2086 extern Lisp_Object Lmodular_expt(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2087 extern Lisp_Object Lmodular_plus(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2088 extern Lisp_Object Lmodular_quotient(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2089 extern Lisp_Object Lmodular_times(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2090 extern Lisp_Object Lnconc(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2091 extern Lisp_Object Lneq(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2092 extern Lisp_Object Lnreverse2(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2093 extern Lisp_Object Lorderp(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2094 extern Lisp_Object Lpair(Lisp_Object nil, Lisp_Object a, Lisp_Object b);
2095 extern Lisp_Object Lplus2(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2096 extern Lisp_Object Lquotient(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2097 extern Lisp_Object Lrem(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2098 extern Lisp_Object Lremflag(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2099 extern Lisp_Object Lremprop(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2100 extern Lisp_Object Lresource_limit2(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2101 extern Lisp_Object Lrplaca(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2102 extern Lisp_Object Lrplacd(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2103 extern Lisp_Object Lrseek(Lisp_Object nil, Lisp_Object a);
2104 extern Lisp_Object Lset(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2105 extern Lisp_Object Lset_help_file(Lisp_Object nil, Lisp_Object a, Lisp_Object b);
2106 extern Lisp_Object Lsgetv(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2107 extern Lisp_Object Lsmemq(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2108 extern Lisp_Object Lsubla(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2109 extern Lisp_Object Lsublis(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2110 extern Lisp_Object Lsymbol_protect(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2111 extern Lisp_Object Lsymbol_set_definition(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2112 extern Lisp_Object Lsymbol_set_env(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2113 extern Lisp_Object Ltimes2(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2114 extern Lisp_Object Lunion(Lisp_Object nil, Lisp_Object a, Lisp_Object b);
2115 extern Lisp_Object Lwrite_help_module(Lisp_Object nil, Lisp_Object a, Lisp_Object b);
2116 extern Lisp_Object Lxcons(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2117 #ifdef COMMON
2118 extern Lisp_Object Laref2(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2119 extern Lisp_Object Latan_2(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2120 extern Lisp_Object Lelt(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2121 extern Lisp_Object Lfloat_2(Lisp_Object nil, Lisp_Object a, Lisp_Object b);
2122 extern Lisp_Object Lintern_2(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2123 extern Lisp_Object Lmacroexpand_1_2(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2124 extern Lisp_Object Lmacroexpand_2(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2125 extern Lisp_Object Lrandom_2(Lisp_Object nil, Lisp_Object a, Lisp_Object b);
2126 extern Lisp_Object Ltruncate_2(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2127 extern Lisp_Object Lunintern_2(Lisp_Object env, Lisp_Object a, Lisp_Object b);
2128 #endif
2129 extern Lisp_Object MS_CDECL autoloadn(Lisp_Object env, int nargs, ...);
2130 extern Lisp_Object MS_CDECL bytecoded0(Lisp_Object env, int nargs, ...);
2131 extern Lisp_Object MS_CDECL bytecoded3(Lisp_Object env, int nargs, ...);
2132 extern Lisp_Object MS_CDECL bytecodedn(Lisp_Object env, int nargs, ...);
2133 extern Lisp_Object MS_CDECL byteoptn(Lisp_Object def, int nargs, ...);
2134 extern Lisp_Object MS_CDECL byteoptrestn(Lisp_Object def, int nargs, ...);
2135 extern Lisp_Object MS_CDECL double_bytecoded0(Lisp_Object env, int nargs, ...);
2136 extern Lisp_Object MS_CDECL double_bytecoded3(Lisp_Object env, int nargs, ...);
2137 extern Lisp_Object MS_CDECL double_bytecodedn(Lisp_Object env, int nargs, ...);
2138 extern Lisp_Object MS_CDECL double_byteoptn(Lisp_Object def, int nargs, ...);
2139 extern Lisp_Object MS_CDECL double_byteoptrestn(Lisp_Object def, int nargs, ...);
2140 extern Lisp_Object MS_CDECL double_funargedn(Lisp_Object env, int nargs, ...);
2141 extern Lisp_Object MS_CDECL double_hardoptn(Lisp_Object def, int nargs, ...);
2142 extern Lisp_Object MS_CDECL double_hardoptrestn(Lisp_Object def, int nargs, ...);
2143 extern Lisp_Object MS_CDECL double_interpretedn(Lisp_Object env, int nargs, ...);
2144 extern Lisp_Object MS_CDECL funargedn(Lisp_Object env, int nargs, ...);
2145 extern Lisp_Object MS_CDECL tracefunargedn(Lisp_Object env, int nargs, ...);
2146 extern Lisp_Object MS_CDECL hardoptn(Lisp_Object def, int nargs, ...);
2147 extern Lisp_Object MS_CDECL hardoptrestn(Lisp_Object def, int nargs, ...);
2148 extern Lisp_Object MS_CDECL interpretedn(Lisp_Object env, int nargs, ...);
2149 extern Lisp_Object MS_CDECL tracebyteoptn(Lisp_Object def, int nargs, ...);
2150 extern Lisp_Object MS_CDECL tracebyteoptrestn(Lisp_Object def, int nargs, ...);
2151 extern Lisp_Object MS_CDECL tracebytecoded0(Lisp_Object env, int nargs, ...);
2152 extern Lisp_Object MS_CDECL tracebytecoded3(Lisp_Object env, int nargs, ...);
2153 extern Lisp_Object MS_CDECL tracebytecodedn(Lisp_Object env, int nargs, ...);
2154 extern Lisp_Object MS_CDECL jitcompileme0(Lisp_Object env, int nargs, ...);
2155 extern Lisp_Object MS_CDECL jitcompileme3(Lisp_Object env, int nargs, ...);
2156 extern Lisp_Object MS_CDECL jitcompilemen(Lisp_Object env, int nargs, ...);
2157 extern Lisp_Object MS_CDECL traceinterpretedn(Lisp_Object env, int nargs, ...);
2158 extern Lisp_Object MS_CDECL tracehardoptn(Lisp_Object def, int nargs, ...);
2159 extern Lisp_Object MS_CDECL tracehardoptrestn(Lisp_Object def, int nargs, ...);
2160 extern Lisp_Object MS_CDECL undefinedn(Lisp_Object env, int nargs, ...);
2161 extern Lisp_Object MS_CDECL f0_as_0(Lisp_Object env, int nargs, ...);
2162 extern Lisp_Object MS_CDECL f3_as_0(Lisp_Object env, int nargs, ...);
2163 extern Lisp_Object MS_CDECL f3_as_1(Lisp_Object env, int nargs, ...);
2164 extern Lisp_Object MS_CDECL f3_as_2(Lisp_Object env, int nargs, ...);
2165 extern Lisp_Object MS_CDECL f3_as_3(Lisp_Object env, int nargs, ...);
2166 #ifdef CJAVA
2167 extern Lisp_Object MS_CDECL java0(Lisp_Object env, int nargs, ...);
2168 extern Lisp_Object MS_CDECL java3(Lisp_Object env, int nargs, ...);
2169 extern Lisp_Object MS_CDECL javan(Lisp_Object env, int nargs, ...);
2170 #endif
2171 extern Lisp_Object MS_CDECL Lacons(Lisp_Object env, int nargs, ...);
2172 extern Lisp_Object MS_CDECL Lapply_n(Lisp_Object env, int nargs, ...);
2173 extern Lisp_Object MS_CDECL Lapply2(Lisp_Object env, int nargs, ...);
2174 extern Lisp_Object MS_CDECL Lapply3(Lisp_Object env, int nargs, ...);
2175 extern Lisp_Object MS_CDECL Lbpsputv(Lisp_Object env, int nargs, ...);
2176 extern Lisp_Object MS_CDECL Lerrorset3(Lisp_Object nil, int nargs, ...);
2177 extern Lisp_Object MS_CDECL Lerrorsetn(Lisp_Object env, int nargs, ...);
2178 extern Lisp_Object MS_CDECL Lfuncalln(Lisp_Object env, int nargs, ...);
2179 extern Lisp_Object MS_CDECL Lhelp_n(Lisp_Object nil, int nargs, ...);
2180 extern Lisp_Object MS_CDECL Llist(Lisp_Object env, int nargs, ...);
2181 extern Lisp_Object MS_CDECL Llist2star(Lisp_Object env, int nargs, ...);
2182 extern Lisp_Object MS_CDECL Llist3(Lisp_Object env, int nargs, ...);
2183 extern Lisp_Object MS_CDECL Llogand(Lisp_Object env, int nargs, ...);
2184 extern Lisp_Object MS_CDECL Llogeqv(Lisp_Object env, int nargs, ...);
2185 extern Lisp_Object MS_CDECL Llogor(Lisp_Object env, int nargs, ...);
2186 extern Lisp_Object MS_CDECL Llogxor(Lisp_Object env, int nargs, ...);
2187 extern Lisp_Object MS_CDECL Lmax(Lisp_Object env, int nargs, ...);
2188 extern Lisp_Object MS_CDECL Lmin(Lisp_Object env, int nargs, ...);
2189 extern Lisp_Object MS_CDECL Lmkhash(Lisp_Object nil, int nargs, ...);
2190 extern Lisp_Object MS_CDECL Lput_hash(Lisp_Object env, int nargs, ...);
2191 extern Lisp_Object MS_CDECL Lputprop(Lisp_Object env, int nargs, ...);
2192 extern Lisp_Object MS_CDECL Lputv(Lisp_Object env, int nargs, ...);
2193 extern Lisp_Object MS_CDECL Lresource_limitn(Lisp_Object env, int nargs, ...);
2194 extern Lisp_Object MS_CDECL Lsputv(Lisp_Object env, int nargs, ...);
2195 extern Lisp_Object MS_CDECL Lsubst(Lisp_Object env, int nargs, ...);
2196 extern Lisp_Object MS_CDECL Lvalues(Lisp_Object env, int nargs, ...);
2197 #ifdef COMMON
2198 extern Lisp_Object MS_CDECL Lappend_n(Lisp_Object nil, int nargs, ...);
2199 extern Lisp_Object MS_CDECL Laref(Lisp_Object env, int nargs, ...);
2200 extern Lisp_Object MS_CDECL Laset(Lisp_Object env, int nargs, ...);
2201 extern Lisp_Object MS_CDECL Leqn_n(Lisp_Object nil, int nargs, ...);
2202 extern Lisp_Object MS_CDECL Lgcd_n(Lisp_Object env, int nargs, ...);
2203 extern Lisp_Object MS_CDECL Lgeq_n(Lisp_Object nil, int nargs, ...);
2204 extern Lisp_Object MS_CDECL Lget_3(Lisp_Object env, int nargs, ...);
2205 extern Lisp_Object MS_CDECL Lgreaterp_n(Lisp_Object nil, int nargs, ...);
2206 extern Lisp_Object MS_CDECL Llcm_n(Lisp_Object env, int nargs, ...);
2207 extern Lisp_Object MS_CDECL Lleq_n(Lisp_Object nil, int nargs, ...);
2208 extern Lisp_Object MS_CDECL Llessp_n(Lisp_Object nil, int nargs, ...);
2209 extern Lisp_Object MS_CDECL Lquotient_n(Lisp_Object nil, int nargs, ...);
2210 #endif
2211 #ifdef OPENMATH
2212 extern Lisp_Object MS_CDECL om_openFileDev(Lisp_Object env, int nargs, ...);
2213 extern Lisp_Object om_openStringDev(Lisp_Object nil, Lisp_Object lstr, Lisp_Object lenc);
2214 extern Lisp_Object om_closeDev(Lisp_Object env, Lisp_Object dev);
2215 extern Lisp_Object om_setDevEncoding(Lisp_Object nil, Lisp_Object ldev, Lisp_Object lenc);
2216 extern Lisp_Object om_makeConn(Lisp_Object nil, Lisp_Object ltimeout);
2217 extern Lisp_Object om_closeConn(Lisp_Object nil, Lisp_Object lconn);
2218 extern Lisp_Object om_getConnInDevice(Lisp_Object nil, Lisp_Object lconn);
2219 extern Lisp_Object om_getConnOutDevice(Lisp_Object nil, Lisp_Object lconn);
2220 extern Lisp_Object MS_CDECL om_connectTCP(Lisp_Object nil, int nargs, ...);
2221 extern Lisp_Object om_bindTCP(Lisp_Object nil, Lisp_Object lconn, Lisp_Object lport);
2222 extern Lisp_Object om_putApp(Lisp_Object nil, Lisp_Object ldev);
2223 extern Lisp_Object om_putEndApp(Lisp_Object nil, Lisp_Object ldev);
2224 extern Lisp_Object om_putAtp(Lisp_Object nil, Lisp_Object ldev);
2225 extern Lisp_Object om_putEndAtp(Lisp_Object nil, Lisp_Object ldev);
2226 extern Lisp_Object om_putAttr(Lisp_Object nil, Lisp_Object ldev);
2227 extern Lisp_Object om_putEndAttr(Lisp_Object nil, Lisp_Object ldev);
2228 extern Lisp_Object om_putBind(Lisp_Object nil, Lisp_Object ldev);
2229 extern Lisp_Object om_putEndBind(Lisp_Object nil, Lisp_Object ldev);
2230 extern Lisp_Object om_putBVar(Lisp_Object nil, Lisp_Object ldev);
2231 extern Lisp_Object om_putEndBVar(Lisp_Object nil, Lisp_Object ldev);
2232 extern Lisp_Object om_putError(Lisp_Object nil, Lisp_Object ldev);
2233 extern Lisp_Object om_putEndError(Lisp_Object nil, Lisp_Object ldev);
2234 extern Lisp_Object om_putObject(Lisp_Object nil, Lisp_Object ldev);
2235 extern Lisp_Object om_putEndObject(Lisp_Object nil, Lisp_Object ldev);
2236 extern Lisp_Object om_putInt(Lisp_Object nil, Lisp_Object ldev, Lisp_Object val);
2237 extern Lisp_Object om_putFloat(Lisp_Object nil, Lisp_Object ldev, Lisp_Object val);
2238 extern Lisp_Object om_putByteArray(Lisp_Object nil, Lisp_Object ldev, Lisp_Object val);
2239 extern Lisp_Object om_putVar(Lisp_Object nil, Lisp_Object ldev, Lisp_Object val);
2240 extern Lisp_Object om_putString(Lisp_Object nil, Lisp_Object ldev, Lisp_Object val);
2241 extern Lisp_Object om_putSymbol(Lisp_Object nil, Lisp_Object ldev, Lisp_Object val);
2242 extern Lisp_Object MS_CDECL om_putSymbol2(Lisp_Object nil, int nargs, ...);
2243 extern Lisp_Object om_getApp(Lisp_Object nil, Lisp_Object ldev);
2244 extern Lisp_Object om_getEndApp(Lisp_Object nil, Lisp_Object ldev);
2245 extern Lisp_Object om_getAtp(Lisp_Object nil, Lisp_Object ldev);
2246 extern Lisp_Object om_getEndAtp(Lisp_Object nil, Lisp_Object ldev);
2247 extern Lisp_Object om_getAttr(Lisp_Object nil, Lisp_Object ldev);
2248 extern Lisp_Object om_getEndAttr(Lisp_Object nil, Lisp_Object ldev);
2249 extern Lisp_Object om_getBind(Lisp_Object nil, Lisp_Object ldev);
2250 extern Lisp_Object om_getEndBind(Lisp_Object nil, Lisp_Object ldev);
2251 extern Lisp_Object om_getBVar(Lisp_Object nil, Lisp_Object ldev);
2252 extern Lisp_Object om_getEndBVar(Lisp_Object nil, Lisp_Object ldev);
2253 extern Lisp_Object om_getError(Lisp_Object nil, Lisp_Object ldev);
2254 extern Lisp_Object om_getEndError(Lisp_Object nil, Lisp_Object ldev);
2255 extern Lisp_Object om_getObject(Lisp_Object nil, Lisp_Object ldev);
2256 extern Lisp_Object om_getEndObject(Lisp_Object nil, Lisp_Object ldev);
2257 extern Lisp_Object om_getInt(Lisp_Object nil, Lisp_Object ldev);
2258 extern Lisp_Object om_getFloat(Lisp_Object nil, Lisp_Object ldev);
2259 extern Lisp_Object om_getByteArray(Lisp_Object nil, Lisp_Object ldev);
2260 extern Lisp_Object om_getVar(Lisp_Object nil, Lisp_Object ldev);
2261 extern Lisp_Object om_getString(Lisp_Object nil, Lisp_Object ldev);
2262 extern Lisp_Object om_getSymbol(Lisp_Object nil, Lisp_Object ldev);
2263 extern Lisp_Object om_getType(Lisp_Object nil, Lisp_Object ldev);
2264 extern Lisp_Object om_stringToStringPtr(Lisp_Object nil, Lisp_Object lstr);
2265 extern Lisp_Object om_stringPtrToString(Lisp_Object nil, Lisp_Object lpstr);
2266 extern Lisp_Object om_read(Lisp_Object nil, Lisp_Object dev);
2267 extern Lisp_Object om_supportsCD(Lisp_Object nil, Lisp_Object lcd);
2268 extern Lisp_Object om_supportsSymbol(Lisp_Object nil, Lisp_Object lcd, Lisp_Object lsym);
2269 extern Lisp_Object MS_CDECL om_listCDs(Lisp_Object nil, int nargs, ...);
2270 extern Lisp_Object om_listSymbols(Lisp_Object nil, Lisp_Object lcd);
2271 extern Lisp_Object om_whichCDs(Lisp_Object nil, Lisp_Object lsym);
2272 #endif
2273 #ifdef __cplusplus
2274 }
2275 #endif
2276 #endif
2277 
2278 
2279 /* Code for dv_skelsplit1 */
2280 
CC_dv_skelsplit1(Lisp_Object env,Lisp_Object v0000,Lisp_Object v0001)2281 static Lisp_Object CC_dv_skelsplit1(Lisp_Object env,
2282                          Lisp_Object v0000, Lisp_Object v0001)
2283 {
2284     Lisp_Object nil = C_nil;
2285     Lisp_Object v0099, v0100;
2286     Lisp_Object fn;
2287     CSL_IGNORE(nil);
2288 #ifdef DEBUG
2289     if (check_env(env)) return aerror("env for dv_skelsplit1");
2290 #endif
2291     if (stack >= stacklimit)
2292     {
2293         push2(v0001,v0000);
2294         env = reclaim(env, "stack", GC_STACK, 0);
2295         pop2(v0000,v0001);
2296         nil = C_nil;
2297         if (exception_pending()) return nil;
2298     }
2299     push(env);
2300 /* space for vars preserved across procedure calls */
2301     push5(nil, nil, nil, nil, nil);
2302     push5(nil, nil, nil, nil, nil);
2303     push3(nil, nil, nil);
2304 /* copy arguments values to proper place */
2305     stack[-10] = v0001;
2306     stack[-11] = v0000;
2307 /* end of prologue */
2308     stack[-12] = nil;
2309     stack[-9] = nil;
2310     stack[-8] = nil;
2311     stack[-7] = nil;
2312     stack[-6] = nil;
2313     v0099 = stack[-11];
2314     v0099 = qcdr(v0099);
2315     v0099 = qcar(v0099);
2316     if (is_number(v0099)) goto v0101;
2317     v0099 = stack[-11];
2318     v0099 = qcdr(v0099);
2319     v0099 = Llength(nil, v0099);
2320     nil = C_nil;
2321     if (exception_pending()) goto v0102;
2322     env = stack[-13];
2323     stack[0] = v0099;
2324     v0099 = stack[0];
2325     v0099 = sub1(v0099);
2326     nil = C_nil;
2327     if (exception_pending()) goto v0102;
2328     env = stack[-13];
2329     v0099 = Lmkvect(nil, v0099);
2330     nil = C_nil;
2331     if (exception_pending()) goto v0102;
2332     env = stack[-13];
2333     stack[-5] = v0099;
2334     v0099 = stack[0];
2335     stack[-4] = v0099;
2336     v0099 = stack[-11];
2337     v0099 = qcdr(v0099);
2338     v0099 = Lreverse(nil, v0099);
2339     nil = C_nil;
2340     if (exception_pending()) goto v0102;
2341     env = stack[-13];
2342     stack[-3] = v0099;
2343     goto v0103;
2344 
2345 v0103:
2346     v0099 = stack[-3];
2347     if (v0099 == nil) goto v0104;
2348     v0099 = stack[-3];
2349     v0099 = qcar(v0099);
2350     stack[-2] = v0099;
2351     stack[-1] = stack[-5];
2352     v0099 = stack[-4];
2353     stack[0] = sub1(v0099);
2354     nil = C_nil;
2355     if (exception_pending()) goto v0102;
2356     env = stack[-13];
2357     v0100 = stack[-2];
2358     v0099 = stack[-10];
2359     v0099 = CC_dv_skelsplit1(env, v0100, v0099);
2360     nil = C_nil;
2361     if (exception_pending()) goto v0102;
2362     env = stack[-13];
2363     *(Lisp_Object *)((char *)stack[-1] + (CELL-TAG_VECTOR) + ((int32_t)stack[0]/(16/CELL))) = v0099;
2364     stack[0] = stack[-5];
2365     v0099 = stack[-4];
2366     v0099 = sub1(v0099);
2367     nil = C_nil;
2368     if (exception_pending()) goto v0102;
2369     env = stack[-13];
2370     v0099 = *(Lisp_Object *)((char *)stack[0] + (CELL-TAG_VECTOR) + ((int32_t)v0099/(16/CELL)));
2371     v0100 = qcar(v0099);
2372     v0099 = stack[-6];
2373     v0099 = cons(v0100, v0099);
2374     nil = C_nil;
2375     if (exception_pending()) goto v0102;
2376     env = stack[-13];
2377     stack[-6] = v0099;
2378     v0100 = stack[-4];
2379     v0099 = stack[-12];
2380     v0099 = cons(v0100, v0099);
2381     nil = C_nil;
2382     if (exception_pending()) goto v0102;
2383     env = stack[-13];
2384     stack[-12] = v0099;
2385     v0099 = stack[-4];
2386     v0099 = sub1(v0099);
2387     nil = C_nil;
2388     if (exception_pending()) goto v0102;
2389     env = stack[-13];
2390     stack[-4] = v0099;
2391     v0099 = stack[-3];
2392     v0099 = qcdr(v0099);
2393     stack[-3] = v0099;
2394     goto v0103;
2395 
2396 v0104:
2397     v0099 = stack[-6];
2398     stack[-3] = v0099;
2399     goto v0105;
2400 
2401 v0105:
2402     v0099 = stack[-3];
2403     if (v0099 == nil) goto v0106;
2404     v0099 = stack[-3];
2405     v0099 = qcar(v0099);
2406     fn = elt(env, 3); /* copy */
2407     v0099 = (*qfn1(fn))(qenv(fn), v0099);
2408     nil = C_nil;
2409     if (exception_pending()) goto v0102;
2410     env = stack[-13];
2411     stack[-2] = v0099;
2412     v0099 = stack[-2];
2413     fn = elt(env, 4); /* lastpair */
2414     v0099 = (*qfn1(fn))(qenv(fn), v0099);
2415     nil = C_nil;
2416     if (exception_pending()) goto v0102;
2417     env = stack[-13];
2418     stack[-1] = v0099;
2419     v0099 = stack[-3];
2420     v0099 = qcdr(v0099);
2421     stack[-3] = v0099;
2422     v0099 = stack[-1];
2423     if (!consp(v0099)) goto v0105;
2424     else goto v0107;
2425 
2426 v0107:
2427     v0099 = stack[-3];
2428     if (v0099 == nil) goto v0108;
2429     stack[0] = stack[-1];
2430     v0099 = stack[-3];
2431     v0099 = qcar(v0099);
2432     fn = elt(env, 3); /* copy */
2433     v0099 = (*qfn1(fn))(qenv(fn), v0099);
2434     nil = C_nil;
2435     if (exception_pending()) goto v0102;
2436     env = stack[-13];
2437     v0099 = Lrplacd(nil, stack[0], v0099);
2438     nil = C_nil;
2439     if (exception_pending()) goto v0102;
2440     env = stack[-13];
2441     v0099 = stack[-1];
2442     fn = elt(env, 4); /* lastpair */
2443     v0099 = (*qfn1(fn))(qenv(fn), v0099);
2444     nil = C_nil;
2445     if (exception_pending()) goto v0102;
2446     env = stack[-13];
2447     stack[-1] = v0099;
2448     v0099 = stack[-3];
2449     v0099 = qcdr(v0099);
2450     stack[-3] = v0099;
2451     goto v0107;
2452 
2453 v0108:
2454     v0099 = stack[-2];
2455     goto v0109;
2456 
2457 v0109:
2458     stack[-6] = v0099;
2459     goto v0110;
2460 
2461 v0110:
2462     v0099 = stack[-11];
2463     v0100 = qcar(v0099);
2464     v0099 = elt(env, 2); /* !* */
2465     if (v0100 == v0099) goto v0111;
2466     v0099 = stack[-12];
2467     stack[-3] = v0099;
2468     goto v0112;
2469 
2470 v0112:
2471     v0099 = stack[-3];
2472     if (v0099 == nil) goto v0113;
2473     v0099 = stack[-3];
2474     v0099 = qcar(v0099);
2475     stack[-2] = v0099;
2476     v0099 = stack[-9];
2477     if (v0099 == nil) goto v0114;
2478     stack[0] = stack[-5];
2479     v0099 = stack[-2];
2480     v0099 = sub1(v0099);
2481     nil = C_nil;
2482     if (exception_pending()) goto v0102;
2483     env = stack[-13];
2484     v0099 = *(Lisp_Object *)((char *)stack[0] + (CELL-TAG_VECTOR) + ((int32_t)v0099/(16/CELL)));
2485     v0100 = qcar(v0099);
2486     v0099 = stack[-9];
2487     v0099 = qcar(v0099);
2488     if (equal(v0100, v0099)) goto v0115;
2489     v0100 = stack[-9];
2490     v0099 = stack[-7];
2491     v0099 = cons(v0100, v0099);
2492     nil = C_nil;
2493     if (exception_pending()) goto v0102;
2494     env = stack[-13];
2495     stack[-7] = v0099;
2496     stack[0] = stack[-5];
2497     v0099 = stack[-2];
2498     v0099 = sub1(v0099);
2499     nil = C_nil;
2500     if (exception_pending()) goto v0102;
2501     env = stack[-13];
2502     v0099 = *(Lisp_Object *)((char *)stack[0] + (CELL-TAG_VECTOR) + ((int32_t)v0099/(16/CELL)));
2503     stack[-1] = qcar(v0099);
2504     stack[0] = stack[-5];
2505     v0099 = stack[-2];
2506     v0099 = sub1(v0099);
2507     nil = C_nil;
2508     if (exception_pending()) goto v0102;
2509     env = stack[-13];
2510     v0099 = *(Lisp_Object *)((char *)stack[0] + (CELL-TAG_VECTOR) + ((int32_t)v0099/(16/CELL)));
2511     v0100 = qcdr(v0099);
2512     v0099 = qvalue(elt(env, 1)); /* nil */
2513     v0099 = list2star(stack[-1], v0100, v0099);
2514     nil = C_nil;
2515     if (exception_pending()) goto v0102;
2516     env = stack[-13];
2517     stack[-9] = v0099;
2518     goto v0116;
2519 
2520 v0116:
2521     v0099 = stack[-3];
2522     v0099 = qcdr(v0099);
2523     stack[-3] = v0099;
2524     goto v0112;
2525 
2526 v0115:
2527     stack[-1] = stack[-9];
2528     stack[0] = stack[-5];
2529     v0099 = stack[-2];
2530     v0099 = sub1(v0099);
2531     nil = C_nil;
2532     if (exception_pending()) goto v0102;
2533     env = stack[-13];
2534     v0099 = *(Lisp_Object *)((char *)stack[0] + (CELL-TAG_VECTOR) + ((int32_t)v0099/(16/CELL)));
2535     v0100 = qcdr(v0099);
2536     v0099 = stack[-9];
2537     v0099 = qcdr(v0099);
2538     v0099 = cons(v0100, v0099);
2539     nil = C_nil;
2540     if (exception_pending()) goto v0102;
2541     env = stack[-13];
2542     v0099 = Lrplacd(nil, stack[-1], v0099);
2543     nil = C_nil;
2544     if (exception_pending()) goto v0102;
2545     env = stack[-13];
2546     goto v0116;
2547 
2548 v0114:
2549     stack[0] = stack[-5];
2550     v0099 = stack[-2];
2551     v0099 = sub1(v0099);
2552     nil = C_nil;
2553     if (exception_pending()) goto v0102;
2554     env = stack[-13];
2555     v0099 = *(Lisp_Object *)((char *)stack[0] + (CELL-TAG_VECTOR) + ((int32_t)v0099/(16/CELL)));
2556     stack[-1] = qcar(v0099);
2557     stack[0] = stack[-5];
2558     v0099 = stack[-2];
2559     v0099 = sub1(v0099);
2560     nil = C_nil;
2561     if (exception_pending()) goto v0102;
2562     env = stack[-13];
2563     v0099 = *(Lisp_Object *)((char *)stack[0] + (CELL-TAG_VECTOR) + ((int32_t)v0099/(16/CELL)));
2564     v0100 = qcdr(v0099);
2565     v0099 = qvalue(elt(env, 1)); /* nil */
2566     v0099 = list2star(stack[-1], v0100, v0099);
2567     nil = C_nil;
2568     if (exception_pending()) goto v0102;
2569     env = stack[-13];
2570     stack[-9] = v0099;
2571     goto v0116;
2572 
2573 v0113:
2574     v0100 = stack[-9];
2575     v0099 = stack[-7];
2576     v0099 = cons(v0100, v0099);
2577     nil = C_nil;
2578     if (exception_pending()) goto v0102;
2579     env = stack[-13];
2580     stack[-7] = v0099;
2581     v0099 = stack[-7];
2582     stack[-1] = v0099;
2583     goto v0117;
2584 
2585 v0117:
2586     v0099 = stack[-1];
2587     if (v0099 == nil) goto v0118;
2588     v0099 = stack[-1];
2589     v0099 = qcar(v0099);
2590     v0100 = v0099;
2591     v0099 = v0100;
2592     v0099 = qcdr(v0099);
2593     if (v0099 == nil) goto v0119;
2594     v0099 = stack[-11];
2595     stack[0] = qcar(v0099);
2596     v0099 = v0100;
2597     v0099 = qcdr(v0099);
2598     v0099 = Lreverse(nil, v0099);
2599     nil = C_nil;
2600     if (exception_pending()) goto v0102;
2601     env = stack[-13];
2602     v0099 = cons(stack[0], v0099);
2603     nil = C_nil;
2604     if (exception_pending()) goto v0102;
2605     env = stack[-13];
2606     v0100 = v0099;
2607     v0099 = stack[-8];
2608     v0099 = cons(v0100, v0099);
2609     nil = C_nil;
2610     if (exception_pending()) goto v0102;
2611     env = stack[-13];
2612     stack[-8] = v0099;
2613     goto v0119;
2614 
2615 v0119:
2616     v0099 = stack[-1];
2617     v0099 = qcdr(v0099);
2618     stack[-1] = v0099;
2619     goto v0117;
2620 
2621 v0118:
2622     v0099 = stack[-8];
2623     v0100 = Llength(nil, v0099);
2624     nil = C_nil;
2625     if (exception_pending()) goto v0102;
2626     env = stack[-13];
2627     v0099 = (Lisp_Object)17; /* 1 */
2628     if (v0100 == v0099) goto v0120;
2629     v0100 = elt(env, 2); /* !* */
2630     v0099 = stack[-8];
2631     v0099 = cons(v0100, v0099);
2632     nil = C_nil;
2633     if (exception_pending()) goto v0102;
2634     stack[-8] = v0099;
2635     goto v0121;
2636 
2637 v0121:
2638     v0100 = stack[-6];
2639     v0099 = stack[-8];
2640     popv(14);
2641     return cons(v0100, v0099);
2642 
2643 v0120:
2644     v0099 = stack[-8];
2645     v0099 = qcar(v0099);
2646     stack[-8] = v0099;
2647     goto v0121;
2648 
2649 v0111:
2650     v0099 = stack[-12];
2651     v0099 = Lreverse(nil, v0099);
2652     nil = C_nil;
2653     if (exception_pending()) goto v0102;
2654     env = stack[-13];
2655     stack[-2] = v0099;
2656     goto v0122;
2657 
2658 v0122:
2659     v0099 = stack[-2];
2660     if (v0099 == nil) goto v0123;
2661     v0099 = stack[-2];
2662     v0099 = qcar(v0099);
2663     stack[-1] = v0099;
2664     stack[0] = stack[-5];
2665     v0099 = stack[-1];
2666     v0099 = sub1(v0099);
2667     nil = C_nil;
2668     if (exception_pending()) goto v0102;
2669     env = stack[-13];
2670     v0099 = *(Lisp_Object *)((char *)stack[0] + (CELL-TAG_VECTOR) + ((int32_t)v0099/(16/CELL)));
2671     v0099 = qcdr(v0099);
2672     if (v0099 == nil) goto v0124;
2673     stack[0] = stack[-5];
2674     v0099 = stack[-1];
2675     v0099 = sub1(v0099);
2676     nil = C_nil;
2677     if (exception_pending()) goto v0102;
2678     env = stack[-13];
2679     v0099 = *(Lisp_Object *)((char *)stack[0] + (CELL-TAG_VECTOR) + ((int32_t)v0099/(16/CELL)));
2680     v0100 = qcdr(v0099);
2681     v0099 = stack[-8];
2682     v0099 = cons(v0100, v0099);
2683     nil = C_nil;
2684     if (exception_pending()) goto v0102;
2685     env = stack[-13];
2686     stack[-8] = v0099;
2687     goto v0124;
2688 
2689 v0124:
2690     v0099 = stack[-2];
2691     v0099 = qcdr(v0099);
2692     stack[-2] = v0099;
2693     goto v0122;
2694 
2695 v0123:
2696     v0099 = stack[-8];
2697     v0100 = Llength(nil, v0099);
2698     nil = C_nil;
2699     if (exception_pending()) goto v0102;
2700     env = stack[-13];
2701     v0099 = (Lisp_Object)17; /* 1 */
2702     if (v0100 == v0099) goto v0125;
2703     v0099 = stack[-8];
2704     if (v0099 == nil) goto v0126;
2705     v0100 = elt(env, 2); /* !* */
2706     v0099 = stack[-8];
2707     v0099 = cons(v0100, v0099);
2708     nil = C_nil;
2709     if (exception_pending()) goto v0102;
2710     stack[-8] = v0099;
2711     goto v0126;
2712 
2713 v0126:
2714     v0100 = stack[-6];
2715     v0099 = stack[-8];
2716     popv(14);
2717     return cons(v0100, v0099);
2718 
2719 v0125:
2720     v0099 = stack[-8];
2721     v0099 = qcar(v0099);
2722     stack[-8] = v0099;
2723     goto v0126;
2724 
2725 v0106:
2726     v0099 = qvalue(elt(env, 1)); /* nil */
2727     goto v0109;
2728 
2729 v0101:
2730     v0099 = stack[-10];
2731     stack[-5] = v0099;
2732     v0099 = stack[-11];
2733     v0099 = qcdr(v0099);
2734     stack[-12] = v0099;
2735     v0099 = stack[-11];
2736     v0099 = qcdr(v0099);
2737     stack[-4] = v0099;
2738     v0099 = stack[-4];
2739     if (v0099 == nil) goto v0127;
2740     v0099 = stack[-4];
2741     v0099 = qcar(v0099);
2742     stack[0] = stack[-5];
2743     v0099 = sub1(v0099);
2744     nil = C_nil;
2745     if (exception_pending()) goto v0102;
2746     env = stack[-13];
2747     v0099 = *(Lisp_Object *)((char *)stack[0] + (CELL-TAG_VECTOR) + ((int32_t)v0099/(16/CELL)));
2748     v0099 = qcar(v0099);
2749     v0099 = ncons(v0099);
2750     nil = C_nil;
2751     if (exception_pending()) goto v0102;
2752     env = stack[-13];
2753     stack[-2] = v0099;
2754     stack[-3] = v0099;
2755     goto v0128;
2756 
2757 v0128:
2758     v0099 = stack[-4];
2759     v0099 = qcdr(v0099);
2760     stack[-4] = v0099;
2761     v0099 = stack[-4];
2762     if (v0099 == nil) goto v0129;
2763     stack[-1] = stack[-2];
2764     v0099 = stack[-4];
2765     v0099 = qcar(v0099);
2766     stack[0] = stack[-5];
2767     v0099 = sub1(v0099);
2768     nil = C_nil;
2769     if (exception_pending()) goto v0102;
2770     env = stack[-13];
2771     v0099 = *(Lisp_Object *)((char *)stack[0] + (CELL-TAG_VECTOR) + ((int32_t)v0099/(16/CELL)));
2772     v0099 = qcar(v0099);
2773     v0099 = ncons(v0099);
2774     nil = C_nil;
2775     if (exception_pending()) goto v0102;
2776     env = stack[-13];
2777     v0099 = Lrplacd(nil, stack[-1], v0099);
2778     nil = C_nil;
2779     if (exception_pending()) goto v0102;
2780     env = stack[-13];
2781     v0099 = stack[-2];
2782     v0099 = qcdr(v0099);
2783     stack[-2] = v0099;
2784     goto v0128;
2785 
2786 v0129:
2787     v0099 = stack[-3];
2788     goto v0130;
2789 
2790 v0130:
2791     stack[-6] = v0099;
2792     goto v0110;
2793 
2794 v0127:
2795     v0099 = qvalue(elt(env, 1)); /* nil */
2796     goto v0130;
2797 /* error exit handlers */
2798 v0102:
2799     popv(14);
2800     return nil;
2801 }
2802 
2803 
2804 
2805 /* Code for mkgi */
2806 
CC_mkgi(Lisp_Object env,Lisp_Object v0000,Lisp_Object v0001)2807 static Lisp_Object CC_mkgi(Lisp_Object env,
2808                          Lisp_Object v0000, Lisp_Object v0001)
2809 {
2810     Lisp_Object nil = C_nil;
2811     Lisp_Object v0134, v0135, v0136;
2812     CSL_IGNORE(nil);
2813 #ifdef DEBUG
2814     if (check_env(env)) return aerror("env for mkgi");
2815 #endif
2816     CSL_IGNORE(env);
2817 /* copy arguments values to proper place */
2818     v0134 = v0001;
2819     v0135 = v0000;
2820 /* end of prologue */
2821     v0136 = elt(env, 1); /* !:gi!: */
2822     return list2star(v0136, v0135, v0134);
2823 }
2824 
2825 
2826 
2827 /* Code for cl_atnum */
2828 
CC_cl_atnum(Lisp_Object env,Lisp_Object v0000)2829 static Lisp_Object CC_cl_atnum(Lisp_Object env,
2830                          Lisp_Object v0000)
2831 {
2832     Lisp_Object nil = C_nil;
2833     Lisp_Object v0170, v0171, v0172;
2834     Lisp_Object fn;
2835     CSL_IGNORE(nil);
2836 #ifdef DEBUG
2837     if (check_env(env)) return aerror("env for cl_atnum");
2838 #endif
2839     if (stack >= stacklimit)
2840     {
2841         push(v0000);
2842         env = reclaim(env, "stack", GC_STACK, 0);
2843         pop(v0000);
2844         nil = C_nil;
2845         if (exception_pending()) return nil;
2846     }
2847     push(env);
2848 /* space for vars preserved across procedure calls */
2849     push2(nil, nil);
2850 /* copy arguments values to proper place */
2851     stack[0] = v0000;
2852 /* end of prologue */
2853 
2854 v0173:
2855     v0170 = stack[0];
2856     if (!consp(v0170)) goto v0005;
2857     v0170 = stack[0];
2858     v0170 = qcar(v0170);
2859     goto v0019;
2860 
2861 v0019:
2862     v0172 = v0170;
2863     v0171 = v0172;
2864     v0170 = elt(env, 1); /* or */
2865     if (v0171 == v0170) goto v0130;
2866     v0171 = v0172;
2867     v0170 = elt(env, 3); /* and */
2868     v0170 = (v0171 == v0170 ? lisp_true : nil);
2869     goto v0087;
2870 
2871 v0087:
2872     if (v0170 == nil) goto v0174;
2873     v0170 = qvalue(elt(env, 2)); /* t */
2874     goto v0175;
2875 
2876 v0175:
2877     if (v0170 == nil) goto v0088;
2878     v0170 = qvalue(elt(env, 2)); /* t */
2879     goto v0176;
2880 
2881 v0176:
2882     if (v0170 == nil) goto v0177;
2883     v0170 = stack[0];
2884     v0170 = qcdr(v0170);
2885     stack[-1] = v0170;
2886     v0170 = (Lisp_Object)1; /* 0 */
2887     stack[0] = v0170;
2888     goto v0178;
2889 
2890 v0178:
2891     v0170 = stack[-1];
2892     if (v0170 == nil) { Lisp_Object res = stack[0]; popv(3); return onevalue(res); }
2893     v0170 = stack[-1];
2894     v0170 = qcar(v0170);
2895     v0171 = CC_cl_atnum(env, v0170);
2896     nil = C_nil;
2897     if (exception_pending()) goto v0179;
2898     env = stack[-2];
2899     v0170 = stack[0];
2900     v0170 = plus2(v0171, v0170);
2901     nil = C_nil;
2902     if (exception_pending()) goto v0179;
2903     env = stack[-2];
2904     stack[0] = v0170;
2905     v0170 = stack[-1];
2906     v0170 = qcdr(v0170);
2907     stack[-1] = v0170;
2908     goto v0178;
2909 
2910 v0177:
2911     v0171 = v0172;
2912     v0170 = elt(env, 8); /* ex */
2913     if (v0171 == v0170) goto v0180;
2914     v0171 = v0172;
2915     v0170 = elt(env, 9); /* all */
2916     v0170 = (v0171 == v0170 ? lisp_true : nil);
2917     goto v0181;
2918 
2919 v0181:
2920     if (v0170 == nil) goto v0182;
2921     v0170 = stack[0];
2922     v0170 = qcdr(v0170);
2923     v0170 = qcdr(v0170);
2924     v0170 = qcar(v0170);
2925     stack[0] = v0170;
2926     goto v0173;
2927 
2928 v0182:
2929     v0171 = v0172;
2930     v0170 = elt(env, 10); /* bex */
2931     if (v0171 == v0170) goto v0107;
2932     v0171 = v0172;
2933     v0170 = elt(env, 11); /* ball */
2934     v0170 = (v0171 == v0170 ? lisp_true : nil);
2935     goto v0105;
2936 
2937 v0105:
2938     if (v0170 == nil) goto v0183;
2939     v0170 = stack[0];
2940     v0170 = qcdr(v0170);
2941     v0170 = qcdr(v0170);
2942     v0170 = qcar(v0170);
2943     stack[-1] = CC_cl_atnum(env, v0170);
2944     nil = C_nil;
2945     if (exception_pending()) goto v0179;
2946     env = stack[-2];
2947     v0170 = stack[0];
2948     v0170 = qcdr(v0170);
2949     v0170 = qcdr(v0170);
2950     v0170 = qcdr(v0170);
2951     v0170 = qcar(v0170);
2952     v0170 = CC_cl_atnum(env, v0170);
2953     nil = C_nil;
2954     if (exception_pending()) goto v0179;
2955     {
2956         Lisp_Object v0184 = stack[-1];
2957         popv(3);
2958         return plus2(v0184, v0170);
2959     }
2960 
2961 v0183:
2962     v0171 = v0172;
2963     v0170 = elt(env, 12); /* true */
2964     if (v0171 == v0170) goto v0185;
2965     v0171 = v0172;
2966     v0170 = elt(env, 13); /* false */
2967     v0170 = (v0171 == v0170 ? lisp_true : nil);
2968     goto v0186;
2969 
2970 v0186:
2971     if (v0170 == nil) goto v0187;
2972     v0170 = (Lisp_Object)1; /* 0 */
2973     { popv(3); return onevalue(v0170); }
2974 
2975 v0187:
2976     v0171 = v0172;
2977     v0170 = elt(env, 0); /* cl_atnum */
2978     fn = elt(env, 14); /* rl_external */
2979     v0170 = (*qfn2(fn))(qenv(fn), v0171, v0170);
2980     nil = C_nil;
2981     if (exception_pending()) goto v0179;
2982     env = stack[-2];
2983     v0171 = v0170;
2984     if (v0170 == nil) goto v0188;
2985     stack[-1] = v0171;
2986     v0170 = stack[0];
2987     v0170 = ncons(v0170);
2988     nil = C_nil;
2989     if (exception_pending()) goto v0179;
2990     env = stack[-2];
2991     {
2992         Lisp_Object v0189 = stack[-1];
2993         popv(3);
2994         fn = elt(env, 15); /* apply */
2995         return (*qfn2(fn))(qenv(fn), v0189, v0170);
2996     }
2997 
2998 v0188:
2999     v0170 = (Lisp_Object)17; /* 1 */
3000     { popv(3); return onevalue(v0170); }
3001 
3002 v0185:
3003     v0170 = qvalue(elt(env, 2)); /* t */
3004     goto v0186;
3005 
3006 v0107:
3007     v0170 = qvalue(elt(env, 2)); /* t */
3008     goto v0105;
3009 
3010 v0180:
3011     v0170 = qvalue(elt(env, 2)); /* t */
3012     goto v0181;
3013 
3014 v0088:
3015     v0171 = v0172;
3016     v0170 = elt(env, 5); /* impl */
3017     if (v0171 == v0170) goto v0190;
3018     v0171 = v0172;
3019     v0170 = elt(env, 6); /* repl */
3020     if (v0171 == v0170) goto v0191;
3021     v0171 = v0172;
3022     v0170 = elt(env, 7); /* equiv */
3023     v0170 = (v0171 == v0170 ? lisp_true : nil);
3024     goto v0176;
3025 
3026 v0191:
3027     v0170 = qvalue(elt(env, 2)); /* t */
3028     goto v0176;
3029 
3030 v0190:
3031     v0170 = qvalue(elt(env, 2)); /* t */
3032     goto v0176;
3033 
3034 v0174:
3035     v0171 = v0172;
3036     v0170 = elt(env, 4); /* not */
3037     v0170 = (v0171 == v0170 ? lisp_true : nil);
3038     goto v0175;
3039 
3040 v0130:
3041     v0170 = qvalue(elt(env, 2)); /* t */
3042     goto v0087;
3043 
3044 v0005:
3045     v0170 = stack[0];
3046     goto v0019;
3047 /* error exit handlers */
3048 v0179:
3049     popv(3);
3050     return nil;
3051 }
3052 
3053 
3054 
3055 /* Code for letexprn */
3056 
CC_letexprn(Lisp_Object env,int nargs,Lisp_Object v0000,Lisp_Object v0001,Lisp_Object v0140,Lisp_Object v0012,Lisp_Object v0050,Lisp_Object v0020,...)3057 static Lisp_Object MS_CDECL CC_letexprn(Lisp_Object env, int nargs,
3058                          Lisp_Object v0000, Lisp_Object v0001,
3059                          Lisp_Object v0140, Lisp_Object v0012,
3060                          Lisp_Object v0050, Lisp_Object v0020, ...)
3061 {
3062     Lisp_Object nil = C_nil;
3063     Lisp_Object v0286, v0287, v0288, v0289, v0290;
3064     Lisp_Object fn;
3065     CSL_IGNORE(nil);
3066     argcheck(nargs, 6, "letexprn");
3067 #ifdef DEBUG
3068     if (check_env(env)) return aerror("env for letexprn");
3069 #endif
3070     if (stack >= stacklimit)
3071     {
3072         push6(v0020,v0050,v0012,v0140,v0001,v0000);
3073         env = reclaim(env, "stack", GC_STACK, 0);
3074         pop6(v0000,v0001,v0140,v0012,v0050,v0020);
3075         nil = C_nil;
3076         if (exception_pending()) return nil;
3077     }
3078     push(env);
3079 /* space for vars preserved across procedure calls */
3080     push5(nil, nil, nil, nil, nil);
3081     push3(nil, nil, nil);
3082 /* copy arguments values to proper place */
3083     stack[-1] = v0020;
3084     stack[-2] = v0050;
3085     stack[-3] = v0012;
3086     stack[-4] = v0140;
3087     stack[-5] = v0001;
3088     stack[-6] = v0000;
3089 /* end of prologue */
3090     v0286 = stack[-3];
3091     v0287 = qcdr(v0286);
3092     v0286 = (Lisp_Object)17; /* 1 */
3093     if (v0287 == v0286) goto v0134;
3094     v0286 = stack[-3];
3095     v0286 = qcar(v0286);
3096     fn = elt(env, 20); /* let!-prepf */
3097     stack[-1] = (*qfn1(fn))(qenv(fn), v0286);
3098     nil = C_nil;
3099     if (exception_pending()) goto v0291;
3100     env = stack[-8];
3101     stack[0] = elt(env, 1); /* times */
3102     v0286 = stack[-3];
3103     v0286 = qcdr(v0286);
3104     fn = elt(env, 20); /* let!-prepf */
3105     v0287 = (*qfn1(fn))(qenv(fn), v0286);
3106     nil = C_nil;
3107     if (exception_pending()) goto v0291;
3108     env = stack[-8];
3109     v0286 = stack[-5];
3110     v0288 = list3(stack[0], v0287, v0286);
3111     nil = C_nil;
3112     if (exception_pending()) goto v0291;
3113     env = stack[-8];
3114     v0287 = stack[-4];
3115     v0286 = stack[-2];
3116     {
3117         Lisp_Object v0292 = stack[-1];
3118         popv(9);
3119         fn = elt(env, 21); /* let2 */
3120         return (*qfnn(fn))(qenv(fn), 4, v0292, v0288, v0287, v0286);
3121     }
3122 
3123 v0134:
3124     v0286 = stack[-3];
3125     v0286 = qcar(v0286);
3126     stack[-3] = v0286;
3127     v0286 = qcdr(v0286);
3128     if (v0286 == nil) goto v0293;
3129     v0286 = stack[-3];
3130     v0286 = qcar(v0286);
3131     v0286 = ncons(v0286);
3132     nil = C_nil;
3133     if (exception_pending()) goto v0291;
3134     env = stack[-8];
3135     fn = elt(env, 20); /* let!-prepf */
3136     stack[-1] = (*qfn1(fn))(qenv(fn), v0286);
3137     nil = C_nil;
3138     if (exception_pending()) goto v0291;
3139     env = stack[-8];
3140     stack[0] = elt(env, 2); /* difference */
3141     v0286 = stack[-3];
3142     v0286 = qcdr(v0286);
3143     fn = elt(env, 20); /* let!-prepf */
3144     v0286 = (*qfn1(fn))(qenv(fn), v0286);
3145     nil = C_nil;
3146     if (exception_pending()) goto v0291;
3147     env = stack[-8];
3148     v0288 = list3(stack[0], stack[-5], v0286);
3149     nil = C_nil;
3150     if (exception_pending()) goto v0291;
3151     env = stack[-8];
3152     v0287 = stack[-4];
3153     v0286 = stack[-2];
3154     {
3155         Lisp_Object v0294 = stack[-1];
3156         popv(9);
3157         fn = elt(env, 21); /* let2 */
3158         return (*qfnn(fn))(qenv(fn), 4, v0294, v0288, v0287, v0286);
3159     }
3160 
3161 v0293:
3162     v0286 = stack[-3];
3163     fn = elt(env, 22); /* kernlp */
3164     v0286 = (*qfn1(fn))(qenv(fn), v0286);
3165     nil = C_nil;
3166     if (exception_pending()) goto v0291;
3167     env = stack[-8];
3168     stack[0] = v0286;
3169     if (v0286 == nil) goto v0295;
3170     v0287 = stack[0];
3171     v0286 = (Lisp_Object)17; /* 1 */
3172     if (v0287 == v0286) goto v0131;
3173     v0287 = stack[-3];
3174     v0286 = stack[0];
3175     fn = elt(env, 23); /* quotf!* */
3176     v0286 = (*qfn2(fn))(qenv(fn), v0287, v0286);
3177     nil = C_nil;
3178     if (exception_pending()) goto v0291;
3179     env = stack[-8];
3180     fn = elt(env, 20); /* let!-prepf */
3181     stack[-3] = (*qfn1(fn))(qenv(fn), v0286);
3182     nil = C_nil;
3183     if (exception_pending()) goto v0291;
3184     env = stack[-8];
3185     stack[-1] = elt(env, 3); /* quotient */
3186     v0286 = stack[0];
3187     fn = elt(env, 20); /* let!-prepf */
3188     v0286 = (*qfn1(fn))(qenv(fn), v0286);
3189     nil = C_nil;
3190     if (exception_pending()) goto v0291;
3191     env = stack[-8];
3192     v0288 = list3(stack[-1], stack[-5], v0286);
3193     nil = C_nil;
3194     if (exception_pending()) goto v0291;
3195     env = stack[-8];
3196     v0287 = stack[-4];
3197     v0286 = stack[-2];
3198     {
3199         Lisp_Object v0296 = stack[-3];
3200         popv(9);
3201         fn = elt(env, 21); /* let2 */
3202         return (*qfnn(fn))(qenv(fn), 4, v0296, v0288, v0287, v0286);
3203     }
3204 
3205 v0131:
3206     v0286 = stack[-3];
3207     fn = elt(env, 24); /* klistt */
3208     v0286 = (*qfn1(fn))(qenv(fn), v0286);
3209     nil = C_nil;
3210     if (exception_pending()) goto v0291;
3211     env = stack[-8];
3212     stack[-3] = v0286;
3213     stack[-7] = stack[-4];
3214     v0286 = qvalue(elt(env, 4)); /* mcond!* */
3215     if (v0286 == nil) goto v0297;
3216     v0286 = qvalue(elt(env, 4)); /* mcond!* */
3217     stack[0] = v0286;
3218     goto v0147;
3219 
3220 v0147:
3221     v0287 = stack[-5];
3222     v0286 = qvalue(elt(env, 6)); /* nil */
3223     v0286 = list2(v0287, v0286);
3224     nil = C_nil;
3225     if (exception_pending()) goto v0291;
3226     env = stack[-8];
3227     v0286 = acons(stack[-7], stack[0], v0286);
3228     nil = C_nil;
3229     if (exception_pending()) goto v0291;
3230     env = stack[-8];
3231     stack[0] = v0286;
3232     v0286 = stack[-3];
3233     v0286 = qcdr(v0286);
3234     if (v0286 == nil) goto v0298;
3235     v0287 = qvalue(elt(env, 7)); /* !*sqvar!* */
3236     v0286 = qvalue(elt(env, 6)); /* nil */
3237     v0286 = Lrplaca(nil, v0287, v0286);
3238     nil = C_nil;
3239     if (exception_pending()) goto v0291;
3240     env = stack[-8];
3241     v0286 = qvalue(elt(env, 5)); /* t */
3242     v0286 = ncons(v0286);
3243     nil = C_nil;
3244     if (exception_pending()) goto v0291;
3245     env = stack[-8];
3246     qvalue(elt(env, 7)) = v0286; /* !*sqvar!* */
3247     v0286 = qvalue(elt(env, 6)); /* nil */
3248     v0286 = ncons(v0286);
3249     nil = C_nil;
3250     if (exception_pending()) goto v0291;
3251     env = stack[-8];
3252     qvalue(elt(env, 8)) = v0286; /* alglist!* */
3253     v0287 = stack[-3];
3254     v0286 = stack[0];
3255     v0288 = cons(v0287, v0286);
3256     nil = C_nil;
3257     if (exception_pending()) goto v0291;
3258     env = stack[-8];
3259     v0287 = qvalue(elt(env, 9)); /* !*match */
3260     v0286 = stack[-2];
3261     fn = elt(env, 25); /* xadd!* */
3262     v0286 = (*qfnn(fn))(qenv(fn), 3, v0288, v0287, v0286);
3263     nil = C_nil;
3264     if (exception_pending()) goto v0291;
3265     env = stack[-8];
3266     qvalue(elt(env, 9)) = v0286; /* !*match */
3267     { popv(9); return onevalue(v0286); }
3268 
3269 v0298:
3270     v0286 = stack[-4];
3271     if (v0286 == nil) goto v0187;
3272     v0286 = qvalue(elt(env, 6)); /* nil */
3273     goto v0188;
3274 
3275 v0188:
3276     if (v0286 == nil) goto v0299;
3277     v0286 = stack[-3];
3278     v0286 = qcar(v0286);
3279     v0286 = qcar(v0286);
3280     stack[-3] = v0286;
3281     v0286 = stack[-1];
3282     if (v0286 == nil) goto v0179;
3283     v0286 = qvalue(elt(env, 6)); /* nil */
3284     goto v0300;
3285 
3286 v0300:
3287     if (v0286 == nil) goto v0172;
3288     v0286 = stack[-3];
3289     if (!consp(v0286)) goto v0301;
3290     stack[0] = elt(env, 10); /* used!* */
3291     v0286 = stack[-3];
3292     fn = elt(env, 26); /* fkern */
3293     v0286 = (*qfn1(fn))(qenv(fn), v0286);
3294     nil = C_nil;
3295     if (exception_pending()) goto v0291;
3296     env = stack[-8];
3297     v0286 = qcdr(v0286);
3298     v0286 = qcdr(v0286);
3299     v0286 = Lmemq(nil, stack[0], v0286);
3300     if (!(v0286 == nil)) goto v0302;
3301     v0286 = stack[-3];
3302     v0287 = qcar(v0286);
3303     v0286 = elt(env, 11); /* df */
3304     if (!(v0287 == v0286)) goto v0041;
3305 
3306 v0302:
3307     v0287 = qvalue(elt(env, 7)); /* !*sqvar!* */
3308     v0286 = qvalue(elt(env, 6)); /* nil */
3309     v0286 = Lrplaca(nil, v0287, v0286);
3310     nil = C_nil;
3311     if (exception_pending()) goto v0291;
3312     env = stack[-8];
3313     v0286 = qvalue(elt(env, 5)); /* t */
3314     v0286 = ncons(v0286);
3315     nil = C_nil;
3316     if (exception_pending()) goto v0291;
3317     env = stack[-8];
3318     qvalue(elt(env, 7)) = v0286; /* !*sqvar!* */
3319     v0286 = qvalue(elt(env, 6)); /* nil */
3320     v0286 = ncons(v0286);
3321     nil = C_nil;
3322     if (exception_pending()) goto v0291;
3323     env = stack[-8];
3324     qvalue(elt(env, 8)) = v0286; /* alglist!* */
3325     goto v0041;
3326 
3327 v0041:
3328     v0288 = stack[-3];
3329     v0287 = stack[-5];
3330     v0286 = stack[-2];
3331     fn = elt(env, 27); /* setk1 */
3332     v0286 = (*qfnn(fn))(qenv(fn), 3, v0288, v0287, v0286);
3333     nil = C_nil;
3334     if (exception_pending()) goto v0291;
3335     goto v0303;
3336 
3337 v0303:
3338     v0286 = nil;
3339     { popv(9); return onevalue(v0286); }
3340 
3341 v0301:
3342     v0287 = stack[-3];
3343     v0286 = elt(env, 10); /* used!* */
3344     v0286 = Lflagp(nil, v0287, v0286);
3345     env = stack[-8];
3346     if (v0286 == nil) goto v0041;
3347     v0287 = qvalue(elt(env, 7)); /* !*sqvar!* */
3348     v0286 = qvalue(elt(env, 6)); /* nil */
3349     v0286 = Lrplaca(nil, v0287, v0286);
3350     nil = C_nil;
3351     if (exception_pending()) goto v0291;
3352     env = stack[-8];
3353     v0286 = qvalue(elt(env, 5)); /* t */
3354     v0286 = ncons(v0286);
3355     nil = C_nil;
3356     if (exception_pending()) goto v0291;
3357     env = stack[-8];
3358     qvalue(elt(env, 7)) = v0286; /* !*sqvar!* */
3359     v0286 = qvalue(elt(env, 6)); /* nil */
3360     v0286 = ncons(v0286);
3361     nil = C_nil;
3362     if (exception_pending()) goto v0291;
3363     env = stack[-8];
3364     qvalue(elt(env, 8)) = v0286; /* alglist!* */
3365     goto v0041;
3366 
3367 v0172:
3368     v0286 = stack[-3];
3369     if (!consp(v0286)) goto v0304;
3370     v0287 = qvalue(elt(env, 7)); /* !*sqvar!* */
3371     v0286 = qvalue(elt(env, 6)); /* nil */
3372     v0286 = Lrplaca(nil, v0287, v0286);
3373     nil = C_nil;
3374     if (exception_pending()) goto v0291;
3375     env = stack[-8];
3376     v0286 = qvalue(elt(env, 5)); /* t */
3377     v0286 = ncons(v0286);
3378     nil = C_nil;
3379     if (exception_pending()) goto v0291;
3380     env = stack[-8];
3381     qvalue(elt(env, 7)) = v0286; /* !*sqvar!* */
3382     v0286 = qvalue(elt(env, 6)); /* nil */
3383     v0286 = ncons(v0286);
3384     nil = C_nil;
3385     if (exception_pending()) goto v0291;
3386     env = stack[-8];
3387     qvalue(elt(env, 8)) = v0286; /* alglist!* */
3388     v0286 = stack[-3];
3389     stack[-4] = qcar(v0286);
3390     stack[-1] = elt(env, 14); /* opmtch */
3391     v0286 = stack[-3];
3392     v0287 = qcdr(v0286);
3393     v0286 = stack[0];
3394     v0287 = cons(v0287, v0286);
3395     nil = C_nil;
3396     if (exception_pending()) goto v0291;
3397     env = stack[-8];
3398     v0286 = stack[-3];
3399     v0288 = qcar(v0286);
3400     v0286 = elt(env, 14); /* opmtch */
3401     v0288 = get(v0288, v0286);
3402     env = stack[-8];
3403     v0286 = stack[-2];
3404     fn = elt(env, 25); /* xadd!* */
3405     v0286 = (*qfnn(fn))(qenv(fn), 3, v0287, v0288, v0286);
3406     nil = C_nil;
3407     if (exception_pending()) goto v0291;
3408     env = stack[-8];
3409     v0286 = Lputprop(nil, 3, stack[-4], stack[-1], v0286);
3410     nil = C_nil;
3411     if (exception_pending()) goto v0291;
3412     goto v0303;
3413 
3414 v0304:
3415     v0290 = elt(env, 12); /* "Substitution for" */
3416     v0289 = stack[-6];
3417     v0288 = elt(env, 13); /* "not allowed" */
3418     v0287 = qvalue(elt(env, 6)); /* nil */
3419     v0286 = qvalue(elt(env, 5)); /* t */
3420     {
3421         popv(9);
3422         fn = elt(env, 28); /* msgpri */
3423         return (*qfnn(fn))(qenv(fn), 5, v0290, v0289, v0288, v0287, v0286);
3424     }
3425 
3426 v0179:
3427     v0286 = qvalue(elt(env, 4)); /* mcond!* */
3428     if (v0286 == nil) goto v0305;
3429     v0287 = qvalue(elt(env, 4)); /* mcond!* */
3430     v0286 = lisp_true;
3431     if (v0287 == v0286) goto v0306;
3432     v0287 = stack[-3];
3433     v0286 = qvalue(elt(env, 4)); /* mcond!* */
3434     fn = elt(env, 29); /* smember */
3435     v0286 = (*qfn2(fn))(qenv(fn), v0287, v0286);
3436     nil = C_nil;
3437     if (exception_pending()) goto v0291;
3438     env = stack[-8];
3439     v0286 = (v0286 == nil ? lisp_true : nil);
3440     goto v0300;
3441 
3442 v0306:
3443     v0286 = qvalue(elt(env, 5)); /* t */
3444     goto v0300;
3445 
3446 v0305:
3447     v0286 = qvalue(elt(env, 5)); /* t */
3448     goto v0300;
3449 
3450 v0299:
3451     v0287 = qvalue(elt(env, 7)); /* !*sqvar!* */
3452     v0286 = qvalue(elt(env, 6)); /* nil */
3453     v0286 = Lrplaca(nil, v0287, v0286);
3454     nil = C_nil;
3455     if (exception_pending()) goto v0291;
3456     env = stack[-8];
3457     v0286 = qvalue(elt(env, 5)); /* t */
3458     v0286 = ncons(v0286);
3459     nil = C_nil;
3460     if (exception_pending()) goto v0291;
3461     env = stack[-8];
3462     qvalue(elt(env, 7)) = v0286; /* !*sqvar!* */
3463     v0286 = qvalue(elt(env, 6)); /* nil */
3464     v0286 = ncons(v0286);
3465     nil = C_nil;
3466     if (exception_pending()) goto v0291;
3467     env = stack[-8];
3468     qvalue(elt(env, 8)) = v0286; /* alglist!* */
3469     v0287 = stack[-5];
3470     v0286 = (Lisp_Object)1; /* 0 */
3471     if (v0287 == v0286) goto v0307;
3472     v0286 = qvalue(elt(env, 6)); /* nil */
3473     goto v0308;
3474 
3475 v0308:
3476     if (v0286 == nil) goto v0309;
3477     v0286 = stack[-3];
3478     v0288 = qcar(v0286);
3479     v0287 = qvalue(elt(env, 15)); /* asymplis!* */
3480     v0286 = stack[-2];
3481     fn = elt(env, 30); /* xadd */
3482     v0286 = (*qfnn(fn))(qenv(fn), 3, v0288, v0287, v0286);
3483     nil = C_nil;
3484     if (exception_pending()) goto v0291;
3485     env = stack[-8];
3486     qvalue(elt(env, 15)) = v0286; /* asymplis!* */
3487     v0286 = stack[-3];
3488     v0286 = qcar(v0286);
3489     v0288 = qcar(v0286);
3490     v0286 = stack[-3];
3491     v0286 = qcar(v0286);
3492     v0287 = qcdr(v0286);
3493     v0286 = stack[0];
3494     v0288 = list2star(v0288, v0287, v0286);
3495     nil = C_nil;
3496     if (exception_pending()) goto v0291;
3497     env = stack[-8];
3498     v0287 = qvalue(elt(env, 16)); /* powlis!* */
3499     v0286 = elt(env, 17); /* replace */
3500     fn = elt(env, 30); /* xadd */
3501     v0286 = (*qfnn(fn))(qenv(fn), 3, v0288, v0287, v0286);
3502     nil = C_nil;
3503     if (exception_pending()) goto v0291;
3504     env = stack[-8];
3505     qvalue(elt(env, 16)) = v0286; /* powlis!* */
3506     goto v0303;
3507 
3508 v0309:
3509     v0286 = stack[-4];
3510     if (!(v0286 == nil)) goto v0310;
3511     v0286 = stack[0];
3512     v0286 = qcar(v0286);
3513     v0287 = qcdr(v0286);
3514     v0286 = qvalue(elt(env, 5)); /* t */
3515     if (v0287 == v0286) goto v0311;
3516     v0286 = qvalue(elt(env, 5)); /* t */
3517     goto v0312;
3518 
3519 v0312:
3520     if (!(v0286 == nil)) goto v0310;
3521     v0286 = stack[-2];
3522     if (v0286 == nil) goto v0313;
3523     v0286 = qvalue(elt(env, 6)); /* nil */
3524     goto v0314;
3525 
3526 v0314:
3527     if (v0286 == nil) goto v0315;
3528     v0286 = stack[-3];
3529     v0286 = qcar(v0286);
3530     v0287 = qcar(v0286);
3531     v0286 = qvalue(elt(env, 15)); /* asymplis!* */
3532     fn = elt(env, 31); /* delasc */
3533     v0286 = (*qfn2(fn))(qenv(fn), v0287, v0286);
3534     nil = C_nil;
3535     if (exception_pending()) goto v0291;
3536     env = stack[-8];
3537     qvalue(elt(env, 15)) = v0286; /* asymplis!* */
3538     goto v0303;
3539 
3540 v0315:
3541     v0286 = stack[-3];
3542     v0286 = qcar(v0286);
3543     v0288 = qcar(v0286);
3544     v0286 = stack[-3];
3545     v0286 = qcar(v0286);
3546     v0287 = qcdr(v0286);
3547     v0286 = stack[0];
3548     v0288 = list2star(v0288, v0287, v0286);
3549     nil = C_nil;
3550     if (exception_pending()) goto v0291;
3551     env = stack[-8];
3552     v0287 = qvalue(elt(env, 16)); /* powlis!* */
3553     v0286 = stack[-2];
3554     fn = elt(env, 30); /* xadd */
3555     v0286 = (*qfnn(fn))(qenv(fn), 3, v0288, v0287, v0286);
3556     nil = C_nil;
3557     if (exception_pending()) goto v0291;
3558     env = stack[-8];
3559     qvalue(elt(env, 16)) = v0286; /* powlis!* */
3560     v0286 = stack[-2];
3561     if (v0286 == nil) goto v0303;
3562     v0286 = stack[-3];
3563     v0286 = qcar(v0286);
3564     v0287 = qcar(v0286);
3565     v0286 = qvalue(elt(env, 15)); /* asymplis!* */
3566     fn = elt(env, 31); /* delasc */
3567     v0286 = (*qfn2(fn))(qenv(fn), v0287, v0286);
3568     nil = C_nil;
3569     if (exception_pending()) goto v0291;
3570     env = stack[-8];
3571     qvalue(elt(env, 15)) = v0286; /* asymplis!* */
3572     goto v0303;
3573 
3574 v0313:
3575     v0286 = stack[-3];
3576     v0286 = qcar(v0286);
3577     v0287 = qcar(v0286);
3578     v0286 = qvalue(elt(env, 15)); /* asymplis!* */
3579     v0286 = Lassoc(nil, v0287, v0286);
3580     v0287 = v0286;
3581     if (v0286 == nil) goto v0316;
3582     v0286 = stack[-3];
3583     v0286 = qcar(v0286);
3584     v0286 = (equal(v0287, v0286) ? lisp_true : nil);
3585     goto v0314;
3586 
3587 v0316:
3588     v0286 = qvalue(elt(env, 6)); /* nil */
3589     goto v0314;
3590 
3591 v0310:
3592     v0286 = stack[-3];
3593     v0287 = qcar(v0286);
3594     v0286 = stack[0];
3595     v0288 = cons(v0287, v0286);
3596     nil = C_nil;
3597     if (exception_pending()) goto v0291;
3598     env = stack[-8];
3599     v0287 = qvalue(elt(env, 19)); /* powlis1!* */
3600     v0286 = stack[-2];
3601     fn = elt(env, 30); /* xadd */
3602     v0286 = (*qfnn(fn))(qenv(fn), 3, v0288, v0287, v0286);
3603     nil = C_nil;
3604     if (exception_pending()) goto v0291;
3605     env = stack[-8];
3606     qvalue(elt(env, 19)) = v0286; /* powlis1!* */
3607     goto v0303;
3608 
3609 v0311:
3610     v0286 = qvalue(elt(env, 18)); /* frasc!* */
3611     goto v0312;
3612 
3613 v0307:
3614     v0286 = stack[-4];
3615     if (v0286 == nil) goto v0317;
3616     v0286 = qvalue(elt(env, 6)); /* nil */
3617     goto v0308;
3618 
3619 v0317:
3620     v0286 = stack[-1];
3621     v0286 = (v0286 == nil ? lisp_true : nil);
3622     goto v0308;
3623 
3624 v0187:
3625     v0286 = stack[-3];
3626     v0286 = qcar(v0286);
3627     v0287 = qcdr(v0286);
3628     v0286 = (Lisp_Object)17; /* 1 */
3629     v0286 = (v0287 == v0286 ? lisp_true : nil);
3630     goto v0188;
3631 
3632 v0297:
3633     v0286 = qvalue(elt(env, 5)); /* t */
3634     stack[0] = v0286;
3635     goto v0147;
3636 
3637 v0295:
3638     v0286 = stack[-3];
3639     fn = elt(env, 32); /* term!-split */
3640     v0286 = (*qfn1(fn))(qenv(fn), v0286);
3641     nil = C_nil;
3642     if (exception_pending()) goto v0291;
3643     env = stack[-8];
3644     stack[0] = v0286;
3645     v0286 = stack[0];
3646     v0286 = qcar(v0286);
3647     fn = elt(env, 20); /* let!-prepf */
3648     stack[-3] = (*qfn1(fn))(qenv(fn), v0286);
3649     nil = C_nil;
3650     if (exception_pending()) goto v0291;
3651     env = stack[-8];
3652     stack[-1] = elt(env, 2); /* difference */
3653     v0286 = stack[0];
3654     v0286 = qcdr(v0286);
3655     fn = elt(env, 20); /* let!-prepf */
3656     v0286 = (*qfn1(fn))(qenv(fn), v0286);
3657     nil = C_nil;
3658     if (exception_pending()) goto v0291;
3659     env = stack[-8];
3660     v0288 = list3(stack[-1], stack[-5], v0286);
3661     nil = C_nil;
3662     if (exception_pending()) goto v0291;
3663     env = stack[-8];
3664     v0287 = stack[-4];
3665     v0286 = stack[-2];
3666     {
3667         Lisp_Object v0318 = stack[-3];
3668         popv(9);
3669         fn = elt(env, 21); /* let2 */
3670         return (*qfnn(fn))(qenv(fn), 4, v0318, v0288, v0287, v0286);
3671     }
3672 /* error exit handlers */
3673 v0291:
3674     popv(9);
3675     return nil;
3676 }
3677 
3678 
3679 
3680 /* Code for get!*elem!*in!*generators */
3681 
CC_getHelemHinHgenerators(Lisp_Object env,Lisp_Object v0000,Lisp_Object v0001)3682 static Lisp_Object CC_getHelemHinHgenerators(Lisp_Object env,
3683                          Lisp_Object v0000, Lisp_Object v0001)
3684 {
3685     Lisp_Object nil = C_nil;
3686     Lisp_Object v0319, v0104;
3687     Lisp_Object fn;
3688     CSL_IGNORE(nil);
3689 #ifdef DEBUG
3690     if (check_env(env)) return aerror("env for get*elem*in*generators");
3691 #endif
3692     if (stack >= stacklimit)
3693     {
3694         push2(v0001,v0000);
3695         env = reclaim(env, "stack", GC_STACK, 0);
3696         pop2(v0000,v0001);
3697         nil = C_nil;
3698         if (exception_pending()) return nil;
3699     }
3700     push(env);
3701 /* space for vars preserved across procedure calls */
3702     push4(nil, nil, nil, nil);
3703 /* copy arguments values to proper place */
3704     stack[-2] = v0001;
3705     v0319 = v0000;
3706 /* end of prologue */
3707     stack[0] = nil;
3708     v0104 = v0319;
3709     v0319 = elt(env, 1); /* elem_in_generators */
3710     v0319 = get(v0104, v0319);
3711     env = stack[-4];
3712     stack[-3] = v0319;
3713     v0104 = stack[-2];
3714     v0319 = elt(env, 2); /* id */
3715     if (v0104 == v0319) goto v0101;
3716     v0319 = qvalue(elt(env, 3)); /* nil */
3717     stack[-1] = v0319;
3718     goto v0320;
3719 
3720 v0320:
3721     v0319 = stack[-1];
3722     if (v0319 == nil) goto v0098;
3723     v0319 = qvalue(elt(env, 3)); /* nil */
3724     goto v0169;
3725 
3726 v0169:
3727     if (v0319 == nil) goto v0128;
3728     v0104 = stack[-2];
3729     v0319 = stack[-3];
3730     v0319 = qcar(v0319);
3731     v0319 = qcar(v0319);
3732     v0319 = qcar(v0319);
3733     if (!(equal(v0104, v0319))) goto v0321;
3734     v0319 = stack[-3];
3735     v0319 = qcar(v0319);
3736     v0319 = qcdr(v0319);
3737     v0319 = qcar(v0319);
3738     stack[0] = v0319;
3739     v0319 = qvalue(elt(env, 4)); /* t */
3740     stack[-1] = v0319;
3741     goto v0321;
3742 
3743 v0321:
3744     v0319 = stack[-3];
3745     v0319 = qcdr(v0319);
3746     stack[-3] = v0319;
3747     goto v0320;
3748 
3749 v0128:
3750     v0319 = stack[-1];
3751     if (!(v0319 == nil)) { Lisp_Object res = stack[0]; popv(5); return onevalue(res); }
3752     v0319 = qvalue(elt(env, 5)); /* !*protfg */
3753     if (!(v0319 == nil)) goto v0322;
3754     v0319 = elt(env, 6); /* "error in get!*elem!*in!*generators" */
3755     fn = elt(env, 7); /* lprie */
3756     v0319 = (*qfn1(fn))(qenv(fn), v0319);
3757     nil = C_nil;
3758     if (exception_pending()) goto v0323;
3759     env = stack[-4];
3760     goto v0322;
3761 
3762 v0322:
3763     v0319 = Lerror0(nil, 0);
3764     nil = C_nil;
3765     if (exception_pending()) goto v0323;
3766     v0319 = nil;
3767     { popv(5); return onevalue(v0319); }
3768 
3769 v0098:
3770     v0319 = stack[-3];
3771     v0104 = Llength(nil, v0319);
3772     nil = C_nil;
3773     if (exception_pending()) goto v0323;
3774     env = stack[-4];
3775     v0319 = (Lisp_Object)1; /* 0 */
3776     v0319 = (Lisp_Object)greaterp2(v0104, v0319);
3777     nil = C_nil;
3778     if (exception_pending()) goto v0323;
3779     v0319 = v0319 ? lisp_true : nil;
3780     env = stack[-4];
3781     goto v0169;
3782 
3783 v0101:
3784     v0319 = elt(env, 2); /* id */
3785     popv(5);
3786     return ncons(v0319);
3787 /* error exit handlers */
3788 v0323:
3789     popv(5);
3790     return nil;
3791 }
3792 
3793 
3794 
3795 /* Code for pasf_pnf1 */
3796 
CC_pasf_pnf1(Lisp_Object env,Lisp_Object v0000)3797 static Lisp_Object CC_pasf_pnf1(Lisp_Object env,
3798                          Lisp_Object v0000)
3799 {
3800     Lisp_Object nil = C_nil;
3801     Lisp_Object v0324;
3802     Lisp_Object fn;
3803     CSL_IGNORE(nil);
3804 #ifdef DEBUG
3805     if (check_env(env)) return aerror("env for pasf_pnf1");
3806 #endif
3807     if (stack >= stacklimit)
3808     {
3809         push(v0000);
3810         env = reclaim(env, "stack", GC_STACK, 0);
3811         pop(v0000);
3812         nil = C_nil;
3813         if (exception_pending()) return nil;
3814     }
3815     push(env);
3816 /* space for vars preserved across procedure calls */
3817     push2(nil, nil);
3818 /* copy arguments values to proper place */
3819     v0324 = v0000;
3820 /* end of prologue */
3821     fn = elt(env, 2); /* cl_rename!-vars */
3822     v0324 = (*qfn1(fn))(qenv(fn), v0324);
3823     nil = C_nil;
3824     if (exception_pending()) goto v0325;
3825     env = stack[-2];
3826     fn = elt(env, 3); /* pasf_pnf2 */
3827     v0324 = (*qfn1(fn))(qenv(fn), v0324);
3828     nil = C_nil;
3829     if (exception_pending()) goto v0325;
3830     env = stack[-2];
3831     stack[-1] = v0324;
3832     v0324 = stack[-1];
3833     v0324 = qcdr(v0324);
3834     if (v0324 == nil) goto v0131;
3835     v0324 = stack[-1];
3836     v0324 = qcar(v0324);
3837     fn = elt(env, 4); /* pasf_qb */
3838     stack[0] = (*qfn1(fn))(qenv(fn), v0324);
3839     nil = C_nil;
3840     if (exception_pending()) goto v0325;
3841     env = stack[-2];
3842     v0324 = stack[-1];
3843     v0324 = qcdr(v0324);
3844     v0324 = qcar(v0324);
3845     fn = elt(env, 4); /* pasf_qb */
3846     v0324 = (*qfn1(fn))(qenv(fn), v0324);
3847     nil = C_nil;
3848     if (exception_pending()) goto v0325;
3849     env = stack[-2];
3850     v0324 = (Lisp_Object)lessp2(stack[0], v0324);
3851     nil = C_nil;
3852     if (exception_pending()) goto v0325;
3853     v0324 = v0324 ? lisp_true : nil;
3854     goto v0132;
3855 
3856 v0132:
3857     if (v0324 == nil) goto v0326;
3858     v0324 = stack[-1];
3859     v0324 = qcar(v0324);
3860     { popv(3); return onevalue(v0324); }
3861 
3862 v0326:
3863     v0324 = stack[-1];
3864     v0324 = qcdr(v0324);
3865     v0324 = qcar(v0324);
3866     { popv(3); return onevalue(v0324); }
3867 
3868 v0131:
3869     v0324 = qvalue(elt(env, 1)); /* t */
3870     goto v0132;
3871 /* error exit handlers */
3872 v0325:
3873     popv(3);
3874     return nil;
3875 }
3876 
3877 
3878 
3879 /* Code for empty */
3880 
CC_empty(Lisp_Object env,Lisp_Object v0000,Lisp_Object v0001)3881 static Lisp_Object CC_empty(Lisp_Object env,
3882                          Lisp_Object v0000, Lisp_Object v0001)
3883 {
3884     Lisp_Object nil = C_nil;
3885     Lisp_Object v0327, v0293;
3886     CSL_IGNORE(nil);
3887 #ifdef DEBUG
3888     if (check_env(env)) return aerror("env for empty");
3889 #endif
3890     if (stack >= stacklimit)
3891     {
3892         push2(v0001,v0000);
3893         env = reclaim(env, "stack", GC_STACK, 0);
3894         pop2(v0000,v0001);
3895         nil = C_nil;
3896         if (exception_pending()) return nil;
3897     }
3898     push(env);
3899 /* space for vars preserved across procedure calls */
3900     push5(nil, nil, nil, nil, nil);
3901 /* copy arguments values to proper place */
3902     stack[-2] = v0001;
3903     stack[-3] = v0000;
3904 /* end of prologue */
3905     stack[-4] = nil;
3906     v0327 = (Lisp_Object)17; /* 1 */
3907     stack[-1] = v0327;
3908     goto v0075;
3909 
3910 v0075:
3911     v0327 = stack[-4];
3912     if (v0327 == nil) goto v0158;
3913     v0327 = qvalue(elt(env, 1)); /* nil */
3914     goto v0136;
3915 
3916 v0136:
3917     if (v0327 == nil) { Lisp_Object res = stack[-4]; popv(6); return onevalue(res); }
3918     v0293 = stack[-3];
3919     v0327 = stack[-1];
3920     v0327 = *(Lisp_Object *)((char *)v0293 + (CELL-TAG_VECTOR) + ((int32_t)v0327/(16/CELL)));
3921     if (v0327 == nil) goto v0328;
3922     v0327 = qvalue(elt(env, 2)); /* t */
3923     stack[-4] = v0327;
3924     goto v0328;
3925 
3926 v0328:
3927     v0327 = stack[-1];
3928     v0327 = add1(v0327);
3929     nil = C_nil;
3930     if (exception_pending()) goto v0129;
3931     env = stack[-5];
3932     stack[-1] = v0327;
3933     goto v0075;
3934 
3935 v0158:
3936     stack[0] = stack[-1];
3937     v0327 = stack[-2];
3938     v0327 = add1(v0327);
3939     nil = C_nil;
3940     if (exception_pending()) goto v0129;
3941     env = stack[-5];
3942     v0327 = (equal(stack[0], v0327) ? lisp_true : nil);
3943     v0327 = (v0327 == nil ? lisp_true : nil);
3944     goto v0136;
3945 /* error exit handlers */
3946 v0129:
3947     popv(6);
3948     return nil;
3949 }
3950 
3951 
3952 
3953 /* Code for remove_items */
3954 
CC_remove_items(Lisp_Object env,Lisp_Object v0000,Lisp_Object v0001)3955 static Lisp_Object CC_remove_items(Lisp_Object env,
3956                          Lisp_Object v0000, Lisp_Object v0001)
3957 {
3958     Lisp_Object nil = C_nil;
3959     Lisp_Object v0166, v0167;
3960     Lisp_Object fn;
3961     CSL_IGNORE(nil);
3962 #ifdef DEBUG
3963     if (check_env(env)) return aerror("env for remove_items");
3964 #endif
3965     if (stack >= stacklimit)
3966     {
3967         push2(v0001,v0000);
3968         env = reclaim(env, "stack", GC_STACK, 0);
3969         pop2(v0000,v0001);
3970         nil = C_nil;
3971         if (exception_pending()) return nil;
3972     }
3973     push(env);
3974 /* space for vars preserved across procedure calls */
3975     push2(nil, nil);
3976 /* copy arguments values to proper place */
3977     stack[0] = v0001;
3978     stack[-1] = v0000;
3979 /* end of prologue */
3980     v0166 = stack[-1];
3981     v0166 = qcdr(v0166);
3982     if (v0166 == nil) goto v0019;
3983     v0166 = stack[-1];
3984     v0166 = qcdr(v0166);
3985     v0167 = qcar(v0166);
3986     v0166 = stack[0];
3987     v0166 = CC_remove_items(env, v0167, v0166);
3988     nil = C_nil;
3989     if (exception_pending()) goto v0327;
3990     env = stack[-2];
3991     v0166 = stack[-1];
3992     v0166 = qcdr(v0166);
3993     v0167 = qcdr(v0166);
3994     v0166 = stack[0];
3995     v0166 = CC_remove_items(env, v0167, v0166);
3996     nil = C_nil;
3997     if (exception_pending()) goto v0327;
3998     env = stack[-2];
3999     v0167 = stack[0];
4000     v0166 = stack[-1];
4001     v0166 = qcar(v0166);
4002     fn = elt(env, 2); /* xnp */
4003     v0166 = (*qfn2(fn))(qenv(fn), v0167, v0166);
4004     nil = C_nil;
4005     if (exception_pending()) goto v0327;
4006     env = stack[-2];
4007     if (v0166 == nil) goto v0282;
4008     v0166 = stack[-1];
4009     fn = elt(env, 3); /* remove_root_item */
4010     v0166 = (*qfn1(fn))(qenv(fn), v0166);
4011     nil = C_nil;
4012     if (exception_pending()) goto v0327;
4013     goto v0282;
4014 
4015 v0282:
4016     v0166 = nil;
4017     { popv(3); return onevalue(v0166); }
4018 
4019 v0019:
4020     v0166 = qvalue(elt(env, 1)); /* nil */
4021     { popv(3); return onevalue(v0166); }
4022 /* error exit handlers */
4023 v0327:
4024     popv(3);
4025     return nil;
4026 }
4027 
4028 
4029 
4030 /* Code for forstat */
4031 
CC_forstat(Lisp_Object env,int nargs,...)4032 static Lisp_Object MS_CDECL CC_forstat(Lisp_Object env, int nargs, ...)
4033 {
4034     Lisp_Object nil = C_nil;
4035     Lisp_Object v0087, v0130;
4036     Lisp_Object fn;
4037     CSL_IGNORE(nil);
4038     argcheck(nargs, 0, "forstat");
4039 #ifdef DEBUG
4040     if (check_env(env)) return aerror("env for forstat");
4041 #endif
4042     if (stack >= stacklimit)
4043     {
4044         env = reclaim(env, "stack", GC_STACK, 0);
4045         nil = C_nil;
4046         if (exception_pending()) return nil;
4047     }
4048     push(env);
4049 /* space for vars preserved across procedure calls */
4050     push(nil);
4051 /* end of prologue */
4052     stack[0] = qvalue(elt(env, 1)); /* !*blockp */
4053     qvalue(elt(env, 1)) = nil; /* !*blockp */
4054     fn = elt(env, 5); /* scan */
4055     v0130 = (*qfnn(fn))(qenv(fn), 0);
4056     nil = C_nil;
4057     if (exception_pending()) goto v0320;
4058     env = stack[-1];
4059     v0087 = elt(env, 2); /* all */
4060     if (v0130 == v0087) goto v0004;
4061     v0130 = qvalue(elt(env, 3)); /* cursym!* */
4062     v0087 = elt(env, 4); /* each */
4063     if (v0130 == v0087) goto v0136;
4064     fn = elt(env, 6); /* forloop */
4065     v0087 = (*qfnn(fn))(qenv(fn), 0);
4066     nil = C_nil;
4067     if (exception_pending()) goto v0320;
4068     env = stack[-1];
4069     goto v0012;
4070 
4071 v0012:
4072     qvalue(elt(env, 1)) = stack[0]; /* !*blockp */
4073     { popv(2); return onevalue(v0087); }
4074 
4075 v0136:
4076     fn = elt(env, 7); /* foreachstat */
4077     v0087 = (*qfnn(fn))(qenv(fn), 0);
4078     nil = C_nil;
4079     if (exception_pending()) goto v0320;
4080     env = stack[-1];
4081     goto v0012;
4082 
4083 v0004:
4084     fn = elt(env, 8); /* forallstat */
4085     v0087 = (*qfnn(fn))(qenv(fn), 0);
4086     nil = C_nil;
4087     if (exception_pending()) goto v0320;
4088     env = stack[-1];
4089     goto v0012;
4090 /* error exit handlers */
4091 v0320:
4092     env = stack[-1];
4093     qvalue(elt(env, 1)) = stack[0]; /* !*blockp */
4094     popv(2);
4095     return nil;
4096 }
4097 
4098 
4099 
4100 /* Code for gfval */
4101 
CC_gfval(Lisp_Object env,Lisp_Object v0000,Lisp_Object v0001)4102 static Lisp_Object CC_gfval(Lisp_Object env,
4103                          Lisp_Object v0000, Lisp_Object v0001)
4104 {
4105     Lisp_Object nil = C_nil;
4106     Lisp_Object v0338, v0339, v0340;
4107     Lisp_Object fn;
4108     CSL_IGNORE(nil);
4109 #ifdef DEBUG
4110     if (check_env(env)) return aerror("env for gfval");
4111 #endif
4112     if (stack >= stacklimit)
4113     {
4114         push2(v0001,v0000);
4115         env = reclaim(env, "stack", GC_STACK, 0);
4116         pop2(v0000,v0001);
4117         nil = C_nil;
4118         if (exception_pending()) return nil;
4119     }
4120     push(env);
4121 /* space for vars preserved across procedure calls */
4122     push(nil);
4123 /* copy arguments values to proper place */
4124     v0340 = v0001;
4125     stack[0] = v0000;
4126 /* end of prologue */
4127     v0338 = stack[0];
4128     if (is_number(v0338)) goto v0279;
4129     v0339 = stack[0];
4130     v0338 = elt(env, 1); /* !:rd!: */
4131     if (!consp(v0339)) goto v0095;
4132     v0339 = qcar(v0339);
4133     if (!(v0339 == v0338)) goto v0095;
4134     v0338 = stack[0];
4135     v0338 = qcdr(v0338);
4136     v0338 = (consp(v0338) ? nil : lisp_true);
4137     v0338 = (v0338 == nil ? lisp_true : nil);
4138     goto v0131;
4139 
4140 v0131:
4141     if (!(v0338 == nil)) goto v0279;
4142     v0338 = stack[0];
4143     v0338 = qcar(v0338);
4144     v0338 = qcdr(v0338);
4145     if (is_number(v0338)) goto v0279;
4146     v0338 = stack[0];
4147     v0338 = qcar(v0338);
4148     v0339 = qcdr(v0338);
4149     v0338 = elt(env, 1); /* !:rd!: */
4150     if (!consp(v0339)) goto v0321;
4151     v0339 = qcar(v0339);
4152     if (!(v0339 == v0338)) goto v0321;
4153     v0338 = stack[0];
4154     v0338 = qcar(v0338);
4155     v0338 = qcdr(v0338);
4156     v0338 = qcdr(v0338);
4157     v0338 = (consp(v0338) ? nil : lisp_true);
4158     v0338 = (v0338 == nil ? lisp_true : nil);
4159     goto v0168;
4160 
4161 v0168:
4162     if (!(v0338 == nil)) goto v0279;
4163     v0338 = stack[0];
4164     v0339 = v0340;
4165     fn = elt(env, 6); /* gfcval */
4166     v0338 = (*qfn2(fn))(qenv(fn), v0338, v0339);
4167     nil = C_nil;
4168     if (exception_pending()) goto v0073;
4169     env = stack[-1];
4170     goto v0050;
4171 
4172 v0050:
4173     stack[0] = v0338;
4174     v0338 = stack[0];
4175     v0338 = qcar(v0338);
4176     if (!consp(v0338)) goto v0280;
4177     v0338 = qvalue(elt(env, 2)); /* nil */
4178     goto v0341;
4179 
4180 v0341:
4181     if (v0338 == nil) { Lisp_Object res = stack[0]; popv(2); return onevalue(res); }
4182     v0339 = (Lisp_Object)1; /* 0 */
4183     v0338 = elt(env, 5); /* "gfval -> infinity" */
4184     {
4185         popv(2);
4186         fn = elt(env, 7); /* error */
4187         return (*qfn2(fn))(qenv(fn), v0339, v0338);
4188     }
4189 
4190 v0280:
4191     v0338 = stack[0];
4192     v0338 = qcar(v0338);
4193     v0338 = Lexplode(nil, v0338);
4194     nil = C_nil;
4195     if (exception_pending()) goto v0073;
4196     env = stack[-1];
4197     v0338 = qcar(v0338);
4198     v0340 = v0338;
4199     v0339 = v0340;
4200     v0338 = elt(env, 3); /* !- */
4201     if (v0339 == v0338) goto v0104;
4202     v0338 = v0340;
4203     v0338 = Ldigitp(nil, v0338);
4204     env = stack[-1];
4205     goto v0319;
4206 
4207 v0319:
4208     v0338 = (v0338 == nil ? lisp_true : nil);
4209     if (!(v0338 == nil)) goto v0341;
4210     v0338 = stack[0];
4211     v0338 = qcdr(v0338);
4212     v0338 = Lexplode(nil, v0338);
4213     nil = C_nil;
4214     if (exception_pending()) goto v0073;
4215     env = stack[-1];
4216     v0338 = qcar(v0338);
4217     v0340 = v0338;
4218     v0339 = v0340;
4219     v0338 = elt(env, 3); /* !- */
4220     if (v0339 == v0338) goto v0081;
4221     v0338 = v0340;
4222     v0338 = Ldigitp(nil, v0338);
4223     env = stack[-1];
4224     goto v0080;
4225 
4226 v0080:
4227     v0338 = (v0338 == nil ? lisp_true : nil);
4228     goto v0341;
4229 
4230 v0081:
4231     v0338 = qvalue(elt(env, 4)); /* t */
4232     goto v0080;
4233 
4234 v0104:
4235     v0338 = qvalue(elt(env, 4)); /* t */
4236     goto v0319;
4237 
4238 v0279:
4239     v0338 = stack[0];
4240     v0339 = v0340;
4241     fn = elt(env, 8); /* gfrval */
4242     v0338 = (*qfn2(fn))(qenv(fn), v0338, v0339);
4243     nil = C_nil;
4244     if (exception_pending()) goto v0073;
4245     env = stack[-1];
4246     goto v0050;
4247 
4248 v0321:
4249     v0338 = qvalue(elt(env, 2)); /* nil */
4250     goto v0168;
4251 
4252 v0095:
4253     v0338 = qvalue(elt(env, 2)); /* nil */
4254     goto v0131;
4255 /* error exit handlers */
4256 v0073:
4257     popv(2);
4258     return nil;
4259 }
4260 
4261 
4262 
4263 /* Code for install!-patches */
4264 
CC_installKpatches(Lisp_Object env,Lisp_Object v0000)4265 static Lisp_Object CC_installKpatches(Lisp_Object env,
4266                          Lisp_Object v0000)
4267 {
4268     Lisp_Object nil = C_nil;
4269     Lisp_Object v0128, v0320, v0282;
4270     Lisp_Object fn;
4271     CSL_IGNORE(nil);
4272 #ifdef DEBUG
4273     if (check_env(env)) return aerror("env for install-patches");
4274 #endif
4275     if (stack >= stacklimit)
4276     {
4277         push(v0000);
4278         env = reclaim(env, "stack", GC_STACK, 0);
4279         pop(v0000);
4280         nil = C_nil;
4281         if (exception_pending()) return nil;
4282     }
4283     push(env);
4284 /* space for vars preserved across procedure calls */
4285     push2(nil, nil);
4286 /* copy arguments values to proper place */
4287     v0320 = v0000;
4288 /* end of prologue */
4289     v0282 = v0320;
4290     v0128 = elt(env, 1); /* patches */
4291     if (v0282 == v0128) goto v0050;
4292     v0128 = elt(env, 3); /* patchfn */
4293     v0128 = get(v0320, v0128);
4294     env = stack[-2];
4295     v0320 = v0128;
4296     if (v0128 == nil) goto v0135;
4297     stack[-1] = qvalue(elt(env, 4)); /* !*usermode */
4298     qvalue(elt(env, 4)) = nil; /* !*usermode */
4299     stack[0] = qvalue(elt(env, 5)); /* !*redefmsg */
4300     qvalue(elt(env, 5)) = nil; /* !*redefmsg */
4301     v0128 = v0320;
4302     v0128 = ncons(v0128);
4303     nil = C_nil;
4304     if (exception_pending()) goto v0127;
4305     env = stack[-2];
4306     fn = elt(env, 6); /* eval */
4307     v0128 = (*qfn1(fn))(qenv(fn), v0128);
4308     nil = C_nil;
4309     if (exception_pending()) goto v0127;
4310     env = stack[-2];
4311     v0128 = nil;
4312     qvalue(elt(env, 5)) = stack[0]; /* !*redefmsg */
4313     qvalue(elt(env, 4)) = stack[-1]; /* !*usermode */
4314     { popv(3); return onevalue(v0128); }
4315 
4316 v0135:
4317     v0128 = nil;
4318     { popv(3); return onevalue(v0128); }
4319 
4320 v0050:
4321     v0128 = qvalue(elt(env, 2)); /* nil */
4322     { popv(3); return onevalue(v0128); }
4323 /* error exit handlers */
4324 v0127:
4325     env = stack[-2];
4326     qvalue(elt(env, 5)) = stack[0]; /* !*redefmsg */
4327     qvalue(elt(env, 4)) = stack[-1]; /* !*usermode */
4328     popv(3);
4329     return nil;
4330 }
4331 
4332 
4333 
4334 /* Code for rd!:quotient */
4335 
CC_rdTquotient(Lisp_Object env,Lisp_Object v0000,Lisp_Object v0001)4336 static Lisp_Object CC_rdTquotient(Lisp_Object env,
4337                          Lisp_Object v0000, Lisp_Object v0001)
4338 {
4339     Lisp_Object nil = C_nil;
4340     Lisp_Object v0054, v0361, v0126;
4341     Lisp_Object fn;
4342     CSL_IGNORE(nil);
4343 #ifdef DEBUG
4344     if (check_env(env)) return aerror("env for rd:quotient");
4345 #endif
4346     if (stack >= stacklimit)
4347     {
4348         push2(v0001,v0000);
4349         env = reclaim(env, "stack", GC_STACK, 0);
4350         pop2(v0000,v0001);
4351         nil = C_nil;
4352         if (exception_pending()) return nil;
4353     }
4354     push(env);
4355 /* space for vars preserved across procedure calls */
4356     push4(nil, nil, nil, nil);
4357 /* copy arguments values to proper place */
4358     stack[0] = v0001;
4359     stack[-1] = v0000;
4360 /* end of prologue */
4361     v0054 = stack[0];
4362     fn = elt(env, 13); /* !:zerop */
4363     v0054 = (*qfn1(fn))(qenv(fn), v0054);
4364     nil = C_nil;
4365     if (exception_pending()) goto v0052;
4366     env = stack[-4];
4367     if (v0054 == nil) goto v0285;
4368     v0054 = elt(env, 1); /* "division by zero" */
4369     v0361 = v0054;
4370     v0054 = v0361;
4371     qvalue(elt(env, 2)) = v0054; /* errmsg!* */
4372     v0054 = qvalue(elt(env, 3)); /* !*protfg */
4373     if (!(v0054 == nil)) goto v0135;
4374     v0054 = v0361;
4375     fn = elt(env, 14); /* lprie */
4376     v0054 = (*qfn1(fn))(qenv(fn), v0054);
4377     nil = C_nil;
4378     if (exception_pending()) goto v0052;
4379     env = stack[-4];
4380     goto v0135;
4381 
4382 v0135:
4383     v0054 = Lerror0(nil, 0);
4384     nil = C_nil;
4385     if (exception_pending()) goto v0052;
4386     v0054 = nil;
4387     { popv(5); return onevalue(v0054); }
4388 
4389 v0285:
4390     v0054 = qvalue(elt(env, 4)); /* nil */
4391     v0361 = v0054;
4392     v0054 = qvalue(elt(env, 5)); /* !*!*roundbf */
4393     if (v0054 == nil) goto v0320;
4394     v0054 = qvalue(elt(env, 4)); /* nil */
4395     goto v0128;
4396 
4397 v0128:
4398     if (v0054 == nil) goto v0331;
4399     v0054 = elt(env, 6); /* !:rd!: */
4400     popv(5);
4401     return cons(v0054, v0361);
4402 
4403 v0331:
4404     v0361 = stack[-1];
4405     v0054 = stack[0];
4406     fn = elt(env, 15); /* convprc2 */
4407     v0054 = (*qfn2(fn))(qenv(fn), v0361, v0054);
4408     nil = C_nil;
4409     if (exception_pending()) goto v0052;
4410     env = stack[-4];
4411     stack[-3] = v0054;
4412     v0054 = qvalue(elt(env, 7)); /* yy!! */
4413     stack[-2] = v0054;
4414     v0054 = stack[-3];
4415     if (!consp(v0054)) goto v0086;
4416     v0054 = qvalue(elt(env, 4)); /* nil */
4417     goto v0333;
4418 
4419 v0333:
4420     if (v0054 == nil) goto v0362;
4421     v0361 = (Lisp_Object)1; /* 0 */
4422     v0054 = elt(env, 8); /* "zero divisor in quotient" */
4423     fn = elt(env, 16); /* error */
4424     v0054 = (*qfn2(fn))(qenv(fn), v0361, v0054);
4425     nil = C_nil;
4426     if (exception_pending()) goto v0052;
4427     env = stack[-4];
4428     goto v0362;
4429 
4430 v0362:
4431     v0054 = stack[-3];
4432     if (!consp(v0054)) goto v0067;
4433     v0054 = stack[-2];
4434     v0054 = qcdr(v0054);
4435     v0361 = qcar(v0054);
4436     v0054 = (Lisp_Object)1; /* 0 */
4437     if (v0361 == v0054) goto v0363;
4438     v0126 = stack[-3];
4439     v0361 = stack[-2];
4440     v0054 = qvalue(elt(env, 9)); /* !:bprec!: */
4441     fn = elt(env, 17); /* divide!: */
4442     v0054 = (*qfnn(fn))(qenv(fn), 3, v0126, v0361, v0054);
4443     nil = C_nil;
4444     if (exception_pending()) goto v0052;
4445     env = stack[-4];
4446     fn = elt(env, 18); /* csl_normbf */
4447     v0054 = (*qfn1(fn))(qenv(fn), v0054);
4448     nil = C_nil;
4449     if (exception_pending()) goto v0052;
4450     env = stack[-4];
4451     goto v0278;
4452 
4453 v0278:
4454     v0361 = v0054;
4455     v0054 = v0361;
4456     if (!(!consp(v0054))) { popv(5); return onevalue(v0361); }
4457     v0054 = elt(env, 6); /* !:rd!: */
4458     popv(5);
4459     return cons(v0054, v0361);
4460 
4461 v0363:
4462     v0361 = (Lisp_Object)1; /* 0 */
4463     v0054 = elt(env, 8); /* "zero divisor in quotient" */
4464     fn = elt(env, 16); /* error */
4465     v0054 = (*qfn2(fn))(qenv(fn), v0361, v0054);
4466     nil = C_nil;
4467     if (exception_pending()) goto v0052;
4468     env = stack[-4];
4469     goto v0278;
4470 
4471 v0067:
4472     stack[-1] = elt(env, 10); /* quotient */
4473     v0054 = stack[-3];
4474     stack[0] = Lmkquote(nil, v0054);
4475     nil = C_nil;
4476     if (exception_pending()) goto v0052;
4477     env = stack[-4];
4478     v0054 = stack[-2];
4479     v0054 = Lmkquote(nil, v0054);
4480     nil = C_nil;
4481     if (exception_pending()) goto v0052;
4482     env = stack[-4];
4483     v0126 = list3(stack[-1], stack[0], v0054);
4484     nil = C_nil;
4485     if (exception_pending()) goto v0052;
4486     env = stack[-4];
4487     v0361 = qvalue(elt(env, 4)); /* nil */
4488     v0054 = qvalue(elt(env, 11)); /* !*backtrace */
4489     fn = elt(env, 19); /* errorset */
4490     v0054 = (*qfnn(fn))(qenv(fn), 3, v0126, v0361, v0054);
4491     nil = C_nil;
4492     if (exception_pending()) goto v0052;
4493     env = stack[-4];
4494     v0361 = v0054;
4495     v0054 = v0361;
4496     if (!consp(v0054)) goto v0147;
4497     v0054 = v0361;
4498     v0054 = qcdr(v0054);
4499     goto v0264;
4500 
4501 v0264:
4502     if (v0054 == nil) goto v0364;
4503     fn = elt(env, 20); /* rndbfon */
4504     v0054 = (*qfnn(fn))(qenv(fn), 0);
4505     nil = C_nil;
4506     if (exception_pending()) goto v0052;
4507     env = stack[-4];
4508     v0054 = stack[-3];
4509     v0054 = Lfloatp(nil, v0054);
4510     env = stack[-4];
4511     if (v0054 == nil) goto v0185;
4512     v0054 = stack[-3];
4513     fn = elt(env, 21); /* fl2bf */
4514     v0054 = (*qfn1(fn))(qenv(fn), v0054);
4515     nil = C_nil;
4516     if (exception_pending()) goto v0052;
4517     env = stack[-4];
4518     stack[0] = v0054;
4519     goto v0365;
4520 
4521 v0365:
4522     v0054 = stack[-2];
4523     v0054 = Lfloatp(nil, v0054);
4524     env = stack[-4];
4525     if (v0054 == nil) goto v0366;
4526     v0054 = stack[-2];
4527     fn = elt(env, 21); /* fl2bf */
4528     v0054 = (*qfn1(fn))(qenv(fn), v0054);
4529     nil = C_nil;
4530     if (exception_pending()) goto v0052;
4531     env = stack[-4];
4532     v0361 = v0054;
4533     goto v0367;
4534 
4535 v0367:
4536     v0054 = qvalue(elt(env, 9)); /* !:bprec!: */
4537     fn = elt(env, 17); /* divide!: */
4538     v0054 = (*qfnn(fn))(qenv(fn), 3, stack[0], v0361, v0054);
4539     nil = C_nil;
4540     if (exception_pending()) goto v0052;
4541     env = stack[-4];
4542     fn = elt(env, 18); /* csl_normbf */
4543     v0054 = (*qfn1(fn))(qenv(fn), v0054);
4544     nil = C_nil;
4545     if (exception_pending()) goto v0052;
4546     env = stack[-4];
4547     goto v0278;
4548 
4549 v0366:
4550     v0054 = stack[-2];
4551     if (!consp(v0054)) goto v0368;
4552     v0054 = stack[-2];
4553     goto v0137;
4554 
4555 v0137:
4556     fn = elt(env, 18); /* csl_normbf */
4557     v0054 = (*qfn1(fn))(qenv(fn), v0054);
4558     nil = C_nil;
4559     if (exception_pending()) goto v0052;
4560     env = stack[-4];
4561     v0361 = v0054;
4562     goto v0367;
4563 
4564 v0368:
4565     v0054 = stack[-2];
4566     v0054 = integerp(v0054);
4567     if (v0054 == nil) goto v0369;
4568     v0126 = elt(env, 6); /* !:rd!: */
4569     v0361 = stack[-2];
4570     v0054 = (Lisp_Object)1; /* 0 */
4571     v0054 = list2star(v0126, v0361, v0054);
4572     nil = C_nil;
4573     if (exception_pending()) goto v0052;
4574     env = stack[-4];
4575     goto v0137;
4576 
4577 v0369:
4578     v0054 = stack[-2];
4579     fn = elt(env, 22); /* read!:num */
4580     v0054 = (*qfn1(fn))(qenv(fn), v0054);
4581     nil = C_nil;
4582     if (exception_pending()) goto v0052;
4583     env = stack[-4];
4584     goto v0137;
4585 
4586 v0185:
4587     v0054 = stack[-3];
4588     if (!consp(v0054)) goto v0110;
4589     v0054 = stack[-3];
4590     goto v0111;
4591 
4592 v0111:
4593     fn = elt(env, 18); /* csl_normbf */
4594     v0054 = (*qfn1(fn))(qenv(fn), v0054);
4595     nil = C_nil;
4596     if (exception_pending()) goto v0052;
4597     env = stack[-4];
4598     stack[0] = v0054;
4599     goto v0365;
4600 
4601 v0110:
4602     v0054 = stack[-3];
4603     v0054 = integerp(v0054);
4604     if (v0054 == nil) goto v0370;
4605     v0126 = elt(env, 6); /* !:rd!: */
4606     v0361 = stack[-3];
4607     v0054 = (Lisp_Object)1; /* 0 */
4608     v0054 = list2star(v0126, v0361, v0054);
4609     nil = C_nil;
4610     if (exception_pending()) goto v0052;
4611     env = stack[-4];
4612     goto v0111;
4613 
4614 v0370:
4615     v0054 = stack[-3];
4616     fn = elt(env, 22); /* read!:num */
4617     v0054 = (*qfn1(fn))(qenv(fn), v0054);
4618     nil = C_nil;
4619     if (exception_pending()) goto v0052;
4620     env = stack[-4];
4621     goto v0111;
4622 
4623 v0364:
4624     v0054 = v0361;
4625     v0054 = qcar(v0054);
4626     goto v0278;
4627 
4628 v0147:
4629     v0054 = qvalue(elt(env, 12)); /* t */
4630     goto v0264;
4631 
4632 v0086:
4633     v0054 = stack[-2];
4634     v0054 = (Lisp_Object)zerop(v0054);
4635     v0054 = v0054 ? lisp_true : nil;
4636     env = stack[-4];
4637     goto v0333;
4638 
4639 v0320:
4640     v0054 = stack[-1];
4641     v0054 = qcdr(v0054);
4642     if (!consp(v0054)) goto v0168;
4643     v0054 = qvalue(elt(env, 4)); /* nil */
4644     goto v0128;
4645 
4646 v0168:
4647     v0054 = stack[0];
4648     v0054 = qcdr(v0054);
4649     if (!consp(v0054)) goto v0167;
4650     v0054 = qvalue(elt(env, 4)); /* nil */
4651     goto v0128;
4652 
4653 v0167:
4654     v0054 = stack[-1];
4655     v0361 = qcdr(v0054);
4656     v0054 = stack[0];
4657     v0054 = qcdr(v0054);
4658     fn = elt(env, 23); /* safe!-fp!-quot */
4659     v0054 = (*qfn2(fn))(qenv(fn), v0361, v0054);
4660     nil = C_nil;
4661     if (exception_pending()) goto v0052;
4662     env = stack[-4];
4663     v0361 = v0054;
4664     goto v0128;
4665 /* error exit handlers */
4666 v0052:
4667     popv(5);
4668     return nil;
4669 }
4670 
4671 
4672 
4673 /* Code for partitindexvar */
4674 
CC_partitindexvar(Lisp_Object env,Lisp_Object v0000)4675 static Lisp_Object CC_partitindexvar(Lisp_Object env,
4676                          Lisp_Object v0000)
4677 {
4678     Lisp_Object nil = C_nil;
4679     Lisp_Object v0476, v0477, v0478;
4680     Lisp_Object fn;
4681     CSL_IGNORE(nil);
4682 #ifdef DEBUG
4683     if (check_env(env)) return aerror("env for partitindexvar");
4684 #endif
4685     if (stack >= stacklimit)
4686     {
4687         push(v0000);
4688         env = reclaim(env, "stack", GC_STACK, 0);
4689         pop(v0000);
4690         nil = C_nil;
4691         if (exception_pending()) return nil;
4692     }
4693     push(env);
4694 /* space for vars preserved across procedure calls */
4695     push5(nil, nil, nil, nil, nil);
4696     push4(nil, nil, nil, nil);
4697 /* copy arguments values to proper place */
4698     stack[-7] = v0000;
4699 /* end of prologue */
4700     stack[-8] = nil;
4701     stack[-6] = nil;
4702     stack[-5] = nil;
4703     v0476 = stack[-7];
4704     v0476 = qcdr(v0476);
4705     stack[-4] = v0476;
4706     v0476 = stack[-4];
4707     if (v0476 == nil) goto v0285;
4708     v0476 = stack[-4];
4709     v0476 = qcar(v0476);
4710     fn = elt(env, 7); /* revalind */
4711     v0476 = (*qfn1(fn))(qenv(fn), v0476);
4712     nil = C_nil;
4713     if (exception_pending()) goto v0479;
4714     env = stack[-9];
4715     v0477 = v0476;
4716     v0476 = v0477;
4717     if (!consp(v0476)) goto v0328;
4718     v0476 = v0477;
4719     v0476 = qcdr(v0476);
4720     v0476 = qcar(v0476);
4721     if (is_number(v0476)) goto v0092;
4722     v0476 = v0477;
4723     goto v0326;
4724 
4725 v0326:
4726     v0476 = ncons(v0476);
4727     nil = C_nil;
4728     if (exception_pending()) goto v0479;
4729     env = stack[-9];
4730     stack[-2] = v0476;
4731     stack[-3] = v0476;
4732     goto v0480;
4733 
4734 v0480:
4735     v0476 = stack[-4];
4736     v0476 = qcdr(v0476);
4737     stack[-4] = v0476;
4738     v0476 = stack[-4];
4739     if (v0476 == nil) goto v0322;
4740     stack[-1] = stack[-2];
4741     v0476 = stack[-4];
4742     v0476 = qcar(v0476);
4743     fn = elt(env, 7); /* revalind */
4744     v0476 = (*qfn1(fn))(qenv(fn), v0476);
4745     nil = C_nil;
4746     if (exception_pending()) goto v0479;
4747     env = stack[-9];
4748     v0477 = v0476;
4749     v0476 = v0477;
4750     if (!consp(v0476)) goto v0356;
4751     v0476 = v0477;
4752     v0476 = qcdr(v0476);
4753     v0476 = qcar(v0476);
4754     if (is_number(v0476)) goto v0273;
4755     v0476 = v0477;
4756     goto v0481;
4757 
4758 v0481:
4759     v0476 = ncons(v0476);
4760     nil = C_nil;
4761     if (exception_pending()) goto v0479;
4762     env = stack[-9];
4763     v0476 = Lrplacd(nil, stack[-1], v0476);
4764     nil = C_nil;
4765     if (exception_pending()) goto v0479;
4766     env = stack[-9];
4767     v0476 = stack[-2];
4768     v0476 = qcdr(v0476);
4769     stack[-2] = v0476;
4770     goto v0480;
4771 
4772 v0273:
4773     stack[0] = elt(env, 2); /* minus */
4774     v0476 = v0477;
4775     v0476 = qcdr(v0476);
4776     v0476 = qcar(v0476);
4777     fn = elt(env, 8); /* !*num2id */
4778     v0476 = (*qfn1(fn))(qenv(fn), v0476);
4779     nil = C_nil;
4780     if (exception_pending()) goto v0479;
4781     env = stack[-9];
4782     v0476 = list2(stack[0], v0476);
4783     nil = C_nil;
4784     if (exception_pending()) goto v0479;
4785     env = stack[-9];
4786     goto v0481;
4787 
4788 v0356:
4789     v0476 = v0477;
4790     if (is_number(v0476)) goto v0277;
4791     v0476 = v0477;
4792     goto v0481;
4793 
4794 v0277:
4795     v0476 = v0477;
4796     v0476 = Lminusp(nil, v0476);
4797     env = stack[-9];
4798     if (v0476 == nil) goto v0181;
4799     stack[0] = elt(env, 2); /* minus */
4800     v0476 = v0477;
4801     v0476 = Labsval(nil, v0476);
4802     nil = C_nil;
4803     if (exception_pending()) goto v0479;
4804     env = stack[-9];
4805     fn = elt(env, 8); /* !*num2id */
4806     v0476 = (*qfn1(fn))(qenv(fn), v0476);
4807     nil = C_nil;
4808     if (exception_pending()) goto v0479;
4809     env = stack[-9];
4810     v0476 = list2(stack[0], v0476);
4811     nil = C_nil;
4812     if (exception_pending()) goto v0479;
4813     env = stack[-9];
4814     goto v0481;
4815 
4816 v0181:
4817     v0476 = v0477;
4818     fn = elt(env, 8); /* !*num2id */
4819     v0476 = (*qfn1(fn))(qenv(fn), v0476);
4820     nil = C_nil;
4821     if (exception_pending()) goto v0479;
4822     env = stack[-9];
4823     goto v0481;
4824 
4825 v0322:
4826     v0476 = stack[-3];
4827     goto v0136;
4828 
4829 v0136:
4830     stack[0] = v0476;
4831     v0476 = stack[-7];
4832     fn = elt(env, 9); /* deg!*form */
4833     v0476 = (*qfn1(fn))(qenv(fn), v0476);
4834     nil = C_nil;
4835     if (exception_pending()) goto v0479;
4836     env = stack[-9];
4837     stack[-3] = v0476;
4838     v0476 = qvalue(elt(env, 3)); /* metricu!* */
4839     if (v0476 == nil) goto v0132;
4840     v0476 = stack[0];
4841     stack[-2] = v0476;
4842     v0476 = stack[-7];
4843     v0477 = qcar(v0476);
4844     v0476 = elt(env, 4); /* covariant */
4845     v0476 = Lflagp(nil, v0477, v0476);
4846     env = stack[-9];
4847     if (!(v0476 == nil)) goto v0026;
4848 
4849 v0482:
4850     v0476 = stack[-2];
4851     if (v0476 == nil) goto v0148;
4852     v0476 = stack[-2];
4853     v0476 = qcar(v0476);
4854     if (!consp(v0476)) goto v0483;
4855     v0476 = stack[-2];
4856     v0476 = qcar(v0476);
4857     v0476 = qcdr(v0476);
4858     v0477 = qcar(v0476);
4859     v0476 = qvalue(elt(env, 3)); /* metricu!* */
4860     v0476 = Latsoc(nil, v0477, v0476);
4861     v0476 = (v0476 == nil ? lisp_true : nil);
4862     goto v0484;
4863 
4864 v0484:
4865     if (v0476 == nil) goto v0148;
4866     v0476 = stack[-2];
4867     v0477 = qcar(v0476);
4868     v0476 = stack[-6];
4869     v0476 = cons(v0477, v0476);
4870     nil = C_nil;
4871     if (exception_pending()) goto v0479;
4872     env = stack[-9];
4873     stack[-6] = v0476;
4874     v0476 = stack[-2];
4875     v0476 = qcar(v0476);
4876     if (!consp(v0476)) goto v0262;
4877     v0476 = stack[-2];
4878     v0476 = qcar(v0476);
4879     v0476 = qcdr(v0476);
4880     v0477 = qcar(v0476);
4881     v0476 = stack[-8];
4882     v0476 = cons(v0477, v0476);
4883     nil = C_nil;
4884     if (exception_pending()) goto v0479;
4885     env = stack[-9];
4886     stack[-8] = v0476;
4887     goto v0262;
4888 
4889 v0262:
4890     v0476 = stack[-2];
4891     v0476 = qcdr(v0476);
4892     stack[-2] = v0476;
4893     goto v0482;
4894 
4895 v0148:
4896     v0476 = stack[-2];
4897     if (v0476 == nil) goto v0132;
4898     v0476 = qvalue(elt(env, 1)); /* nil */
4899     stack[-5] = v0476;
4900     v0476 = stack[-6];
4901     v0476 = Lreverse(nil, v0476);
4902     nil = C_nil;
4903     if (exception_pending()) goto v0479;
4904     env = stack[-9];
4905     stack[-6] = v0476;
4906     v0476 = stack[-2];
4907     v0476 = qcar(v0476);
4908     v0476 = qcdr(v0476);
4909     v0476 = qcar(v0476);
4910     fn = elt(env, 10); /* getlower */
4911     v0476 = (*qfn1(fn))(qenv(fn), v0476);
4912     nil = C_nil;
4913     if (exception_pending()) goto v0479;
4914     env = stack[-9];
4915     stack[-4] = v0476;
4916     goto v0172;
4917 
4918 v0172:
4919     v0476 = stack[-4];
4920     if (v0476 == nil) { Lisp_Object res = stack[-5]; popv(10); return onevalue(res); }
4921     v0476 = stack[-4];
4922     v0476 = qcar(v0476);
4923     stack[-3] = v0476;
4924     v0476 = stack[-7];
4925     stack[-1] = qcar(v0476);
4926     stack[0] = stack[-6];
4927     v0476 = stack[-3];
4928     v0477 = qcar(v0476);
4929     v0476 = stack[-2];
4930     v0476 = qcdr(v0476);
4931     v0476 = cons(v0477, v0476);
4932     nil = C_nil;
4933     if (exception_pending()) goto v0479;
4934     env = stack[-9];
4935     v0476 = Lappend(nil, stack[0], v0476);
4936     nil = C_nil;
4937     if (exception_pending()) goto v0479;
4938     env = stack[-9];
4939     v0476 = cons(stack[-1], v0476);
4940     nil = C_nil;
4941     if (exception_pending()) goto v0479;
4942     env = stack[-9];
4943     stack[0] = CC_partitindexvar(env, v0476);
4944     nil = C_nil;
4945     if (exception_pending()) goto v0479;
4946     env = stack[-9];
4947     v0476 = stack[-3];
4948     v0476 = qcdr(v0476);
4949     fn = elt(env, 11); /* simp */
4950     v0476 = (*qfn1(fn))(qenv(fn), v0476);
4951     nil = C_nil;
4952     if (exception_pending()) goto v0479;
4953     env = stack[-9];
4954     fn = elt(env, 12); /* multpfsq */
4955     v0477 = (*qfn2(fn))(qenv(fn), stack[0], v0476);
4956     nil = C_nil;
4957     if (exception_pending()) goto v0479;
4958     env = stack[-9];
4959     v0476 = stack[-5];
4960     fn = elt(env, 13); /* addpf */
4961     v0476 = (*qfn2(fn))(qenv(fn), v0477, v0476);
4962     nil = C_nil;
4963     if (exception_pending()) goto v0479;
4964     env = stack[-9];
4965     stack[-5] = v0476;
4966     v0476 = stack[-4];
4967     v0476 = qcdr(v0476);
4968     stack[-4] = v0476;
4969     goto v0172;
4970 
4971 v0132:
4972     v0476 = stack[0];
4973     fn = elt(env, 14); /* coposp */
4974     v0476 = (*qfn1(fn))(qenv(fn), v0476);
4975     nil = C_nil;
4976     if (exception_pending()) goto v0479;
4977     env = stack[-9];
4978     if (v0476 == nil) goto v0485;
4979     v0476 = stack[-7];
4980     v0477 = qcar(v0476);
4981     v0476 = elt(env, 6); /* indxsymmetries */
4982     v0476 = get(v0477, v0476);
4983     env = stack[-9];
4984     v0476 = (v0476 == nil ? lisp_true : nil);
4985     goto v0486;
4986 
4987 v0486:
4988     if (v0476 == nil) goto v0232;
4989     v0476 = stack[-3];
4990     if (v0476 == nil) goto v0487;
4991     v0476 = stack[-7];
4992     v0477 = qcar(v0476);
4993     v0476 = stack[0];
4994     v0476 = cons(v0477, v0476);
4995     nil = C_nil;
4996     if (exception_pending()) goto v0479;
4997     env = stack[-9];
4998     {
4999         popv(10);
5000         fn = elt(env, 15); /* mkupf */
5001         return (*qfn1(fn))(qenv(fn), v0476);
5002     }
5003 
5004 v0487:
5005     stack[-1] = (Lisp_Object)17; /* 1 */
5006     v0476 = stack[-7];
5007     v0477 = qcar(v0476);
5008     v0476 = stack[0];
5009     v0477 = cons(v0477, v0476);
5010     nil = C_nil;
5011     if (exception_pending()) goto v0479;
5012     env = stack[-9];
5013     v0476 = (Lisp_Object)17; /* 1 */
5014     fn = elt(env, 16); /* mksq */
5015     v0476 = (*qfn2(fn))(qenv(fn), v0477, v0476);
5016     nil = C_nil;
5017     if (exception_pending()) goto v0479;
5018     env = stack[-9];
5019     v0476 = cons(stack[-1], v0476);
5020     nil = C_nil;
5021     if (exception_pending()) goto v0479;
5022     popv(10);
5023     return ncons(v0476);
5024 
5025 v0232:
5026     v0476 = stack[0];
5027     stack[-4] = v0476;
5028     v0476 = stack[-4];
5029     if (v0476 == nil) goto v0100;
5030     v0476 = stack[-4];
5031     v0476 = qcar(v0476);
5032     v0477 = v0476;
5033     v0476 = v0477;
5034     if (!consp(v0476)) goto v0488;
5035     v0476 = v0477;
5036     v0476 = qcdr(v0476);
5037     v0476 = qcar(v0476);
5038     goto v0217;
5039 
5040 v0217:
5041     v0476 = ncons(v0476);
5042     nil = C_nil;
5043     if (exception_pending()) goto v0479;
5044     env = stack[-9];
5045     stack[-1] = v0476;
5046     stack[-2] = v0476;
5047     goto v0489;
5048 
5049 v0489:
5050     v0476 = stack[-4];
5051     v0476 = qcdr(v0476);
5052     stack[-4] = v0476;
5053     v0476 = stack[-4];
5054     if (v0476 == nil) goto v0490;
5055     stack[0] = stack[-1];
5056     v0476 = stack[-4];
5057     v0476 = qcar(v0476);
5058     v0477 = v0476;
5059     v0476 = v0477;
5060     if (!consp(v0476)) goto v0210;
5061     v0476 = v0477;
5062     v0476 = qcdr(v0476);
5063     v0476 = qcar(v0476);
5064     goto v0491;
5065 
5066 v0491:
5067     v0476 = ncons(v0476);
5068     nil = C_nil;
5069     if (exception_pending()) goto v0479;
5070     env = stack[-9];
5071     v0476 = Lrplacd(nil, stack[0], v0476);
5072     nil = C_nil;
5073     if (exception_pending()) goto v0479;
5074     env = stack[-9];
5075     v0476 = stack[-1];
5076     v0476 = qcdr(v0476);
5077     stack[-1] = v0476;
5078     goto v0489;
5079 
5080 v0210:
5081     v0476 = v0477;
5082     goto v0491;
5083 
5084 v0490:
5085     v0476 = stack[-2];
5086     goto v0492;
5087 
5088 v0492:
5089     stack[0] = v0476;
5090     v0476 = stack[-7];
5091     v0477 = qcar(v0476);
5092     v0476 = stack[0];
5093     v0476 = cons(v0477, v0476);
5094     nil = C_nil;
5095     if (exception_pending()) goto v0479;
5096     env = stack[-9];
5097     fn = elt(env, 17); /* indexsymmetrize */
5098     v0476 = (*qfn1(fn))(qenv(fn), v0476);
5099     nil = C_nil;
5100     if (exception_pending()) goto v0479;
5101     env = stack[-9];
5102     stack[0] = v0476;
5103     v0476 = stack[0];
5104     if (v0476 == nil) goto v0493;
5105     v0476 = stack[0];
5106     v0477 = qcar(v0476);
5107     v0476 = (Lisp_Object)-15; /* -1 */
5108     if (!(v0477 == v0476)) goto v0494;
5109     v0476 = qvalue(elt(env, 5)); /* t */
5110     stack[-5] = v0476;
5111     goto v0494;
5112 
5113 v0494:
5114     v0476 = stack[0];
5115     v0476 = qcdr(v0476);
5116     v0476 = qcdr(v0476);
5117     stack[0] = v0476;
5118     v0476 = stack[-7];
5119     v0477 = qcar(v0476);
5120     v0476 = elt(env, 4); /* covariant */
5121     v0476 = Lflagp(nil, v0477, v0476);
5122     env = stack[-9];
5123     if (v0476 == nil) goto v0495;
5124     v0476 = stack[0];
5125     stack[-4] = v0476;
5126     v0476 = stack[-4];
5127     if (v0476 == nil) goto v0496;
5128     v0476 = stack[-4];
5129     v0476 = qcar(v0476);
5130     v0478 = v0476;
5131     v0477 = v0478;
5132     v0476 = stack[-8];
5133     v0476 = Lmemq(nil, v0477, v0476);
5134     if (v0476 == nil) goto v0497;
5135     v0476 = v0478;
5136     goto v0498;
5137 
5138 v0498:
5139     v0476 = ncons(v0476);
5140     nil = C_nil;
5141     if (exception_pending()) goto v0479;
5142     env = stack[-9];
5143     stack[-1] = v0476;
5144     stack[-2] = v0476;
5145     goto v0499;
5146 
5147 v0499:
5148     v0476 = stack[-4];
5149     v0476 = qcdr(v0476);
5150     stack[-4] = v0476;
5151     v0476 = stack[-4];
5152     if (v0476 == nil) goto v0287;
5153     stack[0] = stack[-1];
5154     v0476 = stack[-4];
5155     v0476 = qcar(v0476);
5156     v0478 = v0476;
5157     v0477 = v0478;
5158     v0476 = stack[-8];
5159     v0476 = Lmemq(nil, v0477, v0476);
5160     if (v0476 == nil) goto v0500;
5161     v0476 = v0478;
5162     goto v0318;
5163 
5164 v0318:
5165     v0476 = ncons(v0476);
5166     nil = C_nil;
5167     if (exception_pending()) goto v0479;
5168     env = stack[-9];
5169     v0476 = Lrplacd(nil, stack[0], v0476);
5170     nil = C_nil;
5171     if (exception_pending()) goto v0479;
5172     env = stack[-9];
5173     v0476 = stack[-1];
5174     v0476 = qcdr(v0476);
5175     stack[-1] = v0476;
5176     goto v0499;
5177 
5178 v0500:
5179     v0476 = elt(env, 2); /* minus */
5180     v0477 = v0478;
5181     v0476 = list2(v0476, v0477);
5182     nil = C_nil;
5183     if (exception_pending()) goto v0479;
5184     env = stack[-9];
5185     goto v0318;
5186 
5187 v0287:
5188     v0476 = stack[-2];
5189     goto v0501;
5190 
5191 v0501:
5192     stack[0] = v0476;
5193     goto v0502;
5194 
5195 v0502:
5196     v0476 = stack[-3];
5197     if (v0476 == nil) goto v0503;
5198     v0476 = stack[-5];
5199     if (v0476 == nil) goto v0504;
5200     v0476 = stack[-7];
5201     v0477 = qcar(v0476);
5202     v0476 = stack[0];
5203     v0476 = cons(v0477, v0476);
5204     nil = C_nil;
5205     if (exception_pending()) goto v0479;
5206     env = stack[-9];
5207     fn = elt(env, 15); /* mkupf */
5208     stack[0] = (*qfn1(fn))(qenv(fn), v0476);
5209     nil = C_nil;
5210     if (exception_pending()) goto v0479;
5211     env = stack[-9];
5212     v0477 = (Lisp_Object)-15; /* -1 */
5213     v0476 = (Lisp_Object)17; /* 1 */
5214     v0476 = cons(v0477, v0476);
5215     nil = C_nil;
5216     if (exception_pending()) goto v0479;
5217     env = stack[-9];
5218     {
5219         Lisp_Object v0505 = stack[0];
5220         popv(10);
5221         fn = elt(env, 12); /* multpfsq */
5222         return (*qfn2(fn))(qenv(fn), v0505, v0476);
5223     }
5224 
5225 v0504:
5226     v0476 = stack[-7];
5227     v0477 = qcar(v0476);
5228     v0476 = stack[0];
5229     v0476 = cons(v0477, v0476);
5230     nil = C_nil;
5231     if (exception_pending()) goto v0479;
5232     env = stack[-9];
5233     {
5234         popv(10);
5235         fn = elt(env, 15); /* mkupf */
5236         return (*qfn1(fn))(qenv(fn), v0476);
5237     }
5238 
5239 v0503:
5240     v0476 = stack[-5];
5241     if (v0476 == nil) goto v0506;
5242     stack[-1] = (Lisp_Object)17; /* 1 */
5243     v0476 = stack[-7];
5244     v0477 = qcar(v0476);
5245     v0476 = stack[0];
5246     v0477 = cons(v0477, v0476);
5247     nil = C_nil;
5248     if (exception_pending()) goto v0479;
5249     env = stack[-9];
5250     v0476 = (Lisp_Object)17; /* 1 */
5251     fn = elt(env, 16); /* mksq */
5252     v0476 = (*qfn2(fn))(qenv(fn), v0477, v0476);
5253     nil = C_nil;
5254     if (exception_pending()) goto v0479;
5255     env = stack[-9];
5256     stack[0] = v0476;
5257     v0476 = stack[0];
5258     v0476 = qcar(v0476);
5259     fn = elt(env, 18); /* negf */
5260     v0477 = (*qfn1(fn))(qenv(fn), v0476);
5261     nil = C_nil;
5262     if (exception_pending()) goto v0479;
5263     env = stack[-9];
5264     v0476 = stack[0];
5265     v0476 = qcdr(v0476);
5266     v0476 = cons(v0477, v0476);
5267     nil = C_nil;
5268     if (exception_pending()) goto v0479;
5269     env = stack[-9];
5270     v0476 = cons(stack[-1], v0476);
5271     nil = C_nil;
5272     if (exception_pending()) goto v0479;
5273     popv(10);
5274     return ncons(v0476);
5275 
5276 v0506:
5277     stack[-1] = (Lisp_Object)17; /* 1 */
5278     v0476 = stack[-7];
5279     v0477 = qcar(v0476);
5280     v0476 = stack[0];
5281     v0477 = cons(v0477, v0476);
5282     nil = C_nil;
5283     if (exception_pending()) goto v0479;
5284     env = stack[-9];
5285     v0476 = (Lisp_Object)17; /* 1 */
5286     fn = elt(env, 16); /* mksq */
5287     v0476 = (*qfn2(fn))(qenv(fn), v0477, v0476);
5288     nil = C_nil;
5289     if (exception_pending()) goto v0479;
5290     env = stack[-9];
5291     v0476 = cons(stack[-1], v0476);
5292     nil = C_nil;
5293     if (exception_pending()) goto v0479;
5294     popv(10);
5295     return ncons(v0476);
5296 
5297 v0497:
5298     v0476 = elt(env, 2); /* minus */
5299     v0477 = v0478;
5300     v0476 = list2(v0476, v0477);
5301     nil = C_nil;
5302     if (exception_pending()) goto v0479;
5303     env = stack[-9];
5304     goto v0498;
5305 
5306 v0496:
5307     v0476 = qvalue(elt(env, 1)); /* nil */
5308     goto v0501;
5309 
5310 v0495:
5311     v0476 = qvalue(elt(env, 3)); /* metricu!* */
5312     if (v0476 == nil) goto v0507;
5313     v0476 = qvalue(elt(env, 1)); /* nil */
5314     goto v0508;
5315 
5316 v0508:
5317     if (v0476 == nil) goto v0509;
5318     v0476 = stack[0];
5319     stack[-4] = v0476;
5320     v0476 = stack[-4];
5321     if (v0476 == nil) goto v0510;
5322     v0476 = stack[-4];
5323     v0476 = qcar(v0476);
5324     v0477 = elt(env, 2); /* minus */
5325     v0476 = list2(v0477, v0476);
5326     nil = C_nil;
5327     if (exception_pending()) goto v0479;
5328     env = stack[-9];
5329     v0476 = ncons(v0476);
5330     nil = C_nil;
5331     if (exception_pending()) goto v0479;
5332     env = stack[-9];
5333     stack[-1] = v0476;
5334     stack[-2] = v0476;
5335     goto v0511;
5336 
5337 v0511:
5338     v0476 = stack[-4];
5339     v0476 = qcdr(v0476);
5340     stack[-4] = v0476;
5341     v0476 = stack[-4];
5342     if (v0476 == nil) goto v0512;
5343     stack[0] = stack[-1];
5344     v0476 = stack[-4];
5345     v0476 = qcar(v0476);
5346     v0477 = elt(env, 2); /* minus */
5347     v0476 = list2(v0477, v0476);
5348     nil = C_nil;
5349     if (exception_pending()) goto v0479;
5350     env = stack[-9];
5351     v0476 = ncons(v0476);
5352     nil = C_nil;
5353     if (exception_pending()) goto v0479;
5354     env = stack[-9];
5355     v0476 = Lrplacd(nil, stack[0], v0476);
5356     nil = C_nil;
5357     if (exception_pending()) goto v0479;
5358     env = stack[-9];
5359     v0476 = stack[-1];
5360     v0476 = qcdr(v0476);
5361     stack[-1] = v0476;
5362     goto v0511;
5363 
5364 v0512:
5365     v0476 = stack[-2];
5366     goto v0513;
5367 
5368 v0513:
5369     stack[0] = v0476;
5370     goto v0502;
5371 
5372 v0510:
5373     v0476 = qvalue(elt(env, 1)); /* nil */
5374     goto v0513;
5375 
5376 v0509:
5377     v0476 = stack[0];
5378     stack[-4] = v0476;
5379     v0476 = stack[-4];
5380     if (v0476 == nil) goto v0514;
5381     v0476 = stack[-4];
5382     v0476 = qcar(v0476);
5383     v0478 = v0476;
5384     v0477 = v0478;
5385     v0476 = stack[-8];
5386     v0476 = Lmemq(nil, v0477, v0476);
5387     if (v0476 == nil) goto v0515;
5388     v0476 = elt(env, 2); /* minus */
5389     v0477 = v0478;
5390     v0476 = list2(v0476, v0477);
5391     nil = C_nil;
5392     if (exception_pending()) goto v0479;
5393     env = stack[-9];
5394     goto v0516;
5395 
5396 v0516:
5397     v0476 = ncons(v0476);
5398     nil = C_nil;
5399     if (exception_pending()) goto v0479;
5400     env = stack[-9];
5401     stack[-1] = v0476;
5402     stack[-2] = v0476;
5403     goto v0517;
5404 
5405 v0517:
5406     v0476 = stack[-4];
5407     v0476 = qcdr(v0476);
5408     stack[-4] = v0476;
5409     v0476 = stack[-4];
5410     if (v0476 == nil) goto v0518;
5411     stack[0] = stack[-1];
5412     v0476 = stack[-4];
5413     v0476 = qcar(v0476);
5414     v0478 = v0476;
5415     v0477 = v0478;
5416     v0476 = stack[-8];
5417     v0476 = Lmemq(nil, v0477, v0476);
5418     if (v0476 == nil) goto v0519;
5419     v0476 = elt(env, 2); /* minus */
5420     v0477 = v0478;
5421     v0476 = list2(v0476, v0477);
5422     nil = C_nil;
5423     if (exception_pending()) goto v0479;
5424     env = stack[-9];
5425     goto v0520;
5426 
5427 v0520:
5428     v0476 = ncons(v0476);
5429     nil = C_nil;
5430     if (exception_pending()) goto v0479;
5431     env = stack[-9];
5432     v0476 = Lrplacd(nil, stack[0], v0476);
5433     nil = C_nil;
5434     if (exception_pending()) goto v0479;
5435     env = stack[-9];
5436     v0476 = stack[-1];
5437     v0476 = qcdr(v0476);
5438     stack[-1] = v0476;
5439     goto v0517;
5440 
5441 v0519:
5442     v0476 = v0478;
5443     goto v0520;
5444 
5445 v0518:
5446     v0476 = stack[-2];
5447     goto v0521;
5448 
5449 v0521:
5450     stack[0] = v0476;
5451     goto v0502;
5452 
5453 v0515:
5454     v0476 = v0478;
5455     goto v0516;
5456 
5457 v0514:
5458     v0476 = qvalue(elt(env, 1)); /* nil */
5459     goto v0521;
5460 
5461 v0507:
5462     v0476 = stack[-7];
5463     v0476 = qcdr(v0476);
5464     v0476 = qcar(v0476);
5465     v0476 = (consp(v0476) ? nil : lisp_true);
5466     v0476 = (v0476 == nil ? lisp_true : nil);
5467     goto v0508;
5468 
5469 v0493:
5470     v0476 = qvalue(elt(env, 1)); /* nil */
5471     { popv(10); return onevalue(v0476); }
5472 
5473 v0488:
5474     v0476 = v0477;
5475     goto v0217;
5476 
5477 v0100:
5478     v0476 = qvalue(elt(env, 1)); /* nil */
5479     goto v0492;
5480 
5481 v0485:
5482     v0476 = qvalue(elt(env, 5)); /* t */
5483     goto v0486;
5484 
5485 v0483:
5486     v0476 = qvalue(elt(env, 5)); /* t */
5487     goto v0484;
5488 
5489 v0026:
5490     v0476 = stack[-2];
5491     if (v0476 == nil) goto v0522;
5492     v0476 = stack[-2];
5493     v0476 = qcar(v0476);
5494     if (!consp(v0476)) goto v0523;
5495     v0476 = qvalue(elt(env, 5)); /* t */
5496     goto v0524;
5497 
5498 v0524:
5499     if (v0476 == nil) goto v0522;
5500     v0476 = stack[-2];
5501     v0477 = qcar(v0476);
5502     v0476 = stack[-6];
5503     v0476 = cons(v0477, v0476);
5504     nil = C_nil;
5505     if (exception_pending()) goto v0479;
5506     env = stack[-9];
5507     stack[-6] = v0476;
5508     v0476 = stack[-2];
5509     v0476 = qcar(v0476);
5510     if (!(!consp(v0476))) goto v0525;
5511     v0476 = stack[-2];
5512     v0477 = qcar(v0476);
5513     v0476 = stack[-8];
5514     v0476 = cons(v0477, v0476);
5515     nil = C_nil;
5516     if (exception_pending()) goto v0479;
5517     env = stack[-9];
5518     stack[-8] = v0476;
5519     goto v0525;
5520 
5521 v0525:
5522     v0476 = stack[-2];
5523     v0476 = qcdr(v0476);
5524     stack[-2] = v0476;
5525     goto v0026;
5526 
5527 v0522:
5528     v0476 = stack[-2];
5529     if (v0476 == nil) goto v0132;
5530     v0476 = qvalue(elt(env, 1)); /* nil */
5531     stack[-5] = v0476;
5532     v0476 = stack[-6];
5533     v0476 = Lreverse(nil, v0476);
5534     nil = C_nil;
5535     if (exception_pending()) goto v0479;
5536     env = stack[-9];
5537     stack[-6] = v0476;
5538     v0476 = stack[-2];
5539     v0476 = qcar(v0476);
5540     fn = elt(env, 19); /* getupper */
5541     v0476 = (*qfn1(fn))(qenv(fn), v0476);
5542     nil = C_nil;
5543     if (exception_pending()) goto v0479;
5544     env = stack[-9];
5545     stack[-4] = v0476;
5546     goto v0526;
5547 
5548 v0526:
5549     v0476 = stack[-4];
5550     if (v0476 == nil) { Lisp_Object res = stack[-5]; popv(10); return onevalue(res); }
5551     v0476 = stack[-4];
5552     v0476 = qcar(v0476);
5553     stack[-3] = v0476;
5554     v0476 = stack[-7];
5555     stack[-1] = qcar(v0476);
5556     stack[0] = stack[-6];
5557     v0477 = elt(env, 2); /* minus */
5558     v0476 = stack[-3];
5559     v0476 = qcar(v0476);
5560     v0477 = list2(v0477, v0476);
5561     nil = C_nil;
5562     if (exception_pending()) goto v0479;
5563     env = stack[-9];
5564     v0476 = stack[-2];
5565     v0476 = qcdr(v0476);
5566     v0476 = cons(v0477, v0476);
5567     nil = C_nil;
5568     if (exception_pending()) goto v0479;
5569     env = stack[-9];
5570     v0476 = Lappend(nil, stack[0], v0476);
5571     nil = C_nil;
5572     if (exception_pending()) goto v0479;
5573     env = stack[-9];
5574     v0476 = cons(stack[-1], v0476);
5575     nil = C_nil;
5576     if (exception_pending()) goto v0479;
5577     env = stack[-9];
5578     stack[0] = CC_partitindexvar(env, v0476);
5579     nil = C_nil;
5580     if (exception_pending()) goto v0479;
5581     env = stack[-9];
5582     v0476 = stack[-3];
5583     v0476 = qcdr(v0476);
5584     fn = elt(env, 11); /* simp */
5585     v0476 = (*qfn1(fn))(qenv(fn), v0476);
5586     nil = C_nil;
5587     if (exception_pending()) goto v0479;
5588     env = stack[-9];
5589     fn = elt(env, 12); /* multpfsq */
5590     v0477 = (*qfn2(fn))(qenv(fn), stack[0], v0476);
5591     nil = C_nil;
5592     if (exception_pending()) goto v0479;
5593     env = stack[-9];
5594     v0476 = stack[-5];
5595     fn = elt(env, 13); /* addpf */
5596     v0476 = (*qfn2(fn))(qenv(fn), v0477, v0476);
5597     nil = C_nil;
5598     if (exception_pending()) goto v0479;
5599     env = stack[-9];
5600     stack[-5] = v0476;
5601     v0476 = stack[-4];
5602     v0476 = qcdr(v0476);
5603     stack[-4] = v0476;
5604     goto v0526;
5605 
5606 v0523:
5607     v0476 = stack[-2];
5608     v0477 = qcar(v0476);
5609     v0476 = qvalue(elt(env, 3)); /* metricu!* */
5610     v0476 = Latsoc(nil, v0477, v0476);
5611     v0476 = (v0476 == nil ? lisp_true : nil);
5612     goto v0524;
5613 
5614 v0092:
5615     stack[0] = elt(env, 2); /* minus */
5616     v0476 = v0477;
5617     v0476 = qcdr(v0476);
5618     v0476 = qcar(v0476);
5619     fn = elt(env, 8); /* !*num2id */
5620     v0476 = (*qfn1(fn))(qenv(fn), v0476);
5621     nil = C_nil;
5622     if (exception_pending()) goto v0479;
5623     env = stack[-9];
5624     v0476 = list2(stack[0], v0476);
5625     nil = C_nil;
5626     if (exception_pending()) goto v0479;
5627     env = stack[-9];
5628     goto v0326;
5629 
5630 v0328:
5631     v0476 = v0477;
5632     if (is_number(v0476)) goto v0527;
5633     v0476 = v0477;
5634     goto v0326;
5635 
5636 v0527:
5637     v0476 = v0477;
5638     v0476 = Lminusp(nil, v0476);
5639     env = stack[-9];
5640     if (v0476 == nil) goto v0165;
5641     stack[0] = elt(env, 2); /* minus */
5642     v0476 = v0477;
5643     v0476 = Labsval(nil, v0476);
5644     nil = C_nil;
5645     if (exception_pending()) goto v0479;
5646     env = stack[-9];
5647     fn = elt(env, 8); /* !*num2id */
5648     v0476 = (*qfn1(fn))(qenv(fn), v0476);
5649     nil = C_nil;
5650     if (exception_pending()) goto v0479;
5651     env = stack[-9];
5652     v0476 = list2(stack[0], v0476);
5653     nil = C_nil;
5654     if (exception_pending()) goto v0479;
5655     env = stack[-9];
5656     goto v0326;
5657 
5658 v0165:
5659     v0476 = v0477;
5660     fn = elt(env, 8); /* !*num2id */
5661     v0476 = (*qfn1(fn))(qenv(fn), v0476);
5662     nil = C_nil;
5663     if (exception_pending()) goto v0479;
5664     env = stack[-9];
5665     goto v0326;
5666 
5667 v0285:
5668     v0476 = qvalue(elt(env, 1)); /* nil */
5669     goto v0136;
5670 /* error exit handlers */
5671 v0479:
5672     popv(10);
5673     return nil;
5674 }
5675 
5676 
5677 
5678 /* Code for mult_derivs */
5679 
CC_mult_derivs(Lisp_Object env,Lisp_Object v0000,Lisp_Object v0001)5680 static Lisp_Object CC_mult_derivs(Lisp_Object env,
5681                          Lisp_Object v0000, Lisp_Object v0001)
5682 {
5683     Lisp_Object nil = C_nil;
5684     Lisp_Object v0472, v0481, v0356;
5685     Lisp_Object fn;
5686     CSL_IGNORE(nil);
5687 #ifdef DEBUG
5688     if (check_env(env)) return aerror("env for mult_derivs");
5689 #endif
5690     if (stack >= stacklimit)
5691     {
5692         push2(v0001,v0000);
5693         env = reclaim(env, "stack", GC_STACK, 0);
5694         pop2(v0000,v0001);
5695         nil = C_nil;
5696         if (exception_pending()) return nil;
5697     }
5698     push(env);
5699 /* space for vars preserved across procedure calls */
5700     push5(nil, nil, nil, nil, nil);
5701     push(nil);
5702 /* copy arguments values to proper place */
5703     stack[-4] = v0001;
5704     v0481 = v0000;
5705 /* end of prologue */
5706     stack[-5] = nil;
5707     v0472 = stack[-4];
5708     if (v0472 == nil) { popv(7); return onevalue(v0481); }
5709     v0472 = v0481;
5710     if (v0472 == nil) { Lisp_Object res = stack[-4]; popv(7); return onevalue(res); }
5711     v0472 = v0481;
5712     stack[-3] = v0472;
5713     goto v0176;
5714 
5715 v0176:
5716     v0472 = stack[-3];
5717     if (v0472 == nil) { Lisp_Object res = stack[-5]; popv(7); return onevalue(res); }
5718     v0472 = stack[-3];
5719     v0472 = qcar(v0472);
5720     stack[-2] = v0472;
5721     v0472 = stack[-4];
5722     stack[-1] = v0472;
5723     goto v0328;
5724 
5725 v0328:
5726     v0472 = stack[-1];
5727     if (v0472 == nil) goto v0326;
5728     v0472 = stack[-1];
5729     v0472 = qcar(v0472);
5730     v0356 = v0472;
5731     v0472 = stack[-2];
5732     v0481 = qcar(v0472);
5733     v0472 = v0356;
5734     v0472 = qcar(v0472);
5735     if (equal(v0481, v0472)) goto v0528;
5736     v0481 = v0356;
5737     v0472 = stack[-2];
5738     v0481 = list2(v0481, v0472);
5739     nil = C_nil;
5740     if (exception_pending()) goto v0332;
5741     env = stack[-6];
5742     v0472 = stack[-5];
5743     fn = elt(env, 2); /* union */
5744     v0472 = (*qfn2(fn))(qenv(fn), v0481, v0472);
5745     nil = C_nil;
5746     if (exception_pending()) goto v0332;
5747     env = stack[-6];
5748     stack[-5] = v0472;
5749     goto v0166;
5750 
5751 v0166:
5752     v0472 = stack[-1];
5753     v0472 = qcdr(v0472);
5754     stack[-1] = v0472;
5755     goto v0328;
5756 
5757 v0528:
5758     v0472 = v0356;
5759     stack[0] = qcar(v0472);
5760     v0472 = v0356;
5761     v0481 = qcdr(v0472);
5762     v0472 = stack[-2];
5763     v0472 = qcdr(v0472);
5764     v0472 = plus2(v0481, v0472);
5765     nil = C_nil;
5766     if (exception_pending()) goto v0332;
5767     env = stack[-6];
5768     v0472 = cons(stack[0], v0472);
5769     nil = C_nil;
5770     if (exception_pending()) goto v0332;
5771     env = stack[-6];
5772     v0481 = ncons(v0472);
5773     nil = C_nil;
5774     if (exception_pending()) goto v0332;
5775     env = stack[-6];
5776     v0472 = stack[-5];
5777     fn = elt(env, 2); /* union */
5778     v0472 = (*qfn2(fn))(qenv(fn), v0481, v0472);
5779     nil = C_nil;
5780     if (exception_pending()) goto v0332;
5781     env = stack[-6];
5782     stack[-5] = v0472;
5783     goto v0166;
5784 
5785 v0326:
5786     v0472 = stack[-3];
5787     v0472 = qcdr(v0472);
5788     stack[-3] = v0472;
5789     goto v0176;
5790 /* error exit handlers */
5791 v0332:
5792     popv(7);
5793     return nil;
5794 }
5795 
5796 
5797 
5798 /* Code for simpdfp */
5799 
CC_simpdfp(Lisp_Object env,Lisp_Object v0000)5800 static Lisp_Object CC_simpdfp(Lisp_Object env,
5801                          Lisp_Object v0000)
5802 {
5803     Lisp_Object nil = C_nil;
5804     Lisp_Object v0046, v0244, v0245, v0042, v0043;
5805     Lisp_Object fn;
5806     CSL_IGNORE(nil);
5807 #ifdef DEBUG
5808     if (check_env(env)) return aerror("env for simpdfp");
5809 #endif
5810     if (stack >= stacklimit)
5811     {
5812         push(v0000);
5813         env = reclaim(env, "stack", GC_STACK, 0);
5814         pop(v0000);
5815         nil = C_nil;
5816         if (exception_pending()) return nil;
5817     }
5818     push(env);
5819 /* space for vars preserved across procedure calls */
5820     push5(nil, nil, nil, nil, nil);
5821     push(nil);
5822 /* copy arguments values to proper place */
5823     stack[0] = v0000;
5824 /* end of prologue */
5825     v0046 = stack[0];
5826     v0244 = Llength(nil, v0046);
5827     nil = C_nil;
5828     if (exception_pending()) goto v0242;
5829     env = stack[-6];
5830     v0046 = (Lisp_Object)33; /* 2 */
5831     v0046 = (Lisp_Object)lessp2(v0244, v0046);
5832     nil = C_nil;
5833     if (exception_pending()) goto v0242;
5834     v0046 = v0046 ? lisp_true : nil;
5835     env = stack[-6];
5836     if (v0046 == nil) goto v0131;
5837     v0244 = elt(env, 2); /* dfp */
5838     v0046 = stack[0];
5839     v0244 = cons(v0244, v0046);
5840     nil = C_nil;
5841     if (exception_pending()) goto v0242;
5842     env = stack[-6];
5843     v0046 = elt(env, 11); /* "generic differential" */
5844     fn = elt(env, 12); /* typerr */
5845     v0046 = (*qfn2(fn))(qenv(fn), v0244, v0046);
5846     nil = C_nil;
5847     if (exception_pending()) goto v0242;
5848     v0046 = nil;
5849     { popv(7); return onevalue(v0046); }
5850 
5851 v0131:
5852     v0046 = stack[0];
5853     v0046 = qcar(v0046);
5854     fn = elt(env, 13); /* reval */
5855     v0046 = (*qfn1(fn))(qenv(fn), v0046);
5856     nil = C_nil;
5857     if (exception_pending()) goto v0242;
5858     env = stack[-6];
5859     stack[-5] = v0046;
5860     v0046 = stack[-5];
5861     v0046 = Lconsp(nil, v0046);
5862     env = stack[-6];
5863     if (v0046 == nil) goto v0168;
5864     v0046 = stack[-5];
5865     v0046 = qcar(v0046);
5866     stack[-1] = v0046;
5867     v0046 = stack[0];
5868     v0046 = qcdr(v0046);
5869     v0046 = qcar(v0046);
5870     fn = elt(env, 13); /* reval */
5871     v0046 = (*qfn1(fn))(qenv(fn), v0046);
5872     nil = C_nil;
5873     if (exception_pending()) goto v0242;
5874     env = stack[-6];
5875     v0043 = v0046;
5876     v0244 = v0043;
5877     v0046 = qvalue(elt(env, 1)); /* frlis!* */
5878     v0046 = Lmember(nil, v0244, v0046);
5879     if (v0046 == nil) goto v0156;
5880     v0046 = qvalue(elt(env, 4)); /* nil */
5881     goto v0322;
5882 
5883 v0322:
5884     if (v0046 == nil) goto v0298;
5885     stack[-4] = v0043;
5886     v0046 = stack[0];
5887     v0046 = qcdr(v0046);
5888     v0046 = qcdr(v0046);
5889     stack[-3] = v0046;
5890     v0046 = stack[-3];
5891     if (v0046 == nil) goto v0363;
5892     v0046 = stack[-3];
5893     v0046 = qcar(v0046);
5894     fn = elt(env, 13); /* reval */
5895     v0046 = (*qfn1(fn))(qenv(fn), v0046);
5896     nil = C_nil;
5897     if (exception_pending()) goto v0242;
5898     env = stack[-6];
5899     v0046 = ncons(v0046);
5900     nil = C_nil;
5901     if (exception_pending()) goto v0242;
5902     env = stack[-6];
5903     stack[-1] = v0046;
5904     stack[-2] = v0046;
5905     goto v0552;
5906 
5907 v0552:
5908     v0046 = stack[-3];
5909     v0046 = qcdr(v0046);
5910     stack[-3] = v0046;
5911     v0046 = stack[-3];
5912     if (v0046 == nil) goto v0076;
5913     stack[0] = stack[-1];
5914     v0046 = stack[-3];
5915     v0046 = qcar(v0046);
5916     fn = elt(env, 13); /* reval */
5917     v0046 = (*qfn1(fn))(qenv(fn), v0046);
5918     nil = C_nil;
5919     if (exception_pending()) goto v0242;
5920     env = stack[-6];
5921     v0046 = ncons(v0046);
5922     nil = C_nil;
5923     if (exception_pending()) goto v0242;
5924     env = stack[-6];
5925     v0046 = Lrplacd(nil, stack[0], v0046);
5926     nil = C_nil;
5927     if (exception_pending()) goto v0242;
5928     env = stack[-6];
5929     v0046 = stack[-1];
5930     v0046 = qcdr(v0046);
5931     stack[-1] = v0046;
5932     goto v0552;
5933 
5934 v0076:
5935     v0046 = stack[-2];
5936     goto v0332;
5937 
5938 v0332:
5939     v0046 = cons(stack[-4], v0046);
5940     nil = C_nil;
5941     if (exception_pending()) goto v0242;
5942     env = stack[-6];
5943     v0043 = v0046;
5944     stack[0] = elt(env, 3); /* list */
5945     v0244 = v0043;
5946     v0046 = qvalue(elt(env, 4)); /* nil */
5947     fn = elt(env, 14); /* dfp!-normalize */
5948     v0046 = (*qfn2(fn))(qenv(fn), v0244, v0046);
5949     nil = C_nil;
5950     if (exception_pending()) goto v0242;
5951     env = stack[-6];
5952     v0046 = cons(stack[0], v0046);
5953     nil = C_nil;
5954     if (exception_pending()) goto v0242;
5955     env = stack[-6];
5956     v0043 = v0046;
5957     v0244 = elt(env, 2); /* dfp */
5958     v0046 = stack[-5];
5959     v0245 = v0043;
5960     v0046 = list3(v0244, v0046, v0245);
5961     nil = C_nil;
5962     if (exception_pending()) goto v0242;
5963     env = stack[-6];
5964     {
5965         popv(7);
5966         fn = elt(env, 15); /* simp */
5967         return (*qfn1(fn))(qenv(fn), v0046);
5968     }
5969 
5970 v0363:
5971     v0046 = qvalue(elt(env, 4)); /* nil */
5972     goto v0332;
5973 
5974 v0298:
5975     v0244 = stack[-1];
5976     v0046 = elt(env, 5); /* generic_function */
5977     v0046 = get(v0244, v0046);
5978     env = stack[-6];
5979     v0042 = v0046;
5980     v0046 = qvalue(elt(env, 6)); /* t */
5981     v0244 = v0042;
5982     if (v0244 == nil) goto v0553;
5983     v0245 = v0043;
5984     v0244 = elt(env, 3); /* list */
5985     if (!consp(v0245)) goto v0553;
5986     v0245 = qcar(v0245);
5987     if (!(v0245 == v0244)) goto v0553;
5988     v0244 = v0043;
5989     v0244 = qcdr(v0244);
5990     v0245 = v0244;
5991     goto v0554;
5992 
5993 v0554:
5994     v0244 = v0245;
5995     if (v0244 == nil) goto v0553;
5996     v0244 = v0245;
5997     v0244 = qcar(v0244);
5998     if (v0046 == nil) goto v0370;
5999     v0046 = v0042;
6000     v0046 = Lmember(nil, v0244, v0046);
6001     goto v0350;
6002 
6003 v0350:
6004     v0244 = v0245;
6005     v0244 = qcdr(v0244);
6006     v0245 = v0244;
6007     goto v0554;
6008 
6009 v0370:
6010     v0046 = qvalue(elt(env, 4)); /* nil */
6011     goto v0350;
6012 
6013 v0553:
6014     if (v0046 == nil) goto v0251;
6015     v0244 = v0043;
6016     v0046 = elt(env, 7); /* (list) */
6017     if (equal(v0244, v0046)) goto v0364;
6018     v0046 = v0042;
6019     if (v0046 == nil) goto v0555;
6020     v0244 = stack[-1];
6021     v0046 = elt(env, 8); /* dfp_commute */
6022     v0046 = Lflagp(nil, v0244, v0046);
6023     env = stack[-6];
6024     if (v0046 == nil) goto v0555;
6025     v0046 = v0042;
6026     stack[-1] = qvalue(elt(env, 9)); /* kord!* */
6027     qvalue(elt(env, 9)) = v0046; /* kord!* */
6028     stack[0] = elt(env, 3); /* list */
6029     v0046 = v0043;
6030     v0244 = qcdr(v0046);
6031     v0046 = elt(env, 10); /* ordp */
6032     fn = elt(env, 16); /* sort */
6033     v0046 = (*qfn2(fn))(qenv(fn), v0244, v0046);
6034     nil = C_nil;
6035     if (exception_pending()) goto v0243;
6036     env = stack[-6];
6037     v0046 = cons(stack[0], v0046);
6038     nil = C_nil;
6039     if (exception_pending()) goto v0243;
6040     env = stack[-6];
6041     v0043 = v0046;
6042     qvalue(elt(env, 9)) = stack[-1]; /* kord!* */
6043     goto v0555;
6044 
6045 v0555:
6046     v0244 = elt(env, 2); /* dfp */
6047     v0046 = stack[-5];
6048     v0245 = v0043;
6049     v0046 = list3(v0244, v0046, v0245);
6050     nil = C_nil;
6051     if (exception_pending()) goto v0242;
6052     env = stack[-6];
6053     stack[0] = v0046;
6054     v0244 = stack[0];
6055     v0046 = (Lisp_Object)17; /* 1 */
6056     {
6057         popv(7);
6058         fn = elt(env, 17); /* mksq */
6059         return (*qfn2(fn))(qenv(fn), v0244, v0046);
6060     }
6061 
6062 v0364:
6063     v0244 = stack[-5];
6064     v0046 = (Lisp_Object)17; /* 1 */
6065     {
6066         popv(7);
6067         fn = elt(env, 17); /* mksq */
6068         return (*qfn2(fn))(qenv(fn), v0244, v0046);
6069     }
6070 
6071 v0251:
6072     v0244 = qvalue(elt(env, 4)); /* nil */
6073     v0046 = (Lisp_Object)17; /* 1 */
6074     popv(7);
6075     return cons(v0244, v0046);
6076 
6077 v0156:
6078     v0244 = v0043;
6079     v0046 = elt(env, 3); /* list */
6080     v0046 = Leqcar(nil, v0244, v0046);
6081     env = stack[-6];
6082     v0046 = (v0046 == nil ? lisp_true : nil);
6083     goto v0322;
6084 
6085 v0168:
6086     v0046 = stack[0];
6087     v0046 = qcdr(v0046);
6088     v0244 = qcar(v0046);
6089     v0046 = qvalue(elt(env, 1)); /* frlis!* */
6090     v0046 = Lmember(nil, v0244, v0046);
6091     if (v0046 == nil) goto v0190;
6092     v0244 = elt(env, 2); /* dfp */
6093     v0046 = stack[0];
6094     v0244 = cons(v0244, v0046);
6095     nil = C_nil;
6096     if (exception_pending()) goto v0242;
6097     env = stack[-6];
6098     v0046 = (Lisp_Object)17; /* 1 */
6099     {
6100         popv(7);
6101         fn = elt(env, 17); /* mksq */
6102         return (*qfn2(fn))(qenv(fn), v0244, v0046);
6103     }
6104 
6105 v0190:
6106     v0244 = stack[-5];
6107     v0046 = stack[0];
6108     v0046 = qcdr(v0046);
6109     v0046 = qcar(v0046);
6110     v0046 = qcdr(v0046);
6111     v0046 = cons(v0244, v0046);
6112     nil = C_nil;
6113     if (exception_pending()) goto v0242;
6114     env = stack[-6];
6115     {
6116         popv(7);
6117         fn = elt(env, 18); /* simpdf */
6118         return (*qfn1(fn))(qenv(fn), v0046);
6119     }
6120 /* error exit handlers */
6121 v0243:
6122     env = stack[-6];
6123     qvalue(elt(env, 9)) = stack[-1]; /* kord!* */
6124     popv(7);
6125     return nil;
6126 v0242:
6127     popv(7);
6128     return nil;
6129 }
6130 
6131 
6132 
6133 /* Code for grk */
6134 
CC_grk(Lisp_Object env,int nargs,Lisp_Object v0000,Lisp_Object v0001,Lisp_Object v0140,...)6135 static Lisp_Object MS_CDECL CC_grk(Lisp_Object env, int nargs,
6136                          Lisp_Object v0000, Lisp_Object v0001,
6137                          Lisp_Object v0140, ...)
6138 {
6139     Lisp_Object nil = C_nil;
6140     Lisp_Object v0556, v0268, v0557;
6141     Lisp_Object fn;
6142     CSL_IGNORE(nil);
6143     argcheck(nargs, 3, "grk");
6144 #ifdef DEBUG
6145     if (check_env(env)) return aerror("env for grk");
6146 #endif
6147     if (stack >= stacklimit)
6148     {
6149         push3(v0140,v0001,v0000);
6150         env = reclaim(env, "stack", GC_STACK, 0);
6151         pop3(v0000,v0001,v0140);
6152         nil = C_nil;
6153         if (exception_pending()) return nil;
6154     }
6155     push(env);
6156 /* space for vars preserved across procedure calls */
6157     push5(nil, nil, nil, nil, nil);
6158     push5(nil, nil, nil, nil, nil);
6159 /* copy arguments values to proper place */
6160     stack[-7] = v0140;
6161     stack[-8] = v0001;
6162     v0556 = v0000;
6163 /* end of prologue */
6164 
6165 v0173:
6166     v0268 = v0556;
6167     if (!consp(v0268)) goto v0075;
6168     v0268 = v0556;
6169     v0268 = qcar(v0268);
6170     v0268 = (consp(v0268) ? nil : lisp_true);
6171     goto v0027;
6172 
6173 v0027:
6174     if (!(v0268 == nil)) { Lisp_Object res = stack[-7]; popv(11); return onevalue(res); }
6175     v0268 = v0556;
6176     v0268 = qcar(v0268);
6177     v0268 = qcar(v0268);
6178     v0268 = qcar(v0268);
6179     stack[-9] = v0268;
6180     v0268 = v0556;
6181     stack[-6] = qcdr(v0268);
6182     stack[-5] = stack[-8];
6183     v0556 = qcar(v0556);
6184     stack[-4] = qcdr(v0556);
6185     stack[-3] = stack[-8];
6186     v0556 = stack[-9];
6187     if (!consp(v0556)) goto v0180;
6188     v0556 = stack[-9];
6189     v0556 = qcdr(v0556);
6190     stack[-2] = v0556;
6191     goto v0549;
6192 
6193 v0549:
6194     v0556 = stack[-2];
6195     if (v0556 == nil) goto v0334;
6196     v0556 = stack[-2];
6197     v0556 = qcar(v0556);
6198     fn = elt(env, 3); /* simp */
6199     v0556 = (*qfn1(fn))(qenv(fn), v0556);
6200     nil = C_nil;
6201     if (exception_pending()) goto v0340;
6202     env = stack[-10];
6203     v0268 = v0556;
6204     v0556 = v0268;
6205     stack[-1] = qcar(v0556);
6206     stack[0] = stack[-8];
6207     v0556 = v0268;
6208     v0557 = qcdr(v0556);
6209     v0268 = stack[-8];
6210     v0556 = stack[-7];
6211     v0556 = CC_grk(env, 3, v0557, v0268, v0556);
6212     nil = C_nil;
6213     if (exception_pending()) goto v0340;
6214     env = stack[-10];
6215     v0556 = CC_grk(env, 3, stack[-1], stack[0], v0556);
6216     nil = C_nil;
6217     if (exception_pending()) goto v0340;
6218     env = stack[-10];
6219     stack[-7] = v0556;
6220     v0556 = stack[-2];
6221     v0556 = qcdr(v0556);
6222     stack[-2] = v0556;
6223     goto v0549;
6224 
6225 v0334:
6226     v0556 = stack[-9];
6227     v0268 = qcar(v0556);
6228     v0556 = stack[-8];
6229     v0556 = Lmember(nil, v0268, v0556);
6230     if (v0556 == nil) goto v0558;
6231     v0268 = stack[-9];
6232     v0556 = stack[-7];
6233     v0556 = Lmember(nil, v0268, v0556);
6234     if (!(v0556 == nil)) goto v0558;
6235     v0268 = stack[-9];
6236     v0556 = stack[-7];
6237     v0556 = cons(v0268, v0556);
6238     nil = C_nil;
6239     if (exception_pending()) goto v0340;
6240     env = stack[-10];
6241     goto v0284;
6242 
6243 v0284:
6244     v0268 = CC_grk(env, 3, stack[-4], stack[-3], v0556);
6245     nil = C_nil;
6246     if (exception_pending()) goto v0340;
6247     env = stack[-10];
6248     v0556 = stack[-6];
6249     stack[-8] = stack[-5];
6250     stack[-7] = v0268;
6251     goto v0173;
6252 
6253 v0558:
6254     v0556 = stack[-7];
6255     goto v0284;
6256 
6257 v0180:
6258     v0556 = stack[-7];
6259     goto v0284;
6260 
6261 v0075:
6262     v0268 = qvalue(elt(env, 1)); /* t */
6263     goto v0027;
6264 /* error exit handlers */
6265 v0340:
6266     popv(11);
6267     return nil;
6268 }
6269 
6270 
6271 
6272 /* Code for ofsf_smmkatl!-and1 */
6273 
CC_ofsf_smmkatlKand1(Lisp_Object env,int nargs,Lisp_Object v0000,Lisp_Object v0001,Lisp_Object v0140,...)6274 static Lisp_Object MS_CDECL CC_ofsf_smmkatlKand1(Lisp_Object env, int nargs,
6275                          Lisp_Object v0000, Lisp_Object v0001,
6276                          Lisp_Object v0140, ...)
6277 {
6278     Lisp_Object nil = C_nil;
6279     Lisp_Object v0351, v0264, v0147;
6280     Lisp_Object fn;
6281     CSL_IGNORE(nil);
6282     argcheck(nargs, 3, "ofsf_smmkatl-and1");
6283 #ifdef DEBUG
6284     if (check_env(env)) return aerror("env for ofsf_smmkatl-and1");
6285 #endif
6286     if (stack >= stacklimit)
6287     {
6288         push3(v0140,v0001,v0000);
6289         env = reclaim(env, "stack", GC_STACK, 0);
6290         pop3(v0000,v0001,v0140);
6291         nil = C_nil;
6292         if (exception_pending()) return nil;
6293     }
6294     push(env);
6295 /* space for vars preserved across procedure calls */
6296     push5(nil, nil, nil, nil, nil);
6297     push3(nil, nil, nil);
6298 /* copy arguments values to proper place */
6299     stack[-5] = v0140;
6300     stack[0] = v0001;
6301     stack[-6] = v0000;
6302 /* end of prologue */
6303     v0351 = stack[0];
6304     v0264 = qcar(v0351);
6305     v0351 = (Lisp_Object)17; /* 1 */
6306     v0351 = cons(v0264, v0351);
6307     nil = C_nil;
6308     if (exception_pending()) goto v0146;
6309     env = stack[-8];
6310     stack[-7] = v0351;
6311     v0351 = stack[0];
6312     v0351 = qcdr(v0351);
6313     stack[-4] = v0351;
6314     goto v0285;
6315 
6316 v0285:
6317     v0351 = stack[-4];
6318     if (v0351 == nil) goto v0094;
6319     v0351 = stack[-4];
6320     v0351 = qcar(v0351);
6321     stack[0] = v0351;
6322     v0351 = stack[0];
6323     v0264 = qcar(v0351);
6324     v0351 = stack[-5];
6325     if (equal(v0264, v0351)) goto v0293;
6326     v0351 = nil;
6327     goto v0127;
6328 
6329 v0127:
6330     stack[-3] = v0351;
6331     v0351 = stack[-3];
6332     fn = elt(env, 4); /* lastpair */
6333     v0351 = (*qfn1(fn))(qenv(fn), v0351);
6334     nil = C_nil;
6335     if (exception_pending()) goto v0146;
6336     env = stack[-8];
6337     stack[-2] = v0351;
6338     v0351 = stack[-4];
6339     v0351 = qcdr(v0351);
6340     stack[-4] = v0351;
6341     v0351 = stack[-2];
6342     if (!consp(v0351)) goto v0285;
6343     else goto v0329;
6344 
6345 v0329:
6346     v0351 = stack[-4];
6347     if (v0351 == nil) { Lisp_Object res = stack[-3]; popv(9); return onevalue(res); }
6348     stack[-1] = stack[-2];
6349     v0351 = stack[-4];
6350     v0351 = qcar(v0351);
6351     stack[0] = v0351;
6352     v0351 = stack[0];
6353     v0264 = qcar(v0351);
6354     v0351 = stack[-5];
6355     if (equal(v0264, v0351)) goto v0355;
6356     v0351 = nil;
6357     goto v0278;
6358 
6359 v0278:
6360     v0351 = Lrplacd(nil, stack[-1], v0351);
6361     nil = C_nil;
6362     if (exception_pending()) goto v0146;
6363     env = stack[-8];
6364     v0351 = stack[-2];
6365     fn = elt(env, 4); /* lastpair */
6366     v0351 = (*qfn1(fn))(qenv(fn), v0351);
6367     nil = C_nil;
6368     if (exception_pending()) goto v0146;
6369     env = stack[-8];
6370     stack[-2] = v0351;
6371     v0351 = stack[-4];
6372     v0351 = qcdr(v0351);
6373     stack[-4] = v0351;
6374     goto v0329;
6375 
6376 v0355:
6377     v0351 = stack[0];
6378     v0351 = qcdr(v0351);
6379     v0264 = qcar(v0351);
6380     v0351 = elt(env, 2); /* (lessp greaterp) */
6381     v0351 = Lmemq(nil, v0264, v0351);
6382     if (v0351 == nil) goto v0107;
6383     v0351 = stack[-6];
6384     v0147 = qcdr(v0351);
6385     v0351 = stack[0];
6386     v0264 = qcdr(v0351);
6387     v0351 = stack[-7];
6388     fn = elt(env, 5); /* ofsf_smmkat!-and2 */
6389     v0351 = (*qfnn(fn))(qenv(fn), 3, v0147, v0264, v0351);
6390     nil = C_nil;
6391     if (exception_pending()) goto v0146;
6392     env = stack[-8];
6393     v0264 = v0351;
6394     if (v0351 == nil) goto v0107;
6395     v0351 = v0264;
6396     v0351 = ncons(v0351);
6397     nil = C_nil;
6398     if (exception_pending()) goto v0146;
6399     env = stack[-8];
6400     goto v0278;
6401 
6402 v0107:
6403     v0147 = elt(env, 3); /* and */
6404     v0351 = stack[0];
6405     v0264 = qcdr(v0351);
6406     v0351 = stack[-7];
6407     fn = elt(env, 6); /* ofsf_entry2at */
6408     v0351 = (*qfnn(fn))(qenv(fn), 3, v0147, v0264, v0351);
6409     nil = C_nil;
6410     if (exception_pending()) goto v0146;
6411     env = stack[-8];
6412     v0351 = ncons(v0351);
6413     nil = C_nil;
6414     if (exception_pending()) goto v0146;
6415     env = stack[-8];
6416     goto v0278;
6417 
6418 v0293:
6419     v0351 = stack[0];
6420     v0351 = qcdr(v0351);
6421     v0264 = qcar(v0351);
6422     v0351 = elt(env, 2); /* (lessp greaterp) */
6423     v0351 = Lmemq(nil, v0264, v0351);
6424     if (v0351 == nil) goto v0341;
6425     v0351 = stack[-6];
6426     v0147 = qcdr(v0351);
6427     v0351 = stack[0];
6428     v0264 = qcdr(v0351);
6429     v0351 = stack[-7];
6430     fn = elt(env, 5); /* ofsf_smmkat!-and2 */
6431     v0351 = (*qfnn(fn))(qenv(fn), 3, v0147, v0264, v0351);
6432     nil = C_nil;
6433     if (exception_pending()) goto v0146;
6434     env = stack[-8];
6435     v0264 = v0351;
6436     if (v0351 == nil) goto v0341;
6437     v0351 = v0264;
6438     v0351 = ncons(v0351);
6439     nil = C_nil;
6440     if (exception_pending()) goto v0146;
6441     env = stack[-8];
6442     goto v0127;
6443 
6444 v0341:
6445     v0147 = elt(env, 3); /* and */
6446     v0351 = stack[0];
6447     v0264 = qcdr(v0351);
6448     v0351 = stack[-7];
6449     fn = elt(env, 6); /* ofsf_entry2at */
6450     v0351 = (*qfnn(fn))(qenv(fn), 3, v0147, v0264, v0351);
6451     nil = C_nil;
6452     if (exception_pending()) goto v0146;
6453     env = stack[-8];
6454     v0351 = ncons(v0351);
6455     nil = C_nil;
6456     if (exception_pending()) goto v0146;
6457     env = stack[-8];
6458     goto v0127;
6459 
6460 v0094:
6461     v0351 = qvalue(elt(env, 1)); /* nil */
6462     { popv(9); return onevalue(v0351); }
6463 /* error exit handlers */
6464 v0146:
6465     popv(9);
6466     return nil;
6467 }
6468 
6469 
6470 
6471 setup_type const u58_setup[] =
6472 {
6473     {"dv_skelsplit1",           too_few_2,      CC_dv_skelsplit1,wrong_no_2},
6474     {"mkgi",                    too_few_2,      CC_mkgi,       wrong_no_2},
6475     {"cl_atnum",                CC_cl_atnum,    too_many_1,    wrong_no_1},
6476     {"letexprn",                wrong_no_na,    wrong_no_nb,   (n_args *)CC_letexprn},
6477     {"get*elem*in*generators",  too_few_2,      CC_getHelemHinHgenerators,wrong_no_2},
6478     {"pasf_pnf1",               CC_pasf_pnf1,   too_many_1,    wrong_no_1},
6479     {"empty",                   too_few_2,      CC_empty,      wrong_no_2},
6480     {"remove_items",            too_few_2,      CC_remove_items,wrong_no_2},
6481     {"forstat",                 wrong_no_na,    wrong_no_nb,   (n_args *)CC_forstat},
6482     {"gfval",                   too_few_2,      CC_gfval,      wrong_no_2},
6483     {"install-patches",         CC_installKpatches,too_many_1, wrong_no_1},
6484     {"rd:quotient",             too_few_2,      CC_rdTquotient,wrong_no_2},
6485     {"partitindexvar",          CC_partitindexvar,too_many_1,  wrong_no_1},
6486     {"mult_derivs",             too_few_2,      CC_mult_derivs,wrong_no_2},
6487     {"simpdfp",                 CC_simpdfp,     too_many_1,    wrong_no_1},
6488     {"grk",                     wrong_no_na,    wrong_no_nb,   (n_args *)CC_grk},
6489     {"ofsf_smmkatl-and1",       wrong_no_na,    wrong_no_nb,   (n_args *)CC_ofsf_smmkatlKand1},
6490     {NULL, (one_args *)"u58", (two_args *)"6695 2435723 6629236", 0}
6491 };
6492 
6493 /* end of generated code */
6494