/*===========================================================================*/
/*   (Ast/apply.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/apply.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;


BGL_IMPORT obj_t BGl_eappendzd22zd2zz__r4_pairs_and_lists_6_3z00(obj_t, obj_t);
static obj_t BGl_methodzd2initzd2zzast_applyz00();
static obj_t BGl__knownzd2appzd2lyzd2ze3nodez31zzast_applyz00(obj_t, obj_t, obj_t, obj_t, obj_t, obj_t);
BGL_IMPORT obj_t open_input_string(obj_t);
static obj_t BGl_makezd2funzd2framezd2default2689zd2zzast_applyz00(BgL_funz00_bglt);
static obj_t BGl__makezd2funzd2framez00zzast_applyz00(obj_t, obj_t);
extern obj_t BGl_sfunz00zzast_varz00;
extern BgL_letzd2varzd2_bglt BGl_makezd2letzd2varz00zzast_nodez00(obj_t, BgL_typez00_bglt, obj_t, obj_t, obj_t, BgL_nodez00_bglt, bool_t);
BGL_IMPORT obj_t BGl_readz00zz__readerz00(obj_t);
BGL_IMPORT bool_t BGl_iszd2azf3z21zz__objectz00(obj_t, obj_t);
extern BgL_nodez00_bglt BGl_sexpzd2ze3nodez31zzast_sexpz00(obj_t, obj_t, obj_t, obj_t);
extern obj_t BGl_za2unsafezd2arityza2zd2zzengine_paramz00;
static obj_t BGl__makezd2funzd2framezd2default2689zd2zzast_applyz00(obj_t, obj_t);
BGL_IMPORT obj_t BGl_addzd2genericz12zc0zz__objectz00(obj_t, obj_t);
extern obj_t BGl_za2_za2z00zztype_cachez00;
extern obj_t BGl_funz00zzast_varz00;
BGL_IMPORT obj_t BGl_gensymz00zz__r4_symbols_6_4z00;
static obj_t BGl_makezd2funzd2framezd2sfun2692zd2zzast_applyz00(obj_t, obj_t);
extern obj_t BGl_typez00zztype_typez00;
BGL_IMPORT obj_t BGl_reversez12z12zz__r4_pairs_and_lists_6_3z00(obj_t);
static obj_t BGl_makezd2funzd2framez00zzast_applyz00(BgL_funz00_bglt);
extern obj_t BGl_varz00zzast_nodez00;
extern BgL_appz00_bglt BGl_makezd2appzd2zzast_nodez00(obj_t, BgL_typez00_bglt, obj_t, obj_t, BgL_varz00_bglt, obj_t);
static obj_t BGl_cnstzd2initzd2zzast_applyz00();
static BgL_letzd2varzd2_bglt BGl_vazd2knownzd2appzd2lyzd2ze3nodeze3zzast_applyz00(obj_t, obj_t, BgL_nodez00_bglt, BgL_nodez00_bglt, obj_t, obj_t);
static obj_t BGl_makezd2funzd2framezd2cfun2694zd2zzast_applyz00(obj_t, obj_t);
static obj_t BGl_importedzd2moduleszd2initz00zzast_applyz00();
extern obj_t BGl_findzd2locationzf2locz20zztools_locationz00(obj_t, obj_t);
BGL_IMPORT obj_t BGl_addzd2methodz12zc0zz__objectz00(obj_t, obj_t, obj_t);
extern BgL_nodez00_bglt BGl_applicationzd2ze3nodez31zzast_appz00(obj_t, obj_t, obj_t, obj_t);
static obj_t BGl_toplevelzd2initzd2zzast_applyz00();
BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zzast_applyz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztype_typez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_varz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_nodez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzengine_paramz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_errorz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_locationz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_shapez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztype_cachez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_sexpz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_localz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_appz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_identz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__objectz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__readerz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_pairs_and_lists_6_3z00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_symbols_6_4z00(long, char *);
static BgL_letzd2varzd2_bglt BGl_fxzd2knownzd2appzd2lyzd2ze3nodeze3zzast_applyz00(obj_t, obj_t, BgL_nodez00_bglt, BgL_nodez00_bglt, obj_t, obj_t);
extern obj_t BGl_shapez00zztools_shapez00(obj_t);
extern obj_t BGl_cfunz00zzast_varz00;
extern BgL_localz00_bglt BGl_makezd2localzd2svarz00zzast_localz00(obj_t, BgL_typez00_bglt);
static obj_t BGl__applycationzd2ze3nodez31zzast_applyz00(obj_t, obj_t, obj_t, obj_t, obj_t);
static obj_t BGl_loopz00zzast_applyz00(BgL_nodez00_bglt, obj_t, obj_t, BgL_localz00_bglt, BgL_typez00_bglt, obj_t, obj_t, obj_t);
static obj_t BGl_loopz72z72zzast_applyz00(obj_t, BgL_nodez00_bglt, obj_t, obj_t, BgL_localz00_bglt, BgL_typez00_bglt, obj_t, obj_t);
extern BgL_nodez00_bglt BGl_errorzd2sexpzd2ze3nodeze3zzast_sexpz00(obj_t, obj_t, obj_t);
extern BgL_varz00_bglt BGl_makezd2varzd2zzast_nodez00(obj_t, BgL_typez00_bglt, BgL_variablez00_bglt);
BGL_EXPORTED_DECL BgL_nodez00_bglt BGl_knownzd2appzd2lyzd2ze3nodez31zzast_applyz00(obj_t, obj_t, BgL_nodez00_bglt, BgL_nodez00_bglt, obj_t);
static obj_t BGl_requirezd2initializa7ationz75zzast_applyz00 = BUNSPEC;
extern BgL_appzd2lyzd2_bglt BGl_makezd2appzd2lyz00zzast_nodez00(obj_t, BgL_typez00_bglt, BgL_nodez00_bglt, BgL_nodez00_bglt);
BGL_EXPORTED_DECL BgL_nodez00_bglt BGl_applycationzd2ze3nodez31zzast_applyz00(obj_t, obj_t, obj_t, obj_t);
static obj_t BGl_libraryzd2moduleszd2initz00zzast_applyz00();
extern obj_t BGl_markzd2symbolzd2nonzd2userz12zc0zzast_identz00(obj_t);
static obj_t __cnst[ 14 ] ;


DEFINE_STRING( BGl_string3733z00zzast_applyz00, BgL_bgl_string3733za700za7za7ast_applyza7003767z00, "Illegal `apply' form", 20 );
DEFINE_EXPORT_PROCEDURE( BGl_knownzd2appzd2lyzd2ze3nodezd2envze3zzast_applyz00, BgL_bgl__knownza7d2appza7d2lyza7d2za7e3nodeza731za7za7ast_applyza7003768z00, BGl__knownzd2appzd2lyzd2ze3nodez31zzast_applyz00, 0L, 5 );
DEFINE_STATIC_GENERIC( BGl_makezd2funzd2framezd2envzd2zzast_applyz00, BgL_bgl__makeza7d2funza7d2frameza700za7za7ast_applyza7003769z00, BGl__makezd2funzd2framez00zzast_applyz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_makezd2funzd2framezd2default2689zd2envz00zzast_applyz00, BgL_bgl__makeza7d2funza7d2frameza7d2default2689za7d2za7za7ast_applyza7003770za7, BGl__makezd2funzd2framezd2default2689zd2zzast_applyz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc3736z00zzast_applyz00, BgL_bgl_makeza7d2funza7d2frameza7d2sfun2692za7d2za7za7ast_applyza7003771za7, BGl_makezd2funzd2framezd2sfun2692zd2zzast_applyz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc3737z00zzast_applyz00, BgL_bgl_makeza7d2funza7d2frameza7d2cfun2694za7d2za7za7ast_applyza7003772za7, BGl_makezd2funzd2framezd2cfun2694zd2zzast_applyz00, 0L, 1 );
DEFINE_EXPORT_PROCEDURE( BGl_applycationzd2ze3nodezd2envze3zzast_applyz00, BgL_bgl__applycationza7d2za7e3nodeza731za7za7ast_applyza7003773z00, BGl__applycationzd2ze3nodez31zzast_applyz00, 0L, 4 );
DEFINE_STRING( BGl_string3739z00zzast_applyz00, BgL_bgl_string3739za700za7za7ast_applyza7003774z00, "make-fun-frame-default2689 aux set! begin car quote failure cdr null? if write runner value apply ", 98 );
DEFINE_STRING( BGl_string3738z00zzast_applyz00, BgL_bgl_string3738za700za7za7ast_applyza7003775z00, "No method for this object", 25 );
DEFINE_STRING( BGl_string3735z00zzast_applyz00, BgL_bgl_string3735za700za7za7ast_applyza7003776z00, "apply", 5 );
DEFINE_STRING( BGl_string3734z00zzast_applyz00, BgL_bgl_string3734za700za7za7ast_applyza7003777z00, "Too many arguments provided", 27 );



/* module-initialization */
BGL_EXPORTED_DEF obj_t BGl_modulezd2initializa7ationz75zzast_applyz00(long BgL_checksumz00_1556, char * BgL_fromz00_1557)
{ AN_OBJECT;
{ 
if(
CBOOL(BGl_requirezd2initializa7ationz75zzast_applyz00))
{ 
BGl_requirezd2initializa7ationz75zzast_applyz00 = 
BBOOL(((bool_t)0)); 
BGl_libraryzd2moduleszd2initz00zzast_applyz00(); 
BGl_cnstzd2initzd2zzast_applyz00(); 
BGl_importedzd2moduleszd2initz00zzast_applyz00(); 
BGl_methodzd2initzd2zzast_applyz00(); 
return BUNSPEC;}  else 
{ 
return BUNSPEC;} } 
}



/* library-modules-init */
obj_t BGl_libraryzd2moduleszd2initz00zzast_applyz00()
{ AN_OBJECT;
{ /* ./Ast/apply.scm 14 */
BGl_modulezd2initializa7ationz75zz__r4_pairs_and_lists_6_3z00(((long)0), "ast_apply"); 
BGl_modulezd2initializa7ationz75zz__readerz00(((long)0), "ast_apply"); 
BGl_modulezd2initializa7ationz75zz__objectz00(((long)0), "ast_apply"); 
BGl_modulezd2initializa7ationz75zz__r4_symbols_6_4z00(((long)0), "ast_apply"); 
return BUNSPEC;} 
}



/* cnst-init */
obj_t BGl_cnstzd2initzd2zzast_applyz00()
{ AN_OBJECT;
{ /* ./Ast/apply.scm 14 */
{ /* ./Ast/apply.scm 14 */
obj_t BgL_cportz00_1549;
BgL_cportz00_1549 = 
open_input_string(BGl_string3739z00zzast_applyz00); 
{ 
long BgL_iz00_1550;
BgL_iz00_1550 = ((long)13); 
BgL_loopz00_1551:
{ /* ./Ast/apply.scm 14 */
bool_t BgL_test3741z00_1552;
BgL_test3741z00_1552 = 
(BgL_iz00_1550==((long)-1)); 
if(BgL_test3741z00_1552)
{ /* ./Ast/apply.scm 14 */
return BUNSPEC;}  else 
{ /* ./Ast/apply.scm 14 */
{ /* ./Ast/apply.scm 14 */
obj_t BgL_arg3743z00_1553;
{ /* ./Ast/apply.scm 14 */
obj_t BgL_list3746z00_1554;
BgL_list3746z00_1554 = 
MAKE_PAIR(BgL_cportz00_1549, BNIL); 
BgL_arg3743z00_1553 = 
BGl_readz00zz__readerz00(BgL_list3746z00_1554); } 
{ /* ./Ast/apply.scm 14 */
int BgL_auxz00_1574;
BgL_auxz00_1574 = 
(int)(BgL_iz00_1550); 
CNST_TABLE_SET(BgL_auxz00_1574, BgL_arg3743z00_1553); } } 
{ /* ./Ast/apply.scm 14 */
int BgL_auxz00_1555;
{ /* ./Ast/apply.scm 14 */
long BgL_auxz00_1577;
BgL_auxz00_1577 = 
(BgL_iz00_1550-((long)1)); 
BgL_auxz00_1555 = 
(int)(BgL_auxz00_1577); } 
{ 
long BgL_iz00_1580;
BgL_iz00_1580 = 
(long)(BgL_auxz00_1555); 
BgL_iz00_1550 = BgL_iz00_1580; 
goto BgL_loopz00_1551;} } } } } } } 
}



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



