/*===========================================================================*/
/*   (Ast/substitute.scm)                                                    */
/*   Bigloo (2.6b)                                                           */
/*   Inria -- Sophia Antipolis (c)       Mon Dec 15 12:14:36 CET 2003        */
/*===========================================================================*/
/* COMPILATION: (/users/serrano/prgm/project/bigloo/bin/bigloo -q -afile .afile -fsharing -fno-reflection -cc gcc-2.95 -lib-dir /users/serrano/prgm/project/bigloo/lib/2.6b -unsafev -no-hello -O2 -rm -unsafe -s -indent Ast/substitute.scm)*/
/* GC selection */
#define THE_GC BOEHM_GC

#include <bigloo.h>


/* Object type definitions */
typedef struct BgL_typez00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_idz00;
   obj_t BgL_namez00;
   obj_t BgL_siza7eza7;
   obj_t BgL_classz00;
   obj_t BgL_coercezd2tozd2;
   obj_t BgL_parentsz00;
   bool_t BgL_initzf3zf3;
   bool_t BgL_magiczf3zf3;
   obj_t BgL_z42z42;
   obj_t BgL_aliasz00;
   obj_t BgL_pointedzd2tozd2byz00;
   obj_t BgL_tvectorz00;
   obj_t BgL_locationz00;
   obj_t BgL_importzd2locationzd2;
} *BgL_typez00_bglt;

typedef struct BgL_valuez00_bgl {
   header_t header;
   obj_t widening;
} *BgL_valuez00_bglt;

typedef struct BgL_variablez00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_idz00;
   obj_t BgL_namez00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_valuez00_bgl * BgL_valuez00;
   obj_t BgL_accessz00;
   obj_t BgL_fastzd2alphazd2;
   obj_t BgL_removablez00;
   long BgL_occurrencez00;
} *BgL_variablez00_bglt;

typedef struct BgL_globalz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_idz00;
   obj_t BgL_namez00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_valuez00_bgl * BgL_valuez00;
   obj_t BgL_accessz00;
   obj_t BgL_fastzd2alphazd2;
   obj_t BgL_removablez00;
   long BgL_occurrencez00;
   obj_t BgL_modulez00;
   obj_t BgL_importz00;
   bool_t BgL_evaluablezf3zf3;
   bool_t BgL_libraryzf3zf3;
   bool_t BgL_userzf3zf3;
   obj_t BgL_pragmaz00;
   obj_t BgL_srcz00;
   obj_t BgL_jvmzd2typezd2namez00;
} *BgL_globalz00_bglt;

typedef struct BgL_localz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_idz00;
   obj_t BgL_namez00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_valuez00_bgl * BgL_valuez00;
   obj_t BgL_accessz00;
   obj_t BgL_fastzd2alphazd2;
   obj_t BgL_removablez00;
   long BgL_occurrencez00;
   bool_t BgL_userzf3zf3;
   long BgL_keyz00;
} *BgL_localz00_bglt;

typedef struct BgL_funz00_bgl {
   header_t header;
   obj_t widening;
   long BgL_arityz00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_predicatezd2ofzd2;
   obj_t BgL_stackzd2allocatorzd2;
   bool_t BgL_topzf3zf3;
   obj_t BgL_thezd2closurezd2;
   obj_t BgL_effectz00;
} *BgL_funz00_bglt;

typedef struct BgL_sfunz00_bgl {
   header_t header;
   obj_t widening;
   long BgL_arityz00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_predicatezd2ofzd2;
   obj_t BgL_stackzd2allocatorzd2;
   bool_t BgL_topzf3zf3;
   obj_t BgL_thezd2closurezd2;
   obj_t BgL_effectz00;
   obj_t BgL_propertyz00;
   obj_t BgL_argsz00;
   obj_t BgL_bodyz00;
   obj_t BgL_classz00;
   obj_t BgL_dssslzd2keywordszd2;
   obj_t BgL_locz00;
} *BgL_sfunz00_bglt;

typedef struct BgL_cfunz00_bgl {
   header_t header;
   obj_t widening;
   long BgL_arityz00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_predicatezd2ofzd2;
   obj_t BgL_stackzd2allocatorzd2;
   bool_t BgL_topzf3zf3;
   obj_t BgL_thezd2closurezd2;
   obj_t BgL_effectz00;
   obj_t BgL_argszd2typezd2;
   bool_t BgL_macrozf3zf3;
   bool_t BgL_infixzf3zf3;
   obj_t BgL_methodz00;
} *BgL_cfunz00_bglt;

typedef struct BgL_svarz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
} *BgL_svarz00_bglt;

typedef struct BgL_scnstz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_nodez00;
   obj_t BgL_classz00;
   obj_t BgL_locz00;
} *BgL_scnstz00_bglt;

typedef struct BgL_cvarz00_bgl {
   header_t header;
   obj_t widening;
   bool_t BgL_macrozf3zf3;
} *BgL_cvarz00_bglt;

typedef struct BgL_sexitz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_handlerz00;
   bool_t BgL_detachedzf3zf3;
} *BgL_sexitz00_bglt;

typedef struct BgL_feffectz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_readz00;
   obj_t BgL_writez00;
} *BgL_feffectz00_bglt;

typedef struct BgL_nodez00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
} *BgL_nodez00_bglt;

typedef struct BgL_nodezf2effectzf2_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
} *BgL_nodezf2effectzf2_bglt;

typedef struct BgL_atomz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_valuez00;
} *BgL_atomz00_bglt;

typedef struct BgL_varz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_variablez00_bgl * BgL_variablez00;
} *BgL_varz00_bglt;

typedef struct BgL_closurez00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_variablez00_bgl * BgL_variablez00;
} *BgL_closurez00_bglt;

typedef struct BgL_kwotez00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_valuez00;
} *BgL_kwotez00_bglt;

typedef struct BgL_sequencez00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_nodesz00;
} *BgL_sequencez00_bglt;

typedef struct BgL_appz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   struct BgL_varz00_bgl * BgL_funz00;
   obj_t BgL_argsz00;
} *BgL_appz00_bglt;

typedef struct BgL_appzd2lyzd2_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_nodez00_bgl * BgL_funz00;
   struct BgL_nodez00_bgl * BgL_argz00;
} *BgL_appzd2lyzd2_bglt;

typedef struct BgL_funcallz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_nodez00_bgl * BgL_funz00;
   obj_t BgL_argsz00;
   obj_t BgL_strengthz00;
} *BgL_funcallz00_bglt;

typedef struct BgL_externz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
} *BgL_externz00_bglt;

typedef struct BgL_pragmaz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
   obj_t BgL_formatz00;
} *BgL_pragmaz00_bglt;

typedef struct BgL_getfieldz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
   obj_t BgL_fnamez00;
   struct BgL_typez00_bgl * BgL_ftypez00;
   struct BgL_typez00_bgl * BgL_otypez00;
} *BgL_getfieldz00_bglt;

typedef struct BgL_setfieldz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
   obj_t BgL_fnamez00;
   struct BgL_typez00_bgl * BgL_ftypez00;
   struct BgL_typez00_bgl * BgL_otypez00;
} *BgL_setfieldz00_bglt;

typedef struct BgL_newz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
} *BgL_newz00_bglt;

typedef struct BgL_vallocz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
   obj_t BgL_czd2heapzd2formatz00;
   struct BgL_typez00_bgl * BgL_ftypez00;
   struct BgL_typez00_bgl * BgL_otypez00;
} *BgL_vallocz00_bglt;

typedef struct BgL_vrefz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
   obj_t BgL_czd2formatzd2;
   struct BgL_typez00_bgl * BgL_ftypez00;
   struct BgL_typez00_bgl * BgL_otypez00;
   struct BgL_typez00_bgl * BgL_vtypez00;
} *BgL_vrefz00_bglt;

typedef struct BgL_vsetz12z12_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
   obj_t BgL_czd2formatzd2;
   struct BgL_typez00_bgl * BgL_ftypez00;
   struct BgL_typez00_bgl * BgL_otypez00;
   struct BgL_typez00_bgl * BgL_vtypez00;
} *BgL_vsetz12z12_bglt;

typedef struct BgL_vlengthz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
   obj_t BgL_czd2formatzd2;
   struct BgL_typez00_bgl * BgL_vtypez00;
} *BgL_vlengthz00_bglt;

typedef struct BgL_isaz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
   struct BgL_typez00_bgl * BgL_classz00;
} *BgL_isaz00_bglt;

typedef struct BgL_castz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_nodez00_bgl * BgL_argz00;
} *BgL_castz00_bglt;

typedef struct BgL_setqz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_varz00_bgl * BgL_varz00;
   struct BgL_nodez00_bgl * BgL_valuez00;
} *BgL_setqz00_bglt;

typedef struct BgL_conditionalz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   struct BgL_nodez00_bgl * BgL_testz00;
   struct BgL_nodez00_bgl * BgL_truez00;
   struct BgL_nodez00_bgl * BgL_falsez00;
} *BgL_conditionalz00_bglt;

typedef struct BgL_failz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_nodez00_bgl * BgL_procz00;
   struct BgL_nodez00_bgl * BgL_msgz00;
   struct BgL_nodez00_bgl * BgL_objz00;
} *BgL_failz00_bglt;

typedef struct BgL_selectz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   struct BgL_nodez00_bgl * BgL_testz00;
   obj_t BgL_clausesz00;
   struct BgL_typez00_bgl * BgL_itemzd2typezd2;
} *BgL_selectz00_bglt;

typedef struct BgL_letzd2funzd2_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_localsz00;
   struct BgL_nodez00_bgl * BgL_bodyz00;
} *BgL_letzd2funzd2_bglt;

typedef struct BgL_letzd2varzd2_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_bindingsz00;
   struct BgL_nodez00_bgl * BgL_bodyz00;
   bool_t BgL_removablezf3zf3;
} *BgL_letzd2varzd2_bglt;

typedef struct BgL_setzd2exzd2itz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_varz00_bgl * BgL_varz00;
   struct BgL_nodez00_bgl * BgL_bodyz00;
} *BgL_setzd2exzd2itz00_bglt;

typedef struct BgL_jumpzd2exzd2itz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_nodez00_bgl * BgL_exitz00;
   struct BgL_nodez00_bgl * BgL_valuez00;
} *BgL_jumpzd2exzd2itz00_bglt;

typedef struct BgL_makezd2boxzd2_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   struct BgL_nodez00_bgl * BgL_valuez00;
} *BgL_makezd2boxzd2_bglt;

typedef struct BgL_boxzd2refzd2_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   struct BgL_varz00_bgl * BgL_varz00;
} *BgL_boxzd2refzd2_bglt;

typedef struct BgL_boxzd2setz12zc0_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_varz00_bgl * BgL_varz00;
   struct BgL_nodez00_bgl * BgL_valuez00;
} *BgL_boxzd2setz12zc0_bglt;


