diff --git a/Makefile b/Makefile index 66e12e3c..92b95ddc 100644 --- a/Makefile +++ b/Makefile @@ -78,7 +78,7 @@ src/init_contrib.c: lib/ext/boot.c: piclib/compile.scm piclib/library.scm cat piclib/compile.scm piclib/library.scm | bin/picrin-bootstrap tools/mkboot.scm > lib/ext/boot.c -$(LIBPICRIN_OBJS) $(PICRIN_OBJS) $(CONTRIB_OBJS): lib/include/picrin.h lib/include/picrin/*.h lib/khash.h lib/object.h lib/state.h lib/vm.h +$(LIBPICRIN_OBJS) $(PICRIN_OBJS) $(CONTRIB_OBJS): lib/include/picrin.h lib/include/picrin/*.h lib/khash.h lib/object.h lib/state.h doc: docs/*.rst docs/contrib.rst $(MAKE) -C docs html diff --git a/lib/cont.c b/lib/cont.c index ff5713ec..d8ed6c59 100644 --- a/lib/cont.c +++ b/lib/cont.c @@ -6,101 +6,22 @@ #include "object.h" #include "state.h" -struct cont { - PIC_JMPBUF *jmp; - - ptrdiff_t sp_offset; - ptrdiff_t ci_offset; - size_t arena_idx; - const struct code *ip; - pic_value dyn_env; - - int retc; - pic_value *retv; - - struct cont *prev; -}; - -static const pic_data_type cont_type = { "cont", NULL }; - -void -pic_save_point(pic_state *pic, struct cont *cont, PIC_JMPBUF *jmp) -{ - cont->jmp = jmp; - - /* save runtime context */ - cont->sp_offset = pic->sp - pic->stbase; - cont->ci_offset = pic->ci - pic->cibase; - cont->arena_idx = pic->arena_idx; - cont->dyn_env = pic->dyn_env; - cont->ip = pic->ip; - cont->prev = pic->cc; - cont->retc = 0; - cont->retv = NULL; - - pic->cc = cont; -} - -void -pic_load_point(pic_state *pic, struct cont *cont) -{ - pic_vm_tear_off(pic); - - /* load runtime context */ - pic->sp = pic->stbase + cont->sp_offset; - pic->ci = pic->cibase + cont->ci_offset; - pic->arena_idx = cont->arena_idx; - pic->dyn_env = cont->dyn_env; - pic->ip = cont->ip; - pic->cc = cont->prev; -} - -void -pic_exit_point(pic_state *pic) -{ - pic->cc = pic->cc->prev; -} - static pic_value -cont_call(pic_state *pic) +applyk(pic_state *pic, pic_value proc, pic_value cont, int argc, pic_value *argv) { - int argc; - pic_value *argv; - struct cont *cc, *cont; + int i; - pic_get_args(pic, "*", &argc, &argv); +#define MKCALL(argc) \ + (pic->cxt->tmpcode[0] = OP_CALL, pic->cxt->tmpcode[1] = (argc), pic->cxt->tmpcode) - cont = pic_data(pic, pic_closure_ref(pic, 0)); - - /* check if continuation is alive */ - for (cc = pic->cc; cc != NULL; cc = cc->prev) { - if (cc == cont) { - break; - } + pic->cxt->pc = MKCALL(argc + 1); + pic->cxt->sp = pic_make_frame_unsafe(pic, argc + 3); + pic->cxt->sp->regs[0] = proc; + pic->cxt->sp->regs[1] = cont; + for (i = 0; i < argc; ++i) { + pic->cxt->sp->regs[i + 2] = argv[i]; } - if (cc == NULL) { - pic_error(pic, "calling dead escape continuation", 0); - } - - cont->retc = argc; - cont->retv = argv; - - pic_load_point(pic, cont); - - PIC_LONGJMP(pic, *cont->jmp, 1); - PIC_UNREACHABLE(); -} - -pic_value -pic_make_cont(pic_state *pic, struct cont *cont) -{ - return pic_lambda(pic, cont_call, 1, pic_data_value(pic, cont, &cont_type)); -} - -struct cont * -pic_alloca_cont(pic_state *pic) -{ - return pic_alloca(pic, sizeof(struct cont)); + return pic_invalid_value(pic); } static pic_value @@ -108,34 +29,13 @@ valuesk(pic_state *pic, int argc, pic_value *argv) { int i; + pic->cxt->pc = MKCALL(argc); + pic->cxt->sp = pic_make_frame_unsafe(pic, argc + 2); + pic->cxt->sp->regs[0] = pic->cxt->fp->regs[1]; for (i = 0; i < argc; ++i) { - pic->sp[i] = argv[i]; - } - pic->ci->retc = argc; - - return argc == 0 ? pic_undef_value(pic) : pic->sp[0]; -} - -static pic_value -pic_callcc(pic_state *pic, pic_value proc) -{ - PIC_JMPBUF jmp; - volatile struct cont *cont = pic_alloca_cont(pic); - - if (PIC_SETJMP(pic, jmp)) { - return valuesk(pic, cont->retc, cont->retv); - } - else { - pic_value val; - - pic_save_point(pic, (struct cont *)cont, &jmp); - - val = pic_call(pic, proc, 1, pic_make_cont(pic, (struct cont *)cont)); - - pic_exit_point(pic); - - return val; + pic->cxt->sp->regs[i + 1] = argv[i]; } + return pic_invalid_value(pic); } pic_value @@ -162,30 +62,59 @@ pic_vvalues(pic_state *pic, int n, va_list ap) return valuesk(pic, n, retv); } -int -pic_receive(pic_state *pic, int n, pic_value *argv) +static pic_value +cont_call(pic_state *pic) { - struct callinfo *ci; - int i, retc; + int argc; + pic_value *argv; + struct context *cxt, *c; + int i; - /* take info from discarded frame */ - ci = pic->ci + 1; - retc = ci->retc; + pic_get_args(pic, "*", &argc, &argv); - for (i = 0; i < retc && i < n; ++i) { - argv[i] = ci->fp[i]; + cxt = pic_data(pic, pic_closure_ref(pic, 0)); + + /* check if continuation is alive */ + for (c = pic->cxt; c != NULL; c = c->prev) { + if (c == cxt) { + break; + } } - return retc; + if (c == NULL) { + pic_error(pic, "calling dead escape continuation", 0); + } + +#define MKCALLK(argc) \ + (cxt->tmpcode[0] = OP_CALL, cxt->tmpcode[1] = (argc), cxt->tmpcode) + + cxt->pc = MKCALLK(argc); + cxt->sp = pic_make_frame_unsafe(pic, argc + 2); + cxt->sp->regs[0] = pic_closure_ref(pic, 1); /* cont. */ + for (i = 0; i < argc; ++i) { + cxt->sp->regs[i + 1] = argv[i]; + } + pic->cxt = cxt; + + PIC_LONGJMP(pic, cxt->jmp, 1); + PIC_UNREACHABLE(); +} + +pic_value +pic_make_cont(pic_state *pic, struct context *cxt, pic_value k) +{ + static const pic_data_type cxt_type = { "cxt", NULL }; + return pic_lambda(pic, cont_call, 2, pic_data_value(pic, cxt, &cxt_type), k); } static pic_value pic_cont_callcc(pic_state *pic) { - pic_value f; + pic_value f, args[1]; pic_get_args(pic, "l", &f); - return pic_callcc(pic, f); + args[0] = pic_make_cont(pic, pic->cxt, pic->cxt->fp->regs[1]); + return pic_applyk(pic, f, 1, args); } static pic_value @@ -199,22 +128,31 @@ pic_cont_values(pic_state *pic) return valuesk(pic, argc, argv); } +static pic_value +receive_call(pic_state *pic) +{ + int argc = pic->cxt->pc[1]; + pic_value *args = &pic->cxt->fp->regs[1], consumer, cont; + + /* receive_call is an inhabitant in the continuation side. + You can not use pic_get_args since it implicitly consumes the first argument. */ + + consumer = pic_closure_ref(pic, 0); + cont = pic_closure_ref(pic, 1); + + return applyk(pic, consumer, cont, argc, args); +} + static pic_value pic_cont_call_with_values(pic_state *pic) { - pic_value producer, consumer, retv[256]; - int retc; + pic_value producer, consumer, k; pic_get_args(pic, "ll", &producer, &consumer); - pic_call(pic, producer, 0); + k = pic_lambda(pic, receive_call, 2, consumer, pic->cxt->fp->regs[1]); - retc = pic_receive(pic, 256, retv); - if (retc > 256) { - pic_error(pic, "call-with-values: too many arguments", 1, pic_int_value(pic, retc)); - } - - return pic_applyk(pic, consumer, retc, retv); + return applyk(pic, producer, k, 0, NULL); } void diff --git a/lib/error.c b/lib/error.c index 3e1331a4..9ee1eefd 100644 --- a/lib/error.c +++ b/lib/error.c @@ -30,6 +30,23 @@ pic_warnf(pic_state *pic, const char *fmt, ...) #define pic_exc(pic) pic_ref(pic, "current-exception-handlers") +PIC_JMPBUF * +pic_prepare_try(pic_state *pic) +{ + struct context *cxt = pic_alloca(pic, sizeof(struct context)); + + cxt->ai = pic->cxt->ai; + pic->cxt->ai--; /* cxt should be freed after this try ends */ + cxt->pc = NULL; + cxt->fp = NULL; + cxt->sp = NULL; + cxt->irep = NULL; + + cxt->prev = pic->cxt; + pic->cxt = cxt; + return &cxt->jmp; +} + static pic_value native_exception_handler(pic_state *pic) { @@ -37,28 +54,20 @@ native_exception_handler(pic_state *pic) pic_get_args(pic, "o", &err); - pic->err = err; - - pic_call(pic, pic_closure_ref(pic, 0), 1, pic_false_value(pic)); - + pic_call(pic, pic_closure_ref(pic, 0), 1, err); PIC_UNREACHABLE(); } void -pic_start_try(pic_state *pic, PIC_JMPBUF *jmp) +pic_enter_try(pic_state *pic) { - struct cont *cont; - pic_value handler; + pic_value cont, handler; pic_value var, env; /* call/cc */ - - cont = pic_alloca_cont(pic); - pic_save_point(pic, cont, jmp); - handler = pic_lambda(pic, native_exception_handler, 1, pic_make_cont(pic, cont)); - + cont = pic_make_cont(pic, pic->cxt, pic_invalid_value(pic)); + handler = pic_lambda(pic, native_exception_handler, 1, cont); /* with-exception-handler */ - var = pic_exc(pic); env = pic_make_weak(pic); pic_weak_set(pic, env, var, pic_cons(pic, handler, pic_call(pic, var, 0))); @@ -66,17 +75,20 @@ pic_start_try(pic_state *pic, PIC_JMPBUF *jmp) } void -pic_end_try(pic_state *pic) +pic_exit_try(pic_state *pic) { pic->dyn_env = pic_cdr(pic, pic->dyn_env); - - pic_exit_point(pic); + pic->cxt = pic->cxt->prev; } pic_value -pic_err(pic_state *pic) +pic_abort_try(pic_state *pic) { - return pic->err; + pic_value err = pic->cxt->sp->regs[1]; + pic->dyn_env = pic_cdr(pic, pic->dyn_env); + pic->cxt = pic->cxt->prev; + pic_protect(pic, err); + return err; } pic_value diff --git a/lib/ext/boot.c b/lib/ext/boot.c index b71dcf42..e8913a9a 100644 --- a/lib/ext/boot.c +++ b/lib/ext/boot.c @@ -790,880 +790,882 @@ static const char boot_compile_rom[][80] = { "ALL 1)) ((((GREF 0 0) (PROC 1 0) (LREF 2 1 3) (CALL 2)) ((((LREF 0 0 1) (COND 0 ", "64) (LREF 0 1 1) (GREF 1 0) (CALL 1) 64 (GREF 0 1) (LREF 1 1 1) (LREF 2 2 3) (CA", "LL 2)) () (default-environment car) (1 . #f) 4)) (null?) (1 . #f) 4) (((GREF 0 0", -") (PROC 1 0) (LREF 2 1 2) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (LREF 1 2 1) (LRE", -"F 2 0 1) (CALL 2)) () (load) (1 . #f) 4)) (expand) (1 . #f) 5)) () (2 . #t) 3)) ", -"(eval) (1 . #f) 3) (((PROC 0 0) (LREF 1 0 1) (CALL 1)) ((((PROC 0 0) (LREF 1 0 1", -") (LOADF 2) (LOADF 3) (LOADF 4) (LOADF 5) (LOADF 6) (LOADF 7) (LOADF 8) (CALL 8)", -") ((((PROC 0 0) (LSET 0 0 8) (PROC 0 1) (LSET 0 0 7) (PROC 0 2) (LSET 0 0 6) (PR", -"OC 0 3) (LSET 0 0 5) (GREF 0 0) (PROC 1 4) (LOADN 2) (CALL 2)) ((((GREF 0 0) (PR", -"OC 1 0) (LREF 2 0 2) (CALL 2)) ((((GREF 0 0) (LREF 1 1 1) (LREF 2 0 1) (CALL 2))", -" () (car) (1 . #f) 4)) (cddr) (2 . #f) 4) (((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (", -"CALL 2)) ((((GREF 0 0) (LREF 1 1 1) (LREF 2 0 1) (CALL 2)) () (cadr) (1 . #f) 4)", -") (cddr) (2 . #f) 4) (((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (LREF 3 0 3) (CALL 3))", -" ((((LREF 0 0 1) (COND 0 65) (LREF 0 1 1) (LREF 1 1 3) (CALL 1) 65 (LREF 0 1 1) ", -"(LREF 1 1 2) (CALL 1)) () () (1 . #f) 3)) (<) (3 . #f) 5) (((GREF 0 0) (PROC 1 0", -") (LREF 2 0 2) (CALL 2)) ((((LREF 0 0 1) (COND 0 66) (GREF 0 0) (LREF 1 1 1) (LR", -"EF 2 1 2) (CALL 2) 66 (LREF 0 1 1) (LOADF 1) (CALL 1)) () (exact?) (1 . #f) 4)) ", -"(number?) (2 . #f) 4) (((PROC 0 0) (PROC 1 1) (LREF 2 0 1) (CALL 2)) ((((PROC 0 ", -"0) (LREF 1 0 1) (LOADF 2) (CALL 2)) ((((PROC 0 0) (LSET 0 0 2) (LREF 0 0 1) (LRE", -"F 1 0 2) (CALL 1)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (CALL 2)) ((((LREF 0 0 ", -"1) (COND 0 67) (GREF 0 0) (PROC 1 0) (LREF 2 1 2) (LOADN 3) (CALL 3) 67 (GREF 0 ", -"1) (PROC 1 1) (LREF 2 1 2) (CALL 2)) ((((GREF 0 0) (LREF 1 2 1) (LOAD 2 1) (LREF", -" 3 0 1) (CALL 3)) () (cons ref) (1 . #f) 5) (((GREF 0 0) (PROC 1 0) (LREF 2 0 1)", -" (CALL 2)) ((((LREF 0 0 1) (COND 0 68) (GREF 0 0) (PROC 1 0) (LREF 2 3 2) (LOADN", -" 3) (CALL 3) 68 (GREF 0 1) (PROC 1 1) (LREF 2 3 2) (CALL 2)) ((((GREF 0 0) (LREF", -" 1 4 1) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) () (cons quote) (1 . #f) 5) (((PROC 0 ", -"0) (LREF 1 4 1) (LREF 2 0 1) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (LO", -"AD 3 1) (CALL 3)) ((((PROC 0 0) (PROC 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2", -") (COND 0 69) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 69 (LREF 0 0 1) (LOADF 1) (CALL", -" 1)) () () (2 . #f) 3) (((LREF 0 0 1) (COND 0 70) (GREF 0 0) (PROC 1 0) (LREF 2 ", -"7 2) (CALL 2) 70 (GREF 0 1) (PROC 1 1) (LREF 2 2 2) (LOAD 3 2) (CALL 3)) ((((GRE", -"F 0 0) (LREF 1 3 1) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) () (cons quote) (1 . #f) 5", -") (((PROC 0 0) (PROC 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 71) (LR", -"EF 0 0 1) (LREF 1 0 2) (CALL 1) 71 (LREF 0 0 1) (LOADF 1) (CALL 1)) () () (2 . #", -"f) 3) (((LREF 0 0 1) (COND 0 72) (GREF 0 0) (PROC 1 0) (LREF 2 9 2) (CALL 2) 72 ", -"(GREF 0 1) (PROC 1 1) (LREF 2 4 2) (LOAD 3 2) (CALL 3)) ((((LREF 0 14 8) (PROC 1", -" 0) (LREF 2 10 2) (CALL 2)) ((((PROC 0 0) (LREF 1 6 1) (LREF 2 1 1) (LREF 3 0 1)", -" (CALL 3)) ((((LREF 0 14 2) (PROC 1 0) (CALL 1)) ((((GREF 0 0) (PROC 1 0) (LREF ", -"2 1 2) (LREF 3 0 1) (CALL 3)) ((((LREF 0 16 2) (PROC 1 0) (LREF 2 0 1) (CALL 2))", -" ((((LREF 0 16 2) (PROC 1 0) (LREF 2 3 3) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LR", -"EF 2 0 1) (LOADN 3) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 5 2) (LREF 3 0 1)", -" (CALL 3)) ((((GREF 0 0) (LREF 1 6 1) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) () (cons", -" set!) (1 . #f) 5)) (cons) (1 . #f) 5)) (cons) (1 . #f) 5)) () (1 . #f) 4)) () (", -"1 . #f) 4)) (cons) (1 . #f) 5)) () (3 . #f) 3)) () (1 . #f) 5)) () (1 . #f) 4) (", -"((PROC 0 0) (PROC 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 73) (LREF ", -"0 0 1) (LREF 1 0 2) (CALL 1) 73 (LREF 0 0 1) (LOADF 1) (CALL 1)) () () (2 . #f) ", -"3) (((LREF 0 0 1) (COND 0 74) (GREF 0 0) (PROC 1 0) (LREF 2 11 2) (CALL 2) 74 (G", -"REF 0 1) (PROC 1 1) (LREF 2 6 2) (LOAD 3 2) (CALL 3)) ((((LREF 0 16 8) (PROC 1 0", -") (LREF 2 12 2) (CALL 2)) ((((PROC 0 0) (LREF 1 8 1) (LREF 2 1 1) (LREF 3 0 1) (", -"CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 16 2) (LOADN 3) (CALL 3)) ((((GREF 0 0", -") (PROC 1 0) (LREF 2 0 1) (CALL 2)) ((((GREF 0 0) (LREF 1 2 1) (LREF 2 0 1) (PRO", -"C 3 0) (CALL 3)) ((((LREF 0 18 2) (PROC 1 0) (LREF 2 3 3) (CALL 2)) ((((PROC 0 0", -") (LREF 1 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 21 2) (PROC 1 0) (CALL 1)) ((((", -"GREF 0 0) (PROC 1 0) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 1) (COND 0 75) (GREF 0 ", -"0) (PROC 1 0) (LREF 2 2 2) (LOADN 3) (CALL 3) 75 (LREF 0 23 2) (PROC 1 1) (CALL ", -"1)) ((((GREF 0 0) (PROC 1 0) (LREF 2 8 2) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (", -"LREF 1 4 1) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) () (cons lambda) (1 . #f) 5)) (con", -"s) (1 . #f) 5) (((GREF 0 0) (PROC 1 0) (LREF 2 3 2) (LOADN 3) (CALL 3)) ((((GREF", -" 0 0) (PROC 1 0) (LREF 2 1 1) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (L", -"OAD 2 1) (LREF 3 0 1) (CALL 3)) ((((LREF 0 27 2) (PROC 1 0) (CALL 1)) ((((GREF 0", -" 0) (PROC 1 0) (PROC 2 1) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF ", -"2 0 1) (LOADN 3) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 3 1) (LREF 3 0 1) (C", -"ALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 1) (LOADN 3) (CALL 3)) ((((GREF 0 0) ", -"(PROC 1 0) (LREF 2 16 2) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (LREF 1 12 1) (LOA", -"D 2 1) (LREF 3 0 1) (CALL 3)) () (cons lambda) (1 . #f) 5)) (cons) (1 . #f) 5)) ", -"(cons) (1 . #f) 5)) (cons) (1 . #f) 5)) (append) (1 . #f) 5) (((GREF 0 0) (PROC ", -"1 0) (LOADF 2) (LOADN 3) (CALL 3)) ((((GREF 0 0) (LREF 1 1 1) (LOAD 2 1) (LREF 3", -" 0 1) (CALL 3)) () (cons quote) (1 . #f) 5)) (cons) (2 . #f) 5)) (map) (1 . #f) ", -"5)) () (1 . #f) 3)) (cons lambda) (1 . #f) 5)) (cons) (1 . #f) 5)) (cons) (1 . #", -"f) 5)) (cons) (1 . #f) 5)) (null?) (1 . #f) 4)) () (2 . #f) 3)) () (1 . #f) 4)) ", -"() (1 . #f) 4)) (with-dynamic-environment) (1 . #f) 5)) (list) (1 . #f) 4)) (con", -"s) (3 . #f) 5)) () (1 . #f) 5)) () (1 . #f) 4) (((PROC 0 0) (PROC 1 1) (LREF 2 0", -" 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 76) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 76 ", -"(LREF 0 0 1) (LOADF 1) (CALL 1)) () () (2 . #f) 3) (((LREF 0 0 1) (COND 0 77) (G", -"REF 0 0) (PROC 1 0) (LREF 2 13 2) (CALL 2) 77 (GREF 0 1) (PROC 1 1) (LREF 2 8 2)", -" (LOAD 3 2) (CALL 3)) ((((LREF 0 18 8) (PROC 1 0) (LREF 2 14 2) (CALL 2)) ((((LR", -"EF 0 16 2) (PROC 1 0) (LREF 2 0 1) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 ", -"1) (LOADN 3) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 3 1) (LREF 3 0 1) (CALL ", -"3)) ((((GREF 0 0) (LREF 1 13 1) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) () (cons set!)", -" (1 . #f) 5)) (cons) (1 . #f) 5)) (cons) (1 . #f) 5)) () (1 . #f) 4)) () (1 . #f", -") 4) (((PROC 0 0) (PROC 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 78) ", -"(LREF 0 0 1) (LREF 1 0 2) (CALL 1) 78 (LREF 0 0 1) (LOADF 1) (CALL 1)) () () (2 ", -". #f) 3) (((LREF 0 0 1) (COND 0 79) (GREF 0 0) (PROC 1 0) (LREF 2 15 2) (CALL 2)", -" 79 (GREF 0 1) (PROC 1 1) (LREF 2 10 2) (LOAD 3 2) (CALL 3)) ((((GREF 0 0) (PROC", -" 1 0) (LREF 2 17 2) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (LREF 1 12 1) (LOAD 2 1", -") (LREF 3 0 1) (CALL 3)) () (cons if) (1 . #f) 5)) (map) (1 . #f) 5) (((PROC 0 0", -") (PROC 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 80) (LREF 0 0 1) (LR", -"EF 1 0 2) (CALL 1) 80 (LREF 0 0 1) (LOADF 1) (CALL 1)) () () (2 . #f) 3) (((LREF", -" 0 0 1) (COND 0 81) (GREF 0 0) (PROC 1 0) (LREF 2 17 2) (CALL 2) 81 (LOADT 0) (C", -"OND 0 82) (GREF 0 1) (LREF 1 12 1) (LREF 2 18 2) (LREF 3 17 2) (CALL 3) 82 (LREF", -" 0 12 1) (LOADU 1) (CALL 1)) ((((GREF 0 0) (PROC 1 0) (LREF 2 19 2) (LREF 3 0 1)", -" (CALL 3)) ((((GREF 0 0) (LREF 1 14 1) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) () (con", -"s begin) (1 . #f) 5)) (map) (1 . #f) 5)) (cdr map) (1 . #f) 5)) () (1 . #f) 4)) ", -"(cdr eqv? core#begin) (1 . #f) 5)) () (1 . #f) 4)) (cadr eqv? core#if) (1 . #f) ", -"5)) () (1 . #f) 4)) (cadr eqv? core#set!) (1 . #f) 5)) () (1 . #f) 4)) (cadr eqv", -"? core#lambda) (1 . #f) 5)) () (1 . #f) 4)) (cdr eqv? core#define) (1 . #f) 5)) ", -"() (1 . #f) 4)) (eqv? core#quote) (2 . #f) 5)) () (1 . #f) 4)) (cons car) (1 . #", -"f) 5)) (not) (1 . #f) 4)) (cons pair?) (1 . #f) 5)) (symbol?) (2 . #f) 4)) () (2", -" . #f) 3)) () (2 . #f) 4) (((LREF 0 0 1) (LSET 0 2 4) (PROC 0 0) (PROC 1 1) (CAL", -"L 1)) ((((PROC 0 0) (LREF 1 0 1) (LOADF 2) (LOADF 3) (LOADF 4) (LOADF 5) (LOADF ", -"6) (CALL 6)) ((((PROC 0 0) (PROC 1 1) (LOADI 2 0) (CALL 2)) ((((LREF 0 0 1) (PRO", -"C 1 0) (CALL 1)) ((((GREF 0 0) (PROC 1 0) (LREF 2 1 2) (LOADI 3 1) (CALL 3)) (((", -"(LREF 0 0 1) (LSET 0 2 2) (GREF 0 0) (PROC 1 0) (LREF 2 2 2) (CALL 2)) ((((GREF ", -"0 0) (PROC 1 0) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (LREF 1 3 1) (LR", -"EF 2 0 1) (CALL 2)) () (string->symbol) (1 . #f) 4)) (string-append \"$\") (1 . #f", -") 5)) (number->string) (1 . #f) 4)) (+) (1 . #f) 5)) () (2 . #f) 3) (((LREF 0 0 ", -"1) (LSET 0 1 6) (PROC 0 0) (LSET 0 1 5) (PROC 0 1) (LSET 0 1 4) (PROC 0 2) (LSET", -" 0 1 3) (PROC 0 3) (LSET 0 1 2) (LREF 0 1 1) (PROC 1 4) (CALL 1)) ((((GREF 0 0) ", -"(PROC 1 0) (LREF 2 0 2) (CALL 2)) ((((PROC 0 0) (LREF 1 1 1) (LREF 2 0 1) (CALL ", -"2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (LOAD 3 1) (CALL 3)) ((((PROC 0 0) (PR", -"OC 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 83) (LREF 0 0 1) (LREF 1 ", -"0 2) (CALL 1) 83 (GREF 0 0) (PROC 1 0) (LREF 2 2 2) (LOAD 3 1) (CALL 3)) ((((PRO", -"C 0 0) (LREF 1 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 84) (LREF 0 0", -" 1) (LREF 1 0 2) (CALL 1) 84 (GREF 0 0) (PROC 1 0) (LREF 2 4 2) (LOAD 3 1) (CALL", -" 3)) ((((PROC 0 0) (LREF 1 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 8", -"5) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 85 (LREF 0 0 1) (LOADF 1) (CALL 1)) () () ", -"(2 . #f) 3)) () (1 . #f) 4)) (eqv? quote) (2 . #f) 5)) () (1 . #f) 4)) (eqv? lam", -"bda) (2 . #f) 5) (((LREF 0 0 1) (COND 0 86) (LREF 0 6 2) (PROC 1 0) (LREF 2 4 2)", -" (CALL 2) 86 (GREF 0 0) (PROC 1 1) (LREF 2 2 2) (LOAD 3 1) (CALL 3)) ((((LREF 0 ", -"5 3) (LREF 1 3 1) (LREF 2 0 1) (CALL 2)) () () (1 . #f) 4) (((PROC 0 0) (PROC 1 ", -"1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 87) (LREF 0 0 1) (LREF 1 0 2) ", -"(CALL 1) 87 (LREF 0 0 1) (LOADF 1) (CALL 1)) () () (2 . #f) 3) (((LREF 0 0 1) (C", -"OND 0 88) (GREF 0 0) (PROC 1 0) (LREF 2 6 2) (CALL 2) 88 (GREF 0 1) (PROC 1 1) (", -"LREF 2 4 2) (LOAD 3 2) (CALL 3)) ((((LREF 0 9 5) (LREF 1 5 1) (LREF 2 0 1) (PROC", -" 3 0) (CALL 3)) ((((LREF 0 14 8) (PROC 1 0) (LREF 2 8 2) (CALL 2)) ((((LREF 0 11", -" 5) (LREF 1 1 1) (LREF 2 0 1) (LREF 3 9 3) (CALL 3)) () () (1 . #f) 5)) () (2 . ", -"#f) 4)) () (1 . #f) 5) (((PROC 0 0) (PROC 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0", -" 0 2) (COND 0 89) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 89 (LREF 0 0 1) (LOADF 1) (", -"CALL 1)) () () (2 . #f) 3) (((LREF 0 0 1) (COND 0 90) (LREF 0 14 8) (PROC 1 0) (", -"LREF 2 8 2) (CALL 2) 90 (GREF 0 0) (PROC 1 1) (LREF 2 6 2) (LOAD 3 1) (CALL 3)) ", -"((((LREF 0 11 5) (LREF 1 7 1) (LREF 2 0 1) (PROC 3 0) (CALL 3)) ((((GREF 0 0) (P", -"ROC 1 0) (LREF 2 10 2) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LOAD 2 1) (LOADN 3) (", -"CALL 3)) ((((LREF 0 12 3) (PROC 1 0) (LREF 2 0 1) (CALL 2)) ((((GREF 0 0) (PROC ", -"1 0) (LREF 2 0 1) (LOADN 3) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 4 2) (LRE", -"F 3 0 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 4 1) (LREF 3 0 1) (CALL 3)) ", -"((((GREF 0 0) (LREF 1 6 1) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) () (cons set!) (1 .", -" #f) 5)) (cons) (1 . #f) 5)) (cons) (1 . #f) 5)) (cons) (1 . #f) 5)) () (1 . #f)", -" 4)) (cons undefined) (1 . #f) 5)) (cadr) (2 . #f) 4)) () (1 . #f) 5) (((PROC 0 ", -"0) (PROC 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 91) (LREF 0 0 1) (L", -"REF 1 0 2) (CALL 1) 91 (LREF 0 0 1) (LOADF 1) (CALL 1)) () () (2 . #f) 3) (((LRE", -"F 0 0 1) (COND 0 92) (LREF 0 12 6) (PROC 1 0) (CALL 1) 92 (LOADT 0) (COND 0 93) ", -"(LREF 0 12 6) (PROC 1 1) (CALL 1) 93 (LREF 0 8 1) (LOADU 1) (CALL 1)) ((((LREF 0", -" 13 6) (PROC 1 0) (CALL 1)) ((((PROC 0 0) (LREF 1 10 1) (LREF 2 1 1) (LREF 3 0 1", -") (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 3) (LOADN 3) (CALL 3)) ((((GREF 0", -" 0) (PROC 1 0) (LREF 2 14 2) (CALL 2)) ((((LREF 0 17 5) (PROC 1 0) (LREF 2 0 1) ", -"(PROC 3 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 1) (LOADN 3) (CALL 3)) (", -"(((GREF 0 0) (PROC 1 0) (LREF 2 3 1) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (PROC ", -"1 0) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 6 2) (LO", -"ADN 3) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 7 2) (LOADN 3) (CALL 3)) ((((G", -"REF 0 0) (PROC 1 0) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) ((((LREF 0 22 3) (PROC 1 0", -") (LREF 2 0 1) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 1) (LOADN 3) (CALL 3", -")) ((((GREF 0 0) (PROC 1 0) (LREF 2 4 1) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (P", -"ROC 1 0) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 1)", -" (LOADN 3) (CALL 3)) ((((GREF 0 0) (LREF 1 14 1) (LREF 2 8 1) (LREF 3 0 1) (CALL", -" 3)) () (cons) (1 . #f) 5)) (cons) (1 . #f) 5)) (cons lambda) (1 . #f) 5)) (cons", -") (1 . #f) 5)) (cons) (1 . #f) 5)) () (1 . #f) 4)) (cons ref) (1 . #f) 5)) (cons", -") (1 . #f) 5)) (cons) (1 . #f) 5)) (cons lambda) (1 . #f) 5)) (cons) (1 . #f) 5)", -") (cons) (1 . #f) 5) (((LREF 0 22 8) (PROC 1 0) (LREF 2 16 2) (CALL 2)) ((((GREF", -" 0 0) (PROC 1 0) (LREF 2 4 3) (LOADN 3) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LOAD", -" 2 1) (LREF 3 0 1) (CALL 3)) ((((LREF 0 21 3) (PROC 1 0) (LREF 2 2 1) (LREF 3 0 ", -"1) (CALL 3)) ((((LREF 0 26 7) (PROC 1 0) (LREF 2 20 2) (CALL 2)) ((((GREF 0 0) (", -"PROC 1 0) (LREF 2 8 3) (LOADN 3) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LOAD 2 1) (", -"LREF 3 0 1) (CALL 3)) ((((LREF 0 25 3) (PROC 1 0) (LREF 2 2 1) (LREF 3 0 1) (CAL", -"L 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 1) (LOADN 3) (CALL 3)) ((((GREF 0 0) (P", -"ROC 1 0) (LREF 2 5 1) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 10", -" 2) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (LREF 1 11 1) (LOAD 2 1) (LREF 3 0 1) (", -"CALL 3)) () (cons if) (1 . #f) 5)) (cons) (1 . #f) 5)) (cons) (1 . #f) 5)) (cons", -") (1 . #f) 5)) () (1 . #f) 5)) (cons ref) (1 . #f) 5)) (cons) (1 . #f) 5)) () (1", -" . #f) 4)) () (1 . #f) 5)) (cons ref) (1 . #f) 5)) (cons) (1 . #f) 5)) () (2 . #", -"f) 4)) () (1 . #f) 5)) (cadr) (1 . #f) 4)) (cons) (3 . #f) 5)) () (1 . #f) 5)) (", -") (1 . #f) 3) (((PROC 0 0) (LREF 1 9 1) (LREF 2 0 1) (CALL 2)) ((((GREF 0 0) (PR", -"OC 1 0) (LREF 2 0 2) (LOADN 3) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 1 2) (", -"LOADN 3) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) ((", -"((LREF 0 15 3) (PROC 1 0) (LREF 2 0 1) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF ", -"2 0 1) (LOADN 3) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 4 1) (LREF 3 0 1) (C", -"ALL 3)) ((((GREF 0 0) (PROC 1 0) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) ((((PROC 0 0)", -" (LREF 1 7 1) (LREF 2 0 1) (CALL 2)) ((((PROC 0 0) (LREF 1 0 1) (CALL 1)) ((((GR", -"EF 0 0) (PROC 1 0) (LREF 2 21 2) (CALL 2)) ((((LREF 0 24 5) (LREF 1 1 1) (LREF 2", -" 0 1) (PROC 3 0) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 23 2) (CALL 2)) ((((", -"LREF 0 26 4) (LREF 1 1 1) (LREF 2 0 1) (PROC 3 0) (CALL 3)) ((((GREF 0 0) (PROC ", -"1 0) (LREF 2 0 2) (LOADN 3) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 6 2) (LRE", -"F 3 0 1) (CALL 3)) ((((GREF 0 0) (LREF 1 2 1) (LREF 2 4 2) (LREF 3 0 1) (CALL 3)", -") () (cons) (1 . #f) 5)) (cons) (1 . #f) 5)) (append) (2 . #f) 5)) () (1 . #f) 5", -")) (cdr) (2 . #f) 4)) () (1 . #f) 5)) (car) (1 . #f) 4)) () (2 . #f) 3)) () (1 .", -" #f) 4)) (cons lambda) (1 . #f) 5)) (cons) (1 . #f) 5)) (cons) (1 . #f) 5)) () (", -"1 . #f) 4)) (cons ref) (1 . #f) 5)) (cons) (1 . #f) 5)) (cons) (2 . #f) 5)) () (", -"1 . #f) 4)) () (1 . #f) 3)) () (1 . #f) 4)) (eqv? if) (1 . #f) 5)) () (1 . #f) 4", -")) (cadr eqv? set!) (1 . #f) 5)) () (1 . #f) 4)) (eqv? begin) (1 . #f) 5)) () (1", -" . #f) 4)) (eqv? ref) (2 . #f) 5)) () (1 . #f) 4)) (car) (3 . #f) 4) (((GREF 0 0", -") (PROC 1 0) (LREF 2 0 2) (CALL 2)) ((((LREF 0 0 1) (COND 0 94) (LREF 0 1 3) (LR", -"EF 1 1 1) (LOADN 2) (CALL 2) 94 (GREF 0 0) (PROC 1 0) (LREF 2 1 2) (CALL 2)) (((", -"(LREF 0 4 5) (LREF 1 2 1) (LREF 2 0 1) (PROC 3 0) (CALL 3)) ((((GREF 0 0) (PROC ", -"1 0) (LREF 2 3 2) (CALL 2)) ((((LREF 0 6 4) (LREF 1 1 1) (LREF 2 0 1) (PROC 3 0)", -" (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 2 2) (LREF 3 0 2) (CALL 3)) ((((LREF", -" 0 6 3) (LREF 1 1 1) (LREF 2 0 1) (CALL 2)) () () (1 . #f) 4)) (cons) (2 . #f) 5", -")) () (1 . #f) 5)) (cdr) (2 . #f) 4)) () (1 . #f) 5)) (car) (1 . #f) 4)) (null?)", -" (3 . #f) 4) (((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (CALL 2)) ((((PROC 0 0) (LREF ", -"1 1 1) (LREF 2 0 1) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (LOAD 3 1) (", +") (PROC 1 0) (LREF 2 1 2) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF ", +"2 0 1) (CALL 2)) ((((GREF 0 0) (LREF 1 3 1) (LREF 2 0 1) (CALL 2)) () (load) (1 ", +". #f) 4)) (compile) (1 . #f) 4)) (expand) (1 . #f) 5)) () (2 . #t) 3)) (eval) (1", +" . #f) 3) (((PROC 0 0) (LREF 1 0 1) (CALL 1)) ((((PROC 0 0) (LREF 1 0 1) (LOADF ", +"2) (LOADF 3) (LOADF 4) (LOADF 5) (LOADF 6) (LOADF 7) (LOADF 8) (CALL 8)) ((((PRO", +"C 0 0) (LSET 0 0 8) (PROC 0 1) (LSET 0 0 7) (PROC 0 2) (LSET 0 0 6) (PROC 0 3) (", +"LSET 0 0 5) (GREF 0 0) (PROC 1 4) (LOADN 2) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (", +"LREF 2 0 2) (CALL 2)) ((((GREF 0 0) (LREF 1 1 1) (LREF 2 0 1) (CALL 2)) () (car)", +" (1 . #f) 4)) (cddr) (2 . #f) 4) (((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (CALL 2)) ", +"((((GREF 0 0) (LREF 1 1 1) (LREF 2 0 1) (CALL 2)) () (cadr) (1 . #f) 4)) (cddr) ", +"(2 . #f) 4) (((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (LREF 3 0 3) (CALL 3)) ((((LREF", +" 0 0 1) (COND 0 65) (LREF 0 1 1) (LREF 1 1 3) (CALL 1) 65 (LREF 0 1 1) (LREF 1 1", +" 2) (CALL 1)) () () (1 . #f) 3)) (<) (3 . #f) 5) (((GREF 0 0) (PROC 1 0) (LREF 2", +" 0 2) (CALL 2)) ((((LREF 0 0 1) (COND 0 66) (GREF 0 0) (LREF 1 1 1) (LREF 2 1 2)", +" (CALL 2) 66 (LREF 0 1 1) (LOADF 1) (CALL 1)) () (exact?) (1 . #f) 4)) (number?)", +" (2 . #f) 4) (((PROC 0 0) (PROC 1 1) (LREF 2 0 1) (CALL 2)) ((((PROC 0 0) (LREF ", +"1 0 1) (LOADF 2) (CALL 2)) ((((PROC 0 0) (LSET 0 0 2) (LREF 0 0 1) (LREF 1 0 2) ", +"(CALL 1)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (CALL 2)) ((((LREF 0 0 1) (COND ", +"0 67) (GREF 0 0) (PROC 1 0) (LREF 2 1 2) (LOADN 3) (CALL 3) 67 (GREF 0 1) (PROC ", +"1 1) (LREF 2 1 2) (CALL 2)) ((((GREF 0 0) (LREF 1 2 1) (LOAD 2 1) (LREF 3 0 1) (", +"CALL 3)) () (cons ref) (1 . #f) 5) (((GREF 0 0) (PROC 1 0) (LREF 2 0 1) (CALL 2)", +") ((((LREF 0 0 1) (COND 0 68) (GREF 0 0) (PROC 1 0) (LREF 2 3 2) (LOADN 3) (CALL", +" 3) 68 (GREF 0 1) (PROC 1 1) (LREF 2 3 2) (CALL 2)) ((((GREF 0 0) (LREF 1 4 1) (", +"LOAD 2 1) (LREF 3 0 1) (CALL 3)) () (cons quote) (1 . #f) 5) (((PROC 0 0) (LREF ", +"1 4 1) (LREF 2 0 1) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (LOAD 3 1) (", "CALL 3)) ((((PROC 0 0) (PROC 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0", -" 95) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 95 (GREF 0 0) (PROC 1 0) (LREF 2 2 2) (L", -"OAD 3 1) (CALL 3)) ((((PROC 0 0) (LREF 1 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 ", -"0 2) (COND 0 96) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 96 (GREF 0 0) (PROC 1 0) (LR", -"EF 2 4 2) (LOAD 3 1) (CALL 3)) ((((PROC 0 0) (LREF 1 1 1) (LREF 2 0 1) (CALL 2))", -" ((((LREF 0 0 2) (COND 0 97) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 97 (LREF 0 0 1) ", -"(LOADF 1) (CALL 1)) () () (2 . #f) 3)) () (1 . #f) 4)) (eqv? quote) (2 . #f) 5))", -" () (1 . #f) 4)) (eqv? lambda) (2 . #f) 5) (((LREF 0 0 1) (COND 0 98) (LREF 0 6 ", -"2) (PROC 1 0) (LREF 2 4 2) (CALL 2) 98 (GREF 0 0) (PROC 1 1) (LREF 2 2 2) (LOAD ", -"3 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 1) (LOADN 3) (CALL 3)) ((((GRE", -"F 0 0) (LREF 1 4 1) (LREF 2 6 3) (LREF 3 0 1) (CALL 3)) () (cons) (1 . #f) 5)) (", -"cons) (1 . #f) 5) (((PROC 0 0) (PROC 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2)", -" (COND 0 99) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 99 (LREF 0 0 1) (LOADF 1) (CALL ", -"1)) () () (2 . #f) 3) (((LREF 0 0 1) (COND 0 100) (GREF 0 0) (PROC 1 0) (LREF 2 ", -"6 2) (CALL 2) 100 (GREF 0 1) (PROC 1 1) (LREF 2 4 2) (LOAD 3 2) (CALL 3)) ((((LR", -"EF 0 9 5) (LREF 1 5 1) (LREF 2 0 1) (PROC 3 0) (CALL 3)) ((((LREF 0 14 8) (PROC ", -"1 0) (LREF 2 8 2) (CALL 2)) ((((LREF 0 11 3) (LREF 1 1 1) (LREF 2 0 1) (LREF 3 9", -" 3) (CALL 3)) () () (1 . #f) 5)) () (2 . #f) 4)) () (1 . #f) 5) (((PROC 0 0) (PR", -"OC 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 101) (LREF 0 0 1) (LREF 1", -" 0 2) (CALL 1) 101 (LREF 0 0 1) (LOADF 1) (CALL 1)) () () (2 . #f) 3) (((LREF 0 ", -"0 1) (COND 0 102) (LREF 0 14 8) (PROC 1 0) (LREF 2 8 2) (CALL 2) 102 (GREF 0 0) ", -"(PROC 1 1) (LREF 2 6 2) (LOAD 3 1) (CALL 3)) ((((LREF 0 11 5) (LREF 1 7 1) (LREF", -" 2 0 1) (PROC 3 0) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 10 2) (CALL 2)) ((", -"((GREF 0 0) (PROC 1 0) (LOAD 2 1) (LOADN 3) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (", -"LREF 2 0 1) (LOADN 3) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 13 3) (LREF 3 0", -" 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 1) (LOADN 3) (CALL 3)) ((((GREF", -" 0 0) (PROC 1 0) (LREF 2 5 2) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (L", -"REF 2 5 1) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (LREF 1 7 1) (LOAD 2 1) (LREF 3 ", -"0 1) (CALL 3)) () (cons set!) (1 . #f) 5)) (cons) (1 . #f) 5)) (cons) (1 . #f) 5", -")) (cons) (1 . #f) 5)) (cons) (1 . #f) 5)) (cons) (1 . #f) 5)) (cons undefined) ", -"(1 . #f) 5)) (cadr) (2 . #f) 4)) () (1 . #f) 5) (((PROC 0 0) (PROC 1 1) (LREF 2 ", -"0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 103) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 1", -"03 (LREF 0 0 1) (LOADF 1) (CALL 1)) () () (2 . #f) 3) (((LREF 0 0 1) (COND 0 104", -") (PROC 0 0) (PROC 1 1) (CALL 1) 104 (LOADT 0) (COND 0 107) (GREF 0 0) (PROC 1 2", -") (LREF 2 10 2) (CALL 2) 107 (LREF 0 8 1) (LOADU 1) (CALL 1)) ((((GREF 0 0) (PRO", -"C 1 0) (LREF 2 11 3) (CALL 2)) ((((LREF 0 0 1) (COND 0 105) (GREF 0 0) (PROC 1 0", -") (LREF 2 12 3) (CALL 2) 105 (LREF 0 1 1) (LOADF 1) (CALL 1)) ((((GREF 0 0) (LRE", -"F 1 2 1) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) () (eq? lambda) (1 . #f) 5)) (car) (1", -" . #f) 4)) (pair?) (1 . #f) 4) (((LREF 0 0 1) (COND 0 106) (LREF 0 13 6) (PROC 1", -" 0) (CALL 1) 106 (GREF 0 0) (PROC 1 1) (LREF 2 11 2) (CALL 2)) ((((PROC 0 0) (LR", -"EF 1 10 1) (LREF 2 0 1) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (LOADN 3", -") (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 14 2) (CALL 2)) ((((LREF 0 17 5) (P", -"ROC 1 0) (LREF 2 0 1) (PROC 3 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 1)", -" (LOADN 3) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 3 1) (LREF 3 0 1) (CALL 3)", -") ((((GREF 0 0) (PROC 1 0) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (PROC", -" 1 0) (LREF 2 19 3) (LOADN 3) (CALL 3)) ((((GREF 0 0) (LREF 1 7 1) (LREF 2 1 1) ", -"(LREF 3 0 1) (CALL 3)) () (cons) (1 . #f) 5)) (cons) (1 . #f) 5)) (cons lambda) ", -"(1 . #f) 5)) (cons) (1 . #f) 5)) (cons) (1 . #f) 5) (((LREF 0 22 8) (PROC 1 0) (", -"LREF 2 16 2) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 4 2) (LOADN 3) (CALL 3))", -" ((((GREF 0 0) (PROC 1 0) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) ((((LREF 0 21 3) (PR", -"OC 1 0) (LREF 2 2 1) (LREF 3 0 1) (CALL 3)) ((((LREF 0 26 7) (PROC 1 0) (LREF 2 ", -"20 2) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 8 2) (LOADN 3) (CALL 3)) ((((GR", -"EF 0 0) (PROC 1 0) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) ((((LREF 0 25 3) (PROC 1 0)", -" (LREF 2 2 1) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 1) (LOAD", -"N 3) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 5 1) (LREF 3 0 1) (CALL 3)) ((((", -"GREF 0 0) (PROC 1 0) (LREF 2 10 2) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (LREF 1 ", -"11 1) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) () (cons if) (1 . #f) 5)) (cons) (1 . #f", -") 5)) (cons) (1 . #f) 5)) (cons) (1 . #f) 5)) () (1 . #f) 5)) (cons ref) (1 . #f", -") 5)) (cons) (1 . #f) 5)) () (1 . #f) 4)) () (1 . #f) 5)) (cons ref) (1 . #f) 5)", -") (cons) (1 . #f) 5)) () (2 . #f) 4)) () (1 . #f) 5)) (cadr) (1 . #f) 4)) (cons)", -" (2 . #f) 5)) () (1 . #f) 4) (((LREF 0 14 5) (LREF 1 10 1) (LREF 2 0 1) (PROC 3 ", -"0) (CALL 3)) ((((LREF 0 19 8) (PROC 1 0) (LREF 2 13 2) (CALL 2)) ((((LREF 0 16 3", -") (PROC 1 0) (LREF 2 0 1) (LREF 3 14 3) (CALL 3)) ((((LREF 0 21 7) (PROC 1 0) (L", -"REF 2 15 2) (CALL 2)) ((((LREF 0 18 3) (PROC 1 0) (LREF 2 0 1) (LREF 3 16 3) (CA", -"LL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 1) (LOADN 3) (CALL 3)) ((((GREF 0 0) (", -"PROC 1 0) (LREF 2 3 1) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 6", -" 2) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (LREF 1 7 1) (LOAD 2 1) (LREF 3 0 1) (C", -"ALL 3)) () (cons if) (1 . #f) 5)) (cons) (1 . #f) 5)) (cons) (1 . #f) 5)) (cons)", -" (1 . #f) 5)) () (1 . #f) 5)) () (1 . #f) 4)) () (1 . #f) 5)) () (2 . #f) 4)) ()", -" (1 . #f) 5)) (cadr) (1 . #f) 4) (((LREF 0 13 5) (LREF 1 9 1) (LREF 2 0 1) (PROC", -" 3 0) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 12 2) (CALL 2)) ((((LREF 0 15 4", -") (LREF 1 1 1) (LREF 2 0 1) (PROC 3 0) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF ", -"2 0 2) (LOADN 3) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 15 3) (LREF 3 0 1) (", -"CALL 3)) ((((GREF 0 0) (LREF 1 2 1) (LREF 2 4 2) (LREF 3 0 1) (CALL 3)) () (cons", -") (1 . #f) 5)) (cons) (1 . #f) 5)) (append) (2 . #f) 5)) () (1 . #f) 5)) (cdr) (", -"2 . #f) 4)) () (1 . #f) 5)) (car) (1 . #f) 4)) () (1 . #f) 4)) (eqv? if) (1 . #f", -") 5)) () (1 . #f) 4)) (cadr eqv? set!) (1 . #f) 5)) () (1 . #f) 4)) (eqv? begin)", -" (1 . #f) 5)) () (1 . #f) 4)) (eqv? ref) (2 . #f) 5)) () (1 . #f) 4)) (car) (3 .", -" #f) 4) (((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (CALL 2)) ((((PROC 0 0) (LREF 1 1 1", -") (LREF 2 0 1) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (LOAD 3 1) (CALL ", -"3)) ((((PROC 0 0) (PROC 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 108)", -" (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 108 (GREF 0 0) (PROC 1 0) (LREF 2 2 2) (LOAD", -" 3 1) (CALL 3)) ((((PROC 0 0) (LREF 1 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2", -") (COND 0 109) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 109 (LREF 0 0 1) (LOADF 1) (CA", -"LL 1)) () () (2 . #f) 3)) () (1 . #f) 4)) (eqv? quote) (2 . #f) 5) (((LREF 0 0 1", -") (COND 0 110) (LREF 0 2 1) (LREF 1 4 2) (CALL 1) 110 (GREF 0 0) (PROC 1 0) (LRE", -"F 2 2 2) (LOAD 3 1) (CALL 3)) ((((PROC 0 0) (PROC 1 1) (LREF 2 0 1) (CALL 2)) ((", -"((LREF 0 0 2) (COND 0 111) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 111 (LREF 0 0 1) (", -"LOADF 1) (CALL 1)) () () (2 . #f) 3) (((LREF 0 0 1) (COND 0 112) (LREF 0 8 6) (P", -"ROC 1 0) (CALL 1) 112 (LREF 0 4 1) (LOADU 1) (CALL 1)) ((((PROC 0 0) (LREF 1 5 1", -") (LREF 2 0 1) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 8 2) (CALL 2)) ((((GRE", -"F 0 0) (PROC 1 0) (LREF 2 1 2) (LREF 3 0 1) (CALL 3)) ((((LREF 0 16 8) (PROC 1 0", -") (LREF 2 10 2) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 3 2) (LOADN 3) (CALL ", -"3)) ((((GREF 0 0) (PROC 1 0) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) ((((LREF 0 15 3) ", -"(PROC 1 0) (LREF 2 2 1) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 ", -"0 1) (LOADN 3) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 5 1) (LREF 3 0 1) (CAL", -"L 3)) ((((GREF 0 0) (LREF 1 8 1) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) () (cons lamb", -"da) (1 . #f) 5)) (cons) (1 . #f) 5)) (cons) (1 . #f) 5)) () (1 . #f) 5)) (cons r", -"ef) (1 . #f) 5)) (cons) (1 . #f) 5)) () (1 . #f) 4)) (cons) (1 . #f) 5)) (cadr) ", -"(2 . #f) 4)) () (1 . #f) 4)) () (1 . #f) 3)) () (1 . #f) 4)) (eqv? lambda) (1 . ", -"#f) 5)) () (1 . #f) 4)) (eqv? ref) (2 . #f) 5)) () (1 . #f) 4)) (car) (2 . #f) 4", -") (((LREF 0 2 6) (PROC 1 0) (CALL 1)) ((((PROC 0 0) (LREF 1 1 1) (LREF 2 0 1) (C", -"ALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (LOADN 3) (CALL 3)) ((((GREF 0 0) ", -"(PROC 1 0) (LREF 2 1 2) (LOADN 3) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LOAD 2 1) ", -"(LREF 3 0 1) (CALL 3)) ((((LREF 0 7 3) (PROC 1 0) (LREF 2 5 2) (LREF 3 0 1) (CAL", -"L 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 1) (LOADN 3) (CALL 3)) ((((GREF 0 0) (P", -"ROC 1 0) (LREF 2 4 1) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (LREF 1 6 1) (LOAD 2 ", -"1) (LREF 3 0 1) (CALL 3)) () (cons lambda) (1 . #f) 5)) (cons) (1 . #f) 5)) (con", -"s) (1 . #f) 5)) () (1 . #f) 5)) (cons ref) (1 . #f) 5)) (cons) (1 . #f) 5)) (con", -"s) (2 . #f) 5)) () (1 . #f) 4)) () (2 . #f) 3)) () (1 . #f) 3)) () (6 . #f) 4)) ", -"() (1 . #f) 8) (((LREF 0 0 1) (LSET 0 3 3) (PROC 0 0) (PROC 1 1) (CALL 1)) ((((P", -"ROC 0 0) (LREF 1 0 1) (LOADF 2) (LOADF 3) (LOADF 4) (LOADF 5) (LOADF 6) (LOADF 7", -") (LOADF 8) (LOADF 9) (LOADF 10) (LOADF 11) (LOADF 12) (LOADF 13) (CALL 13)) (((", -"(PROC 0 0) (LSET 0 0 13) (GREF 0 0) (PROC 1 1) (LOADN 2) (CALL 2)) ((((PROC 0 0)", -" (LREF 1 0 1) (CALL 1)) ((((PROC 0 0) (LREF 1 0 1) (LOADF 2) (CALL 2)) ((((PROC ", -"0 0) (LSET 0 0 2) (LREF 0 0 2) (LREF 1 0 1) (LOADI 2 0) (LREF 3 2 3) (CALL 3)) (", -"(((GREF 0 0) (PROC 1 0) (LREF 2 0 3) (CALL 2)) ((((LREF 0 0 1) (COND 0 113) (GRE", -"F 0 0) (PROC 1 0) (LREF 2 4 2) (LOADN 3) (CALL 3) 113 (PROC 0 1) (LREF 1 1 1) (C", -"ALL 1)) ((((GREF 0 0) (LREF 1 2 1) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) () (cons gl", -"obal) (1 . #f) 5) (((PROC 0 0) (LREF 1 0 1) (LOADF 2) (CALL 2)) ((((PROC 0 0) (L", -"SET 0 0 2) (GREF 0 0) (PROC 1 1) (LREF 2 3 3) (CALL 2)) ((((GREF 0 0) (PROC 1 0)", -" (LREF 2 0 3) (CALL 2)) ((((LREF 0 0 1) (COND 0 114) (GREF 0 0) (PROC 1 0) (LREF", -" 2 8 2) (LREF 3 1 3) (CALL 3) 114 (GREF 0 1) (PROC 1 1) (LREF 2 1 3) (CALL 2)) (", -"(((LREF 0 0 1) (COND 0 115) (GREF 0 0) (PROC 1 0) (LREF 2 2 2) (LOADN 3) (CALL 3", -") 115 (GREF 0 1) (PROC 1 1) (LREF 2 6 2) (LOADI 3 1) (CALL 3)) ((((GREF 0 0) (PR", -"OC 1 0) (LREF 2 7 2) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (LREF 1 4 1) (LOAD 2 1", -") (LREF 3 0 1) (CALL 3)) () (cons local) (1 . #f) 5)) (cons) (1 . #f) 5) (((GREF", -" 0 0) (PROC 1 0) (LREF 2 7 3) (CALL 2)) ((((LREF 0 9 2) (LREF 1 4 1) (LREF 2 1 1", -") (LREF 3 0 1) (CALL 3)) () () (1 . #f) 5)) (cdr) (1 . #f) 4)) (cons +) (1 . #f)", -" 5) (((LREF 0 0 1) (COND 0 116) (GREF 0 0) (PROC 1 0) (LREF 2 6 2) (LOADI 3 1) (", -"CALL 3) 116 (GREF 0 1) (PROC 1 1) (LREF 2 2 3) (CALL 2)) ((((GREF 0 0) (PROC 1 0", -") (LREF 2 7 3) (CALL 2)) ((((LREF 0 9 2) (LREF 1 4 1) (LREF 2 1 1) (LREF 3 0 1) ", -"(CALL 3)) () () (1 . #f) 5)) (cdr) (1 . #f) 4) (((GREF 0 0) (PROC 1 0) (LREF 2 1", -"0 2) (LREF 3 0 1) (CALL 3)) ((((LREF 0 0 1) (COND 0 117) (GREF 0 0) (PROC 1 0) (", -"LREF 2 4 2) (LOADN 3) (CALL 3) 117 (GREF 0 1) (PROC 1 1) (LREF 2 4 2) (LOADI 3 1", -") (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 9 2) (LREF 3 0 1) (CALL 3)) ((((GRE", -"F 0 0) (LREF 1 6 1) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) () (cons local) (1 . #f) 5", -")) (cons) (1 . #f) 5) (((GREF 0 0) (PROC 1 0) (LREF 2 5 3) (CALL 2)) ((((LREF 0 ", -"7 2) (LREF 1 6 1) (LREF 2 1 1) (LREF 3 0 1) (CALL 3)) () () (1 . #f) 5)) (cdr) (", -"1 . #f) 4)) (cons +) (1 . #f) 5)) (eq?) (1 . #f) 5)) (+ car) (1 . #f) 5)) (eq? n", -"ull?) (1 . #f) 5)) (symbol?) (3 . #f) 4) (((LREF 0 1 2) (LREF 1 1 1) (LOADI 2 1)", -" (LREF 3 0 1) (CALL 3)) () () (1 . #f) 5)) (car) (2 . #f) 4)) () (1 . #f) 4)) (c", -"ons) (1 . #f) 5)) (null?) (3 . #f) 4)) () (2 . #f) 5)) () (1 . #f) 4)) () (3 . #", -"f) 3) (((LREF 0 0 1) (LSET 0 1 12) (GREF 0 0) (PROC 1 0) (LOADN 2) (CALL 2)) (((", -"(LREF 0 0 1) (LSET 0 2 11) (GREF 0 0) (PROC 1 0) (LOADN 2) (CALL 2)) ((((LREF 0 ", -"0 1) (LSET 0 3 10) (GREF 0 0) (PROC 1 0) (LOADN 2) (CALL 2)) ((((LREF 0 0 1) (LS", -"ET 0 4 9) (PROC 0 0) (LSET 0 4 8) (PROC 0 1) (LSET 0 4 7) (PROC 0 2) (LSET 0 4 6", -") (PROC 0 3) (PROC 1 4) (LOADI 2 0) (CALL 2)) ((((LREF 0 5 11) (PROC 1 0) (CALL ", -"1)) ((((GREF 0 0) (PROC 1 0) (LREF 2 1 2) (LREF 3 0 1) (CALL 3)) ((((LREF 0 7 11", -") (LREF 1 2 1) (LREF 2 0 1) (CALL 2)) () () (1 . #f) 4)) (cons) (1 . #f) 5)) () ", -"(2 . #f) 3) (((LREF 0 5 10) (PROC 1 0) (CALL 1)) ((((GREF 0 0) (PROC 1 0) (LREF ", -"2 0 1) (CALL 2)) ((((PROC 0 0) (LREF 1 2 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 8 ", -"10) (PROC 1 0) (CALL 1)) ((((GREF 0 0) (PROC 1 0) (LREF 2 4 2) (LREF 3 0 1) (CAL", -"L 3)) ((((LREF 0 10 10) (PROC 1 0) (LREF 2 0 1) (CALL 2)) ((((LREF 0 3 1) (LREF ", -"1 3 2) (CALL 1)) () () (1 . #f) 3)) () (1 . #f) 4)) (cons) (1 . #f) 5)) () (2 . ", -"#f) 3)) () (1 . #f) 4)) (length) (1 . #f) 4)) () (2 . #f) 3) (((LREF 0 5 9) (PRO", -"C 1 0) (CALL 1)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 1) (CALL 2)) ((((PROC 0 0) (", -"LREF 1 2 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 8 9) (PROC 1 0) (CALL 1)) ((((GREF", -" 0 0) (PROC 1 0) (LREF 2 4 2) (LREF 3 0 1) (CALL 3)) ((((LREF 0 10 9) (PROC 1 0)", -" (LREF 2 0 1) (CALL 2)) ((((LREF 0 3 1) (LREF 1 3 2) (CALL 1)) () () (1 . #f) 3)", -") () (1 . #f) 4)) (cons) (1 . #f) 5)) () (2 . #f) 3)) () (1 . #f) 4)) (length) (", -"1 . #f) 4)) () (2 . #f) 3) (((LREF 0 0 1) (PROC 1 0) (CALL 1)) ((((PROC 0 0) (LR", -"EF 1 0 1) (LREF 2 1 2) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 2 2) (LOADI 3 ", -"1) (CALL 3)) ((((LREF 0 0 1) (LSET 0 3 2) (LREF 0 1 1) (LREF 1 1 2) (CALL 1)) ()", -" () (1 . #f) 3)) (+) (2 . #f) 5)) () (1 . #f) 4)) () (2 . #f) 3) (((LREF 0 0 1) ", -"(LSET 0 5 5) (PROC 0 0) (LSET 0 5 4) (PROC 0 1) (LSET 0 5 3) (PROC 0 2) (LSET 0 ", -"5 2) (LREF 0 5 1) (PROC 1 3) (CALL 1)) ((((LREF 0 6 11) (PROC 1 0) (CALL 1)) (((", -"(GREF 0 0) (PROC 1 0) (LREF 2 1 2) (LREF 3 0 1) (CALL 3)) ((((LREF 0 8 11) (LREF", -" 1 2 1) (LREF 2 0 1) (CALL 2)) () () (1 . #f) 4)) (cons) (1 . #f) 5)) () (2 . #f", -") 3) (((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (CALL 2)) ((((PROC 0 0) (LREF 1 1 1) (", -"LREF 2 0 1) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (LOAD 3 1) (CALL 3))", -" ((((PROC 0 0) (PROC 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 118) (L", -"REF 0 0 1) (LREF 1 0 2) (CALL 1) 118 (GREF 0 0) (PROC 1 0) (LREF 2 2 2) (LOAD 3 ", -"1) (CALL 3)) ((((PROC 0 0) (LREF 1 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (", -"COND 0 119) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 119 (GREF 0 0) (PROC 1 0) (LREF 2", -" 4 2) (LOAD 3 1) (CALL 3)) ((((PROC 0 0) (LREF 1 1 1) (LREF 2 0 1) (CALL 2)) (((", -"(LREF 0 0 2) (COND 0 120) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 120 (GREF 0 0) (PRO", -"C 1 0) (LREF 2 6 2) (LOAD 3 1) (CALL 3)) ((((PROC 0 0) (LREF 1 1 1) (LREF 2 0 1)", -" (CALL 2)) ((((LREF 0 0 2) (COND 0 121) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 121 (", -"LREF 0 0 1) (LOADF 1) (CALL 1)) () () (2 . #f) 3)) () (1 . #f) 4)) (eqv? undefin", -"ed) (2 . #f) 5)) () (1 . #f) 4)) (eqv? quote) (2 . #f) 5)) () (1 . #f) 4)) (eqv?", -" lambda) (2 . #f) 5) (((LREF 0 0 1) (COND 0 122) (LREF 0 10 2) (LREF 1 2 1) (LRE", -"F 2 4 2) (LOADI 3 0) (CALL 3) 122 (GREF 0 0) (PROC 1 0) (LREF 2 2 2) (LOAD 3 1) ", -"(CALL 3)) ((((PROC 0 0) (PROC 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND ", -"0 123) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 123 (LREF 0 0 1) (LOADF 1) (CALL 1)) (", -") () (2 . #f) 3) (((LREF 0 0 1) (COND 0 124) (LREF 0 17 8) (PROC 1 0) (LREF 2 6 ", -"2) (CALL 2) 124 (GREF 0 0) (PROC 1 1) (LREF 2 4 2) (LOAD 3 1) (CALL 3)) ((((LREF", -" 0 13 2) (PROC 1 0) (LREF 2 0 1) (LOADI 3 0) (CALL 3)) ((((GREF 0 0) (PROC 1 0) ", -"(LREF 2 8 2) (CALL 2)) ((((LREF 0 15 12) (PROC 1 0) (CALL 1)) ((((LREF 0 16 13) ", -"(PROC 1 0) (LREF 2 1 1) (LREF 3 0 1) (CALL 3)) ((((PROC 0 0) (PROC 1 1) (LREF 2 ", -"0 1) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (CALL 2)) ((((GREF 0 0) (PR", -"OC 1 0) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) ((((LREF 0 0 1) (COND 0 125) (GREF 0 0", -") (PROC 1 0) (LREF 2 2 2) (CALL 2) 125 (GREF 0 1) (PROC 1 1) (LREF 2 2 2) (CALL ", -"2)) ((((LREF 0 21 6) (PROC 1 0) (LREF 2 0 1) (CALL 2)) ((((PROC 0 0) (LREF 1 4 1", +" 69) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 69 (LREF 0 0 1) (LOADF 1) (CALL 1)) () (", +") (2 . #f) 3) (((LREF 0 0 1) (COND 0 70) (GREF 0 0) (PROC 1 0) (LREF 2 7 2) (CAL", +"L 2) 70 (GREF 0 1) (PROC 1 1) (LREF 2 2 2) (LOAD 3 2) (CALL 3)) ((((GREF 0 0) (L", +"REF 1 3 1) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) () (cons quote) (1 . #f) 5) (((PROC", +" 0 0) (PROC 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 71) (LREF 0 0 1)", +" (LREF 1 0 2) (CALL 1) 71 (LREF 0 0 1) (LOADF 1) (CALL 1)) () () (2 . #f) 3) (((", +"LREF 0 0 1) (COND 0 72) (GREF 0 0) (PROC 1 0) (LREF 2 9 2) (CALL 2) 72 (GREF 0 1", +") (PROC 1 1) (LREF 2 4 2) (LOAD 3 2) (CALL 3)) ((((LREF 0 14 8) (PROC 1 0) (LREF", +" 2 10 2) (CALL 2)) ((((PROC 0 0) (LREF 1 6 1) (LREF 2 1 1) (LREF 3 0 1) (CALL 3)", +") ((((LREF 0 14 2) (PROC 1 0) (CALL 1)) ((((GREF 0 0) (PROC 1 0) (LREF 2 1 2) (L", +"REF 3 0 1) (CALL 3)) ((((LREF 0 16 2) (PROC 1 0) (LREF 2 0 1) (CALL 2)) ((((LREF", +" 0 16 2) (PROC 1 0) (LREF 2 3 3) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 1)", +" (LOADN 3) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 5 2) (LREF 3 0 1) (CALL 3)", +") ((((GREF 0 0) (LREF 1 6 1) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) () (cons set!) (1", +" . #f) 5)) (cons) (1 . #f) 5)) (cons) (1 . #f) 5)) () (1 . #f) 4)) () (1 . #f) 4", +")) (cons) (1 . #f) 5)) () (3 . #f) 3)) () (1 . #f) 5)) () (1 . #f) 4) (((PROC 0 ", +"0) (PROC 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 73) (LREF 0 0 1) (L", +"REF 1 0 2) (CALL 1) 73 (LREF 0 0 1) (LOADF 1) (CALL 1)) () () (2 . #f) 3) (((LRE", +"F 0 0 1) (COND 0 74) (GREF 0 0) (PROC 1 0) (LREF 2 11 2) (CALL 2) 74 (GREF 0 1) ", +"(PROC 1 1) (LREF 2 6 2) (LOAD 3 2) (CALL 3)) ((((LREF 0 16 8) (PROC 1 0) (LREF 2", +" 12 2) (CALL 2)) ((((PROC 0 0) (LREF 1 8 1) (LREF 2 1 1) (LREF 3 0 1) (CALL 3)) ", +"((((GREF 0 0) (PROC 1 0) (LREF 2 16 2) (LOADN 3) (CALL 3)) ((((GREF 0 0) (PROC 1", +" 0) (LREF 2 0 1) (CALL 2)) ((((GREF 0 0) (LREF 1 2 1) (LREF 2 0 1) (PROC 3 0) (C", +"ALL 3)) ((((LREF 0 18 2) (PROC 1 0) (LREF 2 3 3) (CALL 2)) ((((PROC 0 0) (LREF 1", +" 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 21 2) (PROC 1 0) (CALL 1)) ((((GREF 0 0)", +" (PROC 1 0) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 1) (COND 0 75) (GREF 0 0) (PROC ", +"1 0) (LREF 2 2 2) (LOADN 3) (CALL 3) 75 (LREF 0 23 2) (PROC 1 1) (CALL 1)) ((((G", +"REF 0 0) (PROC 1 0) (LREF 2 8 2) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (LREF 1 4 ", +"1) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) () (cons lambda) (1 . #f) 5)) (cons) (1 . #", +"f) 5) (((GREF 0 0) (PROC 1 0) (LREF 2 3 2) (LOADN 3) (CALL 3)) ((((GREF 0 0) (PR", +"OC 1 0) (LREF 2 1 1) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LOAD 2 1) ", +"(LREF 3 0 1) (CALL 3)) ((((LREF 0 27 2) (PROC 1 0) (CALL 1)) ((((GREF 0 0) (PROC", +" 1 0) (PROC 2 1) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 1) (L", +"OADN 3) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 3 1) (LREF 3 0 1) (CALL 3)) (", +"(((GREF 0 0) (PROC 1 0) (LREF 2 0 1) (LOADN 3) (CALL 3)) ((((GREF 0 0) (PROC 1 0", +") (LREF 2 16 2) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (LREF 1 12 1) (LOAD 2 1) (L", +"REF 3 0 1) (CALL 3)) () (cons lambda) (1 . #f) 5)) (cons) (1 . #f) 5)) (cons) (1", +" . #f) 5)) (cons) (1 . #f) 5)) (append) (1 . #f) 5) (((GREF 0 0) (PROC 1 0) (LOA", +"DF 2) (LOADN 3) (CALL 3)) ((((GREF 0 0) (LREF 1 1 1) (LOAD 2 1) (LREF 3 0 1) (CA", +"LL 3)) () (cons quote) (1 . #f) 5)) (cons) (2 . #f) 5)) (map) (1 . #f) 5)) () (1", +" . #f) 3)) (cons lambda) (1 . #f) 5)) (cons) (1 . #f) 5)) (cons) (1 . #f) 5)) (c", +"ons) (1 . #f) 5)) (null?) (1 . #f) 4)) () (2 . #f) 3)) () (1 . #f) 4)) () (1 . #", +"f) 4)) (with-dynamic-environment) (1 . #f) 5)) (list) (1 . #f) 4)) (cons) (3 . #", +"f) 5)) () (1 . #f) 5)) () (1 . #f) 4) (((PROC 0 0) (PROC 1 1) (LREF 2 0 1) (CALL", +" 2)) ((((LREF 0 0 2) (COND 0 76) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 76 (LREF 0 0", +" 1) (LOADF 1) (CALL 1)) () () (2 . #f) 3) (((LREF 0 0 1) (COND 0 77) (GREF 0 0) ", +"(PROC 1 0) (LREF 2 13 2) (CALL 2) 77 (GREF 0 1) (PROC 1 1) (LREF 2 8 2) (LOAD 3 ", +"2) (CALL 3)) ((((LREF 0 18 8) (PROC 1 0) (LREF 2 14 2) (CALL 2)) ((((LREF 0 16 2", +") (PROC 1 0) (LREF 2 0 1) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 1) (LOADN", +" 3) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 3 1) (LREF 3 0 1) (CALL 3)) ((((G", +"REF 0 0) (LREF 1 13 1) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) () (cons set!) (1 . #f)", +" 5)) (cons) (1 . #f) 5)) (cons) (1 . #f) 5)) () (1 . #f) 4)) () (1 . #f) 4) (((P", +"ROC 0 0) (PROC 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 78) (LREF 0 0", +" 1) (LREF 1 0 2) (CALL 1) 78 (LREF 0 0 1) (LOADF 1) (CALL 1)) () () (2 . #f) 3) ", +"(((LREF 0 0 1) (COND 0 79) (GREF 0 0) (PROC 1 0) (LREF 2 15 2) (CALL 2) 79 (GREF", +" 0 1) (PROC 1 1) (LREF 2 10 2) (LOAD 3 2) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LR", +"EF 2 17 2) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (LREF 1 12 1) (LOAD 2 1) (LREF 3", +" 0 1) (CALL 3)) () (cons if) (1 . #f) 5)) (map) (1 . #f) 5) (((PROC 0 0) (PROC 1", +" 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 80) (LREF 0 0 1) (LREF 1 0 2)", +" (CALL 1) 80 (LREF 0 0 1) (LOADF 1) (CALL 1)) () () (2 . #f) 3) (((LREF 0 0 1) (", +"COND 0 81) (GREF 0 0) (PROC 1 0) (LREF 2 17 2) (CALL 2) 81 (LOADT 0) (COND 0 82)", +" (GREF 0 1) (LREF 1 12 1) (LREF 2 18 2) (LREF 3 17 2) (CALL 3) 82 (LREF 0 12 1) ", +"(LOADU 1) (CALL 1)) ((((GREF 0 0) (PROC 1 0) (LREF 2 19 2) (LREF 3 0 1) (CALL 3)", +") ((((GREF 0 0) (LREF 1 14 1) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) () (cons begin) ", +"(1 . #f) 5)) (map) (1 . #f) 5)) (cdr map) (1 . #f) 5)) () (1 . #f) 4)) (cdr eqv?", +" core#begin) (1 . #f) 5)) () (1 . #f) 4)) (cadr eqv? core#if) (1 . #f) 5)) () (1", +" . #f) 4)) (cadr eqv? core#set!) (1 . #f) 5)) () (1 . #f) 4)) (cadr eqv? core#la", +"mbda) (1 . #f) 5)) () (1 . #f) 4)) (cdr eqv? core#define) (1 . #f) 5)) () (1 . #", +"f) 4)) (eqv? core#quote) (2 . #f) 5)) () (1 . #f) 4)) (cons car) (1 . #f) 5)) (n", +"ot) (1 . #f) 4)) (cons pair?) (1 . #f) 5)) (symbol?) (2 . #f) 4)) () (2 . #f) 3)", +") () (2 . #f) 4) (((LREF 0 0 1) (LSET 0 2 4) (PROC 0 0) (PROC 1 1) (CALL 1)) (((", +"(PROC 0 0) (LREF 1 0 1) (LOADF 2) (LOADF 3) (LOADF 4) (LOADF 5) (LOADF 6) (CALL ", +"6)) ((((PROC 0 0) (PROC 1 1) (LOADI 2 0) (CALL 2)) ((((LREF 0 0 1) (PROC 1 0) (C", +"ALL 1)) ((((GREF 0 0) (PROC 1 0) (LREF 2 1 2) (LOADI 3 1) (CALL 3)) ((((LREF 0 0", +" 1) (LSET 0 2 2) (GREF 0 0) (PROC 1 0) (LREF 2 2 2) (CALL 2)) ((((GREF 0 0) (PRO", +"C 1 0) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (LREF 1 3 1) (LREF 2 0 1)", +" (CALL 2)) () (string->symbol) (1 . #f) 4)) (string-append \"$\") (1 . #f) 5)) (nu", +"mber->string) (1 . #f) 4)) (+) (1 . #f) 5)) () (2 . #f) 3) (((LREF 0 0 1) (LSET ", +"0 1 6) (PROC 0 0) (LSET 0 1 5) (PROC 0 1) (LSET 0 1 4) (PROC 0 2) (LSET 0 1 3) (", +"PROC 0 3) (LSET 0 1 2) (LREF 0 1 1) (PROC 1 4) (CALL 1)) ((((GREF 0 0) (PROC 1 0", +") (LREF 2 0 2) (CALL 2)) ((((PROC 0 0) (LREF 1 1 1) (LREF 2 0 1) (CALL 2)) ((((G", +"REF 0 0) (PROC 1 0) (LREF 2 0 2) (LOAD 3 1) (CALL 3)) ((((PROC 0 0) (PROC 1 1) (", +"LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 83) (LREF 0 0 1) (LREF 1 0 2) (CAL", +"L 1) 83 (GREF 0 0) (PROC 1 0) (LREF 2 2 2) (LOAD 3 1) (CALL 3)) ((((PROC 0 0) (L", +"REF 1 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 84) (LREF 0 0 1) (LREF", +" 1 0 2) (CALL 1) 84 (GREF 0 0) (PROC 1 0) (LREF 2 4 2) (LOAD 3 1) (CALL 3)) ((((", +"PROC 0 0) (LREF 1 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 85) (LREF ", +"0 0 1) (LREF 1 0 2) (CALL 1) 85 (LREF 0 0 1) (LOADF 1) (CALL 1)) () () (2 . #f) ", +"3)) () (1 . #f) 4)) (eqv? quote) (2 . #f) 5)) () (1 . #f) 4)) (eqv? lambda) (2 .", +" #f) 5) (((LREF 0 0 1) (COND 0 86) (LREF 0 6 2) (PROC 1 0) (LREF 2 4 2) (CALL 2)", +" 86 (GREF 0 0) (PROC 1 1) (LREF 2 2 2) (LOAD 3 1) (CALL 3)) ((((LREF 0 5 3) (LRE", +"F 1 3 1) (LREF 2 0 1) (CALL 2)) () () (1 . #f) 4) (((PROC 0 0) (PROC 1 1) (LREF ", +"2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 87) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) ", +"87 (LREF 0 0 1) (LOADF 1) (CALL 1)) () () (2 . #f) 3) (((LREF 0 0 1) (COND 0 88)", +" (GREF 0 0) (PROC 1 0) (LREF 2 6 2) (CALL 2) 88 (GREF 0 1) (PROC 1 1) (LREF 2 4 ", +"2) (LOAD 3 2) (CALL 3)) ((((LREF 0 9 5) (LREF 1 5 1) (LREF 2 0 1) (PROC 3 0) (CA", +"LL 3)) ((((LREF 0 14 8) (PROC 1 0) (LREF 2 8 2) (CALL 2)) ((((LREF 0 11 5) (LREF", +" 1 1 1) (LREF 2 0 1) (LREF 3 9 3) (CALL 3)) () () (1 . #f) 5)) () (2 . #f) 4)) (", +") (1 . #f) 5) (((PROC 0 0) (PROC 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (CO", +"ND 0 89) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 89 (LREF 0 0 1) (LOADF 1) (CALL 1)) ", +"() () (2 . #f) 3) (((LREF 0 0 1) (COND 0 90) (LREF 0 14 8) (PROC 1 0) (LREF 2 8 ", +"2) (CALL 2) 90 (GREF 0 0) (PROC 1 1) (LREF 2 6 2) (LOAD 3 1) (CALL 3)) ((((LREF ", +"0 11 5) (LREF 1 7 1) (LREF 2 0 1) (PROC 3 0) (CALL 3)) ((((GREF 0 0) (PROC 1 0) ", +"(LREF 2 10 2) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LOAD 2 1) (LOADN 3) (CALL 3)) ", +"((((LREF 0 12 3) (PROC 1 0) (LREF 2 0 1) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LRE", +"F 2 0 1) (LOADN 3) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 4 2) (LREF 3 0 1) ", +"(CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 4 1) (LREF 3 0 1) (CALL 3)) ((((GREF ", +"0 0) (LREF 1 6 1) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) () (cons set!) (1 . #f) 5)) ", +"(cons) (1 . #f) 5)) (cons) (1 . #f) 5)) (cons) (1 . #f) 5)) () (1 . #f) 4)) (con", +"s undefined) (1 . #f) 5)) (cadr) (2 . #f) 4)) () (1 . #f) 5) (((PROC 0 0) (PROC ", +"1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 91) (LREF 0 0 1) (LREF 1 0 2", +") (CALL 1) 91 (LREF 0 0 1) (LOADF 1) (CALL 1)) () () (2 . #f) 3) (((LREF 0 0 1) ", +"(COND 0 92) (LREF 0 12 6) (PROC 1 0) (CALL 1) 92 (LOADT 0) (COND 0 93) (LREF 0 1", +"2 6) (PROC 1 1) (CALL 1) 93 (LREF 0 8 1) (LOADU 1) (CALL 1)) ((((LREF 0 13 6) (P", +"ROC 1 0) (CALL 1)) ((((PROC 0 0) (LREF 1 10 1) (LREF 2 1 1) (LREF 3 0 1) (CALL 3", +")) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 3) (LOADN 3) (CALL 3)) ((((GREF 0 0) (PROC", +" 1 0) (LREF 2 14 2) (CALL 2)) ((((LREF 0 17 5) (PROC 1 0) (LREF 2 0 1) (PROC 3 1", +") (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 1) (LOADN 3) (CALL 3)) ((((GREF 0", +" 0) (PROC 1 0) (LREF 2 3 1) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LOA", +"D 2 1) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 6 2) (LOADN 3) (C", +"ALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 7 2) (LOADN 3) (CALL 3)) ((((GREF 0 0) ", +"(PROC 1 0) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) ((((LREF 0 22 3) (PROC 1 0) (LREF 2", +" 0 1) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 1) (LOADN 3) (CALL 3)) ((((GR", +"EF 0 0) (PROC 1 0) (LREF 2 4 1) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) ", +"(LOAD 2 1) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 1) (LOADN 3", +") (CALL 3)) ((((GREF 0 0) (LREF 1 14 1) (LREF 2 8 1) (LREF 3 0 1) (CALL 3)) () (", +"cons) (1 . #f) 5)) (cons) (1 . #f) 5)) (cons lambda) (1 . #f) 5)) (cons) (1 . #f", +") 5)) (cons) (1 . #f) 5)) () (1 . #f) 4)) (cons ref) (1 . #f) 5)) (cons) (1 . #f", +") 5)) (cons) (1 . #f) 5)) (cons lambda) (1 . #f) 5)) (cons) (1 . #f) 5)) (cons) ", +"(1 . #f) 5) (((LREF 0 22 8) (PROC 1 0) (LREF 2 16 2) (CALL 2)) ((((GREF 0 0) (PR", +"OC 1 0) (LREF 2 4 3) (LOADN 3) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LOAD 2 1) (LR", +"EF 3 0 1) (CALL 3)) ((((LREF 0 21 3) (PROC 1 0) (LREF 2 2 1) (LREF 3 0 1) (CALL ", +"3)) ((((LREF 0 26 7) (PROC 1 0) (LREF 2 20 2) (CALL 2)) ((((GREF 0 0) (PROC 1 0)", +" (LREF 2 8 3) (LOADN 3) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LOAD 2 1) (LREF 3 0 ", +"1) (CALL 3)) ((((LREF 0 25 3) (PROC 1 0) (LREF 2 2 1) (LREF 3 0 1) (CALL 3)) (((", +"(GREF 0 0) (PROC 1 0) (LREF 2 0 1) (LOADN 3) (CALL 3)) ((((GREF 0 0) (PROC 1 0) ", +"(LREF 2 5 1) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 10 2) (LREF", +" 3 0 1) (CALL 3)) ((((GREF 0 0) (LREF 1 11 1) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) ", +"() (cons if) (1 . #f) 5)) (cons) (1 . #f) 5)) (cons) (1 . #f) 5)) (cons) (1 . #f", +") 5)) () (1 . #f) 5)) (cons ref) (1 . #f) 5)) (cons) (1 . #f) 5)) () (1 . #f) 4)", +") () (1 . #f) 5)) (cons ref) (1 . #f) 5)) (cons) (1 . #f) 5)) () (2 . #f) 4)) ()", +" (1 . #f) 5)) (cadr) (1 . #f) 4)) (cons) (3 . #f) 5)) () (1 . #f) 5)) () (1 . #f", +") 3) (((PROC 0 0) (LREF 1 9 1) (LREF 2 0 1) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (", +"LREF 2 0 2) (LOADN 3) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 1 2) (LOADN 3) ", +"(CALL 3)) ((((GREF 0 0) (PROC 1 0) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) ((((LREF 0 ", +"15 3) (PROC 1 0) (LREF 2 0 1) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 1) (L", +"OADN 3) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 4 1) (LREF 3 0 1) (CALL 3)) (", +"(((GREF 0 0) (PROC 1 0) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) ((((PROC 0 0) (LREF 1 ", +"7 1) (LREF 2 0 1) (CALL 2)) ((((PROC 0 0) (LREF 1 0 1) (CALL 1)) ((((GREF 0 0) (", +"PROC 1 0) (LREF 2 21 2) (CALL 2)) ((((LREF 0 24 5) (LREF 1 1 1) (LREF 2 0 1) (PR", +"OC 3 0) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 23 2) (CALL 2)) ((((LREF 0 26", +" 4) (LREF 1 1 1) (LREF 2 0 1) (PROC 3 0) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LRE", +"F 2 0 2) (LOADN 3) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 6 2) (LREF 3 0 1) ", +"(CALL 3)) ((((GREF 0 0) (LREF 1 2 1) (LREF 2 4 2) (LREF 3 0 1) (CALL 3)) () (con", +"s) (1 . #f) 5)) (cons) (1 . #f) 5)) (append) (2 . #f) 5)) () (1 . #f) 5)) (cdr) ", +"(2 . #f) 4)) () (1 . #f) 5)) (car) (1 . #f) 4)) () (2 . #f) 3)) () (1 . #f) 4)) ", +"(cons lambda) (1 . #f) 5)) (cons) (1 . #f) 5)) (cons) (1 . #f) 5)) () (1 . #f) 4", +")) (cons ref) (1 . #f) 5)) (cons) (1 . #f) 5)) (cons) (2 . #f) 5)) () (1 . #f) 4", +")) () (1 . #f) 3)) () (1 . #f) 4)) (eqv? if) (1 . #f) 5)) () (1 . #f) 4)) (cadr ", +"eqv? set!) (1 . #f) 5)) () (1 . #f) 4)) (eqv? begin) (1 . #f) 5)) () (1 . #f) 4)", +") (eqv? ref) (2 . #f) 5)) () (1 . #f) 4)) (car) (3 . #f) 4) (((GREF 0 0) (PROC 1", +" 0) (LREF 2 0 2) (CALL 2)) ((((LREF 0 0 1) (COND 0 94) (LREF 0 1 3) (LREF 1 1 1)", +" (LOADN 2) (CALL 2) 94 (GREF 0 0) (PROC 1 0) (LREF 2 1 2) (CALL 2)) ((((LREF 0 4", +" 5) (LREF 1 2 1) (LREF 2 0 1) (PROC 3 0) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LRE", +"F 2 3 2) (CALL 2)) ((((LREF 0 6 4) (LREF 1 1 1) (LREF 2 0 1) (PROC 3 0) (CALL 3)", +") ((((GREF 0 0) (PROC 1 0) (LREF 2 2 2) (LREF 3 0 2) (CALL 3)) ((((LREF 0 6 3) (", +"LREF 1 1 1) (LREF 2 0 1) (CALL 2)) () () (1 . #f) 4)) (cons) (2 . #f) 5)) () (1 ", +". #f) 5)) (cdr) (2 . #f) 4)) () (1 . #f) 5)) (car) (1 . #f) 4)) (null?) (3 . #f)", +" 4) (((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (CALL 2)) ((((PROC 0 0) (LREF 1 1 1) (L", +"REF 2 0 1) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (LOAD 3 1) (CALL 3)) ", +"((((PROC 0 0) (PROC 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 95) (LRE", +"F 0 0 1) (LREF 1 0 2) (CALL 1) 95 (GREF 0 0) (PROC 1 0) (LREF 2 2 2) (LOAD 3 1) ", +"(CALL 3)) ((((PROC 0 0) (LREF 1 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (CON", +"D 0 96) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 96 (GREF 0 0) (PROC 1 0) (LREF 2 4 2)", +" (LOAD 3 1) (CALL 3)) ((((PROC 0 0) (LREF 1 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF", +" 0 0 2) (COND 0 97) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 97 (LREF 0 0 1) (LOADF 1)", +" (CALL 1)) () () (2 . #f) 3)) () (1 . #f) 4)) (eqv? quote) (2 . #f) 5)) () (1 . ", +"#f) 4)) (eqv? lambda) (2 . #f) 5) (((LREF 0 0 1) (COND 0 98) (LREF 0 6 2) (PROC ", +"1 0) (LREF 2 4 2) (CALL 2) 98 (GREF 0 0) (PROC 1 1) (LREF 2 2 2) (LOAD 3 1) (CAL", +"L 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 1) (LOADN 3) (CALL 3)) ((((GREF 0 0) (L", +"REF 1 4 1) (LREF 2 6 3) (LREF 3 0 1) (CALL 3)) () (cons) (1 . #f) 5)) (cons) (1 ", +". #f) 5) (((PROC 0 0) (PROC 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 ", +"99) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 99 (LREF 0 0 1) (LOADF 1) (CALL 1)) () ()", +" (2 . #f) 3) (((LREF 0 0 1) (COND 0 100) (GREF 0 0) (PROC 1 0) (LREF 2 6 2) (CAL", +"L 2) 100 (GREF 0 1) (PROC 1 1) (LREF 2 4 2) (LOAD 3 2) (CALL 3)) ((((LREF 0 9 5)", +" (LREF 1 5 1) (LREF 2 0 1) (PROC 3 0) (CALL 3)) ((((LREF 0 14 8) (PROC 1 0) (LRE", +"F 2 8 2) (CALL 2)) ((((LREF 0 11 3) (LREF 1 1 1) (LREF 2 0 1) (LREF 3 9 3) (CALL", +" 3)) () () (1 . #f) 5)) () (2 . #f) 4)) () (1 . #f) 5) (((PROC 0 0) (PROC 1 1) (", +"LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 101) (LREF 0 0 1) (LREF 1 0 2) (CA", +"LL 1) 101 (LREF 0 0 1) (LOADF 1) (CALL 1)) () () (2 . #f) 3) (((LREF 0 0 1) (CON", +"D 0 102) (LREF 0 14 8) (PROC 1 0) (LREF 2 8 2) (CALL 2) 102 (GREF 0 0) (PROC 1 1", +") (LREF 2 6 2) (LOAD 3 1) (CALL 3)) ((((LREF 0 11 5) (LREF 1 7 1) (LREF 2 0 1) (", +"PROC 3 0) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 10 2) (CALL 2)) ((((GREF 0 ", +"0) (PROC 1 0) (LOAD 2 1) (LOADN 3) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 ", +"1) (LOADN 3) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 13 3) (LREF 3 0 1) (CALL", +" 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 1) (LOADN 3) (CALL 3)) ((((GREF 0 0) (PR", +"OC 1 0) (LREF 2 5 2) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 5 1", +") (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (LREF 1 7 1) (LOAD 2 1) (LREF 3 0 1) (CAL", +"L 3)) () (cons set!) (1 . #f) 5)) (cons) (1 . #f) 5)) (cons) (1 . #f) 5)) (cons)", +" (1 . #f) 5)) (cons) (1 . #f) 5)) (cons) (1 . #f) 5)) (cons undefined) (1 . #f) ", +"5)) (cadr) (2 . #f) 4)) () (1 . #f) 5) (((PROC 0 0) (PROC 1 1) (LREF 2 0 1) (CAL", +"L 2)) ((((LREF 0 0 2) (COND 0 103) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 103 (LREF ", +"0 0 1) (LOADF 1) (CALL 1)) () () (2 . #f) 3) (((LREF 0 0 1) (COND 0 104) (PROC 0", +" 0) (PROC 1 1) (CALL 1) 104 (LOADT 0) (COND 0 107) (GREF 0 0) (PROC 1 2) (LREF 2", +" 10 2) (CALL 2) 107 (LREF 0 8 1) (LOADU 1) (CALL 1)) ((((GREF 0 0) (PROC 1 0) (L", +"REF 2 11 3) (CALL 2)) ((((LREF 0 0 1) (COND 0 105) (GREF 0 0) (PROC 1 0) (LREF 2", +" 12 3) (CALL 2) 105 (LREF 0 1 1) (LOADF 1) (CALL 1)) ((((GREF 0 0) (LREF 1 2 1) ", +"(LOAD 2 1) (LREF 3 0 1) (CALL 3)) () (eq? lambda) (1 . #f) 5)) (car) (1 . #f) 4)", +") (pair?) (1 . #f) 4) (((LREF 0 0 1) (COND 0 106) (LREF 0 13 6) (PROC 1 0) (CALL", +" 1) 106 (GREF 0 0) (PROC 1 1) (LREF 2 11 2) (CALL 2)) ((((PROC 0 0) (LREF 1 10 1", ") (LREF 2 0 1) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (LOADN 3) (CALL 3", -")) ((((GREF 0 0) (PROC 1 0) (LOADI 2 0) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (PR", -"OC 1 0) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) ((((LREF 0 26 8) (LREF 1 3 1) (LREF 2 ", -"0 1) (CALL 2)) () () (1 . #f) 4)) (cons GSET) (1 . #f) 5)) (cons) (1 . #f) 5)) (", -"cons) (2 . #f) 5)) () (1 . #f) 4)) () (1 . #f) 4) (((GREF 0 0) (PROC 1 0) (LOADI", -" 2 0) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LOAD 2 1) (LREF 3 0 1) (C", -"ALL 3)) ((((LREF 0 23 8) (LREF 1 5 1) (LREF 2 0 1) (CALL 2)) () () (1 . #f) 4)) ", -"(cons LSET) (1 . #f) 5)) (cons) (1 . #f) 5)) (cadr cdr) (1 . #f) 4)) (eq? global", -") (1 . #f) 5)) (car) (2 . #f) 4) (((LREF 0 23 7) (PROC 1 0) (LREF 2 12 2) (CALL ", -"2)) ((((LREF 0 19 3) (LREF 1 11 1) (LREF 2 0 1) (CALL 2)) () () (1 . #f) 4)) () ", -"(1 . #f) 4)) () (1 . #f) 4)) () (1 . #f) 5)) () (1 . #f) 3)) (cadr) (1 . #f) 4))", -" () (1 . #f) 5) (((PROC 0 0) (PROC 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (", -"COND 0 126) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 126 (LREF 0 0 1) (LOADF 1) (CALL ", -"1)) () () (2 . #f) 3) (((LREF 0 0 1) (COND 0 127) (GREF 0 0) (PROC 1 0) (LREF 2 ", -"8 2) (CALL 2) 127 (LOADT 0) (COND 0 128) (PROC 0 1) (PROC 1 2) (CALL 1) 128 (LRE", -"F 0 6 1) (LOADU 1) (CALL 1)) ((((LREF 0 15 2) (PROC 1 0) (LREF 2 0 1) (LOADI 3 0", -") (CALL 3)) ((((LREF 0 16 5) (PROC 1 0) (CALL 1)) ((((PROC 0 0) (LREF 1 9 1) (LR", -"EF 2 0 1) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (LOADN 3) (CALL 3)) ((", -"((GREF 0 0) (PROC 1 0) (LOADI 2 0) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (PROC 1 ", -"0) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) ((((LREF 0 21 8) (PROC 1 0) (LREF 2 0 1) (C", -"ALL 2)) ((((LREF 0 27 8) (PROC 1 0) (LREF 2 16 2) (CALL 2)) ((((LREF 0 23 3) (PR", -"OC 1 0) (LREF 2 0 1) (CALL 2)) ((((LREF 0 24 4) (PROC 1 0) (LREF 2 6 2) (CALL 2)", -") ((((LREF 0 30 7) (PROC 1 0) (LREF 2 19 2) (CALL 2)) ((((LREF 0 26 3) (LREF 1 8", -" 1) (LREF 2 0 1) (CALL 2)) () () (1 . #f) 4)) () (1 . #f) 4)) () (1 . #f) 4)) ()", -" (1 . #f) 4)) () (1 . #f) 4)) () (1 . #f) 4)) (cons COND) (1 . #f) 5)) (cons) (1", -" . #f) 5)) (cons) (2 . #f) 5)) () (1 . #f) 4)) () (1 . #f) 3)) () (1 . #f) 5) ((", -"(PROC 0 0) (LREF 1 0 1) (LOADF 2) (CALL 2)) ((((PROC 0 0) (LSET 0 0 2) (LREF 0 0", -" 2) (LREF 1 0 1) (LOADI 2 0) (LREF 3 10 2) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (L", -"REF 2 0 3) (CALL 2)) ((((LREF 0 0 1) (COND 0 129) (LREF 0 1 1) (LOADU 1) (CALL 1", -") 129 (GREF 0 0) (PROC 1 0) (LREF 2 1 3) (CALL 2)) ((((LREF 0 19 2) (PROC 1 0) (", -"LREF 2 0 1) (LREF 3 2 2) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 3 2) (LOADI ", -"3 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 4 3) (CALL 2)) ((((LREF 0 6 2) (", -"LREF 1 5 1) (LREF 2 1 1) (LREF 3 0 1) (CALL 3)) () () (1 . #f) 5)) (cdr) (1 . #f", -") 4)) (+) (1 . #f) 5)) () (1 . #f) 5)) (car) (1 . #f) 4)) (null?) (3 . #f) 4)) (", -") (2 . #f) 5)) () (1 . #f) 4) (((GREF 0 0) (PROC 1 0) (LREF 2 9 2) (CALL 2)) (((", -"(GREF 0 0) (PROC 1 0) (LREF 2 0 1) (LOADI 3 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0", -") (LREF 2 0 1) (LOADN 3) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LOAD 2 1) (LREF 3 0", -" 1) (CALL 3)) ((((LREF 0 19 8) (LREF 1 11 1) (LREF 2 0 1) (CALL 2)) () () (1 . #", -"f) 4)) (cons CALL) (1 . #f) 5)) (cons) (1 . #f) 5)) (-) (1 . #f) 5)) (length) (1", -" . #f) 4)) (cadr) (1 . #f) 4)) () (1 . #f) 4)) (eqv? if) (1 . #f) 5)) () (1 . #f", -") 4)) (eqv? set!) (1 . #f) 5)) () (1 . #f) 4)) (eqv? ref) (2 . #f) 5)) () (1 . #", -"f) 4)) (car) (2 . #f) 4) (((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (CALL 2)) ((((PROC", -" 0 0) (LREF 1 1 1) (LREF 2 0 1) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 2) ", -"(LOAD 3 1) (CALL 3)) ((((PROC 0 0) (PROC 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 ", -"0 2) (COND 0 130) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 130 (LREF 0 0 1) (LOADF 1) ", -"(CALL 1)) () () (2 . #f) 3) (((LREF 0 0 1) (COND 0 131) (GREF 0 0) (PROC 1 0) (L", -"REF 2 4 2) (CALL 2) 131 (GREF 0 1) (PROC 1 1) (LREF 2 2 2) (LOAD 3 2) (CALL 3)) ", -"((((LREF 0 11 12) (PROC 1 0) (CALL 1)) ((((LREF 0 12 13) (PROC 1 0) (LREF 2 1 1)", -" (LREF 3 0 1) (CALL 3)) ((((PROC 0 0) (LREF 1 5 1) (LREF 2 0 1) (CALL 2)) ((((GR", -"EF 0 0) (PROC 1 0) (LREF 2 0 2) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LOAD 2 1) (L", -"REF 3 0 1) (CALL 3)) ((((LREF 0 0 1) (COND 0 132) (GREF 0 0) (PROC 1 0) (LREF 2 ", -"2 2) (CALL 2) 132 (GREF 0 1) (PROC 1 1) (LREF 2 2 2) (CALL 2)) ((((LREF 0 17 6) ", -"(PROC 1 0) (LREF 2 0 1) (CALL 2)) ((((PROC 0 0) (LREF 1 4 1) (LREF 2 0 1) (CALL ", -"2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (LOADN 3) (CALL 3)) ((((GREF 0 0) (PRO", -"C 1 0) (LREF 2 14 3) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LOAD 2 1) ", -"(LREF 3 0 1) (CALL 3)) ((((LREF 0 22 8) (LREF 1 3 1) (LREF 2 0 1) (CALL 2)) () (", -") (1 . #f) 4)) (cons GREF) (1 . #f) 5)) (cons) (1 . #f) 5)) (cons) (2 . #f) 5)) ", -"() (1 . #f) 4)) () (1 . #f) 4) (((GREF 0 0) (PROC 1 0) (LREF 2 11 3) (LREF 3 0 1", -") (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) ((((LREF ", -"0 19 8) (LREF 1 5 1) (LREF 2 0 1) (CALL 2)) () () (1 . #f) 4)) (cons LREF) (1 . ", -"#f) 5)) (cons) (1 . #f) 5)) (cadr cdr) (1 . #f) 4)) (eq? global) (1 . #f) 5)) (c", -"ar) (2 . #f) 4)) () (1 . #f) 4)) () (1 . #f) 5)) () (1 . #f) 3) (((PROC 0 0) (PR", -"OC 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 133) (LREF 0 0 1) (LREF 1", -" 0 2) (CALL 1) 133 (LREF 0 0 1) (LOADF 1) (CALL 1)) () () (2 . #f) 3) (((LREF 0 ", -"0 1) (COND 0 134) (GREF 0 0) (PROC 1 0) (LREF 2 6 2) (CALL 2) 134 (GREF 0 1) (PR", -"OC 1 1) (LREF 2 4 2) (LOAD 3 2) (CALL 3)) ((((PROC 0 0) (LREF 1 5 1) (LREF 2 0 1", -") (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LOADT 2) (LREF 3 0 2) (CALL 3)) ((((LREF 0", -" 0 1) (COND 0 135) (GREF 0 0) (PROC 1 0) (LREF 2 9 3) (LOADN 3) (CALL 3) 135 (GR", -"EF 0 1) (PROC 1 1) (LOADF 2) (LREF 3 1 2) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LO", -"AD 2 1) (LREF 3 0 1) (CALL 3)) ((((LREF 0 17 8) (LREF 1 3 1) (LREF 2 0 1) (CALL ", -"2)) () () (1 . #f) 4)) (cons LOADT) (1 . #f) 5) (((LREF 0 0 1) (COND 0 136) (GRE", -"F 0 0) (PROC 1 0) (LREF 2 10 3) (LOADN 3) (CALL 3) 136 (GREF 0 1) (PROC 1 1) (LR", -"EF 2 2 2) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) (", -"(((LREF 0 18 8) (LREF 1 4 1) (LREF 2 0 1) (CALL 2)) () () (1 . #f) 4)) (cons LOA", -"DF) (1 . #f) 5) (((LREF 0 0 1) (COND 0 137) (GREF 0 0) (PROC 1 0) (LREF 2 11 3) ", -"(LOADN 3) (CALL 3) 137 (GREF 0 1) (PROC 1 1) (LOADU 2) (LREF 3 3 2) (CALL 3)) ((", -"((GREF 0 0) (PROC 1 0) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) ((((LREF 0 19 8) (LREF ", -"1 5 1) (LREF 2 0 1) (CALL 2)) () () (1 . #f) 4)) (cons LOADN) (1 . #f) 5) (((LRE", -"F 0 0 1) (COND 0 138) (GREF 0 0) (PROC 1 0) (LREF 2 12 3) (LOADN 3) (CALL 3) 138", -" (PROC 0 1) (PROC 1 2) (CALL 1)) ((((GREF 0 0) (PROC 1 0) (LOAD 2 1) (LREF 3 0 1", -") (CALL 3)) ((((LREF 0 20 8) (LREF 1 6 1) (LREF 2 0 1) (CALL 2)) () () (1 . #f) ", -"4)) (cons LOADU) (1 . #f) 5) (((LREF 0 24 5) (PROC 1 0) (LREF 2 5 2) (CALL 2)) (", -"(((LREF 0 0 1) (COND 0 139) (GREF 0 0) (LREF 1 1 1) (LOADI 2 -127) (LREF 3 6 2) ", -"(LOADI 4 127) (CALL 4) 139 (LREF 0 1 1) (LOADF 1) (CALL 1)) () (<=) (1 . #f) 6))", -" () (1 . #f) 4) (((LREF 0 0 1) (COND 0 140) (GREF 0 0) (PROC 1 0) (LREF 2 5 2) (", -"LOADN 3) (CALL 3) 140 (LREF 0 19 6) (PROC 1 1) (LREF 2 5 2) (CALL 2)) ((((GREF 0", -" 0) (PROC 1 0) (LREF 2 14 3) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LO", -"AD 2 1) (LREF 3 0 1) (CALL 3)) ((((LREF 0 22 8) (LREF 1 8 1) (LREF 2 0 1) (CALL ", -"2)) () () (1 . #f) 4)) (cons LOADI) (1 . #f) 5)) (cons) (1 . #f) 5) (((PROC 0 0)", -" (LREF 1 6 1) (LREF 2 0 1) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (LOAD", -"N 3) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 16 3) (LREF 3 0 1) (CALL 3)) (((", -"(GREF 0 0) (PROC 1 0) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) ((((LREF 0 24 8) (LREF 1", -" 3 1) (LREF 2 0 1) (CALL 2)) () () (1 . #f) 4)) (cons LOAD) (1 . #f) 5)) (cons) ", -"(1 . #f) 5)) (cons) (2 . #f) 5)) () (1 . #f) 4)) (cons) (1 . #f) 5)) (cons) (1 .", -" #f) 5)) (cons eq?) (1 . #f) 5)) (cons null?) (1 . #f) 5)) (cons eq?) (1 . #f) 5", -")) (eq?) (2 . #f) 5)) () (1 . #f) 4) (((PROC 0 0) (PROC 1 1) (LREF 2 0 1) (CALL ", -"2)) ((((LREF 0 0 2) (COND 0 141) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 141 (LREF 0 ", -"0 1) (LOADF 1) (CALL 1)) () () (2 . #f) 3) (((LREF 0 0 1) (COND 0 142) (GREF 0 0", -") (PROC 1 0) (LREF 2 8 3) (LOADN 3) (CALL 3) 142 (GREF 0 1) (PROC 1 1) (LREF 2 6", -" 2) (LOAD 3 2) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LOAD 2 1) (LREF 3 0 1) (CALL ", -"3)) ((((LREF 0 16 8) (LREF 1 8 1) (LREF 2 0 1) (CALL 2)) () () (1 . #f) 4)) (con", -"s LOADU) (1 . #f) 5) (((PROC 0 0) (PROC 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0", -" 2) (COND 0 143) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 143 (LREF 0 0 1) (LOADF 1) (", -"CALL 1)) () () (2 . #f) 3) (((LREF 0 0 1) (COND 0 144) (PROC 0 0) (PROC 1 1) (CA", -"LL 1) 144 (LREF 0 8 1) (LOADU 1) (CALL 1)) ((((PROC 0 0) (LREF 1 0 1) (LOADF 2) ", -"(CALL 2)) ((((PROC 0 0) (LSET 0 0 2) (LREF 0 23 8) (PROC 1 1) (LREF 2 12 2) (CAL", -"L 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (CALL 2)) ((((PROC 0 0) (LREF 1 1 1)", -" (LREF 2 0 1) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (LOAD 3 1) (CALL 3", -")) ((((PROC 0 0) (PROC 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 145) ", -"(LREF 0 0 1) (LREF 1 0 2) (CALL 1) 145 (GREF 0 0) (PROC 1 0) (LREF 2 2 2) (LOAD ", -"3 1) (CALL 3)) ((((PROC 0 0) (LREF 1 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2)", -" (COND 0 146) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 146 (GREF 0 0) (PROC 1 0) (LREF", -" 2 4 2) (LOAD 3 1) (CALL 3)) ((((PROC 0 0) (LREF 1 1 1) (LREF 2 0 1) (CALL 2)) (", -"(((LREF 0 0 2) (COND 0 147) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 147 (GREF 0 0) (P", -"ROC 1 0) (LREF 2 6 2) (LOAD 3 1) (CALL 3)) ((((PROC 0 0) (LREF 1 1 1) (LREF 2 0 ", -"1) (CALL 2)) ((((LREF 0 0 2) (COND 0 148) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 148", -" (LREF 0 0 1) (LOADF 1) (CALL 1)) () () (2 . #f) 3)) () (1 . #f) 4)) (eqv? undef", -"ined) (2 . #f) 5)) () (1 . #f) 4)) (eqv? quote) (2 . #f) 5)) () (1 . #f) 4)) (eq", -"v? lambda) (2 . #f) 5) (((LREF 0 0 1) (COND 0 149) (LREF 0 2 1) (LOADI 1 1) (CAL", -"L 1) 149 (GREF 0 0) (PROC 1 0) (LREF 2 2 2) (LOAD 3 1) (CALL 3)) ((((PROC 0 0) (", -"PROC 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 150) (LREF 0 0 1) (LREF", -" 1 0 2) (CALL 1) 150 (LREF 0 0 1) (LOADF 1) (CALL 1)) () () (2 . #f) 3) (((LREF ", -"0 0 1) (COND 0 151) (LREF 0 30 8) (PROC 1 0) (LREF 2 6 2) (CALL 2) 151 (GREF 0 0", -") (PROC 1 1) (LREF 2 4 2) (LOAD 3 1) (CALL 3)) ((((LREF 0 8 2) (PROC 1 0) (LREF ", -"2 0 1) (CALL 2)) ((((LREF 0 32 7) (PROC 1 0) (LREF 2 8 2) (CALL 2)) ((((LREF 0 1", -"0 2) (PROC 1 0) (LREF 2 0 1) (CALL 2)) ((((LREF 0 34 6) (LREF 1 8 1) (LREF 2 2 1", -") (LREF 3 0 1) (CALL 3)) () () (1 . #f) 5)) () (1 . #f) 4)) () (1 . #f) 4)) () (", -"1 . #f) 4) (((PROC 0 0) (PROC 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND ", -"0 152) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 152 (LREF 0 0 1) (LOADF 1) (CALL 1)) (", -") () (2 . #f) 3) (((LREF 0 0 1) (COND 0 153) (LREF 0 32 7) (PROC 1 0) (LREF 2 8 ", -"2) (CALL 2) 153 (LOADT 0) (COND 0 154) (GREF 0 0) (PROC 1 1) (LREF 2 8 2) (CALL ", -"2) 154 (LREF 0 6 1) (LOADU 1) (CALL 1)) ((((LREF 0 10 2) (LREF 1 7 1) (LREF 2 0 ", -"1) (CALL 2)) () () (1 . #f) 4) (((GREF 0 0) (LREF 1 7 1) (LOADI 2 1) (LREF 3 0 1", -") (CALL 3)) () (+) (1 . #f) 5)) (length) (1 . #f) 4)) () (1 . #f) 4)) (eqv? set!", -") (1 . #f) 5)) () (1 . #f) 4)) (eqv? if) (1 . #f) 5)) () (1 . #f) 4)) (eqv? ref)", -" (2 . #f) 5)) () (1 . #f) 4)) (car) (2 . #f) 4) (((LREF 0 1 2) (LREF 1 1 1) (LRE", -"F 2 0 1) (CALL 2)) () () (1 . #f) 4)) () (2 . #f) 4)) () (1 . #f) 4) (((PROC 0 0", -") (PROC 1 1) (CALL 1)) ((((PROC 0 0) (LREF 1 0 1) (LOADF 2) (CALL 2)) ((((PROC 0", -" 0) (LSET 0 0 2) (GREF 0 0) (PROC 1 1) (LREF 2 13 2) (CALL 2)) ((((GREF 0 0) (PR", -"OC 1 0) (LREF 2 0 2) (CALL 2)) ((((LREF 0 0 1) (COND 0 155) (GREF 0 0) (LREF 1 1", -" 1) (LREF 2 1 3) (LOADT 3) (CALL 3) 155 (GREF 0 1) (PROC 1 0) (LREF 2 1 2) (CALL", -" 2)) ((((LREF 0 0 1) (COND 0 156) (GREF 0 0) (LREF 1 2 1) (LREF 2 2 3) (LOADF 3)", -" (CALL 3) 156 (GREF 0 1) (PROC 1 0) (LREF 2 2 2) (CALL 2)) ((((GREF 0 0) (PROC 1", -" 0) (LOADI 2 1) (LREF 3 3 3) (CALL 3)) ((((LREF 0 5 2) (LREF 1 4 1) (LREF 2 1 1)", -" (LREF 3 0 1) (CALL 3)) () () (1 . #f) 5)) (+) (1 . #f) 5)) (cons cdr) (1 . #f) ", -"5)) (cons null?) (1 . #f) 5)) (symbol?) (3 . #f) 4) (((LREF 0 1 2) (LREF 1 1 1) ", -"(LREF 2 0 1) (LOADI 3 0) (CALL 3)) () () (1 . #f) 5)) (cadr) (2 . #f) 4)) () (1 ", -". #f) 4) (((PROC 0 0) (LREF 1 10 1) (LREF 2 1 1) (LREF 3 0 1) (CALL 3)) ((((GREF", -" 0 0) (PROC 1 0) (LREF 2 19 11) (LOADN 3) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LR", -"EF 2 14 2) (CALL 2)) ((((LREF 0 21 12) (PROC 1 0) (CALL 1)) ((((GREF 0 0) (PROC ", -"1 0) (LREF 2 1 1) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 23 12)", -" (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 24 10) (LOADN 3) (CALL ", -"3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 25 9) (LOADN 3) (CALL 3)) ((((GREF 0 0) (PR", -"OC 1 0) (LREF 2 6 1) (LREF 3 2 1) (LREF 4 1 1) (LREF 5 0 1) (CALL 5)) ((((GREF 0", -" 0) (PROC 1 0) (LREF 2 0 1) (PROC 3 1) (CALL 3)) ((((PROC 0 0) (LREF 1 9 1) (LRE", -"F 2 0 1) (CALL 2)) ((((LREF 0 29 7) (PROC 1 0) (LREF 2 0 2) (CALL 2)) ((((PROC 0", -" 0) (LREF 1 1 1) (LREF 2 0 1) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (L", -"OADN 3) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 26 3) (LREF 3 0 1) (CALL 3)) ", -"((((GREF 0 0) (PROC 1 0) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) ((((LREF 0 34 8) (LRE", -"F 1 3 1) (LREF 2 0 1) (CALL 2)) () () (1 . #f) 4)) (cons PROC) (1 . #f) 5)) (con", -"s) (1 . #f) 5)) (cons) (2 . #f) 5)) () (1 . #f) 4)) () (2 . #f) 4)) () (1 . #f) ", -"4) (((LREF 0 33 8) (PROC 1 0) (LREF 2 22 2) (CALL 2)) ((((LREF 0 29 3) (PROC 1 0", -") (LREF 2 0 1) (CALL 2)) ((((LREF 0 30 11) (PROC 1 0) (CALL 1)) ((((GREF 0 0) (P", -"ROC 1 0) (LREF 2 0 1) (CALL 2)) ((((LREF 0 32 10) (PROC 1 0) (CALL 1)) ((((GREF ", -"0 0) (PROC 1 0) (LREF 2 0 1) (CALL 2)) ((((LREF 0 34 9) (PROC 1 0) (CALL 1)) (((", -"(GREF 0 0) (PROC 1 0) (LREF 2 0 1) (CALL 2)) ((((GREF 0 0) (LREF 1 8 1) (LREF 2 ", -"4 1) (LREF 3 2 1) (LREF 4 0 1) (LREF 5 17 3) (LREF 6 17 2) (CALL 6)) () (list) (", -"1 . #f) 8)) (reverse) (1 . #f) 4)) () (1 . #f) 3)) (reverse) (1 . #f) 4)) () (1 ", -". #f) 3)) (reverse) (1 . #f) 4)) () (1 . #f) 3)) () (1 . #f) 4)) () (1 . #f) 4))", -" (with-dynamic-environment) (1 . #f) 5)) (list) (1 . #f) 7)) (cons) (1 . #f) 5))", -" (cons) (1 . #f) 5)) (cons) (1 . #f) 5)) (cons) (1 . #f) 5)) () (1 . #f) 3)) (ca", -"dr) (1 . #f) 4)) (cons) (3 . #f) 5)) () (1 . #f) 5)) () (1 . #f) 3)) () (1 . #f)", -" 3)) () (1 . #f) 4)) (cons eqv? lambda) (1 . #f) 5)) () (1 . #f) 4)) (cadr eqv? ", -"undefined) (1 . #f) 5)) () (1 . #f) 4)) (cadr eqv? quote) (1 . #f) 5)) () (1 . #", -"f) 4)) (eqv? ref) (2 . #f) 5)) () (1 . #f) 4)) (car) (3 . #f) 4) (((GREF 0 0) (P", -"ROC 1 0) (LREF 2 6 11) (LOADN 3) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 7 12", -") (LOADN 3) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 8 10) (LOADN 3) (CALL 3))", -" ((((GREF 0 0) (PROC 1 0) (LREF 2 9 9) (LOADN 3) (CALL 3)) ((((GREF 0 0) (PROC 1", -" 0) (LREF 2 3 1) (LREF 3 2 1) (LREF 4 1 1) (LREF 5 0 1) (CALL 5)) ((((GREF 0 0) ", -"(LREF 1 5 1) (LREF 2 0 1) (PROC 3 0) (CALL 3)) ((((LREF 0 12 3) (PROC 1 0) (LREF", -" 2 6 2) (CALL 2)) ((((LREF 0 13 10) (PROC 1 0) (CALL 1)) ((((GREF 0 0) (LREF 1 2", -" 1) (LREF 2 0 1) (CALL 2)) () (car) (1 . #f) 4)) () (1 . #f) 3)) () (1 . #f) 4))", -" (with-dynamic-environment) (1 . #f) 5)) (list) (1 . #f) 7)) (cons) (1 . #f) 5))", -" (cons) (1 . #f) 5)) (cons) (1 . #f) 5)) (cons) (2 . #f) 5)) () (1 . #f) 3)) () ", -"(1 . #f) 4)) (make-parameter) (1 . #f) 4)) (make-parameter) (1 . #f) 4)) (make-p", -"arameter) (1 . #f) 4)) (make-parameter) (13 . #f) 4)) () (1 . #f) 15) (((LREF 0 ", -"0 1) (LSET 0 4 2) (LREF 0 4 1) (PROC 1 0) (CALL 1)) ((((LREF 0 5 4) (PROC 1 0) (", -"LREF 2 0 2) (CALL 2)) ((((LREF 0 6 3) (PROC 1 0) (LREF 2 0 1) (CALL 2)) ((((LREF", -" 0 7 2) (LREF 1 2 1) (LREF 2 0 1) (CALL 2)) () () (1 . #f) 4)) () (1 . #f) 4)) (", -") (2 . #f) 4)) () (1 . #f) 3)) () (1 . #f) 3)) () (1 . #f) 3)) () (1 . #f) 4)) (", -"make-parameter) (8 . #f) 4)) () (1 . #f) 10)) () (1 . #f) 3) (((LREF 0 0 2) (GSE", -"T 0 0) (LREF 0 0 1) (LOADU 1) (CALL 1)) () (compile) (2 . #f) 3)) (compile call-", -"with-values) (1 . #f) 5)) () (1 . #f) 3) (((PROC 0 0) (LREF 1 0 1) (CALL 1)) (((", -"(PROC 0 0) (LREF 1 0 1) (LOADF 2) (LOADF 3) (LOADF 4) (LOADF 5) (LOADF 6) (LOADF", -" 7) (LOADF 8) (LOADF 9) (LOADF 10) (LOADF 11) (LOADF 12) (LOADF 13) (LOADF 14) (", -"LOADF 15) (LOADF 16) (LOADF 17) (LOADF 18) (LOADF 19) (LOADF 20) (LOADF 21) (LOA", -"DF 22) (LOADF 23) (LOADF 24) (LOADF 25) (CALL 25)) ((((PROC 0 0) (LSET 0 0 25) (", -"PROC 0 1) (LSET 0 0 24) (PROC 0 2) (LSET 0 0 23) (PROC 0 3) (LSET 0 0 22) (PROC ", -"0 4) (LSET 0 0 21) (PROC 0 5) (LSET 0 0 20) (PROC 0 6) (PROC 1 7) (GREF 2 0) (CA", -"LL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (LREF 3 0 3) (CALL 3)) ((((GREF 0 0", -") (LREF 1 1 1) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) () (make-record identifier) (1 ", -". #f) 5)) (vector) (3 . #f) 5) (((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (CALL 2)) ((", -"((LREF 0 0 1) (COND 0 157) (GREF 0 0) (PROC 1 0) (LREF 2 1 2) (CALL 2) 157 (LREF", -" 0 1 1) (LOADF 1) (CALL 1)) ((((GREF 0 0) (LREF 1 2 1) (LREF 2 0 1) (LOAD 3 1) (", -"CALL 3)) () (eq? identifier) (1 . #f) 5)) (record-type) (1 . #f) 4)) (record?) (", -"2 . #f) 4) (((LREF 0 1 24) (PROC 1 0) (LREF 2 0 2) (CALL 2)) ((((LREF 0 0 1) (CO", -"ND 0 158) (GREF 0 0) (PROC 1 0) (LREF 2 1 2) (CALL 2) 158 (GREF 0 1) (LREF 1 1 1", -") (LOAD 2 2) (LREF 3 1 2) (LOAD 4 3) (CALL 4)) ((((GREF 0 0) (LREF 1 2 1) (LREF ", -"2 0 1) (LOADI 3 1) (CALL 3)) () (vector-ref) (1 . #f) 5)) (record-datum error \"r", -"ecord type mismatch\" identifier) (1 . #f) 6)) () (2 . #f) 4) (((LREF 0 1 24) (PR", -"OC 1 0) (LREF 2 0 2) (CALL 2)) ((((LREF 0 0 1) (COND 0 159) (GREF 0 0) (PROC 1 0", -") (LREF 2 1 2) (CALL 2) 159 (GREF 0 1) (LREF 1 1 1) (LOAD 2 2) (LREF 3 1 2) (LOA", -"D 4 3) (CALL 4)) ((((GREF 0 0) (LREF 1 2 1) (LREF 2 0 1) (LOADI 3 0) (CALL 3)) (", -") (vector-ref) (1 . #f) 5)) (record-datum error \"record type mismatch\" identifie", -"r) (1 . #f) 6)) () (2 . #f) 4) (((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (CALL 2)) ((", -"((PROC 0 0) (LREF 1 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 160) (LR", -"EF 0 0 1) (LREF 1 0 2) (CALL 1) 160 (LREF 0 3 24) (PROC 1 0) (LREF 2 2 2) (CALL ", -"2)) ((((PROC 0 0) (LREF 1 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 16", -"1) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 161 (LREF 0 0 1) (LOADF 1) (CALL 1)) () ()", -" (2 . #f) 3)) () (1 . #f) 4)) () (2 . #f) 4)) () (1 . #f) 4)) (symbol?) (2 . #f)", -" 4) (((PROC 0 0) (PROC 1 1) (CALL 1)) ((((GREF 0 0) (PROC 1 0) (LREF 2 1 2) (CAL", -"L 2)) ((((LREF 0 0 1) (COND 0 162) (GREF 0 0) (LREF 1 1 1) (LREF 2 2 3) (CALL 2)", -" 162 (LREF 0 1 1) (LOADF 1) (CALL 1)) () (symbol?) (1 . #f) 4)) (symbol?) (1 . #", -"f) 4) (((LREF 0 0 1) (COND 0 163) (GREF 0 0) (LREF 1 1 1) (LREF 2 1 2) (LREF 3 1", -" 3) (CALL 3) 163 (PROC 0 0) (PROC 1 1) (CALL 1)) ((((LREF 0 3 24) (PROC 1 0) (LR", -"EF 2 2 2) (CALL 2)) ((((LREF 0 0 1) (COND 0 164) (LREF 0 4 24) (LREF 1 1 1) (LRE", -"F 2 3 3) (CALL 2) 164 (LREF 0 1 1) (LOADF 1) (CALL 1)) () () (1 . #f) 4)) () (1 ", -". #f) 4) (((LREF 0 0 1) (COND 0 165) (LREF 0 3 22) (PROC 1 0) (LREF 2 2 2) (CALL", -" 2) 165 (LREF 0 2 1) (LOADF 1) (CALL 1)) ((((LREF 0 4 23) (PROC 1 0) (LREF 2 3 2", -") (CALL 2)) ((((LREF 0 5 13) (PROC 1 0) (LREF 2 1 1) (LREF 3 0 1) (CALL 3)) ((((", -"LREF 0 6 22) (PROC 1 0) (LREF 2 5 3) (CALL 2)) ((((LREF 0 7 23) (PROC 1 0) (LREF", -" 2 6 3) (CALL 2)) ((((LREF 0 8 13) (PROC 1 0) (LREF 2 1 1) (LREF 3 0 1) (CALL 3)", -") ((((GREF 0 0) (LREF 1 8 1) (LREF 2 3 1) (LREF 3 0 1) (CALL 3)) () (eq?) (1 . #", -"f) 5)) () (1 . #f) 5)) () (1 . #f) 4)) () (1 . #f) 4)) () (1 . #f) 5)) () (1 . #", -"f) 4)) () (1 . #f) 4)) (eq?) (1 . #f) 5)) () (3 . #f) 3) (((LREF 0 0 1) (PROC 1 ", -"0) (CALL 1)) ((((LREF 0 2 24) (PROC 1 0) (LREF 2 0 2) (CALL 2)) ((((LREF 0 0 1) ", -"(COND 0 166) (LREF 0 3 20) (LREF 1 1 1) (LREF 2 1 2) (LREF 3 1 3) (CALL 3) 166 (", -"LREF 0 2 2) (LREF 1 1 1) (LREF 2 1 2) (LREF 3 1 3) (CALL 3)) () () (1 . #f) 5)) ", -"() (3 . #f) 4)) () (2 . #f) 3) (((LREF 0 0 1) (GSET 0 0) (PROC 0 0) (LSET 0 1 19", -") (PROC 0 1) (LSET 0 1 18) (PROC 0 2) (LSET 0 1 17) (PROC 0 3) (LSET 0 1 16) (PR", -"OC 0 4) (LSET 0 1 15) (PROC 0 5) (LSET 0 1 14) (PROC 0 6) (LSET 0 1 13) (PROC 0 ", -"7) (PROC 1 8) (LOADI 2 0) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (LREF ", -"3 0 3) (LREF 4 0 4) (CALL 4)) ((((GREF 0 0) (LREF 1 1 1) (LOAD 2 1) (LREF 3 0 1)", -" (CALL 3)) () (make-record environment) (1 . #f) 5)) (vector) (4 . #f) 6) (((GRE", -"F 0 0) (PROC 1 0) (LREF 2 0 2) (CALL 2)) ((((LREF 0 0 1) (COND 0 167) (GREF 0 0)", -" (PROC 1 0) (LREF 2 1 2) (CALL 2) 167 (LREF 0 1 1) (LOADF 1) (CALL 1)) ((((GREF ", -"0 0) (LREF 1 2 1) (LREF 2 0 1) (LOAD 3 1) (CALL 3)) () (eq? environment) (1 . #f", -") 5)) (record-type) (1 . #f) 4)) (record?) (2 . #f) 4) (((LREF 0 2 18) (PROC 1 0", -") (LREF 2 0 2) (CALL 2)) ((((LREF 0 0 1) (COND 0 168) (GREF 0 0) (PROC 1 0) (LRE", -"F 2 1 2) (CALL 2) 168 (GREF 0 1) (LREF 1 1 1) (LOAD 2 2) (LREF 3 1 2) (LOAD 4 3)", -" (CALL 4)) ((((GREF 0 0) (LREF 1 2 1) (LREF 2 0 1) (LOADI 3 2) (CALL 3)) () (vec", -"tor-ref) (1 . #f) 5)) (record-datum error \"record type mismatch\" environment) (1", -" . #f) 6)) () (2 . #f) 4) (((LREF 0 2 18) (PROC 1 0) (LREF 2 0 2) (CALL 2)) ((((", -"LREF 0 0 1) (COND 0 169) (GREF 0 0) (PROC 1 0) (LREF 2 1 2) (CALL 2) 169 (GREF 0", -" 1) (LREF 1 1 1) (LOAD 2 2) (LREF 3 1 2) (LOAD 4 3) (CALL 4)) ((((GREF 0 0) (LRE", -"F 1 2 1) (LREF 2 0 1) (LOADI 3 1) (CALL 3)) () (vector-ref) (1 . #f) 5)) (record", -"-datum error \"record type mismatch\" environment) (1 . #f) 6)) () (2 . #f) 4) (((", -"LREF 0 2 18) (PROC 1 0) (LREF 2 0 2) (CALL 2)) ((((LREF 0 0 1) (COND 0 170) (GRE", -"F 0 0) (PROC 1 0) (LREF 2 1 2) (CALL 2) 170 (GREF 0 1) (LREF 1 1 1) (LOAD 2 2) (", -"LREF 3 1 2) (LOAD 4 3) (CALL 4)) ((((GREF 0 0) (LREF 1 2 1) (LREF 2 0 1) (LOADI ", -"3 0) (CALL 3)) () (vector-ref) (1 . #f) 5)) (record-datum error \"record type mis", -"match\" environment) (1 . #f) 6)) () (2 . #f) 4) (((LREF 0 2 17) (PROC 1 0) (LREF", -" 2 0 3) (CALL 2)) ((((LREF 0 0 1) (LREF 1 1 1) (LREF 2 1 2) (CALL 2)) () () (1 .", -" #f) 4)) () (3 . #f) 4) (((LREF 0 2 14) (PROC 1 0) (LREF 2 0 2) (LREF 3 0 3) (CA", +")) ((((GREF 0 0) (PROC 1 0) (LREF 2 14 2) (CALL 2)) ((((LREF 0 17 5) (PROC 1 0) ", +"(LREF 2 0 1) (PROC 3 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 1) (LOADN 3", +") (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 3 1) (LREF 3 0 1) (CALL 3)) ((((GRE", +"F 0 0) (PROC 1 0) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LR", +"EF 2 19 3) (LOADN 3) (CALL 3)) ((((GREF 0 0) (LREF 1 7 1) (LREF 2 1 1) (LREF 3 0", +" 1) (CALL 3)) () (cons) (1 . #f) 5)) (cons) (1 . #f) 5)) (cons lambda) (1 . #f) ", +"5)) (cons) (1 . #f) 5)) (cons) (1 . #f) 5) (((LREF 0 22 8) (PROC 1 0) (LREF 2 16", +" 2) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 4 2) (LOADN 3) (CALL 3)) ((((GREF", +" 0 0) (PROC 1 0) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) ((((LREF 0 21 3) (PROC 1 0) (", +"LREF 2 2 1) (LREF 3 0 1) (CALL 3)) ((((LREF 0 26 7) (PROC 1 0) (LREF 2 20 2) (CA", +"LL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 8 2) (LOADN 3) (CALL 3)) ((((GREF 0 0) (", +"PROC 1 0) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) ((((LREF 0 25 3) (PROC 1 0) (LREF 2 ", +"2 1) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 1) (LOADN 3) (CAL", +"L 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 5 1) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0)", +" (PROC 1 0) (LREF 2 10 2) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (LREF 1 11 1) (LO", +"AD 2 1) (LREF 3 0 1) (CALL 3)) () (cons if) (1 . #f) 5)) (cons) (1 . #f) 5)) (co", +"ns) (1 . #f) 5)) (cons) (1 . #f) 5)) () (1 . #f) 5)) (cons ref) (1 . #f) 5)) (co", +"ns) (1 . #f) 5)) () (1 . #f) 4)) () (1 . #f) 5)) (cons ref) (1 . #f) 5)) (cons) ", +"(1 . #f) 5)) () (2 . #f) 4)) () (1 . #f) 5)) (cadr) (1 . #f) 4)) (cons) (2 . #f)", +" 5)) () (1 . #f) 4) (((LREF 0 14 5) (LREF 1 10 1) (LREF 2 0 1) (PROC 3 0) (CALL ", +"3)) ((((LREF 0 19 8) (PROC 1 0) (LREF 2 13 2) (CALL 2)) ((((LREF 0 16 3) (PROC 1", +" 0) (LREF 2 0 1) (LREF 3 14 3) (CALL 3)) ((((LREF 0 21 7) (PROC 1 0) (LREF 2 15 ", +"2) (CALL 2)) ((((LREF 0 18 3) (PROC 1 0) (LREF 2 0 1) (LREF 3 16 3) (CALL 3)) ((", +"((GREF 0 0) (PROC 1 0) (LREF 2 0 1) (LOADN 3) (CALL 3)) ((((GREF 0 0) (PROC 1 0)", +" (LREF 2 3 1) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 6 2) (LREF", +" 3 0 1) (CALL 3)) ((((GREF 0 0) (LREF 1 7 1) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) (", +") (cons if) (1 . #f) 5)) (cons) (1 . #f) 5)) (cons) (1 . #f) 5)) (cons) (1 . #f)", +" 5)) () (1 . #f) 5)) () (1 . #f) 4)) () (1 . #f) 5)) () (2 . #f) 4)) () (1 . #f)", +" 5)) (cadr) (1 . #f) 4) (((LREF 0 13 5) (LREF 1 9 1) (LREF 2 0 1) (PROC 3 0) (CA", +"LL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 12 2) (CALL 2)) ((((LREF 0 15 4) (LREF 1", +" 1 1) (LREF 2 0 1) (PROC 3 0) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (L", +"OADN 3) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 15 3) (LREF 3 0 1) (CALL 3)) ", +"((((GREF 0 0) (LREF 1 2 1) (LREF 2 4 2) (LREF 3 0 1) (CALL 3)) () (cons) (1 . #f", +") 5)) (cons) (1 . #f) 5)) (append) (2 . #f) 5)) () (1 . #f) 5)) (cdr) (2 . #f) 4", +")) () (1 . #f) 5)) (car) (1 . #f) 4)) () (1 . #f) 4)) (eqv? if) (1 . #f) 5)) () ", +"(1 . #f) 4)) (cadr eqv? set!) (1 . #f) 5)) () (1 . #f) 4)) (eqv? begin) (1 . #f)", +" 5)) () (1 . #f) 4)) (eqv? ref) (2 . #f) 5)) () (1 . #f) 4)) (car) (3 . #f) 4) (", +"((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (CALL 2)) ((((PROC 0 0) (LREF 1 1 1) (LREF 2", +" 0 1) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (LOAD 3 1) (CALL 3)) ((((P", +"ROC 0 0) (PROC 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 108) (LREF 0 ", +"0 1) (LREF 1 0 2) (CALL 1) 108 (GREF 0 0) (PROC 1 0) (LREF 2 2 2) (LOAD 3 1) (CA", "LL 3)) ((((PROC 0 0) (LREF 1 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0", -" 171) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 171 (LREF 0 4 15) (PROC 1 0) (LREF 2 2 ", -"3) (CALL 2)) ((((PROC 0 0) (PROC 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (CO", -"ND 0 172) (LREF 0 6 13) (LREF 1 0 1) (LREF 2 4 2) (LREF 3 0 2) (CALL 3) 172 (GRE", -"F 0 0) (PROC 1 0) (LREF 2 4 2) (CALL 2)) ((((LREF 0 0 1) (COND 0 173) (LREF 0 7 ", -"12) (LREF 1 1 1) (LREF 2 5 2) (LREF 3 5 3) (CALL 3) 173 (LREF 0 7 22) (PROC 1 0)", -" (LREF 2 5 2) (CALL 2)) ((((LREF 0 8 23) (PROC 1 0) (LREF 2 6 2) (CALL 2)) ((((L", -"REF 0 9 13) (LREF 1 3 1) (LREF 2 1 1) (LREF 3 0 1) (CALL 3)) () () (1 . #f) 5)) ", -"() (1 . #f) 4)) () (1 . #f) 5)) (symbol?) (2 . #f) 5) (((PROC 0 0) (LREF 1 2 1) ", -"(LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 174) (LREF 0 0 1) (LREF 1 0 2) (C", -"ALL 1) 174 (LREF 0 0 1) (LOADF 1) (CALL 1)) () () (2 . #f) 3)) () (1 . #f) 4)) (", -") (1 . #f) 4)) () (2 . #f) 4)) () (1 . #f) 4)) () (3 . #f) 5) (((LREF 0 0 1) (PR", -"OC 1 0) (CALL 1)) ((((PROC 0 0) (LREF 1 0 1) (LREF 2 1 2) (CALL 2)) ((((GREF 0 0", -") (PROC 1 0) (LREF 2 2 2) (LOADI 3 1) (CALL 3)) ((((LREF 0 0 1) (LSET 0 3 2) (PR", -"OC 0 0) (PROC 1 1) (CALL 1)) ((((PROC 0 0) (LREF 1 0 1) (LOADF 2) (CALL 2)) ((((", -"PROC 0 0) (LSET 0 0 2) (LREF 0 0 2) (LREF 1 0 1) (LREF 2 4 2) (CALL 2)) ((((GREF", -" 0 0) (PROC 1 0) (LREF 2 0 2) (CALL 2)) ((((LREF 0 0 1) (COND 0 175) (LREF 0 1 1", -") (LREF 1 1 2) (CALL 1) 175 (LREF 0 9 22) (PROC 1 0) (LREF 2 1 2) (CALL 2)) ((((", -"LREF 0 3 2) (LREF 1 2 1) (LREF 2 0 1) (CALL 2)) () () (1 . #f) 4)) () (1 . #f) 4", -")) (symbol?) (2 . #f) 4)) () (2 . #f) 4)) () (1 . #f) 4) (((GREF 0 0) (PROC 1 0)", -" (LREF 2 0 1) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 3 2) (CALL 2)) ((((GREF", -" 0 0) (PROC 1 0) (LOAD 2 1) (LREF 3 1 1) (LOAD 4 2) (LREF 5 0 1) (CALL 5)) ((((G", -"REF 0 0) (LREF 1 5 1) (LREF 2 0 1) (CALL 2)) () (string->symbol) (1 . #f) 4)) (s", -"tring-append \".\" \".\") (1 . #f) 7)) (number->string) (1 . #f) 4)) (symbol->string", -") (1 . #f) 4)) () (1 . #f) 3)) (+) (2 . #f) 5)) () (2 . #f) 4)) () (2 . #f) 3) (", -"((PROC 0 0) (PROC 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 1) (PROC 1 0) (CALL 1", -")) ((((LREF 0 4 14) (PROC 1 0) (LREF 2 0 2) (LREF 3 0 3) (CALL 3)) ((((PROC 0 0)", -" (LREF 1 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 176) (LREF 0 0 1) (", -"LREF 1 0 2) (CALL 1) 176 (PROC 0 0) (PROC 1 1) (CALL 1)) ((((PROC 0 0) (PROC 1 1", -") (CALL 1)) ((((LREF 0 8 15) (PROC 1 0) (LREF 2 4 3) (CALL 2)) ((((GREF 0 0) (PR", -"OC 1 0) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 1) (COND 0 177) (GREF 0 0) (LREF 1 2", -" 1) (LREF 2 6 2) (CALL 2) 177 (LREF 0 2 1) (LOADF 1) (CALL 1)) () (symbol?) (1 .", -" #f) 4)) (not) (1 . #f) 4)) () (1 . #f) 4) (((LREF 0 0 1) (COND 0 178) (LREF 0 8", -" 16) (PROC 1 0) (LREF 2 4 3) (CALL 2) 178 (LREF 0 5 2) (PROC 1 1) (LREF 2 4 2) (", -"CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 5 2) (CALL 2)) ((((GREF 0 0) (PROC 1 0", -") (LREF 2 1 1) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (LREF 1 4 1) (LREF 2 0 1) (C", -"ALL 2)) () (string->symbol) (1 . #f) 4)) (string-append) (1 . #f) 5)) (symbol->s", -"tring) (1 . #f) 4) (((PROC 0 0) (LREF 1 2 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 1", -"0 11) (PROC 1 0) (LREF 2 6 2) (LREF 3 0 2) (LREF 4 6 3) (CALL 4)) ((((LREF 0 1 1", -") (LREF 1 1 2) (CALL 1)) () () (1 . #f) 3)) () (2 . #f) 6)) () (1 . #f) 4)) () (", -"1 . #f) 4)) () (1 . #f) 3) (((PROC 0 0) (LREF 1 1 1) (LREF 2 0 1) (CALL 2)) ((((", -"LREF 0 0 2) (COND 0 179) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 179 (LREF 0 0 1) (LO", -"ADF 1) (CALL 1)) () () (2 . #f) 3)) () (1 . #f) 4)) () (2 . #f) 3)) () (1 . #f) ", -"4)) () (3 . #f) 5)) () (2 . #f) 3) (((LREF 0 0 1) (LSET 0 3 12) (PROC 0 0) (LSET", -" 0 3 11) (PROC 0 1) (LSET 0 3 10) (GREF 0 0) (PROC 1 2) (LOAD 2 1) (CALL 2)) (((", -"(LREF 0 4 17) (PROC 1 0) (LREF 2 0 4) (CALL 2)) ((((LREF 0 0 1) (LREF 1 1 1) (LR", -"EF 2 1 2) (LREF 3 1 3) (CALL 3)) () () (1 . #f) 5)) () (4 . #f) 4) (((GREF 0 0) ", -"(PROC 1 0) (LREF 2 0 2) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (CALL 1)) ((((LREF 0 ", -"6 19) (LREF 1 2 1) (LOADF 2) (LREF 3 1 1) (LREF 4 0 1) (CALL 4)) () () (1 . #f) ", -"6)) (make-ephemeron-table) (1 . #f) 3)) (symbol->string) (2 . #f) 4) (((LREF 0 4", -" 10) (PROC 1 0) (LREF 2 0 1) (CALL 2)) ((((PROC 0 0) (PROC 1 1) (LREF 2 0 1) (CA", -"LL 2)) ((((GREF 0 0) (PROC 1 0) (LOAD 2 1) (LOADN 3) (CALL 3)) ((((GREF 0 0) (PR", -"OC 1 0) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LOAD 2 1) (L", -"REF 3 0 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) ", -"((((GREF 0 0) (PROC 1 0) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (PROC 1", -" 0) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LOAD 2 1) (LREF ", -"3 0 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (PROC 2 1) (LREF 3 0 1) (CALL 3)) ((((", -"LREF 0 8 1) (LREF 1 8 2) (CALL 1)) () () (1 . #f) 3) (((LREF 0 14 11) (LREF 1 0 ", -"1) (LREF 2 0 2) (LREF 3 0 2) (LREF 4 8 2) (CALL 4)) () () (2 . #f) 6)) (for-each", -") (1 . #f) 5)) (cons core#define) (1 . #f) 5)) (cons core#set!) (1 . #f) 5)) (co", -"ns core#quote) (1 . #f) 5)) (cons core#lambda) (1 . #f) 5)) (cons core#if) (1 . ", -"#f) 5)) (cons core#begin) (1 . #f) 5)) (cons core#define-macro) (2 . #f) 5) (((L", -"REF 0 0 1) (LSET 0 6 9) (PROC 0 0) (LSET 0 6 8) (GREF 0 0) (PROC 1 1) (CALL 1)) ", -"((((GREF 0 0) (PROC 1 0) (CALL 1)) ((((LREF 0 8 19) (LREF 1 1 1) (LREF 2 1 2) (L", -"OADF 3) (LREF 4 0 1) (CALL 4)) () () (1 . #f) 6)) (make-ephemeron-table) (2 . #f", -") 3) (((LREF 0 0 1) (LSET 0 7 7) (PROC 0 0) (LSET 0 7 6) (PROC 0 1) (LSET 0 7 5)", -" (PROC 0 2) (LSET 0 7 4) (PROC 0 3) (LSET 0 7 3) (GREF 0 0) (PROC 1 4) (LOADN 2)", -" (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 8 7) (LREF 3 0 2) (CALL 3)) ((((LREF", -" 0 0 1) (COND 0 180) (GREF 0 0) (LREF 1 1 1) (LREF 2 9 7) (LREF 3 1 2) (CALL 3) ", -"180 (LREF 0 1 1) (LOADF 1) (CALL 1)) () (dictionary-ref) (1 . #f) 5)) (dictionar", -"y-has?) (2 . #f) 5) (((GREF 0 0) (LREF 1 0 1) (LREF 2 8 7) (LREF 3 0 2) (LREF 4 ", -"0 3) (CALL 4)) () (dictionary-set!) (3 . #f) 6) (((GREF 0 0) (PROC 1 0) (LREF 2 ", -"8 7) (LREF 3 0 2) (CALL 3)) ((((LREF 0 0 1) (COND 0 181) (GREF 0 0) (LREF 1 1 1)", -" (LREF 2 9 7) (LREF 3 1 2) (CALL 3) 181 (LREF 0 1 1) (LOADU 1) (CALL 1)) () (dic", -"tionary-delete!) (1 . #f) 5)) (dictionary-has?) (2 . #f) 5) (((LREF 0 0 1) (LREF", -" 1 8 7) (CALL 1)) () () (1 . #f) 3) (((PROC 0 0) (PROC 1 1) (LREF 2 0 1) (CALL 2", -")) ((((PROC 0 0) (LREF 1 0 1) (LOADF 2) (LOADF 3) (LOADF 4) (LOADF 5) (LOADF 6) ", -"(LOADF 7) (LOADF 8) (LOADF 9) (LOADF 10) (LOADF 11) (LOADF 12) (LOADF 13) (LOADF", -" 14) (CALL 14)) ((((PROC 0 0) (LSET 0 0 14) (PROC 0 1) (LSET 0 0 13) (PROC 0 2) ", -"(LSET 0 0 12) (PROC 0 3) (LSET 0 0 11) (PROC 0 4) (LSET 0 0 10) (PROC 0 5) (LSET", -" 0 0 9) (PROC 0 6) (LSET 0 0 8) (PROC 0 7) (LSET 0 0 7) (PROC 0 8) (LSET 0 0 6) ", -"(PROC 0 9) (LSET 0 0 5) (PROC 0 10) (LSET 0 0 4) (PROC 0 11) (LSET 0 0 3) (PROC ", -"0 12) (LSET 0 0 2) (LREF 0 0 1) (LREF 1 0 2) (CALL 1)) ((((GREF 0 0) (PROC 1 0) ", -"(LOADF 2) (LOADF 3) (CALL 3)) ((((PROC 0 0) (LREF 1 1 1) (LREF 2 0 1) (CALL 2)) ", -"((((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (LREF 3 2 2) (CALL 3)) ((((LREF 0 5 2) (PR", -"OC 1 0) (CALL 1)) ((((GREF 0 0) (PROC 1 0) (LREF 2 1 1) (LREF 3 0 1) (CALL 3)) (", -"(((LREF 0 7 2) (PROC 1 0) (LREF 2 0 1) (CALL 2)) ((((LREF 0 4 1) (LREF 1 4 2) (C", -"ALL 1)) () () (1 . #f) 3)) () (1 . #f) 4)) (cons) (1 . #f) 5)) () (1 . #f) 3)) (", -"cons) (2 . #f) 5)) () (1 . #f) 4)) (cons) (2 . #f) 5) (((LREF 0 2 2) (PROC 1 0) ", -"(CALL 1)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 1) (CALL 2)) ((((GREF 0 0) (LREF 1 ", -"2 1) (PROC 2 0) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (CA", -"LL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 1 2) (CALL 2)) ((((PROC 0 0) (LREF 1 2 1", -") (LREF 2 1 1) (LREF 3 0 1) (CALL 3)) ((((LREF 0 0 2) (PROC 1 0) (CALL 1)) ((((P", -"ROC 0 0) (LREF 1 1 1) (LREF 2 0 1) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 ", -"2) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 3 3) (LREF 3 0 1) (CALL 3)) ((((GR", -"EF 0 0) (PROC 1 0) (LREF 2 2 2) (CALL 2)) ((((GREF 0 0) (LREF 1 3 1) (LREF 2 5 3", -") (LREF 3 0 1) (CALL 3)) () (set-cdr!) (1 . #f) 5)) (cdr) (1 . #f) 4)) (set-car!", -") (1 . #f) 5)) (car) (2 . #f) 4)) () (1 . #f) 4)) () (3 . #f) 3)) () (1 . #f) 5)", -") (car) (1 . #f) 4)) (cdr) (2 . #f) 4)) (for-each) (1 . #f) 5)) (reverse) (1 . #", -"f) 4)) () (1 . #f) 3) (((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (CALL 2)) ((((GREF 0 ", -"0) (LREF 1 1 1) (LREF 2 0 1) (CALL 2)) () (car) (1 . #f) 4)) (cddr) (2 . #f) 4) ", -"(((GREF 0 0) (PROC 1 0) (LREF 2 0 3) (CALL 2)) ((((LREF 0 0 1) (COND 0 182) (LRE", -"F 0 1 1) (LREF 1 1 3) (CALL 1) 182 (GREF 0 0) (PROC 1 0) (LREF 2 1 3) (CALL 2)) ", -"((((LREF 0 0 1) (COND 0 183) (GREF 0 0) (PROC 1 0) (LREF 2 2 3) (CALL 2) 183 (LR", -"EF 0 2 2) (LREF 1 2 1) (LREF 2 2 3) (CALL 2)) ((((LREF 0 3 2) (PROC 1 0) (LREF 2", -" 0 1) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 4 3) (CALL 2)) ((((LREF 0 6 11)", -" (PROC 1 0) (LREF 2 5 2) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (LREF 1 6 1) (LREF", -" 2 2 1) (LREF 3 0 1) (CALL 3)) () (cons) (1 . #f) 5)) () (1 . #f) 5)) (cdr) (1 .", -" #f) 4)) () (1 . #f) 4)) (car) (1 . #f) 4)) (pair?) (1 . #f) 4)) (null?) (3 . #f", -") 4) (((LREF 0 11 21) (PROC 1 0) (LREF 2 0 2) (CALL 2)) ((((PROC 0 0) (PROC 1 1)", -" (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 184) (LREF 0 0 1) (LREF 1 0 2) (", -"CALL 1) 184 (GREF 0 0) (PROC 1 0) (LREF 2 2 2) (CALL 2)) ((((PROC 0 0) (LREF 1 1", -" 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 185) (LREF 0 0 1) (LREF 1 0 2", -") (CALL 1) 185 (LREF 0 0 1) (LOADF 1) (CALL 1)) () () (2 . #f) 3)) () (1 . #f) 4", -")) (pair?) (2 . #f) 4) (((GREF 0 0) (LREF 1 2 1) (LREF 2 0 1) (CALL 2)) () (not)", -" (1 . #f) 4)) () (1 . #f) 4)) () (2 . #f) 4) (((GREF 0 0) (PROC 1 0) (LREF 2 0 2", -") (CALL 2)) ((((LREF 0 0 1) (COND 0 186) (GREF 0 0) (PROC 1 0) (LREF 2 1 2) (CAL", -"L 2) 186 (LREF 0 1 1) (LOADF 1) (CALL 1)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 1) ", -"(CALL 2)) ((((LREF 0 0 1) (COND 0 187) (GREF 0 0) (PROC 1 0) (LREF 2 3 2) (CALL ", -"2) 187 (LREF 0 3 1) (LOADF 1) (CALL 1)) ((((LREF 0 15 21) (LREF 1 4 1) (LREF 2 0", -" 1) (CALL 2)) () () (1 . #f) 4)) (car) (1 . #f) 4)) (not) (1 . #f) 4)) (null?) (", -"1 . #f) 4)) (list?) (2 . #f) 4) (((LREF 0 11 13) (PROC 1 0) (LREF 2 0 2) (LREF 3", -" 0 3) (CALL 3)) ((((PROC 0 0) (LREF 1 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 13 ", -"6) (PROC 1 0) (LREF 2 0 2) (CALL 2)) ((((PROC 0 0) (LREF 1 1 1) (LREF 2 0 1) (CA", -"LL 2)) ((((LREF 0 0 2) (COND 0 188) (LREF 0 0 2) (PROC 1 0) (LREF 2 4 2) (LREF 3", -" 4 3) (CALL 3) 188 (LREF 0 0 1) (LREF 1 2 2) (CALL 1)) ((((LREF 0 6 3) (LREF 1 1", -" 1) (LREF 2 0 1) (LREF 3 5 3) (CALL 3)) () () (1 . #f) 5)) () (2 . #f) 5)) () (1", -" . #f) 4)) () (2 . #f) 4)) () (1 . #f) 4)) () (3 . #f) 5) (((GREF 0 0) (PROC 1 0", -") (LREF 2 0 2) (LOADN 3) (CALL 3)) ((((GREF 0 0) (LREF 1 1 1) (LOAD 2 1) (LREF 3", -" 0 1) (CALL 3)) () (cons core#quote) (1 . #f) 5)) (cons) (2 . #f) 5) (((LREF 0 1", -"1 12) (PROC 1 0) (LREF 2 0 2) (LREF 3 0 4) (CALL 3)) ((((PROC 0 0) (LREF 1 1 1) ", -"(LREF 2 0 1) (CALL 2)) ((((LREF 0 13 4) (PROC 1 0) (LREF 2 0 2) (CALL 2)) ((((LR", -"EF 0 4 3) (PROC 1 0) (LREF 2 3 3) (LREF 3 3 4) (CALL 3)) ((((GREF 0 0) (PROC 1 0", -") (LREF 2 0 1) (LOADN 3) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 3 2) (LREF 3", -" 0 1) (CALL 3)) ((((GREF 0 0) (LREF 1 4 1) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) () ", -"(cons core#define) (1 . #f) 5)) (cons) (1 . #f) 5)) (cons) (1 . #f) 5)) () (1 . ", -"#f) 5)) () (2 . #f) 4)) () (1 . #f) 4)) () (4 . #f) 5) (((LREF 0 11 8) (PROC 1 0", -") (LREF 2 0 4) (CALL 2)) ((((PROC 0 0) (LREF 1 1 1) (LREF 2 0 1) (CALL 2)) ((((L", -"REF 0 3 11) (PROC 1 0) (PROC 2 1) (LREF 3 2 2) (CALL 3)) ((((PROC 0 0) (LREF 1 1", -" 1) (LREF 2 0 1) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 6 2) (LOADN 3) (CALL", -" 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 1) (CALL 2)) ((((GREF 0 0) (LREF 1 2 1) ", -"(LREF 2 0 1) (PROC 3 0) (CALL 3)) ((((LREF 0 8 3) (PROC 1 0) (LREF 2 7 3) (LREF ", -"3 5 2) (CALL 3)) ((((PROC 0 0) (LREF 1 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 10", -" 13) (PROC 1 0) (CALL 1)) ((((GREF 0 0) (PROC 1 0) (LREF 2 1 2) (LOADN 3) (CALL ", -"3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 7 2) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (", -"LREF 1 3 1) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) () (cons core#lambda) (1 . #f) 5))", -" (cons) (1 . #f) 5)) (cons) (1 . #f) 5)) () (2 . #f) 3)) () (1 . #f) 4)) () (1 .", -" #f) 5)) (with-dynamic-environment) (1 . #f) 5)) (list) (1 . #f) 4)) (cons) (2 .", -" #f) 5)) () (1 . #f) 4) (((LREF 0 14 12) (LREF 1 0 1) (LREF 2 0 2) (LREF 3 1 2) ", -"(CALL 3)) () () (2 . #f) 5)) () (2 . #f) 5)) () (1 . #f) 4)) () (4 . #f) 4) (((L", -"REF 0 11 12) (PROC 1 0) (LREF 2 0 2) (LREF 3 0 4) (CALL 3)) ((((PROC 0 0) (LREF ", -"1 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 3 2) (PROC 1 0) (LREF 2 2 3) (LREF 3 2 ", -"4) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 1) (CALL 2)) ((((PROC 0 0) (LREF", -" 1 2 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 16 5) (PROC 1 0) (LREF 2 3 2) (LREF 3 ", -"0 2) (CALL 3)) ((((LREF 0 1 1) (LOADU 1) (CALL 1)) () () (1 . #f) 3)) () (2 . #f", -") 5)) () (1 . #f) 4)) (load) (1 . #f) 4)) () (2 . #f) 5)) () (1 . #f) 4)) () (4 ", -". #f) 5) (((LREF 0 1 10) (PROC 1 0) (LREF 2 0 2) (CALL 2)) ((((LREF 0 0 1) (COND", -" 0 189) (LREF 0 1 1) (LREF 1 1 2) (CALL 1) 189 (LREF 0 12 21) (PROC 1 0) (LREF 2", -" 1 2) (CALL 2)) ((((LREF 0 0 1) (COND 0 190) (LREF 0 3 8) (LREF 1 2 1) (LREF 2 2", -" 2) (LREF 3 2 3) (CALL 3) 190 (LREF 0 3 9) (PROC 1 0) (LREF 2 2 2) (CALL 2)) (((", -"(LREF 0 0 1) (COND 0 191) (GREF 0 0) (PROC 1 0) (LREF 2 3 2) (CALL 2) 191 (GREF ", -"0 1) (PROC 1 1) (LREF 2 3 2) (CALL 2)) ((((LREF 0 15 13) (PROC 1 0) (LREF 2 0 1)", -" (LREF 3 4 3) (CALL 3)) ((((PROC 0 0) (LREF 1 5 1) (LREF 2 0 1) (CALL 2)) ((((PR", -"OC 0 0) (LREF 1 0 1) (LREF 2 0 2) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 2", -") (LOAD 3 1) (CALL 3)) ((((PROC 0 0) (PROC 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF ", -"0 0 2) (COND 0 192) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 192 (LREF 0 0 1) (LOADF 1", -") (CALL 1)) () () (2 . #f) 3) (((LREF 0 0 1) (COND 0 193) (GREF 0 0) (PROC 1 0) ", -"(LREF 2 9 2) (CALL 2) 193 (GREF 0 1) (PROC 1 1) (LREF 2 2 2) (LOAD 3 2) (CALL 3)", -") ((((LREF 0 11 7) (LREF 1 3 1) (LREF 2 0 1) (CALL 2)) () () (1 . #f) 4) (((PROC", -" 0 0) (PROC 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 194) (LREF 0 0 1", -") (LREF 1 0 2) (CALL 1) 194 (LREF 0 0 1) (LOADF 1) (CALL 1)) () () (2 . #f) 3) (", -"((LREF 0 0 1) (COND 0 195) (GREF 0 0) (PROC 1 0) (LREF 2 11 2) (CALL 2) 195 (GRE", -"F 0 1) (PROC 1 1) (LREF 2 4 2) (LOAD 3 2) (CALL 3)) ((((LREF 0 13 12) (PROC 1 0)", -" (LREF 2 12 2) (CALL 2)) ((((LREF 0 14 6) (LREF 1 6 1) (LREF 2 1 1) (LREF 3 0 1)", -" (LREF 4 13 3) (CALL 4)) () () (1 . #f) 6)) () (1 . #f) 4) (((PROC 0 0) (PROC 1 ", -"1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 196) (LREF 0 0 1) (LREF 1 0 2)", -" (CALL 1) 196 (LREF 0 0 1) (LOADF 1) (CALL 1)) () () (2 . #f) 3) (((LREF 0 0 1) ", -"(COND 0 197) (LREF 0 14 14) (LREF 1 6 1) (PROC 2 0) (CALL 2) 197 (GREF 0 0) (PRO", -"C 1 1) (LREF 2 6 2) (LOAD 3 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 14 2) ", -"(CALL 2)) ((((LREF 0 16 12) (PROC 1 0) (LREF 2 15 2) (CALL 2)) ((((LREF 0 17 5) ", -"(LREF 1 2 1) (LREF 2 1 1) (LREF 3 0 1) (LREF 4 16 3) (CALL 4)) () () (1 . #f) 6)", -") () (1 . #f) 4)) (cadr) (1 . #f) 4) (((PROC 0 0) (PROC 1 1) (LREF 2 0 1) (CALL ", -"2)) ((((LREF 0 0 2) (COND 0 198) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 198 (LREF 0 ", -"0 1) (LOADF 1) (CALL 1)) () () (2 . #f) 3) (((LREF 0 0 1) (COND 0 199) (GREF 0 0", -") (PROC 1 0) (LREF 2 15 2) (CALL 2) 199 (LOADT 0) (COND 0 200) (LREF 0 26 6) (PR", -"OC 1 1) (LREF 2 9 2) (CALL 2) 200 (LREF 0 8 1) (LOADU 1) (CALL 1)) ((((LREF 0 17", -" 12) (PROC 1 0) (LREF 2 16 2) (CALL 2)) ((((LREF 0 18 4) (LREF 1 10 1) (LREF 2 1", -" 1) (LREF 3 0 1) (LREF 4 17 3) (CALL 4)) () () (1 . #f) 6)) () (1 . #f) 4) (((PR", -"OC 0 0) (LREF 1 9 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 201) (LREF 0", -" 0 2) (PROC 1 0) (LREF 2 17 2) (LREF 3 17 3) (CALL 3) 201 (GREF 0 0) (LREF 1 0 1", -") (PROC 2 1) (LREF 3 17 2) (CALL 3)) ((((LREF 0 19 3) (LREF 1 1 1) (LREF 2 0 1) ", -"(LREF 3 18 3) (CALL 3)) () () (1 . #f) 5) (((LREF 0 19 3) (LREF 1 0 1) (LREF 2 0", -" 2) (LREF 3 18 3) (CALL 3)) () () (2 . #f) 5)) (map) (2 . #f) 5)) () (1 . #f) 4)", -") (cadr) (1 . #f) 4)) () (1 . #f) 4)) (eqv? core#define-macro) (1 . #f) 5)) () (", -"1 . #f) 4)) (cadr eqv? core#lambda) (1 . #f) 5)) () (1 . #f) 4)) (cadr eqv? core", -"#define) (1 . #f) 5)) () (1 . #f) 4)) (eqv? core#quote) (2 . #f) 5)) () (2 . #f)", -" 4)) () (1 . #f) 4)) () (1 . #f) 5) (((LREF 0 0 1) (COND 0 202) (GREF 0 0) (LREF", -" 1 4 1) (PROC 2 0) (LREF 3 4 2) (CALL 3) 202 (GREF 0 1) (LREF 1 4 1) (LOAD 2 2) ", -"(LREF 3 4 2) (CALL 3)) ((((LREF 0 6 3) (LREF 1 0 1) (LREF 2 0 2) (LREF 3 5 3) (C", -"ALL 3)) () () (2 . #f) 5)) (map error \"invalid expression\") (1 . #f) 5)) (car li", -"st?) (1 . #f) 4)) () (1 . #f) 5)) () (1 . #f) 4)) () (3 . #f) 4) (((LREF 0 1 3) ", -"(PROC 1 0) (LREF 2 0 2) (LREF 3 0 3) (CALL 3)) ((((PROC 0 0) (LREF 1 1 1) (LREF ", -"2 0 1) (CALL 2)) ((((LREF 0 3 13) (PROC 1 0) (CALL 1)) ((((LREF 0 1 1) (LREF 1 1", -" 2) (CALL 1)) () () (1 . #f) 3)) () (2 . #f) 3)) () (1 . #f) 4)) () (3 . #f) 5))", -" () (14 . #f) 3)) () (2 . #f) 16) (((LREF 0 0 1) (LSET 0 9 2) (GREF 0 0) (LREF 1", -" 9 1) (LREF 2 9 25) (LREF 3 9 21) (LREF 4 9 20) (LREF 5 9 22) (LREF 6 9 23) (LRE", -"F 7 9 10) (LREF 8 9 9) (LREF 9 9 18) (LREF 10 9 13) (LREF 11 9 12) (LREF 12 9 11", -") (LREF 13 9 3) (LREF 14 9 2) (CALL 14)) () (values) (1 . #f) 16)) () (1 . #f) 4", -")) (make-parameter) (1 . #f) 4)) (make-dictionary) (1 . #f) 3)) () (1 . #f) 4)) ", -"() (1 . #f) 4)) (string->symbol \"\") (1 . #f) 4)) () (1 . #f) 4)) (equal?) (1 . #", -"f) 4)) (equal?) (25 . #f) 4)) () (1 . #f) 27)) () (1 . #f) 3) (((LREF 0 0 2) (GS", -"ET 0 0) (LREF 0 0 3) (GSET 0 1) (LREF 0 0 4) (GSET 0 2) (LREF 0 0 5) (GSET 0 3) ", -"(LREF 0 0 6) (GSET 0 4) (LREF 0 0 7) (GSET 0 5) (LREF 0 0 8) (GSET 0 6) (LREF 0 ", -"0 9) (GSET 0 7) (LREF 0 0 10) (GSET 0 8) (LREF 0 0 11) (GSET 0 9) (LREF 0 0 12) ", -"(GSET 0 10) (LREF 0 0 13) (GSET 0 11) (LREF 0 0 14) (GSET 0 12) (LREF 0 0 1) (LO", -"ADU 1) (CALL 1)) () (make-identifier identifier? identifier=? identifier-name id", -"entifier-environment make-environment default-environment environment? find-iden", -"tifier add-identifier! set-identifier! macro-objects expand) (14 . #f) 3)) (make", -"-identifier identifier? identifier=? identifier-name identifier-environment make", -"-environment default-environment environment? find-identifier add-identifier! se", -"t-identifier! macro-objects expand call-with-values) (1 . #f) 5)", +" 109) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 109 (LREF 0 0 1) (LOADF 1) (CALL 1)) ()", +" () (2 . #f) 3)) () (1 . #f) 4)) (eqv? quote) (2 . #f) 5) (((LREF 0 0 1) (COND 0", +" 110) (LREF 0 2 1) (LREF 1 4 2) (CALL 1) 110 (GREF 0 0) (PROC 1 0) (LREF 2 2 2) ", +"(LOAD 3 1) (CALL 3)) ((((PROC 0 0) (PROC 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 ", +"0 2) (COND 0 111) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 111 (LREF 0 0 1) (LOADF 1) ", +"(CALL 1)) () () (2 . #f) 3) (((LREF 0 0 1) (COND 0 112) (LREF 0 8 6) (PROC 1 0) ", +"(CALL 1) 112 (LREF 0 4 1) (LOADU 1) (CALL 1)) ((((PROC 0 0) (LREF 1 5 1) (LREF 2", +" 0 1) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 8 2) (CALL 2)) ((((GREF 0 0) (P", +"ROC 1 0) (LREF 2 1 2) (LREF 3 0 1) (CALL 3)) ((((LREF 0 16 8) (PROC 1 0) (LREF 2", +" 10 2) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 3 2) (LOADN 3) (CALL 3)) ((((G", +"REF 0 0) (PROC 1 0) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) ((((LREF 0 15 3) (PROC 1 0", +") (LREF 2 2 1) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 1) (LOA", +"DN 3) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 5 1) (LREF 3 0 1) (CALL 3)) (((", +"(GREF 0 0) (LREF 1 8 1) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) () (cons lambda) (1 . ", +"#f) 5)) (cons) (1 . #f) 5)) (cons) (1 . #f) 5)) () (1 . #f) 5)) (cons ref) (1 . ", +"#f) 5)) (cons) (1 . #f) 5)) () (1 . #f) 4)) (cons) (1 . #f) 5)) (cadr) (2 . #f) ", +"4)) () (1 . #f) 4)) () (1 . #f) 3)) () (1 . #f) 4)) (eqv? lambda) (1 . #f) 5)) (", +") (1 . #f) 4)) (eqv? ref) (2 . #f) 5)) () (1 . #f) 4)) (car) (2 . #f) 4) (((LREF", +" 0 2 6) (PROC 1 0) (CALL 1)) ((((PROC 0 0) (LREF 1 1 1) (LREF 2 0 1) (CALL 2)) (", +"(((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (LOADN 3) (CALL 3)) ((((GREF 0 0) (PROC 1 0", +") (LREF 2 1 2) (LOADN 3) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LOAD 2 1) (LREF 3 0", +" 1) (CALL 3)) ((((LREF 0 7 3) (PROC 1 0) (LREF 2 5 2) (LREF 3 0 1) (CALL 3)) (((", +"(GREF 0 0) (PROC 1 0) (LREF 2 0 1) (LOADN 3) (CALL 3)) ((((GREF 0 0) (PROC 1 0) ", +"(LREF 2 4 1) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (LREF 1 6 1) (LOAD 2 1) (LREF ", +"3 0 1) (CALL 3)) () (cons lambda) (1 . #f) 5)) (cons) (1 . #f) 5)) (cons) (1 . #", +"f) 5)) () (1 . #f) 5)) (cons ref) (1 . #f) 5)) (cons) (1 . #f) 5)) (cons) (2 . #", +"f) 5)) () (1 . #f) 4)) () (2 . #f) 3)) () (1 . #f) 3)) () (6 . #f) 4)) () (1 . #", +"f) 8) (((LREF 0 0 1) (LSET 0 3 3) (PROC 0 0) (PROC 1 1) (CALL 1)) ((((PROC 0 0) ", +"(LREF 1 0 1) (LOADF 2) (LOADF 3) (LOADF 4) (LOADF 5) (LOADF 6) (LOADF 7) (LOADF ", +"8) (LOADF 9) (LOADF 10) (LOADF 11) (LOADF 12) (LOADF 13) (CALL 13)) ((((PROC 0 0", +") (LSET 0 0 13) (GREF 0 0) (PROC 1 1) (LOADN 2) (CALL 2)) ((((PROC 0 0) (LREF 1 ", +"0 1) (CALL 1)) ((((PROC 0 0) (LREF 1 0 1) (LOADF 2) (CALL 2)) ((((PROC 0 0) (LSE", +"T 0 0 2) (LREF 0 0 2) (LREF 1 0 1) (LOADI 2 0) (LREF 3 2 3) (CALL 3)) ((((GREF 0", +" 0) (PROC 1 0) (LREF 2 0 3) (CALL 2)) ((((LREF 0 0 1) (COND 0 113) (GREF 0 0) (P", +"ROC 1 0) (LREF 2 4 2) (LOADN 3) (CALL 3) 113 (PROC 0 1) (LREF 1 1 1) (CALL 1)) (", +"(((GREF 0 0) (LREF 1 2 1) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) () (cons global) (1 ", +". #f) 5) (((PROC 0 0) (LREF 1 0 1) (LOADF 2) (CALL 2)) ((((PROC 0 0) (LSET 0 0 2", +") (GREF 0 0) (PROC 1 1) (LREF 2 3 3) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 ", +"0 3) (CALL 2)) ((((LREF 0 0 1) (COND 0 114) (GREF 0 0) (PROC 1 0) (LREF 2 8 2) (", +"LREF 3 1 3) (CALL 3) 114 (GREF 0 1) (PROC 1 1) (LREF 2 1 3) (CALL 2)) ((((LREF 0", +" 0 1) (COND 0 115) (GREF 0 0) (PROC 1 0) (LREF 2 2 2) (LOADN 3) (CALL 3) 115 (GR", +"EF 0 1) (PROC 1 1) (LREF 2 6 2) (LOADI 3 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (", +"LREF 2 7 2) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (LREF 1 4 1) (LOAD 2 1) (LREF 3", +" 0 1) (CALL 3)) () (cons local) (1 . #f) 5)) (cons) (1 . #f) 5) (((GREF 0 0) (PR", +"OC 1 0) (LREF 2 7 3) (CALL 2)) ((((LREF 0 9 2) (LREF 1 4 1) (LREF 2 1 1) (LREF 3", +" 0 1) (CALL 3)) () () (1 . #f) 5)) (cdr) (1 . #f) 4)) (cons +) (1 . #f) 5) (((LR", +"EF 0 0 1) (COND 0 116) (GREF 0 0) (PROC 1 0) (LREF 2 6 2) (LOADI 3 1) (CALL 3) 1", +"16 (GREF 0 1) (PROC 1 1) (LREF 2 2 3) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2", +" 7 3) (CALL 2)) ((((LREF 0 9 2) (LREF 1 4 1) (LREF 2 1 1) (LREF 3 0 1) (CALL 3))", +" () () (1 . #f) 5)) (cdr) (1 . #f) 4) (((GREF 0 0) (PROC 1 0) (LREF 2 10 2) (LRE", +"F 3 0 1) (CALL 3)) ((((LREF 0 0 1) (COND 0 117) (GREF 0 0) (PROC 1 0) (LREF 2 4 ", +"2) (LOADN 3) (CALL 3) 117 (GREF 0 1) (PROC 1 1) (LREF 2 4 2) (LOADI 3 1) (CALL 3", +")) ((((GREF 0 0) (PROC 1 0) (LREF 2 9 2) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (L", +"REF 1 6 1) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) () (cons local) (1 . #f) 5)) (cons)", +" (1 . #f) 5) (((GREF 0 0) (PROC 1 0) (LREF 2 5 3) (CALL 2)) ((((LREF 0 7 2) (LRE", +"F 1 6 1) (LREF 2 1 1) (LREF 3 0 1) (CALL 3)) () () (1 . #f) 5)) (cdr) (1 . #f) 4", +")) (cons +) (1 . #f) 5)) (eq?) (1 . #f) 5)) (+ car) (1 . #f) 5)) (eq? null?) (1 ", +". #f) 5)) (symbol?) (3 . #f) 4) (((LREF 0 1 2) (LREF 1 1 1) (LOADI 2 1) (LREF 3 ", +"0 1) (CALL 3)) () () (1 . #f) 5)) (car) (2 . #f) 4)) () (1 . #f) 4)) (cons) (1 .", +" #f) 5)) (null?) (3 . #f) 4)) () (2 . #f) 5)) () (1 . #f) 4)) () (3 . #f) 3) (((", +"LREF 0 0 1) (LSET 0 1 12) (GREF 0 0) (PROC 1 0) (LOADN 2) (CALL 2)) ((((LREF 0 0", +" 1) (LSET 0 2 11) (GREF 0 0) (PROC 1 0) (LOADN 2) (CALL 2)) ((((LREF 0 0 1) (LSE", +"T 0 3 10) (GREF 0 0) (PROC 1 0) (LOADN 2) (CALL 2)) ((((LREF 0 0 1) (LSET 0 4 9)", +" (PROC 0 0) (LSET 0 4 8) (PROC 0 1) (LSET 0 4 7) (PROC 0 2) (LSET 0 4 6) (PROC 0", +" 3) (PROC 1 4) (LOADI 2 0) (CALL 2)) ((((LREF 0 5 11) (PROC 1 0) (CALL 1)) ((((G", +"REF 0 0) (PROC 1 0) (LREF 2 1 2) (LREF 3 0 1) (CALL 3)) ((((LREF 0 7 11) (LREF 1", +" 2 1) (LREF 2 0 1) (CALL 2)) () () (1 . #f) 4)) (cons) (1 . #f) 5)) () (2 . #f) ", +"3) (((LREF 0 5 10) (PROC 1 0) (CALL 1)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 1) (C", +"ALL 2)) ((((PROC 0 0) (LREF 1 2 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 8 10) (PROC", +" 1 0) (CALL 1)) ((((GREF 0 0) (PROC 1 0) (LREF 2 4 2) (LREF 3 0 1) (CALL 3)) (((", +"(LREF 0 10 10) (PROC 1 0) (LREF 2 0 1) (CALL 2)) ((((LREF 0 3 1) (LREF 1 3 2) (C", +"ALL 1)) () () (1 . #f) 3)) () (1 . #f) 4)) (cons) (1 . #f) 5)) () (2 . #f) 3)) (", +") (1 . #f) 4)) (length) (1 . #f) 4)) () (2 . #f) 3) (((LREF 0 5 9) (PROC 1 0) (C", +"ALL 1)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 1) (CALL 2)) ((((PROC 0 0) (LREF 1 2 ", +"1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 8 9) (PROC 1 0) (CALL 1)) ((((GREF 0 0) (PR", +"OC 1 0) (LREF 2 4 2) (LREF 3 0 1) (CALL 3)) ((((LREF 0 10 9) (PROC 1 0) (LREF 2 ", +"0 1) (CALL 2)) ((((LREF 0 3 1) (LREF 1 3 2) (CALL 1)) () () (1 . #f) 3)) () (1 .", +" #f) 4)) (cons) (1 . #f) 5)) () (2 . #f) 3)) () (1 . #f) 4)) (length) (1 . #f) 4", +")) () (2 . #f) 3) (((LREF 0 0 1) (PROC 1 0) (CALL 1)) ((((PROC 0 0) (LREF 1 0 1)", +" (LREF 2 1 2) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 2 2) (LOADI 3 1) (CALL ", +"3)) ((((LREF 0 0 1) (LSET 0 3 2) (LREF 0 1 1) (LREF 1 1 2) (CALL 1)) () () (1 . ", +"#f) 3)) (+) (2 . #f) 5)) () (1 . #f) 4)) () (2 . #f) 3) (((LREF 0 0 1) (LSET 0 5", +" 5) (PROC 0 0) (LSET 0 5 4) (PROC 0 1) (LSET 0 5 3) (PROC 0 2) (LSET 0 5 2) (LRE", +"F 0 5 1) (PROC 1 3) (CALL 1)) ((((LREF 0 6 11) (PROC 1 0) (CALL 1)) ((((GREF 0 0", +") (PROC 1 0) (LREF 2 1 2) (LREF 3 0 1) (CALL 3)) ((((LREF 0 8 11) (LREF 1 2 1) (", +"LREF 2 0 1) (CALL 2)) () () (1 . #f) 4)) (cons) (1 . #f) 5)) () (2 . #f) 3) (((G", +"REF 0 0) (PROC 1 0) (LREF 2 0 2) (CALL 2)) ((((PROC 0 0) (LREF 1 1 1) (LREF 2 0 ", +"1) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (LOAD 3 1) (CALL 3)) ((((PROC", +" 0 0) (PROC 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 118) (LREF 0 0 1", +") (LREF 1 0 2) (CALL 1) 118 (GREF 0 0) (PROC 1 0) (LREF 2 2 2) (LOAD 3 1) (CALL ", +"3)) ((((PROC 0 0) (LREF 1 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 11", +"9) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 119 (GREF 0 0) (PROC 1 0) (LREF 2 4 2) (LO", +"AD 3 1) (CALL 3)) ((((PROC 0 0) (LREF 1 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0", +" 2) (COND 0 120) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 120 (GREF 0 0) (PROC 1 0) (L", +"REF 2 6 2) (LOAD 3 1) (CALL 3)) ((((PROC 0 0) (LREF 1 1 1) (LREF 2 0 1) (CALL 2)", +") ((((LREF 0 0 2) (COND 0 121) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 121 (LREF 0 0 ", +"1) (LOADF 1) (CALL 1)) () () (2 . #f) 3)) () (1 . #f) 4)) (eqv? undefined) (2 . ", +"#f) 5)) () (1 . #f) 4)) (eqv? quote) (2 . #f) 5)) () (1 . #f) 4)) (eqv? lambda) ", +"(2 . #f) 5) (((LREF 0 0 1) (COND 0 122) (LREF 0 10 2) (LREF 1 2 1) (LREF 2 4 2) ", +"(LOADI 3 0) (CALL 3) 122 (GREF 0 0) (PROC 1 0) (LREF 2 2 2) (LOAD 3 1) (CALL 3))", +" ((((PROC 0 0) (PROC 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 123) (L", +"REF 0 0 1) (LREF 1 0 2) (CALL 1) 123 (LREF 0 0 1) (LOADF 1) (CALL 1)) () () (2 .", +" #f) 3) (((LREF 0 0 1) (COND 0 124) (LREF 0 17 8) (PROC 1 0) (LREF 2 6 2) (CALL ", +"2) 124 (GREF 0 0) (PROC 1 1) (LREF 2 4 2) (LOAD 3 1) (CALL 3)) ((((LREF 0 13 2) ", +"(PROC 1 0) (LREF 2 0 1) (LOADI 3 0) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 8", +" 2) (CALL 2)) ((((LREF 0 15 12) (PROC 1 0) (CALL 1)) ((((LREF 0 16 13) (PROC 1 0", +") (LREF 2 1 1) (LREF 3 0 1) (CALL 3)) ((((PROC 0 0) (PROC 1 1) (LREF 2 0 1) (CAL", +"L 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (", +"LOAD 2 1) (LREF 3 0 1) (CALL 3)) ((((LREF 0 0 1) (COND 0 125) (GREF 0 0) (PROC 1", +" 0) (LREF 2 2 2) (CALL 2) 125 (GREF 0 1) (PROC 1 1) (LREF 2 2 2) (CALL 2)) ((((L", +"REF 0 21 6) (PROC 1 0) (LREF 2 0 1) (CALL 2)) ((((PROC 0 0) (LREF 1 4 1) (LREF 2", +" 0 1) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (LOADN 3) (CALL 3)) ((((GR", +"EF 0 0) (PROC 1 0) (LOADI 2 0) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (", +"LOAD 2 1) (LREF 3 0 1) (CALL 3)) ((((LREF 0 26 8) (LREF 1 3 1) (LREF 2 0 1) (CAL", +"L 2)) () () (1 . #f) 4)) (cons GSET) (1 . #f) 5)) (cons) (1 . #f) 5)) (cons) (2 ", +". #f) 5)) () (1 . #f) 4)) () (1 . #f) 4) (((GREF 0 0) (PROC 1 0) (LOADI 2 0) (LR", +"EF 3 0 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) (", +"(((LREF 0 23 8) (LREF 1 5 1) (LREF 2 0 1) (CALL 2)) () () (1 . #f) 4)) (cons LSE", +"T) (1 . #f) 5)) (cons) (1 . #f) 5)) (cadr cdr) (1 . #f) 4)) (eq? global) (1 . #f", +") 5)) (car) (2 . #f) 4) (((LREF 0 23 7) (PROC 1 0) (LREF 2 12 2) (CALL 2)) ((((L", +"REF 0 19 3) (LREF 1 11 1) (LREF 2 0 1) (CALL 2)) () () (1 . #f) 4)) () (1 . #f) ", +"4)) () (1 . #f) 4)) () (1 . #f) 5)) () (1 . #f) 3)) (cadr) (1 . #f) 4)) () (1 . ", +"#f) 5) (((PROC 0 0) (PROC 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 12", +"6) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 126 (LREF 0 0 1) (LOADF 1) (CALL 1)) () ()", +" (2 . #f) 3) (((LREF 0 0 1) (COND 0 127) (GREF 0 0) (PROC 1 0) (LREF 2 8 2) (CAL", +"L 2) 127 (LOADT 0) (COND 0 128) (PROC 0 1) (PROC 1 2) (CALL 1) 128 (LREF 0 6 1) ", +"(LOADU 1) (CALL 1)) ((((LREF 0 15 2) (PROC 1 0) (LREF 2 0 1) (LOADI 3 0) (CALL 3", +")) ((((LREF 0 16 5) (PROC 1 0) (CALL 1)) ((((PROC 0 0) (LREF 1 9 1) (LREF 2 0 1)", +" (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (LOADN 3) (CALL 3)) ((((GREF 0 ", +"0) (PROC 1 0) (LOADI 2 0) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LOAD ", +"2 1) (LREF 3 0 1) (CALL 3)) ((((LREF 0 21 8) (PROC 1 0) (LREF 2 0 1) (CALL 2)) (", +"(((LREF 0 27 8) (PROC 1 0) (LREF 2 16 2) (CALL 2)) ((((LREF 0 23 3) (PROC 1 0) (", +"LREF 2 0 1) (CALL 2)) ((((LREF 0 24 4) (PROC 1 0) (LREF 2 6 2) (CALL 2)) ((((LRE", +"F 0 30 7) (PROC 1 0) (LREF 2 19 2) (CALL 2)) ((((LREF 0 26 3) (LREF 1 8 1) (LREF", +" 2 0 1) (CALL 2)) () () (1 . #f) 4)) () (1 . #f) 4)) () (1 . #f) 4)) () (1 . #f)", +" 4)) () (1 . #f) 4)) () (1 . #f) 4)) (cons COND) (1 . #f) 5)) (cons) (1 . #f) 5)", +") (cons) (2 . #f) 5)) () (1 . #f) 4)) () (1 . #f) 3)) () (1 . #f) 5) (((PROC 0 0", +") (LREF 1 0 1) (LOADF 2) (CALL 2)) ((((PROC 0 0) (LSET 0 0 2) (LREF 0 0 2) (LREF", +" 1 0 1) (LOADI 2 0) (LREF 3 10 2) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 3", +") (CALL 2)) ((((LREF 0 0 1) (COND 0 129) (LREF 0 1 1) (LOADU 1) (CALL 1) 129 (GR", +"EF 0 0) (PROC 1 0) (LREF 2 1 3) (CALL 2)) ((((LREF 0 19 2) (PROC 1 0) (LREF 2 0 ", +"1) (LREF 3 2 2) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 3 2) (LOADI 3 1) (CAL", +"L 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 4 3) (CALL 2)) ((((LREF 0 6 2) (LREF 1 5 ", +"1) (LREF 2 1 1) (LREF 3 0 1) (CALL 3)) () () (1 . #f) 5)) (cdr) (1 . #f) 4)) (+)", +" (1 . #f) 5)) () (1 . #f) 5)) (car) (1 . #f) 4)) (null?) (3 . #f) 4)) () (2 . #f", +") 5)) () (1 . #f) 4) (((GREF 0 0) (PROC 1 0) (LREF 2 9 2) (CALL 2)) ((((GREF 0 0", +") (PROC 1 0) (LREF 2 0 1) (LOADI 3 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2", +" 0 1) (LOADN 3) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LOAD 2 1) (LREF 3 0 1) (CALL", +" 3)) ((((LREF 0 19 8) (LREF 1 11 1) (LREF 2 0 1) (CALL 2)) () () (1 . #f) 4)) (c", +"ons CALL) (1 . #f) 5)) (cons) (1 . #f) 5)) (-) (1 . #f) 5)) (length) (1 . #f) 4)", +") (cadr) (1 . #f) 4)) () (1 . #f) 4)) (eqv? if) (1 . #f) 5)) () (1 . #f) 4)) (eq", +"v? set!) (1 . #f) 5)) () (1 . #f) 4)) (eqv? ref) (2 . #f) 5)) () (1 . #f) 4)) (c", +"ar) (2 . #f) 4) (((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (CALL 2)) ((((PROC 0 0) (LR", +"EF 1 1 1) (LREF 2 0 1) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (LOAD 3 1", +") (CALL 3)) ((((PROC 0 0) (PROC 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (CON", +"D 0 130) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 130 (LREF 0 0 1) (LOADF 1) (CALL 1))", +" () () (2 . #f) 3) (((LREF 0 0 1) (COND 0 131) (GREF 0 0) (PROC 1 0) (LREF 2 4 2", +") (CALL 2) 131 (GREF 0 1) (PROC 1 1) (LREF 2 2 2) (LOAD 3 2) (CALL 3)) ((((LREF ", +"0 11 12) (PROC 1 0) (CALL 1)) ((((LREF 0 12 13) (PROC 1 0) (LREF 2 1 1) (LREF 3 ", +"0 1) (CALL 3)) ((((PROC 0 0) (LREF 1 5 1) (LREF 2 0 1) (CALL 2)) ((((GREF 0 0) (", +"PROC 1 0) (LREF 2 0 2) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LOAD 2 1) (LREF 3 0 1", +") (CALL 3)) ((((LREF 0 0 1) (COND 0 132) (GREF 0 0) (PROC 1 0) (LREF 2 2 2) (CAL", +"L 2) 132 (GREF 0 1) (PROC 1 1) (LREF 2 2 2) (CALL 2)) ((((LREF 0 17 6) (PROC 1 0", +") (LREF 2 0 1) (CALL 2)) ((((PROC 0 0) (LREF 1 4 1) (LREF 2 0 1) (CALL 2)) ((((G", +"REF 0 0) (PROC 1 0) (LREF 2 0 2) (LOADN 3) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (L", +"REF 2 14 3) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LOAD 2 1) (LREF 3 0", +" 1) (CALL 3)) ((((LREF 0 22 8) (LREF 1 3 1) (LREF 2 0 1) (CALL 2)) () () (1 . #f", +") 4)) (cons GREF) (1 . #f) 5)) (cons) (1 . #f) 5)) (cons) (2 . #f) 5)) () (1 . #", +"f) 4)) () (1 . #f) 4) (((GREF 0 0) (PROC 1 0) (LREF 2 11 3) (LREF 3 0 1) (CALL 3", +")) ((((GREF 0 0) (PROC 1 0) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) ((((LREF 0 19 8) (", +"LREF 1 5 1) (LREF 2 0 1) (CALL 2)) () () (1 . #f) 4)) (cons LREF) (1 . #f) 5)) (", +"cons) (1 . #f) 5)) (cadr cdr) (1 . #f) 4)) (eq? global) (1 . #f) 5)) (car) (2 . ", +"#f) 4)) () (1 . #f) 4)) () (1 . #f) 5)) () (1 . #f) 3) (((PROC 0 0) (PROC 1 1) (", +"LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 133) (LREF 0 0 1) (LREF 1 0 2) (CA", +"LL 1) 133 (LREF 0 0 1) (LOADF 1) (CALL 1)) () () (2 . #f) 3) (((LREF 0 0 1) (CON", +"D 0 134) (GREF 0 0) (PROC 1 0) (LREF 2 6 2) (CALL 2) 134 (GREF 0 1) (PROC 1 1) (", +"LREF 2 4 2) (LOAD 3 2) (CALL 3)) ((((PROC 0 0) (LREF 1 5 1) (LREF 2 0 1) (CALL 2", +")) ((((GREF 0 0) (PROC 1 0) (LOADT 2) (LREF 3 0 2) (CALL 3)) ((((LREF 0 0 1) (CO", +"ND 0 135) (GREF 0 0) (PROC 1 0) (LREF 2 9 3) (LOADN 3) (CALL 3) 135 (GREF 0 1) (", +"PROC 1 1) (LOADF 2) (LREF 3 1 2) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LOAD 2 1) (", +"LREF 3 0 1) (CALL 3)) ((((LREF 0 17 8) (LREF 1 3 1) (LREF 2 0 1) (CALL 2)) () ()", +" (1 . #f) 4)) (cons LOADT) (1 . #f) 5) (((LREF 0 0 1) (COND 0 136) (GREF 0 0) (P", +"ROC 1 0) (LREF 2 10 3) (LOADN 3) (CALL 3) 136 (GREF 0 1) (PROC 1 1) (LREF 2 2 2)", +" (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) ((((LREF 0", +" 18 8) (LREF 1 4 1) (LREF 2 0 1) (CALL 2)) () () (1 . #f) 4)) (cons LOADF) (1 . ", +"#f) 5) (((LREF 0 0 1) (COND 0 137) (GREF 0 0) (PROC 1 0) (LREF 2 11 3) (LOADN 3)", +" (CALL 3) 137 (GREF 0 1) (PROC 1 1) (LOADU 2) (LREF 3 3 2) (CALL 3)) ((((GREF 0 ", +"0) (PROC 1 0) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) ((((LREF 0 19 8) (LREF 1 5 1) (L", +"REF 2 0 1) (CALL 2)) () () (1 . #f) 4)) (cons LOADN) (1 . #f) 5) (((LREF 0 0 1) ", +"(COND 0 138) (GREF 0 0) (PROC 1 0) (LREF 2 12 3) (LOADN 3) (CALL 3) 138 (PROC 0 ", +"1) (PROC 1 2) (CALL 1)) ((((GREF 0 0) (PROC 1 0) (LOAD 2 1) (LREF 3 0 1) (CALL 3", +")) ((((LREF 0 20 8) (LREF 1 6 1) (LREF 2 0 1) (CALL 2)) () () (1 . #f) 4)) (cons", +" LOADU) (1 . #f) 5) (((LREF 0 24 5) (PROC 1 0) (LREF 2 5 2) (CALL 2)) ((((LREF 0", +" 0 1) (COND 0 139) (GREF 0 0) (LREF 1 1 1) (LOADI 2 -127) (LREF 3 6 2) (LOADI 4 ", +"127) (CALL 4) 139 (LREF 0 1 1) (LOADF 1) (CALL 1)) () (<=) (1 . #f) 6)) () (1 . ", +"#f) 4) (((LREF 0 0 1) (COND 0 140) (GREF 0 0) (PROC 1 0) (LREF 2 5 2) (LOADN 3) ", +"(CALL 3) 140 (LREF 0 19 6) (PROC 1 1) (LREF 2 5 2) (CALL 2)) ((((GREF 0 0) (PROC", +" 1 0) (LREF 2 14 3) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LOAD 2 1) (", +"LREF 3 0 1) (CALL 3)) ((((LREF 0 22 8) (LREF 1 8 1) (LREF 2 0 1) (CALL 2)) () ()", +" (1 . #f) 4)) (cons LOADI) (1 . #f) 5)) (cons) (1 . #f) 5) (((PROC 0 0) (LREF 1 ", +"6 1) (LREF 2 0 1) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (LOADN 3) (CAL", +"L 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 16 3) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0", +") (PROC 1 0) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) ((((LREF 0 24 8) (LREF 1 3 1) (LR", +"EF 2 0 1) (CALL 2)) () () (1 . #f) 4)) (cons LOAD) (1 . #f) 5)) (cons) (1 . #f) ", +"5)) (cons) (2 . #f) 5)) () (1 . #f) 4)) (cons) (1 . #f) 5)) (cons) (1 . #f) 5)) ", +"(cons eq?) (1 . #f) 5)) (cons null?) (1 . #f) 5)) (cons eq?) (1 . #f) 5)) (eq?) ", +"(2 . #f) 5)) () (1 . #f) 4) (((PROC 0 0) (PROC 1 1) (LREF 2 0 1) (CALL 2)) ((((L", +"REF 0 0 2) (COND 0 141) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 141 (LREF 0 0 1) (LOA", +"DF 1) (CALL 1)) () () (2 . #f) 3) (((LREF 0 0 1) (COND 0 142) (GREF 0 0) (PROC 1", +" 0) (LREF 2 8 3) (LOADN 3) (CALL 3) 142 (GREF 0 1) (PROC 1 1) (LREF 2 6 2) (LOAD", +" 3 2) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) ((((L", +"REF 0 16 8) (LREF 1 8 1) (LREF 2 0 1) (CALL 2)) () () (1 . #f) 4)) (cons LOADU) ", +"(1 . #f) 5) (((PROC 0 0) (PROC 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND", +" 0 143) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 143 (LREF 0 0 1) (LOADF 1) (CALL 1)) ", +"() () (2 . #f) 3) (((LREF 0 0 1) (COND 0 144) (PROC 0 0) (PROC 1 1) (CALL 1) 144", +" (LREF 0 8 1) (LOADU 1) (CALL 1)) ((((PROC 0 0) (LREF 1 0 1) (LOADF 2) (CALL 2))", +" ((((PROC 0 0) (LSET 0 0 2) (LREF 0 23 8) (PROC 1 1) (LREF 2 12 2) (CALL 2)) (((", +"(GREF 0 0) (PROC 1 0) (LREF 2 0 2) (CALL 2)) ((((PROC 0 0) (LREF 1 1 1) (LREF 2 ", +"0 1) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (LOAD 3 1) (CALL 3)) ((((PR", +"OC 0 0) (PROC 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 145) (LREF 0 0", +" 1) (LREF 1 0 2) (CALL 1) 145 (GREF 0 0) (PROC 1 0) (LREF 2 2 2) (LOAD 3 1) (CAL", +"L 3)) ((((PROC 0 0) (LREF 1 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 ", +"146) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 146 (GREF 0 0) (PROC 1 0) (LREF 2 4 2) (", +"LOAD 3 1) (CALL 3)) ((((PROC 0 0) (LREF 1 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0", +" 0 2) (COND 0 147) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 147 (GREF 0 0) (PROC 1 0) ", +"(LREF 2 6 2) (LOAD 3 1) (CALL 3)) ((((PROC 0 0) (LREF 1 1 1) (LREF 2 0 1) (CALL ", +"2)) ((((LREF 0 0 2) (COND 0 148) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 148 (LREF 0 ", +"0 1) (LOADF 1) (CALL 1)) () () (2 . #f) 3)) () (1 . #f) 4)) (eqv? undefined) (2 ", +". #f) 5)) () (1 . #f) 4)) (eqv? quote) (2 . #f) 5)) () (1 . #f) 4)) (eqv? lambda", +") (2 . #f) 5) (((LREF 0 0 1) (COND 0 149) (LREF 0 2 1) (LOADI 1 1) (CALL 1) 149 ", +"(GREF 0 0) (PROC 1 0) (LREF 2 2 2) (LOAD 3 1) (CALL 3)) ((((PROC 0 0) (PROC 1 1)", +" (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 150) (LREF 0 0 1) (LREF 1 0 2) (", +"CALL 1) 150 (LREF 0 0 1) (LOADF 1) (CALL 1)) () () (2 . #f) 3) (((LREF 0 0 1) (C", +"OND 0 151) (LREF 0 30 8) (PROC 1 0) (LREF 2 6 2) (CALL 2) 151 (GREF 0 0) (PROC 1", +" 1) (LREF 2 4 2) (LOAD 3 1) (CALL 3)) ((((LREF 0 8 2) (PROC 1 0) (LREF 2 0 1) (C", +"ALL 2)) ((((LREF 0 32 7) (PROC 1 0) (LREF 2 8 2) (CALL 2)) ((((LREF 0 10 2) (PRO", +"C 1 0) (LREF 2 0 1) (CALL 2)) ((((LREF 0 34 6) (LREF 1 8 1) (LREF 2 2 1) (LREF 3", +" 0 1) (CALL 3)) () () (1 . #f) 5)) () (1 . #f) 4)) () (1 . #f) 4)) () (1 . #f) 4", +") (((PROC 0 0) (PROC 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 152) (L", +"REF 0 0 1) (LREF 1 0 2) (CALL 1) 152 (LREF 0 0 1) (LOADF 1) (CALL 1)) () () (2 .", +" #f) 3) (((LREF 0 0 1) (COND 0 153) (LREF 0 32 7) (PROC 1 0) (LREF 2 8 2) (CALL ", +"2) 153 (LOADT 0) (COND 0 154) (GREF 0 0) (PROC 1 1) (LREF 2 8 2) (CALL 2) 154 (L", +"REF 0 6 1) (LOADU 1) (CALL 1)) ((((LREF 0 10 2) (LREF 1 7 1) (LREF 2 0 1) (CALL ", +"2)) () () (1 . #f) 4) (((GREF 0 0) (LREF 1 7 1) (LOADI 2 1) (LREF 3 0 1) (CALL 3", +")) () (+) (1 . #f) 5)) (length) (1 . #f) 4)) () (1 . #f) 4)) (eqv? set!) (1 . #f", +") 5)) () (1 . #f) 4)) (eqv? if) (1 . #f) 5)) () (1 . #f) 4)) (eqv? ref) (2 . #f)", +" 5)) () (1 . #f) 4)) (car) (2 . #f) 4) (((LREF 0 1 2) (LREF 1 1 1) (LREF 2 0 1) ", +"(CALL 2)) () () (1 . #f) 4)) () (2 . #f) 4)) () (1 . #f) 4) (((PROC 0 0) (PROC 1", +" 1) (CALL 1)) ((((PROC 0 0) (LREF 1 0 1) (LOADF 2) (CALL 2)) ((((PROC 0 0) (LSET", +" 0 0 2) (GREF 0 0) (PROC 1 1) (LREF 2 13 2) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (", +"LREF 2 0 2) (CALL 2)) ((((LREF 0 0 1) (COND 0 155) (GREF 0 0) (LREF 1 1 1) (LREF", +" 2 1 3) (LOADT 3) (CALL 3) 155 (GREF 0 1) (PROC 1 0) (LREF 2 1 2) (CALL 2)) ((((", +"LREF 0 0 1) (COND 0 156) (GREF 0 0) (LREF 1 2 1) (LREF 2 2 3) (LOADF 3) (CALL 3)", +" 156 (GREF 0 1) (PROC 1 0) (LREF 2 2 2) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LOAD", +"I 2 1) (LREF 3 3 3) (CALL 3)) ((((LREF 0 5 2) (LREF 1 4 1) (LREF 2 1 1) (LREF 3 ", +"0 1) (CALL 3)) () () (1 . #f) 5)) (+) (1 . #f) 5)) (cons cdr) (1 . #f) 5)) (cons", +" null?) (1 . #f) 5)) (symbol?) (3 . #f) 4) (((LREF 0 1 2) (LREF 1 1 1) (LREF 2 0", +" 1) (LOADI 3 0) (CALL 3)) () () (1 . #f) 5)) (cadr) (2 . #f) 4)) () (1 . #f) 4) ", +"(((PROC 0 0) (LREF 1 10 1) (LREF 2 1 1) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (PR", +"OC 1 0) (LREF 2 19 11) (LOADN 3) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 14 2", +") (CALL 2)) ((((LREF 0 21 12) (PROC 1 0) (CALL 1)) ((((GREF 0 0) (PROC 1 0) (LRE", +"F 2 1 1) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 23 12) (LREF 3 ", +"0 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 24 10) (LOADN 3) (CALL 3)) ((((G", +"REF 0 0) (PROC 1 0) (LREF 2 25 9) (LOADN 3) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (", +"LREF 2 6 1) (LREF 3 2 1) (LREF 4 1 1) (LREF 5 0 1) (CALL 5)) ((((GREF 0 0) (PROC", +" 1 0) (LREF 2 0 1) (PROC 3 1) (CALL 3)) ((((PROC 0 0) (LREF 1 9 1) (LREF 2 0 1) ", +"(CALL 2)) ((((LREF 0 29 7) (PROC 1 0) (LREF 2 0 2) (CALL 2)) ((((PROC 0 0) (LREF", +" 1 1 1) (LREF 2 0 1) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (LOADN 3) (", +"CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 26 3) (LREF 3 0 1) (CALL 3)) ((((GREF ", +"0 0) (PROC 1 0) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) ((((LREF 0 34 8) (LREF 1 3 1) ", +"(LREF 2 0 1) (CALL 2)) () () (1 . #f) 4)) (cons PROC) (1 . #f) 5)) (cons) (1 . #", +"f) 5)) (cons) (2 . #f) 5)) () (1 . #f) 4)) () (2 . #f) 4)) () (1 . #f) 4) (((LRE", +"F 0 33 8) (PROC 1 0) (LREF 2 22 2) (CALL 2)) ((((LREF 0 29 3) (PROC 1 0) (LREF 2", +" 0 1) (CALL 2)) ((((LREF 0 30 11) (PROC 1 0) (CALL 1)) ((((GREF 0 0) (PROC 1 0) ", +"(LREF 2 0 1) (CALL 2)) ((((LREF 0 32 10) (PROC 1 0) (CALL 1)) ((((GREF 0 0) (PRO", +"C 1 0) (LREF 2 0 1) (CALL 2)) ((((LREF 0 34 9) (PROC 1 0) (CALL 1)) ((((GREF 0 0", +") (PROC 1 0) (LREF 2 0 1) (CALL 2)) ((((GREF 0 0) (LREF 1 8 1) (LREF 2 4 1) (LRE", +"F 3 2 1) (LREF 4 0 1) (LREF 5 17 3) (LREF 6 17 2) (CALL 6)) () (list) (1 . #f) 8", +")) (reverse) (1 . #f) 4)) () (1 . #f) 3)) (reverse) (1 . #f) 4)) () (1 . #f) 3))", +" (reverse) (1 . #f) 4)) () (1 . #f) 3)) () (1 . #f) 4)) () (1 . #f) 4)) (with-dy", +"namic-environment) (1 . #f) 5)) (list) (1 . #f) 7)) (cons) (1 . #f) 5)) (cons) (", +"1 . #f) 5)) (cons) (1 . #f) 5)) (cons) (1 . #f) 5)) () (1 . #f) 3)) (cadr) (1 . ", +"#f) 4)) (cons) (3 . #f) 5)) () (1 . #f) 5)) () (1 . #f) 3)) () (1 . #f) 3)) () (", +"1 . #f) 4)) (cons eqv? lambda) (1 . #f) 5)) () (1 . #f) 4)) (cadr eqv? undefined", +") (1 . #f) 5)) () (1 . #f) 4)) (cadr eqv? quote) (1 . #f) 5)) () (1 . #f) 4)) (e", +"qv? ref) (2 . #f) 5)) () (1 . #f) 4)) (car) (3 . #f) 4) (((GREF 0 0) (PROC 1 0) ", +"(LREF 2 6 11) (LOADN 3) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 7 12) (LOADN ", +"3) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 8 10) (LOADN 3) (CALL 3)) ((((GREF", +" 0 0) (PROC 1 0) (LREF 2 9 9) (LOADN 3) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF", +" 2 3 1) (LREF 3 2 1) (LREF 4 1 1) (LREF 5 0 1) (CALL 5)) ((((GREF 0 0) (LREF 1 5", +" 1) (LREF 2 0 1) (PROC 3 0) (CALL 3)) ((((LREF 0 12 3) (PROC 1 0) (LREF 2 6 2) (", +"CALL 2)) ((((LREF 0 13 10) (PROC 1 0) (CALL 1)) ((((GREF 0 0) (LREF 1 2 1) (LREF", +" 2 0 1) (CALL 2)) () (car) (1 . #f) 4)) () (1 . #f) 3)) () (1 . #f) 4)) (with-dy", +"namic-environment) (1 . #f) 5)) (list) (1 . #f) 7)) (cons) (1 . #f) 5)) (cons) (", +"1 . #f) 5)) (cons) (1 . #f) 5)) (cons) (2 . #f) 5)) () (1 . #f) 3)) () (1 . #f) ", +"4)) (make-parameter) (1 . #f) 4)) (make-parameter) (1 . #f) 4)) (make-parameter)", +" (1 . #f) 4)) (make-parameter) (13 . #f) 4)) () (1 . #f) 15) (((LREF 0 0 1) (LSE", +"T 0 4 2) (LREF 0 4 1) (PROC 1 0) (CALL 1)) ((((LREF 0 5 4) (PROC 1 0) (LREF 2 0 ", +"2) (CALL 2)) ((((LREF 0 6 3) (PROC 1 0) (LREF 2 0 1) (CALL 2)) ((((LREF 0 7 2) (", +"LREF 1 2 1) (LREF 2 0 1) (CALL 2)) () () (1 . #f) 4)) () (1 . #f) 4)) () (2 . #f", +") 4)) () (1 . #f) 3)) () (1 . #f) 3)) () (1 . #f) 3)) () (1 . #f) 4)) (make-para", +"meter) (8 . #f) 4)) () (1 . #f) 10)) () (1 . #f) 3) (((LREF 0 0 2) (GSET 0 0) (L", +"REF 0 0 1) (LOADU 1) (CALL 1)) () (compile) (2 . #f) 3)) (compile call-with-valu", +"es) (1 . #f) 5)) () (1 . #f) 3) (((PROC 0 0) (LREF 1 0 1) (CALL 1)) ((((PROC 0 0", +") (LREF 1 0 1) (LOADF 2) (LOADF 3) (LOADF 4) (LOADF 5) (LOADF 6) (LOADF 7) (LOAD", +"F 8) (LOADF 9) (LOADF 10) (LOADF 11) (LOADF 12) (LOADF 13) (LOADF 14) (LOADF 15)", +" (LOADF 16) (LOADF 17) (LOADF 18) (LOADF 19) (LOADF 20) (LOADF 21) (LOADF 22) (L", +"OADF 23) (LOADF 24) (LOADF 25) (CALL 25)) ((((PROC 0 0) (LSET 0 0 25) (PROC 0 1)", +" (LSET 0 0 24) (PROC 0 2) (LSET 0 0 23) (PROC 0 3) (LSET 0 0 22) (PROC 0 4) (LSE", +"T 0 0 21) (PROC 0 5) (LSET 0 0 20) (PROC 0 6) (PROC 1 7) (GREF 2 0) (CALL 2)) ((", +"((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (LREF 3 0 3) (CALL 3)) ((((GREF 0 0) (LREF 1", +" 1 1) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) () (make-record identifier) (1 . #f) 5))", +" (vector) (3 . #f) 5) (((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (CALL 2)) ((((LREF 0 ", +"0 1) (COND 0 157) (GREF 0 0) (PROC 1 0) (LREF 2 1 2) (CALL 2) 157 (LREF 0 1 1) (", +"LOADF 1) (CALL 1)) ((((GREF 0 0) (LREF 1 2 1) (LREF 2 0 1) (LOAD 3 1) (CALL 3)) ", +"() (eq? identifier) (1 . #f) 5)) (record-type) (1 . #f) 4)) (record?) (2 . #f) 4", +") (((LREF 0 1 24) (PROC 1 0) (LREF 2 0 2) (CALL 2)) ((((LREF 0 0 1) (COND 0 158)", +" (GREF 0 0) (PROC 1 0) (LREF 2 1 2) (CALL 2) 158 (GREF 0 1) (LREF 1 1 1) (LOAD 2", +" 2) (LREF 3 1 2) (LOAD 4 3) (CALL 4)) ((((GREF 0 0) (LREF 1 2 1) (LREF 2 0 1) (L", +"OADI 3 1) (CALL 3)) () (vector-ref) (1 . #f) 5)) (record-datum error \"record typ", +"e mismatch\" identifier) (1 . #f) 6)) () (2 . #f) 4) (((LREF 0 1 24) (PROC 1 0) (", +"LREF 2 0 2) (CALL 2)) ((((LREF 0 0 1) (COND 0 159) (GREF 0 0) (PROC 1 0) (LREF 2", +" 1 2) (CALL 2) 159 (GREF 0 1) (LREF 1 1 1) (LOAD 2 2) (LREF 3 1 2) (LOAD 4 3) (C", +"ALL 4)) ((((GREF 0 0) (LREF 1 2 1) (LREF 2 0 1) (LOADI 3 0) (CALL 3)) () (vector", +"-ref) (1 . #f) 5)) (record-datum error \"record type mismatch\" identifier) (1 . #", +"f) 6)) () (2 . #f) 4) (((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (CALL 2)) ((((PROC 0 ", +"0) (LREF 1 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 160) (LREF 0 0 1)", +" (LREF 1 0 2) (CALL 1) 160 (LREF 0 3 24) (PROC 1 0) (LREF 2 2 2) (CALL 2)) ((((P", +"ROC 0 0) (LREF 1 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 161) (LREF ", +"0 0 1) (LREF 1 0 2) (CALL 1) 161 (LREF 0 0 1) (LOADF 1) (CALL 1)) () () (2 . #f)", +" 3)) () (1 . #f) 4)) () (2 . #f) 4)) () (1 . #f) 4)) (symbol?) (2 . #f) 4) (((PR", +"OC 0 0) (PROC 1 1) (CALL 1)) ((((GREF 0 0) (PROC 1 0) (LREF 2 1 2) (CALL 2)) (((", +"(LREF 0 0 1) (COND 0 162) (GREF 0 0) (LREF 1 1 1) (LREF 2 2 3) (CALL 2) 162 (LRE", +"F 0 1 1) (LOADF 1) (CALL 1)) () (symbol?) (1 . #f) 4)) (symbol?) (1 . #f) 4) (((", +"LREF 0 0 1) (COND 0 163) (GREF 0 0) (LREF 1 1 1) (LREF 2 1 2) (LREF 3 1 3) (CALL", +" 3) 163 (PROC 0 0) (PROC 1 1) (CALL 1)) ((((LREF 0 3 24) (PROC 1 0) (LREF 2 2 2)", +" (CALL 2)) ((((LREF 0 0 1) (COND 0 164) (LREF 0 4 24) (LREF 1 1 1) (LREF 2 3 3) ", +"(CALL 2) 164 (LREF 0 1 1) (LOADF 1) (CALL 1)) () () (1 . #f) 4)) () (1 . #f) 4) ", +"(((LREF 0 0 1) (COND 0 165) (LREF 0 3 22) (PROC 1 0) (LREF 2 2 2) (CALL 2) 165 (", +"LREF 0 2 1) (LOADF 1) (CALL 1)) ((((LREF 0 4 23) (PROC 1 0) (LREF 2 3 2) (CALL 2", +")) ((((LREF 0 5 13) (PROC 1 0) (LREF 2 1 1) (LREF 3 0 1) (CALL 3)) ((((LREF 0 6 ", +"22) (PROC 1 0) (LREF 2 5 3) (CALL 2)) ((((LREF 0 7 23) (PROC 1 0) (LREF 2 6 3) (", +"CALL 2)) ((((LREF 0 8 13) (PROC 1 0) (LREF 2 1 1) (LREF 3 0 1) (CALL 3)) ((((GRE", +"F 0 0) (LREF 1 8 1) (LREF 2 3 1) (LREF 3 0 1) (CALL 3)) () (eq?) (1 . #f) 5)) ()", +" (1 . #f) 5)) () (1 . #f) 4)) () (1 . #f) 4)) () (1 . #f) 5)) () (1 . #f) 4)) ()", +" (1 . #f) 4)) (eq?) (1 . #f) 5)) () (3 . #f) 3) (((LREF 0 0 1) (PROC 1 0) (CALL ", +"1)) ((((LREF 0 2 24) (PROC 1 0) (LREF 2 0 2) (CALL 2)) ((((LREF 0 0 1) (COND 0 1", +"66) (LREF 0 3 20) (LREF 1 1 1) (LREF 2 1 2) (LREF 3 1 3) (CALL 3) 166 (LREF 0 2 ", +"2) (LREF 1 1 1) (LREF 2 1 2) (LREF 3 1 3) (CALL 3)) () () (1 . #f) 5)) () (3 . #", +"f) 4)) () (2 . #f) 3) (((LREF 0 0 1) (GSET 0 0) (PROC 0 0) (LSET 0 1 19) (PROC 0", +" 1) (LSET 0 1 18) (PROC 0 2) (LSET 0 1 17) (PROC 0 3) (LSET 0 1 16) (PROC 0 4) (", +"LSET 0 1 15) (PROC 0 5) (LSET 0 1 14) (PROC 0 6) (LSET 0 1 13) (PROC 0 7) (PROC ", +"1 8) (LOADI 2 0) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (LREF 3 0 3) (L", +"REF 4 0 4) (CALL 4)) ((((GREF 0 0) (LREF 1 1 1) (LOAD 2 1) (LREF 3 0 1) (CALL 3)", +") () (make-record environment) (1 . #f) 5)) (vector) (4 . #f) 6) (((GREF 0 0) (P", +"ROC 1 0) (LREF 2 0 2) (CALL 2)) ((((LREF 0 0 1) (COND 0 167) (GREF 0 0) (PROC 1 ", +"0) (LREF 2 1 2) (CALL 2) 167 (LREF 0 1 1) (LOADF 1) (CALL 1)) ((((GREF 0 0) (LRE", +"F 1 2 1) (LREF 2 0 1) (LOAD 3 1) (CALL 3)) () (eq? environment) (1 . #f) 5)) (re", +"cord-type) (1 . #f) 4)) (record?) (2 . #f) 4) (((LREF 0 2 18) (PROC 1 0) (LREF 2", +" 0 2) (CALL 2)) ((((LREF 0 0 1) (COND 0 168) (GREF 0 0) (PROC 1 0) (LREF 2 1 2) ", +"(CALL 2) 168 (GREF 0 1) (LREF 1 1 1) (LOAD 2 2) (LREF 3 1 2) (LOAD 4 3) (CALL 4)", +") ((((GREF 0 0) (LREF 1 2 1) (LREF 2 0 1) (LOADI 3 2) (CALL 3)) () (vector-ref) ", +"(1 . #f) 5)) (record-datum error \"record type mismatch\" environment) (1 . #f) 6)", +") () (2 . #f) 4) (((LREF 0 2 18) (PROC 1 0) (LREF 2 0 2) (CALL 2)) ((((LREF 0 0 ", +"1) (COND 0 169) (GREF 0 0) (PROC 1 0) (LREF 2 1 2) (CALL 2) 169 (GREF 0 1) (LREF", +" 1 1 1) (LOAD 2 2) (LREF 3 1 2) (LOAD 4 3) (CALL 4)) ((((GREF 0 0) (LREF 1 2 1) ", +"(LREF 2 0 1) (LOADI 3 1) (CALL 3)) () (vector-ref) (1 . #f) 5)) (record-datum er", +"ror \"record type mismatch\" environment) (1 . #f) 6)) () (2 . #f) 4) (((LREF 0 2 ", +"18) (PROC 1 0) (LREF 2 0 2) (CALL 2)) ((((LREF 0 0 1) (COND 0 170) (GREF 0 0) (P", +"ROC 1 0) (LREF 2 1 2) (CALL 2) 170 (GREF 0 1) (LREF 1 1 1) (LOAD 2 2) (LREF 3 1 ", +"2) (LOAD 4 3) (CALL 4)) ((((GREF 0 0) (LREF 1 2 1) (LREF 2 0 1) (LOADI 3 0) (CAL", +"L 3)) () (vector-ref) (1 . #f) 5)) (record-datum error \"record type mismatch\" en", +"vironment) (1 . #f) 6)) () (2 . #f) 4) (((LREF 0 2 17) (PROC 1 0) (LREF 2 0 3) (", +"CALL 2)) ((((LREF 0 0 1) (LREF 1 1 1) (LREF 2 1 2) (CALL 2)) () () (1 . #f) 4)) ", +"() (3 . #f) 4) (((LREF 0 2 14) (PROC 1 0) (LREF 2 0 2) (LREF 3 0 3) (CALL 3)) ((", +"((PROC 0 0) (LREF 1 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 171) (LR", +"EF 0 0 1) (LREF 1 0 2) (CALL 1) 171 (LREF 0 4 15) (PROC 1 0) (LREF 2 2 3) (CALL ", +"2)) ((((PROC 0 0) (PROC 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 172)", +" (LREF 0 6 13) (LREF 1 0 1) (LREF 2 4 2) (LREF 3 0 2) (CALL 3) 172 (GREF 0 0) (P", +"ROC 1 0) (LREF 2 4 2) (CALL 2)) ((((LREF 0 0 1) (COND 0 173) (LREF 0 7 12) (LREF", +" 1 1 1) (LREF 2 5 2) (LREF 3 5 3) (CALL 3) 173 (LREF 0 7 22) (PROC 1 0) (LREF 2 ", +"5 2) (CALL 2)) ((((LREF 0 8 23) (PROC 1 0) (LREF 2 6 2) (CALL 2)) ((((LREF 0 9 1", +"3) (LREF 1 3 1) (LREF 2 1 1) (LREF 3 0 1) (CALL 3)) () () (1 . #f) 5)) () (1 . #", +"f) 4)) () (1 . #f) 5)) (symbol?) (2 . #f) 5) (((PROC 0 0) (LREF 1 2 1) (LREF 2 0", +" 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 174) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 17", +"4 (LREF 0 0 1) (LOADF 1) (CALL 1)) () () (2 . #f) 3)) () (1 . #f) 4)) () (1 . #f", +") 4)) () (2 . #f) 4)) () (1 . #f) 4)) () (3 . #f) 5) (((LREF 0 0 1) (PROC 1 0) (", +"CALL 1)) ((((PROC 0 0) (LREF 1 0 1) (LREF 2 1 2) (CALL 2)) ((((GREF 0 0) (PROC 1", +" 0) (LREF 2 2 2) (LOADI 3 1) (CALL 3)) ((((LREF 0 0 1) (LSET 0 3 2) (PROC 0 0) (", +"PROC 1 1) (CALL 1)) ((((PROC 0 0) (LREF 1 0 1) (LOADF 2) (CALL 2)) ((((PROC 0 0)", +" (LSET 0 0 2) (LREF 0 0 2) (LREF 1 0 1) (LREF 2 4 2) (CALL 2)) ((((GREF 0 0) (PR", +"OC 1 0) (LREF 2 0 2) (CALL 2)) ((((LREF 0 0 1) (COND 0 175) (LREF 0 1 1) (LREF 1", +" 1 2) (CALL 1) 175 (LREF 0 9 22) (PROC 1 0) (LREF 2 1 2) (CALL 2)) ((((LREF 0 3 ", +"2) (LREF 1 2 1) (LREF 2 0 1) (CALL 2)) () () (1 . #f) 4)) () (1 . #f) 4)) (symbo", +"l?) (2 . #f) 4)) () (2 . #f) 4)) () (1 . #f) 4) (((GREF 0 0) (PROC 1 0) (LREF 2 ", +"0 1) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 3 2) (CALL 2)) ((((GREF 0 0) (PR", +"OC 1 0) (LOAD 2 1) (LREF 3 1 1) (LOAD 4 2) (LREF 5 0 1) (CALL 5)) ((((GREF 0 0) ", +"(LREF 1 5 1) (LREF 2 0 1) (CALL 2)) () (string->symbol) (1 . #f) 4)) (string-app", +"end \".\" \".\") (1 . #f) 7)) (number->string) (1 . #f) 4)) (symbol->string) (1 . #f", +") 4)) () (1 . #f) 3)) (+) (2 . #f) 5)) () (2 . #f) 4)) () (2 . #f) 3) (((PROC 0 ", +"0) (PROC 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 1) (PROC 1 0) (CALL 1)) ((((LR", +"EF 0 4 14) (PROC 1 0) (LREF 2 0 2) (LREF 3 0 3) (CALL 3)) ((((PROC 0 0) (LREF 1 ", +"1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 176) (LREF 0 0 1) (LREF 1 0 ", +"2) (CALL 1) 176 (PROC 0 0) (PROC 1 1) (CALL 1)) ((((PROC 0 0) (PROC 1 1) (CALL 1", +")) ((((LREF 0 8 15) (PROC 1 0) (LREF 2 4 3) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (", +"LREF 2 0 1) (CALL 2)) ((((LREF 0 0 1) (COND 0 177) (GREF 0 0) (LREF 1 2 1) (LREF", +" 2 6 2) (CALL 2) 177 (LREF 0 2 1) (LOADF 1) (CALL 1)) () (symbol?) (1 . #f) 4)) ", +"(not) (1 . #f) 4)) () (1 . #f) 4) (((LREF 0 0 1) (COND 0 178) (LREF 0 8 16) (PRO", +"C 1 0) (LREF 2 4 3) (CALL 2) 178 (LREF 0 5 2) (PROC 1 1) (LREF 2 4 2) (CALL 2)) ", +"((((GREF 0 0) (PROC 1 0) (LREF 2 5 2) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2", +" 1 1) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (LREF 1 4 1) (LREF 2 0 1) (CALL 2)) (", +") (string->symbol) (1 . #f) 4)) (string-append) (1 . #f) 5)) (symbol->string) (1", +" . #f) 4) (((PROC 0 0) (LREF 1 2 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 10 11) (PR", +"OC 1 0) (LREF 2 6 2) (LREF 3 0 2) (LREF 4 6 3) (CALL 4)) ((((LREF 0 1 1) (LREF 1", +" 1 2) (CALL 1)) () () (1 . #f) 3)) () (2 . #f) 6)) () (1 . #f) 4)) () (1 . #f) 4", +")) () (1 . #f) 3) (((PROC 0 0) (LREF 1 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 ", +"2) (COND 0 179) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 179 (LREF 0 0 1) (LOADF 1) (C", +"ALL 1)) () () (2 . #f) 3)) () (1 . #f) 4)) () (2 . #f) 3)) () (1 . #f) 4)) () (3", +" . #f) 5)) () (2 . #f) 3) (((LREF 0 0 1) (LSET 0 3 12) (PROC 0 0) (LSET 0 3 11) ", +"(PROC 0 1) (LSET 0 3 10) (GREF 0 0) (PROC 1 2) (LOAD 2 1) (CALL 2)) ((((LREF 0 4", +" 17) (PROC 1 0) (LREF 2 0 4) (CALL 2)) ((((LREF 0 0 1) (LREF 1 1 1) (LREF 2 1 2)", +" (LREF 3 1 3) (CALL 3)) () () (1 . #f) 5)) () (4 . #f) 4) (((GREF 0 0) (PROC 1 0", +") (LREF 2 0 2) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (CALL 1)) ((((LREF 0 6 19) (LR", +"EF 1 2 1) (LOADF 2) (LREF 3 1 1) (LREF 4 0 1) (CALL 4)) () () (1 . #f) 6)) (make", +"-ephemeron-table) (1 . #f) 3)) (symbol->string) (2 . #f) 4) (((LREF 0 4 10) (PRO", +"C 1 0) (LREF 2 0 1) (CALL 2)) ((((PROC 0 0) (PROC 1 1) (LREF 2 0 1) (CALL 2)) ((", +"((GREF 0 0) (PROC 1 0) (LOAD 2 1) (LOADN 3) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (", +"LOAD 2 1) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LOAD 2 1) (LREF 3 0 1", +") (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) ((((GREF ", +"0 0) (PROC 1 0) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LOAD", +" 2 1) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LOAD 2 1) (LREF 3 0 1) (C", +"ALL 3)) ((((GREF 0 0) (PROC 1 0) (PROC 2 1) (LREF 3 0 1) (CALL 3)) ((((LREF 0 8 ", +"1) (LREF 1 8 2) (CALL 1)) () () (1 . #f) 3) (((LREF 0 14 11) (LREF 1 0 1) (LREF ", +"2 0 2) (LREF 3 0 2) (LREF 4 8 2) (CALL 4)) () () (2 . #f) 6)) (for-each) (1 . #f", +") 5)) (cons core#define) (1 . #f) 5)) (cons core#set!) (1 . #f) 5)) (cons core#q", +"uote) (1 . #f) 5)) (cons core#lambda) (1 . #f) 5)) (cons core#if) (1 . #f) 5)) (", +"cons core#begin) (1 . #f) 5)) (cons core#define-macro) (2 . #f) 5) (((LREF 0 0 1", +") (LSET 0 6 9) (PROC 0 0) (LSET 0 6 8) (GREF 0 0) (PROC 1 1) (CALL 1)) ((((GREF ", +"0 0) (PROC 1 0) (CALL 1)) ((((LREF 0 8 19) (LREF 1 1 1) (LREF 2 1 2) (LOADF 3) (", +"LREF 4 0 1) (CALL 4)) () () (1 . #f) 6)) (make-ephemeron-table) (2 . #f) 3) (((L", +"REF 0 0 1) (LSET 0 7 7) (PROC 0 0) (LSET 0 7 6) (PROC 0 1) (LSET 0 7 5) (PROC 0 ", +"2) (LSET 0 7 4) (PROC 0 3) (LSET 0 7 3) (GREF 0 0) (PROC 1 4) (LOADN 2) (CALL 2)", +") ((((GREF 0 0) (PROC 1 0) (LREF 2 8 7) (LREF 3 0 2) (CALL 3)) ((((LREF 0 0 1) (", +"COND 0 180) (GREF 0 0) (LREF 1 1 1) (LREF 2 9 7) (LREF 3 1 2) (CALL 3) 180 (LREF", +" 0 1 1) (LOADF 1) (CALL 1)) () (dictionary-ref) (1 . #f) 5)) (dictionary-has?) (", +"2 . #f) 5) (((GREF 0 0) (LREF 1 0 1) (LREF 2 8 7) (LREF 3 0 2) (LREF 4 0 3) (CAL", +"L 4)) () (dictionary-set!) (3 . #f) 6) (((GREF 0 0) (PROC 1 0) (LREF 2 8 7) (LRE", +"F 3 0 2) (CALL 3)) ((((LREF 0 0 1) (COND 0 181) (GREF 0 0) (LREF 1 1 1) (LREF 2 ", +"9 7) (LREF 3 1 2) (CALL 3) 181 (LREF 0 1 1) (LOADU 1) (CALL 1)) () (dictionary-d", +"elete!) (1 . #f) 5)) (dictionary-has?) (2 . #f) 5) (((LREF 0 0 1) (LREF 1 8 7) (", +"CALL 1)) () () (1 . #f) 3) (((PROC 0 0) (PROC 1 1) (LREF 2 0 1) (CALL 2)) ((((PR", +"OC 0 0) (LREF 1 0 1) (LOADF 2) (LOADF 3) (LOADF 4) (LOADF 5) (LOADF 6) (LOADF 7)", +" (LOADF 8) (LOADF 9) (LOADF 10) (LOADF 11) (LOADF 12) (LOADF 13) (LOADF 14) (CAL", +"L 14)) ((((PROC 0 0) (LSET 0 0 14) (PROC 0 1) (LSET 0 0 13) (PROC 0 2) (LSET 0 0", +" 12) (PROC 0 3) (LSET 0 0 11) (PROC 0 4) (LSET 0 0 10) (PROC 0 5) (LSET 0 0 9) (", +"PROC 0 6) (LSET 0 0 8) (PROC 0 7) (LSET 0 0 7) (PROC 0 8) (LSET 0 0 6) (PROC 0 9", +") (LSET 0 0 5) (PROC 0 10) (LSET 0 0 4) (PROC 0 11) (LSET 0 0 3) (PROC 0 12) (LS", +"ET 0 0 2) (LREF 0 0 1) (LREF 1 0 2) (CALL 1)) ((((GREF 0 0) (PROC 1 0) (LOADF 2)", +" (LOADF 3) (CALL 3)) ((((PROC 0 0) (LREF 1 1 1) (LREF 2 0 1) (CALL 2)) ((((GREF ", +"0 0) (PROC 1 0) (LREF 2 0 2) (LREF 3 2 2) (CALL 3)) ((((LREF 0 5 2) (PROC 1 0) (", +"CALL 1)) ((((GREF 0 0) (PROC 1 0) (LREF 2 1 1) (LREF 3 0 1) (CALL 3)) ((((LREF 0", +" 7 2) (PROC 1 0) (LREF 2 0 1) (CALL 2)) ((((LREF 0 4 1) (LREF 1 4 2) (CALL 1)) (", +") () (1 . #f) 3)) () (1 . #f) 4)) (cons) (1 . #f) 5)) () (1 . #f) 3)) (cons) (2 ", +". #f) 5)) () (1 . #f) 4)) (cons) (2 . #f) 5) (((LREF 0 2 2) (PROC 1 0) (CALL 1))", +" ((((GREF 0 0) (PROC 1 0) (LREF 2 0 1) (CALL 2)) ((((GREF 0 0) (LREF 1 2 1) (PRO", +"C 2 0) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (CALL 2)) ((", +"((GREF 0 0) (PROC 1 0) (LREF 2 1 2) (CALL 2)) ((((PROC 0 0) (LREF 1 2 1) (LREF 2", +" 1 1) (LREF 3 0 1) (CALL 3)) ((((LREF 0 0 2) (PROC 1 0) (CALL 1)) ((((PROC 0 0) ", +"(LREF 1 1 1) (LREF 2 0 1) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (CALL ", +"2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 3 3) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (", +"PROC 1 0) (LREF 2 2 2) (CALL 2)) ((((GREF 0 0) (LREF 1 3 1) (LREF 2 5 3) (LREF 3", +" 0 1) (CALL 3)) () (set-cdr!) (1 . #f) 5)) (cdr) (1 . #f) 4)) (set-car!) (1 . #f", +") 5)) (car) (2 . #f) 4)) () (1 . #f) 4)) () (3 . #f) 3)) () (1 . #f) 5)) (car) (", +"1 . #f) 4)) (cdr) (2 . #f) 4)) (for-each) (1 . #f) 5)) (reverse) (1 . #f) 4)) ()", +" (1 . #f) 3) (((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (CALL 2)) ((((GREF 0 0) (LREF ", +"1 1 1) (LREF 2 0 1) (CALL 2)) () (car) (1 . #f) 4)) (cddr) (2 . #f) 4) (((GREF 0", +" 0) (PROC 1 0) (LREF 2 0 3) (CALL 2)) ((((LREF 0 0 1) (COND 0 182) (LREF 0 1 1) ", +"(LREF 1 1 3) (CALL 1) 182 (GREF 0 0) (PROC 1 0) (LREF 2 1 3) (CALL 2)) ((((LREF ", +"0 0 1) (COND 0 183) (GREF 0 0) (PROC 1 0) (LREF 2 2 3) (CALL 2) 183 (LREF 0 2 2)", +" (LREF 1 2 1) (LREF 2 2 3) (CALL 2)) ((((LREF 0 3 2) (PROC 1 0) (LREF 2 0 1) (CA", +"LL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 4 3) (CALL 2)) ((((LREF 0 6 11) (PROC 1 ", +"0) (LREF 2 5 2) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (LREF 1 6 1) (LREF 2 2 1) (", +"LREF 3 0 1) (CALL 3)) () (cons) (1 . #f) 5)) () (1 . #f) 5)) (cdr) (1 . #f) 4)) ", +"() (1 . #f) 4)) (car) (1 . #f) 4)) (pair?) (1 . #f) 4)) (null?) (3 . #f) 4) (((L", +"REF 0 11 21) (PROC 1 0) (LREF 2 0 2) (CALL 2)) ((((PROC 0 0) (PROC 1 1) (LREF 2 ", +"0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 184) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 1", +"84 (GREF 0 0) (PROC 1 0) (LREF 2 2 2) (CALL 2)) ((((PROC 0 0) (LREF 1 1 1) (LREF", +" 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 185) (LREF 0 0 1) (LREF 1 0 2) (CALL 1", +") 185 (LREF 0 0 1) (LOADF 1) (CALL 1)) () () (2 . #f) 3)) () (1 . #f) 4)) (pair?", +") (2 . #f) 4) (((GREF 0 0) (LREF 1 2 1) (LREF 2 0 1) (CALL 2)) () (not) (1 . #f)", +" 4)) () (1 . #f) 4)) () (2 . #f) 4) (((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (CALL 2", +")) ((((LREF 0 0 1) (COND 0 186) (GREF 0 0) (PROC 1 0) (LREF 2 1 2) (CALL 2) 186 ", +"(LREF 0 1 1) (LOADF 1) (CALL 1)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 1) (CALL 2))", +" ((((LREF 0 0 1) (COND 0 187) (GREF 0 0) (PROC 1 0) (LREF 2 3 2) (CALL 2) 187 (L", +"REF 0 3 1) (LOADF 1) (CALL 1)) ((((LREF 0 15 21) (LREF 1 4 1) (LREF 2 0 1) (CALL", +" 2)) () () (1 . #f) 4)) (car) (1 . #f) 4)) (not) (1 . #f) 4)) (null?) (1 . #f) 4", +")) (list?) (2 . #f) 4) (((LREF 0 11 13) (PROC 1 0) (LREF 2 0 2) (LREF 3 0 3) (CA", +"LL 3)) ((((PROC 0 0) (LREF 1 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 13 6) (PROC ", +"1 0) (LREF 2 0 2) (CALL 2)) ((((PROC 0 0) (LREF 1 1 1) (LREF 2 0 1) (CALL 2)) ((", +"((LREF 0 0 2) (COND 0 188) (LREF 0 0 2) (PROC 1 0) (LREF 2 4 2) (LREF 3 4 3) (CA", +"LL 3) 188 (LREF 0 0 1) (LREF 1 2 2) (CALL 1)) ((((LREF 0 6 3) (LREF 1 1 1) (LREF", +" 2 0 1) (LREF 3 5 3) (CALL 3)) () () (1 . #f) 5)) () (2 . #f) 5)) () (1 . #f) 4)", +") () (2 . #f) 4)) () (1 . #f) 4)) () (3 . #f) 5) (((GREF 0 0) (PROC 1 0) (LREF 2", +" 0 2) (LOADN 3) (CALL 3)) ((((GREF 0 0) (LREF 1 1 1) (LOAD 2 1) (LREF 3 0 1) (CA", +"LL 3)) () (cons core#quote) (1 . #f) 5)) (cons) (2 . #f) 5) (((LREF 0 11 12) (PR", +"OC 1 0) (LREF 2 0 2) (LREF 3 0 4) (CALL 3)) ((((PROC 0 0) (LREF 1 1 1) (LREF 2 0", +" 1) (CALL 2)) ((((LREF 0 13 4) (PROC 1 0) (LREF 2 0 2) (CALL 2)) ((((LREF 0 4 3)", +" (PROC 1 0) (LREF 2 3 3) (LREF 3 3 4) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2", +" 0 1) (LOADN 3) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 3 2) (LREF 3 0 1) (CA", +"LL 3)) ((((GREF 0 0) (LREF 1 4 1) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) () (cons cor", +"e#define) (1 . #f) 5)) (cons) (1 . #f) 5)) (cons) (1 . #f) 5)) () (1 . #f) 5)) (", +") (2 . #f) 4)) () (1 . #f) 4)) () (4 . #f) 5) (((LREF 0 11 8) (PROC 1 0) (LREF 2", +" 0 4) (CALL 2)) ((((PROC 0 0) (LREF 1 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 3 1", +"1) (PROC 1 0) (PROC 2 1) (LREF 3 2 2) (CALL 3)) ((((PROC 0 0) (LREF 1 1 1) (LREF", +" 2 0 1) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 6 2) (LOADN 3) (CALL 3)) ((((", +"GREF 0 0) (PROC 1 0) (LREF 2 0 1) (CALL 2)) ((((GREF 0 0) (LREF 1 2 1) (LREF 2 0", +" 1) (PROC 3 0) (CALL 3)) ((((LREF 0 8 3) (PROC 1 0) (LREF 2 7 3) (LREF 3 5 2) (C", +"ALL 3)) ((((PROC 0 0) (LREF 1 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 10 13) (PRO", +"C 1 0) (CALL 1)) ((((GREF 0 0) (PROC 1 0) (LREF 2 1 2) (LOADN 3) (CALL 3)) ((((G", +"REF 0 0) (PROC 1 0) (LREF 2 7 2) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (LREF 1 3 ", +"1) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) () (cons core#lambda) (1 . #f) 5)) (cons) (", +"1 . #f) 5)) (cons) (1 . #f) 5)) () (2 . #f) 3)) () (1 . #f) 4)) () (1 . #f) 5)) ", +"(with-dynamic-environment) (1 . #f) 5)) (list) (1 . #f) 4)) (cons) (2 . #f) 5)) ", +"() (1 . #f) 4) (((LREF 0 14 12) (LREF 1 0 1) (LREF 2 0 2) (LREF 3 1 2) (CALL 3))", +" () () (2 . #f) 5)) () (2 . #f) 5)) () (1 . #f) 4)) () (4 . #f) 4) (((LREF 0 11 ", +"12) (PROC 1 0) (LREF 2 0 2) (LREF 3 0 4) (CALL 3)) ((((PROC 0 0) (LREF 1 1 1) (L", +"REF 2 0 1) (CALL 2)) ((((LREF 0 3 2) (PROC 1 0) (LREF 2 2 3) (LREF 3 2 4) (CALL ", +"3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 1) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LR", +"EF 2 0 1) (CALL 2)) ((((PROC 0 0) (LREF 1 3 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0", +" 17 5) (PROC 1 0) (LREF 2 4 2) (LREF 3 0 2) (CALL 3)) ((((LREF 0 1 1) (LOADU 1) ", +"(CALL 1)) () () (1 . #f) 3)) () (2 . #f) 5)) () (1 . #f) 4)) (load) (1 . #f) 4))", +" (compile) (1 . #f) 4)) () (2 . #f) 5)) () (1 . #f) 4)) () (4 . #f) 5) (((LREF 0", +" 1 10) (PROC 1 0) (LREF 2 0 2) (CALL 2)) ((((LREF 0 0 1) (COND 0 189) (LREF 0 1 ", +"1) (LREF 1 1 2) (CALL 1) 189 (LREF 0 12 21) (PROC 1 0) (LREF 2 1 2) (CALL 2)) ((", +"((LREF 0 0 1) (COND 0 190) (LREF 0 3 8) (LREF 1 2 1) (LREF 2 2 2) (LREF 3 2 3) (", +"CALL 3) 190 (LREF 0 3 9) (PROC 1 0) (LREF 2 2 2) (CALL 2)) ((((LREF 0 0 1) (COND", +" 0 191) (GREF 0 0) (PROC 1 0) (LREF 2 3 2) (CALL 2) 191 (GREF 0 1) (PROC 1 1) (L", +"REF 2 3 2) (CALL 2)) ((((LREF 0 15 13) (PROC 1 0) (LREF 2 0 1) (LREF 3 4 3) (CAL", +"L 3)) ((((PROC 0 0) (LREF 1 5 1) (LREF 2 0 1) (CALL 2)) ((((PROC 0 0) (LREF 1 0 ", +"1) (LREF 2 0 2) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (LOAD 3 1) (CALL", +" 3)) ((((PROC 0 0) (PROC 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 192", +") (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 192 (LREF 0 0 1) (LOADF 1) (CALL 1)) () () ", +"(2 . #f) 3) (((LREF 0 0 1) (COND 0 193) (GREF 0 0) (PROC 1 0) (LREF 2 9 2) (CALL", +" 2) 193 (GREF 0 1) (PROC 1 1) (LREF 2 2 2) (LOAD 3 2) (CALL 3)) ((((LREF 0 11 7)", +" (LREF 1 3 1) (LREF 2 0 1) (CALL 2)) () () (1 . #f) 4) (((PROC 0 0) (PROC 1 1) (", +"LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 194) (LREF 0 0 1) (LREF 1 0 2) (CA", +"LL 1) 194 (LREF 0 0 1) (LOADF 1) (CALL 1)) () () (2 . #f) 3) (((LREF 0 0 1) (CON", +"D 0 195) (GREF 0 0) (PROC 1 0) (LREF 2 11 2) (CALL 2) 195 (GREF 0 1) (PROC 1 1) ", +"(LREF 2 4 2) (LOAD 3 2) (CALL 3)) ((((LREF 0 13 12) (PROC 1 0) (LREF 2 12 2) (CA", +"LL 2)) ((((LREF 0 14 6) (LREF 1 6 1) (LREF 2 1 1) (LREF 3 0 1) (LREF 4 13 3) (CA", +"LL 4)) () () (1 . #f) 6)) () (1 . #f) 4) (((PROC 0 0) (PROC 1 1) (LREF 2 0 1) (C", +"ALL 2)) ((((LREF 0 0 2) (COND 0 196) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 196 (LRE", +"F 0 0 1) (LOADF 1) (CALL 1)) () () (2 . #f) 3) (((LREF 0 0 1) (COND 0 197) (LREF", +" 0 14 14) (LREF 1 6 1) (PROC 2 0) (CALL 2) 197 (GREF 0 0) (PROC 1 1) (LREF 2 6 2", +") (LOAD 3 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 14 2) (CALL 2)) ((((LREF", +" 0 16 12) (PROC 1 0) (LREF 2 15 2) (CALL 2)) ((((LREF 0 17 5) (LREF 1 2 1) (LREF", +" 2 1 1) (LREF 3 0 1) (LREF 4 16 3) (CALL 4)) () () (1 . #f) 6)) () (1 . #f) 4)) ", +"(cadr) (1 . #f) 4) (((PROC 0 0) (PROC 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2", +") (COND 0 198) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 198 (LREF 0 0 1) (LOADF 1) (CA", +"LL 1)) () () (2 . #f) 3) (((LREF 0 0 1) (COND 0 199) (GREF 0 0) (PROC 1 0) (LREF", +" 2 15 2) (CALL 2) 199 (LOADT 0) (COND 0 200) (LREF 0 26 6) (PROC 1 1) (LREF 2 9 ", +"2) (CALL 2) 200 (LREF 0 8 1) (LOADU 1) (CALL 1)) ((((LREF 0 17 12) (PROC 1 0) (L", +"REF 2 16 2) (CALL 2)) ((((LREF 0 18 4) (LREF 1 10 1) (LREF 2 1 1) (LREF 3 0 1) (", +"LREF 4 17 3) (CALL 4)) () () (1 . #f) 6)) () (1 . #f) 4) (((PROC 0 0) (LREF 1 9 ", +"1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 201) (LREF 0 0 2) (PROC 1 0) (", +"LREF 2 17 2) (LREF 3 17 3) (CALL 3) 201 (GREF 0 0) (LREF 1 0 1) (PROC 2 1) (LREF", +" 3 17 2) (CALL 3)) ((((LREF 0 19 3) (LREF 1 1 1) (LREF 2 0 1) (LREF 3 18 3) (CAL", +"L 3)) () () (1 . #f) 5) (((LREF 0 19 3) (LREF 1 0 1) (LREF 2 0 2) (LREF 3 18 3) ", +"(CALL 3)) () () (2 . #f) 5)) (map) (2 . #f) 5)) () (1 . #f) 4)) (cadr) (1 . #f) ", +"4)) () (1 . #f) 4)) (eqv? core#define-macro) (1 . #f) 5)) () (1 . #f) 4)) (cadr ", +"eqv? core#lambda) (1 . #f) 5)) () (1 . #f) 4)) (cadr eqv? core#define) (1 . #f) ", +"5)) () (1 . #f) 4)) (eqv? core#quote) (2 . #f) 5)) () (2 . #f) 4)) () (1 . #f) 4", +")) () (1 . #f) 5) (((LREF 0 0 1) (COND 0 202) (GREF 0 0) (LREF 1 4 1) (PROC 2 0)", +" (LREF 3 4 2) (CALL 3) 202 (GREF 0 1) (LREF 1 4 1) (LOAD 2 2) (LREF 3 4 2) (CALL", +" 3)) ((((LREF 0 6 3) (LREF 1 0 1) (LREF 2 0 2) (LREF 3 5 3) (CALL 3)) () () (2 .", +" #f) 5)) (map error \"invalid expression\") (1 . #f) 5)) (car list?) (1 . #f) 4)) ", +"() (1 . #f) 5)) () (1 . #f) 4)) () (3 . #f) 4) (((LREF 0 1 3) (PROC 1 0) (LREF 2", +" 0 2) (LREF 3 0 3) (CALL 3)) ((((PROC 0 0) (LREF 1 1 1) (LREF 2 0 1) (CALL 2)) (", +"(((LREF 0 3 13) (PROC 1 0) (CALL 1)) ((((LREF 0 1 1) (LREF 1 1 2) (CALL 1)) () (", +") (1 . #f) 3)) () (2 . #f) 3)) () (1 . #f) 4)) () (3 . #f) 5)) () (14 . #f) 3)) ", +"() (2 . #f) 16) (((LREF 0 0 1) (LSET 0 9 2) (GREF 0 0) (LREF 1 9 1) (LREF 2 9 25", +") (LREF 3 9 21) (LREF 4 9 20) (LREF 5 9 22) (LREF 6 9 23) (LREF 7 9 10) (LREF 8 ", +"9 9) (LREF 9 9 18) (LREF 10 9 13) (LREF 11 9 12) (LREF 12 9 11) (LREF 13 9 3) (L", +"REF 14 9 2) (CALL 14)) () (values) (1 . #f) 16)) () (1 . #f) 4)) (make-parameter", +") (1 . #f) 4)) (make-dictionary) (1 . #f) 3)) () (1 . #f) 4)) () (1 . #f) 4)) (s", +"tring->symbol \"\") (1 . #f) 4)) () (1 . #f) 4)) (equal?) (1 . #f) 4)) (equal?) (2", +"5 . #f) 4)) () (1 . #f) 27)) () (1 . #f) 3) (((LREF 0 0 2) (GSET 0 0) (LREF 0 0 ", +"3) (GSET 0 1) (LREF 0 0 4) (GSET 0 2) (LREF 0 0 5) (GSET 0 3) (LREF 0 0 6) (GSET", +" 0 4) (LREF 0 0 7) (GSET 0 5) (LREF 0 0 8) (GSET 0 6) (LREF 0 0 9) (GSET 0 7) (L", +"REF 0 0 10) (GSET 0 8) (LREF 0 0 11) (GSET 0 9) (LREF 0 0 12) (GSET 0 10) (LREF ", +"0 0 13) (GSET 0 11) (LREF 0 0 14) (GSET 0 12) (LREF 0 0 1) (LOADU 1) (CALL 1)) (", +") (make-identifier identifier? identifier=? identifier-name identifier-environme", +"nt make-environment default-environment environment? find-identifier add-identif", +"ier! set-identifier! macro-objects expand) (14 . #f) 3)) (make-identifier identi", +"fier? identifier=? identifier-name identifier-environment make-environment defau", +"lt-environment environment? find-identifier add-identifier! set-identifier! macr", +"o-objects expand call-with-values) (1 . #f) 5)", }; #endif @@ -1676,386 +1678,384 @@ static const char boot_library_rom[][80] = { "LOADF 7) (LOADF 8) (LOADF 9) (LOADF 10) (CALL 10)) ((((PROC 0 0) (LSET 0 0 10) (", "GREF 0 0) (PROC 1 1) (LOAD 2 1) (LOADN 3) (CALL 3)) ((((PROC 0 0) (LREF 1 0 1) (", "LOADF 2) (LOADF 3) (CALL 3)) ((((PROC 0 0) (PROC 1 1) (CALL 1)) ((((GREF 0 0) (P", -"ROC 1 0) (LREF 2 2 2) (CALL 2)) ((((LREF 0 0 1) (COND 0 203) (GREF 0 0) (LREF 1 ", -"1 1) (LOAD 2 1) (LREF 3 3 2) (CALL 3) 203 (LREF 0 1 1) (LOADU 1) (CALL 1)) () (e", -"rror \"library name should be a list of at least one symbols\") (1 . #f) 5)) (null", -"?) (1 . #f) 4) (((PROC 0 0) (LSET 0 1 3) (PROC 0 1) (LSET 0 1 2) (GREF 0 0) (PRO", -"C 1 2) (LREF 2 2 2) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (CALL 2)) ((", -"((LREF 0 0 1) (COND 0 204) (GREF 0 0) (PROC 1 0) (LREF 2 1 2) (CALL 2) 204 (PROC", -" 0 1) (PROC 1 2) (CALL 1)) ((((PROC 0 0) (LREF 1 2 1) (LREF 2 0 1) (CALL 2)) (((", -"(GREF 0 0) (PROC 1 0) (PROC 2 1) (LREF 3 0 2) (CALL 3)) ((((LREF 0 1 1) (LREF 1 ", -"1 2) (CALL 1)) () () (1 . #f) 3) (((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (LOAD 3 1)", -" (CALL 3)) ((((PROC 0 0) (PROC 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND", -" 0 205) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 205 (GREF 0 0) (PROC 1 0) (LREF 2 2 2", -") (LOAD 3 1) (CALL 3)) ((((PROC 0 0) (LREF 1 1 1) (LREF 2 0 1) (CALL 2)) ((((LRE", -"F 0 0 2) (COND 0 206) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 206 (LREF 0 0 1) (LOADF", -" 1) (CALL 1)) () () (2 . #f) 3)) () (1 . #f) 4)) (char=? #\\:) (2 . #f) 5) (((LRE", -"F 0 0 1) (COND 0 207) (GREF 0 0) (LREF 1 2 1) (LOAD 2 1) (LREF 3 6 2) (CALL 3) 2", -"07 (LREF 0 2 1) (LOADU 1) (CALL 1)) () (error \"elements of library name may not ", -"contain '.' or ':'\") (1 . #f) 5)) () (1 . #f) 4)) (char=? #\\.) (2 . #f) 5)) (str", -"ing-for-each) (2 . #f) 5)) () (1 . #f) 4) (((GREF 0 0) (PROC 1 0) (LREF 2 2 2) (", -"CALL 2)) ((((LREF 0 0 1) (COND 0 208) (GREF 0 0) (PROC 1 0) (LREF 2 3 2) (CALL 2", -") 208 (LREF 0 1 1) (LOADF 1) (CALL 1)) ((((LREF 0 0 1) (COND 0 209) (GREF 0 0) (", -"LREF 1 2 1) (LOADI 2 0) (LREF 3 4 2) (CALL 3) 209 (LREF 0 2 1) (LOADF 1) (CALL 1", -")) () (<=) (1 . #f) 5)) (exact?) (1 . #f) 4)) (number?) (1 . #f) 4) (((LREF 0 0 ", -"1) (COND 0 210) (GREF 0 0) (LREF 1 2 1) (LREF 2 2 2) (CALL 2) 210 (GREF 0 1) (LR", -"EF 1 2 1) (LOAD 2 2) (LREF 3 2 2) (CALL 3)) () (number->string error \"symbol or ", -"non-negative integer is required\") (1 . #f) 5)) (symbol->string) (1 . #f) 4)) (s", -"ymbol?) (2 . #f) 4) (((PROC 0 0) (LREF 1 0 1) (CALL 1)) ((((PROC 0 0) (LREF 1 0 ", -"1) (LOADF 2) (CALL 2)) ((((PROC 0 0) (LSET 0 0 2) (GREF 0 0) (PROC 1 1) (LREF 2 ", -"2 2) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 3) (CALL 2)) ((((LREF 0 0 1) (", -"COND 0 211) (LREF 0 1 1) (LREF 1 1 2) (CALL 1) 211 (GREF 0 0) (PROC 1 0) (LREF 2", -" 1 3) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 2 2) (LREF 3 5 3) (LREF 4 0 1) ", -"(CALL 4)) ((((GREF 0 0) (PROC 1 0) (LREF 2 3 3) (CALL 2)) ((((LREF 0 5 2) (LREF ", -"1 4 1) (LREF 2 1 1) (LREF 3 0 1) (CALL 3)) () () (1 . #f) 5)) (cdr) (1 . #f) 4))", -" (string-append) (1 . #f) 6)) (car) (1 . #f) 4)) (null?) (3 . #f) 4) (((GREF 0 0", -") (PROC 1 0) (LREF 2 3 2) (CALL 2)) ((((LREF 0 2 2) (LREF 1 2 1) (LREF 2 1 1) (L", -"REF 3 0 1) (CALL 3)) () () (1 . #f) 5)) (cdr) (1 . #f) 4)) (car) (2 . #f) 4)) ()", -" (1 . #f) 4)) () (3 . #f) 3) (((LREF 0 0 1) (COND 0 212) (LREF 0 2 1) (LREF 1 3 ", -"2) (CALL 1) 212 (GREF 0 0) (PROC 1 0) (LREF 2 2 3) (LREF 3 3 2) (CALL 3)) ((((LR", -"EF 0 3 2) (PROC 1 0) (LREF 2 0 1) (LOAD 3 0) (CALL 3)) ((((GREF 0 0) (LREF 1 4 1", -") (LREF 2 0 1) (CALL 2)) () (string->symbol) (1 . #f) 4)) (\".\") (1 . #f) 5)) (ma", -"p) (1 . #f) 5)) (symbol?) (1 . #f) 4)) () (3 . #f) 3)) () (2 . #f) 5) (((GREF 0 ", -"0) (PROC 1 0) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2", -" 0 1) (LREF 3 2 10) (CALL 3)) ((((LREF 0 0 1) (LSET 0 3 9) (GREF 0 0) (PROC 1 0)", -" (CALL 1)) ((((LREF 0 0 1) (LSET 0 4 8) (PROC 0 0) (LSET 0 4 7) (PROC 0 1) (LSET", -" 0 4 6) (PROC 0 2) (LSET 0 4 5) (PROC 0 3) (LSET 0 4 4) (PROC 0 4) (LSET 0 4 3) ", -"(PROC 0 5) (LSET 0 4 2) (PROC 0 6) (PROC 1 7) (PROC 2 8) (CALL 2)) ((((LREF 0 5 ", -"10) (PROC 1 0) (LREF 2 0 2) (CALL 2)) ((((GREF 0 0) (LREF 1 1 1) (LREF 2 6 8) (L", -"REF 3 0 1) (CALL 3)) () (dictionary-has?) (1 . #f) 5)) () (2 . #f) 4) (((LREF 0 ", -"5 10) (PROC 1 0) (LREF 2 0 2) (CALL 2)) ((((PROC 0 0) (LREF 1 1 1) (LREF 2 0 1) ", -"(CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (CALL 2)) ((((GREF 0 0) (PROC 1 ", -"0) (LREF 2 0 1) (LOAD 3 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 1) (CALL", -" 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 1) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (C", -"ALL 1)) ((((PROC 0 0) (LREF 1 5 1) (LREF 2 1 1) (LREF 3 0 1) (CALL 3)) ((((GREF ", -"0 0) (PROC 1 0) (LOAD 2 1) (LOAD 3 2) (LREF 4 0 2) (CALL 4)) ((((GREF 0 0) (PROC", -" 1 0) (LOAD 2 1) (LOAD 3 2) (LREF 4 1 2) (CALL 4)) ((((GREF 0 0) (PROC 1 0) (LOA", -"D 2 1) (LOAD 3 2) (LREF 4 2 2) (CALL 4)) ((((GREF 0 0) (PROC 1 0) (LOAD 2 1) (LO", -"AD 3 2) (LREF 4 3 2) (CALL 4)) ((((GREF 0 0) (PROC 1 0) (LREF 2 4 2) (LREF 3 4 3", -") (CALL 3)) ((((GREF 0 0) (LREF 1 5 1) (LREF 2 18 8) (LREF 3 11 2) (LREF 4 0 1) ", -"(CALL 4)) () (dictionary-set!) (1 . #f) 6)) (cons) (1 . #f) 5)) (set-identifier!", -" cond-expand cond-expand) (1 . #f) 6)) (set-identifier! export export) (1 . #f) ", -"6)) (set-identifier! import import) (1 . #f) 6)) (set-identifier! define-library", -" define-library) (3 . #f) 6)) () (1 . #f) 5)) (make-dictionary) (1 . #f) 3)) (ma", -"ke-environment) (1 . #f) 4)) (string->symbol) (1 . #f) 4)) (string-append \":\") (", -"1 . #f) 5)) (symbol->string) (2 . #f) 4)) () (1 . #f) 4)) () (2 . #f) 4) (((LREF", -" 0 5 10) (PROC 1 0) (LREF 2 0 2) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 6 8)", -" (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (LREF 1 2 1) (LREF 2 0 1) (CALL 2)) () (ca", -"r) (1 . #f) 4)) (dictionary-ref) (1 . #f) 5)) () (2 . #f) 4) (((LREF 0 5 10) (PR", -"OC 1 0) (LREF 2 0 2) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 6 8) (LREF 3 0 1", -") (CALL 3)) ((((GREF 0 0) (LREF 1 2 1) (LREF 2 0 1) (CALL 2)) () (cdr) (1 . #f) ", -"4)) (dictionary-ref) (1 . #f) 5)) () (2 . #f) 4) (((LREF 0 5 4) (PROC 1 0) (LREF", -" 2 0 2) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 1) (LREF 3 1 3) (CALL 3)) (", -"(((PROC 0 0) (LREF 1 2 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 8 9) (PROC 1 0) (CAL", -"L 1)) ((((LREF 0 9 5) (PROC 1 0) (LREF 2 0 1) (CALL 2)) ((((PROC 0 0) (LREF 1 2 ", -"1) (LREF 2 0 1) (CALL 2)) ((((GREF 0 0) (LREF 1 0 1) (LREF 2 6 4) (LREF 3 3 2) (", -"LREF 4 0 2) (CALL 4)) () (set-identifier!) (2 . #f) 6)) () (1 . #f) 4)) () (1 . ", -"#f) 4)) () (2 . #f) 3)) () (1 . #f) 4)) (dictionary-ref) (1 . #f) 5)) () (4 . #f", -") 4) (((LREF 0 5 9) (PROC 1 0) (CALL 1)) ((((LREF 0 6 5) (PROC 1 0) (LREF 2 0 1)", -" (CALL 2)) ((((LREF 0 7 9) (PROC 1 0) (CALL 1)) ((((LREF 0 8 4) (PROC 1 0) (LREF", -" 2 0 1) (CALL 2)) ((((PROC 0 0) (LREF 1 4 1) (LREF 2 2 1) (LREF 3 0 1) (CALL 3))", -" ((((GREF 0 0) (PROC 1 0) (LREF 2 5 2) (LREF 3 0 2) (CALL 3)) ((((GREF 0 0) (LRE", -"F 1 1 1) (LREF 2 1 3) (LREF 3 6 3) (LREF 4 0 1) (CALL 4)) () (dictionary-set!) (", -"1 . #f) 6)) (find-identifier) (3 . #f) 5)) () (1 . #f) 5)) () (1 . #f) 4)) () (1", -" . #f) 3)) () (1 . #f) 4)) () (3 . #f) 3) (((LREF 0 0 2) (PROC 1 0) (LOAD 2 0) (", -"PROC 3 1) (CALL 3)) ((((LREF 0 1 2) (PROC 1 0) (LOAD 2 0) (PROC 3 1) (CALL 3)) (", -"(((LREF 0 2 2) (PROC 1 0) (LOAD 2 0) (PROC 3 1) (CALL 3)) ((((LREF 0 3 2) (LREF ", -"1 3 1) (LOAD 2 0) (PROC 3 0) (CALL 3)) ((((PROC 0 0) (LREF 1 0 1) (LOADU 2) (LOA", -"DU 3) (CALL 3)) ((((PROC 0 0) (LSET 0 0 2) (PROC 0 1) (LSET 0 0 3) (GREF 0 0) (P", -"ROC 1 2) (LREF 2 1 2) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (CALL 2)) ", -"((((LREF 0 0 1) (COND 0 213) (GREF 0 0) (LREF 1 1 1) (LREF 2 1 2) (LREF 3 1 2) (", -"CALL 3) 213 (PROC 0 0) (PROC 1 1) (CALL 1)) ((((GREF 0 0) (PROC 1 0) (LREF 2 2 2", -") (CALL 2)) ((((LREF 0 0 1) (COND 0 214) (GREF 0 0) (PROC 1 0) (LREF 2 3 2) (CAL", -"L 2) 214 (LREF 0 1 1) (LOADF 1) (CALL 1)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 1) ", -"(LOADI 3 3) (CALL 3)) ((((LREF 0 0 1) (COND 0 215) (GREF 0 0) (PROC 1 0) (LREF 2", -" 5 2) (CALL 2) 215 (LREF 0 3 1) (LOADF 1) (CALL 1)) ((((GREF 0 0) (LREF 1 4 1) (", -"LREF 2 0 1) (LOAD 3 1) (CALL 3)) () (eq? rename) (1 . #f) 5)) (car) (1 . #f) 4))", -" (=) (1 . #f) 5)) (length) (1 . #f) 4)) (list?) (1 . #f) 4) (((LREF 0 0 1) (COND", -" 0 216) (GREF 0 0) (PROC 1 0) (LREF 2 2 2) (LOADI 3 1) (CALL 3) 216 (GREF 0 1) (", -"LREF 1 2 1) (LOAD 2 2) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 3 2) (LOADI 3 ", -"2) (CALL 3)) ((((GREF 0 0) (LREF 1 4 1) (LREF 2 1 1) (LREF 3 0 1) (CALL 3)) () (", -"cons) (1 . #f) 5)) (list-ref) (1 . #f) 5)) (list-ref error \"malformed export\") (", -"1 . #f) 5)) (cons) (1 . #f) 5)) (symbol?) (2 . #f) 4) (((LREF 0 1 2) (PROC 1 0) ", -"(LREF 2 0 2) (CALL 2)) ((((PROC 0 0) (LREF 1 1 1) (LREF 2 0 1) (CALL 2)) ((((GRE", -"F 0 0) (PROC 1 0) (LREF 2 0 2) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 1 2) (", -"CALL 2)) ((((LREF 0 15 2) (LREF 1 2 1) (LREF 2 1 1) (LREF 3 0 1) (CALL 3)) () ()", -" (1 . #f) 5)) (cdr) (1 . #f) 4)) (car) (2 . #f) 4)) () (1 . #f) 4)) () (2 . #f) ", -"4) (((GREF 0 0) (LREF 1 1 1) (LREF 2 1 3) (LREF 3 0 1) (CALL 3)) () (for-each) (", -"1 . #f) 5)) (cdr) (3 . #f) 4)) () (3 . #f) 5)) (export) (1 . #f) 5) (((PROC 0 0)", -" (LREF 1 0 1) (PROC 2 1) (PROC 3 2) (PROC 4 3) (CALL 4)) ((((PROC 0 0) (LREF 1 0", -" 1) (LOADU 2) (LOADU 3) (CALL 3)) ((((PROC 0 0) (LSET 0 0 2) (PROC 0 1) (LSET 0 ", -"0 3) (PROC 0 2) (LREF 1 0 1) (LOADU 2) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF ", -"2 0 2) (CALL 2)) ((((PROC 0 0) (LREF 1 1 1) (LREF 2 0 1) (CALL 2)) ((((GREF 0 0)", -" (PROC 1 0) (LREF 2 0 2) (LOAD 3 1) (CALL 3)) ((((PROC 0 0) (PROC 1 1) (LREF 2 0", -" 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 217) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 21", -"7 (GREF 0 0) (PROC 1 0) (LREF 2 2 2) (LOAD 3 1) (CALL 3)) ((((PROC 0 0) (LREF 1 ", -"1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 218) (LREF 0 0 1) (LREF 1 0 ", -"2) (CALL 1) 218 (GREF 0 0) (PROC 1 0) (LREF 2 4 2) (LOAD 3 1) (CALL 3)) ((((PROC", -" 0 0) (LREF 1 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 219) (LREF 0 0", -" 1) (LREF 1 0 2) (CALL 1) 219 (GREF 0 0) (PROC 1 0) (LREF 2 6 2) (LOAD 3 1) (CAL", -"L 3)) ((((PROC 0 0) (LREF 1 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 ", -"220) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 220 (LREF 0 0 1) (LOADF 1) (CALL 1)) () ", -"() (2 . #f) 3)) () (1 . #f) 4)) (eqv? except) (2 . #f) 5)) () (1 . #f) 4)) (eqv?", -" prefix) (2 . #f) 5)) () (1 . #f) 4)) (eqv? rename) (2 . #f) 5) (((LREF 0 0 1) (", -"COND 0 221) (GREF 0 0) (PROC 1 0) (LREF 2 4 2) (CALL 2) 221 (LOADT 0) (COND 0 22", -"2) (LREF 0 6 4) (LREF 1 2 1) (LREF 2 4 2) (CALL 2) 222 (LREF 0 2 1) (LOADU 1) (C", -"ALL 1)) ((((LREF 0 6 2) (LREF 1 3 1) (LREF 2 0 1) (CALL 2)) () () (1 . #f) 4)) (", -"cadr) (1 . #f) 4)) () (1 . #f) 4)) (eqv? only) (2 . #f) 5)) () (1 . #f) 4)) (car", -") (2 . #f) 4) (((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (CALL 2)) ((((PROC 0 0) (LREF", -" 1 1 1) (LREF 2 0 1) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (LOAD 3 1) ", -"(CALL 3)) ((((PROC 0 0) (PROC 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND ", -"0 223) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 223 (LREF 0 0 1) (LOADF 1) (CALL 1)) (", -") () (2 . #f) 3) (((LREF 0 0 1) (COND 0 224) (GREF 0 0) (PROC 1 0) (LREF 2 4 2) ", -"(CALL 2) 224 (GREF 0 1) (PROC 1 1) (LREF 2 2 2) (LOAD 3 2) (CALL 3)) ((((LREF 0 ", -"6 3) (PROC 1 0) (LREF 2 0 1) (CALL 2)) ((((PROC 0 0) (LREF 1 4 1) (LREF 2 0 1) (", -"CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 7 2) (CALL 2)) ((((GREF 0 0) (LREF 1 1", -" 1) (PROC 2 0) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (LREF 1 0 1) (LREF 2 0 2) (L", -"REF 3 2 2) (CALL 3)) () (assq) (2 . #f) 5)) (map) (1 . #f) 5)) (cddr) (2 . #f) 4", -")) () (1 . #f) 4)) () (1 . #f) 4) (((PROC 0 0) (PROC 1 1) (LREF 2 0 1) (CALL 2))", -" ((((LREF 0 0 2) (COND 0 225) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 225 (LREF 0 0 1", -") (LOADF 1) (CALL 1)) () () (2 . #f) 3) (((LREF 0 0 1) (COND 0 226) (GREF 0 0) (", -"PROC 1 0) (LREF 2 6 2) (CALL 2) 226 (GREF 0 1) (PROC 1 1) (LREF 2 4 2) (LOAD 3 2", -") (CALL 3)) ((((LREF 0 8 3) (PROC 1 0) (LREF 2 0 1) (CALL 2)) ((((GREF 0 0) (PRO", -"C 1 0) (LREF 2 8 2) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (PROC 2 1) (LREF 3 0 1) (", -"CALL 3)) ((((PROC 0 0) (LREF 1 8 1) (LREF 2 2 1) (LREF 3 0 1) (CALL 3)) ((((GREF", -" 0 0) (LREF 1 0 1) (PROC 2 0) (LREF 3 0 2) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (L", -"REF 2 0 2) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 1) (LREF 3 2 3) (CALL 3)", -") ((((PROC 0 0) (LREF 1 2 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 227)", -" (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 227 (PROC 0 0) (LREF 1 0 1) (LREF 2 3 2) (CA", -"LL 2)) ((((LREF 0 0 2) (COND 0 228) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 228 (LREF", -" 0 0 1) (LOADF 1) (CALL 1)) () () (2 . #f) 3)) () (2 . #f) 4)) () (1 . #f) 4)) (", -"assq) (1 . #f) 5)) (car) (2 . #f) 4)) (map) (3 . #f) 5)) () (1 . #f) 5) (((GREF ", -"0 0) (PROC 1 0) (LREF 2 0 2) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 1 2) (CA", -"LL 2)) ((((GREF 0 0) (LREF 1 2 1) (LREF 2 1 1) (LREF 3 0 1) (CALL 3)) () (cons) ", -"(1 . #f) 5)) (cadr) (1 . #f) 4)) (car) (2 . #f) 4)) (map) (1 . #f) 5)) (cddr) (1", -" . #f) 4)) () (1 . #f) 4) (((PROC 0 0) (PROC 1 1) (LREF 2 0 1) (CALL 2)) ((((LRE", -"F 0 0 2) (COND 0 229) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 229 (LREF 0 0 1) (LOADF", -" 1) (CALL 1)) () () (2 . #f) 3) (((LREF 0 0 1) (COND 0 230) (GREF 0 0) (PROC 1 0", -") (LREF 2 8 2) (CALL 2) 230 (GREF 0 1) (PROC 1 1) (LREF 2 6 2) (LOAD 3 2) (CALL ", -"3)) ((((LREF 0 10 3) (PROC 1 0) (LREF 2 0 1) (CALL 2)) ((((PROC 0 0) (LREF 1 8 1", -") (LREF 2 0 1) (CALL 2)) ((((GREF 0 0) (LREF 1 0 1) (PROC 2 0) (LREF 3 0 2) (CAL", -"L 3)) ((((LREF 0 14 2) (PROC 1 0) (LREF 2 12 2) (CALL 2)) ((((GREF 0 0) (PROC 1 ", -"0) (LREF 2 1 2) (CALL 2)) ((((LREF 0 16 3) (PROC 1 0) (LREF 2 1 1) (LREF 3 0 1) ", -"(CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 3 2) (CALL 2)) ((((GREF 0 0) (LREF 1 ", -"4 1) (LREF 2 1 1) (LREF 3 0 1) (CALL 3)) () (cons) (1 . #f) 5)) (cdr) (1 . #f) 4", -")) () (1 . #f) 5)) (car) (1 . #f) 4)) () (2 . #f) 4)) (map) (2 . #f) 5)) () (1 .", -" #f) 4)) () (1 . #f) 4) (((PROC 0 0) (PROC 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF ", -"0 0 2) (COND 0 231) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 231 (LREF 0 0 1) (LOADF 1", -") (CALL 1)) () () (2 . #f) 3) (((LREF 0 0 1) (COND 0 232) (GREF 0 0) (PROC 1 0) ", -"(LREF 2 10 2) (CALL 2) 232 (LOADT 0) (COND 0 235) (LREF 0 12 4) (PROC 1 1) (LREF", -" 2 10 2) (CALL 2) 235 (LREF 0 8 1) (LOADU 1) (CALL 1)) ((((LREF 0 12 3) (PROC 1 ", -"0) (LREF 2 0 1) (CALL 2)) ((((PROC 0 0) (LREF 1 10 1) (LREF 2 0 1) (CALL 2)) (((", -"(PROC 0 0) (LREF 1 0 1) (CALL 1)) ((((PROC 0 0) (LREF 1 0 1) (LOADF 2) (CALL 2))", -" ((((PROC 0 0) (LSET 0 0 2) (LREF 0 0 2) (LREF 1 0 1) (LREF 2 2 2) (CALL 2)) (((", -"(GREF 0 0) (PROC 1 0) (LREF 2 0 2) (CALL 2)) ((((LREF 0 0 1) (COND 0 233) (LREF ", -"0 1 1) (LOADN 1) (CALL 1) 233 (GREF 0 0) (PROC 1 0) (LREF 2 1 2) (CALL 2)) ((((G", -"REF 0 0) (PROC 1 0) (LREF 2 18 2) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 1 1", -") (LREF 3 0 1) (CALL 3)) ((((LREF 0 0 1) (COND 0 234) (GREF 0 0) (PROC 1 0) (LRE", -"F 2 4 2) (CALL 2) 234 (GREF 0 1) (PROC 1 1) (LREF 2 4 2) (CALL 2)) ((((LREF 0 6 ", -"2) (LREF 1 5 1) (LREF 2 0 1) (CALL 2)) () () (1 . #f) 4) (((GREF 0 0) (PROC 1 0)", -" (LREF 2 5 2) (CALL 2)) ((((LREF 0 7 2) (PROC 1 0) (LREF 2 0 1) (CALL 2)) ((((GR", -"EF 0 0) (LREF 1 7 1) (LREF 2 2 1) (LREF 3 0 1) (CALL 3)) () (cons) (1 . #f) 5)) ", -"() (1 . #f) 4)) (cdr) (1 . #f) 4)) (cdr car) (1 . #f) 4)) (memq) (1 . #f) 5)) (c", -"ddr) (1 . #f) 4)) (caar) (1 . #f) 4)) (null?) (2 . #f) 4)) () (2 . #f) 4)) () (1", -" . #f) 4)) () (2 . #f) 3)) () (1 . #f) 4)) () (1 . #f) 4) (((LREF 0 22 4) (PROC ", -"1 0) (LREF 2 0 1) (CALL 2)) ((((GREF 0 0) (LREF 1 10 1) (PROC 2 0) (LREF 3 0 1) ", -"(CALL 3)) ((((GREF 0 0) (LREF 1 0 1) (LREF 2 0 2) (LREF 3 0 2) (CALL 3)) () (con", -"s) (2 . #f) 5)) (dictionary-map) (1 . #f) 5)) () (1 . #f) 4)) (cadr) (1 . #f) 4)", -") () (1 . #f) 4)) (cadr eqv? except) (1 . #f) 5)) () (1 . #f) 4)) (cadr eqv? pre", -"fix) (1 . #f) 5)) () (1 . #f) 4)) (cadr eqv? rename) (1 . #f) 5)) () (1 . #f) 4)", -") (eqv? only) (2 . #f) 5)) () (1 . #f) 4)) (car) (2 . #f) 4) (((PROC 0 0) (LSET ", -"0 0 2) (GREF 0 0) (PROC 1 1) (LREF 2 3 2) (CALL 2)) ((((LREF 0 2 2) (PROC 1 0) (", -"LREF 2 0 2) (CALL 2)) ((((LREF 0 3 3) (PROC 1 0) (LREF 2 1 2) (CALL 2)) ((((PROC", -" 0 0) (LREF 1 2 1) (LREF 2 1 1) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (LREF 1 0 1", -") (PROC 2 0) (LREF 3 0 3) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (CALL ", -"2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 1 2) (CALL 2)) ((((LREF 0 18 3) (LREF 1 2 1", -") (LREF 2 3 2) (LREF 3 1 1) (LREF 4 0 1) (CALL 4)) () () (1 . #f) 6)) (car) (1 .", -" #f) 4)) (cdr) (2 . #f) 4)) (for-each) (3 . #f) 5)) () (1 . #f) 5)) () (1 . #f) ", -"4)) () (2 . #f) 4) (((GREF 0 0) (LREF 1 1 1) (LREF 2 1 2) (LREF 3 0 1) (CALL 3))", -" () (for-each) (1 . #f) 5)) (cdr) (2 . #f) 4)) () (3 . #f) 4)) () (4 . #f) 5) ((", -"(GREF 0 0) (PROC 1 0) (LREF 2 0 2) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 ", -"1) (CALL 2)) ((((GREF 0 0) (LREF 1 2 1) (LREF 2 0 1) (CALL 2)) () (car) (1 . #f)", -" 4)) (cdr) (1 . #f) 4)) (cdr) (2 . #f) 4) (((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (", -"CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 1 3) (CALL 2)) ((((GREF 0 0) (PROC 1 0", -") (LREF 2 1 1) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (LREF 1 3 1) (LREF 2 0 1) (C", -"ALL 2)) () (string->symbol) (1 . #f) 4)) (string-append) (1 . #f) 5)) (symbol->s", -"tring) (1 . #f) 4)) (symbol->string) (3 . #f) 4) (((LREF 0 9 7) (PROC 1 0) (LREF", -" 2 0 2) (CALL 2)) ((((LREF 0 0 1) (COND 0 236) (LREF 0 1 1) (LREF 1 1 2) (CALL 1", -") 236 (GREF 0 0) (LREF 1 1 1) (LOAD 2 1) (LREF 3 1 2) (CALL 3)) () (error \"libra", -"ry not found\") (1 . #f) 5)) () (2 . #f) 4)) () (3 . #f) 6)) (import) (1 . #f) 5)", -" (((PROC 0 0) (LREF 1 0 1) (LOADU 2) (CALL 2)) ((((PROC 0 0) (LSET 0 0 2) (PROC ", -"0 1) (LREF 1 0 1) (CALL 1)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (LOAD 3 1) (CA", -"LL 3)) ((((PROC 0 0) (LREF 1 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0", -" 237) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 237 (PROC 0 0) (PROC 1 1) (CALL 1)) (((", -"(GREF 0 0) (PROC 1 0) (LREF 2 3 2) (CALL 2)) ((((LREF 0 0 1) (COND 0 238) (GREF ", -"0 0) (PROC 1 0) (CALL 1) 238 (LREF 0 1 1) (LOADF 1) (CALL 1)) ((((GREF 0 0) (LRE", -"F 1 2 1) (LREF 2 5 2) (LREF 3 0 1) (CALL 3)) () (memq) (1 . #f) 5)) (features) (", -"1 . #f) 3)) (symbol?) (1 . #f) 4) (((PROC 0 0) (LREF 1 1 1) (LREF 2 0 1) (CALL 2", -")) ((((LREF 0 0 2) (COND 0 239) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 239 (PROC 0 0", -") (PROC 1 1) (CALL 1)) ((((GREF 0 0) (PROC 1 0) (LREF 2 5 2) (CALL 2)) ((((LREF ", -"0 0 1) (COND 0 240) (GREF 0 0) (PROC 1 0) (LREF 2 6 2) (CALL 2) 240 (LREF 0 1 1)", -" (LOADF 1) (CALL 1)) ((((PROC 0 0) (LREF 1 2 1) (LREF 2 0 1) (CALL 2)) ((((GREF ", -"0 0) (PROC 1 0) (LREF 2 0 2) (LOAD 3 1) (CALL 3)) ((((PROC 0 0) (PROC 1 1) (LREF", -" 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 241) (LREF 0 0 1) (LREF 1 0 2) (CALL 1", -") 241 (LREF 0 0 1) (LOADF 1) (CALL 1)) () () (2 . #f) 3) (((LREF 0 0 1) (COND 0 ", -"242) (GREF 0 0) (PROC 1 0) (LREF 2 10 2) (CALL 2) 242 (GREF 0 1) (PROC 1 1) (LRE", -"F 2 2 2) (LOAD 3 2) (CALL 3)) ((((LREF 0 20 7) (LREF 1 3 1) (LREF 2 0 1) (CALL 2", -")) () () (1 . #f) 4) (((PROC 0 0) (PROC 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0", -" 2) (COND 0 243) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 243 (LREF 0 0 1) (LOADF 1) (", -"CALL 1)) () () (2 . #f) 3) (((LREF 0 0 1) (COND 0 244) (GREF 0 0) (PROC 1 0) (LR", -"EF 2 12 2) (CALL 2) 244 (GREF 0 1) (PROC 1 1) (LREF 2 4 2) (LOAD 3 2) (CALL 3)) ", -"((((LREF 0 14 2) (PROC 1 0) (LREF 2 0 1) (CALL 2)) ((((GREF 0 0) (LREF 1 6 1) (L", -"REF 2 0 1) (CALL 2)) () (not) (1 . #f) 4)) () (1 . #f) 4) (((PROC 0 0) (PROC 1 1", -") (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 245) (LREF 0 0 1) (LREF 1 0 2) ", -"(CALL 1) 245 (LREF 0 0 1) (LOADF 1) (CALL 1)) () () (2 . #f) 3) (((LREF 0 0 1) (", -"COND 0 246) (PROC 0 0) (LREF 1 6 1) (CALL 1) 246 (GREF 0 0) (PROC 1 1) (LREF 2 6", -" 2) (LOAD 3 1) (CALL 3)) ((((PROC 0 0) (LREF 1 0 1) (LOADF 2) (CALL 2)) ((((PROC", -" 0 0) (LSET 0 0 2) (GREF 0 0) (PROC 1 1) (LREF 2 16 2) (CALL 2)) ((((GREF 0 0) (", -"PROC 1 0) (LREF 2 0 2) (CALL 2)) ((((PROC 0 0) (LREF 1 1 1) (LREF 2 0 1) (CALL 2", -")) ((((LREF 0 0 2) (COND 0 247) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 247 (PROC 0 0", -") (PROC 1 1) (CALL 1)) ((((GREF 0 0) (PROC 1 0) (LREF 2 3 2) (CALL 2)) ((((LREF ", -"0 22 2) (PROC 1 0) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 1) (COND 0 248) (GREF 0 0", -") (PROC 1 0) (LREF 2 5 2) (CALL 2) 248 (LREF 0 2 1) (LOADF 1) (CALL 1)) ((((LREF", -" 0 7 2) (LREF 1 3 1) (LREF 2 0 1) (CALL 2)) () () (1 . #f) 4)) (cdr) (1 . #f) 4)", -") () (1 . #f) 4)) (car) (1 . #f) 4) (((PROC 0 0) (LREF 1 1 1) (LREF 2 0 1) (CALL", -" 2)) ((((LREF 0 0 2) (COND 0 249) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 249 (LREF 0", -" 0 1) (LOADF 1) (CALL 1)) () () (2 . #f) 3)) () (1 . #f) 4)) () (2 . #f) 3)) () ", -"(1 . #f) 4)) (null?) (2 . #f) 4) (((LREF 0 1 2) (LREF 1 1 1) (LREF 2 0 1) (CALL ", -"2)) () () (1 . #f) 4)) (cdr) (2 . #f) 4)) () (1 . #f) 4) (((PROC 0 0) (PROC 1 1)", -" (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 250) (LREF 0 0 1) (LREF 1 0 2) (", -"CALL 1) 250 (LREF 0 0 1) (LOADF 1) (CALL 1)) () () (2 . #f) 3) (((LREF 0 0 1) (C", -"OND 0 251) (PROC 0 0) (LREF 1 8 1) (CALL 1) 251 (LOADT 0) (COND 0 255) (LREF 0 8", -" 1) (LOADF 1) (CALL 1) 255 (LREF 0 8 1) (LOADU 1) (CALL 1)) ((((PROC 0 0) (LREF ", -"1 0 1) (LOADF 2) (CALL 2)) ((((PROC 0 0) (LSET 0 0 2) (GREF 0 0) (PROC 1 1) (LRE", -"F 2 18 2) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (CALL 2)) ((((LREF 0 0", -" 1) (COND 0 252) (GREF 0 0) (PROC 1 0) (LREF 2 1 2) (CALL 2) 252 (LREF 0 1 1) (L", -"OADF 1) (CALL 1)) ((((LREF 0 22 2) (PROC 1 0) (LREF 2 0 1) (CALL 2)) ((((PROC 0 ", -"0) (LREF 1 3 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 253) (LREF 0 0 1)", -" (LREF 1 0 2) (CALL 1) 253 (GREF 0 0) (PROC 1 0) (LREF 2 4 2) (CALL 2)) ((((LREF", -" 0 6 2) (PROC 1 0) (LREF 2 0 1) (CALL 2)) ((((PROC 0 0) (LREF 1 2 1) (LREF 2 0 1", -") (CALL 2)) ((((LREF 0 0 2) (COND 0 254) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 254 ", -"(LREF 0 0 1) (LOADF 1) (CALL 1)) () () (2 . #f) 3)) () (1 . #f) 4)) () (1 . #f) ", -"4)) (cdr) (2 . #f) 4)) () (1 . #f) 4)) () (1 . #f) 4)) (car) (1 . #f) 4)) (pair?", -") (2 . #f) 4) (((LREF 0 1 2) (LREF 1 1 1) (LREF 2 0 1) (CALL 2)) () () (1 . #f) ", -"4)) (cdr) (2 . #f) 4)) () (1 . #f) 4)) () (1 . #f) 3)) () (1 . #f) 4)) (eqv? or)", -" (1 . #f) 5)) () (1 . #f) 4)) (cadr eqv? and) (1 . #f) 5)) () (1 . #f) 4)) (cadr", -" eqv? not) (1 . #f) 5)) () (1 . #f) 4)) (eqv? library) (2 . #f) 5)) () (1 . #f) ", -"4)) (car) (1 . #f) 4)) (pair?) (1 . #f) 4) (((PROC 0 0) (LREF 1 1 1) (LREF 2 0 1", -") (CALL 2)) ((((LREF 0 0 2) (COND 0 256) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 256 ", -"(LREF 0 0 1) (LOADF 1) (CALL 1)) () () (2 . #f) 3)) () (1 . #f) 4)) () (2 . #f) ", -"3)) () (1 . #f) 4)) () (2 . #f) 3)) () (1 . #f) 4)) (eq? else) (2 . #f) 5) (((PR", -"OC 0 0) (LREF 1 0 1) (LOADF 2) (CALL 2)) ((((PROC 0 0) (LSET 0 0 2) (GREF 0 0) (", -"PROC 1 1) (LREF 2 3 2) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (CALL 2))", -" ((((LREF 0 0 1) (COND 0 257) (LREF 0 1 1) (LOADU 1) (CALL 1) 257 (GREF 0 0) (PR", -"OC 1 0) (LREF 2 1 2) (CALL 2)) ((((LREF 0 5 2) (PROC 1 0) (LREF 2 0 1) (CALL 2))", -" ((((LREF 0 0 1) (COND 0 258) (GREF 0 0) (PROC 1 0) (LOAD 2 1) (GREF 3 2) (CALL ", -"3) 258 (GREF 0 3) (PROC 1 1) (LREF 2 3 2) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LR", -"EF 2 4 2) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 1) (LOADN 3) (CALL 3)) ((", -"((GREF 0 0) (LREF 1 6 1) (LREF 2 2 1) (LREF 3 0 1) (CALL 3)) () (cons) (1 . #f) ", -"5)) (append) (1 . #f) 5)) (cdar) (1 . #f) 4) (((LREF 0 5 2) (LREF 1 4 1) (LREF 2", -" 0 1) (CALL 2)) () () (1 . #f) 4)) (make-identifier begin default-environment cd", -"r) (1 . #f) 5)) () (1 . #f) 4)) (caar) (1 . #f) 4)) (null?) (2 . #f) 4) (((LREF ", -"0 1 2) (LREF 1 1 1) (LREF 2 0 1) (CALL 2)) () () (1 . #f) 4)) (cdr) (2 . #f) 4))", -" () (1 . #f) 4)) () (2 . #f) 3)) () (3 . #f) 4)) (cond-expand) (1 . #f) 5) (((GR", -"EF 0 0) (PROC 1 0) (LREF 2 0 2) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 1 2) ", -"(CALL 2)) ((((PROC 0 0) (LREF 1 2 1) (LREF 2 1 1) (LREF 3 0 1) (CALL 3)) ((((LRE", -"F 0 9 7) (PROC 1 0) (LREF 2 0 2) (CALL 2)) ((((PROC 0 0) (PROC 1 1) (LREF 2 0 1)", -" (CALL 2)) ((((LREF 0 0 2) (COND 0 259) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 259 (", -"LREF 0 11 6) (PROC 1 0) (LREF 2 2 2) (CALL 2)) ((((PROC 0 0) (LREF 1 1 1) (LREF ", -"2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 260) (LREF 0 0 1) (LREF 1 0 2) (CALL 1)", -" 260 (LREF 0 0 1) (LOADF 1) (CALL 1)) () () (2 . #f) 3)) () (1 . #f) 4)) () (2 .", -" #f) 4) (((GREF 0 0) (PROC 1 0) (LREF 2 11 9) (LREF 3 2 2) (CALL 3)) ((((GREF 0 ", -"0) (PROC 1 0) (LREF 2 0 1) (CALL 2)) ((((GREF 0 0) (LREF 1 4 1) (LREF 2 0 1) (PR", -"OC 3 0) (CALL 3)) ((((GREF 0 0) (LREF 1 0 1) (PROC 2 0) (LREF 3 5 3) (CALL 3)) (", -"(((PROC 0 0) (PROC 1 1) (CALL 1)) ((((PROC 0 0) (PROC 1 1) (CALL 1)) ((((GREF 0 ", -"0) (PROC 1 0) (LREF 2 2 2) (CALL 2)) ((((LREF 0 0 1) (COND 0 261) (GREF 0 0) (PR", -"OC 1 0) (LREF 2 3 2) (CALL 2) 261 (LREF 0 1 1) (LOADF 1) (CALL 1)) ((((GREF 0 0)", -" (LREF 1 2 1) (LREF 2 0 1) (LOAD 3 1) (CALL 3)) () (eq? begin) (1 . #f) 5)) (car", -") (1 . #f) 4)) (pair?) (1 . #f) 4) (((LREF 0 0 1) (COND 0 262) (GREF 0 0) (LREF ", -"1 1 1) (LREF 2 2 2) (CALL 2) 262 (GREF 0 1) (LREF 1 1 1) (LREF 2 2 2) (CALL 2)) ", -"() (cdr list) (1 . #f) 4)) () (1 . #f) 3) (((PROC 0 0) (LREF 1 1 1) (LREF 2 0 1)", -" (CALL 2)) ((((GREF 0 0) (LREF 1 0 1) (PROC 2 0) (LREF 3 0 2) (CALL 3)) ((((GREF", -" 0 0) (LREF 1 0 1) (LREF 2 0 2) (LREF 3 9 2) (CALL 3)) () (eval) (2 . #f) 5)) (f", -"or-each) (2 . #f) 5)) () (1 . #f) 4)) () (2 . #f) 3)) (for-each) (1 . #f) 5)) (w", -"ith-dynamic-environment) (1 . #f) 5)) (list) (1 . #f) 4)) (cons) (1 . #f) 5)) ()", -" (1 . #f) 4)) () (3 . #f) 4)) () (1 . #f) 5)) (cddr) (1 . #f) 4)) (cadr) (3 . #f", -") 4)) (define-library) (2 . #f) 5) (((PROC 0 0) (PROC 1 1) (CALL 1)) ((((GREF 0 ", -"0) (PROC 1 0) (LOAD 2 1) (LOADN 3) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LOAD 2 1)", -" (LREF 3 0 1) (CALL 3)) ((((LREF 0 8 6) (PROC 1 0) (LREF 2 0 1) (CALL 2)) ((((GR", -"EF 0 0) (PROC 1 0) (LOAD 2 1) (LOADN 3) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LOAD", -" 2 1) (LREF 3 0 1) (CALL 3)) ((((LREF 0 11 10) (PROC 1 0) (LREF 2 0 1) (CALL 2))", -" ((((GREF 0 0) (PROC 1 0) (LREF 2 12 8) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (PR", -"OC 1 0) (LREF 2 0 1) (GREF 3 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LOAD 2 1) (L", -"OADN 3) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) (((", -"(LREF 0 16 4) (PROC 1 0) (LREF 2 0 1) (CALL 2)) ((((PROC 0 0) (PROC 1 1) (LREF 2", -" 0 1) (CALL 2)) ((((PROC 0 0) (LREF 1 0 1) (PROC 2 1) (CALL 2)) ((((PROC 0 0) (L", -"REF 1 0 1) (CALL 1)) ((((GREF 0 0) (PROC 1 0) (LOAD 2 1) (LOADN 3) (CALL 3)) (((", +"ROC 1 0) (LREF 2 2 2) (CALL 2)) ((((LREF 0 0 1) (COND 0 0) (GREF 0 0) (LREF 1 1 ", +"1) (LOAD 2 1) (LREF 3 3 2) (CALL 3) 0 (LREF 0 1 1) (LOADU 1) (CALL 1)) () (error", +" \"library name should be a list of at least one symbols\") (1 . #f) 5)) (null?) (", +"1 . #f) 4) (((PROC 0 0) (LSET 0 1 3) (PROC 0 1) (LSET 0 1 2) (GREF 0 0) (PROC 1 ", +"2) (LREF 2 2 2) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (CALL 2)) ((((LR", +"EF 0 0 1) (COND 0 1) (GREF 0 0) (PROC 1 0) (LREF 2 1 2) (CALL 2) 1 (PROC 0 1) (P", +"ROC 1 2) (CALL 1)) ((((PROC 0 0) (LREF 1 2 1) (LREF 2 0 1) (CALL 2)) ((((GREF 0 ", +"0) (PROC 1 0) (PROC 2 1) (LREF 3 0 2) (CALL 3)) ((((LREF 0 1 1) (LREF 1 1 2) (CA", +"LL 1)) () () (1 . #f) 3) (((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (LOAD 3 1) (CALL 3", +")) ((((PROC 0 0) (PROC 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 2) (L", +"REF 0 0 1) (LREF 1 0 2) (CALL 1) 2 (GREF 0 0) (PROC 1 0) (LREF 2 2 2) (LOAD 3 1)", +" (CALL 3)) ((((PROC 0 0) (LREF 1 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (CO", +"ND 0 3) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 3 (LREF 0 0 1) (LOADF 1) (CALL 1)) ()", +" () (2 . #f) 3)) () (1 . #f) 4)) (char=? #\\:) (2 . #f) 5) (((LREF 0 0 1) (COND 0", +" 4) (GREF 0 0) (LREF 1 2 1) (LOAD 2 1) (LREF 3 6 2) (CALL 3) 4 (LREF 0 2 1) (LOA", +"DU 1) (CALL 1)) () (error \"elements of library name may not contain '.' or ':'\")", +" (1 . #f) 5)) () (1 . #f) 4)) (char=? #\\.) (2 . #f) 5)) (string-for-each) (2 . #", +"f) 5)) () (1 . #f) 4) (((GREF 0 0) (PROC 1 0) (LREF 2 2 2) (CALL 2)) ((((LREF 0 ", +"0 1) (COND 0 5) (GREF 0 0) (PROC 1 0) (LREF 2 3 2) (CALL 2) 5 (LREF 0 1 1) (LOAD", +"F 1) (CALL 1)) ((((LREF 0 0 1) (COND 0 6) (GREF 0 0) (LREF 1 2 1) (LOADI 2 0) (L", +"REF 3 4 2) (CALL 3) 6 (LREF 0 2 1) (LOADF 1) (CALL 1)) () (<=) (1 . #f) 5)) (exa", +"ct?) (1 . #f) 4)) (number?) (1 . #f) 4) (((LREF 0 0 1) (COND 0 7) (GREF 0 0) (LR", +"EF 1 2 1) (LREF 2 2 2) (CALL 2) 7 (GREF 0 1) (LREF 1 2 1) (LOAD 2 2) (LREF 3 2 2", +") (CALL 3)) () (number->string error \"symbol or non-negative integer is required", +"\") (1 . #f) 5)) (symbol->string) (1 . #f) 4)) (symbol?) (2 . #f) 4) (((PROC 0 0)", +" (LREF 1 0 1) (CALL 1)) ((((PROC 0 0) (LREF 1 0 1) (LOADF 2) (CALL 2)) ((((PROC ", +"0 0) (LSET 0 0 2) (GREF 0 0) (PROC 1 1) (LREF 2 2 2) (CALL 2)) ((((GREF 0 0) (PR", +"OC 1 0) (LREF 2 0 3) (CALL 2)) ((((LREF 0 0 1) (COND 0 8) (LREF 0 1 1) (LREF 1 1", +" 2) (CALL 1) 8 (GREF 0 0) (PROC 1 0) (LREF 2 1 3) (CALL 2)) ((((GREF 0 0) (PROC ", +"1 0) (LREF 2 2 2) (LREF 3 5 3) (LREF 4 0 1) (CALL 4)) ((((GREF 0 0) (PROC 1 0) (", +"LREF 2 3 3) (CALL 2)) ((((LREF 0 5 2) (LREF 1 4 1) (LREF 2 1 1) (LREF 3 0 1) (CA", +"LL 3)) () () (1 . #f) 5)) (cdr) (1 . #f) 4)) (string-append) (1 . #f) 6)) (car) ", +"(1 . #f) 4)) (null?) (3 . #f) 4) (((GREF 0 0) (PROC 1 0) (LREF 2 3 2) (CALL 2)) ", +"((((LREF 0 2 2) (LREF 1 2 1) (LREF 2 1 1) (LREF 3 0 1) (CALL 3)) () () (1 . #f) ", +"5)) (cdr) (1 . #f) 4)) (car) (2 . #f) 4)) () (1 . #f) 4)) () (3 . #f) 3) (((LREF", +" 0 0 1) (COND 0 9) (LREF 0 2 1) (LREF 1 3 2) (CALL 1) 9 (GREF 0 0) (PROC 1 0) (L", +"REF 2 2 3) (LREF 3 3 2) (CALL 3)) ((((LREF 0 3 2) (PROC 1 0) (LREF 2 0 1) (LOAD ", +"3 0) (CALL 3)) ((((GREF 0 0) (LREF 1 4 1) (LREF 2 0 1) (CALL 2)) () (string->sym", +"bol) (1 . #f) 4)) (\".\") (1 . #f) 5)) (map) (1 . #f) 5)) (symbol?) (1 . #f) 4)) (", +") (3 . #f) 3)) () (2 . #f) 5) (((GREF 0 0) (PROC 1 0) (LOAD 2 1) (LREF 3 0 1) (C", +"ALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 1) (LREF 3 2 10) (CALL 3)) ((((LREF 0", +" 0 1) (LSET 0 3 9) (GREF 0 0) (PROC 1 0) (CALL 1)) ((((LREF 0 0 1) (LSET 0 4 8) ", +"(PROC 0 0) (LSET 0 4 7) (PROC 0 1) (LSET 0 4 6) (PROC 0 2) (LSET 0 4 5) (PROC 0 ", +"3) (LSET 0 4 4) (PROC 0 4) (LSET 0 4 3) (PROC 0 5) (LSET 0 4 2) (PROC 0 6) (PROC", +" 1 7) (PROC 2 8) (CALL 2)) ((((LREF 0 5 10) (PROC 1 0) (LREF 2 0 2) (CALL 2)) ((", +"((GREF 0 0) (LREF 1 1 1) (LREF 2 6 8) (LREF 3 0 1) (CALL 3)) () (dictionary-has?", +") (1 . #f) 5)) () (2 . #f) 4) (((LREF 0 5 10) (PROC 1 0) (LREF 2 0 2) (CALL 2)) ", +"((((PROC 0 0) (LREF 1 1 1) (LREF 2 0 1) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF", +" 2 0 2) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 1) (LOAD 3 1) (CALL 3)) (((", +"(GREF 0 0) (PROC 1 0) (LREF 2 0 1) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 ", +"1) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (CALL 1)) ((((PROC 0 0) (LREF 1 5 1) (LREF", +" 2 1 1) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LOAD 2 1) (LOAD 3 2) (L", +"REF 4 0 2) (CALL 4)) ((((GREF 0 0) (PROC 1 0) (LOAD 2 1) (LOAD 3 2) (LREF 4 1 2)", +" (CALL 4)) ((((GREF 0 0) (PROC 1 0) (LOAD 2 1) (LOAD 3 2) (LREF 4 2 2) (CALL 4))", +" ((((GREF 0 0) (PROC 1 0) (LOAD 2 1) (LOAD 3 2) (LREF 4 3 2) (CALL 4)) ((((GREF ", +"0 0) (PROC 1 0) (LREF 2 4 2) (LREF 3 4 3) (CALL 3)) ((((GREF 0 0) (LREF 1 5 1) (", +"LREF 2 18 8) (LREF 3 11 2) (LREF 4 0 1) (CALL 4)) () (dictionary-set!) (1 . #f) ", +"6)) (cons) (1 . #f) 5)) (set-identifier! cond-expand cond-expand) (1 . #f) 6)) (", +"set-identifier! export export) (1 . #f) 6)) (set-identifier! import import) (1 .", +" #f) 6)) (set-identifier! define-library define-library) (3 . #f) 6)) () (1 . #f", +") 5)) (make-dictionary) (1 . #f) 3)) (make-environment) (1 . #f) 4)) (string->sy", +"mbol) (1 . #f) 4)) (string-append \":\") (1 . #f) 5)) (symbol->string) (2 . #f) 4)", +") () (1 . #f) 4)) () (2 . #f) 4) (((LREF 0 5 10) (PROC 1 0) (LREF 2 0 2) (CALL 2", +")) ((((GREF 0 0) (PROC 1 0) (LREF 2 6 8) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (L", +"REF 1 2 1) (LREF 2 0 1) (CALL 2)) () (car) (1 . #f) 4)) (dictionary-ref) (1 . #f", +") 5)) () (2 . #f) 4) (((LREF 0 5 10) (PROC 1 0) (LREF 2 0 2) (CALL 2)) ((((GREF ", +"0 0) (PROC 1 0) (LREF 2 6 8) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (LREF 1 2 1) (", +"LREF 2 0 1) (CALL 2)) () (cdr) (1 . #f) 4)) (dictionary-ref) (1 . #f) 5)) () (2 ", +". #f) 4) (((LREF 0 5 4) (PROC 1 0) (LREF 2 0 2) (CALL 2)) ((((GREF 0 0) (PROC 1 ", +"0) (LREF 2 0 1) (LREF 3 1 3) (CALL 3)) ((((PROC 0 0) (LREF 1 2 1) (LREF 2 0 1) (", +"CALL 2)) ((((LREF 0 8 9) (PROC 1 0) (CALL 1)) ((((LREF 0 9 5) (PROC 1 0) (LREF 2", +" 0 1) (CALL 2)) ((((PROC 0 0) (LREF 1 2 1) (LREF 2 0 1) (CALL 2)) ((((GREF 0 0) ", +"(LREF 1 0 1) (LREF 2 6 4) (LREF 3 3 2) (LREF 4 0 2) (CALL 4)) () (set-identifier", +"!) (2 . #f) 6)) () (1 . #f) 4)) () (1 . #f) 4)) () (2 . #f) 3)) () (1 . #f) 4)) ", +"(dictionary-ref) (1 . #f) 5)) () (4 . #f) 4) (((LREF 0 5 9) (PROC 1 0) (CALL 1))", +" ((((LREF 0 6 5) (PROC 1 0) (LREF 2 0 1) (CALL 2)) ((((LREF 0 7 9) (PROC 1 0) (C", +"ALL 1)) ((((LREF 0 8 4) (PROC 1 0) (LREF 2 0 1) (CALL 2)) ((((PROC 0 0) (LREF 1 ", +"4 1) (LREF 2 2 1) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 5 2) (", +"LREF 3 0 2) (CALL 3)) ((((GREF 0 0) (LREF 1 1 1) (LREF 2 1 3) (LREF 3 6 3) (LREF", +" 4 0 1) (CALL 4)) () (dictionary-set!) (1 . #f) 6)) (find-identifier) (3 . #f) 5", +")) () (1 . #f) 5)) () (1 . #f) 4)) () (1 . #f) 3)) () (1 . #f) 4)) () (3 . #f) 3", +") (((LREF 0 0 2) (PROC 1 0) (LOAD 2 0) (PROC 3 1) (CALL 3)) ((((LREF 0 1 2) (PRO", +"C 1 0) (LOAD 2 0) (PROC 3 1) (CALL 3)) ((((LREF 0 2 2) (PROC 1 0) (LOAD 2 0) (PR", +"OC 3 1) (CALL 3)) ((((LREF 0 3 2) (LREF 1 3 1) (LOAD 2 0) (PROC 3 0) (CALL 3)) (", +"(((PROC 0 0) (LREF 1 0 1) (LOADU 2) (LOADU 3) (CALL 3)) ((((PROC 0 0) (LSET 0 0 ", +"2) (PROC 0 1) (LSET 0 0 3) (GREF 0 0) (PROC 1 2) (LREF 2 1 2) (CALL 2)) ((((GREF", +" 0 0) (PROC 1 0) (LREF 2 0 2) (CALL 2)) ((((LREF 0 0 1) (COND 0 10) (GREF 0 0) (", +"LREF 1 1 1) (LREF 2 1 2) (LREF 3 1 2) (CALL 3) 10 (PROC 0 0) (PROC 1 1) (CALL 1)", +") ((((GREF 0 0) (PROC 1 0) (LREF 2 2 2) (CALL 2)) ((((LREF 0 0 1) (COND 0 11) (G", +"REF 0 0) (PROC 1 0) (LREF 2 3 2) (CALL 2) 11 (LREF 0 1 1) (LOADF 1) (CALL 1)) ((", +"((GREF 0 0) (PROC 1 0) (LREF 2 0 1) (LOADI 3 3) (CALL 3)) ((((LREF 0 0 1) (COND ", +"0 12) (GREF 0 0) (PROC 1 0) (LREF 2 5 2) (CALL 2) 12 (LREF 0 3 1) (LOADF 1) (CAL", +"L 1)) ((((GREF 0 0) (LREF 1 4 1) (LREF 2 0 1) (LOAD 3 1) (CALL 3)) () (eq? renam", +"e) (1 . #f) 5)) (car) (1 . #f) 4)) (=) (1 . #f) 5)) (length) (1 . #f) 4)) (list?", +") (1 . #f) 4) (((LREF 0 0 1) (COND 0 13) (GREF 0 0) (PROC 1 0) (LREF 2 2 2) (LOA", +"DI 3 1) (CALL 3) 13 (GREF 0 1) (LREF 1 2 1) (LOAD 2 2) (CALL 2)) ((((GREF 0 0) (", +"PROC 1 0) (LREF 2 3 2) (LOADI 3 2) (CALL 3)) ((((GREF 0 0) (LREF 1 4 1) (LREF 2 ", +"1 1) (LREF 3 0 1) (CALL 3)) () (cons) (1 . #f) 5)) (list-ref) (1 . #f) 5)) (list", +"-ref error \"malformed export\") (1 . #f) 5)) (cons) (1 . #f) 5)) (symbol?) (2 . #", +"f) 4) (((LREF 0 1 2) (PROC 1 0) (LREF 2 0 2) (CALL 2)) ((((PROC 0 0) (LREF 1 1 1", +") (LREF 2 0 1) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (CALL 2)) ((((GRE", +"F 0 0) (PROC 1 0) (LREF 2 1 2) (CALL 2)) ((((LREF 0 15 2) (LREF 1 2 1) (LREF 2 1", +" 1) (LREF 3 0 1) (CALL 3)) () () (1 . #f) 5)) (cdr) (1 . #f) 4)) (car) (2 . #f) ", +"4)) () (1 . #f) 4)) () (2 . #f) 4) (((GREF 0 0) (LREF 1 1 1) (LREF 2 1 3) (LREF ", +"3 0 1) (CALL 3)) () (for-each) (1 . #f) 5)) (cdr) (3 . #f) 4)) () (3 . #f) 5)) (", +"export) (1 . #f) 5) (((PROC 0 0) (LREF 1 0 1) (PROC 2 1) (PROC 3 2) (PROC 4 3) (", +"CALL 4)) ((((PROC 0 0) (LREF 1 0 1) (LOADU 2) (LOADU 3) (CALL 3)) ((((PROC 0 0) ", +"(LSET 0 0 2) (PROC 0 1) (LSET 0 0 3) (PROC 0 2) (LREF 1 0 1) (LOADU 2) (CALL 2))", +" ((((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (CALL 2)) ((((PROC 0 0) (LREF 1 1 1) (LRE", +"F 2 0 1) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (LOAD 3 1) (CALL 3)) ((", +"((PROC 0 0) (PROC 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 14) (LREF ", +"0 0 1) (LREF 1 0 2) (CALL 1) 14 (GREF 0 0) (PROC 1 0) (LREF 2 2 2) (LOAD 3 1) (C", +"ALL 3)) ((((PROC 0 0) (LREF 1 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND ", +"0 15) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 15 (GREF 0 0) (PROC 1 0) (LREF 2 4 2) (", +"LOAD 3 1) (CALL 3)) ((((PROC 0 0) (LREF 1 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0", +" 0 2) (COND 0 16) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 16 (GREF 0 0) (PROC 1 0) (L", +"REF 2 6 2) (LOAD 3 1) (CALL 3)) ((((PROC 0 0) (LREF 1 1 1) (LREF 2 0 1) (CALL 2)", +") ((((LREF 0 0 2) (COND 0 17) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 17 (LREF 0 0 1)", +" (LOADF 1) (CALL 1)) () () (2 . #f) 3)) () (1 . #f) 4)) (eqv? except) (2 . #f) 5", +")) () (1 . #f) 4)) (eqv? prefix) (2 . #f) 5)) () (1 . #f) 4)) (eqv? rename) (2 .", +" #f) 5) (((LREF 0 0 1) (COND 0 18) (GREF 0 0) (PROC 1 0) (LREF 2 4 2) (CALL 2) 1", +"8 (LOADT 0) (COND 0 19) (LREF 0 6 4) (LREF 1 2 1) (LREF 2 4 2) (CALL 2) 19 (LREF", +" 0 2 1) (LOADU 1) (CALL 1)) ((((LREF 0 6 2) (LREF 1 3 1) (LREF 2 0 1) (CALL 2)) ", +"() () (1 . #f) 4)) (cadr) (1 . #f) 4)) () (1 . #f) 4)) (eqv? only) (2 . #f) 5)) ", +"() (1 . #f) 4)) (car) (2 . #f) 4) (((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (CALL 2))", +" ((((PROC 0 0) (LREF 1 1 1) (LREF 2 0 1) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LRE", +"F 2 0 2) (LOAD 3 1) (CALL 3)) ((((PROC 0 0) (PROC 1 1) (LREF 2 0 1) (CALL 2)) ((", +"((LREF 0 0 2) (COND 0 20) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 20 (LREF 0 0 1) (LO", +"ADF 1) (CALL 1)) () () (2 . #f) 3) (((LREF 0 0 1) (COND 0 21) (GREF 0 0) (PROC 1", +" 0) (LREF 2 4 2) (CALL 2) 21 (GREF 0 1) (PROC 1 1) (LREF 2 2 2) (LOAD 3 2) (CALL", +" 3)) ((((LREF 0 6 3) (PROC 1 0) (LREF 2 0 1) (CALL 2)) ((((PROC 0 0) (LREF 1 4 1", +") (LREF 2 0 1) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 7 2) (CALL 2)) ((((GRE", +"F 0 0) (LREF 1 1 1) (PROC 2 0) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (LREF 1 0 1)", +" (LREF 2 0 2) (LREF 3 2 2) (CALL 3)) () (assq) (2 . #f) 5)) (map) (1 . #f) 5)) (", +"cddr) (2 . #f) 4)) () (1 . #f) 4)) () (1 . #f) 4) (((PROC 0 0) (PROC 1 1) (LREF ", +"2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 22) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) ", +"22 (LREF 0 0 1) (LOADF 1) (CALL 1)) () () (2 . #f) 3) (((LREF 0 0 1) (COND 0 23)", +" (GREF 0 0) (PROC 1 0) (LREF 2 6 2) (CALL 2) 23 (GREF 0 1) (PROC 1 1) (LREF 2 4 ", +"2) (LOAD 3 2) (CALL 3)) ((((LREF 0 8 3) (PROC 1 0) (LREF 2 0 1) (CALL 2)) ((((GR", +"EF 0 0) (PROC 1 0) (LREF 2 8 2) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (PROC 2 1) (L", +"REF 3 0 1) (CALL 3)) ((((PROC 0 0) (LREF 1 8 1) (LREF 2 2 1) (LREF 3 0 1) (CALL ", +"3)) ((((GREF 0 0) (LREF 1 0 1) (PROC 2 0) (LREF 3 0 2) (CALL 3)) ((((GREF 0 0) (", +"PROC 1 0) (LREF 2 0 2) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 1) (LREF 3 2", +" 3) (CALL 3)) ((((PROC 0 0) (LREF 1 2 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) ", +"(COND 0 24) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 24 (PROC 0 0) (LREF 1 0 1) (LREF ", +"2 3 2) (CALL 2)) ((((LREF 0 0 2) (COND 0 25) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) ", +"25 (LREF 0 0 1) (LOADF 1) (CALL 1)) () () (2 . #f) 3)) () (2 . #f) 4)) () (1 . #", +"f) 4)) (assq) (1 . #f) 5)) (car) (2 . #f) 4)) (map) (3 . #f) 5)) () (1 . #f) 5) ", +"(((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 ", +"1 2) (CALL 2)) ((((GREF 0 0) (LREF 1 2 1) (LREF 2 1 1) (LREF 3 0 1) (CALL 3)) ()", +" (cons) (1 . #f) 5)) (cadr) (1 . #f) 4)) (car) (2 . #f) 4)) (map) (1 . #f) 5)) (", +"cddr) (1 . #f) 4)) () (1 . #f) 4) (((PROC 0 0) (PROC 1 1) (LREF 2 0 1) (CALL 2))", +" ((((LREF 0 0 2) (COND 0 26) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 26 (LREF 0 0 1) ", +"(LOADF 1) (CALL 1)) () () (2 . #f) 3) (((LREF 0 0 1) (COND 0 27) (GREF 0 0) (PRO", +"C 1 0) (LREF 2 8 2) (CALL 2) 27 (GREF 0 1) (PROC 1 1) (LREF 2 6 2) (LOAD 3 2) (C", +"ALL 3)) ((((LREF 0 10 3) (PROC 1 0) (LREF 2 0 1) (CALL 2)) ((((PROC 0 0) (LREF 1", +" 8 1) (LREF 2 0 1) (CALL 2)) ((((GREF 0 0) (LREF 1 0 1) (PROC 2 0) (LREF 3 0 2) ", +"(CALL 3)) ((((LREF 0 14 2) (PROC 1 0) (LREF 2 12 2) (CALL 2)) ((((GREF 0 0) (PRO", +"C 1 0) (LREF 2 1 2) (CALL 2)) ((((LREF 0 16 3) (PROC 1 0) (LREF 2 1 1) (LREF 3 0", +" 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 3 2) (CALL 2)) ((((GREF 0 0) (LRE", +"F 1 4 1) (LREF 2 1 1) (LREF 3 0 1) (CALL 3)) () (cons) (1 . #f) 5)) (cdr) (1 . #", +"f) 4)) () (1 . #f) 5)) (car) (1 . #f) 4)) () (2 . #f) 4)) (map) (2 . #f) 5)) () ", +"(1 . #f) 4)) () (1 . #f) 4) (((PROC 0 0) (PROC 1 1) (LREF 2 0 1) (CALL 2)) ((((L", +"REF 0 0 2) (COND 0 28) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 28 (LREF 0 0 1) (LOADF", +" 1) (CALL 1)) () () (2 . #f) 3) (((LREF 0 0 1) (COND 0 29) (GREF 0 0) (PROC 1 0)", +" (LREF 2 10 2) (CALL 2) 29 (LOADT 0) (COND 0 32) (LREF 0 12 4) (PROC 1 1) (LREF ", +"2 10 2) (CALL 2) 32 (LREF 0 8 1) (LOADU 1) (CALL 1)) ((((LREF 0 12 3) (PROC 1 0)", +" (LREF 2 0 1) (CALL 2)) ((((PROC 0 0) (LREF 1 10 1) (LREF 2 0 1) (CALL 2)) ((((P", +"ROC 0 0) (LREF 1 0 1) (CALL 1)) ((((PROC 0 0) (LREF 1 0 1) (LOADF 2) (CALL 2)) (", +"(((PROC 0 0) (LSET 0 0 2) (LREF 0 0 2) (LREF 1 0 1) (LREF 2 2 2) (CALL 2)) ((((G", +"REF 0 0) (PROC 1 0) (LREF 2 0 2) (CALL 2)) ((((LREF 0 0 1) (COND 0 30) (LREF 0 1", +" 1) (LOADN 1) (CALL 1) 30 (GREF 0 0) (PROC 1 0) (LREF 2 1 2) (CALL 2)) ((((GREF ", +"0 0) (PROC 1 0) (LREF 2 18 2) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 1 1) (L", +"REF 3 0 1) (CALL 3)) ((((LREF 0 0 1) (COND 0 31) (GREF 0 0) (PROC 1 0) (LREF 2 4", +" 2) (CALL 2) 31 (GREF 0 1) (PROC 1 1) (LREF 2 4 2) (CALL 2)) ((((LREF 0 6 2) (LR", +"EF 1 5 1) (LREF 2 0 1) (CALL 2)) () () (1 . #f) 4) (((GREF 0 0) (PROC 1 0) (LREF", +" 2 5 2) (CALL 2)) ((((LREF 0 7 2) (PROC 1 0) (LREF 2 0 1) (CALL 2)) ((((GREF 0 0", +") (LREF 1 7 1) (LREF 2 2 1) (LREF 3 0 1) (CALL 3)) () (cons) (1 . #f) 5)) () (1 ", +". #f) 4)) (cdr) (1 . #f) 4)) (cdr car) (1 . #f) 4)) (memq) (1 . #f) 5)) (cddr) (", +"1 . #f) 4)) (caar) (1 . #f) 4)) (null?) (2 . #f) 4)) () (2 . #f) 4)) () (1 . #f)", +" 4)) () (2 . #f) 3)) () (1 . #f) 4)) () (1 . #f) 4) (((LREF 0 22 4) (PROC 1 0) (", +"LREF 2 0 1) (CALL 2)) ((((GREF 0 0) (LREF 1 10 1) (PROC 2 0) (LREF 3 0 1) (CALL ", +"3)) ((((GREF 0 0) (LREF 1 0 1) (LREF 2 0 2) (LREF 3 0 2) (CALL 3)) () (cons) (2 ", +". #f) 5)) (dictionary-map) (1 . #f) 5)) () (1 . #f) 4)) (cadr) (1 . #f) 4)) () (", +"1 . #f) 4)) (cadr eqv? except) (1 . #f) 5)) () (1 . #f) 4)) (cadr eqv? prefix) (", +"1 . #f) 5)) () (1 . #f) 4)) (cadr eqv? rename) (1 . #f) 5)) () (1 . #f) 4)) (eqv", +"? only) (2 . #f) 5)) () (1 . #f) 4)) (car) (2 . #f) 4) (((PROC 0 0) (LSET 0 0 2)", +" (GREF 0 0) (PROC 1 1) (LREF 2 3 2) (CALL 2)) ((((LREF 0 2 2) (PROC 1 0) (LREF 2", +" 0 2) (CALL 2)) ((((LREF 0 3 3) (PROC 1 0) (LREF 2 1 2) (CALL 2)) ((((PROC 0 0) ", +"(LREF 1 2 1) (LREF 2 1 1) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (LREF 1 0 1) (PRO", +"C 2 0) (LREF 3 0 3) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (CALL 2)) ((", +"((GREF 0 0) (PROC 1 0) (LREF 2 1 2) (CALL 2)) ((((LREF 0 18 3) (LREF 1 2 1) (LRE", +"F 2 3 2) (LREF 3 1 1) (LREF 4 0 1) (CALL 4)) () () (1 . #f) 6)) (car) (1 . #f) 4", +")) (cdr) (2 . #f) 4)) (for-each) (3 . #f) 5)) () (1 . #f) 5)) () (1 . #f) 4)) ()", +" (2 . #f) 4) (((GREF 0 0) (LREF 1 1 1) (LREF 2 1 2) (LREF 3 0 1) (CALL 3)) () (f", +"or-each) (1 . #f) 5)) (cdr) (2 . #f) 4)) () (3 . #f) 4)) () (4 . #f) 5) (((GREF ", +"0 0) (PROC 1 0) (LREF 2 0 2) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 1) (CA", +"LL 2)) ((((GREF 0 0) (LREF 1 2 1) (LREF 2 0 1) (CALL 2)) () (car) (1 . #f) 4)) (", +"cdr) (1 . #f) 4)) (cdr) (2 . #f) 4) (((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (CALL 2", +")) ((((GREF 0 0) (PROC 1 0) (LREF 2 1 3) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LRE", +"F 2 1 1) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (LREF 1 3 1) (LREF 2 0 1) (CALL 2)", +") () (string->symbol) (1 . #f) 4)) (string-append) (1 . #f) 5)) (symbol->string)", +" (1 . #f) 4)) (symbol->string) (3 . #f) 4) (((LREF 0 9 7) (PROC 1 0) (LREF 2 0 2", +") (CALL 2)) ((((LREF 0 0 1) (COND 0 33) (LREF 0 1 1) (LREF 1 1 2) (CALL 1) 33 (G", +"REF 0 0) (LREF 1 1 1) (LOAD 2 1) (LREF 3 1 2) (CALL 3)) () (error \"library not f", +"ound\") (1 . #f) 5)) () (2 . #f) 4)) () (3 . #f) 6)) (import) (1 . #f) 5) (((PROC", +" 0 0) (LREF 1 0 1) (LOADU 2) (CALL 2)) ((((PROC 0 0) (LSET 0 0 2) (PROC 0 1) (LR", +"EF 1 0 1) (CALL 1)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (LOAD 3 1) (CALL 3)) (", +"(((PROC 0 0) (LREF 1 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 34) (LR", +"EF 0 0 1) (LREF 1 0 2) (CALL 1) 34 (PROC 0 0) (PROC 1 1) (CALL 1)) ((((GREF 0 0)", +" (PROC 1 0) (LREF 2 3 2) (CALL 2)) ((((LREF 0 0 1) (COND 0 35) (GREF 0 0) (PROC ", +"1 0) (CALL 1) 35 (LREF 0 1 1) (LOADF 1) (CALL 1)) ((((GREF 0 0) (LREF 1 2 1) (LR", +"EF 2 5 2) (LREF 3 0 1) (CALL 3)) () (memq) (1 . #f) 5)) (features) (1 . #f) 3)) ", +"(symbol?) (1 . #f) 4) (((PROC 0 0) (LREF 1 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF ", +"0 0 2) (COND 0 36) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 36 (PROC 0 0) (PROC 1 1) (", +"CALL 1)) ((((GREF 0 0) (PROC 1 0) (LREF 2 5 2) (CALL 2)) ((((LREF 0 0 1) (COND 0", +" 37) (GREF 0 0) (PROC 1 0) (LREF 2 6 2) (CALL 2) 37 (LREF 0 1 1) (LOADF 1) (CALL", +" 1)) ((((PROC 0 0) (LREF 1 2 1) (LREF 2 0 1) (CALL 2)) ((((GREF 0 0) (PROC 1 0) ", +"(LREF 2 0 2) (LOAD 3 1) (CALL 3)) ((((PROC 0 0) (PROC 1 1) (LREF 2 0 1) (CALL 2)", +") ((((LREF 0 0 2) (COND 0 38) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 38 (LREF 0 0 1)", +" (LOADF 1) (CALL 1)) () () (2 . #f) 3) (((LREF 0 0 1) (COND 0 39) (GREF 0 0) (PR", +"OC 1 0) (LREF 2 10 2) (CALL 2) 39 (GREF 0 1) (PROC 1 1) (LREF 2 2 2) (LOAD 3 2) ", +"(CALL 3)) ((((LREF 0 20 7) (LREF 1 3 1) (LREF 2 0 1) (CALL 2)) () () (1 . #f) 4)", +" (((PROC 0 0) (PROC 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 40) (LRE", +"F 0 0 1) (LREF 1 0 2) (CALL 1) 40 (LREF 0 0 1) (LOADF 1) (CALL 1)) () () (2 . #f", +") 3) (((LREF 0 0 1) (COND 0 41) (GREF 0 0) (PROC 1 0) (LREF 2 12 2) (CALL 2) 41 ", +"(GREF 0 1) (PROC 1 1) (LREF 2 4 2) (LOAD 3 2) (CALL 3)) ((((LREF 0 14 2) (PROC 1", +" 0) (LREF 2 0 1) (CALL 2)) ((((GREF 0 0) (LREF 1 6 1) (LREF 2 0 1) (CALL 2)) () ", +"(not) (1 . #f) 4)) () (1 . #f) 4) (((PROC 0 0) (PROC 1 1) (LREF 2 0 1) (CALL 2))", +" ((((LREF 0 0 2) (COND 0 42) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 42 (LREF 0 0 1) ", +"(LOADF 1) (CALL 1)) () () (2 . #f) 3) (((LREF 0 0 1) (COND 0 43) (PROC 0 0) (LRE", +"F 1 6 1) (CALL 1) 43 (GREF 0 0) (PROC 1 1) (LREF 2 6 2) (LOAD 3 1) (CALL 3)) (((", +"(PROC 0 0) (LREF 1 0 1) (LOADF 2) (CALL 2)) ((((PROC 0 0) (LSET 0 0 2) (GREF 0 0", +") (PROC 1 1) (LREF 2 16 2) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (CALL", +" 2)) ((((PROC 0 0) (LREF 1 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 4", +"4) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 44 (PROC 0 0) (PROC 1 1) (CALL 1)) ((((GRE", +"F 0 0) (PROC 1 0) (LREF 2 3 2) (CALL 2)) ((((LREF 0 22 2) (PROC 1 0) (LREF 2 0 1", +") (CALL 2)) ((((LREF 0 0 1) (COND 0 45) (GREF 0 0) (PROC 1 0) (LREF 2 5 2) (CALL", +" 2) 45 (LREF 0 2 1) (LOADF 1) (CALL 1)) ((((LREF 0 7 2) (LREF 1 3 1) (LREF 2 0 1", +") (CALL 2)) () () (1 . #f) 4)) (cdr) (1 . #f) 4)) () (1 . #f) 4)) (car) (1 . #f)", +" 4) (((PROC 0 0) (LREF 1 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 46)", +" (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 46 (LREF 0 0 1) (LOADF 1) (CALL 1)) () () (2", +" . #f) 3)) () (1 . #f) 4)) () (2 . #f) 3)) () (1 . #f) 4)) (null?) (2 . #f) 4) (", +"((LREF 0 1 2) (LREF 1 1 1) (LREF 2 0 1) (CALL 2)) () () (1 . #f) 4)) (cdr) (2 . ", +"#f) 4)) () (1 . #f) 4) (((PROC 0 0) (PROC 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0", +" 0 2) (COND 0 47) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 47 (LREF 0 0 1) (LOADF 1) (", +"CALL 1)) () () (2 . #f) 3) (((LREF 0 0 1) (COND 0 48) (PROC 0 0) (LREF 1 8 1) (C", +"ALL 1) 48 (LOADT 0) (COND 0 52) (LREF 0 8 1) (LOADF 1) (CALL 1) 52 (LREF 0 8 1) ", +"(LOADU 1) (CALL 1)) ((((PROC 0 0) (LREF 1 0 1) (LOADF 2) (CALL 2)) ((((PROC 0 0)", +" (LSET 0 0 2) (GREF 0 0) (PROC 1 1) (LREF 2 18 2) (CALL 2)) ((((GREF 0 0) (PROC ", +"1 0) (LREF 2 0 2) (CALL 2)) ((((LREF 0 0 1) (COND 0 49) (GREF 0 0) (PROC 1 0) (L", +"REF 2 1 2) (CALL 2) 49 (LREF 0 1 1) (LOADF 1) (CALL 1)) ((((LREF 0 22 2) (PROC 1", +" 0) (LREF 2 0 1) (CALL 2)) ((((PROC 0 0) (LREF 1 3 1) (LREF 2 0 1) (CALL 2)) (((", +"(LREF 0 0 2) (COND 0 50) (LREF 0 0 1) (LREF 1 0 2) (CALL 1) 50 (GREF 0 0) (PROC ", +"1 0) (LREF 2 4 2) (CALL 2)) ((((LREF 0 6 2) (PROC 1 0) (LREF 2 0 1) (CALL 2)) ((", +"((PROC 0 0) (LREF 1 2 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 51) (LRE", +"F 0 0 1) (LREF 1 0 2) (CALL 1) 51 (LREF 0 0 1) (LOADF 1) (CALL 1)) () () (2 . #f", +") 3)) () (1 . #f) 4)) () (1 . #f) 4)) (cdr) (2 . #f) 4)) () (1 . #f) 4)) () (1 .", +" #f) 4)) (car) (1 . #f) 4)) (pair?) (2 . #f) 4) (((LREF 0 1 2) (LREF 1 1 1) (LRE", +"F 2 0 1) (CALL 2)) () () (1 . #f) 4)) (cdr) (2 . #f) 4)) () (1 . #f) 4)) () (1 .", +" #f) 3)) () (1 . #f) 4)) (eqv? or) (1 . #f) 5)) () (1 . #f) 4)) (cadr eqv? and) ", +"(1 . #f) 5)) () (1 . #f) 4)) (cadr eqv? not) (1 . #f) 5)) () (1 . #f) 4)) (eqv? ", +"library) (2 . #f) 5)) () (1 . #f) 4)) (car) (1 . #f) 4)) (pair?) (1 . #f) 4) (((", +"PROC 0 0) (LREF 1 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 53) (LREF ", +"0 0 1) (LREF 1 0 2) (CALL 1) 53 (LREF 0 0 1) (LOADF 1) (CALL 1)) () () (2 . #f) ", +"3)) () (1 . #f) 4)) () (2 . #f) 3)) () (1 . #f) 4)) () (2 . #f) 3)) () (1 . #f) ", +"4)) (eq? else) (2 . #f) 5) (((PROC 0 0) (LREF 1 0 1) (LOADF 2) (CALL 2)) ((((PRO", +"C 0 0) (LSET 0 0 2) (GREF 0 0) (PROC 1 1) (LREF 2 3 2) (CALL 2)) ((((GREF 0 0) (", +"PROC 1 0) (LREF 2 0 2) (CALL 2)) ((((LREF 0 0 1) (COND 0 54) (LREF 0 1 1) (LOADU", +" 1) (CALL 1) 54 (GREF 0 0) (PROC 1 0) (LREF 2 1 2) (CALL 2)) ((((LREF 0 5 2) (PR", +"OC 1 0) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 1) (COND 0 55) (GREF 0 0) (PROC 1 0)", +" (LOAD 2 1) (GREF 3 2) (CALL 3) 55 (GREF 0 3) (PROC 1 1) (LREF 2 3 2) (CALL 2)) ", +"((((GREF 0 0) (PROC 1 0) (LREF 2 4 2) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2", +" 0 1) (LOADN 3) (CALL 3)) ((((GREF 0 0) (LREF 1 6 1) (LREF 2 2 1) (LREF 3 0 1) (", +"CALL 3)) () (cons) (1 . #f) 5)) (append) (1 . #f) 5)) (cdar) (1 . #f) 4) (((LREF", +" 0 5 2) (LREF 1 4 1) (LREF 2 0 1) (CALL 2)) () () (1 . #f) 4)) (make-identifier ", +"begin default-environment cdr) (1 . #f) 5)) () (1 . #f) 4)) (caar) (1 . #f) 4)) ", +"(null?) (2 . #f) 4) (((LREF 0 1 2) (LREF 1 1 1) (LREF 2 0 1) (CALL 2)) () () (1 ", +". #f) 4)) (cdr) (2 . #f) 4)) () (1 . #f) 4)) () (2 . #f) 3)) () (3 . #f) 4)) (co", +"nd-expand) (1 . #f) 5) (((GREF 0 0) (PROC 1 0) (LREF 2 0 2) (CALL 2)) ((((GREF 0", +" 0) (PROC 1 0) (LREF 2 1 2) (CALL 2)) ((((PROC 0 0) (LREF 1 2 1) (LREF 2 1 1) (L", +"REF 3 0 1) (CALL 3)) ((((LREF 0 9 7) (PROC 1 0) (LREF 2 0 2) (CALL 2)) ((((PROC ", +"0 0) (PROC 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 56) (LREF 0 0 1) ", +"(LREF 1 0 2) (CALL 1) 56 (LREF 0 11 6) (PROC 1 0) (LREF 2 2 2) (CALL 2)) ((((PRO", +"C 0 0) (LREF 1 1 1) (LREF 2 0 1) (CALL 2)) ((((LREF 0 0 2) (COND 0 57) (LREF 0 0", +" 1) (LREF 1 0 2) (CALL 1) 57 (LREF 0 0 1) (LOADF 1) (CALL 1)) () () (2 . #f) 3))", +" () (1 . #f) 4)) () (2 . #f) 4) (((GREF 0 0) (PROC 1 0) (LREF 2 11 9) (LREF 3 2 ", +"2) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 1) (CALL 2)) ((((GREF 0 0) (LREF", +" 1 4 1) (LREF 2 0 1) (PROC 3 0) (CALL 3)) ((((GREF 0 0) (LREF 1 0 1) (PROC 2 0) ", +"(LREF 3 5 3) (CALL 3)) ((((PROC 0 0) (PROC 1 1) (CALL 1)) ((((PROC 0 0) (PROC 1 ", +"1) (CALL 1)) ((((GREF 0 0) (PROC 1 0) (LREF 2 2 2) (CALL 2)) ((((LREF 0 0 1) (CO", +"ND 0 58) (GREF 0 0) (PROC 1 0) (LREF 2 3 2) (CALL 2) 58 (LREF 0 1 1) (LOADF 1) (", +"CALL 1)) ((((GREF 0 0) (LREF 1 2 1) (LREF 2 0 1) (LOAD 3 1) (CALL 3)) () (eq? be", +"gin) (1 . #f) 5)) (car) (1 . #f) 4)) (pair?) (1 . #f) 4) (((LREF 0 0 1) (COND 0 ", +"59) (GREF 0 0) (LREF 1 1 1) (LREF 2 2 2) (CALL 2) 59 (GREF 0 1) (LREF 1 1 1) (LR", +"EF 2 2 2) (CALL 2)) () (cdr list) (1 . #f) 4)) () (1 . #f) 3) (((PROC 0 0) (LREF", +" 1 1 1) (LREF 2 0 1) (CALL 2)) ((((GREF 0 0) (LREF 1 0 1) (PROC 2 0) (LREF 3 0 2", +") (CALL 3)) ((((GREF 0 0) (LREF 1 0 1) (LREF 2 0 2) (LREF 3 9 2) (CALL 3)) () (e", +"val) (2 . #f) 5)) (for-each) (2 . #f) 5)) () (1 . #f) 4)) () (2 . #f) 3)) (for-e", +"ach) (1 . #f) 5)) (with-dynamic-environment) (1 . #f) 5)) (list) (1 . #f) 4)) (c", +"ons) (1 . #f) 5)) () (1 . #f) 4)) () (3 . #f) 4)) () (1 . #f) 5)) (cddr) (1 . #f", +") 4)) (cadr) (3 . #f) 4)) (define-library) (2 . #f) 5) (((PROC 0 0) (PROC 1 1) (", +"CALL 1)) ((((GREF 0 0) (PROC 1 0) (LOAD 2 1) (LOADN 3) (CALL 3)) ((((GREF 0 0) (", +"PROC 1 0) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) ((((LREF 0 8 6) (PROC 1 0) (LREF 2 0", +" 1) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LOAD 2 1) (LOADN 3) (CALL 3)) ((((GREF 0", +" 0) (PROC 1 0) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) ((((LREF 0 11 10) (PROC 1 0) (L", +"REF 2 0 1) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 12 8) (LREF 3 0 1) (CALL 3", +")) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 1) (GREF 3 1) (CALL 3)) ((((GREF 0 0) (PRO", +"C 1 0) (LOAD 2 1) (LOADN 3) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LOAD 2 1) (LREF ", +"3 0 1) (CALL 3)) ((((LREF 0 16 4) (PROC 1 0) (LREF 2 0 1) (CALL 2)) ((((PROC 0 0", +") (PROC 1 1) (LREF 2 0 1) (CALL 2)) ((((PROC 0 0) (LREF 1 0 1) (PROC 2 1) (CALL ", +"2)) ((((PROC 0 0) (LREF 1 0 1) (CALL 1)) ((((GREF 0 0) (PROC 1 0) (LOAD 2 1) (LO", +"ADN 3) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) ((((", +"GREF 0 0) (PROC 1 0) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) ", +"(LOAD 2 1) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LOAD 2 1) (LREF 3 0 ", +"1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) ((((GREF", +" 0 0) (PROC 1 0) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LOA", +"D 2 1) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LOAD 2 1) (LREF 3 0 1) (", +"CALL 3)) ((((GREF 0 0) (PROC 1 0) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0", +") (PROC 1 0) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LOAD 2 ", +"1) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LOAD 2 1) (LREF 3 0 1) (CALL", +" 3)) ((((GREF 0 0) (PROC 1 0) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (P", +"ROC 1 0) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LOAD 2 1) (", +"LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LOAD 2 1) (LREF 3 0 1) (CALL 3))", +" ((((GREF 0 0) (PROC 1 0) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (PROC ", +"1 0) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LOAD 2 1) (LREF", +" 3 0 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) (((", "(GREF 0 0) (PROC 1 0) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0)", " (LOAD 2 1) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LOAD 2 1) (LREF 3 0", " 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) ((((GRE", "F 0 0) (PROC 1 0) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LO", "AD 2 1) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LOAD 2 1) (LREF 3 0 1) ", -"(CALL 3)) ((((GREF 0 0) (PROC 1 0) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) ((((GREF 0 ", -"0) (PROC 1 0) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LOAD 2", -" 1) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LOAD 2 1) (LREF 3 0 1) (CAL", -"L 3)) ((((GREF 0 0) (PROC 1 0) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (", -"PROC 1 0) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LOAD 2 1) ", -"(LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LOAD 2 1) (LREF 3 0 1) (CALL 3)", -") ((((GREF 0 0) (PROC 1 0) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (PROC", -" 1 0) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LOAD 2 1) (LRE", -"F 3 0 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) ((", -"((GREF 0 0) (PROC 1 0) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0", -") (LOAD 2 1) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LOAD 2 1) (LREF 3 ", -"0 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) ((((GR", -"EF 0 0) (PROC 1 0) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (L", -"OAD 2 1) (LREF 3 0 1) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LOAD 2 1) (LREF 3 0 1)", -" (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) ((((GREF 0", -" 0) (PROC 1 0) (LREF 2 29 2) (LREF 3 0 1) (CALL 3)) ((((LREF 0 30 2) (PROC 1 0) ", -"(LOAD 2 0) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (CALL 1)) ((((GREF 0 0) (LREF 1 31", -" 1) (LREF 2 32 2) (LREF 3 0 1) (CALL 3)) () (dictionary-for-each) (1 . #f) 5)) (", -"global-objects) (1 . #f) 3)) (boolean?) (1 . #f) 4)) (for-each) (1 . #f) 5)) (co", -"ns define) (1 . #f) 5)) (cons lambda) (1 . #f) 5)) (cons quote) (1 . #f) 5)) (co", -"ns set!) (1 . #f) 5)) (cons if) (1 . #f) 5)) (cons begin) (1 . #f) 5)) (cons def", -"ine-macro) (1 . #f) 5)) (cons let) (1 . #f) 5)) (cons let*) (1 . #f) 5)) (cons l", -"etrec) (1 . #f) 5)) (cons letrec*) (1 . #f) 5)) (cons let-values) (1 . #f) 5)) (", -"cons let*-values) (1 . #f) 5)) (cons define-values) (1 . #f) 5)) (cons quasiquot", -"e) (1 . #f) 5)) (cons unquote) (1 . #f) 5)) (cons unquote-splicing) (1 . #f) 5))", -" (cons and) (1 . #f) 5)) (cons or) (1 . #f) 5)) (cons cond) (1 . #f) 5)) (cons c", -"ase) (1 . #f) 5)) (cons else) (1 . #f) 5)) (cons =>) (1 . #f) 5)) (cons do) (1 .", -" #f) 5)) (cons when) (1 . #f) 5)) (cons unless) (1 . #f) 5)) (cons parameterize)", -" (1 . #f) 5)) (cons define-record-type) (1 . #f) 5)) () (2 . #f) 3) (((GREF 0 0)", -" (LREF 1 0 1) (LREF 2 1 2) (LREF 3 0 2) (LREF 4 0 2) (CALL 4)) () (dictionary-se", -"t!) (2 . #f) 6)) () (2 . #f) 4) (((PROC 0 0) (PROC 1 1) (GREF 2 0) (CALL 2)) (((", -"(LREF 0 0 1) (PROC 1 0) (CALL 1)) ((((PROC 0 0) (PROC 1 1) (CALL 1)) ((((GREF 0 ", -"0) (PROC 1 0) (LREF 2 1 3) (CALL 2)) ((((LREF 0 0 1) (COND 0 263) (LREF 0 22 9) ", -"(LREF 1 1 1) (CALL 1) 263 (GREF 0 0) (LREF 1 1 1) (LREF 2 2 3) (CALL 2)) () (car", -") (1 . #f) 4)) (null?) (1 . #f) 4) (((PROC 0 0) (LREF 1 1 1) (LREF 2 0 1) (CALL ", -"2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 22 9) (LREF 3 0 2) (CALL 3)) ((((GREF 0 0) ", -"(PROC 1 0) (LREF 2 0 1) (CALL 2)) ((((GREF 0 0) (LREF 1 2 1) (LREF 2 0 1) (PROC ", -"3 0) (CALL 3)) ((((LREF 0 25 5) (PROC 1 0) (LREF 2 3 2) (CALL 2)) ((((LREF 0 7 2", -") (LREF 1 1 1) (LREF 2 6 2) (LREF 3 0 1) (CALL 3)) () () (1 . #f) 5)) () (1 . #f", -") 4)) (with-dynamic-environment) (1 . #f) 5)) (list) (1 . #f) 4)) (cons) (2 . #f", -") 5)) () (1 . #f) 4)) () (2 . #t) 3)) () (2 . #f) 3) (((LREF 0 0 1) (GSET 0 0) (", -"GREF 0 1) (PROC 1 0) (LOAD 2 2) (LOADN 3) (CALL 3)) ((((GREF 0 0) (PROC 1 0) (LO", -"AD 2 1) (LREF 3 0 1) (CALL 3)) ((((LREF 0 21 6) (LREF 1 15 1) (LREF 2 0 1) (CALL", -" 2)) () () (1 . #f) 4)) (cons picrin) (1 . #f) 5)) (eval cons user) (1 . #f) 5))", -" (eval) (1 . #f) 4)) () (1 . #f) 4)) () (1 . #f) 4)) (cons picrin) (1 . #f) 5)) ", -"(cons base) (1 . #f) 5)) (set-car! default-environment) (1 . #f) 5)) (dictionary", -"-ref) (1 . #f) 5)) () (1 . #f) 4)) (cons picrin) (1 . #f) 5)) (cons base) (1 . #", -"f) 5)) () (1 . #f) 4)) (cons picrin) (1 . #f) 5)) (cons base) (1 . #f) 5) (((GRE", -"F 0 0) (LREF 1 6 1) (LREF 2 6 9) (LREF 3 6 7) (LREF 4 6 6) (LREF 5 6 5) (LREF 6 ", -"6 4) (LREF 7 6 3) (LREF 8 6 2) (CALL 8)) () (values) (1 . #f) 10)) () (1 . #f) 3", -") (((GREF 0 0) (PROC 1 0) (CALL 1)) ((((GREF 0 0) (LREF 1 1 1) (LREF 2 0 1) (LRE", -"F 3 1 2) (LREF 4 1 3) (CALL 4)) () (dictionary-set!) (1 . #f) 6)) (macro-objects", -") (3 . #f) 3)) () (1 . #f) 4)) (make-dictionary) (1 . #f) 3)) (make-parameter) (", -"1 . #f) 5)) (cons picrin) (1 . #f) 5)) (cons user) (10 . #f) 5)) () (1 . #f) 12)", -") () (1 . #f) 3) (((LREF 0 0 2) (GSET 0 0) (LREF 0 0 3) (GSET 0 1) (LREF 0 0 4) ", -"(GSET 0 2) (LREF 0 0 5) (GSET 0 3) (LREF 0 0 6) (GSET 0 4) (LREF 0 0 7) (GSET 0 ", -"5) (LREF 0 0 8) (GSET 0 6) (LREF 0 0 1) (LOADU 1) (CALL 1)) () (current-library ", -"find-library make-library library-environment library-exports library-import lib", -"rary-export) (8 . #f) 3)) (current-library find-library make-library library-env", -"ironment library-exports library-import library-export call-with-values) (1 . #f", -") 5)", +"(CALL 3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 29 2) (LREF 3 0 1) (CALL 3)) ((((LREF", +" 0 30 2) (PROC 1 0) (LOAD 2 0) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (CALL 1)) ((((", +"GREF 0 0) (LREF 1 31 1) (LREF 2 32 2) (LREF 3 0 1) (CALL 3)) () (dictionary-for-", +"each) (1 . #f) 5)) (global-objects) (1 . #f) 3)) (boolean?) (1 . #f) 4)) (for-ea", +"ch) (1 . #f) 5)) (cons define) (1 . #f) 5)) (cons lambda) (1 . #f) 5)) (cons quo", +"te) (1 . #f) 5)) (cons set!) (1 . #f) 5)) (cons if) (1 . #f) 5)) (cons begin) (1", +" . #f) 5)) (cons define-macro) (1 . #f) 5)) (cons let) (1 . #f) 5)) (cons let*) ", +"(1 . #f) 5)) (cons letrec) (1 . #f) 5)) (cons letrec*) (1 . #f) 5)) (cons let-va", +"lues) (1 . #f) 5)) (cons let*-values) (1 . #f) 5)) (cons define-values) (1 . #f)", +" 5)) (cons quasiquote) (1 . #f) 5)) (cons unquote) (1 . #f) 5)) (cons unquote-sp", +"licing) (1 . #f) 5)) (cons and) (1 . #f) 5)) (cons or) (1 . #f) 5)) (cons cond) ", +"(1 . #f) 5)) (cons case) (1 . #f) 5)) (cons else) (1 . #f) 5)) (cons =>) (1 . #f", +") 5)) (cons do) (1 . #f) 5)) (cons when) (1 . #f) 5)) (cons unless) (1 . #f) 5))", +" (cons parameterize) (1 . #f) 5)) (cons define-record-type) (1 . #f) 5)) () (2 .", +" #f) 3) (((GREF 0 0) (LREF 1 0 1) (LREF 2 1 2) (LREF 3 0 2) (LREF 4 0 2) (CALL 4", +")) () (dictionary-set!) (2 . #f) 6)) () (2 . #f) 4) (((PROC 0 0) (PROC 1 1) (GRE", +"F 2 0) (CALL 2)) ((((LREF 0 0 1) (PROC 1 0) (CALL 1)) ((((PROC 0 0) (PROC 1 1) (", +"CALL 1)) ((((GREF 0 0) (PROC 1 0) (LREF 2 1 3) (CALL 2)) ((((LREF 0 0 1) (COND 0", +" 60) (LREF 0 22 9) (LREF 1 1 1) (CALL 1) 60 (GREF 0 0) (LREF 1 1 1) (LREF 2 2 3)", +" (CALL 2)) () (car) (1 . #f) 4)) (null?) (1 . #f) 4) (((PROC 0 0) (LREF 1 1 1) (", +"LREF 2 0 1) (CALL 2)) ((((GREF 0 0) (PROC 1 0) (LREF 2 22 9) (LREF 3 0 2) (CALL ", +"3)) ((((GREF 0 0) (PROC 1 0) (LREF 2 0 1) (CALL 2)) ((((GREF 0 0) (LREF 1 2 1) (", +"LREF 2 0 1) (PROC 3 0) (CALL 3)) ((((LREF 0 25 5) (PROC 1 0) (LREF 2 3 2) (CALL ", +"2)) ((((LREF 0 7 2) (LREF 1 1 1) (LREF 2 6 2) (LREF 3 0 1) (CALL 3)) () () (1 . ", +"#f) 5)) () (1 . #f) 4)) (with-dynamic-environment) (1 . #f) 5)) (list) (1 . #f) ", +"4)) (cons) (2 . #f) 5)) () (1 . #f) 4)) () (2 . #t) 3)) () (2 . #f) 3) (((LREF 0", +" 0 1) (GSET 0 0) (GREF 0 1) (PROC 1 0) (LOAD 2 2) (LOADN 3) (CALL 3)) ((((GREF 0", +" 0) (PROC 1 0) (LOAD 2 1) (LREF 3 0 1) (CALL 3)) ((((LREF 0 21 6) (LREF 1 15 1) ", +"(LREF 2 0 1) (CALL 2)) () () (1 . #f) 4)) (cons picrin) (1 . #f) 5)) (eval cons ", +"user) (1 . #f) 5)) (eval) (1 . #f) 4)) () (1 . #f) 4)) () (1 . #f) 4)) (cons pic", +"rin) (1 . #f) 5)) (cons base) (1 . #f) 5)) (set-car! default-environment) (1 . #", +"f) 5)) (dictionary-ref) (1 . #f) 5)) () (1 . #f) 4)) (cons picrin) (1 . #f) 5)) ", +"(cons base) (1 . #f) 5)) () (1 . #f) 4)) (cons picrin) (1 . #f) 5)) (cons base) ", +"(1 . #f) 5) (((GREF 0 0) (LREF 1 6 1) (LREF 2 6 9) (LREF 3 6 7) (LREF 4 6 6) (LR", +"EF 5 6 5) (LREF 6 6 4) (LREF 7 6 3) (LREF 8 6 2) (CALL 8)) () (values) (1 . #f) ", +"10)) () (1 . #f) 3) (((GREF 0 0) (PROC 1 0) (CALL 1)) ((((GREF 0 0) (LREF 1 1 1)", +" (LREF 2 0 1) (LREF 3 1 2) (LREF 4 1 3) (CALL 4)) () (dictionary-set!) (1 . #f) ", +"6)) (macro-objects) (3 . #f) 3)) () (1 . #f) 4)) (make-dictionary) (1 . #f) 3)) ", +"(make-parameter) (1 . #f) 5)) (cons picrin) (1 . #f) 5)) (cons user) (10 . #f) 5", +")) () (1 . #f) 12)) () (1 . #f) 3) (((LREF 0 0 2) (GSET 0 0) (LREF 0 0 3) (GSET ", +"0 1) (LREF 0 0 4) (GSET 0 2) (LREF 0 0 5) (GSET 0 3) (LREF 0 0 6) (GSET 0 4) (LR", +"EF 0 0 7) (GSET 0 5) (LREF 0 0 8) (GSET 0 6) (LREF 0 0 1) (LOADU 1) (CALL 1)) ()", +" (current-library find-library make-library library-environment library-exports ", +"library-import library-export) (8 . #f) 3)) (current-library find-library make-l", +"ibrary library-environment library-exports library-import library-export call-wi", +"th-values) (1 . #f) 5)", }; #endif diff --git a/lib/ext/load.c b/lib/ext/load.c index 6cfd5df2..6f5d46a6 100644 --- a/lib/ext/load.c +++ b/lib/ext/load.c @@ -6,870 +6,172 @@ #include "picrin/extra.h" #include "../object.h" #include "../state.h" -#include "../vm.h" -#define EQ(sym, lit) (strcmp(pic_sym(pic, sym), lit) == 0) -#define S(lit) (pic_intern_lit(pic, lit)) - -#define pic_sym(pic,sym) pic_str(pic, pic_sym_name(pic, (sym)), NULL) - -static pic_value -optimize_beta(pic_state *pic, pic_value expr) +struct irep * +assemble(pic_state *pic, pic_value as) { + pic_value codes, reps, objs; + int argc, varg, frame_size, repc, objc, i; + struct irep **irep, *ir; + pic_value *obj, r, it; + code_t *code; size_t ai = pic_enter(pic); - pic_value functor, formals, args, tmp, val, it, defs; - if (! pic_list_p(pic, expr)) - return expr; + codes = pic_list_ref(pic, as, 0); + reps = pic_list_ref(pic, as, 1); + objs = pic_list_ref(pic, as, 2); + argc = pic_int(pic, pic_car(pic, pic_list_ref(pic, as, 3))); + varg = pic_bool(pic, pic_cdr(pic, pic_list_ref(pic, as, 3))); + frame_size = pic_int(pic, pic_list_ref(pic, as, 4)); - if (pic_nil_p(pic, expr)) - return expr; + repc = pic_length(pic, reps); + objc = pic_length(pic, objs); - if (pic_sym_p(pic, pic_list_ref(pic, expr, 0))) { - pic_value sym = pic_list_ref(pic, expr, 0); + assert(0 <= argc && argc < 256); + assert(0 <= frame_size && frame_size < 256); + assert(0 <= repc && repc < 256); + assert(0 <= objc && objc < 256); - if (EQ(sym, "core#quote")) { - return expr; - } else if (EQ(sym, "core#lambda")) { - return pic_list(pic, 3, S("core#lambda"), pic_list_ref(pic, expr, 1), optimize_beta(pic, pic_list_ref(pic, expr, 2))); - } - } - - tmp = pic_nil_value(pic); - pic_for_each (val, expr, it) { - pic_push(pic, optimize_beta(pic, val), tmp); - } - expr = pic_reverse(pic, tmp); - - pic_leave(pic, ai); - pic_protect(pic, expr); - - functor = pic_list_ref(pic, expr, 0); - if (pic_pair_p(pic, functor) && pic_sym_p(pic, pic_car(pic, functor)) && EQ(pic_car(pic, functor), "core#lambda")) { - formals = pic_list_ref(pic, functor, 1); - if (! pic_list_p(pic, formals)) - goto exit; /* TODO: support ((lambda args x) 1 2) */ - args = pic_cdr(pic, expr); - if (pic_length(pic, formals) != pic_length(pic, args)) - goto exit; - defs = pic_nil_value(pic); - pic_for_each (val, args, it) { - pic_push(pic, pic_list(pic, 3, S("core#define"), pic_car(pic, formals), val), defs); - formals = pic_cdr(pic, formals); - } - expr = pic_list_ref(pic, functor, 2); - pic_for_each (val, defs, it) { - expr = pic_list(pic, 3, S("core#begin"), val, expr); - } - } - exit: - - pic_leave(pic, ai); - pic_protect(pic, expr); - return expr; -} - -static pic_value -pic_optimize(pic_state *pic, pic_value expr) -{ - return optimize_beta(pic, expr); -} - -static pic_value normalize(pic_state *pic, pic_value expr, pic_value locals, bool in); - -static pic_value -normalize_body(pic_state *pic, pic_value expr, bool in) -{ - pic_value v, locals; - - locals = pic_list(pic, 1, pic_nil_value(pic)); - - v = normalize(pic, expr, locals, in); - - if (! in) { - return v; - } - return pic_list(pic, 3, S("core#let"), pic_car(pic, locals), v); -} - -static pic_value -normalize(pic_state *pic, pic_value expr, pic_value locals, bool in) -{ - pic_value proc, e, it, r; - - if (! pic_list_p(pic, expr)) - return expr; - - if (! pic_pair_p(pic, expr)) - return expr; - - proc = pic_list_ref(pic, expr, 0); - if (pic_sym_p(pic, proc)) { - pic_value sym = proc; - - if (EQ(sym, "core#define")) { - pic_value var, val; - - var = pic_list_ref(pic, expr, 1); - - if (! in) { /* global */ - if (pic_dict_has(pic, pic->globals, var)) { - pic_warnf(pic, "redefining variable: %s", pic_sym(pic, var)); - } - pic_dict_set(pic, pic->globals, var, pic_invalid_value(pic)); - } else { /* local */ - bool found = false; - - pic_for_each (e, pic_car(pic, locals), it) { - if (pic_eq_p(pic, e, var)) { - pic_warnf(pic, "redefining variable: %s", pic_sym(pic, var)); - found = true; - break; - } - } - if (! found) { - pic_set_car(pic, locals, pic_cons(pic, var, pic_car(pic, locals))); - } - } - val = normalize(pic, pic_list_ref(pic, expr, 2), locals, in); - return pic_list(pic, 3, S("core#set!"), var, val); - } - else if (EQ(sym, "core#lambda")) { - return pic_list(pic, 3, S("core#lambda"), pic_list_ref(pic, expr, 1), normalize_body(pic, pic_list_ref(pic, expr, 2), true)); - } - else if (EQ(sym, "core#quote")) { - return expr; - } - } - - r = pic_nil_value(pic); - pic_for_each (e, expr, it) { - pic_push(pic, normalize(pic, e, locals, in), r); - } - return pic_reverse(pic, r); -} - -static pic_value -pic_normalize(pic_state *pic, pic_value expr) -{ - return normalize_body(pic, expr, false); -} - -typedef struct analyze_scope { - int depth; - pic_value args, locals, captures; - struct analyze_scope *up; -} analyze_scope; - -static void -analyzer_scope_init(pic_state *pic, analyze_scope *scope, pic_value args, pic_value locals, analyze_scope *up) -{ - scope->args = args; - scope->locals = locals; - scope->captures = pic_make_dict(pic); - scope->up = up; - scope->depth = up ? up->depth + 1 : 0; -} - -static bool -find_local_var(pic_state *pic, analyze_scope *scope, pic_value sym) -{ - pic_value args, locals; - - /* args */ - for (args = scope->args; pic_pair_p(pic, args); args = pic_cdr(pic, args)) { - if (pic_eq_p(pic, pic_car(pic, args), sym)) - return true; - } - if (! pic_nil_p(pic, args)) { - if (pic_eq_p(pic, args, sym)) - return true; - } - - /* locals */ - for (locals = scope->locals; pic_pair_p(pic, locals); locals = pic_cdr(pic, locals)) { - if (pic_eq_p(pic, pic_car(pic, locals), sym)) - return true; - } - return false; -} - -static int -find_var(pic_state *pic, analyze_scope *scope, pic_value sym) -{ - int depth = 0; - - while (scope) { - if (find_local_var(pic, scope, sym)) { - if (depth > 0) { - pic_dict_set(pic, scope->captures, sym, pic_true_value(pic)); /* capture! */ - } - return depth; - } - depth++; - scope = scope->up; - } - return depth - 1; /* global variable */ -} - -static pic_value analyze(pic_state *, analyze_scope *, pic_value); -static pic_value analyze_lambda(pic_state *, analyze_scope *, pic_value); - -static pic_value -analyze_var(pic_state *pic, analyze_scope *scope, pic_value sym) -{ - int depth; - - depth = find_var(pic, scope, sym); - - if (depth == scope->depth) { - return pic_list(pic, 2, S("core#gref"), sym); - } else if (depth == 0) { - return pic_list(pic, 2, S("core#lref"), sym); - } else { - return pic_list(pic, 3, S("core#cref"), pic_int_value(pic, depth), sym); - } -} - -static pic_value -analyze_lambda(pic_state *pic, analyze_scope *up, pic_value form) -{ - analyze_scope s, *scope = &s; - pic_value body, args, locals; - - args = pic_list_ref(pic, form, 1); - locals = pic_list_ref(pic, pic_list_ref(pic, form, 2), 1); - body = pic_list_ref(pic, pic_list_ref(pic, form, 2), 2); - - analyzer_scope_init(pic, scope, args, locals, up); - - /* analyze body */ - body = analyze(pic, scope, body); - - return pic_list(pic, 5, S("core#lambda"), args, locals, scope->captures, body); -} - -static pic_value -analyze_list(pic_state *pic, analyze_scope *scope, pic_value obj) -{ - pic_value seq = pic_nil_value(pic), val, it; - - pic_for_each (val, obj, it) { - pic_push(pic, analyze(pic, scope, val), seq); - } - - return pic_reverse(pic, seq); -} - -static pic_value -analyze_call(pic_state *pic, analyze_scope *scope, pic_value obj) -{ - return pic_cons(pic, S("core#call"), analyze_list(pic, scope, obj)); -} - -static pic_value -analyze_node(pic_state *pic, analyze_scope *scope, pic_value obj) -{ - switch (pic_type(pic, obj)) { - case PIC_TYPE_SYMBOL: { - return analyze_var(pic, scope, obj); - } - case PIC_TYPE_PAIR: { - pic_value proc; - - if (! pic_list_p(pic, obj)) { - pic_error(pic, "invalid expression given", 1, obj); - } - - proc = pic_list_ref(pic, obj, 0); - if (pic_sym_p(pic, proc)) { - pic_value sym = proc; - - if (EQ(sym, "core#lambda")) { - return analyze_lambda(pic, scope, obj); - } - else if (EQ(sym, "core#quote")) { - return obj; - } - else if (EQ(sym, "core#begin") || EQ(sym, "core#set!") || EQ(sym, "core#if")) { - return pic_cons(pic, pic_car(pic, obj), analyze_list(pic, scope, pic_cdr(pic, obj))); - } - } - - return analyze_call(pic, scope, obj); - } - default: - return pic_list(pic, 2, S("core#quote"), obj); - } -} - -static pic_value -analyze(pic_state *pic, analyze_scope *scope, pic_value obj) -{ - size_t ai = pic_enter(pic); - pic_value res; - - res = analyze_node(pic, scope, obj); - - pic_leave(pic, ai); - pic_protect(pic, res); - return res; -} - -static pic_value -pic_analyze(pic_state *pic, pic_value obj) -{ - analyze_scope s, *scope = &s; - - analyzer_scope_init(pic, scope, pic_nil_value(pic), pic_nil_value(pic), NULL); - - obj = analyze(pic, scope, obj); - - return obj; -} - -typedef struct codegen_context { - /* rest args variable is counted as a local */ - pic_value rest; - pic_value args, locals, captures; - /* actual bit code sequence */ - struct code *code; - size_t clen, ccapa; - /* child ireps */ - struct irep **irep; - size_t ilen, icapa; - /* constant object pool */ - int *ints; - size_t klen, kcapa; - double *nums; - size_t flen, fcapa; - struct object **pool; - size_t plen, pcapa; - - struct codegen_context *up; -} codegen_context; - -static void create_activation(pic_state *, codegen_context *); - -static void -codegen_context_init(pic_state *pic, codegen_context *cxt, codegen_context *up, pic_value args, pic_value locals, pic_value captures) -{ - pic_value tmp; - int i, it; - - for (i = 0, tmp = args; pic_pair_p(pic, tmp); tmp = pic_cdr(pic, tmp)) - i++; - cxt->args = pic_make_vec(pic, i, NULL); - for (i = 0, tmp = args; pic_pair_p(pic, tmp); tmp = pic_cdr(pic, tmp)) { - pic_vec_set(pic, cxt->args, i++, pic_car(pic, tmp)); - } - - cxt->rest = tmp; - - i = pic_length(pic, locals); - if (pic_sym_p(pic, cxt->rest)) { - i++; - } - cxt->locals = pic_make_vec(pic, i, NULL); + irep = pic_malloc(pic, sizeof(*irep) * repc); i = 0; - if (pic_sym_p(pic, cxt->rest)) { - pic_vec_set(pic, cxt->locals, i++, cxt->rest); + pic_for_each (r, reps, it) { + irep[i++] = assemble(pic, r); } - for (tmp = locals; pic_pair_p(pic, tmp); tmp = pic_cdr(pic, tmp)) { - pic_vec_set(pic, cxt->locals, i++, pic_car(pic, tmp)); + obj = pic_malloc(pic, sizeof(*obj) * objc); + i = 0; + pic_for_each (r, objs, it) { + obj[i++] = r; } - - cxt->captures = pic_make_vec(pic, pic_dict_size(pic, captures), NULL); - it = i = 0; - while (pic_dict_next(pic, captures, &it, &tmp, NULL)) { - pic_vec_set(pic, cxt->captures, i++, tmp); - } - - cxt->up = up; - - cxt->code = pic_calloc(pic, PIC_ISEQ_SIZE, sizeof(struct code)); - cxt->clen = 0; - cxt->ccapa = PIC_ISEQ_SIZE; - - cxt->irep = pic_calloc(pic, PIC_IREP_SIZE, sizeof(struct irep *)); - cxt->ilen = 0; - cxt->icapa = PIC_IREP_SIZE; - - cxt->pool = pic_calloc(pic, PIC_POOL_SIZE, sizeof(struct object *)); - cxt->plen = 0; - cxt->pcapa = PIC_POOL_SIZE; - - cxt->ints = pic_calloc(pic, PIC_POOL_SIZE, sizeof(int)); - cxt->klen = 0; - cxt->kcapa = PIC_POOL_SIZE; - - cxt->nums = pic_calloc(pic, PIC_POOL_SIZE, sizeof(double)); - cxt->flen = 0; - cxt->fcapa = PIC_POOL_SIZE; - - create_activation(pic, cxt); -} - -static struct irep * -codegen_context_destroy(pic_state *pic, codegen_context *cxt) -{ - struct irep *irep; - - /* create irep */ - irep = (struct irep *)pic_obj_alloc(pic, PIC_TYPE_IREP); - irep->varg = pic_sym_p(pic, cxt->rest); - irep->argc = pic_vec_len(pic, cxt->args) + 1; - irep->localc = pic_vec_len(pic, cxt->locals); - irep->capturec = pic_vec_len(pic, cxt->captures); - irep->code = pic_realloc(pic, cxt->code, sizeof(struct code) * cxt->clen); - irep->irep = pic_realloc(pic, cxt->irep, sizeof(struct irep *) * cxt->ilen); - irep->ints = pic_realloc(pic, cxt->ints, sizeof(int) * cxt->klen); - irep->nums = pic_realloc(pic, cxt->nums, sizeof(double) * cxt->flen); - irep->pool = pic_realloc(pic, cxt->pool, sizeof(struct object *) * cxt->plen); - irep->ncode = cxt->clen; - irep->nirep = cxt->ilen; - irep->nints = cxt->klen; - irep->nnums = cxt->flen; - irep->npool = cxt->plen; - - return irep; -} - -#define check_size(pic, cxt, x, name, type) do { \ - if (cxt->x##len >= cxt->x##capa) { \ - cxt->x##capa *= 2; \ - cxt->name = pic_realloc(pic, cxt->name, sizeof(type) * cxt->x##capa); \ - } \ - } while (0) - -#define check_code_size(pic, cxt) check_size(pic, cxt, c, code, struct code) -#define check_irep_size(pic, cxt) check_size(pic, cxt, i, irep, struct irep *) -#define check_pool_size(pic, cxt) check_size(pic, cxt, p, pool, struct object *) -#define check_ints_size(pic, cxt) check_size(pic, cxt, k, ints, int) -#define check_nums_size(pic, cxt) check_size(pic, cxt, f, nums, double) - -#define emit_n(pic, cxt, ins) do { \ - check_code_size(pic, cxt); \ - cxt->code[cxt->clen].insn = ins; \ - cxt->clen++; \ - } while (0) \ - -#define emit_i(pic, cxt, ins, I) do { \ - check_code_size(pic, cxt); \ - cxt->code[cxt->clen].insn = ins; \ - cxt->code[cxt->clen].a = I; \ - cxt->clen++; \ - } while (0) \ - -#define emit_r(pic, cxt, ins, D, I) do { \ - check_code_size(pic, cxt); \ - cxt->code[cxt->clen].insn = ins; \ - cxt->code[cxt->clen].a = D; \ - cxt->code[cxt->clen].b = I; \ - cxt->clen++; \ - } while (0) \ - -#define emit_ret(pic, cxt, tailpos) if (tailpos) emit_n(pic, cxt, OP_RET) - -struct { - const char *name; - int insn; - int argc; -} pic_vm_proc[] = { - { "cons", OP_CONS, 2 }, - { "car", OP_CAR, 1 }, - { "cdr", OP_CDR, 1 }, - { "null?", OP_NILP, 1 }, - { "symbol?", OP_SYMBOLP, 1 }, - { "pair?", OP_PAIRP, 1 }, - { "not", OP_NOT, 1 }, - { "=", OP_EQ, 2 }, - { "<", OP_LT, 2 }, - { "<=", OP_LE, 2 }, - { ">", OP_GT, 2 }, - { ">=", OP_GE, 2 }, - { "+", OP_ADD, 2 }, - { "-", OP_SUB, 2 }, - { "*", OP_MUL, 2 }, - { "/", OP_DIV, 2 } -}; - -static int -index_capture(pic_state *pic, codegen_context *cxt, pic_value sym, int depth) -{ - int i; - - while (depth-- > 0) { - cxt = cxt->up; - } - - for (i = 0; i < pic_vec_len(pic, cxt->captures); ++i) { - if (pic_eq_p(pic, sym, pic_vec_ref(pic, cxt->captures, i))) - return i; - } - return -1; -} - -static int -index_local(pic_state *pic, codegen_context *cxt, pic_value sym) -{ - int i, offset; - - offset = 1; - for (i = 0; i < pic_vec_len(pic, cxt->args); ++i) { - if (pic_eq_p(pic, sym, pic_vec_ref(pic, cxt->args, i))) - return i + offset; - } - offset += i; - for (i = 0; i < pic_vec_len(pic, cxt->locals); ++i) { - if (pic_eq_p(pic, sym, pic_vec_ref(pic, cxt->locals, i))) - return i + offset; - } - return -1; -} - -static int -index_global(pic_state *pic, codegen_context *cxt, pic_value name) -{ - int pidx; - - check_pool_size(pic, cxt); - pidx = (int)cxt->plen++; - cxt->pool[pidx] = (struct object *)sym_ptr(pic, name); - - return pidx; -} - -static void -create_activation(pic_state *pic, codegen_context *cxt) -{ - int i, n; - - for (i = 0; i < pic_vec_len(pic, cxt->captures); ++i) { - pic_value sym = pic_vec_ref(pic, cxt->captures, i); - n = index_local(pic, cxt, sym); - assert(n != -1); - if (n <= pic_vec_len(pic, cxt->args) || pic_eq_p(pic, sym, cxt->rest)) { - /* copy arguments to capture variable area */ - emit_i(pic, cxt, OP_LREF, n); - } else { - /* otherwise, just extend the stack */ - emit_n(pic, cxt, OP_PUSHUNDEF); + i = 0; + pic_for_each (r, codes, it) { + if (! pic_pair_p(pic, r)) + continue; + if (pic_eq_p(pic, pic_car(pic, r), pic_intern_lit(pic, "COND"))) { + i += 4; + continue; } + i += pic_length(pic, r); } -} - -static void codegen(pic_state *, codegen_context *, pic_value, bool); - -static void -codegen_ref(pic_state *pic, codegen_context *cxt, pic_value obj, bool tailpos) -{ - pic_value sym; - - sym = pic_car(pic, obj); - if (EQ(sym, "core#gref")) { - pic_value name; - - name = pic_list_ref(pic, obj, 1); - emit_i(pic, cxt, OP_GREF, index_global(pic, cxt, name)); - emit_ret(pic, cxt, tailpos); - } - else if (EQ(sym, "core#cref")) { - pic_value name; - int depth; - - depth = pic_int(pic, pic_list_ref(pic, obj, 1)); - name = pic_list_ref(pic, obj, 2); - emit_r(pic, cxt, OP_CREF, depth, index_capture(pic, cxt, name, depth)); - emit_ret(pic, cxt, tailpos); - } - else if (EQ(sym, "core#lref")) { - pic_value name; - int i; - - name = pic_list_ref(pic, obj, 1); - if ((i = index_capture(pic, cxt, name, 0)) != -1) { - emit_i(pic, cxt, OP_LREF, i + pic_vec_len(pic, cxt->args) + pic_vec_len(pic, cxt->locals) + 1); - emit_ret(pic, cxt, tailpos); - } else { - emit_i(pic, cxt, OP_LREF, index_local(pic, cxt, name)); - emit_ret(pic, cxt, tailpos); + code = pic_malloc(pic, i); + i = 0; + /* TODO: validate operands */ + pic_for_each (r, codes, it) { + if (! pic_pair_p(pic, r)) + continue; + pic_value op = pic_car(pic, r); + if (pic_eq_p(pic, op, pic_intern_lit(pic, "HALT"))) { + code[i++] = OP_HALT; } - } -} - -static void -codegen_set(pic_state *pic, codegen_context *cxt, pic_value obj, bool tailpos) -{ - pic_value var, val; - pic_value type; - - val = pic_list_ref(pic, obj, 2); - codegen(pic, cxt, val, false); - - var = pic_list_ref(pic, obj, 1); - type = pic_list_ref(pic, var, 0); - if (EQ(type, "core#gref")) { - pic_value name; - size_t i; - - name = pic_list_ref(pic, var, 1); - - for (i = 0; i < sizeof pic_vm_proc / sizeof pic_vm_proc[0]; ++i) { - if (EQ(name, pic_vm_proc[i].name)) - pic_error(pic, "tried to override built-in procedure", 1, name); + else if (pic_eq_p(pic, op, pic_intern_lit(pic, "CALL"))) { + code[i++] = OP_CALL; + code[i++] = pic_int(pic, pic_list_ref(pic, r, 1)); } - - emit_i(pic, cxt, OP_GSET, index_global(pic, cxt, name)); - emit_ret(pic, cxt, tailpos); - } - else if (EQ(type, "core#cref")) { - pic_value name; - int depth; - - depth = pic_int(pic, pic_list_ref(pic, var, 1)); - name = pic_list_ref(pic, var, 2); - emit_r(pic, cxt, OP_CSET, depth, index_capture(pic, cxt, name, depth)); - emit_ret(pic, cxt, tailpos); - } - else if (EQ(type, "core#lref")) { - pic_value name; - int i; - - name = pic_list_ref(pic, var, 1); - if ((i = index_capture(pic, cxt, name, 0)) != -1) { - emit_i(pic, cxt, OP_LSET, i + pic_vec_len(pic, cxt->args) + pic_vec_len(pic, cxt->locals) + 1); - emit_ret(pic, cxt, tailpos); - } else { - emit_i(pic, cxt, OP_LSET, index_local(pic, cxt, name)); - emit_ret(pic, cxt, tailpos); + else if (pic_eq_p(pic, op, pic_intern_lit(pic, "PROC"))) { + code[i++] = OP_PROC; + code[i++] = pic_int(pic, pic_list_ref(pic, r, 1)); + code[i++] = pic_int(pic, pic_list_ref(pic, r, 2)); } - } -} - -static void -codegen_lambda(pic_state *pic, codegen_context *cxt, pic_value obj, bool tailpos) -{ - codegen_context c, *inner_cxt = &c; - pic_value args, locals, captures, body; - - check_irep_size(pic, cxt); - - /* extract arguments */ - args = pic_list_ref(pic, obj, 1); - locals = pic_list_ref(pic, obj, 2); - captures = pic_list_ref(pic, obj, 3); - body = pic_list_ref(pic, obj, 4); - - /* emit irep */ - codegen_context_init(pic, inner_cxt, cxt, args, locals, captures); - codegen(pic, inner_cxt, body, true); - cxt->irep[cxt->ilen] = codegen_context_destroy(pic, inner_cxt); - - /* emit OP_LAMBDA */ - emit_i(pic, cxt, OP_LAMBDA, cxt->ilen++); - emit_ret(pic, cxt, tailpos); -} - -static void -codegen_if(pic_state *pic, codegen_context *cxt, pic_value obj, bool tailpos) -{ - int s, t; - - codegen(pic, cxt, pic_list_ref(pic, obj, 1), false); - - s = (int)cxt->clen; - - emit_n(pic, cxt, OP_JMPIF); - - /* if false branch */ - codegen(pic, cxt, pic_list_ref(pic, obj, 3), tailpos); - - t = (int)cxt->clen; - - emit_n(pic, cxt, OP_JMP); - - cxt->code[s].a = (int)cxt->clen - s; - - /* if true branch */ - codegen(pic, cxt, pic_list_ref(pic, obj, 2), tailpos); - cxt->code[t].a = (int)cxt->clen - t; -} - -static void -codegen_begin(pic_state *pic, codegen_context *cxt, pic_value obj, bool tailpos) -{ - codegen(pic, cxt, pic_list_ref(pic, obj, 1), false); - emit_n(pic, cxt, OP_POP); - codegen(pic, cxt, pic_list_ref(pic, obj, 2), tailpos); -} - -static void -codegen_quote(pic_state *pic, codegen_context *cxt, pic_value obj, bool tailpos) -{ - int pidx; - - obj = pic_list_ref(pic, obj, 1); - switch (pic_type(pic, obj)) { - case PIC_TYPE_UNDEF: - emit_n(pic, cxt, OP_PUSHUNDEF); - break; - case PIC_TYPE_TRUE: - emit_n(pic, cxt, OP_PUSHTRUE); - break; - case PIC_TYPE_FALSE: - emit_n(pic, cxt, OP_PUSHFALSE); - break; - case PIC_TYPE_INT: - check_ints_size(pic, cxt); - pidx = (int)cxt->klen++; - cxt->ints[pidx] = pic_int(pic, obj); - emit_i(pic, cxt, OP_PUSHINT, pidx); - break; - case PIC_TYPE_FLOAT: - check_nums_size(pic, cxt); - pidx = (int)cxt->flen++; - cxt->nums[pidx] = pic_float(pic, obj); - emit_i(pic, cxt, OP_PUSHFLOAT, pidx); - break; - case PIC_TYPE_NIL: - emit_n(pic, cxt, OP_PUSHNIL); - break; - case PIC_TYPE_EOF: - emit_n(pic, cxt, OP_PUSHEOF); - break; - case PIC_TYPE_CHAR: - check_ints_size(pic, cxt); - pidx = (int)cxt->klen++; - cxt->ints[pidx] = pic_char(pic, obj); - emit_i(pic, cxt, OP_PUSHCHAR, pidx); - break; - default: - assert(obj_p(pic,obj)); - check_pool_size(pic, cxt); - pidx = (int)cxt->plen++; - cxt->pool[pidx] = obj_ptr(pic, obj); - emit_i(pic, cxt, OP_PUSHCONST, pidx); - break; - } - emit_ret(pic, cxt, tailpos); -} - -static void -codegen_call(pic_state *pic, codegen_context *cxt, pic_value obj, bool tailpos) -{ - int len = pic_length(pic, obj); - pic_value elt, it, functor; - - functor = pic_list_ref(pic, obj, 1); - if (EQ(pic_list_ref(pic, functor, 0), "core#gref")) { - pic_value sym; - size_t i; - - sym = pic_list_ref(pic, functor, 1); - - for (i = 0; i < sizeof pic_vm_proc / sizeof pic_vm_proc[0]; ++i) { - if (EQ(sym, pic_vm_proc[i].name) && len == pic_vm_proc[i].argc + 2) { - pic_for_each (elt, pic_cddr(pic, obj), it) { - codegen(pic, cxt, elt, false); + else if (pic_eq_p(pic, op, pic_intern_lit(pic, "LOAD"))) { + code[i++] = OP_LOAD; + code[i++] = pic_int(pic, pic_list_ref(pic, r, 1)); + code[i++] = pic_int(pic, pic_list_ref(pic, r, 2)); + } + else if (pic_eq_p(pic, op, pic_intern_lit(pic, "LREF"))) { + code[i++] = OP_LREF; + code[i++] = pic_int(pic, pic_list_ref(pic, r, 1)); + code[i++] = pic_int(pic, pic_list_ref(pic, r, 2)); + code[i++] = pic_int(pic, pic_list_ref(pic, r, 3)); + } + else if (pic_eq_p(pic, op, pic_intern_lit(pic, "LSET"))) { + code[i++] = OP_LSET; + code[i++] = pic_int(pic, pic_list_ref(pic, r, 1)); + code[i++] = pic_int(pic, pic_list_ref(pic, r, 2)); + code[i++] = pic_int(pic, pic_list_ref(pic, r, 3)); + } + else if (pic_eq_p(pic, op, pic_intern_lit(pic, "GREF"))) { + code[i++] = OP_GREF; + code[i++] = pic_int(pic, pic_list_ref(pic, r, 1)); + code[i++] = pic_int(pic, pic_list_ref(pic, r, 2)); + } + else if (pic_eq_p(pic, op, pic_intern_lit(pic, "GSET"))) { + code[i++] = OP_GSET; + code[i++] = pic_int(pic, pic_list_ref(pic, r, 1)); + code[i++] = pic_int(pic, pic_list_ref(pic, r, 2)); + } + else if (pic_eq_p(pic, op, pic_intern_lit(pic, "COND"))) { + pic_value label = pic_list_ref(pic, r, 2); + pic_value x, it2; + int offset = 0; + pic_for_each (x, it, it2) { + if (pic_eq_p(pic, x, label)) + break; + if (! pic_pair_p(pic, x)) + continue; + if (pic_eq_p(pic, pic_car(pic, x), pic_intern_lit(pic, "COND"))) { + offset += 4; + continue; } - emit_n(pic, cxt, pic_vm_proc[i].insn); - emit_ret(pic, cxt, tailpos); - return; + offset += pic_length(pic, x); } + code[i++] = OP_COND; + code[i++] = pic_int(pic, pic_list_ref(pic, r, 1)); + code[i++] = offset % 256; + code[i++] = offset / 256; + } + else if (pic_eq_p(pic, op, pic_intern_lit(pic, "LOADT"))) { + code[i++] = OP_LOADT; + code[i++] = pic_int(pic, pic_list_ref(pic, r, 1)); + } + else if (pic_eq_p(pic, op, pic_intern_lit(pic, "LOADF"))) { + code[i++] = OP_LOADF; + code[i++] = pic_int(pic, pic_list_ref(pic, r, 1)); + } + else if (pic_eq_p(pic, op, pic_intern_lit(pic, "LOADN"))) { + code[i++] = OP_LOADN; + code[i++] = pic_int(pic, pic_list_ref(pic, r, 1)); + } + else if (pic_eq_p(pic, op, pic_intern_lit(pic, "LOADU"))) { + code[i++] = OP_LOADU; + code[i++] = pic_int(pic, pic_list_ref(pic, r, 1)); + } + else if (pic_eq_p(pic, op, pic_intern_lit(pic, "LOADI"))) { + code[i++] = OP_LOADI; + code[i++] = pic_int(pic, pic_list_ref(pic, r, 1)); + code[i++] = pic_int(pic, pic_list_ref(pic, r, 2)); } } - pic_for_each (elt, pic_cdr(pic, obj), it) { - codegen(pic, cxt, elt, false); - } - emit_i(pic, cxt, (tailpos ? OP_TAILCALL : OP_CALL), len - 1); + ir = (struct irep *)pic_obj_alloc(pic, PIC_TYPE_IREP); + ir->argc = argc; + ir->flags = (varg ? IREP_VARG : 0); + ir->frame_size = frame_size; + ir->irepc = repc; + ir->objc = objc; + ir->irep = irep; + ir->obj = obj; + ir->code = code; + + pic_leave(pic, ai); + pic_protect(pic, obj_value(pic, ir)); + + return ir; } -static void -codegen(pic_state *pic, codegen_context *cxt, pic_value obj, bool tailpos) +static pic_value +execute(pic_state *pic, struct irep *irep) { - pic_value sym; + struct proc *proc; - sym = pic_car(pic, obj); - if (EQ(sym, "core#gref") || EQ(sym, "core#cref") || EQ(sym, "core#lref")) { - codegen_ref(pic, cxt, obj, tailpos); - } - else if (EQ(sym, "core#set!") || EQ(sym, "core#define")) { - codegen_set(pic, cxt, obj, tailpos); - } - else if (EQ(sym, "core#lambda")) { - codegen_lambda(pic, cxt, obj, tailpos); - } - else if (EQ(sym, "core#if")) { - codegen_if(pic, cxt, obj, tailpos); - } - else if (EQ(sym, "core#begin")) { - codegen_begin(pic, cxt, obj, tailpos); - } - else if (EQ(sym, "core#quote")) { - codegen_quote(pic, cxt, obj, tailpos); - } - else if (EQ(sym, "core#call")) { - codegen_call(pic, cxt, obj, tailpos); - } - else { - pic_error(pic, "codegen: unknown AST type", 1, obj); - } + proc = (struct proc *)pic_obj_alloc(pic, PIC_TYPE_PROC_IREP); + proc->u.irep = irep; + proc->env = NULL; + return pic_apply(pic, obj_value(pic, proc), 0, NULL); } -static struct irep * -pic_codegen(pic_state *pic, pic_value obj) -{ - codegen_context c, *cxt = &c; - - codegen_context_init(pic, cxt, NULL, pic_nil_value(pic), pic_nil_value(pic), pic_make_dict(pic)); - - codegen(pic, cxt, obj, true); - - return codegen_context_destroy(pic, cxt); -} - -#define SAVE(pic, ai, obj) pic_leave(pic, ai); pic_protect(pic, obj) - pic_value -pic_load(pic_state *pic, pic_value obj) +pic_load(pic_state *pic, pic_value expr) { - struct irep *irep; - size_t ai = pic_enter(pic); - -#if 0 - pic_printf(pic, "# input expression\n~s\n", obj); -#endif - - /* optimize */ - obj = pic_optimize(pic, obj); -#if 0 - pic_printf(pic, "## optimize completed\n~s\n", obj); -#endif - - SAVE(pic, ai, obj); - - /* normalize */ - obj = pic_normalize(pic, obj); -#if 0 - pic_printf(pic, "## normalize completed\n~s\n", obj); -#endif - - SAVE(pic, ai, obj); - - /* analyze */ - obj = pic_analyze(pic, obj); -#if 0 - pic_printf(pic, "## analyzer completed\n~s\n", obj); -#endif - - SAVE(pic, ai, obj); - - /* codegen */ - irep = pic_codegen(pic, obj); - - return pic_call(pic, pic_make_proc_irep(pic, irep, NULL), 0); + return execute(pic, assemble(pic, expr)); } void diff --git a/lib/gc.c b/lib/gc.c index deee117e..f0b0b775 100644 --- a/lib/gc.c +++ b/lib/gc.c @@ -144,11 +144,11 @@ pic_free(pic_state *pic, void *ptr) static void gc_protect(pic_state *pic, struct object *obj) { - if (pic->arena_idx >= pic->arena_size) { + if (pic->cxt->ai >= pic->arena_size) { pic->arena_size = pic->arena_size * 2 + 1; pic->arena = pic_realloc(pic, pic->arena, sizeof(struct object *) * pic->arena_size); } - pic->arena[pic->arena_idx++] = obj; + pic->arena[pic->cxt->ai++] = obj; } pic_value @@ -165,13 +165,13 @@ pic_protect(pic_state *pic, pic_value v) size_t pic_enter(pic_state *pic) { - return pic->arena_idx; + return pic->cxt->ai; } void pic_leave(pic_state *pic, size_t state) { - pic->arena_idx = state; + pic->cxt->ai = state; } void * @@ -238,24 +238,24 @@ gc_mark_object(pic_state *pic, struct object *obj) break; } case PIC_TYPE_PROC_FUNC: { - if (obj->u.proc.fp) { - LOOP(obj->u.proc.fp); + if (obj->u.proc.env) { + LOOP(obj->u.proc.env); } break; } case PIC_TYPE_PROC_IREP: { - if (obj->u.proc.fp) { - gc_mark_object(pic, (struct object *)obj->u.proc.fp); + if (obj->u.proc.env) { + gc_mark_object(pic, (struct object *)obj->u.proc.env); } LOOP(obj->u.proc.u.irep); break; } case PIC_TYPE_IREP: { size_t i; - for (i = 0; i < obj->u.irep.npool; ++i) { - gc_mark_object(pic, obj->u.irep.pool[i]); + for (i = 0; i < obj->u.irep.objc; ++i) { + gc_mark(pic, obj->u.irep.obj[i]); } - for (i = 0; i < obj->u.irep.nirep; ++i) { + for (i = 0; i < obj->u.irep.irepc; ++i) { gc_mark_object(pic, (struct object *)obj->u.irep.irep[i]); } break; @@ -319,38 +319,32 @@ gc_mark_object(pic_state *pic, struct object *obj) static void gc_mark_phase(pic_state *pic) { - pic_value *stack; - struct callinfo *ci; + struct context *cxt; size_t j; assert(pic->heap->weaks == NULL); - /* stack */ - for (stack = pic->stbase; stack != pic->sp; ++stack) { - gc_mark(pic, *stack); - } - - /* callinfo */ - for (ci = pic->ci; ci != pic->cibase; --ci) { - if (ci->cxt) { - gc_mark_object(pic, (struct object *)ci->cxt); - } + /* context */ + for (cxt = pic->cxt; cxt != NULL; cxt = cxt->prev) { + if (cxt->fp) gc_mark_object(pic, (struct object *)cxt->fp); + if (cxt->sp) gc_mark_object(pic, (struct object *)cxt->sp); + if (cxt->irep) gc_mark_object(pic, (struct object *)cxt->irep); } /* arena */ - for (j = 0; j < pic->arena_idx; ++j) { + for (j = 0; j < pic->cxt->ai; ++j) { gc_mark_object(pic, (struct object *)pic->arena[j]); } /* global variables */ gc_mark(pic, pic->globals); - /* error object */ - gc_mark(pic, pic->err); - /* dynamic environment */ gc_mark(pic, pic->dyn_env); + /* top continuation */ + gc_mark(pic, pic->halt); + /* features */ gc_mark(pic, pic->features); @@ -422,10 +416,10 @@ gc_finalize_object(pic_state *pic, struct object *obj) } case PIC_TYPE_IREP: { struct irep *irep = &obj->u.irep; - pic_free(pic, irep->code); - pic_free(pic, irep->ints); - pic_free(pic, irep->nums); - pic_free(pic, irep->pool); + if ((irep->flags & IREP_CODE_STATIC) == 0) { + pic_free(pic, irep->code); + } + pic_free(pic, irep->obj); pic_free(pic, irep->irep); break; } @@ -434,7 +428,7 @@ gc_finalize_object(pic_state *pic, struct object *obj) break; } case PIC_TYPE_FRAME: { - pic_free(pic, obj->u.frame.storage); + pic_free(pic, obj->u.frame.regs); break; } diff --git a/lib/include/picrin.h b/lib/include/picrin.h index 3e83402c..c0b60459 100644 --- a/lib/include/picrin.h +++ b/lib/include/picrin.h @@ -297,20 +297,22 @@ pic_value pic_raise_continuable(pic_state *pic, pic_value err); PIC_NORETURN void pic_raise(pic_state *, pic_value v); PIC_NORETURN void pic_error(pic_state *, const char *msg, int n, ...); pic_value pic_make_error(pic_state *, const char *type, const char *msg, pic_value irrs); + #define pic_try pic_try_(PIC_GENSYM(cont), PIC_GENSYM(jmp)) #define pic_try_(cont, jmp) \ do { \ - extern void pic_start_try(pic_state *, PIC_JMPBUF *); \ - extern void pic_end_try(pic_state *); \ - extern pic_value pic_err(pic_state *); \ - PIC_JMPBUF jmp; \ - if (PIC_SETJMP(pic, jmp) == 0) { \ - pic_start_try(pic, &jmp); + extern PIC_JMPBUF *pic_prepare_try(pic_state *); \ + extern void pic_enter_try(pic_state *); \ + extern void pic_exit_try(pic_state *); \ + extern pic_value pic_abort_try(pic_state *); \ + PIC_JMPBUF *jmp = pic_prepare_try(pic); \ + if (PIC_SETJMP(pic, *jmp) == 0) { \ + pic_enter_try(pic); #define pic_catch(e) pic_catch_(e, PIC_GENSYM(label)) #define pic_catch_(e, label) \ - pic_end_try(pic); \ + pic_exit_try(pic); \ } else { \ - e = pic_err(pic); \ + e = pic_abort_try(pic); \ goto label; \ } \ } while (0); \ @@ -332,7 +334,6 @@ void pic_defvar(pic_state *, const char *name, pic_value v); pic_value pic_funcall(pic_state *, const char *name, int n, ...); pic_value pic_values(pic_state *, int n, ...); pic_value pic_vvalues(pic_state *, int n, va_list); -int pic_receive(pic_state *, int n, pic_value *retv); /* diff --git a/lib/include/picrin/setup.h b/lib/include/picrin/setup.h index 2f9d9998..695ed5da 100644 --- a/lib/include/picrin/setup.h +++ b/lib/include/picrin/setup.h @@ -60,34 +60,6 @@ void abort(void); # define PIC_PAGE_REQUEST_THRESHOLD(total) ((total) * 77 / 100) #endif -#ifndef PIC_STACK_SIZE -# define PIC_STACK_SIZE 8192 -#endif - -#ifndef PIC_RESCUE_SIZE -# define PIC_RESCUE_SIZE 30 -#endif - -#ifndef PIC_SYM_POOL_SIZE -# define PIC_SYM_POOL_SIZE (2 * 1024) -#endif - -#ifndef PIC_IREP_SIZE -# define PIC_IREP_SIZE 8 -#endif - -#ifndef PIC_POOL_SIZE -# define PIC_POOL_SIZE 8 -#endif - -#ifndef PIC_SYMS_SIZE -# define PIC_SYMS_SIZE 32 -#endif - -#ifndef PIC_ISEQ_SIZE -# define PIC_ISEQ_SIZE 1024 -#endif - /* check compatibility */ #if __STDC_VERSION__ >= 199901L diff --git a/lib/number.c b/lib/number.c index e7328fc0..14b2a50d 100644 --- a/lib/number.c +++ b/lib/number.c @@ -72,7 +72,7 @@ pic_number_exact(pic_state *pic) } else if (pic_float_p(pic, a) && pic_int_p(pic, b)) { \ return pic_float_value(pic, pic_float(pic, a) op pic_int(pic, b)); \ } else { \ - pic_error(pic, #name ": non-number operand given", 0); \ + pic_error(pic, #name ": non-number operand given", 2, a, b); \ } \ PIC_UNREACHABLE(); \ } @@ -95,7 +95,7 @@ pic_define_aop(pic_div, /, f == (int)f) } else if (pic_float_p(pic, a) && pic_int_p(pic, b)) { \ return pic_float(pic, a) op pic_int(pic, b); \ } else { \ - pic_error(pic, #name ": non-number operand given", 0); \ + pic_error(pic, #name ": non-number operand given", 2, a, b); \ } \ PIC_UNREACHABLE(); \ } diff --git a/lib/object.h b/lib/object.h index 096da7e8..a023ab79 100644 --- a/lib/object.h +++ b/lib/object.h @@ -78,24 +78,44 @@ struct record { pic_value datum; }; +enum { + OP_HALT = 0x00, /* 0x00 OP_HALT */ + OP_CALL = 0x01, /* 0x01 0x** OP_CALL argc */ + OP_PROC = 0x02, /* 0x02 0x** 0x** OP_PROC dest irep */ + OP_LOAD = 0x03, /* 0x03 0x** 0x** OP_LOAD dest i */ + OP_LREF = 0x04, /* 0x04 0x** 0x** 0x** OP_LREF dest n i */ + OP_LSET = 0x05, /* 0x05 0x** 0x** 0x** OP_LSET src n i */ + OP_GREF = 0x06, /* 0x06 0x** 0x** OP_GREF dest i */ + OP_GSET = 0x07, /* 0x07 0x** 0x** OP_GSET src i */ + OP_COND = 0x08, /* 0x08 0x** 0x** 0x** OP_COND c offset */ + OP_LOADT = 0x09, /* 0x09 0x** OP_LOADT dest */ + OP_LOADF = 0x0A, /* 0x0A 0x** OP_LOADF dest */ + OP_LOADN = 0x0B, /* 0x0B 0x** OP_LOADN dest */ + OP_LOADU = 0x0C, /* 0x0C 0x** OP_LOADU dest */ + OP_LOADI = 0x0D, /* 0x0D 0x** 0x** OP_LOADI dest i */ +}; + +typedef unsigned char code_t; + +#define IREP_VARG 1 +#define IREP_CODE_STATIC 2 + struct irep { OBJECT_HEADER - int argc, localc, capturec; - bool varg; - struct code *code; + unsigned char argc; + unsigned char flags; + unsigned char frame_size; + unsigned char irepc, objc; struct irep **irep; - int *ints; - double *nums; - struct object **pool; - size_t ncode, nirep, nints, nnums, npool; + pic_value *obj; + const code_t *code; }; struct frame { OBJECT_HEADER - int regc; + unsigned char regc; pic_value *regs; struct frame *up; - pic_value *storage; }; struct proc { @@ -104,7 +124,7 @@ struct proc { pic_func_t func; struct irep *irep; } u; - struct frame *fp; + struct frame *env; }; enum { @@ -243,20 +263,20 @@ DEFPTR(irep, struct irep) #undef pic_port_p struct object *pic_obj_alloc(pic_state *, int type); +struct object *pic_obj_alloc_unsafe(pic_state *, int type); -pic_value pic_make_proc_func(pic_state *, pic_func_t, int, pic_value *); -pic_value pic_make_proc_irep(pic_state *, struct irep *, struct frame *); +struct frame *pic_make_frame_unsafe(pic_state *, int n); +pic_value pic_make_proc_irep_unsafe(pic_state *, struct irep *, struct frame *); +pic_value pic_make_proc_func(pic_state *, pic_func_t); pic_value pic_make_record(pic_state *, pic_value type, pic_value datum); pic_value pic_record_type(pic_state *pic, pic_value record); pic_value pic_record_datum(pic_state *pic, pic_value record); +struct context; +pic_value pic_make_cont(pic_state *pic, struct context *cxt, pic_value k); struct rope *pic_rope_incref(struct rope *); void pic_rope_decref(pic_state *, struct rope *); -struct cont *pic_alloca_cont(pic_state *); -pic_value pic_make_cont(pic_state *, struct cont *); -void pic_save_point(pic_state *, struct cont *, PIC_JMPBUF *); -void pic_exit_point(pic_state *); void pic_warnf(pic_state *pic, const char *fmt, ...); /* deprecated */ diff --git a/lib/proc.c b/lib/proc.c index 913a6421..413b5284 100644 --- a/lib/proc.c +++ b/lib/proc.c @@ -5,7 +5,22 @@ #include "picrin.h" #include "object.h" #include "state.h" -#include "vm.h" + +struct frame * +pic_make_frame_unsafe(pic_state *pic, int n) +{ + struct frame *fp; + int i; + + fp = (struct frame *)pic_obj_alloc_unsafe(pic, PIC_TYPE_FRAME); + fp->regs = n ? pic_malloc(pic, sizeof(pic_value) * n) : NULL; + fp->regc = n; + fp->up = NULL; + for (i = 0; i < n; ++i) { + fp->regs[i] = pic_invalid_value(pic); + } + return fp; +} pic_value pic_lambda(pic_state *pic, pic_func_t f, int n, ...) @@ -22,47 +37,42 @@ pic_lambda(pic_state *pic, pic_func_t f, int n, ...) pic_value pic_vlambda(pic_state *pic, pic_func_t f, int n, va_list ap) { - pic_value *env = pic_alloca(pic, sizeof(pic_value) * n); + struct proc *proc; int i; - for (i = 0; i < n; ++i) { - env[i] = va_arg(ap, pic_value); - } - return pic_make_proc_func(pic, f, n, env); -} - -pic_value -pic_make_proc_func(pic_state *pic, pic_func_t func, int n, pic_value *env) -{ - struct proc *proc; - struct frame *fp = NULL; - - if (n > 0) { - int i; - fp = (struct frame *)pic_obj_alloc(pic, PIC_TYPE_FRAME); - fp->storage = pic_malloc(pic, sizeof(pic_value) * n); - fp->regc = n; - fp->regs = fp->storage; - fp->up = NULL; - for (i = 0; i < n; ++i) { - fp->regs[i] = env[i]; - } - } + assert(n >= 0); proc = (struct proc *)pic_obj_alloc(pic, PIC_TYPE_PROC_FUNC); - proc->u.func = func; - proc->fp = fp; + proc->u.func = f; + proc->env = NULL; + if (n != 0) { + proc->env = pic_make_frame_unsafe(pic, n); + } + for (i = 0; i < n; ++i) { + proc->env->regs[i] = va_arg(ap, pic_value); + } return obj_value(pic, proc); } pic_value -pic_make_proc_irep(pic_state *pic, struct irep *irep, struct frame *fp) +pic_make_proc_func(pic_state *pic, pic_func_t func) { struct proc *proc; - proc = (struct proc *)pic_obj_alloc(pic, PIC_TYPE_PROC_IREP); + proc = (struct proc *)pic_obj_alloc(pic, PIC_TYPE_PROC_FUNC); + proc->u.func = func; + proc->env = NULL; + return obj_value(pic, proc); +} + +pic_value +pic_make_proc_irep_unsafe(pic_state *pic, struct irep *irep, struct frame *fp) +{ + struct proc *proc; + + proc = (struct proc *)pic_obj_alloc_unsafe(pic, PIC_TYPE_PROC_IREP); proc->u.irep = irep; - proc->fp = fp; + proc->env = fp; return obj_value(pic, proc); } @@ -71,13 +81,15 @@ arg_error(pic_state *pic, int actual, bool varg, int expected) { const char *msg; - msg = pic_str(pic, pic_strf_value(pic, "wrong number of arguments (%d for %s%d)", actual, (varg ? "at least " : ""), expected), NULL); + msg = pic_str(pic, pic_strf_value(pic, "wrong number of arguments (%d for %s%d)", actual - 1, (varg ? "at least " : ""), expected - 1), NULL); pic_error(pic, msg, 0); } -#define GET_PROC(pic) (pic->ci->fp[0]) -#define GET_ARG(pic,n) (pic->ci->fp[(n)+1]) +#define GET_ARGC(pic) (pic->cxt->pc[1]) +#define GET_PROC(pic) (pic->cxt->fp->regs[0]) +#define GET_CONT(pic) (pic->cxt->fp->regs[1]) +#define GET_ARG(pic,n) (pic->cxt->fp->regs[(n)+2]) /** * char type desc. @@ -112,7 +124,7 @@ pic_get_args(pic_state *pic, const char *format, ...) const char *p = format; int paramc = 0, optc = 0; bool proc = 0, rest = 0, opt = 0; - int i, argc = pic->ci->argc - 1; + int i, argc = GET_ARGC(pic) - 1; /* one for continuation */ va_list ap; /* parse format */ @@ -301,25 +313,23 @@ pic_get_args(pic_state *pic, const char *format, ...) pic_value pic_closure_ref(pic_state *pic, int n) { - struct proc *proc = proc_ptr(pic, GET_PROC(pic)); - + struct frame *fp = pic->cxt->fp->up; assert(n >= 0); - if (proc->fp == NULL || proc->fp->regc <= n) { + if (fp == NULL || fp->regc <= n) { pic_error(pic, "pic_closure_ref: index out of range", 1, pic_int_value(pic, n)); } - return proc->fp->regs[n]; + return fp->regs[n]; } void pic_closure_set(pic_state *pic, int n, pic_value v) { - struct proc *proc = proc_ptr(pic, GET_PROC(pic)); - + struct frame *fp = pic->cxt->fp->up; assert(n >= 0); - if (proc->fp == NULL || proc->fp->regc <= n) { + if (fp == NULL || fp->regc <= n) { pic_error(pic, "pic_closure_ref: index out of range", 1, pic_int_value(pic, n)); } - proc->fp->regs[n] = v; + fp->regs[n] = v; } pic_value @@ -346,513 +356,200 @@ pic_vcall(pic_state *pic, pic_value proc, int n, va_list ap) return pic_apply(pic, proc, n, args); } -static void -vm_push_cxt(pic_state *pic) -{ - struct callinfo *ci = pic->ci; - - ci->cxt = (struct frame *)pic_obj_alloc(pic, PIC_TYPE_FRAME); - ci->cxt->storage = pic_malloc(pic, sizeof(pic_value) * ci->regc); - ci->cxt->up = ci->up; - ci->cxt->regc = ci->regc; - ci->cxt->regs = ci->regs; -} - -static void -vm_tear_off(struct callinfo *ci) -{ - struct frame *cxt; - int i; - - assert(ci->cxt != NULL); - - cxt = ci->cxt; - - if (cxt->regs == cxt->storage) { - return; /* is torn off */ - } - for (i = 0; i < cxt->regc; ++i) { - cxt->storage[i] = cxt->regs[i]; - } - cxt->regs = cxt->storage; -} - -void -pic_vm_tear_off(pic_state *pic) -{ - struct callinfo *ci; - - for (ci = pic->ci; ci > pic->cibase; ci--) { - if (ci->cxt != NULL) { - vm_tear_off(ci); - } - } -} - -/* for arithmetic instructions */ -pic_value pic_add(pic_state *, pic_value, pic_value); -pic_value pic_sub(pic_state *, pic_value, pic_value); -pic_value pic_mul(pic_state *, pic_value, pic_value); -pic_value pic_div(pic_state *, pic_value, pic_value); -bool pic_eq(pic_state *, pic_value, pic_value); -bool pic_lt(pic_state *, pic_value, pic_value); -bool pic_le(pic_state *, pic_value, pic_value); -bool pic_gt(pic_state *, pic_value, pic_value); -bool pic_ge(pic_state *, pic_value, pic_value); - pic_value pic_apply(pic_state *pic, pic_value proc, int argc, pic_value *argv) { - struct code c; - size_t ai = pic_enter(pic); - struct code boot[2]; - int i; + struct context cxt; + size_t arena_base = pic->cxt->ai; -#define PUSH(v) ((*pic->sp = (v)), pic->sp++) -#define POP() (*--pic->sp) +#define MKCALL(argc) (cxt.tmpcode[0] = OP_CALL, cxt.tmpcode[1] = (argc), cxt.tmpcode) -#define PUSHCI() (++pic->ci) -#define POPCI() (pic->ci--) + cxt.pc = MKCALL(argc + 1); + cxt.sp = pic_make_frame_unsafe(pic, argc + 3); + cxt.sp->regs[0] = proc; + cxt.sp->regs[1] = pic->halt; + if (argc != 0) { + int i; + for (i = 0; i < argc; ++i) { + cxt.sp->regs[i + 2] = argv[i]; + } + } + cxt.fp = NULL; + cxt.irep = NULL; + cxt.ai = pic->cxt->ai; + cxt.prev = pic->cxt; + pic->cxt = &cxt; - PUSH(proc); - - for (i = 0; i < argc; ++i) { - PUSH(argv[i]); + if (PIC_SETJMP(pic, cxt.jmp) != 0) { + /* pass */ } - /* boot! */ - boot[0].insn = OP_CALL; - boot[0].a = argc + 1; - boot[1].insn = OP_STOP; - pic->ip = boot; +#define SAVE (cxt.ai = arena_base) + +#define A (cxt.pc[1]) +#define B (cxt.pc[2]) +#define C (cxt.pc[3]) +#define Bx ((C << 8) + B) +#define REG(i) (cxt.sp->regs[i]) #if PIC_DIRECT_THREADED_VM # define VM_LOOP JUMP; # define CASE(x) L_##x: -# define NEXT pic->ip++; JUMP; -# define JUMP c = *pic->ip; goto *oplabels[c.insn]; +# define NEXT(n) (cxt.pc += n); JUMP; +# define JUMP goto *oplabels[*cxt.pc]; # define VM_LOOP_END #else -# define VM_LOOP for (;;) { c = *pic->ip; switch (c.insn) { +# define VM_LOOP for (;;) { switch (*cxt.pc) { # define CASE(x) case x: -# define NEXT pic->ip++; break +# define NEXT(n) (cxt.pc += n); break # define JUMP break # define VM_LOOP_END } } #endif #if PIC_DIRECT_THREADED_VM static const void *oplabels[] = { - &&L_OP_NOP, &&L_OP_POP, &&L_OP_PUSHUNDEF, &&L_OP_PUSHNIL, &&L_OP_PUSHTRUE, - &&L_OP_PUSHFALSE, &&L_OP_PUSHINT, &&L_OP_PUSHFLOAT, - &&L_OP_PUSHCHAR, &&L_OP_PUSHEOF, &&L_OP_PUSHCONST, - &&L_OP_GREF, &&L_OP_GSET, &&L_OP_LREF, &&L_OP_LSET, &&L_OP_CREF, &&L_OP_CSET, - &&L_OP_JMP, &&L_OP_JMPIF, &&L_OP_NOT, &&L_OP_CALL, &&L_OP_TAILCALL, &&L_OP_RET, - &&L_OP_LAMBDA, &&L_OP_CONS, &&L_OP_CAR, &&L_OP_CDR, &&L_OP_NILP, - &&L_OP_SYMBOLP, &&L_OP_PAIRP, - &&L_OP_ADD, &&L_OP_SUB, &&L_OP_MUL, &&L_OP_DIV, - &&L_OP_EQ, &&L_OP_LT, &&L_OP_LE, &&L_OP_GT, &&L_OP_GE, &&L_OP_STOP + [OP_HALT] = &&L_OP_HALT, [OP_CALL] = &&L_OP_CALL, [OP_PROC] = &&L_OP_PROC, + [OP_LOAD] = &&L_OP_LOAD, [OP_LREF] = &&L_OP_LREF, [OP_LSET] = &&L_OP_LSET, + [OP_GREF] = &&L_OP_GREF, [OP_GSET] = &&L_OP_GSET, [OP_COND] = &&L_OP_COND, + [OP_LOADT] = &&L_OP_LOADT, [OP_LOADF] = &&L_OP_LOADF, [OP_LOADN] = &&L_OP_LOADN, + [OP_LOADU] = &&L_OP_LOADU, [OP_LOADI] = &&L_OP_LOADI }; #endif VM_LOOP { - CASE(OP_NOP) { - NEXT; - } - CASE(OP_POP) { - (void)(POP()); - NEXT; - } - CASE(OP_PUSHUNDEF) { - PUSH(pic_undef_value(pic)); - NEXT; - } - CASE(OP_PUSHNIL) { - PUSH(pic_nil_value(pic)); - NEXT; - } - CASE(OP_PUSHTRUE) { - PUSH(pic_true_value(pic)); - NEXT; - } - CASE(OP_PUSHFALSE) { - PUSH(pic_false_value(pic)); - NEXT; - } - CASE(OP_PUSHINT) { - PUSH(pic_int_value(pic, pic->ci->irep->ints[c.a])); - NEXT; - } - CASE(OP_PUSHFLOAT) { - PUSH(pic_float_value(pic, pic->ci->irep->nums[c.a])); - NEXT; - } - CASE(OP_PUSHCHAR) { - PUSH(pic_char_value(pic, pic->ci->irep->ints[c.a])); - NEXT; - } - CASE(OP_PUSHEOF) { - PUSH(pic_eof_object(pic)); - NEXT; - } - CASE(OP_PUSHCONST) { - PUSH(obj_value(pic, pic->ci->irep->pool[c.a])); - NEXT; - } - CASE(OP_GREF) { - PUSH(pic_global_ref(pic, obj_value(pic, pic->ci->irep->pool[c.a]))); - NEXT; - } - CASE(OP_GSET) { - pic_global_set(pic, obj_value(pic, pic->ci->irep->pool[c.a]), POP()); - PUSH(pic_undef_value(pic)); - NEXT; - } - CASE(OP_LREF) { - struct callinfo *ci = pic->ci; - struct irep *irep = ci->irep; - - if (ci->cxt != NULL && ci->cxt->regs == ci->cxt->storage) { - if (c.a >= irep->argc + irep->localc) { - PUSH(ci->cxt->regs[c.a - (ci->regs - ci->fp)]); - NEXT; - } - } - PUSH(pic->ci->fp[c.a]); - NEXT; - } - CASE(OP_LSET) { - struct callinfo *ci = pic->ci; - struct irep *irep = ci->irep; - - if (ci->cxt != NULL && ci->cxt->regs == ci->cxt->storage) { - if (c.a >= irep->argc + irep->localc) { - ci->cxt->regs[c.a - (ci->regs - ci->fp)] = POP(); - PUSH(pic_undef_value(pic)); - NEXT; - } - } - pic->ci->fp[c.a] = POP(); - PUSH(pic_undef_value(pic)); - NEXT; - } - CASE(OP_CREF) { - int depth = c.a; - struct frame *cxt; - - cxt = pic->ci->up; - while (--depth) { - cxt = cxt->up; - } - PUSH(cxt->regs[c.b]); - NEXT; - } - CASE(OP_CSET) { - int depth = c.a; - struct frame *cxt; - - cxt = pic->ci->up; - while (--depth) { - cxt = cxt->up; - } - cxt->regs[c.b] = POP(); - PUSH(pic_undef_value(pic)); - NEXT; - } - CASE(OP_JMP) { - pic->ip += c.a; - JUMP; - } - CASE(OP_JMPIF) { - pic_value v; - - v = POP(); - if (! pic_false_p(pic, v)) { - pic->ip += c.a; - JUMP; - } - NEXT; + CASE(OP_HALT) { + pic_value ret = cxt.fp->regs[1]; + pic->cxt = pic->cxt->prev; + pic_protect(pic, ret); + return ret; } CASE(OP_CALL) { - pic_value x, v; - struct callinfo *ci; struct proc *proc; - - if (c.a == -1) { - pic->sp += pic->ci[1].retc - 1; - c.a = pic->ci[1].retc + 1; + if (! pic_proc_p(pic, REG(0))) { + pic_error(pic, "invalid application", 1, REG(0)); } - - L_CALL: - x = pic->sp[-c.a]; - if (! pic_proc_p(pic, x)) { - pic_error(pic, "invalid application", 1, x); - } - proc = proc_ptr(pic, x); - - if (pic->sp >= pic->stend) { - pic_panic(pic, "VM stack overflow"); - } - - ci = PUSHCI(); - ci->argc = c.a; - ci->retc = 1; - ci->ip = pic->ip; - ci->fp = pic->sp - c.a; - ci->irep = NULL; - ci->cxt = NULL; + proc = proc_ptr(pic, REG(0)); if (proc->tt == PIC_TYPE_PROC_FUNC) { - - /* invoke! */ + pic_value v; + cxt.sp->up = proc->env; /* push static link */ + cxt.fp = cxt.sp; + cxt.sp = NULL; + cxt.irep = NULL; v = proc->u.func(pic); - pic->sp[0] = v; - pic->sp += pic->ci->retc; - - pic_leave(pic, ai); - goto L_RET; - } - else { + if (cxt.sp != NULL) { /* tail call */ + SAVE; + JUMP; + } else { + cxt.sp = pic_make_frame_unsafe(pic, 3); + cxt.sp->regs[0] = cxt.fp->regs[1]; /* cont. */ + cxt.sp->regs[1] = v; + cxt.pc = MKCALL(1); + SAVE; + JUMP; + } + } else { struct irep *irep = proc->u.irep; - int i; - pic_value rest; - ci->irep = irep; - if (ci->argc != irep->argc) { - if (! (irep->varg && ci->argc >= irep->argc)) { - arg_error(pic, ci->argc - 1, irep->varg, irep->argc - 1); - } - } - /* prepare rest args */ - if (irep->varg) { - rest = pic_nil_value(pic); - for (i = 0; i < ci->argc - irep->argc; ++i) { - pic_protect(pic, v = POP()); - rest = pic_cons(pic, v, rest); - } - PUSH(rest); - } - /* prepare local variable area */ - if (irep->localc > 0) { - int l = irep->localc; - if (irep->varg) { - --l; - } - for (i = 0; i < l; ++i) { - PUSH(pic_undef_value(pic)); - } - } + if (A != irep->argc) { + if (! ((irep->flags & IREP_VARG) != 0 && A >= irep->argc)) { + arg_error(pic, A, (irep->flags & IREP_VARG), irep->argc); + } + } + if (irep->flags & IREP_VARG) { + REG(irep->argc + 1) = pic_make_list(pic, A - irep->argc, ®(irep->argc + 1)); + SAVE; /* TODO: get rid of this */ + } - /* prepare cxt */ - ci->up = proc->fp; - ci->regc = irep->capturec; - ci->regs = ci->fp + irep->argc + irep->localc; - - pic->ip = irep->code; - pic_leave(pic, ai); - JUMP; + cxt.sp->up = proc->env; /* push static link */ + cxt.fp = cxt.sp; + cxt.sp = pic_make_frame_unsafe(pic, irep->frame_size); + cxt.pc = irep->code; + cxt.irep = irep; + JUMP; } } - CASE(OP_TAILCALL) { - int i, argc; - pic_value *argv; - struct callinfo *ci; - - if (pic->ci->cxt != NULL) { - vm_tear_off(pic->ci); + CASE(OP_LREF) { + struct frame *f; + int depth = B; + for (f = cxt.fp; depth--; f = f->up); + REG(A) = f->regs[C]; + NEXT(4); + } + CASE(OP_LSET) { + struct frame *f; + int depth = B; + for (f = cxt.fp; depth--; f = f->up); + f->regs[C] = REG(A); + NEXT(4); + } + CASE(OP_GREF) { + REG(A) = pic_global_ref(pic, cxt.irep->obj[B]); + NEXT(3); + } + CASE(OP_GSET) { + pic_global_set(pic, cxt.irep->obj[B], REG(A)); + NEXT(3); + } + CASE(OP_COND) { + if (pic_false_p(pic, REG(A))) { + NEXT(Bx); + } else { + NEXT(4); } - - if (c.a == -1) { - pic->sp += pic->ci[1].retc - 1; - c.a = pic->ci[1].retc + 1; - } - - argc = c.a; - argv = pic->sp - argc; - for (i = 0; i < argc; ++i) { - pic->ci->fp[i] = argv[i]; - } - ci = POPCI(); - pic->sp = ci->fp + argc; - pic->ip = ci->ip; - - /* c is not changed */ - goto L_CALL; } - CASE(OP_RET) { - int i, retc; - pic_value *retv; - struct callinfo *ci; - - if (pic->ci->cxt != NULL) { - vm_tear_off(pic->ci); - } - - assert(pic->ci->retc == 1); - - L_RET: - retc = pic->ci->retc; - retv = pic->sp - retc; - if (retc == 0) { - pic->ci->fp[0] = retv[0]; /* copy at least once */ - } - for (i = 0; i < retc; ++i) { - pic->ci->fp[i] = retv[i]; - } - ci = POPCI(); - pic->sp = ci->fp + 1; /* advance only one! */ - pic->ip = ci->ip; - - NEXT; + CASE(OP_PROC) { + REG(A) = pic_make_proc_irep_unsafe(pic, cxt.irep->irep[B], cxt.fp); + NEXT(3); } - CASE(OP_LAMBDA) { - if (pic->ci->cxt == NULL) { - vm_push_cxt(pic); - } - - PUSH(pic_make_proc_irep(pic, pic->ci->irep->irep[c.a], pic->ci->cxt)); - pic_leave(pic, ai); - NEXT; + CASE(OP_LOAD) { + REG(A) = cxt.irep->obj[B]; + NEXT(3); } - - CASE(OP_CONS) { - pic_value a, b; - pic_protect(pic, b = POP()); - pic_protect(pic, a = POP()); - PUSH(pic_cons(pic, a, b)); - pic_leave(pic, ai); - NEXT; + CASE(OP_LOADU) { + REG(A) = pic_undef_value(pic); + NEXT(2); } - CASE(OP_CAR) { - pic_value p; - p = POP(); - PUSH(pic_car(pic, p)); - NEXT; + CASE(OP_LOADT) { + REG(A) = pic_true_value(pic); + NEXT(2); } - CASE(OP_CDR) { - pic_value p; - p = POP(); - PUSH(pic_cdr(pic, p)); - NEXT; + CASE(OP_LOADF) { + REG(A) = pic_false_value(pic); + NEXT(2); } - CASE(OP_NILP) { - pic_value p; - p = POP(); - PUSH(pic_bool_value(pic, pic_nil_p(pic, p))); - NEXT; + CASE(OP_LOADN) { + REG(A) = pic_nil_value(pic); + NEXT(2); } - CASE(OP_SYMBOLP) { - pic_value p; - p = POP(); - PUSH(pic_bool_value(pic, pic_sym_p(pic, p))); - NEXT; + CASE(OP_LOADI) { + REG(A) = pic_int_value(pic, (signed char) B); + NEXT(3); } - CASE(OP_PAIRP) { - pic_value p; - p = POP(); - PUSH(pic_bool_value(pic, pic_pair_p(pic, p))); - NEXT; - } - CASE(OP_NOT) { - pic_value v; - v = pic_false_p(pic, POP()) ? pic_true_value(pic) : pic_false_value(pic); - PUSH(v); - NEXT; - } - - CASE(OP_ADD) { - pic_value a, b; - b = POP(); - a = POP(); - PUSH(pic_add(pic, a, b)); - NEXT; - } - CASE(OP_SUB) { - pic_value a, b; - b = POP(); - a = POP(); - PUSH(pic_sub(pic, a, b)); - NEXT; - } - CASE(OP_MUL) { - pic_value a, b; - b = POP(); - a = POP(); - PUSH(pic_mul(pic, a, b)); - NEXT; - } - CASE(OP_DIV) { - pic_value a, b; - b = POP(); - a = POP(); - PUSH(pic_div(pic, a, b)); - NEXT; - } - CASE(OP_EQ) { - pic_value a, b; - b = POP(); - a = POP(); - PUSH(pic_bool_value(pic, pic_eq(pic, a, b))); - NEXT; - } - CASE(OP_LE) { - pic_value a, b; - b = POP(); - a = POP(); - PUSH(pic_bool_value(pic, pic_le(pic, a, b))); - NEXT; - } - CASE(OP_LT) { - pic_value a, b; - b = POP(); - a = POP(); - PUSH(pic_bool_value(pic, pic_lt(pic, a, b))); - NEXT; - } - CASE(OP_GE) { - pic_value a, b; - b = POP(); - a = POP(); - PUSH(pic_bool_value(pic, pic_ge(pic, a, b))); - NEXT; - } - CASE(OP_GT) { - pic_value a, b; - b = POP(); - a = POP(); - PUSH(pic_bool_value(pic, pic_gt(pic, a, b))); - NEXT; - } - - CASE(OP_STOP) { - return pic_protect(pic, POP()); - } - } VM_LOOP_END; + } VM_LOOP_END } pic_value pic_applyk(pic_state *pic, pic_value proc, int argc, pic_value *args) { - static const struct code iseq[2] = { { OP_NOP, 0, 0 }, { OP_TAILCALL, -1, 0 } }; - pic_value *sp; - struct callinfo *ci; - int i; + const code_t *pc; + struct frame *sp; - *pic->sp++ = proc; +#define MKCALLK(argc) \ + (pic->cxt->tmpcode[0] = OP_CALL, pic->cxt->tmpcode[1] = (argc), pic->cxt->tmpcode) - sp = pic->sp; - for (i = 0; i < argc; ++i) { - *sp++ = args[i]; - } - - ci = PUSHCI(); - ci->ip = iseq; - ci->fp = pic->sp; - ci->retc = (int)argc; - - if (ci->retc == 0) { - return pic_undef_value(pic); - } else { - return args[0]; + pc = MKCALLK(argc + 1); + sp = pic_make_frame_unsafe(pic, argc + 3); + sp->regs[0] = proc; + sp->regs[1] = GET_CONT(pic); + if (argc != 0) { + int i; + for (i = 0; i < argc; ++i) { + sp->regs[i + 2] = args[i]; + } } + pic->cxt->pc = pc; + pic->cxt->sp = sp; + return pic_invalid_value(pic); } static pic_value diff --git a/lib/state.c b/lib/state.c index 3c9295b3..f1a9d75f 100644 --- a/lib/state.c +++ b/lib/state.c @@ -168,29 +168,18 @@ pic_open(pic_allocf allocf, void *userdata) /* user data */ pic->userdata = userdata; - /* continuation chain */ - pic->cc = NULL; - - /* prepare VM stack */ - pic->stbase = pic->sp = allocf(userdata, NULL, PIC_STACK_SIZE * sizeof(pic_value)); - pic->stend = pic->stbase + PIC_STACK_SIZE; - - if (! pic->sp) { - goto EXIT_SP; - } - - /* callinfo */ - pic->cibase = pic->ci = allocf(userdata, NULL, PIC_STACK_SIZE * sizeof(struct callinfo)); - pic->ciend = pic->cibase + PIC_STACK_SIZE; - - if (! pic->ci) { - goto EXIT_CI; - } + /* context */ + pic->default_cxt.ai = 0; + pic->default_cxt.pc = NULL; + pic->default_cxt.fp = NULL; + pic->default_cxt.sp = NULL; + pic->default_cxt.irep = NULL; + pic->default_cxt.prev = NULL; + pic->cxt = &pic->default_cxt; /* arena */ pic->arena = allocf(userdata, NULL, PIC_ARENA_SIZE * sizeof(struct object *)); pic->arena_size = PIC_ARENA_SIZE; - pic->arena_idx = 0; if (! pic->arena) { goto EXIT_ARENA; @@ -214,12 +203,29 @@ pic_open(pic_allocf allocf, void *userdata) /* dynamic environment */ pic->dyn_env = pic_list(pic, 1, pic_make_weak(pic)); + /* top continuation */ + { + static const code_t halt_code[] = { 0x00, 0x01 }; + struct irep *irep; + struct proc *proc; + irep = (struct irep *)pic_obj_alloc(pic, PIC_TYPE_IREP); + irep->argc = 1; + irep->flags = IREP_CODE_STATIC; + irep->frame_size = 1; + irep->irepc = 0; + irep->objc = 0; + irep->irep = NULL; + irep->obj = NULL; + irep->code = halt_code; + proc = (struct proc *)pic_obj_alloc(pic, PIC_TYPE_PROC_IREP); + proc->u.irep = irep; + proc->env = NULL; + pic->halt = obj_value(pic, proc); + } + /* panic handler */ pic->panicf = NULL; - /* error object */ - pic->err = pic_invalid_value(pic); - /* turn on GC */ pic->gc_enable = true; @@ -230,10 +236,6 @@ pic_open(pic_allocf allocf, void *userdata) return pic; EXIT_ARENA: - allocf(userdata, pic->ci, 0); - EXIT_CI: - allocf(userdata, pic->sp, 0); - EXIT_SP: allocf(userdata, pic, 0); EXIT_PIC: return NULL; @@ -245,24 +247,25 @@ pic_close(pic_state *pic) pic_allocf allocf = pic->allocf; /* clear out root objects */ - pic->sp = pic->stbase; - pic->ci = pic->cibase; - pic->arena_idx = 0; - pic->err = pic_invalid_value(pic); + pic->cxt = &pic->default_cxt; + pic->cxt->ai = 0; + pic->halt = pic_invalid_value(pic); pic->globals = pic_invalid_value(pic); pic->features = pic_invalid_value(pic); pic->dyn_env = pic_invalid_value(pic); + assert(pic->cxt->pc == NULL); + assert(pic->cxt->fp == NULL); + assert(pic->cxt->sp == NULL); + assert(pic->cxt->irep == NULL); + assert(pic->cxt->prev == NULL); + /* free all heap objects */ pic_gc(pic); /* free heaps */ pic_heap_close(pic, pic->heap); - /* free runtime context */ - allocf(pic->userdata, pic->stbase, 0); - allocf(pic->userdata, pic->cibase, 0); - /* free global stacks */ kh_destroy(oblist, &pic->oblist); @@ -280,18 +283,20 @@ pic_global_ref(pic_state *pic, pic_value sym) pic_error(pic, "undefined variable", 1, sym); } val = pic_dict_ref(pic, pic->globals, sym); - if (pic_invalid_p(pic, val)) { - pic_error(pic, "uninitialized global variable", 1, sym); - } + /* FIXME */ + /* if (pic_invalid_p(pic, val)) { */ + /* pic_error(pic, "uninitialized global variable", 1, sym); */ + /* } */ return val; } void pic_global_set(pic_state *pic, pic_value sym, pic_value value) { - if (! pic_dict_has(pic, pic->globals, sym)) { - pic_error(pic, "undefined variable", 1, sym); - } + /* FIXME */ + /* if (! pic_dict_has(pic, pic->globals, sym)) { */ + /* pic_error(pic, "undefined variable", 1, sym); */ + /* } */ pic_dict_set(pic, pic->globals, sym, value); } @@ -321,7 +326,7 @@ pic_define(pic_state *pic, const char *name, pic_value val) void pic_defun(pic_state *pic, const char *name, pic_func_t f) { - pic_define(pic, name, pic_make_proc_func(pic, f, 0, NULL)); + pic_define(pic, name, pic_make_proc_func(pic, f)); } void diff --git a/lib/state.h b/lib/state.h index 47433a7b..c96b3f39 100644 --- a/lib/state.h +++ b/lib/state.h @@ -10,34 +10,30 @@ extern "C" { #endif #include "khash.h" -#include "vm.h" - -struct callinfo { - int argc, retc; - const struct code *ip; - pic_value *fp; - struct irep *irep; - struct frame *cxt; - int regc; - pic_value *regs; - struct frame *up; -}; +#include "object.h" KHASH_DECLARE(oblist, struct string *, struct symbol *) +struct context { + PIC_JMPBUF jmp; + size_t ai; + + /* vm */ + const code_t *pc; + struct frame *sp; + struct frame *fp; + struct irep *irep; + + code_t tmpcode[2]; + + struct context *prev; +}; + struct pic_state { pic_allocf allocf; void *userdata; - struct cont *cc; - - pic_value *sp; - pic_value *stbase, *stend; - - struct callinfo *ci; - struct callinfo *cibase, *ciend; - - const struct code *ip; + struct context *cxt, default_cxt; pic_value dyn_env; @@ -48,9 +44,9 @@ struct pic_state { bool gc_enable; struct heap *heap; struct object **arena; - size_t arena_size, arena_idx; + size_t arena_size; - pic_value err; + pic_value halt; /* top continuation */ pic_panicf panicf; }; diff --git a/lib/vm.h b/lib/vm.h deleted file mode 100644 index d980e35a..00000000 --- a/lib/vm.h +++ /dev/null @@ -1,65 +0,0 @@ -/** - * See Copyright Notice in picrin.h - */ - -#ifndef PICRIN_VM_H -#define PICRIN_VM_H - -#if defined(__cplusplus) -extern "C" { -#endif - -enum { - OP_NOP = 0, - OP_POP = 1, - OP_PUSHUNDEF = 2, - OP_PUSHNIL = 3, - OP_PUSHTRUE = 4, - OP_PUSHFALSE = 5, - OP_PUSHINT = 6, - OP_PUSHFLOAT = 7, - OP_PUSHCHAR = 8, - OP_PUSHEOF = 9, - OP_PUSHCONST = 10, - OP_GREF = 11, - OP_GSET = 12, - OP_LREF = 13, - OP_LSET = 14, - OP_CREF = 15, - OP_CSET = 16, - OP_JMP = 17, - OP_JMPIF = 18, - OP_NOT = 19, - OP_CALL = 20, - OP_TAILCALL = 21, - OP_RET = 22, - OP_LAMBDA = 23, - OP_CONS = 24, - OP_CAR = 25, - OP_CDR = 26, - OP_NILP = 27, - OP_SYMBOLP = 28, - OP_PAIRP = 29, - OP_ADD = 30, - OP_SUB = 31, - OP_MUL = 32, - OP_DIV = 33, - OP_EQ = 34, - OP_LT = 35, - OP_LE = 36, - OP_GT = 37, - OP_GE = 38, - OP_STOP = 39 -}; - -struct code { - int insn; - int a; - int b; -}; - -#if defined(__cplusplus) -} -#endif - -#endif diff --git a/lib/weak.c b/lib/weak.c index 275b8eaa..728fbd18 100644 --- a/lib/weak.c +++ b/lib/weak.c @@ -50,7 +50,7 @@ pic_make_weak(pic_state *pic) pic_value pic_weak_ref(pic_state *pic, pic_value weak, pic_value key) { - khash_t(weak) *h = &weak_ptr(pic, proc_ptr(pic, weak)->fp->regs[0])->hash; + khash_t(weak) *h = &weak_ptr(pic, proc_ptr(pic, weak)->env->regs[0])->hash; int it; it = kh_get(weak, h, obj_ptr(pic, key)); @@ -63,7 +63,7 @@ pic_weak_ref(pic_state *pic, pic_value weak, pic_value key) void pic_weak_set(pic_state *pic, pic_value weak, pic_value key, pic_value val) { - khash_t(weak) *h = &weak_ptr(pic, proc_ptr(pic, weak)->fp->regs[0])->hash; + khash_t(weak) *h = &weak_ptr(pic, proc_ptr(pic, weak)->env->regs[0])->hash; int ret; int it; @@ -74,7 +74,7 @@ pic_weak_set(pic_state *pic, pic_value weak, pic_value key, pic_value val) bool pic_weak_has(pic_state *pic, pic_value weak, pic_value key) { - khash_t(weak) *h = &weak_ptr(pic, proc_ptr(pic, weak)->fp->regs[0])->hash; + khash_t(weak) *h = &weak_ptr(pic, proc_ptr(pic, weak)->env->regs[0])->hash; return kh_get(weak, h, obj_ptr(pic, key)) != kh_end(h); } @@ -82,7 +82,7 @@ pic_weak_has(pic_state *pic, pic_value weak, pic_value key) void pic_weak_del(pic_state *pic, pic_value weak, pic_value key) { - khash_t(weak) *h = &weak_ptr(pic, proc_ptr(pic, weak)->fp->regs[0])->hash; + khash_t(weak) *h = &weak_ptr(pic, proc_ptr(pic, weak)->env->regs[0])->hash; int it; it = kh_get(weak, h, obj_ptr(pic, key)); diff --git a/tools/mkboot.scm b/tools/mkboot.scm index 4ccc56ef..fcaf4f89 100644 --- a/tools/mkboot.scm +++ b/tools/mkboot.scm @@ -1,7 +1,6 @@ (import (scheme base) (scheme read) - (scheme write) - (only (picrin base) compile expand default-environment)) + (scheme write)) (define (generate-rom) @@ -16,7 +15,7 @@ (define text (with-output-to-string (lambda () - (write (compile (expand (read) default-environment)))))) + (write (read))))) (define (escape-string s) (with-output-to-string