/* applycation->node */
BGL_EXPORTED_DEF BgL_nodez00_bglt BGl_applycationzd2ze3nodez31zzast_applyz00(obj_t BgL_expz00_1, obj_t BgL_stackz00_2, obj_t BgL_locz00_3, obj_t BgL_sitez00_4)
{ AN_OBJECT;
{ /* ./Ast/apply.scm 31 */
{ 
obj_t BgL_procz00_689;obj_t BgL_argz00_690;
{ /* ./Ast/apply.scm 32 */
bool_t BgL_test2695z00_694;
BgL_test2695z00_694 = 
PAIRP(BgL_expz00_1); 
if(BgL_test2695z00_694)
{ /* ./Ast/apply.scm 32 */
obj_t BgL_cdrzd2109zd2_695;
BgL_cdrzd2109zd2_695 = 
CDR(BgL_expz00_1); 
{ /* ./Ast/apply.scm 32 */
bool_t BgL_test2696z00_696;
{ /* ./Ast/apply.scm 32 */
obj_t BgL_auxz00_1587;obj_t BgL_auxz00_1585;
BgL_auxz00_1587 = 
CNST_TABLE_REF(((long)0)); 
BgL_auxz00_1585 = 
CAR(BgL_expz00_1); 
BgL_test2696z00_696 = 
(BgL_auxz00_1585==BgL_auxz00_1587); } 
if(BgL_test2696z00_696)
{ /* ./Ast/apply.scm 32 */
bool_t BgL_test2697z00_697;
BgL_test2697z00_697 = 
PAIRP(BgL_cdrzd2109zd2_695); 
if(BgL_test2697z00_697)
{ /* ./Ast/apply.scm 32 */
obj_t BgL_cdrzd2113zd2_698;
BgL_cdrzd2113zd2_698 = 
CDR(BgL_cdrzd2109zd2_695); 
{ /* ./Ast/apply.scm 32 */
bool_t BgL_test2698z00_699;
BgL_test2698z00_699 = 
PAIRP(BgL_cdrzd2113zd2_698); 
if(BgL_test2698z00_699)
{ /* ./Ast/apply.scm 32 */
bool_t BgL_test2699z00_700;
{ /* ./Ast/apply.scm 32 */
obj_t BgL_auxz00_1596;
BgL_auxz00_1596 = 
CDR(BgL_cdrzd2113zd2_698); 
BgL_test2699z00_700 = 
NULLP(BgL_auxz00_1596); } 
if(BgL_test2699z00_700)
{ /* ./Ast/apply.scm 32 */
obj_t BgL_arg2701z00_701;obj_t BgL_arg2702z00_702;
BgL_arg2701z00_701 = 
CAR(BgL_cdrzd2109zd2_695); 
BgL_arg2702z00_702 = 
CAR(BgL_cdrzd2113zd2_698); 
{ /* ./Ast/apply.scm 32 */
obj_t BgL_auxz00_1602;
BgL_procz00_689 = BgL_arg2701z00_701; 
BgL_argz00_690 = BgL_arg2702z00_702; 
{ /* ./Ast/apply.scm 34 */
obj_t BgL_locz00_706;
BgL_locz00_706 = 
BGl_findzd2locationzf2locz20zztools_locationz00(BgL_expz00_1, BgL_locz00_3); 
{ /* ./Ast/apply.scm 34 */
BgL_nodez00_bglt BgL_procz00_707;
{ /* ./Ast/apply.scm 37 */
obj_t BgL_arg2748z00_719;obj_t BgL_arg2749z00_720;
BgL_arg2748z00_719 = 
BGl_findzd2locationzf2locz20zztools_locationz00(BgL_procz00_689, BgL_locz00_706); 
BgL_arg2749z00_720 = 
CNST_TABLE_REF(((long)0)); 
BgL_procz00_707 = 
BGl_sexpzd2ze3nodez31zzast_sexpz00(BgL_procz00_689, BgL_stackz00_2, BgL_arg2748z00_719, BgL_arg2749z00_720); } 
{ /* ./Ast/apply.scm 35 */
BgL_nodez00_bglt BgL_argz00_708;
{ /* ./Ast/apply.scm 41 */
obj_t BgL_arg2743z00_717;obj_t BgL_arg2744z00_718;
BgL_arg2743z00_717 = 
BGl_findzd2locationzf2locz20zztools_locationz00(BgL_argz00_690, BgL_locz00_706); 
BgL_arg2744z00_718 = 
CNST_TABLE_REF(((long)1)); 
BgL_argz00_708 = 
BGl_sexpzd2ze3nodez31zzast_sexpz00(BgL_argz00_690, BgL_stackz00_2, BgL_arg2743z00_717, BgL_arg2744z00_718); } 
{ /* ./Ast/apply.scm 39 */

{ /* ./Ast/apply.scm 43 */
bool_t BgL_test2725z00_709;
{ /* ./Ast/apply.scm 43 */
bool_t BgL_test2733z00_714;
{ /* ./Ast/apply.scm 43 */
obj_t BgL_obj1640z00_1346;
BgL_obj1640z00_1346 = 
(obj_t)(BgL_procz00_707); 
BgL_test2733z00_714 = 
BGl_iszd2azf3z21zz__objectz00(BgL_obj1640z00_1346, BGl_varz00zzast_nodez00); } 
if(BgL_test2733z00_714)
{ /* ./Ast/apply.scm 43 */
BgL_valuez00_bglt BgL_arg2735z00_715;
{ /* ./Ast/apply.scm 43 */
BgL_variablez00_bglt BgL_arg2738z00_716;
{ /* ./Ast/apply.scm 43 */
BgL_varz00_bglt BgL_obj1625z00_1347;
BgL_obj1625z00_1347 = 
(BgL_varz00_bglt)(BgL_procz00_707); 
BgL_arg2738z00_716 = 
(((BgL_varz00_bglt)CREF(BgL_obj1625z00_1347))->BgL_variablez00); } 
BgL_arg2735z00_715 = 
(((BgL_variablez00_bglt)CREF(BgL_arg2738z00_716))->BgL_valuez00); } 
{ /* ./Ast/apply.scm 43 */
obj_t BgL_obj1344z00_1349;
BgL_obj1344z00_1349 = 
(obj_t)(BgL_arg2735z00_715); 
BgL_test2725z00_709 = 
BGl_iszd2azf3z21zz__objectz00(BgL_obj1344z00_1349, BGl_funz00zzast_varz00); } }  else 
{ /* ./Ast/apply.scm 43 */
BgL_test2725z00_709 = ((bool_t)0); } } 
if(BgL_test2725z00_709)
{ /* ./Ast/apply.scm 44 */
BgL_nodez00_bglt BgL_auxz00_1619;
BgL_auxz00_1619 = 
BGl_knownzd2appzd2lyzd2ze3nodez31zzast_applyz00(BgL_stackz00_2, BgL_locz00_706, BgL_procz00_707, BgL_argz00_708, BgL_sitez00_4); 
BgL_auxz00_1602 = 
(obj_t)(BgL_auxz00_1619); }  else 
{ /* ./Ast/apply.scm 46 */
obj_t BgL_arg2728z00_710;obj_t BgL_arg2729z00_711;BgL_nodez00_bglt BgL_arg2730z00_712;BgL_nodez00_bglt BgL_arg2731z00_713;
BgL_arg2728z00_710 = BgL_locz00_706; 
BgL_arg2729z00_711 = BGl_za2_za2z00zztype_cachez00; 
BgL_arg2730z00_712 = BgL_procz00_707; 
BgL_arg2731z00_713 = BgL_argz00_708; 
{ /* ./Ast/apply.scm 45 */
BgL_appzd2lyzd2_bglt BgL_auxz00_1622;
BgL_auxz00_1622 = 
BGl_makezd2appzd2lyz00zzast_nodez00(BgL_arg2728z00_710, 
(BgL_typez00_bglt)(BgL_arg2729z00_711), BgL_arg2730z00_712, BgL_arg2731z00_713); 
BgL_auxz00_1602 = 
(obj_t)(BgL_auxz00_1622); } } } } } } } 
return 
(BgL_nodez00_bglt)(BgL_auxz00_1602);} }  else 
{ /* ./Ast/apply.scm 32 */
BgL_tagzd2102zd2_692:
{ /* ./Ast/apply.scm 51 */
obj_t BgL_arg2755z00_722;
BgL_arg2755z00_722 = 
BGl_findzd2locationzf2locz20zztools_locationz00(BgL_expz00_1, BgL_locz00_3); 
return 
BGl_errorzd2sexpzd2ze3nodeze3zzast_sexpz00(BGl_string3733z00zzast_applyz00, BgL_expz00_1, BgL_arg2755z00_722);} } }  else 
{ /* ./Ast/apply.scm 32 */
goto BgL_tagzd2102zd2_692;} } }  else 
{ /* ./Ast/apply.scm 32 */
goto BgL_tagzd2102zd2_692;} }  else 
{ /* ./Ast/apply.scm 32 */
goto BgL_tagzd2102zd2_692;} } }  else 
{ /* ./Ast/apply.scm 32 */
goto BgL_tagzd2102zd2_692;} } } } 
}



/* _applycation->node */
obj_t BGl__applycationzd2ze3nodez31zzast_applyz00(obj_t BgL_envz00_1513, obj_t BgL_expz00_1514, obj_t BgL_stackz00_1515, obj_t BgL_locz00_1516, obj_t BgL_sitez00_1517)
{ AN_OBJECT;
{ /* ./Ast/apply.scm 31 */
{ /* ./Ast/apply.scm 32 */
BgL_nodez00_bglt BgL_auxz00_1629;
BgL_auxz00_1629 = 
BGl_applycationzd2ze3nodez31zzast_applyz00(BgL_expz00_1514, BgL_stackz00_1515, BgL_locz00_1516, BgL_sitez00_1517); 
return 
(obj_t)(BgL_auxz00_1629);} } 
}



