/*===========================================================================*/
/*   (Cfa/type.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 Cfa/type.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;

typedef struct BgL_approxz00_bgl {
   header_t header;
   obj_t widening;
   struct BgL_typez00_bgl * BgL_typez00;
   bool_t BgL_typezd2lockedzf3z21;
   obj_t BgL_allocsz00;
   bool_t BgL_topzf3zf3;
   long BgL_lostzd2stampzd2;
} *BgL_approxz00_bglt;

typedef struct BgL_cfunzf2cinfozf2_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
} *BgL_cfunzf2cinfozf2_bglt;

typedef struct BgL_externzd2sfunzf2cinfoz20_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
} *BgL_externzd2sfunzf2cinfoz20_bglt;

typedef struct BgL_internzd2sfunzf2cinfoz20_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
   long BgL_stampz00;
} *BgL_internzd2sfunzf2cinfoz20_bglt;

typedef struct BgL_scnstzf2cinfozf2_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
} *BgL_scnstzf2cinfozf2_bglt;

typedef struct BgL_prezd2clozd2envz00_bgl {
   char dummy;
} *BgL_prezd2clozd2envz00_bglt;

typedef struct BgL_svarzf2cinfozf2_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
   bool_t BgL_clozd2envzf3z21;
} *BgL_svarzf2cinfozf2_bglt;

typedef struct BgL_cvarzf2cinfozf2_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
} *BgL_cvarzf2cinfozf2_bglt;

typedef struct BgL_sexitzf2cinfozf2_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
} *BgL_sexitzf2cinfozf2_bglt;

typedef struct BgL_reshapedzd2localzd2_bgl {
   obj_t BgL_bindingzd2valuezd2;
} *BgL_reshapedzd2localzd2_bglt;

typedef struct BgL_reshapedzd2globalzd2_bgl {
   char dummy;
} *BgL_reshapedzd2globalzd2_bglt;

typedef struct BgL_atomzf2cinfozf2_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
} *BgL_atomzf2cinfozf2_bglt;

typedef struct BgL_kwotezf2nodezf2_bgl {
   struct BgL_nodez00_bgl * BgL_nodez00;
} *BgL_kwotezf2nodezf2_bglt;

typedef struct BgL_kwotezf2cinfozf2_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
} *BgL_kwotezf2cinfozf2_bglt;

typedef struct BgL_appzd2lyzf2cinfoz20_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
} *BgL_appzd2lyzf2cinfoz20_bglt;

typedef struct BgL_funcallzf2cinfozf2_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
   struct BgL_approxz00_bgl * BgL_vazd2approxzd2;
   bool_t BgL_arityzd2errorzd2noticedzf3zf3;
   bool_t BgL_typezd2errorzd2noticedzf3zf3;
} *BgL_funcallzf2cinfozf2_bglt;

typedef struct BgL_setqzf2cinfozf2_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
} *BgL_setqzf2cinfozf2_bglt;

typedef struct BgL_conditionalzf2cinfozf2_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
} *BgL_conditionalzf2cinfozf2_bglt;

typedef struct BgL_failzf2cinfozf2_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
} *BgL_failzf2cinfozf2_bglt;

typedef struct BgL_selectzf2cinfozf2_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
} *BgL_selectzf2cinfozf2_bglt;

typedef struct BgL_setzd2exzd2itzf2cinfozf2_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
} *BgL_setzd2exzd2itzf2cinfozf2_bglt;

typedef struct BgL_jumpzd2exzd2itzf2cinfozf2_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
} *BgL_jumpzd2exzd2itzf2cinfozf2_bglt;

typedef struct BgL_prezd2makezd2boxz00_bgl {
   char dummy;
} *BgL_prezd2makezd2boxz00_bglt;

typedef struct BgL_makezd2boxzf2cinfoz20_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
} *BgL_makezd2boxzf2cinfoz20_bglt;

typedef struct BgL_makezd2boxzf2ozd2cinfozf2_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
   struct BgL_approxz00_bgl * BgL_valuezd2approxzd2;
} *BgL_makezd2boxzf2ozd2cinfozf2_bglt;

typedef struct BgL_boxzd2setz12zf2cinfoz32_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
} *BgL_boxzd2setz12zf2cinfoz32_bglt;

typedef struct BgL_boxzd2refzf2cinfoz20_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
} *BgL_boxzd2refzf2cinfoz20_bglt;

typedef struct BgL_boxzd2setz12zf2ozd2cinfoze0_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
} *BgL_boxzd2setz12zf2ozd2cinfoze0_bglt;

typedef struct BgL_boxzd2refzf2ozd2cinfozf2_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
} *BgL_boxzd2refzf2ozd2cinfozf2_bglt;

typedef struct BgL_prezd2arithmeticzd2appz00_bgl {
   obj_t BgL_speczd2typeszd2;
} *BgL_prezd2arithmeticzd2appz00_bglt;

typedef struct BgL_arithmeticzd2appzd2_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
   obj_t BgL_speczd2typeszd2;
} *BgL_arithmeticzd2appzd2_bglt;

typedef struct BgL_prezd2makezd2procedurezd2appzd2_bgl {
   struct BgL_variablez00_bgl * BgL_ownerz00;
} *BgL_prezd2makezd2procedurezd2appzd2_bglt;

typedef struct BgL_prezd2procedurezd2refzd2appzd2_bgl {
   char dummy;
} *BgL_prezd2procedurezd2refzd2appzd2_bglt;

typedef struct BgL_prezd2procedurezd2setz12zd2appzc0_bgl {
   char dummy;
} *BgL_prezd2procedurezd2setz12zd2appzc0_bglt;

typedef struct BgL_makezd2procedurezd2appz00_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
   obj_t BgL_valueszd2approxzd2;
   long BgL_lostzd2stampzd2;
   bool_t BgL_xzd2tzf3z21;
   bool_t BgL_xz00;
   bool_t BgL_tz00;
   struct BgL_variablez00_bgl * BgL_ownerz00;
   obj_t BgL_stackzd2stampzd2;
} *BgL_makezd2procedurezd2appz00_bglt;

typedef struct BgL_procedurezd2refzd2appz00_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
} *BgL_procedurezd2refzd2appz00_bglt;

typedef struct BgL_procedurezd2setz12zd2appz12_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
} *BgL_procedurezd2setz12zd2appz12_bglt;

typedef struct BgL_prezd2makezd2vectorzd2appzd2_bgl {
   struct BgL_variablez00_bgl * BgL_ownerz00;
} *BgL_prezd2makezd2vectorzd2appzd2_bglt;

typedef struct BgL_makezd2vectorzd2appz00_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
   struct BgL_approxz00_bgl * BgL_valuezd2approxzd2;
   long BgL_lostzd2stampzd2;
   struct BgL_variablez00_bgl * BgL_ownerz00;
   obj_t BgL_stackzd2stampzd2;
   bool_t BgL_seenzf3zf3;
} *BgL_makezd2vectorzd2appz00_bglt;

typedef struct BgL_prezd2makezd2structzd2appzd2_bgl {
   struct BgL_variablez00_bgl * BgL_ownerz00;
} *BgL_prezd2makezd2structzd2appzd2_bglt;

typedef struct BgL_prezd2structzd2refzd2appzd2_bgl {
   char dummy;
} *BgL_prezd2structzd2refzd2appzd2_bglt;

typedef struct BgL_prezd2structzd2setz12zd2appzc0_bgl {
   char dummy;
} *BgL_prezd2structzd2setz12zd2appzc0_bglt;

typedef struct BgL_makezd2structzd2appz00_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
   struct BgL_approxz00_bgl * BgL_valuezd2approxzd2;
   long BgL_lostzd2stampzd2;
   struct BgL_variablez00_bgl * BgL_ownerz00;
   obj_t BgL_stackzd2stampzd2;
} *BgL_makezd2structzd2appz00_bglt;

typedef struct BgL_structzd2refzd2appz00_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
} *BgL_structzd2refzd2appz00_bglt;

typedef struct BgL_structzd2setz12zd2appz12_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
} *BgL_structzd2setz12zd2appz12_bglt;

typedef struct BgL_pragmazf2cinfozf2_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
} *BgL_pragmazf2cinfozf2_bglt;

typedef struct BgL_getfieldzf2cinfozf2_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
} *BgL_getfieldzf2cinfozf2_bglt;

typedef struct BgL_setfieldzf2cinfozf2_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
} *BgL_setfieldzf2cinfozf2_bglt;

typedef struct BgL_newzf2cinfozf2_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
} *BgL_newzf2cinfozf2_bglt;

typedef struct BgL_isazf2cinfozf2_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
} *BgL_isazf2cinfozf2_bglt;

typedef struct BgL_vrefzf2cinfozf2_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
   bool_t BgL_tvectorzf3zf3;
} *BgL_vrefzf2cinfozf2_bglt;

typedef struct BgL_vsetz12zf2cinfoze0_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
   bool_t BgL_tvectorzf3zf3;
} *BgL_vsetz12zf2cinfoze0_bglt;

typedef struct BgL_vlengthzf2cinfozf2_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
   bool_t BgL_tvectorzf3zf3;
} *BgL_vlengthzf2cinfozf2_bglt;

typedef struct BgL_prezd2valloczf2cinfoz20_bgl {
   struct BgL_variablez00_bgl * BgL_ownerz00;
} *BgL_prezd2valloczf2cinfoz20_bglt;

typedef struct BgL_valloczf2cinfozf2_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
} *BgL_valloczf2cinfozf2_bglt;

typedef struct BgL_valloczf2cinfozb2optimz40_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
   struct BgL_approxz00_bgl * BgL_valuezd2approxzd2;
   long BgL_lostzd2stampzd2;
   struct BgL_variablez00_bgl * BgL_ownerz00;
   bool_t BgL_stackablezf3zf3;
   obj_t BgL_stackzd2stampzd2;
   bool_t BgL_seenzf3zf3;
} *BgL_valloczf2cinfozb2optimz40_bglt;

typedef struct BgL_tvecz00_bgl {
   struct BgL_typez00_bgl * BgL_itemzd2typezd2;
} *BgL_tvecz00_bglt;


extern obj_t BGl_vrefz00zzast_nodez00;
static obj_t BGl_methodzd2initzd2zzcfa_typez00();
static obj_t BGl_typezd2nodez12zd2kwote4660z12zzcfa_typez00(obj_t, obj_t);
static obj_t BGl_typezd2nodez12zd2fail4686z12zzcfa_typez00(obj_t, obj_t);
extern obj_t BGl_setzd2ze3listz31zzcfa_setz00(obj_t);
static obj_t BGl_typezd2variablez12zd2sexitzf2Cinfo4652ze0zzcfa_typez00(obj_t, obj_t, obj_t);
static obj_t BGl_typezd2nodez12zd2vsetz124678z00zzcfa_typez00(obj_t, obj_t);
extern obj_t BGl_scnstzf2Cinfozf2zzcfa_infoz00;
static obj_t BGl__typezd2settingsz12zc0zzcfa_typez00(obj_t, obj_t);
BGL_IMPORT obj_t open_input_string(obj_t);
static obj_t BGl__getzd2approxzd2type6128z00zzcfa_typez00(obj_t, obj_t);
static obj_t BGl_typezd2variablez12zd2internzd2sfunzf2Cinfo4654z32zzcfa_typez00(obj_t, obj_t, obj_t);
extern obj_t BGl_letzd2funzd2zzast_nodez00;
BGL_IMPORT obj_t BGl_readz00zz__readerz00(obj_t);
BGL_IMPORT bool_t BGl_iszd2azf3z21zz__objectz00(obj_t, obj_t);
static obj_t BGl_typezd2variablez12zd2scnstzf2Cinfo4648ze0zzcfa_typez00(obj_t, obj_t, obj_t);
static obj_t BGl_typezd2funz12zc0zzcfa_typez00(BgL_variablez00_bglt);
static obj_t BGl_typezd2nodez12zd2setzd2exzd2it4694z12zzcfa_typez00(obj_t, obj_t);
static obj_t BGl_typezd2variablez12zd2svarzf2Cinfo4646ze0zzcfa_typez00(obj_t, obj_t, obj_t);
BGL_IMPORT obj_t BGl_addzd2genericz12zc0zz__objectz00(obj_t, obj_t);
static obj_t BGl_typezd2nodez12zd2closure4664z12zzcfa_typez00(obj_t, obj_t);
extern obj_t BGl_letzd2varzd2zzast_nodez00;
BGL_EXPORTED_DECL obj_t BGl_typezd2settingsz12zc0zzcfa_typez00(obj_t);
static obj_t BGl__typezd2nodez126126zc0zzcfa_typez00(obj_t, obj_t);
extern BgL_typez00_bglt BGl_getzd2vectorzd2itemzd2typezd2zzcfa_tvectorz00(BgL_nodez00_bglt);
extern obj_t BGl_za2unsafezd2typeza2zd2zzengine_paramz00;
extern obj_t BGl_kwotez00zzast_nodez00;
extern obj_t BGl_za2_za2z00zztype_cachez00;
extern obj_t BGl_funz00zzast_varz00;
extern obj_t BGl_globalz00zzast_varz00;
static obj_t BGl_typezd2nodez12zd2jumpzd2exzd2it4696z12zzcfa_typez00(obj_t, obj_t);
extern obj_t BGl_typez00zztype_typez00;
extern obj_t BGl_castz00zzast_nodez00;
static obj_t BGl_typezd2nodez12zd2boxzd2ref4702zc0zzcfa_typez00(obj_t, obj_t);
extern obj_t BGl_boxzd2refzd2zzast_nodez00;
extern obj_t BGl_varz00zzast_nodez00;
static obj_t BGl_cnstzd2initzd2zzcfa_typez00();
extern obj_t BGl_atomz00zzast_nodez00;
extern obj_t BGl_failz00zzast_nodez00;
extern obj_t BGl_funcallz00zzast_nodez00;
static obj_t BGl_typezd2variablez12zc0zzcfa_typez00(BgL_valuez00_bglt, BgL_variablez00_bglt);
static obj_t BGl_typezd2nodez12zd2cast4680z12zzcfa_typez00(obj_t, obj_t);
static obj_t BGl_typezd2variablez12zd2default4643z12zzcfa_typez00(BgL_valuez00_bglt, BgL_variablez00_bglt);
extern obj_t BGl_cvarzf2Cinfozf2zzcfa_infoz00;
static obj_t BGl_typezd2nodez12zd2default4655z12zzcfa_typez00(BgL_nodez00_bglt);
static obj_t BGl_importedzd2moduleszd2initz00zzcfa_typez00();
extern obj_t BGl_internzd2sfunzf2Cinfoz20zzcfa_infoz00;
static bool_t BGl_typezd2nodeza2z12z62zzcfa_typez00(obj_t);
extern obj_t BGl_makezd2boxzd2zzast_nodez00;
static obj_t BGl_typezd2nodez12zd2extern4674z12zzcfa_typez00(obj_t, obj_t);
BGL_IMPORT obj_t BGl_addzd2methodz12zc0zz__objectz00(obj_t, obj_t, obj_t);
static obj_t BGl__typezd2variablez126124zc0zzcfa_typez00(obj_t, obj_t, obj_t);
extern obj_t BGl_selectz00zzast_nodez00;
static obj_t BGl_toplevelzd2initzd2zzcfa_typez00();
extern obj_t BGl_appzd2lyzd2zzast_nodez00;
static obj_t BGl_typezd2nodez12zd2boxzd2setz124700zd2zzcfa_typez00(obj_t, obj_t);
static obj_t BGl_typezd2nodez12zd2var4662z12zzcfa_typez00(obj_t, obj_t);
extern obj_t BGl_boxzd2setz12zc0zzast_nodez00;
BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zzcfa_typez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztype_typez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztype_cachez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_shapez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_errorz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzengine_paramz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_varz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_nodez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzcfa_infoz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzcfa_info2z00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzcfa_info3z00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzcfa_setz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzcfa_tvectorz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztvector_tvectorz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__objectz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__readerz00(long, char *);
static obj_t BGl_typezd2variablez12zd2cvarzf2Cinfo4650ze0zzcfa_typez00(obj_t, obj_t, obj_t);
extern obj_t BGl_svarzf2Cinfozf2zzcfa_infoz00;
static obj_t BGl_typezd2nodez12zd2vref4676z12zzcfa_typez00(obj_t, obj_t);
static obj_t BGl_typezd2nodez12zd2sequence4666z12zzcfa_typez00(obj_t, obj_t);
extern obj_t BGl_tvectorzd2optimiza7ationzf3z86zzcfa_tvectorz00();
static obj_t BGl_typezd2nodez12zd2setq4682z12zzcfa_typez00(obj_t, obj_t);
static obj_t BGl_typezd2nodez12zd2conditional4684z12zzcfa_typez00(obj_t, obj_t);
extern obj_t BGl_setzd2exzd2itz00zzast_nodez00;
static obj_t BGl_typezd2nodez12zd2appzd2ly4670zc0zzcfa_typez00(obj_t, obj_t);
extern obj_t BGl_za2vectorza2z00zztype_cachez00;
extern obj_t BGl_shapez00zztools_shapez00(obj_t);
static obj_t BGl__typezd2nodez12zd2default4655z12zzcfa_typez00(obj_t, obj_t);
extern BgL_typez00_bglt BGl_getzd2defaultzd2typez00zztype_cachez00();
extern obj_t BGl_jumpzd2exzd2itz00zzast_nodez00;
static obj_t BGl_setzd2variablezd2typez12z12zzcfa_typez00(BgL_variablez00_bglt, BgL_typez00_bglt);
extern obj_t BGl_externz00zzast_nodez00;
extern obj_t BGl_conditionalz00zzast_nodez00;
extern obj_t BGl_sequencez00zzast_nodez00;
extern obj_t BGl_makezd2vectorzd2appz00zzcfa_info2z00;
static obj_t BGl__typezd2variablez12zd2default4643z12zzcfa_typez00(obj_t, obj_t, obj_t);
extern obj_t BGl_internalzd2errorzd2zztools_errorz00(obj_t, obj_t, obj_t);
extern obj_t BGl_appz00zzast_nodez00;
static obj_t BGl_typezd2nodez12zd2atom4658z12zzcfa_typez00(obj_t, obj_t);
extern obj_t BGl_valloczf2Cinfozb2optimz40zzcfa_info3z00;
BGL_EXPORTED_DECL obj_t BGl_getzd2approxzd2typez00zzcfa_typez00(BgL_approxz00_bglt);
extern obj_t BGl_closurez00zzast_nodez00;
static obj_t BGl_typezd2nodez12zd2letzd2fun4690zc0zzcfa_typez00(obj_t, obj_t);
static obj_t BGl_typezd2nodez12zd2select4688z12zzcfa_typez00(obj_t, obj_t);
extern obj_t BGl_za2objza2z00zztype_cachez00;
static obj_t BGl_typezd2nodez12zd2funcall4672z12zzcfa_typez00(obj_t, obj_t);
static obj_t BGl_requirezd2initializa7ationz75zzcfa_typez00 = BUNSPEC;
extern obj_t BGl_tvecz00zztvector_tvectorz00;
static obj_t BGl_typezd2nodez12zd2letzd2var4692zc0zzcfa_typez00(obj_t, obj_t);
static obj_t BGl_typezd2nodez12zd2makezd2box4698zc0zzcfa_typez00(obj_t, obj_t);
extern obj_t BGl_sexitzf2Cinfozf2zzcfa_infoz00;
static obj_t BGl_libraryzd2moduleszd2initz00zzcfa_typez00();
extern obj_t BGl_vsetz12z12zzast_nodez00;
static obj_t BGl_typezd2nodez12zd2app4668z12zzcfa_typez00(obj_t, obj_t);
static obj_t BGl_typezd2nodez12zc0zzcfa_typez00(BgL_nodez00_bglt);
extern obj_t BGl_setqz00zzast_nodez00;
BGL_IMPORT obj_t BGl_findzd2superzd2classzd2methodzd2zz__objectz00(BgL_objectz00_bglt, obj_t, obj_t);
static obj_t __cnst[ 4 ] ;


DEFINE_EXPORT_PROCEDURE( BGl_typezd2settingsz12zd2envz12zzcfa_typez00, BgL_bgl__typeza7d2settingsza712za7c0za7za7cfa_typeza7006753z00, BGl__typezd2settingsz12zc0zzcfa_typez00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_typezd2nodez12zd2default4655zd2envzc0zzcfa_typez00, BgL_bgl__typeza7d2nodeza712za7d2default4655za712za7za7cfa_typeza7006754za7, BGl__typezd2nodez12zd2default4655z12zzcfa_typez00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_typezd2variablez12zd2default4643zd2envzc0zzcfa_typez00, BgL_bgl__typeza7d2variableza712za7d2default4643za712za7za7cfa_typeza7006755za7, BGl__typezd2variablez12zd2default4643z12zzcfa_typez00, 0L, 2 );
DEFINE_EXPORT_PROCEDURE( BGl_getzd2approxzd2typezd2envzd2zzcfa_typez00, BgL_bgl__getza7d2approxza7d2type6128za700za7za7cfa_typeza7006756z00, BGl__getzd2approxzd2type6128z00zzcfa_typez00, 0L, 1 );
DEFINE_STATIC_GENERIC( BGl_typezd2nodez12zd2envz12zzcfa_typez00, BgL_bgl__typeza7d2nodeza7126126za7c0za7za7cfa_typeza7006757z00, BGl__typezd2nodez126126zc0zzcfa_typez00, 0L, 1 );
DEFINE_STATIC_GENERIC( BGl_typezd2variablez12zd2envz12zzcfa_typez00, BgL_bgl__typeza7d2variableza7126124za7c0za7za7cfa_typeza7006758z00, BGl__typezd2variablez126124zc0zzcfa_typez00, 0L, 2 );
DEFINE_STRING( BGl_string6722z00zzcfa_typez00, BgL_bgl_string6722za700za7za7cfa_typeza7006759z00, "type-node!-default4655 nothing static bigloo ", 45 );
DEFINE_STRING( BGl_string6721z00zzcfa_typez00, BgL_bgl_string6721za700za7za7cfa_typeza7006760z00, "No method for this object", 25 );
DEFINE_STRING( BGl_string6720z00zzcfa_typez00, BgL_bgl_string6720za700za7za7cfa_typeza7006761z00, "Unexpected closure", 18 );
DEFINE_STRING( BGl_string6719z00zzcfa_typez00, BgL_bgl_string6719za700za7za7cfa_typeza7006762z00, "type-node!", 10 );
DEFINE_STATIC_PROCEDURE( BGl_proc6700z00zzcfa_typez00, BgL_bgl_typeza7d2nodeza712za7d2sequence4666za712za7za7cfa_typeza7006763za7, BGl_typezd2nodez12zd2sequence4666z12zzcfa_typez00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc6701z00zzcfa_typez00, BgL_bgl_typeza7d2nodeza712za7d2app4668za712za7za7cfa_typeza7006764za7, BGl_typezd2nodez12zd2app4668z12zzcfa_typez00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc6691z00zzcfa_typez00, BgL_bgl_typeza7d2variableza712za7d2svarza7f2cinfo4646za7e0za7za7cfa_typeza7006765z00, BGl_typezd2variablez12zd2svarzf2Cinfo4646ze0zzcfa_typez00, 0L, 2 );
DEFINE_STATIC_PROCEDURE( BGl_proc6702z00zzcfa_typez00, BgL_bgl_typeza7d2nodeza712za7d2appza7d2ly4670za7c0za7za7cfa_typeza7006766z00, BGl_typezd2nodez12zd2appzd2ly4670zc0zzcfa_typez00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc6692z00zzcfa_typez00, BgL_bgl_typeza7d2variableza712za7d2scnstza7f2cinfo4648za7e0za7za7cfa_typeza7006767z00, BGl_typezd2variablez12zd2scnstzf2Cinfo4648ze0zzcfa_typez00, 0L, 2 );
DEFINE_STATIC_PROCEDURE( BGl_proc6703z00zzcfa_typez00, BgL_bgl_typeza7d2nodeza712za7d2funcall4672za712za7za7cfa_typeza7006768za7, BGl_typezd2nodez12zd2funcall4672z12zzcfa_typez00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc6693z00zzcfa_typez00, BgL_bgl_typeza7d2variableza712za7d2cvarza7f2cinfo4650za7e0za7za7cfa_typeza7006769z00, BGl_typezd2variablez12zd2cvarzf2Cinfo4650ze0zzcfa_typez00, 0L, 2 );
DEFINE_STATIC_PROCEDURE( BGl_proc6704z00zzcfa_typez00, BgL_bgl_typeza7d2nodeza712za7d2extern4674za712za7za7cfa_typeza7006770za7, BGl_typezd2nodez12zd2extern4674z12zzcfa_typez00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc6694z00zzcfa_typez00, BgL_bgl_typeza7d2variableza712za7d2sexitza7f2cinfo4652za7e0za7za7cfa_typeza7006771z00, BGl_typezd2variablez12zd2sexitzf2Cinfo4652ze0zzcfa_typez00, 0L, 2 );
DEFINE_STATIC_PROCEDURE( BGl_proc6705z00zzcfa_typez00, BgL_bgl_typeza7d2nodeza712za7d2vref4676za712za7za7cfa_typeza7006772za7, BGl_typezd2nodez12zd2vref4676z12zzcfa_typez00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc6695z00zzcfa_typez00, BgL_bgl_typeza7d2variableza712za7d2internza7d2sfunza7f2cinfo4654za732za7za7cfa_typeza7006773za7, BGl_typezd2variablez12zd2internzd2sfunzf2Cinfo4654z32zzcfa_typez00, 0L, 2 );
DEFINE_STATIC_PROCEDURE( BGl_proc6706z00zzcfa_typez00, BgL_bgl_typeza7d2nodeza712za7d2vsetza7124678za700za7za7cfa_typeza7006774z00, BGl_typezd2nodez12zd2vsetz124678z00zzcfa_typez00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc6696z00zzcfa_typez00, BgL_bgl_typeza7d2nodeza712za7d2atom4658za712za7za7cfa_typeza7006775za7, BGl_typezd2nodez12zd2atom4658z12zzcfa_typez00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc6707z00zzcfa_typez00, BgL_bgl_typeza7d2nodeza712za7d2cast4680za712za7za7cfa_typeza7006776za7, BGl_typezd2nodez12zd2cast4680z12zzcfa_typez00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc6697z00zzcfa_typez00, BgL_bgl_typeza7d2nodeza712za7d2kwote4660za712za7za7cfa_typeza7006777za7, BGl_typezd2nodez12zd2kwote4660z12zzcfa_typez00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc6708z00zzcfa_typez00, BgL_bgl_typeza7d2nodeza712za7d2setq4682za712za7za7cfa_typeza7006778za7, BGl_typezd2nodez12zd2setq4682z12zzcfa_typez00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc6698z00zzcfa_typez00, BgL_bgl_typeza7d2nodeza712za7d2var4662za712za7za7cfa_typeza7006779za7, BGl_typezd2nodez12zd2var4662z12zzcfa_typez00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc6710z00zzcfa_typez00, BgL_bgl_typeza7d2nodeza712za7d2fail4686za712za7za7cfa_typeza7006780za7, BGl_typezd2nodez12zd2fail4686z12zzcfa_typez00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc6709z00zzcfa_typez00, BgL_bgl_typeza7d2nodeza712za7d2conditional4684za712za7za7cfa_typeza7006781za7, BGl_typezd2nodez12zd2conditional4684z12zzcfa_typez00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc6699z00zzcfa_typez00, BgL_bgl_typeza7d2nodeza712za7d2closure4664za712za7za7cfa_typeza7006782za7, BGl_typezd2nodez12zd2closure4664z12zzcfa_typez00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc6711z00zzcfa_typez00, BgL_bgl_typeza7d2nodeza712za7d2select4688za712za7za7cfa_typeza7006783za7, BGl_typezd2nodez12zd2select4688z12zzcfa_typez00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc6712z00zzcfa_typez00, BgL_bgl_typeza7d2nodeza712za7d2letza7d2fun4690za7c0za7za7cfa_typeza7006784z00, BGl_typezd2nodez12zd2letzd2fun4690zc0zzcfa_typez00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc6713z00zzcfa_typez00, BgL_bgl_typeza7d2nodeza712za7d2letza7d2var4692za7c0za7za7cfa_typeza7006785z00, BGl_typezd2nodez12zd2letzd2var4692zc0zzcfa_typez00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc6714z00zzcfa_typez00, BgL_bgl_typeza7d2nodeza712za7d2setza7d2exza7d2it4694za712za7za7cfa_typeza7006786za7, BGl_typezd2nodez12zd2setzd2exzd2it4694z12zzcfa_typez00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc6715z00zzcfa_typez00, BgL_bgl_typeza7d2nodeza712za7d2jumpza7d2exza7d2it4696za712za7za7cfa_typeza7006787za7, BGl_typezd2nodez12zd2jumpzd2exzd2it4696z12zzcfa_typez00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc6716z00zzcfa_typez00, BgL_bgl_typeza7d2nodeza712za7d2makeza7d2box4698za7c0za7za7cfa_typeza7006788z00, BGl_typezd2nodez12zd2makezd2box4698zc0zzcfa_typez00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc6717z00zzcfa_typez00, BgL_bgl_typeza7d2nodeza712za7d2boxza7d2setza7124700za7d2za7za7cfa_typeza7006789za7, BGl_typezd2nodez12zd2boxzd2setz124700zd2zzcfa_typez00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc6718z00zzcfa_typez00, BgL_bgl_typeza7d2nodeza712za7d2boxza7d2ref4702za7c0za7za7cfa_typeza7006790z00, BGl_typezd2nodez12zd2boxzd2ref4702zc0zzcfa_typez00, 0L, 1 );



/* module-initialization */
BGL_EXPORTED_DEF obj_t BGl_modulezd2initializa7ationz75zzcfa_typez00(long BgL_checksumz00_3076, char * BgL_fromz00_3077)
{ AN_OBJECT;
{ 
if(
CBOOL(BGl_requirezd2initializa7ationz75zzcfa_typez00))
{ 
BGl_requirezd2initializa7ationz75zzcfa_typez00 = 
BBOOL(((bool_t)0)); 
BGl_libraryzd2moduleszd2initz00zzcfa_typez00(); 
BGl_cnstzd2initzd2zzcfa_typez00(); 
BGl_importedzd2moduleszd2initz00zzcfa_typez00(); 
BGl_methodzd2initzd2zzcfa_typez00(); 
return BUNSPEC;}  else 
{ 
return BUNSPEC;} } 
}



