From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 24167 invoked by alias); 6 Aug 2002 14:06:07 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 24149 invoked by uid 71); 6 Aug 2002 14:06:06 -0000 Resent-Date: 6 Aug 2002 14:06:06 -0000 Resent-Message-ID: <20020806140606.24148.qmail@sources.redhat.com> Resent-From: gcc-gnats@gcc.gnu.org (GNATS Filer) Resent-To: nobody@gcc.gnu.org Resent-Cc: gcc-prs@gcc.gnu.org, gcc-bugs@gcc.gnu.org Resent-Reply-To: gcc-gnats@gcc.gnu.org, Han-Wen Nienhuys Received: (qmail 21783 invoked from network); 6 Aug 2002 13:59:17 -0000 Received: from unknown (HELO meddo.cs.uu.nl) (131.211.80.91) by sources.redhat.com with SMTP; 6 Aug 2002 13:59:17 -0000 Received: (from hanwen@localhost) by meddo.cs.uu.nl (8.11.6/8.11.6) id g76DxFu21841; Tue, 6 Aug 2002 15:59:15 +0200 Message-Id: <200208061359.g76DxFu21841@meddo.cs.uu.nl> Date: Tue, 06 Aug 2002 07:06:00 -0000 From: Han-Wen Nienhuys To: gcc-gnats@gcc.gnu.org X-Send-Pr-Version: 3.113 Subject: c/7507: gcc segv X-SW-Source: 2002-08/txt/msg00106.txt.bz2 List-Id: >Number: 7507 >Category: c >Synopsis: gcc segv >Confidential: no >Severity: critical >Priority: medium >Responsible: unassigned >State: open >Class: ice-on-legal-code >Submitter-Id: net >Arrival-Date: Tue Aug 06 07:06:04 PDT 2002 >Closed-Date: >Last-Modified: >Originator: Han-Wen Nienhuys >Release: 3.1.1 >Organization: CS Dept. Utrecht University -- The Netherlands >Environment: System: Linux meddo.cs.uu.nl 2.4.18 #1 di feb 26 12:12:46 CET 2002 i686 unknown Architecture: i686 host: i686-pc-linux-gnu build: i686-pc-linux-gnu target: i686-pc-linux-gnu configured with: ../gcc-3.1.1/configure --prefix=/users/hanwen/usr/pkg/gcc3 --program-suffix=3 --with-cpu=i686 --enable-languages=java,c++,c >Description: (gdb) r -O2 gccsegv.c eval.c: In function `scm_ceval': eval.c:3314: internal error: Segmentatie fout Please submit a full bug report, with preprocessed source if appropriate. See for instructions. >How-To-Repeat: # 1 "eval.c" # 1 "" # 1 "" # 1 "eval.c" # 58 "eval.c" # 1 "../libguile/scmconfig.h" 1 # 59 "eval.c" 2 # 77 "eval.c" # 1 "../libguile/_scm.h" 1 # 49 "../libguile/_scm.h" # 1 "../libguile/__scm.h" 1 # 157 "../libguile/__scm.h" # 1 "../libguile/scmconfig.h" 1 # 158 "../libguile/__scm.h" 2 # 304 "../libguile/__scm.h" # 1 "/users/hanwen/usr/lib/gcc-lib/i686-pc-linux-gnu/3.1.1/include/limits.h" 1 3 # 11 "/users/hanwen/usr/lib/gcc-lib/i686-pc-linux-gnu/3.1.1/include/limits.h" 3 # 1 "/users/hanwen/usr/lib/gcc-lib/i686-pc-linux-gnu/3.1.1/include/syslimits.h" 1 3 # 1 "/users/hanwen/usr/lib/gcc-lib/i686-pc-linux-gnu/3.1.1/include/limits.h" 1 3 # 132 "/users/hanwen/usr/lib/gcc-lib/i686-pc-linux-gnu/3.1.1/include/limits.h" 3 # 1 "/usr/include/limits.h" 1 3 # 26 "/usr/include/limits.h" 3 # 1 "/usr/include/features.h" 1 3 # 291 "/usr/include/features.h" 3 # 1 "/usr/include/sys/cdefs.h" 1 3 # 292 "/usr/include/features.h" 2 3 # 320 "/usr/include/features.h" 3 # 1 "/usr/include/gnu/stubs.h" 1 3 # 321 "/usr/include/features.h" 2 3 # 27 "/usr/include/limits.h" 2 3 # 144 "/usr/include/limits.h" 3 # 1 "/usr/include/bits/posix1_lim.h" 1 3 # 126 "/usr/include/bits/posix1_lim.h" 3 # 1 "/usr/include/bits/local_lim.h" 1 3 # 36 "/usr/include/bits/local_lim.h" 3 # 1 "/usr/include/linux/limits.h" 1 3 # 37 "/usr/include/bits/local_lim.h" 2 3 # 127 "/usr/include/bits/posix1_lim.h" 2 3 # 145 "/usr/include/limits.h" 2 3 # 1 "/usr/include/bits/posix2_lim.h" 1 3 # 149 "/usr/include/limits.h" 2 3 # 133 "/users/hanwen/usr/lib/gcc-lib/i686-pc-linux-gnu/3.1.1/include/limits.h" 2 3 # 8 "/users/hanwen/usr/lib/gcc-lib/i686-pc-linux-gnu/3.1.1/include/syslimits.h" 2 3 # 12 "/users/hanwen/usr/lib/gcc-lib/i686-pc-linux-gnu/3.1.1/include/limits.h" 2 3 # 305 "../libguile/__scm.h" 2 # 328 "../libguile/__scm.h" # 1 "/usr/include/stdlib.h" 1 3 # 33 "/usr/include/stdlib.h" 3 # 1 "/users/hanwen/usr/lib/gcc-lib/i686-pc-linux-gnu/3.1.1/include/stddef.h" 1 3 # 201 "/users/hanwen/usr/lib/gcc-lib/i686-pc-linux-gnu/3.1.1/include/stddef.h" 3 typedef unsigned int size_t; # 294 "/users/hanwen/usr/lib/gcc-lib/i686-pc-linux-gnu/3.1.1/include/stddef.h" 3 typedef long int wchar_t; # 34 "/usr/include/stdlib.h" 2 3 # 94 "/usr/include/stdlib.h" 3 typedef struct { int quot; int rem; } div_t; typedef struct { long int quot; long int rem; } ldiv_t; # 133 "/usr/include/stdlib.h" 3 extern size_t __ctype_get_mb_cur_max (void) ; extern double atof (__const char *__nptr) __attribute__ ((__pure__)); extern int atoi (__const char *__nptr) __attribute__ ((__pure__)); extern long int atol (__const char *__nptr) __attribute__ ((__pure__)); __extension__ extern long long int atoll (__const char *__nptr) __attribute__ ((__pure__)); extern double strtod (__const char *__restrict __nptr, char **__restrict __endptr) ; # 163 "/usr/include/stdlib.h" 3 extern long int strtol (__const char *__restrict __nptr, char **__restrict __endptr, int __base) ; extern unsigned long int strtoul (__const char *__restrict __nptr, char **__restrict __endptr, int __base) ; __extension__ extern long long int strtoq (__const char *__restrict __nptr, char **__restrict __endptr, int __base) ; __extension__ extern unsigned long long int strtouq (__const char *__restrict __nptr, char **__restrict __endptr, int __base) ; __extension__ extern long long int strtoll (__const char *__restrict __nptr, char **__restrict __endptr, int __base) ; __extension__ extern unsigned long long int strtoull (__const char *__restrict __nptr, char **__restrict __endptr, int __base) ; # 250 "/usr/include/stdlib.h" 3 extern double __strtod_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __group) ; extern float __strtof_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __group) ; extern long double __strtold_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __group) ; extern long int __strtol_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __base, int __group) ; extern unsigned long int __strtoul_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __base, int __group) ; __extension__ extern long long int __strtoll_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __base, int __group) ; __extension__ extern unsigned long long int __strtoull_internal (__const char * __restrict __nptr, char **__restrict __endptr, int __base, int __group) ; extern __inline double strtod (__const char *__restrict __nptr, char **__restrict __endptr) { return __strtod_internal (__nptr, __endptr, 0); } extern __inline long int strtol (__const char *__restrict __nptr, char **__restrict __endptr, int __base) { return __strtol_internal (__nptr, __endptr, __base, 0); } extern __inline unsigned long int strtoul (__const char *__restrict __nptr, char **__restrict __endptr, int __base) { return __strtoul_internal (__nptr, __endptr, __base, 0); } # 325 "/usr/include/stdlib.h" 3 __extension__ extern __inline long long int strtoq (__const char *__restrict __nptr, char **__restrict __endptr, int __base) { return __strtoll_internal (__nptr, __endptr, __base, 0); } __extension__ extern __inline unsigned long long int strtouq (__const char *__restrict __nptr, char **__restrict __endptr, int __base) { return __strtoull_internal (__nptr, __endptr, __base, 0); } __extension__ extern __inline long long int strtoll (__const char *__restrict __nptr, char **__restrict __endptr, int __base) { return __strtoll_internal (__nptr, __endptr, __base, 0); } __extension__ extern __inline unsigned long long int strtoull (__const char * __restrict __nptr, char **__restrict __endptr, int __base) { return __strtoull_internal (__nptr, __endptr, __base, 0); } extern __inline double atof (__const char *__nptr) { return strtod (__nptr, (char **) ((void *)0)); } extern __inline int atoi (__const char *__nptr) { return (int) strtol (__nptr, (char **) ((void *)0), 10); } extern __inline long int atol (__const char *__nptr) { return strtol (__nptr, (char **) ((void *)0), 10); } __extension__ extern __inline long long int atoll (__const char *__nptr) { return strtoll (__nptr, (char **) ((void *)0), 10); } # 384 "/usr/include/stdlib.h" 3 extern char *l64a (long int __n) ; extern long int a64l (__const char *__s) __attribute__ ((__pure__)); # 1 "/usr/include/sys/types.h" 1 3 # 28 "/usr/include/sys/types.h" 3 # 1 "/usr/include/bits/types.h" 1 3 # 29 "/usr/include/bits/types.h" 3 # 1 "/users/hanwen/usr/lib/gcc-lib/i686-pc-linux-gnu/3.1.1/include/stddef.h" 1 3 # 30 "/usr/include/bits/types.h" 2 3 typedef unsigned char __u_char; typedef unsigned short __u_short; typedef unsigned int __u_int; typedef unsigned long __u_long; __extension__ typedef unsigned long long int __u_quad_t; __extension__ typedef long long int __quad_t; # 49 "/usr/include/bits/types.h" 3 typedef signed char __int8_t; typedef unsigned char __uint8_t; typedef signed short int __int16_t; typedef unsigned short int __uint16_t; typedef signed int __int32_t; typedef unsigned int __uint32_t; __extension__ typedef signed long long int __int64_t; __extension__ typedef unsigned long long int __uint64_t; typedef __quad_t *__qaddr_t; typedef __u_quad_t __dev_t; typedef __u_int __uid_t; typedef __u_int __gid_t; typedef __u_long __ino_t; typedef __u_int __mode_t; typedef __u_int __nlink_t; typedef long int __off_t; typedef __quad_t __loff_t; typedef int __pid_t; typedef int __ssize_t; typedef __u_long __rlim_t; typedef __u_quad_t __rlim64_t; typedef __u_int __id_t; typedef struct { int __val[2]; } __fsid_t; typedef int __daddr_t; typedef char *__caddr_t; typedef long int __time_t; typedef unsigned int __useconds_t; typedef long int __suseconds_t; typedef long int __swblk_t; typedef long int __clock_t; typedef int __clockid_t; typedef int __timer_t; typedef int __key_t; typedef unsigned short int __ipc_pid_t; typedef long int __blksize_t; typedef long int __blkcnt_t; typedef __quad_t __blkcnt64_t; typedef __u_long __fsblkcnt_t; typedef __u_quad_t __fsblkcnt64_t; typedef __u_long __fsfilcnt_t; typedef __u_quad_t __fsfilcnt64_t; typedef __u_quad_t __ino64_t; typedef __loff_t __off64_t; typedef long int __t_scalar_t; typedef unsigned long int __t_uscalar_t; typedef int __intptr_t; typedef unsigned int __socklen_t; # 1 "/usr/include/bits/pthreadtypes.h" 1 3 # 23 "/usr/include/bits/pthreadtypes.h" 3 # 1 "/usr/include/bits/sched.h" 1 3 # 68 "/usr/include/bits/sched.h" 3 struct __sched_param { int __sched_priority; }; # 24 "/usr/include/bits/pthreadtypes.h" 2 3 struct _pthread_fastlock { long int __status; int __spinlock; }; typedef struct _pthread_descr_struct *_pthread_descr; typedef struct __pthread_attr_s { int __detachstate; int __schedpolicy; struct __sched_param __schedparam; int __inheritsched; int __scope; size_t __guardsize; int __stackaddr_set; void *__stackaddr; size_t __stacksize; } pthread_attr_t; typedef struct { struct _pthread_fastlock __c_lock; _pthread_descr __c_waiting; } pthread_cond_t; typedef struct { int __dummy; } pthread_condattr_t; typedef unsigned int pthread_key_t; typedef struct { int __m_reserved; int __m_count; _pthread_descr __m_owner; int __m_kind; struct _pthread_fastlock __m_lock; } pthread_mutex_t; typedef struct { int __mutexkind; } pthread_mutexattr_t; typedef int pthread_once_t; # 140 "/usr/include/bits/pthreadtypes.h" 3 typedef unsigned long int pthread_t; # 144 "/usr/include/bits/types.h" 2 3 # 31 "/usr/include/sys/types.h" 2 3 typedef __u_char u_char; typedef __u_short u_short; typedef __u_int u_int; typedef __u_long u_long; typedef __quad_t quad_t; typedef __u_quad_t u_quad_t; typedef __fsid_t fsid_t; typedef __loff_t loff_t; typedef __ino_t ino_t; # 61 "/usr/include/sys/types.h" 3 typedef __dev_t dev_t; typedef __gid_t gid_t; typedef __mode_t mode_t; typedef __nlink_t nlink_t; typedef __uid_t uid_t; typedef __off_t off_t; # 99 "/usr/include/sys/types.h" 3 typedef __pid_t pid_t; typedef __id_t id_t; typedef __ssize_t ssize_t; typedef __daddr_t daddr_t; typedef __caddr_t caddr_t; typedef __key_t key_t; # 132 "/usr/include/sys/types.h" 3 # 1 "/usr/include/time.h" 1 3 # 70 "/usr/include/time.h" 3 typedef __time_t time_t; # 82 "/usr/include/time.h" 3 typedef __clockid_t clockid_t; # 94 "/usr/include/time.h" 3 typedef __timer_t timer_t; # 133 "/usr/include/sys/types.h" 2 3 # 146 "/usr/include/sys/types.h" 3 # 1 "/users/hanwen/usr/lib/gcc-lib/i686-pc-linux-gnu/3.1.1/include/stddef.h" 1 3 # 147 "/usr/include/sys/types.h" 2 3 typedef unsigned long int ulong; typedef unsigned short int ushort; typedef unsigned int uint; # 190 "/usr/include/sys/types.h" 3 typedef int int8_t __attribute__ ((__mode__ (__QI__))); typedef int int16_t __attribute__ ((__mode__ (__HI__))); typedef int int32_t __attribute__ ((__mode__ (__SI__))); typedef int int64_t __attribute__ ((__mode__ (__DI__))); typedef unsigned int u_int8_t __attribute__ ((__mode__ (__QI__))); typedef unsigned int u_int16_t __attribute__ ((__mode__ (__HI__))); typedef unsigned int u_int32_t __attribute__ ((__mode__ (__SI__))); typedef unsigned int u_int64_t __attribute__ ((__mode__ (__DI__))); typedef int register_t __attribute__ ((__mode__ (__word__))); # 212 "/usr/include/sys/types.h" 3 # 1 "/usr/include/endian.h" 1 3 # 37 "/usr/include/endian.h" 3 # 1 "/usr/include/bits/endian.h" 1 3 # 38 "/usr/include/endian.h" 2 3 # 213 "/usr/include/sys/types.h" 2 3 # 1 "/usr/include/sys/select.h" 1 3 # 31 "/usr/include/sys/select.h" 3 # 1 "/usr/include/bits/select.h" 1 3 # 32 "/usr/include/sys/select.h" 2 3 # 1 "/usr/include/bits/sigset.h" 1 3 # 23 "/usr/include/bits/sigset.h" 3 typedef int __sig_atomic_t; typedef struct { unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))]; } __sigset_t; # 35 "/usr/include/sys/select.h" 2 3 typedef __sigset_t sigset_t; # 1 "/usr/include/time.h" 1 3 # 106 "/usr/include/time.h" 3 struct timespec { __time_t tv_sec; long int tv_nsec; }; # 45 "/usr/include/sys/select.h" 2 3 # 1 "/usr/include/bits/time.h" 1 3 # 67 "/usr/include/bits/time.h" 3 struct timeval { __time_t tv_sec; __suseconds_t tv_usec; }; # 47 "/usr/include/sys/select.h" 2 3 typedef __suseconds_t suseconds_t; typedef long int __fd_mask; typedef struct { __fd_mask __fds_bits[1024 / (8 * sizeof (__fd_mask))]; } fd_set; typedef __fd_mask fd_mask; # 95 "/usr/include/sys/select.h" 3 extern int select (int __nfds, fd_set *__restrict __readfds, fd_set *__restrict __writefds, fd_set *__restrict __exceptfds, struct timeval *__restrict __timeout) ; # 118 "/usr/include/sys/select.h" 3 # 216 "/usr/include/sys/types.h" 2 3 # 1 "/usr/include/sys/sysmacros.h" 1 3 # 219 "/usr/include/sys/types.h" 2 3 # 230 "/usr/include/sys/types.h" 3 typedef __blkcnt_t blkcnt_t; typedef __fsblkcnt_t fsblkcnt_t; typedef __fsfilcnt_t fsfilcnt_t; # 262 "/usr/include/sys/types.h" 3 # 391 "/usr/include/stdlib.h" 2 3 extern long int random (void) ; extern void srandom (unsigned int __seed) ; extern char *initstate (unsigned int __seed, char *__statebuf, size_t __statelen) ; extern char *setstate (char *__statebuf) ; struct random_data { int32_t *fptr; int32_t *rptr; int32_t *state; int rand_type; int rand_deg; int rand_sep; int32_t *end_ptr; }; extern int random_r (struct random_data *__restrict __buf, int32_t *__restrict __result) ; extern int srandom_r (unsigned int __seed, struct random_data *__buf) ; extern int initstate_r (unsigned int __seed, char *__restrict __statebuf, size_t __statelen, struct random_data *__restrict __buf) ; extern int setstate_r (char *__restrict __statebuf, struct random_data *__restrict __buf) ; extern int rand (void) ; extern void srand (unsigned int __seed) ; extern int rand_r (unsigned int *__seed) ; extern double drand48 (void) ; extern double erand48 (unsigned short int __xsubi[3]) ; extern long int lrand48 (void) ; extern long int nrand48 (unsigned short int __xsubi[3]) ; extern long int mrand48 (void) ; extern long int jrand48 (unsigned short int __xsubi[3]) ; extern void srand48 (long int __seedval) ; extern unsigned short int *seed48 (unsigned short int __seed16v[3]) ; extern void lcong48 (unsigned short int __param[7]) ; struct drand48_data { unsigned short int __x[3]; unsigned short int __old_x[3]; unsigned short int __c; unsigned short int __init; unsigned long long int __a; }; extern int drand48_r (struct drand48_data *__restrict __buffer, double *__restrict __result) ; extern int erand48_r (unsigned short int __xsubi[3], struct drand48_data *__restrict __buffer, double *__restrict __result) ; extern int lrand48_r (struct drand48_data *__restrict __buffer, long int *__restrict __result) ; extern int nrand48_r (unsigned short int __xsubi[3], struct drand48_data *__restrict __buffer, long int *__restrict __result) ; extern int mrand48_r (struct drand48_data *__restrict __buffer, long int *__restrict __result) ; extern int jrand48_r (unsigned short int __xsubi[3], struct drand48_data *__restrict __buffer, long int *__restrict __result) ; extern int srand48_r (long int __seedval, struct drand48_data *__buffer) ; extern int seed48_r (unsigned short int __seed16v[3], struct drand48_data *__buffer) ; extern int lcong48_r (unsigned short int __param[7], struct drand48_data *__buffer) ; # 527 "/usr/include/stdlib.h" 3 extern void *malloc (size_t __size) __attribute__ ((__malloc__)); extern void *calloc (size_t __nmemb, size_t __size) __attribute__ ((__malloc__)); extern void *realloc (void *__ptr, size_t __size) __attribute__ ((__malloc__)); extern void free (void *__ptr) ; extern void cfree (void *__ptr) ; # 1 "/usr/include/alloca.h" 1 3 # 25 "/usr/include/alloca.h" 3 # 1 "/users/hanwen/usr/lib/gcc-lib/i686-pc-linux-gnu/3.1.1/include/stddef.h" 1 3 # 26 "/usr/include/alloca.h" 2 3 extern void *alloca (size_t __size) ; # 547 "/usr/include/stdlib.h" 2 3 extern void *valloc (size_t __size) __attribute__ ((__malloc__)); # 561 "/usr/include/stdlib.h" 3 extern void abort (void) __attribute__ ((__noreturn__)); extern int atexit (void (*__func) (void)) ; extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg) ; extern void exit (int __status) __attribute__ ((__noreturn__)); # 587 "/usr/include/stdlib.h" 3 extern char *getenv (__const char *__name) ; extern char *__secure_getenv (__const char *__name) ; extern int putenv (char *__string) ; extern int setenv (__const char *__name, __const char *__value, int __replace) ; extern int unsetenv (__const char *__name) ; extern int clearenv (void) ; # 623 "/usr/include/stdlib.h" 3 extern char *mktemp (char *__template) ; extern int mkstemp (char *__template) ; # 650 "/usr/include/stdlib.h" 3 extern char *mkdtemp (char *__template) ; extern int system (__const char *__command) ; # 672 "/usr/include/stdlib.h" 3 extern char *realpath (__const char *__restrict __name, char *__restrict __resolved) ; typedef int (*__compar_fn_t) (__const void *, __const void *); # 689 "/usr/include/stdlib.h" 3 extern void *bsearch (__const void *__key, __const void *__base, size_t __nmemb, size_t __size, __compar_fn_t __compar); extern void qsort (void *__base, size_t __nmemb, size_t __size, __compar_fn_t __compar); extern int abs (int __x) __attribute__ ((__const__)); extern long int labs (long int __x) __attribute__ ((__const__)); # 710 "/usr/include/stdlib.h" 3 extern div_t div (int __numer, int __denom) __attribute__ ((__const__)); extern ldiv_t ldiv (long int __numer, long int __denom) __attribute__ ((__const__)); # 728 "/usr/include/stdlib.h" 3 extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) ; extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) ; extern char *gcvt (double __value, int __ndigit, char *__buf) ; extern char *qecvt (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) ; extern char *qfcvt (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) ; extern char *qgcvt (long double __value, int __ndigit, char *__buf) ; extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) ; extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) ; extern int qecvt_r (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) ; extern int qfcvt_r (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) ; extern int mblen (__const char *__s, size_t __n) ; extern int mbtowc (wchar_t *__restrict __pwc, __const char *__restrict __s, size_t __n) ; extern int wctomb (char *__s, wchar_t __wchar) ; extern size_t mbstowcs (wchar_t *__restrict __pwcs, __const char *__restrict __s, size_t __n) ; extern size_t wcstombs (char *__restrict __s, __const wchar_t *__restrict __pwcs, size_t __n) ; extern int rpmatch (__const char *__response) ; # 858 "/usr/include/stdlib.h" 3 extern int getloadavg (double __loadavg[], int __nelem) ; # 329 "../libguile/__scm.h" 2 # 1 "/users/hanwen/usr/lib/gcc-lib/i686-pc-linux-gnu/3.1.1/include/stddef.h" 1 3 # 147 "/users/hanwen/usr/lib/gcc-lib/i686-pc-linux-gnu/3.1.1/include/stddef.h" 3 typedef int ptrdiff_t; # 336 "../libguile/__scm.h" 2 # 350 "../libguile/__scm.h" # 1 "../libguile/tags.h" 1 # 54 "../libguile/tags.h" # 1 "/usr/include/stdint.h" 1 3 # 27 "/usr/include/stdint.h" 3 # 1 "/usr/include/bits/wchar.h" 1 3 # 28 "/usr/include/stdint.h" 2 3 # 1 "/usr/include/bits/wordsize.h" 1 3 # 29 "/usr/include/stdint.h" 2 3 # 49 "/usr/include/stdint.h" 3 typedef unsigned char uint8_t; typedef unsigned short int uint16_t; typedef unsigned int uint32_t; __extension__ typedef unsigned long long int uint64_t; typedef signed char int_least8_t; typedef short int int_least16_t; typedef int int_least32_t; __extension__ typedef long long int int_least64_t; typedef unsigned char uint_least8_t; typedef unsigned short int uint_least16_t; typedef unsigned int uint_least32_t; __extension__ typedef unsigned long long int uint_least64_t; typedef signed char int_fast8_t; typedef int int_fast16_t; typedef int int_fast32_t; __extension__ typedef long long int int_fast64_t; typedef unsigned char uint_fast8_t; typedef unsigned int uint_fast16_t; typedef unsigned int uint_fast32_t; __extension__ typedef unsigned long long int uint_fast64_t; # 126 "/usr/include/stdint.h" 3 typedef int intptr_t; typedef unsigned int uintptr_t; # 138 "/usr/include/stdint.h" 3 __extension__ typedef long long int intmax_t; __extension__ typedef unsigned long long int uintmax_t; # 55 "../libguile/tags.h" 2 # 1 "/usr/include/inttypes.h" 1 3 # 35 "/usr/include/inttypes.h" 3 typedef long int __gwchar_t; # 274 "/usr/include/inttypes.h" 3 # 288 "/usr/include/inttypes.h" 3 typedef struct { long long int quot; long long int rem; } imaxdiv_t; extern intmax_t imaxabs (intmax_t __n) __attribute__ ((__const__)); extern imaxdiv_t imaxdiv (intmax_t __numer, intmax_t __denom) __attribute__ ((__const__)); extern intmax_t strtoimax (__const char *__restrict __nptr, char **__restrict __endptr, int __base) ; extern uintmax_t strtoumax (__const char *__restrict __nptr, char ** __restrict __endptr, int __base) ; extern intmax_t wcstoimax (__const __gwchar_t *__restrict __nptr, __gwchar_t **__restrict __endptr, int __base) ; extern uintmax_t wcstoumax (__const __gwchar_t *__restrict __nptr, __gwchar_t ** __restrict __endptr, int __base) ; # 396 "/usr/include/inttypes.h" 3 extern __inline intmax_t strtoimax (__const char *__restrict nptr, char **__restrict endptr, int base) { return __strtoll_internal (nptr, endptr, base, 0); } # 414 "/usr/include/inttypes.h" 3 extern __inline uintmax_t strtoumax (__const char *__restrict nptr, char **__restrict endptr, int base) { return __strtoull_internal (nptr, endptr, base, 0); } __extension__ extern long long int __wcstoll_internal (__const __gwchar_t * __restrict __nptr, __gwchar_t **__restrict __endptr, int __base, int __group) ; extern __inline intmax_t wcstoimax (__const __gwchar_t *__restrict nptr, __gwchar_t **__restrict endptr, int base) { return __wcstoll_internal (nptr, endptr, base, 0); } __extension__ extern unsigned long long int __wcstoull_internal (__const __gwchar_t * __restrict __nptr, __gwchar_t ** __restrict __endptr, int __base, int __group) ; extern __inline uintmax_t wcstoumax (__const __gwchar_t *__restrict nptr, __gwchar_t **__restrict endptr, int base) { return __wcstoull_internal (nptr, endptr, base, 0); } # 59 "../libguile/tags.h" 2 # 73 "../libguile/tags.h" typedef unsigned long scm_t_bits; typedef signed long scm_t_signed_bits; # 93 "../libguile/tags.h" typedef struct scm_unused_struct * SCM; # 394 "../libguile/tags.h" enum scm_tags { scm_tc8_char = 0xf4, scm_tc8_iloc = 0xfc }; # 420 "../libguile/tags.h" extern char *scm_isymnames[]; # 351 "../libguile/__scm.h" 2 # 371 "../libguile/__scm.h" # 1 "/usr/include/setjmp.h" 1 3 # 28 "/usr/include/setjmp.h" 3 # 1 "/usr/include/bits/setjmp.h" 1 3 # 36 "/usr/include/bits/setjmp.h" 3 typedef int __jmp_buf[6]; # 31 "/usr/include/setjmp.h" 2 3 # 1 "/usr/include/bits/sigset.h" 1 3 # 32 "/usr/include/setjmp.h" 2 3 typedef struct __jmp_buf_tag { __jmp_buf __jmpbuf; int __mask_was_saved; __sigset_t __saved_mask; } jmp_buf[1]; extern int setjmp (jmp_buf __env) ; extern int _setjmp (jmp_buf __env) ; extern int __sigsetjmp (jmp_buf __env, int __savemask) ; # 73 "/usr/include/setjmp.h" 3 extern void longjmp (jmp_buf __env, int __val) __attribute__ ((__noreturn__)); extern void _longjmp (jmp_buf __env, int __val) __attribute__ ((__noreturn__)); typedef jmp_buf sigjmp_buf; # 98 "/usr/include/setjmp.h" 3 extern void siglongjmp (sigjmp_buf __env, int __val) __attribute__ ((__noreturn__)); # 372 "../libguile/__scm.h" 2 # 403 "../libguile/__scm.h" typedef long SCM_STACKITEM; # 422 "../libguile/__scm.h" extern int scm_asyncs_pending_p; # 595 "../libguile/__scm.h" extern SCM scm_call_generic_0 (SCM gf); # 604 "../libguile/__scm.h" extern SCM scm_call_generic_1 (SCM gf, SCM a1); # 613 "../libguile/__scm.h" extern SCM scm_call_generic_2 (SCM gf, SCM a1, SCM a2); # 624 "../libguile/__scm.h" extern SCM scm_apply_generic (SCM gf, SCM args); # 50 "../libguile/_scm.h" 2 # 65 "../libguile/_scm.h" # 1 "../libguile/error.h" 1 # 52 "../libguile/error.h" extern int scm_ints_disabled; extern SCM scm_system_error_key; extern SCM scm_num_overflow_key; extern SCM scm_out_of_range_key; extern SCM scm_args_number_key; extern SCM scm_arg_type_key; extern SCM scm_memory_alloc_key; extern SCM scm_misc_error_key; extern void scm_error (SCM key, const char *subr, const char *message, SCM args, SCM rest) __attribute__ ((noreturn)); extern SCM scm_error_scm (SCM key, SCM subr, SCM message, SCM args, SCM rest) __attribute__ ((noreturn)); extern SCM scm_strerror (SCM err); extern void scm_syserror (const char *subr) __attribute__ ((noreturn)); extern void scm_syserror_msg (const char *subr, const char *message, SCM args, int eno) __attribute__ ((noreturn)); extern void scm_num_overflow (const char *subr) __attribute__ ((noreturn)); extern void scm_out_of_range (const char *subr, SCM bad_value) __attribute__ ((noreturn)); extern void scm_out_of_range_pos (const char *subr, SCM bad_value, SCM pos) __attribute__ ((noreturn)); extern void scm_wrong_num_args (SCM proc) __attribute__ ((noreturn)); extern void scm_error_num_args_subr (const char* subr) __attribute__ ((noreturn)); extern void scm_wrong_type_arg (const char *subr, int pos, SCM bad_value) __attribute__ ((noreturn)); extern void scm_wrong_type_arg_msg (const char *subr, int pos, SCM bad_value, const char *sz) __attribute__ ((noreturn)); extern void scm_memory_error (const char *subr) __attribute__ ((noreturn)); extern void scm_misc_error (const char *subr, const char *message, SCM args) __attribute__ ((noreturn)); extern void scm_init_error (void); # 66 "../libguile/_scm.h" 2 # 1 "../libguile/print.h" 1 # 51 "../libguile/print.h" # 1 "../libguile/options.h" 1 # 56 "../libguile/options.h" typedef struct scm_t_option { unsigned int type; const char *name; scm_t_bits val; char *doc; } scm_t_option; extern SCM scm_options (SCM, scm_t_option [], unsigned int, const char*); extern void scm_init_opts (SCM (*) (SCM), scm_t_option [], unsigned int n); extern void scm_init_options (void); # 52 "../libguile/print.h" 2 extern scm_t_option scm_print_opts[]; # 83 "../libguile/print.h" typedef struct scm_print_state { SCM handle; int revealed; unsigned long writingp; unsigned long fancyp; unsigned long level; unsigned long length; SCM hot_ref; unsigned long list_offset; unsigned long top; unsigned long ceiling; SCM *ref_stack; SCM ref_vect; } scm_print_state; extern SCM scm_print_state_vtable; extern scm_t_bits scm_tc16_port_with_ps; extern SCM scm_print_options (SCM setting); extern SCM scm_make_print_state (void); extern void scm_free_print_state (SCM print_state); extern void scm_intprint (long n, int radix, SCM port); extern void scm_ipruk (char *hdr, SCM ptr, SCM port); extern void scm_iprlist (char *hdr, SCM exp, int tlr, SCM port, scm_print_state *pstate); extern void scm_print_symbol_name (const char *str, size_t len, SCM port); extern void scm_prin1 (SCM exp, SCM port, int writingp); extern void scm_iprin1 (SCM exp, SCM port, scm_print_state *pstate); extern SCM scm_write (SCM obj, SCM port); extern SCM scm_display (SCM obj, SCM port); extern SCM scm_simple_format (SCM port, SCM message, SCM args); extern SCM scm_newline (SCM port); extern SCM scm_write_char (SCM chr, SCM port); extern SCM scm_printer_apply (SCM proc, SCM exp, SCM port, scm_print_state *); extern SCM scm_port_with_print_state (SCM port, SCM pstate); extern SCM scm_get_print_state (SCM port); extern int scm_valid_oport_value_p (SCM val); extern void scm_init_print (void); # 67 "../libguile/_scm.h" 2 # 1 "../libguile/pairs.h" 1 # 106 "../libguile/pairs.h" extern SCM scm_cons (SCM x, SCM y); extern SCM scm_cons2 (SCM w, SCM x, SCM y); extern SCM scm_pair_p (SCM x); extern SCM scm_set_car_x (SCM pair, SCM value); extern SCM scm_set_cdr_x (SCM pair, SCM value); extern void scm_init_pairs (void); # 68 "../libguile/_scm.h" 2 # 1 "../libguile/list.h" 1 # 53 "../libguile/list.h" extern SCM scm_list_1 (SCM e1); extern SCM scm_list_2 (SCM e1, SCM e2); extern SCM scm_list_3 (SCM e1, SCM e2, SCM e3); extern SCM scm_list_4 (SCM e1, SCM e2, SCM e3, SCM e4); extern SCM scm_list_5 (SCM e1, SCM e2, SCM e3, SCM e4, SCM e5); extern SCM scm_list_n (SCM elt, ...); extern SCM scm_list_head (SCM lst, SCM k); extern SCM scm_list (SCM objs); extern SCM scm_cons_star (SCM arg, SCM objs); extern SCM scm_null_p (SCM x); extern SCM scm_list_p (SCM x); extern long scm_ilength (SCM sx); extern SCM scm_length (SCM x); extern SCM scm_append (SCM args); extern SCM scm_append_x (SCM args); extern SCM scm_reverse (SCM lst); extern SCM scm_reverse_x (SCM lst, SCM newtail); extern SCM scm_list_ref (SCM lst, SCM k); extern SCM scm_list_set_x (SCM lst, SCM k, SCM val); extern SCM scm_list_cdr_set_x (SCM lst, SCM k, SCM val); extern SCM scm_last_pair (SCM sx); extern SCM scm_list_tail (SCM lst, SCM k); extern SCM scm_c_memq (SCM x, SCM lst); extern SCM scm_memq (SCM x, SCM lst); extern SCM scm_memv (SCM x, SCM lst); extern SCM scm_member (SCM x, SCM lst); extern SCM scm_delq_x (SCM item, SCM lst); extern SCM scm_delv_x (SCM item, SCM lst); extern SCM scm_delete_x (SCM item, SCM lst); extern SCM scm_list_copy (SCM lst); extern SCM scm_delq (SCM item, SCM lst); extern SCM scm_delv (SCM item, SCM lst); extern SCM scm_delete (SCM item, SCM lst); extern SCM scm_delq1_x (SCM item, SCM lst); extern SCM scm_delv1_x (SCM item, SCM lst); extern SCM scm_delete1_x (SCM item, SCM lst); extern void scm_init_list (void); # 69 "../libguile/_scm.h" 2 # 1 "../libguile/gc.h" 1 # 51 "../libguile/gc.h" # 1 "../libguile/hooks.h" 1 # 60 "../libguile/hooks.h" typedef enum scm_t_c_hook_type { SCM_C_HOOK_NORMAL, SCM_C_HOOK_OR, SCM_C_HOOK_AND } scm_t_c_hook_type; typedef void *(*scm_t_c_hook_function) (void *hook_data, void *func_data, void *data); typedef struct scm_t_c_hook_entry { struct scm_t_c_hook_entry *next; scm_t_c_hook_function func; void *data; } scm_t_c_hook_entry; typedef struct scm_t_c_hook { scm_t_c_hook_entry *first; scm_t_c_hook_type type; void *data; } scm_t_c_hook; extern void scm_c_hook_init (scm_t_c_hook *hook, void *hook_data, scm_t_c_hook_type type); extern void scm_c_hook_add (scm_t_c_hook *hook, scm_t_c_hook_function func, void *func_data, int appendp); extern void scm_c_hook_remove (scm_t_c_hook *hook, scm_t_c_hook_function func, void *func_data); extern void *scm_c_hook_run (scm_t_c_hook *hook, void *data); extern scm_t_bits scm_tc16_hook; extern SCM scm_make_hook (SCM n_args); extern SCM scm_hook_p (SCM x); extern SCM scm_hook_empty_p (SCM hook); extern SCM scm_add_hook_x (SCM hook, SCM thunk, SCM appendp); extern SCM scm_remove_hook_x (SCM hook, SCM thunk); extern SCM scm_reset_hook_x (SCM hook); extern SCM scm_run_hook (SCM hook, SCM args); extern void scm_c_run_hook (SCM hook, SCM args); extern SCM scm_hook_to_list (SCM hook); extern void scm_init_hooks (void); # 52 "../libguile/gc.h" 2 typedef struct scm_t_cell { scm_t_bits word_0; scm_t_bits word_1; } scm_t_cell; # 132 "../libguile/gc.h" typedef unsigned long scm_t_c_bvec_long; # 251 "../libguile/gc.h" extern int scm_debug_cell_accesses_p; extern int scm_expensive_debug_cell_accesses_p; extern int scm_debug_cells_gc_interval ; extern int scm_block_gc; extern int scm_gc_heap_lock; extern unsigned int scm_gc_running_p; extern size_t scm_default_init_heap_size_1; extern int scm_default_min_yield_1; extern size_t scm_default_init_heap_size_2; extern int scm_default_min_yield_2; extern size_t scm_default_max_segment_size; # 276 "../libguile/gc.h" extern size_t scm_max_segment_size; extern SCM scm_i_freelist; extern struct scm_t_cell_type_statistics scm_i_master_freelist; extern SCM scm_i_freelist2; extern struct scm_t_cell_type_statistics scm_i_master_freelist2; extern unsigned long scm_gc_cells_swept; extern unsigned long scm_gc_cells_collected; extern unsigned long scm_gc_cells_collected; extern unsigned long scm_gc_malloc_collected; extern unsigned long scm_gc_ports_collected; extern long scm_cells_allocated; extern int scm_gc_cell_yield_percentage; extern int scm_gc_malloc_yield_percentage; extern unsigned long scm_mallocated; extern unsigned long scm_mtrigger; extern SCM scm_after_gc_hook; extern scm_t_c_hook scm_before_gc_c_hook; extern scm_t_c_hook scm_before_mark_c_hook; extern scm_t_c_hook scm_before_sweep_c_hook; extern scm_t_c_hook scm_after_sweep_c_hook; extern scm_t_c_hook scm_after_gc_c_hook; # 320 "../libguile/gc.h" extern void scm_assert_cell_valid (SCM); extern SCM scm_set_debug_cell_accesses_x (SCM flag); extern SCM scm_object_address (SCM obj); extern SCM scm_gc_stats (void); extern SCM scm_gc (void); extern void scm_gc_for_alloc (struct scm_t_cell_type_statistics *freelist); extern SCM scm_gc_for_newcell (struct scm_t_cell_type_statistics *master, SCM *freelist); extern void scm_igc (const char *what); extern void scm_gc_mark (SCM p); extern void scm_gc_mark_dependencies (SCM p); extern void scm_mark_locations (SCM_STACKITEM x[], unsigned long n); extern int scm_in_heap_p (SCM value); extern void scm_gc_sweep (void); extern void *scm_malloc (size_t size); extern void *scm_calloc (size_t size); extern void *scm_realloc (void *mem, size_t size); extern char *scm_strdup (const char *str); extern char *scm_strndup (const char *str, size_t n); extern void scm_gc_register_collectable_memory (void *mem, size_t size, const char *what); extern void scm_gc_unregister_collectable_memory (void *mem, size_t size, const char *what); extern void *scm_gc_calloc (size_t size, const char *what); extern void *scm_gc_malloc (size_t size, const char *what); extern void *scm_gc_realloc (void *mem, size_t old_size, size_t new_size, const char *what); extern void scm_gc_free (void *mem, size_t size, const char *what); extern char *scm_gc_strdup (const char *str, const char *what); extern char *scm_gc_strndup (const char *str, size_t n, const char *what); extern void scm_remember_upto_here_1 (SCM obj); extern void scm_remember_upto_here_2 (SCM obj1, SCM obj2); extern void scm_remember_upto_here (SCM obj1, ...); extern SCM scm_return_first (SCM elt, ...); extern int scm_return_first_int (int x, ...); extern SCM scm_permanent_object (SCM obj); extern SCM scm_gc_protect_object (SCM obj); extern SCM scm_gc_unprotect_object (SCM obj); extern void scm_gc_register_root (SCM *p); extern void scm_gc_unregister_root (SCM *p); extern void scm_gc_register_roots (SCM *b, unsigned long n); extern void scm_gc_unregister_roots (SCM *b, unsigned long n); extern int scm_init_storage (void); extern void *scm_get_stack_base (void); extern void scm_init_gc (void); extern SCM scm_deprecated_newcell (void); extern SCM scm_deprecated_newcell2 (void); extern void * scm_must_malloc (size_t len, const char *what); extern void * scm_must_realloc (void *where, size_t olen, size_t len, const char *what); extern char *scm_must_strdup (const char *str); extern char *scm_must_strndup (const char *str, size_t n); extern void scm_done_malloc (long size); extern void scm_done_free (long size); extern void scm_must_free (void *obj); # 70 "../libguile/_scm.h" 2 # 1 "../libguile/gsubr.h" 1 # 64 "../libguile/gsubr.h" extern SCM scm_f_gsubr_apply; extern SCM scm_c_make_gsubr (const char *name, int req, int opt, int rst, SCM (*fcn) ()); extern SCM scm_c_make_gsubr_with_generic (const char *name, int req, int opt, int rst, SCM (*fcn) (), SCM *gf); extern SCM scm_c_define_gsubr (const char *name, int req, int opt, int rst, SCM (*fcn) ()); extern SCM scm_c_define_gsubr_with_generic (const char *name, int req, int opt, int rst, SCM (*fcn) (), SCM *gf); extern SCM scm_gsubr_apply (SCM args); extern void scm_init_gsubr (void); # 71 "../libguile/_scm.h" 2 # 1 "../libguile/procs.h" 1 # 57 "../libguile/procs.h" typedef struct { SCM handle; SCM name; SCM *generic; SCM properties; } scm_t_subr_entry; # 157 "../libguile/procs.h" extern scm_t_subr_entry *scm_subr_table; extern long scm_subr_table_size; extern long scm_subr_table_room; extern void scm_mark_subr_table (void); extern void scm_free_subr_entry (SCM subr); extern SCM scm_c_make_subr (const char *name, long type, SCM (*fcn)()); extern SCM scm_c_make_subr_with_generic (const char *name, long type, SCM (*fcn)(), SCM *gf); extern SCM scm_c_define_subr (const char *name, long type, SCM (*fcn)()); extern SCM scm_c_define_subr_with_generic (const char *name, long type, SCM (*fcn)(), SCM *gf); extern SCM scm_makcclo (SCM proc, size_t len); extern SCM scm_procedure_p (SCM obj); extern SCM scm_closure_p (SCM obj); extern SCM scm_thunk_p (SCM obj); extern int scm_subr_p (SCM obj); extern SCM scm_procedure_documentation (SCM proc); extern SCM scm_procedure_with_setter_p (SCM obj); extern SCM scm_make_procedure_with_setter (SCM procedure, SCM setter); extern SCM scm_procedure (SCM proc); extern SCM scm_setter (SCM proc); extern void scm_init_subr_table (void); extern void scm_init_procs (void); # 72 "../libguile/_scm.h" 2 # 1 "../libguile/numbers.h" 1 # 115 "../libguile/numbers.h" # 1 "/users/hanwen/usr/lib/gcc-lib/i686-pc-linux-gnu/3.1.1/include/float.h" 1 3 # 116 "../libguile/numbers.h" 2 # 205 "../libguile/numbers.h" typedef struct scm_t_double { SCM type; SCM pad; double real; } scm_t_double; typedef struct scm_t_complex { double real; double imag; } scm_t_complex; extern SCM scm_exact_p (SCM x); extern SCM scm_odd_p (SCM n); extern SCM scm_even_p (SCM n); extern SCM scm_inf_p (SCM n); extern SCM scm_nan_p (SCM n); extern SCM scm_inf (void); extern SCM scm_nan (void); extern SCM scm_abs (SCM x); extern SCM scm_quotient (SCM x, SCM y); extern SCM scm_remainder (SCM x, SCM y); extern SCM scm_modulo (SCM x, SCM y); extern SCM scm_gcd (SCM x, SCM y); extern SCM scm_lcm (SCM n1, SCM n2); extern SCM scm_logand (SCM n1, SCM n2); extern SCM scm_logior (SCM n1, SCM n2); extern SCM scm_logxor (SCM n1, SCM n2); extern SCM scm_logtest (SCM n1, SCM n2); extern SCM scm_logbit_p (SCM n1, SCM n2); extern SCM scm_lognot (SCM n); extern SCM scm_integer_expt (SCM z1, SCM z2); extern SCM scm_ash (SCM n, SCM cnt); extern SCM scm_bit_extract (SCM n, SCM start, SCM end); extern SCM scm_logcount (SCM n); extern SCM scm_integer_length (SCM n); extern SCM scm_i_mkbig (size_t nlen, int sign); extern SCM scm_i_big2inum (SCM b, size_t l); extern SCM scm_i_adjbig (SCM b, size_t nlen); extern SCM scm_i_normbig (SCM b); extern SCM scm_i_copybig (SCM b, int sign); extern SCM scm_i_short2big (short n); extern SCM scm_i_ushort2big (unsigned short n); extern SCM scm_i_int2big (int n); extern SCM scm_i_uint2big (unsigned int n); extern SCM scm_i_long2big (long n); extern SCM scm_i_ulong2big (unsigned long n); extern SCM scm_i_size2big (size_t n); extern SCM scm_i_ptrdiff2big (ptrdiff_t n); extern SCM scm_i_long_long2big (long long n); extern SCM scm_i_ulong_long2big (unsigned long long n); extern int scm_bigcomp (SCM x, SCM y); extern long scm_pseudolong (long x); extern void scm_longdigs (long x, unsigned short digs[]); extern SCM scm_addbig (unsigned short *x, size_t nx, int xsgn, SCM bigy, int sgny); extern SCM scm_mulbig (unsigned short *x, size_t nx, unsigned short *y, size_t ny, int sgn); extern unsigned int scm_divbigdig (unsigned short *ds, size_t h, unsigned short div); extern size_t scm_iint2str (long num, int rad, char *p); extern SCM scm_number_to_string (SCM x, SCM radix); extern int scm_print_real (SCM sexp, SCM port, scm_print_state *pstate); extern int scm_print_complex (SCM sexp, SCM port, scm_print_state *pstate); extern int scm_bigprint (SCM exp, SCM port, scm_print_state *pstate); extern SCM scm_i_mem2number (const char *mem, size_t len, unsigned int radix); extern SCM scm_string_to_number (SCM str, SCM radix); extern SCM scm_make_real (double x); extern SCM scm_make_complex (double x, double y); extern SCM scm_bigequal (SCM x, SCM y); extern SCM scm_real_equalp (SCM x, SCM y); extern SCM scm_complex_equalp (SCM x, SCM y); extern SCM scm_number_p (SCM x); extern SCM scm_real_p (SCM x); extern SCM scm_integer_p (SCM x); extern SCM scm_inexact_p (SCM x); extern SCM scm_num_eq_p (SCM x, SCM y); extern SCM scm_less_p (SCM x, SCM y); extern SCM scm_gr_p (SCM x, SCM y); extern SCM scm_leq_p (SCM x, SCM y); extern SCM scm_geq_p (SCM x, SCM y); extern SCM scm_zero_p (SCM z); extern SCM scm_positive_p (SCM x); extern SCM scm_negative_p (SCM x); extern SCM scm_max (SCM x, SCM y); extern SCM scm_min (SCM x, SCM y); extern SCM scm_sum (SCM x, SCM y); extern SCM scm_difference (SCM x, SCM y); extern SCM scm_product (SCM x, SCM y); extern double scm_num2dbl (SCM a, const char * why); extern SCM scm_divide (SCM x, SCM y); extern double scm_asinh (double x); extern double scm_acosh (double x); extern double scm_atanh (double x); extern double scm_truncate (double x); extern double scm_round (double x); extern SCM scm_sys_expt (SCM z1, SCM z2); extern SCM scm_sys_atan2 (SCM z1, SCM z2); extern SCM scm_make_rectangular (SCM z1, SCM z2); extern SCM scm_make_polar (SCM z1, SCM z2); extern SCM scm_real_part (SCM z); extern SCM scm_imag_part (SCM z); extern SCM scm_magnitude (SCM z); extern SCM scm_angle (SCM z); extern SCM scm_exact_to_inexact (SCM z); extern SCM scm_inexact_to_exact (SCM z); extern SCM scm_trunc (SCM x); extern SCM scm_i_dbl2big (double d); extern double scm_i_big2dbl (SCM b); extern SCM scm_short2num (short n); extern SCM scm_ushort2num (unsigned short n); extern SCM scm_int2num (int n); extern SCM scm_uint2num (unsigned int n); extern SCM scm_long2num (long n); extern SCM scm_ulong2num (unsigned long n); extern SCM scm_size2num (size_t n); extern SCM scm_ptrdiff2num (ptrdiff_t n); extern short scm_num2short (SCM num, unsigned long int pos, const char *s_caller); extern unsigned short scm_num2ushort (SCM num, unsigned long int pos, const char *s_caller); extern int scm_num2int (SCM num, unsigned long int pos, const char *s_caller); extern unsigned int scm_num2uint (SCM num, unsigned long int pos, const char *s_caller); extern long scm_num2long (SCM num, unsigned long int pos, const char *s_caller); extern unsigned long scm_num2ulong (SCM num, unsigned long int pos, const char *s_caller); extern ptrdiff_t scm_num2ptrdiff (SCM num, unsigned long int pos, const char *s_caller); extern size_t scm_num2size (SCM num, unsigned long int pos, const char *s_caller); extern SCM scm_long_long2num (long long sl); extern SCM scm_ulong_long2num (unsigned long long sl); extern long long scm_num2long_long (SCM num, unsigned long int pos, const char *s_caller); extern unsigned long long scm_num2ulong_long (SCM num, unsigned long int pos, const char *s_caller); extern SCM scm_float2num (float n); extern SCM scm_double2num (double n); extern float scm_num2float (SCM num, unsigned long int pos, const char *s_caller); extern double scm_num2double (SCM num, unsigned long int pos, const char *s_caller); extern void scm_init_numbers (void); # 73 "../libguile/_scm.h" 2 # 1 "../libguile/symbols.h" 1 # 81 "../libguile/symbols.h" extern SCM scm_mem2symbol (const char*, size_t); extern SCM scm_mem2uninterned_symbol (const char *name, size_t len); extern SCM scm_str2symbol (const char*); extern SCM scm_symbol_p (SCM x); extern SCM scm_symbol_interned_p (SCM sym); extern SCM scm_make_symbol (SCM name); extern SCM scm_symbol_to_string (SCM s); extern SCM scm_string_to_symbol (SCM s); extern SCM scm_symbol_fref (SCM s); extern SCM scm_symbol_pref (SCM s); extern SCM scm_symbol_fset_x (SCM s, SCM val); extern SCM scm_symbol_pset_x (SCM s, SCM val); extern SCM scm_symbol_hash (SCM s); extern SCM scm_gensym (SCM prefix); extern char *scm_c_symbol2str (SCM obj, char *str, size_t *lenp); extern void scm_symbols_prehistory (void); extern void scm_init_symbols (void); # 74 "../libguile/_scm.h" 2 # 1 "../libguile/boolean.h" 1 # 76 "../libguile/boolean.h" extern SCM scm_not (SCM x); extern SCM scm_boolean_p (SCM obj); extern void scm_init_boolean (void); # 75 "../libguile/_scm.h" 2 # 1 "../libguile/snarf.h" 1 # 80 "../libguile/_scm.h" 2 # 1 "../libguile/variable.h" 1 # 50 "../libguile/variable.h" # 1 "../libguile/smob.h" 1 # 55 "../libguile/smob.h" typedef struct scm_smob_descriptor { char *name; size_t size; SCM (*mark) (SCM); size_t (*free) (SCM); int (*print) (SCM exp, SCM port, scm_print_state *pstate); SCM (*equalp) (SCM, SCM); SCM (*apply) (); SCM (*apply_0) (SCM); SCM (*apply_1) (SCM, SCM); SCM (*apply_2) (SCM, SCM, SCM); SCM (*apply_3) (SCM, SCM, SCM, SCM); int gsubr_type; } scm_smob_descriptor; # 122 "../libguile/smob.h" extern long scm_numsmob; extern scm_smob_descriptor scm_smobs[]; extern SCM scm_mark0 (SCM ptr); extern SCM scm_markcdr (SCM ptr); extern size_t scm_free0 (SCM ptr); extern size_t scm_smob_free (SCM obj); extern int scm_smob_print (SCM exp, SCM port, scm_print_state *pstate); # 141 "../libguile/smob.h" extern scm_t_bits scm_make_smob_type (char *name, size_t size); extern void scm_set_smob_mark (scm_t_bits tc, SCM (*mark) (SCM)); extern void scm_set_smob_free (scm_t_bits tc, size_t (*free) (SCM)); extern void scm_set_smob_print (scm_t_bits tc, int (*print) (SCM, SCM, scm_print_state*)); extern void scm_set_smob_equalp (scm_t_bits tc, SCM (*equalp) (SCM, SCM)); extern void scm_set_smob_apply (scm_t_bits tc, SCM (*apply) (), unsigned int req, unsigned int opt, unsigned int rst); extern SCM scm_make_smob (scm_t_bits tc); extern void scm_smob_prehistory (void); # 51 "../libguile/variable.h" 2 # 63 "../libguile/variable.h" extern SCM scm_make_variable (SCM init); extern SCM scm_make_undefined_variable (void); extern SCM scm_variable_p (SCM obj); extern SCM scm_variable_ref (SCM var); extern SCM scm_variable_set_x (SCM var, SCM val); extern SCM scm_variable_bound_p (SCM var); extern void scm_i_variable_print (SCM var, SCM port, scm_print_state *pstate); extern void scm_init_variable (void); # 81 "../libguile/_scm.h" 2 # 1 "../libguile/modules.h" 1 # 51 "../libguile/modules.h" # 1 "../libguile/validate.h" 1 # 52 "../libguile/modules.h" 2 extern int scm_module_system_booted_p; extern scm_t_bits scm_module_tag; # 84 "../libguile/modules.h" extern scm_t_bits scm_tc16_eval_closure; extern SCM scm_current_module (void); extern SCM scm_interaction_environment (void); extern SCM scm_set_current_module (SCM module); extern SCM scm_c_call_with_current_module (SCM module, SCM (*func)(void *), void *data); extern SCM scm_c_lookup (const char *name); extern SCM scm_c_define (const char *name, SCM val); extern SCM scm_lookup (SCM symbol); extern SCM scm_define (SCM symbol, SCM val); extern SCM scm_c_module_lookup (SCM module, const char *name); extern SCM scm_c_module_define (SCM module, const char *name, SCM val); extern SCM scm_module_lookup (SCM module, SCM symbol); extern SCM scm_module_define (SCM module, SCM symbol, SCM val); extern SCM scm_module_reverse_lookup (SCM module, SCM variable); extern SCM scm_c_resolve_module (const char *name); extern SCM scm_resolve_module (SCM name); extern SCM scm_c_define_module (const char *name, void (*init)(void *), void *data); extern void scm_c_use_module (const char *name); extern void scm_c_export (const char *name, ...); extern SCM scm_sym2var (SCM sym, SCM thunk, SCM definep); extern SCM scm_module_lookup_closure (SCM module); extern SCM scm_module_transformer (SCM module); extern SCM scm_current_module_lookup_closure (void); extern SCM scm_current_module_transformer (void); extern SCM scm_eval_closure_lookup (SCM eclo, SCM sym, SCM definep); extern SCM scm_standard_eval_closure (SCM module); extern SCM scm_standard_interface_eval_closure (SCM module); extern SCM scm_get_pre_modules_obarray (void); extern SCM scm_lookup_closure_module (SCM proc); extern SCM scm_env_top_level (SCM env); extern SCM scm_env_module (SCM env); extern SCM scm_top_level_env (SCM thunk); extern SCM scm_system_module_env_p (SCM env); extern void scm_modules_prehistory (void); extern void scm_init_modules (void); # 82 "../libguile/_scm.h" 2 # 1 "../libguile/inline.h" 1 # 57 "../libguile/inline.h" # 1 "/users/hanwen/usr/lib/gcc-lib/i686-pc-linux-gnu/3.1.1/include/stdio.h" 1 3 # 39 "/users/hanwen/usr/lib/gcc-lib/i686-pc-linux-gnu/3.1.1/include/stdio.h" 3 # 1 "/users/hanwen/usr/lib/gcc-lib/i686-pc-linux-gnu/3.1.1/include/stddef.h" 1 3 # 44 "/users/hanwen/usr/lib/gcc-lib/i686-pc-linux-gnu/3.1.1/include/stdio.h" 2 3 # 54 "/users/hanwen/usr/lib/gcc-lib/i686-pc-linux-gnu/3.1.1/include/stdio.h" 3 typedef struct _IO_FILE FILE; # 64 "/users/hanwen/usr/lib/gcc-lib/i686-pc-linux-gnu/3.1.1/include/stdio.h" 3 typedef struct _IO_FILE __FILE; # 74 "/users/hanwen/usr/lib/gcc-lib/i686-pc-linux-gnu/3.1.1/include/stdio.h" 3 # 1 "/usr/include/libio.h" 1 3 # 32 "/usr/include/libio.h" 3 # 1 "/usr/include/_G_config.h" 1 3 # 14 "/usr/include/_G_config.h" 3 # 1 "/users/hanwen/usr/lib/gcc-lib/i686-pc-linux-gnu/3.1.1/include/stddef.h" 1 3 # 321 "/users/hanwen/usr/lib/gcc-lib/i686-pc-linux-gnu/3.1.1/include/stddef.h" 3 typedef unsigned int wint_t; # 15 "/usr/include/_G_config.h" 2 3 # 24 "/usr/include/_G_config.h" 3 # 1 "/usr/include/wchar.h" 1 3 # 48 "/usr/include/wchar.h" 3 # 1 "/users/hanwen/usr/lib/gcc-lib/i686-pc-linux-gnu/3.1.1/include/stddef.h" 1 3 # 49 "/usr/include/wchar.h" 2 3 # 67 "/usr/include/wchar.h" 3 typedef struct { int __count; union { wint_t __wch; char __wchb[4]; } __value; } __mbstate_t; # 25 "/usr/include/_G_config.h" 2 3 typedef struct { __off_t __pos; __mbstate_t __state; } _G_fpos_t; typedef struct { __off64_t __pos; __mbstate_t __state; } _G_fpos64_t; # 44 "/usr/include/_G_config.h" 3 # 1 "/usr/include/gconv.h" 1 3 # 28 "/usr/include/gconv.h" 3 # 1 "/usr/include/wchar.h" 1 3 # 48 "/usr/include/wchar.h" 3 # 1 "/users/hanwen/usr/lib/gcc-lib/i686-pc-linux-gnu/3.1.1/include/stddef.h" 1 3 # 49 "/usr/include/wchar.h" 2 3 # 29 "/usr/include/gconv.h" 2 3 # 1 "/users/hanwen/usr/lib/gcc-lib/i686-pc-linux-gnu/3.1.1/include/stddef.h" 1 3 # 32 "/usr/include/gconv.h" 2 3 enum { __GCONV_OK = 0, __GCONV_NOCONV, __GCONV_NODB, __GCONV_NOMEM, __GCONV_EMPTY_INPUT, __GCONV_FULL_OUTPUT, __GCONV_ILLEGAL_INPUT, __GCONV_INCOMPLETE_INPUT, __GCONV_ILLEGAL_DESCRIPTOR, __GCONV_INTERNAL_ERROR }; enum { __GCONV_IS_LAST = 0x0001, __GCONV_IGNORE_ERRORS = 0x0002 }; struct __gconv_step; struct __gconv_step_data; struct __gconv_loaded_object; struct __gconv_trans_data; typedef int (*__gconv_fct) (struct __gconv_step *, struct __gconv_step_data *, __const unsigned char **, __const unsigned char *, unsigned char **, size_t *, int, int); typedef int (*__gconv_init_fct) (struct __gconv_step *); typedef void (*__gconv_end_fct) (struct __gconv_step *); typedef int (*__gconv_trans_fct) (struct __gconv_step *, struct __gconv_step_data *, void *, __const unsigned char *, __const unsigned char **, __const unsigned char *, unsigned char **, size_t *); typedef int (*__gconv_trans_context_fct) (void *, __const unsigned char *, __const unsigned char *, unsigned char *, unsigned char *); typedef int (*__gconv_trans_query_fct) (__const char *, __const char ***, size_t *); typedef int (*__gconv_trans_init_fct) (void **, const char *); typedef void (*__gconv_trans_end_fct) (void *); struct __gconv_trans_data { __gconv_trans_fct __trans_fct; __gconv_trans_context_fct __trans_context_fct; __gconv_trans_end_fct __trans_end_fct; void *__data; struct __gconv_trans_data *__next; }; struct __gconv_step { struct __gconv_loaded_object *__shlib_handle; __const char *__modname; int __counter; char *__from_name; char *__to_name; __gconv_fct __fct; __gconv_init_fct __init_fct; __gconv_end_fct __end_fct; int __min_needed_from; int __max_needed_from; int __min_needed_to; int __max_needed_to; int __stateful; void *__data; }; struct __gconv_step_data { unsigned char *__outbuf; unsigned char *__outbufend; int __flags; int __invocation_counter; int __internal_use; __mbstate_t *__statep; __mbstate_t __state; struct __gconv_trans_data *__trans; }; typedef struct __gconv_info { size_t __nsteps; struct __gconv_step *__steps; __extension__ struct __gconv_step_data __data []; } *__gconv_t; # 45 "/usr/include/_G_config.h" 2 3 typedef union { struct __gconv_info __cd; struct { struct __gconv_info __cd; struct __gconv_step_data __data; } __combined; } _G_iconv_t; typedef int _G_int16_t __attribute__ ((__mode__ (__HI__))); typedef int _G_int32_t __attribute__ ((__mode__ (__SI__))); typedef unsigned int _G_uint16_t __attribute__ ((__mode__ (__HI__))); typedef unsigned int _G_uint32_t __attribute__ ((__mode__ (__SI__))); # 33 "/usr/include/libio.h" 2 3 # 53 "/usr/include/libio.h" 3 # 1 "/users/hanwen/usr/lib/gcc-lib/i686-pc-linux-gnu/3.1.1/include/stdarg.h" 1 3 # 43 "/users/hanwen/usr/lib/gcc-lib/i686-pc-linux-gnu/3.1.1/include/stdarg.h" 3 typedef __builtin_va_list __gnuc_va_list; # 54 "/usr/include/libio.h" 2 3 # 160 "/usr/include/libio.h" 3 struct _IO_jump_t; struct _IO_FILE; # 170 "/usr/include/libio.h" 3 typedef void _IO_lock_t; struct _IO_marker { struct _IO_marker *_next; struct _IO_FILE *_sbuf; int _pos; # 193 "/usr/include/libio.h" 3 }; enum __codecvt_result { __codecvt_ok, __codecvt_partial, __codecvt_error, __codecvt_noconv }; # 261 "/usr/include/libio.h" 3 struct _IO_FILE { int _flags; char* _IO_read_ptr; char* _IO_read_end; char* _IO_read_base; char* _IO_write_base; char* _IO_write_ptr; char* _IO_write_end; char* _IO_buf_base; char* _IO_buf_end; char *_IO_save_base; char *_IO_backup_base; char *_IO_save_end; struct _IO_marker *_markers; struct _IO_FILE *_chain; int _fileno; int _blksize; __off_t _old_offset; unsigned short _cur_column; signed char _vtable_offset; char _shortbuf[1]; _IO_lock_t *_lock; # 305 "/usr/include/libio.h" 3 __off64_t _offset; void *__pad1; void *__pad2; int _mode; char _unused2[15 * sizeof (int) - 2 * sizeof (void *)]; }; typedef struct _IO_FILE _IO_FILE; struct _IO_FILE_plus; extern struct _IO_FILE_plus _IO_2_1_stdin_; extern struct _IO_FILE_plus _IO_2_1_stdout_; extern struct _IO_FILE_plus _IO_2_1_stderr_; # 344 "/usr/include/libio.h" 3 typedef __ssize_t __io_read_fn (void *__cookie, char *__buf, size_t __nbytes); typedef __ssize_t __io_write_fn (void *__cookie, __const char *__buf, size_t __n); typedef int __io_seek_fn (void *__cookie, __off64_t *__pos, int __w); typedef int __io_close_fn (void *__cookie); # 396 "/usr/include/libio.h" 3 extern int __underflow (_IO_FILE *) ; extern int __uflow (_IO_FILE *) ; extern int __overflow (_IO_FILE *, int) ; extern wint_t __wunderflow (_IO_FILE *) ; extern wint_t __wuflow (_IO_FILE *) ; extern wint_t __woverflow (_IO_FILE *, wint_t) ; # 426 "/usr/include/libio.h" 3 extern int _IO_getc (_IO_FILE *__fp) ; extern int _IO_putc (int __c, _IO_FILE *__fp) ; extern int _IO_feof (_IO_FILE *__fp) ; extern int _IO_ferror (_IO_FILE *__fp) ; extern int _IO_peekc_locked (_IO_FILE *__fp) ; extern void _IO_flockfile (_IO_FILE *) ; extern void _IO_funlockfile (_IO_FILE *) ; extern int _IO_ftrylockfile (_IO_FILE *) ; # 456 "/usr/include/libio.h" 3 extern int _IO_vfscanf (_IO_FILE * __restrict, const char * __restrict, __gnuc_va_list, int *__restrict) ; extern int _IO_vfprintf (_IO_FILE *__restrict, const char *__restrict, __gnuc_va_list) ; extern __ssize_t _IO_padn (_IO_FILE *, int, __ssize_t) ; extern size_t _IO_sgetn (_IO_FILE *, void *, size_t) ; extern __off64_t _IO_seekoff (_IO_FILE *, __off64_t, int, int) ; extern __off64_t _IO_seekpos (_IO_FILE *, __off64_t, int) ; extern void _IO_free_backup_area (_IO_FILE *) ; # 75 "/users/hanwen/usr/lib/gcc-lib/i686-pc-linux-gnu/3.1.1/include/stdio.h" 2 3 # 89 "/users/hanwen/usr/lib/gcc-lib/i686-pc-linux-gnu/3.1.1/include/stdio.h" 3 typedef _G_fpos_t fpos_t; # 138 "/users/hanwen/usr/lib/gcc-lib/i686-pc-linux-gnu/3.1.1/include/stdio.h" 3 # 1 "/usr/include/bits/stdio_lim.h" 1 3 # 139 "/users/hanwen/usr/lib/gcc-lib/i686-pc-linux-gnu/3.1.1/include/stdio.h" 2 3 extern FILE *stdin; extern FILE *stdout; extern FILE *stderr; # 153 "/users/hanwen/usr/lib/gcc-lib/i686-pc-linux-gnu/3.1.1/include/stdio.h" 3 extern int remove (__const char *__filename) ; extern int rename (__const char *__old, __const char *__new) ; extern FILE *tmpfile (void) ; # 172 "/users/hanwen/usr/lib/gcc-lib/i686-pc-linux-gnu/3.1.1/include/stdio.h" 3 extern char *tmpnam (char *__s) ; extern char *tmpnam_r (char *__s) ; # 189 "/users/hanwen/usr/lib/gcc-lib/i686-pc-linux-gnu/3.1.1/include/stdio.h" 3 extern char *tempnam (__const char *__dir, __const char *__pfx) __attribute__ ((__malloc__)); extern int fclose (FILE *__stream) ; extern int fflush (FILE *__stream) ; extern int fflush_unlocked (FILE *__stream) ; # 212 "/users/hanwen/usr/lib/gcc-lib/i686-pc-linux-gnu/3.1.1/include/stdio.h" 3 extern FILE *fopen (__const char *__restrict __filename, __const char *__restrict __modes) ; extern FILE *freopen (__const char *__restrict __filename, __const char *__restrict __modes, FILE *__restrict __stream) ; # 242 "/users/hanwen/usr/lib/gcc-lib/i686-pc-linux-gnu/3.1.1/include/stdio.h" 3 extern FILE *fdopen (int __fd, __const char *__modes) ; # 265 "/users/hanwen/usr/lib/gcc-lib/i686-pc-linux-gnu/3.1.1/include/stdio.h" 3 extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) ; extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf, int __modes, size_t __n) ; extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf, size_t __size) ; extern void setlinebuf (FILE *__stream) ; extern int fprintf (FILE *__restrict __stream, __const char *__restrict __format, ...) ; extern int printf (__const char *__restrict __format, ...) ; extern int sprintf (char *__restrict __s, __const char *__restrict __format, ...) ; extern int vfprintf (FILE *__restrict __s, __const char *__restrict __format, __gnuc_va_list __arg) ; extern int vprintf (__const char *__restrict __format, __gnuc_va_list __arg) ; extern int vsprintf (char *__restrict __s, __const char *__restrict __format, __gnuc_va_list __arg) ; extern int snprintf (char *__restrict __s, size_t __maxlen, __const char *__restrict __format, ...) __attribute__ ((__format__ (__printf__, 3, 4))); extern int vsnprintf (char *__restrict __s, size_t __maxlen, __const char *__restrict __format, __gnuc_va_list __arg) __attribute__ ((__format__ (__printf__, 3, 0))); # 336 "/users/hanwen/usr/lib/gcc-lib/i686-pc-linux-gnu/3.1.1/include/stdio.h" 3 extern int fscanf (FILE *__restrict __stream, __const char *__restrict __format, ...) ; extern int scanf (__const char *__restrict __format, ...) ; extern int sscanf (__const char *__restrict __s, __const char *__restrict __format, ...) ; # 362 "/users/hanwen/usr/lib/gcc-lib/i686-pc-linux-gnu/3.1.1/include/stdio.h" 3 extern int fgetc (FILE *__stream) ; extern int getc (FILE *__stream) ; extern int getchar (void) ; extern int getc_unlocked (FILE *__stream) ; extern int getchar_unlocked (void) ; extern int fgetc_unlocked (FILE *__stream) ; extern int fputc (int __c, FILE *__stream) ; extern int putc (int __c, FILE *__stream) ; extern int putchar (int __c) ; extern int fputc_unlocked (int __c, FILE *__stream) ; extern int putc_unlocked (int __c, FILE *__stream) ; extern int putchar_unlocked (int __c) ; extern int getw (FILE *__stream) ; extern int putw (int __w, FILE *__stream) ; extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream) ; # 428 "/users/hanwen/usr/lib/gcc-lib/i686-pc-linux-gnu/3.1.1/include/stdio.h" 3 extern char *gets (char *__s) ; # 452 "/users/hanwen/usr/lib/gcc-lib/i686-pc-linux-gnu/3.1.1/include/stdio.h" 3 extern int fputs (__const char *__restrict __s, FILE *__restrict __stream) ; # 462 "/users/hanwen/usr/lib/gcc-lib/i686-pc-linux-gnu/3.1.1/include/stdio.h" 3 extern int puts (__const char *__s) ; extern int ungetc (int __c, FILE *__stream) ; extern size_t fread (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) ; extern size_t fwrite (__const void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __s) ; extern size_t fread_unlocked (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) ; extern size_t fwrite_unlocked (__const void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) ; extern int fseek (FILE *__stream, long int __off, int __whence) ; extern long int ftell (FILE *__stream) ; extern void rewind (FILE *__stream) ; # 506 "/users/hanwen/usr/lib/gcc-lib/i686-pc-linux-gnu/3.1.1/include/stdio.h" 3 extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos) ; extern int fsetpos (FILE *__stream, __const fpos_t *__pos) ; # 542 "/users/hanwen/usr/lib/gcc-lib/i686-pc-linux-gnu/3.1.1/include/stdio.h" 3 extern void clearerr (FILE *__stream) ; extern int feof (FILE *__stream) ; extern int ferror (FILE *__stream) ; extern void clearerr_unlocked (FILE *__stream) ; extern int feof_unlocked (FILE *__stream) ; extern int ferror_unlocked (FILE *__stream) ; extern void perror (__const char *__s) ; extern int sys_nerr; extern __const char *__const sys_errlist[]; # 573 "/users/hanwen/usr/lib/gcc-lib/i686-pc-linux-gnu/3.1.1/include/stdio.h" 3 extern int fileno (FILE *__stream) ; extern int fileno_unlocked (FILE *__stream) ; extern FILE *popen (__const char *__command, __const char *__modes) ; extern int pclose (FILE *__stream) ; extern char *ctermid (char *__s) ; # 620 "/users/hanwen/usr/lib/gcc-lib/i686-pc-linux-gnu/3.1.1/include/stdio.h" 3 extern void flockfile (FILE *__stream) ; extern int ftrylockfile (FILE *__stream) ; extern void funlockfile (FILE *__stream) ; # 641 "/users/hanwen/usr/lib/gcc-lib/i686-pc-linux-gnu/3.1.1/include/stdio.h" 3 # 1 "/usr/include/bits/stdio.h" 1 3 # 33 "/usr/include/bits/stdio.h" 3 extern __inline int vprintf (__const char *__restrict __fmt, __gnuc_va_list __arg) { return vfprintf (stdout, __fmt, __arg); } extern __inline int getchar (void) { return _IO_getc (stdin); } extern __inline int getc_unlocked (FILE *__fp) { return ((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++); } extern __inline int getchar_unlocked (void) { return ((stdin)->_IO_read_ptr >= (stdin)->_IO_read_end ? __uflow (stdin) : *(unsigned char *) (stdin)->_IO_read_ptr++); } extern __inline int putchar (int __c) { return _IO_putc (__c, stdout); } extern __inline int fputc_unlocked (int __c, FILE *__stream) { return (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c))); } extern __inline int putc_unlocked (int __c, FILE *__stream) { return (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c))); } extern __inline int putchar_unlocked (int __c) { return (((stdout)->_IO_write_ptr >= (stdout)->_IO_write_end) ? __overflow (stdout, (unsigned char) (__c)) : (unsigned char) (*(stdout)->_IO_write_ptr++ = (__c))); } # 111 "/usr/include/bits/stdio.h" 3 extern __inline int feof_unlocked (FILE *__stream) { return (((__stream)->_flags & 0x10) != 0); } extern __inline int ferror_unlocked (FILE *__stream) { return (((__stream)->_flags & 0x20) != 0); } # 642 "/users/hanwen/usr/lib/gcc-lib/i686-pc-linux-gnu/3.1.1/include/stdio.h" 2 3 # 58 "../libguile/inline.h" 2 extern void scm_i_expensive_validation_check (SCM); extern SCM scm_cell (scm_t_bits car, scm_t_bits cdr); extern SCM scm_double_cell (scm_t_bits car, scm_t_bits cbr, scm_t_bits ccr, scm_t_bits cdr); extern unsigned scm_newcell2_count; extern unsigned scm_newcell_count; extern inline SCM scm_cell (scm_t_bits car, scm_t_bits cdr) { SCM z; if (((((scm_t_bits) ((scm_i_freelist))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) { z = scm_gc_for_newcell (&scm_i_master_freelist, &scm_i_freelist); } else { z = scm_i_freelist; scm_i_freelist = ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((scm_i_freelist)))))) [1])))); } scm_cells_allocated += 1; if (scm_debug_cell_accesses_p) { if ((((scm_t_c_bvec_long *) ((((scm_t_cell *) ((long) (z) & (~(256 * sizeof (scm_t_cell) - 1)))))->word_0))[((((long) (z) & (256 * sizeof (scm_t_cell) - 1)) >> 3) >> 5)] & (1L << ((((long) (z) & (256 * sizeof (scm_t_cell) - 1)) >> 3) & 31)))) { fprintf(stderr, "scm_cell tried to allocate a marked cell.\n"); abort(); } else if ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (z))))) [0]) != (127 + 0 * 256L)) { fprintf(stderr, "cell from freelist is not a free cell.\n"); abort(); } (((scm_t_c_bvec_long *) ((((scm_t_cell *) ((long) (z) & (~(256 * sizeof (scm_t_cell) - 1)))))->word_0))[((((long) (z) & (256 * sizeof (scm_t_cell) - 1)) >> 3) >> 5)] |= (1L << ((((long) (z) & (256 * sizeof (scm_t_cell) - 1)) >> 3) & 31))); } # 125 "../libguile/inline.h" (((scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (z))))) [1] = (scm_t_bits) (cdr)); (((scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (z))))) [0] = (scm_t_bits) (car)); # 141 "../libguile/inline.h" if (scm_expensive_debug_cell_accesses_p ) scm_i_expensive_validation_check (z); return z; } extern inline SCM scm_double_cell (scm_t_bits car, scm_t_bits cbr, scm_t_bits ccr, scm_t_bits cdr) { SCM z; if (((((scm_t_bits) ((scm_i_freelist2))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) { z = scm_gc_for_newcell (&scm_i_master_freelist2, &scm_i_freelist2); } else { z = scm_i_freelist2; scm_i_freelist2 = ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((scm_i_freelist2)))))) [1])))); } scm_cells_allocated += 2; (((scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (z))))) [1] = (scm_t_bits) (cbr)); (((scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (z))))) [2] = (scm_t_bits) (ccr)); (((scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (z))))) [3] = (scm_t_bits) (cdr)); (((scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (z))))) [0] = (scm_t_bits) (car)); # 192 "../libguile/inline.h" if (scm_debug_cell_accesses_p) { if ((((scm_t_c_bvec_long *) ((((scm_t_cell *) ((long) (z) & (~(256 * sizeof (scm_t_cell) - 1)))))->word_0))[((((long) (z) & (256 * sizeof (scm_t_cell) - 1)) >> 3) >> 5)] & (1L << ((((long) (z) & (256 * sizeof (scm_t_cell) - 1)) >> 3) & 31)))) { fprintf(stderr, "scm_double_cell tried to allocate a marked cell.\n"); abort(); } (((scm_t_c_bvec_long *) ((((scm_t_cell *) ((long) (z) & (~(256 * sizeof (scm_t_cell) - 1)))))->word_0))[((((long) (z) & (256 * sizeof (scm_t_cell) - 1)) >> 3) >> 5)] |= (1L << ((((long) (z) & (256 * sizeof (scm_t_cell) - 1)) >> 3) & 31))); } return z; } extern int scm_i_cell_validation_already_running ; extern inline void scm_assert_cell_valid (SCM cell) { if (!scm_i_cell_validation_already_running && scm_debug_cell_accesses_p) { scm_i_cell_validation_already_running = 1; if (scm_gc_running_p) return; if (scm_expensive_debug_cell_accesses_p) scm_i_expensive_validation_check (cell); if (!(((scm_t_c_bvec_long *) ((((scm_t_cell *) ((long) (cell) & (~(256 * sizeof (scm_t_cell) - 1)))))->word_0))[((((long) (cell) & (256 * sizeof (scm_t_cell) - 1)) >> 3) >> 5)] & (1L << ((((long) (cell) & (256 * sizeof (scm_t_cell) - 1)) >> 3) & 31)))) { fprintf (stderr, "scm_assert_cell_valid: this object is unmarked. \n" "It has been garbage-collected in the last GC run: " "%lux\n", (unsigned long) ((scm_t_bits) (cell))); abort (); } scm_i_cell_validation_already_running = 0; } } # 83 "../libguile/_scm.h" 2 # 121 "../libguile/_scm.h" extern int errno; # 78 "eval.c" 2 # 1 "../libguile/debug.h" 1 # 71 "../libguile/debug.h" extern scm_t_option scm_debug_opts[]; # 89 "../libguile/debug.h" extern SCM (*scm_ceval_ptr) (SCM exp, SCM env); extern int scm_debug_mode; extern int scm_check_entry_p; extern int scm_check_apply_p; extern int scm_check_exit_p; # 112 "../libguile/debug.h" typedef union scm_t_debug_info { struct { SCM exp, env; } e; struct { SCM proc, args; } a; SCM id; } scm_t_debug_info; extern long scm_debug_eframe_size; typedef struct scm_t_debug_frame { struct scm_t_debug_frame *prev; long status; scm_t_debug_info *vect; scm_t_debug_info *info; } scm_t_debug_frame; extern scm_t_debug_frame *scm_last_debug_frame; # 167 "../libguile/debug.h" extern scm_t_bits scm_tc16_debugobj; # 178 "../libguile/debug.h" extern scm_t_bits scm_tc16_memoized; extern SCM scm_debug_object_p (SCM obj); extern SCM scm_local_eval (SCM exp, SCM env); extern SCM scm_reverse_lookup (SCM env, SCM data); extern SCM scm_start_stack (SCM id, SCM exp, SCM env); extern SCM scm_procedure_environment (SCM proc); extern SCM scm_procedure_source (SCM proc); extern SCM scm_procedure_name (SCM proc); extern SCM scm_memoized_environment (SCM m); extern SCM scm_make_memoized (SCM exp, SCM env); extern SCM scm_memoized_p (SCM obj); extern SCM scm_with_traps (SCM thunk); extern SCM scm_evaluator_traps (SCM setting); extern SCM scm_debug_options (SCM setting); extern SCM scm_unmemoize (SCM memoized); extern SCM scm_make_debugobj (scm_t_debug_frame *debug); extern void scm_init_debug (void); # 79 "eval.c" 2 # 1 "../libguile/dynwind.h" 1 # 53 "../libguile/dynwind.h" typedef void (*scm_t_guard) (void *); typedef SCM (*scm_t_inner) (void *); extern SCM scm_dynamic_wind (SCM thunk1, SCM thunk2, SCM thunk3); extern SCM scm_internal_dynamic_wind (scm_t_guard before, scm_t_inner inner, scm_t_guard after, void *inner_data, void *guard_data); extern void scm_dowinds (SCM to, long delta); extern void scm_init_dynwind (void); extern void scm_swap_bindings (SCM vars, SCM vals); # 80 "eval.c" 2 # 1 "../libguile/alist.h" 1 # 53 "../libguile/alist.h" extern SCM scm_acons (SCM w, SCM x, SCM y); extern SCM scm_sloppy_assq (SCM x, SCM alist); extern SCM scm_sloppy_assv (SCM x, SCM alist); extern SCM scm_sloppy_assoc (SCM x, SCM alist); extern SCM scm_assq (SCM x, SCM alist); extern SCM scm_assv (SCM x, SCM alist); extern SCM scm_assoc (SCM x, SCM alist); extern SCM scm_assq_ref (SCM alist, SCM key); extern SCM scm_assv_ref (SCM alist, SCM key); extern SCM scm_assoc_ref (SCM alist, SCM key); extern SCM scm_assq_set_x (SCM alist, SCM key, SCM val); extern SCM scm_assv_set_x (SCM alist, SCM key, SCM val); extern SCM scm_assoc_set_x (SCM alist, SCM key, SCM val); extern SCM scm_assq_remove_x (SCM alist, SCM key); extern SCM scm_assv_remove_x (SCM alist, SCM key); extern SCM scm_assoc_remove_x (SCM alist, SCM key); extern void scm_init_alist (void); # 81 "eval.c" 2 # 1 "../libguile/eq.h" 1 # 53 "../libguile/eq.h" extern SCM scm_eq_p (SCM x, SCM y); extern SCM scm_eqv_p (SCM x, SCM y); extern SCM scm_equal_p (SCM x, SCM y); extern void scm_init_eq (void); # 82 "eval.c" 2 # 1 "../libguile/continuations.h" 1 # 66 "../libguile/continuations.h" extern scm_t_bits scm_tc16_continuation; typedef struct { SCM throw_value; jmp_buf jmpbuf; SCM dynenv; SCM_STACKITEM *base; size_t num_stack_items; unsigned long seq; struct scm_t_debug_frame *dframe; SCM_STACKITEM stack[1]; } scm_t_contregs; # 106 "../libguile/continuations.h" extern SCM scm_make_continuation (int *first); extern void scm_init_continuations (void); # 83 "eval.c" 2 # 1 "../libguile/throw.h" 1 # 53 "../libguile/throw.h" typedef SCM (*scm_t_catch_body) (void *data); typedef SCM (*scm_t_catch_handler) (void *data, SCM tag, SCM throw_args); extern SCM scm_internal_catch (SCM tag, scm_t_catch_body body, void *body_data, scm_t_catch_handler handler, void *handler_data); extern SCM scm_internal_lazy_catch (SCM tag, scm_t_catch_body body, void *body_data, scm_t_catch_handler handler, void *handler_data); extern SCM scm_internal_stack_catch (SCM tag, scm_t_catch_body body, void *body_data, scm_t_catch_handler handler, void *handler_data); struct scm_body_thunk_data { SCM tag; SCM body_proc; }; extern SCM scm_body_thunk (void *); extern SCM scm_handle_by_proc (void *, SCM, SCM); extern SCM scm_handle_by_proc_catching_all (void *, SCM, SCM); extern SCM scm_handle_by_message (void *, SCM, SCM); extern SCM scm_handle_by_message_noexit (void *, SCM, SCM); extern SCM scm_handle_by_throw (void *, SCM, SCM); extern int scm_exit_status (SCM args); extern SCM scm_catch (SCM tag, SCM thunk, SCM handler); extern SCM scm_lazy_catch (SCM tag, SCM thunk, SCM handler); extern SCM scm_ithrow (SCM key, SCM args, int noreturn); extern SCM scm_throw (SCM key, SCM args); extern void scm_init_throw (void); # 84 "eval.c" 2 # 1 "../libguile/macros.h" 1 # 60 "../libguile/macros.h" extern scm_t_bits scm_tc16_macro; extern SCM scm_makacro (SCM code); extern SCM scm_makmmacro (SCM code); extern SCM scm_macro_p (SCM obj); extern SCM scm_macro_type (SCM m); extern SCM scm_macro_name (SCM m); extern SCM scm_macro_transformer (SCM m); extern SCM scm_make_synt (const char *name, SCM (*macroizer) (SCM), SCM (*fcn) ()); extern void scm_init_macros (void); extern SCM scm_makmacro (SCM code); # 86 "eval.c" 2 # 1 "../libguile/procprop.h" 1 # 53 "../libguile/procprop.h" extern SCM scm_sym_name; extern SCM scm_sym_arity; extern SCM scm_sym_system_procedure; extern SCM scm_i_procedure_arity (SCM proc); extern SCM scm_procedure_properties (SCM proc); extern SCM scm_set_procedure_properties_x (SCM proc, SCM new_val); extern SCM scm_procedure_property (SCM p, SCM k); extern SCM scm_set_procedure_property_x (SCM p, SCM k, SCM v); extern void scm_init_procprop (void); # 87 "eval.c" 2 # 1 "../libguile/hashtab.h" 1 # 59 "../libguile/hashtab.h" extern SCM scm_c_make_hash_table (unsigned long k); extern SCM scm_hash_fn_get_handle (SCM table, SCM obj, unsigned long (*hash_fn) (), SCM (*assoc_fn) (), void * closure); extern SCM scm_hash_fn_create_handle_x (SCM table, SCM obj, SCM init, unsigned long (*hash_fn) (), SCM (*assoc_fn) (), void * closure); extern SCM scm_hash_fn_ref (SCM table, SCM obj, SCM dflt, unsigned long (*hash_fn) (), SCM (*assoc_fn) (), void * closure); extern SCM scm_hash_fn_set_x (SCM table, SCM obj, SCM val, unsigned long (*hash_fn) (), SCM (*assoc_fn) (), void * closure); extern SCM scm_hash_fn_remove_x (SCM table, SCM obj, unsigned long (*hash_fn) (), SCM (*assoc_fn) (), SCM (*delete_fn) (), void * closure); extern SCM scm_internal_hash_fold (SCM (*fn) (), void *closure, SCM init, SCM table); extern SCM scm_hashq_get_handle (SCM table, SCM obj); extern SCM scm_hashq_create_handle_x (SCM table, SCM obj, SCM init); extern SCM scm_hashq_ref (SCM table, SCM obj, SCM dflt); extern SCM scm_hashq_set_x (SCM table, SCM obj, SCM val); extern SCM scm_hashq_remove_x (SCM table, SCM obj); extern SCM scm_hashv_get_handle (SCM table, SCM obj); extern SCM scm_hashv_create_handle_x (SCM table, SCM obj, SCM init); extern SCM scm_hashv_ref (SCM table, SCM obj, SCM dflt); extern SCM scm_hashv_set_x (SCM table, SCM obj, SCM val); extern SCM scm_hashv_remove_x (SCM table, SCM obj); extern SCM scm_hash_get_handle (SCM table, SCM obj); extern SCM scm_hash_create_handle_x (SCM table, SCM obj, SCM init); extern SCM scm_hash_ref (SCM table, SCM obj, SCM dflt); extern SCM scm_hash_set_x (SCM table, SCM obj, SCM val); extern SCM scm_hash_remove_x (SCM table, SCM obj); extern SCM scm_hashx_get_handle (SCM hash, SCM assoc, SCM table, SCM obj); extern SCM scm_hashx_create_handle_x (SCM hash, SCM assoc, SCM table, SCM obj, SCM init); extern SCM scm_hashx_ref (SCM hash, SCM assoc, SCM table, SCM obj, SCM dflt); extern SCM scm_hashx_set_x (SCM hash, SCM assoc, SCM table, SCM obj, SCM val); extern SCM scm_hashx_remove_x (SCM hash, SCM assoc, SCM del, SCM table, SCM obj); extern SCM scm_hash_fold (SCM proc, SCM init, SCM hash); extern void scm_init_hashtab (void); # 88 "eval.c" 2 # 1 "../libguile/hash.h" 1 # 53 "../libguile/hash.h" extern unsigned long scm_string_hash (const unsigned char *str, size_t len); extern unsigned long scm_hasher (SCM obj, unsigned long n, size_t d); extern unsigned long scm_ihashq (SCM obj, unsigned long n); extern SCM scm_hashq (SCM obj, SCM n); extern unsigned long scm_ihashv (SCM obj, unsigned long n); extern SCM scm_hashv (SCM obj, SCM n); extern unsigned long scm_ihash (SCM obj, unsigned long n); extern SCM scm_hash (SCM obj, SCM n); extern void scm_init_hash (void); # 89 "eval.c" 2 # 1 "../libguile/srcprop.h" 1 # 80 "../libguile/srcprop.h" extern scm_t_bits scm_tc16_srcprops; typedef struct scm_t_srcprops { unsigned long pos; SCM fname; SCM copy; SCM plist; } scm_t_srcprops; typedef struct scm_t_srcprops_chunk { struct scm_t_srcprops_chunk *next; scm_t_srcprops srcprops[1]; } scm_t_srcprops_chunk; # 120 "../libguile/srcprop.h" extern SCM scm_sym_filename; extern SCM scm_sym_copy; extern SCM scm_sym_line; extern SCM scm_sym_column; extern SCM scm_sym_breakpoint; extern int scm_c_source_property_breakpoint_p (SCM form); extern SCM scm_srcprops_to_plist (SCM obj); extern SCM scm_make_srcprops (long line, int col, SCM fname, SCM copy, SCM plist); extern SCM scm_source_property (SCM obj, SCM key); extern SCM scm_set_source_property_x (SCM obj, SCM key, SCM datum); extern SCM scm_source_properties (SCM obj); extern SCM scm_set_source_properties_x (SCM obj, SCM props); extern void scm_finish_srcprop (void); extern void scm_init_srcprop (void); # 90 "eval.c" 2 # 1 "../libguile/stackchk.h" 1 # 86 "../libguile/stackchk.h" extern int scm_stack_checking_enabled_p; extern void scm_report_stack_overflow (void); extern long scm_stack_size (SCM_STACKITEM *start); extern void scm_stack_report (void); extern void scm_init_stackchk (void); # 91 "eval.c" 2 # 1 "../libguile/objects.h" 1 # 61 "../libguile/objects.h" # 1 "../libguile/struct.h" 1 # 74 "../libguile/struct.h" typedef void (*scm_t_struct_free) (scm_t_bits * vtable, scm_t_bits * data); # 102 "../libguile/struct.h" extern SCM scm_struct_table; extern SCM scm_structs_to_free; extern scm_t_bits * scm_alloc_struct (int n_words, int n_extra, const char *what); extern void scm_struct_free_0 (scm_t_bits * vtable, scm_t_bits * data); extern void scm_struct_free_light (scm_t_bits * vtable, scm_t_bits * data); extern void scm_struct_free_standard (scm_t_bits * vtable, scm_t_bits * data); extern void scm_struct_free_entity (scm_t_bits * vtable, scm_t_bits * data); extern SCM scm_make_struct_layout (SCM fields); extern SCM scm_struct_p (SCM x); extern SCM scm_struct_vtable_p (SCM x); extern SCM scm_make_struct (SCM vtable, SCM tail_array_size, SCM init); extern SCM scm_make_vtable_vtable (SCM extra_fields, SCM tail_array_size, SCM init); extern SCM scm_struct_ref (SCM handle, SCM pos); extern SCM scm_struct_set_x (SCM handle, SCM pos, SCM val); extern SCM scm_struct_vtable (SCM handle); extern SCM scm_struct_vtable_tag (SCM handle); extern unsigned long scm_struct_ihashq (SCM obj, unsigned long n); extern SCM scm_struct_create_handle (SCM obj); extern SCM scm_struct_vtable_name (SCM vtable); extern SCM scm_set_struct_vtable_name_x (SCM vtable, SCM name); extern void scm_print_struct (SCM exp, SCM port, scm_print_state *); extern void scm_struct_prehistory (void); extern void scm_init_struct (void); # 62 "../libguile/objects.h" 2 # 139 "../libguile/objects.h" struct scm_metaclass_standard { SCM layout; SCM vcell; SCM vtable; SCM print; }; struct scm_metaclass_operator { SCM layout; SCM vcell; SCM vtable; SCM print; SCM procedure; SCM setter; }; # 182 "../libguile/objects.h" typedef struct scm_effective_slot_definition { SCM name; long location; SCM init_value; SCM (*get) (SCM obj, SCM slotdef); SCM (*set) (SCM obj, SCM slotdef, SCM value); } scm_effective_slot_definition; # 203 "../libguile/objects.h" extern SCM scm_metaclass_standard; extern SCM scm_metaclass_operator; extern SCM scm_class_boolean; extern SCM scm_class_char; extern SCM scm_class_pair; extern SCM scm_class_procedure; extern SCM scm_class_string; extern SCM scm_class_symbol; extern SCM scm_class_procedure_with_setter; extern SCM scm_class_primitive_generic; extern SCM scm_class_vector, scm_class_null; extern SCM scm_class_real; extern SCM scm_class_complex; extern SCM scm_class_integer; extern SCM scm_class_unknown; extern SCM *scm_port_class; extern SCM *scm_smob_class; extern SCM scm_no_applicable_method; extern SCM scm_make_extended_class (char *type_name); extern void scm_make_port_classes (long ptobnum, char *type_name); extern void scm_change_object_class (SCM, SCM, SCM); extern SCM scm_memoize_method (SCM x, SCM args); extern SCM scm_class_of (SCM obj); extern SCM scm_mcache_lookup_cmethod (SCM cache, SCM args); extern SCM scm_mcache_compute_cmethod (SCM cache, SCM args); extern SCM scm_call_generic_3 (SCM gf, SCM a1, SCM a2, SCM a3); extern SCM scm_entity_p (SCM obj); extern SCM scm_operator_p (SCM obj); extern SCM scm_valid_object_procedure_p (SCM proc); extern SCM scm_set_object_procedure_x (SCM obj, SCM proc); extern SCM scm_make_class_object (SCM metaclass, SCM layout); extern SCM scm_make_subclass_object (SCM c, SCM layout); extern SCM scm_i_make_class_object (SCM metaclass, SCM layout_string, unsigned long flags); extern void scm_init_objects (void); # 92 "eval.c" 2 # 1 "../libguile/async.h" 1 # 53 "../libguile/async.h" extern unsigned int scm_mask_ints; extern int scm_asyncs_pending (void); extern void scm_async_click (void); extern void scm_switch (void); extern SCM scm_async (SCM thunk); extern SCM scm_system_async (SCM thunk); extern SCM scm_async_mark (SCM a); extern SCM scm_system_async_mark (SCM a); extern void scm_system_async_mark_from_signal_handler (SCM a); extern SCM scm_run_asyncs (SCM list_of_a); extern SCM scm_noop (SCM args); extern SCM scm_set_tick_rate (SCM n); extern SCM scm_set_switch_rate (SCM n); extern SCM scm_unmask_signals (void); extern SCM scm_mask_signals (void); extern void scm_init_async (void); # 93 "eval.c" 2 # 1 "../libguile/feature.h" 1 # 51 "../libguile/feature.h" extern void scm_add_feature (const char* str); extern SCM scm_program_arguments (void); extern void scm_set_program_arguments (int argc, char **argv, char *first); extern void scm_init_feature (void); # 94 "eval.c" 2 # 1 "../libguile/ports.h" 1 # 62 "../libguile/ports.h" typedef enum scm_t_port_rw_active { SCM_PORT_NEITHER = 0, SCM_PORT_READ = 1, SCM_PORT_WRITE = 2 } scm_t_port_rw_active; typedef struct { SCM port; long entry; int revealed; scm_t_bits stream; SCM file_name; long line_number; int column_number; # 93 "../libguile/ports.h" unsigned char *read_buf; const unsigned char *read_pos; unsigned char *read_end; off_t read_buf_size; unsigned char *saved_read_buf; const unsigned char *saved_read_pos; unsigned char *saved_read_end; off_t saved_read_buf_size; unsigned char *write_buf; unsigned char *write_pos; unsigned char *write_end; off_t write_buf_size; unsigned char shortbuf; int rw_random; scm_t_port_rw_active rw_active; unsigned char *putback_buf; size_t putback_buf_size; } scm_t_port; extern scm_t_port **scm_port_table; extern long scm_port_table_size; # 188 "../libguile/ports.h" typedef struct scm_t_ptob_descriptor { char *name; SCM (*mark) (SCM); size_t (*free) (SCM); int (*print) (SCM exp, SCM port, scm_print_state *pstate); SCM (*equalp) (SCM, SCM); int (*close) (SCM port); void (*write) (SCM port, const void *data, size_t size); void (*flush) (SCM port); void (*end_input) (SCM port, int offset); int (*fill_input) (SCM port); int (*input_waiting) (SCM port); off_t (*seek) (SCM port, off_t OFFSET, int WHENCE); void (*truncate) (SCM port, off_t length); } scm_t_ptob_descriptor; # 216 "../libguile/ports.h" extern scm_t_ptob_descriptor *scm_ptobs; extern long scm_numptob; extern long scm_port_table_room; extern SCM scm_markstream (SCM ptr); extern scm_t_bits scm_make_port_type (char *name, int (*fill_input) (SCM port), void (*write) (SCM port, const void *data, size_t size)); extern void scm_set_port_mark (long tc, SCM (*mark) (SCM)); extern void scm_set_port_free (long tc, size_t (*free) (SCM)); extern void scm_set_port_print (long tc, int (*print) (SCM exp, SCM port, scm_print_state *pstate)); extern void scm_set_port_equalp (long tc, SCM (*equalp) (SCM, SCM)); extern void scm_set_port_close (long tc, int (*close) (SCM)); extern void scm_set_port_flush (long tc, void (*flush) (SCM port)); extern void scm_set_port_end_input (long tc, void (*end_input) (SCM port, int offset)); extern void scm_set_port_seek (long tc, off_t (*seek) (SCM port, off_t OFFSET, int WHENCE)); extern void scm_set_port_truncate (long tc, void (*truncate) (SCM port, off_t length)); extern void scm_set_port_input_waiting (long tc, int (*input_waiting) (SCM)); extern SCM scm_char_ready_p (SCM port); size_t scm_take_from_input_buffers (SCM port, char *dest, size_t read_len); extern SCM scm_drain_input (SCM port); extern SCM scm_current_input_port (void); extern SCM scm_current_output_port (void); extern SCM scm_current_error_port (void); extern SCM scm_current_load_port (void); extern SCM scm_set_current_input_port (SCM port); extern SCM scm_set_current_output_port (SCM port); extern SCM scm_set_current_error_port (SCM port); extern scm_t_port * scm_new_port_table_entry (void); extern void scm_remove_from_port_table (SCM port); extern void scm_grow_port_cbuf (SCM port, size_t requested); extern SCM scm_pt_size (void); extern SCM scm_pt_member (SCM member); extern void scm_port_non_buffer (scm_t_port *pt); extern int scm_revealed_count (SCM port); extern SCM scm_port_revealed (SCM port); extern SCM scm_set_port_revealed_x (SCM port, SCM rcount); extern long scm_mode_bits (char *modes); extern SCM scm_port_mode (SCM port); extern SCM scm_close_input_port (SCM port); extern SCM scm_close_output_port (SCM port); extern SCM scm_close_port (SCM port); extern SCM scm_port_for_each (SCM proc); extern SCM scm_input_port_p (SCM x); extern SCM scm_output_port_p (SCM x); extern SCM scm_port_p (SCM x); extern SCM scm_port_closed_p (SCM port); extern SCM scm_eof_object_p (SCM x); extern SCM scm_force_output (SCM port); extern SCM scm_flush_all_ports (void); extern SCM scm_read_char (SCM port); extern void scm_putc (char c, SCM port); extern void scm_puts (const char *str_data, SCM port); extern size_t scm_c_read (SCM port, void *buffer, size_t size); extern void scm_c_write (SCM port, const void *buffer, size_t size); extern void scm_lfwrite (const char *ptr, size_t size, SCM port); extern void scm_flush (SCM port); extern void scm_end_input (SCM port); extern int scm_fill_input (SCM port); extern int scm_getc (SCM port); extern void scm_ungetc (int c, SCM port); extern void scm_ungets (const char *s, int n, SCM port); extern SCM scm_peek_char (SCM port); extern SCM scm_unread_char (SCM cobj, SCM port); extern SCM scm_unread_string (SCM str, SCM port); extern SCM scm_seek (SCM object, SCM offset, SCM whence); extern SCM scm_truncate_file (SCM object, SCM length); extern SCM scm_port_line (SCM port); extern SCM scm_set_port_line_x (SCM port, SCM line); extern SCM scm_port_column (SCM port); extern SCM scm_set_port_column_x (SCM port, SCM line); extern SCM scm_port_filename (SCM port); extern SCM scm_set_port_filename_x (SCM port, SCM filename); extern int scm_port_print (SCM exp, SCM port, scm_print_state *); extern void scm_print_port_mode (SCM exp, SCM port); extern void scm_ports_prehistory (void); extern SCM scm_void_port (char * mode_str); extern SCM scm_sys_make_void_port (SCM mode); extern void scm_init_ports (void); # 96 "eval.c" 2 # 1 "../libguile/root.h" 1 # 75 "../libguile/root.h" extern SCM scm_sys_protects[]; extern scm_t_bits scm_tc16_root; typedef struct scm_root_state { SCM_STACKITEM * stack_base; jmp_buf save_regs_gc_mark; int errjmp_bad; SCM rootcont; SCM dynwinds; scm_t_debug_frame *last_debug_frame; SCM progargs; SCM exitval; SCM cur_inp; SCM cur_outp; SCM cur_errp; SCM cur_loadp; SCM fluids; SCM handle; SCM parent; } scm_root_state; # 131 "../libguile/root.h" extern struct scm_root_state *scm_root; extern SCM scm_make_root (SCM parent); extern SCM scm_internal_cwdr (scm_t_catch_body body, void *body_data, scm_t_catch_handler handler, void *handler_data, SCM_STACKITEM *stack_start); extern SCM scm_call_with_dynamic_root (SCM thunk, SCM handler); extern SCM scm_dynamic_root (void); extern SCM scm_apply_with_dynamic_root (SCM proc, SCM a1, SCM args, SCM handler); extern void scm_init_root (void); # 97 "eval.c" 2 # 1 "../libguile/vectors.h" 1 # 84 "../libguile/vectors.h" extern SCM scm_c_make_vector (unsigned long int k, SCM fill); extern SCM scm_vector_p (SCM x); extern SCM scm_vector_length (SCM v); extern SCM scm_vector (SCM l); extern SCM scm_vector_ref (SCM v, SCM k); extern SCM scm_vector_set_x (SCM v, SCM k, SCM obj); extern SCM scm_make_vector (SCM k, SCM fill); extern SCM scm_vector_to_list (SCM v); extern SCM scm_vector_fill_x (SCM v, SCM fill_x); extern SCM scm_vector_equal_p (SCM x, SCM y); extern SCM scm_vector_move_left_x (SCM vec1, SCM start1, SCM end1, SCM vec2, SCM start2); extern SCM scm_vector_move_right_x (SCM vec1, SCM start1, SCM end1, SCM vec2, SCM start2); extern void scm_init_vectors (void); # 98 "eval.c" 2 # 1 "../libguile/fluids.h" 1 # 75 "../libguile/fluids.h" extern scm_t_bits scm_tc16_fluid; # 92 "../libguile/fluids.h" extern SCM scm_make_fluid (void); extern SCM scm_fluid_p (SCM fl); extern SCM scm_fluid_ref (SCM fluid); extern SCM scm_fluid_set_x (SCM fluid, SCM value); extern SCM scm_c_with_fluids (SCM fluids, SCM vals, SCM (*cproc)(void *), void *cdata); extern SCM scm_c_with_fluid (SCM fluid, SCM val, SCM (*cproc)(void *), void *cdata); extern SCM scm_with_fluids (SCM fluids, SCM vals, SCM thunk); extern SCM scm_make_initial_fluids (void); extern void scm_copy_fluids (scm_root_state *); extern void scm_swap_fluids (SCM fluids, SCM vals); extern void scm_swap_fluids_reverse (SCM fluids, SCM vals); extern void scm_init_fluids (void); # 99 "eval.c" 2 # 1 "../libguile/goops.h" 1 # 92 "../libguile/goops.h" typedef struct scm_t_method { SCM generic_function; SCM specializers; SCM procedure; } scm_t_method; # 184 "../libguile/goops.h" extern SCM scm_class_top; extern SCM scm_class_object; extern SCM scm_class_class; extern SCM scm_class_entity; extern SCM scm_class_entity_with_setter; extern SCM scm_class_generic; extern SCM scm_class_generic_with_setter; extern SCM scm_class_method; extern SCM scm_class_simple_method; extern SCM scm_class_accessor; extern SCM scm_class_procedure_class; extern SCM scm_class_operator_class; extern SCM scm_class_operator_with_setter_class; extern SCM scm_class_entity_class; extern SCM scm_class_number; extern SCM scm_class_list; extern SCM scm_class_keyword; extern SCM scm_class_port; extern SCM scm_class_input_output_port; extern SCM scm_class_input_port; extern SCM scm_class_output_port; extern SCM scm_class_foreign_class; extern SCM scm_class_foreign_object; extern SCM scm_class_foreign_slot; extern SCM scm_class_self; extern SCM scm_class_protected; extern SCM scm_class_opaque; extern SCM scm_class_read_only; extern SCM scm_class_protected_opaque; extern SCM scm_class_protected_read_only; extern SCM scm_class_scm; extern SCM scm_class_int; extern SCM scm_class_float; extern SCM scm_class_double; extern const char *scm_s_slot_set_x; extern SCM scm_module_goops; extern SCM scm_goops_version (void); extern SCM scm_oldfmt (SCM); extern char *scm_c_oldfmt0 (char *); extern char *scm_c_oldfmt (char *, int n); extern void scm_load_goops (void); extern SCM scm_make_foreign_object (SCM cls, SCM initargs); extern SCM scm_make_class (SCM meta, char *s_name, SCM supers, size_t size, void * (*constructor) (SCM initargs), size_t (*destructor) (void *)); extern void scm_add_slot (SCM c, char *slot, SCM slot_class, SCM (*getter) (SCM obj), SCM (*setter) (SCM obj, SCM x), char *accessor_name); extern SCM scm_wrap_object (SCM c, void *); extern SCM scm_wrap_component (SCM c, SCM obj, void *); extern SCM scm_ensure_accessor (SCM name); extern void scm_add_method (SCM gf, SCM m); extern SCM scm_make_next_method (SCM methods, SCM args, SCM gf); extern SCM scm_basic_basic_make_class (SCM c, SCM name, SCM dsupers, SCM dslots); extern SCM scm_basic_make_class (SCM c, SCM name, SCM dsupers, SCM dslots); extern SCM scm_sys_allocate_instance (SCM c, SCM initargs); extern SCM scm_sys_set_object_setter_x (SCM obj, SCM setter); extern SCM scm_slot_ref (SCM obj, SCM slot_name); extern SCM scm_slot_set_x (SCM obj, SCM slot_name, SCM value); extern SCM scm_compute_applicable_methods (SCM gf, SCM args, long len, int scm_find_method); extern SCM scm_sys_compute_applicable_methods (SCM gf, SCM args); extern SCM scm_m_atslot_ref (SCM xorig, SCM env); extern SCM scm_m_atslot_set_x (SCM xorig, SCM env); extern SCM scm_m_atdispatch (SCM xorig, SCM env); extern SCM scm_sys_compute_slots (SCM c); extern SCM scm_i_get_keyword (SCM key, SCM l, long len, SCM default_value, const char *subr); extern SCM scm_get_keyword (SCM key, SCM l, SCM default_value); extern SCM scm_sys_initialize_object (SCM obj, SCM initargs); extern SCM scm_sys_prep_layout_x (SCM c); extern SCM scm_sys_inherit_magic_x (SCM c, SCM dsupers); extern SCM scm_instance_p (SCM obj); extern SCM scm_class_name (SCM obj); extern SCM scm_class_direct_supers (SCM obj); extern SCM scm_class_direct_slots (SCM obj); extern SCM scm_class_direct_subclasses (SCM obj); extern SCM scm_class_direct_methods (SCM obj); extern SCM scm_class_precedence_list (SCM obj); extern SCM scm_class_slots (SCM obj); extern SCM scm_class_environment (SCM obj); extern SCM scm_generic_function_name (SCM obj); extern SCM scm_generic_function_methods (SCM obj); extern SCM scm_method_generic_function (SCM obj); extern SCM scm_method_specializers (SCM obj); extern SCM scm_method_procedure (SCM obj); extern SCM scm_accessor_method_slot_definition (SCM obj); extern SCM scm_sys_tag_body (SCM body); extern SCM scm_sys_fast_slot_ref (SCM obj, SCM index); extern SCM scm_sys_fast_slot_set_x (SCM obj, SCM index, SCM value); extern SCM scm_slot_ref_using_class (SCM cls, SCM obj, SCM slot_name); extern SCM scm_slot_set_using_class_x (SCM cls, SCM obj, SCM slot_name, SCM value); extern SCM scm_slot_bound_using_class_p (SCM cls, SCM obj, SCM slot_name); extern SCM scm_slot_exists_using_class_p (SCM cls, SCM obj, SCM slot_name); extern SCM scm_slot_bound_p (SCM obj, SCM slot_name); extern SCM scm_slot_exists_p (SCM obj, SCM slot_name); extern SCM scm_sys_modify_instance (SCM old, SCM newinst); extern SCM scm_sys_modify_class (SCM old, SCM newcls); extern SCM scm_sys_invalidate_class (SCM cls); extern SCM scm_make_method_cache (SCM gf); extern SCM scm_sys_invalidate_method_cache_x (SCM gf); extern SCM scm_generic_capability_p (SCM proc); extern SCM scm_enable_primitive_generic_x (SCM subrs); extern SCM scm_primitive_generic_generic (SCM subr); extern SCM stklos_version (void); extern SCM scm_make (SCM args); extern SCM scm_find_method (SCM args); extern SCM scm_sys_method_more_specific_p (SCM m1, SCM m2, SCM targs); extern SCM scm_init_goops_builtins (void); extern void scm_init_goops (void); # 100 "eval.c" 2 # 1 "../libguile/values.h" 1 # 51 "../libguile/values.h" extern SCM scm_values_vtable; extern SCM scm_values (SCM args); extern void scm_init_values (void); # 101 "eval.c" 2 # 1 "../libguile/eval.h" 1 # 58 "../libguile/eval.h" extern scm_t_option scm_eval_opts[]; extern long scm_eval_stack; extern scm_t_option scm_evaluator_trap_table[]; extern SCM scm_eval_options_interface (SCM setting); # 136 "../libguile/eval.h" extern const char scm_s_expression[]; extern const char scm_s_test[]; extern const char scm_s_body[]; extern const char scm_s_bindings[]; extern const char scm_s_variable[]; extern const char scm_s_clauses[]; extern const char scm_s_formals[]; extern const char scm_s_set_x[]; extern SCM scm_sym_and; extern SCM scm_sym_begin; extern SCM scm_sym_case; extern SCM scm_sym_cond; extern SCM scm_sym_define; extern SCM scm_sym_do; extern SCM scm_sym_if; extern SCM scm_sym_lambda; extern SCM scm_sym_let; extern SCM scm_sym_letstar; extern SCM scm_sym_letrec; extern SCM scm_sym_quote; extern SCM scm_sym_quasiquote; extern SCM scm_sym_unquote; extern SCM scm_sym_uq_splicing; extern SCM scm_sym_dot; extern SCM scm_sym_atapply; extern SCM scm_sym_atcall_cc; extern SCM scm_sym_at_call_with_values; extern SCM scm_sym_delay; extern SCM scm_sym_arrow; extern SCM scm_sym_else; extern SCM scm_sym_apply; extern SCM scm_sym_set_x; extern SCM scm_sym_args; extern SCM scm_f_apply; extern SCM * scm_ilookup (SCM iloc, SCM env); extern SCM * scm_lookupcar (SCM vloc, SCM genv, int check); extern SCM scm_unmemocar (SCM form, SCM env); extern SCM scm_unmemocopy (SCM form, SCM env); extern SCM scm_eval_car (SCM pair, SCM env); extern SCM scm_eval_body (SCM code, SCM env); extern SCM scm_eval_args (SCM i, SCM env, SCM proc); extern SCM scm_m_quote (SCM xorig, SCM env); extern SCM scm_m_begin (SCM xorig, SCM env); extern SCM scm_m_if (SCM xorig, SCM env); extern SCM scm_m_set_x (SCM xorig, SCM env); extern SCM scm_m_vref (SCM xorig, SCM env); extern SCM scm_m_vset (SCM xorig, SCM env); extern SCM scm_m_and (SCM xorig, SCM env); extern SCM scm_m_or (SCM xorig, SCM env); extern SCM scm_m_case (SCM xorig, SCM env); extern SCM scm_m_cond (SCM xorig, SCM env); extern SCM scm_m_lambda (SCM xorig, SCM env); extern SCM scm_m_letstar (SCM xorig, SCM env); extern SCM scm_m_do (SCM xorig, SCM env); extern SCM scm_m_quasiquote (SCM xorig, SCM env); extern SCM scm_m_delay (SCM xorig, SCM env); extern SCM scm_m_define (SCM x, SCM env); extern SCM scm_m_letrec (SCM xorig, SCM env); extern SCM scm_m_let (SCM xorig, SCM env); extern SCM scm_m_apply (SCM xorig, SCM env); extern SCM scm_m_cont (SCM xorig, SCM env); extern SCM scm_m_nil_cond (SCM xorig, SCM env); extern SCM scm_m_atfop (SCM xorig, SCM env); extern SCM scm_m_atbind (SCM xorig, SCM env); extern SCM scm_m_at_call_with_values (SCM xorig, SCM env); extern int scm_badargsp (SCM formals, SCM args); extern SCM scm_ceval (SCM x, SCM env); extern SCM scm_deval (SCM x, SCM env); extern SCM scm_call_0 (SCM proc); extern SCM scm_call_1 (SCM proc, SCM arg1); extern SCM scm_call_2 (SCM proc, SCM arg1, SCM arg2); extern SCM scm_call_3 (SCM proc, SCM arg1, SCM arg2, SCM arg3); extern SCM scm_call_4 (SCM proc, SCM arg1, SCM arg2, SCM arg3, SCM arg4); extern SCM scm_apply_0 (SCM proc, SCM args); extern SCM scm_apply_1 (SCM proc, SCM arg1, SCM args); extern SCM scm_apply_2 (SCM proc, SCM arg1, SCM arg2, SCM args); extern SCM scm_apply_3 (SCM proc, SCM arg1, SCM arg2, SCM arg3, SCM args); extern SCM scm_nconc2last (SCM lst); extern SCM scm_apply (SCM proc, SCM arg1, SCM args); extern SCM scm_dapply (SCM proc, SCM arg1, SCM args); extern SCM scm_m_expand_body (SCM xorig, SCM env); extern SCM scm_macroexp (SCM x, SCM env); extern SCM scm_map (SCM proc, SCM arg1, SCM args); extern SCM scm_for_each (SCM proc, SCM arg1, SCM args); extern SCM scm_closure (SCM code, SCM env); extern SCM scm_makprom (SCM code); extern SCM scm_force (SCM x); extern SCM scm_promise_p (SCM x); extern SCM scm_cons_source (SCM xorig, SCM x, SCM y); extern SCM scm_copy_tree (SCM obj); extern SCM scm_i_eval_x (SCM exp, SCM env); extern SCM scm_i_eval (SCM exp, SCM env); extern SCM scm_primitive_eval (SCM exp); extern SCM scm_primitive_eval_x (SCM exp); extern SCM scm_eval (SCM exp, SCM module); extern SCM scm_eval_x (SCM exp, SCM module); extern void scm_init_eval (void); # 104 "eval.c" 2 # 1 "../libguile/lang.h" 1 # 76 "../libguile/lang.h" extern void scm_init_lang (void); # 105 "eval.c" 2 # 155 "eval.c" SCM * scm_ilookup (SCM iloc, SCM env) { register long ir = ((long)(((0x00080000L)-(0x00000100L))>>8) & (((scm_t_bits) (iloc)) >> 8)); register SCM er = env; for (; 0 != ir; --ir) er = (((scm_assert_cell_valid ((er)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((er)))))) [(1)]))))))); er = (((scm_assert_cell_valid ((er)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((er)))))) [(0)]))))))); for (ir = (((scm_t_bits) (iloc)) >> 20); 0 != ir; --ir) er = (((scm_assert_cell_valid ((er)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((er)))))) [(1)]))))))); if (((0x00080000L) & ((scm_t_bits) (iloc)))) return ((SCM *) ((scm_t_bits *) & (scm_assert_cell_valid (((er))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((er))))))) [(1)]))))); return ((SCM *) ((scm_t_bits *) & (scm_assert_cell_valid ((((((scm_assert_cell_valid ((er)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((er)))))) [(1)])))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((((((scm_assert_cell_valid ((er)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((er)))))) [(1)])))))))))))))) [(0)]))))); } # 247 "eval.c" static SCM scm_unbound_variable_key ; SCM * scm_lookupcar (SCM vloc, SCM genv, int check) { SCM env = genv; register SCM *al, fl, var = (((scm_assert_cell_valid ((vloc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((vloc)))))) [(0)]))))))); register SCM iloc = ((SCM) (((0L) << 8) + scm_tc8_iloc)); for (; (!(6 & ((scm_t_bits) (env)))); env = (((scm_assert_cell_valid ((env)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((env)))))) [(1)])))))))) { if (!(!(6 & ((scm_t_bits) ((((scm_assert_cell_valid ((env)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((env)))))) [(0)])))))))))) && ((1 & (scm_assert_cell_valid (((((scm_assert_cell_valid ((env)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((env)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((env)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((env)))))) [(0)]))))))))))))) [(0)])))) == 0))) break; al = ((SCM *) ((scm_t_bits *) & (scm_assert_cell_valid (((env))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((env))))))) [(0)]))))); for (fl = (((scm_assert_cell_valid ((*al)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((*al)))))) [(0)]))))))); (!(6 & ((scm_t_bits) (fl)))); fl = (((scm_assert_cell_valid ((fl)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((fl)))))) [(1)])))))))) { if (!(!(6 & ((scm_t_bits) (fl))) && ((1 & (scm_assert_cell_valid ((fl)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((fl)))))) [(0)])))) == 0))) { if ((((scm_t_bits) (fl)) == ((scm_t_bits) (var)))) { (scm_assert_cell_valid ((vloc)), ((((scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((vloc)))))) [(0)] = (scm_t_bits) ((((scm_t_bits) (iloc)) + (0x00080000L)))))); return ((SCM *) ((scm_t_bits *) & (scm_assert_cell_valid (((*al))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((*al))))))) [(1)]))))); } else break; } al = ((SCM *) ((scm_t_bits *) & (scm_assert_cell_valid (((*al))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((*al))))))) [(1)]))))); if ((((scm_t_bits) ((((scm_assert_cell_valid ((fl)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((fl)))))) [(0)]))))))))) == ((scm_t_bits) (var)))) { if (((((scm_t_bits) (((((scm_assert_cell_valid ((*al)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((*al)))))) [(0)])))))))))) == ((scm_t_bits) (((SCM) (((18) << 9) + 0x174L))))))) { env = ((SCM) (((20) << 9) + 0x174L)); goto errout; } (((scm_assert_cell_valid (((vloc))), ((((scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((vloc))))))) [(0)] = ((scm_t_bits) (((iloc))))))))); return ((SCM *) ((scm_t_bits *) & (scm_assert_cell_valid (((*al))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((*al))))))) [(0)]))))); } iloc = ((SCM) (((scm_t_bits) (iloc)) + (0x00100000L))); } iloc = ((SCM) ((~(-(0x00100000L))) & (((scm_t_bits) (iloc)) + (0x00000100L)))); } { SCM top_thunk, real_var; if ((!(6 & ((scm_t_bits) (env))))) { top_thunk = (((scm_assert_cell_valid ((env)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((env)))))) [(0)]))))))); env = (((scm_assert_cell_valid ((env)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((env)))))) [(1)]))))))); } else top_thunk = ((SCM) (((16) << 9) + 0x174L)); real_var = scm_sym2var (var, top_thunk, ((SCM) (((16) << 9) + 0x174L))); if (((((scm_t_bits) ((real_var))) == ((scm_t_bits) (((SCM) (((16) << 9) + 0x174L))))))) goto errout; if (!((((scm_t_bits) ((env))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L)))))) || ((((scm_t_bits) (((scm_assert_cell_valid ((real_var)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((real_var)))))) [(1)])))))))) == ((scm_t_bits) (((SCM) (((18) << 9) + 0x174L))))))) { errout: if (check) { if (((((scm_t_bits) ((env))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) scm_error (scm_unbound_variable_key, ((void *)0), "Unbound variable: ~S", scm_list_1 (var), ((SCM) (((16) << 9) + 0x174L))); else scm_misc_error (((void *)0), "Damaged environment: ~S", scm_list_1 (var)); } else { static SCM undef_object = ((SCM) (((18) << 9) + 0x174L)); return &undef_object; } } # 357 "eval.c" (((scm_assert_cell_valid (((vloc))), ((((scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((vloc))))))) [(0)] = ((scm_t_bits) (((real_var))))))))); return ((SCM *) ((scm_t_bits *) & (scm_assert_cell_valid (((real_var))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((real_var))))))) [(1)]))))); } } # 375 "eval.c" static SCM sym_three_question_marks ; SCM scm_unmemocar (SCM form, SCM env) { if (!(!(6 & ((scm_t_bits) (form))) && ((1 & (scm_assert_cell_valid ((form)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((form)))))) [(0)])))) == 0))) return form; else { SCM c = (((scm_assert_cell_valid ((form)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((form)))))) [(0)]))))))); if ((!(6 & ((scm_t_bits) (c))) && (0x7f & (scm_assert_cell_valid ((c)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((c)))))) [(0)])))) == 7)) { SCM sym = scm_module_reverse_lookup (scm_env_module (env), c); if (((((scm_t_bits) ((sym))) == ((scm_t_bits) (((SCM) (((16) << 9) + 0x174L))))))) sym = sym_three_question_marks; (((scm_assert_cell_valid (((form))), ((((scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((form))))))) [(0)] = ((scm_t_bits) (((sym))))))))); } else if (((((scm_t_bits) (c)) & 0xff)==scm_tc8_iloc)) { unsigned long int ir; for (ir = ((long)(((0x00080000L)-(0x00000100L))>>8) & (((scm_t_bits) (c)) >> 8)); ir != 0; --ir) env = (((scm_assert_cell_valid ((env)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((env)))))) [(1)]))))))); env = (((scm_assert_cell_valid (((((scm_assert_cell_valid ((env)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((env)))))) [(0)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((env)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((env)))))) [(0)]))))))))))))) [(0)]))))))); for (ir = (((scm_t_bits) (c)) >> 20); ir != 0; --ir) env = (((scm_assert_cell_valid ((env)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((env)))))) [(1)]))))))); (((scm_assert_cell_valid (((form))), ((((scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((form))))))) [(0)] = ((scm_t_bits) (((((0x00080000L) & ((scm_t_bits) (c))) ? env : (((scm_assert_cell_valid ((env)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((env)))))) [(0)])))))))))))))))); } return form; } } SCM scm_eval_car (SCM pair, SCM env) { return ((6 & ((scm_t_bits) ((((scm_assert_cell_valid ((pair)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((pair)))))) [(0)])))))))))) ? (((((scm_t_bits) ((((scm_assert_cell_valid ((pair)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((pair)))))) [(0)]))))))))) & 0xff)==scm_tc8_iloc) ? *scm_ilookup (((((scm_assert_cell_valid ((pair)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((pair)))))) [(0)])))))))), env) : (((((scm_t_bits) (((((scm_assert_cell_valid ((pair)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((pair)))))) [(0)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))) ? scm_misc_error (((void *)0), scm_s_expression, ((SCM) (((20) << 9) + 0x174L))), 0 : 0), ((((scm_assert_cell_valid ((pair)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((pair)))))) [(0)])))))))))) : ((!(6 & ((scm_t_bits) ((((scm_assert_cell_valid ((pair)), ((((SCM) (((const scm_t_bits *) ((scm! _t_cell *) (((scm_t_bits) ((pair)))))) [(0)])))))))))) && ((0x7f & (scm_assert_cell_valid (((((scm_assert_cell_valid ((pair)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((pair)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((pair)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((pair)))))) [(0)]))))))))))))) [(0)])))) == 5)) ? *scm_lookupcar (pair, env, 1) : (*scm_ceval_ptr) ((((scm_assert_cell_valid ((pair)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((pair)))))) [(0)]))))))), env))); } const char scm_s_expression[] = "missing or extra expression"; const char scm_s_test[] = "bad test"; const char scm_s_body[] = "bad body"; const char scm_s_bindings[] = "bad bindings"; const char scm_s_duplicate_bindings[] = "duplicate bindings"; const char scm_s_variable[] = "bad variable"; const char scm_s_clauses[] = "bad or missing clauses"; const char scm_s_formals[] = "bad formals"; const char scm_s_duplicate_formals[] = "duplicate formals"; static const char s_splicing[] = "bad (non-list) result for unquote-splicing"; SCM scm_sym_dot ; SCM scm_sym_arrow ; SCM scm_sym_else ; SCM scm_sym_unquote ; SCM scm_sym_uq_splicing ; SCM scm_f_apply; SCM scm_sym_enter_frame ; SCM scm_sym_apply_frame ; SCM scm_sym_exit_frame ; SCM scm_sym_trace ; # 460 "eval.c" static SCM scm_m_body (SCM op, SCM xorig, const char *what) { if (!(scm_ilength (xorig) >= 1)) scm_misc_error (what, scm_s_body, ((SCM) (((20) << 9) + 0x174L)));; if (((0x187 & ((scm_t_bits) ((((scm_assert_cell_valid ((xorig)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((xorig)))))) [(0)])))))))))) == 4)) return xorig; if (!(!(6 & ((scm_t_bits) ((((scm_assert_cell_valid ((xorig)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((xorig)))))) [(0)])))))))))) && ((1 & (scm_assert_cell_valid (((((scm_assert_cell_valid ((xorig)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((xorig)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((xorig)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((xorig)))))) [(0)]))))))))))))) [(0)])))) == 0))) { if (!((((scm_t_bits) (((((scm_assert_cell_valid ((xorig)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((xorig)))))) [(1)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) return scm_cons ((((scm_assert_cell_valid ((xorig)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((xorig)))))) [(0)]))))))), scm_m_body (op, (((scm_assert_cell_valid ((xorig)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((xorig)))))) [(1)]))))))), what)); return xorig; } return scm_cons (op, xorig); } static const char s_quote[]="quote"; SCM scm_sym_quote ; SCM scm_m_quote (SCM xorig, SCM env __attribute__ ((unused))) { if (!(scm_ilength ((((scm_assert_cell_valid ((xorig)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((xorig)))))) [(1)])))))))) == 1)) scm_misc_error (s_quote, scm_s_expression, ((SCM) (((20) << 9) + 0x174L)));; return scm_cons (((SCM) (((11) << 9) + ((11) << 3) + 4L)), (((scm_assert_cell_valid ((xorig)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((xorig)))))) [(1)])))))))); } static const char s_begin[]="begin"; SCM scm_sym_begin ; SCM scm_m_begin (SCM xorig, SCM env __attribute__ ((unused))) { if (!(scm_ilength ((((scm_assert_cell_valid ((xorig)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((xorig)))))) [(1)])))))))) >= 0)) scm_misc_error (s_begin, scm_s_expression, ((SCM) (((20) << 9) + 0x174L)));; return scm_cons (((SCM) (((1) << 9) + ((1) << 3) + 4L)), (((scm_assert_cell_valid ((xorig)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((xorig)))))) [(1)])))))))); } static const char s_if[]="if"; SCM scm_sym_if ; SCM scm_m_if (SCM xorig, SCM env __attribute__ ((unused))) { long len = scm_ilength ((((scm_assert_cell_valid ((xorig)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((xorig)))))) [(1)])))))))); if (!(len >= 2 && len <= 3)) scm_misc_error (s_if, scm_s_expression, ((SCM) (((20) << 9) + 0x174L)));; return scm_cons (((SCM) (((5) << 9) + ((5) << 3) + 4L)), (((scm_assert_cell_valid ((xorig)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((xorig)))))) [(1)])))))))); } const char scm_s_set_x[] = "set!"; SCM scm_sym_set_x ; SCM scm_m_set_x (SCM xorig, SCM env __attribute__ ((unused))) { SCM x = (((scm_assert_cell_valid ((xorig)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((xorig)))))) [(1)]))))))); if (!(scm_ilength (x) == 2)) scm_misc_error (scm_s_set_x, scm_s_expression, ((SCM) (((20) << 9) + 0x174L)));; if (!((!(6 & ((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) && ((0x7f & (scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))))))) [(0)])))) == 5)))) scm_misc_error (scm_s_set_x, scm_s_variable, ((SCM) (((20) << 9) + 0x174L)));; return scm_cons (((SCM) (((12) << 9) + ((12) << 3) + 4L)), x); } static const char s_and[]="and"; SCM scm_sym_and ; SCM scm_m_and (SCM xorig, SCM env __attribute__ ((unused))) { long len = scm_ilength ((((scm_assert_cell_valid ((xorig)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((xorig)))))) [(1)])))))))); if (!(len >= 0)) scm_misc_error (s_and, scm_s_test, ((SCM) (((20) << 9) + 0x174L)));; if (len >= 1) return scm_cons (((SCM) (((0) << 9) + ((0) << 3) + 4L)), (((scm_assert_cell_valid ((xorig)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((xorig)))))) [(1)])))))))); else return ((SCM) (((17) << 9) + 0x174L)); } static const char s_or[]="or"; SCM scm_sym_or ; SCM scm_m_or (SCM xorig, SCM env __attribute__ ((unused))) { long len = scm_ilength ((((scm_assert_cell_valid ((xorig)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((xorig)))))) [(1)])))))))); if (!(len >= 0)) scm_misc_error (s_or, scm_s_test, ((SCM) (((20) << 9) + 0x174L)));; if (len >= 1) return scm_cons (((SCM) (((10) << 9) + ((10) << 3) + 4L)), (((scm_assert_cell_valid ((xorig)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((xorig)))))) [(1)])))))))); else return ((SCM) (((16) << 9) + 0x174L)); } static const char s_case[]="case"; SCM scm_sym_case ; SCM scm_m_case (SCM xorig, SCM env __attribute__ ((unused))) { SCM clauses; SCM cdrx = (((scm_assert_cell_valid ((xorig)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((xorig)))))) [(1)]))))))); if (!(scm_ilength (cdrx) >= 2)) scm_misc_error (s_case, scm_s_clauses, ((SCM) (((20) << 9) + 0x174L)));; clauses = (((scm_assert_cell_valid ((cdrx)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((cdrx)))))) [(1)]))))))); while (!((((scm_t_bits) ((clauses))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) { SCM clause = (((scm_assert_cell_valid ((clauses)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((clauses)))))) [(0)]))))))); if (!(scm_ilength (clause) >= 2)) scm_misc_error (s_case, scm_s_clauses, ((SCM) (((20) << 9) + 0x174L)));; if (!(scm_ilength ((((scm_assert_cell_valid ((clause)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((clause)))))) [(0)])))))))) >= 0 || ((((scm_t_bits) (scm_sym_else)) == ((scm_t_bits) ((((scm_assert_cell_valid ((clause)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((clause)))))) [(0)])))))))))) && ((((scm_t_bits) (((((scm_assert_cell_valid ((clauses)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((clauses)))))) [(1)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))))) scm_misc_error (s_case, scm_s_clauses, ((SCM) (((20) << 9) + 0x174L)));; clauses = (((scm_assert_cell_valid ((clauses)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((clauses)))))) [(1)]))))))); } return scm_cons (((SCM) (((2) << 9) + ((2) << 3) + 4L)), cdrx); } static const char s_cond[]="cond"; SCM scm_sym_cond ; SCM scm_m_cond (SCM xorig, SCM env __attribute__ ((unused))) { SCM cdrx = (((scm_assert_cell_valid ((xorig)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((xorig)))))) [(1)]))))))); SCM clauses = cdrx; if (!(scm_ilength (clauses) >= 1)) scm_misc_error (s_cond, scm_s_clauses, ((SCM) (((20) << 9) + 0x174L)));; while (!((((scm_t_bits) ((clauses))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) { SCM clause = (((scm_assert_cell_valid ((clauses)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((clauses)))))) [(0)]))))))); long len = scm_ilength (clause); if (!(len >= 1)) scm_misc_error (s_cond, scm_s_clauses, ((SCM) (((20) << 9) + 0x174L)));; if ((((scm_t_bits) (scm_sym_else)) == ((scm_t_bits) ((((scm_assert_cell_valid ((clause)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((clause)))))) [(0)]))))))))))) { int last_clause_p = ((((scm_t_bits) (((((scm_assert_cell_valid ((clauses)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((clauses)))))) [(1)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L)))))); if (!(len >= 2 && last_clause_p)) scm_misc_error (s_cond, "bad ELSE clause", ((SCM) (((20) << 9) + 0x174L)));; } else if (len >= 2 && (((scm_t_bits) (scm_sym_arrow)) == ((scm_t_bits) ((((scm_assert_cell_valid (((((scm_assert_cell_valid ((clause)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((clause)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((clause)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((clause)))))) [(1)]))))))))))))) [(0)]))))))))))) { if (!(len > 2)) scm_misc_error (s_cond, "missing recipient", ((SCM) (((20) << 9) + 0x174L)));; if (!(len == 3)) scm_misc_error (s_cond, "bad recipient", ((SCM) (((20) << 9) + 0x174L)));; } clauses = (((scm_assert_cell_valid ((clauses)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((clauses)))))) [(1)]))))))); } return scm_cons (((SCM) (((3) << 9) + ((3) << 3) + 4L)), cdrx); } static const char s_lambda[]="lambda"; SCM scm_sym_lambda ; static int scm_c_improper_memq (SCM obj, SCM list) { for (; (!(6 & ((scm_t_bits) (list))) && ((1 & (scm_assert_cell_valid ((list)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((list)))))) [(0)])))) == 0)); list = (((scm_assert_cell_valid ((list)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((list)))))) [(1)])))))))) { if ((((scm_t_bits) ((((scm_assert_cell_valid ((list)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((list)))))) [(0)]))))))))) == ((scm_t_bits) (obj)))) return 1; } return (((scm_t_bits) (list)) == ((scm_t_bits) (obj))); } SCM scm_m_lambda (SCM xorig, SCM env __attribute__ ((unused))) { SCM formals; SCM x = (((scm_assert_cell_valid ((xorig)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((xorig)))))) [(1)]))))))); if (!((!(6 & ((scm_t_bits) (x))) && ((1 & (scm_assert_cell_valid ((x)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))) == 0)))) scm_misc_error (s_lambda, scm_s_formals, ((SCM) (((20) << 9) + 0x174L)));; formals = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))); while ((!(6 & ((scm_t_bits) (formals))) && ((1 & (scm_assert_cell_valid ((formals)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((formals)))))) [(0)])))) == 0))) { SCM formal = (((scm_assert_cell_valid ((formals)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((formals)))))) [(0)]))))))); if (!((!(6 & ((scm_t_bits) (formal))) && ((0x7f & (scm_assert_cell_valid ((formal)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((formal)))))) [(0)])))) == 5)))) scm_misc_error (s_lambda, scm_s_formals, ((SCM) (((20) << 9) + 0x174L)));; if (scm_c_improper_memq (formal, (((scm_assert_cell_valid ((formals)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((formals)))))) [(1)]))))))))) scm_misc_error (s_lambda, scm_s_duplicate_formals, ((SCM) (((20) << 9) + 0x174L))); formals = (((scm_assert_cell_valid ((formals)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((formals)))))) [(1)]))))))); } if (!((((scm_t_bits) ((formals))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L)))))) && !(!(6 & ((scm_t_bits) (formals))) && ((0x7f & (scm_assert_cell_valid ((formals)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((formals)))))) [(0)])))) == 5))) scm_misc_error (s_lambda, scm_s_formals, ((SCM) (((20) << 9) + 0x174L))); return scm_cons2 (((SCM) (((6) << 9) + ((6) << 3) + 4L)), (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))), scm_m_body (((SCM) (((6) << 9) + ((6) << 3) + 4L)), (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))), s_lambda)); } static const char s_letstar[]="let*"; SCM scm_sym_letstar ; SCM scm_m_letstar (SCM xorig, SCM env __attribute__ ((unused))) { SCM bindings; SCM x = (((scm_assert_cell_valid ((xorig)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((xorig)))))) [(1)]))))))); SCM vars = ((SCM) (((20) << 9) + 0x174L)); SCM *varloc = &vars; if (!((!(6 & ((scm_t_bits) (x))) && ((1 & (scm_assert_cell_valid ((x)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))) == 0)))) scm_misc_error (s_letstar, scm_s_bindings, ((SCM) (((20) << 9) + 0x174L)));; bindings = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))); if (!(scm_ilength (bindings) >= 0)) scm_misc_error (s_letstar, scm_s_bindings, ((SCM) (((20) << 9) + 0x174L)));; while (!((((scm_t_bits) ((bindings))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) { SCM binding = (((scm_assert_cell_valid ((bindings)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((bindings)))))) [(0)]))))))); if (!(scm_ilength (binding) == 2)) scm_misc_error (s_letstar, scm_s_bindings, ((SCM) (((20) << 9) + 0x174L)));; if (!((!(6 & ((scm_t_bits) ((((scm_assert_cell_valid ((binding)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((binding)))))) [(0)])))))))))) && ((0x7f & (scm_assert_cell_valid (((((scm_assert_cell_valid ((binding)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((binding)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((binding)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((binding)))))) [(0)]))))))))))))) [(0)])))) == 5)))) scm_misc_error (s_letstar, scm_s_variable, ((SCM) (((20) << 9) + 0x174L)));; *varloc = scm_list_2 ((((scm_assert_cell_valid ((binding)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((binding)))))) [(0)]))))))), (((scm_assert_cell_valid (((((scm_assert_cell_valid ((binding)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((binding)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((binding)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((binding)))))) [(1)]))))))))))))) [(0)])))))))); varloc = ((SCM *) ((scm_t_bits *) & (scm_assert_cell_valid ((((((scm_assert_cell_valid ((*varloc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((*varloc)))))) [(1)])))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((((((scm_assert_cell_valid ((*varloc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((*varloc)))))) [(1)])))))))))))))) [(1)]))))); bindings = (((scm_assert_cell_valid ((bindings)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((bindings)))))) [(1)]))))))); } return scm_cons2 (((SCM) (((8) << 9) + ((8) << 3) + 4L)), vars, scm_m_body (((SCM) (((8) << 9) + ((8) << 3) + 4L)), (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))), s_letstar)); } # 708 "eval.c" static const char s_do[]="do"; SCM scm_sym_do ; SCM scm_m_do (SCM xorig, SCM env __attribute__ ((unused))) { SCM bindings; SCM x = (((scm_assert_cell_valid ((xorig)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((xorig)))))) [(1)]))))))); SCM vars = ((SCM) (((20) << 9) + 0x174L)); SCM inits = ((SCM) (((20) << 9) + 0x174L)); SCM *initloc = &inits; SCM steps = ((SCM) (((20) << 9) + 0x174L)); SCM *steploc = &steps; if (!(scm_ilength (x) >= 2)) scm_misc_error ("do", scm_s_test, ((SCM) (((20) << 9) + 0x174L)));; bindings = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))); if (!(scm_ilength (bindings) >= 0)) scm_misc_error ("do", scm_s_bindings, ((SCM) (((20) << 9) + 0x174L)));; while (!((((scm_t_bits) ((bindings))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) { SCM binding = (((scm_assert_cell_valid ((bindings)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((bindings)))))) [(0)]))))))); long len = scm_ilength (binding); if (!(len == 2 || len == 3)) scm_misc_error ("do", scm_s_bindings, ((SCM) (((20) << 9) + 0x174L)));; { SCM name = (((scm_assert_cell_valid ((binding)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((binding)))))) [(0)]))))))); SCM init = (((scm_assert_cell_valid (((((scm_assert_cell_valid ((binding)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((binding)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((binding)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((binding)))))) [(1)]))))))))))))) [(0)]))))))); SCM step = (len == 2) ? name : (((scm_assert_cell_valid (((((scm_assert_cell_valid (((((scm_assert_cell_valid ((binding)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((binding)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((binding)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((binding)))))) [(1)]))))))))))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid (((((scm_assert_cell_valid ((binding)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((binding)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((binding)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((binding)))))) [(1)]))))))))))))) [(1)]))))))))))))) [(0)]))))))); if (!((!(6 & ((scm_t_bits) (name))) && ((0x7f & (scm_assert_cell_valid ((name)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((name)))))) [(0)])))) == 5)))) scm_misc_error ("do", scm_s_variable, ((SCM) (((20) << 9) + 0x174L)));; vars = scm_cons (name, vars); *initloc = scm_list_1 (init); initloc = ((SCM *) ((scm_t_bits *) & (scm_assert_cell_valid (((*initloc))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((*initloc))))))) [(1)]))))); *steploc = scm_list_1 (step); steploc = ((SCM *) ((scm_t_bits *) & (scm_assert_cell_valid (((*steploc))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((*steploc))))))) [(1)]))))); bindings = (((scm_assert_cell_valid ((bindings)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((bindings)))))) [(1)]))))))); } } x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); if (!(scm_ilength ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))) >= 1)) scm_misc_error ("do", scm_s_test, ((SCM) (((20) << 9) + 0x174L)));; x = scm_cons2 ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))), (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))), steps); x = scm_cons2 (vars, inits, x); return scm_cons (((SCM) (((4) << 9) + ((4) << 3) + 4L)), x); } static const char s_quasiquote[]="quasiquote"; SCM scm_sym_quasiquote ; static SCM iqq (SCM form, SCM env, unsigned long int depth) { if ((!(6 & ((scm_t_bits) (form))) && ((1 & (scm_assert_cell_valid ((form)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((form)))))) [(0)])))) == 0))) { SCM tmp = (((scm_assert_cell_valid ((form)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((form)))))) [(0)]))))))); if ((((scm_t_bits) (tmp)) == ((scm_t_bits) (scm_sym_quasiquote)))) { SCM args = (((scm_assert_cell_valid ((form)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((form)))))) [(1)]))))))); if (!(scm_ilength (args) == 1)) scm_misc_error (s_quasiquote, scm_s_expression, ((SCM) (((20) << 9) + 0x174L)));; return scm_list_2 (tmp, iqq ((((scm_assert_cell_valid ((args)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((args)))))) [(0)]))))))), env, depth + 1)); } else if ((((scm_t_bits) (tmp)) == ((scm_t_bits) (scm_sym_unquote)))) { SCM args = (((scm_assert_cell_valid ((form)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((form)))))) [(1)]))))))); if (!(scm_ilength (args) == 1)) scm_misc_error (s_quasiquote, scm_s_expression, ((SCM) (((20) << 9) + 0x174L)));; if (depth - 1 == 0) return scm_eval_car (args, env); else return scm_list_2 (tmp, iqq ((((scm_assert_cell_valid ((args)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((args)))))) [(0)]))))))), env, depth - 1)); } else if ((!(6 & ((scm_t_bits) (tmp))) && ((1 & (scm_assert_cell_valid ((tmp)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((tmp)))))) [(0)])))) == 0)) && (((scm_t_bits) ((((scm_assert_cell_valid ((tmp)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((tmp)))))) [(0)]))))))))) == ((scm_t_bits) (scm_sym_uq_splicing)))) { SCM args = (((scm_assert_cell_valid ((tmp)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((tmp)))))) [(1)]))))))); if (!(scm_ilength (args) == 1)) scm_misc_error (s_quasiquote, scm_s_expression, ((SCM) (((20) << 9) + 0x174L)));; if (depth - 1 == 0) { SCM list = scm_eval_car (args, env); SCM rest = (((scm_assert_cell_valid ((form)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((form)))))) [(1)]))))))); if (!(scm_ilength (list) >= 0)) scm_misc_error (s_quasiquote, s_splicing, ((SCM) (((20) << 9) + 0x174L)));; return scm_append (scm_list_2 (list, iqq (rest, env, depth))); } else return scm_cons (iqq ((((scm_assert_cell_valid ((form)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((form)))))) [(0)]))))))), env, depth - 1), iqq ((((scm_assert_cell_valid ((form)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((form)))))) [(1)]))))))), env, depth)); } else return scm_cons (iqq ((((scm_assert_cell_valid ((form)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((form)))))) [(0)]))))))), env, depth), iqq ((((scm_assert_cell_valid ((form)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((form)))))) [(1)]))))))), env, depth)); } else if ((!(6 & ((scm_t_bits) (form))) && (((0x7f & ~2) & (scm_assert_cell_valid ((form)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((form)))))) [(0)])))) == 13))) { size_t i = (((unsigned long) (scm_assert_cell_valid ((form)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((form)))))) [(0)])))) >> 8); SCM const *data = ((const SCM *) (scm_assert_cell_valid ((form)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((form)))))) [(1)])))); SCM tmp = ((SCM) (((20) << 9) + 0x174L)); while (i != 0) tmp = scm_cons (data[--i], tmp); scm_remember_upto_here_1 (form); return scm_vector (iqq (tmp, env, depth)); } else return form; } SCM scm_m_quasiquote (SCM xorig, SCM env) { SCM x = (((scm_assert_cell_valid ((xorig)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((xorig)))))) [(1)]))))))); if (!(scm_ilength (x) == 1)) scm_misc_error (s_quasiquote, scm_s_expression, ((SCM) (((20) << 9) + 0x174L)));; return iqq ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))), env, 1); } static const char s_delay[]="delay"; SCM scm_sym_delay ; SCM scm_m_delay (SCM xorig, SCM env __attribute__ ((unused))) { if (!(scm_ilength (xorig) == 2)) scm_misc_error (s_delay, scm_s_expression, ((SCM) (((20) << 9) + 0x174L)));; return scm_cons2 (((SCM) (((27) << 9) + 0x74L)), ((SCM) (((20) << 9) + 0x174L)), (((scm_assert_cell_valid ((xorig)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((xorig)))))) [(1)])))))))); } static const char s_define[]="define"; SCM scm_sym_define ; # 858 "eval.c" SCM scm_m_define (SCM x, SCM env) { SCM name; x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); if (!(scm_ilength (x) >= 2)) scm_misc_error (s_define, scm_s_expression, ((SCM) (((20) << 9) + 0x174L)));; name = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))); x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); while ((!(6 & ((scm_t_bits) (name))) && ((1 & (scm_assert_cell_valid ((name)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((name)))))) [(0)])))) == 0))) { SCM formals = (((scm_assert_cell_valid ((name)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((name)))))) [(1)]))))))); x = scm_list_1 (scm_cons2 (scm_sym_lambda, formals, x)); name = (((scm_assert_cell_valid ((name)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((name)))))) [(0)]))))))); } if (!((!(6 & ((scm_t_bits) (name))) && ((0x7f & (scm_assert_cell_valid ((name)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((name)))))) [(0)])))) == 5)))) scm_misc_error (s_define, scm_s_variable, ((SCM) (((20) << 9) + 0x174L)));; if (!(scm_ilength (x) == 1)) scm_misc_error (s_define, scm_s_expression, ((SCM) (((20) << 9) + 0x174L)));; if ((((((scm_t_bits) ((env))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L)))))) || ((((scm_t_bits) (scm_procedure_p ((((scm_assert_cell_valid ((env)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((env)))))) [(0)])))))))))) == ((scm_t_bits) (((SCM) (((17) << 9) + 0x174L)))))))) { SCM var; x = scm_eval_car (x, env); if (scm_debug_opts[3].val) { SCM tmp = x; while ((!(6 & ((scm_t_bits) ((tmp)))) && (0xffff & (scm_assert_cell_valid (((tmp))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((tmp))))))) [(0)])))) == (scm_tc16_macro))) tmp = (scm_assert_cell_valid ((tmp)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((tmp)))))) [(1)]))))); if ((!(6 & ((scm_t_bits) (tmp))) && ((7 & (scm_assert_cell_valid ((tmp)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((tmp)))))) [(0)])))) == 3)) && ((((scm_t_bits) ((scm_procedure_property (tmp, scm_sym_name)))) == ((scm_t_bits) (((SCM) (((16) << 9) + 0x174L))))))) scm_set_procedure_property_x (tmp, scm_sym_name, name); } var = scm_sym2var (name, scm_env_top_level (env), ((SCM) (((17) << 9) + 0x174L))); (scm_assert_cell_valid ((var)), ((((scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((var)))))) [(1)] = ((scm_t_bits) ((x)))))); return ((SCM) (((21) << 9) + 0x174L)); } else return scm_cons2 (((SCM) (((13) << 9) + ((13) << 3) + 4L)), name, x); } static void transform_bindings (SCM bindings, SCM *rvarloc, SCM *initloc, const char *what) { SCM rvars = ((SCM) (((20) << 9) + 0x174L)); *rvarloc = ((SCM) (((20) << 9) + 0x174L)); *initloc = ((SCM) (((20) << 9) + 0x174L)); if (!(scm_ilength (bindings) >= 1)) scm_misc_error (what, scm_s_bindings, ((SCM) (((20) << 9) + 0x174L)));; do { SCM binding = (((scm_assert_cell_valid ((bindings)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((bindings)))))) [(0)]))))))); if (!(scm_ilength (binding) == 2)) scm_misc_error (what, scm_s_bindings, ((SCM) (((20) << 9) + 0x174L)));; if (!((!(6 & ((scm_t_bits) ((((scm_assert_cell_valid ((binding)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((binding)))))) [(0)])))))))))) && ((0x7f & (scm_assert_cell_valid (((((scm_assert_cell_valid ((binding)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((binding)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((binding)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((binding)))))) [(0)]))))))))))))) [(0)])))) == 5)))) scm_misc_error (what, scm_s_variable, ((SCM) (((20) << 9) + 0x174L)));; if (scm_c_improper_memq ((((scm_assert_cell_valid ((binding)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((binding)))))) [(0)]))))))), rvars)) scm_misc_error (what, scm_s_duplicate_bindings, ((SCM) (((20) << 9) + 0x174L))); rvars = scm_cons ((((scm_assert_cell_valid ((binding)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((binding)))))) [(0)]))))))), rvars); *initloc = scm_list_1 ((((scm_assert_cell_valid (((((scm_assert_cell_valid ((binding)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((binding)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((binding)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((binding)))))) [(1)]))))))))))))) [(0)])))))))); initloc = ((SCM *) ((scm_t_bits *) & (scm_assert_cell_valid (((*initloc))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((*initloc))))))) [(1)]))))); bindings = (((scm_assert_cell_valid ((bindings)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((bindings)))))) [(1)]))))))); } while (!((((scm_t_bits) ((bindings))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))); *rvarloc = rvars; } static const char s_letrec[]="letrec"; SCM scm_sym_letrec ; SCM scm_m_letrec (SCM xorig, SCM env) { SCM x = (((scm_assert_cell_valid ((xorig)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((xorig)))))) [(1)]))))))); if (!((!(6 & ((scm_t_bits) (x))) && ((1 & (scm_assert_cell_valid ((x)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))) == 0)))) scm_misc_error (s_letrec, scm_s_bindings, ((SCM) (((20) << 9) + 0x174L)));; if (((((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) { SCM body = scm_m_body (((SCM) (((9) << 9) + ((9) << 3) + 4L)), (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))), s_letrec); return scm_m_letstar (scm_cons2 ((((scm_assert_cell_valid ((xorig)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((xorig)))))) [(0)]))))))), ((SCM) (((20) << 9) + 0x174L)), body), env); } else { SCM rvars, inits, body; transform_bindings ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))), &rvars, &inits, "letrec"); body = scm_m_body (((SCM) (((9) << 9) + ((9) << 3) + 4L)), (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))), "letrec"); return scm_cons2 (((SCM) (((9) << 9) + ((9) << 3) + 4L)), rvars, scm_cons (inits, body)); } } static const char s_let[]="let"; SCM scm_sym_let ; SCM scm_m_let (SCM xorig, SCM env) { SCM x = (((scm_assert_cell_valid ((xorig)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((xorig)))))) [(1)]))))))); SCM temp; if (!((!(6 & ((scm_t_bits) (x))) && ((1 & (scm_assert_cell_valid ((x)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))) == 0)))) scm_misc_error (s_let, scm_s_bindings, ((SCM) (((20) << 9) + 0x174L)));; temp = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))); if (((((scm_t_bits) ((temp))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L)))))) || (scm_ilength (temp) == 1 && (!(6 & ((scm_t_bits) ((((scm_assert_cell_valid ((temp)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((temp)))))) [(0)])))))))))) && ((1 & (scm_assert_cell_valid (((((scm_assert_cell_valid ((temp)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((temp)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((temp)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((temp)))))) [(0)]))))))))))))) [(0)])))) == 0)))) { SCM bindings = temp; SCM body = scm_m_body (((SCM) (((7) << 9) + ((7) << 3) + 4L)), (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))), s_let); return scm_m_letstar (scm_cons2 ((((scm_assert_cell_valid ((xorig)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((xorig)))))) [(0)]))))))), bindings, body), env); } else if ((!(6 & ((scm_t_bits) (temp))) && ((1 & (scm_assert_cell_valid ((temp)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((temp)))))) [(0)])))) == 0))) { SCM bindings = temp; SCM rvars, inits, body; transform_bindings (bindings, &rvars, &inits, "let"); body = scm_m_body (((SCM) (((7) << 9) + ((7) << 3) + 4L)), (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))), "let"); return scm_cons2 (((SCM) (((7) << 9) + ((7) << 3) + 4L)), rvars, scm_cons (inits, body)); } else { SCM name = temp; SCM vars = ((SCM) (((20) << 9) + 0x174L)); SCM *varloc = &vars; SCM inits = ((SCM) (((20) << 9) + 0x174L)); SCM *initloc = &inits; SCM bindings; if (!((!(6 & ((scm_t_bits) (name))) && ((0x7f & (scm_assert_cell_valid ((name)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((name)))))) [(0)])))) == 5)))) scm_misc_error (s_let, scm_s_bindings, ((SCM) (((20) << 9) + 0x174L)));; x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); if (!((!(6 & ((scm_t_bits) (x))) && ((1 & (scm_assert_cell_valid ((x)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))) == 0)))) scm_misc_error (s_let, scm_s_bindings, ((SCM) (((20) << 9) + 0x174L)));; bindings = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))); if (!(scm_ilength (bindings) >= 0)) scm_misc_error (s_let, scm_s_bindings, ((SCM) (((20) << 9) + 0x174L)));; while (!((((scm_t_bits) ((bindings))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) { SCM binding = (((scm_assert_cell_valid ((bindings)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((bindings)))))) [(0)]))))))); if (!(scm_ilength (binding) == 2)) scm_misc_error (s_let, scm_s_bindings, ((SCM) (((20) << 9) + 0x174L)));; if (!((!(6 & ((scm_t_bits) ((((scm_assert_cell_valid ((binding)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((binding)))))) [(0)])))))))))) && ((0x7f & (scm_assert_cell_valid (((((scm_assert_cell_valid ((binding)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((binding)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((binding)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((binding)))))) [(0)]))))))))))))) [(0)])))) == 5)))) scm_misc_error (s_let, scm_s_variable, ((SCM) (((20) << 9) + 0x174L)));; *varloc = scm_list_1 ((((scm_assert_cell_valid ((binding)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((binding)))))) [(0)])))))))); varloc = ((SCM *) ((scm_t_bits *) & (scm_assert_cell_valid (((*varloc))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((*varloc))))))) [(1)]))))); *initloc = scm_list_1 ((((scm_assert_cell_valid (((((scm_assert_cell_valid ((binding)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((binding)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((binding)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((binding)))))) [(1)]))))))))))))) [(0)])))))))); initloc = ((SCM *) ((scm_t_bits *) & (scm_assert_cell_valid (((*initloc))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((*initloc))))))) [(1)]))))); bindings = (((scm_assert_cell_valid ((bindings)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((bindings)))))) [(1)]))))))); } { SCM lambda_body = scm_m_body (((SCM) (((7) << 9) + ((7) << 3) + 4L)), (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))), "let"); SCM lambda_form = scm_cons2 (scm_sym_lambda, vars, lambda_body); SCM rvar = scm_list_1 (name); SCM init = scm_list_1 (lambda_form); SCM body = scm_m_body (((SCM) (((7) << 9) + ((7) << 3) + 4L)), scm_list_1 (name), "let"); SCM letrec = scm_cons2 (((SCM) (((9) << 9) + ((9) << 3) + 4L)), rvar, scm_cons (init, body)); return scm_cons (letrec, inits); } } } static const char s_atapply[]="@apply"; SCM scm_sym_atapply ; SCM scm_sym_apply ; SCM scm_m_apply (SCM xorig, SCM env __attribute__ ((unused))) { if (!(scm_ilength ((((scm_assert_cell_valid ((xorig)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((xorig)))))) [(1)])))))))) == 2)) scm_misc_error (s_atapply, scm_s_expression, ((SCM) (((20) << 9) + 0x174L)));; return scm_cons (((SCM) (((14) << 9) + 0x74L)), (((scm_assert_cell_valid ((xorig)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((xorig)))))) [(1)])))))))); } static const char s_atcall_cc[]="@call-with-current-continuation"; SCM scm_sym_atcall_cc ; SCM scm_m_cont (SCM xorig, SCM env __attribute__ ((unused))) { if (!(scm_ilength ((((scm_assert_cell_valid ((xorig)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((xorig)))))) [(1)])))))))) == 1)) scm_misc_error (s_atcall_cc, scm_s_expression, ((SCM) (((20) << 9) + 0x174L)));; return scm_cons (((SCM) (((15) << 9) + 0x74L)), (((scm_assert_cell_valid ((xorig)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((xorig)))))) [(1)])))))))); } static const char s_nil_cond[]="nil-cond"; SCM scm_m_nil_cond (SCM xorig, SCM env __attribute__ ((unused))) { long len = scm_ilength ((((scm_assert_cell_valid ((xorig)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((xorig)))))) [(1)])))))))); if (!(len >= 1 && (len & 1) == 1)) scm_misc_error ("nil-cond", scm_s_expression, ((SCM) (((20) << 9) + 0x174L)));; return scm_cons (((SCM) (((25) << 9) + 0x74L)), (((scm_assert_cell_valid ((xorig)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((xorig)))))) [(1)])))))))); } static const char s_atfop[]="@fop"; SCM scm_m_atfop (SCM xorig, SCM env __attribute__ ((unused))) { SCM x = (((scm_assert_cell_valid ((xorig)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((xorig)))))) [(1)]))))))), var; if (!(scm_ilength (x) >= 1)) scm_misc_error ("@fop", scm_s_expression, ((SCM) (((20) << 9) + 0x174L)));; var = scm_symbol_fref ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))); if (!((!(6 & ((scm_t_bits) (var))) && (0x7f & (scm_assert_cell_valid ((var)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((var)))))) [(0)])))) == 7))) scm_misc_error (((char *) ((scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))))))) [(1)]))))), "Symbol's function definition is void", ((SCM) (((20) << 9) + 0x174L)));; while ((!(6 & ((scm_t_bits) ((scm_assert_cell_valid ((var)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((var)))))) [(1)])))))))) && ((0x7f & (scm_assert_cell_valid (((scm_assert_cell_valid ((var)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((var)))))) [(1)]))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((scm_assert_cell_valid ((var)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((var)))))) [(1)]))))))))))) [(0)])))) == 5))) { var = scm_symbol_fref ((scm_assert_cell_valid ((var)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((var)))))) [(1)])))))); if (!((!(6 & ((scm_t_bits) (var))) && (0x7f & (scm_assert_cell_valid ((var)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((var)))))) [(0)])))) == 7))) scm_misc_error (((char *) ((scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))))))) [(1)]))))), "Symbol's function definition is void", ((SCM) (((20) << 9) + 0x174L)));; } (((scm_assert_cell_valid (((x))), ((((scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((x))))))) [(0)] = ((scm_t_bits) (((var))))))))); if (!(!(6 & ((scm_t_bits) (((scm_assert_cell_valid ((var)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((var)))))) [(1)]))))))))) && (0xffff & (scm_assert_cell_valid ((((scm_assert_cell_valid ((var)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((var)))))) [(1)])))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((((scm_assert_cell_valid ((var)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((var)))))) [(1)])))))))))))) [(0)])))) == (scm_tc16_macro))) { (((scm_assert_cell_valid (((xorig))), ((((scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((xorig))))))) [(0)] = ((scm_t_bits) (((((SCM) (((14) << 9) + 0x74L))))))))))); return xorig; } (((scm_assert_cell_valid (((x))), ((((scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((x))))))) [(1)] = ((scm_t_bits) ((((((scm_assert_cell_valid (((((scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))))))) [(0)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))))))) [(0)]))))))))))))) [(1)])))))))))))))))); return x; } # 1123 "eval.c" static const char s_atbind[]="@bind"; SCM scm_m_atbind (SCM xorig, SCM env) { SCM x = (((scm_assert_cell_valid ((xorig)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((xorig)))))) [(1)]))))))); SCM top_level = scm_env_top_level (env); SCM vars = ((SCM) (((20) << 9) + 0x174L)), var; SCM exps = ((SCM) (((20) << 9) + 0x174L)); if (!(scm_ilength (x) > 1)) scm_misc_error (s_atbind, scm_s_expression, ((SCM) (((20) << 9) + 0x174L)));; x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))); while ((!(6 & ((scm_t_bits) (x))))) { SCM rest; SCM sym_exp = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))); if (!(scm_ilength (sym_exp) == 2)) scm_misc_error (s_atbind, scm_s_bindings, ((SCM) (((20) << 9) + 0x174L)));; if (!((!(6 & ((scm_t_bits) ((((scm_assert_cell_valid ((sym_exp)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((sym_exp)))))) [(0)])))))))))) && ((0x7f & (scm_assert_cell_valid (((((scm_assert_cell_valid ((sym_exp)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((sym_exp)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((sym_exp)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((sym_exp)))))) [(0)]))))))))))))) [(0)])))) == 5)))) scm_misc_error (s_atbind, scm_s_bindings, ((SCM) (((20) << 9) + 0x174L)));; x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); for (rest = x; (!(6 & ((scm_t_bits) (rest)))); rest = (((scm_assert_cell_valid ((rest)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((rest)))))) [(1)])))))))) if ((((scm_t_bits) ((((scm_assert_cell_valid ((sym_exp)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((sym_exp)))))) [(0)]))))))))) == ((scm_t_bits) ((((scm_assert_cell_valid (((((scm_assert_cell_valid ((rest)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((rest)))))) [(0)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((rest)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((rest)))))) [(0)]))))))))))))) [(0)]))))))))))) scm_misc_error (s_atbind, scm_s_duplicate_bindings, ((SCM) (((20) << 9) + 0x174L))); var = scm_sym2var ((((scm_assert_cell_valid ((sym_exp)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((sym_exp)))))) [(0)]))))))), top_level, ((SCM) (((16) << 9) + 0x174L))); if (((((scm_t_bits) ((var))) == ((scm_t_bits) (((SCM) (((16) << 9) + 0x174L))))))) var = scm_sym2var ((((scm_assert_cell_valid ((sym_exp)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((sym_exp)))))) [(0)]))))))), top_level, ((SCM) (((17) << 9) + 0x174L))); vars = scm_cons (var, vars); exps = scm_cons ((((scm_assert_cell_valid (((((scm_assert_cell_valid ((sym_exp)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((sym_exp)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((sym_exp)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((sym_exp)))))) [(1)]))))))))))))) [(0)]))))))), exps); } return scm_cons (((SCM) (((26) << 9) + 0x74L)), scm_cons (scm_cons (scm_reverse_x (vars, ((SCM) (((20) << 9) + 0x174L))), exps), (((scm_assert_cell_valid (((((scm_assert_cell_valid ((xorig)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((xorig)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((xorig)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((xorig)))))) [(1)]))))))))))))) [(1)]))))))))); } static const char s_at_call_with_values[]="@call-with-values"; SCM scm_sym_at_call_with_values ; SCM scm_m_at_call_with_values (SCM xorig, SCM env __attribute__ ((unused))) { if (!(scm_ilength ((((scm_assert_cell_valid ((xorig)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((xorig)))))) [(1)])))))))) == 2)) scm_misc_error (s_at_call_with_values, scm_s_expression, ((SCM) (((20) << 9) + 0x174L)));; return scm_cons (((SCM) (((28) << 9) + 0x74L)), (((scm_assert_cell_valid ((xorig)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((xorig)))))) [(1)])))))))); } SCM scm_m_expand_body (SCM xorig, SCM env) { SCM x = (((scm_assert_cell_valid ((xorig)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((xorig)))))) [(1)]))))))), defs = ((SCM) (((20) << 9) + 0x174L)); char *what = (scm_isymnames[(((scm_t_bits) ((((scm_assert_cell_valid ((xorig)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((xorig)))))) [(0)]))))))))) >> 9)]) + 2; while ((!(6 & ((scm_t_bits) (x))))) { SCM form = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))); if (!(!(6 & ((scm_t_bits) (form))) && ((1 & (scm_assert_cell_valid ((form)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((form)))))) [(0)])))) == 0))) break; if (!(!(6 & ((scm_t_bits) ((((scm_assert_cell_valid ((form)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((form)))))) [(0)])))))))))) && ((0x7f & (scm_assert_cell_valid (((((scm_assert_cell_valid ((form)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((form)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((form)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((form)))))) [(0)]))))))))))))) [(0)])))) == 5))) break; form = scm_macroexp (scm_cons_source (form, (((scm_assert_cell_valid ((form)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((form)))))) [(0)]))))))), (((scm_assert_cell_valid ((form)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((form)))))) [(1)])))))))), env); if ((((scm_t_bits) (((SCM) (((13) << 9) + ((13) << 3) + 4L)))) == ((scm_t_bits) ((((scm_assert_cell_valid ((form)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((form)))))) [(0)]))))))))))) { defs = scm_cons ((((scm_assert_cell_valid ((form)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((form)))))) [(1)]))))))), defs); x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); } else if (!(6 & ((scm_t_bits) (defs)))) { break; } else if ((((scm_t_bits) (((SCM) (((1) << 9) + ((1) << 3) + 4L)))) == ((scm_t_bits) ((((scm_assert_cell_valid ((form)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((form)))))) [(0)]))))))))))) { x = scm_append (scm_list_2 ((((scm_assert_cell_valid ((form)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((form)))))) [(1)]))))))), (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))); } else { x = scm_cons (form, (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)])))))))); break; } } if (!((((scm_t_bits) ((defs))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) { SCM rvars, inits, body, letrec; transform_bindings (defs, &rvars, &inits, what); body = scm_m_body (((SCM) (((13) << 9) + ((13) << 3) + 4L)), x, what); letrec = scm_cons2 (((SCM) (((9) << 9) + ((9) << 3) + 4L)), rvars, scm_cons (inits, body)); (((scm_assert_cell_valid (((xorig))), ((((scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((xorig))))))) [(0)] = ((scm_t_bits) (((letrec))))))))); (((scm_assert_cell_valid (((xorig))), ((((scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((xorig))))))) [(1)] = ((scm_t_bits) (((((SCM) (((20) << 9) + 0x174L))))))))))); } else { if (!((!(6 & ((scm_t_bits) (x))) && ((1 & (scm_assert_cell_valid ((x)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))) == 0)))) scm_misc_error (what, scm_s_body, ((SCM) (((20) << 9) + 0x174L)));; (((scm_assert_cell_valid (((xorig))), ((((scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((xorig))))))) [(0)] = ((scm_t_bits) ((((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))))))))); (((scm_assert_cell_valid (((xorig))), ((((scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((xorig))))))) [(1)] = ((scm_t_bits) ((((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)])))))))))))))))); } return xorig; } SCM scm_macroexp (SCM x, SCM env) { SCM res, proc, orig_sym; macro_tail: orig_sym = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))); if (!(!(6 & ((scm_t_bits) (orig_sym))) && ((0x7f & (scm_assert_cell_valid ((orig_sym)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((orig_sym)))))) [(0)])))) == 5))) return x; # 1252 "eval.c" proc = *scm_lookupcar (x, env, 0); if (!(!(6 & ((scm_t_bits) ((proc)))) && (0xffff & (scm_assert_cell_valid (((proc))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((proc))))))) [(0)])))) == (scm_tc16_macro)) || ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) >> 16) != 2) return x; (((scm_assert_cell_valid (((x))), ((((scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((x))))))) [(0)] = ((scm_t_bits) (((orig_sym))))))))); res = scm_call_2 ((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)]))))), x, env); if (scm_ilength (res) <= 0) res = scm_list_2 (((SCM) (((1) << 9) + ((1) << 3) + 4L)), res); do { asm (""); ; ; asm (""); scm_ints_disabled = 1; asm (""); } while (0); (((scm_assert_cell_valid (((x))), ((((scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((x))))))) [(0)] = ((scm_t_bits) ((((((scm_assert_cell_valid ((res)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((res)))))) [(0)])))))))))))))))); (((scm_assert_cell_valid (((x))), ((((scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((x))))))) [(1)] = ((scm_t_bits) ((((((scm_assert_cell_valid ((res)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((res)))))) [(1)])))))))))))))))); do { asm (""); ; ; asm (""); scm_ints_disabled = 0; asm (""); ; asm (""); } while (0); goto macro_tail; } # 1292 "eval.c" static SCM build_binding_list (SCM names, SCM inits) { SCM bindings = ((SCM) (((20) << 9) + 0x174L)); while (!((((scm_t_bits) ((names))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) { SCM binding = scm_list_2 ((((scm_assert_cell_valid ((names)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((names)))))) [(0)]))))))), (((scm_assert_cell_valid ((inits)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((inits)))))) [(0)])))))))); bindings = scm_cons (binding, bindings); names = (((scm_assert_cell_valid ((names)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((names)))))) [(1)]))))))); inits = (((scm_assert_cell_valid ((inits)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((inits)))))) [(1)]))))))); } return bindings; } static SCM unmemocopy (SCM x, SCM env) { SCM ls, z; SCM p; if (!(!(6 & ((scm_t_bits) (x))) && ((1 & (scm_assert_cell_valid ((x)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))) == 0))) return x; p = scm_hash_fn_ref (scm_sys_protects[13], x, ((SCM) (((16) << 9) + 0x174L)), scm_ihashq, scm_sloppy_assq, 0); switch ((127 & ((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))))) { case (127 & ((scm_t_bits) (((SCM) (((0) << 9) + ((0) << 3) + 4L))))): ls = z = scm_cons (scm_sym_and, ((SCM) (((21) << 9) + 0x174L))); break; case (127 & ((scm_t_bits) (((SCM) (((1) << 9) + ((1) << 3) + 4L))))): ls = z = scm_cons (scm_sym_begin, ((SCM) (((21) << 9) + 0x174L))); break; case (127 & ((scm_t_bits) (((SCM) (((2) << 9) + ((2) << 3) + 4L))))): ls = z = scm_cons (scm_sym_case, ((SCM) (((21) << 9) + 0x174L))); break; case (127 & ((scm_t_bits) (((SCM) (((3) << 9) + ((3) << 3) + 4L))))): ls = z = scm_cons (scm_sym_cond, ((SCM) (((21) << 9) + 0x174L))); break; case (127 & ((scm_t_bits) (((SCM) (((4) << 9) + ((4) << 3) + 4L))))): { SCM names, inits, test, memoized_body, steps, bindings; x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); names = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))); x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); inits = scm_reverse (unmemocopy ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))), env)); env = scm_acons (names, ((SCM) (((20) << 9) + 0x174L)), env); x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); test = unmemocopy ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))), env); x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); memoized_body = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))); x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); steps = scm_reverse (unmemocopy (x, env)); bindings = ((SCM) (((20) << 9) + 0x174L)); while (!((((scm_t_bits) ((names))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) { SCM name = (((scm_assert_cell_valid ((names)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((names)))))) [(0)]))))))); SCM init = (((scm_assert_cell_valid ((inits)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((inits)))))) [(0)]))))))); SCM step = (((scm_assert_cell_valid ((steps)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((steps)))))) [(0)]))))))); step = (((scm_t_bits) (step)) == ((scm_t_bits) (name))) ? ((SCM) (((20) << 9) + 0x174L)) : scm_list_1 (step); bindings = scm_cons (scm_cons2 (name, init, step), bindings); names = (((scm_assert_cell_valid ((names)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((names)))))) [(1)]))))))); inits = (((scm_assert_cell_valid ((inits)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((inits)))))) [(1)]))))))); steps = (((scm_assert_cell_valid ((steps)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((steps)))))) [(1)]))))))); } z = scm_cons (test, ((SCM) (((21) << 9) + 0x174L))); ls = scm_cons2 (scm_sym_do, bindings, z); x = scm_cons (((SCM) (((16) << 9) + 0x174L)), memoized_body); break; } case (127 & ((scm_t_bits) (((SCM) (((5) << 9) + ((5) << 3) + 4L))))): ls = z = scm_cons (scm_sym_if, ((SCM) (((21) << 9) + 0x174L))); break; case (127 & ((scm_t_bits) (((SCM) (((7) << 9) + ((7) << 3) + 4L))))): { SCM names, inits, bindings; x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); names = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))); x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); inits = scm_reverse (unmemocopy ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))), env)); env = scm_acons (names, ((SCM) (((20) << 9) + 0x174L)), env); bindings = build_binding_list (names, inits); z = scm_cons (bindings, ((SCM) (((21) << 9) + 0x174L))); ls = scm_cons (scm_sym_let, z); break; } case (127 & ((scm_t_bits) (((SCM) (((9) << 9) + ((9) << 3) + 4L))))): { SCM names, inits, bindings; x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); names = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))); env = scm_acons (names, ((SCM) (((20) << 9) + 0x174L)), env); x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); inits = scm_reverse (unmemocopy ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))), env)); bindings = build_binding_list (names, inits); z = scm_cons (bindings, ((SCM) (((21) << 9) + 0x174L))); ls = scm_cons (scm_sym_letrec, z); break; } case (127 & ((scm_t_bits) (((SCM) (((8) << 9) + ((8) << 3) + 4L))))): { SCM b, y; x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); b = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))); y = ((SCM) (((20) << 9) + 0x174L)); if (6 & ((scm_t_bits) (b))) { env = scm_acons (((SCM) (((20) << 9) + 0x174L)), ((SCM) (((20) << 9) + 0x174L)), env); goto letstar; } y = z = scm_acons ((((scm_assert_cell_valid ((b)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((b)))))) [(0)]))))))), scm_unmemocar ( scm_cons (unmemocopy ((((scm_assert_cell_valid (((((scm_assert_cell_valid ((b)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((b)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((b)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((b)))))) [(1)]))))))))))))) [(0)]))))))), env), ((SCM) (((20) << 9) + 0x174L))), env), ((SCM) (((21) << 9) + 0x174L))); env = scm_acons ((((scm_assert_cell_valid ((b)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((b)))))) [(0)]))))))), ((SCM) (((16) << 9) + 0x174L)), env); b = (((scm_assert_cell_valid (((((scm_assert_cell_valid ((b)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((b)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((b)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((b)))))) [(1)]))))))))))))) [(1)]))))))); if ((6 & ((scm_t_bits) (b)))) { (((scm_assert_cell_valid (((y))), ((((scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((y))))))) [(1)] = ((scm_t_bits) (((((SCM) (((20) << 9) + 0x174L))))))))))); ls = scm_cons (scm_sym_let, z = scm_cons (y, ((SCM) (((21) << 9) + 0x174L)))); break; } do { (((scm_assert_cell_valid (((z))), ((((scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((z))))))) [(1)] = ((scm_t_bits) (((scm_acons ((((scm_assert_cell_valid ((b)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((b)))))) [(0)]))))))), scm_unmemocar ( scm_list_1 (unmemocopy ((((scm_assert_cell_valid (((((scm_assert_cell_valid ((b)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((b)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((b)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((b)))))) [(1)]))))))))))))) [(0)]))))))), env)), env), ((SCM) (((21) << 9) + 0x174L)))))))))))); z = (((scm_assert_cell_valid ((z)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((z)))))) [(1)]))))))); env = scm_acons ((((scm_assert_cell_valid ((b)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((b)))))) [(0)]))))))), ((SCM) (((16) << 9) + 0x174L)), env); b = (((scm_assert_cell_valid (((((scm_assert_cell_valid ((b)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((b)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((b)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((b)))))) [(1)]))))))))))))) [(1)]))))))); } while ((!(6 & ((scm_t_bits) (b))))); (((scm_assert_cell_valid (((z))), ((((scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((z))))))) [(1)] = ((scm_t_bits) (((((SCM) (((20) << 9) + 0x174L))))))))))); letstar: ls = scm_cons (scm_sym_letstar, z = scm_cons (y, ((SCM) (((21) << 9) + 0x174L)))); break; } case (127 & ((scm_t_bits) (((SCM) (((10) << 9) + ((10) << 3) + 4L))))): ls = z = scm_cons (scm_sym_or, ((SCM) (((21) << 9) + 0x174L))); break; case (127 & ((scm_t_bits) (((SCM) (((6) << 9) + ((6) << 3) + 4L))))): x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); z = scm_cons ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))), ((SCM) (((21) << 9) + 0x174L))); ls = scm_cons (scm_sym_lambda, z); env = scm_acons ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))), ((SCM) (((20) << 9) + 0x174L)), env); break; case (127 & ((scm_t_bits) (((SCM) (((11) << 9) + ((11) << 3) + 4L))))): ls = z = scm_cons (scm_sym_quote, ((SCM) (((21) << 9) + 0x174L))); break; case (127 & ((scm_t_bits) (((SCM) (((12) << 9) + ((12) << 3) + 4L))))): ls = z = scm_cons (scm_sym_set_x, ((SCM) (((21) << 9) + 0x174L))); break; case (127 & ((scm_t_bits) (((SCM) (((13) << 9) + ((13) << 3) + 4L))))): { SCM n; x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); n = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))); z = scm_cons (n, ((SCM) (((21) << 9) + 0x174L))); ls = scm_cons (scm_sym_define, z); if (!((((scm_t_bits) ((env))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) env = scm_cons (scm_cons (scm_cons (n, (((scm_assert_cell_valid (((((scm_assert_cell_valid ((env)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((env)))))) [(0)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((env)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((env)))))) [(0)]))))))))))))) [(0)])))))))), (((scm_assert_cell_valid (((((scm_assert_cell_valid ((env)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((env)))))) [(0)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((env)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((env)))))) [(0)]))))))))))))) [(1)])))))))), (((scm_assert_cell_valid ((env)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((env)))))) [(1)])))))))); break; } case (127 & ((scm_t_bits) (((SCM) (((0) << 9) + 0x74L))))): z = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))); if (!((0x187 & ((scm_t_bits) (z))) == 4)) goto unmemo; switch ((((scm_t_bits) (z)) >> 9)) { case ((((scm_t_bits) (((SCM) (((14) << 9) + 0x74L)))) >> 9)): ls = z = scm_cons (scm_sym_atapply, ((SCM) (((21) << 9) + 0x174L))); goto loop; case ((((scm_t_bits) (((SCM) (((15) << 9) + 0x74L)))) >> 9)): ls = z = scm_cons (scm_sym_atcall_cc, ((SCM) (((21) << 9) + 0x174L))); goto loop; case ((((scm_t_bits) (((SCM) (((27) << 9) + 0x74L)))) >> 9)): ls = z = scm_cons (scm_sym_delay, ((SCM) (((21) << 9) + 0x174L))); x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); goto loop; case ((((scm_t_bits) (((SCM) (((28) << 9) + 0x74L)))) >> 9)): ls = z = scm_cons (scm_sym_at_call_with_values, ((SCM) (((21) << 9) + 0x174L))); goto loop; default: ; } unmemo: default: ls = z = scm_unmemocar (scm_cons (unmemocopy ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))), env), ((SCM) (((21) << 9) + 0x174L))), env); } loop: x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); while ((!(6 & ((scm_t_bits) (x))) && ((1 & (scm_assert_cell_valid ((x)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))) == 0))) { SCM form = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))); if (!((0x187 & ((scm_t_bits) (form))) == 4)) { SCM copy = scm_cons (unmemocopy (form, env), ((SCM) (((21) << 9) + 0x174L))); (((scm_assert_cell_valid (((z))), ((((scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((z))))))) [(1)] = ((scm_t_bits) (((scm_unmemocar (copy, env)))))))))); z = (((scm_assert_cell_valid ((z)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((z)))))) [(1)]))))))); } x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); } (((scm_assert_cell_valid (((z))), ((((scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((z))))))) [(1)] = ((scm_t_bits) (((x))))))))); if (!((((scm_t_bits) ((p))) == ((scm_t_bits) (((SCM) (((16) << 9) + 0x174L))))))) do { register SCM w = (scm_sys_protects[13]); (((scm_assert_cell_valid (((scm_hash_fn_create_handle_x (w, ls, ((SCM) (((21) << 9) + 0x174L)), scm_ihashq, scm_sloppy_assq, 0)))), ((((scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((scm_hash_fn_create_handle_x (w, ls, ((SCM) (((21) << 9) + 0x174L)), scm_ihashq, scm_sloppy_assq, 0)))))))) [(1)] = ((scm_t_bits) (((p))))))))); } while (0); return ls; } SCM scm_unmemocopy (SCM x, SCM env) { if (!((((scm_t_bits) ((env))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) return unmemocopy (x, scm_cons ((((scm_assert_cell_valid ((env)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((env)))))) [(0)]))))))), (((scm_assert_cell_valid ((env)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((env)))))) [(1)]))))))))); else return unmemocopy (x, env); } int scm_badargsp (SCM formals, SCM args) { while (!((((scm_t_bits) ((formals))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) { if (!(!(6 & ((scm_t_bits) (formals))) && ((1 & (scm_assert_cell_valid ((formals)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((formals)))))) [(0)])))) == 0))) return 0; if (((((scm_t_bits) ((args))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) return 1; formals = (((scm_assert_cell_valid ((formals)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((formals)))))) [(1)]))))))); args = (((scm_assert_cell_valid ((args)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((args)))))) [(1)]))))))); } return !((((scm_t_bits) ((args))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L)))))) ? 1 : 0; } static int scm_badformalsp (SCM closure, int n) { SCM formals = (((scm_assert_cell_valid (((((scm_assert_cell_valid ((((SCM) ((scm_assert_cell_valid ((closure)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((closure)))))) [(0)]))) - 3)))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((((SCM) ((scm_assert_cell_valid ((closure)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((closure)))))) [(0)]))) - 3)))))))) [(0)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((((SCM) ((scm_assert_cell_valid ((closure)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((closure)))))) [(0)]))) - 3)))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((((SCM) ((scm_assert_cell_valid ((closure)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((closure)))))) [(0)]))) - 3)))))))) [(0)]))))))))))))) [(0)]))))))); while (!((((scm_t_bits) ((formals))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) { if (!(!(6 & ((scm_t_bits) (formals))) && ((1 & (scm_assert_cell_valid ((formals)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((formals)))))) [(0)])))) == 0))) return 0; if (n == 0) return 1; --n; formals = (((scm_assert_cell_valid ((formals)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((formals)))))) [(1)]))))))); } return n; } SCM scm_eval_args (SCM l, SCM env, SCM proc) { SCM results = ((SCM) (((20) << 9) + 0x174L)), *lloc = &results, res; while ((!(6 & ((scm_t_bits) (l))) && ((1 & (scm_assert_cell_valid ((l)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((l)))))) [(0)])))) == 0))) { res = ((6 & ((scm_t_bits) ((((scm_assert_cell_valid ((l)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((l)))))) [(0)])))))))))) ? (((((scm_t_bits) ((((scm_assert_cell_valid ((l)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((l)))))) [(0)]))))))))) & 0xff)==scm_tc8_iloc) ? *scm_ilookup (((((scm_assert_cell_valid ((l)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((l)))))) [(0)])))))))), env) : (((((scm_t_bits) (((((scm_assert_cell_valid ((l)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((l)))))) [(0)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))) ? scm_misc_error (((void *)0), scm_s_expression, ((SCM) (((20) << 9) + 0x174L))), 0 : 0), ((((scm_assert_cell_valid ((l)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((l)))))) [(0)])))))))))) : ((!(6 & ((scm_t_bits) ((((scm_assert_cell_valid ((l)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((l)! ))))) [(0)])))))))))) && ((0x7f & (scm_assert_cell_valid (((((scm_assert_cell_valid ((l)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((l)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((l)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((l)))))) [(0)]))))))))))))) [(0)])))) == 5)) ? *scm_lookupcar (l, env, 1) : scm_ceval ((((scm_assert_cell_valid ((l)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((l)))))) [(0)]))))))), env))); *lloc = scm_list_1 (res); lloc = ((SCM *) ((scm_t_bits *) & (scm_assert_cell_valid (((*lloc))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((*lloc))))))) [(1)]))))); l = (((scm_assert_cell_valid ((l)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((l)))))) [(1)]))))))); } if (!((((scm_t_bits) ((l))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) scm_wrong_num_args (proc); return results; } SCM scm_eval_body (SCM code, SCM env) { SCM next; again: next = (((scm_assert_cell_valid ((code)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((code)))))) [(1)]))))))); while (!((((scm_t_bits) ((next))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) { if ((6 & ((scm_t_bits) ((((scm_assert_cell_valid ((code)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((code)))))) [(0)]))))))))))) { if (((0x187 & ((scm_t_bits) ((((scm_assert_cell_valid ((code)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((code)))))) [(0)])))))))))) == 4)) { code = scm_m_expand_body (code, env); goto again; } } else ((6 & ((scm_t_bits) ((((scm_assert_cell_valid ((code)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((code)))))) [(0)])))))))))) ? (((((scm_t_bits) (((((scm_assert_cell_valid ((code)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((code)))))) [(0)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))) ? scm_misc_error (((void *)0), scm_s_expression, ((SCM) (((20) << 9) + 0x174L))), 0 : 0), ((((scm_assert_cell_valid ((code)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((code)))))) [(0)]))))))))) : (*scm_ceval_ptr) (((((scm_assert_cell_valid ((code)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((code)))))) [(0)])))))))), (env))); code = next; next = (((scm_assert_cell_valid ((code)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((code)))))) [(1)]))))))); } return ((6 & ((scm_t_bits) ((((scm_assert_cell_valid ((code)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((code)))))) [(0)])))))))))) ? (((((scm_t_bits) ((((scm_assert_cell_valid ((code)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((code)))))) [(0)]))))))))) & 0xff)==scm_tc8_iloc) ? *scm_ilookup (((((scm_assert_cell_valid ((code)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((code)))))) [(0)])))))))), env) : (((((scm_t_bits) (((((scm_assert_cell_valid ((code)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((code)))))) [(0)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))) ? scm_misc_error (((void *)0), scm_s_expression, ((SCM) (((20) << 9) + 0x174L))), 0 : 0), ((((scm_assert_cell_valid ((code)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((code)))))) [(0)])))))))))) : ((!(6 & ((scm_t_bits) ((((scm_assert_cell_valid ((code)), ((((SCM) (((const scm_t_bits *) ((scm! _t_cell *) (((scm_t_bits) ((code)))))) [(0)])))))))))) && ((0x7f & (scm_assert_cell_valid (((((scm_assert_cell_valid ((code)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((code)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((code)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((code)))))) [(0)]))))))))))))) [(0)])))) == 5)) ? *scm_lookupcar (code, env, 1) : (*scm_ceval_ptr) ((((scm_assert_cell_valid ((code)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((code)))))) [(0)]))))))), env))); } # 1855 "eval.c" SCM scm_ceval (SCM x, SCM env) { SCM proc, arg1; # 1877 "eval.c" if (scm_stack_checking_enabled_p && ((SCM_STACKITEM *) &proc < ((SCM_STACKITEM *) ((((scm_t_contregs *) (scm_assert_cell_valid (((scm_root->rootcont))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((scm_root->rootcont))))))) [(1)])))))->base) - scm_debug_opts[12].val))) { scm_report_stack_overflow (); } loop: # 1956 "eval.c" do { do { if (scm_asyncs_pending_p) scm_async_click (); } while (0); ; } while (0); switch ((0x7f & (scm_assert_cell_valid ((x)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))) { case 5: x = scm_cons (x, ((SCM) (((18) << 9) + 0x174L))); do { return *scm_lookupcar (x, env, 1); } while (0); case (127 & ((scm_t_bits) (((SCM) (((0) << 9) + ((0) << 3) + 4L))))): x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); while (!((((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) { SCM test_result = ((6 & ((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) ? (((((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))) & 0xff)==scm_tc8_iloc) ? *scm_ilookup (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))), env) : (((((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))) ? scm_misc_error (((void *)0), scm_s_expression, ((SCM) (((20) << 9) + 0x174L))), 0 : 0), ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) : ((!(6 & ((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((! scm_t_bits) ((x)))))) [(0)])))))))))) && ((0x7f & (scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))))))) [(0)])))) == 5)) ? *scm_lookupcar (x, env, 1) : scm_ceval ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))), env))); if (((((scm_t_bits) ((test_result))) == ((scm_t_bits) (((SCM) (((16) << 9) + 0x174L)))))) || ((((scm_t_bits) ((test_result))) == ((scm_t_bits) (((SCM) (((30) << 9) + 0x174L))))))) do { return ((SCM) (((16) << 9) + 0x174L)); } while (0); else x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); } ; goto carloop; case (127 & ((scm_t_bits) (((SCM) (((1) << 9) + ((1) << 3) + 4L))))): x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); if (((((scm_t_bits) ((x))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) do { return ((SCM) (((21) << 9) + 0x174L)); } while (0); ; begin: if ((!(6 & ((scm_t_bits) (env))) && ((1 & (scm_assert_cell_valid ((env)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((env)))))) [(0)])))) == 0)) && !(!(6 & ((scm_t_bits) ((((scm_assert_cell_valid ((env)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((env)))))) [(0)])))))))))) && ((1 & (scm_assert_cell_valid (((((scm_assert_cell_valid ((env)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((env)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((env)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((env)))))) [(0)]))))))))))))) [(0)])))) == 0))) { do { SCM p = scm_current_module_lookup_closure (); if (p != (((scm_assert_cell_valid ((env)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((env)))))) [(0)])))))))) env = scm_top_level_env (p); } while (0); while (!((((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) { ((6 & ((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) ? (((((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))) & 0xff)==scm_tc8_iloc) ? *scm_ilookup (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))), env) : (((((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))) ? scm_misc_error (((void *)0), scm_s_expression, ((SCM) (((20) << 9) + 0x174L))), 0 : 0), ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) : ((!(6 & ((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((! x)))))) [(0)])))))))))) && ((0x7f & (scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))))))) [(0)])))) == 5)) ? *scm_lookupcar (x, env, 1) : scm_ceval ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))), env))); do { SCM p = scm_current_module_lookup_closure (); if (p != (((scm_assert_cell_valid ((env)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((env)))))) [(0)])))))))) env = scm_top_level_env (p); } while (0); x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); } goto carloop; } else goto nontoplevel_begin; nontoplevel_begin: while (!((((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) { SCM form = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))); if ((6 & ((scm_t_bits) (form)))) { if (((0x187 & ((scm_t_bits) (form))) == 4)) { x = scm_m_expand_body (x, env); goto nontoplevel_begin; } else do { if ((((scm_t_bits) ((form))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L)))))) scm_misc_error (((void *)0), scm_s_expression, ((SCM) (((20) << 9) + 0x174L))); } while (0); } else scm_ceval (form, env); x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); } carloop: { SCM last_form = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))); if ((!(6 & ((scm_t_bits) (last_form))) && ((1 & (scm_assert_cell_valid ((last_form)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((last_form)))))) [(0)])))) == 0))) { x = last_form; goto loop; } else if ((6 & ((scm_t_bits) (last_form)))) do { return (((((scm_t_bits) (last_form)) & 0xff)==scm_tc8_iloc) ? *scm_ilookup ((last_form), env) : (((((scm_t_bits) ((last_form))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))) ? scm_misc_error (((void *)0), scm_s_expression, ((SCM) (((20) << 9) + 0x174L))), 0 : 0), (last_form))); } while (0); else if ((!(6 & ((scm_t_bits) (last_form))) && (0x7f & (scm_assert_cell_valid ((last_form)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((last_form)))))) [(0)])))) == 7)) do { return (scm_assert_cell_valid ((last_form)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((last_form)))))) [(1)]))))); } while (0); else if ((!(6 & ((scm_t_bits) (last_form))) && ((0x7f & (scm_assert_cell_valid ((last_form)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((last_form)))))) [(0)])))) == 5))) do { return *scm_lookupcar (x, env, 1); } while (0); else do { return last_form; } while (0); } case (127 & ((scm_t_bits) (((SCM) (((2) << 9) + ((2) << 3) + 4L))))): x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); { SCM key = ((6 & ((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) ? (((((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))) & 0xff)==scm_tc8_iloc) ? *scm_ilookup (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))), env) : (((((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))) ? scm_misc_error (((void *)0), scm_s_expression, ((SCM) (((20) << 9) + 0x174L))), 0 : 0), ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) : ((!(6 & ((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits! ) ((x)))))) [(0)])))))))))) && ((0x7f & (scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))))))) [(0)])))) == 5)) ? *scm_lookupcar (x, env, 1) : scm_ceval ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))), env))); x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); while (!((((scm_t_bits) ((x))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) { SCM clause = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))); SCM labels = (((scm_assert_cell_valid ((clause)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((clause)))))) [(0)]))))))); if ((((scm_t_bits) (labels)) == ((scm_t_bits) (scm_sym_else)))) { x = (((scm_assert_cell_valid ((clause)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((clause)))))) [(1)]))))))); ; goto begin; } while (!((((scm_t_bits) ((labels))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) { SCM label = (((scm_assert_cell_valid ((labels)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((labels)))))) [(0)]))))))); if ((((scm_t_bits) (label)) == ((scm_t_bits) (key))) || !((((scm_t_bits) ((scm_eqv_p (label, key)))) == ((scm_t_bits) (((SCM) (((16) << 9) + 0x174L))))))) { x = (((scm_assert_cell_valid ((clause)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((clause)))))) [(1)]))))))); ; goto begin; } labels = (((scm_assert_cell_valid ((labels)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((labels)))))) [(1)]))))))); } x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); } } do { return ((SCM) (((21) << 9) + 0x174L)); } while (0); case (127 & ((scm_t_bits) (((SCM) (((3) << 9) + ((3) << 3) + 4L))))): x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); while (!((((scm_t_bits) ((x))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) { SCM clause = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))); if ((((scm_t_bits) ((((scm_assert_cell_valid ((clause)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((clause)))))) [(0)]))))))))) == ((scm_t_bits) (scm_sym_else)))) { x = (((scm_assert_cell_valid ((clause)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((clause)))))) [(1)]))))))); ; goto begin; } else { arg1 = ((6 & ((scm_t_bits) ((((scm_assert_cell_valid ((clause)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((clause)))))) [(0)])))))))))) ? (((((scm_t_bits) ((((scm_assert_cell_valid ((clause)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((clause)))))) [(0)]))))))))) & 0xff)==scm_tc8_iloc) ? *scm_ilookup (((((scm_assert_cell_valid ((clause)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((clause)))))) [(0)])))))))), env) : (((((scm_t_bits) (((((scm_assert_cell_valid ((clause)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((clause)))))) [(0)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))) ? scm_misc_error (((void *)0), scm_s_expression, ((SCM) (((20) << 9) + 0x174L))), 0 : 0), ((((scm_assert_cell_valid ((clause)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((clause)))))) [(0)])))))))))) : ((!(6 & ((scm_t_bits) ((((scm_assert_cell_valid ((clause)), (((! (SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((clause)))))) [(0)])))))))))) && ((0x7f & (scm_assert_cell_valid (((((scm_assert_cell_valid ((clause)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((clause)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((clause)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((clause)))))) [(0)]))))))))))))) [(0)])))) == 5)) ? *scm_lookupcar (clause, env, 1) : scm_ceval ((((scm_assert_cell_valid ((clause)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((clause)))))) [(0)]))))))), env))); if (!((((scm_t_bits) ((arg1))) == ((scm_t_bits) (((SCM) (((16) << 9) + 0x174L)))))) && !((((scm_t_bits) ((arg1))) == ((scm_t_bits) (((SCM) (((30) << 9) + 0x174L))))))) { x = (((scm_assert_cell_valid ((clause)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((clause)))))) [(1)]))))))); if (((((scm_t_bits) ((x))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) do { return arg1; } while (0); else if (!(((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))) == ((scm_t_bits) (scm_sym_arrow)))) { ; goto begin; } else { proc = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); proc = ((6 & ((scm_t_bits) ((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))))))))) ? (((((scm_t_bits) ((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))))))))) & 0xff)==scm_tc8_iloc) ? *scm_ilookup (((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))))))), env) : (((((scm_t_bits) (((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))) ? scm_misc_error (((void *)0), scm_s_expression, ((SCM) (((20) << 9) + 0x174L))), 0 : 0), ((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))))))))) : ((!(6 & ((scm_t_bits) ((((scm_assert_cell_valid ((proc)), ((((SCM) (((const! scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))))))))) && ((0x7f & (scm_assert_cell_valid (((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))))))))))))) [(0)])))) == 5)) ? *scm_lookupcar (proc, env, 1) : scm_ceval ((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))))))), env))); if (!(!(6 & ((scm_t_bits) (proc))))) goto badfun; ; ; if ((!(6 & ((scm_t_bits) (proc))) && ((7 & (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))) == 3)) && scm_badformalsp (proc, 1)) goto umwrongnumargs; else goto evap1; } } x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); } } do { return ((SCM) (((21) << 9) + 0x174L)); } while (0); case (127 & ((scm_t_bits) (((SCM) (((4) << 9) + ((4) << 3) + 4L))))): x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); { SCM init_forms = (((scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))))))) [(0)]))))))); SCM init_values = ((SCM) (((20) << 9) + 0x174L)); while (!((((scm_t_bits) ((init_forms))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) { init_values = scm_cons (((6 & ((scm_t_bits) ((((scm_assert_cell_valid ((init_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init_forms)))))) [(0)])))))))))) ? (((((scm_t_bits) ((((scm_assert_cell_valid ((init_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init_forms)))))) [(0)]))))))))) & 0xff)==scm_tc8_iloc) ? *scm_ilookup (((((scm_assert_cell_valid ((init_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init_forms)))))) [(0)])))))))), env) : (((((scm_t_bits) (((((scm_assert_cell_valid ((init_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init_forms)))))) [(0)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))) ? scm_misc_error (((void *)0), scm_s_expression, ((SCM) (((20) << 9) + 0x174L))), 0 : 0), ((((scm_assert_cell_valid ((init_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init_forms)))))) [(0)])))))))))) : ((!(6 & ! ((scm_t_bits) ((((scm_assert_cell_valid ((init_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init_forms)))))) [(0)])))))))))) && ((0x7f & (scm_assert_cell_valid (((((scm_assert_cell_valid ((init_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init_forms)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((init_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init_forms)))))) [(0)]))))))))))))) [(0)])))) == 5)) ? *scm_lookupcar (init_forms, env, 1) : scm_ceval ((((scm_assert_cell_valid ((init_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init_forms)))))) [(0)]))))))), env))), init_values); init_forms = (((scm_assert_cell_valid ((init_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init_forms)))))) [(1)]))))))); } env = scm_acons ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))), init_values, env); } x = (((scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))))))) [(1)]))))))); { SCM test_form = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))); SCM body_forms = (((scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))))))) [(0)]))))))); SCM step_forms = (((scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))))))) [(1)]))))))); SCM test_result = ((6 & ((scm_t_bits) ((((scm_assert_cell_valid ((test_form)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((test_form)))))) [(0)])))))))))) ? (((((scm_t_bits) ((((scm_assert_cell_valid ((test_form)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((test_form)))))) [(0)]))))))))) & 0xff)==scm_tc8_iloc) ? *scm_ilookup (((((scm_assert_cell_valid ((test_form)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((test_form)))))) [(0)])))))))), env) : (((((scm_t_bits) (((((scm_assert_cell_valid ((test_form)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((test_form)))))) [(0)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))) ? scm_misc_error (((void *)0), scm_s_expression, ((SCM) (((20) << 9) + 0x174L))), 0 : 0), ((((scm_assert_cell_valid ((test_form)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((test_form)))))) [(0)])))))))))) : ((!(6 & ((scm_t_bits) ((((sc! m_assert_cell_valid ((test_form)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((test_form)))))) [(0)])))))))))) && ((0x7f & (scm_assert_cell_valid (((((scm_assert_cell_valid ((test_form)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((test_form)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((test_form)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((test_form)))))) [(0)]))))))))))))) [(0)])))) == 5)) ? *scm_lookupcar (test_form, env, 1) : scm_ceval ((((scm_assert_cell_valid ((test_form)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((test_form)))))) [(0)]))))))), env))); while (((((scm_t_bits) ((test_result))) == ((scm_t_bits) (((SCM) (((16) << 9) + 0x174L)))))) || ((((scm_t_bits) ((test_result))) == ((scm_t_bits) (((SCM) (((30) << 9) + 0x174L))))))) { { SCM temp_forms; for (temp_forms = body_forms; !((((scm_t_bits) ((temp_forms))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L)))))); temp_forms = (((scm_assert_cell_valid ((temp_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((temp_forms)))))) [(1)])))))))) { SCM form = (((scm_assert_cell_valid ((temp_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((temp_forms)))))) [(0)]))))))); # 2157 "eval.c" if (!(6 & ((scm_t_bits) (form)))) scm_ceval (form, env); } } { SCM temp_forms; SCM step_values = ((SCM) (((20) << 9) + 0x174L)); for (temp_forms = step_forms; !((((scm_t_bits) ((temp_forms))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L)))))); temp_forms = (((scm_assert_cell_valid ((temp_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((temp_forms)))))) [(1)])))))))) { SCM value = ((6 & ((scm_t_bits) ((((scm_assert_cell_valid ((temp_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((temp_forms)))))) [(0)])))))))))) ? (((((scm_t_bits) ((((scm_assert_cell_valid ((temp_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((temp_forms)))))) [(0)]))))))))) & 0xff)==scm_tc8_iloc) ? *scm_ilookup (((((scm_assert_cell_valid ((temp_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((temp_forms)))))) [(0)])))))))), env) : (((((scm_t_bits) (((((scm_assert_cell_valid ((temp_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((temp_forms)))))) [(0)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))) ? scm_misc_error (((void *)0), scm_s_expression, ((SCM) (((20) << 9) + 0x174L))), 0 : 0), ((((scm_assert_cell_valid ((temp_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((temp_forms)))))) [(0)])))))))))) : ((!(6 & ((scm_! t_bits) ((((scm_assert_cell_valid ((temp_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((temp_forms)))))) [(0)])))))))))) && ((0x7f & (scm_assert_cell_valid (((((scm_assert_cell_valid ((temp_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((temp_forms)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((temp_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((temp_forms)))))) [(0)]))))))))))))) [(0)])))) == 5)) ? *scm_lookupcar (temp_forms, env, 1) : scm_ceval ((((scm_assert_cell_valid ((temp_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((temp_forms)))))) [(0)]))))))), env))); step_values = scm_cons (value, step_values); } env = scm_acons ((((scm_assert_cell_valid (((((scm_assert_cell_valid ((env)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((env)))))) [(0)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((env)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((env)))))) [(0)]))))))))))))) [(0)]))))))), step_values, (((scm_assert_cell_valid ((env)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((env)))))) [(1)])))))))); } test_result = ((6 & ((scm_t_bits) ((((scm_assert_cell_valid ((test_form)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((test_form)))))) [(0)])))))))))) ? (((((scm_t_bits) ((((scm_assert_cell_valid ((test_form)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((test_form)))))) [(0)]))))))))) & 0xff)==scm_tc8_iloc) ? *scm_ilookup (((((scm_assert_cell_valid ((test_form)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((test_form)))))) [(0)])))))))), env) : (((((scm_t_bits) (((((scm_assert_cell_valid ((test_form)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((test_form)))))) [(0)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))) ? scm_misc_error (((void *)0), scm_s_expression, ((SCM) (((20) << 9) + 0x174L))), 0 : 0), ((((scm_assert_cell_valid ((test_form)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((test_form)))))) [(0)])))))))))) : ((!(6 & ((scm_t_bits) ((((sc! m_assert_cell_valid ((test_form)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((test_form)))))) [(0)])))))))))) && ((0x7f & (scm_assert_cell_valid (((((scm_assert_cell_valid ((test_form)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((test_form)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((test_form)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((test_form)))))) [(0)]))))))))))))) [(0)])))) == 5)) ? *scm_lookupcar (test_form, env, 1) : scm_ceval ((((scm_assert_cell_valid ((test_form)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((test_form)))))) [(0)]))))))), env))); } } x = (((scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))))))) [(1)]))))))); if (((((scm_t_bits) ((x))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) do { return ((SCM) (((21) << 9) + 0x174L)); } while (0); ; goto nontoplevel_begin; case (127 & ((scm_t_bits) (((SCM) (((5) << 9) + ((5) << 3) + 4L))))): x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); { SCM test_result = ((6 & ((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) ? (((((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))) & 0xff)==scm_tc8_iloc) ? *scm_ilookup (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))), env) : (((((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))) ? scm_misc_error (((void *)0), scm_s_expression, ((SCM) (((20) << 9) + 0x174L))), 0 : 0), ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) : ((!(6 & ((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((sc! m_t_bits) ((x)))))) [(0)])))))))))) && ((0x7f & (scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))))))) [(0)])))) == 5)) ? *scm_lookupcar (x, env, 1) : scm_ceval ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))), env))); if (!((((scm_t_bits) ((test_result))) == ((scm_t_bits) (((SCM) (((16) << 9) + 0x174L)))))) && !((((scm_t_bits) ((test_result))) == ((scm_t_bits) (((SCM) (((30) << 9) + 0x174L))))))) x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); else { x = (((scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))))))) [(1)]))))))); if (((((scm_t_bits) ((x))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) do { return ((SCM) (((21) << 9) + 0x174L)); } while (0); } } ; goto carloop; case (127 & ((scm_t_bits) (((SCM) (((7) << 9) + ((7) << 3) + 4L))))): x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); { SCM init_forms = (((scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))))))) [(0)]))))))); SCM init_values = ((SCM) (((20) << 9) + 0x174L)); do { init_values = scm_cons (((6 & ((scm_t_bits) ((((scm_assert_cell_valid ((init_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init_forms)))))) [(0)])))))))))) ? (((((scm_t_bits) ((((scm_assert_cell_valid ((init_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init_forms)))))) [(0)]))))))))) & 0xff)==scm_tc8_iloc) ? *scm_ilookup (((((scm_assert_cell_valid ((init_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init_forms)))))) [(0)])))))))), env) : (((((scm_t_bits) (((((scm_assert_cell_valid ((init_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init_forms)))))) [(0)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))) ? scm_misc_error (((void *)0), scm_s_expression, ((SCM) (((20) << 9) + 0x174L))), 0 : 0), ((((scm_assert_cell_valid ((init_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init_forms)))))) [(0)])))))))))) : ((!(6 & ! ((scm_t_bits) ((((scm_assert_cell_valid ((init_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init_forms)))))) [(0)])))))))))) && ((0x7f & (scm_assert_cell_valid (((((scm_assert_cell_valid ((init_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init_forms)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((init_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init_forms)))))) [(0)]))))))))))))) [(0)])))) == 5)) ? *scm_lookupcar (init_forms, env, 1) : scm_ceval ((((scm_assert_cell_valid ((init_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init_forms)))))) [(0)]))))))), env))), init_values); init_forms = (((scm_assert_cell_valid ((init_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init_forms)))))) [(1)]))))))); } while (!((((scm_t_bits) ((init_forms))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))); env = scm_acons ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))), init_values, env); } x = (((scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))))))) [(1)]))))))); ; goto nontoplevel_begin; case (127 & ((scm_t_bits) (((SCM) (((9) << 9) + ((9) << 3) + 4L))))): x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); env = scm_acons ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))), scm_sys_protects[2], env); x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); { SCM init_forms = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))); SCM init_values = ((SCM) (((20) << 9) + 0x174L)); do { init_values = scm_cons (((6 & ((scm_t_bits) ((((scm_assert_cell_valid ((init_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init_forms)))))) [(0)])))))))))) ? (((((scm_t_bits) ((((scm_assert_cell_valid ((init_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init_forms)))))) [(0)]))))))))) & 0xff)==scm_tc8_iloc) ? *scm_ilookup (((((scm_assert_cell_valid ((init_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init_forms)))))) [(0)])))))))), env) : (((((scm_t_bits) (((((scm_assert_cell_valid ((init_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init_forms)))))) [(0)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))) ? scm_misc_error (((void *)0), scm_s_expression, ((SCM) (((20) << 9) + 0x174L))), 0 : 0), ((((scm_assert_cell_valid ((init_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init_forms)))))) [(0)])))))))))) : ((!(6 & ! ((scm_t_bits) ((((scm_assert_cell_valid ((init_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init_forms)))))) [(0)])))))))))) && ((0x7f & (scm_assert_cell_valid (((((scm_assert_cell_valid ((init_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init_forms)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((init_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init_forms)))))) [(0)]))))))))))))) [(0)])))) == 5)) ? *scm_lookupcar (init_forms, env, 1) : scm_ceval ((((scm_assert_cell_valid ((init_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init_forms)))))) [(0)]))))))), env))), init_values); init_forms = (((scm_assert_cell_valid ((init_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init_forms)))))) [(1)]))))))); } while (!((((scm_t_bits) ((init_forms))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))); (((scm_assert_cell_valid ((((((scm_assert_cell_valid ((env)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((env)))))) [(0)])))))))))), ((((scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((((((scm_assert_cell_valid ((env)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((env)))))) [(0)])))))))))))))) [(1)] = ((scm_t_bits) (((init_values))))))))); } x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); ; goto nontoplevel_begin; case (127 & ((scm_t_bits) (((SCM) (((8) << 9) + ((8) << 3) + 4L))))): x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); { SCM bindings = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))); if (((((scm_t_bits) ((bindings))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) env = scm_acons (((SCM) (((20) << 9) + 0x174L)), ((SCM) (((20) << 9) + 0x174L)), env); else { do { SCM name = (((scm_assert_cell_valid ((bindings)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((bindings)))))) [(0)]))))))); SCM init = (((scm_assert_cell_valid ((bindings)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((bindings)))))) [(1)]))))))); env = scm_acons (name, ((6 & ((scm_t_bits) ((((scm_assert_cell_valid ((init)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init)))))) [(0)])))))))))) ? (((((scm_t_bits) ((((scm_assert_cell_valid ((init)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init)))))) [(0)]))))))))) & 0xff)==scm_tc8_iloc) ? *scm_ilookup (((((scm_assert_cell_valid ((init)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init)))))) [(0)])))))))), env) : (((((scm_t_bits) (((((scm_assert_cell_valid ((init)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init)))))) [(0)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))) ? scm_misc_error (((void *)0), scm_s_expression, ((SCM) (((20) << 9) + 0x174L))), 0 : 0), ((((scm_assert_cell_valid ((init)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init)))))) [(0)])))))))))) : ((!(6 & ((scm_t_bits) ((((scm_assert_cell_valid ((init)), ((((SCM! ) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init)))))) [(0)])))))))))) && ((0x7f & (scm_assert_cell_valid (((((scm_assert_cell_valid ((init)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((init)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init)))))) [(0)]))))))))))))) [(0)])))) == 5)) ? *scm_lookupcar (init, env, 1) : scm_ceval ((((scm_assert_cell_valid ((init)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init)))))) [(0)]))))))), env))), env); bindings = (((scm_assert_cell_valid ((init)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init)))))) [(1)]))))))); } while (!((((scm_t_bits) ((bindings))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))); } } x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); ; goto nontoplevel_begin; case (127 & ((scm_t_bits) (((SCM) (((10) << 9) + ((10) << 3) + 4L))))): x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); while (!((((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) { SCM val = ((6 & ((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) ? (((((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))) & 0xff)==scm_tc8_iloc) ? *scm_ilookup (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))), env) : (((((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))) ? scm_misc_error (((void *)0), scm_s_expression, ((SCM) (((20) << 9) + 0x174L))), 0 : 0), ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) : ((!(6 & ((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bi! ts) ((x)))))) [(0)])))))))))) && ((0x7f & (scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))))))) [(0)])))) == 5)) ? *scm_lookupcar (x, env, 1) : scm_ceval ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))), env))); if (!((((scm_t_bits) ((val))) == ((scm_t_bits) (((SCM) (((16) << 9) + 0x174L)))))) && !((((scm_t_bits) ((val))) == ((scm_t_bits) (((SCM) (((30) << 9) + 0x174L))))))) do { return val; } while (0); else x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); } ; goto carloop; case (127 & ((scm_t_bits) (((SCM) (((6) << 9) + ((6) << 3) + 4L))))): do { return scm_closure ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))), env); } while (0); case (127 & ((scm_t_bits) (((SCM) (((11) << 9) + ((11) << 3) + 4L))))): do { return (((scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))))))) [(0)]))))))); } while (0); case (127 & ((scm_t_bits) (((SCM) (((12) << 9) + ((12) << 3) + 4L))))): x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); { SCM *location; SCM variable = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))); if (((((scm_t_bits) (variable)) & 0xff)==scm_tc8_iloc)) location = scm_ilookup (variable, env); else if ((!(6 & ((scm_t_bits) (variable))) && (0x7f & (scm_assert_cell_valid ((variable)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((variable)))))) [(0)])))) == 7)) location = ((SCM *) ((scm_t_bits *) & (scm_assert_cell_valid (((variable))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((variable))))))) [(1)]))))); else location = scm_lookupcar (x, env, 1); x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); *location = ((6 & ((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) ? (((((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))) & 0xff)==scm_tc8_iloc) ? *scm_ilookup (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))), env) : (((((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))) ? scm_misc_error (((void *)0), scm_s_expression, ((SCM) (((20) << 9) + 0x174L))), 0 : 0), ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) : ((!(6 & ((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bi! ts) ((x)))))) [(0)])))))))))) && ((0x7f & (scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))))))) [(0)])))) == 5)) ? *scm_lookupcar (x, env, 1) : scm_ceval ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))), env))); } do { return ((SCM) (((21) << 9) + 0x174L)); } while (0); case (127 & ((scm_t_bits) (((SCM) (((13) << 9) + ((13) << 3) + 4L))))): scm_misc_error (((void *)0), "Bad define placement", ((SCM) (((20) << 9) + 0x174L))); case (127 & ((scm_t_bits) (((SCM) (((0) << 9) + 0x74L))))): proc = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))); if (!(((0x187 & ((scm_t_bits) (proc))) == 4))) goto badfun; switch ((((scm_t_bits) (proc)) >> 9)) { case ((((scm_t_bits) (((SCM) (((14) << 9) + 0x74L)))) >> 9)): proc = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); proc = ((6 & ((scm_t_bits) ((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))))))))) ? (((((scm_t_bits) ((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))))))))) & 0xff)==scm_tc8_iloc) ? *scm_ilookup (((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))))))), env) : (((((scm_t_bits) (((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))) ? scm_misc_error (((void *)0), scm_s_expression, ((SCM) (((20) << 9) + 0x174L))), 0 : 0), ((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))))))))) : ((!(6 & ((scm_t_bits) ((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits ! *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))))))))) && ((0x7f & (scm_assert_cell_valid (((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))))))))))))) [(0)])))) == 5)) ? *scm_lookupcar (proc, env, 1) : scm_ceval ((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))))))), env))); if (!(!(6 & ((scm_t_bits) (proc))))) goto badfun; if ((!(6 & ((scm_t_bits) (proc))) && ((7 & (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))) == 3))) { ; arg1 = (((scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))))))) [(1)]))))))); arg1 = ((6 & ((scm_t_bits) ((((scm_assert_cell_valid ((arg1)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((arg1)))))) [(0)])))))))))) ? (((((scm_t_bits) ((((scm_assert_cell_valid ((arg1)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((arg1)))))) [(0)]))))))))) & 0xff)==scm_tc8_iloc) ? *scm_ilookup (((((scm_assert_cell_valid ((arg1)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((arg1)))))) [(0)])))))))), env) : (((((scm_t_bits) (((((scm_assert_cell_valid ((arg1)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((arg1)))))) [(0)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))) ? scm_misc_error (((void *)0), scm_s_expression, ((SCM) (((20) << 9) + 0x174L))), 0 : 0), ((((scm_assert_cell_valid ((arg1)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((arg1)))))) [(0)])))))))))) : ((!(6 & ((scm_t_bits) ((((scm_assert_cell_valid ((arg1)), ((((SCM) (((const scm_t_b! its *) ((scm_t_cell *) (((scm_t_bits) ((arg1)))))) [(0)])))))))))) && ((0x7f & (scm_assert_cell_valid (((((scm_assert_cell_valid ((arg1)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((arg1)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((arg1)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((arg1)))))) [(0)]))))))))))))) [(0)])))) == 5)) ? *scm_lookupcar (arg1, env, 1) : scm_ceval ((((scm_assert_cell_valid ((arg1)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((arg1)))))) [(0)]))))))), env))); apply_closure: { SCM formals = (((scm_assert_cell_valid (((((scm_assert_cell_valid ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))))))) [(0)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))))))) [(0)]))))))))))))) [(0)]))))))); if (scm_badargsp (formals, arg1)) scm_wrong_num_args (proc); ; if ((((((scm_t_bits) ((arg1))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L)))))) || ((((scm_t_bits) ((arg1))) == ((scm_t_bits) (((SCM) (((30) << 9) + 0x174L)))))))) env = scm_acons (formals, ((SCM) (((20) << 9) + 0x174L)), (scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))))); else { SCM args = scm_list_1 ((((scm_assert_cell_valid ((arg1)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((arg1)))))) [(0)])))))))); SCM tail = args; arg1 = (((scm_assert_cell_valid ((arg1)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((arg1)))))) [(1)]))))))); while (!(((((scm_t_bits) ((arg1))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L)))))) || ((((scm_t_bits) ((arg1))) == ((scm_t_bits) (((SCM) (((30) << 9) + 0x174L)))))))) { SCM new_tail = scm_list_1 ((((scm_assert_cell_valid ((arg1)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((arg1)))))) [(0)])))))))); (((scm_assert_cell_valid (((tail))), ((((scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((tail))))))) [(1)] = ((scm_t_bits) (((new_tail))))))))); tail = new_tail; arg1 = (((scm_assert_cell_valid ((arg1)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((arg1)))))) [(1)]))))))); } env = scm_acons (formals, args, (scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))))); } x = (((scm_assert_cell_valid (((((scm_assert_cell_valid ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))))))) [(0)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))))))) [(0)]))))))))))))) [(1)]))))))); goto nontoplevel_begin; } } else { proc = scm_f_apply; goto evapply; } case ((((scm_t_bits) (((SCM) (((15) << 9) + 0x74L)))) >> 9)): { int first; SCM val = scm_make_continuation (&first); if (!first) do { return val; } while (0); else { arg1 = val; proc = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); proc = scm_eval_car (proc, env); if (!((!(6 & ((scm_t_bits) (proc)))))) goto badfun; ; ; if ((!(6 & ((scm_t_bits) (proc))) && ((7 & (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))) == 3)) && scm_badformalsp (proc, 1)) goto umwrongnumargs; goto evap1; } } case ((((scm_t_bits) (((SCM) (((27) << 9) + 0x74L)))) >> 9)): do { return scm_makprom (scm_closure ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))), env)); } while (0); case ((((scm_t_bits) (((SCM) (((22) << 9) + 0x74L)))) >> 9)): { SCM operand_forms = (((scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))))))) [(0)]))))))); ; if (((((scm_t_bits) (operand_forms)) & 0xff)==scm_tc8_iloc)) arg1 = *scm_ilookup (operand_forms, env); else if ((!(6 & ((scm_t_bits) (operand_forms))) && (0x7f & (scm_assert_cell_valid ((operand_forms)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((operand_forms)))))) [(0)])))) == 7)) arg1 = (scm_assert_cell_valid ((operand_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((operand_forms)))))) [(1)]))))); else if (!(!(6 & ((scm_t_bits) (operand_forms))) && ((1 & (scm_assert_cell_valid ((operand_forms)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((operand_forms)))))) [(0)])))) == 0))) arg1 = *scm_lookupcar ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))), env, 1); else { SCM tail = arg1 = scm_list_1 (((6 & ((scm_t_bits) ((((scm_assert_cell_valid ((operand_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((operand_forms)))))) [(0)])))))))))) ? (((((scm_t_bits) ((((scm_assert_cell_valid ((operand_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((operand_forms)))))) [(0)]))))))))) & 0xff)==scm_tc8_iloc) ? *scm_ilookup (((((scm_assert_cell_valid ((operand_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((operand_forms)))))) [(0)])))))))), env) : (((((scm_t_bits) (((((scm_assert_cell_valid ((operand_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((operand_forms)))))) [(0)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))) ? scm_misc_error (((void *)0), scm_s_expression, ((SCM) (((20) << 9) + 0x174L))), 0 : 0), ((((scm_assert_cell_valid ((operand_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((operan! d_forms)))))) [(0)])))))))))) : ((!(6 & ((scm_t_bits) ((((scm_assert_cell_valid ((operand_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((operand_forms)))))) [(0)])))))))))) && ((0x7f & (scm_assert_cell_valid (((((scm_assert_cell_valid ((operand_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((operand_forms)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((operand_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((operand_forms)))))) [(0)]))))))))))))) [(0)])))) == 5)) ? *scm_lookupcar (operand_forms, env, 1) : scm_ceval ((((scm_assert_cell_valid ((operand_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((operand_forms)))))) [(0)]))))))), env)))); operand_forms = (((scm_assert_cell_valid ((operand_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((operand_forms)))))) [(1)]))))))); while (!((((scm_t_bits) ((operand_forms))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) { SCM new_tail = scm_list_1 (((6 & ((scm_t_bits) ((((scm_assert_cell_valid ((operand_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((operand_forms)))))) [(0)])))))))))) ? (((((scm_t_bits) ((((scm_assert_cell_valid ((operand_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((operand_forms)))))) [(0)]))))))))) & 0xff)==scm_tc8_iloc) ? *scm_ilookup (((((scm_assert_cell_valid ((operand_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((operand_forms)))))) [(0)])))))))), env) : (((((scm_t_bits) (((((scm_assert_cell_valid ((operand_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((operand_forms)))))) [(0)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))) ? scm_misc_error (((void *)0), scm_s_expression, ((SCM) (((20) << 9) + 0x174L))), 0 : 0), ((((scm_assert_cell_valid ((operand_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((opera! nd_forms)))))) [(0)])))))))))) : ((!(6 & ((scm_t_bits) ((((scm_assert_cell_valid ((operand_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((operand_forms)))))) [(0)])))))))))) && ((0x7f & (scm_assert_cell_valid (((((scm_assert_cell_valid ((operand_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((operand_forms)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((operand_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((operand_forms)))))) [(0)]))))))))))))) [(0)])))) == 5)) ? *scm_lookupcar (operand_forms, env, 1) : scm_ceval ((((scm_assert_cell_valid ((operand_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((operand_forms)))))) [(0)]))))))), env)))); (((scm_assert_cell_valid (((tail))), ((((scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((tail))))))) [(1)] = ((scm_t_bits) (((new_tail))))))))); tail = new_tail; operand_forms = (((scm_assert_cell_valid ((operand_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((operand_forms)))))) [(1)]))))))); } } } type_dispatch: # 2440 "eval.c" { unsigned long int specializers; unsigned long int hash_value; unsigned long int cache_end_pos; unsigned long int mask; SCM method_cache; { SCM z = (((scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))))))) [(1)]))))))); SCM tmp = (((scm_assert_cell_valid (((((scm_assert_cell_valid ((z)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((z)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((z)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((z)))))) [(1)]))))))))))))) [(0)]))))))); specializers = ((((scm_t_signed_bits) ((scm_t_bits) ((((scm_assert_cell_valid ((z)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((z)))))) [(0)])))))))))) >> (2))); if ((2 & ((scm_t_bits) (tmp)))) { # 2474 "eval.c" unsigned long int hashset = ((((scm_t_signed_bits) ((scm_t_bits) (tmp))) >> (2))); unsigned long int counter = specializers + 1; SCM tmp_arg = arg1; hash_value = 0; while (!((((scm_t_bits) ((tmp_arg))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L)))))) && counter != 0) { SCM class = scm_class_of ((((scm_assert_cell_valid ((tmp_arg)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((tmp_arg)))))) [(0)])))))))); hash_value += (((scm_t_bits *) (scm_assert_cell_valid ((class)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((class)))))) [(1)])))) [6 + (hashset)]); tmp_arg = (((scm_assert_cell_valid ((tmp_arg)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((tmp_arg)))))) [(1)]))))))); counter--; } z = (((scm_assert_cell_valid (((((scm_assert_cell_valid ((z)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((z)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((z)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((z)))))) [(1)]))))))))))))) [(1)]))))))); method_cache = (((scm_assert_cell_valid (((((scm_assert_cell_valid ((z)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((z)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((z)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((z)))))) [(1)]))))))))))))) [(0)]))))))); mask = ((((scm_t_signed_bits) ((scm_t_bits) ((((scm_assert_cell_valid ((z)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((z)))))) [(0)])))))))))) >> (2))); hash_value &= mask; cache_end_pos = hash_value; } else { method_cache = tmp; mask = (unsigned long int) ((long) -1); hash_value = 0; cache_end_pos = (((unsigned long) (scm_assert_cell_valid ((method_cache)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((method_cache)))))) [(0)])))) >> 8); } } { # 2512 "eval.c" SCM z; do { SCM args = arg1; z = ((const SCM *) (scm_assert_cell_valid ((method_cache)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((method_cache)))))) [(1)]))))[hash_value]; while (!((((scm_t_bits) ((args))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) { SCM class_of_arg = scm_class_of ((((scm_assert_cell_valid ((args)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((args)))))) [(0)])))))))); if (!(((scm_t_bits) (class_of_arg)) == ((scm_t_bits) ((((scm_assert_cell_valid ((z)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((z)))))) [(0)]))))))))))) goto next_method; args = (((scm_assert_cell_valid ((args)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((args)))))) [(1)]))))))); z = (((scm_assert_cell_valid ((z)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((z)))))) [(1)]))))))); } if (((((scm_t_bits) (((((scm_assert_cell_valid ((z)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((z)))))) [(0)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L)))))) || (!(6 & ((scm_t_bits) ((((scm_assert_cell_valid ((z)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((z)))))) [(0)])))))))))) && ((1 & (scm_assert_cell_valid (((((scm_assert_cell_valid ((z)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((z)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((z)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((z)))))) [(0)]))))))))))))) [(0)])))) == 0))) goto apply_cmethod; next_method: hash_value = (hash_value + 1) & mask; } while (hash_value != cache_end_pos); z = scm_memoize_method (x, arg1); apply_cmethod: { SCM formals = (((scm_assert_cell_valid (((((scm_assert_cell_valid ((z)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((z)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((z)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((z)))))) [(1)]))))))))))))) [(0)]))))))); env = scm_acons (formals, arg1, (((scm_assert_cell_valid ((z)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((z)))))) [(0)])))))))); x = (((scm_assert_cell_valid (((((scm_assert_cell_valid ((z)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((z)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((z)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((z)))))) [(1)]))))))))))))) [(1)]))))))); goto nontoplevel_begin; } } } case ((((scm_t_bits) (((SCM) (((23) << 9) + 0x74L)))) >> 9)): x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); { SCM instance = ((6 & ((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) ? (((((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))) & 0xff)==scm_tc8_iloc) ? *scm_ilookup (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))), env) : (((((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))) ? scm_misc_error (((void *)0), scm_s_expression, ((SCM) (((20) << 9) + 0x174L))), 0 : 0), ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) : ((!(6 & ((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((s! cm_t_bits) ((x)))))) [(0)])))))))))) && ((0x7f & (scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))))))) [(0)])))) == 5)) ? *scm_lookupcar (x, env, 1) : scm_ceval ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))), env))); unsigned long int slot = ((((scm_t_signed_bits) ((scm_t_bits) ((((scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))))))) [(0)])))))))))) >> (2))); do { return ((SCM) (((scm_t_bits *) (scm_assert_cell_valid ((instance)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((instance)))))) [(1)])))) [slot])); } while (0); } case ((((scm_t_bits) (((SCM) (((24) << 9) + 0x74L)))) >> 9)): x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); { SCM instance = ((6 & ((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) ? (((((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))) & 0xff)==scm_tc8_iloc) ? *scm_ilookup (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))), env) : (((((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))) ? scm_misc_error (((void *)0), scm_s_expression, ((SCM) (((20) << 9) + 0x174L))), 0 : 0), ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) : ((!(6 & ((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((s! cm_t_bits) ((x)))))) [(0)])))))))))) && ((0x7f & (scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))))))) [(0)])))) == 5)) ? *scm_lookupcar (x, env, 1) : scm_ceval ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))), env))); unsigned long int slot = ((((scm_t_signed_bits) ((scm_t_bits) ((((scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))))))) [(0)])))))))))) >> (2))); SCM value = ((6 & ((scm_t_bits) ((((scm_assert_cell_valid (((((scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))))))) [(1)]))))))))))))) [(0)])))))))))) ? (((((scm_t_bits) ((((scm_assert_cell_valid (((((scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm! _t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))))))) [(1)]))))))))))))) [(0)]))))))))) & 0xff)==scm_tc8_iloc) ? *scm_ilookup (((((scm_assert_cell_valid (((((scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((! (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))))))) [(1)]))))))))))))) [(0)])))))))), env) : (((((scm_t_bits) (((((scm_assert_cell_valid (((((scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))))))) [(1)]))))))))), ((((SCM! ) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))))))) [(1)]))))))))))))) [(0)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))) ? scm_misc_error (((void *)0), scm_s_expression, ((SCM) (((20) << 9) + 0x174L))), 0 : 0), ((((scm_assert_cell_valid (((((scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((sc! m_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))))))) [(1)]))))))))))))) [(0)])))))))))) : ((!(6 & ((scm_t_bits) ((((scm_assert_cell_valid (((((scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bi! ts) ((x)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))))))) [(1)]))))))))))))) [(0)])))))))))) && ((0x7f & (scm_assert_cell_valid (((((scm_assert_cell_valid (((((scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM)! (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))))))) [(1)]))))))))))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid (((((scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))))))) [(1)]))))))))))))) [(0)])))))))! )))))) [(0)])))) == 5)) ? *scm_lookupcar ((((scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))))))) [(1)]))))))), env, 1) : scm_ceval ((((scm_assert_cell_valid (((((scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))! ) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))))))) [(1)]))))))))))))) [(0)]))))))), env))); ((scm_t_bits *) (scm_assert_cell_valid ((instance)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((instance)))))) [(1)])))) [slot] = ((scm_t_bits) (value)); do { return ((SCM) (((21) << 9) + 0x174L)); } while (0); } case ((((scm_t_bits) (((SCM) (((25) << 9) + 0x74L)))) >> 9)): { SCM test_form = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); x = (((scm_assert_cell_valid ((test_form)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((test_form)))))) [(1)]))))))); while (!(((((scm_t_bits) ((x))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L)))))) || ((((scm_t_bits) ((x))) == ((scm_t_bits) (((SCM) (((30) << 9) + 0x174L)))))))) { SCM test_result = ((6 & ((scm_t_bits) ((((scm_assert_cell_valid ((test_form)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((test_form)))))) [(0)])))))))))) ? (((((scm_t_bits) ((((scm_assert_cell_valid ((test_form)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((test_form)))))) [(0)]))))))))) & 0xff)==scm_tc8_iloc) ? *scm_ilookup (((((scm_assert_cell_valid ((test_form)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((test_form)))))) [(0)])))))))), env) : (((((scm_t_bits) (((((scm_assert_cell_valid ((test_form)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((test_form)))))) [(0)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))) ? scm_misc_error (((void *)0), scm_s_expression, ((SCM) (((20) << 9) + 0x174L))), 0 : 0), ((((scm_assert_cell_valid ((test_form)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((test_form)))))) [(0)])))))))))) : ((!(6 & ((scm_t_bits! ) ((((scm_assert_cell_valid ((test_form)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((test_form)))))) [(0)])))))))))) && ((0x7f & (scm_assert_cell_valid (((((scm_assert_cell_valid ((test_form)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((test_form)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((test_form)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((test_form)))))) [(0)]))))))))))))) [(0)])))) == 5)) ? *scm_lookupcar (test_form, env, 1) : scm_ceval ((((scm_assert_cell_valid ((test_form)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((test_form)))))) [(0)]))))))), env))); if (!(((((scm_t_bits) ((test_result))) == ((scm_t_bits) (((SCM) (((16) << 9) + 0x174L)))))) || (((((scm_t_bits) ((test_result))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L)))))) || ((((scm_t_bits) ((test_result))) == ((scm_t_bits) (((SCM) (((30) << 9) + 0x174L))))))))) { if ((((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))) == ((scm_t_bits) (((SCM) (((21) << 9) + 0x174L)))))) do { return test_result; } while (0); ; goto carloop; } else { test_form = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); x = (((scm_assert_cell_valid ((test_form)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((test_form)))))) [(1)]))))))); } } x = test_form; ; goto carloop; } case ((((scm_t_bits) (((SCM) (((26) << 9) + 0x74L)))) >> 9)): { SCM vars, exps, vals; x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); vars = (((scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))))))) [(0)]))))))); exps = (((scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))))))) [(1)]))))))); vals = ((SCM) (((20) << 9) + 0x174L)); while ((!(6 & ((scm_t_bits) (exps))))) { vals = scm_cons (((6 & ((scm_t_bits) ((((scm_assert_cell_valid ((exps)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((exps)))))) [(0)])))))))))) ? (((((scm_t_bits) ((((scm_assert_cell_valid ((exps)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((exps)))))) [(0)]))))))))) & 0xff)==scm_tc8_iloc) ? *scm_ilookup (((((scm_assert_cell_valid ((exps)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((exps)))))) [(0)])))))))), env) : (((((scm_t_bits) (((((scm_assert_cell_valid ((exps)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((exps)))))) [(0)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))) ? scm_misc_error (((void *)0), scm_s_expression, ((SCM) (((20) << 9) + 0x174L))), 0 : 0), ((((scm_assert_cell_valid ((exps)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((exps)))))) [(0)])))))))))) : ((!(6 & ((scm_t_bits) ((((scm_assert_cell_valid ((exps)), ((((SCM) (((c! onst scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((exps)))))) [(0)])))))))))) && ((0x7f & (scm_assert_cell_valid (((((scm_assert_cell_valid ((exps)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((exps)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((exps)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((exps)))))) [(0)]))))))))))))) [(0)])))) == 5)) ? *scm_lookupcar (exps, env, 1) : scm_ceval ((((scm_assert_cell_valid ((exps)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((exps)))))) [(0)]))))))), env))), vals); exps = (((scm_assert_cell_valid ((exps)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((exps)))))) [(1)]))))))); } scm_swap_bindings (vars, vals); (scm_root->dynwinds) = scm_acons (vars, vals, (scm_root->dynwinds)); for (x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); !((((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L)))))); x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)])))))))) { if ((!(6 & ((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) && ((1 & (scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))))))) [(0)])))) == 0))) scm_ceval ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))), env); } proc = ((6 & ((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) ? (((((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))) & 0xff)==scm_tc8_iloc) ? *scm_ilookup (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))), env) : (((((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))) ? scm_misc_error (((void *)0), scm_s_expression, ((SCM) (((20) << 9) + 0x174L))), 0 : 0), ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) : ((!(6 & ((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bit! s) ((x)))))) [(0)])))))))))) && ((0x7f & (scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))))))) [(0)])))) == 5)) ? *scm_lookupcar (x, env, 1) : scm_ceval ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))), env))); (scm_root->dynwinds) = (((scm_assert_cell_valid (((scm_root->dynwinds))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((scm_root->dynwinds))))))) [(1)]))))))); scm_swap_bindings (vars, vals); do { return proc; } while (0); } case ((((scm_t_bits) (((SCM) (((28) << 9) + 0x74L)))) >> 9)): { proc = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); x = ((6 & ((scm_t_bits) ((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))))))))) ? (((((scm_t_bits) ((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))))))))) & 0xff)==scm_tc8_iloc) ? *scm_ilookup (((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))))))), env) : (((((scm_t_bits) (((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))) ? scm_misc_error (((void *)0), scm_s_expression, ((SCM) (((20) << 9) + 0x174L))), 0 : 0), ((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))))))))) : ((!(6 & ((scm_t_bits) ((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *! ) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))))))))) && ((0x7f & (scm_assert_cell_valid (((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))))))))))))) [(0)])))) == 5)) ? *scm_lookupcar (proc, env, 1) : scm_ceval ((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))))))), env))); proc = (((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)]))))))); proc = ((6 & ((scm_t_bits) ((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))))))))) ? (((((scm_t_bits) ((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))))))))) & 0xff)==scm_tc8_iloc) ? *scm_ilookup (((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))))))), env) : (((((scm_t_bits) (((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))) ? scm_misc_error (((void *)0), scm_s_expression, ((SCM) (((20) << 9) + 0x174L))), 0 : 0), ((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))))))))) : ((!(6 & ((scm_t_bits) ((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bit! s *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))))))))) && ((0x7f & (scm_assert_cell_valid (((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))))))))))))) [(0)])))) == 5)) ? *scm_lookupcar (proc, env, 1) : scm_ceval ((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))))))), env))); arg1 = scm_apply (x, ((SCM) (((20) << 9) + 0x174L)), ((SCM) (((20) << 9) + 0x174L))); if (((!(6 & ((scm_t_bits) (arg1))) && ((7 & (scm_assert_cell_valid ((arg1)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((arg1)))))) [(0)])))) == 1)) && (((scm_t_bits) (scm_struct_vtable (arg1))) == ((scm_t_bits) (scm_values_vtable))))) arg1 = scm_struct_ref (arg1, ((((SCM) ((((scm_t_signed_bits) (0)) << 2) + 2))))); else arg1 = scm_list_1 (arg1); if ((!(6 & ((scm_t_bits) (proc))) && ((7 & (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))) == 3))) { ; goto apply_closure; } return scm_apply (proc, arg1, ((SCM) (((20) << 9) + 0x174L))); } default: goto badfun; } default: proc = x; badfun: scm_misc_error (((void *)0), "Wrong type to apply: ~S", scm_list_1 (proc)); case 13: case 15: case 71: case 77: case 55: case 79: case 37: case 45: case 47: case 53: case 29: case 21: case 127: case 3:case 11:case 19:case 27: case 35:case 43:case 51:case 59: case 67:case 75:case 83:case 91: case 99:case 107:case 115:case 123: case 63: case 31: case 103:case 85:case 87:case 93: case 95:case 101:case 69:case 109: case 111:case 117:case 119: case 1:case 9:case 17:case 25: case 33:case 41:case 49:case 57: case 65:case 73:case 81:case 89: case 97:case 105:case 113:case 121: do { return x; } while (0); case 7: do { return (scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))); } while (0); case (127 & ((scm_t_bits) (((SCM) (((0L) << 8) + scm_tc8_iloc))))): proc = *scm_ilookup ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))), env); if (!((!(6 & ((scm_t_bits) (proc)))))) goto badfun; goto checkargs; case 0:case 8:case 16:case 24: case 32:case 40:case 48:case 56: case 64:case 72:case 80:case 88: case 96:case 104:case 112:case 120: if ((!(6 & ((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) && ((0x7f & (scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))))))) [(0)])))) == 5))) { SCM orig_sym = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))); # 2706 "eval.c" proc = *scm_lookupcar (x, env, 1); if ((6 & ((scm_t_bits) (proc)))) { (((scm_assert_cell_valid (((x))), ((((scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((x))))))) [(0)] = ((scm_t_bits) (((orig_sym))))))))); goto badfun; } if ((!(6 & ((scm_t_bits) ((proc)))) && (0xffff & (scm_assert_cell_valid (((proc))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((proc))))))) [(0)])))) == (scm_tc16_macro))) { (((scm_assert_cell_valid (((x))), ((((scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((x))))))) [(0)] = ((scm_t_bits) (((orig_sym))))))))); handle_a_macro: arg1 = scm_apply ((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)]))))), x, scm_cons (env, scm_sys_protects[1])); switch (((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) >> 16)) { case 2: if (scm_ilength (arg1) <= 0) arg1 = scm_list_2 (((SCM) (((1) << 9) + ((1) << 3) + 4L)), arg1); # 2750 "eval.c" do { asm (""); ; ; asm (""); scm_ints_disabled = 1; asm (""); } while (0); (((scm_assert_cell_valid (((x))), ((((scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((x))))))) [(0)] = ((scm_t_bits) ((((((scm_assert_cell_valid ((arg1)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((arg1)))))) [(0)])))))))))))))))); (((scm_assert_cell_valid (((x))), ((((scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((x))))))) [(1)] = ((scm_t_bits) ((((((scm_assert_cell_valid ((arg1)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((arg1)))))) [(1)])))))))))))))))); do { asm (""); ; ; asm (""); scm_ints_disabled = 0; asm (""); ; asm (""); } while (0); ; goto loop; case 1: x = arg1; if ((!(6 & ((scm_t_bits) (x))))) { ; goto loop; } else do { return arg1; } while (0); case 0: do { return arg1; } while (0); } } } else proc = scm_ceval ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))), env); if (!(!(6 & ((scm_t_bits) (proc))))) goto badfun; checkargs: if ((!(6 & ((scm_t_bits) (proc))) && ((7 & (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))) == 3))) { SCM formals = (((scm_assert_cell_valid (((((scm_assert_cell_valid ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))))))) [(0)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))))))) [(0)]))))))))))))) [(0)]))))))); SCM args = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); while (!((((scm_t_bits) ((formals))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) { if (!(!(6 & ((scm_t_bits) (formals))) && ((1 & (scm_assert_cell_valid ((formals)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((formals)))))) [(0)])))) == 0))) goto evapply; if ((6 & ((scm_t_bits) (args)))) goto umwrongnumargs; formals = (((scm_assert_cell_valid ((formals)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((formals)))))) [(1)]))))))); args = (((scm_assert_cell_valid ((args)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((args)))))) [(1)]))))))); } if (!((((scm_t_bits) ((args))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) goto umwrongnumargs; } else if ((!(6 & ((scm_t_bits) ((proc)))) && (0xffff & (scm_assert_cell_valid (((proc))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((proc))))))) [(0)])))) == (scm_tc16_macro))) goto handle_a_macro; } evapply: ; if (((((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) { ; evap0: switch ((0x7f & (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))))) { case 85: do { return ((SCM (*)()) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) (); } while (0); case 109: do { return ((SCM (*)()) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) (((SCM) (((18) << 9) + 0x174L))); } while (0); case 119: do { return ((SCM (*)()) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) (((SCM) (((20) << 9) + 0x174L))); } while (0); case 69: do { return ((SCM) (((17) << 9) + 0x174L)); } while (0); case 103: do { return ((SCM (*)()) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) (((SCM) (((18) << 9) + 0x174L)), ((SCM) (((18) << 9) + 0x174L))); } while (0); case 127: if (!((scm_smobs[((0x0ff & (((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))) >> 8)))]).apply)) goto badfun; do { return ((scm_smobs[((0x0ff & (((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))) >> 8)))]).apply_0 (proc)); } while (0); case 63: arg1 = proc; proc = ((((SCM) (((scm_t_bits *) (scm_assert_cell_valid (((proc))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((proc))))))) [(1)])))) [0])))); goto evap1; case 31: proc = (scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)]))))); if (!(!(6 & ((scm_t_bits) (proc))) && ((7 & (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))) == 3))) goto evap0; if (scm_badformalsp (proc, 0)) goto umwrongnumargs; case 3:case 11:case 19:case 27: case 35:case 43:case 51:case 59: case 67:case 75:case 83:case 91: case 99:case 107:case 115:case 123: x = (((scm_assert_cell_valid (((((scm_assert_cell_valid ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))))))) [(0)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))))))) [(0)]))))))))))))) [(1)]))))))); env = scm_acons ((((scm_assert_cell_valid (((((scm_assert_cell_valid ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))))))) [(0)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))))))) [(0)]))))))))))))) [(0)]))))))), ((SCM) (((20) << 9) + 0x174L)), (scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bit! s) ((proc)))))) [(1)])))))); goto nontoplevel_begin; case 1:case 9:case 17:case 25: case 33:case 41:case 49:case 57: case 65:case 73:case 81:case 89: case 97:case 105:case 113:case 121: if ((((scm_t_bits *) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 1)) [-1]) & (0x010 << 20)) { x = (((SCM) (((scm_t_bits *) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) [-5]))); arg1 = ((SCM) (((20) << 9) + 0x174L)); goto type_dispatch; } else if (!(((((scm_t_bits *) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 1)) [-1]) & (1L << 29)) != 0)) goto badfun; else { arg1 = proc; proc = ((((((scm_t_bits *) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 1)) [-1]) & (1L << 30)) != 0) ? (((SCM) (((scm_t_bits *) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) [-5]))) : (((struct scm_metaclass_operator *) ((scm_t_bits *) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 1)))->procedure)); if ((!(6 & ((scm_t_bits) (proc))))) goto evap1; else goto badfun; } case 87: case 101: case 111: case 93: case 95: case 117: umwrongnumargs: scm_unmemocar (x, env); scm_wrong_num_args (proc); default: goto badfun; } } x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); if ((!(6 & ((scm_t_bits) (x))) && ((1 & (scm_assert_cell_valid ((x)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))) == 0))) arg1 = ((6 & ((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) ? (((((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))) & 0xff)==scm_tc8_iloc) ? *scm_ilookup (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))), env) : (((((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))) ? scm_misc_error (((void *)0), scm_s_expression, ((SCM) (((20) << 9) + 0x174L))), 0 : 0), ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) : ((!(6 & ((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x))! )))) [(0)])))))))))) && ((0x7f & (scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))))))) [(0)])))) == 5)) ? *scm_lookupcar (x, env, 1) : scm_ceval ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))), env))); else scm_wrong_num_args (proc); x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); { SCM arg2; if (((((scm_t_bits) ((x))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) { ; evap1: switch ((0x7f & (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))))) { case 111: do { return ((SCM (*)()) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) (arg1, ((SCM) (((18) << 9) + 0x174L))); } while (0); case 87: case 109: do { return ((SCM (*)()) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) (arg1); } while (0); case 93: if (((SCM (*)()) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)]))))) { if ((2 & ((scm_t_bits) (arg1)))) { do { return scm_make_real (((double (*)()) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) ((double) ((((scm_t_signed_bits) ((scm_t_bits) (arg1))) >> (2))))); } while (0); } else if ((!(6 & ((scm_t_bits) (arg1))) && (0xffff & (scm_assert_cell_valid ((arg1)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((arg1)))))) [(0)])))) == (127 + 2 * 256L))) { do { return scm_make_real (((double (*)()) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) ((((scm_t_double *) ((scm_t_cell *) (((scm_t_bits) (arg1)))))->real))); } while (0); } else if ((!(6 & ((scm_t_bits) (arg1))) && ((0xffff & (scm_assert_cell_valid ((arg1)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((arg1)))))) [(0)])))) == (127 + 1 * 256L)))) { do { return scm_make_real (((double (*)()) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) (scm_i_big2dbl (arg1))); } while (0); } return (((scm_t_bits) (*((scm_subr_table[((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) >> 8)]).generic))) ? scm_call_generic_1 ((*((scm_subr_table[((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) >> 8)]).generic)), (arg1)) : (scm_wrong_type_arg ((((char *) ((scm_assert_cell_valid ((((scm_subr_table[((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) >> 8)]).name))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((((scm_subr_table[((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) >> 8)]).name))))))) [(1)])))))), (1), (arg1)), ((SCM) (((21) << 9) + 0x174L)))); } proc = ((scm_subr_table[((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) >> 8)]).name); { char *chrs = ((char *) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)]))))) + (((unsigned long) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))) >> 8) - 1; while ('c' != *--chrs) { if (!((!(6 & ((scm_t_bits) (arg1))) && ((1 & (scm_assert_cell_valid ((arg1)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((arg1)))))) [(0)])))) == 0)))) scm_wrong_type_arg (((char *) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)]))))), 1, arg1); arg1 = ('a' == *chrs) ? (((scm_assert_cell_valid ((arg1)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((arg1)))))) [(0)]))))))) : (((scm_assert_cell_valid ((arg1)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((arg1)))))) [(1)]))))))); } do { return arg1; } while (0); } case 69: do { return ((SCM) (((17) << 9) + 0x174L)); } while (0); case 103: do { return ((SCM (*)()) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) (arg1, ((SCM) (((18) << 9) + 0x174L))); } while (0); case 119: do { return ((SCM (*)()) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) (scm_list_1 (arg1)); } while (0); case 127: if (!((scm_smobs[((0x0ff & (((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))) >> 8)))]).apply)) goto badfun; do { return ((scm_smobs[((0x0ff & (((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))) >> 8)))]).apply_1 (proc, (arg1))); } while (0); case 63: arg2 = arg1; arg1 = proc; proc = ((((SCM) (((scm_t_bits *) (scm_assert_cell_valid (((proc))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((proc))))))) [(1)])))) [0])))); goto evap2; case 31: proc = (scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)]))))); if (!(!(6 & ((scm_t_bits) (proc))) && ((7 & (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))) == 3))) goto evap1; if (scm_badformalsp (proc, 1)) goto umwrongnumargs; case 3:case 11:case 19:case 27: case 35:case 43:case 51:case 59: case 67:case 75:case 83:case 91: case 99:case 107:case 115:case 123: x = (((scm_assert_cell_valid (((((scm_assert_cell_valid ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))))))) [(0)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))))))) [(0)]))))))))))))) [(1)]))))))); env = scm_acons ((((scm_assert_cell_valid (((((scm_assert_cell_valid ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))))))) [(0)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))))))) [(0)]))))))))))))) [(0)]))))))), scm_list_1 (arg1), (scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc! )))))) [(1)])))))); goto nontoplevel_begin; case 1:case 9:case 17:case 25: case 33:case 41:case 49:case 57: case 65:case 73:case 81:case 89: case 97:case 105:case 113:case 121: if ((((scm_t_bits *) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 1)) [-1]) & (0x010 << 20)) { x = (((SCM) (((scm_t_bits *) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) [-5]))); arg1 = scm_list_1 (arg1); goto type_dispatch; } else if (!(((((scm_t_bits *) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 1)) [-1]) & (1L << 29)) != 0)) goto badfun; else { arg2 = arg1; arg1 = proc; proc = ((((((scm_t_bits *) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 1)) [-1]) & (1L << 30)) != 0) ? (((SCM) (((scm_t_bits *) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) [-5]))) : (((struct scm_metaclass_operator *) ((scm_t_bits *) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 1)))->procedure)); if ((!(6 & ((scm_t_bits) (proc))))) goto evap2; else goto badfun; } case 101: case 85: case 95: case 117: scm_wrong_num_args (proc); default: goto badfun; } } if ((!(6 & ((scm_t_bits) (x))) && ((1 & (scm_assert_cell_valid ((x)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))) == 0))) arg2 = ((6 & ((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) ? (((((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))) & 0xff)==scm_tc8_iloc) ? *scm_ilookup (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))), env) : (((((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))) ? scm_misc_error (((void *)0), scm_s_expression, ((SCM) (((20) << 9) + 0x174L))), 0 : 0), ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) : ((!(6 & ((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x! )))))) [(0)])))))))))) && ((0x7f & (scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))))))) [(0)])))) == 5)) ? *scm_lookupcar (x, env, 1) : scm_ceval ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))), env))); else scm_wrong_num_args (proc); { x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); if (((((scm_t_bits) ((x))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) { ; evap2: switch ((0x7f & (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))))) { case 101: case 111: do { return ((SCM (*)()) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) (arg1, arg2); } while (0); case 119: do { return ((SCM (*)()) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) (scm_list_2 (arg1, arg2)); } while (0); case 117: do { return ((SCM (*)()) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) (arg1, arg2, ((SCM) (((20) << 9) + 0x174L))); } while (0); case 69: case 103: do { return ((SCM (*)()) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) (arg1, arg2); } while (0); case 127: if (!((scm_smobs[((0x0ff & (((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))) >> 8)))]).apply)) goto badfun; do { return ((scm_smobs[((0x0ff & (((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))) >> 8)))]).apply_2 (proc, (arg1), (arg2))); } while (0); cclon: case 63: do { return scm_apply (((((SCM) (((scm_t_bits *) (scm_assert_cell_valid (((proc))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((proc))))))) [(1)])))) [0])))), scm_cons2 (proc, arg1, scm_cons (arg2, scm_eval_args (x, env, proc))), ((SCM) (((20) << 9) + 0x174L))); } while (0); case 1:case 9:case 17:case 25: case 33:case 41:case 49:case 57: case 65:case 73:case 81:case 89: case 97:case 105:case 113:case 121: if ((((scm_t_bits *) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 1)) [-1]) & (0x010 << 20)) { x = (((SCM) (((scm_t_bits *) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) [-5]))); arg1 = scm_list_2 (arg1, arg2); goto type_dispatch; } else if (!(((((scm_t_bits *) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 1)) [-1]) & (1L << 29)) != 0)) goto badfun; else { operatorn: do { return scm_apply ((((((scm_t_bits *) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 1)) [-1]) & (1L << 30)) != 0) ? (((SCM) (((scm_t_bits *) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) [-5]))) : (((struct scm_metaclass_operator *) ((scm_t_bits *) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 1)))->procedure), scm_cons2 (proc, arg1, scm_cons (arg2, scm_eval_args (x, env, proc))), ((SCM) (((20) << 9) + 0x174L))); } while (0); # 3093 "eval.c" } case 85: case 93: case 109: case 87: case 95: scm_wrong_num_args (proc); default: goto badfun; case 31: proc = (scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)]))))); if (!(!(6 & ((scm_t_bits) (proc))) && ((7 & (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))) == 3))) goto evap2; if (scm_badformalsp (proc, 2)) goto umwrongnumargs; case 3:case 11:case 19:case 27: case 35:case 43:case 51:case 59: case 67:case 75:case 83:case 91: case 99:case 107:case 115:case 123: env = scm_acons ((((scm_assert_cell_valid (((((scm_assert_cell_valid ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))))))) [(0)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))))))) [(0)]))))))))))))) [(0)]))))))), scm_list_2 (arg1, arg2), (scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))))); x = (((scm_assert_cell_valid (((((scm_assert_cell_valid ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))))))) [(0)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))))))) [(0)]))))))))))))) [(1)]))))))); goto nontoplevel_begin; } } if (!(!(6 & ((scm_t_bits) (x))) && ((1 & (scm_assert_cell_valid ((x)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))) == 0))) scm_wrong_num_args (proc); ; evap3: switch ((0x7f & (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))))) { # 3193 "eval.c" case 95: if (!((((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) scm_wrong_num_args (proc); else do { return ((SCM (*)()) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) (arg1, arg2, ((6 & ((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) ? (((((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))) & 0xff)==scm_tc8_iloc) ? *scm_ilookup (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))), env) : (((((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))) ? scm_misc_error (((void *)0), scm_s_expression, ((SCM) (((20) << 9) + 0x174L))), 0 : 0), ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (! (x)))))) [(0)])))))))))) : ((!(6 & ((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) && ((0x7f & (scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))))))) [(0)])))) == 5)) ? *scm_lookupcar (x, env, 1) : scm_ceval ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))), env)))); } while (0); case 103: arg1 = ((SCM (*)()) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) (arg1, arg2); do { arg1 = ((SCM (*)()) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)]))))(arg1, ((6 & ((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) ? (((((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))) & 0xff)==scm_tc8_iloc) ? *scm_ilookup (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))), env) : (((((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))) ? scm_misc_error (((void *)0), scm_s_expression, ((SCM) (((20) << 9) + 0x174L))), 0 : 0), ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [! (0)])))))))))) : ((!(6 & ((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) && ((0x7f & (scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))))))) [(0)])))) == 5)) ? *scm_lookupcar (x, env, 1) : scm_ceval ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))), env)))); x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); } while ((!(6 & ((scm_t_bits) (x))))); do { return arg1; } while (0); case 69: if (((((scm_t_bits) ((((SCM (*)()) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) (arg1, arg2)))) == ((scm_t_bits) (((SCM) (((16) << 9) + 0x174L))))))) do { return ((SCM) (((16) << 9) + 0x174L)); } while (0); do { arg1 = ((6 & ((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) ? (((((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))) & 0xff)==scm_tc8_iloc) ? *scm_ilookup (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))), env) : (((((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))) ? scm_misc_error (((void *)0), scm_s_expression, ((SCM) (((20) << 9) + 0x174L))), 0 : 0), ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) : ((!(6 & ((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_b! its) ((x)))))) [(0)])))))))))) && ((0x7f & (scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))))))) [(0)])))) == 5)) ? *scm_lookupcar (x, env, 1) : scm_ceval ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))), env))); if (((((scm_t_bits) ((((SCM (*)()) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) (arg2, arg1)))) == ((scm_t_bits) (((SCM) (((16) << 9) + 0x174L))))))) do { return ((SCM) (((16) << 9) + 0x174L)); } while (0); arg2 = arg1; x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); } while ((!(6 & ((scm_t_bits) (x))))); do { return ((SCM) (((17) << 9) + 0x174L)); } while (0); case 117: do { return ((SCM (*)()) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) (arg1, arg2, scm_eval_args (x, env, proc)); } while (0); case 119: do { return ((SCM (*)()) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) (scm_cons2 (arg1, arg2, scm_eval_args (x, env, proc))); } while (0); case 127: if (!((scm_smobs[((0x0ff & (((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))) >> 8)))]).apply)) goto badfun; do { return ((scm_smobs[((0x0ff & (((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))) >> 8)))]).apply_3 (proc, (arg1), (arg2), (scm_eval_args (x, env, proc)))); } while (0); case 63: goto cclon; case 31: proc = (scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)]))))); if (!(!(6 & ((scm_t_bits) (proc))) && ((7 & (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))) == 3))) goto evap3; { SCM formals = (((scm_assert_cell_valid (((((scm_assert_cell_valid ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))))))) [(0)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))))))) [(0)]))))))))))))) [(0)]))))))); if (((((scm_t_bits) ((formals))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L)))))) || ((!(6 & ((scm_t_bits) (formals))) && ((1 & (scm_assert_cell_valid ((formals)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((formals)))))) [(0)])))) == 0)) && (((((scm_t_bits) (((((scm_assert_cell_valid ((formals)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((formals)))))) [(1)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L)))))) || ((!(6 & ((scm_t_bits) ((((scm_assert_cell_valid ((formals)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((formals)))))) [(1)])))))))))) && ((1 & (scm_assert_cell_valid (((((scm_assert_cell_valid ((formals)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((formals)))))) [(1)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((formals)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((formals)))))) [(1)]))))))))))))) [(0)])))) == 0)) && scm_badargsp ((((scm_assert_cell_valid (((((scm_assert_cell_valid ((formals)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((formals)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((formals)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((formals)))))) [(1)]))))))))))))) [(1)]))))))), x))))) goto umwrongnumargs; } case 3:case 11:case 19:case 27: case 35:case 43:case 51:case 59: case 67:case 75:case 83:case 91: case 99:case 107:case 115:case 123: env = scm_acons ((((scm_assert_cell_valid (((((scm_assert_cell_valid ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))))))) [(0)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))))))) [(0)]))))))))))))) [(0)]))))))), scm_cons2 (arg1, arg2, scm_eval_args (x, env, proc)), (scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))))); x = (((scm_assert_cell_valid (((((scm_assert_cell_valid ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))))))) [(0)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))))))) [(0)]))))))))))))) [(1)]))))))); goto nontoplevel_begin; case 1:case 9:case 17:case 25: case 33:case 41:case 49:case 57: case 65:case 73:case 81:case 89: case 97:case 105:case 113:case 121: if ((((scm_t_bits *) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 1)) [-1]) & (0x010 << 20)) { arg1 = scm_cons2 (arg1, arg2, scm_eval_args (x, env, proc)); x = (((SCM) (((scm_t_bits *) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) [-5]))); goto type_dispatch; } else if (!(((((scm_t_bits *) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 1)) [-1]) & (1L << 29)) != 0)) goto badfun; else goto operatorn; case 101: case 109: case 111: case 85: case 93: case 87: scm_wrong_num_args (proc); default: goto badfun; } } } # 3314 "eval.c" } # 3326 "eval.c" SCM scm_call_0 (SCM proc) { return scm_apply (proc, ((SCM) (((20) << 9) + 0x174L)), ((SCM) (((20) << 9) + 0x174L))); } SCM scm_call_1 (SCM proc, SCM arg1) { return scm_apply (proc, arg1, scm_sys_protects[1]); } SCM scm_call_2 (SCM proc, SCM arg1, SCM arg2) { return scm_apply (proc, arg1, scm_cons (arg2, scm_sys_protects[1])); } SCM scm_call_3 (SCM proc, SCM arg1, SCM arg2, SCM arg3) { return scm_apply (proc, arg1, scm_cons2 (arg2, arg3, scm_sys_protects[1])); } SCM scm_call_4 (SCM proc, SCM arg1, SCM arg2, SCM arg3, SCM arg4) { return scm_apply (proc, arg1, scm_cons2 (arg2, arg3, scm_cons (arg4, scm_sys_protects[1]))); } SCM scm_apply_0 (SCM proc, SCM args) { return scm_apply (proc, args, ((SCM) (((20) << 9) + 0x174L))); } SCM scm_apply_1 (SCM proc, SCM arg1, SCM args) { return scm_apply (proc, scm_cons (arg1, args), ((SCM) (((20) << 9) + 0x174L))); } SCM scm_apply_2 (SCM proc, SCM arg1, SCM arg2, SCM args) { return scm_apply (proc, scm_cons2 (arg1, arg2, args), ((SCM) (((20) << 9) + 0x174L))); } SCM scm_apply_3 (SCM proc, SCM arg1, SCM arg2, SCM arg3, SCM args) { return scm_apply (proc, scm_cons (arg1, scm_cons2 (arg2, arg3, args)), ((SCM) (((20) << 9) + 0x174L))); } # 3404 "eval.c" static const char s_scm_nconc2last [] = "apply:nconc2last"; SCM scm_nconc2last (SCM lst) # 3414 "eval.c" { SCM *lloc; do { if (!(scm_ilength (lst) > 0)) scm_wrong_type_arg (s_scm_nconc2last, 1, lst); } while (0); lloc = &lst; while (!((((scm_t_bits) (((((scm_assert_cell_valid ((*lloc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((*lloc)))))) [(1)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) lloc = ((SCM *) ((scm_t_bits *) & (scm_assert_cell_valid (((*lloc))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((*lloc))))))) [(1)]))))); if (!(scm_ilength ((((scm_assert_cell_valid ((*lloc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((*lloc)))))) [(0)])))))))) >= 0)) scm_wrong_type_arg (s_scm_nconc2last, 1, lst); *lloc = (((scm_assert_cell_valid ((*lloc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((*lloc)))))) [(0)]))))))); return lst; } # 3460 "eval.c" SCM scm_apply (SCM proc, SCM arg1, SCM args) { # 3474 "eval.c" if (scm_debug_mode) return scm_dapply (proc, arg1, args); if (!((!(6 & ((scm_t_bits) (proc)))))) goto badproc; # 3493 "eval.c" if (((((scm_t_bits) ((args))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) { if (((((scm_t_bits) ((arg1))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) { arg1 = ((SCM) (((18) << 9) + 0x174L)); } else { args = (((scm_assert_cell_valid ((arg1)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((arg1)))))) [(1)]))))))); arg1 = (((scm_assert_cell_valid ((arg1)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((arg1)))))) [(0)]))))))); } } else { args = scm_nconc2last (args); } # 3539 "eval.c" tail: switch ((0x7f & (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))))) { case 111: args = ((((scm_t_bits) ((args))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L)))))) ? ((SCM) (((18) << 9) + 0x174L)) : (((scm_assert_cell_valid ((args)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((args)))))) [(0)]))))))); do { return ((SCM (*)()) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) (arg1, args); } while (0); case 101: if (((((scm_t_bits) ((args))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L)))))) || !((((scm_t_bits) (((((scm_assert_cell_valid ((args)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((args)))))) [(1)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) scm_wrong_num_args (proc); args = (((scm_assert_cell_valid ((args)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((args)))))) [(0)]))))))); do { return ((SCM (*)()) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) (arg1, args); } while (0); case 85: if (!((((scm_t_bits) ((arg1))) == ((scm_t_bits) (((SCM) (((18) << 9) + 0x174L))))))) scm_wrong_num_args (proc); else do { return ((SCM (*)()) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) (); } while (0); case 87: if (((((scm_t_bits) ((arg1))) == ((scm_t_bits) (((SCM) (((18) << 9) + 0x174L))))))) scm_wrong_num_args (proc); case 109: if (!((((scm_t_bits) ((args))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) scm_wrong_num_args (proc); else do { return ((SCM (*)()) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) (arg1); } while (0); case 93: if (((((scm_t_bits) ((arg1))) == ((scm_t_bits) (((SCM) (((18) << 9) + 0x174L)))))) || !((((scm_t_bits) ((args))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) scm_wrong_num_args (proc); if (((SCM (*)()) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)]))))) { if ((2 & ((scm_t_bits) (arg1)))) { do { return scm_make_real (((double (*)()) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) ((double) ((((scm_t_signed_bits) ((scm_t_bits) (arg1))) >> (2))))); } while (0); } else if ((!(6 & ((scm_t_bits) (arg1))) && (0xffff & (scm_assert_cell_valid ((arg1)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((arg1)))))) [(0)])))) == (127 + 2 * 256L))) { do { return scm_make_real (((double (*)()) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) ((((scm_t_double *) ((scm_t_cell *) (((scm_t_bits) (arg1)))))->real))); } while (0); } else if ((!(6 & ((scm_t_bits) (arg1))) && ((0xffff & (scm_assert_cell_valid ((arg1)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((arg1)))))) [(0)])))) == (127 + 1 * 256L)))) do { return scm_make_real (((double (*)()) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) (scm_i_big2dbl (arg1))); } while (0); return (((scm_t_bits) (*((scm_subr_table[((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) >> 8)]).generic))) ? scm_call_generic_1 ((*((scm_subr_table[((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) >> 8)]).generic)), (arg1)) : (scm_wrong_type_arg ((((char *) ((scm_assert_cell_valid ((((scm_subr_table[((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) >> 8)]).name))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((((scm_subr_table[((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) >> 8)]).name))))))) [(1)])))))), (1), (arg1)), ((SCM) (((21) << 9) + 0x174L)))); } proc = ((scm_subr_table[((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) >> 8)]).name); { char *chrs = ((char *) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)]))))) + (((unsigned long) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))) >> 8) - 1; while ('c' != *--chrs) { if (!((!(6 & ((scm_t_bits) (arg1))) && ((1 & (scm_assert_cell_valid ((arg1)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((arg1)))))) [(0)])))) == 0)))) scm_wrong_type_arg (((char *) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)]))))), 1, arg1); arg1 = ('a' == *chrs) ? (((scm_assert_cell_valid ((arg1)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((arg1)))))) [(0)]))))))) : (((scm_assert_cell_valid ((arg1)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((arg1)))))) [(1)]))))))); } do { return arg1; } while (0); } case 95: if (((((scm_t_bits) ((args))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L)))))) || ((((scm_t_bits) (((((scm_assert_cell_valid ((args)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((args)))))) [(1)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L)))))) || !((((scm_t_bits) (((((scm_assert_cell_valid (((((scm_assert_cell_valid ((args)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((args)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((args)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((args)))))) [(1)]))))))))))))) [(1)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) scm_wrong_num_args (proc); else do { return ((SCM (*)()) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) (arg1, (((scm_assert_cell_valid ((args)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((args)))))) [(0)]))))))), (((scm_assert_cell_valid (((((scm_assert_cell_valid ((args)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((args)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((args)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((args)))))) [(1)]))))))))))))) [(0)])))))))); } while (0); case 119: do { return ((SCM (*)()) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) (((((scm_t_bits) ((arg1))) == ((scm_t_bits) (((SCM) (((18) << 9) + 0x174L)))))) ? ((SCM) (((20) << 9) + 0x174L)) : scm_cons (arg1, args)); } while (0); case 117: if (!(!(6 & ((scm_t_bits) (args))) && ((1 & (scm_assert_cell_valid ((args)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((args)))))) [(0)])))) == 0))) scm_wrong_num_args (proc); else do { return ((SCM (*)()) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) (arg1, (((scm_assert_cell_valid ((args)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((args)))))) [(0)]))))))), (((scm_assert_cell_valid ((args)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((args)))))) [(1)])))))))); } while (0); case 103: if (((((scm_t_bits) ((args))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) do { return ((SCM (*)()) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) (arg1, ((SCM) (((18) << 9) + 0x174L))); } while (0); while ((!(6 & ((scm_t_bits) (args))))) { if (!((!(6 & ((scm_t_bits) (args))) && ((1 & (scm_assert_cell_valid ((args)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((args)))))) [(0)])))) == 0)))) scm_wrong_type_arg ("apply", 2, args); arg1 = ((SCM (*)()) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) (arg1, (((scm_assert_cell_valid ((args)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((args)))))) [(0)])))))))); args = (((scm_assert_cell_valid ((args)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((args)))))) [(1)]))))))); } do { return arg1; } while (0); case 69: if (((((scm_t_bits) ((args))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) do { return ((SCM) (((17) << 9) + 0x174L)); } while (0); while ((!(6 & ((scm_t_bits) (args))))) { if (!((!(6 & ((scm_t_bits) (args))) && ((1 & (scm_assert_cell_valid ((args)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((args)))))) [(0)])))) == 0)))) scm_wrong_type_arg ("apply", 2, args); if (((((scm_t_bits) ((((SCM (*)()) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) (arg1, (((scm_assert_cell_valid ((args)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((args)))))) [(0)]))))))))))) == ((scm_t_bits) (((SCM) (((16) << 9) + 0x174L))))))) do { return ((SCM) (((16) << 9) + 0x174L)); } while (0); arg1 = (((scm_assert_cell_valid ((args)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((args)))))) [(0)]))))))); args = (((scm_assert_cell_valid ((args)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((args)))))) [(1)]))))))); } do { return ((SCM) (((17) << 9) + 0x174L)); } while (0); case 3:case 11:case 19:case 27: case 35:case 43:case 51:case 59: case 67:case 75:case 83:case 91: case 99:case 107:case 115:case 123: arg1 = (((((scm_t_bits) ((arg1))) == ((scm_t_bits) (((SCM) (((18) << 9) + 0x174L)))))) ? ((SCM) (((20) << 9) + 0x174L)) : scm_cons (arg1, args)); if (scm_badargsp ((((scm_assert_cell_valid (((((scm_assert_cell_valid ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))))))) [(0)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))))))) [(0)]))))))))))))) [(0)]))))))), arg1)) scm_wrong_num_args (proc); if ((6 & ((scm_t_bits) (arg1)))) args = arg1; else { SCM tl = args = scm_cons ((((scm_assert_cell_valid ((arg1)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((arg1)))))) [(0)]))))))), ((SCM) (((21) << 9) + 0x174L))); while (arg1 = (((scm_assert_cell_valid ((arg1)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((arg1)))))) [(1)]))))))), (!(6 & ((scm_t_bits) (arg1))) && ((1 & (scm_assert_cell_valid ((arg1)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((arg1)))))) [(0)])))) == 0))) { (((scm_assert_cell_valid (((tl))), ((((scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((tl))))))) [(1)] = ((scm_t_bits) (((scm_cons ((((scm_assert_cell_valid ((arg1)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((arg1)))))) [(0)]))))))), ((SCM) (((21) << 9) + 0x174L)))))))))))); tl = (((scm_assert_cell_valid ((tl)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((tl)))))) [(1)]))))))); } (((scm_assert_cell_valid (((tl))), ((((scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((tl))))))) [(1)] = ((scm_t_bits) (((arg1))))))))); } args = scm_acons ((((scm_assert_cell_valid (((((scm_assert_cell_valid ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))))))) [(0)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))))))) [(0)]))))))))))))) [(0)]))))))), args, (scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))))); proc = (((scm_assert_cell_valid (((((scm_assert_cell_valid ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))))))) [(0)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))))))) [(0)]))))))))))))) [(1)]))))))); again: arg1 = proc; while (!((((scm_t_bits) ((arg1 = (((scm_assert_cell_valid ((arg1)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((arg1)))))) [(1)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) { if ((6 & ((scm_t_bits) ((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))))))))))) { if (((0x187 & ((scm_t_bits) ((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))))))))) == 4)) { proc = scm_m_expand_body (proc, args); goto again; } else do { if ((((scm_t_bits) (((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L)))))) scm_misc_error (((void *)0), scm_s_expression, ((SCM) (((20) << 9) + 0x174L))); } while (0); } else scm_ceval ((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))))))), args); proc = arg1; } do { return ((6 & ((scm_t_bits) ((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))))))))) ? (((((scm_t_bits) ((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))))))))) & 0xff)==scm_tc8_iloc) ? *scm_ilookup (((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))))))), args) : (((((scm_t_bits) (((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))) ? scm_misc_error (((void *)0), scm_s_expression, ((SCM) (((20) << 9) + 0x174L))), 0 : 0), ((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))))))))) : ((!(6 & ((scm_t_bits) ((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bit! s *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))))))))) && ((0x7f & (scm_assert_cell_valid (((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))))))))))))) [(0)])))) == 5)) ? *scm_lookupcar (proc, args, 1) : scm_ceval ((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))))))), args))); } while (0); case 127: if (!((scm_smobs[((0x0ff & (((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))) >> 8)))]).apply)) goto badproc; if (((((scm_t_bits) ((arg1))) == ((scm_t_bits) (((SCM) (((18) << 9) + 0x174L))))))) do { return ((scm_smobs[((0x0ff & (((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))) >> 8)))]).apply_0 (proc)); } while (0); else if (((((scm_t_bits) ((args))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) do { return ((scm_smobs[((0x0ff & (((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))) >> 8)))]).apply_1 (proc, (arg1))); } while (0); else if (((((scm_t_bits) (((((scm_assert_cell_valid ((args)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((args)))))) [(1)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) do { return ((scm_smobs[((0x0ff & (((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))) >> 8)))]).apply_2 (proc, (arg1), ((((scm_assert_cell_valid ((args)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((args)))))) [(0)])))))))))); } while (0); else do { return ((scm_smobs[((0x0ff & (((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))) >> 8)))]).apply_3 (proc, (arg1), ((((scm_assert_cell_valid ((args)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((args)))))) [(0)])))))))), ((((scm_assert_cell_valid ((args)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((args)))))) [(1)])))))))))); } while (0); case 63: args = (((((scm_t_bits) ((arg1))) == ((scm_t_bits) (((SCM) (((18) << 9) + 0x174L)))))) ? ((SCM) (((20) << 9) + 0x174L)) : scm_cons (arg1, args)); arg1 = proc; proc = ((((SCM) (((scm_t_bits *) (scm_assert_cell_valid (((proc))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((proc))))))) [(1)])))) [0])))); goto tail; case 31: proc = (scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)]))))); goto tail; case 1:case 9:case 17:case 25: case 33:case 41:case 49:case 57: case 65:case 73:case 81:case 89: case 97:case 105:case 113:case 121: if ((((scm_t_bits *) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 1)) [-1]) & (0x010 << 20)) { args = (((((scm_t_bits) ((arg1))) == ((scm_t_bits) (((SCM) (((18) << 9) + 0x174L)))))) ? ((SCM) (((20) << 9) + 0x174L)) : scm_cons (arg1, args)); do { return scm_apply_generic (proc, args); } while (0); } else if (!(((((scm_t_bits *) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 1)) [-1]) & (1L << 29)) != 0)) goto badproc; else { args = (((((scm_t_bits) ((arg1))) == ((scm_t_bits) (((SCM) (((18) << 9) + 0x174L)))))) ? ((SCM) (((20) << 9) + 0x174L)) : scm_cons (arg1, args)); arg1 = proc; proc = ((((((scm_t_bits *) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 1)) [-1]) & (1L << 30)) != 0) ? (((SCM) (((scm_t_bits *) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) [-5]))) : (((struct scm_metaclass_operator *) ((scm_t_bits *) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 1)))->procedure)); if ((!(6 & ((scm_t_bits) (proc))))) goto tail; else goto badproc; } default: badproc: scm_wrong_type_arg ("apply", 1, proc); } # 3774 "eval.c" } # 3787 "eval.c" static inline void check_map_args (SCM argv, long len, SCM gf, SCM proc, SCM args, const char *who) { SCM const *ve = ((const SCM *) (scm_assert_cell_valid ((argv)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((argv)))))) [(1)])))); long i; for (i = (((unsigned long) (scm_assert_cell_valid ((argv)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((argv)))))) [(0)])))) >> 8) - 1; i >= 1; i--) { long elt_len = scm_ilength (ve[i]); if (elt_len < 0) { if (gf) scm_apply_generic (gf, scm_cons (proc, args)); else scm_wrong_type_arg (who, i + 2, ve[i]); } if (elt_len != len) scm_out_of_range (who, ve[i]); } scm_remember_upto_here_1 (argv); } static const char s_map[]="map";static SCM g_map; # 3827 "eval.c" SCM scm_map (SCM proc, SCM arg1, SCM args) { long i, len; SCM res = ((SCM) (((20) << 9) + 0x174L)); SCM *pres = &res; SCM const *ve = &args; len = scm_ilength (arg1); if (!(len >= 0)) return (((scm_t_bits) ((g_map))) ? scm_apply_generic (((g_map)), ((scm_cons2 (proc, arg1, args)))) : (scm_wrong_type_arg (((s_map)), ((2)), scm_list_ref (((scm_cons2 (proc, arg1, args))), (((SCM) ((((scm_t_signed_bits) (((2)) - 1)) << 2) + 2))))), ((SCM) (((21) << 9) + 0x174L)))); do { if (0) { if (scm_ilength (args) < 0) { do { scm_misc_error (s_map, "Rest arguments do not form a proper list.", ((SCM) (((20) << 9) + 0x174L))); } while (0); } } } while (0); if (((((scm_t_bits) ((args))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) { while ((!(6 & ((scm_t_bits) (arg1))))) { *pres = scm_list_1 (scm_apply (proc, (((scm_assert_cell_valid ((arg1)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((arg1)))))) [(0)]))))))), scm_sys_protects[1])); pres = ((SCM *) ((scm_t_bits *) & (scm_assert_cell_valid (((*pres))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((*pres))))))) [(1)]))))); arg1 = (((scm_assert_cell_valid ((arg1)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((arg1)))))) [(1)]))))))); } return res; } args = scm_vector (arg1 = scm_cons (arg1, args)); ve = ((const SCM *) (scm_assert_cell_valid ((args)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((args)))))) [(1)])))); check_map_args (args, len, g_map, proc, arg1, s_map); while (1) { arg1 = ((SCM) (((20) << 9) + 0x174L)); for (i = (((unsigned long) (scm_assert_cell_valid ((args)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((args)))))) [(0)])))) >> 8) - 1; i >= 0; i--) { if ((6 & ((scm_t_bits) (ve[i])))) return res; arg1 = scm_cons ((((scm_assert_cell_valid ((ve[i])), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((ve[i])))))) [(0)]))))))), arg1); (((SCM*)(scm_assert_cell_valid ((args)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((args)))))) [(1)]))))[(i)] = ((((scm_assert_cell_valid ((ve[i])), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((ve[i])))))) [(1)]))))))))); } *pres = scm_list_1 (scm_apply (proc, arg1, ((SCM) (((20) << 9) + 0x174L)))); pres = ((SCM *) ((scm_t_bits *) & (scm_assert_cell_valid (((*pres))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((*pres))))))) [(1)]))))); } } static const char s_for_each[]="for-each";static SCM g_for_each; SCM scm_for_each (SCM proc, SCM arg1, SCM args) { SCM const *ve = &args; long i, len; len = scm_ilength (arg1); if (!(len >= 0)) return (((scm_t_bits) ((g_for_each))) ? scm_apply_generic (((g_for_each)), ((scm_cons2 (proc, arg1, args)))) : (scm_wrong_type_arg (((s_for_each)), ((2)), scm_list_ref (((scm_cons2 (proc, arg1, args))), (((SCM) ((((scm_t_signed_bits) (((2)) - 1)) << 2) + 2))))), ((SCM) (((21) << 9) + 0x174L)))); do { if (0) { if (scm_ilength (args) < 0) { do { scm_misc_error (s_for_each, "Rest arguments do not form a proper list.", ((SCM) (((20) << 9) + 0x174L))); } while (0); } } } while (0); if (((((scm_t_bits) ((args))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) { while ((!(6 & ((scm_t_bits) (arg1))))) { scm_apply (proc, (((scm_assert_cell_valid ((arg1)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((arg1)))))) [(0)]))))))), scm_sys_protects[1]); arg1 = (((scm_assert_cell_valid ((arg1)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((arg1)))))) [(1)]))))))); } return ((SCM) (((21) << 9) + 0x174L)); } args = scm_vector (arg1 = scm_cons (arg1, args)); ve = ((const SCM *) (scm_assert_cell_valid ((args)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((args)))))) [(1)])))); check_map_args (args, len, g_for_each, proc, arg1, s_for_each); while (1) { arg1 = ((SCM) (((20) << 9) + 0x174L)); for (i = (((unsigned long) (scm_assert_cell_valid ((args)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((args)))))) [(0)])))) >> 8) - 1; i >= 0; i--) { if ((6 & ((scm_t_bits) (ve[i])))) return ((SCM) (((21) << 9) + 0x174L)); arg1 = scm_cons ((((scm_assert_cell_valid ((ve[i])), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((ve[i])))))) [(0)]))))))), arg1); (((SCM*)(scm_assert_cell_valid ((args)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((args)))))) [(1)]))))[(i)] = ((((scm_assert_cell_valid ((ve[i])), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((ve[i])))))) [(1)]))))))))); } scm_apply (proc, arg1, ((SCM) (((20) << 9) + 0x174L))); } } SCM scm_closure (SCM code, SCM env) { SCM z; SCM closcar = scm_cons (code, ((SCM) (((20) << 9) + 0x174L))); z = scm_cell (((scm_t_bits) (closcar)) + 3, (scm_t_bits) env); scm_remember_upto_here (closcar); return z; } scm_t_bits scm_tc16_promise; SCM scm_makprom (SCM code) { do { SCM __SCM_smob_answer; do { __SCM_smob_answer = scm_cell (((scm_tc16_promise)), (scm_t_bits) ((((scm_t_bits) (code))))); } while (0); return __SCM_smob_answer; } while (0); } static int promise_print (SCM exp, SCM port, scm_print_state *pstate) { int writingp = ((pstate)->writingp); scm_puts ("#writingp = (1); }; scm_iprin1 ((scm_assert_cell_valid ((exp)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((exp)))))) [(1)]))))), port, pstate); { (pstate)->writingp = (writingp); }; scm_putc ('>', port); return !0; } static const char s_scm_force [] = "force"; SCM scm_force (SCM x) { do { if (!((!(6 & ((scm_t_bits) (x))) && (0xffff & (scm_assert_cell_valid ((x)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))) == (scm_tc16_promise)))) scm_wrong_type_arg (s_scm_force, 1, x); } while (0); if (!((1L << 16) & (scm_assert_cell_valid ((x)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))) { SCM ans = scm_call_0 ((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)])))))); if (!((1L << 16) & (scm_assert_cell_valid ((x)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))) { do { asm (""); ; ; asm (""); scm_ints_disabled = 1; asm (""); } while (0); (scm_assert_cell_valid ((x)), ((((scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)] = ((scm_t_bits) ((ans)))))); (scm_assert_cell_valid ((x)), ((((scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)] = (scm_t_bits) (((scm_assert_cell_valid ((x)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))) | (1L << 16)))))); do { asm (""); ; ; asm (""); scm_ints_disabled = 0; asm (""); ; asm (""); } while (0); } } return (scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))); } static const char s_scm_promise_p [] = "promise?"; SCM scm_promise_p (SCM obj) { return (((!(6 & ((scm_t_bits) (obj))) && (0xffff & (scm_assert_cell_valid ((obj)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((obj)))))) [(0)])))) == (scm_tc16_promise))) ? ((SCM) (((17) << 9) + 0x174L)) : ((SCM) (((16) << 9) + 0x174L))); } static const char s_scm_cons_source [] = "cons-source"; SCM scm_cons_source (SCM xorig, SCM x, SCM y) { SCM p, z; z = scm_cons (x, y); p = scm_hash_fn_ref (scm_sys_protects[13], xorig, ((SCM) (((16) << 9) + 0x174L)), scm_ihashq, scm_sloppy_assq, 0); if (!(6 & ((scm_t_bits) (p)))) do { register SCM w = (scm_sys_protects[13]); (((scm_assert_cell_valid (((scm_hash_fn_create_handle_x (w, z, ((SCM) (((21) << 9) + 0x174L)), scm_ihashq, scm_sloppy_assq, 0)))), ((((scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((scm_hash_fn_create_handle_x (w, z, ((SCM) (((21) << 9) + 0x174L)), scm_ihashq, scm_sloppy_assq, 0)))))))) [(1)] = ((scm_t_bits) (((p))))))))); } while (0); return z; } static const char s_scm_copy_tree [] = "copy-tree"; SCM scm_copy_tree (SCM obj) { SCM ans, tl; if ((6 & ((scm_t_bits) (obj)))) return obj; if ((!(6 & ((scm_t_bits) (obj))) && (((0x7f & ~2) & (scm_assert_cell_valid ((obj)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((obj)))))) [(0)])))) == 13))) { unsigned long i = (((unsigned long) (scm_assert_cell_valid ((obj)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((obj)))))) [(0)])))) >> 8); ans = scm_c_make_vector (i, ((SCM) (((21) << 9) + 0x174L))); while (i--) (((SCM*)(scm_assert_cell_valid ((ans)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((ans)))))) [(1)]))))[(i)] = (scm_copy_tree (((const SCM *) (scm_assert_cell_valid ((obj)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((obj)))))) [(1)]))))[i]))); return ans; } if (!(!(6 & ((scm_t_bits) (obj))) && ((1 & (scm_assert_cell_valid ((obj)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((obj)))))) [(0)])))) == 0))) return obj; ans = tl = scm_cons_source (obj, scm_copy_tree ((((scm_assert_cell_valid ((obj)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((obj)))))) [(0)])))))))), ((SCM) (((21) << 9) + 0x174L))); while (obj = (((scm_assert_cell_valid ((obj)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((obj)))))) [(1)]))))))), (!(6 & ((scm_t_bits) (obj))) && ((1 & (scm_assert_cell_valid ((obj)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((obj)))))) [(0)])))) == 0))) { (((scm_assert_cell_valid (((tl))), ((((scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((tl))))))) [(1)] = ((scm_t_bits) (((scm_cons (scm_copy_tree ((((scm_assert_cell_valid ((obj)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((obj)))))) [(0)])))))))), ((SCM) (((21) << 9) + 0x174L)))))))))))); tl = (((scm_assert_cell_valid ((tl)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((tl)))))) [(1)]))))))); } (((scm_assert_cell_valid (((tl))), ((((scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((tl))))))) [(1)] = ((scm_t_bits) (((obj))))))))); return ans; } # 4069 "eval.c" SCM scm_i_eval_x (SCM exp, SCM env) { return ((6 & ((scm_t_bits) (exp))) ? (((((scm_t_bits) ((exp))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))) ? scm_misc_error (((void *)0), scm_s_expression, ((SCM) (((20) << 9) + 0x174L))), 0 : 0), (exp)) : (*scm_ceval_ptr) ((exp), (env))); } SCM scm_i_eval (SCM exp, SCM env) { exp = scm_copy_tree (exp); return ((6 & ((scm_t_bits) (exp))) ? (((((scm_t_bits) ((exp))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))) ? scm_misc_error (((void *)0), scm_s_expression, ((SCM) (((20) << 9) + 0x174L))), 0 : 0), (exp)) : (*scm_ceval_ptr) ((exp), (env))); } SCM scm_primitive_eval_x (SCM exp) { SCM env; SCM transformer = scm_current_module_transformer (); if ((!(6 & ((scm_t_bits) (transformer))))) exp = scm_call_1 (transformer, exp); env = scm_top_level_env (scm_current_module_lookup_closure ()); return scm_i_eval_x (exp, env); } static const char s_scm_primitive_eval [] = "primitive-eval"; SCM scm_primitive_eval (SCM exp) { SCM env; SCM transformer = scm_current_module_transformer (); if ((!(6 & ((scm_t_bits) (transformer))))) exp = scm_call_1 (transformer, exp); env = scm_top_level_env (scm_current_module_lookup_closure ()); return scm_i_eval (exp, env); } static void change_environment (void *data) { SCM pair = ((SCM) (data)); SCM new_module = (((scm_assert_cell_valid ((pair)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((pair)))))) [(0)]))))))); SCM old_module = scm_current_module (); (((scm_assert_cell_valid (((pair))), ((((scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((pair))))))) [(1)] = ((scm_t_bits) (((old_module))))))))); scm_set_current_module (new_module); } static void restore_environment (void *data) { SCM pair = ((SCM) (data)); SCM old_module = (((scm_assert_cell_valid ((pair)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((pair)))))) [(1)]))))))); SCM new_module = scm_current_module (); (((scm_assert_cell_valid (((pair))), ((((scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((pair))))))) [(0)] = ((scm_t_bits) (((new_module))))))))); scm_set_current_module (old_module); } static SCM inner_eval_x (void *data) { return scm_primitive_eval_x (((SCM) (data))); } SCM scm_eval_x (SCM exp, SCM module) { do { if (!((!(6 & ((scm_t_bits) (module))) && (scm_assert_cell_valid ((module)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((module)))))) [(0)]))) == scm_module_tag))) scm_wrong_type_arg_msg("eval!", 2, module, "MODULEP"); } while (0); return scm_internal_dynamic_wind (change_environment, inner_eval_x, restore_environment, (void *) ((scm_t_bits) (exp)), (void *) ((scm_t_bits) (scm_cons (module, ((SCM) (((16) << 9) + 0x174L)))))); } static SCM inner_eval (void *data) { return scm_primitive_eval (((SCM) (data))); } static const char s_scm_eval [] = "eval"; SCM scm_eval (SCM exp, SCM module) { do { if (!((!(6 & ((scm_t_bits) (module))) && (scm_assert_cell_valid ((module)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((module)))))) [(0)]))) == scm_module_tag))) scm_wrong_type_arg_msg(s_scm_eval, 2, module, "MODULEP"); } while (0); return scm_internal_dynamic_wind (change_environment, inner_eval, restore_environment, (void *) ((scm_t_bits) (exp)), (void *) ((scm_t_bits) (scm_cons (module, ((SCM) (((16) << 9) + 0x174L)))))); } # 4183 "eval.c" # 1 "eval.c" 1 # 1686 "eval.c" SCM (*scm_ceval_ptr) (SCM x, SCM env); # 1696 "eval.c" scm_t_debug_frame *scm_last_debug_frame; long scm_debug_eframe_size; int scm_debug_mode, scm_check_entry_p, scm_check_apply_p, scm_check_exit_p; long scm_eval_stack; scm_t_option scm_eval_opts[] = { { 1, "stack", 22000, "Size of thread stacks (in machine words)." } }; scm_t_option scm_debug_opts[] = { { 0, "cheap", 1, "*Flyweight representation of the stack at traps." }, { 0, "breakpoints", 0, "*Check for breakpoints." }, { 0, "trace", 0, "*Trace mode." }, { 0, "procnames", 1, "Record procedure names at definition." }, { 0, "backwards", 0, "Display backtrace in anti-chronological order." }, { 1, "width", 79, "Maximal width of backtrace." }, { 1, "indent", 10, "Maximal indentation in backtrace." }, { 1, "frames", 3, "Maximum number of tail-recursive frames in backtrace." }, { 1, "maxdepth", 1000, "Maximal number of stored backtrace frames." }, { 1, "depth", 20, "Maximal length of printed backtrace." }, { 0, "backtrace", 0, "Show backtrace on error." }, { 0, "debug", 0, "Use the debugging evaluator." }, { 1, "stack", 20000, "Stack size limit (measured in words; 0 = no check)." }, { 2, "show-file-name", (unsigned long)((SCM) (((17) << 9) + 0x174L)), "Show file names and line numbers in backtraces when not `#f'. A value of `base' displays only base names, while `#t' displays full names."} }; scm_t_option scm_evaluator_trap_table[] = { { 0, "traps", 0, "Enable evaluator traps." }, { 0, "enter-frame", 0, "Trap when eval enters new frame." }, { 0, "apply-frame", 0, "Trap when entering apply." }, { 0, "exit-frame", 0, "Trap when exiting eval or apply." }, { 2, "enter-frame-handler", (unsigned long)((SCM) (((16) << 9) + 0x174L)), "Handler for enter-frame traps." }, { 2, "apply-frame-handler", (unsigned long)((SCM) (((16) << 9) + 0x174L)), "Handler for apply-frame traps." }, { 2, "exit-frame-handler", (unsigned long)((SCM) (((16) << 9) + 0x174L)), "Handler for exit-frame traps." } }; static const char s_scm_eval_options_interface [] = "eval-options-interface"; SCM scm_eval_options_interface (SCM setting) { SCM ans; do { asm (""); ; ; asm (""); scm_ints_disabled = 1; asm (""); } while (0); ans = scm_options (setting, scm_eval_opts, 1, s_scm_eval_options_interface); scm_eval_stack = scm_eval_opts[0].val * sizeof (void *); do { asm (""); ; ; asm (""); scm_ints_disabled = 0; asm (""); ; asm (""); } while (0); return ans; } static const char s_scm_evaluator_traps [] = "evaluator-traps-interface"; SCM scm_evaluator_traps (SCM setting) { SCM ans; do { asm (""); ; ; asm (""); scm_ints_disabled = 1; asm (""); } while (0); ans = scm_options (setting, scm_evaluator_trap_table, 7, s_scm_evaluator_traps); do { scm_check_entry_p = (scm_evaluator_trap_table[1].val || scm_debug_opts[1].val) && !((((scm_t_bits) (((SCM)(scm_evaluator_trap_table[4].val)))) == ((scm_t_bits) (((SCM) (((16) << 9) + 0x174L)))))); scm_check_apply_p = (scm_evaluator_trap_table[2].val || scm_debug_opts[2].val) && !((((scm_t_bits) (((SCM)(scm_evaluator_trap_table[5].val)))) == ((scm_t_bits) (((SCM) (((16) << 9) + 0x174L)))))); scm_check_exit_p = (scm_evaluator_trap_table[3].val || scm_debug_opts[2].val) && !((((scm_t_bits) (((SCM)(scm_evaluator_trap_table[6].val)))) == ((scm_t_bits) (((SCM) (((16) << 9) + 0x174L)))))); scm_debug_mode = scm_debug_opts[11].val || scm_check_entry_p || scm_check_apply_p || scm_check_exit_p; scm_ceval_ptr = scm_debug_mode ? scm_deval : scm_ceval;} while (0); do { asm (""); ; ; asm (""); scm_ints_disabled = 0; asm (""); ; asm (""); } while (0); return ans; } static SCM deval_args (SCM l, SCM env, SCM proc, SCM *lloc) { SCM *results = lloc, res; while ((!(6 & ((scm_t_bits) (l))) && ((1 & (scm_assert_cell_valid ((l)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((l)))))) [(0)])))) == 0))) { res = ((6 & ((scm_t_bits) ((((scm_assert_cell_valid ((l)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((l)))))) [(0)])))))))))) ? (((((scm_t_bits) ((((scm_assert_cell_valid ((l)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((l)))))) [(0)]))))))))) & 0xff)==scm_tc8_iloc) ? *scm_ilookup (((((scm_assert_cell_valid ((l)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((l)))))) [(0)])))))))), env) : (((((scm_t_bits) (((((scm_assert_cell_valid ((l)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((l)))))) [(0)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))) ? scm_misc_error (((void *)0), scm_s_expression, ((SCM) (((20) << 9) + 0x174L))), 0 : 0), ((((scm_assert_cell_valid ((l)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((l)))))) [(0)])))))))))) : ((!(6 & ((scm_t_bits) ((((scm_assert_cell_valid ((l)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((l)! ))))) [(0)])))))))))) && ((0x7f & (scm_assert_cell_valid (((((scm_assert_cell_valid ((l)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((l)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((l)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((l)))))) [(0)]))))))))))))) [(0)])))) == 5)) ? *scm_lookupcar (l, env, 1) : scm_deval ((((scm_assert_cell_valid ((l)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((l)))))) [(0)]))))))), env))); *lloc = scm_list_1 (res); lloc = ((SCM *) ((scm_t_bits *) & (scm_assert_cell_valid (((*lloc))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((*lloc))))))) [(1)]))))); l = (((scm_assert_cell_valid ((l)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((l)))))) [(1)]))))))); } if (!((((scm_t_bits) ((l))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) scm_wrong_num_args (proc); return *results; } # 1855 "eval.c" SCM scm_deval (SCM x, SCM env) { SCM proc, arg1; scm_t_debug_frame debug; scm_t_debug_info *debug_info_end; debug.prev = scm_last_debug_frame; debug.status = 0; debug.vect = (scm_t_debug_info *) __builtin_alloca (scm_debug_eframe_size * sizeof (scm_t_debug_info)); debug.info = debug.vect; debug_info_end = debug.vect + scm_debug_eframe_size; scm_last_debug_frame = &debug; if (scm_stack_checking_enabled_p && ((SCM_STACKITEM *) &proc < ((SCM_STACKITEM *) ((((scm_t_contregs *) (scm_assert_cell_valid (((scm_root->rootcont))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((scm_root->rootcont))))))) [(1)])))))->base) - scm_debug_opts[12].val))) { debug.info->e.exp = x; debug.info->e.env = env; scm_report_stack_overflow (); } goto start; loop: ((debug).status &= ~(1L << 7)); if ((((debug).status & (1L << 6)) != 0)) --debug.info; # 1906 "eval.c" else if (++debug.info >= debug_info_end) { ((debug).status |= (1L << 6)); debug.info -= 2; } start: debug.info->e.exp = x; debug.info->e.env = env; if (scm_check_entry_p && scm_evaluator_trap_table[0].val) { if (scm_evaluator_trap_table[1].val || (scm_debug_opts[1].val && scm_c_source_property_breakpoint_p (x))) { SCM stackrep; SCM tail = (((((debug).status & (1L << 9)) != 0)) ? ((SCM) (((17) << 9) + 0x174L)) : ((SCM) (((16) << 9) + 0x174L))); ((debug).status |= (1L << 9)); if (scm_debug_opts[0].val) stackrep = scm_make_debugobj (&debug); else { int first; SCM val = scm_make_continuation (&first); if (first) stackrep = val; else { x = val; if ((6 & ((scm_t_bits) (x)))) do { proc = (x); goto exit; } while (0); else goto dispatch; } } scm_evaluator_trap_table[0].val = 0; scm_call_4 ((SCM)(scm_evaluator_trap_table[4].val), scm_sym_enter_frame, stackrep, tail, scm_unmemocopy (x, env)); scm_evaluator_trap_table[0].val = 1; } } dispatch: do { do { if (scm_asyncs_pending_p) scm_async_click (); } while (0); ; } while (0); switch ((0x7f & (scm_assert_cell_valid ((x)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))) { case 5: x = scm_cons (x, ((SCM) (((18) << 9) + 0x174L))); do { proc = (*scm_lookupcar (x, env, 1)); goto exit; } while (0); case (127 & ((scm_t_bits) (((SCM) (((0) << 9) + ((0) << 3) + 4L))))): x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); while (!((((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) { SCM test_result = ((6 & ((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) ? (((((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))) & 0xff)==scm_tc8_iloc) ? *scm_ilookup (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))), env) : (((((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))) ? scm_misc_error (((void *)0), scm_s_expression, ((SCM) (((20) << 9) + 0x174L))), 0 : 0), ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) : ((!(6 & ((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((! scm_t_bits) ((x)))))) [(0)])))))))))) && ((0x7f & (scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))))))) [(0)])))) == 5)) ? *scm_lookupcar (x, env, 1) : scm_deval ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))), env))); if (((((scm_t_bits) ((test_result))) == ((scm_t_bits) (((SCM) (((16) << 9) + 0x174L)))))) || ((((scm_t_bits) ((test_result))) == ((scm_t_bits) (((SCM) (((30) << 9) + 0x174L))))))) do { proc = (((SCM) (((16) << 9) + 0x174L))); goto exit; } while (0); else x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); } { ++debug.info; debug.info->a.proc = ((SCM) (((18) << 9) + 0x174L)); debug.info->a.args = ((SCM) (((20) << 9) + 0x174L)); }; goto carloop; case (127 & ((scm_t_bits) (((SCM) (((1) << 9) + ((1) << 3) + 4L))))): x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); if (((((scm_t_bits) ((x))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) do { proc = (((SCM) (((21) << 9) + 0x174L))); goto exit; } while (0); { ++debug.info; debug.info->a.proc = ((SCM) (((18) << 9) + 0x174L)); debug.info->a.args = ((SCM) (((20) << 9) + 0x174L)); }; begin: if ((!(6 & ((scm_t_bits) (env))) && ((1 & (scm_assert_cell_valid ((env)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((env)))))) [(0)])))) == 0)) && !(!(6 & ((scm_t_bits) ((((scm_assert_cell_valid ((env)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((env)))))) [(0)])))))))))) && ((1 & (scm_assert_cell_valid (((((scm_assert_cell_valid ((env)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((env)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((env)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((env)))))) [(0)]))))))))))))) [(0)])))) == 0))) { do { SCM p = scm_current_module_lookup_closure (); if (p != (((scm_assert_cell_valid ((env)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((env)))))) [(0)])))))))) env = scm_top_level_env (p); } while (0); while (!((((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) { ((6 & ((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) ? (((((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))) & 0xff)==scm_tc8_iloc) ? *scm_ilookup (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))), env) : (((((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))) ? scm_misc_error (((void *)0), scm_s_expression, ((SCM) (((20) << 9) + 0x174L))), 0 : 0), ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) : ((!(6 & ((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((! x)))))) [(0)])))))))))) && ((0x7f & (scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))))))) [(0)])))) == 5)) ? *scm_lookupcar (x, env, 1) : scm_deval ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))), env))); do { SCM p = scm_current_module_lookup_closure (); if (p != (((scm_assert_cell_valid ((env)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((env)))))) [(0)])))))))) env = scm_top_level_env (p); } while (0); x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); } goto carloop; } else goto nontoplevel_begin; nontoplevel_begin: while (!((((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) { SCM form = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))); if ((6 & ((scm_t_bits) (form)))) { if (((0x187 & ((scm_t_bits) (form))) == 4)) { x = scm_m_expand_body (x, env); goto nontoplevel_begin; } else do { if ((((scm_t_bits) ((form))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L)))))) scm_misc_error (((void *)0), scm_s_expression, ((SCM) (((20) << 9) + 0x174L))); } while (0); } else scm_deval (form, env); x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); } carloop: { SCM last_form = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))); if ((!(6 & ((scm_t_bits) (last_form))) && ((1 & (scm_assert_cell_valid ((last_form)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((last_form)))))) [(0)])))) == 0))) { x = last_form; goto loop; } else if ((6 & ((scm_t_bits) (last_form)))) do { proc = ((((((scm_t_bits) (last_form)) & 0xff)==scm_tc8_iloc) ? *scm_ilookup ((last_form), env) : (((((scm_t_bits) ((last_form))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))) ? scm_misc_error (((void *)0), scm_s_expression, ((SCM) (((20) << 9) + 0x174L))), 0 : 0), (last_form)))); goto exit; } while (0); else if ((!(6 & ((scm_t_bits) (last_form))) && (0x7f & (scm_assert_cell_valid ((last_form)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((last_form)))))) [(0)])))) == 7)) do { proc = ((scm_assert_cell_valid ((last_form)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((last_form)))))) [(1)])))))); goto exit; } while (0); else if ((!(6 & ((scm_t_bits) (last_form))) && ((0x7f & (scm_assert_cell_valid ((last_form)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((last_form)))))) [(0)])))) == 5))) do { proc = (*scm_lookupcar (x, env, 1)); goto exit; } while (0); else do { proc = (last_form); goto exit; } while (0); } case (127 & ((scm_t_bits) (((SCM) (((2) << 9) + ((2) << 3) + 4L))))): x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); { SCM key = ((6 & ((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) ? (((((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))) & 0xff)==scm_tc8_iloc) ? *scm_ilookup (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))), env) : (((((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))) ? scm_misc_error (((void *)0), scm_s_expression, ((SCM) (((20) << 9) + 0x174L))), 0 : 0), ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) : ((!(6 & ((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits! ) ((x)))))) [(0)])))))))))) && ((0x7f & (scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))))))) [(0)])))) == 5)) ? *scm_lookupcar (x, env, 1) : scm_deval ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))), env))); x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); while (!((((scm_t_bits) ((x))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) { SCM clause = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))); SCM labels = (((scm_assert_cell_valid ((clause)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((clause)))))) [(0)]))))))); if ((((scm_t_bits) (labels)) == ((scm_t_bits) (scm_sym_else)))) { x = (((scm_assert_cell_valid ((clause)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((clause)))))) [(1)]))))))); { ++debug.info; debug.info->a.proc = ((SCM) (((18) << 9) + 0x174L)); debug.info->a.args = ((SCM) (((20) << 9) + 0x174L)); }; goto begin; } while (!((((scm_t_bits) ((labels))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) { SCM label = (((scm_assert_cell_valid ((labels)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((labels)))))) [(0)]))))))); if ((((scm_t_bits) (label)) == ((scm_t_bits) (key))) || !((((scm_t_bits) ((scm_eqv_p (label, key)))) == ((scm_t_bits) (((SCM) (((16) << 9) + 0x174L))))))) { x = (((scm_assert_cell_valid ((clause)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((clause)))))) [(1)]))))))); { ++debug.info; debug.info->a.proc = ((SCM) (((18) << 9) + 0x174L)); debug.info->a.args = ((SCM) (((20) << 9) + 0x174L)); }; goto begin; } labels = (((scm_assert_cell_valid ((labels)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((labels)))))) [(1)]))))))); } x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); } } do { proc = (((SCM) (((21) << 9) + 0x174L))); goto exit; } while (0); case (127 & ((scm_t_bits) (((SCM) (((3) << 9) + ((3) << 3) + 4L))))): x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); while (!((((scm_t_bits) ((x))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) { SCM clause = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))); if ((((scm_t_bits) ((((scm_assert_cell_valid ((clause)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((clause)))))) [(0)]))))))))) == ((scm_t_bits) (scm_sym_else)))) { x = (((scm_assert_cell_valid ((clause)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((clause)))))) [(1)]))))))); { ++debug.info; debug.info->a.proc = ((SCM) (((18) << 9) + 0x174L)); debug.info->a.args = ((SCM) (((20) << 9) + 0x174L)); }; goto begin; } else { arg1 = ((6 & ((scm_t_bits) ((((scm_assert_cell_valid ((clause)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((clause)))))) [(0)])))))))))) ? (((((scm_t_bits) ((((scm_assert_cell_valid ((clause)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((clause)))))) [(0)]))))))))) & 0xff)==scm_tc8_iloc) ? *scm_ilookup (((((scm_assert_cell_valid ((clause)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((clause)))))) [(0)])))))))), env) : (((((scm_t_bits) (((((scm_assert_cell_valid ((clause)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((clause)))))) [(0)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))) ? scm_misc_error (((void *)0), scm_s_expression, ((SCM) (((20) << 9) + 0x174L))), 0 : 0), ((((scm_assert_cell_valid ((clause)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((clause)))))) [(0)])))))))))) : ((!(6 & ((scm_t_bits) ((((scm_assert_cell_valid ((clause)), (((! (SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((clause)))))) [(0)])))))))))) && ((0x7f & (scm_assert_cell_valid (((((scm_assert_cell_valid ((clause)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((clause)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((clause)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((clause)))))) [(0)]))))))))))))) [(0)])))) == 5)) ? *scm_lookupcar (clause, env, 1) : scm_deval ((((scm_assert_cell_valid ((clause)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((clause)))))) [(0)]))))))), env))); if (!((((scm_t_bits) ((arg1))) == ((scm_t_bits) (((SCM) (((16) << 9) + 0x174L)))))) && !((((scm_t_bits) ((arg1))) == ((scm_t_bits) (((SCM) (((30) << 9) + 0x174L))))))) { x = (((scm_assert_cell_valid ((clause)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((clause)))))) [(1)]))))))); if (((((scm_t_bits) ((x))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) do { proc = (arg1); goto exit; } while (0); else if (!(((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))) == ((scm_t_bits) (scm_sym_arrow)))) { { ++debug.info; debug.info->a.proc = ((SCM) (((18) << 9) + 0x174L)); debug.info->a.args = ((SCM) (((20) << 9) + 0x174L)); }; goto begin; } else { proc = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); proc = ((6 & ((scm_t_bits) ((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))))))))) ? (((((scm_t_bits) ((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))))))))) & 0xff)==scm_tc8_iloc) ? *scm_ilookup (((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))))))), env) : (((((scm_t_bits) (((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))) ? scm_misc_error (((void *)0), scm_s_expression, ((SCM) (((20) << 9) + 0x174L))), 0 : 0), ((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))))))))) : ((!(6 & ((scm_t_bits) ((((scm_assert_cell_valid ((proc)), ((((SCM) (((const! scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))))))))) && ((0x7f & (scm_assert_cell_valid (((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))))))))))))) [(0)])))) == 5)) ? *scm_lookupcar (proc, env, 1) : scm_deval ((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))))))), env))); if (!(!(6 & ((scm_t_bits) (proc))))) goto badfun; { ++debug.info; debug.info->a.proc = proc; debug.info->a.args = scm_list_1 (arg1); }; do { ((debug).status |= (1L << 7)); if (scm_check_apply_p && scm_evaluator_trap_table[0].val) if (scm_evaluator_trap_table[2].val || (scm_debug_opts[2].val && (!((((scm_t_bits) ((scm_procedure_property (proc, scm_sym_trace)))) == ((scm_t_bits) (((SCM) (((16) << 9) + 0x174L))))))))) { SCM tmp, tail = (((((debug).status & (1L << 8)) != 0)) ? ((SCM) (((17) << 9) + 0x174L)) : ((SCM) (((16) << 9) + 0x174L))); ((debug).status |= (1L << 8)); scm_evaluator_trap_table[0].val = 0; if (scm_debug_opts[0].val) { tmp = scm_make_debugobj (&debug); scm_call_3 ((SCM)(scm_evaluator_trap_table[5].val), scm_sym_apply_frame, tmp, tail); } else { int first; tmp = scm_make_continuation (&first); if (first) scm_call_3 ((SCM)(scm_evaluator_trap_table[5].val), scm_sym_apply_frame, tmp, tail); } scm_evaluator_trap_table[0].val = 1; }} while (0); if ((!(6 & ((scm_t_bits) (proc))) && ((7 & (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))) == 3)) && scm_badformalsp (proc, 1)) goto umwrongnumargs; else goto evap1; } } x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); } } do { proc = (((SCM) (((21) << 9) + 0x174L))); goto exit; } while (0); case (127 & ((scm_t_bits) (((SCM) (((4) << 9) + ((4) << 3) + 4L))))): x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); { SCM init_forms = (((scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))))))) [(0)]))))))); SCM init_values = ((SCM) (((20) << 9) + 0x174L)); while (!((((scm_t_bits) ((init_forms))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) { init_values = scm_cons (((6 & ((scm_t_bits) ((((scm_assert_cell_valid ((init_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init_forms)))))) [(0)])))))))))) ? (((((scm_t_bits) ((((scm_assert_cell_valid ((init_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init_forms)))))) [(0)]))))))))) & 0xff)==scm_tc8_iloc) ? *scm_ilookup (((((scm_assert_cell_valid ((init_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init_forms)))))) [(0)])))))))), env) : (((((scm_t_bits) (((((scm_assert_cell_valid ((init_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init_forms)))))) [(0)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))) ? scm_misc_error (((void *)0), scm_s_expression, ((SCM) (((20) << 9) + 0x174L))), 0 : 0), ((((scm_assert_cell_valid ((init_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init_forms)))))) [(0)])))))))))) : ((!(6 & ! ((scm_t_bits) ((((scm_assert_cell_valid ((init_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init_forms)))))) [(0)])))))))))) && ((0x7f & (scm_assert_cell_valid (((((scm_assert_cell_valid ((init_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init_forms)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((init_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init_forms)))))) [(0)]))))))))))))) [(0)])))) == 5)) ? *scm_lookupcar (init_forms, env, 1) : scm_deval ((((scm_assert_cell_valid ((init_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init_forms)))))) [(0)]))))))), env))), init_values); init_forms = (((scm_assert_cell_valid ((init_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init_forms)))))) [(1)]))))))); } env = scm_acons ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))), init_values, env); } x = (((scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))))))) [(1)]))))))); { SCM test_form = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))); SCM body_forms = (((scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))))))) [(0)]))))))); SCM step_forms = (((scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))))))) [(1)]))))))); SCM test_result = ((6 & ((scm_t_bits) ((((scm_assert_cell_valid ((test_form)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((test_form)))))) [(0)])))))))))) ? (((((scm_t_bits) ((((scm_assert_cell_valid ((test_form)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((test_form)))))) [(0)]))))))))) & 0xff)==scm_tc8_iloc) ? *scm_ilookup (((((scm_assert_cell_valid ((test_form)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((test_form)))))) [(0)])))))))), env) : (((((scm_t_bits) (((((scm_assert_cell_valid ((test_form)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((test_form)))))) [(0)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))) ? scm_misc_error (((void *)0), scm_s_expression, ((SCM) (((20) << 9) + 0x174L))), 0 : 0), ((((scm_assert_cell_valid ((test_form)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((test_form)))))) [(0)])))))))))) : ((!(6 & ((scm_t_bits) ((((sc! m_assert_cell_valid ((test_form)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((test_form)))))) [(0)])))))))))) && ((0x7f & (scm_assert_cell_valid (((((scm_assert_cell_valid ((test_form)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((test_form)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((test_form)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((test_form)))))) [(0)]))))))))))))) [(0)])))) == 5)) ? *scm_lookupcar (test_form, env, 1) : scm_deval ((((scm_assert_cell_valid ((test_form)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((test_form)))))) [(0)]))))))), env))); while (((((scm_t_bits) ((test_result))) == ((scm_t_bits) (((SCM) (((16) << 9) + 0x174L)))))) || ((((scm_t_bits) ((test_result))) == ((scm_t_bits) (((SCM) (((30) << 9) + 0x174L))))))) { { SCM temp_forms; for (temp_forms = body_forms; !((((scm_t_bits) ((temp_forms))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L)))))); temp_forms = (((scm_assert_cell_valid ((temp_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((temp_forms)))))) [(1)])))))))) { SCM form = (((scm_assert_cell_valid ((temp_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((temp_forms)))))) [(0)]))))))); # 2157 "eval.c" if (!(6 & ((scm_t_bits) (form)))) scm_deval (form, env); } } { SCM temp_forms; SCM step_values = ((SCM) (((20) << 9) + 0x174L)); for (temp_forms = step_forms; !((((scm_t_bits) ((temp_forms))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L)))))); temp_forms = (((scm_assert_cell_valid ((temp_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((temp_forms)))))) [(1)])))))))) { SCM value = ((6 & ((scm_t_bits) ((((scm_assert_cell_valid ((temp_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((temp_forms)))))) [(0)])))))))))) ? (((((scm_t_bits) ((((scm_assert_cell_valid ((temp_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((temp_forms)))))) [(0)]))))))))) & 0xff)==scm_tc8_iloc) ? *scm_ilookup (((((scm_assert_cell_valid ((temp_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((temp_forms)))))) [(0)])))))))), env) : (((((scm_t_bits) (((((scm_assert_cell_valid ((temp_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((temp_forms)))))) [(0)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))) ? scm_misc_error (((void *)0), scm_s_expression, ((SCM) (((20) << 9) + 0x174L))), 0 : 0), ((((scm_assert_cell_valid ((temp_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((temp_forms)))))) [(0)])))))))))) : ((!(6 & ((scm_! t_bits) ((((scm_assert_cell_valid ((temp_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((temp_forms)))))) [(0)])))))))))) && ((0x7f & (scm_assert_cell_valid (((((scm_assert_cell_valid ((temp_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((temp_forms)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((temp_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((temp_forms)))))) [(0)]))))))))))))) [(0)])))) == 5)) ? *scm_lookupcar (temp_forms, env, 1) : scm_deval ((((scm_assert_cell_valid ((temp_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((temp_forms)))))) [(0)]))))))), env))); step_values = scm_cons (value, step_values); } env = scm_acons ((((scm_assert_cell_valid (((((scm_assert_cell_valid ((env)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((env)))))) [(0)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((env)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((env)))))) [(0)]))))))))))))) [(0)]))))))), step_values, (((scm_assert_cell_valid ((env)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((env)))))) [(1)])))))))); } test_result = ((6 & ((scm_t_bits) ((((scm_assert_cell_valid ((test_form)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((test_form)))))) [(0)])))))))))) ? (((((scm_t_bits) ((((scm_assert_cell_valid ((test_form)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((test_form)))))) [(0)]))))))))) & 0xff)==scm_tc8_iloc) ? *scm_ilookup (((((scm_assert_cell_valid ((test_form)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((test_form)))))) [(0)])))))))), env) : (((((scm_t_bits) (((((scm_assert_cell_valid ((test_form)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((test_form)))))) [(0)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))) ? scm_misc_error (((void *)0), scm_s_expression, ((SCM) (((20) << 9) + 0x174L))), 0 : 0), ((((scm_assert_cell_valid ((test_form)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((test_form)))))) [(0)])))))))))) : ((!(6 & ((scm_t_bits) ((((sc! m_assert_cell_valid ((test_form)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((test_form)))))) [(0)])))))))))) && ((0x7f & (scm_assert_cell_valid (((((scm_assert_cell_valid ((test_form)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((test_form)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((test_form)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((test_form)))))) [(0)]))))))))))))) [(0)])))) == 5)) ? *scm_lookupcar (test_form, env, 1) : scm_deval ((((scm_assert_cell_valid ((test_form)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((test_form)))))) [(0)]))))))), env))); } } x = (((scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))))))) [(1)]))))))); if (((((scm_t_bits) ((x))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) do { proc = (((SCM) (((21) << 9) + 0x174L))); goto exit; } while (0); { ++debug.info; debug.info->a.proc = ((SCM) (((18) << 9) + 0x174L)); debug.info->a.args = ((SCM) (((20) << 9) + 0x174L)); }; goto nontoplevel_begin; case (127 & ((scm_t_bits) (((SCM) (((5) << 9) + ((5) << 3) + 4L))))): x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); { SCM test_result = ((6 & ((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) ? (((((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))) & 0xff)==scm_tc8_iloc) ? *scm_ilookup (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))), env) : (((((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))) ? scm_misc_error (((void *)0), scm_s_expression, ((SCM) (((20) << 9) + 0x174L))), 0 : 0), ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) : ((!(6 & ((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((sc! m_t_bits) ((x)))))) [(0)])))))))))) && ((0x7f & (scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))))))) [(0)])))) == 5)) ? *scm_lookupcar (x, env, 1) : scm_deval ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))), env))); if (!((((scm_t_bits) ((test_result))) == ((scm_t_bits) (((SCM) (((16) << 9) + 0x174L)))))) && !((((scm_t_bits) ((test_result))) == ((scm_t_bits) (((SCM) (((30) << 9) + 0x174L))))))) x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); else { x = (((scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))))))) [(1)]))))))); if (((((scm_t_bits) ((x))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) do { proc = (((SCM) (((21) << 9) + 0x174L))); goto exit; } while (0); } } { ++debug.info; debug.info->a.proc = ((SCM) (((18) << 9) + 0x174L)); debug.info->a.args = ((SCM) (((20) << 9) + 0x174L)); }; goto carloop; case (127 & ((scm_t_bits) (((SCM) (((7) << 9) + ((7) << 3) + 4L))))): x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); { SCM init_forms = (((scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))))))) [(0)]))))))); SCM init_values = ((SCM) (((20) << 9) + 0x174L)); do { init_values = scm_cons (((6 & ((scm_t_bits) ((((scm_assert_cell_valid ((init_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init_forms)))))) [(0)])))))))))) ? (((((scm_t_bits) ((((scm_assert_cell_valid ((init_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init_forms)))))) [(0)]))))))))) & 0xff)==scm_tc8_iloc) ? *scm_ilookup (((((scm_assert_cell_valid ((init_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init_forms)))))) [(0)])))))))), env) : (((((scm_t_bits) (((((scm_assert_cell_valid ((init_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init_forms)))))) [(0)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))) ? scm_misc_error (((void *)0), scm_s_expression, ((SCM) (((20) << 9) + 0x174L))), 0 : 0), ((((scm_assert_cell_valid ((init_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init_forms)))))) [(0)])))))))))) : ((!(6 & ! ((scm_t_bits) ((((scm_assert_cell_valid ((init_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init_forms)))))) [(0)])))))))))) && ((0x7f & (scm_assert_cell_valid (((((scm_assert_cell_valid ((init_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init_forms)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((init_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init_forms)))))) [(0)]))))))))))))) [(0)])))) == 5)) ? *scm_lookupcar (init_forms, env, 1) : scm_deval ((((scm_assert_cell_valid ((init_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init_forms)))))) [(0)]))))))), env))), init_values); init_forms = (((scm_assert_cell_valid ((init_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init_forms)))))) [(1)]))))))); } while (!((((scm_t_bits) ((init_forms))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))); env = scm_acons ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))), init_values, env); } x = (((scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))))))) [(1)]))))))); { ++debug.info; debug.info->a.proc = ((SCM) (((18) << 9) + 0x174L)); debug.info->a.args = ((SCM) (((20) << 9) + 0x174L)); }; goto nontoplevel_begin; case (127 & ((scm_t_bits) (((SCM) (((9) << 9) + ((9) << 3) + 4L))))): x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); env = scm_acons ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))), scm_sys_protects[2], env); x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); { SCM init_forms = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))); SCM init_values = ((SCM) (((20) << 9) + 0x174L)); do { init_values = scm_cons (((6 & ((scm_t_bits) ((((scm_assert_cell_valid ((init_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init_forms)))))) [(0)])))))))))) ? (((((scm_t_bits) ((((scm_assert_cell_valid ((init_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init_forms)))))) [(0)]))))))))) & 0xff)==scm_tc8_iloc) ? *scm_ilookup (((((scm_assert_cell_valid ((init_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init_forms)))))) [(0)])))))))), env) : (((((scm_t_bits) (((((scm_assert_cell_valid ((init_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init_forms)))))) [(0)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))) ? scm_misc_error (((void *)0), scm_s_expression, ((SCM) (((20) << 9) + 0x174L))), 0 : 0), ((((scm_assert_cell_valid ((init_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init_forms)))))) [(0)])))))))))) : ((!(6 & ! ((scm_t_bits) ((((scm_assert_cell_valid ((init_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init_forms)))))) [(0)])))))))))) && ((0x7f & (scm_assert_cell_valid (((((scm_assert_cell_valid ((init_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init_forms)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((init_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init_forms)))))) [(0)]))))))))))))) [(0)])))) == 5)) ? *scm_lookupcar (init_forms, env, 1) : scm_deval ((((scm_assert_cell_valid ((init_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init_forms)))))) [(0)]))))))), env))), init_values); init_forms = (((scm_assert_cell_valid ((init_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init_forms)))))) [(1)]))))))); } while (!((((scm_t_bits) ((init_forms))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))); (((scm_assert_cell_valid ((((((scm_assert_cell_valid ((env)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((env)))))) [(0)])))))))))), ((((scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((((((scm_assert_cell_valid ((env)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((env)))))) [(0)])))))))))))))) [(1)] = ((scm_t_bits) (((init_values))))))))); } x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); { ++debug.info; debug.info->a.proc = ((SCM) (((18) << 9) + 0x174L)); debug.info->a.args = ((SCM) (((20) << 9) + 0x174L)); }; goto nontoplevel_begin; case (127 & ((scm_t_bits) (((SCM) (((8) << 9) + ((8) << 3) + 4L))))): x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); { SCM bindings = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))); if (((((scm_t_bits) ((bindings))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) env = scm_acons (((SCM) (((20) << 9) + 0x174L)), ((SCM) (((20) << 9) + 0x174L)), env); else { do { SCM name = (((scm_assert_cell_valid ((bindings)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((bindings)))))) [(0)]))))))); SCM init = (((scm_assert_cell_valid ((bindings)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((bindings)))))) [(1)]))))))); env = scm_acons (name, ((6 & ((scm_t_bits) ((((scm_assert_cell_valid ((init)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init)))))) [(0)])))))))))) ? (((((scm_t_bits) ((((scm_assert_cell_valid ((init)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init)))))) [(0)]))))))))) & 0xff)==scm_tc8_iloc) ? *scm_ilookup (((((scm_assert_cell_valid ((init)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init)))))) [(0)])))))))), env) : (((((scm_t_bits) (((((scm_assert_cell_valid ((init)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init)))))) [(0)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))) ? scm_misc_error (((void *)0), scm_s_expression, ((SCM) (((20) << 9) + 0x174L))), 0 : 0), ((((scm_assert_cell_valid ((init)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init)))))) [(0)])))))))))) : ((!(6 & ((scm_t_bits) ((((scm_assert_cell_valid ((init)), ((((SCM! ) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init)))))) [(0)])))))))))) && ((0x7f & (scm_assert_cell_valid (((((scm_assert_cell_valid ((init)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((init)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init)))))) [(0)]))))))))))))) [(0)])))) == 5)) ? *scm_lookupcar (init, env, 1) : scm_deval ((((scm_assert_cell_valid ((init)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init)))))) [(0)]))))))), env))), env); bindings = (((scm_assert_cell_valid ((init)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((init)))))) [(1)]))))))); } while (!((((scm_t_bits) ((bindings))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))); } } x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); { ++debug.info; debug.info->a.proc = ((SCM) (((18) << 9) + 0x174L)); debug.info->a.args = ((SCM) (((20) << 9) + 0x174L)); }; goto nontoplevel_begin; case (127 & ((scm_t_bits) (((SCM) (((10) << 9) + ((10) << 3) + 4L))))): x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); while (!((((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) { SCM val = ((6 & ((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) ? (((((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))) & 0xff)==scm_tc8_iloc) ? *scm_ilookup (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))), env) : (((((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))) ? scm_misc_error (((void *)0), scm_s_expression, ((SCM) (((20) << 9) + 0x174L))), 0 : 0), ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) : ((!(6 & ((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bi! ts) ((x)))))) [(0)])))))))))) && ((0x7f & (scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))))))) [(0)])))) == 5)) ? *scm_lookupcar (x, env, 1) : scm_deval ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))), env))); if (!((((scm_t_bits) ((val))) == ((scm_t_bits) (((SCM) (((16) << 9) + 0x174L)))))) && !((((scm_t_bits) ((val))) == ((scm_t_bits) (((SCM) (((30) << 9) + 0x174L))))))) do { proc = (val); goto exit; } while (0); else x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); } { ++debug.info; debug.info->a.proc = ((SCM) (((18) << 9) + 0x174L)); debug.info->a.args = ((SCM) (((20) << 9) + 0x174L)); }; goto carloop; case (127 & ((scm_t_bits) (((SCM) (((6) << 9) + ((6) << 3) + 4L))))): do { proc = (scm_closure ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))), env)); goto exit; } while (0); case (127 & ((scm_t_bits) (((SCM) (((11) << 9) + ((11) << 3) + 4L))))): do { proc = ((((scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))))))) [(0)])))))))); goto exit; } while (0); case (127 & ((scm_t_bits) (((SCM) (((12) << 9) + ((12) << 3) + 4L))))): x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); { SCM *location; SCM variable = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))); if (((((scm_t_bits) (variable)) & 0xff)==scm_tc8_iloc)) location = scm_ilookup (variable, env); else if ((!(6 & ((scm_t_bits) (variable))) && (0x7f & (scm_assert_cell_valid ((variable)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((variable)))))) [(0)])))) == 7)) location = ((SCM *) ((scm_t_bits *) & (scm_assert_cell_valid (((variable))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((variable))))))) [(1)]))))); else location = scm_lookupcar (x, env, 1); x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); *location = ((6 & ((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) ? (((((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))) & 0xff)==scm_tc8_iloc) ? *scm_ilookup (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))), env) : (((((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))) ? scm_misc_error (((void *)0), scm_s_expression, ((SCM) (((20) << 9) + 0x174L))), 0 : 0), ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) : ((!(6 & ((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bi! ts) ((x)))))) [(0)])))))))))) && ((0x7f & (scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))))))) [(0)])))) == 5)) ? *scm_lookupcar (x, env, 1) : scm_deval ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))), env))); } do { proc = (((SCM) (((21) << 9) + 0x174L))); goto exit; } while (0); case (127 & ((scm_t_bits) (((SCM) (((13) << 9) + ((13) << 3) + 4L))))): scm_misc_error (((void *)0), "Bad define placement", ((SCM) (((20) << 9) + 0x174L))); case (127 & ((scm_t_bits) (((SCM) (((0) << 9) + 0x74L))))): proc = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))); if (!(((0x187 & ((scm_t_bits) (proc))) == 4))) goto badfun; switch ((((scm_t_bits) (proc)) >> 9)) { case ((((scm_t_bits) (((SCM) (((14) << 9) + 0x74L)))) >> 9)): proc = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); proc = ((6 & ((scm_t_bits) ((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))))))))) ? (((((scm_t_bits) ((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))))))))) & 0xff)==scm_tc8_iloc) ? *scm_ilookup (((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))))))), env) : (((((scm_t_bits) (((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))) ? scm_misc_error (((void *)0), scm_s_expression, ((SCM) (((20) << 9) + 0x174L))), 0 : 0), ((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))))))))) : ((!(6 & ((scm_t_bits) ((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits ! *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))))))))) && ((0x7f & (scm_assert_cell_valid (((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))))))))))))) [(0)])))) == 5)) ? *scm_lookupcar (proc, env, 1) : scm_deval ((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))))))), env))); if (!(!(6 & ((scm_t_bits) (proc))))) goto badfun; if ((!(6 & ((scm_t_bits) (proc))) && ((7 & (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))) == 3))) { { ++debug.info; debug.info->a.proc = proc; debug.info->a.args = ((SCM) (((20) << 9) + 0x174L)); }; arg1 = (((scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))))))) [(1)]))))))); arg1 = ((6 & ((scm_t_bits) ((((scm_assert_cell_valid ((arg1)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((arg1)))))) [(0)])))))))))) ? (((((scm_t_bits) ((((scm_assert_cell_valid ((arg1)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((arg1)))))) [(0)]))))))))) & 0xff)==scm_tc8_iloc) ? *scm_ilookup (((((scm_assert_cell_valid ((arg1)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((arg1)))))) [(0)])))))))), env) : (((((scm_t_bits) (((((scm_assert_cell_valid ((arg1)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((arg1)))))) [(0)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))) ? scm_misc_error (((void *)0), scm_s_expression, ((SCM) (((20) << 9) + 0x174L))), 0 : 0), ((((scm_assert_cell_valid ((arg1)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((arg1)))))) [(0)])))))))))) : ((!(6 & ((scm_t_bits) ((((scm_assert_cell_valid ((arg1)), ((((SCM) (((const scm_t_b! its *) ((scm_t_cell *) (((scm_t_bits) ((arg1)))))) [(0)])))))))))) && ((0x7f & (scm_assert_cell_valid (((((scm_assert_cell_valid ((arg1)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((arg1)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((arg1)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((arg1)))))) [(0)]))))))))))))) [(0)])))) == 5)) ? *scm_lookupcar (arg1, env, 1) : scm_deval ((((scm_assert_cell_valid ((arg1)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((arg1)))))) [(0)]))))))), env))); apply_closure: { SCM formals = (((scm_assert_cell_valid (((((scm_assert_cell_valid ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))))))) [(0)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))))))) [(0)]))))))))))))) [(0)]))))))); debug.info->a.args = arg1; if (scm_badargsp (formals, arg1)) scm_wrong_num_args (proc); do { ((debug).status |= (1L << 7)); if (scm_check_apply_p && scm_evaluator_trap_table[0].val) if (scm_evaluator_trap_table[2].val || (scm_debug_opts[2].val && (!((((scm_t_bits) ((scm_procedure_property (proc, scm_sym_trace)))) == ((scm_t_bits) (((SCM) (((16) << 9) + 0x174L))))))))) { SCM tmp, tail = (((((debug).status & (1L << 8)) != 0)) ? ((SCM) (((17) << 9) + 0x174L)) : ((SCM) (((16) << 9) + 0x174L))); ((debug).status |= (1L << 8)); scm_evaluator_trap_table[0].val = 0; if (scm_debug_opts[0].val) { tmp = scm_make_debugobj (&debug); scm_call_3 ((SCM)(scm_evaluator_trap_table[5].val), scm_sym_apply_frame, tmp, tail); } else { int first; tmp = scm_make_continuation (&first); if (first) scm_call_3 ((SCM)(scm_evaluator_trap_table[5].val), scm_sym_apply_frame, tmp, tail); } scm_evaluator_trap_table[0].val = 1; }} while (0); if ((((((scm_t_bits) ((arg1))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L)))))) || ((((scm_t_bits) ((arg1))) == ((scm_t_bits) (((SCM) (((30) << 9) + 0x174L)))))))) env = scm_acons (formals, ((SCM) (((20) << 9) + 0x174L)), (scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))))); else { SCM args = scm_list_1 ((((scm_assert_cell_valid ((arg1)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((arg1)))))) [(0)])))))))); SCM tail = args; arg1 = (((scm_assert_cell_valid ((arg1)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((arg1)))))) [(1)]))))))); while (!(((((scm_t_bits) ((arg1))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L)))))) || ((((scm_t_bits) ((arg1))) == ((scm_t_bits) (((SCM) (((30) << 9) + 0x174L)))))))) { SCM new_tail = scm_list_1 ((((scm_assert_cell_valid ((arg1)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((arg1)))))) [(0)])))))))); (((scm_assert_cell_valid (((tail))), ((((scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((tail))))))) [(1)] = ((scm_t_bits) (((new_tail))))))))); tail = new_tail; arg1 = (((scm_assert_cell_valid ((arg1)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((arg1)))))) [(1)]))))))); } env = scm_acons (formals, args, (scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))))); } x = (((scm_assert_cell_valid (((((scm_assert_cell_valid ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))))))) [(0)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))))))) [(0)]))))))))))))) [(1)]))))))); goto nontoplevel_begin; } } else { proc = scm_f_apply; goto evapply; } case ((((scm_t_bits) (((SCM) (((15) << 9) + 0x74L)))) >> 9)): { int first; SCM val = scm_make_continuation (&first); if (!first) do { proc = (val); goto exit; } while (0); else { arg1 = val; proc = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); proc = scm_eval_car (proc, env); if (!((!(6 & ((scm_t_bits) (proc)))))) goto badfun; { ++debug.info; debug.info->a.proc = proc; debug.info->a.args = scm_list_1 (arg1); }; do { ((debug).status |= (1L << 7)); if (scm_check_apply_p && scm_evaluator_trap_table[0].val) if (scm_evaluator_trap_table[2].val || (scm_debug_opts[2].val && (!((((scm_t_bits) ((scm_procedure_property (proc, scm_sym_trace)))) == ((scm_t_bits) (((SCM) (((16) << 9) + 0x174L))))))))) { SCM tmp, tail = (((((debug).status & (1L << 8)) != 0)) ? ((SCM) (((17) << 9) + 0x174L)) : ((SCM) (((16) << 9) + 0x174L))); ((debug).status |= (1L << 8)); scm_evaluator_trap_table[0].val = 0; if (scm_debug_opts[0].val) { tmp = scm_make_debugobj (&debug); scm_call_3 ((SCM)(scm_evaluator_trap_table[5].val), scm_sym_apply_frame, tmp, tail); } else { int first; tmp = scm_make_continuation (&first); if (first) scm_call_3 ((SCM)(scm_evaluator_trap_table[5].val), scm_sym_apply_frame, tmp, tail); } scm_evaluator_trap_table[0].val = 1; }} while (0); if ((!(6 & ((scm_t_bits) (proc))) && ((7 & (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))) == 3)) && scm_badformalsp (proc, 1)) goto umwrongnumargs; goto evap1; } } case ((((scm_t_bits) (((SCM) (((27) << 9) + 0x74L)))) >> 9)): do { proc = (scm_makprom (scm_closure ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))), env))); goto exit; } while (0); case ((((scm_t_bits) (((SCM) (((22) << 9) + 0x74L)))) >> 9)): { SCM operand_forms = (((scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))))))) [(0)]))))))); { ++debug.info; debug.info->a.proc = ((SCM) (((18) << 9) + 0x174L)); debug.info->a.args = ((SCM) (((20) << 9) + 0x174L)); }; if (((((scm_t_bits) (operand_forms)) & 0xff)==scm_tc8_iloc)) arg1 = *scm_ilookup (operand_forms, env); else if ((!(6 & ((scm_t_bits) (operand_forms))) && (0x7f & (scm_assert_cell_valid ((operand_forms)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((operand_forms)))))) [(0)])))) == 7)) arg1 = (scm_assert_cell_valid ((operand_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((operand_forms)))))) [(1)]))))); else if (!(!(6 & ((scm_t_bits) (operand_forms))) && ((1 & (scm_assert_cell_valid ((operand_forms)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((operand_forms)))))) [(0)])))) == 0))) arg1 = *scm_lookupcar ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))), env, 1); else { SCM tail = arg1 = scm_list_1 (((6 & ((scm_t_bits) ((((scm_assert_cell_valid ((operand_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((operand_forms)))))) [(0)])))))))))) ? (((((scm_t_bits) ((((scm_assert_cell_valid ((operand_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((operand_forms)))))) [(0)]))))))))) & 0xff)==scm_tc8_iloc) ? *scm_ilookup (((((scm_assert_cell_valid ((operand_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((operand_forms)))))) [(0)])))))))), env) : (((((scm_t_bits) (((((scm_assert_cell_valid ((operand_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((operand_forms)))))) [(0)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))) ? scm_misc_error (((void *)0), scm_s_expression, ((SCM) (((20) << 9) + 0x174L))), 0 : 0), ((((scm_assert_cell_valid ((operand_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((operan! d_forms)))))) [(0)])))))))))) : ((!(6 & ((scm_t_bits) ((((scm_assert_cell_valid ((operand_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((operand_forms)))))) [(0)])))))))))) && ((0x7f & (scm_assert_cell_valid (((((scm_assert_cell_valid ((operand_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((operand_forms)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((operand_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((operand_forms)))))) [(0)]))))))))))))) [(0)])))) == 5)) ? *scm_lookupcar (operand_forms, env, 1) : scm_deval ((((scm_assert_cell_valid ((operand_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((operand_forms)))))) [(0)]))))))), env)))); operand_forms = (((scm_assert_cell_valid ((operand_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((operand_forms)))))) [(1)]))))))); while (!((((scm_t_bits) ((operand_forms))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) { SCM new_tail = scm_list_1 (((6 & ((scm_t_bits) ((((scm_assert_cell_valid ((operand_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((operand_forms)))))) [(0)])))))))))) ? (((((scm_t_bits) ((((scm_assert_cell_valid ((operand_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((operand_forms)))))) [(0)]))))))))) & 0xff)==scm_tc8_iloc) ? *scm_ilookup (((((scm_assert_cell_valid ((operand_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((operand_forms)))))) [(0)])))))))), env) : (((((scm_t_bits) (((((scm_assert_cell_valid ((operand_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((operand_forms)))))) [(0)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))) ? scm_misc_error (((void *)0), scm_s_expression, ((SCM) (((20) << 9) + 0x174L))), 0 : 0), ((((scm_assert_cell_valid ((operand_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((opera! nd_forms)))))) [(0)])))))))))) : ((!(6 & ((scm_t_bits) ((((scm_assert_cell_valid ((operand_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((operand_forms)))))) [(0)])))))))))) && ((0x7f & (scm_assert_cell_valid (((((scm_assert_cell_valid ((operand_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((operand_forms)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((operand_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((operand_forms)))))) [(0)]))))))))))))) [(0)])))) == 5)) ? *scm_lookupcar (operand_forms, env, 1) : scm_deval ((((scm_assert_cell_valid ((operand_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((operand_forms)))))) [(0)]))))))), env)))); (((scm_assert_cell_valid (((tail))), ((((scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((tail))))))) [(1)] = ((scm_t_bits) (((new_tail))))))))); tail = new_tail; operand_forms = (((scm_assert_cell_valid ((operand_forms)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((operand_forms)))))) [(1)]))))))); } } } type_dispatch: # 2440 "eval.c" { unsigned long int specializers; unsigned long int hash_value; unsigned long int cache_end_pos; unsigned long int mask; SCM method_cache; { SCM z = (((scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))))))) [(1)]))))))); SCM tmp = (((scm_assert_cell_valid (((((scm_assert_cell_valid ((z)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((z)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((z)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((z)))))) [(1)]))))))))))))) [(0)]))))))); specializers = ((((scm_t_signed_bits) ((scm_t_bits) ((((scm_assert_cell_valid ((z)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((z)))))) [(0)])))))))))) >> (2))); if ((2 & ((scm_t_bits) (tmp)))) { # 2474 "eval.c" unsigned long int hashset = ((((scm_t_signed_bits) ((scm_t_bits) (tmp))) >> (2))); unsigned long int counter = specializers + 1; SCM tmp_arg = arg1; hash_value = 0; while (!((((scm_t_bits) ((tmp_arg))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L)))))) && counter != 0) { SCM class = scm_class_of ((((scm_assert_cell_valid ((tmp_arg)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((tmp_arg)))))) [(0)])))))))); hash_value += (((scm_t_bits *) (scm_assert_cell_valid ((class)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((class)))))) [(1)])))) [6 + (hashset)]); tmp_arg = (((scm_assert_cell_valid ((tmp_arg)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((tmp_arg)))))) [(1)]))))))); counter--; } z = (((scm_assert_cell_valid (((((scm_assert_cell_valid ((z)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((z)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((z)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((z)))))) [(1)]))))))))))))) [(1)]))))))); method_cache = (((scm_assert_cell_valid (((((scm_assert_cell_valid ((z)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((z)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((z)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((z)))))) [(1)]))))))))))))) [(0)]))))))); mask = ((((scm_t_signed_bits) ((scm_t_bits) ((((scm_assert_cell_valid ((z)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((z)))))) [(0)])))))))))) >> (2))); hash_value &= mask; cache_end_pos = hash_value; } else { method_cache = tmp; mask = (unsigned long int) ((long) -1); hash_value = 0; cache_end_pos = (((unsigned long) (scm_assert_cell_valid ((method_cache)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((method_cache)))))) [(0)])))) >> 8); } } { # 2512 "eval.c" SCM z; do { SCM args = arg1; z = ((const SCM *) (scm_assert_cell_valid ((method_cache)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((method_cache)))))) [(1)]))))[hash_value]; while (!((((scm_t_bits) ((args))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) { SCM class_of_arg = scm_class_of ((((scm_assert_cell_valid ((args)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((args)))))) [(0)])))))))); if (!(((scm_t_bits) (class_of_arg)) == ((scm_t_bits) ((((scm_assert_cell_valid ((z)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((z)))))) [(0)]))))))))))) goto next_method; args = (((scm_assert_cell_valid ((args)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((args)))))) [(1)]))))))); z = (((scm_assert_cell_valid ((z)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((z)))))) [(1)]))))))); } if (((((scm_t_bits) (((((scm_assert_cell_valid ((z)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((z)))))) [(0)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L)))))) || (!(6 & ((scm_t_bits) ((((scm_assert_cell_valid ((z)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((z)))))) [(0)])))))))))) && ((1 & (scm_assert_cell_valid (((((scm_assert_cell_valid ((z)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((z)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((z)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((z)))))) [(0)]))))))))))))) [(0)])))) == 0))) goto apply_cmethod; next_method: hash_value = (hash_value + 1) & mask; } while (hash_value != cache_end_pos); z = scm_memoize_method (x, arg1); apply_cmethod: { SCM formals = (((scm_assert_cell_valid (((((scm_assert_cell_valid ((z)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((z)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((z)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((z)))))) [(1)]))))))))))))) [(0)]))))))); env = scm_acons (formals, arg1, (((scm_assert_cell_valid ((z)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((z)))))) [(0)])))))))); x = (((scm_assert_cell_valid (((((scm_assert_cell_valid ((z)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((z)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((z)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((z)))))) [(1)]))))))))))))) [(1)]))))))); goto nontoplevel_begin; } } } case ((((scm_t_bits) (((SCM) (((23) << 9) + 0x74L)))) >> 9)): x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); { SCM instance = ((6 & ((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) ? (((((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))) & 0xff)==scm_tc8_iloc) ? *scm_ilookup (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))), env) : (((((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))) ? scm_misc_error (((void *)0), scm_s_expression, ((SCM) (((20) << 9) + 0x174L))), 0 : 0), ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) : ((!(6 & ((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((s! cm_t_bits) ((x)))))) [(0)])))))))))) && ((0x7f & (scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))))))) [(0)])))) == 5)) ? *scm_lookupcar (x, env, 1) : scm_deval ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))), env))); unsigned long int slot = ((((scm_t_signed_bits) ((scm_t_bits) ((((scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))))))) [(0)])))))))))) >> (2))); do { proc = (((SCM) (((scm_t_bits *) (scm_assert_cell_valid ((instance)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((instance)))))) [(1)])))) [slot]))); goto exit; } while (0); } case ((((scm_t_bits) (((SCM) (((24) << 9) + 0x74L)))) >> 9)): x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); { SCM instance = ((6 & ((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) ? (((((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))) & 0xff)==scm_tc8_iloc) ? *scm_ilookup (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))), env) : (((((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))) ? scm_misc_error (((void *)0), scm_s_expression, ((SCM) (((20) << 9) + 0x174L))), 0 : 0), ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) : ((!(6 & ((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((s! cm_t_bits) ((x)))))) [(0)])))))))))) && ((0x7f & (scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))))))) [(0)])))) == 5)) ? *scm_lookupcar (x, env, 1) : scm_deval ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))), env))); unsigned long int slot = ((((scm_t_signed_bits) ((scm_t_bits) ((((scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))))))) [(0)])))))))))) >> (2))); SCM value = ((6 & ((scm_t_bits) ((((scm_assert_cell_valid (((((scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))))))) [(1)]))))))))))))) [(0)])))))))))) ? (((((scm_t_bits) ((((scm_assert_cell_valid (((((scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm! _t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))))))) [(1)]))))))))))))) [(0)]))))))))) & 0xff)==scm_tc8_iloc) ? *scm_ilookup (((((scm_assert_cell_valid (((((scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((! (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))))))) [(1)]))))))))))))) [(0)])))))))), env) : (((((scm_t_bits) (((((scm_assert_cell_valid (((((scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))))))) [(1)]))))))))), ((((SCM! ) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))))))) [(1)]))))))))))))) [(0)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))) ? scm_misc_error (((void *)0), scm_s_expression, ((SCM) (((20) << 9) + 0x174L))), 0 : 0), ((((scm_assert_cell_valid (((((scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((sc! m_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))))))) [(1)]))))))))))))) [(0)])))))))))) : ((!(6 & ((scm_t_bits) ((((scm_assert_cell_valid (((((scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bi! ts) ((x)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))))))) [(1)]))))))))))))) [(0)])))))))))) && ((0x7f & (scm_assert_cell_valid (((((scm_assert_cell_valid (((((scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM)! (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))))))) [(1)]))))))))))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid (((((scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))))))) [(1)]))))))))))))) [(0)])))))))! )))))) [(0)])))) == 5)) ? *scm_lookupcar ((((scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))))))) [(1)]))))))), env, 1) : scm_deval ((((scm_assert_cell_valid (((((scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))! ) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))))))))) [(1)]))))))))))))) [(0)]))))))), env))); ((scm_t_bits *) (scm_assert_cell_valid ((instance)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((instance)))))) [(1)])))) [slot] = ((scm_t_bits) (value)); do { proc = (((SCM) (((21) << 9) + 0x174L))); goto exit; } while (0); } case ((((scm_t_bits) (((SCM) (((25) << 9) + 0x74L)))) >> 9)): { SCM test_form = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); x = (((scm_assert_cell_valid ((test_form)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((test_form)))))) [(1)]))))))); while (!(((((scm_t_bits) ((x))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L)))))) || ((((scm_t_bits) ((x))) == ((scm_t_bits) (((SCM) (((30) << 9) + 0x174L)))))))) { SCM test_result = ((6 & ((scm_t_bits) ((((scm_assert_cell_valid ((test_form)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((test_form)))))) [(0)])))))))))) ? (((((scm_t_bits) ((((scm_assert_cell_valid ((test_form)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((test_form)))))) [(0)]))))))))) & 0xff)==scm_tc8_iloc) ? *scm_ilookup (((((scm_assert_cell_valid ((test_form)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((test_form)))))) [(0)])))))))), env) : (((((scm_t_bits) (((((scm_assert_cell_valid ((test_form)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((test_form)))))) [(0)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))) ? scm_misc_error (((void *)0), scm_s_expression, ((SCM) (((20) << 9) + 0x174L))), 0 : 0), ((((scm_assert_cell_valid ((test_form)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((test_form)))))) [(0)])))))))))) : ((!(6 & ((scm_t_bits! ) ((((scm_assert_cell_valid ((test_form)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((test_form)))))) [(0)])))))))))) && ((0x7f & (scm_assert_cell_valid (((((scm_assert_cell_valid ((test_form)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((test_form)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((test_form)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((test_form)))))) [(0)]))))))))))))) [(0)])))) == 5)) ? *scm_lookupcar (test_form, env, 1) : scm_deval ((((scm_assert_cell_valid ((test_form)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((test_form)))))) [(0)]))))))), env))); if (!(((((scm_t_bits) ((test_result))) == ((scm_t_bits) (((SCM) (((16) << 9) + 0x174L)))))) || (((((scm_t_bits) ((test_result))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L)))))) || ((((scm_t_bits) ((test_result))) == ((scm_t_bits) (((SCM) (((30) << 9) + 0x174L))))))))) { if ((((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))) == ((scm_t_bits) (((SCM) (((21) << 9) + 0x174L)))))) do { proc = (test_result); goto exit; } while (0); { ++debug.info; debug.info->a.proc = ((SCM) (((18) << 9) + 0x174L)); debug.info->a.args = ((SCM) (((20) << 9) + 0x174L)); }; goto carloop; } else { test_form = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); x = (((scm_assert_cell_valid ((test_form)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((test_form)))))) [(1)]))))))); } } x = test_form; { ++debug.info; debug.info->a.proc = ((SCM) (((18) << 9) + 0x174L)); debug.info->a.args = ((SCM) (((20) << 9) + 0x174L)); }; goto carloop; } case ((((scm_t_bits) (((SCM) (((26) << 9) + 0x74L)))) >> 9)): { SCM vars, exps, vals; x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); vars = (((scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))))))) [(0)]))))))); exps = (((scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))))))) [(1)]))))))); vals = ((SCM) (((20) << 9) + 0x174L)); while ((!(6 & ((scm_t_bits) (exps))))) { vals = scm_cons (((6 & ((scm_t_bits) ((((scm_assert_cell_valid ((exps)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((exps)))))) [(0)])))))))))) ? (((((scm_t_bits) ((((scm_assert_cell_valid ((exps)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((exps)))))) [(0)]))))))))) & 0xff)==scm_tc8_iloc) ? *scm_ilookup (((((scm_assert_cell_valid ((exps)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((exps)))))) [(0)])))))))), env) : (((((scm_t_bits) (((((scm_assert_cell_valid ((exps)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((exps)))))) [(0)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))) ? scm_misc_error (((void *)0), scm_s_expression, ((SCM) (((20) << 9) + 0x174L))), 0 : 0), ((((scm_assert_cell_valid ((exps)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((exps)))))) [(0)])))))))))) : ((!(6 & ((scm_t_bits) ((((scm_assert_cell_valid ((exps)), ((((SCM) (((c! onst scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((exps)))))) [(0)])))))))))) && ((0x7f & (scm_assert_cell_valid (((((scm_assert_cell_valid ((exps)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((exps)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((exps)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((exps)))))) [(0)]))))))))))))) [(0)])))) == 5)) ? *scm_lookupcar (exps, env, 1) : scm_deval ((((scm_assert_cell_valid ((exps)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((exps)))))) [(0)]))))))), env))), vals); exps = (((scm_assert_cell_valid ((exps)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((exps)))))) [(1)]))))))); } scm_swap_bindings (vars, vals); (scm_root->dynwinds) = scm_acons (vars, vals, (scm_root->dynwinds)); for (x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); !((((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L)))))); x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)])))))))) { if ((!(6 & ((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) && ((1 & (scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))))))) [(0)])))) == 0))) scm_deval ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))), env); } proc = ((6 & ((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) ? (((((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))) & 0xff)==scm_tc8_iloc) ? *scm_ilookup (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))), env) : (((((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))) ? scm_misc_error (((void *)0), scm_s_expression, ((SCM) (((20) << 9) + 0x174L))), 0 : 0), ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) : ((!(6 & ((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bit! s) ((x)))))) [(0)])))))))))) && ((0x7f & (scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))))))) [(0)])))) == 5)) ? *scm_lookupcar (x, env, 1) : scm_deval ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))), env))); (scm_root->dynwinds) = (((scm_assert_cell_valid (((scm_root->dynwinds))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((scm_root->dynwinds))))))) [(1)]))))))); scm_swap_bindings (vars, vals); do { proc = (proc); goto exit; } while (0); } case ((((scm_t_bits) (((SCM) (((28) << 9) + 0x74L)))) >> 9)): { proc = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); x = ((6 & ((scm_t_bits) ((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))))))))) ? (((((scm_t_bits) ((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))))))))) & 0xff)==scm_tc8_iloc) ? *scm_ilookup (((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))))))), env) : (((((scm_t_bits) (((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))) ? scm_misc_error (((void *)0), scm_s_expression, ((SCM) (((20) << 9) + 0x174L))), 0 : 0), ((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))))))))) : ((!(6 & ((scm_t_bits) ((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *! ) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))))))))) && ((0x7f & (scm_assert_cell_valid (((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))))))))))))) [(0)])))) == 5)) ? *scm_lookupcar (proc, env, 1) : scm_deval ((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))))))), env))); proc = (((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)]))))))); proc = ((6 & ((scm_t_bits) ((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))))))))) ? (((((scm_t_bits) ((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))))))))) & 0xff)==scm_tc8_iloc) ? *scm_ilookup (((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))))))), env) : (((((scm_t_bits) (((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))) ? scm_misc_error (((void *)0), scm_s_expression, ((SCM) (((20) << 9) + 0x174L))), 0 : 0), ((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))))))))) : ((!(6 & ((scm_t_bits) ((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bit! s *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))))))))) && ((0x7f & (scm_assert_cell_valid (((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))))))))))))) [(0)])))) == 5)) ? *scm_lookupcar (proc, env, 1) : scm_deval ((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))))))), env))); arg1 = scm_dapply (x, ((SCM) (((20) << 9) + 0x174L)), ((SCM) (((20) << 9) + 0x174L))); if (((!(6 & ((scm_t_bits) (arg1))) && ((7 & (scm_assert_cell_valid ((arg1)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((arg1)))))) [(0)])))) == 1)) && (((scm_t_bits) (scm_struct_vtable (arg1))) == ((scm_t_bits) (scm_values_vtable))))) arg1 = scm_struct_ref (arg1, ((((SCM) ((((scm_t_signed_bits) (0)) << 2) + 2))))); else arg1 = scm_list_1 (arg1); if ((!(6 & ((scm_t_bits) (proc))) && ((7 & (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))) == 3))) { { ++debug.info; debug.info->a.proc = proc; debug.info->a.args = arg1; }; goto apply_closure; } return scm_dapply (proc, arg1, ((SCM) (((20) << 9) + 0x174L))); } default: goto badfun; } default: proc = x; badfun: scm_misc_error (((void *)0), "Wrong type to apply: ~S", scm_list_1 (proc)); case 13: case 15: case 71: case 77: case 55: case 79: case 37: case 45: case 47: case 53: case 29: case 21: case 127: case 3:case 11:case 19:case 27: case 35:case 43:case 51:case 59: case 67:case 75:case 83:case 91: case 99:case 107:case 115:case 123: case 63: case 31: case 103:case 85:case 87:case 93: case 95:case 101:case 69:case 109: case 111:case 117:case 119: case 1:case 9:case 17:case 25: case 33:case 41:case 49:case 57: case 65:case 73:case 81:case 89: case 97:case 105:case 113:case 121: do { proc = (x); goto exit; } while (0); case 7: do { proc = ((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)])))))); goto exit; } while (0); case (127 & ((scm_t_bits) (((SCM) (((0L) << 8) + scm_tc8_iloc))))): proc = *scm_ilookup ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))), env); if (!((!(6 & ((scm_t_bits) (proc)))))) goto badfun; goto checkargs; case 0:case 8:case 16:case 24: case 32:case 40:case 48:case 56: case 64:case 72:case 80:case 88: case 96:case 104:case 112:case 120: if ((!(6 & ((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) && ((0x7f & (scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))))))) [(0)])))) == 5))) { SCM orig_sym = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))); # 2706 "eval.c" proc = *scm_lookupcar (x, env, 1); if ((6 & ((scm_t_bits) (proc)))) { (((scm_assert_cell_valid (((x))), ((((scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((x))))))) [(0)] = ((scm_t_bits) (((orig_sym))))))))); goto badfun; } if ((!(6 & ((scm_t_bits) ((proc)))) && (0xffff & (scm_assert_cell_valid (((proc))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((proc))))))) [(0)])))) == (scm_tc16_macro))) { (((scm_assert_cell_valid (((x))), ((((scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((x))))))) [(0)] = ((scm_t_bits) (((orig_sym))))))))); handle_a_macro: ((debug).status |= (1L << 10)); arg1 = scm_dapply ((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)]))))), x, scm_cons (env, scm_sys_protects[1])); ((debug).status &= ~(1L << 10)); switch (((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) >> 16)) { case 2: if (scm_ilength (arg1) <= 0) arg1 = scm_list_2 (((SCM) (((1) << 9) + ((1) << 3) + 4L)), arg1); if (!(!(6 & ((scm_t_bits) ((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))))))) && ((7 & (scm_assert_cell_valid (((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)]))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)]))))))))))) [(0)])))) == 3))) { do { asm (""); ; ; asm (""); scm_ints_disabled = 1; asm (""); } while (0); (((scm_assert_cell_valid (((x))), ((((scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((x))))))) [(0)] = ((scm_t_bits) ((((((scm_assert_cell_valid ((arg1)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((arg1)))))) [(0)])))))))))))))))); (((scm_assert_cell_valid (((x))), ((((scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((x))))))) [(1)] = ((scm_t_bits) ((((((scm_assert_cell_valid ((arg1)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((arg1)))))) [(1)])))))))))))))))); do { asm (""); ; ; asm (""); scm_ints_disabled = 0; asm (""); ; asm (""); } while (0); goto dispatch; } debug.info->e.exp = scm_cons_source (debug.info->e.exp, (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))), (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)])))))))); do { asm (""); ; ; asm (""); scm_ints_disabled = 1; asm (""); } while (0); (((scm_assert_cell_valid (((x))), ((((scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((x))))))) [(0)] = ((scm_t_bits) ((((((scm_assert_cell_valid ((arg1)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((arg1)))))) [(0)])))))))))))))))); (((scm_assert_cell_valid (((x))), ((((scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((x))))))) [(1)] = ((scm_t_bits) ((((((scm_assert_cell_valid ((arg1)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((arg1)))))) [(1)])))))))))))))))); do { asm (""); ; ; asm (""); scm_ints_disabled = 0; asm (""); ; asm (""); } while (0); { ++debug.info; debug.info->a.proc = ((SCM) (((18) << 9) + 0x174L)); debug.info->a.args = ((SCM) (((20) << 9) + 0x174L)); }; goto loop; case 1: x = arg1; if ((!(6 & ((scm_t_bits) (x))))) { { ++debug.info; debug.info->a.proc = ((SCM) (((18) << 9) + 0x174L)); debug.info->a.args = ((SCM) (((20) << 9) + 0x174L)); }; goto loop; } else do { proc = (arg1); goto exit; } while (0); case 0: do { proc = (arg1); goto exit; } while (0); } } } else proc = scm_deval ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))), env); if (!(!(6 & ((scm_t_bits) (proc))))) goto badfun; checkargs: if ((!(6 & ((scm_t_bits) (proc))) && ((7 & (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))) == 3))) { SCM formals = (((scm_assert_cell_valid (((((scm_assert_cell_valid ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))))))) [(0)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))))))) [(0)]))))))))))))) [(0)]))))))); SCM args = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); while (!((((scm_t_bits) ((formals))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) { if (!(!(6 & ((scm_t_bits) (formals))) && ((1 & (scm_assert_cell_valid ((formals)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((formals)))))) [(0)])))) == 0))) goto evapply; if ((6 & ((scm_t_bits) (args)))) goto umwrongnumargs; formals = (((scm_assert_cell_valid ((formals)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((formals)))))) [(1)]))))))); args = (((scm_assert_cell_valid ((args)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((args)))))) [(1)]))))))); } if (!((((scm_t_bits) ((args))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) goto umwrongnumargs; } else if ((!(6 & ((scm_t_bits) ((proc)))) && (0xffff & (scm_assert_cell_valid (((proc))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((proc))))))) [(0)])))) == (scm_tc16_macro))) goto handle_a_macro; } evapply: { ++debug.info; debug.info->a.proc = proc; debug.info->a.args = ((SCM) (((20) << 9) + 0x174L)); }; if (((((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) { do { ((debug).status |= (1L << 7)); if (scm_check_apply_p && scm_evaluator_trap_table[0].val) if (scm_evaluator_trap_table[2].val || (scm_debug_opts[2].val && (!((((scm_t_bits) ((scm_procedure_property (proc, scm_sym_trace)))) == ((scm_t_bits) (((SCM) (((16) << 9) + 0x174L))))))))) { SCM tmp, tail = (((((debug).status & (1L << 8)) != 0)) ? ((SCM) (((17) << 9) + 0x174L)) : ((SCM) (((16) << 9) + 0x174L))); ((debug).status |= (1L << 8)); scm_evaluator_trap_table[0].val = 0; if (scm_debug_opts[0].val) { tmp = scm_make_debugobj (&debug); scm_call_3 ((SCM)(scm_evaluator_trap_table[5].val), scm_sym_apply_frame, tmp, tail); } else { int first; tmp = scm_make_continuation (&first); if (first) scm_call_3 ((SCM)(scm_evaluator_trap_table[5].val), scm_sym_apply_frame, tmp, tail); } scm_evaluator_trap_table[0].val = 1; }} while (0); evap0: switch ((0x7f & (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))))) { case 85: do { proc = (((SCM (*)()) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) ()); goto exit; } while (0); case 109: do { proc = (((SCM (*)()) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) (((SCM) (((18) << 9) + 0x174L)))); goto exit; } while (0); case 119: do { proc = (((SCM (*)()) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) (((SCM) (((20) << 9) + 0x174L)))); goto exit; } while (0); case 69: do { proc = (((SCM) (((17) << 9) + 0x174L))); goto exit; } while (0); case 103: do { proc = (((SCM (*)()) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) (((SCM) (((18) << 9) + 0x174L)), ((SCM) (((18) << 9) + 0x174L)))); goto exit; } while (0); case 127: if (!((scm_smobs[((0x0ff & (((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))) >> 8)))]).apply)) goto badfun; do { proc = (((scm_smobs[((0x0ff & (((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))) >> 8)))]).apply_0 (proc))); goto exit; } while (0); case 63: arg1 = proc; proc = ((((SCM) (((scm_t_bits *) (scm_assert_cell_valid (((proc))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((proc))))))) [(1)])))) [0])))); debug.info->a.proc = proc; debug.info->a.args = scm_list_1 (arg1); goto evap1; case 31: proc = (scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)]))))); debug.info->a.proc = proc; if (!(!(6 & ((scm_t_bits) (proc))) && ((7 & (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))) == 3))) goto evap0; if (scm_badformalsp (proc, 0)) goto umwrongnumargs; case 3:case 11:case 19:case 27: case 35:case 43:case 51:case 59: case 67:case 75:case 83:case 91: case 99:case 107:case 115:case 123: x = (((scm_assert_cell_valid (((((scm_assert_cell_valid ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))))))) [(0)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))))))) [(0)]))))))))))))) [(1)]))))))); env = scm_acons ((((scm_assert_cell_valid (((((scm_assert_cell_valid ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))))))) [(0)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))))))) [(0)]))))))))))))) [(0)]))))))), ((SCM) (((20) << 9) + 0x174L)), (scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bit! s) ((proc)))))) [(1)])))))); goto nontoplevel_begin; case 1:case 9:case 17:case 25: case 33:case 41:case 49:case 57: case 65:case 73:case 81:case 89: case 97:case 105:case 113:case 121: if ((((scm_t_bits *) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 1)) [-1]) & (0x010 << 20)) { x = (((SCM) (((scm_t_bits *) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) [-5]))); arg1 = ((SCM) (((20) << 9) + 0x174L)); goto type_dispatch; } else if (!(((((scm_t_bits *) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 1)) [-1]) & (1L << 29)) != 0)) goto badfun; else { arg1 = proc; proc = ((((((scm_t_bits *) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 1)) [-1]) & (1L << 30)) != 0) ? (((SCM) (((scm_t_bits *) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) [-5]))) : (((struct scm_metaclass_operator *) ((scm_t_bits *) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 1)))->procedure)); debug.info->a.proc = proc; debug.info->a.args = scm_list_1 (arg1); if ((!(6 & ((scm_t_bits) (proc))))) goto evap1; else goto badfun; } case 87: case 101: case 111: case 93: case 95: case 117: umwrongnumargs: scm_unmemocar (x, env); scm_wrong_num_args (proc); default: goto badfun; } } x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); if ((!(6 & ((scm_t_bits) (x))) && ((1 & (scm_assert_cell_valid ((x)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))) == 0))) arg1 = ((6 & ((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) ? (((((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))) & 0xff)==scm_tc8_iloc) ? *scm_ilookup (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))), env) : (((((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))) ? scm_misc_error (((void *)0), scm_s_expression, ((SCM) (((20) << 9) + 0x174L))), 0 : 0), ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) : ((!(6 & ((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x))! )))) [(0)])))))))))) && ((0x7f & (scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))))))) [(0)])))) == 5)) ? *scm_lookupcar (x, env, 1) : scm_deval ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))), env))); else scm_wrong_num_args (proc); debug.info->a.args = scm_list_1 (arg1); x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); { SCM arg2; if (((((scm_t_bits) ((x))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) { do { ((debug).status |= (1L << 7)); if (scm_check_apply_p && scm_evaluator_trap_table[0].val) if (scm_evaluator_trap_table[2].val || (scm_debug_opts[2].val && (!((((scm_t_bits) ((scm_procedure_property (proc, scm_sym_trace)))) == ((scm_t_bits) (((SCM) (((16) << 9) + 0x174L))))))))) { SCM tmp, tail = (((((debug).status & (1L << 8)) != 0)) ? ((SCM) (((17) << 9) + 0x174L)) : ((SCM) (((16) << 9) + 0x174L))); ((debug).status |= (1L << 8)); scm_evaluator_trap_table[0].val = 0; if (scm_debug_opts[0].val) { tmp = scm_make_debugobj (&debug); scm_call_3 ((SCM)(scm_evaluator_trap_table[5].val), scm_sym_apply_frame, tmp, tail); } else { int first; tmp = scm_make_continuation (&first); if (first) scm_call_3 ((SCM)(scm_evaluator_trap_table[5].val), scm_sym_apply_frame, tmp, tail); } scm_evaluator_trap_table[0].val = 1; }} while (0); evap1: switch ((0x7f & (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))))) { case 111: do { proc = (((SCM (*)()) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) (arg1, ((SCM) (((18) << 9) + 0x174L)))); goto exit; } while (0); case 87: case 109: do { proc = (((SCM (*)()) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) (arg1)); goto exit; } while (0); case 93: if (((SCM (*)()) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)]))))) { if ((2 & ((scm_t_bits) (arg1)))) { do { proc = (scm_make_real (((double (*)()) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) ((double) ((((scm_t_signed_bits) ((scm_t_bits) (arg1))) >> (2)))))); goto exit; } while (0); } else if ((!(6 & ((scm_t_bits) (arg1))) && (0xffff & (scm_assert_cell_valid ((arg1)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((arg1)))))) [(0)])))) == (127 + 2 * 256L))) { do { proc = (scm_make_real (((double (*)()) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) ((((scm_t_double *) ((scm_t_cell *) (((scm_t_bits) (arg1)))))->real)))); goto exit; } while (0); } else if ((!(6 & ((scm_t_bits) (arg1))) && ((0xffff & (scm_assert_cell_valid ((arg1)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((arg1)))))) [(0)])))) == (127 + 1 * 256L)))) { do { proc = (scm_make_real (((double (*)()) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) (scm_i_big2dbl (arg1)))); goto exit; } while (0); } return (((scm_t_bits) (*((scm_subr_table[((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) >> 8)]).generic))) ? scm_call_generic_1 ((*((scm_subr_table[((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) >> 8)]).generic)), (arg1)) : (scm_wrong_type_arg ((((char *) ((scm_assert_cell_valid ((((scm_subr_table[((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) >> 8)]).name))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((((scm_subr_table[((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) >> 8)]).name))))))) [(1)])))))), (1), (arg1)), ((SCM) (((21) << 9) + 0x174L)))); } proc = ((scm_subr_table[((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) >> 8)]).name); { char *chrs = ((char *) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)]))))) + (((unsigned long) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))) >> 8) - 1; while ('c' != *--chrs) { if (!((!(6 & ((scm_t_bits) (arg1))) && ((1 & (scm_assert_cell_valid ((arg1)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((arg1)))))) [(0)])))) == 0)))) scm_wrong_type_arg (((char *) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)]))))), 1, arg1); arg1 = ('a' == *chrs) ? (((scm_assert_cell_valid ((arg1)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((arg1)))))) [(0)]))))))) : (((scm_assert_cell_valid ((arg1)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((arg1)))))) [(1)]))))))); } do { proc = (arg1); goto exit; } while (0); } case 69: do { proc = (((SCM) (((17) << 9) + 0x174L))); goto exit; } while (0); case 103: do { proc = (((SCM (*)()) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) (arg1, ((SCM) (((18) << 9) + 0x174L)))); goto exit; } while (0); case 119: do { proc = (((SCM (*)()) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) (debug.info->a.args)); goto exit; } while (0); case 127: if (!((scm_smobs[((0x0ff & (((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))) >> 8)))]).apply)) goto badfun; do { proc = (((scm_smobs[((0x0ff & (((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))) >> 8)))]).apply_1 (proc, (arg1)))); goto exit; } while (0); case 63: arg2 = arg1; arg1 = proc; proc = ((((SCM) (((scm_t_bits *) (scm_assert_cell_valid (((proc))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((proc))))))) [(1)])))) [0])))); debug.info->a.args = scm_cons (arg1, debug.info->a.args); debug.info->a.proc = proc; goto evap2; case 31: proc = (scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)]))))); debug.info->a.proc = proc; if (!(!(6 & ((scm_t_bits) (proc))) && ((7 & (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))) == 3))) goto evap1; if (scm_badformalsp (proc, 1)) goto umwrongnumargs; case 3:case 11:case 19:case 27: case 35:case 43:case 51:case 59: case 67:case 75:case 83:case 91: case 99:case 107:case 115:case 123: x = (((scm_assert_cell_valid (((((scm_assert_cell_valid ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))))))) [(0)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))))))) [(0)]))))))))))))) [(1)]))))))); env = scm_acons ((((scm_assert_cell_valid (((((scm_assert_cell_valid ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))))))) [(0)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))))))) [(0)]))))))))))))) [(0)]))))))), debug.info->a.args, (scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((pro! c)))))) [(1)])))))); goto nontoplevel_begin; case 1:case 9:case 17:case 25: case 33:case 41:case 49:case 57: case 65:case 73:case 81:case 89: case 97:case 105:case 113:case 121: if ((((scm_t_bits *) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 1)) [-1]) & (0x010 << 20)) { x = (((SCM) (((scm_t_bits *) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) [-5]))); arg1 = debug.info->a.args; goto type_dispatch; } else if (!(((((scm_t_bits *) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 1)) [-1]) & (1L << 29)) != 0)) goto badfun; else { arg2 = arg1; arg1 = proc; proc = ((((((scm_t_bits *) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 1)) [-1]) & (1L << 30)) != 0) ? (((SCM) (((scm_t_bits *) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) [-5]))) : (((struct scm_metaclass_operator *) ((scm_t_bits *) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 1)))->procedure)); debug.info->a.args = scm_cons (arg1, debug.info->a.args); debug.info->a.proc = proc; if ((!(6 & ((scm_t_bits) (proc))))) goto evap2; else goto badfun; } case 101: case 85: case 95: case 117: scm_wrong_num_args (proc); default: goto badfun; } } if ((!(6 & ((scm_t_bits) (x))) && ((1 & (scm_assert_cell_valid ((x)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))) == 0))) arg2 = ((6 & ((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) ? (((((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))) & 0xff)==scm_tc8_iloc) ? *scm_ilookup (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))), env) : (((((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))) ? scm_misc_error (((void *)0), scm_s_expression, ((SCM) (((20) << 9) + 0x174L))), 0 : 0), ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))))))))) : ((!(6 & ((scm_t_bits) ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x! )))))) [(0)])))))))))) && ((0x7f & (scm_assert_cell_valid (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))))))))) [(0)])))) == 5)) ? *scm_lookupcar (x, env, 1) : scm_deval ((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)]))))))), env))); else scm_wrong_num_args (proc); { debug.info->a.args = scm_list_2 (arg1, arg2); x = (((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)]))))))); if (((((scm_t_bits) ((x))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) { do { ((debug).status |= (1L << 7)); if (scm_check_apply_p && scm_evaluator_trap_table[0].val) if (scm_evaluator_trap_table[2].val || (scm_debug_opts[2].val && (!((((scm_t_bits) ((scm_procedure_property (proc, scm_sym_trace)))) == ((scm_t_bits) (((SCM) (((16) << 9) + 0x174L))))))))) { SCM tmp, tail = (((((debug).status & (1L << 8)) != 0)) ? ((SCM) (((17) << 9) + 0x174L)) : ((SCM) (((16) << 9) + 0x174L))); ((debug).status |= (1L << 8)); scm_evaluator_trap_table[0].val = 0; if (scm_debug_opts[0].val) { tmp = scm_make_debugobj (&debug); scm_call_3 ((SCM)(scm_evaluator_trap_table[5].val), scm_sym_apply_frame, tmp, tail); } else { int first; tmp = scm_make_continuation (&first); if (first) scm_call_3 ((SCM)(scm_evaluator_trap_table[5].val), scm_sym_apply_frame, tmp, tail); } scm_evaluator_trap_table[0].val = 1; }} while (0); evap2: switch ((0x7f & (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))))) { case 101: case 111: do { proc = (((SCM (*)()) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) (arg1, arg2)); goto exit; } while (0); case 119: do { proc = (((SCM (*)()) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) (debug.info->a.args)); goto exit; } while (0); case 117: do { proc = (((SCM (*)()) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) (arg1, arg2, ((SCM) (((20) << 9) + 0x174L)))); goto exit; } while (0); case 69: case 103: do { proc = (((SCM (*)()) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) (arg1, arg2)); goto exit; } while (0); case 127: if (!((scm_smobs[((0x0ff & (((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))) >> 8)))]).apply)) goto badfun; do { proc = (((scm_smobs[((0x0ff & (((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))) >> 8)))]).apply_2 (proc, (arg1), (arg2)))); goto exit; } while (0); cclon: case 63: do { proc = (scm_dapply (((((SCM) (((scm_t_bits *) (scm_assert_cell_valid (((proc))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((proc))))))) [(1)])))) [0])))), scm_cons (proc, debug.info->a.args), ((SCM) (((20) << 9) + 0x174L)))); goto exit; } while (0); # 3060 "eval.c" case 1:case 9:case 17:case 25: case 33:case 41:case 49:case 57: case 65:case 73:case 81:case 89: case 97:case 105:case 113:case 121: if ((((scm_t_bits *) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 1)) [-1]) & (0x010 << 20)) { x = (((SCM) (((scm_t_bits *) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) [-5]))); arg1 = debug.info->a.args; goto type_dispatch; } else if (!(((((scm_t_bits *) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 1)) [-1]) & (1L << 29)) != 0)) goto badfun; else { operatorn: do { proc = (scm_dapply ((((((scm_t_bits *) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 1)) [-1]) & (1L << 30)) != 0) ? (((SCM) (((scm_t_bits *) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) [-5]))) : (((struct scm_metaclass_operator *) ((scm_t_bits *) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 1)))->procedure), scm_cons (proc, debug.info->a.args), ((SCM) (((20) << 9) + 0x174L)))); goto exit; } while (0); # 3093 "eval.c" } case 85: case 93: case 109: case 87: case 95: scm_wrong_num_args (proc); default: goto badfun; case 31: proc = (scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)]))))); debug.info->a.proc = proc; if (!(!(6 & ((scm_t_bits) (proc))) && ((7 & (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))) == 3))) goto evap2; if (scm_badformalsp (proc, 2)) goto umwrongnumargs; case 3:case 11:case 19:case 27: case 35:case 43:case 51:case 59: case 67:case 75:case 83:case 91: case 99:case 107:case 115:case 123: env = scm_acons ((((scm_assert_cell_valid (((((scm_assert_cell_valid ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))))))) [(0)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))))))) [(0)]))))))))))))) [(0)]))))))), debug.info->a.args, (scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))))); x = (((scm_assert_cell_valid (((((scm_assert_cell_valid ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))))))) [(0)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))))))) [(0)]))))))))))))) [(1)]))))))); goto nontoplevel_begin; } } if (!(!(6 & ((scm_t_bits) (x))) && ((1 & (scm_assert_cell_valid ((x)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(0)])))) == 0))) scm_wrong_num_args (proc); debug.info->a.args = scm_cons2 (arg1, arg2, deval_args (x, env, proc, ((SCM *) ((scm_t_bits *) & (scm_assert_cell_valid ((((((scm_assert_cell_valid ((debug.info->a.args)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((debug.info->a.args)))))) [(1)])))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((((((scm_assert_cell_valid ((debug.info->a.args)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((debug.info->a.args)))))) [(1)])))))))))))))) [(1)]))))))); do { ((debug).status |= (1L << 7)); if (scm_check_apply_p && scm_evaluator_trap_table[0].val) if (scm_evaluator_trap_table[2].val || (scm_debug_opts[2].val && (!((((scm_t_bits) ((scm_procedure_property (proc, scm_sym_trace)))) == ((scm_t_bits) (((SCM) (((16) << 9) + 0x174L))))))))) { SCM tmp, tail = (((((debug).status & (1L << 8)) != 0)) ? ((SCM) (((17) << 9) + 0x174L)) : ((SCM) (((16) << 9) + 0x174L))); ((debug).status |= (1L << 8)); scm_evaluator_trap_table[0].val = 0; if (scm_debug_opts[0].val) { tmp = scm_make_debugobj (&debug); scm_call_3 ((SCM)(scm_evaluator_trap_table[5].val), scm_sym_apply_frame, tmp, tail); } else { int first; tmp = scm_make_continuation (&first); if (first) scm_call_3 ((SCM)(scm_evaluator_trap_table[5].val), scm_sym_apply_frame, tmp, tail); } scm_evaluator_trap_table[0].val = 1; }} while (0); evap3: switch ((0x7f & (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))))) { case 95: if (!((((scm_t_bits) (((((scm_assert_cell_valid ((x)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((x)))))) [(1)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) scm_wrong_num_args (proc); else do { proc = (((SCM (*)()) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) (arg1, arg2, (((scm_assert_cell_valid (((((scm_assert_cell_valid (((((scm_assert_cell_valid ((debug.info- >Fix: >Release-Note: >Audit-Trail: >Unformatted: >a.args)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((debug.info->a.args)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((debug.info->a.args)), ((((SCM) (((const scm_t _bits *) ((scm_t_cell *) (((scm_t_bits) ((debug.info->a.args)))))) [(1)]))))))))))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid (((((scm_assert_cell_valid ((debug.info->a.args)), ((((SCM) (( (const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((debug.info->a.args)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((debug.info->a.args)), ((((SCM) (((const ! scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((debug.info->a.args)))))) [(1)]))))))))))))) [(1)]))))))))))))) [(0)]))))))))); goto exit; } while (0); case 103: arg1 = ((SCM (*)()) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)]))))(arg1, arg2); arg2 = (((scm_assert_cell_valid (((((scm_assert_cell_valid ((debug.info->a.args)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((debug.info->a.args)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_ t_bits) (((((scm_assert_cell_valid ((debug.info->a.args)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((debug.info->a.args)))))) [(1)]))))))))))))) [(1)]))))))); do { arg1 = ((SCM (*)()) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)]))))(arg1, (((scm_assert_cell_valid ((arg2)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((arg 2)))))) [(0)])))))))); arg2 = (((scm_assert_cell_valid ((arg2)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((arg2)))))) [(1)]))))))); } while ((!(6 & ((scm_t_bits) (arg2))))); do { proc = (arg1); goto exit; } while (0); case 69: if (((((scm_t_bits) ((((SCM (*)()) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) (arg1, arg2)))) == ((scm_t_bits) (((SCM) (((16) << 9) + 0x174L))))))) do { proc = (((SCM) (((16) << 9) + 0x174L))); goto exit; } while (0); arg1 = (((scm_assert_cell_valid (((((scm_assert_cell_valid ((debug.info->a.args)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((debug.info->a.args)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_ t_bits) (((((scm_assert_cell_valid ((debug.info->a.args)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((debug.info->a.args)))))) [(1)]))))))))))))) [(1)]))))))); do { if (((((scm_t_bits) ((((SCM (*)()) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) (arg2, (((scm_assert_cell_valid ((arg1)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((s cm_t_bits) ((arg1)))))) [(0)]))))))))))) == ((scm_t_bits) (((SCM) (((16) << 9) + 0x174L))))))) do { proc = (((SCM) (((16) << 9) + 0x174L))); goto exit; } while (0); arg2 = (((scm_assert_cell_valid ((arg1)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((arg1)))))) [(0)]))))))); arg1 = (((scm_assert_cell_valid ((arg1)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((arg1)))))) [(1)]))))))); } while ((!(6 & ((scm_t_bits) (arg1))))); do { proc = (((SCM) (((17) << 9) + 0x174L))); goto exit; } while (0); case 117: do { proc = (((SCM (*)()) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) (arg1, arg2, (((scm_assert_cell_valid (((((scm_assert_cell_valid ((debug.info->a.args)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((debug.info->a.args)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((debug.info->a.args)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((s cm_t_bits) ((debug.info->a.args)))))) [(1)]))))))))))))) [(1)]))))))))); goto exit; } while (0); case 119: do { proc = (((SCM (*)()) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) (debug.info->a.args)); goto exit; } while (0); case 127: if (!((scm_smobs[((0x0ff & (((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))) >> 8)))]).apply)) goto badfun; do { proc = (((scm_smobs[((0x0ff & (((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))) >> 8)))]).apply_3 (proc, (arg1), (arg2), ((((scm_assert_cell_valid (((((scm_assert_cell_valid (( debug.info->a.args)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((debug.info->a.args)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((debug.info->a.args)), ((((SCM) ((( const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((debug.info->a.args)))))) [(1)]))))))))))))) [(1)]))))))))))); goto exit; } while (0); case 63: goto cclon; case 31: proc = (scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)]))))); debug.info->a.proc = proc; if (!(!(6 & ((scm_t_bits) (proc))) && ((7 & (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))) == 3))) goto evap3; if (scm_badargsp ((((scm_assert_cell_valid (((((scm_assert_cell_valid ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))))))) [(0)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_vali d ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_b its *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))))))) [(0)]))))))))))))) [(0)]))))))), debug.info->a.args)) goto umwrongnumargs; case 3:case 11:case 19:case 27: case 35:case 43:case 51:case 59: case 67:case 75:case 83:case 91: case 99:case 107:case 115:case 123: ((debug).status |= (1L << 7)); env = scm_acons ((((scm_assert_cell_valid (((((scm_assert_cell_valid ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell * ) (((scm_t_bits) ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))))))) [(0)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bi ts *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))))))) [(0)]))))))))))))) [(0)]))))))), debug.info->a.args, (scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))))); x = (((scm_assert_cell_valid (((((scm_assert_cell_valid ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bi ts) ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))))))) [(0)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((((SCM) ((s cm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t _cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))))))) [(0)]))))))))))))) [(1)]))))))); goto nontoplevel_begin; # 3258 "eval.c" case 1:case 9:case 17:case 25: case 33:case 41:case 49:case 57: case 65:case 73:case 81:case 89: case 97:case 105:case 113:case 121: if ((((scm_t_bits *) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 1)) [-1]) & (0x010 << 20)) { arg1 = debug.info->a.args; x = (((SCM) (((scm_t_bits *) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) [-5]))); goto type_dispatch; } else if (!(((((scm_t_bits *) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 1)) [-1]) & (1L << 29)) != 0)) goto badfun; else goto operatorn; case 101: case 109: case 111: case 85: case 93: case 87: scm_wrong_num_args (proc); default: goto badfun; } } } exit: if (scm_check_exit_p && scm_evaluator_trap_table[0].val) if (scm_evaluator_trap_table[3].val || (scm_debug_opts[2].val && (((debug).status & (1L << 8)) != 0))) { ((debug).status &= ~(1L << 8)); if (scm_debug_opts[0].val) arg1 = scm_make_debugobj (&debug); else { int first; SCM val = scm_make_continuation (&first); if (first) arg1 = val; else { proc = val; goto ret; } } scm_evaluator_trap_table[0].val = 0; scm_call_3 ((SCM)(scm_evaluator_trap_table[6].val), scm_sym_exit_frame, arg1, proc); scm_evaluator_trap_table[0].val = 1; } ret: scm_last_debug_frame = debug.prev; return proc; } # 3460 "eval.c" SCM scm_dapply (SCM proc, SCM arg1, SCM args) { scm_t_debug_frame debug; scm_t_debug_info debug_vect_body; debug.prev = scm_last_debug_frame; debug.status = (1L << 11); debug.vect = &debug_vect_body; debug.vect[0].a.proc = proc; debug.vect[0].a.args = ((SCM) (((20) << 9) + 0x174L)); scm_last_debug_frame = &debug; if (!((!(6 & ((scm_t_bits) (proc)))))) goto badproc; # 3493 "eval.c" if (((((scm_t_bits) ((args))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) { if (((((scm_t_bits) ((arg1))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) { arg1 = ((SCM) (((18) << 9) + 0x174L)); debug.vect[0].a.args = ((SCM) (((20) << 9) + 0x174L)); } else { debug.vect[0].a.args = arg1; args = (((scm_assert_cell_valid ((arg1)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((arg1)))))) [(1)]))))))); arg1 = (((scm_assert_cell_valid ((arg1)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((arg1)))))) [(0)]))))))); } } else { args = scm_nconc2last (args); debug.vect[0].a.args = scm_cons (arg1, args); } if (scm_evaluator_trap_table[1].val && scm_evaluator_trap_table[0].val) { SCM tmp; if (scm_debug_opts[0].val) tmp = scm_make_debugobj (&debug); else { int first; tmp = scm_make_continuation (&first); if (!first) goto entap; } scm_evaluator_trap_table[0].val = 0; scm_call_2 ((SCM)(scm_evaluator_trap_table[4].val), scm_sym_enter_frame, tmp); scm_evaluator_trap_table[0].val = 1; } entap: do { ((debug).status |= (1L << 7)); if (scm_check_apply_p && scm_evaluator_trap_table[0].val) if (scm_evaluator_trap_table[2].val || (scm_debug_opts[2].val && (!((((scm_t_bits) ((scm_procedure_property (proc, scm_sym_trace)))) == ((scm_t_bits) (((SCM) (((16) << 9) + 0x174L))))))))) { SCM tmp, tail = (((((debug).status & (1L << 8)) != 0)) ? ((SCM) (((17) << 9) + 0x174L)) : ((SCM) (((16) << 9) + 0x174L))); ((debug).status |= (1L << 8)); scm_evaluator_trap_table[0].val = 0; if (scm_debug_opts[0].val) { t mp = scm_make_debugobj (&debug); scm_call_3 ((SCM)(scm_evaluator_trap_table[5].val), scm_sym_apply_frame, tmp, tail); } else { int first; tmp = scm_make_continuation (&first); if (first) scm_call_3 ((SCM)(scm_evaluator_trap_table[5].val), scm_sym_apply_f rame, tmp, tail); } scm_evaluator_trap_table[0].val = 1; }} while (0); tail: switch ((0x7f & (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))))) { case 111: args = ((((scm_t_bits) ((args))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L)))))) ? ((SCM) (((18) << 9) + 0x174L)) : (((scm_assert_cell_valid ((args)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((args)))))) [(0)]))))))); do { proc = (((SCM (*)()) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) (arg1, args)); goto exit; } while (0); case 101: if (((((scm_t_bits) ((args))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L)))))) || !((((scm_t_bits) (((((scm_assert_cell_valid ((args)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((args)))))) [(1)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) scm_wrong_num_args (proc); args = (((scm_assert_cell_valid ((args)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((args)))))) [(0)]))))))); do { proc = (((SCM (*)()) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) (arg1, args)); goto exit; } while (0); case 85: if (!((((scm_t_bits) ((arg1))) == ((scm_t_bits) (((SCM) (((18) << 9) + 0x174L))))))) scm_wrong_num_args (proc); else do { proc = (((SCM (*)()) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) ()); goto exit; } while (0); case 87: if (((((scm_t_bits) ((arg1))) == ((scm_t_bits) (((SCM) (((18) << 9) + 0x174L))))))) scm_wrong_num_args (proc); case 109: if (!((((scm_t_bits) ((args))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) scm_wrong_num_args (proc); else do { proc = (((SCM (*)()) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) (arg1)); goto exit; } while (0); case 93: if (((((scm_t_bits) ((arg1))) == ((scm_t_bits) (((SCM) (((18) << 9) + 0x174L)))))) || !((((scm_t_bits) ((args))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) scm_wrong_num_args (proc); if (((SCM (*)()) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)]))))) { if ((2 & ((scm_t_bits) (arg1)))) { do { proc = (scm_make_real (((double (*)()) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) ((double) ((((scm_t_signed_bits) ((scm_t_bits) (arg1))) >> (2)))))); goto exit; } whi le (0); } else if ((!(6 & ((scm_t_bits) (arg1))) && (0xffff & (scm_assert_cell_valid ((arg1)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((arg1)))))) [(0)])))) == (127 + 2 * 256L))) { do { proc = (scm_make_real (((double (*)()) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) ((((scm_t_double *) ((scm_t_cell *) (((scm_t_bits) (arg1)))))->real)))); goto exit; } while (0); } else if ((!(6 & ((scm_t_bits) (arg1))) && ((0xffff & (scm_assert_cell_valid ((arg1)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((arg1)))))) [(0)])))) == (127 + 1 * 256L)))) do { proc = (scm_make_real (((double (*)()) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) (scm_i_big2dbl (arg1)))); goto exit; } while (0); return (((scm_t_bits) (*((scm_subr_table[((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) >> 8)]).generic))) ? scm_call_generic_1 ((*((scm_subr_table[((scm_assert_cell_valid ((proc)) , ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) >> 8)]).generic)), (arg1)) : (scm_wrong_type_arg ((((char *) ((scm_assert_cell_valid ((((scm_subr_table[((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) >> 8)]).name))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((((scm_subr_table[((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) >> 8)]).name ))))))) [(1)])))))), (1), (arg1)), ((SCM) (((21) << 9) + 0x174L)))); } proc = ((scm_subr_table[((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) >> 8)]).name); { char *chrs = ((char *) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)]))))) + (((unsigned long) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (( proc)))))) [(0)])))) >> 8) - 1; while ('c' != *--chrs) { if (!((!(6 & ((scm_t_bits) (arg1))) && ((1 & (scm_assert_cell_valid ((arg1)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((arg1)))))) [(0)])))) == 0)))) scm_wrong_type_arg (((char *) ((scm_assert_cell_valid ((proc)), ((((const scm _t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)]))))), 1, arg1); arg1 = ('a' == *chrs) ? (((scm_assert_cell_valid ((arg1)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((arg1)))))) [(0)]))))))) : (((scm_assert_cell_valid ((arg1)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_ bits) ((arg1)))))) [(1)]))))))); } do { proc = (arg1); goto exit; } while (0); } case 95: if (((((scm_t_bits) ((args))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L)))))) || ((((scm_t_bits) (((((scm_assert_cell_valid ((args)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((args)))))) [(1)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L)))))) || !((((scm_t_bits) (((((scm_assert_cell_valid (((((scm_assert_cell_valid ((args)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((args)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((((( scm_assert_cell_valid ((args)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((args)))))) [(1)]))))))))))))) [(1)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) scm_wrong_num_args (proc); else do { proc = (((SCM (*)()) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) (arg1, (((scm_assert_cell_valid ((args)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((ar gs)))))) [(0)]))))))), (((scm_assert_cell_valid (((((scm_assert_cell_valid ((args)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((args)))))) [(1)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_asser t_cell_valid ((args)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((args)))))) [(1)]))))))))))))) [(0)]))))))))); goto exit; } while (0); case 119: do { proc = (((SCM (*)()) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) (((((scm_t_bits) ((arg1))) == ((scm_t_bits) (((SCM) (((18) << 9) + 0x174L)))))) ? ((SCM) (((20) << 9) + 0x174L) ) : debug.vect[0].a.args)); goto exit; } while (0); case 117: if (!(!(6 & ((scm_t_bits) (args))) && ((1 & (scm_assert_cell_valid ((args)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((args)))))) [(0)])))) == 0))) scm_wrong_num_args (proc); else do { proc = (((SCM (*)()) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) (arg1, (((scm_assert_cell_valid ((args)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((ar gs)))))) [(0)]))))))), (((scm_assert_cell_valid ((args)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((args)))))) [(1)]))))))))); goto exit; } while (0); case 103: if (((((scm_t_bits) ((args))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) do { proc = (((SCM (*)()) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) (arg1, ((SCM) (((18) << 9) + 0x174L)))); goto exit; } while (0); while ((!(6 & ((scm_t_bits) (args))))) { if (!((!(6 & ((scm_t_bits) (args))) && ((1 & (scm_assert_cell_valid ((args)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((args)))))) [(0)])))) == 0)))) scm_wrong_type_arg ("apply", 2, args); arg1 = ((SCM (*)()) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) (arg1, (((scm_assert_cell_valid ((args)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((args)) )))) [(0)])))))))); args = (((scm_assert_cell_valid ((args)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((args)))))) [(1)]))))))); } do { proc = (arg1); goto exit; } while (0); case 69: if (((((scm_t_bits) ((args))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) do { proc = (((SCM) (((17) << 9) + 0x174L))); goto exit; } while (0); while ((!(6 & ((scm_t_bits) (args))))) { if (!((!(6 & ((scm_t_bits) (args))) && ((1 & (scm_assert_cell_valid ((args)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((args)))))) [(0)])))) == 0)))) scm_wrong_type_arg ("apply", 2, args); if (((((scm_t_bits) ((((SCM (*)()) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) (arg1, (((scm_assert_cell_valid ((args)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t _bits) ((args)))))) [(0)]))))))))))) == ((scm_t_bits) (((SCM) (((16) << 9) + 0x174L))))))) do { proc = (((SCM) (((16) << 9) + 0x174L))); goto exit; } while (0); arg1 = (((scm_assert_cell_valid ((args)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((args)))))) [(0)]))))))); args = (((scm_assert_cell_valid ((args)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((args)))))) [(1)]))))))); } do { proc = (((SCM) (((17) << 9) + 0x174L))); goto exit; } while (0); case 3:case 11:case 19:case 27: case 35:case 43:case 51:case 59: case 67:case 75:case 83:case 91: case 99:case 107:case 115:case 123: arg1 = (((((scm_t_bits) ((arg1))) == ((scm_t_bits) (((SCM) (((18) << 9) + 0x174L)))))) ? ((SCM) (((20) << 9) + 0x174L)) : debug.vect[0].a.args); if (scm_badargsp ((((scm_assert_cell_valid (((((scm_assert_cell_valid ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) ( ((scm_t_bits) ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))))))) [(0)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid (( ((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))))))) [(0)]))))))))))))) [(0)]))))))), arg1)) scm_wrong_num_args (proc); if ((6 & ((scm_t_bits) (arg1)))) args = arg1; else { SCM tl = args = scm_cons ((((scm_assert_cell_valid ((arg1)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((arg1)))))) [(0)]))))))), ((SCM) (((21) << 9) + 0x174L))); while (arg1 = (((scm_assert_cell_valid ((arg1)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((arg1)))))) [(1)]))))))), (!(6 & ((scm_t_bits) (arg1))) && ((1 & (scm_assert_cell_valid ((arg1)), ((((const scm_t_bits *) ((scm_t_c ell *) (((scm_t_bits) ((arg1)))))) [(0)])))) == 0))) { (((scm_assert_cell_valid (((tl))), ((((scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((tl))))))) [(1)] = ((scm_t_bits) (((scm_cons ((((scm_assert_cell_valid ((arg1)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((arg1)))) )) [(0)]))))))), ((SCM) (((21) << 9) + 0x174L)))))))))))); tl = (((scm_assert_cell_valid ((tl)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((tl)))))) [(1)]))))))); } (((scm_assert_cell_valid (((tl))), ((((scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((tl))))))) [(1)] = ((scm_t_bits) (((arg1))))))))); } args = scm_acons ((((scm_assert_cell_valid (((((scm_assert_cell_valid ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) ( ((scm_t_bits) ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))))))) [(0)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid (( ((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))))))) [(0)]))))))))))))) [(0)]))))))), args, (scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))))); proc = (((scm_assert_cell_valid (((((scm_assert_cell_valid ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bit s) ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))))))) [(0)]))))))))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((((SCM) ((sc m_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((((SCM) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_ cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 3)))))))) [(0)]))))))))))))) [(1)]))))))); again: arg1 = proc; while (!((((scm_t_bits) ((arg1 = (((scm_assert_cell_valid ((arg1)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((arg1)))))) [(1)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) { if ((6 & ((scm_t_bits) ((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))))))))))) { if (((0x187 & ((scm_t_bits) ((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))))))))) == 4)) { proc = scm_m_expand_body (proc, args); goto again; } else do { if ((((scm_t_bits) (((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L)))))) scm_misc_error (((void *)0), scm _s_expression, ((SCM) (((20) << 9) + 0x174L))); } while (0); } else scm_deval ((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))))))), args); proc = arg1; } do { proc = (((6 & ((scm_t_bits) ((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))))))))) ? (((((scm_t_bits) ((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))))))))) & 0xff)==scm_tc8_iloc) ? *scm_ilookup (((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))))))), args) : (((((scm_t_bits) (((( (scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))) ? scm_misc_error (((void *)0), scm_s_expression, ((SCM) (((20) << 9) + 0x174L ))), 0 : 0), ((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))))))))) : ((!(6 & ((scm_t_bits) ((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bi! ts *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))))))))) && ((0x7f & (scm_assert_cell_valid (((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))))))))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((((scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))))))))))))) [(0)])))) == 5)) ? *scm_lookupcar (proc, args, 1) : scm_deval ((((scm_assert_cell_valid ((p roc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))))))), args)))); goto exit; } while (0); case 127: if (!((scm_smobs[((0x0ff & (((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))) >> 8)))]).apply)) goto badproc; if (((((scm_t_bits) ((arg1))) == ((scm_t_bits) (((SCM) (((18) << 9) + 0x174L))))))) do { proc = (((scm_smobs[((0x0ff & (((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))) >> 8)))]).apply_0 (proc))); goto exit; } while (0); else if (((((scm_t_bits) ((args))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) do { proc = (((scm_smobs[((0x0ff & (((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))) >> 8)))]).apply_1 (proc, (arg1)))); goto exit; } while (0); else if (((((scm_t_bits) (((((scm_assert_cell_valid ((args)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((args)))))) [(1)])))))))))) == ((scm_t_bits) (((SCM) (((20) << 9) + 0x174L))))))) do { proc = (((scm_smobs[((0x0ff & (((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))) >> 8)))]).apply_2 (proc, (arg1), ((((scm_assert_cell_valid ((args)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((args)))))) [(0)]))))))))))); goto exit; } while (0); else do { proc = (((scm_smobs[((0x0ff & (((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)])))) >> 8)))]).apply_3 (proc, (arg1), ((((scm_assert_cell_valid ((args)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((args)))))) [(0)])))))))), ((((scm_assert_cell_valid ((args)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((args)))))) [(1)]))))))))))); goto exit; } while (0); case 63: args = (((((scm_t_bits) ((arg1))) == ((scm_t_bits) (((SCM) (((18) << 9) + 0x174L)))))) ? ((SCM) (((20) << 9) + 0x174L)) : debug.vect[0].a.args); arg1 = proc; proc = ((((SCM) (((scm_t_bits *) (scm_assert_cell_valid (((proc))), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((proc))))))) [(1)])))) [0])))); debug.vect[0].a.proc = proc; debug.vect[0].a.args = scm_cons (arg1, args); goto tail; case 31: proc = (scm_assert_cell_valid ((proc)), ((((SCM) (((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)]))))); debug.vect[0].a.proc = proc; goto tail; case 1:case 9:case 17:case 25: case 33:case 41:case 49:case 57: case 65:case 73:case 81:case 89: case 97:case 105:case 113:case 121: if ((((scm_t_bits *) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 1)) [-1]) & (0x010 << 20)) { args = (((((scm_t_bits) ((arg1))) == ((scm_t_bits) (((SCM) (((18) << 9) + 0x174L)))))) ? ((SCM) (((20) << 9) + 0x174L)) : debug.vect[0].a.args); do { proc = (scm_apply_generic (proc, args)); goto exit; } while (0); } else if (!(((((scm_t_bits *) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 1)) [-1]) & (1L << 29)) != 0)) goto badproc; else { args = (((((scm_t_bits) ((arg1))) == ((scm_t_bits) (((SCM) (((18) << 9) + 0x174L)))))) ? ((SCM) (((20) << 9) + 0x174L)) : debug.vect[0].a.args); arg1 = proc; proc = ((((((scm_t_bits *) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 1)) [-1]) & (1L << 30)) != 0) ? (((SCM) (((scm_t_bits *) (scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(1)])))) [-5]))) : (((struct scm_metaclass_operator *) ((scm_t_bits *) ((scm_assert_cell_valid ((proc)), ((((const scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) ((proc)))))) [(0)]))) - 1)))->procedure)); debug.vect[0].a.proc = proc; debug.vect[0].a.args = scm_cons (arg1, args); if ((!(6 & ((scm_t_bits) (proc))))) goto tail; else goto badproc; } default: badproc: scm_wrong_type_arg ("apply", 1, proc); } exit: if (scm_check_exit_p && scm_evaluator_trap_table[0].val) if (scm_evaluator_trap_table[3].val || (scm_debug_opts[2].val && (((debug).status & (1L << 8)) != 0))) { ((debug).status &= ~(1L << 8)); if (scm_debug_opts[0].val) arg1 = scm_make_debugobj (&debug); else { int first; SCM val = scm_make_continuation (&first); if (first) arg1 = val; else { proc = val; goto ret; } } scm_evaluator_trap_table[0].val = 0; scm_call_3 ((SCM)(scm_evaluator_trap_table[6].val), scm_sym_exit_frame, arg1, proc); scm_evaluator_trap_table[0].val = 1; } ret: scm_last_debug_frame = debug.prev; return proc; } # 4184 "eval.c" 2 void scm_init_eval () { scm_init_opts (scm_evaluator_traps, scm_evaluator_trap_table, 7); scm_init_opts (scm_eval_options_interface, scm_eval_opts, 1); scm_tc16_promise = scm_make_smob_type ("promise", 0); scm_set_smob_mark (scm_tc16_promise, scm_markcdr); scm_set_smob_print (scm_tc16_promise, promise_print); scm_sys_protects[2] = scm_list_1 (((SCM) (((18) << 9) + 0x174L))); (((scm_assert_cell_valid (((scm_sys_protects[2]))), ((((scm_t_bits *) ((scm_t_cell *) (((scm_t_bits) (((scm_sys_protects[2]))))))) [(1)] = ((scm_t_bits) (((scm_sys_protects[2]))))))))); scm_sys_protects[1] = scm_list_1 (((SCM) (((20) << 9) + 0x174L))); scm_f_apply = scm_c_define_subr ("apply", 117, scm_apply); # 1 "../libguile/eval.x" 1 scm_unbound_variable_key = scm_permanent_object (scm_str2symbol ("unbound-variable")) ; sym_three_question_marks = scm_permanent_object (scm_str2symbol ("???")) ; scm_sym_dot = scm_permanent_object (scm_str2symbol (".")) ; scm_sym_arrow = scm_permanent_object (scm_str2symbol ("=>")) ; scm_sym_else = scm_permanent_object (scm_str2symbol ("else")) ; scm_sym_unquote = scm_permanent_object (scm_str2symbol ("unquote")) ; scm_sym_uq_splicing = scm_permanent_object (scm_str2symbol ("unquote-splicing")) ; scm_sym_enter_frame = scm_permanent_object (scm_str2symbol ("enter-frame")) ; scm_sym_apply_frame = scm_permanent_object (scm_str2symbol ("apply-frame")) ; scm_sym_exit_frame = scm_permanent_object (scm_str2symbol ("exit-frame")) ; scm_sym_trace = scm_permanent_object (scm_str2symbol ("trace")) ; scm_make_synt (s_quote, scm_makmmacro, scm_m_quote) ; scm_sym_quote = scm_permanent_object (scm_str2symbol (s_quote)) ; scm_make_synt (s_begin, scm_makmmacro, scm_m_begin) ; scm_sym_begin = scm_permanent_object (scm_str2symbol (s_begin)) ; scm_make_synt (s_if, scm_makmmacro, scm_m_if) ; scm_sym_if = scm_permanent_object (scm_str2symbol (s_if)) ; scm_sym_set_x = scm_permanent_object (scm_str2symbol (scm_s_set_x)) ; scm_make_synt (s_and, scm_makmmacro, scm_m_and) ; scm_sym_and = scm_permanent_object (scm_str2symbol (s_and)) ; scm_make_synt (s_or, scm_makmmacro, scm_m_or) ; scm_sym_or = scm_permanent_object (scm_str2symbol (s_or)) ; scm_make_synt (s_case, scm_makmmacro, scm_m_case) ; scm_sym_case = scm_permanent_object (scm_str2symbol (s_case)) ; scm_make_synt (s_cond, scm_makmmacro, scm_m_cond) ; scm_sym_cond = scm_permanent_object (scm_str2symbol (s_cond)) ; scm_make_synt (s_lambda, scm_makmmacro, scm_m_lambda) ; scm_sym_lambda = scm_permanent_object (scm_str2symbol (s_lambda)) ; scm_make_synt (s_letstar, scm_makmmacro, scm_m_letstar) ; scm_sym_letstar = scm_permanent_object (scm_str2symbol (s_letstar)) ; scm_make_synt (s_do, scm_makmmacro, scm_m_do) ; scm_sym_do = scm_permanent_object (scm_str2symbol (s_do)) ; scm_make_synt (s_quasiquote, scm_makacro, scm_m_quasiquote) ; scm_sym_quasiquote = scm_permanent_object (scm_str2symbol (s_quasiquote)) ; scm_make_synt (s_delay, scm_makmmacro, scm_m_delay) ; scm_sym_delay = scm_permanent_object (scm_str2symbol (s_delay)) ; scm_make_synt (s_define, scm_makmmacro, scm_m_define) ; scm_sym_define = scm_permanent_object (scm_str2symbol (s_define)) ; scm_make_synt (s_letrec, scm_makmmacro, scm_m_letrec) ; scm_sym_letrec = scm_permanent_object (scm_str2symbol (s_letrec)) ; scm_make_synt (s_let, scm_makmmacro, scm_m_let) ; scm_sym_let = scm_permanent_object (scm_str2symbol (s_let)) ; scm_make_synt (s_atapply, scm_makmmacro, scm_m_apply) ; scm_sym_atapply = scm_permanent_object (scm_str2symbol (s_atapply)) ; scm_sym_apply = scm_permanent_object (scm_str2symbol (s_atapply + 1)) ; scm_make_synt (s_atcall_cc, scm_makmmacro, scm_m_cont) ; scm_sym_atcall_cc = scm_permanent_object (scm_str2symbol (s_atcall_cc)) ; scm_make_synt (s_nil_cond, scm_makmmacro, scm_m_nil_cond) ; scm_make_synt (s_atfop, scm_makmmacro, scm_m_atfop) ; scm_make_synt (s_atbind, scm_makmmacro, scm_m_atbind) ; scm_make_synt (s_at_call_with_values, scm_makmmacro, scm_m_at_call_with_values) ; scm_sym_at_call_with_values = scm_permanent_object (scm_str2symbol (s_at_call_with_values)) ; scm_c_define_gsubr (s_scm_nconc2last, 1, 0, 0, (SCM (*)()) scm_nconc2last); ; g_map = ((SCM) (0)); scm_c_define_gsubr_with_generic (s_map, 2, 0, 1, (SCM (*)()) scm_map, &g_map) ; g_for_each = ((SCM) (0)); scm_c_define_gsubr_with_generic (s_for_each, 2, 0, 1, (SCM (*)()) scm_for_each, &g_for_each) ; scm_c_define_gsubr (s_scm_force, 1, 0, 0, (SCM (*)()) scm_force); ; scm_c_define_gsubr (s_scm_promise_p, 1, 0, 0, (SCM (*)()) scm_promise_p); ; scm_c_define_gsubr (s_scm_cons_source, 3, 0, 0, (SCM (*)()) scm_cons_source); ; scm_c_define_gsubr (s_scm_copy_tree, 1, 0, 0, (SCM (*)()) scm_copy_tree); ; scm_c_define_gsubr (s_scm_primitive_eval, 1, 0, 0, (SCM (*)()) scm_primitive_eval); ; scm_c_define_gsubr (s_scm_eval, 2, 0, 0, (SCM (*)()) scm_eval); ; scm_c_define_gsubr (s_scm_eval_options_interface, 0, 1, 0, (SCM (*)()) scm_eval_options_interface); ; scm_c_define_gsubr (s_scm_evaluator_traps, 0, 1, 0, (SCM (*)()) scm_evaluator_traps); ; # 4213 "eval.c" 2 scm_add_feature ("delay"); }