/* known-app-ly->node */
BGL_EXPORTED_DEF BgL_nodez00_bglt BGl_knownzd2appzd2lyzd2ze3nodez31zzast_applyz00(obj_t BgL_stackz00_9, obj_t BgL_locz00_10, BgL_nodez00_bglt BgL_procz00_11, BgL_nodez00_bglt BgL_argz00_12, obj_t BgL_sitez00_13)
{ AN_OBJECT;
{ /* ./Ast/apply.scm 101 */
{ /* ./Ast/apply.scm 102 */
BgL_valuez00_bglt BgL_funz00_723;
{ /* ./Ast/apply.scm 102 */
BgL_variablez00_bglt BgL_arg2768z00_728;
{ /* ./Ast/apply.scm 102 */
BgL_varz00_bglt BgL_obj1625z00_1350;
BgL_obj1625z00_1350 = 
(BgL_varz00_bglt)(BgL_procz00_11); 
BgL_arg2768z00_728 = 
(((BgL_varz00_bglt)CREF(BgL_obj1625z00_1350))->BgL_variablez00); } 
BgL_funz00_723 = 
(((BgL_variablez00_bglt)CREF(BgL_arg2768z00_728))->BgL_valuez00); } 
{ /* ./Ast/apply.scm 102 */
long BgL_arityz00_724;
{ /* ./Ast/apply.scm 103 */
BgL_funz00_bglt BgL_obj1301z00_1352;
BgL_obj1301z00_1352 = 
(BgL_funz00_bglt)(BgL_funz00_723); 
BgL_arityz00_724 = 
(((BgL_funz00_bglt)CREF(BgL_obj1301z00_1352))->BgL_arityz00); } 
{ /* ./Ast/apply.scm 103 */
obj_t BgL_framez00_725;
{ /* ./Ast/apply.scm 104 */
BgL_funz00_bglt BgL_funz00_1353;
BgL_funz00_1353 = 
(BgL_funz00_bglt)(BgL_funz00_723); 
{ /* ./Ast/apply.scm 104 */
obj_t BgL_method2690z00_1354;
{ /* ./Ast/apply.scm 104 */
BgL_objectz00_bglt BgL_objz00_1355;
BgL_objz00_1355 = 
(BgL_objectz00_bglt)(BgL_funz00_1353); 
{ /* ./Ast/apply.scm 104 */
long BgL_objzd2classzd2numz00_1356;
BgL_objzd2classzd2numz00_1356 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1355); 
{ /* ./Ast/apply.scm 104 */
obj_t BgL_arg2017z00_1357;
{ /* ./Ast/apply.scm 104 */
int BgL_auxz00_1640;
BgL_auxz00_1640 = 
(int)(((long)1)); 
BgL_arg2017z00_1357 = 
PROCEDURE_REF(BGl_makezd2funzd2framezd2envzd2zzast_applyz00, BgL_auxz00_1640); } 
{ /* ./Ast/apply.scm 104 */
int BgL_offsetz00_1360;
BgL_offsetz00_1360 = 
(int)(BgL_objzd2classzd2numz00_1356); 
{ /* ./Ast/apply.scm 104 */
long BgL_offsetz00_1361;
{ /* ./Ast/apply.scm 104 */
long BgL_auxz00_1644;
BgL_auxz00_1644 = 
(long)(BgL_offsetz00_1360); 
BgL_offsetz00_1361 = 
(BgL_auxz00_1644-OBJECT_TYPE); } 
{ /* ./Ast/apply.scm 104 */
long BgL_modz00_1362;
{ /* ./Ast/apply.scm 104 */
int BgL_arg2028z00_1363;
BgL_arg2028z00_1363 = 
(int)(((long)8)); 
{ /* ./Ast/apply.scm 104 */
long BgL_n2z00_1371;
BgL_n2z00_1371 = 
(long)(BgL_arg2028z00_1363); 
BgL_modz00_1362 = 
(BgL_offsetz00_1361/BgL_n2z00_1371); } } 
{ /* ./Ast/apply.scm 104 */
long BgL_restz00_1364;
{ /* ./Ast/apply.scm 104 */
int BgL_arg2024z00_1365;
BgL_arg2024z00_1365 = 
(int)(((long)8)); 
{ /* ./Ast/apply.scm 104 */
long BgL_n2z00_1374;
BgL_n2z00_1374 = 
(long)(BgL_arg2024z00_1365); 
BgL_restz00_1364 = 
(BgL_offsetz00_1361%BgL_n2z00_1374); } } 
{ /* ./Ast/apply.scm 104 */

{ /* ./Ast/apply.scm 104 */
obj_t BgL_bucketz00_1366;
{ /* ./Ast/apply.scm 104 */
int BgL_kz00_1376;
BgL_kz00_1376 = 
(int)(BgL_modz00_1362); 
BgL_bucketz00_1366 = 
VECTOR_REF(BgL_arg2017z00_1357,BgL_kz00_1376); } 
{ /* ./Ast/apply.scm 104 */
int BgL_kz00_1378;
BgL_kz00_1378 = 
(int)(BgL_restz00_1364); 
BgL_method2690z00_1354 = 
VECTOR_REF(BgL_bucketz00_1366,BgL_kz00_1378); } } } } } } } } } } 
BgL_framez00_725 = 
PROCEDURE_ENTRY(BgL_method2690z00_1354)(BgL_method2690z00_1354, 
(obj_t)(BgL_funz00_1353), BEOA); } } 
{ /* ./Ast/apply.scm 104 */

{ /* ./Ast/apply.scm 106 */
bool_t BgL_test2758z00_726;
BgL_test2758z00_726 = 
(BgL_arityz00_724>((long)0)); 
if(BgL_test2758z00_726)
{ /* ./Ast/apply.scm 106 */
{ /* ./Ast/apply.scm 107 */
BgL_letzd2varzd2_bglt BgL_auxz00_1662;
BgL_auxz00_1662 = 
BGl_fxzd2knownzd2appzd2lyzd2ze3nodeze3zzast_applyz00(BgL_stackz00_9, BgL_locz00_10, BgL_procz00_11, BgL_argz00_12, BgL_framez00_725, BgL_sitez00_13); 
return 
(BgL_nodez00_bglt)(BgL_auxz00_1662);} }  else 
{ /* ./Ast/apply.scm 108 */
bool_t BgL_test2760z00_727;
BgL_test2760z00_727 = 
(BgL_arityz00_724==((long)0)); 
if(BgL_test2760z00_727)
{ /* ./Ast/apply.scm 108 */
{ /* ./Ast/apply.scm 109 */
obj_t BgL_arg2772z00_1389;
{ /* ./Ast/apply.scm 109 */
obj_t BgL_list2775z00_1390;
{ /* ./Ast/apply.scm 109 */
obj_t BgL_auxz00_1667;
BgL_auxz00_1667 = 
(obj_t)(BgL_procz00_11); 
BgL_list2775z00_1390 = 
MAKE_PAIR(BgL_auxz00_1667, BNIL); } 
BgL_arg2772z00_1389 = BgL_list2775z00_1390; } 
return 
BGl_sexpzd2ze3nodez31zzast_sexpz00(BgL_arg2772z00_1389, BgL_stackz00_9, BgL_locz00_10, BgL_sitez00_13);} }  else 
{ /* ./Ast/apply.scm 108 */
{ /* ./Ast/apply.scm 111 */
BgL_letzd2varzd2_bglt BgL_auxz00_1671;
BgL_auxz00_1671 = 
BGl_vazd2knownzd2appzd2lyzd2ze3nodeze3zzast_applyz00(BgL_stackz00_9, BgL_locz00_10, BgL_procz00_11, BgL_argz00_12, BgL_framez00_725, BgL_sitez00_13); 
return 
(BgL_nodez00_bglt)(BgL_auxz00_1671);} } } } } } } } } 
}



/* _known-app-ly->node */
obj_t BGl__knownzd2appzd2lyzd2ze3nodez31zzast_applyz00(obj_t BgL_envz00_1518, obj_t BgL_stackz00_1519, obj_t BgL_locz00_1520, obj_t BgL_procz00_1521, obj_t BgL_argz00_1522, obj_t BgL_sitez00_1523)
{ AN_OBJECT;
{ /* ./Ast/apply.scm 101 */
{ /* ./Ast/apply.scm 102 */
BgL_nodez00_bglt BgL_auxz00_1674;
BgL_auxz00_1674 = 
BGl_knownzd2appzd2lyzd2ze3nodez31zzast_applyz00(BgL_stackz00_1519, BgL_locz00_1520, 
(BgL_nodez00_bglt)(BgL_procz00_1521), 
(BgL_nodez00_bglt)(BgL_argz00_1522), BgL_sitez00_1523); 
return 
(obj_t)(BgL_auxz00_1674);} } 
}



/* fx-known-app-ly->node */
BgL_letzd2varzd2_bglt BGl_fxzd2knownzd2appzd2lyzd2ze3nodeze3zzast_applyz00(obj_t BgL_stackz00_20, obj_t BgL_locz00_21, BgL_nodez00_bglt BgL_procz00_22, BgL_nodez00_bglt BgL_argz00_23, obj_t BgL_framez00_24, obj_t BgL_sitez00_25)
{ AN_OBJECT;
{ /* ./Ast/apply.scm 138 */
{ /* ./Ast/apply.scm 139 */
BgL_localz00_bglt BgL_runnerz00_731;BgL_typez00_bglt BgL_typez00_732;
{ /* ./Ast/apply.scm 139 */
obj_t BgL_arg2996z00_842;
{ /* ./Ast/apply.scm 139 */
obj_t BgL_arg2999z00_843;
BgL_arg2999z00_843 = 
PROCEDURE_ENTRY(BGl_gensymz00zz__r4_symbols_6_4z00)(BGl_gensymz00zz__r4_symbols_6_4z00, 
CNST_TABLE_REF(((long)2)), BEOA); 
BgL_arg2996z00_842 = 
BGl_markzd2symbolzd2nonzd2userz12zc0zzast_identz00(BgL_arg2999z00_843); } 
BgL_runnerz00_731 = 
BGl_makezd2localzd2svarz00zzast_localz00(BgL_arg2996z00_842, 
(BgL_typez00_bglt)(BGl_za2_za2z00zztype_cachez00)); } 
BgL_typez00_732 = 
(((BgL_nodez00_bglt)CREF(BgL_procz00_22))->BgL_typez00); 
{ /* ./Ast/apply.scm 142 */
BgL_variablez00_bglt BgL_obj1105z00_1398;obj_t BgL_val1104z00_1399;
BgL_obj1105z00_1398 = 
(BgL_variablez00_bglt)(BgL_runnerz00_731); 
BgL_val1104z00_1399 = 
CNST_TABLE_REF(((long)3)); 
((((BgL_variablez00_bglt)CREF(BgL_obj1105z00_1398))->BgL_accessz00) = ((obj_t)BgL_val1104z00_1399), BUNSPEC); } 
{ /* ./Ast/apply.scm 144 */
obj_t BgL_arg2779z00_733;BgL_typez00_bglt BgL_arg2780z00_734;obj_t BgL_arg2782z00_736;obj_t BgL_arg2783z00_737;
BgL_arg2779z00_733 = BgL_locz00_21; 
BgL_arg2780z00_734 = BgL_typez00_732; 
{ /* ./Ast/apply.scm 146 */
obj_t BgL_arg2786z00_738;
{ /* ./Ast/apply.scm 146 */
obj_t BgL_auxz00_1691;obj_t BgL_auxz00_1689;
BgL_auxz00_1691 = 
(obj_t)(BgL_argz00_23); 
BgL_auxz00_1689 = 
(obj_t)(BgL_runnerz00_731); 
BgL_arg2786z00_738 = 
MAKE_PAIR(BgL_auxz00_1689, BgL_auxz00_1691); } 
{ /* ./Ast/apply.scm 146 */
obj_t BgL_list2788z00_739;
BgL_list2788z00_739 = 
MAKE_PAIR(BgL_arg2786z00_738, BNIL); 
BgL_arg2782z00_736 = BgL_list2788z00_739; } } 
BgL_arg2783z00_737 = 
BGl_loopz72z72zzast_applyz00(BgL_sitez00_25, BgL_procz00_22, BgL_framez00_24, BgL_stackz00_20, BgL_runnerz00_731, BgL_typez00_732, BgL_locz00_21, BgL_framez00_24); 
return 
BGl_makezd2letzd2varz00zzast_nodez00(BgL_arg2779z00_733, BgL_arg2780z00_734, BUNSPEC, 
BINT(((long)-1)), BgL_arg2782z00_736, 
(BgL_nodez00_bglt)(BgL_arg2783z00_737), ((bool_t)1));} } } 
}