/* library-modules-init */
obj_t BGl_libraryzd2moduleszd2initz00zzcfa_typez00()
{ AN_OBJECT;
{ /* ./Cfa/type.scm 15 */
BGl_modulezd2initializa7ationz75zz__readerz00(((long)0), "cfa_type"); 
BGl_modulezd2initializa7ationz75zz__objectz00(((long)0), "cfa_type"); 
return BUNSPEC;} 
}



/* cnst-init */
obj_t BGl_cnstzd2initzd2zzcfa_typez00()
{ AN_OBJECT;
{ /* ./Cfa/type.scm 15 */
{ /* ./Cfa/type.scm 15 */
obj_t BgL_cportz00_3056;
BgL_cportz00_3056 = 
open_input_string(BGl_string6722z00zzcfa_typez00); 
{ 
long BgL_iz00_3057;
BgL_iz00_3057 = ((long)3); 
BgL_loopz00_3058:
{ /* ./Cfa/type.scm 15 */
bool_t BgL_test6724z00_3059;
BgL_test6724z00_3059 = 
(BgL_iz00_3057==((long)-1)); 
if(BgL_test6724z00_3059)
{ /* ./Cfa/type.scm 15 */
return BUNSPEC;}  else 
{ /* ./Cfa/type.scm 15 */
{ /* ./Cfa/type.scm 15 */
obj_t BgL_arg6726z00_3060;
{ /* ./Cfa/type.scm 15 */
obj_t BgL_list6729z00_3061;
BgL_list6729z00_3061 = 
MAKE_PAIR(BgL_cportz00_3056, BNIL); 
BgL_arg6726z00_3060 = 
BGl_readz00zz__readerz00(BgL_list6729z00_3061); } 
{ /* ./Cfa/type.scm 15 */
int BgL_auxz00_3092;
BgL_auxz00_3092 = 
(int)(BgL_iz00_3057); 
CNST_TABLE_SET(BgL_auxz00_3092, BgL_arg6726z00_3060); } } 
{ /* ./Cfa/type.scm 15 */
int BgL_auxz00_3062;
{ /* ./Cfa/type.scm 15 */
long BgL_auxz00_3095;
BgL_auxz00_3095 = 
(BgL_iz00_3057-((long)1)); 
BgL_auxz00_3062 = 
(int)(BgL_auxz00_3095); } 
{ 
long BgL_iz00_3098;
BgL_iz00_3098 = 
(long)(BgL_auxz00_3062); 
BgL_iz00_3057 = BgL_iz00_3098; 
goto BgL_loopz00_3058;} } } } } } } 
}



/* toplevel-init */
obj_t BGl_toplevelzd2initzd2zzcfa_typez00()
{ AN_OBJECT;
{ /* ./Cfa/type.scm 15 */
return BUNSPEC;} 
}



/* type-settings! */
BGL_EXPORTED_DEF obj_t BGl_typezd2settingsz12zc0zzcfa_typez00(obj_t BgL_globalsz00_1)
{ AN_OBJECT;
{ /* ./Cfa/type.scm 38 */
{ 
obj_t BgL_l4585z00_1049;
{ /* ./Cfa/type.scm 39 */
bool_t BgL_auxz00_3100;
BgL_l4585z00_1049 = BgL_globalsz00_1; 
BgL_forzd2each4586zd2_1050:
{ /* ./Cfa/type.scm 39 */
bool_t BgL_test4704z00_1051;
BgL_test4704z00_1051 = 
PAIRP(BgL_l4585z00_1049); 
if(BgL_test4704z00_1051)
{ /* ./Cfa/type.scm 39 */
{ /* ./Cfa/type.scm 39 */
obj_t BgL_arg4706z00_1052;
BgL_arg4706z00_1052 = 
CAR(BgL_l4585z00_1049); 
BGl_typezd2funz12zc0zzcfa_typez00(
(BgL_variablez00_bglt)(BgL_arg4706z00_1052)); } 
{ /* ./Cfa/type.scm 39 */
obj_t BgL_arg4710z00_1053;
BgL_arg4710z00_1053 = 
CDR(BgL_l4585z00_1049); 
{ 
obj_t BgL_l4585z00_3107;
BgL_l4585z00_3107 = BgL_arg4710z00_1053; 
BgL_l4585z00_1049 = BgL_l4585z00_3107; 
goto BgL_forzd2each4586zd2_1050;} } }  else 
{ /* ./Cfa/type.scm 39 */
BgL_auxz00_3100 = ((bool_t)1); } } 
return 
BBOOL(BgL_auxz00_3100);} } } 
}



/* _type-settings! */
obj_t BGl__typezd2settingsz12zc0zzcfa_typez00(obj_t BgL_envz00_2953, obj_t BgL_globalsz00_2954)
{ AN_OBJECT;
{ /* ./Cfa/type.scm 38 */
return 
BGl_typezd2settingsz12zc0zzcfa_typez00(BgL_globalsz00_2954);} 
}



/* type-fun! */
obj_t BGl_typezd2funz12zc0zzcfa_typez00(BgL_variablez00_bglt BgL_varz00_2)
{ AN_OBJECT;
{ /* ./Cfa/type.scm 44 */
{ /* ./Cfa/type.scm 45 */
BgL_valuez00_bglt BgL_funz00_1054;
BgL_funz00_1054 = 
(((BgL_variablez00_bglt)CREF(BgL_varz00_2))->BgL_valuez00); 
{ /* ./Cfa/type.scm 46 */
bool_t BgL_test4714z00_1055;
{ /* ./Cfa/type.scm 46 */
obj_t BgL_obj2821z00_1912;
BgL_obj2821z00_1912 = 
(obj_t)(BgL_funz00_1054); 
BgL_test4714z00_1055 = 
BGl_iszd2azf3z21zz__objectz00(BgL_obj2821z00_1912, BGl_internzd2sfunzf2Cinfoz20zzcfa_infoz00); } 
if(BgL_test4714z00_1055)
{ /* ./Cfa/type.scm 46 */
{ 
obj_t BgL_l4589z00_1057;
{ /* ./Cfa/type.scm 51 */
obj_t BgL_arg4716z00_1059;
{ /* ./Cfa/type.scm 51 */
BgL_sfunz00_bglt BgL_obj1367z00_1913;
BgL_obj1367z00_1913 = 
(BgL_sfunz00_bglt)(BgL_funz00_1054); 
BgL_arg4716z00_1059 = 
(((BgL_sfunz00_bglt)CREF(BgL_obj1367z00_1913))->BgL_argsz00); } 
BgL_l4589z00_1057 = BgL_arg4716z00_1059; 
BgL_forzd2each4590zd2_1058:
{ /* ./Cfa/type.scm 51 */
bool_t BgL_test4719z00_1060;
BgL_test4719z00_1060 = 
PAIRP(BgL_l4589z00_1057); 
if(BgL_test4719z00_1060)
{ /* ./Cfa/type.scm 51 */
{ /* ./Cfa/type.scm 51 */
obj_t BgL_varz00_1061;
BgL_varz00_1061 = 
CAR(BgL_l4589z00_1057); 
{ /* ./Cfa/type.scm 51 */
BgL_valuez00_bglt BgL_arg4721z00_1062;
{ /* ./Cfa/type.scm 51 */
BgL_variablez00_bglt BgL_obj1100z00_1916;
BgL_obj1100z00_1916 = 
(BgL_variablez00_bglt)(BgL_varz00_1061); 
BgL_arg4721z00_1062 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1100z00_1916))->BgL_valuez00); } 
{ /* ./Cfa/type.scm 51 */
BgL_variablez00_bglt BgL_variablez00_1918;
BgL_variablez00_1918 = 
(BgL_variablez00_bglt)(BgL_varz00_1061); 
{ /* ./Cfa/type.scm 51 */
obj_t BgL_method4644z00_1919;
{ /* ./Cfa/type.scm 51 */
BgL_objectz00_bglt BgL_objz00_1920;
BgL_objz00_1920 = 
(BgL_objectz00_bglt)(BgL_arg4721z00_1062); 
{ /* ./Cfa/type.scm 51 */
long BgL_objzd2classzd2numz00_1921;
BgL_objzd2classzd2numz00_1921 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1920); 
{ /* ./Cfa/type.scm 51 */
obj_t BgL_arg2017z00_1922;
{ /* ./Cfa/type.scm 51 */
int BgL_auxz00_3124;
BgL_auxz00_3124 = 
(int)(((long)1)); 
BgL_arg2017z00_1922 = 
PROCEDURE_REF(BGl_typezd2variablez12zd2envz12zzcfa_typez00, BgL_auxz00_3124); } 
{ /* ./Cfa/type.scm 51 */
int BgL_offsetz00_1925;
BgL_offsetz00_1925 = 
(int)(BgL_objzd2classzd2numz00_1921); 
{ /* ./Cfa/type.scm 51 */
long BgL_offsetz00_1926;
{ /* ./Cfa/type.scm 51 */
long BgL_auxz00_3128;
BgL_auxz00_3128 = 
(long)(BgL_offsetz00_1925); 
BgL_offsetz00_1926 = 
(BgL_auxz00_3128-OBJECT_TYPE); } 
{ /* ./Cfa/type.scm 51 */
long BgL_modz00_1927;
{ /* ./Cfa/type.scm 51 */
int BgL_arg2028z00_1928;
BgL_arg2028z00_1928 = 
(int)(((long)8)); 
{ /* ./Cfa/type.scm 51 */
long BgL_n2z00_1936;
BgL_n2z00_1936 = 
(long)(BgL_arg2028z00_1928); 
BgL_modz00_1927 = 
(BgL_offsetz00_1926/BgL_n2z00_1936); } } 
{ /* ./Cfa/type.scm 51 */
long BgL_restz00_1929;
{ /* ./Cfa/type.scm 51 */
int BgL_arg2024z00_1930;
BgL_arg2024z00_1930 = 
(int)(((long)8)); 
{ /* ./Cfa/type.scm 51 */
long BgL_n2z00_1939;
BgL_n2z00_1939 = 
(long)(BgL_arg2024z00_1930); 
BgL_restz00_1929 = 
(BgL_offsetz00_1926%BgL_n2z00_1939); } } 
{ /* ./Cfa/type.scm 51 */

{ /* ./Cfa/type.scm 51 */
obj_t BgL_bucketz00_1931;
{ /* ./Cfa/type.scm 51 */
int BgL_kz00_1941;
BgL_kz00_1941 = 
(int)(BgL_modz00_1927); 
BgL_bucketz00_1931 = 
VECTOR_REF(BgL_arg2017z00_1922,BgL_kz00_1941); } 
{ /* ./Cfa/type.scm 51 */
int BgL_kz00_1943;
BgL_kz00_1943 = 
(int)(BgL_restz00_1929); 
BgL_method4644z00_1919 = 
VECTOR_REF(BgL_bucketz00_1931,BgL_kz00_1943); } } } } } } } } } } 
PROCEDURE_ENTRY(BgL_method4644z00_1919)(BgL_method4644z00_1919, 
(obj_t)(BgL_arg4721z00_1062), 
(obj_t)(BgL_variablez00_1918), BEOA); } } } } 
{ /* ./Cfa/type.scm 51 */
obj_t BgL_arg4726z00_1063;
BgL_arg4726z00_1063 = 
CDR(BgL_l4589z00_1057); 
{ 
obj_t BgL_l4589z00_3146;
BgL_l4589z00_3146 = BgL_arg4726z00_1063; 
BgL_l4589z00_1057 = BgL_l4589z00_3146; 
goto BgL_forzd2each4590zd2_1058;} } }  else 
{ /* ./Cfa/type.scm 51 */((bool_t)1); } } } } 
{ /* ./Cfa/type.scm 54 */
obj_t BgL_arg4731z00_1064;
{ /* ./Cfa/type.scm 54 */
BgL_sfunz00_bglt BgL_obj1370z00_1945;
BgL_obj1370z00_1945 = 
(BgL_sfunz00_bglt)(BgL_funz00_1054); 
BgL_arg4731z00_1064 = 
(((BgL_sfunz00_bglt)CREF(BgL_obj1370z00_1945))->BgL_bodyz00); } 
{ /* ./Cfa/type.scm 54 */
BgL_nodez00_bglt BgL_nodez00_1946;
BgL_nodez00_1946 = 
(BgL_nodez00_bglt)(BgL_arg4731z00_1064); 
{ /* ./Cfa/type.scm 54 */
obj_t BgL_method4656z00_1947;
{ /* ./Cfa/type.scm 54 */
BgL_objectz00_bglt BgL_objz00_1948;
BgL_objz00_1948 = 
(BgL_objectz00_bglt)(BgL_nodez00_1946); 
{ /* ./Cfa/type.scm 54 */
long BgL_objzd2classzd2numz00_1949;
BgL_objzd2classzd2numz00_1949 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1948); 
{ /* ./Cfa/type.scm 54 */
obj_t BgL_arg2017z00_1950;
{ /* ./Cfa/type.scm 54 */
int BgL_auxz00_3152;
BgL_auxz00_3152 = 
(int)(((long)1)); 
BgL_arg2017z00_1950 = 
PROCEDURE_REF(BGl_typezd2nodez12zd2envz12zzcfa_typez00, BgL_auxz00_3152); } 
{ /* ./Cfa/type.scm 54 */
int BgL_offsetz00_1953;
BgL_offsetz00_1953 = 
(int)(BgL_objzd2classzd2numz00_1949); 
{ /* ./Cfa/type.scm 54 */
long BgL_offsetz00_1954;
{ /* ./Cfa/type.scm 54 */
long BgL_auxz00_3156;
BgL_auxz00_3156 = 
(long)(BgL_offsetz00_1953); 
BgL_offsetz00_1954 = 
(BgL_auxz00_3156-OBJECT_TYPE); } 
{ /* ./Cfa/type.scm 54 */
long BgL_modz00_1955;
{ /* ./Cfa/type.scm 54 */
int BgL_arg2028z00_1956;
BgL_arg2028z00_1956 = 
(int)(((long)8)); 
{ /* ./Cfa/type.scm 54 */
long BgL_n2z00_1964;
BgL_n2z00_1964 = 
(long)(BgL_arg2028z00_1956); 
BgL_modz00_1955 = 
(BgL_offsetz00_1954/BgL_n2z00_1964); } } 
{ /* ./Cfa/type.scm 54 */
long BgL_restz00_1957;
{ /* ./Cfa/type.scm 54 */
int BgL_arg2024z00_1958;
BgL_arg2024z00_1958 = 
(int)(((long)8)); 
{ /* ./Cfa/type.scm 54 */
long BgL_n2z00_1967;
BgL_n2z00_1967 = 
(long)(BgL_arg2024z00_1958); 
BgL_restz00_1957 = 
(BgL_offsetz00_1954%BgL_n2z00_1967); } } 
{ /* ./Cfa/type.scm 54 */

{ /* ./Cfa/type.scm 54 */
obj_t BgL_bucketz00_1959;
{ /* ./Cfa/type.scm 54 */
int BgL_kz00_1969;
BgL_kz00_1969 = 
(int)(BgL_modz00_1955); 
BgL_bucketz00_1959 = 
VECTOR_REF(BgL_arg2017z00_1950,BgL_kz00_1969); } 
{ /* ./Cfa/type.scm 54 */
int BgL_kz00_1971;
BgL_kz00_1971 = 
(int)(BgL_restz00_1957); 
BgL_method4656z00_1947 = 
VECTOR_REF(BgL_bucketz00_1959,BgL_kz00_1971); } } } } } } } } } } 
PROCEDURE_ENTRY(BgL_method4656z00_1947)(BgL_method4656z00_1947, 
(obj_t)(BgL_nodez00_1946), BEOA); } } } 
{ /* ./Cfa/type.scm 56 */
obj_t BgL_arg4735z00_1065;
{ /* ./Cfa/type.scm 56 */
BgL_approxz00_bglt BgL_arg4738z00_1066;
{ /* ./Cfa/type.scm 56 */
BgL_internzd2sfunzf2cinfoz20_bglt BgL_obj2822z00_1972;
BgL_obj2822z00_1972 = 
(BgL_internzd2sfunzf2cinfoz20_bglt)(BgL_funz00_1054); 
{ 
obj_t BgL_auxz00_3173;
{ /* ./Cfa/type.scm 56 */
BgL_objectz00_bglt BgL_auxz00_3174;
BgL_auxz00_3174 = 
(BgL_objectz00_bglt)(BgL_obj2822z00_1972); 
BgL_auxz00_3173 = 
BGL_OBJECT_WIDENING(BgL_auxz00_3174); } 
BgL_arg4738z00_1066 = 
(((BgL_internzd2sfunzf2cinfoz20_bglt)CREF(BgL_auxz00_3173))->BgL_approxz00); } } 
BgL_arg4735z00_1065 = 
BGl_getzd2approxzd2typez00zzcfa_typez00(BgL_arg4738z00_1066); } 
return 
BGl_setzd2variablezd2typez12z12zzcfa_typez00(BgL_varz00_2, 
(BgL_typez00_bglt)(BgL_arg4735z00_1065));} }  else 
{ /* ./Cfa/type.scm 46 */
return BFALSE;} } } } 
}



/* get-approx-type */
BGL_EXPORTED_DEF obj_t BGl_getzd2approxzd2typez00zzcfa_typez00(BgL_approxz00_bglt BgL_approxz00_3)
{ AN_OBJECT;
{ /* ./Cfa/type.scm 61 */
{ /* ./Cfa/type.scm 62 */
BgL_typez00_bglt BgL_typez00_1067;obj_t BgL_alloczd2listzd2_1068;
BgL_typez00_1067 = 
(((BgL_approxz00_bglt)CREF(BgL_approxz00_3))->BgL_typez00); 
{ /* ./Cfa/type.scm 63 */
obj_t BgL_arg4773z00_1087;
BgL_arg4773z00_1087 = 
(((BgL_approxz00_bglt)CREF(BgL_approxz00_3))->BgL_allocsz00); 
BgL_alloczd2listzd2_1068 = 
BGl_setzd2ze3listz31zzcfa_setz00(BgL_arg4773z00_1087); } 
{ /* ./Cfa/type.scm 65 */
bool_t BgL_test4743z00_1069;
BgL_test4743z00_1069 = 
PAIRP(BgL_alloczd2listzd2_1068); 
if(BgL_test4743z00_1069)
{ /* ./Cfa/type.scm 67 */
bool_t BgL_test4744z00_1070;
{ /* ./Cfa/type.scm 67 */
obj_t BgL_auxz00_3186;
BgL_auxz00_3186 = 
BGl_tvectorzd2optimiza7ationzf3z86zzcfa_tvectorz00(); 
BgL_test4744z00_1070 = 
CBOOL(BgL_auxz00_3186); } 
if(BgL_test4744z00_1070)
{ /* ./Cfa/type.scm 69 */
bool_t BgL_test4745z00_1071;
{ /* ./Cfa/type.scm 69 */
obj_t BgL_arg4766z00_1086;
BgL_arg4766z00_1086 = 
CAR(BgL_alloczd2listzd2_1068); 
BgL_test4745z00_1071 = 
BGl_iszd2azf3z21zz__objectz00(BgL_arg4766z00_1086, BGl_makezd2vectorzd2appz00zzcfa_info2z00); } 
if(BgL_test4745z00_1071)
{ /* ./Cfa/type.scm 69 */
{ /* ./Cfa/type.scm 70 */
obj_t BgL_appz00_1072;
BgL_appz00_1072 = 
CAR(BgL_alloczd2listzd2_1068); 
{ /* ./Cfa/type.scm 70 */
BgL_typez00_bglt BgL_tvzd2typezd2_1073;
BgL_tvzd2typezd2_1073 = 
BGl_getzd2vectorzd2itemzd2typezd2zzcfa_tvectorz00(
(BgL_nodez00_bglt)(BgL_appz00_1072)); 
{ /* ./Cfa/type.scm 71 */
BgL_approxz00_bglt BgL_valuezd2approxzd2_1074;
{ /* ./Cfa/type.scm 72 */
BgL_makezd2vectorzd2appz00_bglt BgL_obj3853z00_1979;
BgL_obj3853z00_1979 = 
(BgL_makezd2vectorzd2appz00_bglt)(BgL_appz00_1072); 
{ 
obj_t BgL_auxz00_3197;
{ /* ./Cfa/type.scm 72 */
BgL_objectz00_bglt BgL_auxz00_3198;
BgL_auxz00_3198 = 
(BgL_objectz00_bglt)(BgL_obj3853z00_1979); 
BgL_auxz00_3197 = 
BGL_OBJECT_WIDENING(BgL_auxz00_3198); } 
BgL_valuezd2approxzd2_1074 = 
(((BgL_makezd2vectorzd2appz00_bglt)CREF(BgL_auxz00_3197))->BgL_valuezd2approxzd2); } } 
{ /* ./Cfa/type.scm 72 */
BgL_typez00_bglt BgL_itemzd2typezd2_1075;
BgL_itemzd2typezd2_1075 = 
(((BgL_approxz00_bglt)CREF(BgL_valuezd2approxzd2_1074))->BgL_typez00); 
{ /* ./Cfa/type.scm 73 */
obj_t BgL_tvz00_1076;
BgL_tvz00_1076 = 
(((BgL_typez00_bglt)CREF(BgL_itemzd2typezd2_1075))->BgL_tvectorz00); 
{ /* ./Cfa/type.scm 74 */

{ /* ./Cfa/type.scm 75 */
bool_t BgL_test4746z00_1077;
BgL_test4746z00_1077 = 
BGl_iszd2azf3z21zz__objectz00(BgL_tvz00_1076, BGl_typez00zztype_typez00); 
if(BgL_test4746z00_1077)
{ /* ./Cfa/type.scm 75 */
return BgL_tvz00_1076;}  else 
{ /* ./Cfa/type.scm 75 */
return 
(obj_t)(BgL_typez00_1067);} } } } } } } } }  else 
{ /* ./Cfa/type.scm 78 */
bool_t BgL_test4753z00_1078;
{ /* ./Cfa/type.scm 78 */
obj_t BgL_arg4762z00_1085;
BgL_arg4762z00_1085 = 
CAR(BgL_alloczd2listzd2_1068); 
BgL_test4753z00_1078 = 
BGl_iszd2azf3z21zz__objectz00(BgL_arg4762z00_1085, BGl_valloczf2Cinfozb2optimz40zzcfa_info3z00); } 
if(BgL_test4753z00_1078)
{ /* ./Cfa/type.scm 78 */
{ /* ./Cfa/type.scm 79 */
obj_t BgL_appz00_1079;
BgL_appz00_1079 = 
CAR(BgL_alloczd2listzd2_1068); 
{ /* ./Cfa/type.scm 79 */
BgL_typez00_bglt BgL_tvzd2typezd2_1080;
BgL_tvzd2typezd2_1080 = 
BGl_getzd2vectorzd2itemzd2typezd2zzcfa_tvectorz00(
(BgL_nodez00_bglt)(BgL_appz00_1079)); 
{ /* ./Cfa/type.scm 80 */
BgL_approxz00_bglt BgL_valuezd2approxzd2_1081;
{ /* ./Cfa/type.scm 81 */
BgL_valloczf2cinfozb2optimz40_bglt BgL_obj4490z00_1986;
BgL_obj4490z00_1986 = 
(BgL_valloczf2cinfozb2optimz40_bglt)(BgL_appz00_1079); 
{ 
obj_t BgL_auxz00_3214;
{ /* ./Cfa/type.scm 81 */
BgL_objectz00_bglt BgL_auxz00_3215;
BgL_auxz00_3215 = 
(BgL_objectz00_bglt)(BgL_obj4490z00_1986); 
BgL_auxz00_3214 = 
BGL_OBJECT_WIDENING(BgL_auxz00_3215); } 
BgL_valuezd2approxzd2_1081 = 
(((BgL_valloczf2cinfozb2optimz40_bglt)CREF(BgL_auxz00_3214))->BgL_valuezd2approxzd2); } } 
{ /* ./Cfa/type.scm 81 */
BgL_typez00_bglt BgL_itemzd2typezd2_1082;
BgL_itemzd2typezd2_1082 = 
(((BgL_approxz00_bglt)CREF(BgL_valuezd2approxzd2_1081))->BgL_typez00); 
{ /* ./Cfa/type.scm 82 */
obj_t BgL_tvz00_1083;
BgL_tvz00_1083 = 
(((BgL_typez00_bglt)CREF(BgL_itemzd2typezd2_1082))->BgL_tvectorz00); 
{ /* ./Cfa/type.scm 83 */

{ /* ./Cfa/type.scm 84 */
bool_t BgL_test4754z00_1084;
BgL_test4754z00_1084 = 
BGl_iszd2azf3z21zz__objectz00(BgL_tvz00_1083, BGl_typez00zztype_typez00); 
if(BgL_test4754z00_1084)
{ /* ./Cfa/type.scm 84 */
return BgL_tvz00_1083;}  else 
{ /* ./Cfa/type.scm 84 */
return 
(obj_t)(BgL_typez00_1067);} } } } } } } } }  else 
{ /* ./Cfa/type.scm 78 */
return 
(obj_t)(BgL_typez00_1067);} } }  else 
{ /* ./Cfa/type.scm 67 */
return 
(obj_t)(BgL_typez00_1067);} }  else 
{ /* ./Cfa/type.scm 65 */
return 
(obj_t)(BgL_typez00_1067);} } } } 
}



/* _get-approx-type6128 */
obj_t BGl__getzd2approxzd2type6128z00zzcfa_typez00(obj_t BgL_envz00_2960, obj_t BgL_approxz00_2961)
{ AN_OBJECT;
{ /* ./Cfa/type.scm 61 */
return 
BGl_getzd2approxzd2typez00zzcfa_typez00(
(BgL_approxz00_bglt)(BgL_approxz00_2961));} 
}