static obj_t BGl_methodzd2initzd2zzast_substitutez00();
static obj_t BGl_dozd2substitutez12zd2atom2696z12zzast_substitutez00(obj_t, obj_t, obj_t);
BGL_IMPORT obj_t open_input_string(obj_t);
static obj_t BGl_dozd2substitutez12zd2sequence2702z12zzast_substitutez00(obj_t, obj_t, obj_t);
extern obj_t BGl_letzd2funzd2zzast_nodez00;
BGL_IMPORT obj_t BGl_readz00zz__readerz00(obj_t);
static obj_t BGl_dozd2substitutez12zd2funcall2708z12zzast_substitutez00(obj_t, obj_t, obj_t);
BGL_IMPORT bool_t BGl_iszd2azf3z21zz__objectz00(obj_t, obj_t);
extern obj_t BGl_usezd2variablez12zc0zzast_sexpz00(BgL_variablez00_bglt, obj_t, obj_t);
static obj_t BGl_dozd2substitutez12zd2select2720z12zzast_substitutez00(obj_t, obj_t, obj_t);
BGL_IMPORT obj_t BGl_addzd2genericz12zc0zz__objectz00(obj_t, obj_t);
extern obj_t BGl_letzd2varzd2zzast_nodez00;
extern obj_t BGl_userzd2errorzf2locationz20zztools_errorz00(obj_t, obj_t, obj_t, obj_t, obj_t);
extern obj_t BGl_kwotez00zzast_nodez00;
extern obj_t BGl_funz00zzast_varz00;
static obj_t BGl_dozd2substitutez12zd2setq2714z12zzast_substitutez00(obj_t, obj_t, obj_t);
static obj_t BGl__substitutez123692z12zzast_substitutez00(obj_t, obj_t, obj_t, obj_t, obj_t);
extern obj_t BGl_castz00zzast_nodez00;
extern obj_t BGl_boxzd2refzd2zzast_nodez00;
extern obj_t BGl_varz00zzast_nodez00;
static obj_t BGl_cnstzd2initzd2zzast_substitutez00();
static BgL_nodez00_bglt BGl_dozd2substitutez12zd2default2693z12zzast_substitutez00(BgL_nodez00_bglt, obj_t);
extern obj_t BGl_atomz00zzast_nodez00;
extern obj_t BGl_failz00zzast_nodez00;
extern obj_t BGl_funcallz00zzast_nodez00;
extern bool_t BGl_correctzd2arityzd2appzf3zf3zzast_appz00(BgL_variablez00_bglt, obj_t);
static obj_t BGl_importedzd2moduleszd2initz00zzast_substitutez00();
extern obj_t BGl_makezd2boxzd2zzast_nodez00;
static obj_t BGl_dozd2substitutez12zd2appzd2ly2706zc0zzast_substitutez00(obj_t, obj_t, obj_t);
static obj_t BGl_dozd2substitutez12zd2app2704z12zzast_substitutez00(obj_t, obj_t, obj_t);
BGL_IMPORT obj_t BGl_addzd2methodz12zc0zz__objectz00(obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL BgL_nodez00_bglt BGl_substitutez12z12zzast_substitutez00(obj_t, obj_t, BgL_nodez00_bglt, obj_t);
extern BgL_closurez00_bglt BGl_makezd2closurezd2zzast_nodez00(obj_t, BgL_typez00_bglt, BgL_variablez00_bglt);
extern obj_t BGl_variablez00zzast_varz00;
extern obj_t BGl_selectz00zzast_nodez00;
static obj_t BGl_toplevelzd2initzd2zzast_substitutez00();
extern obj_t BGl_appzd2lyzd2zzast_nodez00;
static obj_t BGl__dozd2substitutez123694zc0zzast_substitutez00(obj_t, obj_t, obj_t);
extern obj_t BGl_boxzd2setz12zc0zzast_nodez00;
static obj_t BGl_dozd2substitutez12zd2cast2712z12zzast_substitutez00(obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zzast_substitutez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_tracez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztype_typez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztype_cachez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_varz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_nodez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_shapez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_errorz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_applyz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_appz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_sexpz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__objectz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__readerz00(long, char *);
static obj_t BGl_dozd2substitutez12zd2extern2710z12zzast_substitutez00(obj_t, obj_t, obj_t);
static obj_t BGl_dozd2substitutez12zd2makezd2box2731zc0zzast_substitutez00(obj_t, obj_t, obj_t);
extern obj_t BGl_setzd2exzd2itz00zzast_nodez00;
extern obj_t BGl_shapez00zztools_shapez00(obj_t);
static obj_t BGl_dozd2substitutez12zd2boxzd2ref2733zc0zzast_substitutez00(obj_t, obj_t, obj_t);
static BgL_nodez00_bglt BGl_dozd2substitutez12zc0zzast_substitutez00(BgL_nodez00_bglt, obj_t);
extern obj_t BGl_jumpzd2exzd2itz00zzast_nodez00;
extern obj_t BGl_externz00zzast_nodez00;
extern obj_t BGl_conditionalz00zzast_nodez00;
static obj_t BGl_dozd2substituteza2z12z62zzast_substitutez00(obj_t, obj_t);
extern obj_t BGl_sequencez00zzast_nodez00;
extern obj_t BGl_internalzd2errorzd2zztools_errorz00(obj_t, obj_t, obj_t);
extern obj_t BGl_appz00zzast_nodez00;
static obj_t BGl__dozd2substitutez12zd2default2693z12zzast_substitutez00(obj_t, obj_t, obj_t);
extern BgL_nodez00_bglt BGl_makezd2appzd2nodez00zzast_appz00(obj_t, obj_t, BgL_varz00_bglt, obj_t);
static obj_t BGl_dozd2substitutez12zd2fail2718z12zzast_substitutez00(obj_t, obj_t, obj_t);
extern obj_t BGl_closurez00zzast_nodez00;
extern BgL_varz00_bglt BGl_makezd2varzd2zzast_nodez00(obj_t, BgL_typez00_bglt, BgL_variablez00_bglt);
static obj_t BGl_dozd2substitutez12zd2letzd2fun2722zc0zzast_substitutez00(obj_t, obj_t, obj_t);
extern BgL_nodez00_bglt BGl_knownzd2appzd2lyzd2ze3nodez31zzast_applyz00(obj_t, obj_t, BgL_nodez00_bglt, BgL_nodez00_bglt, obj_t);
static obj_t BGl_dozd2substitutez12zd2kwote2700z12zzast_substitutez00(obj_t, obj_t, obj_t);
static obj_t BGl_requirezd2initializa7ationz75zzast_substitutez00 = BUNSPEC;
static obj_t BGl_dozd2substitutez12zd2setzd2exzd2it2726z12zzast_substitutez00(obj_t, obj_t, obj_t);
static obj_t BGl_dozd2substitutez12zd2var2698z12zzast_substitutez00(obj_t, obj_t, obj_t);
static obj_t BGl_dozd2substitutez12zd2letzd2var2724zc0zzast_substitutez00(obj_t, obj_t, obj_t);
static obj_t BGl_dozd2substitutez12zd2boxzd2setz122735zd2zzast_substitutez00(obj_t, obj_t, obj_t);
static obj_t BGl_libraryzd2moduleszd2initz00zzast_substitutez00();
static obj_t BGl_dozd2substitutez12zd2jumpzd2exzd2it2728z12zzast_substitutez00(obj_t, obj_t, obj_t);
static obj_t BGl_dozd2substitutez12zd2conditional2716z12zzast_substitutez00(obj_t, obj_t, obj_t);
extern obj_t BGl_setqz00zzast_nodez00;
static obj_t __cnst[ 6 ] ;


DEFINE_STATIC_PROCEDURE( BGl_proc4218z00zzast_substitutez00, BgL_bgl_doza7d2substituteza712za7d2atom2696za712za7za7ast_substituteza7004271za7, BGl_dozd2substitutez12zd2atom2696z12zzast_substitutez00, 0L, 2 );
DEFINE_STATIC_PROCEDURE( BGl_proc4220z00zzast_substitutez00, BgL_bgl_doza7d2substituteza712za7d2kwote2700za712za7za7ast_substituteza7004272za7, BGl_dozd2substitutez12zd2kwote2700z12zzast_substitutez00, 0L, 2 );
DEFINE_STATIC_PROCEDURE( BGl_proc4219z00zzast_substitutez00, BgL_bgl_doza7d2substituteza712za7d2var2698za712za7za7ast_substituteza7004273za7, BGl_dozd2substitutez12zd2var2698z12zzast_substitutez00, 0L, 2 );
DEFINE_STATIC_PROCEDURE( BGl_proc4221z00zzast_substitutez00, BgL_bgl_doza7d2substituteza712za7d2sequence2702za712za7za7ast_substituteza7004274za7, BGl_dozd2substitutez12zd2sequence2702z12zzast_substitutez00, 0L, 2 );
DEFINE_STATIC_PROCEDURE( BGl_proc4222z00zzast_substitutez00, BgL_bgl_doza7d2substituteza712za7d2app2704za712za7za7ast_substituteza7004275za7, BGl_dozd2substitutez12zd2app2704z12zzast_substitutez00, 0L, 2 );
DEFINE_STATIC_PROCEDURE( BGl_proc4223z00zzast_substitutez00, BgL_bgl_doza7d2substituteza712za7d2appza7d2ly2706za7c0za7za7ast_substituteza7004276z00, BGl_dozd2substitutez12zd2appzd2ly2706zc0zzast_substitutez00, 0L, 2 );
DEFINE_STATIC_PROCEDURE( BGl_proc4224z00zzast_substitutez00, BgL_bgl_doza7d2substituteza712za7d2funcall2708za712za7za7ast_substituteza7004277za7, BGl_dozd2substitutez12zd2funcall2708z12zzast_substitutez00, 0L, 2 );
DEFINE_STATIC_PROCEDURE( BGl_proc4225z00zzast_substitutez00, BgL_bgl_doza7d2substituteza712za7d2extern2710za712za7za7ast_substituteza7004278za7, BGl_dozd2substitutez12zd2extern2710z12zzast_substitutez00, 0L, 2 );
DEFINE_STATIC_PROCEDURE( BGl_proc4226z00zzast_substitutez00, BgL_bgl_doza7d2substituteza712za7d2cast2712za712za7za7ast_substituteza7004279za7, BGl_dozd2substitutez12zd2cast2712z12zzast_substitutez00, 0L, 2 );
DEFINE_STATIC_PROCEDURE( BGl_proc4227z00zzast_substitutez00, BgL_bgl_doza7d2substituteza712za7d2setq2714za712za7za7ast_substituteza7004280za7, BGl_dozd2substitutez12zd2setq2714z12zzast_substitutez00, 0L, 2 );
DEFINE_STATIC_PROCEDURE( BGl_proc4228z00zzast_substitutez00, BgL_bgl_doza7d2substituteza712za7d2conditional2716za712za7za7ast_substituteza7004281za7, BGl_dozd2substitutez12zd2conditional2716z12zzast_substitutez00, 0L, 2 );
DEFINE_STATIC_PROCEDURE( BGl_proc4230z00zzast_substitutez00, BgL_bgl_doza7d2substituteza712za7d2select2720za712za7za7ast_substituteza7004282za7, BGl_dozd2substitutez12zd2select2720z12zzast_substitutez00, 0L, 2 );
DEFINE_STATIC_PROCEDURE( BGl_proc4229z00zzast_substitutez00, BgL_bgl_doza7d2substituteza712za7d2fail2718za712za7za7ast_substituteza7004283za7, BGl_dozd2substitutez12zd2fail2718z12zzast_substitutez00, 0L, 2 );
DEFINE_STATIC_PROCEDURE( BGl_proc4231z00zzast_substitutez00, BgL_bgl_doza7d2substituteza712za7d2letza7d2fun2722za7c0za7za7ast_substituteza7004284z00, BGl_dozd2substitutez12zd2letzd2fun2722zc0zzast_substitutez00, 0L, 2 );
DEFINE_STATIC_PROCEDURE( BGl_proc4232z00zzast_substitutez00, BgL_bgl_doza7d2substituteza712za7d2letza7d2var2724za7c0za7za7ast_substituteza7004285z00, BGl_dozd2substitutez12zd2letzd2var2724zc0zzast_substitutez00, 0L, 2 );
DEFINE_STATIC_PROCEDURE( BGl_proc4233z00zzast_substitutez00, BgL_bgl_doza7d2substituteza712za7d2setza7d2exza7d2it2726za712za7za7ast_substituteza7004286za7, BGl_dozd2substitutez12zd2setzd2exzd2it2726z12zzast_substitutez00, 0L, 2 );
DEFINE_STATIC_PROCEDURE( BGl_proc4234z00zzast_substitutez00, BgL_bgl_doza7d2substituteza712za7d2jumpza7d2exza7d2it2728za712za7za7ast_substituteza7004287za7, BGl_dozd2substitutez12zd2jumpzd2exzd2it2728z12zzast_substitutez00, 0L, 2 );
DEFINE_STATIC_PROCEDURE( BGl_proc4235z00zzast_substitutez00, BgL_bgl_doza7d2substituteza712za7d2makeza7d2box2731za7c0za7za7ast_substituteza7004288z00, BGl_dozd2substitutez12zd2makezd2box2731zc0zzast_substitutez00, 0L, 2 );
DEFINE_STATIC_PROCEDURE( BGl_proc4236z00zzast_substitutez00, BgL_bgl_doza7d2substituteza712za7d2boxza7d2ref2733za7c0za7za7ast_substituteza7004289z00, BGl_dozd2substitutez12zd2boxzd2ref2733zc0zzast_substitutez00, 0L, 2 );
DEFINE_STATIC_PROCEDURE( BGl_proc4237z00zzast_substitutez00, BgL_bgl_doza7d2substituteza712za7d2boxza7d2setza7122735za7d2za7za7ast_substituteza7004290za7, BGl_dozd2substitutez12zd2boxzd2setz122735zd2zzast_substitutez00, 0L, 2 );
DEFINE_STATIC_GENERIC( BGl_dozd2substitutez12zd2envz12zzast_substitutez00, BgL_bgl__doza7d2substituteza7123694za7c0za7za7ast_substituteza7004291z00, BGl__dozd2substitutez123694zc0zzast_substitutez00, 0L, 2 );
DEFINE_EXPORT_PROCEDURE( BGl_substitutez12zd2envzc0zzast_substitutez00, BgL_bgl__substituteza7123692za712za7za7ast_substituteza7004292za7, BGl__substitutez123692z12zzast_substitutez00, 0L, 4 );
DEFINE_STRING( BGl_string4243z00zzast_substitutez00, BgL_bgl_string4243za700za7za7ast_substituteza7004293z00, "do-substitute!-default2693 apply set! app value done ", 53 );
DEFINE_STRING( BGl_string4242z00zzast_substitutez00, BgL_bgl_string4242za700za7za7ast_substituteza7004294z00, "No method for this object", 25 );
DEFINE_STRING( BGl_string4241z00zzast_substitutez00, BgL_bgl_string4241za700za7za7ast_substituteza7004295z00, "Illegal substitution", 20 );
DEFINE_STRING( BGl_string4240z00zzast_substitutez00, BgL_bgl_string4240za700za7za7ast_substituteza7004296z00, "duplicate", 9 );
DEFINE_STRING( BGl_string4239z00zzast_substitutez00, BgL_bgl_string4239za700za7za7ast_substituteza7004297z00, "wrong number of argument(s)", 27 );
DEFINE_STRING( BGl_string4238z00zzast_substitutez00, BgL_bgl_string4238za700za7za7ast_substituteza7004298z00, "Illegal application", 19 );
DEFINE_STATIC_PROCEDURE( BGl_dozd2substitutez12zd2default2693zd2envzc0zzast_substitutez00, BgL_bgl__doza7d2substituteza712za7d2default2693za712za7za7ast_substituteza7004299za7, BGl__dozd2substitutez12zd2default2693z12zzast_substitutez00, 0L, 2 );



/* module-initialization */
BGL_EXPORTED_DEF obj_t BGl_modulezd2initializa7ationz75zzast_substitutez00(long BgL_checksumz00_2507, char * BgL_fromz00_2508)
{ AN_OBJECT;
{ 
if(
CBOOL(BGl_requirezd2initializa7ationz75zzast_substitutez00))
{ 
BGl_requirezd2initializa7ationz75zzast_substitutez00 = 
BBOOL(((bool_t)0)); 
BGl_libraryzd2moduleszd2initz00zzast_substitutez00(); 
BGl_cnstzd2initzd2zzast_substitutez00(); 
BGl_importedzd2moduleszd2initz00zzast_substitutez00(); 
BGl_methodzd2initzd2zzast_substitutez00(); 
return BUNSPEC;}  else 
{ 
return BUNSPEC;} } 
}



/* library-modules-init */
obj_t BGl_libraryzd2moduleszd2initz00zzast_substitutez00()
{ AN_OBJECT;
{ /* ./Ast/substitute.scm 14 */
BGl_modulezd2initializa7ationz75zz__readerz00(((long)0), "ast_substitute"); 
BGl_modulezd2initializa7ationz75zz__objectz00(((long)0), "ast_substitute"); 
return BUNSPEC;} 
}



/* cnst-init */
obj_t BGl_cnstzd2initzd2zzast_substitutez00()
{ AN_OBJECT;
{ /* ./Ast/substitute.scm 14 */
{ /* ./Ast/substitute.scm 14 */
obj_t BgL_cportz00_2494;
BgL_cportz00_2494 = 
open_input_string(BGl_string4243z00zzast_substitutez00); 
{ 
long BgL_iz00_2495;
BgL_iz00_2495 = ((long)5); 
BgL_loopz00_2496:
{ /* ./Ast/substitute.scm 14 */
bool_t BgL_test4245z00_2497;
BgL_test4245z00_2497 = 
(BgL_iz00_2495==((long)-1)); 
if(BgL_test4245z00_2497)
{ /* ./Ast/substitute.scm 14 */
return BUNSPEC;}  else 
{ /* ./Ast/substitute.scm 14 */
{ /* ./Ast/substitute.scm 14 */
obj_t BgL_arg4247z00_2498;
{ /* ./Ast/substitute.scm 14 */
obj_t BgL_list4250z00_2499;
BgL_list4250z00_2499 = 
MAKE_PAIR(BgL_cportz00_2494, BNIL); 
BgL_arg4247z00_2498 = 
BGl_readz00zz__readerz00(BgL_list4250z00_2499); } 
{ /* ./Ast/substitute.scm 14 */
int BgL_auxz00_2523;
BgL_auxz00_2523 = 
(int)(BgL_iz00_2495); 
CNST_TABLE_SET(BgL_auxz00_2523, BgL_arg4247z00_2498); } } 
{ /* ./Ast/substitute.scm 14 */
int BgL_auxz00_2500;
{ /* ./Ast/substitute.scm 14 */
long BgL_auxz00_2526;
BgL_auxz00_2526 = 
(BgL_iz00_2495-((long)1)); 
BgL_auxz00_2500 = 
(int)(BgL_auxz00_2526); } 
{ 
long BgL_iz00_2529;
BgL_iz00_2529 = 
(long)(BgL_auxz00_2500); 
BgL_iz00_2495 = BgL_iz00_2529; 
goto BgL_loopz00_2496;} } } } } } } 
}



/* toplevel-init */
obj_t BGl_toplevelzd2initzd2zzast_substitutez00()
{ AN_OBJECT;
{ /* ./Ast/substitute.scm 14 */
return BUNSPEC;} 
}



/* substitute! */
BGL_EXPORTED_DEF BgL_nodez00_bglt BGl_substitutez12z12zzast_substitutez00(obj_t BgL_whatza2za2_1, obj_t BgL_byza2za2_2, BgL_nodez00_bglt BgL_nodez00_3, obj_t BgL_sitez00_4)
{ AN_OBJECT;
{ /* ./Ast/substitute.scm 34 */
{ 
obj_t BgL_ll2662z00_708;obj_t BgL_ll2663z00_709;
BgL_ll2662z00_708 = BgL_whatza2za2_1; 
BgL_ll2663z00_709 = BgL_byza2za2_2; 
BgL_forzd2each2664zd2_710:
{ /* ./Ast/substitute.scm 37 */
bool_t BgL_test2737z00_711;
BgL_test2737z00_711 = 
NULLP(BgL_ll2662z00_708); 
if(BgL_test2737z00_711)
{ /* ./Ast/substitute.scm 37 */((bool_t)1); }  else 
{ /* ./Ast/substitute.scm 37 */
{ /* ./Ast/substitute.scm 38 */
obj_t BgL_whatz00_712;obj_t BgL_byz00_713;
BgL_whatz00_712 = 
CAR(BgL_ll2662z00_708); 
BgL_byz00_713 = 
CAR(BgL_ll2663z00_709); 
{ /* ./Ast/substitute.scm 39 */
BgL_variablez00_bglt BgL_obj1108z00_1371;obj_t BgL_val1107z00_1372;
BgL_obj1108z00_1371 = 
(BgL_variablez00_bglt)(BgL_whatz00_712); 
BgL_val1107z00_1372 = BgL_byz00_713; 
((((BgL_variablez00_bglt)CREF(BgL_obj1108z00_1371))->BgL_fastzd2alphazd2) = ((obj_t)BgL_val1107z00_1372), BUNSPEC); } } 
{ /* ./Ast/substitute.scm 37 */
obj_t BgL_arg2742z00_714;obj_t BgL_arg2743z00_715;
BgL_arg2742z00_714 = 
CDR(BgL_ll2662z00_708); 
BgL_arg2743z00_715 = 
CDR(BgL_ll2663z00_709); 
{ 
obj_t BgL_ll2663z00_2540;obj_t BgL_ll2662z00_2539;
BgL_ll2662z00_2539 = BgL_arg2742z00_714; 
BgL_ll2663z00_2540 = BgL_arg2743z00_715; 
BgL_ll2663z00_709 = BgL_ll2663z00_2540; 
BgL_ll2662z00_708 = BgL_ll2662z00_2539; 
goto BgL_forzd2each2664zd2_710;} } } } } 
{ /* ./Ast/substitute.scm 42 */
BgL_nodez00_bglt BgL_resz00_716;
{ /* ./Ast/substitute.scm 42 */
BgL_nodez00_bglt BgL_res3602z00_1402;
{ /* ./Ast/substitute.scm 42 */
obj_t BgL_method2694z00_1377;
{ /* ./Ast/substitute.scm 42 */
BgL_objectz00_bglt BgL_objz00_1378;
BgL_objz00_1378 = 
(BgL_objectz00_bglt)(BgL_nodez00_3); 
{ /* ./Ast/substitute.scm 42 */
long BgL_objzd2classzd2numz00_1379;
BgL_objzd2classzd2numz00_1379 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1378); 
{ /* ./Ast/substitute.scm 42 */
obj_t BgL_arg2017z00_1380;
{ /* ./Ast/substitute.scm 42 */
int BgL_auxz00_2543;
BgL_auxz00_2543 = 
(int)(((long)1)); 
BgL_arg2017z00_1380 = 
PROCEDURE_REF(BGl_dozd2substitutez12zd2envz12zzast_substitutez00, BgL_auxz00_2543); } 
{ /* ./Ast/substitute.scm 42 */
int BgL_offsetz00_1383;
BgL_offsetz00_1383 = 
(int)(BgL_objzd2classzd2numz00_1379); 
{ /* ./Ast/substitute.scm 42 */
long BgL_offsetz00_1384;
{ /* ./Ast/substitute.scm 42 */
long BgL_auxz00_2547;
BgL_auxz00_2547 = 
(long)(BgL_offsetz00_1383); 
BgL_offsetz00_1384 = 
(BgL_auxz00_2547-OBJECT_TYPE); } 
{ /* ./Ast/substitute.scm 42 */
long BgL_modz00_1385;
{ /* ./Ast/substitute.scm 42 */
int BgL_arg2028z00_1386;
BgL_arg2028z00_1386 = 
(int)(((long)8)); 
{ /* ./Ast/substitute.scm 42 */
long BgL_n2z00_1394;
BgL_n2z00_1394 = 
(long)(BgL_arg2028z00_1386); 
BgL_modz00_1385 = 
(BgL_offsetz00_1384/BgL_n2z00_1394); } } 
{ /* ./Ast/substitute.scm 42 */
long BgL_restz00_1387;
{ /* ./Ast/substitute.scm 42 */
int BgL_arg2024z00_1388;
BgL_arg2024z00_1388 = 
(int)(((long)8)); 
{ /* ./Ast/substitute.scm 42 */
long BgL_n2z00_1397;
BgL_n2z00_1397 = 
(long)(BgL_arg2024z00_1388); 
BgL_restz00_1387 = 
(BgL_offsetz00_1384%BgL_n2z00_1397); } } 
{ /* ./Ast/substitute.scm 42 */

{ /* ./Ast/substitute.scm 42 */
obj_t BgL_bucketz00_1389;
{ /* ./Ast/substitute.scm 42 */
int BgL_kz00_1399;
BgL_kz00_1399 = 
(int)(BgL_modz00_1385); 
BgL_bucketz00_1389 = 
VECTOR_REF(BgL_arg2017z00_1380,BgL_kz00_1399); } 
{ /* ./Ast/substitute.scm 42 */
int BgL_kz00_1401;
BgL_kz00_1401 = 
(int)(BgL_restz00_1387); 
BgL_method2694z00_1377 = 
VECTOR_REF(BgL_bucketz00_1389,BgL_kz00_1401); } } } } } } } } } } 
{ /* ./Ast/substitute.scm 42 */
obj_t BgL_auxz00_2560;
BgL_auxz00_2560 = 
PROCEDURE_ENTRY(BgL_method2694z00_1377)(BgL_method2694z00_1377, 
(obj_t)(BgL_nodez00_3), BgL_sitez00_4, BEOA); 
BgL_res3602z00_1402 = 
(BgL_nodez00_bglt)(BgL_auxz00_2560); } } 
BgL_resz00_716 = BgL_res3602z00_1402; } 
{ 
obj_t BgL_l2665z00_717;
BgL_l2665z00_717 = BgL_whatza2za2_1; 
BgL_forzd2each2666zd2_718:
{ /* ./Ast/substitute.scm 44 */
bool_t BgL_test2749z00_719;
BgL_test2749z00_719 = 
PAIRP(BgL_l2665z00_717); 
if(BgL_test2749z00_719)
{ /* ./Ast/substitute.scm 44 */
{ /* ./Ast/substitute.scm 45 */
obj_t BgL_whatz00_720;
BgL_whatz00_720 = 
CAR(BgL_l2665z00_717); 
{ /* ./Ast/substitute.scm 45 */
BgL_variablez00_bglt BgL_obj1108z00_1405;obj_t BgL_val1107z00_1406;
BgL_obj1108z00_1405 = 
(BgL_variablez00_bglt)(BgL_whatz00_720); 
BgL_val1107z00_1406 = BUNSPEC; 
((((BgL_variablez00_bglt)CREF(BgL_obj1108z00_1405))->BgL_fastzd2alphazd2) = ((obj_t)BgL_val1107z00_1406), BUNSPEC); } } 
{ /* ./Ast/substitute.scm 44 */
obj_t BgL_arg2753z00_721;
BgL_arg2753z00_721 = 
CDR(BgL_l2665z00_717); 
{ 
obj_t BgL_l2665z00_2571;
BgL_l2665z00_2571 = BgL_arg2753z00_721; 
BgL_l2665z00_717 = BgL_l2665z00_2571; 
goto BgL_forzd2each2666zd2_718;} } }  else 
{ /* ./Ast/substitute.scm 44 */((bool_t)1); } } } 
return BgL_resz00_716;} } 
}



/* _substitute!3692 */
obj_t BGl__substitutez123692z12zzast_substitutez00(obj_t BgL_envz00_2403, obj_t BgL_whatza2za2_2404, obj_t BgL_byza2za2_2405, obj_t BgL_nodez00_2406, obj_t BgL_sitez00_2407)
{ AN_OBJECT;
{ /* ./Ast/substitute.scm 34 */
{ /* ./Ast/substitute.scm 35 */
BgL_nodez00_bglt BgL_auxz00_2572;
BgL_auxz00_2572 = 
BGl_substitutez12z12zzast_substitutez00(BgL_whatza2za2_2404, BgL_byza2za2_2405, 
(BgL_nodez00_bglt)(BgL_nodez00_2406), BgL_sitez00_2407); 
return 
(obj_t)(BgL_auxz00_2572);} } 
}



/* do-substitute*! */
obj_t BGl_dozd2substituteza2z12z62zzast_substitutez00(obj_t BgL_nodeza2za2_49, obj_t BgL_sitez00_50)
{ AN_OBJECT;
{ /* ./Ast/substitute.scm 268 */
BGl_dozd2substituteza2z12z62zzast_substitutez00:
{ /* ./Ast/substitute.scm 270 */
bool_t BgL_test2758z00_722;
BgL_test2758z00_722 = 
NULLP(BgL_nodeza2za2_49); 
if(BgL_test2758z00_722)
{ /* ./Ast/substitute.scm 270 */
return 
CNST_TABLE_REF(((long)0));}  else 
{ /* ./Ast/substitute.scm 272 */
bool_t BgL_test2759z00_723;
{ /* ./Ast/substitute.scm 272 */
obj_t BgL_auxz00_2579;
BgL_auxz00_2579 = 
CDR(BgL_nodeza2za2_49); 
BgL_test2759z00_723 = 
NULLP(BgL_auxz00_2579); } 
if(BgL_test2759z00_723)
{ /* ./Ast/substitute.scm 272 */
{ /* ./Ast/substitute.scm 273 */
BgL_nodez00_bglt BgL_arg2761z00_724;
{ /* ./Ast/substitute.scm 273 */
obj_t BgL_arg2764z00_725;
BgL_arg2764z00_725 = 
CAR(BgL_nodeza2za2_49); 
{ /* ./Ast/substitute.scm 273 */
BgL_nodez00_bglt BgL_res3605z00_1439;
{ /* ./Ast/substitute.scm 273 */
BgL_nodez00_bglt BgL_nodez00_1412;
BgL_nodez00_1412 = 
(BgL_nodez00_bglt)(BgL_arg2764z00_725); 
{ /* ./Ast/substitute.scm 273 */
obj_t BgL_method2694z00_1414;
{ /* ./Ast/substitute.scm 273 */
BgL_objectz00_bglt BgL_objz00_1415;
BgL_objz00_1415 = 
(BgL_objectz00_bglt)(BgL_nodez00_1412); 
{ /* ./Ast/substitute.scm 273 */
long BgL_objzd2classzd2numz00_1416;
BgL_objzd2classzd2numz00_1416 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1415); 
{ /* ./Ast/substitute.scm 273 */
obj_t BgL_arg2017z00_1417;
{ /* ./Ast/substitute.scm 273 */
int BgL_auxz00_2587;
BgL_auxz00_2587 = 
(int)(((long)1)); 
BgL_arg2017z00_1417 = 
PROCEDURE_REF(BGl_dozd2substitutez12zd2envz12zzast_substitutez00, BgL_auxz00_2587); } 
{ /* ./Ast/substitute.scm 273 */
int BgL_offsetz00_1420;
BgL_offsetz00_1420 = 
(int)(BgL_objzd2classzd2numz00_1416); 
{ /* ./Ast/substitute.scm 273 */
long BgL_offsetz00_1421;
{ /* ./Ast/substitute.scm 273 */
long BgL_auxz00_2591;
BgL_auxz00_2591 = 
(long)(BgL_offsetz00_1420); 
BgL_offsetz00_1421 = 
(BgL_auxz00_2591-OBJECT_TYPE); } 
{ /* ./Ast/substitute.scm 273 */
long BgL_modz00_1422;
{ /* ./Ast/substitute.scm 273 */
int BgL_arg2028z00_1423;
BgL_arg2028z00_1423 = 
(int)(((long)8)); 
{ /* ./Ast/substitute.scm 273 */
long BgL_n2z00_1431;
BgL_n2z00_1431 = 
(long)(BgL_arg2028z00_1423); 
BgL_modz00_1422 = 
(BgL_offsetz00_1421/BgL_n2z00_1431); } } 
{ /* ./Ast/substitute.scm 273 */
long BgL_restz00_1424;
{ /* ./Ast/substitute.scm 273 */
int BgL_arg2024z00_1425;
BgL_arg2024z00_1425 = 
(int)(((long)8)); 
{ /* ./Ast/substitute.scm 273 */
long BgL_n2z00_1434;
BgL_n2z00_1434 = 
(long)(BgL_arg2024z00_1425); 
BgL_restz00_1424 = 
(BgL_offsetz00_1421%BgL_n2z00_1434); } } 
{ /* ./Ast/substitute.scm 273 */

{ /* ./Ast/substitute.scm 273 */
obj_t BgL_bucketz00_1426;
{ /* ./Ast/substitute.scm 273 */
int BgL_kz00_1436;
BgL_kz00_1436 = 
(int)(BgL_modz00_1422); 
BgL_bucketz00_1426 = 
VECTOR_REF(BgL_arg2017z00_1417,BgL_kz00_1436); } 
{ /* ./Ast/substitute.scm 273 */
int BgL_kz00_1438;
BgL_kz00_1438 = 
(int)(BgL_restz00_1424); 
BgL_method2694z00_1414 = 
VECTOR_REF(BgL_bucketz00_1426,BgL_kz00_1438); } } } } } } } } } } 
{ /* ./Ast/substitute.scm 273 */
obj_t BgL_auxz00_2604;
BgL_auxz00_2604 = 
PROCEDURE_ENTRY(BgL_method2694z00_1414)(BgL_method2694z00_1414, 
(obj_t)(BgL_nodez00_1412), BgL_sitez00_50, BEOA); 
BgL_res3605z00_1439 = 
(BgL_nodez00_bglt)(BgL_auxz00_2604); } } } 
BgL_arg2761z00_724 = BgL_res3605z00_1439; } } 
{ /* ./Ast/substitute.scm 273 */
obj_t BgL_objz00_1441;
BgL_objz00_1441 = 
(obj_t)(BgL_arg2761z00_724); 
SET_CAR(BgL_nodeza2za2_49, BgL_objz00_1441); } } 
return 
CNST_TABLE_REF(((long)0));}  else 
{ /* ./Ast/substitute.scm 272 */
{ /* ./Ast/substitute.scm 276 */
BgL_nodez00_bglt BgL_arg2768z00_726;
{ /* ./Ast/substitute.scm 276 */
obj_t BgL_arg2771z00_727;obj_t BgL_arg2772z00_728;
BgL_arg2771z00_727 = 
CAR(BgL_nodeza2za2_49); 
BgL_arg2772z00_728 = 
CNST_TABLE_REF(((long)1)); 
{ /* ./Ast/substitute.scm 276 */
BgL_nodez00_bglt BgL_res3608z00_1470;
{ /* ./Ast/substitute.scm 276 */
BgL_nodez00_bglt BgL_nodez00_1443;
BgL_nodez00_1443 = 
(BgL_nodez00_bglt)(BgL_arg2771z00_727); 
{ /* ./Ast/substitute.scm 276 */
obj_t BgL_method2694z00_1445;
{ /* ./Ast/substitute.scm 276 */
BgL_objectz00_bglt BgL_objz00_1446;
BgL_objz00_1446 = 
(BgL_objectz00_bglt)(BgL_nodez00_1443); 
{ /* ./Ast/substitute.scm 276 */
long BgL_objzd2classzd2numz00_1447;
BgL_objzd2classzd2numz00_1447 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1446); 
{ /* ./Ast/substitute.scm 276 */
obj_t BgL_arg2017z00_1448;
{ /* ./Ast/substitute.scm 276 */
int BgL_auxz00_2617;
BgL_auxz00_2617 = 
(int)(((long)1)); 
BgL_arg2017z00_1448 = 
PROCEDURE_REF(BGl_dozd2substitutez12zd2envz12zzast_substitutez00, BgL_auxz00_2617); } 
{ /* ./Ast/substitute.scm 276 */
int BgL_offsetz00_1451;
BgL_offsetz00_1451 = 
(int)(BgL_objzd2classzd2numz00_1447); 
{ /* ./Ast/substitute.scm 276 */
long BgL_offsetz00_1452;
{ /* ./Ast/substitute.scm 276 */
long BgL_auxz00_2621;
BgL_auxz00_2621 = 
(long)(BgL_offsetz00_1451); 
BgL_offsetz00_1452 = 
(BgL_auxz00_2621-OBJECT_TYPE); } 
{ /* ./Ast/substitute.scm 276 */
long BgL_modz00_1453;
{ /* ./Ast/substitute.scm 276 */
int BgL_arg2028z00_1454;
BgL_arg2028z00_1454 = 
(int)(((long)8)); 
{ /* ./Ast/substitute.scm 276 */
long BgL_n2z00_1462;
BgL_n2z00_1462 = 
(long)(BgL_arg2028z00_1454); 
BgL_modz00_1453 = 
(BgL_offsetz00_1452/BgL_n2z00_1462); } } 
{ /* ./Ast/substitute.scm 276 */
long BgL_restz00_1455;
{ /* ./Ast/substitute.scm 276 */
int BgL_arg2024z00_1456;
BgL_arg2024z00_1456 = 
(int)(((long)8)); 
{ /* ./Ast/substitute.scm 276 */
long BgL_n2z00_1465;
BgL_n2z00_1465 = 
(long)(BgL_arg2024z00_1456); 
BgL_restz00_1455 = 
(BgL_offsetz00_1452%BgL_n2z00_1465); } } 
{ /* ./Ast/substitute.scm 276 */

{ /* ./Ast/substitute.scm 276 */
obj_t BgL_bucketz00_1457;
{ /* ./Ast/substitute.scm 276 */
int BgL_kz00_1467;
BgL_kz00_1467 = 
(int)(BgL_modz00_1453); 
BgL_bucketz00_1457 = 
VECTOR_REF(BgL_arg2017z00_1448,BgL_kz00_1467); } 
{ /* ./Ast/substitute.scm 276 */
int BgL_kz00_1469;
BgL_kz00_1469 = 
(int)(BgL_restz00_1455); 
BgL_method2694z00_1445 = 
VECTOR_REF(BgL_bucketz00_1457,BgL_kz00_1469); } } } } } } } } } } 
{ /* ./Ast/substitute.scm 276 */
obj_t BgL_auxz00_2634;
BgL_auxz00_2634 = 
PROCEDURE_ENTRY(BgL_method2694z00_1445)(BgL_method2694z00_1445, 
(obj_t)(BgL_nodez00_1443), BgL_arg2772z00_728, BEOA); 
BgL_res3608z00_1470 = 
(BgL_nodez00_bglt)(BgL_auxz00_2634); } } } 
BgL_arg2768z00_726 = BgL_res3608z00_1470; } } 
{ /* ./Ast/substitute.scm 276 */
obj_t BgL_objz00_1472;
BgL_objz00_1472 = 
(obj_t)(BgL_arg2768z00_726); 
SET_CAR(BgL_nodeza2za2_49, BgL_objz00_1472); } } 
{ /* ./Ast/substitute.scm 277 */
obj_t BgL_arg2776z00_729;
BgL_arg2776z00_729 = 
CDR(BgL_nodeza2za2_49); 
{ 
obj_t BgL_nodeza2za2_2642;
BgL_nodeza2za2_2642 = BgL_arg2776z00_729; 
BgL_nodeza2za2_49 = BgL_nodeza2za2_2642; 
goto BGl_dozd2substituteza2z12z62zzast_substitutez00;} } } } } } 
}



/* method-init */
obj_t BGl_methodzd2initzd2zzast_substitutez00()
{ AN_OBJECT;
{ /* ./Ast/substitute.scm 14 */
BGl_addzd2genericz12zc0zz__objectz00(BGl_dozd2substitutez12zd2envz12zzast_substitutez00, BGl_dozd2substitutez12zd2default2693zd2envzc0zzast_substitutez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_dozd2substitutez12zd2envz12zzast_substitutez00, BGl_atomz00zzast_nodez00, BGl_proc4218z00zzast_substitutez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_dozd2substitutez12zd2envz12zzast_substitutez00, BGl_varz00zzast_nodez00, BGl_proc4219z00zzast_substitutez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_dozd2substitutez12zd2envz12zzast_substitutez00, BGl_kwotez00zzast_nodez00, BGl_proc4220z00zzast_substitutez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_dozd2substitutez12zd2envz12zzast_substitutez00, BGl_sequencez00zzast_nodez00, BGl_proc4221z00zzast_substitutez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_dozd2substitutez12zd2envz12zzast_substitutez00, BGl_appz00zzast_nodez00, BGl_proc4222z00zzast_substitutez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_dozd2substitutez12zd2envz12zzast_substitutez00, BGl_appzd2lyzd2zzast_nodez00, BGl_proc4223z00zzast_substitutez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_dozd2substitutez12zd2envz12zzast_substitutez00, BGl_funcallz00zzast_nodez00, BGl_proc4224z00zzast_substitutez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_dozd2substitutez12zd2envz12zzast_substitutez00, BGl_externz00zzast_nodez00, BGl_proc4225z00zzast_substitutez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_dozd2substitutez12zd2envz12zzast_substitutez00, BGl_castz00zzast_nodez00, BGl_proc4226z00zzast_substitutez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_dozd2substitutez12zd2envz12zzast_substitutez00, BGl_setqz00zzast_nodez00, BGl_proc4227z00zzast_substitutez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_dozd2substitutez12zd2envz12zzast_substitutez00, BGl_conditionalz00zzast_nodez00, BGl_proc4228z00zzast_substitutez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_dozd2substitutez12zd2envz12zzast_substitutez00, BGl_failz00zzast_nodez00, BGl_proc4229z00zzast_substitutez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_dozd2substitutez12zd2envz12zzast_substitutez00, BGl_selectz00zzast_nodez00, BGl_proc4230z00zzast_substitutez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_dozd2substitutez12zd2envz12zzast_substitutez00, BGl_letzd2funzd2zzast_nodez00, BGl_proc4231z00zzast_substitutez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_dozd2substitutez12zd2envz12zzast_substitutez00, BGl_letzd2varzd2zzast_nodez00, BGl_proc4232z00zzast_substitutez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_dozd2substitutez12zd2envz12zzast_substitutez00, BGl_setzd2exzd2itz00zzast_nodez00, BGl_proc4233z00zzast_substitutez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_dozd2substitutez12zd2envz12zzast_substitutez00, BGl_jumpzd2exzd2itz00zzast_nodez00, BGl_proc4234z00zzast_substitutez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_dozd2substitutez12zd2envz12zzast_substitutez00, BGl_makezd2boxzd2zzast_nodez00, BGl_proc4235z00zzast_substitutez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_dozd2substitutez12zd2envz12zzast_substitutez00, BGl_boxzd2refzd2zzast_nodez00, BGl_proc4236z00zzast_substitutez00); 
return 
BGl_addzd2methodz12zc0zz__objectz00(BGl_dozd2substitutez12zd2envz12zzast_substitutez00, BGl_boxzd2setz12zc0zzast_nodez00, BGl_proc4237z00zzast_substitutez00);} 
}