/* loop' */
obj_t BGl_loopz72z72zzast_applyz00(obj_t BgL_sitez00_1548, BgL_nodez00_bglt BgL_procz00_1547, obj_t BgL_framez00_1546, obj_t BgL_stackz00_1545, BgL_localz00_bglt BgL_runnerz00_1544, BgL_typez00_bglt BgL_typez00_1543, obj_t BgL_locz00_1542, obj_t BgL_localsz00_740)
{ AN_OBJECT;
{ /* ./Ast/apply.scm 147 */
{ /* ./Ast/apply.scm 148 */
bool_t BgL_test2792z00_742;
BgL_test2792z00_742 = 
NULLP(BgL_localsz00_740); 
if(BgL_test2792z00_742)
{ /* ./Ast/apply.scm 149 */
BgL_nodez00_bglt BgL_appz00_743;
{ /* ./Ast/apply.scm 151 */
obj_t BgL_arg2862z00_776;obj_t BgL_arg2863z00_777;
{ /* ./Ast/apply.scm 151 */
obj_t BgL_arg2866z00_778;
{ /* ./Ast/apply.scm 151 */
obj_t BgL_arg2869z00_779;
{ /* ./Ast/apply.scm 151 */
bool_t BgL_test2872z00_782;
BgL_test2872z00_782 = 
NULLP(BgL_framez00_1546); 
if(BgL_test2872z00_782)
{ /* ./Ast/apply.scm 151 */
BgL_arg2869z00_779 = BNIL; }  else 
{ /* ./Ast/apply.scm 151 */
obj_t BgL_head2666z00_783;
BgL_head2666z00_783 = 
MAKE_PAIR(BNIL, BNIL); 
{ 
obj_t BgL_l2664z00_784;obj_t BgL_tail2667z00_785;
BgL_l2664z00_784 = BgL_framez00_1546; 
BgL_tail2667z00_785 = BgL_head2666z00_783; 
BgL_map2665z00_786:
{ /* ./Ast/apply.scm 151 */
bool_t BgL_test2874z00_787;
BgL_test2874z00_787 = 
NULLP(BgL_l2664z00_784); 
if(BgL_test2874z00_787)
{ /* ./Ast/apply.scm 151 */
BgL_arg2869z00_779 = 
CDR(BgL_head2666z00_783); }  else 
{ /* ./Ast/apply.scm 152 */
obj_t BgL_newtail2668z00_788;
{ /* ./Ast/apply.scm 152 */
BgL_varz00_bglt BgL_arg2882z00_790;
{ /* ./Ast/apply.scm 152 */
obj_t BgL_localz00_792;
BgL_localz00_792 = 
CAR(BgL_l2664z00_784); 
{ /* ./Ast/apply.scm 153 */
obj_t BgL_arg2886z00_793;BgL_typez00_bglt BgL_arg2887z00_794;obj_t BgL_arg2888z00_795;
BgL_arg2886z00_793 = BgL_locz00_1542; 
{ /* ./Ast/apply.scm 154 */
BgL_variablez00_bglt BgL_obj1097z00_1409;
BgL_obj1097z00_1409 = 
(BgL_variablez00_bglt)(BgL_localz00_792); 
BgL_arg2887z00_794 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1097z00_1409))->BgL_typez00); } 
BgL_arg2888z00_795 = BgL_localz00_792; 
BgL_arg2882z00_790 = 
BGl_makezd2varzd2zzast_nodez00(BgL_arg2886z00_793, BgL_arg2887z00_794, 
(BgL_variablez00_bglt)(BgL_arg2888z00_795)); } } 
{ /* ./Ast/apply.scm 151 */
obj_t BgL_obj1z00_1410;
BgL_obj1z00_1410 = 
(obj_t)(BgL_arg2882z00_790); 
BgL_newtail2668z00_788 = 
MAKE_PAIR(BgL_obj1z00_1410, BNIL); } } 
SET_CDR(BgL_tail2667z00_785, BgL_newtail2668z00_788); 
{ /* ./Ast/apply.scm 151 */
obj_t BgL_arg2878z00_789;
BgL_arg2878z00_789 = 
CDR(BgL_l2664z00_784); 
{ 
obj_t BgL_tail2667z00_1717;obj_t BgL_l2664z00_1716;
BgL_l2664z00_1716 = BgL_arg2878z00_789; 
BgL_tail2667z00_1717 = BgL_newtail2668z00_788; 
BgL_tail2667z00_785 = BgL_tail2667z00_1717; 
BgL_l2664z00_784 = BgL_l2664z00_1716; 
goto BgL_map2665z00_786;} } } } } } } 
BgL_arg2866z00_778 = 
BGl_eappendzd22zd2zz__r4_pairs_and_lists_6_3z00(BgL_arg2869z00_779, BNIL); } 
{ /* ./Ast/apply.scm 150 */
obj_t BgL_auxz00_1719;
BgL_auxz00_1719 = 
(obj_t)(BgL_procz00_1547); 
BgL_arg2862z00_776 = 
MAKE_PAIR(BgL_auxz00_1719, BgL_arg2866z00_778); } } 
BgL_arg2863z00_777 = 
CNST_TABLE_REF(((long)1)); 
BgL_appz00_743 = 
BGl_applicationzd2ze3nodez31zzast_appz00(BgL_arg2862z00_776, BgL_stackz00_1545, BgL_locz00_1542, BgL_arg2863z00_777); } 
if(
CBOOL(BGl_za2unsafezd2arityza2zd2zzengine_paramz00))
{ /* ./Ast/apply.scm 160 */
return 
(obj_t)(BgL_appz00_743);}  else 
{ /* ./Ast/apply.scm 163 */
obj_t BgL_arg2794z00_744;
{ /* ./Ast/apply.scm 163 */
obj_t BgL_arg2797z00_745;obj_t BgL_arg2798z00_746;
BgL_arg2797z00_745 = 
CNST_TABLE_REF(((long)4)); 
{ /* ./Ast/apply.scm 163 */
obj_t BgL_arg2801z00_747;obj_t BgL_arg2802z00_748;
{ /* ./Ast/apply.scm 163 */
obj_t BgL_arg2805z00_749;obj_t BgL_arg2806z00_750;
BgL_arg2805z00_749 = 
CNST_TABLE_REF(((long)5)); 
{ /* ./Ast/apply.scm 163 */
obj_t BgL_arg2809z00_751;
{ /* ./Ast/apply.scm 163 */
obj_t BgL_arg2813z00_753;obj_t BgL_arg2814z00_754;
BgL_arg2813z00_753 = 
CNST_TABLE_REF(((long)6)); 
{ /* ./Ast/apply.scm 165 */
BgL_varz00_bglt BgL_arg2817z00_755;
{ /* ./Ast/apply.scm 165 */
obj_t BgL_arg2821z00_757;BgL_typez00_bglt BgL_arg2822z00_758;BgL_localz00_bglt BgL_arg2823z00_759;
BgL_arg2821z00_757 = BgL_locz00_1542; 
{ /* ./Ast/apply.scm 166 */
BgL_variablez00_bglt BgL_obj1097z00_1415;
BgL_obj1097z00_1415 = 
(BgL_variablez00_bglt)(BgL_runnerz00_1544); 
BgL_arg2822z00_758 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1097z00_1415))->BgL_typez00); } 
BgL_arg2823z00_759 = BgL_runnerz00_1544; 
BgL_arg2817z00_755 = 
BGl_makezd2varzd2zzast_nodez00(BgL_arg2821z00_757, BgL_arg2822z00_758, 
(BgL_variablez00_bglt)(BgL_arg2823z00_759)); } 
{ /* ./Ast/apply.scm 163 */
obj_t BgL_auxz00_1734;
BgL_auxz00_1734 = 
(obj_t)(BgL_arg2817z00_755); 
BgL_arg2814z00_754 = 
MAKE_PAIR(BgL_auxz00_1734, BNIL); } } 
BgL_arg2809z00_751 = 
MAKE_PAIR(BgL_arg2813z00_753, BgL_arg2814z00_754); } 
BgL_arg2806z00_750 = 
MAKE_PAIR(BgL_arg2809z00_751, BNIL); } 
BgL_arg2801z00_747 = 
MAKE_PAIR(BgL_arg2805z00_749, BgL_arg2806z00_750); } 
{ /* ./Ast/apply.scm 169 */
obj_t BgL_arg2827z00_760;
{ /* ./Ast/apply.scm 169 */
obj_t BgL_arg2830z00_761;
{ /* ./Ast/apply.scm 169 */
obj_t BgL_arg2834z00_763;obj_t BgL_arg2835z00_764;
BgL_arg2834z00_763 = 
CNST_TABLE_REF(((long)7)); 
{ /* ./Ast/apply.scm 169 */
obj_t BgL_arg2839z00_766;
{ /* ./Ast/apply.scm 169 */
obj_t BgL_arg2843z00_768;
{ /* ./Ast/apply.scm 171 */
obj_t BgL_arg2846z00_769;
{ /* ./Ast/apply.scm 171 */
obj_t BgL_arg2850z00_771;obj_t BgL_arg2851z00_772;
BgL_arg2850z00_771 = 
CNST_TABLE_REF(((long)8)); 
{ /* ./Ast/apply.scm 171 */
obj_t BgL_arg2854z00_773;
{ /* ./Ast/apply.scm 171 */
BgL_variablez00_bglt BgL_arg2858z00_775;
{ /* ./Ast/apply.scm 171 */
BgL_varz00_bglt BgL_obj1625z00_1416;
BgL_obj1625z00_1416 = 
(BgL_varz00_bglt)(BgL_procz00_1547); 
BgL_arg2858z00_775 = 
(((BgL_varz00_bglt)CREF(BgL_obj1625z00_1416))->BgL_variablez00); } 
BgL_arg2854z00_773 = 
BGl_shapez00zztools_shapez00(
(obj_t)(BgL_arg2858z00_775)); } 
BgL_arg2851z00_772 = 
MAKE_PAIR(BgL_arg2854z00_773, BNIL); } 
BgL_arg2846z00_769 = 
MAKE_PAIR(BgL_arg2850z00_771, BgL_arg2851z00_772); } 
BgL_arg2843z00_768 = 
MAKE_PAIR(BgL_arg2846z00_769, BNIL); } 
BgL_arg2839z00_766 = 
MAKE_PAIR(BGl_string3734z00zzast_applyz00, BgL_arg2843z00_768); } 
BgL_arg2835z00_764 = 
MAKE_PAIR(BGl_string3735z00zzast_applyz00, BgL_arg2839z00_766); } 
BgL_arg2830z00_761 = 
MAKE_PAIR(BgL_arg2834z00_763, BgL_arg2835z00_764); } 
BgL_arg2827z00_760 = 
MAKE_PAIR(BgL_arg2830z00_761, BNIL); } 
{ /* ./Ast/apply.scm 163 */
obj_t BgL_auxz00_1753;
BgL_auxz00_1753 = 
(obj_t)(BgL_appz00_743); 
BgL_arg2802z00_748 = 
MAKE_PAIR(BgL_auxz00_1753, BgL_arg2827z00_760); } } 
BgL_arg2798z00_746 = 
MAKE_PAIR(BgL_arg2801z00_747, BgL_arg2802z00_748); } 
BgL_arg2794z00_744 = 
MAKE_PAIR(BgL_arg2797z00_745, BgL_arg2798z00_746); } 
{ /* ./Ast/apply.scm 162 */
BgL_nodez00_bglt BgL_auxz00_1758;
BgL_auxz00_1758 = 
BGl_sexpzd2ze3nodez31zzast_sexpz00(BgL_arg2794z00_744, BgL_stackz00_1545, BgL_locz00_1542, BgL_sitez00_1548); 
return 
(obj_t)(BgL_auxz00_1758);} } }  else 
{ /* ./Ast/apply.scm 176 */
obj_t BgL_arg2896z00_796;BgL_typez00_bglt BgL_arg2897z00_797;obj_t BgL_arg2899z00_799;obj_t BgL_arg2900z00_800;
BgL_arg2896z00_796 = BgL_locz00_1542; 
BgL_arg2897z00_797 = BgL_typez00_1543; 
{ /* ./Ast/apply.scm 179 */
obj_t BgL_arg2903z00_801;
{ /* ./Ast/apply.scm 179 */
obj_t BgL_arg2908z00_803;BgL_nodez00_bglt BgL_arg2909z00_804;
BgL_arg2908z00_803 = 
CAR(BgL_localsz00_740); 
{ /* ./Ast/apply.scm 181 */
obj_t BgL_arg2913z00_805;obj_t BgL_arg2914z00_806;
{ /* ./Ast/apply.scm 181 */
obj_t BgL_arg2917z00_807;obj_t BgL_arg2918z00_808;
BgL_arg2917z00_807 = 
CNST_TABLE_REF(((long)9)); 
{ /* ./Ast/apply.scm 183 */
BgL_varz00_bglt BgL_arg2921z00_809;
{ /* ./Ast/apply.scm 183 */
obj_t BgL_arg2925z00_811;BgL_typez00_bglt BgL_arg2926z00_812;BgL_localz00_bglt BgL_arg2927z00_813;
BgL_arg2925z00_811 = BgL_locz00_1542; 
{ /* ./Ast/apply.scm 184 */
BgL_variablez00_bglt BgL_obj1097z00_1418;
BgL_obj1097z00_1418 = 
(BgL_variablez00_bglt)(BgL_runnerz00_1544); 
BgL_arg2926z00_812 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1097z00_1418))->BgL_typez00); } 
BgL_arg2927z00_813 = BgL_runnerz00_1544; 
BgL_arg2921z00_809 = 
BGl_makezd2varzd2zzast_nodez00(BgL_arg2925z00_811, BgL_arg2926z00_812, 
(BgL_variablez00_bglt)(BgL_arg2927z00_813)); } 
{ /* ./Ast/apply.scm 181 */
obj_t BgL_auxz00_1767;
BgL_auxz00_1767 = 
(obj_t)(BgL_arg2921z00_809); 
BgL_arg2918z00_808 = 
MAKE_PAIR(BgL_auxz00_1767, BNIL); } } 
BgL_arg2913z00_805 = 
MAKE_PAIR(BgL_arg2917z00_807, BgL_arg2918z00_808); } 
BgL_arg2914z00_806 = 
CNST_TABLE_REF(((long)1)); 
BgL_arg2909z00_804 = 
BGl_sexpzd2ze3nodez31zzast_sexpz00(BgL_arg2913z00_805, BgL_stackz00_1545, BgL_locz00_1542, BgL_arg2914z00_806); } 
{ /* ./Ast/apply.scm 178 */
obj_t BgL_auxz00_1773;
BgL_auxz00_1773 = 
(obj_t)(BgL_arg2909z00_804); 
BgL_arg2903z00_801 = 
MAKE_PAIR(BgL_arg2908z00_803, BgL_auxz00_1773); } } 
{ /* ./Ast/apply.scm 178 */
obj_t BgL_list2905z00_802;
BgL_list2905z00_802 = 
MAKE_PAIR(BgL_arg2903z00_801, BNIL); 
BgL_arg2899z00_799 = BgL_list2905z00_802; } } 
{ /* ./Ast/apply.scm 189 */
bool_t BgL_test2930z00_814;
{ /* ./Ast/apply.scm 189 */
obj_t BgL_auxz00_1777;
BgL_auxz00_1777 = 
CDR(BgL_localsz00_740); 
BgL_test2930z00_814 = 
NULLP(BgL_auxz00_1777); } 
if(BgL_test2930z00_814)
{ /* ./Ast/apply.scm 190 */
obj_t BgL_arg2932z00_815;
BgL_arg2932z00_815 = 
CDR(BgL_localsz00_740); 
BgL_arg2900z00_800 = 
BGl_loopz72z72zzast_applyz00(BgL_sitez00_1548, BgL_procz00_1547, BgL_framez00_1546, BgL_stackz00_1545, BgL_runnerz00_1544, BgL_typez00_1543, BgL_locz00_1542, BgL_arg2932z00_815); }  else 
{ /* ./Ast/apply.scm 192 */
obj_t BgL_arg2936z00_816;obj_t BgL_arg2937z00_817;
{ /* ./Ast/apply.scm 192 */
obj_t BgL_arg2940z00_818;obj_t BgL_arg2941z00_819;
BgL_arg2940z00_818 = 
CNST_TABLE_REF(((long)10)); 
{ /* ./Ast/apply.scm 193 */
obj_t BgL_arg2944z00_820;obj_t BgL_arg2946z00_821;
{ /* ./Ast/apply.scm 193 */
obj_t BgL_arg2949z00_822;obj_t BgL_arg2950z00_823;
BgL_arg2949z00_822 = 
CNST_TABLE_REF(((long)11)); 
{ /* ./Ast/apply.scm 194 */
BgL_varz00_bglt BgL_arg2953z00_824;obj_t BgL_arg2954z00_825;
{ /* ./Ast/apply.scm 194 */
obj_t BgL_arg2957z00_826;BgL_typez00_bglt BgL_arg2959z00_827;BgL_localz00_bglt BgL_arg2960z00_828;
BgL_arg2957z00_826 = BgL_locz00_1542; 
{ /* ./Ast/apply.scm 195 */
BgL_variablez00_bglt BgL_obj1097z00_1424;
BgL_obj1097z00_1424 = 
(BgL_variablez00_bglt)(BgL_runnerz00_1544); 
BgL_arg2959z00_827 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1097z00_1424))->BgL_typez00); } 
BgL_arg2960z00_828 = BgL_runnerz00_1544; 
BgL_arg2953z00_824 = 
BGl_makezd2varzd2zzast_nodez00(BgL_arg2957z00_826, BgL_arg2959z00_827, 
(BgL_variablez00_bglt)(BgL_arg2960z00_828)); } 
{ /* ./Ast/apply.scm 197 */
obj_t BgL_arg2964z00_829;
{ /* ./Ast/apply.scm 197 */
obj_t BgL_arg2968z00_831;obj_t BgL_arg2969z00_832;
BgL_arg2968z00_831 = 
CNST_TABLE_REF(((long)6)); 
{ /* ./Ast/apply.scm 199 */
BgL_varz00_bglt BgL_arg2973z00_833;
{ /* ./Ast/apply.scm 199 */
obj_t BgL_arg2977z00_835;BgL_typez00_bglt BgL_arg2978z00_836;BgL_localz00_bglt BgL_arg2979z00_837;
BgL_arg2977z00_835 = BgL_locz00_1542; 
{ /* ./Ast/apply.scm 200 */
BgL_variablez00_bglt BgL_obj1097z00_1425;
BgL_obj1097z00_1425 = 
(BgL_variablez00_bglt)(BgL_runnerz00_1544); 
BgL_arg2978z00_836 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1097z00_1425))->BgL_typez00); } 
BgL_arg2979z00_837 = BgL_runnerz00_1544; 
BgL_arg2973z00_833 = 
BGl_makezd2varzd2zzast_nodez00(BgL_arg2977z00_835, BgL_arg2978z00_836, 
(BgL_variablez00_bglt)(BgL_arg2979z00_837)); } 
{ /* ./Ast/apply.scm 197 */
obj_t BgL_auxz00_1794;
BgL_auxz00_1794 = 
(obj_t)(BgL_arg2973z00_833); 
BgL_arg2969z00_832 = 
MAKE_PAIR(BgL_auxz00_1794, BNIL); } } 
BgL_arg2964z00_829 = 
MAKE_PAIR(BgL_arg2968z00_831, BgL_arg2969z00_832); } 
BgL_arg2954z00_825 = 
MAKE_PAIR(BgL_arg2964z00_829, BNIL); } 
{ /* ./Ast/apply.scm 193 */
obj_t BgL_auxz00_1799;
BgL_auxz00_1799 = 
(obj_t)(BgL_arg2953z00_824); 
BgL_arg2950z00_823 = 
MAKE_PAIR(BgL_auxz00_1799, BgL_arg2954z00_825); } } 
BgL_arg2944z00_820 = 
MAKE_PAIR(BgL_arg2949z00_822, BgL_arg2950z00_823); } 
{ /* ./Ast/apply.scm 202 */
obj_t BgL_arg2983z00_838;
{ /* ./Ast/apply.scm 202 */
obj_t BgL_arg2987z00_840;
BgL_arg2987z00_840 = 
CDR(BgL_localsz00_740); 
BgL_arg2983z00_838 = 
BGl_loopz72z72zzast_applyz00(BgL_sitez00_1548, BgL_procz00_1547, BgL_framez00_1546, BgL_stackz00_1545, BgL_runnerz00_1544, BgL_typez00_1543, BgL_locz00_1542, BgL_arg2987z00_840); } 
BgL_arg2946z00_821 = 
MAKE_PAIR(BgL_arg2983z00_838, BNIL); } 
BgL_arg2941z00_819 = 
MAKE_PAIR(BgL_arg2944z00_820, BgL_arg2946z00_821); } 
BgL_arg2936z00_816 = 
MAKE_PAIR(BgL_arg2940z00_818, BgL_arg2941z00_819); } 
BgL_arg2937z00_817 = 
CNST_TABLE_REF(((long)1)); 
{ /* ./Ast/apply.scm 191 */
BgL_nodez00_bglt BgL_auxz00_1809;
BgL_auxz00_1809 = 
BGl_sexpzd2ze3nodez31zzast_sexpz00(BgL_arg2936z00_816, BgL_stackz00_1545, BgL_locz00_1542, BgL_arg2937z00_817); 
BgL_arg2900z00_800 = 
(obj_t)(BgL_auxz00_1809); } } } 
{ /* ./Ast/apply.scm 175 */
BgL_letzd2varzd2_bglt BgL_auxz00_1812;
BgL_auxz00_1812 = 
BGl_makezd2letzd2varz00zzast_nodez00(BgL_arg2896z00_796, BgL_arg2897z00_797, BUNSPEC, 
BINT(((long)-1)), BgL_arg2899z00_799, 
(BgL_nodez00_bglt)(BgL_arg2900z00_800), ((bool_t)1)); 
return 
(obj_t)(BgL_auxz00_1812);} } } } 
}