/* set-variable-type! */
obj_t BGl_setzd2variablezd2typez12z12zzcfa_typez00(BgL_variablez00_bglt BgL_variablez00_18, BgL_typez00_bglt BgL_typez00_19)
{ AN_OBJECT;
{ /* ./Cfa/type.scm 143 */
{ /* ./Cfa/type.scm 144 */
obj_t BgL_ntypez00_1088;BgL_typez00_bglt BgL_otypez00_1089;
{ /* ./Cfa/type.scm 144 */
bool_t BgL_test4799z00_1100;
{ /* ./Cfa/type.scm 144 */
obj_t BgL_auxz00_3229;
BgL_auxz00_3229 = 
(obj_t)(BgL_typez00_19); 
BgL_test4799z00_1100 = 
(BgL_auxz00_3229==BGl_za2_za2z00zztype_cachez00); } 
if(BgL_test4799z00_1100)
{ /* ./Cfa/type.scm 144 */
BgL_ntypez00_1088 = BGl_za2objza2z00zztype_cachez00; }  else 
{ /* ./Cfa/type.scm 144 */
BgL_ntypez00_1088 = 
(obj_t)(BgL_typez00_19); } } 
BgL_otypez00_1089 = 
(((BgL_variablez00_bglt)CREF(BgL_variablez00_18))->BgL_typez00); 
{ /* ./Cfa/type.scm 147 */
bool_t BgL_test4776z00_1090;
{ /* ./Cfa/type.scm 147 */
obj_t BgL_auxz00_3235;
BgL_auxz00_3235 = 
(obj_t)(BgL_otypez00_1089); 
BgL_test4776z00_1090 = 
(BgL_auxz00_3235==BGl_za2_za2z00zztype_cachez00); } 
if(BgL_test4776z00_1090)
{ /* ./Cfa/type.scm 147 */
{ /* ./Cfa/type.scm 148 */
bool_t BgL_test4777z00_1091;
{ /* ./Cfa/type.scm 148 */
bool_t BgL_test4780z00_1092;
{ /* ./Cfa/type.scm 148 */
obj_t BgL_obj1240z00_1991;
BgL_obj1240z00_1991 = 
(obj_t)(BgL_variablez00_18); 
BgL_test4780z00_1092 = 
BGl_iszd2azf3z21zz__objectz00(BgL_obj1240z00_1991, BGl_globalz00zzast_varz00); } 
if(BgL_test4780z00_1092)
{ /* ./Cfa/type.scm 149 */
bool_t BgL_test4781z00_1093;
{ /* ./Cfa/type.scm 149 */
BgL_valuez00_bglt BgL_arg4789z00_1097;
BgL_arg4789z00_1097 = 
(((BgL_variablez00_bglt)CREF(BgL_variablez00_18))->BgL_valuez00); 
{ /* ./Cfa/type.scm 149 */
obj_t BgL_obj1344z00_1993;
BgL_obj1344z00_1993 = 
(obj_t)(BgL_arg4789z00_1097); 
BgL_test4781z00_1093 = 
BGl_iszd2azf3z21zz__objectz00(BgL_obj1344z00_1993, BGl_funz00zzast_varz00); } } 
if(BgL_test4781z00_1093)
{ /* ./Cfa/type.scm 149 */
BgL_test4777z00_1091 = ((bool_t)0); }  else 
{ /* ./Cfa/type.scm 149 */
if(
CBOOL(BGl_za2unsafezd2typeza2zd2zzengine_paramz00))
{ /* ./Cfa/type.scm 150 */
BgL_test4777z00_1091 = ((bool_t)0); }  else 
{ /* ./Cfa/type.scm 151 */
bool_t BgL_testz00_3248;
{ /* ./Cfa/type.scm 151 */
obj_t BgL_auxz00_3252;obj_t BgL_auxz00_3249;
BgL_auxz00_3252 = 
CNST_TABLE_REF(((long)0)); 
{ /* ./Cfa/type.scm 151 */
BgL_typez00_bglt BgL_obj1010z00_1994;
BgL_obj1010z00_1994 = 
(BgL_typez00_bglt)(BgL_ntypez00_1088); 
BgL_auxz00_3249 = 
(((BgL_typez00_bglt)CREF(BgL_obj1010z00_1994))->BgL_classz00); } 
BgL_testz00_3248 = 
(BgL_auxz00_3249==BgL_auxz00_3252); } 
if(BgL_testz00_3248)
{ /* ./Cfa/type.scm 151 */
BgL_test4777z00_1091 = ((bool_t)0); }  else 
{ /* ./Cfa/type.scm 151 */
BgL_test4777z00_1091 = ((bool_t)1); } } } }  else 
{ /* ./Cfa/type.scm 148 */
BgL_test4777z00_1091 = ((bool_t)0); } } 
if(BgL_test4777z00_1091)
{ /* ./Cfa/type.scm 156 */
BgL_variablez00_bglt BgL_obj1099z00_1995;BgL_typez00_bglt BgL_val1098z00_1996;
BgL_obj1099z00_1995 = BgL_variablez00_18; 
BgL_val1098z00_1996 = 
(BgL_typez00_bglt)(BGl_za2objza2z00zztype_cachez00); 
return 
((((BgL_variablez00_bglt)CREF(BgL_obj1099z00_1995))->BgL_typez00) = ((BgL_typez00_bglt)BgL_val1098z00_1996), BUNSPEC);}  else 
{ /* ./Cfa/type.scm 157 */
BgL_variablez00_bglt BgL_obj1099z00_1997;BgL_typez00_bglt BgL_val1098z00_1998;
BgL_obj1099z00_1997 = BgL_variablez00_18; 
BgL_val1098z00_1998 = 
(BgL_typez00_bglt)(BgL_ntypez00_1088); 
return 
((((BgL_variablez00_bglt)CREF(BgL_obj1099z00_1997))->BgL_typez00) = ((BgL_typez00_bglt)BgL_val1098z00_1998), BUNSPEC);} } }  else 
{ /* ./Cfa/type.scm 158 */
bool_t BgL_test4793z00_1098;
{ /* ./Cfa/type.scm 158 */
bool_t BgL_test4795z00_1099;
{ /* ./Cfa/type.scm 158 */
obj_t BgL_auxz00_3260;
BgL_auxz00_3260 = 
(obj_t)(BgL_otypez00_1089); 
BgL_test4795z00_1099 = 
(BgL_auxz00_3260==BGl_za2vectorza2z00zztype_cachez00); } 
if(BgL_test4795z00_1099)
{ /* ./Cfa/type.scm 158 */
BgL_test4793z00_1098 = 
BGl_iszd2azf3z21zz__objectz00(BgL_ntypez00_1088, BGl_tvecz00zztvector_tvectorz00); }  else 
{ /* ./Cfa/type.scm 158 */
BgL_test4793z00_1098 = ((bool_t)0); } } 
if(BgL_test4793z00_1098)
{ /* ./Cfa/type.scm 158 */
{ /* ./Cfa/type.scm 159 */
BgL_variablez00_bglt BgL_obj1099z00_2000;BgL_typez00_bglt BgL_val1098z00_2001;
BgL_obj1099z00_2000 = BgL_variablez00_18; 
BgL_val1098z00_2001 = 
(BgL_typez00_bglt)(BgL_ntypez00_1088); 
return 
((((BgL_variablez00_bglt)CREF(BgL_obj1099z00_2000))->BgL_typez00) = ((BgL_typez00_bglt)BgL_val1098z00_2001), BUNSPEC);} }  else 
{ /* ./Cfa/type.scm 158 */
return BFALSE;} } } } } 
}



/* type-node*! */
bool_t BGl_typezd2nodeza2z12z62zzcfa_typez00(obj_t BgL_nodeza2za2_45)
{ AN_OBJECT;
{ /* ./Cfa/type.scm 354 */
{ 
obj_t BgL_l4641z00_1101;
BgL_l4641z00_1101 = BgL_nodeza2za2_45; 
BgL_forzd2each4642zd2_1102:
{ /* ./Cfa/type.scm 355 */
bool_t BgL_test4803z00_1103;
BgL_test4803z00_1103 = 
PAIRP(BgL_l4641z00_1101); 
if(BgL_test4803z00_1103)
{ /* ./Cfa/type.scm 355 */
{ /* ./Cfa/type.scm 355 */
obj_t BgL_arg4805z00_1104;
BgL_arg4805z00_1104 = 
CAR(BgL_l4641z00_1101); 
{ /* ./Cfa/type.scm 355 */
BgL_nodez00_bglt BgL_nodez00_2004;
BgL_nodez00_2004 = 
(BgL_nodez00_bglt)(BgL_arg4805z00_1104); 
{ /* ./Cfa/type.scm 355 */
obj_t BgL_method4656z00_2005;
{ /* ./Cfa/type.scm 355 */
BgL_objectz00_bglt BgL_objz00_2006;
BgL_objz00_2006 = 
(BgL_objectz00_bglt)(BgL_nodez00_2004); 
{ /* ./Cfa/type.scm 355 */
long BgL_objzd2classzd2numz00_2007;
BgL_objzd2classzd2numz00_2007 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2006); 
{ /* ./Cfa/type.scm 355 */
obj_t BgL_arg2017z00_2008;
{ /* ./Cfa/type.scm 355 */
int BgL_auxz00_3274;
BgL_auxz00_3274 = 
(int)(((long)1)); 
BgL_arg2017z00_2008 = 
PROCEDURE_REF(BGl_typezd2nodez12zd2envz12zzcfa_typez00, BgL_auxz00_3274); } 
{ /* ./Cfa/type.scm 355 */
int BgL_offsetz00_2011;
BgL_offsetz00_2011 = 
(int)(BgL_objzd2classzd2numz00_2007); 
{ /* ./Cfa/type.scm 355 */
long BgL_offsetz00_2012;
{ /* ./Cfa/type.scm 355 */
long BgL_auxz00_3278;
BgL_auxz00_3278 = 
(long)(BgL_offsetz00_2011); 
BgL_offsetz00_2012 = 
(BgL_auxz00_3278-OBJECT_TYPE); } 
{ /* ./Cfa/type.scm 355 */
long BgL_modz00_2013;
{ /* ./Cfa/type.scm 355 */
int BgL_arg2028z00_2014;
BgL_arg2028z00_2014 = 
(int)(((long)8)); 
{ /* ./Cfa/type.scm 355 */
long BgL_n2z00_2022;
BgL_n2z00_2022 = 
(long)(BgL_arg2028z00_2014); 
BgL_modz00_2013 = 
(BgL_offsetz00_2012/BgL_n2z00_2022); } } 
{ /* ./Cfa/type.scm 355 */
long BgL_restz00_2015;
{ /* ./Cfa/type.scm 355 */
int BgL_arg2024z00_2016;
BgL_arg2024z00_2016 = 
(int)(((long)8)); 
{ /* ./Cfa/type.scm 355 */
long BgL_n2z00_2025;
BgL_n2z00_2025 = 
(long)(BgL_arg2024z00_2016); 
BgL_restz00_2015 = 
(BgL_offsetz00_2012%BgL_n2z00_2025); } } 
{ /* ./Cfa/type.scm 355 */

{ /* ./Cfa/type.scm 355 */
obj_t BgL_bucketz00_2017;
{ /* ./Cfa/type.scm 355 */
int BgL_kz00_2027;
BgL_kz00_2027 = 
(int)(BgL_modz00_2013); 
BgL_bucketz00_2017 = 
VECTOR_REF(BgL_arg2017z00_2008,BgL_kz00_2027); } 
{ /* ./Cfa/type.scm 355 */
int BgL_kz00_2029;
BgL_kz00_2029 = 
(int)(BgL_restz00_2015); 
BgL_method4656z00_2005 = 
VECTOR_REF(BgL_bucketz00_2017,BgL_kz00_2029); } } } } } } } } } } 
PROCEDURE_ENTRY(BgL_method4656z00_2005)(BgL_method4656z00_2005, 
(obj_t)(BgL_nodez00_2004), BEOA); } } } 
{ /* ./Cfa/type.scm 355 */
obj_t BgL_arg4809z00_1105;
BgL_arg4809z00_1105 = 
CDR(BgL_l4641z00_1101); 
{ 
obj_t BgL_l4641z00_3295;
BgL_l4641z00_3295 = BgL_arg4809z00_1105; 
BgL_l4641z00_1101 = BgL_l4641z00_3295; 
goto BgL_forzd2each4642zd2_1102;} } }  else 
{ /* ./Cfa/type.scm 355 */
return ((bool_t)1);} } } } 
}



/* method-init */
obj_t BGl_methodzd2initzd2zzcfa_typez00()
{ AN_OBJECT;
{ /* ./Cfa/type.scm 15 */
BGl_addzd2genericz12zc0zz__objectz00(BGl_typezd2variablez12zd2envz12zzcfa_typez00, BGl_typezd2variablez12zd2default4643zd2envzc0zzcfa_typez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_typezd2variablez12zd2envz12zzcfa_typez00, BGl_svarzf2Cinfozf2zzcfa_infoz00, BGl_proc6691z00zzcfa_typez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_typezd2variablez12zd2envz12zzcfa_typez00, BGl_scnstzf2Cinfozf2zzcfa_infoz00, BGl_proc6692z00zzcfa_typez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_typezd2variablez12zd2envz12zzcfa_typez00, BGl_cvarzf2Cinfozf2zzcfa_infoz00, BGl_proc6693z00zzcfa_typez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_typezd2variablez12zd2envz12zzcfa_typez00, BGl_sexitzf2Cinfozf2zzcfa_infoz00, BGl_proc6694z00zzcfa_typez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_typezd2variablez12zd2envz12zzcfa_typez00, BGl_internzd2sfunzf2Cinfoz20zzcfa_infoz00, BGl_proc6695z00zzcfa_typez00); 
BGl_addzd2genericz12zc0zz__objectz00(BGl_typezd2nodez12zd2envz12zzcfa_typez00, BGl_typezd2nodez12zd2default4655zd2envzc0zzcfa_typez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_typezd2nodez12zd2envz12zzcfa_typez00, BGl_atomz00zzast_nodez00, BGl_proc6696z00zzcfa_typez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_typezd2nodez12zd2envz12zzcfa_typez00, BGl_kwotez00zzast_nodez00, BGl_proc6697z00zzcfa_typez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_typezd2nodez12zd2envz12zzcfa_typez00, BGl_varz00zzast_nodez00, BGl_proc6698z00zzcfa_typez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_typezd2nodez12zd2envz12zzcfa_typez00, BGl_closurez00zzast_nodez00, BGl_proc6699z00zzcfa_typez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_typezd2nodez12zd2envz12zzcfa_typez00, BGl_sequencez00zzast_nodez00, BGl_proc6700z00zzcfa_typez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_typezd2nodez12zd2envz12zzcfa_typez00, BGl_appz00zzast_nodez00, BGl_proc6701z00zzcfa_typez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_typezd2nodez12zd2envz12zzcfa_typez00, BGl_appzd2lyzd2zzast_nodez00, BGl_proc6702z00zzcfa_typez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_typezd2nodez12zd2envz12zzcfa_typez00, BGl_funcallz00zzast_nodez00, BGl_proc6703z00zzcfa_typez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_typezd2nodez12zd2envz12zzcfa_typez00, BGl_externz00zzast_nodez00, BGl_proc6704z00zzcfa_typez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_typezd2nodez12zd2envz12zzcfa_typez00, BGl_vrefz00zzast_nodez00, BGl_proc6705z00zzcfa_typez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_typezd2nodez12zd2envz12zzcfa_typez00, BGl_vsetz12z12zzast_nodez00, BGl_proc6706z00zzcfa_typez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_typezd2nodez12zd2envz12zzcfa_typez00, BGl_castz00zzast_nodez00, BGl_proc6707z00zzcfa_typez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_typezd2nodez12zd2envz12zzcfa_typez00, BGl_setqz00zzast_nodez00, BGl_proc6708z00zzcfa_typez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_typezd2nodez12zd2envz12zzcfa_typez00, BGl_conditionalz00zzast_nodez00, BGl_proc6709z00zzcfa_typez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_typezd2nodez12zd2envz12zzcfa_typez00, BGl_failz00zzast_nodez00, BGl_proc6710z00zzcfa_typez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_typezd2nodez12zd2envz12zzcfa_typez00, BGl_selectz00zzast_nodez00, BGl_proc6711z00zzcfa_typez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_typezd2nodez12zd2envz12zzcfa_typez00, BGl_letzd2funzd2zzast_nodez00, BGl_proc6712z00zzcfa_typez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_typezd2nodez12zd2envz12zzcfa_typez00, BGl_letzd2varzd2zzast_nodez00, BGl_proc6713z00zzcfa_typez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_typezd2nodez12zd2envz12zzcfa_typez00, BGl_setzd2exzd2itz00zzast_nodez00, BGl_proc6714z00zzcfa_typez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_typezd2nodez12zd2envz12zzcfa_typez00, BGl_jumpzd2exzd2itz00zzast_nodez00, BGl_proc6715z00zzcfa_typez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_typezd2nodez12zd2envz12zzcfa_typez00, BGl_makezd2boxzd2zzast_nodez00, BGl_proc6716z00zzcfa_typez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_typezd2nodez12zd2envz12zzcfa_typez00, BGl_boxzd2setz12zc0zzast_nodez00, BGl_proc6717z00zzcfa_typez00); 
return 
BGl_addzd2methodz12zc0zz__objectz00(BGl_typezd2nodez12zd2envz12zzcfa_typez00, BGl_boxzd2refzd2zzast_nodez00, BGl_proc6718z00zzcfa_typez00);} 
}



/* type-node!-box-ref4702 */
obj_t BGl_typezd2nodez12zd2boxzd2ref4702zc0zzcfa_typez00(obj_t BgL_envz00_2990, obj_t BgL_nodez00_2991)
{ AN_OBJECT;
{ /* ./Cfa/type.scm 347 */
{ 
BgL_boxzd2refzd2_bglt BgL_nodez00_1896;
BgL_nodez00_1896 = 
(BgL_boxzd2refzd2_bglt)(BgL_nodez00_2991); 
{ /* ./Cfa/type.scm 348 */
BgL_varz00_bglt BgL_arg6020z00_2867;
BgL_arg6020z00_2867 = 
(((BgL_boxzd2refzd2_bglt)CREF(BgL_nodez00_1896))->BgL_varz00); 
{ /* ./Cfa/type.scm 348 */
BgL_nodez00_bglt BgL_nodez00_2869;
BgL_nodez00_2869 = 
(BgL_nodez00_bglt)(BgL_arg6020z00_2867); 
{ /* ./Cfa/type.scm 348 */
obj_t BgL_method4656z00_2870;
{ /* ./Cfa/type.scm 348 */
BgL_objectz00_bglt BgL_objz00_2871;
BgL_objz00_2871 = 
(BgL_objectz00_bglt)(BgL_nodez00_2869); 
{ /* ./Cfa/type.scm 348 */
long BgL_objzd2classzd2numz00_2872;
BgL_objzd2classzd2numz00_2872 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2871); 
{ /* ./Cfa/type.scm 348 */
obj_t BgL_arg2017z00_2873;
{ /* ./Cfa/type.scm 348 */
int BgL_auxz00_3330;
BgL_auxz00_3330 = 
(int)(((long)1)); 
BgL_arg2017z00_2873 = 
PROCEDURE_REF(BGl_typezd2nodez12zd2envz12zzcfa_typez00, BgL_auxz00_3330); } 
{ /* ./Cfa/type.scm 348 */
int BgL_offsetz00_2876;
BgL_offsetz00_2876 = 
(int)(BgL_objzd2classzd2numz00_2872); 
{ /* ./Cfa/type.scm 348 */
long BgL_offsetz00_2877;
{ /* ./Cfa/type.scm 348 */
long BgL_auxz00_3334;
BgL_auxz00_3334 = 
(long)(BgL_offsetz00_2876); 
BgL_offsetz00_2877 = 
(BgL_auxz00_3334-OBJECT_TYPE); } 
{ /* ./Cfa/type.scm 348 */
long BgL_modz00_2878;
{ /* ./Cfa/type.scm 348 */
int BgL_arg2028z00_2879;
BgL_arg2028z00_2879 = 
(int)(((long)8)); 
{ /* ./Cfa/type.scm 348 */
long BgL_n2z00_2887;
BgL_n2z00_2887 = 
(long)(BgL_arg2028z00_2879); 
BgL_modz00_2878 = 
(BgL_offsetz00_2877/BgL_n2z00_2887); } } 
{ /* ./Cfa/type.scm 348 */
long BgL_restz00_2880;
{ /* ./Cfa/type.scm 348 */
int BgL_arg2024z00_2881;
BgL_arg2024z00_2881 = 
(int)(((long)8)); 
{ /* ./Cfa/type.scm 348 */
long BgL_n2z00_2890;
BgL_n2z00_2890 = 
(long)(BgL_arg2024z00_2881); 
BgL_restz00_2880 = 
(BgL_offsetz00_2877%BgL_n2z00_2890); } } 
{ /* ./Cfa/type.scm 348 */

{ /* ./Cfa/type.scm 348 */
obj_t BgL_bucketz00_2882;
{ /* ./Cfa/type.scm 348 */
int BgL_kz00_2892;
BgL_kz00_2892 = 
(int)(BgL_modz00_2878); 
BgL_bucketz00_2882 = 
VECTOR_REF(BgL_arg2017z00_2873,BgL_kz00_2892); } 
{ /* ./Cfa/type.scm 348 */
int BgL_kz00_2894;
BgL_kz00_2894 = 
(int)(BgL_restz00_2880); 
BgL_method4656z00_2870 = 
VECTOR_REF(BgL_bucketz00_2882,BgL_kz00_2894); } } } } } } } } } } 
return 
PROCEDURE_ENTRY(BgL_method4656z00_2870)(BgL_method4656z00_2870, 
(obj_t)(BgL_nodez00_2869), BEOA);} } } } } 
}



/* type-node!-box-set!4700 */
obj_t BGl_typezd2nodez12zd2boxzd2setz124700zd2zzcfa_typez00(obj_t BgL_envz00_2992, obj_t BgL_nodez00_2993)
{ AN_OBJECT;
{ /* ./Cfa/type.scm 339 */
{ 
BgL_boxzd2setz12zc0_bglt BgL_nodez00_1888;
BgL_nodez00_1888 = 
(BgL_boxzd2setz12zc0_bglt)(BgL_nodez00_2993); 
{ /* ./Cfa/type.scm 341 */
BgL_varz00_bglt BgL_arg6006z00_1892;
BgL_arg6006z00_1892 = 
(((BgL_boxzd2setz12zc0_bglt)CREF(BgL_nodez00_1888))->BgL_varz00); 
{ /* ./Cfa/type.scm 341 */
BgL_nodez00_bglt BgL_nodez00_2813;
BgL_nodez00_2813 = 
(BgL_nodez00_bglt)(BgL_arg6006z00_1892); 
{ /* ./Cfa/type.scm 341 */
obj_t BgL_method4656z00_2814;
{ /* ./Cfa/type.scm 341 */
BgL_objectz00_bglt BgL_objz00_2815;
BgL_objz00_2815 = 
(BgL_objectz00_bglt)(BgL_nodez00_2813); 
{ /* ./Cfa/type.scm 341 */
long BgL_objzd2classzd2numz00_2816;
BgL_objzd2classzd2numz00_2816 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2815); 
{ /* ./Cfa/type.scm 341 */
obj_t BgL_arg2017z00_2817;
{ /* ./Cfa/type.scm 341 */
int BgL_auxz00_3355;
BgL_auxz00_3355 = 
(int)(((long)1)); 
BgL_arg2017z00_2817 = 
PROCEDURE_REF(BGl_typezd2nodez12zd2envz12zzcfa_typez00, BgL_auxz00_3355); } 
{ /* ./Cfa/type.scm 341 */
int BgL_offsetz00_2820;
BgL_offsetz00_2820 = 
(int)(BgL_objzd2classzd2numz00_2816); 
{ /* ./Cfa/type.scm 341 */
long BgL_offsetz00_2821;
{ /* ./Cfa/type.scm 341 */
long BgL_auxz00_3359;
BgL_auxz00_3359 = 
(long)(BgL_offsetz00_2820); 
BgL_offsetz00_2821 = 
(BgL_auxz00_3359-OBJECT_TYPE); } 
{ /* ./Cfa/type.scm 341 */
long BgL_modz00_2822;
{ /* ./Cfa/type.scm 341 */
int BgL_arg2028z00_2823;
BgL_arg2028z00_2823 = 
(int)(((long)8)); 
{ /* ./Cfa/type.scm 341 */
long BgL_n2z00_2831;
BgL_n2z00_2831 = 
(long)(BgL_arg2028z00_2823); 
BgL_modz00_2822 = 
(BgL_offsetz00_2821/BgL_n2z00_2831); } } 
{ /* ./Cfa/type.scm 341 */
long BgL_restz00_2824;
{ /* ./Cfa/type.scm 341 */
int BgL_arg2024z00_2825;
BgL_arg2024z00_2825 = 
(int)(((long)8)); 
{ /* ./Cfa/type.scm 341 */
long BgL_n2z00_2834;
BgL_n2z00_2834 = 
(long)(BgL_arg2024z00_2825); 
BgL_restz00_2824 = 
(BgL_offsetz00_2821%BgL_n2z00_2834); } } 
{ /* ./Cfa/type.scm 341 */

{ /* ./Cfa/type.scm 341 */
obj_t BgL_bucketz00_2826;
{ /* ./Cfa/type.scm 341 */
int BgL_kz00_2836;
BgL_kz00_2836 = 
(int)(BgL_modz00_2822); 
BgL_bucketz00_2826 = 
VECTOR_REF(BgL_arg2017z00_2817,BgL_kz00_2836); } 
{ /* ./Cfa/type.scm 341 */
int BgL_kz00_2838;
BgL_kz00_2838 = 
(int)(BgL_restz00_2824); 
BgL_method4656z00_2814 = 
VECTOR_REF(BgL_bucketz00_2826,BgL_kz00_2838); } } } } } } } } } } 
PROCEDURE_ENTRY(BgL_method4656z00_2814)(BgL_method4656z00_2814, 
(obj_t)(BgL_nodez00_2813), BEOA); } } } 
{ /* ./Cfa/type.scm 342 */
BgL_nodez00_bglt BgL_arg6010z00_1893;
BgL_arg6010z00_1893 = 
(((BgL_boxzd2setz12zc0_bglt)CREF(BgL_nodez00_1888))->BgL_valuez00); 
{ /* ./Cfa/type.scm 342 */
obj_t BgL_method4656z00_2841;
{ /* ./Cfa/type.scm 342 */
BgL_objectz00_bglt BgL_objz00_2842;
BgL_objz00_2842 = 
(BgL_objectz00_bglt)(BgL_arg6010z00_1893); 
{ /* ./Cfa/type.scm 342 */
long BgL_objzd2classzd2numz00_2843;
BgL_objzd2classzd2numz00_2843 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2842); 
{ /* ./Cfa/type.scm 342 */
obj_t BgL_arg2017z00_2844;
{ /* ./Cfa/type.scm 342 */
int BgL_auxz00_3378;
BgL_auxz00_3378 = 
(int)(((long)1)); 
BgL_arg2017z00_2844 = 
PROCEDURE_REF(BGl_typezd2nodez12zd2envz12zzcfa_typez00, BgL_auxz00_3378); } 
{ /* ./Cfa/type.scm 342 */
int BgL_offsetz00_2847;
BgL_offsetz00_2847 = 
(int)(BgL_objzd2classzd2numz00_2843); 
{ /* ./Cfa/type.scm 342 */
long BgL_offsetz00_2848;
{ /* ./Cfa/type.scm 342 */
long BgL_auxz00_3382;
BgL_auxz00_3382 = 
(long)(BgL_offsetz00_2847); 
BgL_offsetz00_2848 = 
(BgL_auxz00_3382-OBJECT_TYPE); } 
{ /* ./Cfa/type.scm 342 */
long BgL_modz00_2849;
{ /* ./Cfa/type.scm 342 */
int BgL_arg2028z00_2850;
BgL_arg2028z00_2850 = 
(int)(((long)8)); 
{ /* ./Cfa/type.scm 342 */
long BgL_n2z00_2858;
BgL_n2z00_2858 = 
(long)(BgL_arg2028z00_2850); 
BgL_modz00_2849 = 
(BgL_offsetz00_2848/BgL_n2z00_2858); } } 
{ /* ./Cfa/type.scm 342 */
long BgL_restz00_2851;
{ /* ./Cfa/type.scm 342 */
int BgL_arg2024z00_2852;
BgL_arg2024z00_2852 = 
(int)(((long)8)); 
{ /* ./Cfa/type.scm 342 */
long BgL_n2z00_2861;
BgL_n2z00_2861 = 
(long)(BgL_arg2024z00_2852); 
BgL_restz00_2851 = 
(BgL_offsetz00_2848%BgL_n2z00_2861); } } 
{ /* ./Cfa/type.scm 342 */

{ /* ./Cfa/type.scm 342 */
obj_t BgL_bucketz00_2853;
{ /* ./Cfa/type.scm 342 */
int BgL_kz00_2863;
BgL_kz00_2863 = 
(int)(BgL_modz00_2849); 
BgL_bucketz00_2853 = 
VECTOR_REF(BgL_arg2017z00_2844,BgL_kz00_2863); } 
{ /* ./Cfa/type.scm 342 */
int BgL_kz00_2865;
BgL_kz00_2865 = 
(int)(BgL_restz00_2851); 
BgL_method4656z00_2841 = 
VECTOR_REF(BgL_bucketz00_2853,BgL_kz00_2865); } } } } } } } } } } 
return 
PROCEDURE_ENTRY(BgL_method4656z00_2841)(BgL_method4656z00_2841, 
(obj_t)(BgL_arg6010z00_1893), BEOA);} } } } 
}