/* do-substitute!-box-set!2735 */
obj_t BGl_dozd2substitutez12zd2boxzd2setz122735zd2zzast_substitutez00(obj_t BgL_envz00_2431, obj_t BgL_nodez00_2432, obj_t BgL_sitez00_2433)
{ AN_OBJECT;
{ /* ./Ast/substitute.scm 260 */
{ 
BgL_boxzd2setz12zc0_bglt BgL_nodez00_1355;obj_t BgL_sitez00_1356;
{ /* ./Ast/substitute.scm 261 */
BgL_boxzd2setz12zc0_bglt BgL_auxz00_2664;
BgL_nodez00_1355 = 
(BgL_boxzd2setz12zc0_bglt)(BgL_nodez00_2432); 
BgL_sitez00_1356 = BgL_sitez00_2433; 
{ /* ./Ast/substitute.scm 261 */
BgL_nodez00_bglt BgL_arg3567z00_1359;
{ /* ./Ast/substitute.scm 261 */
BgL_varz00_bglt BgL_arg3570z00_1360;obj_t BgL_arg3571z00_1361;
BgL_arg3570z00_1360 = 
(((BgL_boxzd2setz12zc0_bglt)CREF(BgL_nodez00_1355))->BgL_varz00); 
BgL_arg3571z00_1361 = 
CNST_TABLE_REF(((long)1)); 
{ /* ./Ast/substitute.scm 261 */
BgL_nodez00_bglt BgL_res3686z00_2341;
{ /* ./Ast/substitute.scm 261 */
BgL_nodez00_bglt BgL_nodez00_2314;
BgL_nodez00_2314 = 
(BgL_nodez00_bglt)(BgL_arg3570z00_1360); 
{ /* ./Ast/substitute.scm 261 */
obj_t BgL_method2694z00_2316;
{ /* ./Ast/substitute.scm 261 */
BgL_objectz00_bglt BgL_objz00_2317;
BgL_objz00_2317 = 
(BgL_objectz00_bglt)(BgL_nodez00_2314); 
{ /* ./Ast/substitute.scm 261 */
long BgL_objzd2classzd2numz00_2318;
BgL_objzd2classzd2numz00_2318 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2317); 
{ /* ./Ast/substitute.scm 261 */
obj_t BgL_arg2017z00_2319;
{ /* ./Ast/substitute.scm 261 */
int BgL_auxz00_2670;
BgL_auxz00_2670 = 
(int)(((long)1)); 
BgL_arg2017z00_2319 = 
PROCEDURE_REF(BGl_dozd2substitutez12zd2envz12zzast_substitutez00, BgL_auxz00_2670); } 
{ /* ./Ast/substitute.scm 261 */
int BgL_offsetz00_2322;
BgL_offsetz00_2322 = 
(int)(BgL_objzd2classzd2numz00_2318); 
{ /* ./Ast/substitute.scm 261 */
long BgL_offsetz00_2323;
{ /* ./Ast/substitute.scm 261 */
long BgL_auxz00_2674;
BgL_auxz00_2674 = 
(long)(BgL_offsetz00_2322); 
BgL_offsetz00_2323 = 
(BgL_auxz00_2674-OBJECT_TYPE); } 
{ /* ./Ast/substitute.scm 261 */
long BgL_modz00_2324;
{ /* ./Ast/substitute.scm 261 */
int BgL_arg2028z00_2325;
BgL_arg2028z00_2325 = 
(int)(((long)8)); 
{ /* ./Ast/substitute.scm 261 */
long BgL_n2z00_2333;
BgL_n2z00_2333 = 
(long)(BgL_arg2028z00_2325); 
BgL_modz00_2324 = 
(BgL_offsetz00_2323/BgL_n2z00_2333); } } 
{ /* ./Ast/substitute.scm 261 */
long BgL_restz00_2326;
{ /* ./Ast/substitute.scm 261 */
int BgL_arg2024z00_2327;
BgL_arg2024z00_2327 = 
(int)(((long)8)); 
{ /* ./Ast/substitute.scm 261 */
long BgL_n2z00_2336;
BgL_n2z00_2336 = 
(long)(BgL_arg2024z00_2327); 
BgL_restz00_2326 = 
(BgL_offsetz00_2323%BgL_n2z00_2336); } } 
{ /* ./Ast/substitute.scm 261 */

{ /* ./Ast/substitute.scm 261 */
obj_t BgL_bucketz00_2328;
{ /* ./Ast/substitute.scm 261 */
int BgL_kz00_2338;
BgL_kz00_2338 = 
(int)(BgL_modz00_2324); 
BgL_bucketz00_2328 = 
VECTOR_REF(BgL_arg2017z00_2319,BgL_kz00_2338); } 
{ /* ./Ast/substitute.scm 261 */
int BgL_kz00_2340;
BgL_kz00_2340 = 
(int)(BgL_restz00_2326); 
BgL_method2694z00_2316 = 
VECTOR_REF(BgL_bucketz00_2328,BgL_kz00_2340); } } } } } } } } } } 
{ /* ./Ast/substitute.scm 261 */
obj_t BgL_auxz00_2687;
BgL_auxz00_2687 = 
PROCEDURE_ENTRY(BgL_method2694z00_2316)(BgL_method2694z00_2316, 
(obj_t)(BgL_nodez00_2314), BgL_arg3571z00_1361, BEOA); 
BgL_res3686z00_2341 = 
(BgL_nodez00_bglt)(BgL_auxz00_2687); } } } 
BgL_arg3567z00_1359 = BgL_res3686z00_2341; } } 
{ /* ./Ast/substitute.scm 261 */
BgL_boxzd2setz12zc0_bglt BgL_obj2642z00_2342;BgL_varz00_bglt BgL_val2641z00_2343;
BgL_obj2642z00_2342 = BgL_nodez00_1355; 
BgL_val2641z00_2343 = 
(BgL_varz00_bglt)(BgL_arg3567z00_1359); 
((((BgL_boxzd2setz12zc0_bglt)CREF(BgL_obj2642z00_2342))->BgL_varz00) = ((BgL_varz00_bglt)BgL_val2641z00_2343), BUNSPEC); } } 
{ /* ./Ast/substitute.scm 262 */
BgL_nodez00_bglt BgL_arg3575z00_1362;
{ /* ./Ast/substitute.scm 262 */
BgL_nodez00_bglt BgL_arg3578z00_1363;obj_t BgL_arg3579z00_1364;
BgL_arg3578z00_1363 = 
(((BgL_boxzd2setz12zc0_bglt)CREF(BgL_nodez00_1355))->BgL_valuez00); 
BgL_arg3579z00_1364 = 
CNST_TABLE_REF(((long)1)); 
{ /* ./Ast/substitute.scm 262 */
BgL_nodez00_bglt BgL_res3689z00_2372;
{ /* ./Ast/substitute.scm 262 */
obj_t BgL_method2694z00_2347;
{ /* ./Ast/substitute.scm 262 */
BgL_objectz00_bglt BgL_objz00_2348;
BgL_objz00_2348 = 
(BgL_objectz00_bglt)(BgL_arg3578z00_1363); 
{ /* ./Ast/substitute.scm 262 */
long BgL_objzd2classzd2numz00_2349;
BgL_objzd2classzd2numz00_2349 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2348); 
{ /* ./Ast/substitute.scm 262 */
obj_t BgL_arg2017z00_2350;
{ /* ./Ast/substitute.scm 262 */
int BgL_auxz00_2698;
BgL_auxz00_2698 = 
(int)(((long)1)); 
BgL_arg2017z00_2350 = 
PROCEDURE_REF(BGl_dozd2substitutez12zd2envz12zzast_substitutez00, BgL_auxz00_2698); } 
{ /* ./Ast/substitute.scm 262 */
int BgL_offsetz00_2353;
BgL_offsetz00_2353 = 
(int)(BgL_objzd2classzd2numz00_2349); 
{ /* ./Ast/substitute.scm 262 */
long BgL_offsetz00_2354;
{ /* ./Ast/substitute.scm 262 */
long BgL_auxz00_2702;
BgL_auxz00_2702 = 
(long)(BgL_offsetz00_2353); 
BgL_offsetz00_2354 = 
(BgL_auxz00_2702-OBJECT_TYPE); } 
{ /* ./Ast/substitute.scm 262 */
long BgL_modz00_2355;
{ /* ./Ast/substitute.scm 262 */
int BgL_arg2028z00_2356;
BgL_arg2028z00_2356 = 
(int)(((long)8)); 
{ /* ./Ast/substitute.scm 262 */
long BgL_n2z00_2364;
BgL_n2z00_2364 = 
(long)(BgL_arg2028z00_2356); 
BgL_modz00_2355 = 
(BgL_offsetz00_2354/BgL_n2z00_2364); } } 
{ /* ./Ast/substitute.scm 262 */
long BgL_restz00_2357;
{ /* ./Ast/substitute.scm 262 */
int BgL_arg2024z00_2358;
BgL_arg2024z00_2358 = 
(int)(((long)8)); 
{ /* ./Ast/substitute.scm 262 */
long BgL_n2z00_2367;
BgL_n2z00_2367 = 
(long)(BgL_arg2024z00_2358); 
BgL_restz00_2357 = 
(BgL_offsetz00_2354%BgL_n2z00_2367); } } 
{ /* ./Ast/substitute.scm 262 */

{ /* ./Ast/substitute.scm 262 */
obj_t BgL_bucketz00_2359;
{ /* ./Ast/substitute.scm 262 */
int BgL_kz00_2369;
BgL_kz00_2369 = 
(int)(BgL_modz00_2355); 
BgL_bucketz00_2359 = 
VECTOR_REF(BgL_arg2017z00_2350,BgL_kz00_2369); } 
{ /* ./Ast/substitute.scm 262 */
int BgL_kz00_2371;
BgL_kz00_2371 = 
(int)(BgL_restz00_2357); 
BgL_method2694z00_2347 = 
VECTOR_REF(BgL_bucketz00_2359,BgL_kz00_2371); } } } } } } } } } } 
{ /* ./Ast/substitute.scm 262 */
obj_t BgL_auxz00_2715;
BgL_auxz00_2715 = 
PROCEDURE_ENTRY(BgL_method2694z00_2347)(BgL_method2694z00_2347, 
(obj_t)(BgL_arg3578z00_1363), BgL_arg3579z00_1364, BEOA); 
BgL_res3689z00_2372 = 
(BgL_nodez00_bglt)(BgL_auxz00_2715); } } 
BgL_arg3575z00_1362 = BgL_res3689z00_2372; } } 
{ /* ./Ast/substitute.scm 262 */
BgL_boxzd2setz12zc0_bglt BgL_obj2645z00_2373;BgL_nodez00_bglt BgL_val2644z00_2374;
BgL_obj2645z00_2373 = BgL_nodez00_1355; 
BgL_val2644z00_2374 = BgL_arg3575z00_1362; 
((((BgL_boxzd2setz12zc0_bglt)CREF(BgL_obj2645z00_2373))->BgL_valuez00) = ((BgL_nodez00_bglt)BgL_val2644z00_2374), BUNSPEC); } } 
BgL_auxz00_2664 = BgL_nodez00_1355; 
return 
(obj_t)(BgL_auxz00_2664);} } } 
}



/* do-substitute!-box-ref2733 */
obj_t BGl_dozd2substitutez12zd2boxzd2ref2733zc0zzast_substitutez00(obj_t BgL_envz00_2434, obj_t BgL_nodez00_2435, obj_t BgL_sitez00_2436)
{ AN_OBJECT;
{ /* ./Ast/substitute.scm 253 */
{ 
BgL_boxzd2refzd2_bglt BgL_nodez00_1346;obj_t BgL_sitez00_1347;
{ /* ./Ast/substitute.scm 254 */
BgL_boxzd2refzd2_bglt BgL_auxz00_2723;
BgL_nodez00_1346 = 
(BgL_boxzd2refzd2_bglt)(BgL_nodez00_2435); 
BgL_sitez00_1347 = BgL_sitez00_2436; 
{ /* ./Ast/substitute.scm 254 */
BgL_nodez00_bglt BgL_arg3552z00_2279;
{ /* ./Ast/substitute.scm 254 */
BgL_varz00_bglt BgL_arg3556z00_2280;obj_t BgL_arg3557z00_2281;
BgL_arg3556z00_2280 = 
(((BgL_boxzd2refzd2_bglt)CREF(BgL_nodez00_1346))->BgL_varz00); 
BgL_arg3557z00_2281 = 
CNST_TABLE_REF(((long)1)); 
{ /* ./Ast/substitute.scm 254 */
BgL_nodez00_bglt BgL_res3683z00_2310;
{ /* ./Ast/substitute.scm 254 */
BgL_nodez00_bglt BgL_nodez00_2283;
BgL_nodez00_2283 = 
(BgL_nodez00_bglt)(BgL_arg3556z00_2280); 
{ /* ./Ast/substitute.scm 254 */
obj_t BgL_method2694z00_2285;
{ /* ./Ast/substitute.scm 254 */
BgL_objectz00_bglt BgL_objz00_2286;
BgL_objz00_2286 = 
(BgL_objectz00_bglt)(BgL_nodez00_2283); 
{ /* ./Ast/substitute.scm 254 */
long BgL_objzd2classzd2numz00_2287;
BgL_objzd2classzd2numz00_2287 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2286); 
{ /* ./Ast/substitute.scm 254 */
obj_t BgL_arg2017z00_2288;
{ /* ./Ast/substitute.scm 254 */
int BgL_auxz00_2729;
BgL_auxz00_2729 = 
(int)(((long)1)); 
BgL_arg2017z00_2288 = 
PROCEDURE_REF(BGl_dozd2substitutez12zd2envz12zzast_substitutez00, BgL_auxz00_2729); } 
{ /* ./Ast/substitute.scm 254 */
int BgL_offsetz00_2291;
BgL_offsetz00_2291 = 
(int)(BgL_objzd2classzd2numz00_2287); 
{ /* ./Ast/substitute.scm 254 */
long BgL_offsetz00_2292;
{ /* ./Ast/substitute.scm 254 */
long BgL_auxz00_2733;
BgL_auxz00_2733 = 
(long)(BgL_offsetz00_2291); 
BgL_offsetz00_2292 = 
(BgL_auxz00_2733-OBJECT_TYPE); } 
{ /* ./Ast/substitute.scm 254 */
long BgL_modz00_2293;
{ /* ./Ast/substitute.scm 254 */
int BgL_arg2028z00_2294;
BgL_arg2028z00_2294 = 
(int)(((long)8)); 
{ /* ./Ast/substitute.scm 254 */
long BgL_n2z00_2302;
BgL_n2z00_2302 = 
(long)(BgL_arg2028z00_2294); 
BgL_modz00_2293 = 
(BgL_offsetz00_2292/BgL_n2z00_2302); } } 
{ /* ./Ast/substitute.scm 254 */
long BgL_restz00_2295;
{ /* ./Ast/substitute.scm 254 */
int BgL_arg2024z00_2296;
BgL_arg2024z00_2296 = 
(int)(((long)8)); 
{ /* ./Ast/substitute.scm 254 */
long BgL_n2z00_2305;
BgL_n2z00_2305 = 
(long)(BgL_arg2024z00_2296); 
BgL_restz00_2295 = 
(BgL_offsetz00_2292%BgL_n2z00_2305); } } 
{ /* ./Ast/substitute.scm 254 */

{ /* ./Ast/substitute.scm 254 */
obj_t BgL_bucketz00_2297;
{ /* ./Ast/substitute.scm 254 */
int BgL_kz00_2307;
BgL_kz00_2307 = 
(int)(BgL_modz00_2293); 
BgL_bucketz00_2297 = 
VECTOR_REF(BgL_arg2017z00_2288,BgL_kz00_2307); } 
{ /* ./Ast/substitute.scm 254 */
int BgL_kz00_2309;
BgL_kz00_2309 = 
(int)(BgL_restz00_2295); 
BgL_method2694z00_2285 = 
VECTOR_REF(BgL_bucketz00_2297,BgL_kz00_2309); } } } } } } } } } } 
{ /* ./Ast/substitute.scm 254 */
obj_t BgL_auxz00_2746;
BgL_auxz00_2746 = 
PROCEDURE_ENTRY(BgL_method2694z00_2285)(BgL_method2694z00_2285, 
(obj_t)(BgL_nodez00_2283), BgL_arg3557z00_2281, BEOA); 
BgL_res3683z00_2310 = 
(BgL_nodez00_bglt)(BgL_auxz00_2746); } } } 
BgL_arg3552z00_2279 = BgL_res3683z00_2310; } } 
{ /* ./Ast/substitute.scm 254 */
BgL_boxzd2refzd2_bglt BgL_obj2616z00_2311;BgL_varz00_bglt BgL_val2615z00_2312;
BgL_obj2616z00_2311 = BgL_nodez00_1346; 
BgL_val2615z00_2312 = 
(BgL_varz00_bglt)(BgL_arg3552z00_2279); 
((((BgL_boxzd2refzd2_bglt)CREF(BgL_obj2616z00_2311))->BgL_varz00) = ((BgL_varz00_bglt)BgL_val2615z00_2312), BUNSPEC); } } 
BgL_auxz00_2723 = BgL_nodez00_1346; 
return 
(obj_t)(BgL_auxz00_2723);} } } 
}



/* do-substitute!-make-box2731 */
obj_t BGl_dozd2substitutez12zd2makezd2box2731zc0zzast_substitutez00(obj_t BgL_envz00_2437, obj_t BgL_nodez00_2438, obj_t BgL_sitez00_2439)
{ AN_OBJECT;
{ /* ./Ast/substitute.scm 246 */
{ 
BgL_makezd2boxzd2_bglt BgL_nodez00_1337;obj_t BgL_sitez00_1338;
{ /* ./Ast/substitute.scm 247 */
BgL_makezd2boxzd2_bglt BgL_auxz00_2755;
BgL_nodez00_1337 = 
(BgL_makezd2boxzd2_bglt)(BgL_nodez00_2438); 
BgL_sitez00_1338 = BgL_sitez00_2439; 
{ /* ./Ast/substitute.scm 247 */
BgL_nodez00_bglt BgL_arg3535z00_2245;
{ /* ./Ast/substitute.scm 247 */
BgL_nodez00_bglt BgL_arg3538z00_2246;obj_t BgL_arg3541z00_2247;
BgL_arg3538z00_2246 = 
(((BgL_makezd2boxzd2_bglt)CREF(BgL_nodez00_1337))->BgL_valuez00); 
BgL_arg3541z00_2247 = 
CNST_TABLE_REF(((long)1)); 
{ /* ./Ast/substitute.scm 247 */
BgL_nodez00_bglt BgL_res3680z00_2276;
{ /* ./Ast/substitute.scm 247 */
obj_t BgL_method2694z00_2251;
{ /* ./Ast/substitute.scm 247 */
BgL_objectz00_bglt BgL_objz00_2252;
BgL_objz00_2252 = 
(BgL_objectz00_bglt)(BgL_arg3538z00_2246); 
{ /* ./Ast/substitute.scm 247 */
long BgL_objzd2classzd2numz00_2253;
BgL_objzd2classzd2numz00_2253 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2252); 
{ /* ./Ast/substitute.scm 247 */
obj_t BgL_arg2017z00_2254;
{ /* ./Ast/substitute.scm 247 */
int BgL_auxz00_2760;
BgL_auxz00_2760 = 
(int)(((long)1)); 
BgL_arg2017z00_2254 = 
PROCEDURE_REF(BGl_dozd2substitutez12zd2envz12zzast_substitutez00, BgL_auxz00_2760); } 
{ /* ./Ast/substitute.scm 247 */
int BgL_offsetz00_2257;
BgL_offsetz00_2257 = 
(int)(BgL_objzd2classzd2numz00_2253); 
{ /* ./Ast/substitute.scm 247 */
long BgL_offsetz00_2258;
{ /* ./Ast/substitute.scm 247 */
long BgL_auxz00_2764;
BgL_auxz00_2764 = 
(long)(BgL_offsetz00_2257); 
BgL_offsetz00_2258 = 
(BgL_auxz00_2764-OBJECT_TYPE); } 
{ /* ./Ast/substitute.scm 247 */
long BgL_modz00_2259;
{ /* ./Ast/substitute.scm 247 */
int BgL_arg2028z00_2260;
BgL_arg2028z00_2260 = 
(int)(((long)8)); 
{ /* ./Ast/substitute.scm 247 */
long BgL_n2z00_2268;
BgL_n2z00_2268 = 
(long)(BgL_arg2028z00_2260); 
BgL_modz00_2259 = 
(BgL_offsetz00_2258/BgL_n2z00_2268); } } 
{ /* ./Ast/substitute.scm 247 */
long BgL_restz00_2261;
{ /* ./Ast/substitute.scm 247 */
int BgL_arg2024z00_2262;
BgL_arg2024z00_2262 = 
(int)(((long)8)); 
{ /* ./Ast/substitute.scm 247 */
long BgL_n2z00_2271;
BgL_n2z00_2271 = 
(long)(BgL_arg2024z00_2262); 
BgL_restz00_2261 = 
(BgL_offsetz00_2258%BgL_n2z00_2271); } } 
{ /* ./Ast/substitute.scm 247 */

{ /* ./Ast/substitute.scm 247 */
obj_t BgL_bucketz00_2263;
{ /* ./Ast/substitute.scm 247 */
int BgL_kz00_2273;
BgL_kz00_2273 = 
(int)(BgL_modz00_2259); 
BgL_bucketz00_2263 = 
VECTOR_REF(BgL_arg2017z00_2254,BgL_kz00_2273); } 
{ /* ./Ast/substitute.scm 247 */
int BgL_kz00_2275;
BgL_kz00_2275 = 
(int)(BgL_restz00_2261); 
BgL_method2694z00_2251 = 
VECTOR_REF(BgL_bucketz00_2263,BgL_kz00_2275); } } } } } } } } } } 
{ /* ./Ast/substitute.scm 247 */
obj_t BgL_auxz00_2777;
BgL_auxz00_2777 = 
PROCEDURE_ENTRY(BgL_method2694z00_2251)(BgL_method2694z00_2251, 
(obj_t)(BgL_arg3538z00_2246), BgL_arg3541z00_2247, BEOA); 
BgL_res3680z00_2276 = 
(BgL_nodez00_bglt)(BgL_auxz00_2777); } } 
BgL_arg3535z00_2245 = BgL_res3680z00_2276; } } 
{ /* ./Ast/substitute.scm 247 */
BgL_makezd2boxzd2_bglt BgL_obj2584z00_2277;BgL_nodez00_bglt BgL_val2583z00_2278;
BgL_obj2584z00_2277 = BgL_nodez00_1337; 
BgL_val2583z00_2278 = BgL_arg3535z00_2245; 
((((BgL_makezd2boxzd2_bglt)CREF(BgL_obj2584z00_2277))->BgL_valuez00) = ((BgL_nodez00_bglt)BgL_val2583z00_2278), BUNSPEC); } } 
BgL_auxz00_2755 = BgL_nodez00_1337; 
return 
(obj_t)(BgL_auxz00_2755);} } } 
}



/* do-substitute!-jump-ex-it2728 */
obj_t BGl_dozd2substitutez12zd2jumpzd2exzd2it2728z12zzast_substitutez00(obj_t BgL_envz00_2440, obj_t BgL_nodez00_2441, obj_t BgL_sitez00_2442)
{ AN_OBJECT;
{ /* ./Ast/substitute.scm 238 */
{ 
BgL_jumpzd2exzd2itz00_bglt BgL_nodez00_1325;obj_t BgL_sitez00_1326;
{ /* ./Ast/substitute.scm 239 */
BgL_jumpzd2exzd2itz00_bglt BgL_auxz00_2785;
BgL_nodez00_1325 = 
(BgL_jumpzd2exzd2itz00_bglt)(BgL_nodez00_2441); 
BgL_sitez00_1326 = BgL_sitez00_2442; 
{ /* ./Ast/substitute.scm 239 */
BgL_nodez00_bglt BgL_arg3512z00_1329;
{ /* ./Ast/substitute.scm 239 */
BgL_nodez00_bglt BgL_arg3515z00_1330;obj_t BgL_arg3517z00_1331;
BgL_arg3515z00_1330 = 
(((BgL_jumpzd2exzd2itz00_bglt)CREF(BgL_nodez00_1325))->BgL_exitz00); 
BgL_arg3517z00_1331 = 
CNST_TABLE_REF(((long)2)); 
{ /* ./Ast/substitute.scm 239 */
BgL_nodez00_bglt BgL_res3674z00_2211;
{ /* ./Ast/substitute.scm 239 */
obj_t BgL_method2694z00_2186;
{ /* ./Ast/substitute.scm 239 */
BgL_objectz00_bglt BgL_objz00_2187;
BgL_objz00_2187 = 
(BgL_objectz00_bglt)(BgL_arg3515z00_1330); 
{ /* ./Ast/substitute.scm 239 */
long BgL_objzd2classzd2numz00_2188;
BgL_objzd2classzd2numz00_2188 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2187); 
{ /* ./Ast/substitute.scm 239 */
obj_t BgL_arg2017z00_2189;
{ /* ./Ast/substitute.scm 239 */
int BgL_auxz00_2790;
BgL_auxz00_2790 = 
(int)(((long)1)); 
BgL_arg2017z00_2189 = 
PROCEDURE_REF(BGl_dozd2substitutez12zd2envz12zzast_substitutez00, BgL_auxz00_2790); } 
{ /* ./Ast/substitute.scm 239 */
int BgL_offsetz00_2192;
BgL_offsetz00_2192 = 
(int)(BgL_objzd2classzd2numz00_2188); 
{ /* ./Ast/substitute.scm 239 */
long BgL_offsetz00_2193;
{ /* ./Ast/substitute.scm 239 */
long BgL_auxz00_2794;
BgL_auxz00_2794 = 
(long)(BgL_offsetz00_2192); 
BgL_offsetz00_2193 = 
(BgL_auxz00_2794-OBJECT_TYPE); } 
{ /* ./Ast/substitute.scm 239 */
long BgL_modz00_2194;
{ /* ./Ast/substitute.scm 239 */
int BgL_arg2028z00_2195;
BgL_arg2028z00_2195 = 
(int)(((long)8)); 
{ /* ./Ast/substitute.scm 239 */
long BgL_n2z00_2203;
BgL_n2z00_2203 = 
(long)(BgL_arg2028z00_2195); 
BgL_modz00_2194 = 
(BgL_offsetz00_2193/BgL_n2z00_2203); } } 
{ /* ./Ast/substitute.scm 239 */
long BgL_restz00_2196;
{ /* ./Ast/substitute.scm 239 */
int BgL_arg2024z00_2197;
BgL_arg2024z00_2197 = 
(int)(((long)8)); 
{ /* ./Ast/substitute.scm 239 */
long BgL_n2z00_2206;
BgL_n2z00_2206 = 
(long)(BgL_arg2024z00_2197); 
BgL_restz00_2196 = 
(BgL_offsetz00_2193%BgL_n2z00_2206); } } 
{ /* ./Ast/substitute.scm 239 */

{ /* ./Ast/substitute.scm 239 */
obj_t BgL_bucketz00_2198;
{ /* ./Ast/substitute.scm 239 */
int BgL_kz00_2208;
BgL_kz00_2208 = 
(int)(BgL_modz00_2194); 
BgL_bucketz00_2198 = 
VECTOR_REF(BgL_arg2017z00_2189,BgL_kz00_2208); } 
{ /* ./Ast/substitute.scm 239 */
int BgL_kz00_2210;
BgL_kz00_2210 = 
(int)(BgL_restz00_2196); 
BgL_method2694z00_2186 = 
VECTOR_REF(BgL_bucketz00_2198,BgL_kz00_2210); } } } } } } } } } } 
{ /* ./Ast/substitute.scm 239 */
obj_t BgL_auxz00_2807;
BgL_auxz00_2807 = 
PROCEDURE_ENTRY(BgL_method2694z00_2186)(BgL_method2694z00_2186, 
(obj_t)(BgL_arg3515z00_1330), BgL_arg3517z00_1331, BEOA); 
BgL_res3674z00_2211 = 
(BgL_nodez00_bglt)(BgL_auxz00_2807); } } 
BgL_arg3512z00_1329 = BgL_res3674z00_2211; } } 
{ /* ./Ast/substitute.scm 239 */
BgL_jumpzd2exzd2itz00_bglt BgL_obj2552z00_2212;BgL_nodez00_bglt BgL_val2551z00_2213;
BgL_obj2552z00_2212 = BgL_nodez00_1325; 
BgL_val2551z00_2213 = BgL_arg3512z00_1329; 
((((BgL_jumpzd2exzd2itz00_bglt)CREF(BgL_obj2552z00_2212))->BgL_exitz00) = ((BgL_nodez00_bglt)BgL_val2551z00_2213), BUNSPEC); } } 
{ /* ./Ast/substitute.scm 240 */
BgL_nodez00_bglt BgL_arg3521z00_1332;
{ /* ./Ast/substitute.scm 240 */
BgL_nodez00_bglt BgL_arg3524z00_1333;obj_t BgL_arg3525z00_1334;
BgL_arg3524z00_1333 = 
(((BgL_jumpzd2exzd2itz00_bglt)CREF(BgL_nodez00_1325))->BgL_valuez00); 
BgL_arg3525z00_1334 = 
CNST_TABLE_REF(((long)1)); 
{ /* ./Ast/substitute.scm 240 */
BgL_nodez00_bglt BgL_res3677z00_2242;
{ /* ./Ast/substitute.scm 240 */
obj_t BgL_method2694z00_2217;
{ /* ./Ast/substitute.scm 240 */
BgL_objectz00_bglt BgL_objz00_2218;
BgL_objz00_2218 = 
(BgL_objectz00_bglt)(BgL_arg3524z00_1333); 
{ /* ./Ast/substitute.scm 240 */
long BgL_objzd2classzd2numz00_2219;
BgL_objzd2classzd2numz00_2219 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2218); 
{ /* ./Ast/substitute.scm 240 */
obj_t BgL_arg2017z00_2220;
{ /* ./Ast/substitute.scm 240 */
int BgL_auxz00_2817;
BgL_auxz00_2817 = 
(int)(((long)1)); 
BgL_arg2017z00_2220 = 
PROCEDURE_REF(BGl_dozd2substitutez12zd2envz12zzast_substitutez00, BgL_auxz00_2817); } 
{ /* ./Ast/substitute.scm 240 */
int BgL_offsetz00_2223;
BgL_offsetz00_2223 = 
(int)(BgL_objzd2classzd2numz00_2219); 
{ /* ./Ast/substitute.scm 240 */
long BgL_offsetz00_2224;
{ /* ./Ast/substitute.scm 240 */
long BgL_auxz00_2821;
BgL_auxz00_2821 = 
(long)(BgL_offsetz00_2223); 
BgL_offsetz00_2224 = 
(BgL_auxz00_2821-OBJECT_TYPE); } 
{ /* ./Ast/substitute.scm 240 */
long BgL_modz00_2225;
{ /* ./Ast/substitute.scm 240 */
int BgL_arg2028z00_2226;
BgL_arg2028z00_2226 = 
(int)(((long)8)); 
{ /* ./Ast/substitute.scm 240 */
long BgL_n2z00_2234;
BgL_n2z00_2234 = 
(long)(BgL_arg2028z00_2226); 
BgL_modz00_2225 = 
(BgL_offsetz00_2224/BgL_n2z00_2234); } } 
{ /* ./Ast/substitute.scm 240 */
long BgL_restz00_2227;
{ /* ./Ast/substitute.scm 240 */
int BgL_arg2024z00_2228;
BgL_arg2024z00_2228 = 
(int)(((long)8)); 
{ /* ./Ast/substitute.scm 240 */
long BgL_n2z00_2237;
BgL_n2z00_2237 = 
(long)(BgL_arg2024z00_2228); 
BgL_restz00_2227 = 
(BgL_offsetz00_2224%BgL_n2z00_2237); } } 
{ /* ./Ast/substitute.scm 240 */

{ /* ./Ast/substitute.scm 240 */
obj_t BgL_bucketz00_2229;
{ /* ./Ast/substitute.scm 240 */
int BgL_kz00_2239;
BgL_kz00_2239 = 
(int)(BgL_modz00_2225); 
BgL_bucketz00_2229 = 
VECTOR_REF(BgL_arg2017z00_2220,BgL_kz00_2239); } 
{ /* ./Ast/substitute.scm 240 */
int BgL_kz00_2241;
BgL_kz00_2241 = 
(int)(BgL_restz00_2227); 
BgL_method2694z00_2217 = 
VECTOR_REF(BgL_bucketz00_2229,BgL_kz00_2241); } } } } } } } } } } 
{ /* ./Ast/substitute.scm 240 */
obj_t BgL_auxz00_2834;
BgL_auxz00_2834 = 
PROCEDURE_ENTRY(BgL_method2694z00_2217)(BgL_method2694z00_2217, 
(obj_t)(BgL_arg3524z00_1333), BgL_arg3525z00_1334, BEOA); 
BgL_res3677z00_2242 = 
(BgL_nodez00_bglt)(BgL_auxz00_2834); } } 
BgL_arg3521z00_1332 = BgL_res3677z00_2242; } } 
{ /* ./Ast/substitute.scm 240 */
BgL_jumpzd2exzd2itz00_bglt BgL_obj2555z00_2243;BgL_nodez00_bglt BgL_val2554z00_2244;
BgL_obj2555z00_2243 = BgL_nodez00_1325; 
BgL_val2554z00_2244 = BgL_arg3521z00_1332; 
((((BgL_jumpzd2exzd2itz00_bglt)CREF(BgL_obj2555z00_2243))->BgL_valuez00) = ((BgL_nodez00_bglt)BgL_val2554z00_2244), BUNSPEC); } } 
BgL_auxz00_2785 = BgL_nodez00_1325; 
return 
(obj_t)(BgL_auxz00_2785);} } } 
}



