1 
2 /* $destdir\u56.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 fortexp1 */
2280 
CC_fortexp1(Lisp_Object env,Lisp_Object v0000,Lisp_Object v0001)2281 static Lisp_Object CC_fortexp1(Lisp_Object env,
2282                          Lisp_Object v0000, Lisp_Object v0001)
2283 {
2284     Lisp_Object nil = C_nil;
2285     Lisp_Object v0159, v0160, v0161;
2286     Lisp_Object fn;
2287     CSL_IGNORE(nil);
2288 #ifdef DEBUG
2289     if (check_env(env)) return aerror("env for fortexp1");
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     push4(nil, nil, nil, nil);
2303 /* copy arguments values to proper place */
2304     stack[-3] = v0001;
2305     stack[-1] = v0000;
2306 /* end of prologue */
2307 
2308 v0162:
2309     v0159 = stack[-1];
2310     if (!consp(v0159)) goto v0163;
2311     v0159 = stack[-1];
2312     fn = elt(env, 29); /* listp */
2313     v0159 = (*qfn1(fn))(qenv(fn), v0159);
2314     nil = C_nil;
2315     if (exception_pending()) goto v0164;
2316     env = stack[-9];
2317     if (v0159 == nil) goto v0165;
2318     v0159 = stack[-1];
2319     v0159 = Llength(nil, v0159);
2320     nil = C_nil;
2321     if (exception_pending()) goto v0164;
2322     env = stack[-9];
2323     v0159 = Lonep(nil, v0159);
2324     env = stack[-9];
2325     if (v0159 == nil) goto v0165;
2326     v0159 = stack[-1];
2327     {
2328         popv(10);
2329         fn = elt(env, 30); /* fortranname */
2330         return (*qfn1(fn))(qenv(fn), v0159);
2331     }
2332 
2333 v0165:
2334     v0159 = stack[-1];
2335     v0159 = qcar(v0159);
2336     fn = elt(env, 31); /* optype */
2337     v0159 = (*qfn1(fn))(qenv(fn), v0159);
2338     nil = C_nil;
2339     if (exception_pending()) goto v0164;
2340     env = stack[-9];
2341     if (v0159 == nil) goto v0166;
2342     v0159 = stack[-1];
2343     v0159 = qcar(v0159);
2344     fn = elt(env, 32); /* fortranprecedence */
2345     v0159 = (*qfn1(fn))(qenv(fn), v0159);
2346     nil = C_nil;
2347     if (exception_pending()) goto v0164;
2348     env = stack[-9];
2349     stack[-4] = v0159;
2350     v0159 = stack[-1];
2351     v0159 = qcar(v0159);
2352     fn = elt(env, 33); /* fortranop */
2353     v0159 = (*qfn1(fn))(qenv(fn), v0159);
2354     nil = C_nil;
2355     if (exception_pending()) goto v0164;
2356     env = stack[-9];
2357     stack[-2] = v0159;
2358     v0159 = stack[-1];
2359     v0159 = qcdr(v0159);
2360     stack[-1] = v0159;
2361     v0159 = stack[-1];
2362     v0159 = Llength(nil, v0159);
2363     nil = C_nil;
2364     if (exception_pending()) goto v0164;
2365     env = stack[-9];
2366     v0159 = Lonep(nil, v0159);
2367     env = stack[-9];
2368     if (v0159 == nil) goto v0167;
2369     stack[0] = stack[-2];
2370     v0159 = stack[-1];
2371     v0160 = qcar(v0159);
2372     v0159 = stack[-4];
2373     v0159 = CC_fortexp1(env, v0160, v0159);
2374     nil = C_nil;
2375     if (exception_pending()) goto v0164;
2376     env = stack[-9];
2377     v0159 = cons(stack[0], v0159);
2378     nil = C_nil;
2379     if (exception_pending()) goto v0164;
2380     env = stack[-9];
2381     stack[0] = v0159;
2382     goto v0168;
2383 
2384 v0168:
2385     v0160 = stack[-3];
2386     v0159 = stack[-4];
2387     v0159 = (Lisp_Object)geq2(v0160, v0159);
2388     nil = C_nil;
2389     if (exception_pending()) goto v0164;
2390     v0159 = v0159 ? lisp_true : nil;
2391     env = stack[-9];
2392     if (v0159 == nil) { Lisp_Object res = stack[0]; popv(10); return onevalue(res); }
2393     v0159 = stack[0];
2394     fn = elt(env, 34); /* insertparens */
2395     v0159 = (*qfn1(fn))(qenv(fn), v0159);
2396     nil = C_nil;
2397     if (exception_pending()) goto v0164;
2398     stack[0] = v0159;
2399     { Lisp_Object res = stack[0]; popv(10); return onevalue(res); }
2400 
2401 v0167:
2402     v0159 = stack[-1];
2403     v0160 = qcar(v0159);
2404     v0159 = stack[-4];
2405     v0159 = CC_fortexp1(env, v0160, v0159);
2406     nil = C_nil;
2407     if (exception_pending()) goto v0164;
2408     env = stack[-9];
2409     stack[0] = v0159;
2410     v0160 = stack[-2];
2411     v0159 = elt(env, 1); /* !+ */
2412     if (v0160 == v0159) goto v0169;
2413     v0160 = stack[-2];
2414     v0159 = elt(env, 5); /* !*!* */
2415     if (!(v0160 == v0159)) goto v0170;
2416 
2417 v0171:
2418     v0159 = stack[-1];
2419     v0159 = qcdr(v0159);
2420     stack[-1] = v0159;
2421     if (v0159 == nil) goto v0168;
2422     v0159 = stack[-1];
2423     v0159 = qcar(v0159);
2424     if (!(is_number(v0159))) goto v0172;
2425     v0159 = stack[-1];
2426     v0160 = qcar(v0159);
2427     v0159 = (Lisp_Object)1; /* 0 */
2428     v0159 = (Lisp_Object)lessp2(v0160, v0159);
2429     nil = C_nil;
2430     if (exception_pending()) goto v0164;
2431     v0159 = v0159 ? lisp_true : nil;
2432     env = stack[-9];
2433     if (v0159 == nil) goto v0172;
2434     v0159 = stack[-2];
2435     v0159 = ncons(v0159);
2436     nil = C_nil;
2437     if (exception_pending()) goto v0164;
2438     env = stack[-9];
2439     stack[0] = Lappend(nil, stack[0], v0159);
2440     nil = C_nil;
2441     if (exception_pending()) goto v0164;
2442     env = stack[-9];
2443     v0159 = stack[-1];
2444     v0160 = qcar(v0159);
2445     v0159 = stack[-4];
2446     v0159 = CC_fortexp1(env, v0160, v0159);
2447     nil = C_nil;
2448     if (exception_pending()) goto v0164;
2449     env = stack[-9];
2450     fn = elt(env, 34); /* insertparens */
2451     v0159 = (*qfn1(fn))(qenv(fn), v0159);
2452     nil = C_nil;
2453     if (exception_pending()) goto v0164;
2454     env = stack[-9];
2455     v0159 = Lappend(nil, stack[0], v0159);
2456     nil = C_nil;
2457     if (exception_pending()) goto v0164;
2458     env = stack[-9];
2459     stack[0] = v0159;
2460     goto v0171;
2461 
2462 v0172:
2463     v0159 = stack[-2];
2464     v0159 = ncons(v0159);
2465     nil = C_nil;
2466     if (exception_pending()) goto v0164;
2467     env = stack[-9];
2468     stack[0] = Lappend(nil, stack[0], v0159);
2469     nil = C_nil;
2470     if (exception_pending()) goto v0164;
2471     env = stack[-9];
2472     v0159 = stack[-1];
2473     v0160 = qcar(v0159);
2474     v0159 = stack[-4];
2475     v0159 = CC_fortexp1(env, v0160, v0159);
2476     nil = C_nil;
2477     if (exception_pending()) goto v0164;
2478     env = stack[-9];
2479     v0159 = Lappend(nil, stack[0], v0159);
2480     nil = C_nil;
2481     if (exception_pending()) goto v0164;
2482     env = stack[-9];
2483     stack[0] = v0159;
2484     goto v0171;
2485 
2486 v0170:
2487     v0159 = stack[-1];
2488     v0159 = qcdr(v0159);
2489     stack[-1] = v0159;
2490     if (v0159 == nil) goto v0168;
2491     v0159 = stack[-2];
2492     v0159 = ncons(v0159);
2493     nil = C_nil;
2494     if (exception_pending()) goto v0164;
2495     env = stack[-9];
2496     stack[0] = Lappend(nil, stack[0], v0159);
2497     nil = C_nil;
2498     if (exception_pending()) goto v0164;
2499     env = stack[-9];
2500     v0159 = stack[-1];
2501     v0160 = qcar(v0159);
2502     v0159 = stack[-4];
2503     v0159 = CC_fortexp1(env, v0160, v0159);
2504     nil = C_nil;
2505     if (exception_pending()) goto v0164;
2506     env = stack[-9];
2507     v0159 = Lappend(nil, stack[0], v0159);
2508     nil = C_nil;
2509     if (exception_pending()) goto v0164;
2510     env = stack[-9];
2511     stack[0] = v0159;
2512     goto v0170;
2513 
2514 v0169:
2515     v0159 = stack[-1];
2516     v0159 = qcdr(v0159);
2517     stack[-1] = v0159;
2518     if (v0159 == nil) goto v0168;
2519     v0159 = stack[-1];
2520     v0159 = qcar(v0159);
2521     if (!consp(v0159)) goto v0173;
2522     v0159 = stack[-1];
2523     v0159 = qcar(v0159);
2524     v0160 = qcar(v0159);
2525     v0159 = elt(env, 4); /* minus */
2526     v0159 = Lneq(nil, v0160, v0159);
2527     nil = C_nil;
2528     if (exception_pending()) goto v0164;
2529     env = stack[-9];
2530     goto v0174;
2531 
2532 v0174:
2533     if (v0159 == nil) goto v0175;
2534     v0159 = stack[-2];
2535     v0159 = ncons(v0159);
2536     nil = C_nil;
2537     if (exception_pending()) goto v0164;
2538     env = stack[-9];
2539     v0159 = Lappend(nil, stack[0], v0159);
2540     nil = C_nil;
2541     if (exception_pending()) goto v0164;
2542     env = stack[-9];
2543     stack[0] = v0159;
2544     goto v0175;
2545 
2546 v0175:
2547     v0159 = stack[-1];
2548     v0160 = qcar(v0159);
2549     v0159 = stack[-4];
2550     v0159 = CC_fortexp1(env, v0160, v0159);
2551     nil = C_nil;
2552     if (exception_pending()) goto v0164;
2553     env = stack[-9];
2554     v0159 = Lappend(nil, stack[0], v0159);
2555     nil = C_nil;
2556     if (exception_pending()) goto v0164;
2557     env = stack[-9];
2558     stack[0] = v0159;
2559     goto v0169;
2560 
2561 v0173:
2562     v0159 = qvalue(elt(env, 3)); /* t */
2563     goto v0174;
2564 
2565 v0166:
2566     v0159 = stack[-1];
2567     v0160 = qcar(v0159);
2568     v0159 = elt(env, 6); /* literal */
2569     if (v0160 == v0159) goto v0176;
2570     v0159 = stack[-1];
2571     v0160 = qcar(v0159);
2572     v0159 = elt(env, 7); /* range */
2573     if (v0160 == v0159) goto v0177;
2574     v0159 = stack[-1];
2575     v0160 = qcar(v0159);
2576     v0159 = elt(env, 9); /* !:rd!: */
2577     if (v0160 == v0159) goto v0178;
2578     v0159 = stack[-1];
2579     v0160 = qcar(v0159);
2580     v0159 = elt(env, 18); /* !:crn!: */
2581     if (v0160 == v0159) goto v0179;
2582     v0159 = stack[-1];
2583     v0160 = qcar(v0159);
2584     v0159 = elt(env, 19); /* !:gi!: */
2585     if (v0160 == v0159) goto v0180;
2586     v0159 = stack[-1];
2587     v0160 = qcar(v0159);
2588     v0159 = elt(env, 20); /* !:cr!: */
2589     if (v0160 == v0159) goto v0181;
2590     v0159 = stack[-1];
2591     v0160 = qcar(v0159);
2592     v0159 = elt(env, 26); /* !*fortranname!* */
2593     v0159 = get(v0160, v0159);
2594     env = stack[-9];
2595     stack[-7] = v0159;
2596     v0159 = stack[-1];
2597     v0159 = qcar(v0159);
2598     fn = elt(env, 30); /* fortranname */
2599     v0159 = (*qfn1(fn))(qenv(fn), v0159);
2600     nil = C_nil;
2601     if (exception_pending()) goto v0164;
2602     env = stack[-9];
2603     stack[-8] = v0159;
2604     v0159 = stack[-1];
2605     v0159 = qcdr(v0159);
2606     stack[-1] = v0159;
2607     v0159 = stack[-1];
2608     stack[-6] = v0159;
2609     goto v0182;
2610 
2611 v0182:
2612     v0159 = stack[-6];
2613     if (v0159 == nil) goto v0183;
2614     v0159 = stack[-6];
2615     v0159 = qcar(v0159);
2616     stack[-2] = v0159;
2617     stack[-1] = elt(env, 23); /* !, */
2618     v0159 = stack[-7];
2619     if (v0159 == nil) goto v0184;
2620     v0159 = stack[-2];
2621     v0159 = integerp(v0159);
2622     if (v0159 == nil) goto v0185;
2623     v0159 = stack[-2];
2624     v0159 = Lfloat(nil, v0159);
2625     nil = C_nil;
2626     if (exception_pending()) goto v0164;
2627     env = stack[-9];
2628     v0159 = ncons(v0159);
2629     nil = C_nil;
2630     if (exception_pending()) goto v0164;
2631     env = stack[-9];
2632     goto v0186;
2633 
2634 v0186:
2635     v0159 = cons(stack[-1], v0159);
2636     nil = C_nil;
2637     if (exception_pending()) goto v0164;
2638     env = stack[-9];
2639     stack[-5] = v0159;
2640     v0159 = stack[-5];
2641     fn = elt(env, 35); /* lastpair */
2642     v0159 = (*qfn1(fn))(qenv(fn), v0159);
2643     nil = C_nil;
2644     if (exception_pending()) goto v0164;
2645     env = stack[-9];
2646     stack[-4] = v0159;
2647     v0159 = stack[-6];
2648     v0159 = qcdr(v0159);
2649     stack[-6] = v0159;
2650     v0159 = stack[-4];
2651     if (!consp(v0159)) goto v0182;
2652     else goto v0187;
2653 
2654 v0187:
2655     v0159 = stack[-6];
2656     if (v0159 == nil) goto v0188;
2657     stack[-3] = stack[-4];
2658     v0159 = stack[-6];
2659     v0159 = qcar(v0159);
2660     stack[-2] = v0159;
2661     stack[-1] = elt(env, 23); /* !, */
2662     v0159 = stack[-7];
2663     if (v0159 == nil) goto v0189;
2664     v0159 = stack[-2];
2665     v0159 = integerp(v0159);
2666     if (v0159 == nil) goto v0190;
2667     v0159 = stack[-2];
2668     v0159 = Lfloat(nil, v0159);
2669     nil = C_nil;
2670     if (exception_pending()) goto v0164;
2671     env = stack[-9];
2672     v0159 = ncons(v0159);
2673     nil = C_nil;
2674     if (exception_pending()) goto v0164;
2675     env = stack[-9];
2676     goto v0191;
2677 
2678 v0191:
2679     v0159 = cons(stack[-1], v0159);
2680     nil = C_nil;
2681     if (exception_pending()) goto v0164;
2682     env = stack[-9];
2683     v0159 = Lrplacd(nil, stack[-3], v0159);
2684     nil = C_nil;
2685     if (exception_pending()) goto v0164;
2686     env = stack[-9];
2687     v0159 = stack[-4];
2688     fn = elt(env, 35); /* lastpair */
2689     v0159 = (*qfn1(fn))(qenv(fn), v0159);
2690     nil = C_nil;
2691     if (exception_pending()) goto v0164;
2692     env = stack[-9];
2693     stack[-4] = v0159;
2694     v0159 = stack[-6];
2695     v0159 = qcdr(v0159);
2696     stack[-6] = v0159;
2697     goto v0187;
2698 
2699 v0190:
2700     v0159 = stack[-2];
2701     fn = elt(env, 36); /* isfloat */
2702     v0159 = (*qfn1(fn))(qenv(fn), v0159);
2703     nil = C_nil;
2704     if (exception_pending()) goto v0164;
2705     env = stack[-9];
2706     if (!(v0159 == nil)) goto v0192;
2707     v0160 = stack[-8];
2708     v0159 = elt(env, 27); /* (real dble) */
2709     v0159 = Lmemq(nil, v0160, v0159);
2710     if (!(v0159 == nil)) goto v0192;
2711     v0159 = elt(env, 28); /* real */
2712     fn = elt(env, 30); /* fortranname */
2713     stack[0] = (*qfn1(fn))(qenv(fn), v0159);
2714     nil = C_nil;
2715     if (exception_pending()) goto v0164;
2716     env = stack[-9];
2717     v0160 = stack[-2];
2718     v0159 = (Lisp_Object)1; /* 0 */
2719     v0159 = CC_fortexp1(env, v0160, v0159);
2720     nil = C_nil;
2721     if (exception_pending()) goto v0164;
2722     env = stack[-9];
2723     fn = elt(env, 34); /* insertparens */
2724     v0159 = (*qfn1(fn))(qenv(fn), v0159);
2725     nil = C_nil;
2726     if (exception_pending()) goto v0164;
2727     env = stack[-9];
2728     v0159 = cons(stack[0], v0159);
2729     nil = C_nil;
2730     if (exception_pending()) goto v0164;
2731     env = stack[-9];
2732     goto v0191;
2733 
2734 v0192:
2735     v0160 = stack[-2];
2736     v0159 = (Lisp_Object)1; /* 0 */
2737     v0159 = CC_fortexp1(env, v0160, v0159);
2738     nil = C_nil;
2739     if (exception_pending()) goto v0164;
2740     env = stack[-9];
2741     goto v0191;
2742 
2743 v0189:
2744     v0160 = stack[-2];
2745     v0159 = (Lisp_Object)1; /* 0 */
2746     v0159 = CC_fortexp1(env, v0160, v0159);
2747     nil = C_nil;
2748     if (exception_pending()) goto v0164;
2749     env = stack[-9];
2750     goto v0191;
2751 
2752 v0188:
2753     v0159 = stack[-5];
2754     goto v0193;
2755 
2756 v0193:
2757     v0159 = qcdr(v0159);
2758     stack[0] = stack[-8];
2759     fn = elt(env, 34); /* insertparens */
2760     v0159 = (*qfn1(fn))(qenv(fn), v0159);
2761     nil = C_nil;
2762     if (exception_pending()) goto v0164;
2763     {
2764         Lisp_Object v0194 = stack[0];
2765         popv(10);
2766         return cons(v0194, v0159);
2767     }
2768 
2769 v0185:
2770     v0159 = stack[-2];
2771     fn = elt(env, 36); /* isfloat */
2772     v0159 = (*qfn1(fn))(qenv(fn), v0159);
2773     nil = C_nil;
2774     if (exception_pending()) goto v0164;
2775     env = stack[-9];
2776     if (!(v0159 == nil)) goto v0195;
2777     v0160 = stack[-8];
2778     v0159 = elt(env, 27); /* (real dble) */
2779     v0159 = Lmemq(nil, v0160, v0159);
2780     if (!(v0159 == nil)) goto v0195;
2781     v0159 = elt(env, 28); /* real */
2782     fn = elt(env, 30); /* fortranname */
2783     stack[0] = (*qfn1(fn))(qenv(fn), v0159);
2784     nil = C_nil;
2785     if (exception_pending()) goto v0164;
2786     env = stack[-9];
2787     v0160 = stack[-2];
2788     v0159 = (Lisp_Object)1; /* 0 */
2789     v0159 = CC_fortexp1(env, v0160, v0159);
2790     nil = C_nil;
2791     if (exception_pending()) goto v0164;
2792     env = stack[-9];
2793     fn = elt(env, 34); /* insertparens */
2794     v0159 = (*qfn1(fn))(qenv(fn), v0159);
2795     nil = C_nil;
2796     if (exception_pending()) goto v0164;
2797     env = stack[-9];
2798     v0159 = cons(stack[0], v0159);
2799     nil = C_nil;
2800     if (exception_pending()) goto v0164;
2801     env = stack[-9];
2802     goto v0186;
2803 
2804 v0195:
2805     v0160 = stack[-2];
2806     v0159 = (Lisp_Object)1; /* 0 */
2807     v0159 = CC_fortexp1(env, v0160, v0159);
2808     nil = C_nil;
2809     if (exception_pending()) goto v0164;
2810     env = stack[-9];
2811     goto v0186;
2812 
2813 v0184:
2814     v0160 = stack[-2];
2815     v0159 = (Lisp_Object)1; /* 0 */
2816     v0159 = CC_fortexp1(env, v0160, v0159);
2817     nil = C_nil;
2818     if (exception_pending()) goto v0164;
2819     env = stack[-9];
2820     goto v0186;
2821 
2822 v0183:
2823     v0159 = qvalue(elt(env, 2)); /* nil */
2824     goto v0193;
2825 
2826 v0181:
2827     v0159 = qvalue(elt(env, 14)); /* !*double */
2828     if (v0159 == nil) goto v0196;
2829     v0159 = qvalue(elt(env, 21)); /* !*f90 */
2830     if (v0159 == nil) goto v0196;
2831     stack[-4] = elt(env, 22); /* cmplx!( */
2832     v0160 = elt(env, 9); /* !:rd!: */
2833     v0159 = stack[-1];
2834     v0159 = qcdr(v0159);
2835     v0159 = qcar(v0159);
2836     v0160 = cons(v0160, v0159);
2837     nil = C_nil;
2838     if (exception_pending()) goto v0164;
2839     env = stack[-9];
2840     v0159 = stack[-3];
2841     stack[-2] = CC_fortexp1(env, v0160, v0159);
2842     nil = C_nil;
2843     if (exception_pending()) goto v0164;
2844     env = stack[-9];
2845     stack[0] = elt(env, 23); /* !, */
2846     v0160 = elt(env, 9); /* !:rd!: */
2847     v0159 = stack[-1];
2848     v0159 = qcdr(v0159);
2849     v0159 = qcdr(v0159);
2850     v0160 = cons(v0160, v0159);
2851     nil = C_nil;
2852     if (exception_pending()) goto v0164;
2853     env = stack[-9];
2854     v0159 = stack[-3];
2855     stack[-1] = CC_fortexp1(env, v0160, v0159);
2856     nil = C_nil;
2857     if (exception_pending()) goto v0164;
2858     env = stack[-9];
2859     v0161 = elt(env, 23); /* !, */
2860     v0160 = elt(env, 24); /* kind!(1!.0!D0!) */
2861     v0159 = elt(env, 25); /* !) */
2862     v0159 = list3(v0161, v0160, v0159);
2863     nil = C_nil;
2864     if (exception_pending()) goto v0164;
2865     env = stack[-9];
2866     v0159 = Lappend(nil, stack[-1], v0159);
2867     nil = C_nil;
2868     if (exception_pending()) goto v0164;
2869     env = stack[-9];
2870     v0159 = cons(stack[0], v0159);
2871     nil = C_nil;
2872     if (exception_pending()) goto v0164;
2873     env = stack[-9];
2874     v0159 = Lappend(nil, stack[-2], v0159);
2875     nil = C_nil;
2876     if (exception_pending()) goto v0164;
2877     {
2878         Lisp_Object v0197 = stack[-4];
2879         popv(10);
2880         return cons(v0197, v0159);
2881     }
2882 
2883 v0196:
2884     stack[-4] = elt(env, 22); /* cmplx!( */
2885     v0160 = elt(env, 9); /* !:rd!: */
2886     v0159 = stack[-1];
2887     v0159 = qcdr(v0159);
2888     v0159 = qcar(v0159);
2889     v0160 = cons(v0160, v0159);
2890     nil = C_nil;
2891     if (exception_pending()) goto v0164;
2892     env = stack[-9];
2893     v0159 = stack[-3];
2894     stack[-2] = CC_fortexp1(env, v0160, v0159);
2895     nil = C_nil;
2896     if (exception_pending()) goto v0164;
2897     env = stack[-9];
2898     stack[0] = elt(env, 23); /* !, */
2899     v0160 = elt(env, 9); /* !:rd!: */
2900     v0159 = stack[-1];
2901     v0159 = qcdr(v0159);
2902     v0159 = qcdr(v0159);
2903     v0160 = cons(v0160, v0159);
2904     nil = C_nil;
2905     if (exception_pending()) goto v0164;
2906     env = stack[-9];
2907     v0159 = stack[-3];
2908     stack[-1] = CC_fortexp1(env, v0160, v0159);
2909     nil = C_nil;
2910     if (exception_pending()) goto v0164;
2911     env = stack[-9];
2912     v0159 = elt(env, 25); /* !) */
2913     v0159 = ncons(v0159);
2914     nil = C_nil;
2915     if (exception_pending()) goto v0164;
2916     env = stack[-9];
2917     v0159 = Lappend(nil, stack[-1], v0159);
2918     nil = C_nil;
2919     if (exception_pending()) goto v0164;
2920     env = stack[-9];
2921     v0159 = cons(stack[0], v0159);
2922     nil = C_nil;
2923     if (exception_pending()) goto v0164;
2924     env = stack[-9];
2925     v0159 = Lappend(nil, stack[-2], v0159);
2926     nil = C_nil;
2927     if (exception_pending()) goto v0164;
2928     {
2929         Lisp_Object v0198 = stack[-4];
2930         popv(10);
2931         return cons(v0198, v0159);
2932     }
2933 
2934 v0180:
2935     v0159 = stack[-1];
2936     fn = elt(env, 37); /* !*gi2cr */
2937     v0159 = (*qfn1(fn))(qenv(fn), v0159);
2938     nil = C_nil;
2939     if (exception_pending()) goto v0164;
2940     env = stack[-9];
2941     stack[-1] = v0159;
2942     goto v0162;
2943 
2944 v0179:
2945     v0159 = stack[-1];
2946     fn = elt(env, 38); /* !*crn2cr */
2947     v0159 = (*qfn1(fn))(qenv(fn), v0159);
2948     nil = C_nil;
2949     if (exception_pending()) goto v0164;
2950     env = stack[-9];
2951     stack[-1] = v0159;
2952     goto v0162;
2953 
2954 v0178:
2955     v0159 = stack[-1];
2956     v0159 = qcdr(v0159);
2957     if (!consp(v0159)) goto v0199;
2958     stack[-3] = qvalue(elt(env, 10)); /* !:lower!-sci!: */
2959     qvalue(elt(env, 10)) = nil; /* !:lower!-sci!: */
2960     stack[-2] = qvalue(elt(env, 11)); /* !:upper!-sci!: */
2961     qvalue(elt(env, 11)) = nil; /* !:upper!-sci!: */
2962     v0159 = (Lisp_Object)1; /* 0 */
2963     qvalue(elt(env, 10)) = v0159; /* !:lower!-sci!: */
2964     v0159 = (Lisp_Object)1; /* 0 */
2965     qvalue(elt(env, 11)) = v0159; /* !:upper!-sci!: */
2966     v0159 = stack[-1];
2967     v0159 = qcdr(v0159);
2968     if (!consp(v0159)) goto v0200;
2969     v0159 = stack[-1];
2970     stack[0] = v0159;
2971     goto v0201;
2972 
2973 v0201:
2974     v0160 = qvalue(elt(env, 12)); /* !:bprec!: */
2975     v0159 = (Lisp_Object)49; /* 3 */
2976     v0159 = difference2(v0160, v0159);
2977     nil = C_nil;
2978     if (exception_pending()) goto v0202;
2979     env = stack[-9];
2980     fn = elt(env, 39); /* round!:mt */
2981     v0159 = (*qfn2(fn))(qenv(fn), stack[0], v0159);
2982     nil = C_nil;
2983     if (exception_pending()) goto v0202;
2984     env = stack[-9];
2985     fn = elt(env, 40); /* csl_normbf */
2986     v0159 = (*qfn1(fn))(qenv(fn), v0159);
2987     nil = C_nil;
2988     if (exception_pending()) goto v0202;
2989     env = stack[-9];
2990     fn = elt(env, 41); /* bfexplode0 */
2991     v0159 = (*qfn1(fn))(qenv(fn), v0159);
2992     nil = C_nil;
2993     if (exception_pending()) goto v0202;
2994     env = stack[-9];
2995     stack[-4] = v0159;
2996     v0159 = stack[-4];
2997     v0159 = qcar(v0159);
2998     stack[-1] = v0159;
2999     v0159 = stack[-4];
3000     v0159 = qcdr(v0159);
3001     stack[0] = qcar(v0159);
3002     v0159 = stack[-4];
3003     v0159 = qcdr(v0159);
3004     v0159 = qcdr(v0159);
3005     v0159 = qcar(v0159);
3006     v0159 = sub1(v0159);
3007     nil = C_nil;
3008     if (exception_pending()) goto v0202;
3009     env = stack[-9];
3010     v0159 = plus2(stack[0], v0159);
3011     nil = C_nil;
3012     if (exception_pending()) goto v0202;
3013     env = stack[-9];
3014     stack[-4] = v0159;
3015     v0161 = elt(env, 6); /* literal */
3016     v0159 = stack[-1];
3017     v0160 = qcar(v0159);
3018     v0159 = elt(env, 13); /* !. */
3019     v0160 = list3(v0161, v0160, v0159);
3020     nil = C_nil;
3021     if (exception_pending()) goto v0202;
3022     env = stack[-9];
3023     v0159 = stack[-1];
3024     v0159 = qcdr(v0159);
3025     v0159 = Lappend(nil, v0160, v0159);
3026     nil = C_nil;
3027     if (exception_pending()) goto v0202;
3028     env = stack[-9];
3029     stack[-1] = v0159;
3030     v0160 = stack[-4];
3031     v0159 = (Lisp_Object)1; /* 0 */
3032     if (v0160 == v0159) goto v0203;
3033     stack[0] = stack[-1];
3034     v0159 = qvalue(elt(env, 14)); /* !*double */
3035     if (v0159 == nil) goto v0204;
3036     v0159 = elt(env, 15); /* !D */
3037     v0160 = v0159;
3038     goto v0205;
3039 
3040 v0205:
3041     v0159 = stack[-4];
3042     v0159 = list2(v0160, v0159);
3043     nil = C_nil;
3044     if (exception_pending()) goto v0202;
3045     env = stack[-9];
3046     v0159 = Lappend(nil, stack[0], v0159);
3047     nil = C_nil;
3048     if (exception_pending()) goto v0202;
3049     env = stack[-9];
3050     stack[-1] = v0159;
3051     goto v0206;
3052 
3053 v0206:
3054     v0159 = stack[-1];
3055     fn = elt(env, 42); /* fortliteral */
3056     v0159 = (*qfn1(fn))(qenv(fn), v0159);
3057     nil = C_nil;
3058     if (exception_pending()) goto v0202;
3059     env = stack[-9];
3060     qvalue(elt(env, 11)) = stack[-2]; /* !:upper!-sci!: */
3061     qvalue(elt(env, 10)) = stack[-3]; /* !:lower!-sci!: */
3062     { popv(10); return onevalue(v0159); }
3063 
3064 v0204:
3065     v0159 = elt(env, 16); /* !E */
3066     v0160 = v0159;
3067     goto v0205;
3068 
3069 v0203:
3070     v0159 = qvalue(elt(env, 14)); /* !*double */
3071     if (v0159 == nil) goto v0206;
3072     v0160 = stack[-1];
3073     v0159 = elt(env, 17); /* (!D 0) */
3074     v0159 = Lappend(nil, v0160, v0159);
3075     nil = C_nil;
3076     if (exception_pending()) goto v0202;
3077     env = stack[-9];
3078     stack[-1] = v0159;
3079     goto v0206;
3080 
3081 v0200:
3082     v0159 = stack[-1];
3083     v0159 = qcdr(v0159);
3084     fn = elt(env, 43); /* fl2bf */
3085     v0159 = (*qfn1(fn))(qenv(fn), v0159);
3086     nil = C_nil;
3087     if (exception_pending()) goto v0202;
3088     env = stack[-9];
3089     stack[0] = v0159;
3090     goto v0201;
3091 
3092 v0199:
3093     v0159 = stack[-1];
3094     v0159 = qcdr(v0159);
3095     popv(10);
3096     return ncons(v0159);
3097 
3098 v0177:
3099     v0159 = stack[-1];
3100     v0159 = qcdr(v0159);
3101     v0159 = qcar(v0159);
3102     fn = elt(env, 44); /* fortexp */
3103     stack[-2] = (*qfn1(fn))(qenv(fn), v0159);
3104     nil = C_nil;
3105     if (exception_pending()) goto v0164;
3106     env = stack[-9];
3107     stack[0] = elt(env, 8); /* !: */
3108     v0159 = stack[-1];
3109     v0159 = qcdr(v0159);
3110     v0159 = qcdr(v0159);
3111     v0159 = qcar(v0159);
3112     fn = elt(env, 44); /* fortexp */
3113     v0159 = (*qfn1(fn))(qenv(fn), v0159);
3114     nil = C_nil;
3115     if (exception_pending()) goto v0164;
3116     env = stack[-9];
3117     v0159 = cons(stack[0], v0159);
3118     nil = C_nil;
3119     if (exception_pending()) goto v0164;
3120     {
3121         Lisp_Object v0207 = stack[-2];
3122         popv(10);
3123         return Lappend(nil, v0207, v0159);
3124     }
3125 
3126 v0176:
3127     v0159 = stack[-1];
3128     {
3129         popv(10);
3130         fn = elt(env, 42); /* fortliteral */
3131         return (*qfn1(fn))(qenv(fn), v0159);
3132     }
3133 
3134 v0163:
3135     v0159 = stack[-1];
3136     fn = elt(env, 30); /* fortranname */
3137     v0159 = (*qfn1(fn))(qenv(fn), v0159);
3138     nil = C_nil;
3139     if (exception_pending()) goto v0164;
3140     popv(10);
3141     return ncons(v0159);
3142 /* error exit handlers */
3143 v0202:
3144     env = stack[-9];
3145     qvalue(elt(env, 11)) = stack[-2]; /* !:upper!-sci!: */
3146     qvalue(elt(env, 10)) = stack[-3]; /* !:lower!-sci!: */
3147     popv(10);
3148     return nil;
3149 v0164:
3150     popv(10);
3151     return nil;
3152 }
3153 
3154 
3155 
3156 /* Code for freeindp */
3157 
CC_freeindp(Lisp_Object env,Lisp_Object v0000)3158 static Lisp_Object CC_freeindp(Lisp_Object env,
3159                          Lisp_Object v0000)
3160 {
3161     Lisp_Object nil = C_nil;
3162     Lisp_Object v0141, v0140;
3163     Lisp_Object fn;
3164     CSL_IGNORE(nil);
3165 #ifdef DEBUG
3166     if (check_env(env)) return aerror("env for freeindp");
3167 #endif
3168     if (stack >= stacklimit)
3169     {
3170         push(v0000);
3171         env = reclaim(env, "stack", GC_STACK, 0);
3172         pop(v0000);
3173         nil = C_nil;
3174         if (exception_pending()) return nil;
3175     }
3176     push(env);
3177 /* space for vars preserved across procedure calls */
3178     push(nil);
3179 /* copy arguments values to proper place */
3180     stack[0] = v0000;
3181 /* end of prologue */
3182 
3183 v0222:
3184     v0141 = stack[0];
3185     if (v0141 == nil) goto v0223;
3186     v0141 = stack[0];
3187     v0141 = (is_number(v0141) ? lisp_true : nil);
3188     goto v0224;
3189 
3190 v0224:
3191     if (v0141 == nil) goto v0163;
3192     v0141 = qvalue(elt(env, 2)); /* nil */
3193     { popv(2); return onevalue(v0141); }
3194 
3195 v0163:
3196     v0141 = stack[0];
3197     if (!consp(v0141)) goto v0225;
3198     v0141 = stack[0];
3199     v0140 = qcar(v0141);
3200     v0141 = elt(env, 3); /* !*sq */
3201     if (v0140 == v0141) goto v0226;
3202     v0141 = stack[0];
3203     v0141 = qcar(v0141);
3204     if (!(symbolp(v0141))) goto v0153;
3205     v0141 = stack[0];
3206     v0140 = qcar(v0141);
3207     v0141 = elt(env, 5); /* dname */
3208     v0141 = get(v0140, v0141);
3209     env = stack[-1];
3210     if (v0141 == nil) goto v0153;
3211     v0141 = qvalue(elt(env, 2)); /* nil */
3212     { popv(2); return onevalue(v0141); }
3213 
3214 v0153:
3215     v0141 = stack[0];
3216     v0140 = qcar(v0141);
3217     v0141 = elt(env, 6); /* indexvar */
3218     v0141 = Lflagp(nil, v0140, v0141);
3219     env = stack[-1];
3220     if (v0141 == nil) goto v0227;
3221     v0141 = stack[0];
3222     v0141 = qcdr(v0141);
3223     {
3224         popv(2);
3225         fn = elt(env, 9); /* indxchk */
3226         return (*qfn1(fn))(qenv(fn), v0141);
3227     }
3228 
3229 v0227:
3230     v0141 = stack[0];
3231     v0140 = qcar(v0141);
3232     v0141 = elt(env, 7); /* indexfun */
3233     v0141 = get(v0140, v0141);
3234     env = stack[-1];
3235     v0140 = v0141;
3236     if (v0141 == nil) goto v0228;
3237     v0141 = stack[0];
3238     v0141 = qcdr(v0141);
3239     v0141 = Lapply1(nil, v0140, v0141);
3240     nil = C_nil;
3241     if (exception_pending()) goto v0229;
3242     env = stack[-1];
3243     stack[0] = v0141;
3244     goto v0222;
3245 
3246 v0228:
3247     v0141 = stack[0];
3248     v0140 = qcar(v0141);
3249     v0141 = elt(env, 8); /* partdf */
3250     if (v0140 == v0141) goto v0230;
3251     v0141 = stack[0];
3252     v0141 = qcdr(v0141);
3253     fn = elt(env, 10); /* lfreeindp */
3254     v0141 = (*qfn1(fn))(qenv(fn), v0141);
3255     nil = C_nil;
3256     if (exception_pending()) goto v0229;
3257     env = stack[-1];
3258     if (!(v0141 == nil)) { popv(2); return onevalue(v0141); }
3259     v0141 = stack[0];
3260     v0141 = qcar(v0141);
3261     stack[0] = v0141;
3262     goto v0222;
3263 
3264 v0230:
3265     v0141 = stack[0];
3266     v0141 = qcdr(v0141);
3267     v0141 = qcdr(v0141);
3268     if (v0141 == nil) goto v0149;
3269     v0141 = stack[0];
3270     v0141 = qcdr(v0141);
3271     v0141 = qcar(v0141);
3272     v0141 = CC_freeindp(env, v0141);
3273     nil = C_nil;
3274     if (exception_pending()) goto v0229;
3275     env = stack[-1];
3276     if (!(v0141 == nil)) { popv(2); return onevalue(v0141); }
3277     v0141 = stack[0];
3278     v0141 = qcdr(v0141);
3279     v0141 = qcdr(v0141);
3280     v0141 = qcar(v0141);
3281     stack[0] = v0141;
3282     goto v0222;
3283 
3284 v0149:
3285     v0141 = stack[0];
3286     v0141 = qcdr(v0141);
3287     v0141 = qcar(v0141);
3288     stack[0] = v0141;
3289     goto v0222;
3290 
3291 v0226:
3292     v0141 = stack[0];
3293     v0141 = qcdr(v0141);
3294     v0141 = qcar(v0141);
3295     v0141 = qcar(v0141);
3296     if (v0141 == nil) goto v0231;
3297     v0141 = stack[0];
3298     v0141 = qcdr(v0141);
3299     v0140 = qcar(v0141);
3300     v0141 = elt(env, 4); /* prepf */
3301     fn = elt(env, 11); /* sqform */
3302     v0141 = (*qfn2(fn))(qenv(fn), v0140, v0141);
3303     nil = C_nil;
3304     if (exception_pending()) goto v0229;
3305     env = stack[-1];
3306     goto v0232;
3307 
3308 v0232:
3309     stack[0] = v0141;
3310     goto v0222;
3311 
3312 v0231:
3313     v0141 = (Lisp_Object)1; /* 0 */
3314     goto v0232;
3315 
3316 v0225:
3317     v0141 = qvalue(elt(env, 2)); /* nil */
3318     { popv(2); return onevalue(v0141); }
3319 
3320 v0223:
3321     v0141 = qvalue(elt(env, 1)); /* t */
3322     goto v0224;
3323 /* error exit handlers */
3324 v0229:
3325     popv(2);
3326     return nil;
3327 }
3328 
3329 
3330 
3331 /* Code for getphystypestate */
3332 
CC_getphystypestate(Lisp_Object env,Lisp_Object v0000)3333 static Lisp_Object CC_getphystypestate(Lisp_Object env,
3334                          Lisp_Object v0000)
3335 {
3336     Lisp_Object nil = C_nil;
3337     Lisp_Object v0233;
3338     Lisp_Object fn;
3339     CSL_IGNORE(nil);
3340 #ifdef DEBUG
3341     if (check_env(env)) return aerror("env for getphystypestate");
3342 #endif
3343     if (stack >= stacklimit)
3344     {
3345         push(v0000);
3346         env = reclaim(env, "stack", GC_STACK, 0);
3347         pop(v0000);
3348         nil = C_nil;
3349         if (exception_pending()) return nil;
3350     }
3351     push(env);
3352 /* space for vars preserved across procedure calls */
3353     push(nil);
3354 /* copy arguments values to proper place */
3355     stack[0] = v0000;
3356 /* end of prologue */
3357     v0233 = stack[0];
3358     v0233 = qcar(v0233);
3359     fn = elt(env, 3); /* statep!* */
3360     v0233 = (*qfn1(fn))(qenv(fn), v0233);
3361     nil = C_nil;
3362     if (exception_pending()) goto v0234;
3363     env = stack[-1];
3364     if (v0233 == nil) goto v0235;
3365     v0233 = stack[0];
3366     v0233 = qcdr(v0233);
3367     v0233 = qcar(v0233);
3368     fn = elt(env, 3); /* statep!* */
3369     v0233 = (*qfn1(fn))(qenv(fn), v0233);
3370     nil = C_nil;
3371     if (exception_pending()) goto v0234;
3372     env = stack[-1];
3373     if (v0233 == nil) goto v0235;
3374     v0233 = qvalue(elt(env, 1)); /* nil */
3375     { popv(2); return onevalue(v0233); }
3376 
3377 v0235:
3378     v0233 = elt(env, 2); /* state */
3379     { popv(2); return onevalue(v0233); }
3380 /* error exit handlers */
3381 v0234:
3382     popv(2);
3383     return nil;
3384 }
3385 
3386 
3387 
3388 /* Code for intargfn */
3389 
CC_intargfn(Lisp_Object env,int nargs,Lisp_Object v0000,Lisp_Object v0001,Lisp_Object v0211,...)3390 static Lisp_Object MS_CDECL CC_intargfn(Lisp_Object env, int nargs,
3391                          Lisp_Object v0000, Lisp_Object v0001,
3392                          Lisp_Object v0211, ...)
3393 {
3394     Lisp_Object nil = C_nil;
3395     Lisp_Object v0249, v0250, v0153, v0154;
3396     Lisp_Object fn;
3397     CSL_IGNORE(nil);
3398     argcheck(nargs, 3, "intargfn");
3399 #ifdef DEBUG
3400     if (check_env(env)) return aerror("env for intargfn");
3401 #endif
3402     if (stack >= stacklimit)
3403     {
3404         push3(v0211,v0001,v0000);
3405         env = reclaim(env, "stack", GC_STACK, 0);
3406         pop3(v0000,v0001,v0211);
3407         nil = C_nil;
3408         if (exception_pending()) return nil;
3409     }
3410     push(env);
3411 /* space for vars preserved across procedure calls */
3412     push5(nil, nil, nil, nil, nil);
3413 /* copy arguments values to proper place */
3414     stack[-1] = v0211;
3415     stack[-2] = v0001;
3416     stack[-3] = v0000;
3417 /* end of prologue */
3418     stack[-4] = nil;
3419     v0249 = stack[-3];
3420     v0249 = qcdr(v0249);
3421     stack[0] = v0249;
3422     goto v0163;
3423 
3424 v0163:
3425     v0249 = stack[0];
3426     if (v0249 == nil) goto v0251;
3427     v0249 = stack[0];
3428     v0153 = qcar(v0249);
3429     v0250 = stack[-2];
3430     v0249 = stack[-1];
3431     fn = elt(env, 4); /* form1 */
3432     v0154 = (*qfnn(fn))(qenv(fn), 3, v0153, v0250, v0249);
3433     nil = C_nil;
3434     if (exception_pending()) goto v0215;
3435     env = stack[-5];
3436     v0153 = stack[-2];
3437     v0250 = elt(env, 1); /* integer */
3438     v0249 = stack[-1];
3439     fn = elt(env, 5); /* convertmode1 */
3440     v0250 = (*qfnn(fn))(qenv(fn), 4, v0154, v0153, v0250, v0249);
3441     nil = C_nil;
3442     if (exception_pending()) goto v0215;
3443     env = stack[-5];
3444     v0249 = stack[-4];
3445     v0249 = cons(v0250, v0249);
3446     nil = C_nil;
3447     if (exception_pending()) goto v0215;
3448     env = stack[-5];
3449     stack[-4] = v0249;
3450     v0249 = stack[0];
3451     v0249 = qcdr(v0249);
3452     stack[0] = v0249;
3453     goto v0163;
3454 
3455 v0251:
3456     stack[0] = elt(env, 2); /* list */
3457     v0249 = stack[-3];
3458     v0153 = qcar(v0249);
3459     v0250 = stack[-2];
3460     v0249 = elt(env, 3); /* algebraic */
3461     fn = elt(env, 4); /* form1 */
3462     v0250 = (*qfnn(fn))(qenv(fn), 3, v0153, v0250, v0249);
3463     nil = C_nil;
3464     if (exception_pending()) goto v0215;
3465     env = stack[-5];
3466     v0249 = stack[-4];
3467     v0249 = Lnreverse(nil, v0249);
3468     {
3469         Lisp_Object v0252 = stack[0];
3470         popv(6);
3471         return list2star(v0252, v0250, v0249);
3472     }
3473 /* error exit handlers */
3474 v0215:
3475     popv(6);
3476     return nil;
3477 }
3478 
3479 
3480 
3481 /* Code for simpfourier1 */
3482 
CC_simpfourier1(Lisp_Object env,Lisp_Object v0000)3483 static Lisp_Object CC_simpfourier1(Lisp_Object env,
3484                          Lisp_Object v0000)
3485 {
3486     Lisp_Object nil = C_nil;
3487     Lisp_Object v0173, v0261;
3488     Lisp_Object fn;
3489     CSL_IGNORE(nil);
3490 #ifdef DEBUG
3491     if (check_env(env)) return aerror("env for simpfourier1");
3492 #endif
3493     if (stack >= stacklimit)
3494     {
3495         push(v0000);
3496         env = reclaim(env, "stack", GC_STACK, 0);
3497         pop(v0000);
3498         nil = C_nil;
3499         if (exception_pending()) return nil;
3500     }
3501     push(env);
3502 /* space for vars preserved across procedure calls */
3503     push(nil);
3504 /* copy arguments values to proper place */
3505     stack[0] = v0000;
3506 /* end of prologue */
3507     v0173 = stack[0];
3508     if (!consp(v0173)) goto v0262;
3509     v0261 = stack[0];
3510     v0173 = elt(env, 5); /* !:fs!: */
3511     if (!consp(v0261)) goto v0217;
3512     v0261 = qcar(v0261);
3513     if (v0261 == v0173) { Lisp_Object res = stack[0]; popv(2); return onevalue(res); }
3514     else goto v0217;
3515 
3516 v0217:
3517     v0173 = stack[0];
3518     v0261 = qcar(v0173);
3519     v0173 = elt(env, 6); /* simpfour */
3520     v0173 = get(v0261, v0173);
3521     env = stack[-1];
3522     v0261 = v0173;
3523     if (v0173 == nil) goto v0250;
3524     v0173 = stack[0];
3525     v0173 = qcdr(v0173);
3526         popv(2);
3527         return Lapply1(nil, v0261, v0173);
3528 
3529 v0250:
3530     v0261 = elt(env, 7); /* "Unknown function" */
3531     v0173 = stack[0];
3532     v0173 = qcar(v0173);
3533     v0173 = cons(v0261, v0173);
3534     nil = C_nil;
3535     if (exception_pending()) goto v0230;
3536     env = stack[-1];
3537     v0261 = v0173;
3538     v0173 = v0261;
3539     qvalue(elt(env, 2)) = v0173; /* errmsg!* */
3540     v0173 = qvalue(elt(env, 3)); /* !*protfg */
3541     if (!(v0173 == nil)) goto v0151;
3542     v0173 = v0261;
3543     fn = elt(env, 8); /* lprie */
3544     v0173 = (*qfn1(fn))(qenv(fn), v0173);
3545     nil = C_nil;
3546     if (exception_pending()) goto v0230;
3547     env = stack[-1];
3548     goto v0151;
3549 
3550 v0151:
3551     v0173 = Lerror0(nil, 0);
3552     nil = C_nil;
3553     if (exception_pending()) goto v0230;
3554     env = stack[-1];
3555     v0173 = stack[0];
3556     fn = elt(env, 9); /* !*sq2fourier */
3557     v0261 = (*qfn1(fn))(qenv(fn), v0173);
3558     nil = C_nil;
3559     if (exception_pending()) goto v0230;
3560     v0173 = (Lisp_Object)17; /* 1 */
3561     popv(2);
3562     return cons(v0261, v0173);
3563 
3564 v0262:
3565     v0173 = stack[0];
3566     fn = elt(env, 10); /* harmonicp */
3567     v0173 = (*qfn1(fn))(qenv(fn), v0173);
3568     nil = C_nil;
3569     if (exception_pending()) goto v0230;
3570     env = stack[-1];
3571     if (v0173 == nil) goto v0118;
3572     v0173 = elt(env, 1); /* "Secular angle not allowed" */
3573     v0261 = v0173;
3574     v0173 = v0261;
3575     qvalue(elt(env, 2)) = v0173; /* errmsg!* */
3576     v0173 = qvalue(elt(env, 3)); /* !*protfg */
3577     if (!(v0173 == nil)) goto v0241;
3578     v0173 = v0261;
3579     fn = elt(env, 8); /* lprie */
3580     v0173 = (*qfn1(fn))(qenv(fn), v0173);
3581     nil = C_nil;
3582     if (exception_pending()) goto v0230;
3583     env = stack[-1];
3584     goto v0241;
3585 
3586 v0241:
3587     v0173 = Lerror0(nil, 0);
3588     nil = C_nil;
3589     if (exception_pending()) goto v0230;
3590     env = stack[-1];
3591     goto v0118;
3592 
3593 v0118:
3594     v0173 = stack[0];
3595     fn = elt(env, 11); /* simp */
3596     v0173 = (*qfn1(fn))(qenv(fn), v0173);
3597     nil = C_nil;
3598     if (exception_pending()) goto v0230;
3599     env = stack[-1];
3600     fn = elt(env, 9); /* !*sq2fourier */
3601     v0261 = (*qfn1(fn))(qenv(fn), v0173);
3602     nil = C_nil;
3603     if (exception_pending()) goto v0230;
3604     v0173 = (Lisp_Object)17; /* 1 */
3605     popv(2);
3606     return cons(v0261, v0173);
3607 /* error exit handlers */
3608 v0230:
3609     popv(2);
3610     return nil;
3611 }
3612 
3613 
3614 
3615 /* Code for dp_from_a */
3616 
CC_dp_from_a(Lisp_Object env,Lisp_Object v0000)3617 static Lisp_Object CC_dp_from_a(Lisp_Object env,
3618                          Lisp_Object v0000)
3619 {
3620     Lisp_Object nil = C_nil;
3621     Lisp_Object v0274, v0275, v0276;
3622     Lisp_Object fn;
3623     CSL_IGNORE(nil);
3624 #ifdef DEBUG
3625     if (check_env(env)) return aerror("env for dp_from_a");
3626 #endif
3627     if (stack >= stacklimit)
3628     {
3629         push(v0000);
3630         env = reclaim(env, "stack", GC_STACK, 0);
3631         pop(v0000);
3632         nil = C_nil;
3633         if (exception_pending()) return nil;
3634     }
3635     push(env);
3636 /* space for vars preserved across procedure calls */
3637     push5(nil, nil, nil, nil, nil);
3638 /* copy arguments values to proper place */
3639     stack[0] = v0000;
3640 /* end of prologue */
3641     v0275 = stack[0];
3642     v0274 = elt(env, 1); /* list */
3643     if (!consp(v0275)) goto v0241;
3644     v0275 = qcar(v0275);
3645     if (!(v0275 == v0274)) goto v0241;
3646     v0274 = qvalue(elt(env, 2)); /* t */
3647     goto v0262;
3648 
3649 v0262:
3650     if (v0274 == nil) goto v0162;
3651     v0275 = stack[0];
3652     v0274 = elt(env, 4); /* "dpoly" */
3653     {
3654         popv(6);
3655         fn = elt(env, 9); /* typerr */
3656         return (*qfn2(fn))(qenv(fn), v0275, v0274);
3657     }
3658 
3659 v0162:
3660     v0274 = stack[0];
3661     if (!consp(v0274)) goto v0231;
3662     v0274 = stack[0];
3663     v0274 = qcar(v0274);
3664     if (!consp(v0274)) goto v0251;
3665     v0274 = qvalue(elt(env, 2)); /* t */
3666     goto v0243;
3667 
3668 v0243:
3669     if (v0274 == nil) goto v0167;
3670     v0274 = stack[0];
3671     v0275 = qcar(v0274);
3672     v0274 = elt(env, 5); /* "dpoly operator" */
3673     {
3674         popv(6);
3675         fn = elt(env, 9); /* typerr */
3676         return (*qfn2(fn))(qenv(fn), v0275, v0274);
3677     }
3678 
3679 v0167:
3680     v0274 = stack[0];
3681     v0275 = qcar(v0274);
3682     v0274 = elt(env, 6); /* dp!=fn */
3683     v0274 = get(v0275, v0274);
3684     env = stack[-5];
3685     v0276 = v0274;
3686     v0275 = v0276;
3687     v0274 = elt(env, 7); /* dp!=fnpow */
3688     if (v0275 == v0274) goto v0169;
3689     v0274 = v0276;
3690     if (v0274 == nil) goto v0171;
3691     stack[-4] = v0276;
3692     v0274 = stack[0];
3693     v0274 = qcdr(v0274);
3694     stack[-3] = v0274;
3695     v0274 = stack[-3];
3696     if (v0274 == nil) goto v0277;
3697     v0274 = stack[-3];
3698     v0274 = qcar(v0274);
3699     v0274 = CC_dp_from_a(env, v0274);
3700     nil = C_nil;
3701     if (exception_pending()) goto v0278;
3702     env = stack[-5];
3703     v0274 = ncons(v0274);
3704     nil = C_nil;
3705     if (exception_pending()) goto v0278;
3706     env = stack[-5];
3707     stack[-1] = v0274;
3708     stack[-2] = v0274;
3709     goto v0149;
3710 
3711 v0149:
3712     v0274 = stack[-3];
3713     v0274 = qcdr(v0274);
3714     stack[-3] = v0274;
3715     v0274 = stack[-3];
3716     if (v0274 == nil) goto v0175;
3717     stack[0] = stack[-1];
3718     v0274 = stack[-3];
3719     v0274 = qcar(v0274);
3720     v0274 = CC_dp_from_a(env, v0274);
3721     nil = C_nil;
3722     if (exception_pending()) goto v0278;
3723     env = stack[-5];
3724     v0274 = ncons(v0274);
3725     nil = C_nil;
3726     if (exception_pending()) goto v0278;
3727     env = stack[-5];
3728     v0274 = Lrplacd(nil, stack[0], v0274);
3729     nil = C_nil;
3730     if (exception_pending()) goto v0278;
3731     env = stack[-5];
3732     v0274 = stack[-1];
3733     v0274 = qcdr(v0274);
3734     stack[-1] = v0274;
3735     goto v0149;
3736 
3737 v0175:
3738     v0274 = stack[-2];
3739     goto v0279;
3740 
3741 v0279:
3742     v0274 = ncons(v0274);
3743     nil = C_nil;
3744     if (exception_pending()) goto v0278;
3745     env = stack[-5];
3746     {
3747         Lisp_Object v0280 = stack[-4];
3748         popv(6);
3749         fn = elt(env, 10); /* apply */
3750         return (*qfn2(fn))(qenv(fn), v0280, v0274);
3751     }
3752 
3753 v0277:
3754     v0274 = qvalue(elt(env, 8)); /* nil */
3755     goto v0279;
3756 
3757 v0171:
3758     v0274 = stack[0];
3759     {
3760         popv(6);
3761         fn = elt(env, 11); /* dp!=a2dpatom */
3762         return (*qfn1(fn))(qenv(fn), v0274);
3763     }
3764 
3765 v0169:
3766     v0274 = stack[0];
3767     v0274 = qcdr(v0274);
3768     v0274 = qcar(v0274);
3769     v0275 = CC_dp_from_a(env, v0274);
3770     nil = C_nil;
3771     if (exception_pending()) goto v0278;
3772     env = stack[-5];
3773     v0274 = stack[0];
3774     v0274 = qcdr(v0274);
3775     v0274 = qcdr(v0274);
3776     v0274 = qcar(v0274);
3777     {
3778         popv(6);
3779         fn = elt(env, 7); /* dp!=fnpow */
3780         return (*qfn2(fn))(qenv(fn), v0275, v0274);
3781     }
3782 
3783 v0251:
3784     v0274 = stack[0];
3785     v0274 = qcar(v0274);
3786     v0274 = Lsymbolp(nil, v0274);
3787     env = stack[-5];
3788     v0274 = (v0274 == nil ? lisp_true : nil);
3789     goto v0243;
3790 
3791 v0231:
3792     v0274 = stack[0];
3793     {
3794         popv(6);
3795         fn = elt(env, 11); /* dp!=a2dpatom */
3796         return (*qfn1(fn))(qenv(fn), v0274);
3797     }
3798 
3799 v0241:
3800     v0275 = stack[0];
3801     v0274 = elt(env, 3); /* mat */
3802     v0274 = Leqcar(nil, v0275, v0274);
3803     env = stack[-5];
3804     goto v0262;
3805 /* error exit handlers */
3806 v0278:
3807     popv(6);
3808     return nil;
3809 }
3810 
3811 
3812 
3813 /* Code for invbase */
3814 
CC_invbase(Lisp_Object env,Lisp_Object v0000)3815 static Lisp_Object CC_invbase(Lisp_Object env,
3816                          Lisp_Object v0000)
3817 {
3818     Lisp_Object nil = C_nil;
3819     Lisp_Object v0334, v0206, v0335;
3820     Lisp_Object fn;
3821     CSL_IGNORE(nil);
3822 #ifdef DEBUG
3823     if (check_env(env)) return aerror("env for invbase");
3824 #endif
3825     if (stack >= stacklimit)
3826     {
3827         push(v0000);
3828         env = reclaim(env, "stack", GC_STACK, 0);
3829         pop(v0000);
3830         nil = C_nil;
3831         if (exception_pending()) return nil;
3832     }
3833     push(env);
3834 /* space for vars preserved across procedure calls */
3835     push5(nil, nil, nil, nil, nil);
3836     push5(nil, nil, nil, nil, nil);
3837 /* copy arguments values to proper place */
3838     stack[0] = v0000;
3839 /* end of prologue */
3840     v0334 = stack[0];
3841     v0334 = qcar(v0334);
3842     fn = elt(env, 12); /* reval */
3843     v0334 = (*qfn1(fn))(qenv(fn), v0334);
3844     nil = C_nil;
3845     if (exception_pending()) goto v0336;
3846     env = stack[-10];
3847     stack[0] = v0334;
3848     v0206 = stack[0];
3849     v0334 = elt(env, 1); /* list */
3850     if (!consp(v0206)) goto v0337;
3851     v0206 = qcar(v0206);
3852     if (!(v0206 == v0334)) goto v0337;
3853 
3854 v0223:
3855     v0334 = stack[0];
3856     v0334 = qcdr(v0334);
3857     stack[-3] = v0334;
3858     v0334 = stack[-3];
3859     if (v0334 == nil) goto v0246;
3860     v0334 = stack[-3];
3861     v0334 = qcar(v0334);
3862     fn = elt(env, 12); /* reval */
3863     v0334 = (*qfn1(fn))(qenv(fn), v0334);
3864     nil = C_nil;
3865     if (exception_pending()) goto v0336;
3866     env = stack[-10];
3867     v0335 = v0334;
3868     v0206 = elt(env, 5); /* equal */
3869     if (!consp(v0335)) goto v0338;
3870     v0335 = qcar(v0335);
3871     if (!(v0335 == v0206)) goto v0338;
3872     v0335 = elt(env, 6); /* difference */
3873     v0206 = v0334;
3874     v0206 = qcdr(v0206);
3875     v0206 = qcar(v0206);
3876     v0334 = qcdr(v0334);
3877     v0334 = qcdr(v0334);
3878     v0334 = qcar(v0334);
3879     v0334 = list3(v0335, v0206, v0334);
3880     nil = C_nil;
3881     if (exception_pending()) goto v0336;
3882     env = stack[-10];
3883     fn = elt(env, 12); /* reval */
3884     v0334 = (*qfn1(fn))(qenv(fn), v0334);
3885     nil = C_nil;
3886     if (exception_pending()) goto v0336;
3887     env = stack[-10];
3888     goto v0338;
3889 
3890 v0338:
3891     v0334 = ncons(v0334);
3892     nil = C_nil;
3893     if (exception_pending()) goto v0336;
3894     env = stack[-10];
3895     stack[-1] = v0334;
3896     stack[-2] = v0334;
3897     goto v0231;
3898 
3899 v0231:
3900     v0334 = stack[-3];
3901     v0334 = qcdr(v0334);
3902     stack[-3] = v0334;
3903     v0334 = stack[-3];
3904     if (v0334 == nil) goto v0152;
3905     stack[0] = stack[-1];
3906     v0334 = stack[-3];
3907     v0334 = qcar(v0334);
3908     fn = elt(env, 12); /* reval */
3909     v0334 = (*qfn1(fn))(qenv(fn), v0334);
3910     nil = C_nil;
3911     if (exception_pending()) goto v0336;
3912     env = stack[-10];
3913     v0335 = v0334;
3914     v0206 = elt(env, 5); /* equal */
3915     if (!consp(v0335)) goto v0173;
3916     v0335 = qcar(v0335);
3917     if (!(v0335 == v0206)) goto v0173;
3918     v0335 = elt(env, 6); /* difference */
3919     v0206 = v0334;
3920     v0206 = qcdr(v0206);
3921     v0206 = qcar(v0206);
3922     v0334 = qcdr(v0334);
3923     v0334 = qcdr(v0334);
3924     v0334 = qcar(v0334);
3925     v0334 = list3(v0335, v0206, v0334);
3926     nil = C_nil;
3927     if (exception_pending()) goto v0336;
3928     env = stack[-10];
3929     fn = elt(env, 12); /* reval */
3930     v0334 = (*qfn1(fn))(qenv(fn), v0334);
3931     nil = C_nil;
3932     if (exception_pending()) goto v0336;
3933     env = stack[-10];
3934     goto v0173;
3935 
3936 v0173:
3937     v0334 = ncons(v0334);
3938     nil = C_nil;
3939     if (exception_pending()) goto v0336;
3940     env = stack[-10];
3941     v0334 = Lrplacd(nil, stack[0], v0334);
3942     nil = C_nil;
3943     if (exception_pending()) goto v0336;
3944     env = stack[-10];
3945     v0334 = stack[-1];
3946     v0334 = qcdr(v0334);
3947     stack[-1] = v0334;
3948     goto v0231;
3949 
3950 v0152:
3951     v0334 = stack[-2];
3952     goto v0232;
3953 
3954 v0232:
3955     stack[0] = v0334;
3956     v0334 = qvalue(elt(env, 7)); /* invsysvars!* */
3957     if (!(v0334 == nil)) goto v0142;
3958     v0334 = stack[0];
3959     fn = elt(env, 13); /* gvarlis */
3960     v0334 = (*qfn1(fn))(qenv(fn), v0334);
3961     nil = C_nil;
3962     if (exception_pending()) goto v0336;
3963     env = stack[-10];
3964     goto v0142;
3965 
3966 v0142:
3967     stack[-9] = v0334;
3968     v0206 = elt(env, 1); /* list */
3969     v0334 = stack[0];
3970     stack[0] = cons(v0206, v0334);
3971     nil = C_nil;
3972     if (exception_pending()) goto v0336;
3973     env = stack[-10];
3974     v0206 = elt(env, 1); /* list */
3975     v0334 = stack[-9];
3976     v0334 = cons(v0206, v0334);
3977     nil = C_nil;
3978     if (exception_pending()) goto v0336;
3979     env = stack[-10];
3980     fn = elt(env, 14); /* readsys */
3981     v0334 = (*qfn2(fn))(qenv(fn), stack[0], v0334);
3982     nil = C_nil;
3983     if (exception_pending()) goto v0336;
3984     env = stack[-10];
3985     fn = elt(env, 15); /* invbase!* */
3986     v0334 = (*qfnn(fn))(qenv(fn), 0);
3987     nil = C_nil;
3988     if (exception_pending()) goto v0336;
3989     env = stack[-10];
3990     v0334 = qvalue(elt(env, 8)); /* gg */
3991     stack[-8] = v0334;
3992     v0334 = stack[-8];
3993     if (v0334 == nil) goto v0339;
3994     v0334 = stack[-8];
3995     v0334 = qcar(v0334);
3996     stack[-4] = elt(env, 9); /* plus */
3997     v0206 = qvalue(elt(env, 10)); /* gv */
3998     v0334 = qcar(v0334);
3999     v0334 = *(Lisp_Object *)((char *)v0206 + (CELL-TAG_VECTOR) + ((int32_t)v0334/(16/CELL)));
4000     stack[-3] = v0334;
4001     v0334 = stack[-3];
4002     if (v0334 == nil) goto v0340;
4003     v0334 = stack[-3];
4004     v0334 = qcar(v0334);
4005     v0206 = ncons(v0334);
4006     nil = C_nil;
4007     if (exception_pending()) goto v0336;
4008     env = stack[-10];
4009     v0334 = stack[-9];
4010     fn = elt(env, 16); /* !*di2q */
4011     v0334 = (*qfn2(fn))(qenv(fn), v0206, v0334);
4012     nil = C_nil;
4013     if (exception_pending()) goto v0336;
4014     env = stack[-10];
4015     v0206 = v0334;
4016     v0334 = v0206;
4017     v0334 = qcar(v0334);
4018     if (v0334 == nil) goto v0341;
4019     v0334 = elt(env, 11); /* prepf */
4020     fn = elt(env, 17); /* sqform */
4021     v0334 = (*qfn2(fn))(qenv(fn), v0206, v0334);
4022     nil = C_nil;
4023     if (exception_pending()) goto v0336;
4024     env = stack[-10];
4025     goto v0131;
4026 
4027 v0131:
4028     v0334 = ncons(v0334);
4029     nil = C_nil;
4030     if (exception_pending()) goto v0336;
4031     env = stack[-10];
4032     stack[-1] = v0334;
4033     stack[-2] = v0334;
4034     goto v0342;
4035 
4036 v0342:
4037     v0334 = stack[-3];
4038     v0334 = qcdr(v0334);
4039     stack[-3] = v0334;
4040     v0334 = stack[-3];
4041     if (v0334 == nil) goto v0343;
4042     stack[0] = stack[-1];
4043     v0334 = stack[-3];
4044     v0334 = qcar(v0334);
4045     v0206 = ncons(v0334);
4046     nil = C_nil;
4047     if (exception_pending()) goto v0336;
4048     env = stack[-10];
4049     v0334 = stack[-9];
4050     fn = elt(env, 16); /* !*di2q */
4051     v0334 = (*qfn2(fn))(qenv(fn), v0206, v0334);
4052     nil = C_nil;
4053     if (exception_pending()) goto v0336;
4054     env = stack[-10];
4055     v0206 = v0334;
4056     v0334 = v0206;
4057     v0334 = qcar(v0334);
4058     if (v0334 == nil) goto v0344;
4059     v0334 = elt(env, 11); /* prepf */
4060     fn = elt(env, 17); /* sqform */
4061     v0334 = (*qfn2(fn))(qenv(fn), v0206, v0334);
4062     nil = C_nil;
4063     if (exception_pending()) goto v0336;
4064     env = stack[-10];
4065     goto v0122;
4066 
4067 v0122:
4068     v0334 = ncons(v0334);
4069     nil = C_nil;
4070     if (exception_pending()) goto v0336;
4071     env = stack[-10];
4072     v0334 = Lrplacd(nil, stack[0], v0334);
4073     nil = C_nil;
4074     if (exception_pending()) goto v0336;
4075     env = stack[-10];
4076     v0334 = stack[-1];
4077     v0334 = qcdr(v0334);
4078     stack[-1] = v0334;
4079     goto v0342;
4080 
4081 v0344:
4082     v0334 = (Lisp_Object)1; /* 0 */
4083     goto v0122;
4084 
4085 v0343:
4086     v0334 = stack[-2];
4087     goto v0345;
4088 
4089 v0345:
4090     v0334 = cons(stack[-4], v0334);
4091     nil = C_nil;
4092     if (exception_pending()) goto v0336;
4093     env = stack[-10];
4094     v0334 = ncons(v0334);
4095     nil = C_nil;
4096     if (exception_pending()) goto v0336;
4097     env = stack[-10];
4098     stack[-6] = v0334;
4099     stack[-7] = v0334;
4100     goto v0278;
4101 
4102 v0278:
4103     v0334 = stack[-8];
4104     v0334 = qcdr(v0334);
4105     stack[-8] = v0334;
4106     v0334 = stack[-8];
4107     if (v0334 == nil) goto v0346;
4108     stack[-5] = stack[-6];
4109     v0334 = stack[-8];
4110     v0334 = qcar(v0334);
4111     stack[-4] = elt(env, 9); /* plus */
4112     v0206 = qvalue(elt(env, 10)); /* gv */
4113     v0334 = qcar(v0334);
4114     v0334 = *(Lisp_Object *)((char *)v0206 + (CELL-TAG_VECTOR) + ((int32_t)v0334/(16/CELL)));
4115     stack[-3] = v0334;
4116     v0334 = stack[-3];
4117     if (v0334 == nil) goto v0347;
4118     v0334 = stack[-3];
4119     v0334 = qcar(v0334);
4120     v0206 = ncons(v0334);
4121     nil = C_nil;
4122     if (exception_pending()) goto v0336;
4123     env = stack[-10];
4124     v0334 = stack[-9];
4125     fn = elt(env, 16); /* !*di2q */
4126     v0334 = (*qfn2(fn))(qenv(fn), v0206, v0334);
4127     nil = C_nil;
4128     if (exception_pending()) goto v0336;
4129     env = stack[-10];
4130     v0206 = v0334;
4131     v0334 = v0206;
4132     v0334 = qcar(v0334);
4133     if (v0334 == nil) goto v0091;
4134     v0334 = elt(env, 11); /* prepf */
4135     fn = elt(env, 17); /* sqform */
4136     v0334 = (*qfn2(fn))(qenv(fn), v0206, v0334);
4137     nil = C_nil;
4138     if (exception_pending()) goto v0336;
4139     env = stack[-10];
4140     goto v0348;
4141 
4142 v0348:
4143     v0334 = ncons(v0334);
4144     nil = C_nil;
4145     if (exception_pending()) goto v0336;
4146     env = stack[-10];
4147     stack[-1] = v0334;
4148     stack[-2] = v0334;
4149     goto v0349;
4150 
4151 v0349:
4152     v0334 = stack[-3];
4153     v0334 = qcdr(v0334);
4154     stack[-3] = v0334;
4155     v0334 = stack[-3];
4156     if (v0334 == nil) goto v0200;
4157     stack[0] = stack[-1];
4158     v0334 = stack[-3];
4159     v0334 = qcar(v0334);
4160     v0206 = ncons(v0334);
4161     nil = C_nil;
4162     if (exception_pending()) goto v0336;
4163     env = stack[-10];
4164     v0334 = stack[-9];
4165     fn = elt(env, 16); /* !*di2q */
4166     v0334 = (*qfn2(fn))(qenv(fn), v0206, v0334);
4167     nil = C_nil;
4168     if (exception_pending()) goto v0336;
4169     env = stack[-10];
4170     v0206 = v0334;
4171     v0334 = v0206;
4172     v0334 = qcar(v0334);
4173     if (v0334 == nil) goto v0350;
4174     v0334 = elt(env, 11); /* prepf */
4175     fn = elt(env, 17); /* sqform */
4176     v0334 = (*qfn2(fn))(qenv(fn), v0206, v0334);
4177     nil = C_nil;
4178     if (exception_pending()) goto v0336;
4179     env = stack[-10];
4180     goto v0351;
4181 
4182 v0351:
4183     v0334 = ncons(v0334);
4184     nil = C_nil;
4185     if (exception_pending()) goto v0336;
4186     env = stack[-10];
4187     v0334 = Lrplacd(nil, stack[0], v0334);
4188     nil = C_nil;
4189     if (exception_pending()) goto v0336;
4190     env = stack[-10];
4191     v0334 = stack[-1];
4192     v0334 = qcdr(v0334);
4193     stack[-1] = v0334;
4194     goto v0349;
4195 
4196 v0350:
4197     v0334 = (Lisp_Object)1; /* 0 */
4198     goto v0351;
4199 
4200 v0200:
4201     v0334 = stack[-2];
4202     goto v0352;
4203 
4204 v0352:
4205     v0334 = cons(stack[-4], v0334);
4206     nil = C_nil;
4207     if (exception_pending()) goto v0336;
4208     env = stack[-10];
4209     v0334 = ncons(v0334);
4210     nil = C_nil;
4211     if (exception_pending()) goto v0336;
4212     env = stack[-10];
4213     v0334 = Lrplacd(nil, stack[-5], v0334);
4214     nil = C_nil;
4215     if (exception_pending()) goto v0336;
4216     env = stack[-10];
4217     v0334 = stack[-6];
4218     v0334 = qcdr(v0334);
4219     stack[-6] = v0334;
4220     goto v0278;
4221 
4222 v0091:
4223     v0334 = (Lisp_Object)1; /* 0 */
4224     goto v0348;
4225 
4226 v0347:
4227     v0334 = qvalue(elt(env, 4)); /* nil */
4228     goto v0352;
4229 
4230 v0346:
4231     v0334 = stack[-7];
4232     goto v0353;
4233 
4234 v0353:
4235     v0206 = elt(env, 1); /* list */
4236     popv(11);
4237     return cons(v0206, v0334);
4238 
4239 v0341:
4240     v0334 = (Lisp_Object)1; /* 0 */
4241     goto v0131;
4242 
4243 v0340:
4244     v0334 = qvalue(elt(env, 4)); /* nil */
4245     goto v0345;
4246 
4247 v0339:
4248     v0334 = qvalue(elt(env, 4)); /* nil */
4249     goto v0353;
4250 
4251 v0246:
4252     v0334 = qvalue(elt(env, 4)); /* nil */
4253     goto v0232;
4254 
4255 v0337:
4256     v0334 = qvalue(elt(env, 2)); /* !*protfg */
4257     if (!(v0334 == nil)) goto v0354;
4258     v0334 = elt(env, 3); /* "Argument to invbase not a list" */
4259     fn = elt(env, 18); /* lprie */
4260     v0334 = (*qfn1(fn))(qenv(fn), v0334);
4261     nil = C_nil;
4262     if (exception_pending()) goto v0336;
4263     env = stack[-10];
4264     goto v0354;
4265 
4266 v0354:
4267     v0334 = Lerror0(nil, 0);
4268     nil = C_nil;
4269     if (exception_pending()) goto v0336;
4270     env = stack[-10];
4271     goto v0223;
4272 /* error exit handlers */
4273 v0336:
4274     popv(11);
4275     return nil;
4276 }
4277 
4278 
4279 
4280 /* Code for ggvars2 */
4281 
CC_ggvars2(Lisp_Object env,Lisp_Object v0000,Lisp_Object v0001)4282 static Lisp_Object CC_ggvars2(Lisp_Object env,
4283                          Lisp_Object v0000, Lisp_Object v0001)
4284 {
4285     Lisp_Object nil = C_nil;
4286     Lisp_Object v0174, v0173, v0261, v0210;
4287     Lisp_Object fn;
4288     CSL_IGNORE(nil);
4289 #ifdef DEBUG
4290     if (check_env(env)) return aerror("env for ggvars2");
4291 #endif
4292     CSL_IGNORE(env);
4293 /* copy arguments values to proper place */
4294     v0261 = v0001;
4295     v0210 = v0000;
4296 /* end of prologue */
4297     v0174 = v0210;
4298     if (v0174 == nil) goto v0220;
4299     v0174 = v0210;
4300     v0174 = (is_number(v0174) ? lisp_true : nil);
4301     if (!(v0174 == nil)) goto v0163;
4302     v0173 = v0210;
4303     v0174 = elt(env, 2); /* i */
4304     if (v0173 == v0174) goto v0241;
4305     v0174 = qvalue(elt(env, 4)); /* nil */
4306     goto v0163;
4307 
4308 v0163:
4309     if (!(v0174 == nil)) return onevalue(v0261);
4310     v0174 = v0210;
4311     if (!consp(v0174)) goto v0247;
4312     v0174 = v0210;
4313     v0173 = qcar(v0174);
4314     v0174 = elt(env, 5); /* (plus times expt difference minus quotient)
4315 */
4316     v0174 = Lmemq(nil, v0173, v0174);
4317     if (v0174 == nil) goto v0357;
4318     v0174 = v0210;
4319     v0174 = qcdr(v0174);
4320     v0173 = v0261;
4321     {
4322         fn = elt(env, 6); /* ggvars3 */
4323         return (*qfn2(fn))(qenv(fn), v0174, v0173);
4324     }
4325 
4326 v0357:
4327     v0173 = v0210;
4328     v0174 = v0261;
4329     v0174 = Lmember(nil, v0173, v0174);
4330     if (!(v0174 == nil)) return onevalue(v0261);
4331     v0174 = v0210;
4332     v0173 = v0261;
4333     return cons(v0174, v0173);
4334 
4335 v0247:
4336     v0173 = v0210;
4337     v0174 = v0261;
4338     v0174 = Lmember(nil, v0173, v0174);
4339     if (!(v0174 == nil)) return onevalue(v0261);
4340     v0174 = v0210;
4341     v0173 = v0261;
4342     return cons(v0174, v0173);
4343 
4344 v0241:
4345     v0174 = qvalue(elt(env, 3)); /* !*complex */
4346     goto v0163;
4347 
4348 v0220:
4349     v0174 = qvalue(elt(env, 1)); /* t */
4350     goto v0163;
4351 }
4352 
4353 
4354 
4355 /* Code for nrootnn */
4356 
CC_nrootnn(Lisp_Object env,Lisp_Object v0000,Lisp_Object v0001)4357 static Lisp_Object CC_nrootnn(Lisp_Object env,
4358                          Lisp_Object v0000, Lisp_Object v0001)
4359 {
4360     Lisp_Object nil = C_nil;
4361     Lisp_Object v0384, v0385;
4362     Lisp_Object fn;
4363     CSL_IGNORE(nil);
4364 #ifdef DEBUG
4365     if (check_env(env)) return aerror("env for nrootnn");
4366 #endif
4367     if (stack >= stacklimit)
4368     {
4369         push2(v0001,v0000);
4370         env = reclaim(env, "stack", GC_STACK, 0);
4371         pop2(v0000,v0001);
4372         nil = C_nil;
4373         if (exception_pending()) return nil;
4374     }
4375     push(env);
4376 /* space for vars preserved across procedure calls */
4377     push5(nil, nil, nil, nil, nil);
4378     push4(nil, nil, nil, nil);
4379 /* copy arguments values to proper place */
4380     stack[-6] = v0001;
4381     stack[-7] = v0000;
4382 /* end of prologue */
4383     stack[-5] = nil;
4384     v0384 = (Lisp_Object)17; /* 1 */
4385     stack[0] = v0384;
4386     v0384 = (Lisp_Object)17; /* 1 */
4387     stack[-2] = v0384;
4388     v0385 = stack[-7];
4389     v0384 = (Lisp_Object)1; /* 0 */
4390     v0384 = (Lisp_Object)lessp2(v0385, v0384);
4391     nil = C_nil;
4392     if (exception_pending()) goto v0386;
4393     v0384 = v0384 ? lisp_true : nil;
4394     env = stack[-9];
4395     if (v0384 == nil) goto v0241;
4396     v0384 = stack[-7];
4397     v0384 = negate(v0384);
4398     nil = C_nil;
4399     if (exception_pending()) goto v0386;
4400     env = stack[-9];
4401     stack[-7] = v0384;
4402     v0384 = stack[-6];
4403     v0384 = Levenp(nil, v0384);
4404     env = stack[-9];
4405     if (v0384 == nil) goto v0246;
4406     v0384 = qvalue(elt(env, 1)); /* t */
4407     stack[-5] = v0384;
4408     goto v0241;
4409 
4410 v0241:
4411     v0384 = qvalue(elt(env, 2)); /* !*primelist!* */
4412     stack[-8] = v0384;
4413     goto v0387;
4414 
4415 v0387:
4416     v0384 = stack[-8];
4417     v0384 = qcar(v0384);
4418     stack[-1] = v0384;
4419     v0384 = stack[-8];
4420     v0384 = qcdr(v0384);
4421     stack[-8] = v0384;
4422     v0384 = (Lisp_Object)1; /* 0 */
4423     stack[-3] = v0384;
4424     goto v0157;
4425 
4426 v0157:
4427     v0385 = stack[-7];
4428     v0384 = stack[-1];
4429     v0384 = Ldivide(nil, v0385, v0384);
4430     nil = C_nil;
4431     if (exception_pending()) goto v0386;
4432     env = stack[-9];
4433     stack[-4] = v0384;
4434     v0385 = qcdr(v0384);
4435     v0384 = (Lisp_Object)1; /* 0 */
4436     if (v0385 == v0384) goto v0218;
4437     v0385 = stack[-3];
4438     v0384 = stack[-6];
4439     if (((int32_t)(v0385)) < ((int32_t)(v0384))) goto v0388;
4440     v0385 = stack[-3];
4441     v0384 = stack[-6];
4442     v0384 = Ldivide(nil, v0385, v0384);
4443     nil = C_nil;
4444     if (exception_pending()) goto v0386;
4445     env = stack[-9];
4446     stack[-3] = v0384;
4447     v0385 = stack[-1];
4448     v0384 = stack[-3];
4449     v0384 = qcar(v0384);
4450     v0384 = Lexpt(nil, v0385, v0384);
4451     nil = C_nil;
4452     if (exception_pending()) goto v0386;
4453     env = stack[-9];
4454     v0384 = times2(stack[0], v0384);
4455     nil = C_nil;
4456     if (exception_pending()) goto v0386;
4457     env = stack[-9];
4458     stack[0] = v0384;
4459     v0384 = stack[-3];
4460     v0384 = qcdr(v0384);
4461     stack[-3] = v0384;
4462     goto v0388;
4463 
4464 v0388:
4465     v0385 = stack[-3];
4466     v0384 = (Lisp_Object)1; /* 0 */
4467     if (((int32_t)(v0385)) > ((int32_t)(v0384))) goto v0329;
4468     v0384 = stack[-4];
4469     v0385 = qcar(v0384);
4470     v0384 = stack[-1];
4471     v0384 = (Lisp_Object)lessp2(v0385, v0384);
4472     nil = C_nil;
4473     if (exception_pending()) goto v0386;
4474     v0384 = v0384 ? lisp_true : nil;
4475     env = stack[-9];
4476     if (v0384 == nil) goto v0389;
4477     v0385 = stack[-7];
4478     v0384 = stack[-2];
4479     v0384 = times2(v0385, v0384);
4480     nil = C_nil;
4481     if (exception_pending()) goto v0386;
4482     env = stack[-9];
4483     stack[-2] = v0384;
4484     goto v0390;
4485 
4486 v0390:
4487     v0384 = stack[-5];
4488     if (v0384 == nil) goto v0108;
4489     v0384 = stack[-2];
4490     v0384 = negate(v0384);
4491     nil = C_nil;
4492     if (exception_pending()) goto v0386;
4493     stack[-2] = v0384;
4494     goto v0108;
4495 
4496 v0108:
4497     v0385 = stack[0];
4498     v0384 = stack[-2];
4499     popv(10);
4500     return cons(v0385, v0384);
4501 
4502 v0389:
4503     v0384 = stack[-8];
4504     if (!(v0384 == nil)) goto v0387;
4505     v0385 = (Lisp_Object)161; /* 10 */
4506     v0384 = (Lisp_Object)321; /* 20 */
4507     v0385 = Lexpt(nil, v0385, v0384);
4508     nil = C_nil;
4509     if (exception_pending()) goto v0386;
4510     env = stack[-9];
4511     v0384 = stack[-7];
4512     v0384 = (Lisp_Object)greaterp2(v0385, v0384);
4513     nil = C_nil;
4514     if (exception_pending()) goto v0386;
4515     v0384 = v0384 ? lisp_true : nil;
4516     env = stack[-9];
4517     if (v0384 == nil) goto v0123;
4518     v0385 = stack[-7];
4519     v0384 = qvalue(elt(env, 3)); /* nil */
4520     fn = elt(env, 4); /* mcfactor!* */
4521     v0384 = (*qfn2(fn))(qenv(fn), v0385, v0384);
4522     nil = C_nil;
4523     if (exception_pending()) goto v0386;
4524     env = stack[-9];
4525     stack[-3] = v0384;
4526     v0384 = stack[-3];
4527     stack[-4] = v0384;
4528     goto v0136;
4529 
4530 v0136:
4531     v0384 = stack[-4];
4532     if (v0384 == nil) goto v0390;
4533     v0384 = stack[-4];
4534     v0384 = qcar(v0384);
4535     stack[-1] = v0384;
4536     v0384 = stack[-1];
4537     v0385 = qcdr(v0384);
4538     v0384 = stack[-6];
4539     v0384 = Ldivide(nil, v0385, v0384);
4540     nil = C_nil;
4541     if (exception_pending()) goto v0386;
4542     env = stack[-9];
4543     stack[-3] = v0384;
4544     v0384 = stack[-1];
4545     v0385 = qcar(v0384);
4546     v0384 = stack[-3];
4547     v0384 = qcar(v0384);
4548     v0385 = Lexpt(nil, v0385, v0384);
4549     nil = C_nil;
4550     if (exception_pending()) goto v0386;
4551     env = stack[-9];
4552     v0384 = stack[0];
4553     v0384 = times2(v0385, v0384);
4554     nil = C_nil;
4555     if (exception_pending()) goto v0386;
4556     env = stack[-9];
4557     stack[0] = v0384;
4558     v0384 = stack[-1];
4559     v0385 = qcar(v0384);
4560     v0384 = stack[-3];
4561     v0384 = qcdr(v0384);
4562     v0385 = Lexpt(nil, v0385, v0384);
4563     nil = C_nil;
4564     if (exception_pending()) goto v0386;
4565     env = stack[-9];
4566     v0384 = stack[-2];
4567     v0384 = times2(v0385, v0384);
4568     nil = C_nil;
4569     if (exception_pending()) goto v0386;
4570     env = stack[-9];
4571     stack[-2] = v0384;
4572     v0384 = stack[-4];
4573     v0384 = qcdr(v0384);
4574     stack[-4] = v0384;
4575     goto v0136;
4576 
4577 v0123:
4578     v0385 = stack[-7];
4579     v0384 = stack[-6];
4580     fn = elt(env, 5); /* irootn */
4581     v0384 = (*qfn2(fn))(qenv(fn), v0385, v0384);
4582     nil = C_nil;
4583     if (exception_pending()) goto v0386;
4584     env = stack[-9];
4585     stack[-1] = v0384;
4586     v0385 = stack[-1];
4587     v0384 = stack[-6];
4588     v0385 = Lexpt(nil, v0385, v0384);
4589     nil = C_nil;
4590     if (exception_pending()) goto v0386;
4591     env = stack[-9];
4592     v0384 = stack[-7];
4593     if (equal(v0385, v0384)) goto v0312;
4594     v0384 = qvalue(elt(env, 3)); /* nil */
4595     goto v0391;
4596 
4597 v0391:
4598     stack[-3] = v0384;
4599     if (v0384 == nil) goto v0392;
4600     v0385 = stack[0];
4601     v0384 = stack[-3];
4602     v0384 = times2(v0385, v0384);
4603     nil = C_nil;
4604     if (exception_pending()) goto v0386;
4605     env = stack[-9];
4606     stack[0] = v0384;
4607     goto v0390;
4608 
4609 v0392:
4610     v0385 = stack[-7];
4611     v0384 = stack[-2];
4612     v0384 = times2(v0385, v0384);
4613     nil = C_nil;
4614     if (exception_pending()) goto v0386;
4615     env = stack[-9];
4616     stack[-2] = v0384;
4617     goto v0390;
4618 
4619 v0312:
4620     v0384 = stack[-1];
4621     goto v0391;
4622 
4623 v0329:
4624     v0385 = stack[-2];
4625     v0384 = stack[-1];
4626     v0384 = times2(v0385, v0384);
4627     nil = C_nil;
4628     if (exception_pending()) goto v0386;
4629     env = stack[-9];
4630     stack[-2] = v0384;
4631     v0384 = stack[-3];
4632     v0384 = (Lisp_Object)((int32_t)(v0384) - 0x10);
4633     stack[-3] = v0384;
4634     goto v0388;
4635 
4636 v0218:
4637     v0384 = stack[-4];
4638     v0384 = qcar(v0384);
4639     stack[-7] = v0384;
4640     v0384 = stack[-3];
4641     v0384 = (Lisp_Object)((int32_t)(v0384) + 0x10);
4642     stack[-3] = v0384;
4643     goto v0157;
4644 
4645 v0246:
4646     v0384 = (Lisp_Object)-15; /* -1 */
4647     stack[0] = v0384;
4648     goto v0241;
4649 /* error exit handlers */
4650 v0386:
4651     popv(10);
4652     return nil;
4653 }
4654 
4655 
4656 
4657 /* Code for evaluate!-in!-vector */
4658 
CC_evaluateKinKvector(Lisp_Object env,int nargs,Lisp_Object v0000,Lisp_Object v0001,Lisp_Object v0211,...)4659 static Lisp_Object MS_CDECL CC_evaluateKinKvector(Lisp_Object env, int nargs,
4660                          Lisp_Object v0000, Lisp_Object v0001,
4661                          Lisp_Object v0211, ...)
4662 {
4663     Lisp_Object nil = C_nil;
4664     Lisp_Object v0338, v0217, v0218, v0155, v0156, v0237;
4665     CSL_IGNORE(nil);
4666     argcheck(nargs, 3, "evaluate-in-vector");
4667 #ifdef DEBUG
4668     if (check_env(env)) return aerror("env for evaluate-in-vector");
4669 #endif
4670     if (stack >= stacklimit)
4671     {
4672         push3(v0211,v0001,v0000);
4673         env = reclaim(env, "stack", GC_STACK, 0);
4674         pop3(v0000,v0001,v0211);
4675         nil = C_nil;
4676         if (exception_pending()) return nil;
4677     }
4678     push(env);
4679 /* copy arguments values to proper place */
4680     v0155 = v0211;
4681     v0218 = v0001;
4682     v0156 = v0000;
4683 /* end of prologue */
4684     v0217 = v0156;
4685     v0338 = v0218;
4686     v0338 = *(Lisp_Object *)((char *)v0217 + (CELL-TAG_VECTOR) + ((int32_t)v0338/(16/CELL)));
4687     v0217 = v0338;
4688     v0338 = v0218;
4689     v0338 = (Lisp_Object)((int32_t)(v0338) - 0x10);
4690     v0237 = v0338;
4691     goto v0395;
4692 
4693 v0395:
4694     v0338 = v0237;
4695     v0338 = ((intptr_t)(v0338) < 0 ? lisp_true : nil);
4696     if (!(v0338 == nil)) { popv(1); return onevalue(v0217); }
4697     v0218 = v0156;
4698     v0338 = v0237;
4699     v0218 = *(Lisp_Object *)((char *)v0218 + (CELL-TAG_VECTOR) + ((int32_t)v0338/(16/CELL)));
4700     v0338 = v0155;
4701     v0338 = Lmodular_times(nil, v0217, v0338);
4702     env = stack[0];
4703     {   int32_t w = int_of_fixnum(v0218) + int_of_fixnum(v0338);
4704         if (w >= current_modulus) w -= current_modulus;
4705         v0338 = fixnum_of_int(w);
4706     }
4707     v0217 = v0338;
4708     v0338 = v0237;
4709     v0338 = (Lisp_Object)((int32_t)(v0338) - 0x10);
4710     v0237 = v0338;
4711     goto v0395;
4712 }
4713 
4714 
4715 
4716 /* Code for repr_atfnew */
4717 
CC_repr_atfnew(Lisp_Object env,int nargs,Lisp_Object v0000,Lisp_Object v0001,Lisp_Object v0211,...)4718 static Lisp_Object MS_CDECL CC_repr_atfnew(Lisp_Object env, int nargs,
4719                          Lisp_Object v0000, Lisp_Object v0001,
4720                          Lisp_Object v0211, ...)
4721 {
4722     Lisp_Object nil = C_nil;
4723     Lisp_Object v0141, v0140, v0326, v0229;
4724     Lisp_Object fn;
4725     CSL_IGNORE(nil);
4726     argcheck(nargs, 3, "repr_atfnew");
4727 #ifdef DEBUG
4728     if (check_env(env)) return aerror("env for repr_atfnew");
4729 #endif
4730     if (stack >= stacklimit)
4731     {
4732         push3(v0211,v0001,v0000);
4733         env = reclaim(env, "stack", GC_STACK, 0);
4734         pop3(v0000,v0001,v0211);
4735         nil = C_nil;
4736         if (exception_pending()) return nil;
4737     }
4738     push(env);
4739 /* space for vars preserved across procedure calls */
4740     push5(nil, nil, nil, nil, nil);
4741     push2(nil, nil);
4742 /* copy arguments values to proper place */
4743     stack[-5] = v0211;
4744     v0141 = v0001;
4745     stack[0] = v0000;
4746 /* end of prologue */
4747     v0140 = stack[0];
4748     v0140 = qcar(v0140);
4749     stack[-6] = v0140;
4750     v0140 = stack[0];
4751     v0140 = qcdr(v0140);
4752     v0140 = qcar(v0140);
4753     fn = elt(env, 3); /* pasf_coeflst */
4754     v0141 = (*qfn2(fn))(qenv(fn), v0140, v0141);
4755     nil = C_nil;
4756     if (exception_pending()) goto v0303;
4757     env = stack[-7];
4758     stack[-1] = v0141;
4759     v0141 = stack[-1];
4760     v0141 = qcar(v0141);
4761     v0141 = qcar(v0141);
4762     fn = elt(env, 4); /* minusf */
4763     v0141 = (*qfn1(fn))(qenv(fn), v0141);
4764     nil = C_nil;
4765     if (exception_pending()) goto v0303;
4766     env = stack[-7];
4767     if (v0141 == nil) goto v0403;
4768     v0141 = stack[0];
4769     v0141 = Lconsp(nil, v0141);
4770     env = stack[-7];
4771     if (v0141 == nil) goto v0333;
4772     v0141 = stack[0];
4773     v0141 = qcar(v0141);
4774     v0141 = Lconsp(nil, v0141);
4775     env = stack[-7];
4776     if (v0141 == nil) goto v0333;
4777     v0141 = stack[0];
4778     v0141 = qcar(v0141);
4779     v0140 = qcar(v0141);
4780     v0141 = elt(env, 1); /* (cong ncong) */
4781     v0141 = Lmemq(nil, v0140, v0141);
4782     if (v0141 == nil) goto v0333;
4783     v0141 = stack[-6];
4784     v0141 = qcar(v0141);
4785     fn = elt(env, 5); /* pasf_anegrel */
4786     v0140 = (*qfn1(fn))(qenv(fn), v0141);
4787     nil = C_nil;
4788     if (exception_pending()) goto v0303;
4789     env = stack[-7];
4790     v0141 = stack[-6];
4791     v0141 = qcdr(v0141);
4792     v0141 = cons(v0140, v0141);
4793     nil = C_nil;
4794     if (exception_pending()) goto v0303;
4795     env = stack[-7];
4796     goto v0356;
4797 
4798 v0356:
4799     stack[-6] = v0141;
4800     v0141 = stack[-1];
4801     stack[-4] = v0141;
4802     v0141 = stack[-4];
4803     if (v0141 == nil) goto v0153;
4804     v0141 = stack[-4];
4805     v0141 = qcar(v0141);
4806     stack[0] = v0141;
4807     v0141 = stack[0];
4808     v0140 = qcar(v0141);
4809     v0141 = (Lisp_Object)-15; /* -1 */
4810     fn = elt(env, 6); /* multf */
4811     v0140 = (*qfn2(fn))(qenv(fn), v0140, v0141);
4812     nil = C_nil;
4813     if (exception_pending()) goto v0303;
4814     env = stack[-7];
4815     v0141 = stack[0];
4816     v0141 = qcdr(v0141);
4817     v0141 = cons(v0140, v0141);
4818     nil = C_nil;
4819     if (exception_pending()) goto v0303;
4820     env = stack[-7];
4821     v0141 = ncons(v0141);
4822     nil = C_nil;
4823     if (exception_pending()) goto v0303;
4824     env = stack[-7];
4825     stack[-2] = v0141;
4826     stack[-3] = v0141;
4827     goto v0238;
4828 
4829 v0238:
4830     v0141 = stack[-4];
4831     v0141 = qcdr(v0141);
4832     stack[-4] = v0141;
4833     v0141 = stack[-4];
4834     if (v0141 == nil) goto v0173;
4835     stack[-1] = stack[-2];
4836     v0141 = stack[-4];
4837     v0141 = qcar(v0141);
4838     stack[0] = v0141;
4839     v0141 = stack[0];
4840     v0140 = qcar(v0141);
4841     v0141 = (Lisp_Object)-15; /* -1 */
4842     fn = elt(env, 6); /* multf */
4843     v0140 = (*qfn2(fn))(qenv(fn), v0140, v0141);
4844     nil = C_nil;
4845     if (exception_pending()) goto v0303;
4846     env = stack[-7];
4847     v0141 = stack[0];
4848     v0141 = qcdr(v0141);
4849     v0141 = cons(v0140, v0141);
4850     nil = C_nil;
4851     if (exception_pending()) goto v0303;
4852     env = stack[-7];
4853     v0141 = ncons(v0141);
4854     nil = C_nil;
4855     if (exception_pending()) goto v0303;
4856     env = stack[-7];
4857     v0141 = Lrplacd(nil, stack[-1], v0141);
4858     nil = C_nil;
4859     if (exception_pending()) goto v0303;
4860     env = stack[-7];
4861     v0141 = stack[-2];
4862     v0141 = qcdr(v0141);
4863     stack[-2] = v0141;
4864     goto v0238;
4865 
4866 v0173:
4867     v0141 = stack[-3];
4868     goto v0216;
4869 
4870 v0216:
4871     stack[-1] = v0141;
4872     goto v0403;
4873 
4874 v0403:
4875     v0229 = stack[-5];
4876     v0326 = stack[-6];
4877     v0140 = stack[-1];
4878     v0141 = qvalue(elt(env, 2)); /* nil */
4879     {
4880         popv(8);
4881         fn = elt(env, 7); /* repr_new */
4882         return (*qfnn(fn))(qenv(fn), 4, v0229, v0326, v0140, v0141);
4883     }
4884 
4885 v0153:
4886     v0141 = qvalue(elt(env, 2)); /* nil */
4887     goto v0216;
4888 
4889 v0333:
4890     v0141 = stack[-6];
4891     fn = elt(env, 5); /* pasf_anegrel */
4892     v0141 = (*qfn1(fn))(qenv(fn), v0141);
4893     nil = C_nil;
4894     if (exception_pending()) goto v0303;
4895     env = stack[-7];
4896     goto v0356;
4897 /* error exit handlers */
4898 v0303:
4899     popv(8);
4900     return nil;
4901 }
4902 
4903 
4904 
4905 /* Code for aex_1 */
4906 
CC_aex_1(Lisp_Object env,int nargs,...)4907 static Lisp_Object MS_CDECL CC_aex_1(Lisp_Object env, int nargs, ...)
4908 {
4909     Lisp_Object nil = C_nil;
4910     Lisp_Object v0292;
4911     Lisp_Object fn;
4912     CSL_IGNORE(nil);
4913     argcheck(nargs, 0, "aex_1");
4914 #ifdef DEBUG
4915     if (check_env(env)) return aerror("env for aex_1");
4916 #endif
4917     if (stack >= stacklimit)
4918     {
4919         env = reclaim(env, "stack", GC_STACK, 0);
4920         nil = C_nil;
4921         if (exception_pending()) return nil;
4922     }
4923     push(env);
4924 /* end of prologue */
4925     fn = elt(env, 1); /* ratpoly_1 */
4926     v0292 = (*qfnn(fn))(qenv(fn), 0);
4927     nil = C_nil;
4928     if (exception_pending()) goto v0239;
4929     env = stack[0];
4930     {
4931         popv(1);
4932         fn = elt(env, 2); /* aex_fromrp */
4933         return (*qfn1(fn))(qenv(fn), v0292);
4934     }
4935 /* error exit handlers */
4936 v0239:
4937     popv(1);
4938     return nil;
4939 }
4940 
4941 
4942 
4943 /* Code for partialdiff */
4944 
CC_partialdiff(Lisp_Object env,Lisp_Object v0000,Lisp_Object v0001)4945 static Lisp_Object CC_partialdiff(Lisp_Object env,
4946                          Lisp_Object v0000, Lisp_Object v0001)
4947 {
4948     Lisp_Object nil = C_nil;
4949     Lisp_Object v0407, v0403;
4950     Lisp_Object fn;
4951     CSL_IGNORE(nil);
4952 #ifdef DEBUG
4953     if (check_env(env)) return aerror("env for partialdiff");
4954 #endif
4955     if (stack >= stacklimit)
4956     {
4957         push2(v0001,v0000);
4958         env = reclaim(env, "stack", GC_STACK, 0);
4959         pop2(v0000,v0001);
4960         nil = C_nil;
4961         if (exception_pending()) return nil;
4962     }
4963     push(env);
4964 /* space for vars preserved across procedure calls */
4965     push4(nil, nil, nil, nil);
4966 /* copy arguments values to proper place */
4967     stack[-1] = v0001;
4968     stack[-2] = v0000;
4969 /* end of prologue */
4970 
4971 v0222:
4972     v0407 = stack[-2];
4973     if (!consp(v0407)) goto v0220;
4974     v0407 = stack[-2];
4975     v0407 = qcar(v0407);
4976     v0407 = (consp(v0407) ? nil : lisp_true);
4977     goto v0163;
4978 
4979 v0163:
4980     if (v0407 == nil) goto v0234;
4981     v0407 = qvalue(elt(env, 2)); /* nil */
4982     { popv(5); return onevalue(v0407); }
4983 
4984 v0234:
4985     v0403 = stack[-1];
4986     v0407 = stack[-2];
4987     v0407 = qcar(v0407);
4988     v0407 = qcar(v0407);
4989     v0407 = qcar(v0407);
4990     if (equal(v0403, v0407)) goto v0233;
4991     v0407 = stack[-2];
4992     v0407 = qcar(v0407);
4993     v0403 = qcdr(v0407);
4994     v0407 = stack[-1];
4995     v0407 = CC_partialdiff(env, v0403, v0407);
4996     nil = C_nil;
4997     if (exception_pending()) goto v0145;
4998     env = stack[-4];
4999     v0403 = v0407;
5000     v0407 = v0403;
5001     if (v0407 == nil) goto v0408;
5002     v0407 = stack[-2];
5003     v0407 = qcar(v0407);
5004     stack[-3] = qcar(v0407);
5005     stack[0] = v0403;
5006     v0407 = stack[-2];
5007     v0403 = qcdr(v0407);
5008     v0407 = stack[-1];
5009     v0407 = CC_partialdiff(env, v0403, v0407);
5010     nil = C_nil;
5011     if (exception_pending()) goto v0145;
5012     {
5013         Lisp_Object v0409 = stack[-3];
5014         Lisp_Object v0325 = stack[0];
5015         popv(5);
5016         return acons(v0409, v0325, v0407);
5017     }
5018 
5019 v0408:
5020     v0407 = stack[-2];
5021     v0403 = qcdr(v0407);
5022     v0407 = stack[-1];
5023     stack[-2] = v0403;
5024     stack[-1] = v0407;
5025     goto v0222;
5026 
5027 v0233:
5028     v0407 = stack[-2];
5029     v0407 = qcar(v0407);
5030     v0407 = qcar(v0407);
5031     v0407 = qcdr(v0407);
5032     stack[0] = v0407;
5033     v0403 = stack[0];
5034     v0407 = (Lisp_Object)17; /* 1 */
5035     if (v0403 == v0407) goto v0259;
5036     v0407 = stack[-1];
5037     fn = elt(env, 3); /* fkern */
5038     stack[-3] = (*qfn1(fn))(qenv(fn), v0407);
5039     nil = C_nil;
5040     if (exception_pending()) goto v0145;
5041     env = stack[-4];
5042     v0407 = stack[0];
5043     v0407 = sub1(v0407);
5044     nil = C_nil;
5045     if (exception_pending()) goto v0145;
5046     env = stack[-4];
5047     fn = elt(env, 4); /* getpower */
5048     stack[-3] = (*qfn2(fn))(qenv(fn), stack[-3], v0407);
5049     nil = C_nil;
5050     if (exception_pending()) goto v0145;
5051     env = stack[-4];
5052     v0403 = stack[0];
5053     v0407 = stack[-2];
5054     v0407 = qcar(v0407);
5055     v0407 = qcdr(v0407);
5056     fn = elt(env, 5); /* multd */
5057     stack[0] = (*qfn2(fn))(qenv(fn), v0403, v0407);
5058     nil = C_nil;
5059     if (exception_pending()) goto v0145;
5060     env = stack[-4];
5061     v0407 = stack[-2];
5062     v0403 = qcdr(v0407);
5063     v0407 = stack[-1];
5064     v0407 = CC_partialdiff(env, v0403, v0407);
5065     nil = C_nil;
5066     if (exception_pending()) goto v0145;
5067     {
5068         Lisp_Object v0266 = stack[-3];
5069         Lisp_Object v0267 = stack[0];
5070         popv(5);
5071         return acons(v0266, v0267, v0407);
5072     }
5073 
5074 v0259:
5075     v0407 = stack[-2];
5076     v0407 = qcar(v0407);
5077     v0407 = qcdr(v0407);
5078     { popv(5); return onevalue(v0407); }
5079 
5080 v0220:
5081     v0407 = qvalue(elt(env, 1)); /* t */
5082     goto v0163;
5083 /* error exit handlers */
5084 v0145:
5085     popv(5);
5086     return nil;
5087 }
5088 
5089 
5090 
5091 /* Code for transferrow */
5092 
CC_transferrow(Lisp_Object env,Lisp_Object v0000,Lisp_Object v0001)5093 static Lisp_Object CC_transferrow(Lisp_Object env,
5094                          Lisp_Object v0000, Lisp_Object v0001)
5095 {
5096     Lisp_Object nil = C_nil;
5097     Lisp_Object v0264, v0268;
5098     Lisp_Object fn;
5099     CSL_IGNORE(nil);
5100 #ifdef DEBUG
5101     if (check_env(env)) return aerror("env for transferrow");
5102 #endif
5103     if (stack >= stacklimit)
5104     {
5105         push2(v0001,v0000);
5106         env = reclaim(env, "stack", GC_STACK, 0);
5107         pop2(v0000,v0001);
5108         nil = C_nil;
5109         if (exception_pending()) return nil;
5110     }
5111     push(env);
5112 /* space for vars preserved across procedure calls */
5113     push4(nil, nil, nil, nil);
5114 /* copy arguments values to proper place */
5115     stack[0] = v0001;
5116     stack[-2] = v0000;
5117 /* end of prologue */
5118     stack[-1] = qvalue(elt(env, 1)); /* codmat */
5119     v0268 = qvalue(elt(env, 2)); /* maxvar */
5120     v0264 = stack[-2];
5121     v0264 = plus2(v0268, v0264);
5122     nil = C_nil;
5123     if (exception_pending()) goto v0149;
5124     env = stack[-4];
5125     v0268 = *(Lisp_Object *)((char *)stack[-1] + (CELL-TAG_VECTOR) + ((int32_t)v0264/(16/CELL)));
5126     v0264 = (Lisp_Object)33; /* 2 */
5127     v0268 = *(Lisp_Object *)((char *)v0268 + (CELL-TAG_VECTOR) + ((int32_t)v0264/(16/CELL)));
5128     v0264 = elt(env, 3); /* plus */
5129     if (v0268 == v0264) goto v0162;
5130     v0264 = stack[-2];
5131     fn = elt(env, 6); /* transferrow1 */
5132     v0264 = (*qfn1(fn))(qenv(fn), v0264);
5133     nil = C_nil;
5134     if (exception_pending()) goto v0149;
5135     env = stack[-4];
5136     if (v0264 == nil) goto v0416;
5137     v0268 = stack[-2];
5138     v0264 = stack[0];
5139     {
5140         popv(5);
5141         fn = elt(env, 7); /* transferrow2 */
5142         return (*qfn2(fn))(qenv(fn), v0268, v0264);
5143     }
5144 
5145 v0416:
5146     v0264 = qvalue(elt(env, 4)); /* nil */
5147     { popv(5); return onevalue(v0264); }
5148 
5149 v0162:
5150     v0264 = stack[-2];
5151     fn = elt(env, 6); /* transferrow1 */
5152     v0264 = (*qfn1(fn))(qenv(fn), v0264);
5153     nil = C_nil;
5154     if (exception_pending()) goto v0149;
5155     env = stack[-4];
5156     if (v0264 == nil) goto v0231;
5157     stack[-3] = qvalue(elt(env, 1)); /* codmat */
5158     stack[-1] = qvalue(elt(env, 2)); /* maxvar */
5159     stack[0] = qvalue(elt(env, 1)); /* codmat */
5160     v0268 = qvalue(elt(env, 2)); /* maxvar */
5161     v0264 = stack[-2];
5162     v0264 = plus2(v0268, v0264);
5163     nil = C_nil;
5164     if (exception_pending()) goto v0149;
5165     env = stack[-4];
5166     v0268 = *(Lisp_Object *)((char *)stack[0] + (CELL-TAG_VECTOR) + ((int32_t)v0264/(16/CELL)));
5167     v0264 = (Lisp_Object)49; /* 3 */
5168     v0264 = *(Lisp_Object *)((char *)v0268 + (CELL-TAG_VECTOR) + ((int32_t)v0264/(16/CELL)));
5169     v0264 = plus2(stack[-1], v0264);
5170     nil = C_nil;
5171     if (exception_pending()) goto v0149;
5172     env = stack[-4];
5173     v0268 = *(Lisp_Object *)((char *)stack[-3] + (CELL-TAG_VECTOR) + ((int32_t)v0264/(16/CELL)));
5174     v0264 = (Lisp_Object)33; /* 2 */
5175     v0264 = *(Lisp_Object *)((char *)v0268 + (CELL-TAG_VECTOR) + ((int32_t)v0264/(16/CELL)));
5176     v0268 = elt(env, 5); /* times */
5177     v0264 = (v0264 == v0268 ? lisp_true : nil);
5178     { popv(5); return onevalue(v0264); }
5179 
5180 v0231:
5181     v0264 = qvalue(elt(env, 4)); /* nil */
5182     { popv(5); return onevalue(v0264); }
5183 /* error exit handlers */
5184 v0149:
5185     popv(5);
5186     return nil;
5187 }
5188 
5189 
5190 
5191 /* Code for xregister_spoly_pair */
5192 
CC_xregister_spoly_pair(Lisp_Object env,int nargs,...)5193 static Lisp_Object MS_CDECL CC_xregister_spoly_pair(Lisp_Object env, int nargs, ...)
5194 {
5195     Lisp_Object v0211;
5196     argcheck(nargs, 0, "xregister_spoly_pair");
5197 #ifdef DEBUG
5198     if (check_env(env)) return aerror("env for xregister_spoly_pair");
5199 #endif
5200     CSL_IGNORE(env);
5201 /* end of prologue */
5202     v0211 = qvalue(elt(env, 1)); /* nil */
5203     return onevalue(v0211);
5204 }
5205 
5206 
5207 
5208 /* Code for evalsetbool */
5209 
CC_evalsetbool(Lisp_Object env,int nargs,Lisp_Object v0000,Lisp_Object v0001,Lisp_Object v0211,...)5210 static Lisp_Object MS_CDECL CC_evalsetbool(Lisp_Object env, int nargs,
5211                          Lisp_Object v0000, Lisp_Object v0001,
5212                          Lisp_Object v0211, ...)
5213 {
5214     Lisp_Object nil = C_nil;
5215     Lisp_Object v0340, v0369, v0134, v0135;
5216     Lisp_Object fn;
5217     CSL_IGNORE(nil);
5218     argcheck(nargs, 3, "evalsetbool");
5219 #ifdef DEBUG
5220     if (check_env(env)) return aerror("env for evalsetbool");
5221 #endif
5222     if (stack >= stacklimit)
5223     {
5224         push3(v0211,v0001,v0000);
5225         env = reclaim(env, "stack", GC_STACK, 0);
5226         pop3(v0000,v0001,v0211);
5227         nil = C_nil;
5228         if (exception_pending()) return nil;
5229     }
5230     push(env);
5231 /* space for vars preserved across procedure calls */
5232     push5(nil, nil, nil, nil, nil);
5233     push4(nil, nil, nil, nil);
5234 /* copy arguments values to proper place */
5235     stack[-5] = v0211;
5236     stack[-6] = v0001;
5237     stack[-7] = v0000;
5238 /* end of prologue */
5239     stack[-8] = nil;
5240     stack[-4] = nil;
5241     v0369 = stack[-6];
5242     v0340 = stack[-5];
5243     v0340 = list2(v0369, v0340);
5244     nil = C_nil;
5245     if (exception_pending()) goto v0425;
5246     env = stack[-9];
5247     stack[-3] = v0340;
5248     v0340 = stack[-3];
5249     if (v0340 == nil) goto v0354;
5250     v0340 = stack[-3];
5251     v0340 = qcar(v0340);
5252     v0134 = v0340;
5253     v0369 = v0134;
5254     v0340 = elt(env, 2); /* list */
5255     if (!consp(v0369)) goto v0232;
5256     v0369 = qcar(v0369);
5257     if (!(v0369 == v0340)) goto v0232;
5258     v0340 = qvalue(elt(env, 3)); /* t */
5259     stack[-8] = v0340;
5260     v0340 = v0134;
5261     v0340 = qcdr(v0340);
5262     goto v0330;
5263 
5264 v0330:
5265     v0340 = ncons(v0340);
5266     nil = C_nil;
5267     if (exception_pending()) goto v0425;
5268     env = stack[-9];
5269     stack[-1] = v0340;
5270     stack[-2] = v0340;
5271     goto v0390;
5272 
5273 v0390:
5274     v0340 = stack[-3];
5275     v0340 = qcdr(v0340);
5276     stack[-3] = v0340;
5277     v0340 = stack[-3];
5278     if (v0340 == nil) goto v0252;
5279     stack[0] = stack[-1];
5280     v0340 = stack[-3];
5281     v0340 = qcar(v0340);
5282     v0134 = v0340;
5283     v0369 = v0134;
5284     v0340 = elt(env, 2); /* list */
5285     if (!consp(v0369)) goto v0355;
5286     v0369 = qcar(v0369);
5287     if (!(v0369 == v0340)) goto v0355;
5288     v0340 = qvalue(elt(env, 3)); /* t */
5289     stack[-8] = v0340;
5290     v0340 = v0134;
5291     v0340 = qcdr(v0340);
5292     goto v0402;
5293 
5294 v0402:
5295     v0340 = ncons(v0340);
5296     nil = C_nil;
5297     if (exception_pending()) goto v0425;
5298     env = stack[-9];
5299     v0340 = Lrplacd(nil, stack[0], v0340);
5300     nil = C_nil;
5301     if (exception_pending()) goto v0425;
5302     env = stack[-9];
5303     v0340 = stack[-1];
5304     v0340 = qcdr(v0340);
5305     stack[-1] = v0340;
5306     goto v0390;
5307 
5308 v0355:
5309     v0340 = v0134;
5310     fn = elt(env, 9); /* reval */
5311     v0340 = (*qfn1(fn))(qenv(fn), v0340);
5312     nil = C_nil;
5313     if (exception_pending()) goto v0425;
5314     env = stack[-9];
5315     v0134 = v0340;
5316     if (symbolp(v0340)) goto v0264;
5317     v0340 = v0134;
5318     v0340 = Lconsp(nil, v0340);
5319     env = stack[-9];
5320     if (v0340 == nil) goto v0143;
5321     v0340 = v0134;
5322     v0369 = qcar(v0340);
5323     v0340 = elt(env, 4); /* setvalued */
5324     v0340 = Lflagp(nil, v0369, v0340);
5325     env = stack[-9];
5326     if (!(v0340 == nil)) goto v0264;
5327 
5328 v0143:
5329     v0369 = v0134;
5330     v0340 = elt(env, 5); /* "set" */
5331     fn = elt(env, 10); /* typerr */
5332     v0340 = (*qfn2(fn))(qenv(fn), v0369, v0340);
5333     nil = C_nil;
5334     if (exception_pending()) goto v0425;
5335     env = stack[-9];
5336     goto v0402;
5337 
5338 v0264:
5339     v0340 = qvalue(elt(env, 3)); /* t */
5340     stack[-4] = v0340;
5341     v0340 = v0134;
5342     goto v0402;
5343 
5344 v0252:
5345     v0340 = stack[-2];
5346     goto v0387;
5347 
5348 v0387:
5349     v0134 = v0340;
5350     v0340 = stack[-8];
5351     if (v0340 == nil) { popv(10); return onevalue(v0134); }
5352     v0340 = stack[-4];
5353     if (v0340 == nil) goto v0426;
5354     stack[0] = elt(env, 6); /* "Cannot evaluate" */
5355     stack[-1] = stack[-7];
5356     v0340 = stack[-6];
5357     fn = elt(env, 9); /* reval */
5358     stack[-2] = (*qfn1(fn))(qenv(fn), v0340);
5359     nil = C_nil;
5360     if (exception_pending()) goto v0425;
5361     env = stack[-9];
5362     v0340 = stack[-5];
5363     fn = elt(env, 9); /* reval */
5364     v0340 = (*qfn1(fn))(qenv(fn), v0340);
5365     nil = C_nil;
5366     if (exception_pending()) goto v0425;
5367     env = stack[-9];
5368     v0135 = list3(stack[-1], stack[-2], v0340);
5369     nil = C_nil;
5370     if (exception_pending()) goto v0425;
5371     env = stack[-9];
5372     v0134 = elt(env, 7); /* "as Boolean-valued set expression" */
5373     v0369 = qvalue(elt(env, 1)); /* nil */
5374     v0340 = qvalue(elt(env, 3)); /* t */
5375     {
5376         Lisp_Object v0320 = stack[0];
5377         popv(10);
5378         fn = elt(env, 11); /* msgpri */
5379         return (*qfnn(fn))(qenv(fn), 5, v0320, v0135, v0134, v0369, v0340);
5380     }
5381 
5382 v0426:
5383     v0369 = stack[-7];
5384     v0340 = elt(env, 8); /* setboolfn */
5385     v0340 = get(v0369, v0340);
5386     env = stack[-9];
5387     v0369 = v0134;
5388     {
5389         popv(10);
5390         fn = elt(env, 12); /* apply */
5391         return (*qfn2(fn))(qenv(fn), v0340, v0369);
5392     }
5393 
5394 v0232:
5395     v0340 = v0134;
5396     fn = elt(env, 9); /* reval */
5397     v0340 = (*qfn1(fn))(qenv(fn), v0340);
5398     nil = C_nil;
5399     if (exception_pending()) goto v0425;
5400     env = stack[-9];
5401     v0134 = v0340;
5402     if (symbolp(v0340)) goto v0258;
5403     v0340 = v0134;
5404     v0340 = Lconsp(nil, v0340);
5405     env = stack[-9];
5406     if (v0340 == nil) goto v0383;
5407     v0340 = v0134;
5408     v0369 = qcar(v0340);
5409     v0340 = elt(env, 4); /* setvalued */
5410     v0340 = Lflagp(nil, v0369, v0340);
5411     env = stack[-9];
5412     if (!(v0340 == nil)) goto v0258;
5413 
5414 v0383:
5415     v0369 = v0134;
5416     v0340 = elt(env, 5); /* "set" */
5417     fn = elt(env, 10); /* typerr */
5418     v0340 = (*qfn2(fn))(qenv(fn), v0369, v0340);
5419     nil = C_nil;
5420     if (exception_pending()) goto v0425;
5421     env = stack[-9];
5422     goto v0330;
5423 
5424 v0258:
5425     v0340 = qvalue(elt(env, 3)); /* t */
5426     stack[-4] = v0340;
5427     v0340 = v0134;
5428     goto v0330;
5429 
5430 v0354:
5431     v0340 = qvalue(elt(env, 1)); /* nil */
5432     goto v0387;
5433 /* error exit handlers */
5434 v0425:
5435     popv(10);
5436     return nil;
5437 }
5438 
5439 
5440 
5441 /* Code for gcdlist1 */
5442 
CC_gcdlist1(Lisp_Object env,Lisp_Object v0000)5443 static Lisp_Object CC_gcdlist1(Lisp_Object env,
5444                          Lisp_Object v0000)
5445 {
5446     Lisp_Object nil = C_nil;
5447     Lisp_Object v0432, v0113, v0114;
5448     Lisp_Object fn;
5449     CSL_IGNORE(nil);
5450 #ifdef DEBUG
5451     if (check_env(env)) return aerror("env for gcdlist1");
5452 #endif
5453     if (stack >= stacklimit)
5454     {
5455         push(v0000);
5456         env = reclaim(env, "stack", GC_STACK, 0);
5457         pop(v0000);
5458         nil = C_nil;
5459         if (exception_pending()) return nil;
5460     }
5461     push(env);
5462 /* space for vars preserved across procedure calls */
5463     push5(nil, nil, nil, nil, nil);
5464     push2(nil, nil);
5465 /* copy arguments values to proper place */
5466     stack[0] = v0000;
5467 /* end of prologue */
5468     stack[-6] = qvalue(elt(env, 1)); /* reduction!-count */
5469     qvalue(elt(env, 1)) = nil; /* reduction!-count */
5470     v0432 = stack[0];
5471     v0432 = qcar(v0432);
5472     v0432 = qcdr(v0432);
5473     stack[-4] = v0432;
5474     stack[-2] = v0432;
5475     v0432 = stack[0];
5476     v0432 = qcdr(v0432);
5477     stack[-3] = v0432;
5478     goto v0235;
5479 
5480 v0235:
5481     v0432 = stack[-3];
5482     if (v0432 == nil) goto v0165;
5483     v0432 = stack[-3];
5484     v0432 = qcar(v0432);
5485     stack[-1] = v0432;
5486     v0113 = stack[-2];
5487     v0432 = stack[-1];
5488     v0432 = qcdr(v0432);
5489     fn = elt(env, 4); /* vunion */
5490     v0432 = (*qfn2(fn))(qenv(fn), v0113, v0432);
5491     nil = C_nil;
5492     if (exception_pending()) goto v0284;
5493     env = stack[-7];
5494     stack[-2] = v0432;
5495     v0113 = stack[-4];
5496     v0432 = stack[-1];
5497     v0432 = qcdr(v0432);
5498     fn = elt(env, 5); /* vintersection */
5499     v0432 = (*qfn2(fn))(qenv(fn), v0113, v0432);
5500     nil = C_nil;
5501     if (exception_pending()) goto v0284;
5502     env = stack[-7];
5503     stack[-4] = v0432;
5504     v0432 = stack[-3];
5505     v0432 = qcdr(v0432);
5506     stack[-3] = v0432;
5507     goto v0235;
5508 
5509 v0165:
5510     v0432 = stack[-4];
5511     if (v0432 == nil) goto v0433;
5512     v0432 = stack[-4];
5513     stack[-1] = v0432;
5514     goto v0156;
5515 
5516 v0156:
5517     v0432 = stack[-1];
5518     if (v0432 == nil) goto v0254;
5519     v0432 = stack[-1];
5520     v0432 = qcar(v0432);
5521     v0113 = v0432;
5522     v0432 = stack[-2];
5523     fn = elt(env, 6); /* vdelete */
5524     v0432 = (*qfn2(fn))(qenv(fn), v0113, v0432);
5525     nil = C_nil;
5526     if (exception_pending()) goto v0284;
5527     env = stack[-7];
5528     stack[-2] = v0432;
5529     v0432 = stack[-1];
5530     v0432 = qcdr(v0432);
5531     stack[-1] = v0432;
5532     goto v0156;
5533 
5534 v0254:
5535     v0113 = stack[-4];
5536     v0432 = elt(env, 3); /* lesspcdr */
5537     fn = elt(env, 7); /* sort */
5538     v0432 = (*qfn2(fn))(qenv(fn), v0113, v0432);
5539     nil = C_nil;
5540     if (exception_pending()) goto v0284;
5541     env = stack[-7];
5542     stack[-4] = v0432;
5543     v0432 = stack[-4];
5544     v0432 = qcar(v0432);
5545     v0113 = qcdr(v0432);
5546     v0432 = (Lisp_Object)17; /* 1 */
5547     if (v0113 == v0432) goto v0355;
5548     v0432 = stack[-2];
5549     if (v0432 == nil) goto v0434;
5550     v0113 = stack[-2];
5551     v0432 = stack[-4];
5552     v0432 = Lappend(nil, v0113, v0432);
5553     nil = C_nil;
5554     if (exception_pending()) goto v0284;
5555     env = stack[-7];
5556     fn = elt(env, 8); /* mapcarcar */
5557     v0432 = (*qfn1(fn))(qenv(fn), v0432);
5558     nil = C_nil;
5559     if (exception_pending()) goto v0284;
5560     env = stack[-7];
5561     fn = elt(env, 9); /* setkorder */
5562     v0432 = (*qfn1(fn))(qenv(fn), v0432);
5563     nil = C_nil;
5564     if (exception_pending()) goto v0284;
5565     env = stack[-7];
5566     stack[-5] = v0432;
5567     v0432 = qvalue(elt(env, 2)); /* nil */
5568     stack[-4] = v0432;
5569     v0432 = stack[0];
5570     stack[-1] = v0432;
5571     goto v0342;
5572 
5573 v0342:
5574     v0432 = stack[-1];
5575     if (v0432 == nil) goto v0375;
5576     v0432 = stack[-1];
5577     v0432 = qcar(v0432);
5578     v0432 = qcar(v0432);
5579     fn = elt(env, 10); /* reorder */
5580     stack[0] = (*qfn1(fn))(qenv(fn), v0432);
5581     nil = C_nil;
5582     if (exception_pending()) goto v0284;
5583     env = stack[-7];
5584     v0432 = stack[-2];
5585     fn = elt(env, 8); /* mapcarcar */
5586     v0113 = (*qfn1(fn))(qenv(fn), v0432);
5587     nil = C_nil;
5588     if (exception_pending()) goto v0284;
5589     env = stack[-7];
5590     v0432 = stack[-4];
5591     fn = elt(env, 11); /* split!-wrt!-variables */
5592     v0432 = (*qfnn(fn))(qenv(fn), 3, stack[0], v0113, v0432);
5593     nil = C_nil;
5594     if (exception_pending()) goto v0284;
5595     env = stack[-7];
5596     stack[-4] = v0432;
5597     v0432 = stack[-1];
5598     v0432 = qcdr(v0432);
5599     stack[-1] = v0432;
5600     goto v0342;
5601 
5602 v0375:
5603     v0432 = stack[-5];
5604     fn = elt(env, 9); /* setkorder */
5605     v0432 = (*qfn1(fn))(qenv(fn), v0432);
5606     nil = C_nil;
5607     if (exception_pending()) goto v0284;
5608     env = stack[-7];
5609     v0432 = stack[-4];
5610     stack[-5] = v0432;
5611     v0432 = stack[-5];
5612     if (v0432 == nil) goto v0370;
5613     v0432 = stack[-5];
5614     v0432 = qcar(v0432);
5615     stack[-1] = v0432;
5616     v0432 = stack[-1];
5617     fn = elt(env, 10); /* reorder */
5618     stack[0] = (*qfn1(fn))(qenv(fn), v0432);
5619     nil = C_nil;
5620     if (exception_pending()) goto v0284;
5621     env = stack[-7];
5622     v0113 = stack[-1];
5623     v0432 = qvalue(elt(env, 2)); /* nil */
5624     fn = elt(env, 12); /* total!-degree!-in!-powers */
5625     v0432 = (*qfn2(fn))(qenv(fn), v0113, v0432);
5626     nil = C_nil;
5627     if (exception_pending()) goto v0284;
5628     env = stack[-7];
5629     v0432 = cons(stack[0], v0432);
5630     nil = C_nil;
5631     if (exception_pending()) goto v0284;
5632     env = stack[-7];
5633     v0432 = ncons(v0432);
5634     nil = C_nil;
5635     if (exception_pending()) goto v0284;
5636     env = stack[-7];
5637     stack[-3] = v0432;
5638     stack[-4] = v0432;
5639     goto v0435;
5640 
5641 v0435:
5642     v0432 = stack[-5];
5643     v0432 = qcdr(v0432);
5644     stack[-5] = v0432;
5645     v0432 = stack[-5];
5646     if (v0432 == nil) goto v0124;
5647     stack[-2] = stack[-3];
5648     v0432 = stack[-5];
5649     v0432 = qcar(v0432);
5650     stack[-1] = v0432;
5651     v0432 = stack[-1];
5652     fn = elt(env, 10); /* reorder */
5653     stack[0] = (*qfn1(fn))(qenv(fn), v0432);
5654     nil = C_nil;
5655     if (exception_pending()) goto v0284;
5656     env = stack[-7];
5657     v0113 = stack[-1];
5658     v0432 = qvalue(elt(env, 2)); /* nil */
5659     fn = elt(env, 12); /* total!-degree!-in!-powers */
5660     v0432 = (*qfn2(fn))(qenv(fn), v0113, v0432);
5661     nil = C_nil;
5662     if (exception_pending()) goto v0284;
5663     env = stack[-7];
5664     v0432 = cons(stack[0], v0432);
5665     nil = C_nil;
5666     if (exception_pending()) goto v0284;
5667     env = stack[-7];
5668     v0432 = ncons(v0432);
5669     nil = C_nil;
5670     if (exception_pending()) goto v0284;
5671     env = stack[-7];
5672     v0432 = Lrplacd(nil, stack[-2], v0432);
5673     nil = C_nil;
5674     if (exception_pending()) goto v0284;
5675     env = stack[-7];
5676     v0432 = stack[-3];
5677     v0432 = qcdr(v0432);
5678     stack[-3] = v0432;
5679     goto v0435;
5680 
5681 v0124:
5682     v0432 = stack[-4];
5683     goto v0436;
5684 
5685 v0436:
5686     v0432 = CC_gcdlist1(env, v0432);
5687     nil = C_nil;
5688     if (exception_pending()) goto v0284;
5689     env = stack[-7];
5690     goto v0220;
5691 
5692 v0220:
5693     qvalue(elt(env, 1)) = stack[-6]; /* reduction!-count */
5694     { popv(8); return onevalue(v0432); }
5695 
5696 v0370:
5697     v0432 = qvalue(elt(env, 2)); /* nil */
5698     goto v0436;
5699 
5700 v0434:
5701     v0113 = stack[0];
5702     v0432 = stack[-4];
5703     fn = elt(env, 13); /* gcdlist2 */
5704     v0432 = (*qfn2(fn))(qenv(fn), v0113, v0432);
5705     nil = C_nil;
5706     if (exception_pending()) goto v0284;
5707     env = stack[-7];
5708     goto v0220;
5709 
5710 v0355:
5711     v0113 = stack[-4];
5712     v0432 = stack[-2];
5713     v0432 = Lappend(nil, v0113, v0432);
5714     nil = C_nil;
5715     if (exception_pending()) goto v0284;
5716     env = stack[-7];
5717     fn = elt(env, 8); /* mapcarcar */
5718     v0432 = (*qfn1(fn))(qenv(fn), v0432);
5719     nil = C_nil;
5720     if (exception_pending()) goto v0284;
5721     env = stack[-7];
5722     stack[-5] = v0432;
5723     v0432 = stack[-5];
5724     fn = elt(env, 9); /* setkorder */
5725     v0432 = (*qfn1(fn))(qenv(fn), v0432);
5726     nil = C_nil;
5727     if (exception_pending()) goto v0284;
5728     env = stack[-7];
5729     stack[-4] = v0432;
5730     v0432 = stack[0];
5731     stack[-3] = v0432;
5732     v0432 = stack[-3];
5733     if (v0432 == nil) goto v0146;
5734     v0432 = stack[-3];
5735     v0432 = qcar(v0432);
5736     v0432 = qcar(v0432);
5737     fn = elt(env, 10); /* reorder */
5738     v0432 = (*qfn1(fn))(qenv(fn), v0432);
5739     nil = C_nil;
5740     if (exception_pending()) goto v0284;
5741     env = stack[-7];
5742     v0432 = ncons(v0432);
5743     nil = C_nil;
5744     if (exception_pending()) goto v0284;
5745     env = stack[-7];
5746     stack[-1] = v0432;
5747     stack[-2] = v0432;
5748     goto v0437;
5749 
5750 v0437:
5751     v0432 = stack[-3];
5752     v0432 = qcdr(v0432);
5753     stack[-3] = v0432;
5754     v0432 = stack[-3];
5755     if (v0432 == nil) goto v0423;
5756     stack[0] = stack[-1];
5757     v0432 = stack[-3];
5758     v0432 = qcar(v0432);
5759     v0432 = qcar(v0432);
5760     fn = elt(env, 10); /* reorder */
5761     v0432 = (*qfn1(fn))(qenv(fn), v0432);
5762     nil = C_nil;
5763     if (exception_pending()) goto v0284;
5764     env = stack[-7];
5765     v0432 = ncons(v0432);
5766     nil = C_nil;
5767     if (exception_pending()) goto v0284;
5768     env = stack[-7];
5769     v0432 = Lrplacd(nil, stack[0], v0432);
5770     nil = C_nil;
5771     if (exception_pending()) goto v0284;
5772     env = stack[-7];
5773     v0432 = stack[-1];
5774     v0432 = qcdr(v0432);
5775     stack[-1] = v0432;
5776     goto v0437;
5777 
5778 v0423:
5779     v0432 = stack[-2];
5780     v0114 = v0432;
5781     goto v0264;
5782 
5783 v0264:
5784     v0113 = qvalue(elt(env, 2)); /* nil */
5785     v0432 = stack[-5];
5786     fn = elt(env, 14); /* gcdlist3 */
5787     v0432 = (*qfnn(fn))(qenv(fn), 3, v0114, v0113, v0432);
5788     nil = C_nil;
5789     if (exception_pending()) goto v0284;
5790     env = stack[-7];
5791     stack[0] = v0432;
5792     v0432 = stack[-4];
5793     fn = elt(env, 9); /* setkorder */
5794     v0432 = (*qfn1(fn))(qenv(fn), v0432);
5795     nil = C_nil;
5796     if (exception_pending()) goto v0284;
5797     env = stack[-7];
5798     v0432 = stack[0];
5799     fn = elt(env, 10); /* reorder */
5800     v0432 = (*qfn1(fn))(qenv(fn), v0432);
5801     nil = C_nil;
5802     if (exception_pending()) goto v0284;
5803     env = stack[-7];
5804     goto v0220;
5805 
5806 v0146:
5807     v0432 = qvalue(elt(env, 2)); /* nil */
5808     v0114 = v0432;
5809     goto v0264;
5810 
5811 v0433:
5812     v0432 = (Lisp_Object)17; /* 1 */
5813     goto v0220;
5814 /* error exit handlers */
5815 v0284:
5816     env = stack[-7];
5817     qvalue(elt(env, 1)) = stack[-6]; /* reduction!-count */
5818     popv(8);
5819     return nil;
5820 }
5821 
5822 
5823 
5824 /* Code for drop_dec_with */
5825 
CC_drop_dec_with(Lisp_Object env,int nargs,Lisp_Object v0000,Lisp_Object v0001,Lisp_Object v0211,...)5826 static Lisp_Object MS_CDECL CC_drop_dec_with(Lisp_Object env, int nargs,
5827                          Lisp_Object v0000, Lisp_Object v0001,
5828                          Lisp_Object v0211, ...)
5829 {
5830     Lisp_Object nil = C_nil;
5831     Lisp_Object v0230, v0408, v0228;
5832     CSL_IGNORE(nil);
5833     argcheck(nargs, 3, "drop_dec_with");
5834 #ifdef DEBUG
5835     if (check_env(env)) return aerror("env for drop_dec_with");
5836 #endif
5837     if (stack >= stacklimit)
5838     {
5839         push3(v0211,v0001,v0000);
5840         env = reclaim(env, "stack", GC_STACK, 0);
5841         pop3(v0000,v0001,v0211);
5842         nil = C_nil;
5843         if (exception_pending()) return nil;
5844     }
5845     push(env);
5846 /* space for vars preserved across procedure calls */
5847     push5(nil, nil, nil, nil, nil);
5848     push(nil);
5849 /* copy arguments values to proper place */
5850     stack[-2] = v0211;
5851     stack[-3] = v0001;
5852     stack[-4] = v0000;
5853 /* end of prologue */
5854     stack[-5] = nil;
5855     v0230 = stack[-2];
5856     if (v0230 == nil) goto v0354;
5857     v0408 = stack[-3];
5858     v0230 = elt(env, 1); /* dec_with_rl */
5859     v0230 = get(v0408, v0230);
5860     env = stack[-6];
5861     goto v0224;
5862 
5863 v0224:
5864     stack[-1] = v0230;
5865     goto v0221;
5866 
5867 v0221:
5868     v0230 = stack[-1];
5869     if (v0230 == nil) goto v0330;
5870     v0230 = stack[-1];
5871     v0230 = qcar(v0230);
5872     stack[0] = v0230;
5873     v0408 = stack[-4];
5874     v0230 = stack[0];
5875     v0230 = Ldelete(nil, v0408, v0230);
5876     nil = C_nil;
5877     if (exception_pending()) goto v0208;
5878     env = stack[-6];
5879     stack[0] = v0230;
5880     v0230 = stack[0];
5881     v0408 = Llength(nil, v0230);
5882     nil = C_nil;
5883     if (exception_pending()) goto v0208;
5884     env = stack[-6];
5885     v0230 = (Lisp_Object)17; /* 1 */
5886     v0230 = (Lisp_Object)greaterp2(v0408, v0230);
5887     nil = C_nil;
5888     if (exception_pending()) goto v0208;
5889     v0230 = v0230 ? lisp_true : nil;
5890     env = stack[-6];
5891     if (v0230 == nil) goto v0218;
5892     v0408 = stack[0];
5893     v0230 = stack[-5];
5894     v0230 = cons(v0408, v0230);
5895     nil = C_nil;
5896     if (exception_pending()) goto v0208;
5897     env = stack[-6];
5898     stack[-5] = v0230;
5899     goto v0218;
5900 
5901 v0218:
5902     v0230 = stack[-1];
5903     v0230 = qcdr(v0230);
5904     stack[-1] = v0230;
5905     goto v0221;
5906 
5907 v0330:
5908     v0230 = stack[-2];
5909     if (v0230 == nil) goto v0328;
5910     v0228 = stack[-3];
5911     v0408 = elt(env, 1); /* dec_with_rl */
5912     v0230 = stack[-5];
5913     v0230 = Lputprop(nil, 3, v0228, v0408, v0230);
5914     nil = C_nil;
5915     if (exception_pending()) goto v0208;
5916     goto v0254;
5917 
5918 v0254:
5919     v0230 = nil;
5920     { popv(7); return onevalue(v0230); }
5921 
5922 v0328:
5923     v0228 = stack[-3];
5924     v0408 = elt(env, 2); /* dec_with */
5925     v0230 = stack[-5];
5926     v0230 = Lputprop(nil, 3, v0228, v0408, v0230);
5927     nil = C_nil;
5928     if (exception_pending()) goto v0208;
5929     goto v0254;
5930 
5931 v0354:
5932     v0408 = stack[-3];
5933     v0230 = elt(env, 2); /* dec_with */
5934     v0230 = get(v0408, v0230);
5935     env = stack[-6];
5936     goto v0224;
5937 /* error exit handlers */
5938 v0208:
5939     popv(7);
5940     return nil;
5941 }
5942 
5943 
5944 
5945 /* Code for stp */
5946 
CC_stp(Lisp_Object env,Lisp_Object v0000)5947 static Lisp_Object CC_stp(Lisp_Object env,
5948                          Lisp_Object v0000)
5949 {
5950     Lisp_Object nil = C_nil;
5951     Lisp_Object v0390, v0165;
5952     Lisp_Object fn;
5953     CSL_IGNORE(nil);
5954 #ifdef DEBUG
5955     if (check_env(env)) return aerror("env for stp");
5956 #endif
5957     if (stack >= stacklimit)
5958     {
5959         push(v0000);
5960         env = reclaim(env, "stack", GC_STACK, 0);
5961         pop(v0000);
5962         nil = C_nil;
5963         if (exception_pending()) return nil;
5964     }
5965     push(env);
5966 /* copy arguments values to proper place */
5967     v0390 = v0000;
5968 /* end of prologue */
5969     v0165 = v0390;
5970     v0165 = Lconsp(nil, v0165);
5971     env = stack[0];
5972     if (v0165 == nil) goto v0239;
5973     v0390 = qcar(v0390);
5974     {
5975         popv(1);
5976         fn = elt(env, 2); /* spp */
5977         return (*qfn1(fn))(qenv(fn), v0390);
5978     }
5979 
5980 v0239:
5981     v0390 = qvalue(elt(env, 1)); /* nil */
5982     { popv(1); return onevalue(v0390); }
5983 }
5984 
5985 
5986 
5987 /* Code for rappend */
5988 
CC_rappend(Lisp_Object env,Lisp_Object v0000)5989 static Lisp_Object CC_rappend(Lisp_Object env,
5990                          Lisp_Object v0000)
5991 {
5992     Lisp_Object nil = C_nil;
5993     Lisp_Object v0269, v0413;
5994     Lisp_Object fn;
5995     CSL_IGNORE(nil);
5996 #ifdef DEBUG
5997     if (check_env(env)) return aerror("env for rappend");
5998 #endif
5999     if (stack >= stacklimit)
6000     {
6001         push(v0000);
6002         env = reclaim(env, "stack", GC_STACK, 0);
6003         pop(v0000);
6004         nil = C_nil;
6005         if (exception_pending()) return nil;
6006     }
6007     push(env);
6008 /* space for vars preserved across procedure calls */
6009     push3(nil, nil, nil);
6010 /* copy arguments values to proper place */
6011     stack[0] = v0000;
6012 /* end of prologue */
6013     v0413 = elt(env, 1); /* append */
6014     v0269 = stack[0];
6015     v0269 = cons(v0413, v0269);
6016     nil = C_nil;
6017     if (exception_pending()) goto v0215;
6018     env = stack[-3];
6019     fn = elt(env, 4); /* argnochk */
6020     v0269 = (*qfn1(fn))(qenv(fn), v0269);
6021     nil = C_nil;
6022     if (exception_pending()) goto v0215;
6023     env = stack[-3];
6024     v0269 = stack[0];
6025     v0269 = qcar(v0269);
6026     fn = elt(env, 5); /* reval */
6027     v0269 = (*qfn1(fn))(qenv(fn), v0269);
6028     nil = C_nil;
6029     if (exception_pending()) goto v0215;
6030     env = stack[-3];
6031     stack[-2] = v0269;
6032     fn = elt(env, 6); /* getrtype */
6033     v0413 = (*qfn1(fn))(qenv(fn), v0269);
6034     nil = C_nil;
6035     if (exception_pending()) goto v0215;
6036     env = stack[-3];
6037     v0269 = elt(env, 2); /* list */
6038     if (v0413 == v0269) goto v0394;
6039     v0413 = stack[-2];
6040     v0269 = elt(env, 3); /* "list" */
6041     fn = elt(env, 7); /* typerr */
6042     v0269 = (*qfn2(fn))(qenv(fn), v0413, v0269);
6043     nil = C_nil;
6044     if (exception_pending()) goto v0215;
6045     goto v0235;
6046 
6047 v0235:
6048     v0269 = nil;
6049     { popv(4); return onevalue(v0269); }
6050 
6051 v0394:
6052     v0269 = stack[0];
6053     v0269 = qcdr(v0269);
6054     v0269 = qcar(v0269);
6055     fn = elt(env, 5); /* reval */
6056     v0269 = (*qfn1(fn))(qenv(fn), v0269);
6057     nil = C_nil;
6058     if (exception_pending()) goto v0215;
6059     env = stack[-3];
6060     stack[-1] = v0269;
6061     fn = elt(env, 6); /* getrtype */
6062     v0413 = (*qfn1(fn))(qenv(fn), v0269);
6063     nil = C_nil;
6064     if (exception_pending()) goto v0215;
6065     env = stack[-3];
6066     v0269 = elt(env, 2); /* list */
6067     if (v0413 == v0269) goto v0256;
6068     v0413 = stack[-1];
6069     v0269 = elt(env, 3); /* "list" */
6070     fn = elt(env, 7); /* typerr */
6071     v0269 = (*qfn2(fn))(qenv(fn), v0413, v0269);
6072     nil = C_nil;
6073     if (exception_pending()) goto v0215;
6074     goto v0235;
6075 
6076 v0256:
6077     stack[0] = elt(env, 2); /* list */
6078     v0269 = stack[-2];
6079     v0413 = qcdr(v0269);
6080     v0269 = stack[-1];
6081     v0269 = qcdr(v0269);
6082     v0269 = Lappend(nil, v0413, v0269);
6083     nil = C_nil;
6084     if (exception_pending()) goto v0215;
6085     {
6086         Lisp_Object v0252 = stack[0];
6087         popv(4);
6088         return cons(v0252, v0269);
6089     }
6090 /* error exit handlers */
6091 v0215:
6092     popv(4);
6093     return nil;
6094 }
6095 
6096 
6097 
6098 /* Code for polineqcheck */
6099 
CC_polineqcheck(Lisp_Object env,Lisp_Object v0000,Lisp_Object v0001)6100 static Lisp_Object CC_polineqcheck(Lisp_Object env,
6101                          Lisp_Object v0000, Lisp_Object v0001)
6102 {
6103     Lisp_Object nil = C_nil;
6104     Lisp_Object v0259, v0394;
6105     Lisp_Object fn;
6106     CSL_IGNORE(nil);
6107 #ifdef DEBUG
6108     if (check_env(env)) return aerror("env for polineqcheck");
6109 #endif
6110     if (stack >= stacklimit)
6111     {
6112         push2(v0001,v0000);
6113         env = reclaim(env, "stack", GC_STACK, 0);
6114         pop2(v0000,v0001);
6115         nil = C_nil;
6116         if (exception_pending()) return nil;
6117     }
6118     push(env);
6119 /* space for vars preserved across procedure calls */
6120     push2(nil, nil);
6121 /* copy arguments values to proper place */
6122     stack[0] = v0001;
6123     stack[-1] = v0000;
6124 /* end of prologue */
6125 
6126 v0222:
6127     v0259 = stack[-1];
6128     if (v0259 == nil) goto v0162;
6129     v0259 = stack[-1];
6130     v0394 = qcar(v0259);
6131     v0259 = stack[0];
6132     fn = elt(env, 3); /* subsq */
6133     v0259 = (*qfn2(fn))(qenv(fn), v0394, v0259);
6134     nil = C_nil;
6135     if (exception_pending()) goto v0246;
6136     env = stack[-2];
6137     v0259 = qcar(v0259);
6138     fn = elt(env, 4); /* minusf */
6139     v0259 = (*qfn1(fn))(qenv(fn), v0259);
6140     nil = C_nil;
6141     if (exception_pending()) goto v0246;
6142     env = stack[-2];
6143     if (v0259 == nil) goto v0272;
6144     v0259 = qvalue(elt(env, 2)); /* nil */
6145     { popv(3); return onevalue(v0259); }
6146 
6147 v0272:
6148     v0259 = stack[-1];
6149     v0394 = qcdr(v0259);
6150     v0259 = stack[0];
6151     stack[-1] = v0394;
6152     stack[0] = v0259;
6153     goto v0222;
6154 
6155 v0162:
6156     v0259 = qvalue(elt(env, 1)); /* t */
6157     { popv(3); return onevalue(v0259); }
6158 /* error exit handlers */
6159 v0246:
6160     popv(3);
6161     return nil;
6162 }
6163 
6164 
6165 
6166 /* Code for reduce!-mod!-eig */
6167 
CC_reduceKmodKeig(Lisp_Object env,Lisp_Object v0000,Lisp_Object v0001)6168 static Lisp_Object CC_reduceKmodKeig(Lisp_Object env,
6169                          Lisp_Object v0000, Lisp_Object v0001)
6170 {
6171     Lisp_Object nil = C_nil;
6172     Lisp_Object v0304, v0282, v0418;
6173     Lisp_Object fn;
6174     CSL_IGNORE(nil);
6175 #ifdef DEBUG
6176     if (check_env(env)) return aerror("env for reduce-mod-eig");
6177 #endif
6178     if (stack >= stacklimit)
6179     {
6180         push2(v0001,v0000);
6181         env = reclaim(env, "stack", GC_STACK, 0);
6182         pop2(v0000,v0001);
6183         nil = C_nil;
6184         if (exception_pending()) return nil;
6185     }
6186     push(env);
6187 /* space for vars preserved across procedure calls */
6188     push5(nil, nil, nil, nil, nil);
6189     push2(nil, nil);
6190 /* copy arguments values to proper place */
6191     v0304 = v0001;
6192     stack[-1] = v0000;
6193 /* end of prologue */
6194     stack[-2] = nil;
6195     stack[0] = v0304;
6196     goto v0224;
6197 
6198 v0224:
6199     v0304 = stack[0];
6200     if (v0304 == nil) goto v0220;
6201     v0282 = stack[-1];
6202     v0304 = stack[0];
6203     v0304 = qcar(v0304);
6204     v0304 = qcdr(v0304);
6205     fn = elt(env, 2); /* reduce!-mod!-eigf */
6206     v0304 = (*qfn2(fn))(qenv(fn), v0282, v0304);
6207     nil = C_nil;
6208     if (exception_pending()) goto v0376;
6209     env = stack[-7];
6210     stack[-6] = v0304;
6211     v0304 = qcar(v0304);
6212     if (v0304 == nil) goto v0233;
6213     v0304 = stack[0];
6214     v0304 = qcar(v0304);
6215     v0418 = qcar(v0304);
6216     v0282 = stack[-6];
6217     v0304 = stack[-2];
6218     v0304 = acons(v0418, v0282, v0304);
6219     nil = C_nil;
6220     if (exception_pending()) goto v0376;
6221     env = stack[-7];
6222     stack[-2] = v0304;
6223     goto v0233;
6224 
6225 v0233:
6226     v0304 = stack[0];
6227     v0304 = qcdr(v0304);
6228     stack[0] = v0304;
6229     goto v0224;
6230 
6231 v0220:
6232     v0304 = (Lisp_Object)17; /* 1 */
6233     stack[-6] = v0304;
6234     v0304 = stack[-2];
6235     stack[0] = v0304;
6236     goto v0438;
6237 
6238 v0438:
6239     v0304 = stack[0];
6240     if (v0304 == nil) goto v0251;
6241     v0282 = stack[-6];
6242     v0304 = stack[0];
6243     v0304 = qcar(v0304);
6244     v0304 = qcdr(v0304);
6245     v0304 = qcdr(v0304);
6246     fn = elt(env, 3); /* lcm */
6247     v0304 = (*qfn2(fn))(qenv(fn), v0282, v0304);
6248     nil = C_nil;
6249     if (exception_pending()) goto v0376;
6250     env = stack[-7];
6251     stack[-6] = v0304;
6252     v0304 = stack[0];
6253     v0304 = qcdr(v0304);
6254     stack[0] = v0304;
6255     goto v0438;
6256 
6257 v0251:
6258     v0304 = stack[-2];
6259     v0304 = Lreverse(nil, v0304);
6260     nil = C_nil;
6261     if (exception_pending()) goto v0376;
6262     env = stack[-7];
6263     stack[-5] = v0304;
6264     v0304 = stack[-5];
6265     if (v0304 == nil) goto v0252;
6266     v0304 = stack[-5];
6267     v0304 = qcar(v0304);
6268     stack[-1] = qcar(v0304);
6269     v0304 = stack[-5];
6270     v0304 = qcar(v0304);
6271     v0304 = qcdr(v0304);
6272     stack[0] = qcar(v0304);
6273     v0282 = stack[-6];
6274     v0304 = stack[-5];
6275     v0304 = qcar(v0304);
6276     v0304 = qcdr(v0304);
6277     v0304 = qcdr(v0304);
6278     fn = elt(env, 4); /* quotf */
6279     v0304 = (*qfn2(fn))(qenv(fn), v0282, v0304);
6280     nil = C_nil;
6281     if (exception_pending()) goto v0376;
6282     env = stack[-7];
6283     fn = elt(env, 5); /* multf */
6284     v0304 = (*qfn2(fn))(qenv(fn), stack[0], v0304);
6285     nil = C_nil;
6286     if (exception_pending()) goto v0376;
6287     env = stack[-7];
6288     v0304 = cons(stack[-1], v0304);
6289     nil = C_nil;
6290     if (exception_pending()) goto v0376;
6291     env = stack[-7];
6292     v0304 = ncons(v0304);
6293     nil = C_nil;
6294     if (exception_pending()) goto v0376;
6295     env = stack[-7];
6296     stack[-3] = v0304;
6297     stack[-4] = v0304;
6298     goto v0413;
6299 
6300 v0413:
6301     v0304 = stack[-5];
6302     v0304 = qcdr(v0304);
6303     stack[-5] = v0304;
6304     v0304 = stack[-5];
6305     if (v0304 == nil) { Lisp_Object res = stack[-4]; popv(8); return onevalue(res); }
6306     stack[-2] = stack[-3];
6307     v0304 = stack[-5];
6308     v0304 = qcar(v0304);
6309     stack[-1] = qcar(v0304);
6310     v0304 = stack[-5];
6311     v0304 = qcar(v0304);
6312     v0304 = qcdr(v0304);
6313     stack[0] = qcar(v0304);
6314     v0282 = stack[-6];
6315     v0304 = stack[-5];
6316     v0304 = qcar(v0304);
6317     v0304 = qcdr(v0304);
6318     v0304 = qcdr(v0304);
6319     fn = elt(env, 4); /* quotf */
6320     v0304 = (*qfn2(fn))(qenv(fn), v0282, v0304);
6321     nil = C_nil;
6322     if (exception_pending()) goto v0376;
6323     env = stack[-7];
6324     fn = elt(env, 5); /* multf */
6325     v0304 = (*qfn2(fn))(qenv(fn), stack[0], v0304);
6326     nil = C_nil;
6327     if (exception_pending()) goto v0376;
6328     env = stack[-7];
6329     v0304 = cons(stack[-1], v0304);
6330     nil = C_nil;
6331     if (exception_pending()) goto v0376;
6332     env = stack[-7];
6333     v0304 = ncons(v0304);
6334     nil = C_nil;
6335     if (exception_pending()) goto v0376;
6336     env = stack[-7];
6337     v0304 = Lrplacd(nil, stack[-2], v0304);
6338     nil = C_nil;
6339     if (exception_pending()) goto v0376;
6340     env = stack[-7];
6341     v0304 = stack[-3];
6342     v0304 = qcdr(v0304);
6343     stack[-3] = v0304;
6344     goto v0413;
6345 
6346 v0252:
6347     v0304 = qvalue(elt(env, 1)); /* nil */
6348     { popv(8); return onevalue(v0304); }
6349 /* error exit handlers */
6350 v0376:
6351     popv(8);
6352     return nil;
6353 }
6354 
6355 
6356 
6357 /* Code for evalwhereexp */
6358 
CC_evalwhereexp(Lisp_Object env,Lisp_Object v0000)6359 static Lisp_Object CC_evalwhereexp(Lisp_Object env,
6360                          Lisp_Object v0000)
6361 {
6362     Lisp_Object nil = C_nil;
6363     Lisp_Object v0246, v0247;
6364     Lisp_Object fn;
6365     CSL_IGNORE(nil);
6366 #ifdef DEBUG
6367     if (check_env(env)) return aerror("env for evalwhereexp");
6368 #endif
6369     if (stack >= stacklimit)
6370     {
6371         push(v0000);
6372         env = reclaim(env, "stack", GC_STACK, 0);
6373         pop(v0000);
6374         nil = C_nil;
6375         if (exception_pending()) return nil;
6376     }
6377     push(env);
6378 /* space for vars preserved across procedure calls */
6379     push3(nil, nil, nil);
6380 /* copy arguments values to proper place */
6381     v0247 = v0000;
6382 /* end of prologue */
6383     v0246 = v0247;
6384     v0246 = qcar(v0246);
6385     stack[-2] = qcdr(v0246);
6386     stack[-1] = elt(env, 1); /* aeval */
6387     stack[0] = elt(env, 1); /* aeval */
6388     v0246 = v0247;
6389     v0247 = qcdr(v0246);
6390     v0246 = elt(env, 2); /* where */
6391     fn = elt(env, 4); /* carx */
6392     v0246 = (*qfn2(fn))(qenv(fn), v0247, v0246);
6393     nil = C_nil;
6394     if (exception_pending()) goto v0242;
6395     env = stack[-3];
6396     v0246 = list2(stack[0], v0246);
6397     nil = C_nil;
6398     if (exception_pending()) goto v0242;
6399     env = stack[-3];
6400     v0246 = Lmkquote(nil, v0246);
6401     nil = C_nil;
6402     if (exception_pending()) goto v0242;
6403     env = stack[-3];
6404     v0246 = list2(stack[-1], v0246);
6405     nil = C_nil;
6406     if (exception_pending()) goto v0242;
6407     env = stack[-3];
6408     v0247 = list2(stack[-2], v0246);
6409     nil = C_nil;
6410     if (exception_pending()) goto v0242;
6411     env = stack[-3];
6412     v0246 = qvalue(elt(env, 3)); /* nil */
6413     {
6414         popv(4);
6415         fn = elt(env, 5); /* evalletsub */
6416         return (*qfn2(fn))(qenv(fn), v0247, v0246);
6417     }
6418 /* error exit handlers */
6419 v0242:
6420     popv(4);
6421     return nil;
6422 }
6423 
6424 
6425 
6426 setup_type const u56_setup[] =
6427 {
6428     {"fortexp1",                too_few_2,      CC_fortexp1,   wrong_no_2},
6429     {"freeindp",                CC_freeindp,    too_many_1,    wrong_no_1},
6430     {"getphystypestate",        CC_getphystypestate,too_many_1,wrong_no_1},
6431     {"intargfn",                wrong_no_na,    wrong_no_nb,   (n_args *)CC_intargfn},
6432     {"simpfourier1",            CC_simpfourier1,too_many_1,    wrong_no_1},
6433     {"dp_from_a",               CC_dp_from_a,   too_many_1,    wrong_no_1},
6434     {"invbase",                 CC_invbase,     too_many_1,    wrong_no_1},
6435     {"ggvars2",                 too_few_2,      CC_ggvars2,    wrong_no_2},
6436     {"nrootnn",                 too_few_2,      CC_nrootnn,    wrong_no_2},
6437     {"evaluate-in-vector",      wrong_no_na,    wrong_no_nb,   (n_args *)CC_evaluateKinKvector},
6438     {"repr_atfnew",             wrong_no_na,    wrong_no_nb,   (n_args *)CC_repr_atfnew},
6439     {"aex_1",                   wrong_no_na,    wrong_no_nb,   (n_args *)CC_aex_1},
6440     {"partialdiff",             too_few_2,      CC_partialdiff,wrong_no_2},
6441     {"transferrow",             too_few_2,      CC_transferrow,wrong_no_2},
6442     {"xregister_spoly_pair",    wrong_no_na,    wrong_no_nb,   (n_args *)CC_xregister_spoly_pair},
6443     {"evalsetbool",             wrong_no_na,    wrong_no_nb,   (n_args *)CC_evalsetbool},
6444     {"gcdlist1",                CC_gcdlist1,    too_many_1,    wrong_no_1},
6445     {"drop_dec_with",           wrong_no_na,    wrong_no_nb,   (n_args *)CC_drop_dec_with},
6446     {"stp",                     CC_stp,         too_many_1,    wrong_no_1},
6447     {"rappend",                 CC_rappend,     too_many_1,    wrong_no_1},
6448     {"polineqcheck",            too_few_2,      CC_polineqcheck,wrong_no_2},
6449     {"reduce-mod-eig",          too_few_2,      CC_reduceKmodKeig,wrong_no_2},
6450     {"evalwhereexp",            CC_evalwhereexp,too_many_1,    wrong_no_1},
6451     {NULL, (one_args *)"u56", (two_args *)"9962 3647278 8694753", 0}
6452 };
6453 
6454 /* end of generated code */
6455