/* type-node!-make-box4698 */
obj_t BGl_typezd2nodez12zd2makezd2box4698zc0zzcfa_typez00(obj_t BgL_envz00_2994, obj_t BgL_nodez00_2995)
{ AN_OBJECT;
{ /* ./Cfa/type.scm 332 */
{ 
BgL_makezd2boxzd2_bglt BgL_nodez00_1881;
BgL_nodez00_1881 = 
(BgL_makezd2boxzd2_bglt)(BgL_nodez00_2995); 
{ /* ./Cfa/type.scm 333 */
BgL_nodez00_bglt BgL_arg5996z00_2784;
BgL_arg5996z00_2784 = 
(((BgL_makezd2boxzd2_bglt)CREF(BgL_nodez00_1881))->BgL_valuez00); 
{ /* ./Cfa/type.scm 333 */
obj_t BgL_method4656z00_2787;
{ /* ./Cfa/type.scm 333 */
BgL_objectz00_bglt BgL_objz00_2788;
BgL_objz00_2788 = 
(BgL_objectz00_bglt)(BgL_arg5996z00_2784); 
{ /* ./Cfa/type.scm 333 */
long BgL_objzd2classzd2numz00_2789;
BgL_objzd2classzd2numz00_2789 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2788); 
{ /* ./Cfa/type.scm 333 */
obj_t BgL_arg2017z00_2790;
{ /* ./Cfa/type.scm 333 */
int BgL_auxz00_3402;
BgL_auxz00_3402 = 
(int)(((long)1)); 
BgL_arg2017z00_2790 = 
PROCEDURE_REF(BGl_typezd2nodez12zd2envz12zzcfa_typez00, BgL_auxz00_3402); } 
{ /* ./Cfa/type.scm 333 */
int BgL_offsetz00_2793;
BgL_offsetz00_2793 = 
(int)(BgL_objzd2classzd2numz00_2789); 
{ /* ./Cfa/type.scm 333 */
long BgL_offsetz00_2794;
{ /* ./Cfa/type.scm 333 */
long BgL_auxz00_3406;
BgL_auxz00_3406 = 
(long)(BgL_offsetz00_2793); 
BgL_offsetz00_2794 = 
(BgL_auxz00_3406-OBJECT_TYPE); } 
{ /* ./Cfa/type.scm 333 */
long BgL_modz00_2795;
{ /* ./Cfa/type.scm 333 */
int BgL_arg2028z00_2796;
BgL_arg2028z00_2796 = 
(int)(((long)8)); 
{ /* ./Cfa/type.scm 333 */
long BgL_n2z00_2804;
BgL_n2z00_2804 = 
(long)(BgL_arg2028z00_2796); 
BgL_modz00_2795 = 
(BgL_offsetz00_2794/BgL_n2z00_2804); } } 
{ /* ./Cfa/type.scm 333 */
long BgL_restz00_2797;
{ /* ./Cfa/type.scm 333 */
int BgL_arg2024z00_2798;
BgL_arg2024z00_2798 = 
(int)(((long)8)); 
{ /* ./Cfa/type.scm 333 */
long BgL_n2z00_2807;
BgL_n2z00_2807 = 
(long)(BgL_arg2024z00_2798); 
BgL_restz00_2797 = 
(BgL_offsetz00_2794%BgL_n2z00_2807); } } 
{ /* ./Cfa/type.scm 333 */

{ /* ./Cfa/type.scm 333 */
obj_t BgL_bucketz00_2799;
{ /* ./Cfa/type.scm 333 */
int BgL_kz00_2809;
BgL_kz00_2809 = 
(int)(BgL_modz00_2795); 
BgL_bucketz00_2799 = 
VECTOR_REF(BgL_arg2017z00_2790,BgL_kz00_2809); } 
{ /* ./Cfa/type.scm 333 */
int BgL_kz00_2811;
BgL_kz00_2811 = 
(int)(BgL_restz00_2797); 
BgL_method4656z00_2787 = 
VECTOR_REF(BgL_bucketz00_2799,BgL_kz00_2811); } } } } } } } } } } 
return 
PROCEDURE_ENTRY(BgL_method4656z00_2787)(BgL_method4656z00_2787, 
(obj_t)(BgL_arg5996z00_2784), BEOA);} } } } 
}



/* type-node!-jump-ex-it4696 */
obj_t BGl_typezd2nodez12zd2jumpzd2exzd2it4696z12zzcfa_typez00(obj_t BgL_envz00_2996, obj_t BgL_nodez00_2997)
{ AN_OBJECT;
{ /* ./Cfa/type.scm 324 */
{ 
BgL_jumpzd2exzd2itz00_bglt BgL_nodez00_1873;
BgL_nodez00_1873 = 
(BgL_jumpzd2exzd2itz00_bglt)(BgL_nodez00_2997); 
{ /* ./Cfa/type.scm 326 */
BgL_nodez00_bglt BgL_arg5982z00_1877;
BgL_arg5982z00_1877 = 
(((BgL_jumpzd2exzd2itz00_bglt)CREF(BgL_nodez00_1873))->BgL_exitz00); 
{ /* ./Cfa/type.scm 326 */
obj_t BgL_method4656z00_2731;
{ /* ./Cfa/type.scm 326 */
BgL_objectz00_bglt BgL_objz00_2732;
BgL_objz00_2732 = 
(BgL_objectz00_bglt)(BgL_arg5982z00_1877); 
{ /* ./Cfa/type.scm 326 */
long BgL_objzd2classzd2numz00_2733;
BgL_objzd2classzd2numz00_2733 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2732); 
{ /* ./Cfa/type.scm 326 */
obj_t BgL_arg2017z00_2734;
{ /* ./Cfa/type.scm 326 */
int BgL_auxz00_3426;
BgL_auxz00_3426 = 
(int)(((long)1)); 
BgL_arg2017z00_2734 = 
PROCEDURE_REF(BGl_typezd2nodez12zd2envz12zzcfa_typez00, BgL_auxz00_3426); } 
{ /* ./Cfa/type.scm 326 */
int BgL_offsetz00_2737;
BgL_offsetz00_2737 = 
(int)(BgL_objzd2classzd2numz00_2733); 
{ /* ./Cfa/type.scm 326 */
long BgL_offsetz00_2738;
{ /* ./Cfa/type.scm 326 */
long BgL_auxz00_3430;
BgL_auxz00_3430 = 
(long)(BgL_offsetz00_2737); 
BgL_offsetz00_2738 = 
(BgL_auxz00_3430-OBJECT_TYPE); } 
{ /* ./Cfa/type.scm 326 */
long BgL_modz00_2739;
{ /* ./Cfa/type.scm 326 */
int BgL_arg2028z00_2740;
BgL_arg2028z00_2740 = 
(int)(((long)8)); 
{ /* ./Cfa/type.scm 326 */
long BgL_n2z00_2748;
BgL_n2z00_2748 = 
(long)(BgL_arg2028z00_2740); 
BgL_modz00_2739 = 
(BgL_offsetz00_2738/BgL_n2z00_2748); } } 
{ /* ./Cfa/type.scm 326 */
long BgL_restz00_2741;
{ /* ./Cfa/type.scm 326 */
int BgL_arg2024z00_2742;
BgL_arg2024z00_2742 = 
(int)(((long)8)); 
{ /* ./Cfa/type.scm 326 */
long BgL_n2z00_2751;
BgL_n2z00_2751 = 
(long)(BgL_arg2024z00_2742); 
BgL_restz00_2741 = 
(BgL_offsetz00_2738%BgL_n2z00_2751); } } 
{ /* ./Cfa/type.scm 326 */

{ /* ./Cfa/type.scm 326 */
obj_t BgL_bucketz00_2743;
{ /* ./Cfa/type.scm 326 */
int BgL_kz00_2753;
BgL_kz00_2753 = 
(int)(BgL_modz00_2739); 
BgL_bucketz00_2743 = 
VECTOR_REF(BgL_arg2017z00_2734,BgL_kz00_2753); } 
{ /* ./Cfa/type.scm 326 */
int BgL_kz00_2755;
BgL_kz00_2755 = 
(int)(BgL_restz00_2741); 
BgL_method4656z00_2731 = 
VECTOR_REF(BgL_bucketz00_2743,BgL_kz00_2755); } } } } } } } } } } 
PROCEDURE_ENTRY(BgL_method4656z00_2731)(BgL_method4656z00_2731, 
(obj_t)(BgL_arg5982z00_1877), BEOA); } } 
{ /* ./Cfa/type.scm 327 */
BgL_nodez00_bglt BgL_arg5986z00_1878;
BgL_arg5986z00_1878 = 
(((BgL_jumpzd2exzd2itz00_bglt)CREF(BgL_nodez00_1873))->BgL_valuez00); 
{ /* ./Cfa/type.scm 327 */
obj_t BgL_method4656z00_2758;
{ /* ./Cfa/type.scm 327 */
BgL_objectz00_bglt BgL_objz00_2759;
BgL_objz00_2759 = 
(BgL_objectz00_bglt)(BgL_arg5986z00_1878); 
{ /* ./Cfa/type.scm 327 */
long BgL_objzd2classzd2numz00_2760;
BgL_objzd2classzd2numz00_2760 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2759); 
{ /* ./Cfa/type.scm 327 */
obj_t BgL_arg2017z00_2761;
{ /* ./Cfa/type.scm 327 */
int BgL_auxz00_3449;
BgL_auxz00_3449 = 
(int)(((long)1)); 
BgL_arg2017z00_2761 = 
PROCEDURE_REF(BGl_typezd2nodez12zd2envz12zzcfa_typez00, BgL_auxz00_3449); } 
{ /* ./Cfa/type.scm 327 */
int BgL_offsetz00_2764;
BgL_offsetz00_2764 = 
(int)(BgL_objzd2classzd2numz00_2760); 
{ /* ./Cfa/type.scm 327 */
long BgL_offsetz00_2765;
{ /* ./Cfa/type.scm 327 */
long BgL_auxz00_3453;
BgL_auxz00_3453 = 
(long)(BgL_offsetz00_2764); 
BgL_offsetz00_2765 = 
(BgL_auxz00_3453-OBJECT_TYPE); } 
{ /* ./Cfa/type.scm 327 */
long BgL_modz00_2766;
{ /* ./Cfa/type.scm 327 */
int BgL_arg2028z00_2767;
BgL_arg2028z00_2767 = 
(int)(((long)8)); 
{ /* ./Cfa/type.scm 327 */
long BgL_n2z00_2775;
BgL_n2z00_2775 = 
(long)(BgL_arg2028z00_2767); 
BgL_modz00_2766 = 
(BgL_offsetz00_2765/BgL_n2z00_2775); } } 
{ /* ./Cfa/type.scm 327 */
long BgL_restz00_2768;
{ /* ./Cfa/type.scm 327 */
int BgL_arg2024z00_2769;
BgL_arg2024z00_2769 = 
(int)(((long)8)); 
{ /* ./Cfa/type.scm 327 */
long BgL_n2z00_2778;
BgL_n2z00_2778 = 
(long)(BgL_arg2024z00_2769); 
BgL_restz00_2768 = 
(BgL_offsetz00_2765%BgL_n2z00_2778); } } 
{ /* ./Cfa/type.scm 327 */

{ /* ./Cfa/type.scm 327 */
obj_t BgL_bucketz00_2770;
{ /* ./Cfa/type.scm 327 */
int BgL_kz00_2780;
BgL_kz00_2780 = 
(int)(BgL_modz00_2766); 
BgL_bucketz00_2770 = 
VECTOR_REF(BgL_arg2017z00_2761,BgL_kz00_2780); } 
{ /* ./Cfa/type.scm 327 */
int BgL_kz00_2782;
BgL_kz00_2782 = 
(int)(BgL_restz00_2768); 
BgL_method4656z00_2758 = 
VECTOR_REF(BgL_bucketz00_2770,BgL_kz00_2782); } } } } } } } } } } 
return 
PROCEDURE_ENTRY(BgL_method4656z00_2758)(BgL_method4656z00_2758, 
(obj_t)(BgL_arg5986z00_1878), BEOA);} } } } 
}



/* type-node!-set-ex-it4694 */
obj_t BGl_typezd2nodez12zd2setzd2exzd2it4694z12zzcfa_typez00(obj_t BgL_envz00_2998, obj_t BgL_nodez00_2999)
{ AN_OBJECT;
{ /* ./Cfa/type.scm 314 */
{ 
BgL_setzd2exzd2itz00_bglt BgL_nodez00_1862;
BgL_nodez00_1862 = 
(BgL_setzd2exzd2itz00_bglt)(BgL_nodez00_2999); 
{ /* ./Cfa/type.scm 316 */
BgL_variablez00_bglt BgL_vz00_1866;
{ /* ./Cfa/type.scm 316 */
BgL_varz00_bglt BgL_arg5964z00_1868;
BgL_arg5964z00_1868 = 
(((BgL_setzd2exzd2itz00_bglt)CREF(BgL_nodez00_1862))->BgL_varz00); 
BgL_vz00_1866 = 
(((BgL_varz00_bglt)CREF(BgL_arg5964z00_1868))->BgL_variablez00); } 
{ /* ./Cfa/type.scm 317 */
BgL_valuez00_bglt BgL_arg5960z00_1867;
BgL_arg5960z00_1867 = 
(((BgL_variablez00_bglt)CREF(BgL_vz00_1866))->BgL_valuez00); 
{ /* ./Cfa/type.scm 317 */
obj_t BgL_method4644z00_2650;
{ /* ./Cfa/type.scm 317 */
BgL_objectz00_bglt BgL_objz00_2651;
BgL_objz00_2651 = 
(BgL_objectz00_bglt)(BgL_arg5960z00_1867); 
{ /* ./Cfa/type.scm 317 */
long BgL_objzd2classzd2numz00_2652;
BgL_objzd2classzd2numz00_2652 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2651); 
{ /* ./Cfa/type.scm 317 */
obj_t BgL_arg2017z00_2653;
{ /* ./Cfa/type.scm 317 */
int BgL_auxz00_3475;
BgL_auxz00_3475 = 
(int)(((long)1)); 
BgL_arg2017z00_2653 = 
PROCEDURE_REF(BGl_typezd2variablez12zd2envz12zzcfa_typez00, BgL_auxz00_3475); } 
{ /* ./Cfa/type.scm 317 */
int BgL_offsetz00_2656;
BgL_offsetz00_2656 = 
(int)(BgL_objzd2classzd2numz00_2652); 
{ /* ./Cfa/type.scm 317 */
long BgL_offsetz00_2657;
{ /* ./Cfa/type.scm 317 */
long BgL_auxz00_3479;
BgL_auxz00_3479 = 
(long)(BgL_offsetz00_2656); 
BgL_offsetz00_2657 = 
(BgL_auxz00_3479-OBJECT_TYPE); } 
{ /* ./Cfa/type.scm 317 */
long BgL_modz00_2658;
{ /* ./Cfa/type.scm 317 */
int BgL_arg2028z00_2659;
BgL_arg2028z00_2659 = 
(int)(((long)8)); 
{ /* ./Cfa/type.scm 317 */
long BgL_n2z00_2667;
BgL_n2z00_2667 = 
(long)(BgL_arg2028z00_2659); 
BgL_modz00_2658 = 
(BgL_offsetz00_2657/BgL_n2z00_2667); } } 
{ /* ./Cfa/type.scm 317 */
long BgL_restz00_2660;
{ /* ./Cfa/type.scm 317 */
int BgL_arg2024z00_2661;
BgL_arg2024z00_2661 = 
(int)(((long)8)); 
{ /* ./Cfa/type.scm 317 */
long BgL_n2z00_2670;
BgL_n2z00_2670 = 
(long)(BgL_arg2024z00_2661); 
BgL_restz00_2660 = 
(BgL_offsetz00_2657%BgL_n2z00_2670); } } 
{ /* ./Cfa/type.scm 317 */

{ /* ./Cfa/type.scm 317 */
obj_t BgL_bucketz00_2662;
{ /* ./Cfa/type.scm 317 */
int BgL_kz00_2672;
BgL_kz00_2672 = 
(int)(BgL_modz00_2658); 
BgL_bucketz00_2662 = 
VECTOR_REF(BgL_arg2017z00_2653,BgL_kz00_2672); } 
{ /* ./Cfa/type.scm 317 */
int BgL_kz00_2674;
BgL_kz00_2674 = 
(int)(BgL_restz00_2660); 
BgL_method4644z00_2650 = 
VECTOR_REF(BgL_bucketz00_2662,BgL_kz00_2674); } } } } } } } } } } 
PROCEDURE_ENTRY(BgL_method4644z00_2650)(BgL_method4644z00_2650, 
(obj_t)(BgL_arg5960z00_1867), 
(obj_t)(BgL_vz00_1866), BEOA); } } } 
{ /* ./Cfa/type.scm 318 */
BgL_nodez00_bglt BgL_arg5968z00_1869;
BgL_arg5968z00_1869 = 
(((BgL_setzd2exzd2itz00_bglt)CREF(BgL_nodez00_1862))->BgL_bodyz00); 
{ /* ./Cfa/type.scm 318 */
obj_t BgL_method4656z00_2677;
{ /* ./Cfa/type.scm 318 */
BgL_objectz00_bglt BgL_objz00_2678;
BgL_objz00_2678 = 
(BgL_objectz00_bglt)(BgL_arg5968z00_1869); 
{ /* ./Cfa/type.scm 318 */
long BgL_objzd2classzd2numz00_2679;
BgL_objzd2classzd2numz00_2679 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2678); 
{ /* ./Cfa/type.scm 318 */
obj_t BgL_arg2017z00_2680;
{ /* ./Cfa/type.scm 318 */
int BgL_auxz00_3499;
BgL_auxz00_3499 = 
(int)(((long)1)); 
BgL_arg2017z00_2680 = 
PROCEDURE_REF(BGl_typezd2nodez12zd2envz12zzcfa_typez00, BgL_auxz00_3499); } 
{ /* ./Cfa/type.scm 318 */
int BgL_offsetz00_2683;
BgL_offsetz00_2683 = 
(int)(BgL_objzd2classzd2numz00_2679); 
{ /* ./Cfa/type.scm 318 */
long BgL_offsetz00_2684;
{ /* ./Cfa/type.scm 318 */
long BgL_auxz00_3503;
BgL_auxz00_3503 = 
(long)(BgL_offsetz00_2683); 
BgL_offsetz00_2684 = 
(BgL_auxz00_3503-OBJECT_TYPE); } 
{ /* ./Cfa/type.scm 318 */
long BgL_modz00_2685;
{ /* ./Cfa/type.scm 318 */
int BgL_arg2028z00_2686;
BgL_arg2028z00_2686 = 
(int)(((long)8)); 
{ /* ./Cfa/type.scm 318 */
long BgL_n2z00_2694;
BgL_n2z00_2694 = 
(long)(BgL_arg2028z00_2686); 
BgL_modz00_2685 = 
(BgL_offsetz00_2684/BgL_n2z00_2694); } } 
{ /* ./Cfa/type.scm 318 */
long BgL_restz00_2687;
{ /* ./Cfa/type.scm 318 */
int BgL_arg2024z00_2688;
BgL_arg2024z00_2688 = 
(int)(((long)8)); 
{ /* ./Cfa/type.scm 318 */
long BgL_n2z00_2697;
BgL_n2z00_2697 = 
(long)(BgL_arg2024z00_2688); 
BgL_restz00_2687 = 
(BgL_offsetz00_2684%BgL_n2z00_2697); } } 
{ /* ./Cfa/type.scm 318 */

{ /* ./Cfa/type.scm 318 */
obj_t BgL_bucketz00_2689;
{ /* ./Cfa/type.scm 318 */
int BgL_kz00_2699;
BgL_kz00_2699 = 
(int)(BgL_modz00_2685); 
BgL_bucketz00_2689 = 
VECTOR_REF(BgL_arg2017z00_2680,BgL_kz00_2699); } 
{ /* ./Cfa/type.scm 318 */
int BgL_kz00_2701;
BgL_kz00_2701 = 
(int)(BgL_restz00_2687); 
BgL_method4656z00_2677 = 
VECTOR_REF(BgL_bucketz00_2689,BgL_kz00_2701); } } } } } } } } } } 
PROCEDURE_ENTRY(BgL_method4656z00_2677)(BgL_method4656z00_2677, 
(obj_t)(BgL_arg5968z00_1869), BEOA); } } 
{ /* ./Cfa/type.scm 319 */
BgL_varz00_bglt BgL_arg5972z00_1870;
BgL_arg5972z00_1870 = 
(((BgL_setzd2exzd2itz00_bglt)CREF(BgL_nodez00_1862))->BgL_varz00); 
{ /* ./Cfa/type.scm 319 */
BgL_nodez00_bglt BgL_nodez00_2703;
BgL_nodez00_2703 = 
(BgL_nodez00_bglt)(BgL_arg5972z00_1870); 
{ /* ./Cfa/type.scm 319 */
obj_t BgL_method4656z00_2704;
{ /* ./Cfa/type.scm 319 */
BgL_objectz00_bglt BgL_objz00_2705;
BgL_objz00_2705 = 
(BgL_objectz00_bglt)(BgL_nodez00_2703); 
{ /* ./Cfa/type.scm 319 */
long BgL_objzd2classzd2numz00_2706;
BgL_objzd2classzd2numz00_2706 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2705); 
{ /* ./Cfa/type.scm 319 */
obj_t BgL_arg2017z00_2707;
{ /* ./Cfa/type.scm 319 */
int BgL_auxz00_3523;
BgL_auxz00_3523 = 
(int)(((long)1)); 
BgL_arg2017z00_2707 = 
PROCEDURE_REF(BGl_typezd2nodez12zd2envz12zzcfa_typez00, BgL_auxz00_3523); } 
{ /* ./Cfa/type.scm 319 */
int BgL_offsetz00_2710;
BgL_offsetz00_2710 = 
(int)(BgL_objzd2classzd2numz00_2706); 
{ /* ./Cfa/type.scm 319 */
long BgL_offsetz00_2711;
{ /* ./Cfa/type.scm 319 */
long BgL_auxz00_3527;
BgL_auxz00_3527 = 
(long)(BgL_offsetz00_2710); 
BgL_offsetz00_2711 = 
(BgL_auxz00_3527-OBJECT_TYPE); } 
{ /* ./Cfa/type.scm 319 */
long BgL_modz00_2712;
{ /* ./Cfa/type.scm 319 */
int BgL_arg2028z00_2713;
BgL_arg2028z00_2713 = 
(int)(((long)8)); 
{ /* ./Cfa/type.scm 319 */
long BgL_n2z00_2721;
BgL_n2z00_2721 = 
(long)(BgL_arg2028z00_2713); 
BgL_modz00_2712 = 
(BgL_offsetz00_2711/BgL_n2z00_2721); } } 
{ /* ./Cfa/type.scm 319 */
long BgL_restz00_2714;
{ /* ./Cfa/type.scm 319 */
int BgL_arg2024z00_2715;
BgL_arg2024z00_2715 = 
(int)(((long)8)); 
{ /* ./Cfa/type.scm 319 */
long BgL_n2z00_2724;
BgL_n2z00_2724 = 
(long)(BgL_arg2024z00_2715); 
BgL_restz00_2714 = 
(BgL_offsetz00_2711%BgL_n2z00_2724); } } 
{ /* ./Cfa/type.scm 319 */

{ /* ./Cfa/type.scm 319 */
obj_t BgL_bucketz00_2716;
{ /* ./Cfa/type.scm 319 */
int BgL_kz00_2726;
BgL_kz00_2726 = 
(int)(BgL_modz00_2712); 
BgL_bucketz00_2716 = 
VECTOR_REF(BgL_arg2017z00_2707,BgL_kz00_2726); } 
{ /* ./Cfa/type.scm 319 */
int BgL_kz00_2728;
BgL_kz00_2728 = 
(int)(BgL_restz00_2714); 
BgL_method4656z00_2704 = 
VECTOR_REF(BgL_bucketz00_2716,BgL_kz00_2728); } } } } } } } } } } 
return 
PROCEDURE_ENTRY(BgL_method4656z00_2704)(BgL_method4656z00_2704, 
(obj_t)(BgL_nodez00_2703), BEOA);} } } } } 
}