/* va-known-app-ly->node */
BgL_letzd2varzd2_bglt BGl_vazd2knownzd2appzd2lyzd2ze3nodeze3zzast_applyz00(obj_t BgL_stackz00_26, obj_t BgL_locz00_27, BgL_nodez00_bglt BgL_procz00_28, BgL_nodez00_bglt BgL_argz00_29, obj_t BgL_framez00_30, obj_t BgL_sitez00_31)
{ AN_OBJECT;
{ /* ./Ast/apply.scm 223 */
{ /* ./Ast/apply.scm 224 */
obj_t BgL_framez00_1541;
BgL_framez00_1541 = 
MAKE_CELL(BgL_framez00_30); 
{ /* ./Ast/apply.scm 224 */
BgL_localz00_bglt BgL_runnerz00_844;BgL_typez00_bglt BgL_typez00_845;
{ /* ./Ast/apply.scm 224 */
obj_t BgL_arg3162z00_930;
{ /* ./Ast/apply.scm 224 */
obj_t BgL_arg3165z00_931;
BgL_arg3165z00_931 = 
PROCEDURE_ENTRY(BGl_gensymz00zz__r4_symbols_6_4z00)(BGl_gensymz00zz__r4_symbols_6_4z00, 
CNST_TABLE_REF(((long)2)), BEOA); 
BgL_arg3162z00_930 = 
BGl_markzd2symbolzd2nonzd2userz12zc0zzast_identz00(BgL_arg3165z00_931); } 
BgL_runnerz00_844 = 
BGl_makezd2localzd2svarz00zzast_localz00(BgL_arg3162z00_930, 
(BgL_typez00_bglt)(BGl_za2_za2z00zztype_cachez00)); } 
BgL_typez00_845 = 
(((BgL_nodez00_bglt)CREF(BgL_procz00_28))->BgL_typez00); 
{ /* ./Ast/apply.scm 227 */
bool_t BgL_test3003z00_846;
{ /* ./Ast/apply.scm 227 */
obj_t BgL_objz00_1428;
BgL_objz00_1428 = 
CELL_REF(BgL_framez00_1541); 
BgL_test3003z00_846 = 
PAIRP(BgL_objz00_1428); } 
if(BgL_test3003z00_846)
{ /* ./Ast/apply.scm 228 */
BgL_variablez00_bglt BgL_obj1105z00_1429;obj_t BgL_val1104z00_1430;
BgL_obj1105z00_1429 = 
(BgL_variablez00_bglt)(BgL_runnerz00_844); 
BgL_val1104z00_1430 = 
CNST_TABLE_REF(((long)3)); 
((((BgL_variablez00_bglt)CREF(BgL_obj1105z00_1429))->BgL_accessz00) = ((obj_t)BgL_val1104z00_1430), BUNSPEC); }  else 
{ /* ./Ast/apply.scm 227 */BFALSE; } } 
{ /* ./Ast/apply.scm 230 */
obj_t BgL_arg3007z00_847;BgL_typez00_bglt BgL_arg3008z00_848;obj_t BgL_arg3010z00_850;obj_t BgL_arg3011z00_851;
BgL_arg3007z00_847 = BgL_locz00_27; 
BgL_arg3008z00_848 = BgL_typez00_845; 
{ /* ./Ast/apply.scm 232 */
obj_t BgL_arg3014z00_852;
{ /* ./Ast/apply.scm 232 */
obj_t BgL_auxz00_1831;obj_t BgL_auxz00_1829;
BgL_auxz00_1831 = 
(obj_t)(BgL_argz00_29); 
BgL_auxz00_1829 = 
(obj_t)(BgL_runnerz00_844); 
BgL_arg3014z00_852 = 
MAKE_PAIR(BgL_auxz00_1829, BgL_auxz00_1831); } 
{ /* ./Ast/apply.scm 232 */
obj_t BgL_list3016z00_853;
BgL_list3016z00_853 = 
MAKE_PAIR(BgL_arg3014z00_852, BNIL); 
BgL_arg3010z00_850 = BgL_list3016z00_853; } } 
BgL_arg3011z00_851 = 
BGl_loopz00zzast_applyz00(BgL_procz00_28, BgL_framez00_1541, BgL_stackz00_26, BgL_runnerz00_844, BgL_typez00_845, BgL_locz00_27, 
CELL_REF(BgL_framez00_1541), BNIL); 
return 
BGl_makezd2letzd2varz00zzast_nodez00(BgL_arg3007z00_847, BgL_arg3008z00_848, BUNSPEC, 
BINT(((long)-1)), BgL_arg3010z00_850, 
(BgL_nodez00_bglt)(BgL_arg3011z00_851), ((bool_t)1));} } } } 
}