/* do-substitute!-set-ex-it2726 */
obj_t BGl_dozd2substitutez12zd2setzd2exzd2it2726z12zzast_substitutez00(obj_t BgL_envz00_2443, obj_t BgL_nodez00_2444, obj_t BgL_sitez00_2445)
{ AN_OBJECT;
{ /* ./Ast/substitute.scm 231 */
{ 
BgL_setzd2exzd2itz00_bglt BgL_nodez00_1317;obj_t BgL_sitez00_1318;
{ /* ./Ast/substitute.scm 232 */
BgL_setzd2exzd2itz00_bglt BgL_auxz00_2842;
BgL_nodez00_1317 = 
(BgL_setzd2exzd2itz00_bglt)(BgL_nodez00_2444); 
BgL_sitez00_1318 = BgL_sitez00_2445; 
{ /* ./Ast/substitute.scm 232 */
BgL_nodez00_bglt BgL_arg3499z00_2150;
{ /* ./Ast/substitute.scm 232 */
BgL_nodez00_bglt BgL_arg3502z00_2151;
BgL_arg3502z00_2151 = 
(((BgL_setzd2exzd2itz00_bglt)CREF(BgL_nodez00_1317))->BgL_bodyz00); 
{ /* ./Ast/substitute.scm 232 */
BgL_nodez00_bglt BgL_res3671z00_2180;
{ /* ./Ast/substitute.scm 232 */
obj_t BgL_method2694z00_2155;
{ /* ./Ast/substitute.scm 232 */
BgL_objectz00_bglt BgL_objz00_2156;
BgL_objz00_2156 = 
(BgL_objectz00_bglt)(BgL_arg3502z00_2151); 
{ /* ./Ast/substitute.scm 232 */
long BgL_objzd2classzd2numz00_2157;
BgL_objzd2classzd2numz00_2157 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2156); 
{ /* ./Ast/substitute.scm 232 */
obj_t BgL_arg2017z00_2158;
{ /* ./Ast/substitute.scm 232 */
int BgL_auxz00_2846;
BgL_auxz00_2846 = 
(int)(((long)1)); 
BgL_arg2017z00_2158 = 
PROCEDURE_REF(BGl_dozd2substitutez12zd2envz12zzast_substitutez00, BgL_auxz00_2846); } 
{ /* ./Ast/substitute.scm 232 */
int BgL_offsetz00_2161;
BgL_offsetz00_2161 = 
(int)(BgL_objzd2classzd2numz00_2157); 
{ /* ./Ast/substitute.scm 232 */
long BgL_offsetz00_2162;
{ /* ./Ast/substitute.scm 232 */
long BgL_auxz00_2850;
BgL_auxz00_2850 = 
(long)(BgL_offsetz00_2161); 
BgL_offsetz00_2162 = 
(BgL_auxz00_2850-OBJECT_TYPE); } 
{ /* ./Ast/substitute.scm 232 */
long BgL_modz00_2163;
{ /* ./Ast/substitute.scm 232 */
int BgL_arg2028z00_2164;
BgL_arg2028z00_2164 = 
(int)(((long)8)); 
{ /* ./Ast/substitute.scm 232 */
long BgL_n2z00_2172;
BgL_n2z00_2172 = 
(long)(BgL_arg2028z00_2164); 
BgL_modz00_2163 = 
(BgL_offsetz00_2162/BgL_n2z00_2172); } } 
{ /* ./Ast/substitute.scm 232 */
long BgL_restz00_2165;
{ /* ./Ast/substitute.scm 232 */
int BgL_arg2024z00_2166;
BgL_arg2024z00_2166 = 
(int)(((long)8)); 
{ /* ./Ast/substitute.scm 232 */
long BgL_n2z00_2175;
BgL_n2z00_2175 = 
(long)(BgL_arg2024z00_2166); 
BgL_restz00_2165 = 
(BgL_offsetz00_2162%BgL_n2z00_2175); } } 
{ /* ./Ast/substitute.scm 232 */

{ /* ./Ast/substitute.scm 232 */
obj_t BgL_bucketz00_2167;
{ /* ./Ast/substitute.scm 232 */
int BgL_kz00_2177;
BgL_kz00_2177 = 
(int)(BgL_modz00_2163); 
BgL_bucketz00_2167 = 
VECTOR_REF(BgL_arg2017z00_2158,BgL_kz00_2177); } 
{ /* ./Ast/substitute.scm 232 */
int BgL_kz00_2179;
BgL_kz00_2179 = 
(int)(BgL_restz00_2165); 
BgL_method2694z00_2155 = 
VECTOR_REF(BgL_bucketz00_2167,BgL_kz00_2179); } } } } } } } } } } 
{ /* ./Ast/substitute.scm 232 */
obj_t BgL_auxz00_2863;
BgL_auxz00_2863 = 
PROCEDURE_ENTRY(BgL_method2694z00_2155)(BgL_method2694z00_2155, 
(obj_t)(BgL_arg3502z00_2151), BgL_sitez00_1318, BEOA); 
BgL_res3671z00_2180 = 
(BgL_nodez00_bglt)(BgL_auxz00_2863); } } 
BgL_arg3499z00_2150 = BgL_res3671z00_2180; } } 
{ /* ./Ast/substitute.scm 232 */
BgL_setzd2exzd2itz00_bglt BgL_obj2529z00_2181;BgL_nodez00_bglt BgL_val2528z00_2182;
BgL_obj2529z00_2181 = BgL_nodez00_1317; 
BgL_val2528z00_2182 = BgL_arg3499z00_2150; 
((((BgL_setzd2exzd2itz00_bglt)CREF(BgL_obj2529z00_2181))->BgL_bodyz00) = ((BgL_nodez00_bglt)BgL_val2528z00_2182), BUNSPEC); } } 
BgL_auxz00_2842 = BgL_nodez00_1317; 
return 
(obj_t)(BgL_auxz00_2842);} } } 
}



/* do-substitute!-let-var2724 */
obj_t BGl_dozd2substitutez12zd2letzd2var2724zc0zzast_substitutez00(obj_t BgL_envz00_2446, obj_t BgL_nodez00_2447, obj_t BgL_sitez00_2448)
{ AN_OBJECT;
{ /* ./Ast/substitute.scm 221 */
{ 
BgL_letzd2varzd2_bglt BgL_nodez00_1300;obj_t BgL_sitez00_1301;
{ /* ./Ast/substitute.scm 222 */
BgL_letzd2varzd2_bglt BgL_auxz00_2871;
BgL_nodez00_1300 = 
(BgL_letzd2varzd2_bglt)(BgL_nodez00_2447); 
BgL_sitez00_1301 = BgL_sitez00_2448; 
{ 
obj_t BgL_l2691z00_1304;
{ /* ./Ast/substitute.scm 224 */
obj_t BgL_arg3467z00_1306;
BgL_arg3467z00_1306 = 
(((BgL_letzd2varzd2_bglt)CREF(BgL_nodez00_1300))->BgL_bindingsz00); 
BgL_l2691z00_1304 = BgL_arg3467z00_1306; 
BgL_forzd2each2692zd2_1305:
{ /* ./Ast/substitute.scm 222 */
bool_t BgL_test3470z00_1307;
BgL_test3470z00_1307 = 
PAIRP(BgL_l2691z00_1304); 
if(BgL_test3470z00_1307)
{ /* ./Ast/substitute.scm 222 */
{ /* ./Ast/substitute.scm 223 */
obj_t BgL_bindingz00_1308;
BgL_bindingz00_1308 = 
CAR(BgL_l2691z00_1304); 
{ /* ./Ast/substitute.scm 223 */
BgL_nodez00_bglt BgL_arg3472z00_1309;
{ /* ./Ast/substitute.scm 223 */
obj_t BgL_arg3475z00_1310;obj_t BgL_arg3476z00_1311;
BgL_arg3475z00_1310 = 
CDR(BgL_bindingz00_1308); 
BgL_arg3476z00_1311 = 
CNST_TABLE_REF(((long)1)); 
{ /* ./Ast/substitute.scm 223 */
BgL_nodez00_bglt BgL_res3665z00_2115;
{ /* ./Ast/substitute.scm 223 */
BgL_nodez00_bglt BgL_nodez00_2088;
BgL_nodez00_2088 = 
(BgL_nodez00_bglt)(BgL_arg3475z00_1310); 
{ /* ./Ast/substitute.scm 223 */
obj_t BgL_method2694z00_2090;
{ /* ./Ast/substitute.scm 223 */
BgL_objectz00_bglt BgL_objz00_2091;
BgL_objz00_2091 = 
(BgL_objectz00_bglt)(BgL_nodez00_2088); 
{ /* ./Ast/substitute.scm 223 */
long BgL_objzd2classzd2numz00_2092;
BgL_objzd2classzd2numz00_2092 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2091); 
{ /* ./Ast/substitute.scm 223 */
obj_t BgL_arg2017z00_2093;
{ /* ./Ast/substitute.scm 223 */
int BgL_auxz00_2881;
BgL_auxz00_2881 = 
(int)(((long)1)); 
BgL_arg2017z00_2093 = 
PROCEDURE_REF(BGl_dozd2substitutez12zd2envz12zzast_substitutez00, BgL_auxz00_2881); } 
{ /* ./Ast/substitute.scm 223 */
int BgL_offsetz00_2096;
BgL_offsetz00_2096 = 
(int)(BgL_objzd2classzd2numz00_2092); 
{ /* ./Ast/substitute.scm 223 */
long BgL_offsetz00_2097;
{ /* ./Ast/substitute.scm 223 */
long BgL_auxz00_2885;
BgL_auxz00_2885 = 
(long)(BgL_offsetz00_2096); 
BgL_offsetz00_2097 = 
(BgL_auxz00_2885-OBJECT_TYPE); } 
{ /* ./Ast/substitute.scm 223 */
long BgL_modz00_2098;
{ /* ./Ast/substitute.scm 223 */
int BgL_arg2028z00_2099;
BgL_arg2028z00_2099 = 
(int)(((long)8)); 
{ /* ./Ast/substitute.scm 223 */
long BgL_n2z00_2107;
BgL_n2z00_2107 = 
(long)(BgL_arg2028z00_2099); 
BgL_modz00_2098 = 
(BgL_offsetz00_2097/BgL_n2z00_2107); } } 
{ /* ./Ast/substitute.scm 223 */
long BgL_restz00_2100;
{ /* ./Ast/substitute.scm 223 */
int BgL_arg2024z00_2101;
BgL_arg2024z00_2101 = 
(int)(((long)8)); 
{ /* ./Ast/substitute.scm 223 */
long BgL_n2z00_2110;
BgL_n2z00_2110 = 
(long)(BgL_arg2024z00_2101); 
BgL_restz00_2100 = 
(BgL_offsetz00_2097%BgL_n2z00_2110); } } 
{ /* ./Ast/substitute.scm 223 */

{ /* ./Ast/substitute.scm 223 */
obj_t BgL_bucketz00_2102;
{ /* ./Ast/substitute.scm 223 */
int BgL_kz00_2112;
BgL_kz00_2112 = 
(int)(BgL_modz00_2098); 
BgL_bucketz00_2102 = 
VECTOR_REF(BgL_arg2017z00_2093,BgL_kz00_2112); } 
{ /* ./Ast/substitute.scm 223 */
int BgL_kz00_2114;
BgL_kz00_2114 = 
(int)(BgL_restz00_2100); 
BgL_method2694z00_2090 = 
VECTOR_REF(BgL_bucketz00_2102,BgL_kz00_2114); } } } } } } } } } } 
{ /* ./Ast/substitute.scm 223 */
obj_t BgL_auxz00_2898;
BgL_auxz00_2898 = 
PROCEDURE_ENTRY(BgL_method2694z00_2090)(BgL_method2694z00_2090, 
(obj_t)(BgL_nodez00_2088), BgL_arg3476z00_1311, BEOA); 
BgL_res3665z00_2115 = 
(BgL_nodez00_bglt)(BgL_auxz00_2898); } } } 
BgL_arg3472z00_1309 = BgL_res3665z00_2115; } } 
{ /* ./Ast/substitute.scm 223 */
obj_t BgL_objz00_2117;
BgL_objz00_2117 = 
(obj_t)(BgL_arg3472z00_1309); 
SET_CDR(BgL_bindingz00_1308, BgL_objz00_2117); } } } 
{ /* ./Ast/substitute.scm 222 */
obj_t BgL_arg3481z00_1312;
BgL_arg3481z00_1312 = 
CDR(BgL_l2691z00_1304); 
{ 
obj_t BgL_l2691z00_2906;
BgL_l2691z00_2906 = BgL_arg3481z00_1312; 
BgL_l2691z00_1304 = BgL_l2691z00_2906; 
goto BgL_forzd2each2692zd2_1305;} } }  else 
{ /* ./Ast/substitute.scm 222 */((bool_t)1); } } } } 
{ /* ./Ast/substitute.scm 225 */
BgL_nodez00_bglt BgL_arg3486z00_1313;
{ /* ./Ast/substitute.scm 225 */
BgL_nodez00_bglt BgL_arg3489z00_1314;
BgL_arg3489z00_1314 = 
(((BgL_letzd2varzd2_bglt)CREF(BgL_nodez00_1300))->BgL_bodyz00); 
{ /* ./Ast/substitute.scm 225 */
BgL_nodez00_bglt BgL_res3668z00_2147;
{ /* ./Ast/substitute.scm 225 */
obj_t BgL_method2694z00_2122;
{ /* ./Ast/substitute.scm 225 */
BgL_objectz00_bglt BgL_objz00_2123;
BgL_objz00_2123 = 
(BgL_objectz00_bglt)(BgL_arg3489z00_1314); 
{ /* ./Ast/substitute.scm 225 */
long BgL_objzd2classzd2numz00_2124;
BgL_objzd2classzd2numz00_2124 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2123); 
{ /* ./Ast/substitute.scm 225 */
obj_t BgL_arg2017z00_2125;
{ /* ./Ast/substitute.scm 225 */
int BgL_auxz00_2910;
BgL_auxz00_2910 = 
(int)(((long)1)); 
BgL_arg2017z00_2125 = 
PROCEDURE_REF(BGl_dozd2substitutez12zd2envz12zzast_substitutez00, BgL_auxz00_2910); } 
{ /* ./Ast/substitute.scm 225 */
int BgL_offsetz00_2128;
BgL_offsetz00_2128 = 
(int)(BgL_objzd2classzd2numz00_2124); 
{ /* ./Ast/substitute.scm 225 */
long BgL_offsetz00_2129;
{ /* ./Ast/substitute.scm 225 */
long BgL_auxz00_2914;
BgL_auxz00_2914 = 
(long)(BgL_offsetz00_2128); 
BgL_offsetz00_2129 = 
(BgL_auxz00_2914-OBJECT_TYPE); } 
{ /* ./Ast/substitute.scm 225 */
long BgL_modz00_2130;
{ /* ./Ast/substitute.scm 225 */
int BgL_arg2028z00_2131;
BgL_arg2028z00_2131 = 
(int)(((long)8)); 
{ /* ./Ast/substitute.scm 225 */
long BgL_n2z00_2139;
BgL_n2z00_2139 = 
(long)(BgL_arg2028z00_2131); 
BgL_modz00_2130 = 
(BgL_offsetz00_2129/BgL_n2z00_2139); } } 
{ /* ./Ast/substitute.scm 225 */
long BgL_restz00_2132;
{ /* ./Ast/substitute.scm 225 */
int BgL_arg2024z00_2133;
BgL_arg2024z00_2133 = 
(int)(((long)8)); 
{ /* ./Ast/substitute.scm 225 */
long BgL_n2z00_2142;
BgL_n2z00_2142 = 
(long)(BgL_arg2024z00_2133); 
BgL_restz00_2132 = 
(BgL_offsetz00_2129%BgL_n2z00_2142); } } 
{ /* ./Ast/substitute.scm 225 */

{ /* ./Ast/substitute.scm 225 */
obj_t BgL_bucketz00_2134;
{ /* ./Ast/substitute.scm 225 */
int BgL_kz00_2144;
BgL_kz00_2144 = 
(int)(BgL_modz00_2130); 
BgL_bucketz00_2134 = 
VECTOR_REF(BgL_arg2017z00_2125,BgL_kz00_2144); } 
{ /* ./Ast/substitute.scm 225 */
int BgL_kz00_2146;
BgL_kz00_2146 = 
(int)(BgL_restz00_2132); 
BgL_method2694z00_2122 = 
VECTOR_REF(BgL_bucketz00_2134,BgL_kz00_2146); } } } } } } } } } } 
{ /* ./Ast/substitute.scm 225 */
obj_t BgL_auxz00_2927;
BgL_auxz00_2927 = 
PROCEDURE_ENTRY(BgL_method2694z00_2122)(BgL_method2694z00_2122, 
(obj_t)(BgL_arg3489z00_1314), BgL_sitez00_1301, BEOA); 
BgL_res3668z00_2147 = 
(BgL_nodez00_bglt)(BgL_auxz00_2927); } } 
BgL_arg3486z00_1313 = BgL_res3668z00_2147; } } 
{ /* ./Ast/substitute.scm 225 */
BgL_letzd2varzd2_bglt BgL_obj2491z00_2148;BgL_nodez00_bglt BgL_val2490z00_2149;
BgL_obj2491z00_2148 = BgL_nodez00_1300; 
BgL_val2490z00_2149 = BgL_arg3486z00_1313; 
((((BgL_letzd2varzd2_bglt)CREF(BgL_obj2491z00_2148))->BgL_bodyz00) = ((BgL_nodez00_bglt)BgL_val2490z00_2149), BUNSPEC); } } 
BgL_auxz00_2871 = BgL_nodez00_1300; 
return 
(obj_t)(BgL_auxz00_2871);} } } 
}



/* do-substitute!-let-fun2722 */
obj_t BGl_dozd2substitutez12zd2letzd2fun2722zc0zzast_substitutez00(obj_t BgL_envz00_2449, obj_t BgL_nodez00_2450, obj_t BgL_sitez00_2451)
{ AN_OBJECT;
{ /* ./Ast/substitute.scm 209 */
{ 
BgL_letzd2funzd2_bglt BgL_nodez00_1282;obj_t BgL_sitez00_1283;
{ /* ./Ast/substitute.scm 210 */
BgL_letzd2funzd2_bglt BgL_auxz00_2935;
BgL_nodez00_1282 = 
(BgL_letzd2funzd2_bglt)(BgL_nodez00_2450); 
BgL_sitez00_1283 = BgL_sitez00_2451; 
{ 
obj_t BgL_l2689z00_1286;
{ /* ./Ast/substitute.scm 214 */
obj_t BgL_arg3434z00_1288;
BgL_arg3434z00_1288 = 
(((BgL_letzd2funzd2_bglt)CREF(BgL_nodez00_1282))->BgL_localsz00); 
BgL_l2689z00_1286 = BgL_arg3434z00_1288; 
BgL_forzd2each2690zd2_1287:
{ /* ./Ast/substitute.scm 210 */
bool_t BgL_test3437z00_1289;
BgL_test3437z00_1289 = 
PAIRP(BgL_l2689z00_1286); 
if(BgL_test3437z00_1289)
{ /* ./Ast/substitute.scm 210 */
{ /* ./Ast/substitute.scm 211 */
obj_t BgL_localz00_1290;
BgL_localz00_1290 = 
CAR(BgL_l2689z00_1286); 
{ /* ./Ast/substitute.scm 211 */
BgL_valuez00_bglt BgL_funz00_1291;
{ /* ./Ast/substitute.scm 211 */
BgL_variablez00_bglt BgL_obj1100z00_2020;
BgL_obj1100z00_2020 = 
(BgL_variablez00_bglt)(BgL_localz00_1290); 
BgL_funz00_1291 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1100z00_2020))->BgL_valuez00); } 
{ /* ./Ast/substitute.scm 212 */
BgL_nodez00_bglt BgL_arg3439z00_1292;
{ /* ./Ast/substitute.scm 212 */
obj_t BgL_arg3442z00_1293;obj_t BgL_arg3443z00_1294;
{ /* ./Ast/substitute.scm 212 */
BgL_sfunz00_bglt BgL_obj1370z00_2021;
BgL_obj1370z00_2021 = 
(BgL_sfunz00_bglt)(BgL_funz00_1291); 
BgL_arg3442z00_1293 = 
(((BgL_sfunz00_bglt)CREF(BgL_obj1370z00_2021))->BgL_bodyz00); } 
BgL_arg3443z00_1294 = 
CNST_TABLE_REF(((long)1)); 
{ /* ./Ast/substitute.scm 212 */
BgL_nodez00_bglt BgL_res3659z00_2049;
{ /* ./Ast/substitute.scm 212 */
BgL_nodez00_bglt BgL_nodez00_2022;
BgL_nodez00_2022 = 
(BgL_nodez00_bglt)(BgL_arg3442z00_1293); 
{ /* ./Ast/substitute.scm 212 */
obj_t BgL_method2694z00_2024;
{ /* ./Ast/substitute.scm 212 */
BgL_objectz00_bglt BgL_objz00_2025;
BgL_objz00_2025 = 
(BgL_objectz00_bglt)(BgL_nodez00_2022); 
{ /* ./Ast/substitute.scm 212 */
long BgL_objzd2classzd2numz00_2026;
BgL_objzd2classzd2numz00_2026 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2025); 
{ /* ./Ast/substitute.scm 212 */
obj_t BgL_arg2017z00_2027;
{ /* ./Ast/substitute.scm 212 */
int BgL_auxz00_2948;
BgL_auxz00_2948 = 
(int)(((long)1)); 
BgL_arg2017z00_2027 = 
PROCEDURE_REF(BGl_dozd2substitutez12zd2envz12zzast_substitutez00, BgL_auxz00_2948); } 
{ /* ./Ast/substitute.scm 212 */
int BgL_offsetz00_2030;
BgL_offsetz00_2030 = 
(int)(BgL_objzd2classzd2numz00_2026); 
{ /* ./Ast/substitute.scm 212 */
long BgL_offsetz00_2031;
{ /* ./Ast/substitute.scm 212 */
long BgL_auxz00_2952;
BgL_auxz00_2952 = 
(long)(BgL_offsetz00_2030); 
BgL_offsetz00_2031 = 
(BgL_auxz00_2952-OBJECT_TYPE); } 
{ /* ./Ast/substitute.scm 212 */
long BgL_modz00_2032;
{ /* ./Ast/substitute.scm 212 */
int BgL_arg2028z00_2033;
BgL_arg2028z00_2033 = 
(int)(((long)8)); 
{ /* ./Ast/substitute.scm 212 */
long BgL_n2z00_2041;
BgL_n2z00_2041 = 
(long)(BgL_arg2028z00_2033); 
BgL_modz00_2032 = 
(BgL_offsetz00_2031/BgL_n2z00_2041); } } 
{ /* ./Ast/substitute.scm 212 */
long BgL_restz00_2034;
{ /* ./Ast/substitute.scm 212 */
int BgL_arg2024z00_2035;
BgL_arg2024z00_2035 = 
(int)(((long)8)); 
{ /* ./Ast/substitute.scm 212 */
long BgL_n2z00_2044;
BgL_n2z00_2044 = 
(long)(BgL_arg2024z00_2035); 
BgL_restz00_2034 = 
(BgL_offsetz00_2031%BgL_n2z00_2044); } } 
{ /* ./Ast/substitute.scm 212 */

{ /* ./Ast/substitute.scm 212 */
obj_t BgL_bucketz00_2036;
{ /* ./Ast/substitute.scm 212 */
int BgL_kz00_2046;
BgL_kz00_2046 = 
(int)(BgL_modz00_2032); 
BgL_bucketz00_2036 = 
VECTOR_REF(BgL_arg2017z00_2027,BgL_kz00_2046); } 
{ /* ./Ast/substitute.scm 212 */
int BgL_kz00_2048;
BgL_kz00_2048 = 
(int)(BgL_restz00_2034); 
BgL_method2694z00_2024 = 
VECTOR_REF(BgL_bucketz00_2036,BgL_kz00_2048); } } } } } } } } } } 
{ /* ./Ast/substitute.scm 212 */
obj_t BgL_auxz00_2965;
BgL_auxz00_2965 = 
PROCEDURE_ENTRY(BgL_method2694z00_2024)(BgL_method2694z00_2024, 
(obj_t)(BgL_nodez00_2022), BgL_arg3443z00_1294, BEOA); 
BgL_res3659z00_2049 = 
(BgL_nodez00_bglt)(BgL_auxz00_2965); } } } 
BgL_arg3439z00_1292 = BgL_res3659z00_2049; } } 
{ /* ./Ast/substitute.scm 212 */
BgL_sfunz00_bglt BgL_obj1373z00_2050;obj_t BgL_val1371z00_2051;
BgL_obj1373z00_2050 = 
(BgL_sfunz00_bglt)(BgL_funz00_1291); 
BgL_val1371z00_2051 = 
(obj_t)(BgL_arg3439z00_1292); 
((((BgL_sfunz00_bglt)CREF(BgL_obj1373z00_2050))->BgL_bodyz00) = ((obj_t)BgL_val1371z00_2051), BUNSPEC); } } } } 
{ /* ./Ast/substitute.scm 210 */
obj_t BgL_arg3449z00_1295;
BgL_arg3449z00_1295 = 
CDR(BgL_l2689z00_1286); 
{ 
obj_t BgL_l2689z00_2974;
BgL_l2689z00_2974 = BgL_arg3449z00_1295; 
BgL_l2689z00_1286 = BgL_l2689z00_2974; 
goto BgL_forzd2each2690zd2_1287;} } }  else 
{ /* ./Ast/substitute.scm 210 */((bool_t)1); } } } } 
{ /* ./Ast/substitute.scm 215 */
BgL_nodez00_bglt BgL_arg3454z00_1296;
{ /* ./Ast/substitute.scm 215 */
BgL_nodez00_bglt BgL_arg3457z00_1297;
BgL_arg3457z00_1297 = 
(((BgL_letzd2funzd2_bglt)CREF(BgL_nodez00_1282))->BgL_bodyz00); 
{ /* ./Ast/substitute.scm 215 */
BgL_nodez00_bglt BgL_res3662z00_2081;
{ /* ./Ast/substitute.scm 215 */
obj_t BgL_method2694z00_2056;
{ /* ./Ast/substitute.scm 215 */
BgL_objectz00_bglt BgL_objz00_2057;
BgL_objz00_2057 = 
(BgL_objectz00_bglt)(BgL_arg3457z00_1297); 
{ /* ./Ast/substitute.scm 215 */
long BgL_objzd2classzd2numz00_2058;
BgL_objzd2classzd2numz00_2058 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2057); 
{ /* ./Ast/substitute.scm 215 */
obj_t BgL_arg2017z00_2059;
{ /* ./Ast/substitute.scm 215 */
int BgL_auxz00_2978;
BgL_auxz00_2978 = 
(int)(((long)1)); 
BgL_arg2017z00_2059 = 
PROCEDURE_REF(BGl_dozd2substitutez12zd2envz12zzast_substitutez00, BgL_auxz00_2978); } 
{ /* ./Ast/substitute.scm 215 */
int BgL_offsetz00_2062;
BgL_offsetz00_2062 = 
(int)(BgL_objzd2classzd2numz00_2058); 
{ /* ./Ast/substitute.scm 215 */
long BgL_offsetz00_2063;
{ /* ./Ast/substitute.scm 215 */
long BgL_auxz00_2982;
BgL_auxz00_2982 = 
(long)(BgL_offsetz00_2062); 
BgL_offsetz00_2063 = 
(BgL_auxz00_2982-OBJECT_TYPE); } 
{ /* ./Ast/substitute.scm 215 */
long BgL_modz00_2064;
{ /* ./Ast/substitute.scm 215 */
int BgL_arg2028z00_2065;
BgL_arg2028z00_2065 = 
(int)(((long)8)); 
{ /* ./Ast/substitute.scm 215 */
long BgL_n2z00_2073;
BgL_n2z00_2073 = 
(long)(BgL_arg2028z00_2065); 
BgL_modz00_2064 = 
(BgL_offsetz00_2063/BgL_n2z00_2073); } } 
{ /* ./Ast/substitute.scm 215 */
long BgL_restz00_2066;
{ /* ./Ast/substitute.scm 215 */
int BgL_arg2024z00_2067;
BgL_arg2024z00_2067 = 
(int)(((long)8)); 
{ /* ./Ast/substitute.scm 215 */
long BgL_n2z00_2076;
BgL_n2z00_2076 = 
(long)(BgL_arg2024z00_2067); 
BgL_restz00_2066 = 
(BgL_offsetz00_2063%BgL_n2z00_2076); } } 
{ /* ./Ast/substitute.scm 215 */

{ /* ./Ast/substitute.scm 215 */
obj_t BgL_bucketz00_2068;
{ /* ./Ast/substitute.scm 215 */
int BgL_kz00_2078;
BgL_kz00_2078 = 
(int)(BgL_modz00_2064); 
BgL_bucketz00_2068 = 
VECTOR_REF(BgL_arg2017z00_2059,BgL_kz00_2078); } 
{ /* ./Ast/substitute.scm 215 */
int BgL_kz00_2080;
BgL_kz00_2080 = 
(int)(BgL_restz00_2066); 
BgL_method2694z00_2056 = 
VECTOR_REF(BgL_bucketz00_2068,BgL_kz00_2080); } } } } } } } } } } 
{ /* ./Ast/substitute.scm 215 */
obj_t BgL_auxz00_2995;
BgL_auxz00_2995 = 
PROCEDURE_ENTRY(BgL_method2694z00_2056)(BgL_method2694z00_2056, 
(obj_t)(BgL_arg3457z00_1297), BgL_sitez00_1283, BEOA); 
BgL_res3662z00_2081 = 
(BgL_nodez00_bglt)(BgL_auxz00_2995); } } 
BgL_arg3454z00_1296 = BgL_res3662z00_2081; } } 
{ /* ./Ast/substitute.scm 215 */
BgL_letzd2funzd2_bglt BgL_obj2453z00_2082;BgL_nodez00_bglt BgL_val2452z00_2083;
BgL_obj2453z00_2082 = BgL_nodez00_1282; 
BgL_val2452z00_2083 = BgL_arg3454z00_1296; 
((((BgL_letzd2funzd2_bglt)CREF(BgL_obj2453z00_2082))->BgL_bodyz00) = ((BgL_nodez00_bglt)BgL_val2452z00_2083), BUNSPEC); } } 
BgL_auxz00_2935 = BgL_nodez00_1282; 
return 
(obj_t)(BgL_auxz00_2935);} } } 
}