/* type-node!-let-var4692 */
obj_t BGl_typezd2nodez12zd2letzd2var4692zc0zzcfa_typez00(obj_t BgL_envz00_3000, obj_t BgL_nodez00_3001)
{ AN_OBJECT;
{ /* ./Cfa/type.scm 301 */
{ 
BgL_letzd2varzd2_bglt BgL_nodez00_1846;
BgL_nodez00_1846 = 
(BgL_letzd2varzd2_bglt)(BgL_nodez00_3001); 
{ 
obj_t BgL_l4629z00_1850;
{ /* ./Cfa/type.scm 303 */
obj_t BgL_arg5932z00_1852;
BgL_arg5932z00_1852 = 
(((BgL_letzd2varzd2_bglt)CREF(BgL_nodez00_1846))->BgL_bindingsz00); 
BgL_l4629z00_1850 = BgL_arg5932z00_1852; 
BgL_forzd2each4630zd2_1851:
{ /* ./Cfa/type.scm 303 */
bool_t BgL_test5935z00_1853;
BgL_test5935z00_1853 = 
PAIRP(BgL_l4629z00_1850); 
if(BgL_test5935z00_1853)
{ /* ./Cfa/type.scm 303 */
{ /* ./Cfa/type.scm 304 */
obj_t BgL_bindingz00_1854;
BgL_bindingz00_1854 = 
CAR(BgL_l4629z00_1850); 
{ /* ./Cfa/type.scm 304 */
obj_t BgL_varz00_1855;obj_t BgL_valz00_1856;
BgL_varz00_1855 = 
CAR(BgL_bindingz00_1854); 
BgL_valz00_1856 = 
CDR(BgL_bindingz00_1854); 
{ /* ./Cfa/type.scm 306 */
BgL_nodez00_bglt BgL_nodez00_2563;
BgL_nodez00_2563 = 
(BgL_nodez00_bglt)(BgL_valz00_1856); 
{ /* ./Cfa/type.scm 306 */
obj_t BgL_method4656z00_2564;
{ /* ./Cfa/type.scm 306 */
BgL_objectz00_bglt BgL_objz00_2565;
BgL_objz00_2565 = 
(BgL_objectz00_bglt)(BgL_nodez00_2563); 
{ /* ./Cfa/type.scm 306 */
long BgL_objzd2classzd2numz00_2566;
BgL_objzd2classzd2numz00_2566 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2565); 
{ /* ./Cfa/type.scm 306 */
obj_t BgL_arg2017z00_2567;
{ /* ./Cfa/type.scm 306 */
int BgL_auxz00_3553;
BgL_auxz00_3553 = 
(int)(((long)1)); 
BgL_arg2017z00_2567 = 
PROCEDURE_REF(BGl_typezd2nodez12zd2envz12zzcfa_typez00, BgL_auxz00_3553); } 
{ /* ./Cfa/type.scm 306 */
int BgL_offsetz00_2570;
BgL_offsetz00_2570 = 
(int)(BgL_objzd2classzd2numz00_2566); 
{ /* ./Cfa/type.scm 306 */
long BgL_offsetz00_2571;
{ /* ./Cfa/type.scm 306 */
long BgL_auxz00_3557;
BgL_auxz00_3557 = 
(long)(BgL_offsetz00_2570); 
BgL_offsetz00_2571 = 
(BgL_auxz00_3557-OBJECT_TYPE); } 
{ /* ./Cfa/type.scm 306 */
long BgL_modz00_2572;
{ /* ./Cfa/type.scm 306 */
int BgL_arg2028z00_2573;
BgL_arg2028z00_2573 = 
(int)(((long)8)); 
{ /* ./Cfa/type.scm 306 */
long BgL_n2z00_2581;
BgL_n2z00_2581 = 
(long)(BgL_arg2028z00_2573); 
BgL_modz00_2572 = 
(BgL_offsetz00_2571/BgL_n2z00_2581); } } 
{ /* ./Cfa/type.scm 306 */
long BgL_restz00_2574;
{ /* ./Cfa/type.scm 306 */
int BgL_arg2024z00_2575;
BgL_arg2024z00_2575 = 
(int)(((long)8)); 
{ /* ./Cfa/type.scm 306 */
long BgL_n2z00_2584;
BgL_n2z00_2584 = 
(long)(BgL_arg2024z00_2575); 
BgL_restz00_2574 = 
(BgL_offsetz00_2571%BgL_n2z00_2584); } } 
{ /* ./Cfa/type.scm 306 */

{ /* ./Cfa/type.scm 306 */
obj_t BgL_bucketz00_2576;
{ /* ./Cfa/type.scm 306 */
int BgL_kz00_2586;
BgL_kz00_2586 = 
(int)(BgL_modz00_2572); 
BgL_bucketz00_2576 = 
VECTOR_REF(BgL_arg2017z00_2567,BgL_kz00_2586); } 
{ /* ./Cfa/type.scm 306 */
int BgL_kz00_2588;
BgL_kz00_2588 = 
(int)(BgL_restz00_2574); 
BgL_method4656z00_2564 = 
VECTOR_REF(BgL_bucketz00_2576,BgL_kz00_2588); } } } } } } } } } } 
PROCEDURE_ENTRY(BgL_method4656z00_2564)(BgL_method4656z00_2564, 
(obj_t)(BgL_nodez00_2563), BEOA); } } 
{ /* ./Cfa/type.scm 307 */
BgL_valuez00_bglt BgL_arg5938z00_1857;
{ /* ./Cfa/type.scm 307 */
BgL_variablez00_bglt BgL_obj1100z00_2589;
BgL_obj1100z00_2589 = 
(BgL_variablez00_bglt)(BgL_varz00_1855); 
BgL_arg5938z00_1857 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1100z00_2589))->BgL_valuez00); } 
{ /* ./Cfa/type.scm 307 */
BgL_variablez00_bglt BgL_variablez00_2591;
BgL_variablez00_2591 = 
(BgL_variablez00_bglt)(BgL_varz00_1855); 
{ /* ./Cfa/type.scm 307 */
obj_t BgL_method4644z00_2592;
{ /* ./Cfa/type.scm 307 */
BgL_objectz00_bglt BgL_objz00_2593;
BgL_objz00_2593 = 
(BgL_objectz00_bglt)(BgL_arg5938z00_1857); 
{ /* ./Cfa/type.scm 307 */
long BgL_objzd2classzd2numz00_2594;
BgL_objzd2classzd2numz00_2594 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2593); 
{ /* ./Cfa/type.scm 307 */
obj_t BgL_arg2017z00_2595;
{ /* ./Cfa/type.scm 307 */
int BgL_auxz00_3578;
BgL_auxz00_3578 = 
(int)(((long)1)); 
BgL_arg2017z00_2595 = 
PROCEDURE_REF(BGl_typezd2variablez12zd2envz12zzcfa_typez00, BgL_auxz00_3578); } 
{ /* ./Cfa/type.scm 307 */
int BgL_offsetz00_2598;
BgL_offsetz00_2598 = 
(int)(BgL_objzd2classzd2numz00_2594); 
{ /* ./Cfa/type.scm 307 */
long BgL_offsetz00_2599;
{ /* ./Cfa/type.scm 307 */
long BgL_auxz00_3582;
BgL_auxz00_3582 = 
(long)(BgL_offsetz00_2598); 
BgL_offsetz00_2599 = 
(BgL_auxz00_3582-OBJECT_TYPE); } 
{ /* ./Cfa/type.scm 307 */
long BgL_modz00_2600;
{ /* ./Cfa/type.scm 307 */
int BgL_arg2028z00_2601;
BgL_arg2028z00_2601 = 
(int)(((long)8)); 
{ /* ./Cfa/type.scm 307 */
long BgL_n2z00_2609;
BgL_n2z00_2609 = 
(long)(BgL_arg2028z00_2601); 
BgL_modz00_2600 = 
(BgL_offsetz00_2599/BgL_n2z00_2609); } } 
{ /* ./Cfa/type.scm 307 */
long BgL_restz00_2602;
{ /* ./Cfa/type.scm 307 */
int BgL_arg2024z00_2603;
BgL_arg2024z00_2603 = 
(int)(((long)8)); 
{ /* ./Cfa/type.scm 307 */
long BgL_n2z00_2612;
BgL_n2z00_2612 = 
(long)(BgL_arg2024z00_2603); 
BgL_restz00_2602 = 
(BgL_offsetz00_2599%BgL_n2z00_2612); } } 
{ /* ./Cfa/type.scm 307 */

{ /* ./Cfa/type.scm 307 */
obj_t BgL_bucketz00_2604;
{ /* ./Cfa/type.scm 307 */
int BgL_kz00_2614;
BgL_kz00_2614 = 
(int)(BgL_modz00_2600); 
BgL_bucketz00_2604 = 
VECTOR_REF(BgL_arg2017z00_2595,BgL_kz00_2614); } 
{ /* ./Cfa/type.scm 307 */
int BgL_kz00_2616;
BgL_kz00_2616 = 
(int)(BgL_restz00_2602); 
BgL_method4644z00_2592 = 
VECTOR_REF(BgL_bucketz00_2604,BgL_kz00_2616); } } } } } } } } } } 
PROCEDURE_ENTRY(BgL_method4644z00_2592)(BgL_method4644z00_2592, 
(obj_t)(BgL_arg5938z00_1857), 
(obj_t)(BgL_variablez00_2591), BEOA); } } } } } 
{ /* ./Cfa/type.scm 303 */
obj_t BgL_arg5945z00_1858;
BgL_arg5945z00_1858 = 
CDR(BgL_l4629z00_1850); 
{ 
obj_t BgL_l4629z00_3600;
BgL_l4629z00_3600 = BgL_arg5945z00_1858; 
BgL_l4629z00_1850 = BgL_l4629z00_3600; 
goto BgL_forzd2each4630zd2_1851;} } }  else 
{ /* ./Cfa/type.scm 303 */((bool_t)1); } } } } 
{ /* ./Cfa/type.scm 309 */
BgL_nodez00_bglt BgL_arg5950z00_1859;
BgL_arg5950z00_1859 = 
(((BgL_letzd2varzd2_bglt)CREF(BgL_nodez00_1846))->BgL_bodyz00); 
{ /* ./Cfa/type.scm 309 */
obj_t BgL_method4656z00_2620;
{ /* ./Cfa/type.scm 309 */
BgL_objectz00_bglt BgL_objz00_2621;
BgL_objz00_2621 = 
(BgL_objectz00_bglt)(BgL_arg5950z00_1859); 
{ /* ./Cfa/type.scm 309 */
long BgL_objzd2classzd2numz00_2622;
BgL_objzd2classzd2numz00_2622 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2621); 
{ /* ./Cfa/type.scm 309 */
obj_t BgL_arg2017z00_2623;
{ /* ./Cfa/type.scm 309 */
int BgL_auxz00_3604;
BgL_auxz00_3604 = 
(int)(((long)1)); 
BgL_arg2017z00_2623 = 
PROCEDURE_REF(BGl_typezd2nodez12zd2envz12zzcfa_typez00, BgL_auxz00_3604); } 
{ /* ./Cfa/type.scm 309 */
int BgL_offsetz00_2626;
BgL_offsetz00_2626 = 
(int)(BgL_objzd2classzd2numz00_2622); 
{ /* ./Cfa/type.scm 309 */
long BgL_offsetz00_2627;
{ /* ./Cfa/type.scm 309 */
long BgL_auxz00_3608;
BgL_auxz00_3608 = 
(long)(BgL_offsetz00_2626); 
BgL_offsetz00_2627 = 
(BgL_auxz00_3608-OBJECT_TYPE); } 
{ /* ./Cfa/type.scm 309 */
long BgL_modz00_2628;
{ /* ./Cfa/type.scm 309 */
int BgL_arg2028z00_2629;
BgL_arg2028z00_2629 = 
(int)(((long)8)); 
{ /* ./Cfa/type.scm 309 */
long BgL_n2z00_2637;
BgL_n2z00_2637 = 
(long)(BgL_arg2028z00_2629); 
BgL_modz00_2628 = 
(BgL_offsetz00_2627/BgL_n2z00_2637); } } 
{ /* ./Cfa/type.scm 309 */
long BgL_restz00_2630;
{ /* ./Cfa/type.scm 309 */
int BgL_arg2024z00_2631;
BgL_arg2024z00_2631 = 
(int)(((long)8)); 
{ /* ./Cfa/type.scm 309 */
long BgL_n2z00_2640;
BgL_n2z00_2640 = 
(long)(BgL_arg2024z00_2631); 
BgL_restz00_2630 = 
(BgL_offsetz00_2627%BgL_n2z00_2640); } } 
{ /* ./Cfa/type.scm 309 */

{ /* ./Cfa/type.scm 309 */
obj_t BgL_bucketz00_2632;
{ /* ./Cfa/type.scm 309 */
int BgL_kz00_2642;
BgL_kz00_2642 = 
(int)(BgL_modz00_2628); 
BgL_bucketz00_2632 = 
VECTOR_REF(BgL_arg2017z00_2623,BgL_kz00_2642); } 
{ /* ./Cfa/type.scm 309 */
int BgL_kz00_2644;
BgL_kz00_2644 = 
(int)(BgL_restz00_2630); 
BgL_method4656z00_2620 = 
VECTOR_REF(BgL_bucketz00_2632,BgL_kz00_2644); } } } } } } } } } } 
return 
PROCEDURE_ENTRY(BgL_method4656z00_2620)(BgL_method4656z00_2620, 
(obj_t)(BgL_arg5950z00_1859), BEOA);} } } } 
}



/* type-node!-let-fun4690 */
obj_t BGl_typezd2nodez12zd2letzd2fun4690zc0zzcfa_typez00(obj_t BgL_envz00_3002, obj_t BgL_nodez00_3003)
{ AN_OBJECT;
{ /* ./Cfa/type.scm 293 */
{ 
BgL_letzd2funzd2_bglt BgL_nodez00_1833;
BgL_nodez00_1833 = 
(BgL_letzd2funzd2_bglt)(BgL_nodez00_3003); 
{ 
obj_t BgL_l4625z00_1837;
{ /* ./Cfa/type.scm 295 */
obj_t BgL_arg5908z00_1839;
BgL_arg5908z00_1839 = 
(((BgL_letzd2funzd2_bglt)CREF(BgL_nodez00_1833))->BgL_localsz00); 
BgL_l4625z00_1837 = BgL_arg5908z00_1839; 
BgL_forzd2each4626zd2_1838:
{ /* ./Cfa/type.scm 295 */
bool_t BgL_test5911z00_1840;
BgL_test5911z00_1840 = 
PAIRP(BgL_l4625z00_1837); 
if(BgL_test5911z00_1840)
{ /* ./Cfa/type.scm 295 */
{ /* ./Cfa/type.scm 295 */
obj_t BgL_arg5913z00_1841;
BgL_arg5913z00_1841 = 
CAR(BgL_l4625z00_1837); 
BGl_typezd2funz12zc0zzcfa_typez00(
(BgL_variablez00_bglt)(BgL_arg5913z00_1841)); } 
{ /* ./Cfa/type.scm 295 */
obj_t BgL_arg5917z00_1842;
BgL_arg5917z00_1842 = 
CDR(BgL_l4625z00_1837); 
{ 
obj_t BgL_l4625z00_3632;
BgL_l4625z00_3632 = BgL_arg5917z00_1842; 
BgL_l4625z00_1837 = BgL_l4625z00_3632; 
goto BgL_forzd2each4626zd2_1838;} } }  else 
{ /* ./Cfa/type.scm 295 */((bool_t)1); } } } } 
{ /* ./Cfa/type.scm 296 */
BgL_nodez00_bglt BgL_arg5922z00_1843;
BgL_arg5922z00_1843 = 
(((BgL_letzd2funzd2_bglt)CREF(BgL_nodez00_1833))->BgL_bodyz00); 
{ /* ./Cfa/type.scm 296 */
obj_t BgL_method4656z00_2533;
{ /* ./Cfa/type.scm 296 */
BgL_objectz00_bglt BgL_objz00_2534;
BgL_objz00_2534 = 
(BgL_objectz00_bglt)(BgL_arg5922z00_1843); 
{ /* ./Cfa/type.scm 296 */
long BgL_objzd2classzd2numz00_2535;
BgL_objzd2classzd2numz00_2535 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2534); 
{ /* ./Cfa/type.scm 296 */
obj_t BgL_arg2017z00_2536;
{ /* ./Cfa/type.scm 296 */
int BgL_auxz00_3636;
BgL_auxz00_3636 = 
(int)(((long)1)); 
BgL_arg2017z00_2536 = 
PROCEDURE_REF(BGl_typezd2nodez12zd2envz12zzcfa_typez00, BgL_auxz00_3636); } 
{ /* ./Cfa/type.scm 296 */
int BgL_offsetz00_2539;
BgL_offsetz00_2539 = 
(int)(BgL_objzd2classzd2numz00_2535); 
{ /* ./Cfa/type.scm 296 */
long BgL_offsetz00_2540;
{ /* ./Cfa/type.scm 296 */
long BgL_auxz00_3640;
BgL_auxz00_3640 = 
(long)(BgL_offsetz00_2539); 
BgL_offsetz00_2540 = 
(BgL_auxz00_3640-OBJECT_TYPE); } 
{ /* ./Cfa/type.scm 296 */
long BgL_modz00_2541;
{ /* ./Cfa/type.scm 296 */
int BgL_arg2028z00_2542;
BgL_arg2028z00_2542 = 
(int)(((long)8)); 
{ /* ./Cfa/type.scm 296 */
long BgL_n2z00_2550;
BgL_n2z00_2550 = 
(long)(BgL_arg2028z00_2542); 
BgL_modz00_2541 = 
(BgL_offsetz00_2540/BgL_n2z00_2550); } } 
{ /* ./Cfa/type.scm 296 */
long BgL_restz00_2543;
{ /* ./Cfa/type.scm 296 */
int BgL_arg2024z00_2544;
BgL_arg2024z00_2544 = 
(int)(((long)8)); 
{ /* ./Cfa/type.scm 296 */
long BgL_n2z00_2553;
BgL_n2z00_2553 = 
(long)(BgL_arg2024z00_2544); 
BgL_restz00_2543 = 
(BgL_offsetz00_2540%BgL_n2z00_2553); } } 
{ /* ./Cfa/type.scm 296 */

{ /* ./Cfa/type.scm 296 */
obj_t BgL_bucketz00_2545;
{ /* ./Cfa/type.scm 296 */
int BgL_kz00_2555;
BgL_kz00_2555 = 
(int)(BgL_modz00_2541); 
BgL_bucketz00_2545 = 
VECTOR_REF(BgL_arg2017z00_2536,BgL_kz00_2555); } 
{ /* ./Cfa/type.scm 296 */
int BgL_kz00_2557;
BgL_kz00_2557 = 
(int)(BgL_restz00_2543); 
BgL_method4656z00_2533 = 
VECTOR_REF(BgL_bucketz00_2545,BgL_kz00_2557); } } } } } } } } } } 
return 
PROCEDURE_ENTRY(BgL_method4656z00_2533)(BgL_method4656z00_2533, 
(obj_t)(BgL_arg5922z00_1843), BEOA);} } } } 
}



/* type-node!-select4688 */
obj_t BGl_typezd2nodez12zd2select4688z12zzcfa_typez00(obj_t BgL_envz00_3004, obj_t BgL_nodez00_3005)
{ AN_OBJECT;
{ /* ./Cfa/type.scm 283 */
{ 
BgL_selectz00_bglt BgL_nodez00_1819;
{ /* ./Cfa/type.scm 284 */
bool_t BgL_auxz00_3657;
BgL_nodez00_1819 = 
(BgL_selectz00_bglt)(BgL_nodez00_3005); 
{ /* ./Cfa/type.scm 285 */
BgL_nodez00_bglt BgL_arg5883z00_1823;
BgL_arg5883z00_1823 = 
(((BgL_selectz00_bglt)CREF(BgL_nodez00_1819))->BgL_testz00); 
{ /* ./Cfa/type.scm 285 */
obj_t BgL_method4656z00_2471;
{ /* ./Cfa/type.scm 285 */
BgL_objectz00_bglt BgL_objz00_2472;
BgL_objz00_2472 = 
(BgL_objectz00_bglt)(BgL_arg5883z00_1823); 
{ /* ./Cfa/type.scm 285 */
long BgL_objzd2classzd2numz00_2473;
BgL_objzd2classzd2numz00_2473 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2472); 
{ /* ./Cfa/type.scm 285 */
obj_t BgL_arg2017z00_2474;
{ /* ./Cfa/type.scm 285 */
int BgL_auxz00_3661;
BgL_auxz00_3661 = 
(int)(((long)1)); 
BgL_arg2017z00_2474 = 
PROCEDURE_REF(BGl_typezd2nodez12zd2envz12zzcfa_typez00, BgL_auxz00_3661); } 
{ /* ./Cfa/type.scm 285 */
int BgL_offsetz00_2477;
BgL_offsetz00_2477 = 
(int)(BgL_objzd2classzd2numz00_2473); 
{ /* ./Cfa/type.scm 285 */
long BgL_offsetz00_2478;
{ /* ./Cfa/type.scm 285 */
long BgL_auxz00_3665;
BgL_auxz00_3665 = 
(long)(BgL_offsetz00_2477); 
BgL_offsetz00_2478 = 
(BgL_auxz00_3665-OBJECT_TYPE); } 
{ /* ./Cfa/type.scm 285 */
long BgL_modz00_2479;
{ /* ./Cfa/type.scm 285 */
int BgL_arg2028z00_2480;
BgL_arg2028z00_2480 = 
(int)(((long)8)); 
{ /* ./Cfa/type.scm 285 */
long BgL_n2z00_2488;
BgL_n2z00_2488 = 
(long)(BgL_arg2028z00_2480); 
BgL_modz00_2479 = 
(BgL_offsetz00_2478/BgL_n2z00_2488); } } 
{ /* ./Cfa/type.scm 285 */
long BgL_restz00_2481;
{ /* ./Cfa/type.scm 285 */
int BgL_arg2024z00_2482;
BgL_arg2024z00_2482 = 
(int)(((long)8)); 
{ /* ./Cfa/type.scm 285 */
long BgL_n2z00_2491;
BgL_n2z00_2491 = 
(long)(BgL_arg2024z00_2482); 
BgL_restz00_2481 = 
(BgL_offsetz00_2478%BgL_n2z00_2491); } } 
{ /* ./Cfa/type.scm 285 */

{ /* ./Cfa/type.scm 285 */
obj_t BgL_bucketz00_2483;
{ /* ./Cfa/type.scm 285 */
int BgL_kz00_2493;
BgL_kz00_2493 = 
(int)(BgL_modz00_2479); 
BgL_bucketz00_2483 = 
VECTOR_REF(BgL_arg2017z00_2474,BgL_kz00_2493); } 
{ /* ./Cfa/type.scm 285 */
int BgL_kz00_2495;
BgL_kz00_2495 = 
(int)(BgL_restz00_2481); 
BgL_method4656z00_2471 = 
VECTOR_REF(BgL_bucketz00_2483,BgL_kz00_2495); } } } } } } } } } } 
PROCEDURE_ENTRY(BgL_method4656z00_2471)(BgL_method4656z00_2471, 
(obj_t)(BgL_arg5883z00_1823), BEOA); } } 
{ 
obj_t BgL_l4621z00_1824;
{ /* ./Cfa/type.scm 286 */
obj_t BgL_arg5887z00_1826;
BgL_arg5887z00_1826 = 
(((BgL_selectz00_bglt)CREF(BgL_nodez00_1819))->BgL_clausesz00); 
BgL_l4621z00_1824 = BgL_arg5887z00_1826; 
BgL_forzd2each4622zd2_1825:
{ /* ./Cfa/type.scm 286 */
bool_t BgL_test5890z00_1827;
BgL_test5890z00_1827 = 
PAIRP(BgL_l4621z00_1824); 
if(BgL_test5890z00_1827)
{ /* ./Cfa/type.scm 286 */
{ /* ./Cfa/type.scm 287 */
obj_t BgL_clausez00_1828;
BgL_clausez00_1828 = 
CAR(BgL_l4621z00_1824); 
{ /* ./Cfa/type.scm 287 */
obj_t BgL_arg5892z00_1829;
BgL_arg5892z00_1829 = 
CDR(BgL_clausez00_1828); 
{ /* ./Cfa/type.scm 287 */
BgL_nodez00_bglt BgL_nodez00_2500;
BgL_nodez00_2500 = 
(BgL_nodez00_bglt)(BgL_arg5892z00_1829); 
{ /* ./Cfa/type.scm 287 */
obj_t BgL_method4656z00_2501;
{ /* ./Cfa/type.scm 287 */
BgL_objectz00_bglt BgL_objz00_2502;
BgL_objz00_2502 = 
(BgL_objectz00_bglt)(BgL_nodez00_2500); 
{ /* ./Cfa/type.scm 287 */
long BgL_objzd2classzd2numz00_2503;
BgL_objzd2classzd2numz00_2503 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2502); 
{ /* ./Cfa/type.scm 287 */
obj_t BgL_arg2017z00_2504;
{ /* ./Cfa/type.scm 287 */
int BgL_auxz00_3689;
BgL_auxz00_3689 = 
(int)(((long)1)); 
BgL_arg2017z00_2504 = 
PROCEDURE_REF(BGl_typezd2nodez12zd2envz12zzcfa_typez00, BgL_auxz00_3689); } 
{ /* ./Cfa/type.scm 287 */
int BgL_offsetz00_2507;
BgL_offsetz00_2507 = 
(int)(BgL_objzd2classzd2numz00_2503); 
{ /* ./Cfa/type.scm 287 */
long BgL_offsetz00_2508;
{ /* ./Cfa/type.scm 287 */
long BgL_auxz00_3693;
BgL_auxz00_3693 = 
(long)(BgL_offsetz00_2507); 
BgL_offsetz00_2508 = 
(BgL_auxz00_3693-OBJECT_TYPE); } 
{ /* ./Cfa/type.scm 287 */
long BgL_modz00_2509;
{ /* ./Cfa/type.scm 287 */
int BgL_arg2028z00_2510;
BgL_arg2028z00_2510 = 
(int)(((long)8)); 
{ /* ./Cfa/type.scm 287 */
long BgL_n2z00_2518;
BgL_n2z00_2518 = 
(long)(BgL_arg2028z00_2510); 
BgL_modz00_2509 = 
(BgL_offsetz00_2508/BgL_n2z00_2518); } } 
{ /* ./Cfa/type.scm 287 */
long BgL_restz00_2511;
{ /* ./Cfa/type.scm 287 */
int BgL_arg2024z00_2512;
BgL_arg2024z00_2512 = 
(int)(((long)8)); 
{ /* ./Cfa/type.scm 287 */
long BgL_n2z00_2521;
BgL_n2z00_2521 = 
(long)(BgL_arg2024z00_2512); 
BgL_restz00_2511 = 
(BgL_offsetz00_2508%BgL_n2z00_2521); } } 
{ /* ./Cfa/type.scm 287 */

{ /* ./Cfa/type.scm 287 */
obj_t BgL_bucketz00_2513;
{ /* ./Cfa/type.scm 287 */
int BgL_kz00_2523;
BgL_kz00_2523 = 
(int)(BgL_modz00_2509); 
BgL_bucketz00_2513 = 
VECTOR_REF(BgL_arg2017z00_2504,BgL_kz00_2523); } 
{ /* ./Cfa/type.scm 287 */
int BgL_kz00_2525;
BgL_kz00_2525 = 
(int)(BgL_restz00_2511); 
BgL_method4656z00_2501 = 
VECTOR_REF(BgL_bucketz00_2513,BgL_kz00_2525); } } } } } } } } } } 
PROCEDURE_ENTRY(BgL_method4656z00_2501)(BgL_method4656z00_2501, 
(obj_t)(BgL_nodez00_2500), BEOA); } } } } 
{ /* ./Cfa/type.scm 286 */
obj_t BgL_arg5897z00_1830;
BgL_arg5897z00_1830 = 
CDR(BgL_l4621z00_1824); 
{ 
obj_t BgL_l4621z00_3710;
BgL_l4621z00_3710 = BgL_arg5897z00_1830; 
BgL_l4621z00_1824 = BgL_l4621z00_3710; 
goto BgL_forzd2each4622zd2_1825;} } }  else 
{ /* ./Cfa/type.scm 286 */
BgL_auxz00_3657 = ((bool_t)1); } } } } 
return 
BBOOL(BgL_auxz00_3657);} } } 
}