/* loop */
obj_t BGl_loopz00zzast_applyz00(BgL_nodez00_bglt BgL_procz00_1539, obj_t BgL_framez00_1538, obj_t BgL_stackz00_1537, BgL_localz00_bglt BgL_runnerz00_1536, BgL_typez00_bglt BgL_typez00_1535, obj_t BgL_locz00_1534, obj_t BgL_localsz00_854, obj_t BgL_oldz00_855)
{ AN_OBJECT;
{ /* ./Ast/apply.scm 233 */
{ /* ./Ast/apply.scm 235 */
bool_t BgL_test3020z00_857;
BgL_test3020z00_857 = 
NULLP(BgL_localsz00_854); 
if(BgL_test3020z00_857)
{ /* ./Ast/apply.scm 235 */
{ /* ./Ast/apply.scm 237 */
bool_t BgL_test3021z00_858;
BgL_test3021z00_858 = 
NULLP(BgL_oldz00_855); 
if(BgL_test3021z00_858)
{ /* ./Ast/apply.scm 238 */
obj_t BgL_auxz00_1540;
{ /* ./Ast/apply.scm 238 */
obj_t BgL_list3023z00_859;
{ /* ./Ast/apply.scm 238 */
obj_t BgL_auxz00_1843;
BgL_auxz00_1843 = 
(obj_t)(BgL_runnerz00_1536); 
BgL_list3023z00_859 = 
MAKE_PAIR(BgL_auxz00_1843, BNIL); } 
BgL_auxz00_1540 = BgL_list3023z00_859; } 
CELL_SET(BgL_framez00_1538, BgL_auxz00_1540); }  else 
{ /* ./Ast/apply.scm 239 */
obj_t BgL_arg3026z00_860;
{ /* ./Ast/apply.scm 239 */
obj_t BgL_auxz00_1846;
BgL_auxz00_1846 = 
(obj_t)(BgL_runnerz00_1536); 
BgL_arg3026z00_860 = 
MAKE_PAIR(BgL_auxz00_1846, BNIL); } 
SET_CDR(BgL_oldz00_855, BgL_arg3026z00_860); } } 
{ /* ./Ast/apply.scm 241 */
obj_t BgL_arg3031z00_861;BgL_typez00_bglt BgL_arg3032z00_862;BgL_varz00_bglt BgL_arg3034z00_864;obj_t BgL_arg3035z00_865;
BgL_arg3031z00_861 = BgL_locz00_1534; 
{ /* ./Ast/apply.scm 242 */
BgL_variablez00_bglt BgL_arg3038z00_866;
{ /* ./Ast/apply.scm 242 */
BgL_varz00_bglt BgL_obj1625z00_1439;
BgL_obj1625z00_1439 = 
(BgL_varz00_bglt)(BgL_procz00_1539); 
BgL_arg3038z00_866 = 
(((BgL_varz00_bglt)CREF(BgL_obj1625z00_1439))->BgL_variablez00); } 
BgL_arg3032z00_862 = 
(((BgL_variablez00_bglt)CREF(BgL_arg3038z00_866))->BgL_typez00); } 
{ /* ./Ast/apply.scm 243 */
BgL_varz00_bglt BgL_duplicated2677z00_867;
BgL_duplicated2677z00_867 = 
(BgL_varz00_bglt)(BgL_procz00_1539); 
{ /* ./Ast/apply.scm 243 */
BgL_varz00_bglt BgL_new2678z00_868;
{ /* ./Ast/apply.scm 243 */
obj_t BgL_arg3042z00_869;BgL_typez00_bglt BgL_arg3043z00_870;BgL_variablez00_bglt BgL_arg3044z00_871;
{ /* ./Ast/apply.scm 243 */
BgL_nodez00_bglt BgL_obj1560z00_1441;
BgL_obj1560z00_1441 = 
(BgL_nodez00_bglt)(BgL_duplicated2677z00_867); 
BgL_arg3042z00_869 = 
(((BgL_nodez00_bglt)CREF(BgL_obj1560z00_1441))->BgL_locz00); } 
{ /* ./Ast/apply.scm 243 */
BgL_nodez00_bglt BgL_obj1561z00_1442;
BgL_obj1561z00_1442 = 
(BgL_nodez00_bglt)(BgL_duplicated2677z00_867); 
BgL_arg3043z00_870 = 
(((BgL_nodez00_bglt)CREF(BgL_obj1561z00_1442))->BgL_typez00); } 
BgL_arg3044z00_871 = 
(((BgL_varz00_bglt)CREF(BgL_duplicated2677z00_867))->BgL_variablez00); 
BgL_new2678z00_868 = 
BGl_makezd2varzd2zzast_nodez00(BgL_arg3042z00_869, BgL_arg3043z00_870, BgL_arg3044z00_871); } 
{ /* ./Ast/apply.scm 243 */

BgL_arg3034z00_864 = BgL_new2678z00_868; } } } 
{ /* ./Ast/apply.scm 244 */
obj_t BgL_l2679z00_872;
BgL_l2679z00_872 = 
CELL_REF(BgL_framez00_1538); 
{ /* ./Ast/apply.scm 244 */
bool_t BgL_test3049z00_873;
BgL_test3049z00_873 = 
NULLP(BgL_l2679z00_872); 
if(BgL_test3049z00_873)
{ /* ./Ast/apply.scm 244 */
BgL_arg3035z00_865 = BNIL; }  else 
{ /* ./Ast/apply.scm 244 */
obj_t BgL_head2681z00_874;
BgL_head2681z00_874 = 
MAKE_PAIR(BNIL, BNIL); 
{ 
obj_t BgL_l2679z00_875;obj_t BgL_tail2682z00_876;
BgL_l2679z00_875 = BgL_l2679z00_872; 
BgL_tail2682z00_876 = BgL_head2681z00_874; 
BgL_map2680z00_877:
{ /* ./Ast/apply.scm 244 */
bool_t BgL_test3051z00_878;
BgL_test3051z00_878 = 
NULLP(BgL_l2679z00_875); 
if(BgL_test3051z00_878)
{ /* ./Ast/apply.scm 244 */
BgL_arg3035z00_865 = 
CDR(BgL_head2681z00_874); }  else 
{ /* ./Ast/apply.scm 245 */
obj_t BgL_newtail2683z00_879;
{ /* ./Ast/apply.scm 245 */
BgL_varz00_bglt BgL_arg3059z00_881;
{ /* ./Ast/apply.scm 245 */
obj_t BgL_localz00_883;
BgL_localz00_883 = 
CAR(BgL_l2679z00_875); 
{ /* ./Ast/apply.scm 246 */
obj_t BgL_arg3064z00_884;BgL_typez00_bglt BgL_arg3065z00_885;obj_t BgL_arg3066z00_886;
BgL_arg3064z00_884 = BgL_locz00_1534; 
{ /* ./Ast/apply.scm 247 */
BgL_variablez00_bglt BgL_obj1097z00_1450;
BgL_obj1097z00_1450 = 
(BgL_variablez00_bglt)(BgL_localz00_883); 
BgL_arg3065z00_885 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1097z00_1450))->BgL_typez00); } 
BgL_arg3066z00_886 = BgL_localz00_883; 
BgL_arg3059z00_881 = 
BGl_makezd2varzd2zzast_nodez00(BgL_arg3064z00_884, BgL_arg3065z00_885, 
(BgL_variablez00_bglt)(BgL_arg3066z00_886)); } } 
{ /* ./Ast/apply.scm 244 */
obj_t BgL_obj1z00_1451;
BgL_obj1z00_1451 = 
(obj_t)(BgL_arg3059z00_881); 
BgL_newtail2683z00_879 = 
MAKE_PAIR(BgL_obj1z00_1451, BNIL); } } 
SET_CDR(BgL_tail2682z00_876, BgL_newtail2683z00_879); 
{ /* ./Ast/apply.scm 244 */
obj_t BgL_arg3055z00_880;
BgL_arg3055z00_880 = 
CDR(BgL_l2679z00_875); 
{ 
obj_t BgL_tail2682z00_1876;obj_t BgL_l2679z00_1875;
BgL_l2679z00_1875 = BgL_arg3055z00_880; 
BgL_tail2682z00_1876 = BgL_newtail2683z00_879; 
BgL_tail2682z00_876 = BgL_tail2682z00_1876; 
BgL_l2679z00_875 = BgL_l2679z00_1875; 
goto BgL_map2680z00_877;} } } } } } } } 
{ /* ./Ast/apply.scm 240 */
BgL_appz00_bglt BgL_auxz00_1877;
BgL_auxz00_1877 = 
BGl_makezd2appzd2zzast_nodez00(BgL_arg3031z00_861, BgL_arg3032z00_862, BUNSPEC, 
BINT(((long)-1)), BgL_arg3034z00_864, BgL_arg3035z00_865); 
return 
(obj_t)(BgL_auxz00_1877);} } }  else 
{ /* ./Ast/apply.scm 251 */
obj_t BgL_arg3074z00_887;BgL_typez00_bglt BgL_arg3075z00_888;obj_t BgL_arg3077z00_890;BgL_nodez00_bglt BgL_arg3078z00_891;
BgL_arg3074z00_887 = BgL_locz00_1534; 
BgL_arg3075z00_888 = BgL_typez00_1535; 
{ /* ./Ast/apply.scm 254 */
obj_t BgL_arg3081z00_892;
{ /* ./Ast/apply.scm 254 */
obj_t BgL_arg3086z00_894;BgL_nodez00_bglt BgL_arg3087z00_895;
BgL_arg3086z00_894 = 
CAR(BgL_localsz00_854); 
{ /* ./Ast/apply.scm 256 */
obj_t BgL_arg3091z00_896;obj_t BgL_arg3092z00_897;
{ /* ./Ast/apply.scm 256 */
obj_t BgL_arg3095z00_898;obj_t BgL_arg3096z00_899;
BgL_arg3095z00_898 = 
CNST_TABLE_REF(((long)9)); 
{ /* ./Ast/apply.scm 258 */
BgL_varz00_bglt BgL_arg3099z00_900;
{ /* ./Ast/apply.scm 258 */
obj_t BgL_arg3103z00_902;BgL_typez00_bglt BgL_arg3104z00_903;BgL_localz00_bglt BgL_arg3105z00_904;
BgL_arg3103z00_902 = BgL_locz00_1534; 
{ /* ./Ast/apply.scm 259 */
BgL_variablez00_bglt BgL_obj1097z00_1457;
BgL_obj1097z00_1457 = 
(BgL_variablez00_bglt)(BgL_runnerz00_1536); 
BgL_arg3104z00_903 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1097z00_1457))->BgL_typez00); } 
BgL_arg3105z00_904 = BgL_runnerz00_1536; 
BgL_arg3099z00_900 = 
BGl_makezd2varzd2zzast_nodez00(BgL_arg3103z00_902, BgL_arg3104z00_903, 
(BgL_variablez00_bglt)(BgL_arg3105z00_904)); } 
{ /* ./Ast/apply.scm 256 */
obj_t BgL_auxz00_1887;
BgL_auxz00_1887 = 
(obj_t)(BgL_arg3099z00_900); 
BgL_arg3096z00_899 = 
MAKE_PAIR(BgL_auxz00_1887, BNIL); } } 
BgL_arg3091z00_896 = 
MAKE_PAIR(BgL_arg3095z00_898, BgL_arg3096z00_899); } 
BgL_arg3092z00_897 = 
CNST_TABLE_REF(((long)1)); 
BgL_arg3087z00_895 = 
BGl_sexpzd2ze3nodez31zzast_sexpz00(BgL_arg3091z00_896, BgL_stackz00_1537, BgL_locz00_1534, BgL_arg3092z00_897); } 
{ /* ./Ast/apply.scm 253 */
obj_t BgL_auxz00_1893;
BgL_auxz00_1893 = 
(obj_t)(BgL_arg3087z00_895); 
BgL_arg3081z00_892 = 
MAKE_PAIR(BgL_arg3086z00_894, BgL_auxz00_1893); } } 
{ /* ./Ast/apply.scm 253 */
obj_t BgL_list3083z00_893;
BgL_list3083z00_893 = 
MAKE_PAIR(BgL_arg3081z00_892, BNIL); 
BgL_arg3077z00_890 = BgL_list3083z00_893; } } 
{ /* ./Ast/apply.scm 265 */
obj_t BgL_arg3109z00_905;obj_t BgL_arg3110z00_906;
{ /* ./Ast/apply.scm 265 */
obj_t BgL_arg3113z00_907;obj_t BgL_arg3114z00_908;
BgL_arg3113z00_907 = 
CNST_TABLE_REF(((long)10)); 
{ /* ./Ast/apply.scm 266 */
obj_t BgL_arg3117z00_909;obj_t BgL_arg3118z00_910;
{ /* ./Ast/apply.scm 266 */
obj_t BgL_arg3121z00_911;obj_t BgL_arg3122z00_912;
BgL_arg3121z00_911 = 
CNST_TABLE_REF(((long)11)); 
{ /* ./Ast/apply.scm 267 */
BgL_varz00_bglt BgL_arg3125z00_913;obj_t BgL_arg3126z00_914;
{ /* ./Ast/apply.scm 267 */
obj_t BgL_arg3129z00_915;BgL_typez00_bglt BgL_arg3130z00_916;BgL_localz00_bglt BgL_arg3131z00_917;
BgL_arg3129z00_915 = BgL_locz00_1534; 
{ /* ./Ast/apply.scm 268 */
BgL_variablez00_bglt BgL_obj1097z00_1460;
BgL_obj1097z00_1460 = 
(BgL_variablez00_bglt)(BgL_runnerz00_1536); 
BgL_arg3130z00_916 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1097z00_1460))->BgL_typez00); } 
BgL_arg3131z00_917 = BgL_runnerz00_1536; 
BgL_arg3125z00_913 = 
BGl_makezd2varzd2zzast_nodez00(BgL_arg3129z00_915, BgL_arg3130z00_916, 
(BgL_variablez00_bglt)(BgL_arg3131z00_917)); } 
{ /* ./Ast/apply.scm 270 */
obj_t BgL_arg3135z00_918;
{ /* ./Ast/apply.scm 270 */
obj_t BgL_arg3139z00_920;obj_t BgL_arg3140z00_921;
BgL_arg3139z00_920 = 
CNST_TABLE_REF(((long)6)); 
{ /* ./Ast/apply.scm 271 */
BgL_varz00_bglt BgL_arg3143z00_922;
{ /* ./Ast/apply.scm 271 */
obj_t BgL_arg3147z00_924;BgL_typez00_bglt BgL_arg3148z00_925;BgL_localz00_bglt BgL_arg3149z00_926;
BgL_arg3147z00_924 = BgL_locz00_1534; 
{ /* ./Ast/apply.scm 272 */
BgL_variablez00_bglt BgL_obj1097z00_1461;
BgL_obj1097z00_1461 = 
(BgL_variablez00_bglt)(BgL_runnerz00_1536); 
BgL_arg3148z00_925 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1097z00_1461))->BgL_typez00); } 
BgL_arg3149z00_926 = BgL_runnerz00_1536; 
BgL_arg3143z00_922 = 
BGl_makezd2varzd2zzast_nodez00(BgL_arg3147z00_924, BgL_arg3148z00_925, 
(BgL_variablez00_bglt)(BgL_arg3149z00_926)); } 
{ /* ./Ast/apply.scm 270 */
obj_t BgL_auxz00_1908;
BgL_auxz00_1908 = 
(obj_t)(BgL_arg3143z00_922); 
BgL_arg3140z00_921 = 
MAKE_PAIR(BgL_auxz00_1908, BNIL); } } 
BgL_arg3135z00_918 = 
MAKE_PAIR(BgL_arg3139z00_920, BgL_arg3140z00_921); } 
BgL_arg3126z00_914 = 
MAKE_PAIR(BgL_arg3135z00_918, BNIL); } 
{ /* ./Ast/apply.scm 266 */
obj_t BgL_auxz00_1913;
BgL_auxz00_1913 = 
(obj_t)(BgL_arg3125z00_913); 
BgL_arg3122z00_912 = 
MAKE_PAIR(BgL_auxz00_1913, BgL_arg3126z00_914); } } 
BgL_arg3117z00_909 = 
MAKE_PAIR(BgL_arg3121z00_911, BgL_arg3122z00_912); } 
{ /* ./Ast/apply.scm 274 */
obj_t BgL_arg3153z00_927;
{ /* ./Ast/apply.scm 274 */
obj_t BgL_arg3157z00_929;
BgL_arg3157z00_929 = 
CDR(BgL_localsz00_854); 
BgL_arg3153z00_927 = 
BGl_loopz00zzast_applyz00(BgL_procz00_1539, BgL_framez00_1538, BgL_stackz00_1537, BgL_runnerz00_1536, BgL_typez00_1535, BgL_locz00_1534, BgL_arg3157z00_929, BgL_localsz00_854); } 
BgL_arg3118z00_910 = 
MAKE_PAIR(BgL_arg3153z00_927, BNIL); } 
BgL_arg3114z00_908 = 
MAKE_PAIR(BgL_arg3117z00_909, BgL_arg3118z00_910); } 
BgL_arg3109z00_905 = 
MAKE_PAIR(BgL_arg3113z00_907, BgL_arg3114z00_908); } 
BgL_arg3110z00_906 = 
CNST_TABLE_REF(((long)1)); 
BgL_arg3078z00_891 = 
BGl_sexpzd2ze3nodez31zzast_sexpz00(BgL_arg3109z00_905, BgL_stackz00_1537, BgL_locz00_1534, BgL_arg3110z00_906); } 
{ /* ./Ast/apply.scm 250 */
BgL_letzd2varzd2_bglt BgL_auxz00_1924;
BgL_auxz00_1924 = 
BGl_makezd2letzd2varz00zzast_nodez00(BgL_arg3074z00_887, BgL_arg3075z00_888, BUNSPEC, 
BINT(((long)-1)), BgL_arg3077z00_890, BgL_arg3078z00_891, ((bool_t)1)); 
return 
(obj_t)(BgL_auxz00_1924);} } } } 
}