/* do-substitute!-select2720 */
obj_t BGl_dozd2substitutez12zd2select2720z12zzast_substitutez00(obj_t BgL_envz00_2452, obj_t BgL_nodez00_2453, obj_t BgL_sitez00_2454)
{ AN_OBJECT;
{ /* ./Ast/substitute.scm 199 */
{ 
BgL_selectz00_bglt BgL_nodez00_1265;obj_t BgL_sitez00_1266;
{ /* ./Ast/substitute.scm 200 */
BgL_selectz00_bglt BgL_auxz00_3003;
BgL_nodez00_1265 = 
(BgL_selectz00_bglt)(BgL_nodez00_2453); 
BgL_sitez00_1266 = BgL_sitez00_2454; 
{ /* ./Ast/substitute.scm 200 */
BgL_nodez00_bglt BgL_arg3402z00_1269;
{ /* ./Ast/substitute.scm 200 */
BgL_nodez00_bglt BgL_arg3405z00_1270;obj_t BgL_arg3406z00_1271;
BgL_arg3405z00_1270 = 
(((BgL_selectz00_bglt)CREF(BgL_nodez00_1265))->BgL_testz00); 
BgL_arg3406z00_1271 = 
CNST_TABLE_REF(((long)1)); 
{ /* ./Ast/substitute.scm 200 */
BgL_nodez00_bglt BgL_res3653z00_1979;
{ /* ./Ast/substitute.scm 200 */
obj_t BgL_method2694z00_1954;
{ /* ./Ast/substitute.scm 200 */
BgL_objectz00_bglt BgL_objz00_1955;
BgL_objz00_1955 = 
(BgL_objectz00_bglt)(BgL_arg3405z00_1270); 
{ /* ./Ast/substitute.scm 200 */
long BgL_objzd2classzd2numz00_1956;
BgL_objzd2classzd2numz00_1956 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1955); 
{ /* ./Ast/substitute.scm 200 */
obj_t BgL_arg2017z00_1957;
{ /* ./Ast/substitute.scm 200 */
int BgL_auxz00_3008;
BgL_auxz00_3008 = 
(int)(((long)1)); 
BgL_arg2017z00_1957 = 
PROCEDURE_REF(BGl_dozd2substitutez12zd2envz12zzast_substitutez00, BgL_auxz00_3008); } 
{ /* ./Ast/substitute.scm 200 */
int BgL_offsetz00_1960;
BgL_offsetz00_1960 = 
(int)(BgL_objzd2classzd2numz00_1956); 
{ /* ./Ast/substitute.scm 200 */
long BgL_offsetz00_1961;
{ /* ./Ast/substitute.scm 200 */
long BgL_auxz00_3012;
BgL_auxz00_3012 = 
(long)(BgL_offsetz00_1960); 
BgL_offsetz00_1961 = 
(BgL_auxz00_3012-OBJECT_TYPE); } 
{ /* ./Ast/substitute.scm 200 */
long BgL_modz00_1962;
{ /* ./Ast/substitute.scm 200 */
int BgL_arg2028z00_1963;
BgL_arg2028z00_1963 = 
(int)(((long)8)); 
{ /* ./Ast/substitute.scm 200 */
long BgL_n2z00_1971;
BgL_n2z00_1971 = 
(long)(BgL_arg2028z00_1963); 
BgL_modz00_1962 = 
(BgL_offsetz00_1961/BgL_n2z00_1971); } } 
{ /* ./Ast/substitute.scm 200 */
long BgL_restz00_1964;
{ /* ./Ast/substitute.scm 200 */
int BgL_arg2024z00_1965;
BgL_arg2024z00_1965 = 
(int)(((long)8)); 
{ /* ./Ast/substitute.scm 200 */
long BgL_n2z00_1974;
BgL_n2z00_1974 = 
(long)(BgL_arg2024z00_1965); 
BgL_restz00_1964 = 
(BgL_offsetz00_1961%BgL_n2z00_1974); } } 
{ /* ./Ast/substitute.scm 200 */

{ /* ./Ast/substitute.scm 200 */
obj_t BgL_bucketz00_1966;
{ /* ./Ast/substitute.scm 200 */
int BgL_kz00_1976;
BgL_kz00_1976 = 
(int)(BgL_modz00_1962); 
BgL_bucketz00_1966 = 
VECTOR_REF(BgL_arg2017z00_1957,BgL_kz00_1976); } 
{ /* ./Ast/substitute.scm 200 */
int BgL_kz00_1978;
BgL_kz00_1978 = 
(int)(BgL_restz00_1964); 
BgL_method2694z00_1954 = 
VECTOR_REF(BgL_bucketz00_1966,BgL_kz00_1978); } } } } } } } } } } 
{ /* ./Ast/substitute.scm 200 */
obj_t BgL_auxz00_3025;
BgL_auxz00_3025 = 
PROCEDURE_ENTRY(BgL_method2694z00_1954)(BgL_method2694z00_1954, 
(obj_t)(BgL_arg3405z00_1270), BgL_arg3406z00_1271, BEOA); 
BgL_res3653z00_1979 = 
(BgL_nodez00_bglt)(BgL_auxz00_3025); } } 
BgL_arg3402z00_1269 = BgL_res3653z00_1979; } } 
{ /* ./Ast/substitute.scm 200 */
BgL_selectz00_bglt BgL_obj2410z00_1980;BgL_nodez00_bglt BgL_val2409z00_1981;
BgL_obj2410z00_1980 = BgL_nodez00_1265; 
BgL_val2409z00_1981 = BgL_arg3402z00_1269; 
((((BgL_selectz00_bglt)CREF(BgL_obj2410z00_1980))->BgL_testz00) = ((BgL_nodez00_bglt)BgL_val2409z00_1981), BUNSPEC); } } 
{ 
obj_t BgL_l2687z00_1272;
{ /* ./Ast/substitute.scm 203 */
obj_t BgL_arg3410z00_1274;
BgL_arg3410z00_1274 = 
(((BgL_selectz00_bglt)CREF(BgL_nodez00_1265))->BgL_clausesz00); 
BgL_l2687z00_1272 = BgL_arg3410z00_1274; 
BgL_forzd2each2688zd2_1273:
{ /* ./Ast/substitute.scm 201 */
bool_t BgL_test3413z00_1275;
BgL_test3413z00_1275 = 
PAIRP(BgL_l2687z00_1272); 
if(BgL_test3413z00_1275)
{ /* ./Ast/substitute.scm 201 */
{ /* ./Ast/substitute.scm 202 */
obj_t BgL_clausez00_1276;
BgL_clausez00_1276 = 
CAR(BgL_l2687z00_1272); 
{ /* ./Ast/substitute.scm 202 */
BgL_nodez00_bglt BgL_arg3415z00_1277;
{ /* ./Ast/substitute.scm 202 */
obj_t BgL_arg3418z00_1278;
BgL_arg3418z00_1278 = 
CDR(BgL_clausez00_1276); 
{ /* ./Ast/substitute.scm 202 */
BgL_nodez00_bglt BgL_res3656z00_2013;
{ /* ./Ast/substitute.scm 202 */
BgL_nodez00_bglt BgL_nodez00_1986;
BgL_nodez00_1986 = 
(BgL_nodez00_bglt)(BgL_arg3418z00_1278); 
{ /* ./Ast/substitute.scm 202 */
obj_t BgL_method2694z00_1988;
{ /* ./Ast/substitute.scm 202 */
BgL_objectz00_bglt BgL_objz00_1989;
BgL_objz00_1989 = 
(BgL_objectz00_bglt)(BgL_nodez00_1986); 
{ /* ./Ast/substitute.scm 202 */
long BgL_objzd2classzd2numz00_1990;
BgL_objzd2classzd2numz00_1990 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1989); 
{ /* ./Ast/substitute.scm 202 */
obj_t BgL_arg2017z00_1991;
{ /* ./Ast/substitute.scm 202 */
int BgL_auxz00_3039;
BgL_auxz00_3039 = 
(int)(((long)1)); 
BgL_arg2017z00_1991 = 
PROCEDURE_REF(BGl_dozd2substitutez12zd2envz12zzast_substitutez00, BgL_auxz00_3039); } 
{ /* ./Ast/substitute.scm 202 */
int BgL_offsetz00_1994;
BgL_offsetz00_1994 = 
(int)(BgL_objzd2classzd2numz00_1990); 
{ /* ./Ast/substitute.scm 202 */
long BgL_offsetz00_1995;
{ /* ./Ast/substitute.scm 202 */
long BgL_auxz00_3043;
BgL_auxz00_3043 = 
(long)(BgL_offsetz00_1994); 
BgL_offsetz00_1995 = 
(BgL_auxz00_3043-OBJECT_TYPE); } 
{ /* ./Ast/substitute.scm 202 */
long BgL_modz00_1996;
{ /* ./Ast/substitute.scm 202 */
int BgL_arg2028z00_1997;
BgL_arg2028z00_1997 = 
(int)(((long)8)); 
{ /* ./Ast/substitute.scm 202 */
long BgL_n2z00_2005;
BgL_n2z00_2005 = 
(long)(BgL_arg2028z00_1997); 
BgL_modz00_1996 = 
(BgL_offsetz00_1995/BgL_n2z00_2005); } } 
{ /* ./Ast/substitute.scm 202 */
long BgL_restz00_1998;
{ /* ./Ast/substitute.scm 202 */
int BgL_arg2024z00_1999;
BgL_arg2024z00_1999 = 
(int)(((long)8)); 
{ /* ./Ast/substitute.scm 202 */
long BgL_n2z00_2008;
BgL_n2z00_2008 = 
(long)(BgL_arg2024z00_1999); 
BgL_restz00_1998 = 
(BgL_offsetz00_1995%BgL_n2z00_2008); } } 
{ /* ./Ast/substitute.scm 202 */

{ /* ./Ast/substitute.scm 202 */
obj_t BgL_bucketz00_2000;
{ /* ./Ast/substitute.scm 202 */
int BgL_kz00_2010;
BgL_kz00_2010 = 
(int)(BgL_modz00_1996); 
BgL_bucketz00_2000 = 
VECTOR_REF(BgL_arg2017z00_1991,BgL_kz00_2010); } 
{ /* ./Ast/substitute.scm 202 */
int BgL_kz00_2012;
BgL_kz00_2012 = 
(int)(BgL_restz00_1998); 
BgL_method2694z00_1988 = 
VECTOR_REF(BgL_bucketz00_2000,BgL_kz00_2012); } } } } } } } } } } 
{ /* ./Ast/substitute.scm 202 */
obj_t BgL_auxz00_3056;
BgL_auxz00_3056 = 
PROCEDURE_ENTRY(BgL_method2694z00_1988)(BgL_method2694z00_1988, 
(obj_t)(BgL_nodez00_1986), BgL_sitez00_1266, BEOA); 
BgL_res3656z00_2013 = 
(BgL_nodez00_bglt)(BgL_auxz00_3056); } } } 
BgL_arg3415z00_1277 = BgL_res3656z00_2013; } } 
{ /* ./Ast/substitute.scm 202 */
obj_t BgL_objz00_2015;
BgL_objz00_2015 = 
(obj_t)(BgL_arg3415z00_1277); 
SET_CDR(BgL_clausez00_1276, BgL_objz00_2015); } } } 
{ /* ./Ast/substitute.scm 201 */
obj_t BgL_arg3423z00_1279;
BgL_arg3423z00_1279 = 
CDR(BgL_l2687z00_1272); 
{ 
obj_t BgL_l2687z00_3064;
BgL_l2687z00_3064 = BgL_arg3423z00_1279; 
BgL_l2687z00_1272 = BgL_l2687z00_3064; 
goto BgL_forzd2each2688zd2_1273;} } }  else 
{ /* ./Ast/substitute.scm 201 */((bool_t)1); } } } } 
BgL_auxz00_3003 = BgL_nodez00_1265; 
return 
(obj_t)(BgL_auxz00_3003);} } } 
}



/* do-substitute!-fail2718 */
obj_t BGl_dozd2substitutez12zd2fail2718z12zzast_substitutez00(obj_t BgL_envz00_2455, obj_t BgL_nodez00_2456, obj_t BgL_sitez00_2457)
{ AN_OBJECT;
{ /* ./Ast/substitute.scm 189 */
{ 
BgL_failz00_bglt BgL_nodez00_1249;obj_t BgL_sitez00_1250;
{ /* ./Ast/substitute.scm 190 */
BgL_failz00_bglt BgL_auxz00_3067;
BgL_nodez00_1249 = 
(BgL_failz00_bglt)(BgL_nodez00_2456); 
BgL_sitez00_1250 = BgL_sitez00_2457; 
{ /* ./Ast/substitute.scm 191 */
BgL_nodez00_bglt BgL_arg3372z00_1254;
{ /* ./Ast/substitute.scm 191 */
BgL_nodez00_bglt BgL_arg3375z00_1255;obj_t BgL_arg3376z00_1256;
BgL_arg3375z00_1255 = 
(((BgL_failz00_bglt)CREF(BgL_nodez00_1249))->BgL_procz00); 
BgL_arg3376z00_1256 = 
CNST_TABLE_REF(((long)1)); 
{ /* ./Ast/substitute.scm 191 */
BgL_nodez00_bglt BgL_res3644z00_1886;
{ /* ./Ast/substitute.scm 191 */
obj_t BgL_method2694z00_1861;
{ /* ./Ast/substitute.scm 191 */
BgL_objectz00_bglt BgL_objz00_1862;
BgL_objz00_1862 = 
(BgL_objectz00_bglt)(BgL_arg3375z00_1255); 
{ /* ./Ast/substitute.scm 191 */
long BgL_objzd2classzd2numz00_1863;
BgL_objzd2classzd2numz00_1863 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1862); 
{ /* ./Ast/substitute.scm 191 */
obj_t BgL_arg2017z00_1864;
{ /* ./Ast/substitute.scm 191 */
int BgL_auxz00_3072;
BgL_auxz00_3072 = 
(int)(((long)1)); 
BgL_arg2017z00_1864 = 
PROCEDURE_REF(BGl_dozd2substitutez12zd2envz12zzast_substitutez00, BgL_auxz00_3072); } 
{ /* ./Ast/substitute.scm 191 */
int BgL_offsetz00_1867;
BgL_offsetz00_1867 = 
(int)(BgL_objzd2classzd2numz00_1863); 
{ /* ./Ast/substitute.scm 191 */
long BgL_offsetz00_1868;
{ /* ./Ast/substitute.scm 191 */
long BgL_auxz00_3076;
BgL_auxz00_3076 = 
(long)(BgL_offsetz00_1867); 
BgL_offsetz00_1868 = 
(BgL_auxz00_3076-OBJECT_TYPE); } 
{ /* ./Ast/substitute.scm 191 */
long BgL_modz00_1869;
{ /* ./Ast/substitute.scm 191 */
int BgL_arg2028z00_1870;
BgL_arg2028z00_1870 = 
(int)(((long)8)); 
{ /* ./Ast/substitute.scm 191 */
long BgL_n2z00_1878;
BgL_n2z00_1878 = 
(long)(BgL_arg2028z00_1870); 
BgL_modz00_1869 = 
(BgL_offsetz00_1868/BgL_n2z00_1878); } } 
{ /* ./Ast/substitute.scm 191 */
long BgL_restz00_1871;
{ /* ./Ast/substitute.scm 191 */
int BgL_arg2024z00_1872;
BgL_arg2024z00_1872 = 
(int)(((long)8)); 
{ /* ./Ast/substitute.scm 191 */
long BgL_n2z00_1881;
BgL_n2z00_1881 = 
(long)(BgL_arg2024z00_1872); 
BgL_restz00_1871 = 
(BgL_offsetz00_1868%BgL_n2z00_1881); } } 
{ /* ./Ast/substitute.scm 191 */

{ /* ./Ast/substitute.scm 191 */
obj_t BgL_bucketz00_1873;
{ /* ./Ast/substitute.scm 191 */
int BgL_kz00_1883;
BgL_kz00_1883 = 
(int)(BgL_modz00_1869); 
BgL_bucketz00_1873 = 
VECTOR_REF(BgL_arg2017z00_1864,BgL_kz00_1883); } 
{ /* ./Ast/substitute.scm 191 */
int BgL_kz00_1885;
BgL_kz00_1885 = 
(int)(BgL_restz00_1871); 
BgL_method2694z00_1861 = 
VECTOR_REF(BgL_bucketz00_1873,BgL_kz00_1885); } } } } } } } } } } 
{ /* ./Ast/substitute.scm 191 */
obj_t BgL_auxz00_3089;
BgL_auxz00_3089 = 
PROCEDURE_ENTRY(BgL_method2694z00_1861)(BgL_method2694z00_1861, 
(obj_t)(BgL_arg3375z00_1255), BgL_arg3376z00_1256, BEOA); 
BgL_res3644z00_1886 = 
(BgL_nodez00_bglt)(BgL_auxz00_3089); } } 
BgL_arg3372z00_1254 = BgL_res3644z00_1886; } } 
{ /* ./Ast/substitute.scm 191 */
BgL_failz00_bglt BgL_obj2372z00_1887;BgL_nodez00_bglt BgL_val2371z00_1888;
BgL_obj2372z00_1887 = BgL_nodez00_1249; 
BgL_val2371z00_1888 = BgL_arg3372z00_1254; 
((((BgL_failz00_bglt)CREF(BgL_obj2372z00_1887))->BgL_procz00) = ((BgL_nodez00_bglt)BgL_val2371z00_1888), BUNSPEC); } } 
{ /* ./Ast/substitute.scm 192 */
BgL_nodez00_bglt BgL_arg3380z00_1257;
{ /* ./Ast/substitute.scm 192 */
BgL_nodez00_bglt BgL_arg3383z00_1258;obj_t BgL_arg3384z00_1259;
BgL_arg3383z00_1258 = 
(((BgL_failz00_bglt)CREF(BgL_nodez00_1249))->BgL_msgz00); 
BgL_arg3384z00_1259 = 
CNST_TABLE_REF(((long)1)); 
{ /* ./Ast/substitute.scm 192 */
BgL_nodez00_bglt BgL_res3647z00_1917;
{ /* ./Ast/substitute.scm 192 */
obj_t BgL_method2694z00_1892;
{ /* ./Ast/substitute.scm 192 */
BgL_objectz00_bglt BgL_objz00_1893;
BgL_objz00_1893 = 
(BgL_objectz00_bglt)(BgL_arg3383z00_1258); 
{ /* ./Ast/substitute.scm 192 */
long BgL_objzd2classzd2numz00_1894;
BgL_objzd2classzd2numz00_1894 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1893); 
{ /* ./Ast/substitute.scm 192 */
obj_t BgL_arg2017z00_1895;
{ /* ./Ast/substitute.scm 192 */
int BgL_auxz00_3099;
BgL_auxz00_3099 = 
(int)(((long)1)); 
BgL_arg2017z00_1895 = 
PROCEDURE_REF(BGl_dozd2substitutez12zd2envz12zzast_substitutez00, BgL_auxz00_3099); } 
{ /* ./Ast/substitute.scm 192 */
int BgL_offsetz00_1898;
BgL_offsetz00_1898 = 
(int)(BgL_objzd2classzd2numz00_1894); 
{ /* ./Ast/substitute.scm 192 */
long BgL_offsetz00_1899;
{ /* ./Ast/substitute.scm 192 */
long BgL_auxz00_3103;
BgL_auxz00_3103 = 
(long)(BgL_offsetz00_1898); 
BgL_offsetz00_1899 = 
(BgL_auxz00_3103-OBJECT_TYPE); } 
{ /* ./Ast/substitute.scm 192 */
long BgL_modz00_1900;
{ /* ./Ast/substitute.scm 192 */
int BgL_arg2028z00_1901;
BgL_arg2028z00_1901 = 
(int)(((long)8)); 
{ /* ./Ast/substitute.scm 192 */
long BgL_n2z00_1909;
BgL_n2z00_1909 = 
(long)(BgL_arg2028z00_1901); 
BgL_modz00_1900 = 
(BgL_offsetz00_1899/BgL_n2z00_1909); } } 
{ /* ./Ast/substitute.scm 192 */
long BgL_restz00_1902;
{ /* ./Ast/substitute.scm 192 */
int BgL_arg2024z00_1903;
BgL_arg2024z00_1903 = 
(int)(((long)8)); 
{ /* ./Ast/substitute.scm 192 */
long BgL_n2z00_1912;
BgL_n2z00_1912 = 
(long)(BgL_arg2024z00_1903); 
BgL_restz00_1902 = 
(BgL_offsetz00_1899%BgL_n2z00_1912); } } 
{ /* ./Ast/substitute.scm 192 */

{ /* ./Ast/substitute.scm 192 */
obj_t BgL_bucketz00_1904;
{ /* ./Ast/substitute.scm 192 */
int BgL_kz00_1914;
BgL_kz00_1914 = 
(int)(BgL_modz00_1900); 
BgL_bucketz00_1904 = 
VECTOR_REF(BgL_arg2017z00_1895,BgL_kz00_1914); } 
{ /* ./Ast/substitute.scm 192 */
int BgL_kz00_1916;
BgL_kz00_1916 = 
(int)(BgL_restz00_1902); 
BgL_method2694z00_1892 = 
VECTOR_REF(BgL_bucketz00_1904,BgL_kz00_1916); } } } } } } } } } } 
{ /* ./Ast/substitute.scm 192 */
obj_t BgL_auxz00_3116;
BgL_auxz00_3116 = 
PROCEDURE_ENTRY(BgL_method2694z00_1892)(BgL_method2694z00_1892, 
(obj_t)(BgL_arg3383z00_1258), BgL_arg3384z00_1259, BEOA); 
BgL_res3647z00_1917 = 
(BgL_nodez00_bglt)(BgL_auxz00_3116); } } 
BgL_arg3380z00_1257 = BgL_res3647z00_1917; } } 
{ /* ./Ast/substitute.scm 192 */
BgL_failz00_bglt BgL_obj2375z00_1918;BgL_nodez00_bglt BgL_val2374z00_1919;
BgL_obj2375z00_1918 = BgL_nodez00_1249; 
BgL_val2374z00_1919 = BgL_arg3380z00_1257; 
((((BgL_failz00_bglt)CREF(BgL_obj2375z00_1918))->BgL_msgz00) = ((BgL_nodez00_bglt)BgL_val2374z00_1919), BUNSPEC); } } 
{ /* ./Ast/substitute.scm 193 */
BgL_nodez00_bglt BgL_arg3388z00_1260;
{ /* ./Ast/substitute.scm 193 */
BgL_nodez00_bglt BgL_arg3391z00_1261;obj_t BgL_arg3392z00_1262;
BgL_arg3391z00_1261 = 
(((BgL_failz00_bglt)CREF(BgL_nodez00_1249))->BgL_objz00); 
BgL_arg3392z00_1262 = 
CNST_TABLE_REF(((long)1)); 
{ /* ./Ast/substitute.scm 193 */
BgL_nodez00_bglt BgL_res3650z00_1948;
{ /* ./Ast/substitute.scm 193 */
obj_t BgL_method2694z00_1923;
{ /* ./Ast/substitute.scm 193 */
BgL_objectz00_bglt BgL_objz00_1924;
BgL_objz00_1924 = 
(BgL_objectz00_bglt)(BgL_arg3391z00_1261); 
{ /* ./Ast/substitute.scm 193 */
long BgL_objzd2classzd2numz00_1925;
BgL_objzd2classzd2numz00_1925 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1924); 
{ /* ./Ast/substitute.scm 193 */
obj_t BgL_arg2017z00_1926;
{ /* ./Ast/substitute.scm 193 */
int BgL_auxz00_3126;
BgL_auxz00_3126 = 
(int)(((long)1)); 
BgL_arg2017z00_1926 = 
PROCEDURE_REF(BGl_dozd2substitutez12zd2envz12zzast_substitutez00, BgL_auxz00_3126); } 
{ /* ./Ast/substitute.scm 193 */
int BgL_offsetz00_1929;
BgL_offsetz00_1929 = 
(int)(BgL_objzd2classzd2numz00_1925); 
{ /* ./Ast/substitute.scm 193 */
long BgL_offsetz00_1930;
{ /* ./Ast/substitute.scm 193 */
long BgL_auxz00_3130;
BgL_auxz00_3130 = 
(long)(BgL_offsetz00_1929); 
BgL_offsetz00_1930 = 
(BgL_auxz00_3130-OBJECT_TYPE); } 
{ /* ./Ast/substitute.scm 193 */
long BgL_modz00_1931;
{ /* ./Ast/substitute.scm 193 */
int BgL_arg2028z00_1932;
BgL_arg2028z00_1932 = 
(int)(((long)8)); 
{ /* ./Ast/substitute.scm 193 */
long BgL_n2z00_1940;
BgL_n2z00_1940 = 
(long)(BgL_arg2028z00_1932); 
BgL_modz00_1931 = 
(BgL_offsetz00_1930/BgL_n2z00_1940); } } 
{ /* ./Ast/substitute.scm 193 */
long BgL_restz00_1933;
{ /* ./Ast/substitute.scm 193 */
int BgL_arg2024z00_1934;
BgL_arg2024z00_1934 = 
(int)(((long)8)); 
{ /* ./Ast/substitute.scm 193 */
long BgL_n2z00_1943;
BgL_n2z00_1943 = 
(long)(BgL_arg2024z00_1934); 
BgL_restz00_1933 = 
(BgL_offsetz00_1930%BgL_n2z00_1943); } } 
{ /* ./Ast/substitute.scm 193 */

{ /* ./Ast/substitute.scm 193 */
obj_t BgL_bucketz00_1935;
{ /* ./Ast/substitute.scm 193 */
int BgL_kz00_1945;
BgL_kz00_1945 = 
(int)(BgL_modz00_1931); 
BgL_bucketz00_1935 = 
VECTOR_REF(BgL_arg2017z00_1926,BgL_kz00_1945); } 
{ /* ./Ast/substitute.scm 193 */
int BgL_kz00_1947;
BgL_kz00_1947 = 
(int)(BgL_restz00_1933); 
BgL_method2694z00_1923 = 
VECTOR_REF(BgL_bucketz00_1935,BgL_kz00_1947); } } } } } } } } } } 
{ /* ./Ast/substitute.scm 193 */
obj_t BgL_auxz00_3143;
BgL_auxz00_3143 = 
PROCEDURE_ENTRY(BgL_method2694z00_1923)(BgL_method2694z00_1923, 
(obj_t)(BgL_arg3391z00_1261), BgL_arg3392z00_1262, BEOA); 
BgL_res3650z00_1948 = 
(BgL_nodez00_bglt)(BgL_auxz00_3143); } } 
BgL_arg3388z00_1260 = BgL_res3650z00_1948; } } 
{ /* ./Ast/substitute.scm 193 */
BgL_failz00_bglt BgL_obj2378z00_1949;BgL_nodez00_bglt BgL_val2377z00_1950;
BgL_obj2378z00_1949 = BgL_nodez00_1249; 
BgL_val2377z00_1950 = BgL_arg3388z00_1260; 
((((BgL_failz00_bglt)CREF(BgL_obj2378z00_1949))->BgL_objz00) = ((BgL_nodez00_bglt)BgL_val2377z00_1950), BUNSPEC); } } 
BgL_auxz00_3067 = BgL_nodez00_1249; 
return 
(obj_t)(BgL_auxz00_3067);} } } 
}