/* type-node!-fail4686 */
obj_t BGl_typezd2nodez12zd2fail4686z12zzcfa_typez00(obj_t BgL_envz00_3006, obj_t BgL_nodez00_3007)
{ AN_OBJECT;
{ /* ./Cfa/type.scm 274 */
{ 
BgL_failz00_bglt BgL_nodez00_1810;
BgL_nodez00_1810 = 
(BgL_failz00_bglt)(BgL_nodez00_3007); 
{ /* ./Cfa/type.scm 276 */
BgL_nodez00_bglt BgL_arg5865z00_1814;
BgL_arg5865z00_1814 = 
(((BgL_failz00_bglt)CREF(BgL_nodez00_1810))->BgL_procz00); 
{ /* ./Cfa/type.scm 276 */
obj_t BgL_method4656z00_2390;
{ /* ./Cfa/type.scm 276 */
BgL_objectz00_bglt BgL_objz00_2391;
BgL_objz00_2391 = 
(BgL_objectz00_bglt)(BgL_arg5865z00_1814); 
{ /* ./Cfa/type.scm 276 */
long BgL_objzd2classzd2numz00_2392;
BgL_objzd2classzd2numz00_2392 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2391); 
{ /* ./Cfa/type.scm 276 */
obj_t BgL_arg2017z00_2393;
{ /* ./Cfa/type.scm 276 */
int BgL_auxz00_3716;
BgL_auxz00_3716 = 
(int)(((long)1)); 
BgL_arg2017z00_2393 = 
PROCEDURE_REF(BGl_typezd2nodez12zd2envz12zzcfa_typez00, BgL_auxz00_3716); } 
{ /* ./Cfa/type.scm 276 */
int BgL_offsetz00_2396;
BgL_offsetz00_2396 = 
(int)(BgL_objzd2classzd2numz00_2392); 
{ /* ./Cfa/type.scm 276 */
long BgL_offsetz00_2397;
{ /* ./Cfa/type.scm 276 */
long BgL_auxz00_3720;
BgL_auxz00_3720 = 
(long)(BgL_offsetz00_2396); 
BgL_offsetz00_2397 = 
(BgL_auxz00_3720-OBJECT_TYPE); } 
{ /* ./Cfa/type.scm 276 */
long BgL_modz00_2398;
{ /* ./Cfa/type.scm 276 */
int BgL_arg2028z00_2399;
BgL_arg2028z00_2399 = 
(int)(((long)8)); 
{ /* ./Cfa/type.scm 276 */
long BgL_n2z00_2407;
BgL_n2z00_2407 = 
(long)(BgL_arg2028z00_2399); 
BgL_modz00_2398 = 
(BgL_offsetz00_2397/BgL_n2z00_2407); } } 
{ /* ./Cfa/type.scm 276 */
long BgL_restz00_2400;
{ /* ./Cfa/type.scm 276 */
int BgL_arg2024z00_2401;
BgL_arg2024z00_2401 = 
(int)(((long)8)); 
{ /* ./Cfa/type.scm 276 */
long BgL_n2z00_2410;
BgL_n2z00_2410 = 
(long)(BgL_arg2024z00_2401); 
BgL_restz00_2400 = 
(BgL_offsetz00_2397%BgL_n2z00_2410); } } 
{ /* ./Cfa/type.scm 276 */

{ /* ./Cfa/type.scm 276 */
obj_t BgL_bucketz00_2402;
{ /* ./Cfa/type.scm 276 */
int BgL_kz00_2412;
BgL_kz00_2412 = 
(int)(BgL_modz00_2398); 
BgL_bucketz00_2402 = 
VECTOR_REF(BgL_arg2017z00_2393,BgL_kz00_2412); } 
{ /* ./Cfa/type.scm 276 */
int BgL_kz00_2414;
BgL_kz00_2414 = 
(int)(BgL_restz00_2400); 
BgL_method4656z00_2390 = 
VECTOR_REF(BgL_bucketz00_2402,BgL_kz00_2414); } } } } } } } } } } 
PROCEDURE_ENTRY(BgL_method4656z00_2390)(BgL_method4656z00_2390, 
(obj_t)(BgL_arg5865z00_1814), BEOA); } } 
{ /* ./Cfa/type.scm 277 */
BgL_nodez00_bglt BgL_arg5869z00_1815;
BgL_arg5869z00_1815 = 
(((BgL_failz00_bglt)CREF(BgL_nodez00_1810))->BgL_msgz00); 
{ /* ./Cfa/type.scm 277 */
obj_t BgL_method4656z00_2417;
{ /* ./Cfa/type.scm 277 */
BgL_objectz00_bglt BgL_objz00_2418;
BgL_objz00_2418 = 
(BgL_objectz00_bglt)(BgL_arg5869z00_1815); 
{ /* ./Cfa/type.scm 277 */
long BgL_objzd2classzd2numz00_2419;
BgL_objzd2classzd2numz00_2419 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2418); 
{ /* ./Cfa/type.scm 277 */
obj_t BgL_arg2017z00_2420;
{ /* ./Cfa/type.scm 277 */
int BgL_auxz00_3739;
BgL_auxz00_3739 = 
(int)(((long)1)); 
BgL_arg2017z00_2420 = 
PROCEDURE_REF(BGl_typezd2nodez12zd2envz12zzcfa_typez00, BgL_auxz00_3739); } 
{ /* ./Cfa/type.scm 277 */
int BgL_offsetz00_2423;
BgL_offsetz00_2423 = 
(int)(BgL_objzd2classzd2numz00_2419); 
{ /* ./Cfa/type.scm 277 */
long BgL_offsetz00_2424;
{ /* ./Cfa/type.scm 277 */
long BgL_auxz00_3743;
BgL_auxz00_3743 = 
(long)(BgL_offsetz00_2423); 
BgL_offsetz00_2424 = 
(BgL_auxz00_3743-OBJECT_TYPE); } 
{ /* ./Cfa/type.scm 277 */
long BgL_modz00_2425;
{ /* ./Cfa/type.scm 277 */
int BgL_arg2028z00_2426;
BgL_arg2028z00_2426 = 
(int)(((long)8)); 
{ /* ./Cfa/type.scm 277 */
long BgL_n2z00_2434;
BgL_n2z00_2434 = 
(long)(BgL_arg2028z00_2426); 
BgL_modz00_2425 = 
(BgL_offsetz00_2424/BgL_n2z00_2434); } } 
{ /* ./Cfa/type.scm 277 */
long BgL_restz00_2427;
{ /* ./Cfa/type.scm 277 */
int BgL_arg2024z00_2428;
BgL_arg2024z00_2428 = 
(int)(((long)8)); 
{ /* ./Cfa/type.scm 277 */
long BgL_n2z00_2437;
BgL_n2z00_2437 = 
(long)(BgL_arg2024z00_2428); 
BgL_restz00_2427 = 
(BgL_offsetz00_2424%BgL_n2z00_2437); } } 
{ /* ./Cfa/type.scm 277 */

{ /* ./Cfa/type.scm 277 */
obj_t BgL_bucketz00_2429;
{ /* ./Cfa/type.scm 277 */
int BgL_kz00_2439;
BgL_kz00_2439 = 
(int)(BgL_modz00_2425); 
BgL_bucketz00_2429 = 
VECTOR_REF(BgL_arg2017z00_2420,BgL_kz00_2439); } 
{ /* ./Cfa/type.scm 277 */
int BgL_kz00_2441;
BgL_kz00_2441 = 
(int)(BgL_restz00_2427); 
BgL_method4656z00_2417 = 
VECTOR_REF(BgL_bucketz00_2429,BgL_kz00_2441); } } } } } } } } } } 
PROCEDURE_ENTRY(BgL_method4656z00_2417)(BgL_method4656z00_2417, 
(obj_t)(BgL_arg5869z00_1815), BEOA); } } 
{ /* ./Cfa/type.scm 278 */
BgL_nodez00_bglt BgL_arg5873z00_1816;
BgL_arg5873z00_1816 = 
(((BgL_failz00_bglt)CREF(BgL_nodez00_1810))->BgL_objz00); 
{ /* ./Cfa/type.scm 278 */
obj_t BgL_method4656z00_2444;
{ /* ./Cfa/type.scm 278 */
BgL_objectz00_bglt BgL_objz00_2445;
BgL_objz00_2445 = 
(BgL_objectz00_bglt)(BgL_arg5873z00_1816); 
{ /* ./Cfa/type.scm 278 */
long BgL_objzd2classzd2numz00_2446;
BgL_objzd2classzd2numz00_2446 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2445); 
{ /* ./Cfa/type.scm 278 */
obj_t BgL_arg2017z00_2447;
{ /* ./Cfa/type.scm 278 */
int BgL_auxz00_3762;
BgL_auxz00_3762 = 
(int)(((long)1)); 
BgL_arg2017z00_2447 = 
PROCEDURE_REF(BGl_typezd2nodez12zd2envz12zzcfa_typez00, BgL_auxz00_3762); } 
{ /* ./Cfa/type.scm 278 */
int BgL_offsetz00_2450;
BgL_offsetz00_2450 = 
(int)(BgL_objzd2classzd2numz00_2446); 
{ /* ./Cfa/type.scm 278 */
long BgL_offsetz00_2451;
{ /* ./Cfa/type.scm 278 */
long BgL_auxz00_3766;
BgL_auxz00_3766 = 
(long)(BgL_offsetz00_2450); 
BgL_offsetz00_2451 = 
(BgL_auxz00_3766-OBJECT_TYPE); } 
{ /* ./Cfa/type.scm 278 */
long BgL_modz00_2452;
{ /* ./Cfa/type.scm 278 */
int BgL_arg2028z00_2453;
BgL_arg2028z00_2453 = 
(int)(((long)8)); 
{ /* ./Cfa/type.scm 278 */
long BgL_n2z00_2461;
BgL_n2z00_2461 = 
(long)(BgL_arg2028z00_2453); 
BgL_modz00_2452 = 
(BgL_offsetz00_2451/BgL_n2z00_2461); } } 
{ /* ./Cfa/type.scm 278 */
long BgL_restz00_2454;
{ /* ./Cfa/type.scm 278 */
int BgL_arg2024z00_2455;
BgL_arg2024z00_2455 = 
(int)(((long)8)); 
{ /* ./Cfa/type.scm 278 */
long BgL_n2z00_2464;
BgL_n2z00_2464 = 
(long)(BgL_arg2024z00_2455); 
BgL_restz00_2454 = 
(BgL_offsetz00_2451%BgL_n2z00_2464); } } 
{ /* ./Cfa/type.scm 278 */

{ /* ./Cfa/type.scm 278 */
obj_t BgL_bucketz00_2456;
{ /* ./Cfa/type.scm 278 */
int BgL_kz00_2466;
BgL_kz00_2466 = 
(int)(BgL_modz00_2452); 
BgL_bucketz00_2456 = 
VECTOR_REF(BgL_arg2017z00_2447,BgL_kz00_2466); } 
{ /* ./Cfa/type.scm 278 */
int BgL_kz00_2468;
BgL_kz00_2468 = 
(int)(BgL_restz00_2454); 
BgL_method4656z00_2444 = 
VECTOR_REF(BgL_bucketz00_2456,BgL_kz00_2468); } } } } } } } } } } 
return 
PROCEDURE_ENTRY(BgL_method4656z00_2444)(BgL_method4656z00_2444, 
(obj_t)(BgL_arg5873z00_1816), BEOA);} } } } 
}



/* type-node!-conditional4684 */
obj_t BGl_typezd2nodez12zd2conditional4684z12zzcfa_typez00(obj_t BgL_envz00_3008, obj_t BgL_nodez00_3009)
{ AN_OBJECT;
{ /* ./Cfa/type.scm 265 */
{ 
BgL_conditionalz00_bglt BgL_nodez00_1801;
BgL_nodez00_1801 = 
(BgL_conditionalz00_bglt)(BgL_nodez00_3009); 
{ /* ./Cfa/type.scm 267 */
BgL_nodez00_bglt BgL_arg5847z00_1805;
BgL_arg5847z00_1805 = 
(((BgL_conditionalz00_bglt)CREF(BgL_nodez00_1801))->BgL_testz00); 
{ /* ./Cfa/type.scm 267 */
obj_t BgL_method4656z00_2309;
{ /* ./Cfa/type.scm 267 */
BgL_objectz00_bglt BgL_objz00_2310;
BgL_objz00_2310 = 
(BgL_objectz00_bglt)(BgL_arg5847z00_1805); 
{ /* ./Cfa/type.scm 267 */
long BgL_objzd2classzd2numz00_2311;
BgL_objzd2classzd2numz00_2311 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2310); 
{ /* ./Cfa/type.scm 267 */
obj_t BgL_arg2017z00_2312;
{ /* ./Cfa/type.scm 267 */
int BgL_auxz00_3786;
BgL_auxz00_3786 = 
(int)(((long)1)); 
BgL_arg2017z00_2312 = 
PROCEDURE_REF(BGl_typezd2nodez12zd2envz12zzcfa_typez00, BgL_auxz00_3786); } 
{ /* ./Cfa/type.scm 267 */
int BgL_offsetz00_2315;
BgL_offsetz00_2315 = 
(int)(BgL_objzd2classzd2numz00_2311); 
{ /* ./Cfa/type.scm 267 */
long BgL_offsetz00_2316;
{ /* ./Cfa/type.scm 267 */
long BgL_auxz00_3790;
BgL_auxz00_3790 = 
(long)(BgL_offsetz00_2315); 
BgL_offsetz00_2316 = 
(BgL_auxz00_3790-OBJECT_TYPE); } 
{ /* ./Cfa/type.scm 267 */
long BgL_modz00_2317;
{ /* ./Cfa/type.scm 267 */
int BgL_arg2028z00_2318;
BgL_arg2028z00_2318 = 
(int)(((long)8)); 
{ /* ./Cfa/type.scm 267 */
long BgL_n2z00_2326;
BgL_n2z00_2326 = 
(long)(BgL_arg2028z00_2318); 
BgL_modz00_2317 = 
(BgL_offsetz00_2316/BgL_n2z00_2326); } } 
{ /* ./Cfa/type.scm 267 */
long BgL_restz00_2319;
{ /* ./Cfa/type.scm 267 */
int BgL_arg2024z00_2320;
BgL_arg2024z00_2320 = 
(int)(((long)8)); 
{ /* ./Cfa/type.scm 267 */
long BgL_n2z00_2329;
BgL_n2z00_2329 = 
(long)(BgL_arg2024z00_2320); 
BgL_restz00_2319 = 
(BgL_offsetz00_2316%BgL_n2z00_2329); } } 
{ /* ./Cfa/type.scm 267 */

{ /* ./Cfa/type.scm 267 */
obj_t BgL_bucketz00_2321;
{ /* ./Cfa/type.scm 267 */
int BgL_kz00_2331;
BgL_kz00_2331 = 
(int)(BgL_modz00_2317); 
BgL_bucketz00_2321 = 
VECTOR_REF(BgL_arg2017z00_2312,BgL_kz00_2331); } 
{ /* ./Cfa/type.scm 267 */
int BgL_kz00_2333;
BgL_kz00_2333 = 
(int)(BgL_restz00_2319); 
BgL_method4656z00_2309 = 
VECTOR_REF(BgL_bucketz00_2321,BgL_kz00_2333); } } } } } } } } } } 
PROCEDURE_ENTRY(BgL_method4656z00_2309)(BgL_method4656z00_2309, 
(obj_t)(BgL_arg5847z00_1805), BEOA); } } 
{ /* ./Cfa/type.scm 268 */
BgL_nodez00_bglt BgL_arg5851z00_1806;
BgL_arg5851z00_1806 = 
(((BgL_conditionalz00_bglt)CREF(BgL_nodez00_1801))->BgL_truez00); 
{ /* ./Cfa/type.scm 268 */
obj_t BgL_method4656z00_2336;
{ /* ./Cfa/type.scm 268 */
BgL_objectz00_bglt BgL_objz00_2337;
BgL_objz00_2337 = 
(BgL_objectz00_bglt)(BgL_arg5851z00_1806); 
{ /* ./Cfa/type.scm 268 */
long BgL_objzd2classzd2numz00_2338;
BgL_objzd2classzd2numz00_2338 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2337); 
{ /* ./Cfa/type.scm 268 */
obj_t BgL_arg2017z00_2339;
{ /* ./Cfa/type.scm 268 */
int BgL_auxz00_3809;
BgL_auxz00_3809 = 
(int)(((long)1)); 
BgL_arg2017z00_2339 = 
PROCEDURE_REF(BGl_typezd2nodez12zd2envz12zzcfa_typez00, BgL_auxz00_3809); } 
{ /* ./Cfa/type.scm 268 */
int BgL_offsetz00_2342;
BgL_offsetz00_2342 = 
(int)(BgL_objzd2classzd2numz00_2338); 
{ /* ./Cfa/type.scm 268 */
long BgL_offsetz00_2343;
{ /* ./Cfa/type.scm 268 */
long BgL_auxz00_3813;
BgL_auxz00_3813 = 
(long)(BgL_offsetz00_2342); 
BgL_offsetz00_2343 = 
(BgL_auxz00_3813-OBJECT_TYPE); } 
{ /* ./Cfa/type.scm 268 */
long BgL_modz00_2344;
{ /* ./Cfa/type.scm 268 */
int BgL_arg2028z00_2345;
BgL_arg2028z00_2345 = 
(int)(((long)8)); 
{ /* ./Cfa/type.scm 268 */
long BgL_n2z00_2353;
BgL_n2z00_2353 = 
(long)(BgL_arg2028z00_2345); 
BgL_modz00_2344 = 
(BgL_offsetz00_2343/BgL_n2z00_2353); } } 
{ /* ./Cfa/type.scm 268 */
long BgL_restz00_2346;
{ /* ./Cfa/type.scm 268 */
int BgL_arg2024z00_2347;
BgL_arg2024z00_2347 = 
(int)(((long)8)); 
{ /* ./Cfa/type.scm 268 */
long BgL_n2z00_2356;
BgL_n2z00_2356 = 
(long)(BgL_arg2024z00_2347); 
BgL_restz00_2346 = 
(BgL_offsetz00_2343%BgL_n2z00_2356); } } 
{ /* ./Cfa/type.scm 268 */

{ /* ./Cfa/type.scm 268 */
obj_t BgL_bucketz00_2348;
{ /* ./Cfa/type.scm 268 */
int BgL_kz00_2358;
BgL_kz00_2358 = 
(int)(BgL_modz00_2344); 
BgL_bucketz00_2348 = 
VECTOR_REF(BgL_arg2017z00_2339,BgL_kz00_2358); } 
{ /* ./Cfa/type.scm 268 */
int BgL_kz00_2360;
BgL_kz00_2360 = 
(int)(BgL_restz00_2346); 
BgL_method4656z00_2336 = 
VECTOR_REF(BgL_bucketz00_2348,BgL_kz00_2360); } } } } } } } } } } 
PROCEDURE_ENTRY(BgL_method4656z00_2336)(BgL_method4656z00_2336, 
(obj_t)(BgL_arg5851z00_1806), BEOA); } } 
{ /* ./Cfa/type.scm 269 */
BgL_nodez00_bglt BgL_arg5855z00_1807;
BgL_arg5855z00_1807 = 
(((BgL_conditionalz00_bglt)CREF(BgL_nodez00_1801))->BgL_falsez00); 
{ /* ./Cfa/type.scm 269 */
obj_t BgL_method4656z00_2363;
{ /* ./Cfa/type.scm 269 */
BgL_objectz00_bglt BgL_objz00_2364;
BgL_objz00_2364 = 
(BgL_objectz00_bglt)(BgL_arg5855z00_1807); 
{ /* ./Cfa/type.scm 269 */
long BgL_objzd2classzd2numz00_2365;
BgL_objzd2classzd2numz00_2365 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2364); 
{ /* ./Cfa/type.scm 269 */
obj_t BgL_arg2017z00_2366;
{ /* ./Cfa/type.scm 269 */
int BgL_auxz00_3832;
BgL_auxz00_3832 = 
(int)(((long)1)); 
BgL_arg2017z00_2366 = 
PROCEDURE_REF(BGl_typezd2nodez12zd2envz12zzcfa_typez00, BgL_auxz00_3832); } 
{ /* ./Cfa/type.scm 269 */
int BgL_offsetz00_2369;
BgL_offsetz00_2369 = 
(int)(BgL_objzd2classzd2numz00_2365); 
{ /* ./Cfa/type.scm 269 */
long BgL_offsetz00_2370;
{ /* ./Cfa/type.scm 269 */
long BgL_auxz00_3836;
BgL_auxz00_3836 = 
(long)(BgL_offsetz00_2369); 
BgL_offsetz00_2370 = 
(BgL_auxz00_3836-OBJECT_TYPE); } 
{ /* ./Cfa/type.scm 269 */
long BgL_modz00_2371;
{ /* ./Cfa/type.scm 269 */
int BgL_arg2028z00_2372;
BgL_arg2028z00_2372 = 
(int)(((long)8)); 
{ /* ./Cfa/type.scm 269 */
long BgL_n2z00_2380;
BgL_n2z00_2380 = 
(long)(BgL_arg2028z00_2372); 
BgL_modz00_2371 = 
(BgL_offsetz00_2370/BgL_n2z00_2380); } } 
{ /* ./Cfa/type.scm 269 */
long BgL_restz00_2373;
{ /* ./Cfa/type.scm 269 */
int BgL_arg2024z00_2374;
BgL_arg2024z00_2374 = 
(int)(((long)8)); 
{ /* ./Cfa/type.scm 269 */
long BgL_n2z00_2383;
BgL_n2z00_2383 = 
(long)(BgL_arg2024z00_2374); 
BgL_restz00_2373 = 
(BgL_offsetz00_2370%BgL_n2z00_2383); } } 
{ /* ./Cfa/type.scm 269 */

{ /* ./Cfa/type.scm 269 */
obj_t BgL_bucketz00_2375;
{ /* ./Cfa/type.scm 269 */
int BgL_kz00_2385;
BgL_kz00_2385 = 
(int)(BgL_modz00_2371); 
BgL_bucketz00_2375 = 
VECTOR_REF(BgL_arg2017z00_2366,BgL_kz00_2385); } 
{ /* ./Cfa/type.scm 269 */
int BgL_kz00_2387;
BgL_kz00_2387 = 
(int)(BgL_restz00_2373); 
BgL_method4656z00_2363 = 
VECTOR_REF(BgL_bucketz00_2375,BgL_kz00_2387); } } } } } } } } } } 
return 
PROCEDURE_ENTRY(BgL_method4656z00_2363)(BgL_method4656z00_2363, 
(obj_t)(BgL_arg5855z00_1807), BEOA);} } } } 
}



/* type-node!-setq4682 */
obj_t BGl_typezd2nodez12zd2setq4682z12zzcfa_typez00(obj_t BgL_envz00_3010, obj_t BgL_nodez00_3011)
{ AN_OBJECT;
{ /* ./Cfa/type.scm 257 */
{ 
BgL_setqz00_bglt BgL_nodez00_1793;
BgL_nodez00_1793 = 
(BgL_setqz00_bglt)(BgL_nodez00_3011); 
{ /* ./Cfa/type.scm 259 */
BgL_nodez00_bglt BgL_arg5833z00_1797;
BgL_arg5833z00_1797 = 
(((BgL_setqz00_bglt)CREF(BgL_nodez00_1793))->BgL_valuez00); 
{ /* ./Cfa/type.scm 259 */
obj_t BgL_method4656z00_2255;
{ /* ./Cfa/type.scm 259 */
BgL_objectz00_bglt BgL_objz00_2256;
BgL_objz00_2256 = 
(BgL_objectz00_bglt)(BgL_arg5833z00_1797); 
{ /* ./Cfa/type.scm 259 */
long BgL_objzd2classzd2numz00_2257;
BgL_objzd2classzd2numz00_2257 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2256); 
{ /* ./Cfa/type.scm 259 */
obj_t BgL_arg2017z00_2258;
{ /* ./Cfa/type.scm 259 */
int BgL_auxz00_3856;
BgL_auxz00_3856 = 
(int)(((long)1)); 
BgL_arg2017z00_2258 = 
PROCEDURE_REF(BGl_typezd2nodez12zd2envz12zzcfa_typez00, BgL_auxz00_3856); } 
{ /* ./Cfa/type.scm 259 */
int BgL_offsetz00_2261;
BgL_offsetz00_2261 = 
(int)(BgL_objzd2classzd2numz00_2257); 
{ /* ./Cfa/type.scm 259 */
long BgL_offsetz00_2262;
{ /* ./Cfa/type.scm 259 */
long BgL_auxz00_3860;
BgL_auxz00_3860 = 
(long)(BgL_offsetz00_2261); 
BgL_offsetz00_2262 = 
(BgL_auxz00_3860-OBJECT_TYPE); } 
{ /* ./Cfa/type.scm 259 */
long BgL_modz00_2263;
{ /* ./Cfa/type.scm 259 */
int BgL_arg2028z00_2264;
BgL_arg2028z00_2264 = 
(int)(((long)8)); 
{ /* ./Cfa/type.scm 259 */
long BgL_n2z00_2272;
BgL_n2z00_2272 = 
(long)(BgL_arg2028z00_2264); 
BgL_modz00_2263 = 
(BgL_offsetz00_2262/BgL_n2z00_2272); } } 
{ /* ./Cfa/type.scm 259 */
long BgL_restz00_2265;
{ /* ./Cfa/type.scm 259 */
int BgL_arg2024z00_2266;
BgL_arg2024z00_2266 = 
(int)(((long)8)); 
{ /* ./Cfa/type.scm 259 */
long BgL_n2z00_2275;
BgL_n2z00_2275 = 
(long)(BgL_arg2024z00_2266); 
BgL_restz00_2265 = 
(BgL_offsetz00_2262%BgL_n2z00_2275); } } 
{ /* ./Cfa/type.scm 259 */

{ /* ./Cfa/type.scm 259 */
obj_t BgL_bucketz00_2267;
{ /* ./Cfa/type.scm 259 */
int BgL_kz00_2277;
BgL_kz00_2277 = 
(int)(BgL_modz00_2263); 
BgL_bucketz00_2267 = 
VECTOR_REF(BgL_arg2017z00_2258,BgL_kz00_2277); } 
{ /* ./Cfa/type.scm 259 */
int BgL_kz00_2279;
BgL_kz00_2279 = 
(int)(BgL_restz00_2265); 
BgL_method4656z00_2255 = 
VECTOR_REF(BgL_bucketz00_2267,BgL_kz00_2279); } } } } } } } } } } 
PROCEDURE_ENTRY(BgL_method4656z00_2255)(BgL_method4656z00_2255, 
(obj_t)(BgL_arg5833z00_1797), BEOA); } } 
{ /* ./Cfa/type.scm 260 */
BgL_varz00_bglt BgL_arg5837z00_1798;
BgL_arg5837z00_1798 = 
(((BgL_setqz00_bglt)CREF(BgL_nodez00_1793))->BgL_varz00); 
{ /* ./Cfa/type.scm 260 */
BgL_nodez00_bglt BgL_nodez00_2281;
BgL_nodez00_2281 = 
(BgL_nodez00_bglt)(BgL_arg5837z00_1798); 
{ /* ./Cfa/type.scm 260 */
obj_t BgL_method4656z00_2282;
{ /* ./Cfa/type.scm 260 */
BgL_objectz00_bglt BgL_objz00_2283;
BgL_objz00_2283 = 
(BgL_objectz00_bglt)(BgL_nodez00_2281); 
{ /* ./Cfa/type.scm 260 */
long BgL_objzd2classzd2numz00_2284;
BgL_objzd2classzd2numz00_2284 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2283); 
{ /* ./Cfa/type.scm 260 */
obj_t BgL_arg2017z00_2285;
{ /* ./Cfa/type.scm 260 */
int BgL_auxz00_3880;
BgL_auxz00_3880 = 
(int)(((long)1)); 
BgL_arg2017z00_2285 = 
PROCEDURE_REF(BGl_typezd2nodez12zd2envz12zzcfa_typez00, BgL_auxz00_3880); } 
{ /* ./Cfa/type.scm 260 */
int BgL_offsetz00_2288;
BgL_offsetz00_2288 = 
(int)(BgL_objzd2classzd2numz00_2284); 
{ /* ./Cfa/type.scm 260 */
long BgL_offsetz00_2289;
{ /* ./Cfa/type.scm 260 */
long BgL_auxz00_3884;
BgL_auxz00_3884 = 
(long)(BgL_offsetz00_2288); 
BgL_offsetz00_2289 = 
(BgL_auxz00_3884-OBJECT_TYPE); } 
{ /* ./Cfa/type.scm 260 */
long BgL_modz00_2290;
{ /* ./Cfa/type.scm 260 */
int BgL_arg2028z00_2291;
BgL_arg2028z00_2291 = 
(int)(((long)8)); 
{ /* ./Cfa/type.scm 260 */
long BgL_n2z00_2299;
BgL_n2z00_2299 = 
(long)(BgL_arg2028z00_2291); 
BgL_modz00_2290 = 
(BgL_offsetz00_2289/BgL_n2z00_2299); } } 
{ /* ./Cfa/type.scm 260 */
long BgL_restz00_2292;
{ /* ./Cfa/type.scm 260 */
int BgL_arg2024z00_2293;
BgL_arg2024z00_2293 = 
(int)(((long)8)); 
{ /* ./Cfa/type.scm 260 */
long BgL_n2z00_2302;
BgL_n2z00_2302 = 
(long)(BgL_arg2024z00_2293); 
BgL_restz00_2292 = 
(BgL_offsetz00_2289%BgL_n2z00_2302); } } 
{ /* ./Cfa/type.scm 260 */

{ /* ./Cfa/type.scm 260 */
obj_t BgL_bucketz00_2294;
{ /* ./Cfa/type.scm 260 */
int BgL_kz00_2304;
BgL_kz00_2304 = 
(int)(BgL_modz00_2290); 
BgL_bucketz00_2294 = 
VECTOR_REF(BgL_arg2017z00_2285,BgL_kz00_2304); } 
{ /* ./Cfa/type.scm 260 */
int BgL_kz00_2306;
BgL_kz00_2306 = 
(int)(BgL_restz00_2292); 
BgL_method4656z00_2282 = 
VECTOR_REF(BgL_bucketz00_2294,BgL_kz00_2306); } } } } } } } } } } 
return 
PROCEDURE_ENTRY(BgL_method4656z00_2282)(BgL_method4656z00_2282, 
(obj_t)(BgL_nodez00_2281), BEOA);} } } } } 
}