/* method-init */
obj_t BGl_methodzd2initzd2zzast_applyz00()
{ AN_OBJECT;
{ /* ./Ast/apply.scm 14 */
BGl_addzd2genericz12zc0zz__objectz00(BGl_makezd2funzd2framezd2envzd2zzast_applyz00, BGl_makezd2funzd2framezd2default2689zd2envz00zzast_applyz00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_makezd2funzd2framezd2envzd2zzast_applyz00, BGl_sfunz00zzast_varz00, BGl_proc3736z00zzast_applyz00); 
return 
BGl_addzd2methodz12zc0zz__objectz00(BGl_makezd2funzd2framezd2envzd2zzast_applyz00, BGl_cfunz00zzast_varz00, BGl_proc3737z00zzast_applyz00);} 
}



/* make-fun-frame-cfun2694 */
obj_t BGl_makezd2funzd2framezd2cfun2694zd2zzast_applyz00(obj_t BgL_envz00_1528, obj_t BgL_funz00_1529)
{ AN_OBJECT;
{ /* ./Ast/apply.scm 83 */
{ 
BgL_cfunz00_bglt BgL_funz00_1314;
BgL_funz00_1314 = 
(BgL_cfunz00_bglt)(BgL_funz00_1529); 
{ /* ./Ast/apply.scm 84 */
long BgL_arityz00_1317;
{ /* ./Ast/apply.scm 84 */
BgL_funz00_bglt BgL_obj1301z00_1476;
BgL_obj1301z00_1476 = 
(BgL_funz00_bglt)(BgL_funz00_1314); 
BgL_arityz00_1317 = 
(((BgL_funz00_bglt)CREF(BgL_obj1301z00_1476))->BgL_arityz00); } 
{ 
obj_t BgL_typesz00_1318;obj_t BgL_localsz00_1319;
{ /* ./Ast/apply.scm 85 */
obj_t BgL_arg3541z00_1321;
BgL_arg3541z00_1321 = 
(((BgL_cfunz00_bglt)CREF(BgL_funz00_1314))->BgL_argszd2typezd2); 
BgL_typesz00_1318 = BgL_arg3541z00_1321; 
BgL_localsz00_1319 = BNIL; 
BgL_loopz00_1320:
{ /* ./Ast/apply.scm 88 */
bool_t BgL_test3545z00_1323;
BgL_test3545z00_1323 = 
NULLP(BgL_typesz00_1318); 
if(BgL_test3545z00_1323)
{ /* ./Ast/apply.scm 88 */
return 
BGl_reversez12z12zz__r4_pairs_and_lists_6_3z00(BgL_localsz00_1319);}  else 
{ /* ./Ast/apply.scm 90 */
bool_t BgL_test3547z00_1324;
{ /* ./Ast/apply.scm 90 */
bool_t BgL_testz00_1937;
{ /* ./Ast/apply.scm 90 */
obj_t BgL_auxz00_1938;
BgL_auxz00_1938 = 
CDR(BgL_typesz00_1318); 
BgL_testz00_1937 = 
NULLP(BgL_auxz00_1938); } 
if(BgL_testz00_1937)
{ /* ./Ast/apply.scm 90 */
BgL_test3547z00_1324 = 
(BgL_arityz00_1317<((long)0)); }  else 
{ /* ./Ast/apply.scm 90 */
BgL_test3547z00_1324 = ((bool_t)0); } } 
if(BgL_test3547z00_1324)
{ /* ./Ast/apply.scm 90 */
return 
BGl_reversez12z12zz__r4_pairs_and_lists_6_3z00(BgL_localsz00_1319);}  else 
{ /* ./Ast/apply.scm 90 */
{ /* ./Ast/apply.scm 93 */
obj_t BgL_arg3550z00_1325;obj_t BgL_arg3552z00_1326;
BgL_arg3550z00_1325 = 
CDR(BgL_typesz00_1318); 
{ /* ./Ast/apply.scm 94 */
BgL_localz00_bglt BgL_arg3556z00_1327;
{ /* ./Ast/apply.scm 94 */
obj_t BgL_arg3559z00_1328;obj_t BgL_arg3560z00_1329;
{ /* ./Ast/apply.scm 94 */
obj_t BgL_arg3563z00_1330;
BgL_arg3563z00_1330 = 
PROCEDURE_ENTRY(BGl_gensymz00zz__r4_symbols_6_4z00)(BGl_gensymz00zz__r4_symbols_6_4z00, 
CNST_TABLE_REF(((long)12)), BEOA); 
BgL_arg3559z00_1328 = 
BGl_markzd2symbolzd2nonzd2userz12zc0zzast_identz00(BgL_arg3563z00_1330); } 
BgL_arg3560z00_1329 = 
CAR(BgL_typesz00_1318); 
BgL_arg3556z00_1327 = 
BGl_makezd2localzd2svarz00zzast_localz00(BgL_arg3559z00_1328, 
(BgL_typez00_bglt)(BgL_arg3560z00_1329)); } 
{ /* ./Ast/apply.scm 94 */
obj_t BgL_auxz00_1952;
BgL_auxz00_1952 = 
(obj_t)(BgL_arg3556z00_1327); 
BgL_arg3552z00_1326 = 
MAKE_PAIR(BgL_auxz00_1952, BgL_localsz00_1319); } } 
{ 
obj_t BgL_localsz00_1956;obj_t BgL_typesz00_1955;
BgL_typesz00_1955 = BgL_arg3550z00_1325; 
BgL_localsz00_1956 = BgL_arg3552z00_1326; 
BgL_localsz00_1319 = BgL_localsz00_1956; 
BgL_typesz00_1318 = BgL_typesz00_1955; 
goto BgL_loopz00_1320;} } } } } } } } } } 
}