/* do-substitute!-conditional2716 */
obj_t BGl_dozd2substitutez12zd2conditional2716z12zzast_substitutez00(obj_t BgL_envz00_2458, obj_t BgL_nodez00_2459, obj_t BgL_sitez00_2460)
{ AN_OBJECT;
{ /* ./Ast/substitute.scm 179 */
{ 
BgL_conditionalz00_bglt BgL_nodez00_1235;obj_t BgL_sitez00_1236;
{ /* ./Ast/substitute.scm 180 */
BgL_conditionalz00_bglt BgL_auxz00_3151;
BgL_nodez00_1235 = 
(BgL_conditionalz00_bglt)(BgL_nodez00_2459); 
BgL_sitez00_1236 = BgL_sitez00_2460; 
{ /* ./Ast/substitute.scm 181 */
BgL_nodez00_bglt BgL_arg3343z00_1240;
{ /* ./Ast/substitute.scm 181 */
BgL_nodez00_bglt BgL_arg3346z00_1241;obj_t BgL_arg3347z00_1242;
BgL_arg3346z00_1241 = 
(((BgL_conditionalz00_bglt)CREF(BgL_nodez00_1235))->BgL_testz00); 
BgL_arg3347z00_1242 = 
CNST_TABLE_REF(((long)1)); 
{ /* ./Ast/substitute.scm 181 */
BgL_nodez00_bglt BgL_res3635z00_1793;
{ /* ./Ast/substitute.scm 181 */
obj_t BgL_method2694z00_1768;
{ /* ./Ast/substitute.scm 181 */
BgL_objectz00_bglt BgL_objz00_1769;
BgL_objz00_1769 = 
(BgL_objectz00_bglt)(BgL_arg3346z00_1241); 
{ /* ./Ast/substitute.scm 181 */
long BgL_objzd2classzd2numz00_1770;
BgL_objzd2classzd2numz00_1770 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1769); 
{ /* ./Ast/substitute.scm 181 */
obj_t BgL_arg2017z00_1771;
{ /* ./Ast/substitute.scm 181 */
int BgL_auxz00_3156;
BgL_auxz00_3156 = 
(int)(((long)1)); 
BgL_arg2017z00_1771 = 
PROCEDURE_REF(BGl_dozd2substitutez12zd2envz12zzast_substitutez00, BgL_auxz00_3156); } 
{ /* ./Ast/substitute.scm 181 */
int BgL_offsetz00_1774;
BgL_offsetz00_1774 = 
(int)(BgL_objzd2classzd2numz00_1770); 
{ /* ./Ast/substitute.scm 181 */
long BgL_offsetz00_1775;
{ /* ./Ast/substitute.scm 181 */
long BgL_auxz00_3160;
BgL_auxz00_3160 = 
(long)(BgL_offsetz00_1774); 
BgL_offsetz00_1775 = 
(BgL_auxz00_3160-OBJECT_TYPE); } 
{ /* ./Ast/substitute.scm 181 */
long BgL_modz00_1776;
{ /* ./Ast/substitute.scm 181 */
int BgL_arg2028z00_1777;
BgL_arg2028z00_1777 = 
(int)(((long)8)); 
{ /* ./Ast/substitute.scm 181 */
long BgL_n2z00_1785;
BgL_n2z00_1785 = 
(long)(BgL_arg2028z00_1777); 
BgL_modz00_1776 = 
(BgL_offsetz00_1775/BgL_n2z00_1785); } } 
{ /* ./Ast/substitute.scm 181 */
long BgL_restz00_1778;
{ /* ./Ast/substitute.scm 181 */
int BgL_arg2024z00_1779;
BgL_arg2024z00_1779 = 
(int)(((long)8)); 
{ /* ./Ast/substitute.scm 181 */
long BgL_n2z00_1788;
BgL_n2z00_1788 = 
(long)(BgL_arg2024z00_1779); 
BgL_restz00_1778 = 
(BgL_offsetz00_1775%BgL_n2z00_1788); } } 
{ /* ./Ast/substitute.scm 181 */

{ /* ./Ast/substitute.scm 181 */
obj_t BgL_bucketz00_1780;
{ /* ./Ast/substitute.scm 181 */
int BgL_kz00_1790;
BgL_kz00_1790 = 
(int)(BgL_modz00_1776); 
BgL_bucketz00_1780 = 
VECTOR_REF(BgL_arg2017z00_1771,BgL_kz00_1790); } 
{ /* ./Ast/substitute.scm 181 */
int BgL_kz00_1792;
BgL_kz00_1792 = 
(int)(BgL_restz00_1778); 
BgL_method2694z00_1768 = 
VECTOR_REF(BgL_bucketz00_1780,BgL_kz00_1792); } } } } } } } } } } 
{ /* ./Ast/substitute.scm 181 */
obj_t BgL_auxz00_3173;
BgL_auxz00_3173 = 
PROCEDURE_ENTRY(BgL_method2694z00_1768)(BgL_method2694z00_1768, 
(obj_t)(BgL_arg3346z00_1241), BgL_arg3347z00_1242, BEOA); 
BgL_res3635z00_1793 = 
(BgL_nodez00_bglt)(BgL_auxz00_3173); } } 
BgL_arg3343z00_1240 = BgL_res3635z00_1793; } } 
{ /* ./Ast/substitute.scm 181 */
BgL_conditionalz00_bglt BgL_obj2334z00_1794;BgL_nodez00_bglt BgL_val2333z00_1795;
BgL_obj2334z00_1794 = BgL_nodez00_1235; 
BgL_val2333z00_1795 = BgL_arg3343z00_1240; 
((((BgL_conditionalz00_bglt)CREF(BgL_obj2334z00_1794))->BgL_testz00) = ((BgL_nodez00_bglt)BgL_val2333z00_1795), BUNSPEC); } } 
{ /* ./Ast/substitute.scm 182 */
BgL_nodez00_bglt BgL_arg3351z00_1243;
{ /* ./Ast/substitute.scm 182 */
BgL_nodez00_bglt BgL_arg3354z00_1244;
BgL_arg3354z00_1244 = 
(((BgL_conditionalz00_bglt)CREF(BgL_nodez00_1235))->BgL_truez00); 
{ /* ./Ast/substitute.scm 182 */
BgL_nodez00_bglt BgL_res3638z00_1824;
{ /* ./Ast/substitute.scm 182 */
obj_t BgL_method2694z00_1799;
{ /* ./Ast/substitute.scm 182 */
BgL_objectz00_bglt BgL_objz00_1800;
BgL_objz00_1800 = 
(BgL_objectz00_bglt)(BgL_arg3354z00_1244); 
{ /* ./Ast/substitute.scm 182 */
long BgL_objzd2classzd2numz00_1801;
BgL_objzd2classzd2numz00_1801 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1800); 
{ /* ./Ast/substitute.scm 182 */
obj_t BgL_arg2017z00_1802;
{ /* ./Ast/substitute.scm 182 */
int BgL_auxz00_3182;
BgL_auxz00_3182 = 
(int)(((long)1)); 
BgL_arg2017z00_1802 = 
PROCEDURE_REF(BGl_dozd2substitutez12zd2envz12zzast_substitutez00, BgL_auxz00_3182); } 
{ /* ./Ast/substitute.scm 182 */
int BgL_offsetz00_1805;
BgL_offsetz00_1805 = 
(int)(BgL_objzd2classzd2numz00_1801); 
{ /* ./Ast/substitute.scm 182 */
long BgL_offsetz00_1806;
{ /* ./Ast/substitute.scm 182 */
long BgL_auxz00_3186;
BgL_auxz00_3186 = 
(long)(BgL_offsetz00_1805); 
BgL_offsetz00_1806 = 
(BgL_auxz00_3186-OBJECT_TYPE); } 
{ /* ./Ast/substitute.scm 182 */
long BgL_modz00_1807;
{ /* ./Ast/substitute.scm 182 */
int BgL_arg2028z00_1808;
BgL_arg2028z00_1808 = 
(int)(((long)8)); 
{ /* ./Ast/substitute.scm 182 */
long BgL_n2z00_1816;
BgL_n2z00_1816 = 
(long)(BgL_arg2028z00_1808); 
BgL_modz00_1807 = 
(BgL_offsetz00_1806/BgL_n2z00_1816); } } 
{ /* ./Ast/substitute.scm 182 */
long BgL_restz00_1809;
{ /* ./Ast/substitute.scm 182 */
int BgL_arg2024z00_1810;
BgL_arg2024z00_1810 = 
(int)(((long)8)); 
{ /* ./Ast/substitute.scm 182 */
long BgL_n2z00_1819;
BgL_n2z00_1819 = 
(long)(BgL_arg2024z00_1810); 
BgL_restz00_1809 = 
(BgL_offsetz00_1806%BgL_n2z00_1819); } } 
{ /* ./Ast/substitute.scm 182 */

{ /* ./Ast/substitute.scm 182 */
obj_t BgL_bucketz00_1811;
{ /* ./Ast/substitute.scm 182 */
int BgL_kz00_1821;
BgL_kz00_1821 = 
(int)(BgL_modz00_1807); 
BgL_bucketz00_1811 = 
VECTOR_REF(BgL_arg2017z00_1802,BgL_kz00_1821); } 
{ /* ./Ast/substitute.scm 182 */
int BgL_kz00_1823;
BgL_kz00_1823 = 
(int)(BgL_restz00_1809); 
BgL_method2694z00_1799 = 
VECTOR_REF(BgL_bucketz00_1811,BgL_kz00_1823); } } } } } } } } } } 
{ /* ./Ast/substitute.scm 182 */
obj_t BgL_auxz00_3199;
BgL_auxz00_3199 = 
PROCEDURE_ENTRY(BgL_method2694z00_1799)(BgL_method2694z00_1799, 
(obj_t)(BgL_arg3354z00_1244), BgL_sitez00_1236, BEOA); 
BgL_res3638z00_1824 = 
(BgL_nodez00_bglt)(BgL_auxz00_3199); } } 
BgL_arg3351z00_1243 = BgL_res3638z00_1824; } } 
{ /* ./Ast/substitute.scm 182 */
BgL_conditionalz00_bglt BgL_obj2337z00_1825;BgL_nodez00_bglt BgL_val2336z00_1826;
BgL_obj2337z00_1825 = BgL_nodez00_1235; 
BgL_val2336z00_1826 = BgL_arg3351z00_1243; 
((((BgL_conditionalz00_bglt)CREF(BgL_obj2337z00_1825))->BgL_truez00) = ((BgL_nodez00_bglt)BgL_val2336z00_1826), BUNSPEC); } } 
{ /* ./Ast/substitute.scm 183 */
BgL_nodez00_bglt BgL_arg3358z00_1245;
{ /* ./Ast/substitute.scm 183 */
BgL_nodez00_bglt BgL_arg3362z00_1246;
BgL_arg3362z00_1246 = 
(((BgL_conditionalz00_bglt)CREF(BgL_nodez00_1235))->BgL_falsez00); 
{ /* ./Ast/substitute.scm 183 */
BgL_nodez00_bglt BgL_res3641z00_1855;
{ /* ./Ast/substitute.scm 183 */
obj_t BgL_method2694z00_1830;
{ /* ./Ast/substitute.scm 183 */
BgL_objectz00_bglt BgL_objz00_1831;
BgL_objz00_1831 = 
(BgL_objectz00_bglt)(BgL_arg3362z00_1246); 
{ /* ./Ast/substitute.scm 183 */
long BgL_objzd2classzd2numz00_1832;
BgL_objzd2classzd2numz00_1832 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1831); 
{ /* ./Ast/substitute.scm 183 */
obj_t BgL_arg2017z00_1833;
{ /* ./Ast/substitute.scm 183 */
int BgL_auxz00_3208;
BgL_auxz00_3208 = 
(int)(((long)1)); 
BgL_arg2017z00_1833 = 
PROCEDURE_REF(BGl_dozd2substitutez12zd2envz12zzast_substitutez00, BgL_auxz00_3208); } 
{ /* ./Ast/substitute.scm 183 */
int BgL_offsetz00_1836;
BgL_offsetz00_1836 = 
(int)(BgL_objzd2classzd2numz00_1832); 
{ /* ./Ast/substitute.scm 183 */
long BgL_offsetz00_1837;
{ /* ./Ast/substitute.scm 183 */
long BgL_auxz00_3212;
BgL_auxz00_3212 = 
(long)(BgL_offsetz00_1836); 
BgL_offsetz00_1837 = 
(BgL_auxz00_3212-OBJECT_TYPE); } 
{ /* ./Ast/substitute.scm 183 */
long BgL_modz00_1838;
{ /* ./Ast/substitute.scm 183 */
int BgL_arg2028z00_1839;
BgL_arg2028z00_1839 = 
(int)(((long)8)); 
{ /* ./Ast/substitute.scm 183 */
long BgL_n2z00_1847;
BgL_n2z00_1847 = 
(long)(BgL_arg2028z00_1839); 
BgL_modz00_1838 = 
(BgL_offsetz00_1837/BgL_n2z00_1847); } } 
{ /* ./Ast/substitute.scm 183 */
long BgL_restz00_1840;
{ /* ./Ast/substitute.scm 183 */
int BgL_arg2024z00_1841;
BgL_arg2024z00_1841 = 
(int)(((long)8)); 
{ /* ./Ast/substitute.scm 183 */
long BgL_n2z00_1850;
BgL_n2z00_1850 = 
(long)(BgL_arg2024z00_1841); 
BgL_restz00_1840 = 
(BgL_offsetz00_1837%BgL_n2z00_1850); } } 
{ /* ./Ast/substitute.scm 183 */

{ /* ./Ast/substitute.scm 183 */
obj_t BgL_bucketz00_1842;
{ /* ./Ast/substitute.scm 183 */
int BgL_kz00_1852;
BgL_kz00_1852 = 
(int)(BgL_modz00_1838); 
BgL_bucketz00_1842 = 
VECTOR_REF(BgL_arg2017z00_1833,BgL_kz00_1852); } 
{ /* ./Ast/substitute.scm 183 */
int BgL_kz00_1854;
BgL_kz00_1854 = 
(int)(BgL_restz00_1840); 
BgL_method2694z00_1830 = 
VECTOR_REF(BgL_bucketz00_1842,BgL_kz00_1854); } } } } } } } } } } 
{ /* ./Ast/substitute.scm 183 */
obj_t BgL_auxz00_3225;
BgL_auxz00_3225 = 
PROCEDURE_ENTRY(BgL_method2694z00_1830)(BgL_method2694z00_1830, 
(obj_t)(BgL_arg3362z00_1246), BgL_sitez00_1236, BEOA); 
BgL_res3641z00_1855 = 
(BgL_nodez00_bglt)(BgL_auxz00_3225); } } 
BgL_arg3358z00_1245 = BgL_res3641z00_1855; } } 
{ /* ./Ast/substitute.scm 183 */
BgL_conditionalz00_bglt BgL_obj2340z00_1856;BgL_nodez00_bglt BgL_val2339z00_1857;
BgL_obj2340z00_1856 = BgL_nodez00_1235; 
BgL_val2339z00_1857 = BgL_arg3358z00_1245; 
((((BgL_conditionalz00_bglt)CREF(BgL_obj2340z00_1856))->BgL_falsez00) = ((BgL_nodez00_bglt)BgL_val2339z00_1857), BUNSPEC); } } 
BgL_auxz00_3151 = BgL_nodez00_1235; 
return 
(obj_t)(BgL_auxz00_3151);} } } 
}



/* do-substitute!-setq2714 */
obj_t BGl_dozd2substitutez12zd2setq2714z12zzast_substitutez00(obj_t BgL_envz00_2461, obj_t BgL_nodez00_2462, obj_t BgL_sitez00_2463)
{ AN_OBJECT;
{ /* ./Ast/substitute.scm 170 */
{ 
BgL_setqz00_bglt BgL_nodez00_1223;obj_t BgL_sitez00_1224;
{ /* ./Ast/substitute.scm 171 */
BgL_setqz00_bglt BgL_auxz00_3233;
BgL_nodez00_1223 = 
(BgL_setqz00_bglt)(BgL_nodez00_2462); 
BgL_sitez00_1224 = BgL_sitez00_2463; 
{ /* ./Ast/substitute.scm 172 */
BgL_nodez00_bglt BgL_arg3322z00_1228;
{ /* ./Ast/substitute.scm 172 */
BgL_varz00_bglt BgL_arg3325z00_1229;obj_t BgL_arg3326z00_1230;
BgL_arg3325z00_1229 = 
(((BgL_setqz00_bglt)CREF(BgL_nodez00_1223))->BgL_varz00); 
BgL_arg3326z00_1230 = 
CNST_TABLE_REF(((long)3)); 
{ /* ./Ast/substitute.scm 172 */
BgL_nodez00_bglt BgL_res3629z00_1731;
{ /* ./Ast/substitute.scm 172 */
BgL_nodez00_bglt BgL_nodez00_1704;
BgL_nodez00_1704 = 
(BgL_nodez00_bglt)(BgL_arg3325z00_1229); 
{ /* ./Ast/substitute.scm 172 */
obj_t BgL_method2694z00_1706;
{ /* ./Ast/substitute.scm 172 */
BgL_objectz00_bglt BgL_objz00_1707;
BgL_objz00_1707 = 
(BgL_objectz00_bglt)(BgL_nodez00_1704); 
{ /* ./Ast/substitute.scm 172 */
long BgL_objzd2classzd2numz00_1708;
BgL_objzd2classzd2numz00_1708 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1707); 
{ /* ./Ast/substitute.scm 172 */
obj_t BgL_arg2017z00_1709;
{ /* ./Ast/substitute.scm 172 */
int BgL_auxz00_3239;
BgL_auxz00_3239 = 
(int)(((long)1)); 
BgL_arg2017z00_1709 = 
PROCEDURE_REF(BGl_dozd2substitutez12zd2envz12zzast_substitutez00, BgL_auxz00_3239); } 
{ /* ./Ast/substitute.scm 172 */
int BgL_offsetz00_1712;
BgL_offsetz00_1712 = 
(int)(BgL_objzd2classzd2numz00_1708); 
{ /* ./Ast/substitute.scm 172 */
long BgL_offsetz00_1713;
{ /* ./Ast/substitute.scm 172 */
long BgL_auxz00_3243;
BgL_auxz00_3243 = 
(long)(BgL_offsetz00_1712); 
BgL_offsetz00_1713 = 
(BgL_auxz00_3243-OBJECT_TYPE); } 
{ /* ./Ast/substitute.scm 172 */
long BgL_modz00_1714;
{ /* ./Ast/substitute.scm 172 */
int BgL_arg2028z00_1715;
BgL_arg2028z00_1715 = 
(int)(((long)8)); 
{ /* ./Ast/substitute.scm 172 */
long BgL_n2z00_1723;
BgL_n2z00_1723 = 
(long)(BgL_arg2028z00_1715); 
BgL_modz00_1714 = 
(BgL_offsetz00_1713/BgL_n2z00_1723); } } 
{ /* ./Ast/substitute.scm 172 */
long BgL_restz00_1716;
{ /* ./Ast/substitute.scm 172 */
int BgL_arg2024z00_1717;
BgL_arg2024z00_1717 = 
(int)(((long)8)); 
{ /* ./Ast/substitute.scm 172 */
long BgL_n2z00_1726;
BgL_n2z00_1726 = 
(long)(BgL_arg2024z00_1717); 
BgL_restz00_1716 = 
(BgL_offsetz00_1713%BgL_n2z00_1726); } } 
{ /* ./Ast/substitute.scm 172 */

{ /* ./Ast/substitute.scm 172 */
obj_t BgL_bucketz00_1718;
{ /* ./Ast/substitute.scm 172 */
int BgL_kz00_1728;
BgL_kz00_1728 = 
(int)(BgL_modz00_1714); 
BgL_bucketz00_1718 = 
VECTOR_REF(BgL_arg2017z00_1709,BgL_kz00_1728); } 
{ /* ./Ast/substitute.scm 172 */
int BgL_kz00_1730;
BgL_kz00_1730 = 
(int)(BgL_restz00_1716); 
BgL_method2694z00_1706 = 
VECTOR_REF(BgL_bucketz00_1718,BgL_kz00_1730); } } } } } } } } } } 
{ /* ./Ast/substitute.scm 172 */
obj_t BgL_auxz00_3256;
BgL_auxz00_3256 = 
PROCEDURE_ENTRY(BgL_method2694z00_1706)(BgL_method2694z00_1706, 
(obj_t)(BgL_nodez00_1704), BgL_arg3326z00_1230, BEOA); 
BgL_res3629z00_1731 = 
(BgL_nodez00_bglt)(BgL_auxz00_3256); } } } 
BgL_arg3322z00_1228 = BgL_res3629z00_1731; } } 
{ /* ./Ast/substitute.scm 172 */
BgL_setqz00_bglt BgL_obj2302z00_1732;BgL_varz00_bglt BgL_val2301z00_1733;
BgL_obj2302z00_1732 = BgL_nodez00_1223; 
BgL_val2301z00_1733 = 
(BgL_varz00_bglt)(BgL_arg3322z00_1228); 
((((BgL_setqz00_bglt)CREF(BgL_obj2302z00_1732))->BgL_varz00) = ((BgL_varz00_bglt)BgL_val2301z00_1733), BUNSPEC); } } 
{ /* ./Ast/substitute.scm 173 */
BgL_nodez00_bglt BgL_arg3330z00_1231;
{ /* ./Ast/substitute.scm 173 */
BgL_nodez00_bglt BgL_arg3333z00_1232;
BgL_arg3333z00_1232 = 
(((BgL_setqz00_bglt)CREF(BgL_nodez00_1223))->BgL_valuez00); 
{ /* ./Ast/substitute.scm 173 */
BgL_nodez00_bglt BgL_res3632z00_1762;
{ /* ./Ast/substitute.scm 173 */
obj_t BgL_method2694z00_1737;
{ /* ./Ast/substitute.scm 173 */
BgL_objectz00_bglt BgL_objz00_1738;
BgL_objz00_1738 = 
(BgL_objectz00_bglt)(BgL_arg3333z00_1232); 
{ /* ./Ast/substitute.scm 173 */
long BgL_objzd2classzd2numz00_1739;
BgL_objzd2classzd2numz00_1739 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1738); 
{ /* ./Ast/substitute.scm 173 */
obj_t BgL_arg2017z00_1740;
{ /* ./Ast/substitute.scm 173 */
int BgL_auxz00_3266;
BgL_auxz00_3266 = 
(int)(((long)1)); 
BgL_arg2017z00_1740 = 
PROCEDURE_REF(BGl_dozd2substitutez12zd2envz12zzast_substitutez00, BgL_auxz00_3266); } 
{ /* ./Ast/substitute.scm 173 */
int BgL_offsetz00_1743;
BgL_offsetz00_1743 = 
(int)(BgL_objzd2classzd2numz00_1739); 
{ /* ./Ast/substitute.scm 173 */
long BgL_offsetz00_1744;
{ /* ./Ast/substitute.scm 173 */
long BgL_auxz00_3270;
BgL_auxz00_3270 = 
(long)(BgL_offsetz00_1743); 
BgL_offsetz00_1744 = 
(BgL_auxz00_3270-OBJECT_TYPE); } 
{ /* ./Ast/substitute.scm 173 */
long BgL_modz00_1745;
{ /* ./Ast/substitute.scm 173 */
int BgL_arg2028z00_1746;
BgL_arg2028z00_1746 = 
(int)(((long)8)); 
{ /* ./Ast/substitute.scm 173 */
long BgL_n2z00_1754;
BgL_n2z00_1754 = 
(long)(BgL_arg2028z00_1746); 
BgL_modz00_1745 = 
(BgL_offsetz00_1744/BgL_n2z00_1754); } } 
{ /* ./Ast/substitute.scm 173 */
long BgL_restz00_1747;
{ /* ./Ast/substitute.scm 173 */
int BgL_arg2024z00_1748;
BgL_arg2024z00_1748 = 
(int)(((long)8)); 
{ /* ./Ast/substitute.scm 173 */
long BgL_n2z00_1757;
BgL_n2z00_1757 = 
(long)(BgL_arg2024z00_1748); 
BgL_restz00_1747 = 
(BgL_offsetz00_1744%BgL_n2z00_1757); } } 
{ /* ./Ast/substitute.scm 173 */

{ /* ./Ast/substitute.scm 173 */
obj_t BgL_bucketz00_1749;
{ /* ./Ast/substitute.scm 173 */
int BgL_kz00_1759;
BgL_kz00_1759 = 
(int)(BgL_modz00_1745); 
BgL_bucketz00_1749 = 
VECTOR_REF(BgL_arg2017z00_1740,BgL_kz00_1759); } 
{ /* ./Ast/substitute.scm 173 */
int BgL_kz00_1761;
BgL_kz00_1761 = 
(int)(BgL_restz00_1747); 
BgL_method2694z00_1737 = 
VECTOR_REF(BgL_bucketz00_1749,BgL_kz00_1761); } } } } } } } } } } 
{ /* ./Ast/substitute.scm 173 */
obj_t BgL_auxz00_3283;
BgL_auxz00_3283 = 
PROCEDURE_ENTRY(BgL_method2694z00_1737)(BgL_method2694z00_1737, 
(obj_t)(BgL_arg3333z00_1232), BgL_sitez00_1224, BEOA); 
BgL_res3632z00_1762 = 
(BgL_nodez00_bglt)(BgL_auxz00_3283); } } 
BgL_arg3330z00_1231 = BgL_res3632z00_1762; } } 
{ /* ./Ast/substitute.scm 173 */
BgL_setqz00_bglt BgL_obj2305z00_1763;BgL_nodez00_bglt BgL_val2304z00_1764;
BgL_obj2305z00_1763 = BgL_nodez00_1223; 
BgL_val2304z00_1764 = BgL_arg3330z00_1231; 
((((BgL_setqz00_bglt)CREF(BgL_obj2305z00_1763))->BgL_valuez00) = ((BgL_nodez00_bglt)BgL_val2304z00_1764), BUNSPEC); } } 
BgL_auxz00_3233 = BgL_nodez00_1223; 
return 
(obj_t)(BgL_auxz00_3233);} } } 
}



/* do-substitute!-cast2712 */
obj_t BGl_dozd2substitutez12zd2cast2712z12zzast_substitutez00(obj_t BgL_envz00_2464, obj_t BgL_nodez00_2465, obj_t BgL_sitez00_2466)
{ AN_OBJECT;
{ /* ./Ast/substitute.scm 163 */
{ 
BgL_castz00_bglt BgL_nodez00_1216;obj_t BgL_sitez00_1217;
{ /* ./Ast/substitute.scm 164 */
BgL_castz00_bglt BgL_auxz00_3291;
BgL_nodez00_1216 = 
(BgL_castz00_bglt)(BgL_nodez00_2465); 
BgL_sitez00_1217 = BgL_sitez00_2466; 
{ /* ./Ast/substitute.scm 164 */
BgL_nodez00_bglt BgL_arg3312z00_1673;
BgL_arg3312z00_1673 = 
(((BgL_castz00_bglt)CREF(BgL_nodez00_1216))->BgL_argz00); 
{ /* ./Ast/substitute.scm 164 */
BgL_nodez00_bglt BgL_res3626z00_1702;
{ /* ./Ast/substitute.scm 164 */
obj_t BgL_method2694z00_1677;
{ /* ./Ast/substitute.scm 164 */
BgL_objectz00_bglt BgL_objz00_1678;
BgL_objz00_1678 = 
(BgL_objectz00_bglt)(BgL_arg3312z00_1673); 
{ /* ./Ast/substitute.scm 164 */
long BgL_objzd2classzd2numz00_1679;
BgL_objzd2classzd2numz00_1679 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1678); 
{ /* ./Ast/substitute.scm 164 */
obj_t BgL_arg2017z00_1680;
{ /* ./Ast/substitute.scm 164 */
int BgL_auxz00_3295;
BgL_auxz00_3295 = 
(int)(((long)1)); 
BgL_arg2017z00_1680 = 
PROCEDURE_REF(BGl_dozd2substitutez12zd2envz12zzast_substitutez00, BgL_auxz00_3295); } 
{ /* ./Ast/substitute.scm 164 */
int BgL_offsetz00_1683;
BgL_offsetz00_1683 = 
(int)(BgL_objzd2classzd2numz00_1679); 
{ /* ./Ast/substitute.scm 164 */
long BgL_offsetz00_1684;
{ /* ./Ast/substitute.scm 164 */
long BgL_auxz00_3299;
BgL_auxz00_3299 = 
(long)(BgL_offsetz00_1683); 
BgL_offsetz00_1684 = 
(BgL_auxz00_3299-OBJECT_TYPE); } 
{ /* ./Ast/substitute.scm 164 */
long BgL_modz00_1685;
{ /* ./Ast/substitute.scm 164 */
int BgL_arg2028z00_1686;
BgL_arg2028z00_1686 = 
(int)(((long)8)); 
{ /* ./Ast/substitute.scm 164 */
long BgL_n2z00_1694;
BgL_n2z00_1694 = 
(long)(BgL_arg2028z00_1686); 
BgL_modz00_1685 = 
(BgL_offsetz00_1684/BgL_n2z00_1694); } } 
{ /* ./Ast/substitute.scm 164 */
long BgL_restz00_1687;
{ /* ./Ast/substitute.scm 164 */
int BgL_arg2024z00_1688;
BgL_arg2024z00_1688 = 
(int)(((long)8)); 
{ /* ./Ast/substitute.scm 164 */
long BgL_n2z00_1697;
BgL_n2z00_1697 = 
(long)(BgL_arg2024z00_1688); 
BgL_restz00_1687 = 
(BgL_offsetz00_1684%BgL_n2z00_1697); } } 
{ /* ./Ast/substitute.scm 164 */

{ /* ./Ast/substitute.scm 164 */
obj_t BgL_bucketz00_1689;
{ /* ./Ast/substitute.scm 164 */
int BgL_kz00_1699;
BgL_kz00_1699 = 
(int)(BgL_modz00_1685); 
BgL_bucketz00_1689 = 
VECTOR_REF(BgL_arg2017z00_1680,BgL_kz00_1699); } 
{ /* ./Ast/substitute.scm 164 */
int BgL_kz00_1701;
BgL_kz00_1701 = 
(int)(BgL_restz00_1687); 
BgL_method2694z00_1677 = 
VECTOR_REF(BgL_bucketz00_1689,BgL_kz00_1701); } } } } } } } } } } 
{ /* ./Ast/substitute.scm 164 */
obj_t BgL_auxz00_3312;
BgL_auxz00_3312 = 
PROCEDURE_ENTRY(BgL_method2694z00_1677)(BgL_method2694z00_1677, 
(obj_t)(BgL_arg3312z00_1673), BgL_sitez00_1217, BEOA); 
BgL_res3626z00_1702 = 
(BgL_nodez00_bglt)(BgL_auxz00_3312); } } BgL_res3626z00_1702; } } 
BgL_auxz00_3291 = BgL_nodez00_1216; 
return 
(obj_t)(BgL_auxz00_3291);} } } 
}