/* type-node!-cast4680 */
obj_t BGl_typezd2nodez12zd2cast4680z12zzcfa_typez00(obj_t BgL_envz00_3012, obj_t BgL_nodez00_3013)
{ AN_OBJECT;
{ /* ./Cfa/type.scm 250 */
{ 
BgL_castz00_bglt BgL_nodez00_1786;
BgL_nodez00_1786 = 
(BgL_castz00_bglt)(BgL_nodez00_3013); 
{ /* ./Cfa/type.scm 251 */
BgL_nodez00_bglt BgL_arg5823z00_2225;
BgL_arg5823z00_2225 = 
(((BgL_castz00_bglt)CREF(BgL_nodez00_1786))->BgL_argz00); 
{ /* ./Cfa/type.scm 251 */
obj_t BgL_method4656z00_2228;
{ /* ./Cfa/type.scm 251 */
BgL_objectz00_bglt BgL_objz00_2229;
BgL_objz00_2229 = 
(BgL_objectz00_bglt)(BgL_arg5823z00_2225); 
{ /* ./Cfa/type.scm 251 */
long BgL_objzd2classzd2numz00_2230;
BgL_objzd2classzd2numz00_2230 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2229); 
{ /* ./Cfa/type.scm 251 */
obj_t BgL_arg2017z00_2231;
{ /* ./Cfa/type.scm 251 */
int BgL_auxz00_3904;
BgL_auxz00_3904 = 
(int)(((long)1)); 
BgL_arg2017z00_2231 = 
PROCEDURE_REF(BGl_typezd2nodez12zd2envz12zzcfa_typez00, BgL_auxz00_3904); } 
{ /* ./Cfa/type.scm 251 */
int BgL_offsetz00_2234;
BgL_offsetz00_2234 = 
(int)(BgL_objzd2classzd2numz00_2230); 
{ /* ./Cfa/type.scm 251 */
long BgL_offsetz00_2235;
{ /* ./Cfa/type.scm 251 */
long BgL_auxz00_3908;
BgL_auxz00_3908 = 
(long)(BgL_offsetz00_2234); 
BgL_offsetz00_2235 = 
(BgL_auxz00_3908-OBJECT_TYPE); } 
{ /* ./Cfa/type.scm 251 */
long BgL_modz00_2236;
{ /* ./Cfa/type.scm 251 */
int BgL_arg2028z00_2237;
BgL_arg2028z00_2237 = 
(int)(((long)8)); 
{ /* ./Cfa/type.scm 251 */
long BgL_n2z00_2245;
BgL_n2z00_2245 = 
(long)(BgL_arg2028z00_2237); 
BgL_modz00_2236 = 
(BgL_offsetz00_2235/BgL_n2z00_2245); } } 
{ /* ./Cfa/type.scm 251 */
long BgL_restz00_2238;
{ /* ./Cfa/type.scm 251 */
int BgL_arg2024z00_2239;
BgL_arg2024z00_2239 = 
(int)(((long)8)); 
{ /* ./Cfa/type.scm 251 */
long BgL_n2z00_2248;
BgL_n2z00_2248 = 
(long)(BgL_arg2024z00_2239); 
BgL_restz00_2238 = 
(BgL_offsetz00_2235%BgL_n2z00_2248); } } 
{ /* ./Cfa/type.scm 251 */

{ /* ./Cfa/type.scm 251 */
obj_t BgL_bucketz00_2240;
{ /* ./Cfa/type.scm 251 */
int BgL_kz00_2250;
BgL_kz00_2250 = 
(int)(BgL_modz00_2236); 
BgL_bucketz00_2240 = 
VECTOR_REF(BgL_arg2017z00_2231,BgL_kz00_2250); } 
{ /* ./Cfa/type.scm 251 */
int BgL_kz00_2252;
BgL_kz00_2252 = 
(int)(BgL_restz00_2238); 
BgL_method4656z00_2228 = 
VECTOR_REF(BgL_bucketz00_2240,BgL_kz00_2252); } } } } } } } } } } 
return 
PROCEDURE_ENTRY(BgL_method4656z00_2228)(BgL_method4656z00_2228, 
(obj_t)(BgL_arg5823z00_2225), BEOA);} } } } 
}



/* type-node!-vset!4678 */
obj_t BGl_typezd2nodez12zd2vsetz124678z00zzcfa_typez00(obj_t BgL_envz00_3014, obj_t BgL_nodez00_3015)
{ AN_OBJECT;
{ /* ./Cfa/type.scm 241 */
{ 
BgL_vsetz12z12_bglt BgL_nodez00_1778;
BgL_nodez00_1778 = 
(BgL_vsetz12z12_bglt)(BgL_nodez00_3015); 
{ 

{ /* ./Cfa/type.scm 241 */
obj_t BgL_nextzd2method4677zd2_1784;
BgL_nextzd2method4677zd2_1784 = 
BGl_findzd2superzd2classzd2methodzd2zz__objectz00(
(BgL_objectz00_bglt)(BgL_nodez00_1778), BGl_typezd2nodez12zd2envz12zzcfa_typez00, BGl_vsetz12z12zzast_nodez00); 
{ /* ./Cfa/type.scm 241 */
bool_t BgL_test5816z00_1785;
BgL_test5816z00_1785 = 
PROCEDUREP(BgL_nextzd2method4677zd2_1784); 
if(BgL_test5816z00_1785)
{ /* ./Cfa/type.scm 241 */
PROCEDURE_ENTRY(BgL_nextzd2method4677zd2_1784)(BgL_nextzd2method4677zd2_1784, 
(obj_t)(BgL_nodez00_1778), BEOA); }  else 
{ /* ./Cfa/type.scm 241 */
{ /* ./Cfa/type.scm 241 */
BgL_nodez00_bglt BgL_nodez00_2198;
BgL_nodez00_2198 = 
(BgL_nodez00_bglt)(BgL_nodez00_1778); 
{ /* ./Cfa/type.scm 241 */
obj_t BgL_method4656z00_2199;
{ /* ./Cfa/type.scm 241 */
BgL_objectz00_bglt BgL_objz00_2200;
BgL_objz00_2200 = 
(BgL_objectz00_bglt)(BgL_nodez00_2198); 
{ /* ./Cfa/type.scm 241 */
long BgL_objzd2classzd2numz00_2201;
BgL_objzd2classzd2numz00_2201 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2200); 
{ /* ./Cfa/type.scm 241 */
obj_t BgL_arg2017z00_2202;
{ /* ./Cfa/type.scm 241 */
int BgL_auxz00_3935;
BgL_auxz00_3935 = 
(int)(((long)1)); 
BgL_arg2017z00_2202 = 
PROCEDURE_REF(BGl_typezd2nodez12zd2envz12zzcfa_typez00, BgL_auxz00_3935); } 
{ /* ./Cfa/type.scm 241 */
int BgL_offsetz00_2205;
BgL_offsetz00_2205 = 
(int)(BgL_objzd2classzd2numz00_2201); 
{ /* ./Cfa/type.scm 241 */
long BgL_offsetz00_2206;
{ /* ./Cfa/type.scm 241 */
long BgL_auxz00_3939;
BgL_auxz00_3939 = 
(long)(BgL_offsetz00_2205); 
BgL_offsetz00_2206 = 
(BgL_auxz00_3939-OBJECT_TYPE); } 
{ /* ./Cfa/type.scm 241 */
long BgL_modz00_2207;
{ /* ./Cfa/type.scm 241 */
int BgL_arg2028z00_2208;
BgL_arg2028z00_2208 = 
(int)(((long)8)); 
{ /* ./Cfa/type.scm 241 */
long BgL_n2z00_2216;
BgL_n2z00_2216 = 
(long)(BgL_arg2028z00_2208); 
BgL_modz00_2207 = 
(BgL_offsetz00_2206/BgL_n2z00_2216); } } 
{ /* ./Cfa/type.scm 241 */
long BgL_restz00_2209;
{ /* ./Cfa/type.scm 241 */
int BgL_arg2024z00_2210;
BgL_arg2024z00_2210 = 
(int)(((long)8)); 
{ /* ./Cfa/type.scm 241 */
long BgL_n2z00_2219;
BgL_n2z00_2219 = 
(long)(BgL_arg2024z00_2210); 
BgL_restz00_2209 = 
(BgL_offsetz00_2206%BgL_n2z00_2219); } } 
{ /* ./Cfa/type.scm 241 */

{ /* ./Cfa/type.scm 241 */
obj_t BgL_bucketz00_2211;
{ /* ./Cfa/type.scm 241 */
int BgL_kz00_2221;
BgL_kz00_2221 = 
(int)(BgL_modz00_2207); 
BgL_bucketz00_2211 = 
VECTOR_REF(BgL_arg2017z00_2202,BgL_kz00_2221); } 
{ /* ./Cfa/type.scm 241 */
int BgL_kz00_2223;
BgL_kz00_2223 = 
(int)(BgL_restz00_2209); 
BgL_method4656z00_2199 = 
VECTOR_REF(BgL_bucketz00_2211,BgL_kz00_2223); } } } } } } } } } } 
PROCEDURE_ENTRY(BgL_method4656z00_2199)(BgL_method4656z00_2199, 
(obj_t)(BgL_nodez00_2198), BEOA); } } } } } 
{ /* ./Cfa/type.scm 244 */
bool_t BgL_test5810z00_1782;
{ /* ./Cfa/type.scm 244 */
BgL_typez00_bglt BgL_arg5813z00_1783;
BgL_arg5813z00_1783 = 
(((BgL_vsetz12z12_bglt)CREF(BgL_nodez00_1778))->BgL_ftypez00); 
{ /* ./Cfa/type.scm 244 */
obj_t BgL_auxz00_3956;
BgL_auxz00_3956 = 
(obj_t)(BgL_arg5813z00_1783); 
BgL_test5810z00_1782 = 
(BgL_auxz00_3956==BGl_za2_za2z00zztype_cachez00); } } 
if(BgL_test5810z00_1782)
{ /* ./Cfa/type.scm 245 */
BgL_vsetz12z12_bglt BgL_obj2151z00_2195;BgL_typez00_bglt BgL_val2150z00_2196;
BgL_obj2151z00_2195 = BgL_nodez00_1778; 
BgL_val2150z00_2196 = 
(BgL_typez00_bglt)(BGl_za2objza2z00zztype_cachez00); 
return 
((((BgL_vsetz12z12_bglt)CREF(BgL_obj2151z00_2195))->BgL_ftypez00) = ((BgL_typez00_bglt)BgL_val2150z00_2196), BUNSPEC);}  else 
{ /* ./Cfa/type.scm 244 */
return BFALSE;} } } } } 
}



/* type-node!-vref4676 */
obj_t BGl_typezd2nodez12zd2vref4676z12zzcfa_typez00(obj_t BgL_envz00_3016, obj_t BgL_nodez00_3017)
{ AN_OBJECT;
{ /* ./Cfa/type.scm 232 */
{ 
BgL_vrefz00_bglt BgL_nodez00_1770;
BgL_nodez00_1770 = 
(BgL_vrefz00_bglt)(BgL_nodez00_3017); 
{ 

{ /* ./Cfa/type.scm 232 */
obj_t BgL_nextzd2method4675zd2_1776;
BgL_nextzd2method4675zd2_1776 = 
BGl_findzd2superzd2classzd2methodzd2zz__objectz00(
(BgL_objectz00_bglt)(BgL_nodez00_1770), BGl_typezd2nodez12zd2envz12zzcfa_typez00, BGl_vrefz00zzast_nodez00); 
{ /* ./Cfa/type.scm 232 */
bool_t BgL_test5803z00_1777;
BgL_test5803z00_1777 = 
PROCEDUREP(BgL_nextzd2method4675zd2_1776); 
if(BgL_test5803z00_1777)
{ /* ./Cfa/type.scm 232 */
PROCEDURE_ENTRY(BgL_nextzd2method4675zd2_1776)(BgL_nextzd2method4675zd2_1776, 
(obj_t)(BgL_nodez00_1770), BEOA); }  else 
{ /* ./Cfa/type.scm 232 */
{ /* ./Cfa/type.scm 232 */
BgL_nodez00_bglt BgL_nodez00_2168;
BgL_nodez00_2168 = 
(BgL_nodez00_bglt)(BgL_nodez00_1770); 
{ /* ./Cfa/type.scm 232 */
obj_t BgL_method4656z00_2169;
{ /* ./Cfa/type.scm 232 */
BgL_objectz00_bglt BgL_objz00_2170;
BgL_objz00_2170 = 
(BgL_objectz00_bglt)(BgL_nodez00_2168); 
{ /* ./Cfa/type.scm 232 */
long BgL_objzd2classzd2numz00_2171;
BgL_objzd2classzd2numz00_2171 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2170); 
{ /* ./Cfa/type.scm 232 */
obj_t BgL_arg2017z00_2172;
{ /* ./Cfa/type.scm 232 */
int BgL_auxz00_3973;
BgL_auxz00_3973 = 
(int)(((long)1)); 
BgL_arg2017z00_2172 = 
PROCEDURE_REF(BGl_typezd2nodez12zd2envz12zzcfa_typez00, BgL_auxz00_3973); } 
{ /* ./Cfa/type.scm 232 */
int BgL_offsetz00_2175;
BgL_offsetz00_2175 = 
(int)(BgL_objzd2classzd2numz00_2171); 
{ /* ./Cfa/type.scm 232 */
long BgL_offsetz00_2176;
{ /* ./Cfa/type.scm 232 */
long BgL_auxz00_3977;
BgL_auxz00_3977 = 
(long)(BgL_offsetz00_2175); 
BgL_offsetz00_2176 = 
(BgL_auxz00_3977-OBJECT_TYPE); } 
{ /* ./Cfa/type.scm 232 */
long BgL_modz00_2177;
{ /* ./Cfa/type.scm 232 */
int BgL_arg2028z00_2178;
BgL_arg2028z00_2178 = 
(int)(((long)8)); 
{ /* ./Cfa/type.scm 232 */
long BgL_n2z00_2186;
BgL_n2z00_2186 = 
(long)(BgL_arg2028z00_2178); 
BgL_modz00_2177 = 
(BgL_offsetz00_2176/BgL_n2z00_2186); } } 
{ /* ./Cfa/type.scm 232 */
long BgL_restz00_2179;
{ /* ./Cfa/type.scm 232 */
int BgL_arg2024z00_2180;
BgL_arg2024z00_2180 = 
(int)(((long)8)); 
{ /* ./Cfa/type.scm 232 */
long BgL_n2z00_2189;
BgL_n2z00_2189 = 
(long)(BgL_arg2024z00_2180); 
BgL_restz00_2179 = 
(BgL_offsetz00_2176%BgL_n2z00_2189); } } 
{ /* ./Cfa/type.scm 232 */

{ /* ./Cfa/type.scm 232 */
obj_t BgL_bucketz00_2181;
{ /* ./Cfa/type.scm 232 */
int BgL_kz00_2191;
BgL_kz00_2191 = 
(int)(BgL_modz00_2177); 
BgL_bucketz00_2181 = 
VECTOR_REF(BgL_arg2017z00_2172,BgL_kz00_2191); } 
{ /* ./Cfa/type.scm 232 */
int BgL_kz00_2193;
BgL_kz00_2193 = 
(int)(BgL_restz00_2179); 
BgL_method4656z00_2169 = 
VECTOR_REF(BgL_bucketz00_2181,BgL_kz00_2193); } } } } } } } } } } 
PROCEDURE_ENTRY(BgL_method4656z00_2169)(BgL_method4656z00_2169, 
(obj_t)(BgL_nodez00_2168), BEOA); } } } } } 
{ /* ./Cfa/type.scm 235 */
bool_t BgL_test5797z00_1774;
{ /* ./Cfa/type.scm 235 */
BgL_typez00_bglt BgL_arg5800z00_1775;
BgL_arg5800z00_1775 = 
(((BgL_vrefz00_bglt)CREF(BgL_nodez00_1770))->BgL_ftypez00); 
{ /* ./Cfa/type.scm 235 */
obj_t BgL_auxz00_3994;
BgL_auxz00_3994 = 
(obj_t)(BgL_arg5800z00_1775); 
BgL_test5797z00_1774 = 
(BgL_auxz00_3994==BGl_za2_za2z00zztype_cachez00); } } 
if(BgL_test5797z00_1774)
{ /* ./Cfa/type.scm 236 */
BgL_vrefz00_bglt BgL_obj2095z00_2165;BgL_typez00_bglt BgL_val2094z00_2166;
BgL_obj2095z00_2165 = BgL_nodez00_1770; 
BgL_val2094z00_2166 = 
(BgL_typez00_bglt)(BGl_za2objza2z00zztype_cachez00); 
return 
((((BgL_vrefz00_bglt)CREF(BgL_obj2095z00_2165))->BgL_ftypez00) = ((BgL_typez00_bglt)BgL_val2094z00_2166), BUNSPEC);}  else 
{ /* ./Cfa/type.scm 235 */
return BFALSE;} } } } } 
}



/* type-node!-extern4674 */
obj_t BGl_typezd2nodez12zd2extern4674z12zzcfa_typez00(obj_t BgL_envz00_3018, obj_t BgL_nodez00_3019)
{ AN_OBJECT;
{ /* ./Cfa/type.scm 225 */
{ 
BgL_externz00_bglt BgL_nodez00_1763;
{ /* ./Cfa/type.scm 226 */
bool_t BgL_auxz00_4001;
BgL_nodez00_1763 = 
(BgL_externz00_bglt)(BgL_nodez00_3019); 
{ /* ./Cfa/type.scm 226 */
obj_t BgL_arg5787z00_2162;
BgL_arg5787z00_2162 = 
(((BgL_externz00_bglt)CREF(BgL_nodez00_1763))->BgL_exprza2za2); 
BgL_auxz00_4001 = 
BGl_typezd2nodeza2z12z62zzcfa_typez00(BgL_arg5787z00_2162); } 
return 
BBOOL(BgL_auxz00_4001);} } } 
}



/* type-node!-funcall4672 */
obj_t BGl_typezd2nodez12zd2funcall4672z12zzcfa_typez00(obj_t BgL_envz00_3020, obj_t BgL_nodez00_3021)
{ AN_OBJECT;
{ /* ./Cfa/type.scm 217 */
{ 
BgL_funcallz00_bglt BgL_nodez00_1755;
{ /* ./Cfa/type.scm 218 */
bool_t BgL_auxz00_4006;
BgL_nodez00_1755 = 
(BgL_funcallz00_bglt)(BgL_nodez00_3021); 
{ /* ./Cfa/type.scm 219 */
BgL_nodez00_bglt BgL_arg5773z00_1759;
BgL_arg5773z00_1759 = 
(((BgL_funcallz00_bglt)CREF(BgL_nodez00_1755))->BgL_funz00); 
{ /* ./Cfa/type.scm 219 */
obj_t BgL_method4656z00_2135;
{ /* ./Cfa/type.scm 219 */
BgL_objectz00_bglt BgL_objz00_2136;
BgL_objz00_2136 = 
(BgL_objectz00_bglt)(BgL_arg5773z00_1759); 
{ /* ./Cfa/type.scm 219 */
long BgL_objzd2classzd2numz00_2137;
BgL_objzd2classzd2numz00_2137 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2136); 
{ /* ./Cfa/type.scm 219 */
obj_t BgL_arg2017z00_2138;
{ /* ./Cfa/type.scm 219 */
int BgL_auxz00_4010;
BgL_auxz00_4010 = 
(int)(((long)1)); 
BgL_arg2017z00_2138 = 
PROCEDURE_REF(BGl_typezd2nodez12zd2envz12zzcfa_typez00, BgL_auxz00_4010); } 
{ /* ./Cfa/type.scm 219 */
int BgL_offsetz00_2141;
BgL_offsetz00_2141 = 
(int)(BgL_objzd2classzd2numz00_2137); 
{ /* ./Cfa/type.scm 219 */
long BgL_offsetz00_2142;
{ /* ./Cfa/type.scm 219 */
long BgL_auxz00_4014;
BgL_auxz00_4014 = 
(long)(BgL_offsetz00_2141); 
BgL_offsetz00_2142 = 
(BgL_auxz00_4014-OBJECT_TYPE); } 
{ /* ./Cfa/type.scm 219 */
long BgL_modz00_2143;
{ /* ./Cfa/type.scm 219 */
int BgL_arg2028z00_2144;
BgL_arg2028z00_2144 = 
(int)(((long)8)); 
{ /* ./Cfa/type.scm 219 */
long BgL_n2z00_2152;
BgL_n2z00_2152 = 
(long)(BgL_arg2028z00_2144); 
BgL_modz00_2143 = 
(BgL_offsetz00_2142/BgL_n2z00_2152); } } 
{ /* ./Cfa/type.scm 219 */
long BgL_restz00_2145;
{ /* ./Cfa/type.scm 219 */
int BgL_arg2024z00_2146;
BgL_arg2024z00_2146 = 
(int)(((long)8)); 
{ /* ./Cfa/type.scm 219 */
long BgL_n2z00_2155;
BgL_n2z00_2155 = 
(long)(BgL_arg2024z00_2146); 
BgL_restz00_2145 = 
(BgL_offsetz00_2142%BgL_n2z00_2155); } } 
{ /* ./Cfa/type.scm 219 */

{ /* ./Cfa/type.scm 219 */
obj_t BgL_bucketz00_2147;
{ /* ./Cfa/type.scm 219 */
int BgL_kz00_2157;
BgL_kz00_2157 = 
(int)(BgL_modz00_2143); 
BgL_bucketz00_2147 = 
VECTOR_REF(BgL_arg2017z00_2138,BgL_kz00_2157); } 
{ /* ./Cfa/type.scm 219 */
int BgL_kz00_2159;
BgL_kz00_2159 = 
(int)(BgL_restz00_2145); 
BgL_method4656z00_2135 = 
VECTOR_REF(BgL_bucketz00_2147,BgL_kz00_2159); } } } } } } } } } } 
PROCEDURE_ENTRY(BgL_method4656z00_2135)(BgL_method4656z00_2135, 
(obj_t)(BgL_arg5773z00_1759), BEOA); } } 
{ /* ./Cfa/type.scm 220 */
obj_t BgL_arg5777z00_1760;
BgL_arg5777z00_1760 = 
(((BgL_funcallz00_bglt)CREF(BgL_nodez00_1755))->BgL_argsz00); 
BgL_auxz00_4006 = 
BGl_typezd2nodeza2z12z62zzcfa_typez00(BgL_arg5777z00_1760); } 
return 
BBOOL(BgL_auxz00_4006);} } } 
}



/* type-node!-app-ly4670 */
obj_t BGl_typezd2nodez12zd2appzd2ly4670zc0zzcfa_typez00(obj_t BgL_envz00_3022, obj_t BgL_nodez00_3023)
{ AN_OBJECT;
{ /* ./Cfa/type.scm 209 */
{ 
BgL_appzd2lyzd2_bglt BgL_nodez00_1747;
BgL_nodez00_1747 = 
(BgL_appzd2lyzd2_bglt)(BgL_nodez00_3023); 
{ /* ./Cfa/type.scm 211 */
BgL_nodez00_bglt BgL_arg5759z00_1751;
BgL_arg5759z00_1751 = 
(((BgL_appzd2lyzd2_bglt)CREF(BgL_nodez00_1747))->BgL_funz00); 
{ /* ./Cfa/type.scm 211 */
obj_t BgL_method4656z00_2081;
{ /* ./Cfa/type.scm 211 */
BgL_objectz00_bglt BgL_objz00_2082;
BgL_objz00_2082 = 
(BgL_objectz00_bglt)(BgL_arg5759z00_1751); 
{ /* ./Cfa/type.scm 211 */
long BgL_objzd2classzd2numz00_2083;
BgL_objzd2classzd2numz00_2083 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2082); 
{ /* ./Cfa/type.scm 211 */
obj_t BgL_arg2017z00_2084;
{ /* ./Cfa/type.scm 211 */
int BgL_auxz00_4037;
BgL_auxz00_4037 = 
(int)(((long)1)); 
BgL_arg2017z00_2084 = 
PROCEDURE_REF(BGl_typezd2nodez12zd2envz12zzcfa_typez00, BgL_auxz00_4037); } 
{ /* ./Cfa/type.scm 211 */
int BgL_offsetz00_2087;
BgL_offsetz00_2087 = 
(int)(BgL_objzd2classzd2numz00_2083); 
{ /* ./Cfa/type.scm 211 */
long BgL_offsetz00_2088;
{ /* ./Cfa/type.scm 211 */
long BgL_auxz00_4041;
BgL_auxz00_4041 = 
(long)(BgL_offsetz00_2087); 
BgL_offsetz00_2088 = 
(BgL_auxz00_4041-OBJECT_TYPE); } 
{ /* ./Cfa/type.scm 211 */
long BgL_modz00_2089;
{ /* ./Cfa/type.scm 211 */
int BgL_arg2028z00_2090;
BgL_arg2028z00_2090 = 
(int)(((long)8)); 
{ /* ./Cfa/type.scm 211 */
long BgL_n2z00_2098;
BgL_n2z00_2098 = 
(long)(BgL_arg2028z00_2090); 
BgL_modz00_2089 = 
(BgL_offsetz00_2088/BgL_n2z00_2098); } } 
{ /* ./Cfa/type.scm 211 */
long BgL_restz00_2091;
{ /* ./Cfa/type.scm 211 */
int BgL_arg2024z00_2092;
BgL_arg2024z00_2092 = 
(int)(((long)8)); 
{ /* ./Cfa/type.scm 211 */
long BgL_n2z00_2101;
BgL_n2z00_2101 = 
(long)(BgL_arg2024z00_2092); 
BgL_restz00_2091 = 
(BgL_offsetz00_2088%BgL_n2z00_2101); } } 
{ /* ./Cfa/type.scm 211 */

{ /* ./Cfa/type.scm 211 */
obj_t BgL_bucketz00_2093;
{ /* ./Cfa/type.scm 211 */
int BgL_kz00_2103;
BgL_kz00_2103 = 
(int)(BgL_modz00_2089); 
BgL_bucketz00_2093 = 
VECTOR_REF(BgL_arg2017z00_2084,BgL_kz00_2103); } 
{ /* ./Cfa/type.scm 211 */
int BgL_kz00_2105;
BgL_kz00_2105 = 
(int)(BgL_restz00_2091); 
BgL_method4656z00_2081 = 
VECTOR_REF(BgL_bucketz00_2093,BgL_kz00_2105); } } } } } } } } } } 
PROCEDURE_ENTRY(BgL_method4656z00_2081)(BgL_method4656z00_2081, 
(obj_t)(BgL_arg5759z00_1751), BEOA); } } 
{ /* ./Cfa/type.scm 212 */
BgL_nodez00_bglt BgL_arg5763z00_1752;
BgL_arg5763z00_1752 = 
(((BgL_appzd2lyzd2_bglt)CREF(BgL_nodez00_1747))->BgL_argz00); 
{ /* ./Cfa/type.scm 212 */
obj_t BgL_method4656z00_2108;
{ /* ./Cfa/type.scm 212 */
BgL_objectz00_bglt BgL_objz00_2109;
BgL_objz00_2109 = 
(BgL_objectz00_bglt)(BgL_arg5763z00_1752); 
{ /* ./Cfa/type.scm 212 */
long BgL_objzd2classzd2numz00_2110;
BgL_objzd2classzd2numz00_2110 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2109); 
{ /* ./Cfa/type.scm 212 */
obj_t BgL_arg2017z00_2111;
{ /* ./Cfa/type.scm 212 */
int BgL_auxz00_4060;
BgL_auxz00_4060 = 
(int)(((long)1)); 
BgL_arg2017z00_2111 = 
PROCEDURE_REF(BGl_typezd2nodez12zd2envz12zzcfa_typez00, BgL_auxz00_4060); } 
{ /* ./Cfa/type.scm 212 */
int BgL_offsetz00_2114;
BgL_offsetz00_2114 = 
(int)(BgL_objzd2classzd2numz00_2110); 
{ /* ./Cfa/type.scm 212 */
long BgL_offsetz00_2115;
{ /* ./Cfa/type.scm 212 */
long BgL_auxz00_4064;
BgL_auxz00_4064 = 
(long)(BgL_offsetz00_2114); 
BgL_offsetz00_2115 = 
(BgL_auxz00_4064-OBJECT_TYPE); } 
{ /* ./Cfa/type.scm 212 */
long BgL_modz00_2116;
{ /* ./Cfa/type.scm 212 */
int BgL_arg2028z00_2117;
BgL_arg2028z00_2117 = 
(int)(((long)8)); 
{ /* ./Cfa/type.scm 212 */
long BgL_n2z00_2125;
BgL_n2z00_2125 = 
(long)(BgL_arg2028z00_2117); 
BgL_modz00_2116 = 
(BgL_offsetz00_2115/BgL_n2z00_2125); } } 
{ /* ./Cfa/type.scm 212 */
long BgL_restz00_2118;
{ /* ./Cfa/type.scm 212 */
int BgL_arg2024z00_2119;
BgL_arg2024z00_2119 = 
(int)(((long)8)); 
{ /* ./Cfa/type.scm 212 */
long BgL_n2z00_2128;
BgL_n2z00_2128 = 
(long)(BgL_arg2024z00_2119); 
BgL_restz00_2118 = 
(BgL_offsetz00_2115%BgL_n2z00_2128); } } 
{ /* ./Cfa/type.scm 212 */

{ /* ./Cfa/type.scm 212 */
obj_t BgL_bucketz00_2120;
{ /* ./Cfa/type.scm 212 */
int BgL_kz00_2130;
BgL_kz00_2130 = 
(int)(BgL_modz00_2116); 
BgL_bucketz00_2120 = 
VECTOR_REF(BgL_arg2017z00_2111,BgL_kz00_2130); } 
{ /* ./Cfa/type.scm 212 */
int BgL_kz00_2132;
BgL_kz00_2132 = 
(int)(BgL_restz00_2118); 
BgL_method4656z00_2108 = 
VECTOR_REF(BgL_bucketz00_2120,BgL_kz00_2132); } } } } } } } } } } 
return 
PROCEDURE_ENTRY(BgL_method4656z00_2108)(BgL_method4656z00_2108, 
(obj_t)(BgL_arg5763z00_1752), BEOA);} } } } 
}



