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