/* do-substitute!-extern2710 */
obj_t BGl_dozd2substitutez12zd2extern2710z12zzast_substitutez00(obj_t BgL_envz00_2467, obj_t BgL_nodez00_2468, obj_t BgL_sitez00_2469)
{ AN_OBJECT;
{ /* ./Ast/substitute.scm 156 */
{ 
BgL_externz00_bglt BgL_nodez00_1209;obj_t BgL_sitez00_1210;
{ /* ./Ast/substitute.scm 157 */
BgL_externz00_bglt BgL_auxz00_3319;
BgL_nodez00_1209 = 
(BgL_externz00_bglt)(BgL_nodez00_2468); 
BgL_sitez00_1210 = BgL_sitez00_2469; 
{ /* ./Ast/substitute.scm 157 */
obj_t BgL_arg3302z00_1671;
BgL_arg3302z00_1671 = 
(((BgL_externz00_bglt)CREF(BgL_nodez00_1209))->BgL_exprza2za2); 
BGl_dozd2substituteza2z12z62zzast_substitutez00(BgL_arg3302z00_1671, BgL_sitez00_1210); } 
BgL_auxz00_3319 = BgL_nodez00_1209; 
return 
(obj_t)(BgL_auxz00_3319);} } } 
}



/* do-substitute!-funcall2708 */
obj_t BGl_dozd2substitutez12zd2funcall2708z12zzast_substitutez00(obj_t BgL_envz00_2470, obj_t BgL_nodez00_2471, obj_t BgL_sitez00_2472)
{ AN_OBJECT;
{ /* ./Ast/substitute.scm 131 */
{ 
BgL_funcallz00_bglt BgL_nodez00_1170;obj_t BgL_sitez00_1171;
BgL_nodez00_1170 = 
(BgL_funcallz00_bglt)(BgL_nodez00_2471); 
BgL_sitez00_1171 = BgL_sitez00_2472; 
{ /* ./Ast/substitute.scm 133 */
BgL_nodez00_bglt BgL_nfunz00_1175;obj_t BgL_nargsz00_1176;
{ /* ./Ast/substitute.scm 133 */
BgL_nodez00_bglt BgL_arg3272z00_1193;obj_t BgL_arg3273z00_1194;
BgL_arg3272z00_1193 = 
(((BgL_funcallz00_bglt)CREF(BgL_nodez00_1170))->BgL_funz00); 
BgL_arg3273z00_1194 = 
CNST_TABLE_REF(((long)1)); 
{ /* ./Ast/substitute.scm 133 */
BgL_nodez00_bglt BgL_res3620z00_1616;
{ /* ./Ast/substitute.scm 133 */
obj_t BgL_method2694z00_1591;
{ /* ./Ast/substitute.scm 133 */
BgL_objectz00_bglt BgL_objz00_1592;
BgL_objz00_1592 = 
(BgL_objectz00_bglt)(BgL_arg3272z00_1193); 
{ /* ./Ast/substitute.scm 133 */
long BgL_objzd2classzd2numz00_1593;
BgL_objzd2classzd2numz00_1593 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1592); 
{ /* ./Ast/substitute.scm 133 */
obj_t BgL_arg2017z00_1594;
{ /* ./Ast/substitute.scm 133 */
int BgL_auxz00_3328;
BgL_auxz00_3328 = 
(int)(((long)1)); 
BgL_arg2017z00_1594 = 
PROCEDURE_REF(BGl_dozd2substitutez12zd2envz12zzast_substitutez00, BgL_auxz00_3328); } 
{ /* ./Ast/substitute.scm 133 */
int BgL_offsetz00_1597;
BgL_offsetz00_1597 = 
(int)(BgL_objzd2classzd2numz00_1593); 
{ /* ./Ast/substitute.scm 133 */
long BgL_offsetz00_1598;
{ /* ./Ast/substitute.scm 133 */
long BgL_auxz00_3332;
BgL_auxz00_3332 = 
(long)(BgL_offsetz00_1597); 
BgL_offsetz00_1598 = 
(BgL_auxz00_3332-OBJECT_TYPE); } 
{ /* ./Ast/substitute.scm 133 */
long BgL_modz00_1599;
{ /* ./Ast/substitute.scm 133 */
int BgL_arg2028z00_1600;
BgL_arg2028z00_1600 = 
(int)(((long)8)); 
{ /* ./Ast/substitute.scm 133 */
long BgL_n2z00_1608;
BgL_n2z00_1608 = 
(long)(BgL_arg2028z00_1600); 
BgL_modz00_1599 = 
(BgL_offsetz00_1598/BgL_n2z00_1608); } } 
{ /* ./Ast/substitute.scm 133 */
long BgL_restz00_1601;
{ /* ./Ast/substitute.scm 133 */
int BgL_arg2024z00_1602;
BgL_arg2024z00_1602 = 
(int)(((long)8)); 
{ /* ./Ast/substitute.scm 133 */
long BgL_n2z00_1611;
BgL_n2z00_1611 = 
(long)(BgL_arg2024z00_1602); 
BgL_restz00_1601 = 
(BgL_offsetz00_1598%BgL_n2z00_1611); } } 
{ /* ./Ast/substitute.scm 133 */

{ /* ./Ast/substitute.scm 133 */
obj_t BgL_bucketz00_1603;
{ /* ./Ast/substitute.scm 133 */
int BgL_kz00_1613;
BgL_kz00_1613 = 
(int)(BgL_modz00_1599); 
BgL_bucketz00_1603 = 
VECTOR_REF(BgL_arg2017z00_1594,BgL_kz00_1613); } 
{ /* ./Ast/substitute.scm 133 */
int BgL_kz00_1615;
BgL_kz00_1615 = 
(int)(BgL_restz00_1601); 
BgL_method2694z00_1591 = 
VECTOR_REF(BgL_bucketz00_1603,BgL_kz00_1615); } } } } } } } } } } 
{ /* ./Ast/substitute.scm 133 */
obj_t BgL_auxz00_3345;
BgL_auxz00_3345 = 
PROCEDURE_ENTRY(BgL_method2694z00_1591)(BgL_method2694z00_1591, 
(obj_t)(BgL_arg3272z00_1193), BgL_arg3273z00_1194, BEOA); 
BgL_res3620z00_1616 = 
(BgL_nodez00_bglt)(BgL_auxz00_3345); } } 
BgL_nfunz00_1175 = BgL_res3620z00_1616; } } 
{ /* ./Ast/substitute.scm 134 */
obj_t BgL_l2675z00_1195;
BgL_l2675z00_1195 = 
(((BgL_funcallz00_bglt)CREF(BgL_nodez00_1170))->BgL_argsz00); 
{ /* ./Ast/substitute.scm 134 */
bool_t BgL_test3276z00_1196;
BgL_test3276z00_1196 = 
NULLP(BgL_l2675z00_1195); 
if(BgL_test3276z00_1196)
{ /* ./Ast/substitute.scm 134 */
BgL_nargsz00_1176 = BNIL; }  else 
{ /* ./Ast/substitute.scm 134 */
obj_t BgL_head2677z00_1197;
BgL_head2677z00_1197 = 
MAKE_PAIR(BNIL, BNIL); 
{ 
obj_t BgL_l2675z00_1198;obj_t BgL_tail2678z00_1199;
BgL_l2675z00_1198 = BgL_l2675z00_1195; 
BgL_tail2678z00_1199 = BgL_head2677z00_1197; 
BgL_map2676z00_1200:
{ /* ./Ast/substitute.scm 134 */
bool_t BgL_test3278z00_1201;
BgL_test3278z00_1201 = 
NULLP(BgL_l2675z00_1198); 
if(BgL_test3278z00_1201)
{ /* ./Ast/substitute.scm 134 */
BgL_nargsz00_1176 = 
CDR(BgL_head2677z00_1197); }  else 
{ /* ./Ast/substitute.scm 134 */
obj_t BgL_newtail2679z00_1202;
{ /* ./Ast/substitute.scm 134 */
BgL_nodez00_bglt BgL_arg3286z00_1204;
{ /* ./Ast/substitute.scm 134 */
obj_t BgL_az00_1206;
BgL_az00_1206 = 
CAR(BgL_l2675z00_1198); 
{ /* ./Ast/substitute.scm 134 */
BgL_nodez00_bglt BgL_res3623z00_1651;
{ /* ./Ast/substitute.scm 134 */
BgL_nodez00_bglt BgL_nodez00_1624;obj_t BgL_sitez00_1625;
BgL_nodez00_1624 = 
(BgL_nodez00_bglt)(BgL_az00_1206); 
BgL_sitez00_1625 = 
CNST_TABLE_REF(((long)1)); 
{ /* ./Ast/substitute.scm 134 */
obj_t BgL_method2694z00_1626;
{ /* ./Ast/substitute.scm 134 */
BgL_objectz00_bglt BgL_objz00_1627;
BgL_objz00_1627 = 
(BgL_objectz00_bglt)(BgL_nodez00_1624); 
{ /* ./Ast/substitute.scm 134 */
long BgL_objzd2classzd2numz00_1628;
BgL_objzd2classzd2numz00_1628 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1627); 
{ /* ./Ast/substitute.scm 134 */
obj_t BgL_arg2017z00_1629;
{ /* ./Ast/substitute.scm 134 */
int BgL_auxz00_3362;
BgL_auxz00_3362 = 
(int)(((long)1)); 
BgL_arg2017z00_1629 = 
PROCEDURE_REF(BGl_dozd2substitutez12zd2envz12zzast_substitutez00, BgL_auxz00_3362); } 
{ /* ./Ast/substitute.scm 134 */
int BgL_offsetz00_1632;
BgL_offsetz00_1632 = 
(int)(BgL_objzd2classzd2numz00_1628); 
{ /* ./Ast/substitute.scm 134 */
long BgL_offsetz00_1633;
{ /* ./Ast/substitute.scm 134 */
long BgL_auxz00_3366;
BgL_auxz00_3366 = 
(long)(BgL_offsetz00_1632); 
BgL_offsetz00_1633 = 
(BgL_auxz00_3366-OBJECT_TYPE); } 
{ /* ./Ast/substitute.scm 134 */
long BgL_modz00_1634;
{ /* ./Ast/substitute.scm 134 */
int BgL_arg2028z00_1635;
BgL_arg2028z00_1635 = 
(int)(((long)8)); 
{ /* ./Ast/substitute.scm 134 */
long BgL_n2z00_1643;
BgL_n2z00_1643 = 
(long)(BgL_arg2028z00_1635); 
BgL_modz00_1634 = 
(BgL_offsetz00_1633/BgL_n2z00_1643); } } 
{ /* ./Ast/substitute.scm 134 */
long BgL_restz00_1636;
{ /* ./Ast/substitute.scm 134 */
int BgL_arg2024z00_1637;
BgL_arg2024z00_1637 = 
(int)(((long)8)); 
{ /* ./Ast/substitute.scm 134 */
long BgL_n2z00_1646;
BgL_n2z00_1646 = 
(long)(BgL_arg2024z00_1637); 
BgL_restz00_1636 = 
(BgL_offsetz00_1633%BgL_n2z00_1646); } } 
{ /* ./Ast/substitute.scm 134 */

{ /* ./Ast/substitute.scm 134 */
obj_t BgL_bucketz00_1638;
{ /* ./Ast/substitute.scm 134 */
int BgL_kz00_1648;
BgL_kz00_1648 = 
(int)(BgL_modz00_1634); 
BgL_bucketz00_1638 = 
VECTOR_REF(BgL_arg2017z00_1629,BgL_kz00_1648); } 
{ /* ./Ast/substitute.scm 134 */
int BgL_kz00_1650;
BgL_kz00_1650 = 
(int)(BgL_restz00_1636); 
BgL_method2694z00_1626 = 
VECTOR_REF(BgL_bucketz00_1638,BgL_kz00_1650); } } } } } } } } } } 
{ /* ./Ast/substitute.scm 134 */
obj_t BgL_auxz00_3379;
BgL_auxz00_3379 = 
PROCEDURE_ENTRY(BgL_method2694z00_1626)(BgL_method2694z00_1626, 
(obj_t)(BgL_nodez00_1624), BgL_sitez00_1625, BEOA); 
BgL_res3623z00_1651 = 
(BgL_nodez00_bglt)(BgL_auxz00_3379); } } } 
BgL_arg3286z00_1204 = BgL_res3623z00_1651; } } 
{ /* ./Ast/substitute.scm 134 */
obj_t BgL_obj1z00_1652;
BgL_obj1z00_1652 = 
(obj_t)(BgL_arg3286z00_1204); 
BgL_newtail2679z00_1202 = 
MAKE_PAIR(BgL_obj1z00_1652, BNIL); } } 
SET_CDR(BgL_tail2678z00_1199, BgL_newtail2679z00_1202); 
{ /* ./Ast/substitute.scm 134 */
obj_t BgL_arg3282z00_1203;
BgL_arg3282z00_1203 = 
CDR(BgL_l2675z00_1198); 
{ 
obj_t BgL_tail2678z00_3389;obj_t BgL_l2675z00_3388;
BgL_l2675z00_3388 = BgL_arg3282z00_1203; 
BgL_tail2678z00_3389 = BgL_newtail2679z00_1202; 
BgL_tail2678z00_1199 = BgL_tail2678z00_3389; 
BgL_l2675z00_1198 = BgL_l2675z00_3388; 
goto BgL_map2676z00_1200;} } } } } } } } 
{ /* ./Ast/substitute.scm 135 */
bool_t BgL_test3234z00_1177;
{ /* ./Ast/substitute.scm 135 */
bool_t BgL_test3261z00_1189;
{ /* ./Ast/substitute.scm 135 */
obj_t BgL_obj1660z00_1657;
BgL_obj1660z00_1657 = 
(obj_t)(BgL_nfunz00_1175); 
BgL_test3261z00_1189 = 
BGl_iszd2azf3z21zz__objectz00(BgL_obj1660z00_1657, BGl_closurez00zzast_nodez00); } 
if(BgL_test3261z00_1189)
{ /* ./Ast/substitute.scm 135 */
BgL_test3234z00_1177 = ((bool_t)1); }  else 
{ /* ./Ast/substitute.scm 136 */
bool_t BgL__andtest_2680z00_1190;
{ /* ./Ast/substitute.scm 136 */
obj_t BgL_obj1640z00_1658;
BgL_obj1640z00_1658 = 
(obj_t)(BgL_nfunz00_1175); 
BgL__andtest_2680z00_1190 = 
BGl_iszd2azf3z21zz__objectz00(BgL_obj1640z00_1658, BGl_varz00zzast_nodez00); } 
if(BgL__andtest_2680z00_1190)
{ /* ./Ast/substitute.scm 137 */
BgL_valuez00_bglt BgL_arg3263z00_1191;
{ /* ./Ast/substitute.scm 137 */
BgL_variablez00_bglt BgL_arg3266z00_1192;
{ /* ./Ast/substitute.scm 137 */
BgL_varz00_bglt BgL_obj1625z00_1659;
BgL_obj1625z00_1659 = 
(BgL_varz00_bglt)(BgL_nfunz00_1175); 
BgL_arg3266z00_1192 = 
(((BgL_varz00_bglt)CREF(BgL_obj1625z00_1659))->BgL_variablez00); } 
BgL_arg3263z00_1191 = 
(((BgL_variablez00_bglt)CREF(BgL_arg3266z00_1192))->BgL_valuez00); } 
{ /* ./Ast/substitute.scm 137 */
obj_t BgL_obj1344z00_1661;
BgL_obj1344z00_1661 = 
(obj_t)(BgL_arg3263z00_1191); 
BgL_test3234z00_1177 = 
BGl_iszd2azf3z21zz__objectz00(BgL_obj1344z00_1661, BGl_funz00zzast_varz00); } }  else 
{ /* ./Ast/substitute.scm 136 */
BgL_test3234z00_1177 = ((bool_t)0); } } } 
if(BgL_test3234z00_1177)
{ /* ./Ast/substitute.scm 138 */
bool_t BgL_test3235z00_1178;
{ /* ./Ast/substitute.scm 138 */
BgL_variablez00_bglt BgL_arg3254z00_1187;obj_t BgL_arg3255z00_1188;
{ /* ./Ast/substitute.scm 138 */
BgL_varz00_bglt BgL_obj1625z00_1662;
BgL_obj1625z00_1662 = 
(BgL_varz00_bglt)(BgL_nfunz00_1175); 
BgL_arg3254z00_1187 = 
(((BgL_varz00_bglt)CREF(BgL_obj1625z00_1662))->BgL_variablez00); } 
BgL_arg3255z00_1188 = 
CDR(BgL_nargsz00_1176); 
BgL_test3235z00_1178 = 
BGl_correctzd2arityzd2appzf3zf3zzast_appz00(BgL_arg3254z00_1187, BgL_arg3255z00_1188); } 
if(BgL_test3235z00_1178)
{ /* ./Ast/substitute.scm 140 */
obj_t BgL_arg3238z00_1180;obj_t BgL_arg3239z00_1181;
{ /* ./Ast/substitute.scm 140 */
BgL_nodez00_bglt BgL_obj1560z00_1664;
BgL_obj1560z00_1664 = 
(BgL_nodez00_bglt)(BgL_nodez00_1170); 
BgL_arg3238z00_1180 = 
(((BgL_nodez00_bglt)CREF(BgL_obj1560z00_1664))->BgL_locz00); } 
BgL_arg3239z00_1181 = 
CDR(BgL_nargsz00_1176); 
{ /* ./Ast/substitute.scm 140 */
BgL_nodez00_bglt BgL_auxz00_3410;
BgL_auxz00_3410 = 
BGl_makezd2appzd2nodez00zzast_appz00(BNIL, BgL_arg3238z00_1180, 
(BgL_varz00_bglt)(BgL_nfunz00_1175), BgL_arg3239z00_1181); 
return 
(obj_t)(BgL_auxz00_3410);} }  else 
{ /* ./Ast/substitute.scm 144 */
obj_t BgL_arg3245z00_1182;obj_t BgL_arg3248z00_1185;
{ /* ./Ast/substitute.scm 144 */
BgL_nodez00_bglt BgL_obj1560z00_1666;
BgL_obj1560z00_1666 = 
(BgL_nodez00_bglt)(BgL_nodez00_1170); 
BgL_arg3245z00_1182 = 
(((BgL_nodez00_bglt)CREF(BgL_obj1560z00_1666))->BgL_locz00); } 
BgL_arg3248z00_1185 = 
BGl_shapez00zztools_shapez00(
(obj_t)(BgL_nodez00_1170)); 
return 
BGl_userzd2errorzf2locationz20zztools_errorz00(BgL_arg3245z00_1182, BGl_string4238z00zzast_substitutez00, BGl_string4239z00zzast_substitutez00, BgL_arg3248z00_1185, BNIL);} }  else 
{ /* ./Ast/substitute.scm 135 */
{ /* ./Ast/substitute.scm 149 */
BgL_funcallz00_bglt BgL_obj1781z00_1667;BgL_nodez00_bglt BgL_val1780z00_1668;
BgL_obj1781z00_1667 = BgL_nodez00_1170; 
BgL_val1780z00_1668 = BgL_nfunz00_1175; 
((((BgL_funcallz00_bglt)CREF(BgL_obj1781z00_1667))->BgL_funz00) = ((BgL_nodez00_bglt)BgL_val1780z00_1668), BUNSPEC); } 
{ /* ./Ast/substitute.scm 150 */
BgL_funcallz00_bglt BgL_obj1784z00_1669;obj_t BgL_val1783z00_1670;
BgL_obj1784z00_1669 = BgL_nodez00_1170; 
BgL_val1783z00_1670 = BgL_nargsz00_1176; 
((((BgL_funcallz00_bglt)CREF(BgL_obj1784z00_1669))->BgL_argsz00) = ((obj_t)BgL_val1783z00_1670), BUNSPEC); } 
return 
(obj_t)(BgL_nodez00_1170);} } } } } 
}



/* do-substitute!-app-ly2706 */
obj_t BGl_dozd2substitutez12zd2appzd2ly2706zc0zzast_substitutez00(obj_t BgL_envz00_2473, obj_t BgL_nodez00_2474, obj_t BgL_sitez00_2475)
{ AN_OBJECT;
{ /* ./Ast/substitute.scm 114 */
{ 
BgL_appzd2lyzd2_bglt BgL_nodez00_1148;obj_t BgL_sitez00_1149;
BgL_nodez00_1148 = 
(BgL_appzd2lyzd2_bglt)(BgL_nodez00_2474); 
BgL_sitez00_1149 = BgL_sitez00_2475; 
{ /* ./Ast/substitute.scm 116 */
BgL_nodez00_bglt BgL_nfunz00_1153;BgL_nodez00_bglt BgL_nargz00_1154;
{ /* ./Ast/substitute.scm 116 */
BgL_nodez00_bglt BgL_arg3219z00_1164;obj_t BgL_arg3220z00_1165;
BgL_arg3219z00_1164 = 
(((BgL_appzd2lyzd2_bglt)CREF(BgL_nodez00_1148))->BgL_funz00); 
BgL_arg3220z00_1165 = 
CNST_TABLE_REF(((long)4)); 
{ /* ./Ast/substitute.scm 116 */
BgL_nodez00_bglt BgL_res3614z00_1549;
{ /* ./Ast/substitute.scm 116 */
obj_t BgL_method2694z00_1524;
{ /* ./Ast/substitute.scm 116 */
BgL_objectz00_bglt BgL_objz00_1525;
BgL_objz00_1525 = 
(BgL_objectz00_bglt)(BgL_arg3219z00_1164); 
{ /* ./Ast/substitute.scm 116 */
long BgL_objzd2classzd2numz00_1526;
BgL_objzd2classzd2numz00_1526 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1525); 
{ /* ./Ast/substitute.scm 116 */
obj_t BgL_arg2017z00_1527;
{ /* ./Ast/substitute.scm 116 */
int BgL_auxz00_3427;
BgL_auxz00_3427 = 
(int)(((long)1)); 
BgL_arg2017z00_1527 = 
PROCEDURE_REF(BGl_dozd2substitutez12zd2envz12zzast_substitutez00, BgL_auxz00_3427); } 
{ /* ./Ast/substitute.scm 116 */
int BgL_offsetz00_1530;
BgL_offsetz00_1530 = 
(int)(BgL_objzd2classzd2numz00_1526); 
{ /* ./Ast/substitute.scm 116 */
long BgL_offsetz00_1531;
{ /* ./Ast/substitute.scm 116 */
long BgL_auxz00_3431;
BgL_auxz00_3431 = 
(long)(BgL_offsetz00_1530); 
BgL_offsetz00_1531 = 
(BgL_auxz00_3431-OBJECT_TYPE); } 
{ /* ./Ast/substitute.scm 116 */
long BgL_modz00_1532;
{ /* ./Ast/substitute.scm 116 */
int BgL_arg2028z00_1533;
BgL_arg2028z00_1533 = 
(int)(((long)8)); 
{ /* ./Ast/substitute.scm 116 */
long BgL_n2z00_1541;
BgL_n2z00_1541 = 
(long)(BgL_arg2028z00_1533); 
BgL_modz00_1532 = 
(BgL_offsetz00_1531/BgL_n2z00_1541); } } 
{ /* ./Ast/substitute.scm 116 */
long BgL_restz00_1534;
{ /* ./Ast/substitute.scm 116 */
int BgL_arg2024z00_1535;
BgL_arg2024z00_1535 = 
(int)(((long)8)); 
{ /* ./Ast/substitute.scm 116 */
long BgL_n2z00_1544;
BgL_n2z00_1544 = 
(long)(BgL_arg2024z00_1535); 
BgL_restz00_1534 = 
(BgL_offsetz00_1531%BgL_n2z00_1544); } } 
{ /* ./Ast/substitute.scm 116 */

{ /* ./Ast/substitute.scm 116 */
obj_t BgL_bucketz00_1536;
{ /* ./Ast/substitute.scm 116 */
int BgL_kz00_1546;
BgL_kz00_1546 = 
(int)(BgL_modz00_1532); 
BgL_bucketz00_1536 = 
VECTOR_REF(BgL_arg2017z00_1527,BgL_kz00_1546); } 
{ /* ./Ast/substitute.scm 116 */
int BgL_kz00_1548;
BgL_kz00_1548 = 
(int)(BgL_restz00_1534); 
BgL_method2694z00_1524 = 
VECTOR_REF(BgL_bucketz00_1536,BgL_kz00_1548); } } } } } } } } } } 
{ /* ./Ast/substitute.scm 116 */
obj_t BgL_auxz00_3444;
BgL_auxz00_3444 = 
PROCEDURE_ENTRY(BgL_method2694z00_1524)(BgL_method2694z00_1524, 
(obj_t)(BgL_arg3219z00_1164), BgL_arg3220z00_1165, BEOA); 
BgL_res3614z00_1549 = 
(BgL_nodez00_bglt)(BgL_auxz00_3444); } } 
BgL_nfunz00_1153 = BgL_res3614z00_1549; } } 
{ /* ./Ast/substitute.scm 117 */
BgL_nodez00_bglt BgL_arg3224z00_1166;obj_t BgL_arg3225z00_1167;
BgL_arg3224z00_1166 = 
(((BgL_appzd2lyzd2_bglt)CREF(BgL_nodez00_1148))->BgL_argz00); 
BgL_arg3225z00_1167 = 
CNST_TABLE_REF(((long)1)); 
{ /* ./Ast/substitute.scm 117 */
BgL_nodez00_bglt BgL_res3617z00_1578;
{ /* ./Ast/substitute.scm 117 */
obj_t BgL_method2694z00_1553;
{ /* ./Ast/substitute.scm 117 */
BgL_objectz00_bglt BgL_objz00_1554;
BgL_objz00_1554 = 
(BgL_objectz00_bglt)(BgL_arg3224z00_1166); 
{ /* ./Ast/substitute.scm 117 */
long BgL_objzd2classzd2numz00_1555;
BgL_objzd2classzd2numz00_1555 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1554); 
{ /* ./Ast/substitute.scm 117 */
obj_t BgL_arg2017z00_1556;
{ /* ./Ast/substitute.scm 117 */
int BgL_auxz00_3453;
BgL_auxz00_3453 = 
(int)(((long)1)); 
BgL_arg2017z00_1556 = 
PROCEDURE_REF(BGl_dozd2substitutez12zd2envz12zzast_substitutez00, BgL_auxz00_3453); } 
{ /* ./Ast/substitute.scm 117 */
int BgL_offsetz00_1559;
BgL_offsetz00_1559 = 
(int)(BgL_objzd2classzd2numz00_1555); 
{ /* ./Ast/substitute.scm 117 */
long BgL_offsetz00_1560;
{ /* ./Ast/substitute.scm 117 */
long BgL_auxz00_3457;
BgL_auxz00_3457 = 
(long)(BgL_offsetz00_1559); 
BgL_offsetz00_1560 = 
(BgL_auxz00_3457-OBJECT_TYPE); } 
{ /* ./Ast/substitute.scm 117 */
long BgL_modz00_1561;
{ /* ./Ast/substitute.scm 117 */
int BgL_arg2028z00_1562;
BgL_arg2028z00_1562 = 
(int)(((long)8)); 
{ /* ./Ast/substitute.scm 117 */
long BgL_n2z00_1570;
BgL_n2z00_1570 = 
(long)(BgL_arg2028z00_1562); 
BgL_modz00_1561 = 
(BgL_offsetz00_1560/BgL_n2z00_1570); } } 
{ /* ./Ast/substitute.scm 117 */
long BgL_restz00_1563;
{ /* ./Ast/substitute.scm 117 */
int BgL_arg2024z00_1564;
BgL_arg2024z00_1564 = 
(int)(((long)8)); 
{ /* ./Ast/substitute.scm 117 */
long BgL_n2z00_1573;
BgL_n2z00_1573 = 
(long)(BgL_arg2024z00_1564); 
BgL_restz00_1563 = 
(BgL_offsetz00_1560%BgL_n2z00_1573); } } 
{ /* ./Ast/substitute.scm 117 */

{ /* ./Ast/substitute.scm 117 */
obj_t BgL_bucketz00_1565;
{ /* ./Ast/substitute.scm 117 */
int BgL_kz00_1575;
BgL_kz00_1575 = 
(int)(BgL_modz00_1561); 
BgL_bucketz00_1565 = 
VECTOR_REF(BgL_arg2017z00_1556,BgL_kz00_1575); } 
{ /* ./Ast/substitute.scm 117 */
int BgL_kz00_1577;
BgL_kz00_1577 = 
(int)(BgL_restz00_1563); 
BgL_method2694z00_1553 = 
VECTOR_REF(BgL_bucketz00_1565,BgL_kz00_1577); } } } } } } } } } } 
{ /* ./Ast/substitute.scm 117 */
obj_t BgL_auxz00_3470;
BgL_auxz00_3470 = 
PROCEDURE_ENTRY(BgL_method2694z00_1553)(BgL_method2694z00_1553, 
(obj_t)(BgL_arg3224z00_1166), BgL_arg3225z00_1167, BEOA); 
BgL_res3617z00_1578 = 
(BgL_nodez00_bglt)(BgL_auxz00_3470); } } 
BgL_nargz00_1154 = BgL_res3617z00_1578; } } 
{ /* ./Ast/substitute.scm 118 */
bool_t BgL_test3198z00_1155;
{ /* ./Ast/substitute.scm 118 */
obj_t BgL_obj1660z00_1579;
BgL_obj1660z00_1579 = 
(obj_t)(BgL_nfunz00_1153); 
BgL_test3198z00_1155 = 
BGl_iszd2azf3z21zz__objectz00(BgL_obj1660z00_1579, BGl_closurez00zzast_nodez00); } 
if(BgL_test3198z00_1155)
{ /* ./Ast/substitute.scm 119 */
obj_t BgL_arg3202z00_1157;BgL_varz00_bglt BgL_arg3203z00_1158;
{ /* ./Ast/substitute.scm 119 */
BgL_nodez00_bglt BgL_obj1560z00_1580;
BgL_obj1560z00_1580 = 
(BgL_nodez00_bglt)(BgL_nodez00_1148); 
BgL_arg3202z00_1157 = 
(((BgL_nodez00_bglt)CREF(BgL_obj1560z00_1580))->BgL_locz00); } 
{ /* ./Ast/substitute.scm 119 */
BgL_varz00_bglt BgL_duplicated2671z00_1159;
BgL_duplicated2671z00_1159 = 
(BgL_varz00_bglt)(BgL_nfunz00_1153); 
{ /* ./Ast/substitute.scm 119 */
BgL_varz00_bglt BgL_new2672z00_1160;
{ /* ./Ast/substitute.scm 119 */
obj_t BgL_arg3207z00_1161;BgL_typez00_bglt BgL_arg3208z00_1162;BgL_variablez00_bglt BgL_arg3210z00_1163;
{ /* ./Ast/substitute.scm 119 */
BgL_nodez00_bglt BgL_obj1560z00_1581;
BgL_obj1560z00_1581 = 
(BgL_nodez00_bglt)(BgL_duplicated2671z00_1159); 
BgL_arg3207z00_1161 = 
(((BgL_nodez00_bglt)CREF(BgL_obj1560z00_1581))->BgL_locz00); } 
{ /* ./Ast/substitute.scm 119 */
BgL_nodez00_bglt BgL_obj1561z00_1582;
BgL_obj1561z00_1582 = 
(BgL_nodez00_bglt)(BgL_duplicated2671z00_1159); 
BgL_arg3208z00_1162 = 
(((BgL_nodez00_bglt)CREF(BgL_obj1561z00_1582))->BgL_typez00); } 
BgL_arg3210z00_1163 = 
(((BgL_varz00_bglt)CREF(BgL_duplicated2671z00_1159))->BgL_variablez00); 
BgL_new2672z00_1160 = 
BGl_makezd2varzd2zzast_nodez00(BgL_arg3207z00_1161, BgL_arg3208z00_1162, BgL_arg3210z00_1163); } 
{ /* ./Ast/substitute.scm 119 */

BgL_arg3203z00_1158 = BgL_new2672z00_1160; } } } 
{ /* ./Ast/substitute.scm 119 */
BgL_nodez00_bglt BgL_auxz00_3487;
BgL_auxz00_3487 = 
BGl_knownzd2appzd2lyzd2ze3nodez31zzast_applyz00(BNIL, BgL_arg3202z00_1157, 
(BgL_nodez00_bglt)(BgL_arg3203z00_1158), BgL_nargz00_1154, BgL_sitez00_1149); 
return 
(obj_t)(BgL_auxz00_3487);} }  else 
{ /* ./Ast/substitute.scm 118 */
{ /* ./Ast/substitute.scm 121 */
BgL_appzd2lyzd2_bglt BgL_obj1753z00_1584;BgL_nodez00_bglt BgL_val1752z00_1585;
BgL_obj1753z00_1584 = BgL_nodez00_1148; 
BgL_val1752z00_1585 = BgL_nfunz00_1153; 
((((BgL_appzd2lyzd2_bglt)CREF(BgL_obj1753z00_1584))->BgL_funz00) = ((BgL_nodez00_bglt)BgL_val1752z00_1585), BUNSPEC); } 
{ /* ./Ast/substitute.scm 122 */
BgL_appzd2lyzd2_bglt BgL_obj1756z00_1586;BgL_nodez00_bglt BgL_val1755z00_1587;
BgL_obj1756z00_1586 = BgL_nodez00_1148; 
BgL_val1755z00_1587 = BgL_nargz00_1154; 
((((BgL_appzd2lyzd2_bglt)CREF(BgL_obj1756z00_1586))->BgL_argz00) = ((BgL_nodez00_bglt)BgL_val1755z00_1587), BUNSPEC); } 
return 
(obj_t)(BgL_nodez00_1148);} } } } } 
}