/* type-node!-app4668 */
obj_t BGl_typezd2nodez12zd2app4668z12zzcfa_typez00(obj_t BgL_envz00_3024, obj_t BgL_nodez00_3025)
{ AN_OBJECT;
{ /* ./Cfa/type.scm 202 */
{ 
BgL_appz00_bglt BgL_nodez00_1740;
{ /* ./Cfa/type.scm 203 */
bool_t BgL_auxz00_4081;
BgL_nodez00_1740 = 
(BgL_appz00_bglt)(BgL_nodez00_3025); 
{ /* ./Cfa/type.scm 203 */
obj_t BgL_arg5749z00_2077;
BgL_arg5749z00_2077 = 
(((BgL_appz00_bglt)CREF(BgL_nodez00_1740))->BgL_argsz00); 
BgL_auxz00_4081 = 
BGl_typezd2nodeza2z12z62zzcfa_typez00(BgL_arg5749z00_2077); } 
return 
BBOOL(BgL_auxz00_4081);} } } 
}



/* type-node!-sequence4666 */
obj_t BGl_typezd2nodez12zd2sequence4666z12zzcfa_typez00(obj_t BgL_envz00_3026, obj_t BgL_nodez00_3027)
{ AN_OBJECT;
{ /* ./Cfa/type.scm 195 */
{ 
BgL_sequencez00_bglt BgL_nodez00_1733;
{ /* ./Cfa/type.scm 196 */
bool_t BgL_auxz00_4086;
BgL_nodez00_1733 = 
(BgL_sequencez00_bglt)(BgL_nodez00_3027); 
{ /* ./Cfa/type.scm 196 */
obj_t BgL_arg5739z00_2074;
BgL_arg5739z00_2074 = 
(((BgL_sequencez00_bglt)CREF(BgL_nodez00_1733))->BgL_nodesz00); 
BgL_auxz00_4086 = 
BGl_typezd2nodeza2z12z62zzcfa_typez00(BgL_arg5739z00_2074); } 
return 
BBOOL(BgL_auxz00_4086);} } } 
}



/* type-node!-closure4664 */
obj_t BGl_typezd2nodez12zd2closure4664z12zzcfa_typez00(obj_t BgL_envz00_3028, obj_t BgL_nodez00_3029)
{ AN_OBJECT;
{ /* ./Cfa/type.scm 189 */
{ 
BgL_closurez00_bglt BgL_nodez00_1725;
BgL_nodez00_1725 = 
(BgL_closurez00_bglt)(BgL_nodez00_3029); 
{ /* ./Cfa/type.scm 190 */
obj_t BgL_arg5729z00_1730;
BgL_arg5729z00_1730 = 
BGl_shapez00zztools_shapez00(
(obj_t)(BgL_nodez00_1725)); 
return 
BGl_internalzd2errorzd2zztools_errorz00(BGl_string6719z00zzcfa_typez00, BGl_string6720z00zzcfa_typez00, BgL_arg5729z00_1730);} } } 
}



/* type-node!-var4662 */
obj_t BGl_typezd2nodez12zd2var4662z12zzcfa_typez00(obj_t BgL_envz00_3030, obj_t BgL_nodez00_3031)
{ AN_OBJECT;
{ /* ./Cfa/type.scm 181 */
{ 
BgL_varz00_bglt BgL_nodez00_1710;
BgL_nodez00_1710 = 
(BgL_varz00_bglt)(BgL_nodez00_3031); 
{ /* ./Cfa/type.scm 183 */
bool_t BgL_test5697z00_1714;
{ /* ./Cfa/type.scm 183 */
bool_t BgL_test5707z00_1718;
{ /* ./Cfa/type.scm 183 */
BgL_variablez00_bglt BgL_arg5717z00_1722;
BgL_arg5717z00_1722 = 
(((BgL_varz00_bglt)CREF(BgL_nodez00_1710))->BgL_variablez00); 
{ /* ./Cfa/type.scm 183 */
obj_t BgL_obj1240z00_2040;
BgL_obj1240z00_2040 = 
(obj_t)(BgL_arg5717z00_1722); 
BgL_test5707z00_1718 = 
BGl_iszd2azf3z21zz__objectz00(BgL_obj1240z00_2040, BGl_globalz00zzast_varz00); } } 
if(BgL_test5707z00_1718)
{ /* ./Cfa/type.scm 183 */
obj_t BgL_auxz00_4104;obj_t BgL_auxz00_4099;
BgL_auxz00_4104 = 
CNST_TABLE_REF(((long)1)); 
{ /* ./Cfa/type.scm 183 */
BgL_globalz00_bglt BgL_obj1168z00_2042;
{ /* ./Cfa/type.scm 183 */
BgL_variablez00_bglt BgL_auxz00_4100;
BgL_auxz00_4100 = 
(((BgL_varz00_bglt)CREF(BgL_nodez00_1710))->BgL_variablez00); 
BgL_obj1168z00_2042 = 
(BgL_globalz00_bglt)(BgL_auxz00_4100); } 
BgL_auxz00_4099 = 
(((BgL_globalz00_bglt)CREF(BgL_obj1168z00_2042))->BgL_importz00); } 
BgL_test5697z00_1714 = 
(BgL_auxz00_4099==BgL_auxz00_4104); }  else 
{ /* ./Cfa/type.scm 183 */
BgL_test5697z00_1714 = ((bool_t)0); } } 
if(BgL_test5697z00_1714)
{ /* ./Cfa/type.scm 184 */
BgL_valuez00_bglt BgL_arg5699z00_1715;BgL_variablez00_bglt BgL_arg5700z00_1716;
{ /* ./Cfa/type.scm 184 */
BgL_variablez00_bglt BgL_arg5703z00_1717;
BgL_arg5703z00_1717 = 
(((BgL_varz00_bglt)CREF(BgL_nodez00_1710))->BgL_variablez00); 
BgL_arg5699z00_1715 = 
(((BgL_variablez00_bglt)CREF(BgL_arg5703z00_1717))->BgL_valuez00); } 
BgL_arg5700z00_1716 = 
(((BgL_varz00_bglt)CREF(BgL_nodez00_1710))->BgL_variablez00); 
{ /* ./Cfa/type.scm 184 */
obj_t BgL_method4644z00_2048;
{ /* ./Cfa/type.scm 184 */
BgL_objectz00_bglt BgL_objz00_2049;
BgL_objz00_2049 = 
(BgL_objectz00_bglt)(BgL_arg5699z00_1715); 
{ /* ./Cfa/type.scm 184 */
long BgL_objzd2classzd2numz00_2050;
BgL_objzd2classzd2numz00_2050 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2049); 
{ /* ./Cfa/type.scm 184 */
obj_t BgL_arg2017z00_2051;
{ /* ./Cfa/type.scm 184 */
int BgL_auxz00_4113;
BgL_auxz00_4113 = 
(int)(((long)1)); 
BgL_arg2017z00_2051 = 
PROCEDURE_REF(BGl_typezd2variablez12zd2envz12zzcfa_typez00, BgL_auxz00_4113); } 
{ /* ./Cfa/type.scm 184 */
int BgL_offsetz00_2054;
BgL_offsetz00_2054 = 
(int)(BgL_objzd2classzd2numz00_2050); 
{ /* ./Cfa/type.scm 184 */
long BgL_offsetz00_2055;
{ /* ./Cfa/type.scm 184 */
long BgL_auxz00_4117;
BgL_auxz00_4117 = 
(long)(BgL_offsetz00_2054); 
BgL_offsetz00_2055 = 
(BgL_auxz00_4117-OBJECT_TYPE); } 
{ /* ./Cfa/type.scm 184 */
long BgL_modz00_2056;
{ /* ./Cfa/type.scm 184 */
int BgL_arg2028z00_2057;
BgL_arg2028z00_2057 = 
(int)(((long)8)); 
{ /* ./Cfa/type.scm 184 */
long BgL_n2z00_2065;
BgL_n2z00_2065 = 
(long)(BgL_arg2028z00_2057); 
BgL_modz00_2056 = 
(BgL_offsetz00_2055/BgL_n2z00_2065); } } 
{ /* ./Cfa/type.scm 184 */
long BgL_restz00_2058;
{ /* ./Cfa/type.scm 184 */
int BgL_arg2024z00_2059;
BgL_arg2024z00_2059 = 
(int)(((long)8)); 
{ /* ./Cfa/type.scm 184 */
long BgL_n2z00_2068;
BgL_n2z00_2068 = 
(long)(BgL_arg2024z00_2059); 
BgL_restz00_2058 = 
(BgL_offsetz00_2055%BgL_n2z00_2068); } } 
{ /* ./Cfa/type.scm 184 */

{ /* ./Cfa/type.scm 184 */
obj_t BgL_bucketz00_2060;
{ /* ./Cfa/type.scm 184 */
int BgL_kz00_2070;
BgL_kz00_2070 = 
(int)(BgL_modz00_2056); 
BgL_bucketz00_2060 = 
VECTOR_REF(BgL_arg2017z00_2051,BgL_kz00_2070); } 
{ /* ./Cfa/type.scm 184 */
int BgL_kz00_2072;
BgL_kz00_2072 = 
(int)(BgL_restz00_2058); 
BgL_method4644z00_2048 = 
VECTOR_REF(BgL_bucketz00_2060,BgL_kz00_2072); } } } } } } } } } } 
return 
PROCEDURE_ENTRY(BgL_method4644z00_2048)(BgL_method4644z00_2048, 
(obj_t)(BgL_arg5699z00_1715), 
(obj_t)(BgL_arg5700z00_1716), BEOA);} }  else 
{ /* ./Cfa/type.scm 183 */
return BFALSE;} } } } 
}



/* type-node!-kwote4660 */
obj_t BGl_typezd2nodez12zd2kwote4660z12zzcfa_typez00(obj_t BgL_envz00_3032, obj_t BgL_nodez00_3033)
{ AN_OBJECT;
{ /* ./Cfa/type.scm 175 */
return BUNSPEC;} 
}



/* type-node!-atom4658 */
obj_t BGl_typezd2nodez12zd2atom4658z12zzcfa_typez00(obj_t BgL_envz00_3034, obj_t BgL_nodez00_3035)
{ AN_OBJECT;
{ /* ./Cfa/type.scm 169 */
return BUNSPEC;} 
}



/* type-variable!-intern-sfun/Cinfo4654 */
obj_t BGl_typezd2variablez12zd2internzd2sfunzf2Cinfo4654z32zzcfa_typez00(obj_t BgL_envz00_3036, obj_t BgL_valuez00_3037, obj_t BgL_variablez00_3038)
{ AN_OBJECT;
{ /* ./Cfa/type.scm 132 */
{ /* ./Cfa/type.scm 133 */
obj_t BgL_res6740z00_3069;
BgL_res6740z00_3069 = 
CNST_TABLE_REF(((long)2)); 
return BgL_res6740z00_3069;} } 
}



/* type-variable!-sexit/Cinfo4652 */
obj_t BGl_typezd2variablez12zd2sexitzf2Cinfo4652ze0zzcfa_typez00(obj_t BgL_envz00_3039, obj_t BgL_valuez00_3040, obj_t BgL_variablez00_3041)
{ AN_OBJECT;
{ /* ./Cfa/type.scm 122 */
{ /* ./Cfa/type.scm 123 */
obj_t BgL_res6741z00_3072;
BgL_res6741z00_3072 = 
CNST_TABLE_REF(((long)2)); 
return BgL_res6741z00_3072;} } 
}



/* type-variable!-cvar/Cinfo4650 */
obj_t BGl_typezd2variablez12zd2cvarzf2Cinfo4650ze0zzcfa_typez00(obj_t BgL_envz00_3042, obj_t BgL_valuez00_3043, obj_t BgL_variablez00_3044)
{ AN_OBJECT;
{ /* ./Cfa/type.scm 115 */
{ 
BgL_cvarzf2cinfozf2_bglt BgL_valuez00_1679;obj_t BgL_variablez00_1680;
BgL_valuez00_1679 = 
(BgL_cvarzf2cinfozf2_bglt)(BgL_valuez00_3043); 
BgL_variablez00_1680 = BgL_variablez00_3044; 
{ /* ./Cfa/type.scm 116 */
obj_t BgL_arg5660z00_2036;
{ /* ./Cfa/type.scm 116 */
BgL_approxz00_bglt BgL_arg5663z00_2037;
{ 
obj_t BgL_auxz00_4137;
{ /* ./Cfa/type.scm 116 */
BgL_objectz00_bglt BgL_auxz00_4138;
BgL_auxz00_4138 = 
(BgL_objectz00_bglt)(BgL_valuez00_1679); 
BgL_auxz00_4137 = 
BGL_OBJECT_WIDENING(BgL_auxz00_4138); } 
BgL_arg5663z00_2037 = 
(((BgL_cvarzf2cinfozf2_bglt)CREF(BgL_auxz00_4137))->BgL_approxz00); } 
BgL_arg5660z00_2036 = 
BGl_getzd2approxzd2typez00zzcfa_typez00(BgL_arg5663z00_2037); } 
return 
BGl_setzd2variablezd2typez12z12zzcfa_typez00(
(BgL_variablez00_bglt)(BgL_variablez00_1680), 
(BgL_typez00_bglt)(BgL_arg5660z00_2036));} } } 
}



/* type-variable!-scnst/Cinfo4648 */
obj_t BGl_typezd2variablez12zd2scnstzf2Cinfo4648ze0zzcfa_typez00(obj_t BgL_envz00_3045, obj_t BgL_valuez00_3046, obj_t BgL_variablez00_3047)
{ AN_OBJECT;
{ /* ./Cfa/type.scm 109 */
{ /* ./Cfa/type.scm 110 */
obj_t BgL_res6742z00_3075;
BgL_res6742z00_3075 = 
CNST_TABLE_REF(((long)2)); 
return BgL_res6742z00_3075;} } 
}



/* type-variable!-svar/Cinfo4646 */
obj_t BGl_typezd2variablez12zd2svarzf2Cinfo4646ze0zzcfa_typez00(obj_t BgL_envz00_3048, obj_t BgL_valuez00_3049, obj_t BgL_variablez00_3050)
{ AN_OBJECT;
{ /* ./Cfa/type.scm 102 */
{ 
BgL_svarzf2cinfozf2_bglt BgL_valuez00_1664;obj_t BgL_variablez00_1665;
BgL_valuez00_1664 = 
(BgL_svarzf2cinfozf2_bglt)(BgL_valuez00_3049); 
BgL_variablez00_1665 = BgL_variablez00_3050; 
{ /* ./Cfa/type.scm 103 */
obj_t BgL_arg5641z00_2032;
{ /* ./Cfa/type.scm 103 */
BgL_approxz00_bglt BgL_arg5644z00_2033;
{ 
obj_t BgL_auxz00_4148;
{ /* ./Cfa/type.scm 103 */
BgL_objectz00_bglt BgL_auxz00_4149;
BgL_auxz00_4149 = 
(BgL_objectz00_bglt)(BgL_valuez00_1664); 
BgL_auxz00_4148 = 
BGL_OBJECT_WIDENING(BgL_auxz00_4149); } 
BgL_arg5644z00_2033 = 
(((BgL_svarzf2cinfozf2_bglt)CREF(BgL_auxz00_4148))->BgL_approxz00); } 
BgL_arg5641z00_2032 = 
BGl_getzd2approxzd2typez00zzcfa_typez00(BgL_arg5644z00_2033); } 
return 
BGl_setzd2variablezd2typez12z12zzcfa_typez00(
(BgL_variablez00_bglt)(BgL_variablez00_1665), 
(BgL_typez00_bglt)(BgL_arg5641z00_2032));} } } 
}



/* type-variable! */
obj_t BGl_typezd2variablez12zc0zzcfa_typez00(BgL_valuez00_bglt BgL_valuez00_4, BgL_variablez00_bglt BgL_variablez00_5)
{ AN_OBJECT;
{ /* ./Cfa/type.scm 93 */
{ /* ./Cfa/type.scm 93 */
obj_t BgL_method4644z00_2895;
{ /* ./Cfa/type.scm 93 */
BgL_objectz00_bglt BgL_objz00_2896;
BgL_objz00_2896 = 
(BgL_objectz00_bglt)(BgL_valuez00_4); 
{ /* ./Cfa/type.scm 93 */
long BgL_objzd2classzd2numz00_2897;
BgL_objzd2classzd2numz00_2897 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2896); 
{ /* ./Cfa/type.scm 93 */
obj_t BgL_arg2017z00_2898;
{ /* ./Cfa/type.scm 93 */
int BgL_auxz00_4160;
BgL_auxz00_4160 = 
(int)(((long)1)); 
BgL_arg2017z00_2898 = 
PROCEDURE_REF(BGl_typezd2variablez12zd2envz12zzcfa_typez00, BgL_auxz00_4160); } 
{ /* ./Cfa/type.scm 93 */
int BgL_offsetz00_2901;
BgL_offsetz00_2901 = 
(int)(BgL_objzd2classzd2numz00_2897); 
{ /* ./Cfa/type.scm 93 */
long BgL_offsetz00_2902;
{ /* ./Cfa/type.scm 93 */
long BgL_auxz00_4164;
BgL_auxz00_4164 = 
(long)(BgL_offsetz00_2901); 
BgL_offsetz00_2902 = 
(BgL_auxz00_4164-OBJECT_TYPE); } 
{ /* ./Cfa/type.scm 93 */
long BgL_modz00_2903;
{ /* ./Cfa/type.scm 93 */
int BgL_arg2028z00_2904;
BgL_arg2028z00_2904 = 
(int)(((long)8)); 
{ /* ./Cfa/type.scm 93 */
long BgL_n2z00_2912;
BgL_n2z00_2912 = 
(long)(BgL_arg2028z00_2904); 
BgL_modz00_2903 = 
(BgL_offsetz00_2902/BgL_n2z00_2912); } } 
{ /* ./Cfa/type.scm 93 */
long BgL_restz00_2905;
{ /* ./Cfa/type.scm 93 */
int BgL_arg2024z00_2906;
BgL_arg2024z00_2906 = 
(int)(((long)8)); 
{ /* ./Cfa/type.scm 93 */
long BgL_n2z00_2915;
BgL_n2z00_2915 = 
(long)(BgL_arg2024z00_2906); 
BgL_restz00_2905 = 
(BgL_offsetz00_2902%BgL_n2z00_2915); } } 
{ /* ./Cfa/type.scm 93 */

{ /* ./Cfa/type.scm 93 */
obj_t BgL_bucketz00_2907;
{ /* ./Cfa/type.scm 93 */
int BgL_kz00_2917;
BgL_kz00_2917 = 
(int)(BgL_modz00_2903); 
BgL_bucketz00_2907 = 
VECTOR_REF(BgL_arg2017z00_2898,BgL_kz00_2917); } 
{ /* ./Cfa/type.scm 93 */
int BgL_kz00_2919;
BgL_kz00_2919 = 
(int)(BgL_restz00_2905); 
BgL_method4644z00_2895 = 
VECTOR_REF(BgL_bucketz00_2907,BgL_kz00_2919); } } } } } } } } } } 
return 
PROCEDURE_ENTRY(BgL_method4644z00_2895)(BgL_method4644z00_2895, 
(obj_t)(BgL_valuez00_4), 
(obj_t)(BgL_variablez00_5), BEOA);} } 
}



/* _type-variable!6124 */
obj_t BGl__typezd2variablez126124zc0zzcfa_typez00(obj_t BgL_envz00_2955, obj_t BgL_valuez00_2956, obj_t BgL_variablez00_2957)
{ AN_OBJECT;
{ /* ./Cfa/type.scm 93 */
return 
BGl_typezd2variablez12zc0zzcfa_typez00(
(BgL_valuez00_bglt)(BgL_valuez00_2956), 
(BgL_variablez00_bglt)(BgL_variablez00_2957));} 
}



/* type-variable!-default4643 */
obj_t BGl_typezd2variablez12zd2default4643z12zzcfa_typez00(BgL_valuez00_bglt BgL_valuez00_6, BgL_variablez00_bglt BgL_variablez00_7)
{ AN_OBJECT;
{ /* ./Cfa/type.scm 15 */
{ /* ./Cfa/type.scm 94 */
BgL_typez00_bglt BgL_typez00_2920;
BgL_typez00_2920 = 
(((BgL_variablez00_bglt)CREF(BgL_variablez00_7))->BgL_typez00); 
{ /* ./Cfa/type.scm 94 */
bool_t BgL_test6030z00_2921;
{ /* ./Cfa/type.scm 94 */
obj_t BgL_obj1088z00_2924;
BgL_obj1088z00_2924 = 
(obj_t)(BgL_typez00_2920); 
BgL_test6030z00_2921 = 
BGl_iszd2azf3z21zz__objectz00(BgL_obj1088z00_2924, BGl_typez00zztype_typez00); } 
if(BgL_test6030z00_2921)
{ /* ./Cfa/type.scm 94 */
return 
CNST_TABLE_REF(((long)2));}  else 
{ /* ./Cfa/type.scm 94 */
BgL_typez00_bglt BgL_arg6032z00_2922;
BgL_arg6032z00_2922 = 
BGl_getzd2defaultzd2typez00zztype_cachez00(); 
return 
BGl_setzd2variablezd2typez12z12zzcfa_typez00(BgL_variablez00_7, BgL_arg6032z00_2922);} } } } 
}



/* _type-variable!-default4643 */
obj_t BGl__typezd2variablez12zd2default4643z12zzcfa_typez00(obj_t BgL_envz00_3051, obj_t BgL_valuez00_3052, obj_t BgL_variablez00_3053)
{ AN_OBJECT;
{ /* ./Cfa/type.scm 15 */
return 
BGl_typezd2variablez12zd2default4643z12zzcfa_typez00(
(BgL_valuez00_bglt)(BgL_valuez00_3052), 
(BgL_variablez00_bglt)(BgL_variablez00_3053));} 
}



/* type-node! */
obj_t BGl_typezd2nodez12zc0zzcfa_typez00(BgL_nodez00_bglt BgL_nodez00_20)
{ AN_OBJECT;
{ /* ./Cfa/type.scm 164 */
{ /* ./Cfa/type.scm 164 */
obj_t BgL_method4656z00_2925;
{ /* ./Cfa/type.scm 164 */
BgL_objectz00_bglt BgL_objz00_2926;
BgL_objz00_2926 = 
(BgL_objectz00_bglt)(BgL_nodez00_20); 
{ /* ./Cfa/type.scm 164 */
long BgL_objzd2classzd2numz00_2927;
BgL_objzd2classzd2numz00_2927 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2926); 
{ /* ./Cfa/type.scm 164 */
obj_t BgL_arg2017z00_2928;
{ /* ./Cfa/type.scm 164 */
int BgL_auxz00_4196;
BgL_auxz00_4196 = 
(int)(((long)1)); 
BgL_arg2017z00_2928 = 
PROCEDURE_REF(BGl_typezd2nodez12zd2envz12zzcfa_typez00, BgL_auxz00_4196); } 
{ /* ./Cfa/type.scm 164 */
int BgL_offsetz00_2931;
BgL_offsetz00_2931 = 
(int)(BgL_objzd2classzd2numz00_2927); 
{ /* ./Cfa/type.scm 164 */
long BgL_offsetz00_2932;
{ /* ./Cfa/type.scm 164 */
long BgL_auxz00_4200;
BgL_auxz00_4200 = 
(long)(BgL_offsetz00_2931); 
BgL_offsetz00_2932 = 
(BgL_auxz00_4200-OBJECT_TYPE); } 
{ /* ./Cfa/type.scm 164 */
long BgL_modz00_2933;
{ /* ./Cfa/type.scm 164 */
int BgL_arg2028z00_2934;
BgL_arg2028z00_2934 = 
(int)(((long)8)); 
{ /* ./Cfa/type.scm 164 */
long BgL_n2z00_2942;
BgL_n2z00_2942 = 
(long)(BgL_arg2028z00_2934); 
BgL_modz00_2933 = 
(BgL_offsetz00_2932/BgL_n2z00_2942); } } 
{ /* ./Cfa/type.scm 164 */
long BgL_restz00_2935;
{ /* ./Cfa/type.scm 164 */
int BgL_arg2024z00_2936;
BgL_arg2024z00_2936 = 
(int)(((long)8)); 
{ /* ./Cfa/type.scm 164 */
long BgL_n2z00_2945;
BgL_n2z00_2945 = 
(long)(BgL_arg2024z00_2936); 
BgL_restz00_2935 = 
(BgL_offsetz00_2932%BgL_n2z00_2945); } } 
{ /* ./Cfa/type.scm 164 */

{ /* ./Cfa/type.scm 164 */
obj_t BgL_bucketz00_2937;
{ /* ./Cfa/type.scm 164 */
int BgL_kz00_2947;
BgL_kz00_2947 = 
(int)(BgL_modz00_2933); 
BgL_bucketz00_2937 = 
VECTOR_REF(BgL_arg2017z00_2928,BgL_kz00_2947); } 
{ /* ./Cfa/type.scm 164 */
int BgL_kz00_2949;
BgL_kz00_2949 = 
(int)(BgL_restz00_2935); 
BgL_method4656z00_2925 = 
VECTOR_REF(BgL_bucketz00_2937,BgL_kz00_2949); } } } } } } } } } } 
return 
PROCEDURE_ENTRY(BgL_method4656z00_2925)(BgL_method4656z00_2925, 
(obj_t)(BgL_nodez00_20), BEOA);} } 
}



/* _type-node!6126 */
obj_t BGl__typezd2nodez126126zc0zzcfa_typez00(obj_t BgL_envz00_2958, obj_t BgL_nodez00_2959)
{ AN_OBJECT;
{ /* ./Cfa/type.scm 164 */
return 
BGl_typezd2nodez12zc0zzcfa_typez00(
(BgL_nodez00_bglt)(BgL_nodez00_2959));} 
}



/* type-node!-default4655 */
obj_t BGl_typezd2nodez12zd2default4655z12zzcfa_typez00(BgL_nodez00_bglt BgL_nodez00_21)
{ AN_OBJECT;
{ /* ./Cfa/type.scm 15 */
{ /* ./Cfa/type.scm 15 */
obj_t BgL_procz00_2950;obj_t BgL_objectz00_2952;
BgL_procz00_2950 = 
CNST_TABLE_REF(((long)3)); 
BgL_objectz00_2952 = 
(obj_t)(BgL_nodez00_21); 
FAILURE(BgL_procz00_2950,BGl_string6721z00zzcfa_typez00,BgL_objectz00_2952);} } 
}



/* _type-node!-default4655 */
obj_t BGl__typezd2nodez12zd2default4655z12zzcfa_typez00(obj_t BgL_envz00_3054, obj_t BgL_nodez00_3055)
{ AN_OBJECT;
{ /* ./Cfa/type.scm 15 */
return 
BGl_typezd2nodez12zd2default4655z12zzcfa_typez00(
(BgL_nodez00_bglt)(BgL_nodez00_3055));} 
}



/* imported-modules-init */
obj_t BGl_importedzd2moduleszd2initz00zzcfa_typez00()
{ AN_OBJECT;
{ /* ./Cfa/type.scm 15 */
BGl_modulezd2initializa7ationz75zztype_typez00(((long)19090), "cfa_type"); 
BGl_modulezd2initializa7ationz75zztype_cachez00(((long)25848), "cfa_type"); 
BGl_modulezd2initializa7ationz75zztools_shapez00(((long)30833), "cfa_type"); 
BGl_modulezd2initializa7ationz75zztools_errorz00(((long)25566), "cfa_type"); 
BGl_modulezd2initializa7ationz75zzengine_paramz00(((long)14260), "cfa_type"); 
BGl_modulezd2initializa7ationz75zzast_varz00(((long)44246), "cfa_type"); 
BGl_modulezd2initializa7ationz75zzast_nodez00(((long)50868), "cfa_type"); 
BGl_modulezd2initializa7ationz75zzcfa_infoz00(((long)2565), "cfa_type"); 
BGl_modulezd2initializa7ationz75zzcfa_info2z00(((long)0), "cfa_type"); 
BGl_modulezd2initializa7ationz75zzcfa_info3z00(((long)0), "cfa_type"); 
BGl_modulezd2initializa7ationz75zzcfa_setz00(((long)21480), "cfa_type"); 
BGl_modulezd2initializa7ationz75zzcfa_tvectorz00(((long)20474), "cfa_type"); 
return 
BGl_modulezd2initializa7ationz75zztvector_tvectorz00(((long)32501), "cfa_type");} 
}