/* make-fun-frame-sfun2692 */
obj_t BGl_makezd2funzd2framezd2sfun2692zd2zzast_applyz00(obj_t BgL_envz00_1530, obj_t BgL_funz00_1531)
{ AN_OBJECT;
{ /* ./Ast/apply.scm 63 */
{ 
BgL_sfunz00_bglt BgL_funz00_1290;
BgL_funz00_1290 = 
(BgL_sfunz00_bglt)(BgL_funz00_1531); 
{ /* ./Ast/apply.scm 64 */
long BgL_arityz00_1293;
{ /* ./Ast/apply.scm 64 */
BgL_funz00_bglt BgL_obj1301z00_1463;
BgL_obj1301z00_1463 = 
(BgL_funz00_bglt)(BgL_funz00_1290); 
BgL_arityz00_1293 = 
(((BgL_funz00_bglt)CREF(BgL_obj1301z00_1463))->BgL_arityz00); } 
{ 
obj_t BgL_formalsz00_1294;obj_t BgL_localsz00_1295;
{ /* ./Ast/apply.scm 65 */
obj_t BgL_arg3489z00_1297;
BgL_arg3489z00_1297 = 
(((BgL_sfunz00_bglt)CREF(BgL_funz00_1290))->BgL_argsz00); 
BgL_formalsz00_1294 = BgL_arg3489z00_1297; 
BgL_localsz00_1295 = BNIL; 
BgL_loopz00_1296:
{ /* ./Ast/apply.scm 68 */
bool_t BgL_test3493z00_1299;
BgL_test3493z00_1299 = 
NULLP(BgL_formalsz00_1294); 
if(BgL_test3493z00_1299)
{ /* ./Ast/apply.scm 68 */
return 
BGl_reversez12z12zz__r4_pairs_and_lists_6_3z00(BgL_localsz00_1295);}  else 
{ /* ./Ast/apply.scm 70 */
bool_t BgL_test3495z00_1300;
{ /* ./Ast/apply.scm 70 */
bool_t BgL_testz00_1964;
{ /* ./Ast/apply.scm 70 */
obj_t BgL_auxz00_1965;
BgL_auxz00_1965 = 
CDR(BgL_formalsz00_1294); 
BgL_testz00_1964 = 
NULLP(BgL_auxz00_1965); } 
if(BgL_testz00_1964)
{ /* ./Ast/apply.scm 70 */
BgL_test3495z00_1300 = 
(BgL_arityz00_1293<((long)0)); }  else 
{ /* ./Ast/apply.scm 70 */
BgL_test3495z00_1300 = ((bool_t)0); } } 
if(BgL_test3495z00_1300)
{ /* ./Ast/apply.scm 70 */
return 
BGl_reversez12z12zz__r4_pairs_and_lists_6_3z00(BgL_localsz00_1295);}  else 
{ /* ./Ast/apply.scm 70 */
{ /* ./Ast/apply.scm 73 */
obj_t BgL_arg3498z00_1301;obj_t BgL_arg3499z00_1302;
BgL_arg3498z00_1301 = 
CDR(BgL_formalsz00_1294); 
{ /* ./Ast/apply.scm 74 */
BgL_localz00_bglt BgL_arg3503z00_1303;
{ /* ./Ast/apply.scm 74 */
obj_t BgL_arg3506z00_1304;obj_t BgL_arg3507z00_1305;
{ /* ./Ast/apply.scm 74 */
obj_t BgL_arg3510z00_1306;
BgL_arg3510z00_1306 = 
PROCEDURE_ENTRY(BGl_gensymz00zz__r4_symbols_6_4z00)(BGl_gensymz00zz__r4_symbols_6_4z00, 
CNST_TABLE_REF(((long)12)), BEOA); 
BgL_arg3506z00_1304 = 
BGl_markzd2symbolzd2nonzd2userz12zc0zzast_identz00(BgL_arg3510z00_1306); } 
{ /* ./Ast/apply.scm 75 */
bool_t BgL_test3513z00_1307;
{ /* ./Ast/apply.scm 75 */
obj_t BgL_arg3521z00_1309;
BgL_arg3521z00_1309 = 
CAR(BgL_formalsz00_1294); 
BgL_test3513z00_1307 = 
BGl_iszd2azf3z21zz__objectz00(BgL_arg3521z00_1309, BGl_typez00zztype_typez00); } 
if(BgL_test3513z00_1307)
{ /* ./Ast/apply.scm 75 */
BgL_arg3507z00_1305 = 
CAR(BgL_formalsz00_1294); }  else 
{ /* ./Ast/apply.scm 77 */
BgL_variablez00_bglt BgL_obj1097z00_1475;
{ /* ./Ast/apply.scm 77 */
obj_t BgL_auxz00_1980;
BgL_auxz00_1980 = 
CAR(BgL_formalsz00_1294); 
BgL_obj1097z00_1475 = 
(BgL_variablez00_bglt)(BgL_auxz00_1980); } 
{ /* ./Ast/apply.scm 77 */
BgL_typez00_bglt BgL_auxz00_1983;
BgL_auxz00_1983 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1097z00_1475))->BgL_typez00); 
BgL_arg3507z00_1305 = 
(obj_t)(BgL_auxz00_1983); } } } 
BgL_arg3503z00_1303 = 
BGl_makezd2localzd2svarz00zzast_localz00(BgL_arg3506z00_1304, 
(BgL_typez00_bglt)(BgL_arg3507z00_1305)); } 
{ /* ./Ast/apply.scm 74 */
obj_t BgL_auxz00_1988;
BgL_auxz00_1988 = 
(obj_t)(BgL_arg3503z00_1303); 
BgL_arg3499z00_1302 = 
MAKE_PAIR(BgL_auxz00_1988, BgL_localsz00_1295); } } 
{ 
obj_t BgL_localsz00_1992;obj_t BgL_formalsz00_1991;
BgL_formalsz00_1991 = BgL_arg3498z00_1301; 
BgL_localsz00_1992 = BgL_arg3499z00_1302; 
BgL_localsz00_1295 = BgL_localsz00_1992; 
BgL_formalsz00_1294 = BgL_formalsz00_1991; 
goto BgL_loopz00_1296;} } } } } } } } } } 
}



/* make-fun-frame */
obj_t BGl_makezd2funzd2framez00zzast_applyz00(BgL_funz00_bglt BgL_funz00_5)
{ AN_OBJECT;
{ /* ./Ast/apply.scm 58 */
{ /* ./Ast/apply.scm 58 */
obj_t BgL_method2690z00_1485;
{ /* ./Ast/apply.scm 58 */
BgL_objectz00_bglt BgL_objz00_1486;
BgL_objz00_1486 = 
(BgL_objectz00_bglt)(BgL_funz00_5); 
{ /* ./Ast/apply.scm 58 */
long BgL_objzd2classzd2numz00_1487;
BgL_objzd2classzd2numz00_1487 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1486); 
{ /* ./Ast/apply.scm 58 */
obj_t BgL_arg2017z00_1488;
{ /* ./Ast/apply.scm 58 */
int BgL_auxz00_1996;
BgL_auxz00_1996 = 
(int)(((long)1)); 
BgL_arg2017z00_1488 = 
PROCEDURE_REF(BGl_makezd2funzd2framezd2envzd2zzast_applyz00, BgL_auxz00_1996); } 
{ /* ./Ast/apply.scm 58 */
int BgL_offsetz00_1491;
BgL_offsetz00_1491 = 
(int)(BgL_objzd2classzd2numz00_1487); 
{ /* ./Ast/apply.scm 58 */
long BgL_offsetz00_1492;
{ /* ./Ast/apply.scm 58 */
long BgL_auxz00_2000;
BgL_auxz00_2000 = 
(long)(BgL_offsetz00_1491); 
BgL_offsetz00_1492 = 
(BgL_auxz00_2000-OBJECT_TYPE); } 
{ /* ./Ast/apply.scm 58 */
long BgL_modz00_1493;
{ /* ./Ast/apply.scm 58 */
int BgL_arg2028z00_1494;
BgL_arg2028z00_1494 = 
(int)(((long)8)); 
{ /* ./Ast/apply.scm 58 */
long BgL_n2z00_1502;
BgL_n2z00_1502 = 
(long)(BgL_arg2028z00_1494); 
BgL_modz00_1493 = 
(BgL_offsetz00_1492/BgL_n2z00_1502); } } 
{ /* ./Ast/apply.scm 58 */
long BgL_restz00_1495;
{ /* ./Ast/apply.scm 58 */
int BgL_arg2024z00_1496;
BgL_arg2024z00_1496 = 
(int)(((long)8)); 
{ /* ./Ast/apply.scm 58 */
long BgL_n2z00_1505;
BgL_n2z00_1505 = 
(long)(BgL_arg2024z00_1496); 
BgL_restz00_1495 = 
(BgL_offsetz00_1492%BgL_n2z00_1505); } } 
{ /* ./Ast/apply.scm 58 */

{ /* ./Ast/apply.scm 58 */
obj_t BgL_bucketz00_1497;
{ /* ./Ast/apply.scm 58 */
int BgL_kz00_1507;
BgL_kz00_1507 = 
(int)(BgL_modz00_1493); 
BgL_bucketz00_1497 = 
VECTOR_REF(BgL_arg2017z00_1488,BgL_kz00_1507); } 
{ /* ./Ast/apply.scm 58 */
int BgL_kz00_1509;
BgL_kz00_1509 = 
(int)(BgL_restz00_1495); 
BgL_method2690z00_1485 = 
VECTOR_REF(BgL_bucketz00_1497,BgL_kz00_1509); } } } } } } } } } } 
return 
PROCEDURE_ENTRY(BgL_method2690z00_1485)(BgL_method2690z00_1485, 
(obj_t)(BgL_funz00_5), BEOA);} } 
}



/* _make-fun-frame */
obj_t BGl__makezd2funzd2framez00zzast_applyz00(obj_t BgL_envz00_1524, obj_t BgL_funz00_1525)
{ AN_OBJECT;
{ /* ./Ast/apply.scm 58 */
return 
BGl_makezd2funzd2framez00zzast_applyz00(
(BgL_funz00_bglt)(BgL_funz00_1525));} 
}



/* make-fun-frame-default2689 */
obj_t BGl_makezd2funzd2framezd2default2689zd2zzast_applyz00(BgL_funz00_bglt BgL_funz00_6)
{ AN_OBJECT;
{ /* ./Ast/apply.scm 14 */
{ /* ./Ast/apply.scm 14 */
obj_t BgL_procz00_1510;obj_t BgL_objectz00_1512;
BgL_procz00_1510 = 
CNST_TABLE_REF(((long)13)); 
BgL_objectz00_1512 = 
(obj_t)(BgL_funz00_6); 
FAILURE(BgL_procz00_1510,BGl_string3738z00zzast_applyz00,BgL_objectz00_1512);} } 
}



/* _make-fun-frame-default2689 */
obj_t BGl__makezd2funzd2framezd2default2689zd2zzast_applyz00(obj_t BgL_envz00_1532, obj_t BgL_funz00_1533)
{ AN_OBJECT;
{ /* ./Ast/apply.scm 14 */
return 
BGl_makezd2funzd2framezd2default2689zd2zzast_applyz00(
(BgL_funz00_bglt)(BgL_funz00_1533));} 
}



/* imported-modules-init */
obj_t BGl_importedzd2moduleszd2initz00zzast_applyz00()
{ AN_OBJECT;
{ /* ./Ast/apply.scm 14 */
BGl_modulezd2initializa7ationz75zztype_typez00(((long)19090), "ast_apply"); 
BGl_modulezd2initializa7ationz75zzast_varz00(((long)44246), "ast_apply"); 
BGl_modulezd2initializa7ationz75zzast_nodez00(((long)50868), "ast_apply"); 
BGl_modulezd2initializa7ationz75zzengine_paramz00(((long)14260), "ast_apply"); 
BGl_modulezd2initializa7ationz75zztools_errorz00(((long)25566), "ast_apply"); 
BGl_modulezd2initializa7ationz75zztools_locationz00(((long)32118), "ast_apply"); 
BGl_modulezd2initializa7ationz75zztools_shapez00(((long)30833), "ast_apply"); 
BGl_modulezd2initializa7ationz75zztype_cachez00(((long)25848), "ast_apply"); 
BGl_modulezd2initializa7ationz75zzast_sexpz00(((long)15705), "ast_apply"); 
BGl_modulezd2initializa7ationz75zzast_localz00(((long)28959), "ast_apply"); 
BGl_modulezd2initializa7ationz75zzast_appz00(((long)62540), "ast_apply"); 
return 
BGl_modulezd2initializa7ationz75zzast_identz00(((long)51504), "ast_apply");} 
}