/* do-substitute!-app2704 */
obj_t BGl_dozd2substitutez12zd2app2704z12zzast_substitutez00(obj_t BgL_envz00_2476, obj_t BgL_nodez00_2477, obj_t BgL_sitez00_2478)
{ AN_OBJECT;
{ /* ./Ast/substitute.scm 106 */
{ 
BgL_appz00_bglt BgL_nodez00_1137;obj_t BgL_sitez00_1138;
{ /* ./Ast/substitute.scm 107 */
BgL_appz00_bglt BgL_auxz00_3495;
BgL_nodez00_1137 = 
(BgL_appz00_bglt)(BgL_nodez00_2477); 
BgL_sitez00_1138 = BgL_sitez00_2478; 
{ /* ./Ast/substitute.scm 107 */
BgL_nodez00_bglt BgL_arg3179z00_1141;
{ /* ./Ast/substitute.scm 107 */
BgL_varz00_bglt BgL_arg3183z00_1142;obj_t BgL_arg3184z00_1143;
BgL_arg3183z00_1142 = 
(((BgL_appz00_bglt)CREF(BgL_nodez00_1137))->BgL_funz00); 
BgL_arg3184z00_1143 = 
CNST_TABLE_REF(((long)2)); 
{ /* ./Ast/substitute.scm 107 */
BgL_nodez00_bglt BgL_res3611z00_1517;
{ /* ./Ast/substitute.scm 107 */
BgL_nodez00_bglt BgL_nodez00_1490;
BgL_nodez00_1490 = 
(BgL_nodez00_bglt)(BgL_arg3183z00_1142); 
{ /* ./Ast/substitute.scm 107 */
obj_t BgL_method2694z00_1492;
{ /* ./Ast/substitute.scm 107 */
BgL_objectz00_bglt BgL_objz00_1493;
BgL_objz00_1493 = 
(BgL_objectz00_bglt)(BgL_nodez00_1490); 
{ /* ./Ast/substitute.scm 107 */
long BgL_objzd2classzd2numz00_1494;
BgL_objzd2classzd2numz00_1494 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1493); 
{ /* ./Ast/substitute.scm 107 */
obj_t BgL_arg2017z00_1495;
{ /* ./Ast/substitute.scm 107 */
int BgL_auxz00_3501;
BgL_auxz00_3501 = 
(int)(((long)1)); 
BgL_arg2017z00_1495 = 
PROCEDURE_REF(BGl_dozd2substitutez12zd2envz12zzast_substitutez00, BgL_auxz00_3501); } 
{ /* ./Ast/substitute.scm 107 */
int BgL_offsetz00_1498;
BgL_offsetz00_1498 = 
(int)(BgL_objzd2classzd2numz00_1494); 
{ /* ./Ast/substitute.scm 107 */
long BgL_offsetz00_1499;
{ /* ./Ast/substitute.scm 107 */
long BgL_auxz00_3505;
BgL_auxz00_3505 = 
(long)(BgL_offsetz00_1498); 
BgL_offsetz00_1499 = 
(BgL_auxz00_3505-OBJECT_TYPE); } 
{ /* ./Ast/substitute.scm 107 */
long BgL_modz00_1500;
{ /* ./Ast/substitute.scm 107 */
int BgL_arg2028z00_1501;
BgL_arg2028z00_1501 = 
(int)(((long)8)); 
{ /* ./Ast/substitute.scm 107 */
long BgL_n2z00_1509;
BgL_n2z00_1509 = 
(long)(BgL_arg2028z00_1501); 
BgL_modz00_1500 = 
(BgL_offsetz00_1499/BgL_n2z00_1509); } } 
{ /* ./Ast/substitute.scm 107 */
long BgL_restz00_1502;
{ /* ./Ast/substitute.scm 107 */
int BgL_arg2024z00_1503;
BgL_arg2024z00_1503 = 
(int)(((long)8)); 
{ /* ./Ast/substitute.scm 107 */
long BgL_n2z00_1512;
BgL_n2z00_1512 = 
(long)(BgL_arg2024z00_1503); 
BgL_restz00_1502 = 
(BgL_offsetz00_1499%BgL_n2z00_1512); } } 
{ /* ./Ast/substitute.scm 107 */

{ /* ./Ast/substitute.scm 107 */
obj_t BgL_bucketz00_1504;
{ /* ./Ast/substitute.scm 107 */
int BgL_kz00_1514;
BgL_kz00_1514 = 
(int)(BgL_modz00_1500); 
BgL_bucketz00_1504 = 
VECTOR_REF(BgL_arg2017z00_1495,BgL_kz00_1514); } 
{ /* ./Ast/substitute.scm 107 */
int BgL_kz00_1516;
BgL_kz00_1516 = 
(int)(BgL_restz00_1502); 
BgL_method2694z00_1492 = 
VECTOR_REF(BgL_bucketz00_1504,BgL_kz00_1516); } } } } } } } } } } 
{ /* ./Ast/substitute.scm 107 */
obj_t BgL_auxz00_3518;
BgL_auxz00_3518 = 
PROCEDURE_ENTRY(BgL_method2694z00_1492)(BgL_method2694z00_1492, 
(obj_t)(BgL_nodez00_1490), BgL_arg3184z00_1143, BEOA); 
BgL_res3611z00_1517 = 
(BgL_nodez00_bglt)(BgL_auxz00_3518); } } } 
BgL_arg3179z00_1141 = BgL_res3611z00_1517; } } 
{ /* ./Ast/substitute.scm 107 */
BgL_appz00_bglt BgL_obj1721z00_1518;BgL_varz00_bglt BgL_val1720z00_1519;
BgL_obj1721z00_1518 = BgL_nodez00_1137; 
BgL_val1720z00_1519 = 
(BgL_varz00_bglt)(BgL_arg3179z00_1141); 
((((BgL_appz00_bglt)CREF(BgL_obj1721z00_1518))->BgL_funz00) = ((BgL_varz00_bglt)BgL_val1720z00_1519), BUNSPEC); } } 
{ /* ./Ast/substitute.scm 108 */
obj_t BgL_arg3188z00_1144;obj_t BgL_arg3189z00_1145;
BgL_arg3188z00_1144 = 
(((BgL_appz00_bglt)CREF(BgL_nodez00_1137))->BgL_argsz00); 
BgL_arg3189z00_1145 = 
CNST_TABLE_REF(((long)1)); 
BGl_dozd2substituteza2z12z62zzast_substitutez00(BgL_arg3188z00_1144, BgL_arg3189z00_1145); } 
BgL_auxz00_3495 = BgL_nodez00_1137; 
return 
(obj_t)(BgL_auxz00_3495);} } } 
}



/* do-substitute!-sequence2702 */
obj_t BGl_dozd2substitutez12zd2sequence2702z12zzast_substitutez00(obj_t BgL_envz00_2479, obj_t BgL_nodez00_2480, obj_t BgL_sitez00_2481)
{ AN_OBJECT;
{ /* ./Ast/substitute.scm 99 */
{ 
BgL_sequencez00_bglt BgL_nodez00_1130;obj_t BgL_sitez00_1131;
{ /* ./Ast/substitute.scm 100 */
BgL_sequencez00_bglt BgL_auxz00_3530;
BgL_nodez00_1130 = 
(BgL_sequencez00_bglt)(BgL_nodez00_2480); 
BgL_sitez00_1131 = BgL_sitez00_2481; 
{ /* ./Ast/substitute.scm 100 */
obj_t BgL_arg3169z00_1487;
BgL_arg3169z00_1487 = 
(((BgL_sequencez00_bglt)CREF(BgL_nodez00_1130))->BgL_nodesz00); 
BGl_dozd2substituteza2z12z62zzast_substitutez00(BgL_arg3169z00_1487, BgL_sitez00_1131); } 
BgL_auxz00_3530 = BgL_nodez00_1130; 
return 
(obj_t)(BgL_auxz00_3530);} } } 
}



/* do-substitute!-kwote2700 */
obj_t BGl_dozd2substitutez12zd2kwote2700z12zzast_substitutez00(obj_t BgL_envz00_2482, obj_t BgL_nodez00_2483, obj_t BgL_sitez00_2484)
{ AN_OBJECT;
{ /* ./Ast/substitute.scm 93 */
{ /* ./Ast/substitute.scm 94 */
BgL_kwotez00_bglt BgL_auxz00_3535;
BgL_auxz00_3535 = 
(BgL_kwotez00_bglt)(BgL_nodez00_2483); 
return 
(obj_t)(BgL_auxz00_3535);} } 
}



/* do-substitute!-var2698 */
obj_t BGl_dozd2substitutez12zd2var2698z12zzast_substitutez00(obj_t BgL_envz00_2485, obj_t BgL_nodez00_2486, obj_t BgL_sitez00_2487)
{ AN_OBJECT;
{ /* ./Ast/substitute.scm 63 */
{ 
BgL_varz00_bglt BgL_nodez00_1095;obj_t BgL_sitez00_1096;
BgL_nodez00_1095 = 
(BgL_varz00_bglt)(BgL_nodez00_2486); 
BgL_sitez00_1096 = BgL_sitez00_2487; 
{ /* ./Ast/substitute.scm 64 */
BgL_variablez00_bglt BgL_varz00_1099;
BgL_varz00_1099 = 
(((BgL_varz00_bglt)CREF(BgL_nodez00_1095))->BgL_variablez00); 
{ /* ./Ast/substitute.scm 64 */
obj_t BgL_alphaz00_1100;
BgL_alphaz00_1100 = 
(((BgL_variablez00_bglt)CREF(BgL_varz00_1099))->BgL_fastzd2alphazd2); 
{ /* ./Ast/substitute.scm 65 */

{ 
obj_t BgL_alphaz00_1101;
BgL_alphaz00_1101 = BgL_alphaz00_1100; 
BgL_loopz00_1102:
{ /* ./Ast/substitute.scm 68 */
bool_t BgL_test3110z00_1103;
BgL_test3110z00_1103 = 
(BgL_alphaz00_1101==BUNSPEC); 
if(BgL_test3110z00_1103)
{ /* ./Ast/substitute.scm 68 */
return 
(obj_t)(BgL_nodez00_1095);}  else 
{ /* ./Ast/substitute.scm 70 */
bool_t BgL_test3111z00_1104;
BgL_test3111z00_1104 = 
BGl_iszd2azf3z21zz__objectz00(BgL_alphaz00_1101, BGl_varz00zzast_nodez00); 
if(BgL_test3111z00_1104)
{ /* ./Ast/substitute.scm 70 */
{ /* ./Ast/substitute.scm 71 */
BgL_variablez00_bglt BgL_arg3113z00_1105;
{ /* ./Ast/substitute.scm 71 */
BgL_varz00_bglt BgL_obj1625z00_1477;
BgL_obj1625z00_1477 = 
(BgL_varz00_bglt)(BgL_alphaz00_1101); 
BgL_arg3113z00_1105 = 
(((BgL_varz00_bglt)CREF(BgL_obj1625z00_1477))->BgL_variablez00); } 
{ 
obj_t BgL_alphaz00_3547;
BgL_alphaz00_3547 = 
(obj_t)(BgL_arg3113z00_1105); 
BgL_alphaz00_1101 = BgL_alphaz00_3547; 
goto BgL_loopz00_1102;} } }  else 
{ /* ./Ast/substitute.scm 72 */
bool_t BgL_test3116z00_1106;
BgL_test3116z00_1106 = 
BGl_iszd2azf3z21zz__objectz00(BgL_alphaz00_1101, BGl_variablez00zzast_varz00); 
if(BgL_test3116z00_1106)
{ /* ./Ast/substitute.scm 72 */
{ /* ./Ast/substitute.scm 73 */
obj_t BgL_arg3118z00_1107;
{ /* ./Ast/substitute.scm 73 */
BgL_nodez00_bglt BgL_obj1560z00_1479;
BgL_obj1560z00_1479 = 
(BgL_nodez00_bglt)(BgL_nodez00_1095); 
BgL_arg3118z00_1107 = 
(((BgL_nodez00_bglt)CREF(BgL_obj1560z00_1479))->BgL_locz00); } 
BGl_usezd2variablez12zc0zzast_sexpz00(
(BgL_variablez00_bglt)(BgL_alphaz00_1101), BgL_arg3118z00_1107, BgL_sitez00_1096); } 
{ /* ./Ast/substitute.scm 74 */
bool_t BgL_test3121z00_1108;
{ /* ./Ast/substitute.scm 74 */
bool_t BgL_test3136z00_1115;
{ /* ./Ast/substitute.scm 74 */
BgL_valuez00_bglt BgL_arg3140z00_1117;
{ /* ./Ast/substitute.scm 74 */
BgL_variablez00_bglt BgL_obj1100z00_1480;
BgL_obj1100z00_1480 = 
(BgL_variablez00_bglt)(BgL_alphaz00_1101); 
BgL_arg3140z00_1117 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1100z00_1480))->BgL_valuez00); } 
{ /* ./Ast/substitute.scm 74 */
obj_t BgL_obj1344z00_1481;
BgL_obj1344z00_1481 = 
(obj_t)(BgL_arg3140z00_1117); 
BgL_test3136z00_1115 = 
BGl_iszd2azf3z21zz__objectz00(BgL_obj1344z00_1481, BGl_funz00zzast_varz00); } } 
if(BgL_test3136z00_1115)
{ /* ./Ast/substitute.scm 74 */
bool_t BgL_testz00_3560;
{ /* ./Ast/substitute.scm 74 */
obj_t BgL_auxz00_3561;
BgL_auxz00_3561 = 
CNST_TABLE_REF(((long)2)); 
BgL_testz00_3560 = 
(BgL_sitez00_1096==BgL_auxz00_3561); } 
if(BgL_testz00_3560)
{ /* ./Ast/substitute.scm 74 */
BgL_test3121z00_1108 = ((bool_t)0); }  else 
{ /* ./Ast/substitute.scm 74 */
BgL_test3121z00_1108 = ((bool_t)1); } }  else 
{ /* ./Ast/substitute.scm 74 */
BgL_test3121z00_1108 = ((bool_t)0); } } 
if(BgL_test3121z00_1108)
{ /* ./Ast/substitute.scm 76 */
obj_t BgL_arg3123z00_1109;BgL_typez00_bglt BgL_arg3124z00_1110;obj_t BgL_arg3125z00_1111;
{ /* ./Ast/substitute.scm 76 */
BgL_nodez00_bglt BgL_obj1560z00_1482;
BgL_obj1560z00_1482 = 
(BgL_nodez00_bglt)(BgL_nodez00_1095); 
BgL_arg3123z00_1109 = 
(((BgL_nodez00_bglt)CREF(BgL_obj1560z00_1482))->BgL_locz00); } 
{ /* ./Ast/substitute.scm 77 */
BgL_nodez00_bglt BgL_obj1561z00_1483;
BgL_obj1561z00_1483 = 
(BgL_nodez00_bglt)(BgL_nodez00_1095); 
BgL_arg3124z00_1110 = 
(((BgL_nodez00_bglt)CREF(BgL_obj1561z00_1483))->BgL_typez00); } 
BgL_arg3125z00_1111 = BgL_alphaz00_1101; 
{ /* ./Ast/substitute.scm 75 */
BgL_closurez00_bglt BgL_auxz00_3569;
BgL_auxz00_3569 = 
BGl_makezd2closurezd2zzast_nodez00(BgL_arg3123z00_1109, BgL_arg3124z00_1110, 
(BgL_variablez00_bglt)(BgL_arg3125z00_1111)); 
return 
(obj_t)(BgL_auxz00_3569);} }  else 
{ /* ./Ast/substitute.scm 80 */
obj_t BgL_arg3130z00_1112;BgL_typez00_bglt BgL_arg3131z00_1113;obj_t BgL_arg3132z00_1114;
{ /* ./Ast/substitute.scm 80 */
BgL_nodez00_bglt BgL_obj1560z00_1484;
BgL_obj1560z00_1484 = 
(BgL_nodez00_bglt)(BgL_nodez00_1095); 
BgL_arg3130z00_1112 = 
(((BgL_nodez00_bglt)CREF(BgL_obj1560z00_1484))->BgL_locz00); } 
{ /* ./Ast/substitute.scm 81 */
BgL_nodez00_bglt BgL_obj1561z00_1485;
BgL_obj1561z00_1485 = 
(BgL_nodez00_bglt)(BgL_nodez00_1095); 
BgL_arg3131z00_1113 = 
(((BgL_nodez00_bglt)CREF(BgL_obj1561z00_1485))->BgL_typez00); } 
BgL_arg3132z00_1114 = BgL_alphaz00_1101; 
{ /* ./Ast/substitute.scm 79 */
BgL_varz00_bglt BgL_auxz00_3577;
BgL_auxz00_3577 = 
BGl_makezd2varzd2zzast_nodez00(BgL_arg3130z00_1112, BgL_arg3131z00_1113, 
(BgL_variablez00_bglt)(BgL_arg3132z00_1114)); 
return 
(obj_t)(BgL_auxz00_3577);} } } }  else 
{ /* ./Ast/substitute.scm 83 */
bool_t BgL_test3143z00_1118;
BgL_test3143z00_1118 = 
BGl_iszd2azf3z21zz__objectz00(BgL_alphaz00_1101, BGl_atomz00zzast_nodez00); 
if(BgL_test3143z00_1118)
{ /* ./Ast/substitute.scm 83 */
return BgL_alphaz00_1101;}  else 
{ /* ./Ast/substitute.scm 83 */
{ /* ./Ast/substitute.scm 86 */
obj_t BgL_arg3147z00_1121;
BgL_arg3147z00_1121 = 
BGl_shapez00zztools_shapez00(
(obj_t)(BgL_nodez00_1095)); 
return 
BGl_internalzd2errorzd2zztools_errorz00(BGl_string4240z00zzast_substitutez00, BGl_string4241z00zzast_substitutez00, BgL_arg3147z00_1121);} } } } } } } } } } } } 
}



/* do-substitute!-atom2696 */
obj_t BGl_dozd2substitutez12zd2atom2696z12zzast_substitutez00(obj_t BgL_envz00_2488, obj_t BgL_nodez00_2489, obj_t BgL_sitez00_2490)
{ AN_OBJECT;
{ /* ./Ast/substitute.scm 57 */
{ /* ./Ast/substitute.scm 58 */
BgL_atomz00_bglt BgL_auxz00_3587;
BgL_auxz00_3587 = 
(BgL_atomz00_bglt)(BgL_nodez00_2489); 
return 
(obj_t)(BgL_auxz00_3587);} } 
}



/* do-substitute! */
BgL_nodez00_bglt BGl_dozd2substitutez12zc0zzast_substitutez00(BgL_nodez00_bglt BgL_nodez00_5, obj_t BgL_sitez00_6)
{ AN_OBJECT;
{ /* ./Ast/substitute.scm 52 */
{ /* ./Ast/substitute.scm 52 */
obj_t BgL_method2694z00_2375;
{ /* ./Ast/substitute.scm 52 */
BgL_objectz00_bglt BgL_objz00_2376;
BgL_objz00_2376 = 
(BgL_objectz00_bglt)(BgL_nodez00_5); 
{ /* ./Ast/substitute.scm 52 */
long BgL_objzd2classzd2numz00_2377;
BgL_objzd2classzd2numz00_2377 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2376); 
{ /* ./Ast/substitute.scm 52 */
obj_t BgL_arg2017z00_2378;
{ /* ./Ast/substitute.scm 52 */
int BgL_auxz00_3592;
BgL_auxz00_3592 = 
(int)(((long)1)); 
BgL_arg2017z00_2378 = 
PROCEDURE_REF(BGl_dozd2substitutez12zd2envz12zzast_substitutez00, BgL_auxz00_3592); } 
{ /* ./Ast/substitute.scm 52 */
int BgL_offsetz00_2381;
BgL_offsetz00_2381 = 
(int)(BgL_objzd2classzd2numz00_2377); 
{ /* ./Ast/substitute.scm 52 */
long BgL_offsetz00_2382;
{ /* ./Ast/substitute.scm 52 */
long BgL_auxz00_3596;
BgL_auxz00_3596 = 
(long)(BgL_offsetz00_2381); 
BgL_offsetz00_2382 = 
(BgL_auxz00_3596-OBJECT_TYPE); } 
{ /* ./Ast/substitute.scm 52 */
long BgL_modz00_2383;
{ /* ./Ast/substitute.scm 52 */
int BgL_arg2028z00_2384;
BgL_arg2028z00_2384 = 
(int)(((long)8)); 
{ /* ./Ast/substitute.scm 52 */
long BgL_n2z00_2392;
BgL_n2z00_2392 = 
(long)(BgL_arg2028z00_2384); 
BgL_modz00_2383 = 
(BgL_offsetz00_2382/BgL_n2z00_2392); } } 
{ /* ./Ast/substitute.scm 52 */
long BgL_restz00_2385;
{ /* ./Ast/substitute.scm 52 */
int BgL_arg2024z00_2386;
BgL_arg2024z00_2386 = 
(int)(((long)8)); 
{ /* ./Ast/substitute.scm 52 */
long BgL_n2z00_2395;
BgL_n2z00_2395 = 
(long)(BgL_arg2024z00_2386); 
BgL_restz00_2385 = 
(BgL_offsetz00_2382%BgL_n2z00_2395); } } 
{ /* ./Ast/substitute.scm 52 */

{ /* ./Ast/substitute.scm 52 */
obj_t BgL_bucketz00_2387;
{ /* ./Ast/substitute.scm 52 */
int BgL_kz00_2397;
BgL_kz00_2397 = 
(int)(BgL_modz00_2383); 
BgL_bucketz00_2387 = 
VECTOR_REF(BgL_arg2017z00_2378,BgL_kz00_2397); } 
{ /* ./Ast/substitute.scm 52 */
int BgL_kz00_2399;
BgL_kz00_2399 = 
(int)(BgL_restz00_2385); 
BgL_method2694z00_2375 = 
VECTOR_REF(BgL_bucketz00_2387,BgL_kz00_2399); } } } } } } } } } } 
{ /* ./Ast/substitute.scm 52 */
obj_t BgL_auxz00_3609;
BgL_auxz00_3609 = 
PROCEDURE_ENTRY(BgL_method2694z00_2375)(BgL_method2694z00_2375, 
(obj_t)(BgL_nodez00_5), BgL_sitez00_6, BEOA); 
return 
(BgL_nodez00_bglt)(BgL_auxz00_3609);} } } 
}



/* _do-substitute!3694 */
obj_t BGl__dozd2substitutez123694zc0zzast_substitutez00(obj_t BgL_envz00_2408, obj_t BgL_nodez00_2409, obj_t BgL_sitez00_2410)
{ AN_OBJECT;
{ /* ./Ast/substitute.scm 52 */
{ /* ./Ast/substitute.scm 52 */
BgL_nodez00_bglt BgL_auxz00_3614;
BgL_auxz00_3614 = 
BGl_dozd2substitutez12zc0zzast_substitutez00(
(BgL_nodez00_bglt)(BgL_nodez00_2409), BgL_sitez00_2410); 
return 
(obj_t)(BgL_auxz00_3614);} } 
}



/* do-substitute!-default2693 */
BgL_nodez00_bglt BGl_dozd2substitutez12zd2default2693z12zzast_substitutez00(BgL_nodez00_bglt BgL_nodez00_7, obj_t BgL_sitez00_8)
{ AN_OBJECT;
{ /* ./Ast/substitute.scm 14 */
{ /* ./Ast/substitute.scm 14 */
obj_t BgL_procz00_2400;obj_t BgL_objectz00_2402;
BgL_procz00_2400 = 
CNST_TABLE_REF(((long)5)); 
BgL_objectz00_2402 = 
(obj_t)(BgL_nodez00_7); 
FAILURE(BgL_procz00_2400,BGl_string4242z00zzast_substitutez00,BgL_objectz00_2402);} } 
}



/* _do-substitute!-default2693 */
obj_t BGl__dozd2substitutez12zd2default2693z12zzast_substitutez00(obj_t BgL_envz00_2491, obj_t BgL_nodez00_2492, obj_t BgL_sitez00_2493)
{ AN_OBJECT;
{ /* ./Ast/substitute.scm 14 */
{ /* ./Ast/substitute.scm 14 */
BgL_nodez00_bglt BgL_auxz00_3621;
BgL_auxz00_3621 = 
BGl_dozd2substitutez12zd2default2693z12zzast_substitutez00(
(BgL_nodez00_bglt)(BgL_nodez00_2492), BgL_sitez00_2493); 
return 
(obj_t)(BgL_auxz00_3621);} } 
}



/* imported-modules-init */
obj_t BGl_importedzd2moduleszd2initz00zzast_substitutez00()
{ AN_OBJECT;
{ /* ./Ast/substitute.scm 14 */
BGl_modulezd2initializa7ationz75zztools_tracez00(((long)59211), "ast_substitute"); 
BGl_modulezd2initializa7ationz75zztype_typez00(((long)19090), "ast_substitute"); 
BGl_modulezd2initializa7ationz75zztype_cachez00(((long)25848), "ast_substitute"); 
BGl_modulezd2initializa7ationz75zzast_varz00(((long)44246), "ast_substitute"); 
BGl_modulezd2initializa7ationz75zzast_nodez00(((long)50868), "ast_substitute"); 
BGl_modulezd2initializa7ationz75zztools_shapez00(((long)30833), "ast_substitute"); 
BGl_modulezd2initializa7ationz75zztools_errorz00(((long)25566), "ast_substitute"); 
BGl_modulezd2initializa7ationz75zzast_applyz00(((long)53769), "ast_substitute"); 
BGl_modulezd2initializa7ationz75zzast_appz00(((long)62540), "ast_substitute"); 
return 
BGl_modulezd2initializa7ationz75zzast_sexpz00(((long)15705), "ast_substitute");} 
}

