/*===========================================================================*/
/*   (Reduce/typec.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 Reduce/typec.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_tclassz00_bgl {
   obj_t BgL_itszd2superzd2;
   obj_t BgL_slotsz00;
   struct BgL_globalz00_bgl * BgL_holderz00;
   obj_t BgL_wideningz00;
   long BgL_depthz00;
   bool_t BgL_finalzf3zf3;
   obj_t BgL_constructorz00;
   obj_t BgL_virtualzd2slotszd2numberz00;
   bool_t BgL_abstractzf3zf3;
   obj_t BgL_widezd2typezd2;
} *BgL_tclassz00_bglt;

typedef struct BgL_jclassz00_bgl {
   obj_t BgL_itszd2superzd2;
   obj_t BgL_slotsz00;
   obj_t BgL_packagez00;
} *BgL_jclassz00_bglt;

typedef struct BgL_wclassz00_bgl {
   obj_t BgL_itszd2classzd2;
} *BgL_wclassz00_bglt;


static obj_t BGl_methodzd2initzd2zzreduce_typecz00();
extern obj_t BGl_za2pairzd2nilza2zd2zztype_cachez00;
BGL_IMPORT obj_t open_input_string(obj_t);
static obj_t BGl_nodezd2typecz12zd2makezd2box2998zc0zzreduce_typecz00(obj_t, obj_t);
extern obj_t BGl_letzd2funzd2zzast_nodez00;
static obj_t BGl__nodezd2typecz123963zc0zzreduce_typecz00(obj_t, obj_t);
static obj_t BGl_nodezd2typecz12zd2fail2985z12zzreduce_typecz00(obj_t, obj_t);
static obj_t BGl__nodezd2typecz12zd2default2955z12zzreduce_typecz00(obj_t, obj_t);
BGL_IMPORT obj_t BGl_readz00zz__readerz00(obj_t);
BGL_IMPORT bool_t BGl_iszd2azf3z21zz__objectz00(obj_t, obj_t);
extern BgL_atomz00_bglt BGl_makezd2atomzd2zzast_nodez00(obj_t, BgL_typez00_bglt, obj_t);
extern obj_t BGl_lvtypezd2nodez12zc0zzast_lvtypez00(BgL_nodez00_bglt);
static obj_t BGl_nodezd2typecz12zd2var2964z12zzreduce_typecz00(obj_t, obj_t);
static long BGl_za2typezd2checkszd2remainingza2z00zzreduce_typecz00;
BGL_IMPORT obj_t BGl_addzd2genericz12zc0zz__objectz00(obj_t, obj_t);
static BgL_nodez00_bglt BGl_nodezd2typecz12zc0zzreduce_typecz00(BgL_nodez00_bglt);
extern obj_t BGl_letzd2varzd2zzast_nodez00;
extern obj_t BGl_kwotez00zzast_nodez00;
extern BgL_typez00_bglt BGl_typeofz00zztype_typeofz00(BgL_nodez00_bglt);
extern obj_t BGl_typez00zztype_typez00;
extern obj_t BGl_castz00zzast_nodez00;
BGL_EXPORTED_DECL obj_t BGl_reducezd2typezd2checkz12z12zzreduce_typecz00(obj_t);
extern obj_t BGl_boxzd2refzd2zzast_nodez00;
static obj_t BGl_nodezd2typecz12zd2jumpzd2exzd2it2995z12zzreduce_typecz00(obj_t, obj_t);
extern obj_t BGl_varz00zzast_nodez00;
static obj_t BGl_cnstzd2initzd2zzreduce_typecz00();
extern obj_t BGl_atomz00zzast_nodez00;
extern obj_t BGl_failz00zzast_nodez00;
extern obj_t BGl_funcallz00zzast_nodez00;
static obj_t BGl_nodezd2typecz12zd2atom2959z12zzreduce_typecz00(obj_t, obj_t);
static obj_t BGl_importedzd2moduleszd2initz00zzreduce_typecz00();
extern obj_t BGl_makezd2boxzd2zzast_nodez00;
static obj_t BGl_nodezd2typecz12zd2extern2975z12zzreduce_typecz00(obj_t, obj_t);
extern BgL_nodez00_bglt BGl_coercez12z12zzcoerce_coercez00(BgL_nodez00_bglt, obj_t, BgL_typez00_bglt);
static obj_t BGl_nodezd2typecz12zd2letzd2fun2989zc0zzreduce_typecz00(obj_t, obj_t);
BGL_IMPORT obj_t BGl_addzd2methodz12zc0zz__objectz00(obj_t, obj_t, obj_t);
extern obj_t BGl_za2bnilza2z00zztype_cachez00;
static obj_t BGl_nodezd2typecz12zd2setzd2exzd2it2993z12zzreduce_typecz00(obj_t, obj_t);
extern obj_t BGl_selectz00zzast_nodez00;
static obj_t BGl_nodezd2typecza2z12z62zzreduce_typecz00(obj_t);
static obj_t BGl_toplevelzd2initzd2zzreduce_typecz00();
extern obj_t BGl_appzd2lyzd2zzast_nodez00;
extern obj_t BGl_boxzd2setz12zc0zzast_nodez00;
static obj_t BGl_nodezd2typecz12zd2setq2979z12zzreduce_typecz00(obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zzreduce_typecz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_tracez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_shapez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_speekz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_errorz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztype_typez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztype_cachez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztype_typeofz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzcoerce_coercez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzeffect_effectz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_varz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_nodez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_lvtypez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzobject_classz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__objectz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__readerz00(long, char *);
static obj_t BGl_nodezd2typecz12zd2letzd2var2991zc0zzreduce_typecz00(obj_t, obj_t);
extern bool_t BGl_sidezd2effectzf3z21zzeffect_effectz00(BgL_nodez00_bglt);
extern obj_t BGl_verbosez00zztools_speekz00(obj_t, obj_t);
static obj_t BGl_nodezd2typecz12zd2funcall2973z12zzreduce_typecz00(obj_t, obj_t);
static obj_t BGl_nodezd2typecz12zd2closure2967z12zzreduce_typecz00(obj_t, obj_t);
extern obj_t BGl_za2epairza2z00zztype_cachez00;
extern obj_t BGl_setzd2exzd2itz00zzast_nodez00;
static obj_t BGl_nodezd2typecz12zd2kwote2961z12zzreduce_typecz00(obj_t, obj_t);
static obj_t BGl_nodezd2typecz12zd2appzd2ly2971zc0zzreduce_typecz00(obj_t, obj_t);
static obj_t BGl_nodezd2typecz12zd2boxzd2setz123000zd2zzreduce_typecz00(obj_t, obj_t);
extern obj_t BGl_jumpzd2exzd2itz00zzast_nodez00;
static obj_t BGl_nodezd2typecz12zd2sequence2969z12zzreduce_typecz00(obj_t, obj_t);
static obj_t BGl_nodezd2typecz12zd2app3004z12zzreduce_typecz00(obj_t, obj_t);
static long BGl_za2typezd2checkszd2removedza2z00zzreduce_typecz00;
extern obj_t BGl_externz00zzast_nodez00;
extern obj_t BGl_conditionalz00zzast_nodez00;
extern obj_t BGl_sequencez00zzast_nodez00;
static BgL_nodez00_bglt BGl_nodezd2typecz12zd2default2955z12zzreduce_typecz00(BgL_nodez00_bglt);
extern obj_t BGl_appz00zzast_nodez00;
static obj_t BGl_nodezd2typecz12zd2cast2977z12zzreduce_typecz00(obj_t, obj_t);
static obj_t BGl_nodezd2typecz12zd2conditional2982z12zzreduce_typecz00(obj_t, obj_t);
extern obj_t BGl_closurez00zzast_nodez00;
static obj_t BGl_nodezd2typecz12zd2boxzd2ref3002zc0zzreduce_typecz00(obj_t, obj_t);
static obj_t BGl__reducezd2typezd2checkz12z12zzreduce_typecz00(obj_t, obj_t);
static obj_t BGl_nodezd2typecz12zd2select2987z12zzreduce_typecz00(obj_t, obj_t);
extern obj_t BGl_za2objza2z00zztype_cachez00;
static obj_t BGl_requirezd2initializa7ationz75zzreduce_typecz00 = BUNSPEC;
extern obj_t BGl_za2pairza2z00zztype_cachez00;
static obj_t BGl_libraryzd2moduleszd2initz00zzreduce_typecz00();
extern bool_t BGl_typezd2subclasszf3z21zzobject_classz00(BgL_typez00_bglt, BgL_typez00_bglt);
extern obj_t BGl_setqz00zzast_nodez00;
static obj_t __cnst[ 2 ] ;


DEFINE_STATIC_PROCEDURE( BGl_nodezd2typecz12zd2default2955zd2envzc0zzreduce_typecz00, BgL_bgl__nodeza7d2typecza712za7d2default2955za712za7za7reduce_typecza7004513za7, BGl__nodezd2typecz12zd2default2955z12zzreduce_typecz00, 0L, 1 );
DEFINE_EXPORT_PROCEDURE( BGl_reducezd2typezd2checkz12zd2envzc0zzreduce_typecz00, BgL_bgl__reduceza7d2typeza7d2checkza712za712za7za7reduce_typecza7004514za7, BGl__reducezd2typezd2checkz12z12zzreduce_typecz00, 0L, 1 );
DEFINE_STATIC_GENERIC( BGl_nodezd2typecz12zd2envz12zzreduce_typecz00, BgL_bgl__nodeza7d2typecza7123963za7c0za7za7reduce_typecza7004515z00, BGl__nodezd2typecz123963zc0zzreduce_typecz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc4461z00zzreduce_typecz00, BgL_bgl_nodeza7d2typecza712za7d2atom2959za712za7za7reduce_typecza7004516za7, BGl_nodezd2typecz12zd2atom2959z12zzreduce_typecz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc4462z00zzreduce_typecz00, BgL_bgl_nodeza7d2typecza712za7d2kwote2961za712za7za7reduce_typecza7004517za7, BGl_nodezd2typecz12zd2kwote2961z12zzreduce_typecz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc4463z00zzreduce_typecz00, BgL_bgl_nodeza7d2typecza712za7d2var2964za712za7za7reduce_typecza7004518za7, BGl_nodezd2typecz12zd2var2964z12zzreduce_typecz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc4464z00zzreduce_typecz00, BgL_bgl_nodeza7d2typecza712za7d2closure2967za712za7za7reduce_typecza7004519za7, BGl_nodezd2typecz12zd2closure2967z12zzreduce_typecz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc4465z00zzreduce_typecz00, BgL_bgl_nodeza7d2typecza712za7d2sequence2969za712za7za7reduce_typecza7004520za7, BGl_nodezd2typecz12zd2sequence2969z12zzreduce_typecz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc4466z00zzreduce_typecz00, BgL_bgl_nodeza7d2typecza712za7d2appza7d2ly2971za7c0za7za7reduce_typecza7004521z00, BGl_nodezd2typecz12zd2appzd2ly2971zc0zzreduce_typecz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc4467z00zzreduce_typecz00, BgL_bgl_nodeza7d2typecza712za7d2funcall2973za712za7za7reduce_typecza7004522za7, BGl_nodezd2typecz12zd2funcall2973z12zzreduce_typecz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc4468z00zzreduce_typecz00, BgL_bgl_nodeza7d2typecza712za7d2extern2975za712za7za7reduce_typecza7004523za7, BGl_nodezd2typecz12zd2extern2975z12zzreduce_typecz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc4470z00zzreduce_typecz00, BgL_bgl_nodeza7d2typecza712za7d2setq2979za712za7za7reduce_typecza7004524za7, BGl_nodezd2typecz12zd2setq2979z12zzreduce_typecz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc4469z00zzreduce_typecz00, BgL_bgl_nodeza7d2typecza712za7d2cast2977za712za7za7reduce_typecza7004525za7, BGl_nodezd2typecz12zd2cast2977z12zzreduce_typecz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc4471z00zzreduce_typecz00, BgL_bgl_nodeza7d2typecza712za7d2conditional2982za712za7za7reduce_typecza7004526za7, BGl_nodezd2typecz12zd2conditional2982z12zzreduce_typecz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc4472z00zzreduce_typecz00, BgL_bgl_nodeza7d2typecza712za7d2fail2985za712za7za7reduce_typecza7004527za7, BGl_nodezd2typecz12zd2fail2985z12zzreduce_typecz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc4473z00zzreduce_typecz00, BgL_bgl_nodeza7d2typecza712za7d2select2987za712za7za7reduce_typecza7004528za7, BGl_nodezd2typecz12zd2select2987z12zzreduce_typecz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc4474z00zzreduce_typecz00, BgL_bgl_nodeza7d2typecza712za7d2letza7d2fun2989za7c0za7za7reduce_typecza7004529z00, BGl_nodezd2typecz12zd2letzd2fun2989zc0zzreduce_typecz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc4475z00zzreduce_typecz00, BgL_bgl_nodeza7d2typecza712za7d2letza7d2var2991za7c0za7za7reduce_typecza7004530z00, BGl_nodezd2typecz12zd2letzd2var2991zc0zzreduce_typecz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc4476z00zzreduce_typecz00, BgL_bgl_nodeza7d2typecza712za7d2setza7d2exza7d2it2993za712za7za7reduce_typecza7004531za7, BGl_nodezd2typecz12zd2setzd2exzd2it2993z12zzreduce_typecz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc4477z00zzreduce_typecz00, BgL_bgl_nodeza7d2typecza712za7d2jumpza7d2exza7d2it2995za712za7za7reduce_typecza7004532za7, BGl_nodezd2typecz12zd2jumpzd2exzd2it2995z12zzreduce_typecz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc4478z00zzreduce_typecz00, BgL_bgl_nodeza7d2typecza712za7d2makeza7d2box2998za7c0za7za7reduce_typecza7004533z00, BGl_nodezd2typecz12zd2makezd2box2998zc0zzreduce_typecz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc4480z00zzreduce_typecz00, BgL_bgl_nodeza7d2typecza712za7d2boxza7d2ref3002za7c0za7za7reduce_typecza7004534z00, BGl_nodezd2typecz12zd2boxzd2ref3002zc0zzreduce_typecz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc4479z00zzreduce_typecz00, BgL_bgl_nodeza7d2typecza712za7d2boxza7d2setza7123000za7d2za7za7reduce_typecza7004535za7, BGl_nodezd2typecz12zd2boxzd2setz123000zd2zzreduce_typecz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc4481z00zzreduce_typecz00, BgL_bgl_nodeza7d2typecza712za7d2app3004za712za7za7reduce_typecza7004536za7, BGl_nodezd2typecz12zd2app3004z12zzreduce_typecz00, 0L, 1 );
DEFINE_STRING( BGl_string4483z00zzreduce_typecz00, BgL_bgl_string4483za700za7za7reduce_typecza7004537z00, "node-typec!-default2955 done ", 29 );
DEFINE_STRING( BGl_string4482z00zzreduce_typecz00, BgL_bgl_string4482za700za7za7reduce_typecza7004538z00, "No method for this object", 25 );
DEFINE_STRING( BGl_string4460z00zzreduce_typecz00, BgL_bgl_string4460za700za7za7reduce_typecza7004539z00, "(remaining : ", 13 );
DEFINE_STRING( BGl_string4459z00zzreduce_typecz00, BgL_bgl_string4459za700za7za7reduce_typecza7004540z00, "(removed : ", 11 );
DEFINE_STRING( BGl_string4458z00zzreduce_typecz00, BgL_bgl_string4458za700za7za7reduce_typecza7004541z00, ")\t", 2 );
DEFINE_STRING( BGl_string4457z00zzreduce_typecz00, BgL_bgl_string4457za700za7za7reduce_typecza7004542z00, "      type check             ", 29 );



/* module-initialization */
BGL_EXPORTED_DEF obj_t BGl_modulezd2initializa7ationz75zzreduce_typecz00(long BgL_checksumz00_2372, char * BgL_fromz00_2373)
{ AN_OBJECT;
{ 
if(
CBOOL(BGl_requirezd2initializa7ationz75zzreduce_typecz00))
{ 
BGl_requirezd2initializa7ationz75zzreduce_typecz00 = 
BBOOL(((bool_t)0)); 
BGl_libraryzd2moduleszd2initz00zzreduce_typecz00(); 
BGl_cnstzd2initzd2zzreduce_typecz00(); 
BGl_importedzd2moduleszd2initz00zzreduce_typecz00(); 
BGl_methodzd2initzd2zzreduce_typecz00(); 
BGl_toplevelzd2initzd2zzreduce_typecz00(); 
return BUNSPEC;}  else 
{ 
return BUNSPEC;} } 
}



/* library-modules-init */
obj_t BGl_libraryzd2moduleszd2initz00zzreduce_typecz00()
{ AN_OBJECT;
{ /* ./Reduce/typec.scm 15 */
BGl_modulezd2initializa7ationz75zz__readerz00(((long)0), "reduce_typec"); 
BGl_modulezd2initializa7ationz75zz__objectz00(((long)0), "reduce_typec"); 
return BUNSPEC;} 
}



/* cnst-init */
obj_t BGl_cnstzd2initzd2zzreduce_typecz00()
{ AN_OBJECT;
{ /* ./Reduce/typec.scm 15 */
{ /* ./Reduce/typec.scm 15 */
obj_t BgL_cportz00_2357;
BgL_cportz00_2357 = 
open_input_string(BGl_string4483z00zzreduce_typecz00); 
{ 
long BgL_iz00_2358;
BgL_iz00_2358 = ((long)1); 
BgL_loopz00_2359:
{ /* ./Reduce/typec.scm 15 */
bool_t BgL_test4485z00_2360;
BgL_test4485z00_2360 = 
(BgL_iz00_2358==((long)-1)); 
if(BgL_test4485z00_2360)
{ /* ./Reduce/typec.scm 15 */
return BUNSPEC;}  else 
{ /* ./Reduce/typec.scm 15 */
{ /* ./Reduce/typec.scm 15 */
obj_t BgL_arg4487z00_2361;
{ /* ./Reduce/typec.scm 15 */
obj_t BgL_list4490z00_2362;
BgL_list4490z00_2362 = 
MAKE_PAIR(BgL_cportz00_2357, BNIL); 
BgL_arg4487z00_2361 = 
BGl_readz00zz__readerz00(BgL_list4490z00_2362); } 
{ /* ./Reduce/typec.scm 15 */
int BgL_auxz00_2389;
BgL_auxz00_2389 = 
(int)(BgL_iz00_2358); 
CNST_TABLE_SET(BgL_auxz00_2389, BgL_arg4487z00_2361); } } 
{ /* ./Reduce/typec.scm 15 */
int BgL_auxz00_2363;
{ /* ./Reduce/typec.scm 15 */
long BgL_auxz00_2392;
BgL_auxz00_2392 = 
(BgL_iz00_2358-((long)1)); 
BgL_auxz00_2363 = 
(int)(BgL_auxz00_2392); } 
{ 
long BgL_iz00_2395;
BgL_iz00_2395 = 
(long)(BgL_auxz00_2363); 
BgL_iz00_2358 = BgL_iz00_2395; 
goto BgL_loopz00_2359;} } } } } } } 
}



/* toplevel-init */
obj_t BGl_toplevelzd2initzd2zzreduce_typecz00()
{ AN_OBJECT;
{ /* ./Reduce/typec.scm 15 */
BGl_za2typezd2checkszd2remainingza2z00zzreduce_typecz00 = ((long)0); 
BGl_za2typezd2checkszd2removedza2z00zzreduce_typecz00 = ((long)0); 
return BUNSPEC;} 
}



/* reduce-type-check! */
BGL_EXPORTED_DEF obj_t BGl_reducezd2typezd2checkz12z12zzreduce_typecz00(obj_t BgL_globalsz00_1)
{ AN_OBJECT;
{ /* ./Reduce/typec.scm 34 */
{ /* ./Reduce/typec.scm 35 */
obj_t BgL_list3006z00_733;
BgL_list3006z00_733 = 
MAKE_PAIR(BGl_string4457z00zzreduce_typecz00, BNIL); 
BGl_verbosez00zztools_speekz00(
BINT(((long)2)), BgL_list3006z00_733); } 
{ 
obj_t BgL_l2912z00_734;
BgL_l2912z00_734 = BgL_globalsz00_1; 
BgL_forzd2each2913zd2_735:
{ /* ./Reduce/typec.scm 36 */
bool_t BgL_test3009z00_736;
BgL_test3009z00_736 = 
PAIRP(BgL_l2912z00_734); 
if(BgL_test3009z00_736)
{ /* ./Reduce/typec.scm 36 */
{ /* ./Reduce/typec.scm 37 */
obj_t BgL_globalz00_737;
BgL_globalz00_737 = 
CAR(BgL_l2912z00_734); 
{ /* ./Reduce/typec.scm 37 */
BgL_valuez00_bglt BgL_funz00_738;
{ /* ./Reduce/typec.scm 37 */
BgL_variablez00_bglt BgL_obj1100z00_1376;
BgL_obj1100z00_1376 = 
(BgL_variablez00_bglt)(BgL_globalz00_737); 
BgL_funz00_738 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1100z00_1376))->BgL_valuez00); } 
{ /* ./Reduce/typec.scm 37 */
obj_t BgL_nodez00_739;
{ /* ./Reduce/typec.scm 38 */
BgL_sfunz00_bglt BgL_obj1370z00_1377;
BgL_obj1370z00_1377 = 
(BgL_sfunz00_bglt)(BgL_funz00_738); 
BgL_nodez00_739 = 
(((BgL_sfunz00_bglt)CREF(BgL_obj1370z00_1377))->BgL_bodyz00); } 
{ /* ./Reduce/typec.scm 38 */

{ /* ./Reduce/typec.scm 39 */
BgL_nodez00_bglt BgL_arg3011z00_740;
{ /* ./Reduce/typec.scm 39 */
BgL_nodez00_bglt BgL_res3878z00_1404;
{ /* ./Reduce/typec.scm 39 */
BgL_nodez00_bglt BgL_nodez00_1378;
BgL_nodez00_1378 = 
(BgL_nodez00_bglt)(BgL_nodez00_739); 
{ /* ./Reduce/typec.scm 39 */
obj_t BgL_method2956z00_1379;
{ /* ./Reduce/typec.scm 39 */
BgL_objectz00_bglt BgL_objz00_1380;
BgL_objz00_1380 = 
(BgL_objectz00_bglt)(BgL_nodez00_1378); 
{ /* ./Reduce/typec.scm 39 */
long BgL_objzd2classzd2numz00_1381;
BgL_objzd2classzd2numz00_1381 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1380); 
{ /* ./Reduce/typec.scm 39 */
obj_t BgL_arg2017z00_1382;
{ /* ./Reduce/typec.scm 39 */
int BgL_auxz00_2410;
BgL_auxz00_2410 = 
(int)(((long)1)); 
BgL_arg2017z00_1382 = 
PROCEDURE_REF(BGl_nodezd2typecz12zd2envz12zzreduce_typecz00, BgL_auxz00_2410); } 
{ /* ./Reduce/typec.scm 39 */
int BgL_offsetz00_1385;
BgL_offsetz00_1385 = 
(int)(BgL_objzd2classzd2numz00_1381); 
{ /* ./Reduce/typec.scm 39 */
long BgL_offsetz00_1386;
{ /* ./Reduce/typec.scm 39 */
long BgL_auxz00_2414;
BgL_auxz00_2414 = 
(long)(BgL_offsetz00_1385); 
BgL_offsetz00_1386 = 
(BgL_auxz00_2414-OBJECT_TYPE); } 
{ /* ./Reduce/typec.scm 39 */
long BgL_modz00_1387;
{ /* ./Reduce/typec.scm 39 */
int BgL_arg2028z00_1388;
BgL_arg2028z00_1388 = 
(int)(((long)8)); 
{ /* ./Reduce/typec.scm 39 */
long BgL_n2z00_1396;
BgL_n2z00_1396 = 
(long)(BgL_arg2028z00_1388); 
BgL_modz00_1387 = 
(BgL_offsetz00_1386/BgL_n2z00_1396); } } 
{ /* ./Reduce/typec.scm 39 */
long BgL_restz00_1389;
{ /* ./Reduce/typec.scm 39 */
int BgL_arg2024z00_1390;
BgL_arg2024z00_1390 = 
(int)(((long)8)); 
{ /* ./Reduce/typec.scm 39 */
long BgL_n2z00_1399;
BgL_n2z00_1399 = 
(long)(BgL_arg2024z00_1390); 
BgL_restz00_1389 = 
(BgL_offsetz00_1386%BgL_n2z00_1399); } } 
{ /* ./Reduce/typec.scm 39 */

{ /* ./Reduce/typec.scm 39 */
obj_t BgL_bucketz00_1391;
{ /* ./Reduce/typec.scm 39 */
int BgL_kz00_1401;
BgL_kz00_1401 = 
(int)(BgL_modz00_1387); 
BgL_bucketz00_1391 = 
VECTOR_REF(BgL_arg2017z00_1382,BgL_kz00_1401); } 
{ /* ./Reduce/typec.scm 39 */
int BgL_kz00_1403;
BgL_kz00_1403 = 
(int)(BgL_restz00_1389); 
BgL_method2956z00_1379 = 
VECTOR_REF(BgL_bucketz00_1391,BgL_kz00_1403); } } } } } } } } } } 
{ /* ./Reduce/typec.scm 39 */
obj_t BgL_auxz00_2427;
BgL_auxz00_2427 = 
PROCEDURE_ENTRY(BgL_method2956z00_1379)(BgL_method2956z00_1379, 
(obj_t)(BgL_nodez00_1378), BEOA); 
BgL_res3878z00_1404 = 
(BgL_nodez00_bglt)(BgL_auxz00_2427); } } } 
BgL_arg3011z00_740 = BgL_res3878z00_1404; } 
{ /* ./Reduce/typec.scm 39 */
BgL_sfunz00_bglt BgL_obj1373z00_1405;obj_t BgL_val1371z00_1406;
BgL_obj1373z00_1405 = 
(BgL_sfunz00_bglt)(BgL_funz00_738); 
BgL_val1371z00_1406 = 
(obj_t)(BgL_arg3011z00_740); 
((((BgL_sfunz00_bglt)CREF(BgL_obj1373z00_1405))->BgL_bodyz00) = ((obj_t)BgL_val1371z00_1406), BUNSPEC); } } BUNSPEC; } } } } 
{ /* ./Reduce/typec.scm 36 */
obj_t BgL_arg3018z00_741;
BgL_arg3018z00_741 = 
CDR(BgL_l2912z00_734); 
{ 
obj_t BgL_l2912z00_2436;
BgL_l2912z00_2436 = BgL_arg3018z00_741; 
BgL_l2912z00_734 = BgL_l2912z00_2436; 
goto BgL_forzd2each2913zd2_735;} } }  else 
{ /* ./Reduce/typec.scm 36 */((bool_t)1); } } } 
{ /* ./Reduce/typec.scm 42 */
obj_t BgL_list3023z00_742;
{ /* ./Reduce/typec.scm 42 */
obj_t BgL_arg3026z00_744;
{ /* ./Reduce/typec.scm 42 */
obj_t BgL_arg3029z00_745;
BgL_arg3029z00_745 = 
MAKE_PAIR(BGl_string4458z00zzreduce_typecz00, BNIL); 
{ /* ./Reduce/typec.scm 42 */
obj_t BgL_auxz00_2438;
BgL_auxz00_2438 = 
BINT(BGl_za2typezd2checkszd2removedza2z00zzreduce_typecz00); 
BgL_arg3026z00_744 = 
MAKE_PAIR(BgL_auxz00_2438, BgL_arg3029z00_745); } } 
BgL_list3023z00_742 = 
MAKE_PAIR(BGl_string4459z00zzreduce_typecz00, BgL_arg3026z00_744); } 
BGl_verbosez00zztools_speekz00(
BINT(((long)2)), BgL_list3023z00_742); } 
{ /* ./Reduce/typec.scm 43 */
obj_t BgL_list3033z00_746;
{ /* ./Reduce/typec.scm 43 */
obj_t BgL_arg3036z00_748;
{ /* ./Reduce/typec.scm 43 */
obj_t BgL_arg3039z00_749;
{ /* ./Reduce/typec.scm 43 */
obj_t BgL_arg3042z00_750;
{ /* ./Reduce/typec.scm 43 */
obj_t BgL_auxz00_2444;
BgL_auxz00_2444 = 
BCHAR(((unsigned char)'\n')); 
BgL_arg3042z00_750 = 
MAKE_PAIR(BgL_auxz00_2444, BNIL); } 
{ /* ./Reduce/typec.scm 43 */
obj_t BgL_auxz00_2447;
BgL_auxz00_2447 = 
BCHAR(((unsigned char)')')); 
BgL_arg3039z00_749 = 
MAKE_PAIR(BgL_auxz00_2447, BgL_arg3042z00_750); } } 
{ /* ./Reduce/typec.scm 43 */
obj_t BgL_auxz00_2450;
BgL_auxz00_2450 = 
BINT(BGl_za2typezd2checkszd2remainingza2z00zzreduce_typecz00); 
BgL_arg3036z00_748 = 
MAKE_PAIR(BgL_auxz00_2450, BgL_arg3039z00_749); } } 
BgL_list3033z00_746 = 
MAKE_PAIR(BGl_string4460z00zzreduce_typecz00, BgL_arg3036z00_748); } 
BGl_verbosez00zztools_speekz00(
BINT(((long)2)), BgL_list3033z00_746); } 
return BgL_globalsz00_1;} 
}



/* _reduce-type-check! */
obj_t BGl__reducezd2typezd2checkz12z12zzreduce_typecz00(obj_t BgL_envz00_2288, obj_t BgL_globalsz00_2289)
{ AN_OBJECT;
{ /* ./Reduce/typec.scm 34 */
return 
BGl_reducezd2typezd2checkz12z12zzreduce_typecz00(BgL_globalsz00_2289);} 
}



/* node-typec*! */
obj_t BGl_nodezd2typecza2z12z62zzreduce_typecz00(obj_t BgL_nodeza2za2_24)
{ AN_OBJECT;
{ /* ./Reduce/typec.scm 233 */
{ 
obj_t BgL_nodeza2za2_751;
BgL_nodeza2za2_751 = BgL_nodeza2za2_24; 
BgL_loopz00_752:
{ /* ./Reduce/typec.scm 235 */
bool_t BgL_test3046z00_753;
BgL_test3046z00_753 = 
NULLP(BgL_nodeza2za2_751); 
if(BgL_test3046z00_753)
{ /* ./Reduce/typec.scm 235 */
return 
CNST_TABLE_REF(((long)0));}  else 
{ /* ./Reduce/typec.scm 235 */
{ /* ./Reduce/typec.scm 238 */
BgL_nodez00_bglt BgL_arg3048z00_754;
{ /* ./Reduce/typec.scm 238 */
obj_t BgL_arg3051z00_755;
BgL_arg3051z00_755 = 
CAR(BgL_nodeza2za2_751); 
{ /* ./Reduce/typec.scm 238 */
BgL_nodez00_bglt BgL_res3881z00_1436;
{ /* ./Reduce/typec.scm 238 */
BgL_nodez00_bglt BgL_nodez00_1410;
BgL_nodez00_1410 = 
(BgL_nodez00_bglt)(BgL_arg3051z00_755); 
{ /* ./Reduce/typec.scm 238 */
obj_t BgL_method2956z00_1411;
{ /* ./Reduce/typec.scm 238 */
BgL_objectz00_bglt BgL_objz00_1412;
BgL_objz00_1412 = 
(BgL_objectz00_bglt)(BgL_nodez00_1410); 
{ /* ./Reduce/typec.scm 238 */
long BgL_objzd2classzd2numz00_1413;
BgL_objzd2classzd2numz00_1413 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1412); 
{ /* ./Reduce/typec.scm 238 */
obj_t BgL_arg2017z00_1414;
{ /* ./Reduce/typec.scm 238 */
int BgL_auxz00_2464;
BgL_auxz00_2464 = 
(int)(((long)1)); 
BgL_arg2017z00_1414 = 
PROCEDURE_REF(BGl_nodezd2typecz12zd2envz12zzreduce_typecz00, BgL_auxz00_2464); } 
{ /* ./Reduce/typec.scm 238 */
int BgL_offsetz00_1417;
BgL_offsetz00_1417 = 
(int)(BgL_objzd2classzd2numz00_1413); 
{ /* ./Reduce/typec.scm 238 */
long BgL_offsetz00_1418;
{ /* ./Reduce/typec.scm 238 */
long BgL_auxz00_2468;
BgL_auxz00_2468 = 
(long)(BgL_offsetz00_1417); 
BgL_offsetz00_1418 = 
(BgL_auxz00_2468-OBJECT_TYPE); } 
{ /* ./Reduce/typec.scm 238 */
long BgL_modz00_1419;
{ /* ./Reduce/typec.scm 238 */
int BgL_arg2028z00_1420;
BgL_arg2028z00_1420 = 
(int)(((long)8)); 
{ /* ./Reduce/typec.scm 238 */
long BgL_n2z00_1428;
BgL_n2z00_1428 = 
(long)(BgL_arg2028z00_1420); 
BgL_modz00_1419 = 
(BgL_offsetz00_1418/BgL_n2z00_1428); } } 
{ /* ./Reduce/typec.scm 238 */
long BgL_restz00_1421;
{ /* ./Reduce/typec.scm 238 */
int BgL_arg2024z00_1422;
BgL_arg2024z00_1422 = 
(int)(((long)8)); 
{ /* ./Reduce/typec.scm 238 */
long BgL_n2z00_1431;
BgL_n2z00_1431 = 
(long)(BgL_arg2024z00_1422); 
BgL_restz00_1421 = 
(BgL_offsetz00_1418%BgL_n2z00_1431); } } 
{ /* ./Reduce/typec.scm 238 */

{ /* ./Reduce/typec.scm 238 */
obj_t BgL_bucketz00_1423;
{ /* ./Reduce/typec.scm 238 */
int BgL_kz00_1433;
BgL_kz00_1433 = 
(int)(BgL_modz00_1419); 
BgL_bucketz00_1423 = 
VECTOR_REF(BgL_arg2017z00_1414,BgL_kz00_1433); } 
{ /* ./Reduce/typec.scm 238 */
int BgL_kz00_1435;
BgL_kz00_1435 = 
(int)(BgL_restz00_1421); 
BgL_method2956z00_1411 = 
VECTOR_REF(BgL_bucketz00_1423,BgL_kz00_1435); } } } } } } } } } } 
{ /* ./Reduce/typec.scm 238 */
obj_t BgL_auxz00_2481;
BgL_auxz00_2481 = 
PROCEDURE_ENTRY(BgL_method2956z00_1411)(BgL_method2956z00_1411, 
(obj_t)(BgL_nodez00_1410), BEOA); 
BgL_res3881z00_1436 = 
(BgL_nodez00_bglt)(BgL_auxz00_2481); } } } 
BgL_arg3048z00_754 = BgL_res3881z00_1436; } } 
{ /* ./Reduce/typec.scm 238 */
obj_t BgL_objz00_1438;
BgL_objz00_1438 = 
(obj_t)(BgL_arg3048z00_754); 
SET_CAR(BgL_nodeza2za2_751, BgL_objz00_1438); } } 
{ /* ./Reduce/typec.scm 239 */
obj_t BgL_arg3055z00_756;
BgL_arg3055z00_756 = 
CDR(BgL_nodeza2za2_751); 
{ 
obj_t BgL_nodeza2za2_2489;
BgL_nodeza2za2_2489 = BgL_arg3055z00_756; 
BgL_nodeza2za2_751 = BgL_nodeza2za2_2489; 
goto BgL_loopz00_752;} } } } } } 
}



/* method-init */
obj_t BGl_methodzd2initzd2zzreduce_typecz00()
{ AN_OBJECT;
{ /* ./Reduce/typec.scm 15 */
BGl_addzd2genericz12zc0zz__objectz00(BGl_nodezd2typecz12zd2envz12zzreduce_typecz00, BGl_nodezd2typecz12zd2default2955zd2envzc0zzreduce_typecz00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_nodezd2typecz12zd2envz12zzreduce_typecz00, BGl_atomz00zzast_nodez00, BGl_proc4461z00zzreduce_typecz00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_nodezd2typecz12zd2envz12zzreduce_typecz00, BGl_kwotez00zzast_nodez00, BGl_proc4462z00zzreduce_typecz00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_nodezd2typecz12zd2envz12zzreduce_typecz00, BGl_varz00zzast_nodez00, BGl_proc4463z00zzreduce_typecz00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_nodezd2typecz12zd2envz12zzreduce_typecz00, BGl_closurez00zzast_nodez00, BGl_proc4464z00zzreduce_typecz00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_nodezd2typecz12zd2envz12zzreduce_typecz00, BGl_sequencez00zzast_nodez00, BGl_proc4465z00zzreduce_typecz00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_nodezd2typecz12zd2envz12zzreduce_typecz00, BGl_appzd2lyzd2zzast_nodez00, BGl_proc4466z00zzreduce_typecz00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_nodezd2typecz12zd2envz12zzreduce_typecz00, BGl_funcallz00zzast_nodez00, BGl_proc4467z00zzreduce_typecz00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_nodezd2typecz12zd2envz12zzreduce_typecz00, BGl_externz00zzast_nodez00, BGl_proc4468z00zzreduce_typecz00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_nodezd2typecz12zd2envz12zzreduce_typecz00, BGl_castz00zzast_nodez00, BGl_proc4469z00zzreduce_typecz00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_nodezd2typecz12zd2envz12zzreduce_typecz00, BGl_setqz00zzast_nodez00, BGl_proc4470z00zzreduce_typecz00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_nodezd2typecz12zd2envz12zzreduce_typecz00, BGl_conditionalz00zzast_nodez00, BGl_proc4471z00zzreduce_typecz00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_nodezd2typecz12zd2envz12zzreduce_typecz00, BGl_failz00zzast_nodez00, BGl_proc4472z00zzreduce_typecz00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_nodezd2typecz12zd2envz12zzreduce_typecz00, BGl_selectz00zzast_nodez00, BGl_proc4473z00zzreduce_typecz00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_nodezd2typecz12zd2envz12zzreduce_typecz00, BGl_letzd2funzd2zzast_nodez00, BGl_proc4474z00zzreduce_typecz00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_nodezd2typecz12zd2envz12zzreduce_typecz00, BGl_letzd2varzd2zzast_nodez00, BGl_proc4475z00zzreduce_typecz00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_nodezd2typecz12zd2envz12zzreduce_typecz00, BGl_setzd2exzd2itz00zzast_nodez00, BGl_proc4476z00zzreduce_typecz00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_nodezd2typecz12zd2envz12zzreduce_typecz00, BGl_jumpzd2exzd2itz00zzast_nodez00, BGl_proc4477z00zzreduce_typecz00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_nodezd2typecz12zd2envz12zzreduce_typecz00, BGl_makezd2boxzd2zzast_nodez00, BGl_proc4478z00zzreduce_typecz00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_nodezd2typecz12zd2envz12zzreduce_typecz00, BGl_boxzd2setz12zc0zzast_nodez00, BGl_proc4479z00zzreduce_typecz00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_nodezd2typecz12zd2envz12zzreduce_typecz00, BGl_boxzd2refzd2zzast_nodez00, BGl_proc4480z00zzreduce_typecz00); 
return 
BGl_addzd2methodz12zc0zz__objectz00(BGl_nodezd2typecz12zd2envz12zzreduce_typecz00, BGl_appz00zzast_nodez00, BGl_proc4481z00zzreduce_typecz00);} 
}



/* node-typec!-app3004 */
obj_t BGl_nodezd2typecz12zd2app3004z12zzreduce_typecz00(obj_t BgL_envz00_2313, obj_t BgL_nodez00_2314)
{ AN_OBJECT;
{ /* ./Reduce/typec.scm 249 */
{ 
BgL_appz00_bglt BgL_nodez00_1324;
BgL_nodez00_1324 = 
(BgL_appz00_bglt)(BgL_nodez00_2314); 
{ 
obj_t BgL_typecz00_1361;BgL_typez00_bglt BgL_typepz00_1362;
{ /* ./Reduce/typec.scm 262 */
obj_t BgL_arg3771z00_1329;
BgL_arg3771z00_1329 = 
(((BgL_appz00_bglt)CREF(BgL_nodez00_1324))->BgL_argsz00); 
BGl_nodezd2typecza2z12z62zzreduce_typecz00(BgL_arg3771z00_1329); } 
{ /* ./Reduce/typec.scm 263 */
BgL_variablez00_bglt BgL_varz00_1330;
{ /* ./Reduce/typec.scm 263 */
BgL_varz00_bglt BgL_arg3839z00_1360;
BgL_arg3839z00_1360 = 
(((BgL_appz00_bglt)CREF(BgL_nodez00_1324))->BgL_funz00); 
BgL_varz00_1330 = 
(((BgL_varz00_bglt)CREF(BgL_arg3839z00_1360))->BgL_variablez00); } 
{ /* ./Reduce/typec.scm 263 */
obj_t BgL_typecz00_1331;
{ /* ./Reduce/typec.scm 264 */
BgL_funz00_bglt BgL_obj1305z00_2244;
{ /* ./Reduce/typec.scm 264 */
BgL_valuez00_bglt BgL_auxz00_2516;
BgL_auxz00_2516 = 
(((BgL_variablez00_bglt)CREF(BgL_varz00_1330))->BgL_valuez00); 
BgL_obj1305z00_2244 = 
(BgL_funz00_bglt)(BgL_auxz00_2516); } 
BgL_typecz00_1331 = 
(((BgL_funz00_bglt)CREF(BgL_obj1305z00_2244))->BgL_predicatezd2ofzd2); } 
{ /* ./Reduce/typec.scm 264 */
BgL_typez00_bglt BgL_typez00_1332;
BgL_typez00_1332 = 
BGl_typeofz00zztype_typeofz00(
(BgL_nodez00_bglt)(BgL_nodez00_1324)); 
{ /* ./Reduce/typec.scm 265 */

{ /* ./Reduce/typec.scm 266 */
bool_t BgL_test3774z00_1333;
{ /* ./Reduce/typec.scm 266 */
bool_t BgL_test3809z00_1350;
{ /* ./Reduce/typec.scm 266 */
obj_t BgL_auxz00_2522;
BgL_auxz00_2522 = 
(((BgL_appz00_bglt)CREF(BgL_nodez00_1324))->BgL_argsz00); 
BgL_test3809z00_1350 = 
PAIRP(BgL_auxz00_2522); } 
if(BgL_test3809z00_1350)
{ /* ./Reduce/typec.scm 267 */
bool_t BgL_test3810z00_1351;
{ /* ./Reduce/typec.scm 267 */
obj_t BgL_auxz00_2526;
{ /* ./Reduce/typec.scm 267 */
obj_t BgL_auxz00_2527;
BgL_auxz00_2527 = 
(((BgL_appz00_bglt)CREF(BgL_nodez00_1324))->BgL_argsz00); 
BgL_auxz00_2526 = 
CDR(BgL_auxz00_2527); } 
BgL_test3810z00_1351 = 
NULLP(BgL_auxz00_2526); } 
if(BgL_test3810z00_1351)
{ /* ./Reduce/typec.scm 268 */
bool_t BgL_test3811z00_1352;
BgL_test3811z00_1352 = 
BGl_iszd2azf3z21zz__objectz00(BgL_typecz00_1331, BGl_typez00zztype_typez00); 
if(BgL_test3811z00_1352)
{ /* ./Reduce/typec.scm 269 */
bool_t BgL_test3812z00_1353;
{ /* ./Reduce/typec.scm 269 */
obj_t BgL_arg3814z00_1354;
{ /* ./Reduce/typec.scm 269 */
obj_t BgL_auxz00_2534;
BgL_auxz00_2534 = 
(((BgL_appz00_bglt)CREF(BgL_nodez00_1324))->BgL_argsz00); 
BgL_arg3814z00_1354 = 
CAR(BgL_auxz00_2534); } 
BgL_test3812z00_1353 = 
BGl_sidezd2effectzf3z21zzeffect_effectz00(
(BgL_nodez00_bglt)(BgL_arg3814z00_1354)); } 
if(BgL_test3812z00_1353)
{ /* ./Reduce/typec.scm 269 */
BgL_test3774z00_1333 = ((bool_t)0); }  else 
{ /* ./Reduce/typec.scm 269 */
BgL_test3774z00_1333 = ((bool_t)1); } }  else 
{ /* ./Reduce/typec.scm 268 */
BgL_test3774z00_1333 = ((bool_t)0); } }  else 
{ /* ./Reduce/typec.scm 267 */
BgL_test3774z00_1333 = ((bool_t)0); } }  else 
{ /* ./Reduce/typec.scm 266 */
BgL_test3774z00_1333 = ((bool_t)0); } } 
if(BgL_test3774z00_1333)
{ /* ./Reduce/typec.scm 270 */
BgL_typez00_bglt BgL_typepz00_1334;
{ /* ./Reduce/typec.scm 270 */
obj_t BgL_arg3803z00_1348;
{ /* ./Reduce/typec.scm 270 */
obj_t BgL_auxz00_2541;
BgL_auxz00_2541 = 
(((BgL_appz00_bglt)CREF(BgL_nodez00_1324))->BgL_argsz00); 
BgL_arg3803z00_1348 = 
CAR(BgL_auxz00_2541); } 
BgL_typepz00_1334 = 
BGl_typeofz00zztype_typeofz00(
(BgL_nodez00_bglt)(BgL_arg3803z00_1348)); } 
{ /* ./Reduce/typec.scm 272 */
bool_t BgL_test3775z00_1335;
{ /* ./Reduce/typec.scm 272 */
bool_t BgL_test3789z00_1342;
{ /* ./Reduce/typec.scm 272 */
obj_t BgL_auxz00_2546;
BgL_auxz00_2546 = 
(obj_t)(BgL_typepz00_1334); 
BgL_test3789z00_1342 = 
(BgL_auxz00_2546==BGl_za2objza2z00zztype_cachez00); } 
if(BgL_test3789z00_1342)
{ /* ./Reduce/typec.scm 272 */
BgL_test3775z00_1335 = ((bool_t)1); }  else 
{ /* ./Reduce/typec.scm 272 */
bool_t BgL_test3790z00_1343;
BgL_test3790z00_1343 = 
BGl_typezd2subclasszf3z21zzobject_classz00(
(BgL_typez00_bglt)(BgL_typecz00_1331), BgL_typepz00_1334); 
if(BgL_test3790z00_1343)
{ /* ./Reduce/typec.scm 272 */
BgL_test3775z00_1335 = ((bool_t)1); }  else 
{ /* ./Reduce/typec.scm 273 */
bool_t BgL_test3791z00_1344;
{ /* ./Reduce/typec.scm 273 */
bool_t BgL_test3793z00_1345;
{ /* ./Reduce/typec.scm 273 */
bool_t BgL_test3795z00_1346;
{ /* ./Reduce/typec.scm 273 */
obj_t BgL_auxz00_2553;
BgL_auxz00_2553 = 
(obj_t)(BgL_typepz00_1334); 
BgL_test3795z00_1346 = 
(BgL_auxz00_2553==BGl_za2pairza2z00zztype_cachez00); } 
if(BgL_test3795z00_1346)
{ /* ./Reduce/typec.scm 273 */
BgL_test3793z00_1345 = ((bool_t)1); }  else 
{ /* ./Reduce/typec.scm 274 */
bool_t BgL_test3796z00_1347;
{ /* ./Reduce/typec.scm 274 */
obj_t BgL_auxz00_2557;
BgL_auxz00_2557 = 
(obj_t)(BgL_typepz00_1334); 
BgL_test3796z00_1347 = 
(BgL_auxz00_2557==BGl_za2epairza2z00zztype_cachez00); } 
if(BgL_test3796z00_1347)
{ /* ./Reduce/typec.scm 274 */
BgL_test3793z00_1345 = ((bool_t)1); }  else 
{ /* ./Reduce/typec.scm 275 */
obj_t BgL_auxz00_2561;
BgL_auxz00_2561 = 
(obj_t)(BgL_typepz00_1334); 
BgL_test3793z00_1345 = 
(BgL_auxz00_2561==BGl_za2bnilza2z00zztype_cachez00); } } } 
if(BgL_test3793z00_1345)
{ /* ./Reduce/typec.scm 273 */
BgL_test3791z00_1344 = 
(BgL_typecz00_1331==BGl_za2pairzd2nilza2zd2zztype_cachez00); }  else 
{ /* ./Reduce/typec.scm 273 */
BgL_test3791z00_1344 = ((bool_t)0); } } 
if(BgL_test3791z00_1344)
{ /* ./Reduce/typec.scm 273 */
BgL_test3775z00_1335 = ((bool_t)1); }  else 
{ /* ./Reduce/typec.scm 277 */
obj_t BgL_auxz00_2567;
BgL_auxz00_2567 = 
(obj_t)(BgL_typepz00_1334); 
BgL_test3775z00_1335 = 
(BgL_auxz00_2567==BGl_za2pairzd2nilza2zd2zztype_cachez00); } } } } 
if(BgL_test3775z00_1335)
{ /* ./Reduce/typec.scm 272 */
{ /* ./Reduce/typec.scm 279 */
long BgL_za72za7_2256;
BgL_za72za7_2256 = BGl_za2typezd2checkszd2remainingza2z00zzreduce_typecz00; 
BGl_za2typezd2checkszd2remainingza2z00zzreduce_typecz00 = 
(((long)1)+BgL_za72za7_2256); } 
return 
(obj_t)(BgL_nodez00_1324);}  else 
{ /* ./Reduce/typec.scm 272 */
{ /* ./Reduce/typec.scm 288 */
long BgL_za72za7_2258;
BgL_za72za7_2258 = BGl_za2typezd2checkszd2removedza2z00zzreduce_typecz00; 
BGl_za2typezd2checkszd2removedza2z00zzreduce_typecz00 = 
(((long)1)+BgL_za72za7_2258); } 
{ /* ./Reduce/typec.scm 289 */
bool_t BgL_checkzd2valzd2_1336;
BgL_typecz00_1361 = BgL_typecz00_1331; 
BgL_typepz00_1362 = BgL_typepz00_1334; 
{ /* ./Reduce/typec.scm 252 */
bool_t BgL_test3843z00_1364;
{ /* ./Reduce/typec.scm 252 */
obj_t BgL_auxz00_2574;
BgL_auxz00_2574 = 
(obj_t)(BgL_typepz00_1362); 
BgL_test3843z00_1364 = 
(BgL_typecz00_1361==BgL_auxz00_2574); } 
if(BgL_test3843z00_1364)
{ /* ./Reduce/typec.scm 252 */
BgL_checkzd2valzd2_1336 = ((bool_t)1); }  else 
{ /* ./Reduce/typec.scm 254 */
bool_t BgL_test3844z00_1365;
BgL_test3844z00_1365 = 
BGl_typezd2subclasszf3z21zzobject_classz00(BgL_typepz00_1362, 
(BgL_typez00_bglt)(BgL_typecz00_1361)); 
if(BgL_test3844z00_1365)
{ /* ./Reduce/typec.scm 254 */
BgL_checkzd2valzd2_1336 = ((bool_t)1); }  else 
{ /* ./Reduce/typec.scm 256 */
bool_t BgL_test3845z00_1366;
{ /* ./Reduce/typec.scm 256 */
bool_t BgL_test3846z00_1367;
{ /* ./Reduce/typec.scm 256 */
bool_t BgL_test3848z00_1368;
BgL_test3848z00_1368 = 
(BgL_typecz00_1361==BGl_za2pairza2z00zztype_cachez00); 
if(BgL_test3848z00_1368)
{ /* ./Reduce/typec.scm 256 */
BgL_test3846z00_1367 = ((bool_t)1); }  else 
{ /* ./Reduce/typec.scm 256 */
bool_t BgL_test3849z00_1369;
BgL_test3849z00_1369 = 
(BgL_typecz00_1361==BGl_za2epairza2z00zztype_cachez00); 
if(BgL_test3849z00_1369)
{ /* ./Reduce/typec.scm 256 */
BgL_test3846z00_1367 = ((bool_t)1); }  else 
{ /* ./Reduce/typec.scm 256 */
BgL_test3846z00_1367 = 
(BgL_typecz00_1361==BGl_za2bnilza2z00zztype_cachez00); } } } 
if(BgL_test3846z00_1367)
{ /* ./Reduce/typec.scm 257 */
obj_t BgL_auxz00_2587;
BgL_auxz00_2587 = 
(obj_t)(BgL_typepz00_1362); 
BgL_test3845z00_1366 = 
(BgL_auxz00_2587==BGl_za2pairzd2nilza2zd2zztype_cachez00); }  else 
{ /* ./Reduce/typec.scm 256 */
BgL_test3845z00_1366 = ((bool_t)0); } } 
if(BgL_test3845z00_1366)
{ /* ./Reduce/typec.scm 256 */
BgL_checkzd2valzd2_1336 = ((bool_t)1); }  else 
{ /* ./Reduce/typec.scm 256 */
BgL_checkzd2valzd2_1336 = ((bool_t)0); } } } } 
{ /* ./Reduce/typec.scm 290 */
BgL_nodez00_bglt BgL_nodez00_1337;
{ /* ./Reduce/typec.scm 291 */
BgL_atomz00_bglt BgL_arg3780z00_1338;
{ /* ./Reduce/typec.scm 291 */
obj_t BgL_arg3783z00_1339;BgL_typez00_bglt BgL_arg3784z00_1340;bool_t BgL_arg3785z00_1341;
{ /* ./Reduce/typec.scm 291 */
BgL_nodez00_bglt BgL_obj1560z00_2259;
BgL_obj1560z00_2259 = 
(BgL_nodez00_bglt)(BgL_nodez00_1324); 
BgL_arg3783z00_1339 = 
(((BgL_nodez00_bglt)CREF(BgL_obj1560z00_2259))->BgL_locz00); } 
BgL_arg3784z00_1340 = BgL_typez00_1332; 
BgL_arg3785z00_1341 = BgL_checkzd2valzd2_1336; 
BgL_arg3780z00_1338 = 
BGl_makezd2atomzd2zzast_nodez00(BgL_arg3783z00_1339, BgL_arg3784z00_1340, 
BBOOL(BgL_arg3785z00_1341)); } 
BgL_nodez00_1337 = 
BGl_coercez12z12zzcoerce_coercez00(
(BgL_nodez00_bglt)(BgL_arg3780z00_1338), BUNSPEC, BgL_typez00_1332); } 
BGl_lvtypezd2nodez12zc0zzast_lvtypez00(BgL_nodez00_1337); 
return 
(obj_t)(BgL_nodez00_1337);} } } } }  else 
{ /* ./Reduce/typec.scm 266 */
return 
(obj_t)(BgL_nodez00_1324);} } } } } } } } } 
}



/* node-typec!-box-ref3002 */
obj_t BGl_nodezd2typecz12zd2boxzd2ref3002zc0zzreduce_typecz00(obj_t BgL_envz00_2315, obj_t BgL_nodez00_2316)
{ AN_OBJECT;
{ /* ./Reduce/typec.scm 225 */
{ 
BgL_boxzd2refzd2_bglt BgL_nodez00_1316;
{ /* ./Reduce/typec.scm 226 */
BgL_boxzd2refzd2_bglt BgL_auxz00_2601;
BgL_nodez00_1316 = 
(BgL_boxzd2refzd2_bglt)(BgL_nodez00_2316); 
{ /* ./Reduce/typec.scm 227 */
BgL_nodez00_bglt BgL_arg3758z00_1320;
{ /* ./Reduce/typec.scm 227 */
BgL_varz00_bglt BgL_arg3761z00_1321;
BgL_arg3761z00_1321 = 
(((BgL_boxzd2refzd2_bglt)CREF(BgL_nodez00_1316))->BgL_varz00); 
{ /* ./Reduce/typec.scm 227 */
BgL_nodez00_bglt BgL_res3959z00_2237;
{ /* ./Reduce/typec.scm 227 */
BgL_nodez00_bglt BgL_nodez00_2211;
BgL_nodez00_2211 = 
(BgL_nodez00_bglt)(BgL_arg3761z00_1321); 
{ /* ./Reduce/typec.scm 227 */
obj_t BgL_method2956z00_2212;
{ /* ./Reduce/typec.scm 227 */
BgL_objectz00_bglt BgL_objz00_2213;
BgL_objz00_2213 = 
(BgL_objectz00_bglt)(BgL_nodez00_2211); 
{ /* ./Reduce/typec.scm 227 */
long BgL_objzd2classzd2numz00_2214;
BgL_objzd2classzd2numz00_2214 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2213); 
{ /* ./Reduce/typec.scm 227 */
obj_t BgL_arg2017z00_2215;
{ /* ./Reduce/typec.scm 227 */
int BgL_auxz00_2606;
BgL_auxz00_2606 = 
(int)(((long)1)); 
BgL_arg2017z00_2215 = 
PROCEDURE_REF(BGl_nodezd2typecz12zd2envz12zzreduce_typecz00, BgL_auxz00_2606); } 
{ /* ./Reduce/typec.scm 227 */
int BgL_offsetz00_2218;
BgL_offsetz00_2218 = 
(int)(BgL_objzd2classzd2numz00_2214); 
{ /* ./Reduce/typec.scm 227 */
long BgL_offsetz00_2219;
{ /* ./Reduce/typec.scm 227 */
long BgL_auxz00_2610;
BgL_auxz00_2610 = 
(long)(BgL_offsetz00_2218); 
BgL_offsetz00_2219 = 
(BgL_auxz00_2610-OBJECT_TYPE); } 
{ /* ./Reduce/typec.scm 227 */
long BgL_modz00_2220;
{ /* ./Reduce/typec.scm 227 */
int BgL_arg2028z00_2221;
BgL_arg2028z00_2221 = 
(int)(((long)8)); 
{ /* ./Reduce/typec.scm 227 */
long BgL_n2z00_2229;
BgL_n2z00_2229 = 
(long)(BgL_arg2028z00_2221); 
BgL_modz00_2220 = 
(BgL_offsetz00_2219/BgL_n2z00_2229); } } 
{ /* ./Reduce/typec.scm 227 */
long BgL_restz00_2222;
{ /* ./Reduce/typec.scm 227 */
int BgL_arg2024z00_2223;
BgL_arg2024z00_2223 = 
(int)(((long)8)); 
{ /* ./Reduce/typec.scm 227 */
long BgL_n2z00_2232;
BgL_n2z00_2232 = 
(long)(BgL_arg2024z00_2223); 
BgL_restz00_2222 = 
(BgL_offsetz00_2219%BgL_n2z00_2232); } } 
{ /* ./Reduce/typec.scm 227 */

{ /* ./Reduce/typec.scm 227 */
obj_t BgL_bucketz00_2224;
{ /* ./Reduce/typec.scm 227 */
int BgL_kz00_2234;
BgL_kz00_2234 = 
(int)(BgL_modz00_2220); 
BgL_bucketz00_2224 = 
VECTOR_REF(BgL_arg2017z00_2215,BgL_kz00_2234); } 
{ /* ./Reduce/typec.scm 227 */
int BgL_kz00_2236;
BgL_kz00_2236 = 
(int)(BgL_restz00_2222); 
BgL_method2956z00_2212 = 
VECTOR_REF(BgL_bucketz00_2224,BgL_kz00_2236); } } } } } } } } } } 
{ /* ./Reduce/typec.scm 227 */
obj_t BgL_auxz00_2623;
BgL_auxz00_2623 = 
PROCEDURE_ENTRY(BgL_method2956z00_2212)(BgL_method2956z00_2212, 
(obj_t)(BgL_nodez00_2211), BEOA); 
BgL_res3959z00_2237 = 
(BgL_nodez00_bglt)(BgL_auxz00_2623); } } } 
BgL_arg3758z00_1320 = BgL_res3959z00_2237; } } 
{ /* ./Reduce/typec.scm 227 */
BgL_boxzd2refzd2_bglt BgL_obj2616z00_2238;BgL_varz00_bglt BgL_val2615z00_2239;
BgL_obj2616z00_2238 = BgL_nodez00_1316; 
BgL_val2615z00_2239 = 
(BgL_varz00_bglt)(BgL_arg3758z00_1320); 
((((BgL_boxzd2refzd2_bglt)CREF(BgL_obj2616z00_2238))->BgL_varz00) = ((BgL_varz00_bglt)BgL_val2615z00_2239), BUNSPEC); } } 
BgL_auxz00_2601 = BgL_nodez00_1316; 
return 
(obj_t)(BgL_auxz00_2601);} } } 
}



/* node-typec!-box-set!3000 */
obj_t BGl_nodezd2typecz12zd2boxzd2setz123000zd2zzreduce_typecz00(obj_t BgL_envz00_2317, obj_t BgL_nodez00_2318)
{ AN_OBJECT;
{ /* ./Reduce/typec.scm 216 */
{ 
BgL_boxzd2setz12zc0_bglt BgL_nodez00_1306;
{ /* ./Reduce/typec.scm 217 */
BgL_boxzd2setz12zc0_bglt BgL_auxz00_2632;
BgL_nodez00_1306 = 
(BgL_boxzd2setz12zc0_bglt)(BgL_nodez00_2318); 
{ /* ./Reduce/typec.scm 218 */
BgL_nodez00_bglt BgL_arg3738z00_1310;
{ /* ./Reduce/typec.scm 218 */
BgL_varz00_bglt BgL_arg3741z00_1311;
BgL_arg3741z00_1311 = 
(((BgL_boxzd2setz12zc0_bglt)CREF(BgL_nodez00_1306))->BgL_varz00); 
{ /* ./Reduce/typec.scm 218 */
BgL_nodez00_bglt BgL_res3953z00_2177;
{ /* ./Reduce/typec.scm 218 */
BgL_nodez00_bglt BgL_nodez00_2151;
BgL_nodez00_2151 = 
(BgL_nodez00_bglt)(BgL_arg3741z00_1311); 
{ /* ./Reduce/typec.scm 218 */
obj_t BgL_method2956z00_2152;
{ /* ./Reduce/typec.scm 218 */
BgL_objectz00_bglt BgL_objz00_2153;
BgL_objz00_2153 = 
(BgL_objectz00_bglt)(BgL_nodez00_2151); 
{ /* ./Reduce/typec.scm 218 */
long BgL_objzd2classzd2numz00_2154;
BgL_objzd2classzd2numz00_2154 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2153); 
{ /* ./Reduce/typec.scm 218 */
obj_t BgL_arg2017z00_2155;
{ /* ./Reduce/typec.scm 218 */
int BgL_auxz00_2637;
BgL_auxz00_2637 = 
(int)(((long)1)); 
BgL_arg2017z00_2155 = 
PROCEDURE_REF(BGl_nodezd2typecz12zd2envz12zzreduce_typecz00, BgL_auxz00_2637); } 
{ /* ./Reduce/typec.scm 218 */
int BgL_offsetz00_2158;
BgL_offsetz00_2158 = 
(int)(BgL_objzd2classzd2numz00_2154); 
{ /* ./Reduce/typec.scm 218 */
long BgL_offsetz00_2159;
{ /* ./Reduce/typec.scm 218 */
long BgL_auxz00_2641;
BgL_auxz00_2641 = 
(long)(BgL_offsetz00_2158); 
BgL_offsetz00_2159 = 
(BgL_auxz00_2641-OBJECT_TYPE); } 
{ /* ./Reduce/typec.scm 218 */
long BgL_modz00_2160;
{ /* ./Reduce/typec.scm 218 */
int BgL_arg2028z00_2161;
BgL_arg2028z00_2161 = 
(int)(((long)8)); 
{ /* ./Reduce/typec.scm 218 */
long BgL_n2z00_2169;
BgL_n2z00_2169 = 
(long)(BgL_arg2028z00_2161); 
BgL_modz00_2160 = 
(BgL_offsetz00_2159/BgL_n2z00_2169); } } 
{ /* ./Reduce/typec.scm 218 */
long BgL_restz00_2162;
{ /* ./Reduce/typec.scm 218 */
int BgL_arg2024z00_2163;
BgL_arg2024z00_2163 = 
(int)(((long)8)); 
{ /* ./Reduce/typec.scm 218 */
long BgL_n2z00_2172;
BgL_n2z00_2172 = 
(long)(BgL_arg2024z00_2163); 
BgL_restz00_2162 = 
(BgL_offsetz00_2159%BgL_n2z00_2172); } } 
{ /* ./Reduce/typec.scm 218 */

{ /* ./Reduce/typec.scm 218 */
obj_t BgL_bucketz00_2164;
{ /* ./Reduce/typec.scm 218 */
int BgL_kz00_2174;
BgL_kz00_2174 = 
(int)(BgL_modz00_2160); 
BgL_bucketz00_2164 = 
VECTOR_REF(BgL_arg2017z00_2155,BgL_kz00_2174); } 
{ /* ./Reduce/typec.scm 218 */
int BgL_kz00_2176;
BgL_kz00_2176 = 
(int)(BgL_restz00_2162); 
BgL_method2956z00_2152 = 
VECTOR_REF(BgL_bucketz00_2164,BgL_kz00_2176); } } } } } } } } } } 
{ /* ./Reduce/typec.scm 218 */
obj_t BgL_auxz00_2654;
BgL_auxz00_2654 = 
PROCEDURE_ENTRY(BgL_method2956z00_2152)(BgL_method2956z00_2152, 
(obj_t)(BgL_nodez00_2151), BEOA); 
BgL_res3953z00_2177 = 
(BgL_nodez00_bglt)(BgL_auxz00_2654); } } } 
BgL_arg3738z00_1310 = BgL_res3953z00_2177; } } 
{ /* ./Reduce/typec.scm 218 */
BgL_boxzd2setz12zc0_bglt BgL_obj2642z00_2178;BgL_varz00_bglt BgL_val2641z00_2179;
BgL_obj2642z00_2178 = BgL_nodez00_1306; 
BgL_val2641z00_2179 = 
(BgL_varz00_bglt)(BgL_arg3738z00_1310); 
((((BgL_boxzd2setz12zc0_bglt)CREF(BgL_obj2642z00_2178))->BgL_varz00) = ((BgL_varz00_bglt)BgL_val2641z00_2179), BUNSPEC); } } 
{ /* ./Reduce/typec.scm 219 */
BgL_nodez00_bglt BgL_arg3745z00_1312;
{ /* ./Reduce/typec.scm 219 */
BgL_nodez00_bglt BgL_arg3748z00_1313;
BgL_arg3748z00_1313 = 
(((BgL_boxzd2setz12zc0_bglt)CREF(BgL_nodez00_1306))->BgL_valuez00); 
{ /* ./Reduce/typec.scm 219 */
BgL_nodez00_bglt BgL_res3956z00_2207;
{ /* ./Reduce/typec.scm 219 */
obj_t BgL_method2956z00_2182;
{ /* ./Reduce/typec.scm 219 */
BgL_objectz00_bglt BgL_objz00_2183;
BgL_objz00_2183 = 
(BgL_objectz00_bglt)(BgL_arg3748z00_1313); 
{ /* ./Reduce/typec.scm 219 */
long BgL_objzd2classzd2numz00_2184;
BgL_objzd2classzd2numz00_2184 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2183); 
{ /* ./Reduce/typec.scm 219 */
obj_t BgL_arg2017z00_2185;
{ /* ./Reduce/typec.scm 219 */
int BgL_auxz00_2664;
BgL_auxz00_2664 = 
(int)(((long)1)); 
BgL_arg2017z00_2185 = 
PROCEDURE_REF(BGl_nodezd2typecz12zd2envz12zzreduce_typecz00, BgL_auxz00_2664); } 
{ /* ./Reduce/typec.scm 219 */
int BgL_offsetz00_2188;
BgL_offsetz00_2188 = 
(int)(BgL_objzd2classzd2numz00_2184); 
{ /* ./Reduce/typec.scm 219 */
long BgL_offsetz00_2189;
{ /* ./Reduce/typec.scm 219 */
long BgL_auxz00_2668;
BgL_auxz00_2668 = 
(long)(BgL_offsetz00_2188); 
BgL_offsetz00_2189 = 
(BgL_auxz00_2668-OBJECT_TYPE); } 
{ /* ./Reduce/typec.scm 219 */
long BgL_modz00_2190;
{ /* ./Reduce/typec.scm 219 */
int BgL_arg2028z00_2191;
BgL_arg2028z00_2191 = 
(int)(((long)8)); 
{ /* ./Reduce/typec.scm 219 */
long BgL_n2z00_2199;
BgL_n2z00_2199 = 
(long)(BgL_arg2028z00_2191); 
BgL_modz00_2190 = 
(BgL_offsetz00_2189/BgL_n2z00_2199); } } 
{ /* ./Reduce/typec.scm 219 */
long BgL_restz00_2192;
{ /* ./Reduce/typec.scm 219 */
int BgL_arg2024z00_2193;
BgL_arg2024z00_2193 = 
(int)(((long)8)); 
{ /* ./Reduce/typec.scm 219 */
long BgL_n2z00_2202;
BgL_n2z00_2202 = 
(long)(BgL_arg2024z00_2193); 
BgL_restz00_2192 = 
(BgL_offsetz00_2189%BgL_n2z00_2202); } } 
{ /* ./Reduce/typec.scm 219 */

{ /* ./Reduce/typec.scm 219 */
obj_t BgL_bucketz00_2194;
{ /* ./Reduce/typec.scm 219 */
int BgL_kz00_2204;
BgL_kz00_2204 = 
(int)(BgL_modz00_2190); 
BgL_bucketz00_2194 = 
VECTOR_REF(BgL_arg2017z00_2185,BgL_kz00_2204); } 
{ /* ./Reduce/typec.scm 219 */
int BgL_kz00_2206;
BgL_kz00_2206 = 
(int)(BgL_restz00_2192); 
BgL_method2956z00_2182 = 
VECTOR_REF(BgL_bucketz00_2194,BgL_kz00_2206); } } } } } } } } } } 
{ /* ./Reduce/typec.scm 219 */
obj_t BgL_auxz00_2681;
BgL_auxz00_2681 = 
PROCEDURE_ENTRY(BgL_method2956z00_2182)(BgL_method2956z00_2182, 
(obj_t)(BgL_arg3748z00_1313), BEOA); 
BgL_res3956z00_2207 = 
(BgL_nodez00_bglt)(BgL_auxz00_2681); } } 
BgL_arg3745z00_1312 = BgL_res3956z00_2207; } } 
{ /* ./Reduce/typec.scm 219 */
BgL_boxzd2setz12zc0_bglt BgL_obj2645z00_2208;BgL_nodez00_bglt BgL_val2644z00_2209;
BgL_obj2645z00_2208 = BgL_nodez00_1306; 
BgL_val2644z00_2209 = BgL_arg3745z00_1312; 
((((BgL_boxzd2setz12zc0_bglt)CREF(BgL_obj2645z00_2208))->BgL_valuez00) = ((BgL_nodez00_bglt)BgL_val2644z00_2209), BUNSPEC); } } 
BgL_auxz00_2632 = BgL_nodez00_1306; 
return 
(obj_t)(BgL_auxz00_2632);} } } 
}



/* node-typec!-make-box2998 */
obj_t BGl_nodezd2typecz12zd2makezd2box2998zc0zzreduce_typecz00(obj_t BgL_envz00_2319, obj_t BgL_nodez00_2320)
{ AN_OBJECT;
{ /* ./Reduce/typec.scm 208 */
{ 
BgL_makezd2boxzd2_bglt BgL_nodez00_1298;
{ /* ./Reduce/typec.scm 209 */
BgL_makezd2boxzd2_bglt BgL_auxz00_2689;
BgL_nodez00_1298 = 
(BgL_makezd2boxzd2_bglt)(BgL_nodez00_2320); 
{ /* ./Reduce/typec.scm 210 */
BgL_nodez00_bglt BgL_arg3725z00_1302;
{ /* ./Reduce/typec.scm 210 */
BgL_nodez00_bglt BgL_arg3728z00_1303;
BgL_arg3728z00_1303 = 
(((BgL_makezd2boxzd2_bglt)CREF(BgL_nodez00_1298))->BgL_valuez00); 
{ /* ./Reduce/typec.scm 210 */
BgL_nodez00_bglt BgL_res3950z00_2147;
{ /* ./Reduce/typec.scm 210 */
obj_t BgL_method2956z00_2122;
{ /* ./Reduce/typec.scm 210 */
BgL_objectz00_bglt BgL_objz00_2123;
BgL_objz00_2123 = 
(BgL_objectz00_bglt)(BgL_arg3728z00_1303); 
{ /* ./Reduce/typec.scm 210 */
long BgL_objzd2classzd2numz00_2124;
BgL_objzd2classzd2numz00_2124 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2123); 
{ /* ./Reduce/typec.scm 210 */
obj_t BgL_arg2017z00_2125;
{ /* ./Reduce/typec.scm 210 */
int BgL_auxz00_2693;
BgL_auxz00_2693 = 
(int)(((long)1)); 
BgL_arg2017z00_2125 = 
PROCEDURE_REF(BGl_nodezd2typecz12zd2envz12zzreduce_typecz00, BgL_auxz00_2693); } 
{ /* ./Reduce/typec.scm 210 */
int BgL_offsetz00_2128;
BgL_offsetz00_2128 = 
(int)(BgL_objzd2classzd2numz00_2124); 
{ /* ./Reduce/typec.scm 210 */
long BgL_offsetz00_2129;
{ /* ./Reduce/typec.scm 210 */
long BgL_auxz00_2697;
BgL_auxz00_2697 = 
(long)(BgL_offsetz00_2128); 
BgL_offsetz00_2129 = 
(BgL_auxz00_2697-OBJECT_TYPE); } 
{ /* ./Reduce/typec.scm 210 */
long BgL_modz00_2130;
{ /* ./Reduce/typec.scm 210 */
int BgL_arg2028z00_2131;
BgL_arg2028z00_2131 = 
(int)(((long)8)); 
{ /* ./Reduce/typec.scm 210 */
long BgL_n2z00_2139;
BgL_n2z00_2139 = 
(long)(BgL_arg2028z00_2131); 
BgL_modz00_2130 = 
(BgL_offsetz00_2129/BgL_n2z00_2139); } } 
{ /* ./Reduce/typec.scm 210 */
long BgL_restz00_2132;
{ /* ./Reduce/typec.scm 210 */
int BgL_arg2024z00_2133;
BgL_arg2024z00_2133 = 
(int)(((long)8)); 
{ /* ./Reduce/typec.scm 210 */
long BgL_n2z00_2142;
BgL_n2z00_2142 = 
(long)(BgL_arg2024z00_2133); 
BgL_restz00_2132 = 
(BgL_offsetz00_2129%BgL_n2z00_2142); } } 
{ /* ./Reduce/typec.scm 210 */

{ /* ./Reduce/typec.scm 210 */
obj_t BgL_bucketz00_2134;
{ /* ./Reduce/typec.scm 210 */
int BgL_kz00_2144;
BgL_kz00_2144 = 
(int)(BgL_modz00_2130); 
BgL_bucketz00_2134 = 
VECTOR_REF(BgL_arg2017z00_2125,BgL_kz00_2144); } 
{ /* ./Reduce/typec.scm 210 */
int BgL_kz00_2146;
BgL_kz00_2146 = 
(int)(BgL_restz00_2132); 
BgL_method2956z00_2122 = 
VECTOR_REF(BgL_bucketz00_2134,BgL_kz00_2146); } } } } } } } } } } 
{ /* ./Reduce/typec.scm 210 */
obj_t BgL_auxz00_2710;
BgL_auxz00_2710 = 
PROCEDURE_ENTRY(BgL_method2956z00_2122)(BgL_method2956z00_2122, 
(obj_t)(BgL_arg3728z00_1303), BEOA); 
BgL_res3950z00_2147 = 
(BgL_nodez00_bglt)(BgL_auxz00_2710); } } 
BgL_arg3725z00_1302 = BgL_res3950z00_2147; } } 
{ /* ./Reduce/typec.scm 210 */
BgL_makezd2boxzd2_bglt BgL_obj2584z00_2148;BgL_nodez00_bglt BgL_val2583z00_2149;
BgL_obj2584z00_2148 = BgL_nodez00_1298; 
BgL_val2583z00_2149 = BgL_arg3725z00_1302; 
((((BgL_makezd2boxzd2_bglt)CREF(BgL_obj2584z00_2148))->BgL_valuez00) = ((BgL_nodez00_bglt)BgL_val2583z00_2149), BUNSPEC); } } 
BgL_auxz00_2689 = BgL_nodez00_1298; 
return 
(obj_t)(BgL_auxz00_2689);} } } 
}



/* node-typec!-jump-ex-it2995 */
obj_t BGl_nodezd2typecz12zd2jumpzd2exzd2it2995z12zzreduce_typecz00(obj_t BgL_envz00_2321, obj_t BgL_nodez00_2322)
{ AN_OBJECT;
{ /* ./Reduce/typec.scm 199 */
{ 
BgL_jumpzd2exzd2itz00_bglt BgL_nodez00_1288;
{ /* ./Reduce/typec.scm 200 */
BgL_jumpzd2exzd2itz00_bglt BgL_auxz00_2718;
BgL_nodez00_1288 = 
(BgL_jumpzd2exzd2itz00_bglt)(BgL_nodez00_2322); 
{ /* ./Reduce/typec.scm 201 */
BgL_nodez00_bglt BgL_arg3704z00_1292;
{ /* ./Reduce/typec.scm 201 */
BgL_nodez00_bglt BgL_arg3707z00_1293;
BgL_arg3707z00_1293 = 
(((BgL_jumpzd2exzd2itz00_bglt)CREF(BgL_nodez00_1288))->BgL_exitz00); 
{ /* ./Reduce/typec.scm 201 */
BgL_nodez00_bglt BgL_res3944z00_2087;
{ /* ./Reduce/typec.scm 201 */
obj_t BgL_method2956z00_2062;
{ /* ./Reduce/typec.scm 201 */
BgL_objectz00_bglt BgL_objz00_2063;
BgL_objz00_2063 = 
(BgL_objectz00_bglt)(BgL_arg3707z00_1293); 
{ /* ./Reduce/typec.scm 201 */
long BgL_objzd2classzd2numz00_2064;
BgL_objzd2classzd2numz00_2064 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2063); 
{ /* ./Reduce/typec.scm 201 */
obj_t BgL_arg2017z00_2065;
{ /* ./Reduce/typec.scm 201 */
int BgL_auxz00_2722;
BgL_auxz00_2722 = 
(int)(((long)1)); 
BgL_arg2017z00_2065 = 
PROCEDURE_REF(BGl_nodezd2typecz12zd2envz12zzreduce_typecz00, BgL_auxz00_2722); } 
{ /* ./Reduce/typec.scm 201 */
int BgL_offsetz00_2068;
BgL_offsetz00_2068 = 
(int)(BgL_objzd2classzd2numz00_2064); 
{ /* ./Reduce/typec.scm 201 */
long BgL_offsetz00_2069;
{ /* ./Reduce/typec.scm 201 */
long BgL_auxz00_2726;
BgL_auxz00_2726 = 
(long)(BgL_offsetz00_2068); 
BgL_offsetz00_2069 = 
(BgL_auxz00_2726-OBJECT_TYPE); } 
{ /* ./Reduce/typec.scm 201 */
long BgL_modz00_2070;
{ /* ./Reduce/typec.scm 201 */
int BgL_arg2028z00_2071;
BgL_arg2028z00_2071 = 
(int)(((long)8)); 
{ /* ./Reduce/typec.scm 201 */
long BgL_n2z00_2079;
BgL_n2z00_2079 = 
(long)(BgL_arg2028z00_2071); 
BgL_modz00_2070 = 
(BgL_offsetz00_2069/BgL_n2z00_2079); } } 
{ /* ./Reduce/typec.scm 201 */
long BgL_restz00_2072;
{ /* ./Reduce/typec.scm 201 */
int BgL_arg2024z00_2073;
BgL_arg2024z00_2073 = 
(int)(((long)8)); 
{ /* ./Reduce/typec.scm 201 */
long BgL_n2z00_2082;
BgL_n2z00_2082 = 
(long)(BgL_arg2024z00_2073); 
BgL_restz00_2072 = 
(BgL_offsetz00_2069%BgL_n2z00_2082); } } 
{ /* ./Reduce/typec.scm 201 */

{ /* ./Reduce/typec.scm 201 */
obj_t BgL_bucketz00_2074;
{ /* ./Reduce/typec.scm 201 */
int BgL_kz00_2084;
BgL_kz00_2084 = 
(int)(BgL_modz00_2070); 
BgL_bucketz00_2074 = 
VECTOR_REF(BgL_arg2017z00_2065,BgL_kz00_2084); } 
{ /* ./Reduce/typec.scm 201 */
int BgL_kz00_2086;
BgL_kz00_2086 = 
(int)(BgL_restz00_2072); 
BgL_method2956z00_2062 = 
VECTOR_REF(BgL_bucketz00_2074,BgL_kz00_2086); } } } } } } } } } } 
{ /* ./Reduce/typec.scm 201 */
obj_t BgL_auxz00_2739;
BgL_auxz00_2739 = 
PROCEDURE_ENTRY(BgL_method2956z00_2062)(BgL_method2956z00_2062, 
(obj_t)(BgL_arg3707z00_1293), BEOA); 
BgL_res3944z00_2087 = 
(BgL_nodez00_bglt)(BgL_auxz00_2739); } } 
BgL_arg3704z00_1292 = BgL_res3944z00_2087; } } 
{ /* ./Reduce/typec.scm 201 */
BgL_jumpzd2exzd2itz00_bglt BgL_obj2552z00_2088;BgL_nodez00_bglt BgL_val2551z00_2089;
BgL_obj2552z00_2088 = BgL_nodez00_1288; 
BgL_val2551z00_2089 = BgL_arg3704z00_1292; 
((((BgL_jumpzd2exzd2itz00_bglt)CREF(BgL_obj2552z00_2088))->BgL_exitz00) = ((BgL_nodez00_bglt)BgL_val2551z00_2089), BUNSPEC); } } 
{ /* ./Reduce/typec.scm 202 */
BgL_nodez00_bglt BgL_arg3712z00_1294;
{ /* ./Reduce/typec.scm 202 */
BgL_nodez00_bglt BgL_arg3715z00_1295;
BgL_arg3715z00_1295 = 
(((BgL_jumpzd2exzd2itz00_bglt)CREF(BgL_nodez00_1288))->BgL_valuez00); 
{ /* ./Reduce/typec.scm 202 */
BgL_nodez00_bglt BgL_res3947z00_2117;
{ /* ./Reduce/typec.scm 202 */
obj_t BgL_method2956z00_2092;
{ /* ./Reduce/typec.scm 202 */
BgL_objectz00_bglt BgL_objz00_2093;
BgL_objz00_2093 = 
(BgL_objectz00_bglt)(BgL_arg3715z00_1295); 
{ /* ./Reduce/typec.scm 202 */
long BgL_objzd2classzd2numz00_2094;
BgL_objzd2classzd2numz00_2094 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2093); 
{ /* ./Reduce/typec.scm 202 */
obj_t BgL_arg2017z00_2095;
{ /* ./Reduce/typec.scm 202 */
int BgL_auxz00_2748;
BgL_auxz00_2748 = 
(int)(((long)1)); 
BgL_arg2017z00_2095 = 
PROCEDURE_REF(BGl_nodezd2typecz12zd2envz12zzreduce_typecz00, BgL_auxz00_2748); } 
{ /* ./Reduce/typec.scm 202 */
int BgL_offsetz00_2098;
BgL_offsetz00_2098 = 
(int)(BgL_objzd2classzd2numz00_2094); 
{ /* ./Reduce/typec.scm 202 */
long BgL_offsetz00_2099;
{ /* ./Reduce/typec.scm 202 */
long BgL_auxz00_2752;
BgL_auxz00_2752 = 
(long)(BgL_offsetz00_2098); 
BgL_offsetz00_2099 = 
(BgL_auxz00_2752-OBJECT_TYPE); } 
{ /* ./Reduce/typec.scm 202 */
long BgL_modz00_2100;
{ /* ./Reduce/typec.scm 202 */
int BgL_arg2028z00_2101;
BgL_arg2028z00_2101 = 
(int)(((long)8)); 
{ /* ./Reduce/typec.scm 202 */
long BgL_n2z00_2109;
BgL_n2z00_2109 = 
(long)(BgL_arg2028z00_2101); 
BgL_modz00_2100 = 
(BgL_offsetz00_2099/BgL_n2z00_2109); } } 
{ /* ./Reduce/typec.scm 202 */
long BgL_restz00_2102;
{ /* ./Reduce/typec.scm 202 */
int BgL_arg2024z00_2103;
BgL_arg2024z00_2103 = 
(int)(((long)8)); 
{ /* ./Reduce/typec.scm 202 */
long BgL_n2z00_2112;
BgL_n2z00_2112 = 
(long)(BgL_arg2024z00_2103); 
BgL_restz00_2102 = 
(BgL_offsetz00_2099%BgL_n2z00_2112); } } 
{ /* ./Reduce/typec.scm 202 */

{ /* ./Reduce/typec.scm 202 */
obj_t BgL_bucketz00_2104;
{ /* ./Reduce/typec.scm 202 */
int BgL_kz00_2114;
BgL_kz00_2114 = 
(int)(BgL_modz00_2100); 
BgL_bucketz00_2104 = 
VECTOR_REF(BgL_arg2017z00_2095,BgL_kz00_2114); } 
{ /* ./Reduce/typec.scm 202 */
int BgL_kz00_2116;
BgL_kz00_2116 = 
(int)(BgL_restz00_2102); 
BgL_method2956z00_2092 = 
VECTOR_REF(BgL_bucketz00_2104,BgL_kz00_2116); } } } } } } } } } } 
{ /* ./Reduce/typec.scm 202 */
obj_t BgL_auxz00_2765;
BgL_auxz00_2765 = 
PROCEDURE_ENTRY(BgL_method2956z00_2092)(BgL_method2956z00_2092, 
(obj_t)(BgL_arg3715z00_1295), BEOA); 
BgL_res3947z00_2117 = 
(BgL_nodez00_bglt)(BgL_auxz00_2765); } } 
BgL_arg3712z00_1294 = BgL_res3947z00_2117; } } 
{ /* ./Reduce/typec.scm 202 */
BgL_jumpzd2exzd2itz00_bglt BgL_obj2555z00_2118;BgL_nodez00_bglt BgL_val2554z00_2119;
BgL_obj2555z00_2118 = BgL_nodez00_1288; 
BgL_val2554z00_2119 = BgL_arg3712z00_1294; 
((((BgL_jumpzd2exzd2itz00_bglt)CREF(BgL_obj2555z00_2118))->BgL_valuez00) = ((BgL_nodez00_bglt)BgL_val2554z00_2119), BUNSPEC); } } 
BgL_auxz00_2718 = BgL_nodez00_1288; 
return 
(obj_t)(BgL_auxz00_2718);} } } 
}



/* node-typec!-set-ex-it2993 */
obj_t BGl_nodezd2typecz12zd2setzd2exzd2it2993z12zzreduce_typecz00(obj_t BgL_envz00_2323, obj_t BgL_nodez00_2324)
{ AN_OBJECT;
{ /* ./Reduce/typec.scm 190 */
{ 
BgL_setzd2exzd2itz00_bglt BgL_nodez00_1278;
{ /* ./Reduce/typec.scm 191 */
BgL_setzd2exzd2itz00_bglt BgL_auxz00_2773;
BgL_nodez00_1278 = 
(BgL_setzd2exzd2itz00_bglt)(BgL_nodez00_2324); 
{ /* ./Reduce/typec.scm 192 */
BgL_nodez00_bglt BgL_arg3683z00_1282;
{ /* ./Reduce/typec.scm 192 */
BgL_nodez00_bglt BgL_arg3686z00_1283;
BgL_arg3686z00_1283 = 
(((BgL_setzd2exzd2itz00_bglt)CREF(BgL_nodez00_1278))->BgL_bodyz00); 
{ /* ./Reduce/typec.scm 192 */
BgL_nodez00_bglt BgL_res3938z00_2027;
{ /* ./Reduce/typec.scm 192 */
obj_t BgL_method2956z00_2002;
{ /* ./Reduce/typec.scm 192 */
BgL_objectz00_bglt BgL_objz00_2003;
BgL_objz00_2003 = 
(BgL_objectz00_bglt)(BgL_arg3686z00_1283); 
{ /* ./Reduce/typec.scm 192 */
long BgL_objzd2classzd2numz00_2004;
BgL_objzd2classzd2numz00_2004 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2003); 
{ /* ./Reduce/typec.scm 192 */
obj_t BgL_arg2017z00_2005;
{ /* ./Reduce/typec.scm 192 */
int BgL_auxz00_2777;
BgL_auxz00_2777 = 
(int)(((long)1)); 
BgL_arg2017z00_2005 = 
PROCEDURE_REF(BGl_nodezd2typecz12zd2envz12zzreduce_typecz00, BgL_auxz00_2777); } 
{ /* ./Reduce/typec.scm 192 */
int BgL_offsetz00_2008;
BgL_offsetz00_2008 = 
(int)(BgL_objzd2classzd2numz00_2004); 
{ /* ./Reduce/typec.scm 192 */
long BgL_offsetz00_2009;
{ /* ./Reduce/typec.scm 192 */
long BgL_auxz00_2781;
BgL_auxz00_2781 = 
(long)(BgL_offsetz00_2008); 
BgL_offsetz00_2009 = 
(BgL_auxz00_2781-OBJECT_TYPE); } 
{ /* ./Reduce/typec.scm 192 */
long BgL_modz00_2010;
{ /* ./Reduce/typec.scm 192 */
int BgL_arg2028z00_2011;
BgL_arg2028z00_2011 = 
(int)(((long)8)); 
{ /* ./Reduce/typec.scm 192 */
long BgL_n2z00_2019;
BgL_n2z00_2019 = 
(long)(BgL_arg2028z00_2011); 
BgL_modz00_2010 = 
(BgL_offsetz00_2009/BgL_n2z00_2019); } } 
{ /* ./Reduce/typec.scm 192 */
long BgL_restz00_2012;
{ /* ./Reduce/typec.scm 192 */
int BgL_arg2024z00_2013;
BgL_arg2024z00_2013 = 
(int)(((long)8)); 
{ /* ./Reduce/typec.scm 192 */
long BgL_n2z00_2022;
BgL_n2z00_2022 = 
(long)(BgL_arg2024z00_2013); 
BgL_restz00_2012 = 
(BgL_offsetz00_2009%BgL_n2z00_2022); } } 
{ /* ./Reduce/typec.scm 192 */

{ /* ./Reduce/typec.scm 192 */
obj_t BgL_bucketz00_2014;
{ /* ./Reduce/typec.scm 192 */
int BgL_kz00_2024;
BgL_kz00_2024 = 
(int)(BgL_modz00_2010); 
BgL_bucketz00_2014 = 
VECTOR_REF(BgL_arg2017z00_2005,BgL_kz00_2024); } 
{ /* ./Reduce/typec.scm 192 */
int BgL_kz00_2026;
BgL_kz00_2026 = 
(int)(BgL_restz00_2012); 
BgL_method2956z00_2002 = 
VECTOR_REF(BgL_bucketz00_2014,BgL_kz00_2026); } } } } } } } } } } 
{ /* ./Reduce/typec.scm 192 */
obj_t BgL_auxz00_2794;
BgL_auxz00_2794 = 
PROCEDURE_ENTRY(BgL_method2956z00_2002)(BgL_method2956z00_2002, 
(obj_t)(BgL_arg3686z00_1283), BEOA); 
BgL_res3938z00_2027 = 
(BgL_nodez00_bglt)(BgL_auxz00_2794); } } 
BgL_arg3683z00_1282 = BgL_res3938z00_2027; } } 
{ /* ./Reduce/typec.scm 192 */
BgL_setzd2exzd2itz00_bglt BgL_obj2529z00_2028;BgL_nodez00_bglt BgL_val2528z00_2029;
BgL_obj2529z00_2028 = BgL_nodez00_1278; 
BgL_val2528z00_2029 = BgL_arg3683z00_1282; 
((((BgL_setzd2exzd2itz00_bglt)CREF(BgL_obj2529z00_2028))->BgL_bodyz00) = ((BgL_nodez00_bglt)BgL_val2528z00_2029), BUNSPEC); } } 
{ /* ./Reduce/typec.scm 193 */
BgL_nodez00_bglt BgL_arg3690z00_1284;
{ /* ./Reduce/typec.scm 193 */
BgL_varz00_bglt BgL_arg3694z00_1285;
BgL_arg3694z00_1285 = 
(((BgL_setzd2exzd2itz00_bglt)CREF(BgL_nodez00_1278))->BgL_varz00); 
{ /* ./Reduce/typec.scm 193 */
BgL_nodez00_bglt BgL_res3941z00_2057;
{ /* ./Reduce/typec.scm 193 */
BgL_nodez00_bglt BgL_nodez00_2031;
BgL_nodez00_2031 = 
(BgL_nodez00_bglt)(BgL_arg3694z00_1285); 
{ /* ./Reduce/typec.scm 193 */
obj_t BgL_method2956z00_2032;
{ /* ./Reduce/typec.scm 193 */
BgL_objectz00_bglt BgL_objz00_2033;
BgL_objz00_2033 = 
(BgL_objectz00_bglt)(BgL_nodez00_2031); 
{ /* ./Reduce/typec.scm 193 */
long BgL_objzd2classzd2numz00_2034;
BgL_objzd2classzd2numz00_2034 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2033); 
{ /* ./Reduce/typec.scm 193 */
obj_t BgL_arg2017z00_2035;
{ /* ./Reduce/typec.scm 193 */
int BgL_auxz00_2804;
BgL_auxz00_2804 = 
(int)(((long)1)); 
BgL_arg2017z00_2035 = 
PROCEDURE_REF(BGl_nodezd2typecz12zd2envz12zzreduce_typecz00, BgL_auxz00_2804); } 
{ /* ./Reduce/typec.scm 193 */
int BgL_offsetz00_2038;
BgL_offsetz00_2038 = 
(int)(BgL_objzd2classzd2numz00_2034); 
{ /* ./Reduce/typec.scm 193 */
long BgL_offsetz00_2039;
{ /* ./Reduce/typec.scm 193 */
long BgL_auxz00_2808;
BgL_auxz00_2808 = 
(long)(BgL_offsetz00_2038); 
BgL_offsetz00_2039 = 
(BgL_auxz00_2808-OBJECT_TYPE); } 
{ /* ./Reduce/typec.scm 193 */
long BgL_modz00_2040;
{ /* ./Reduce/typec.scm 193 */
int BgL_arg2028z00_2041;
BgL_arg2028z00_2041 = 
(int)(((long)8)); 
{ /* ./Reduce/typec.scm 193 */
long BgL_n2z00_2049;
BgL_n2z00_2049 = 
(long)(BgL_arg2028z00_2041); 
BgL_modz00_2040 = 
(BgL_offsetz00_2039/BgL_n2z00_2049); } } 
{ /* ./Reduce/typec.scm 193 */
long BgL_restz00_2042;
{ /* ./Reduce/typec.scm 193 */
int BgL_arg2024z00_2043;
BgL_arg2024z00_2043 = 
(int)(((long)8)); 
{ /* ./Reduce/typec.scm 193 */
long BgL_n2z00_2052;
BgL_n2z00_2052 = 
(long)(BgL_arg2024z00_2043); 
BgL_restz00_2042 = 
(BgL_offsetz00_2039%BgL_n2z00_2052); } } 
{ /* ./Reduce/typec.scm 193 */

{ /* ./Reduce/typec.scm 193 */
obj_t BgL_bucketz00_2044;
{ /* ./Reduce/typec.scm 193 */
int BgL_kz00_2054;
BgL_kz00_2054 = 
(int)(BgL_modz00_2040); 
BgL_bucketz00_2044 = 
VECTOR_REF(BgL_arg2017z00_2035,BgL_kz00_2054); } 
{ /* ./Reduce/typec.scm 193 */
int BgL_kz00_2056;
BgL_kz00_2056 = 
(int)(BgL_restz00_2042); 
BgL_method2956z00_2032 = 
VECTOR_REF(BgL_bucketz00_2044,BgL_kz00_2056); } } } } } } } } } } 
{ /* ./Reduce/typec.scm 193 */
obj_t BgL_auxz00_2821;
BgL_auxz00_2821 = 
PROCEDURE_ENTRY(BgL_method2956z00_2032)(BgL_method2956z00_2032, 
(obj_t)(BgL_nodez00_2031), BEOA); 
BgL_res3941z00_2057 = 
(BgL_nodez00_bglt)(BgL_auxz00_2821); } } } 
BgL_arg3690z00_1284 = BgL_res3941z00_2057; } } 
{ /* ./Reduce/typec.scm 193 */
BgL_setzd2exzd2itz00_bglt BgL_obj2526z00_2058;BgL_varz00_bglt BgL_val2525z00_2059;
BgL_obj2526z00_2058 = BgL_nodez00_1278; 
BgL_val2525z00_2059 = 
(BgL_varz00_bglt)(BgL_arg3690z00_1284); 
((((BgL_setzd2exzd2itz00_bglt)CREF(BgL_obj2526z00_2058))->BgL_varz00) = ((BgL_varz00_bglt)BgL_val2525z00_2059), BUNSPEC); } } 
BgL_auxz00_2773 = BgL_nodez00_1278; 
return 
(obj_t)(BgL_auxz00_2773);} } } 
}



/* node-typec!-let-var2991 */
obj_t BGl_nodezd2typecz12zd2letzd2var2991zc0zzreduce_typecz00(obj_t BgL_envz00_2325, obj_t BgL_nodez00_2326)
{ AN_OBJECT;
{ /* ./Reduce/typec.scm 179 */
{ 
BgL_letzd2varzd2_bglt BgL_nodez00_1262;
{ /* ./Reduce/typec.scm 180 */
BgL_letzd2varzd2_bglt BgL_auxz00_2830;
BgL_nodez00_1262 = 
(BgL_letzd2varzd2_bglt)(BgL_nodez00_2326); 
{ 
obj_t BgL_l2940z00_1266;
{ /* ./Reduce/typec.scm 181 */
obj_t BgL_arg3652z00_1268;
BgL_arg3652z00_1268 = 
(((BgL_letzd2varzd2_bglt)CREF(BgL_nodez00_1262))->BgL_bindingsz00); 
BgL_l2940z00_1266 = BgL_arg3652z00_1268; 
BgL_forzd2each2941zd2_1267:
{ /* ./Reduce/typec.scm 181 */
bool_t BgL_test3655z00_1269;
BgL_test3655z00_1269 = 
PAIRP(BgL_l2940z00_1266); 
if(BgL_test3655z00_1269)
{ /* ./Reduce/typec.scm 181 */
{ /* ./Reduce/typec.scm 182 */
obj_t BgL_bindingz00_1270;
BgL_bindingz00_1270 = 
CAR(BgL_l2940z00_1266); 
{ /* ./Reduce/typec.scm 182 */
BgL_nodez00_bglt BgL_arg3657z00_1271;
{ /* ./Reduce/typec.scm 182 */
obj_t BgL_arg3660z00_1272;
BgL_arg3660z00_1272 = 
CDR(BgL_bindingz00_1270); 
{ /* ./Reduce/typec.scm 182 */
BgL_nodez00_bglt BgL_res3932z00_1966;
{ /* ./Reduce/typec.scm 182 */
BgL_nodez00_bglt BgL_nodez00_1940;
BgL_nodez00_1940 = 
(BgL_nodez00_bglt)(BgL_arg3660z00_1272); 
{ /* ./Reduce/typec.scm 182 */
obj_t BgL_method2956z00_1941;
{ /* ./Reduce/typec.scm 182 */
BgL_objectz00_bglt BgL_objz00_1942;
BgL_objz00_1942 = 
(BgL_objectz00_bglt)(BgL_nodez00_1940); 
{ /* ./Reduce/typec.scm 182 */
long BgL_objzd2classzd2numz00_1943;
BgL_objzd2classzd2numz00_1943 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1942); 
{ /* ./Reduce/typec.scm 182 */
obj_t BgL_arg2017z00_1944;
{ /* ./Reduce/typec.scm 182 */
int BgL_auxz00_2839;
BgL_auxz00_2839 = 
(int)(((long)1)); 
BgL_arg2017z00_1944 = 
PROCEDURE_REF(BGl_nodezd2typecz12zd2envz12zzreduce_typecz00, BgL_auxz00_2839); } 
{ /* ./Reduce/typec.scm 182 */
int BgL_offsetz00_1947;
BgL_offsetz00_1947 = 
(int)(BgL_objzd2classzd2numz00_1943); 
{ /* ./Reduce/typec.scm 182 */
long BgL_offsetz00_1948;
{ /* ./Reduce/typec.scm 182 */
long BgL_auxz00_2843;
BgL_auxz00_2843 = 
(long)(BgL_offsetz00_1947); 
BgL_offsetz00_1948 = 
(BgL_auxz00_2843-OBJECT_TYPE); } 
{ /* ./Reduce/typec.scm 182 */
long BgL_modz00_1949;
{ /* ./Reduce/typec.scm 182 */
int BgL_arg2028z00_1950;
BgL_arg2028z00_1950 = 
(int)(((long)8)); 
{ /* ./Reduce/typec.scm 182 */
long BgL_n2z00_1958;
BgL_n2z00_1958 = 
(long)(BgL_arg2028z00_1950); 
BgL_modz00_1949 = 
(BgL_offsetz00_1948/BgL_n2z00_1958); } } 
{ /* ./Reduce/typec.scm 182 */
long BgL_restz00_1951;
{ /* ./Reduce/typec.scm 182 */
int BgL_arg2024z00_1952;
BgL_arg2024z00_1952 = 
(int)(((long)8)); 
{ /* ./Reduce/typec.scm 182 */
long BgL_n2z00_1961;
BgL_n2z00_1961 = 
(long)(BgL_arg2024z00_1952); 
BgL_restz00_1951 = 
(BgL_offsetz00_1948%BgL_n2z00_1961); } } 
{ /* ./Reduce/typec.scm 182 */

{ /* ./Reduce/typec.scm 182 */
obj_t BgL_bucketz00_1953;
{ /* ./Reduce/typec.scm 182 */
int BgL_kz00_1963;
BgL_kz00_1963 = 
(int)(BgL_modz00_1949); 
BgL_bucketz00_1953 = 
VECTOR_REF(BgL_arg2017z00_1944,BgL_kz00_1963); } 
{ /* ./Reduce/typec.scm 182 */
int BgL_kz00_1965;
BgL_kz00_1965 = 
(int)(BgL_restz00_1951); 
BgL_method2956z00_1941 = 
VECTOR_REF(BgL_bucketz00_1953,BgL_kz00_1965); } } } } } } } } } } 
{ /* ./Reduce/typec.scm 182 */
obj_t BgL_auxz00_2856;
BgL_auxz00_2856 = 
PROCEDURE_ENTRY(BgL_method2956z00_1941)(BgL_method2956z00_1941, 
(obj_t)(BgL_nodez00_1940), BEOA); 
BgL_res3932z00_1966 = 
(BgL_nodez00_bglt)(BgL_auxz00_2856); } } } 
BgL_arg3657z00_1271 = BgL_res3932z00_1966; } } 
{ /* ./Reduce/typec.scm 182 */
obj_t BgL_objz00_1968;
BgL_objz00_1968 = 
(obj_t)(BgL_arg3657z00_1271); 
SET_CDR(BgL_bindingz00_1270, BgL_objz00_1968); } } } 
{ /* ./Reduce/typec.scm 181 */
obj_t BgL_arg3665z00_1273;
BgL_arg3665z00_1273 = 
CDR(BgL_l2940z00_1266); 
{ 
obj_t BgL_l2940z00_2864;
BgL_l2940z00_2864 = BgL_arg3665z00_1273; 
BgL_l2940z00_1266 = BgL_l2940z00_2864; 
goto BgL_forzd2each2941zd2_1267;} } }  else 
{ /* ./Reduce/typec.scm 181 */((bool_t)1); } } } } 
{ /* ./Reduce/typec.scm 184 */
BgL_nodez00_bglt BgL_arg3670z00_1274;
{ /* ./Reduce/typec.scm 184 */
BgL_nodez00_bglt BgL_arg3673z00_1275;
BgL_arg3673z00_1275 = 
(((BgL_letzd2varzd2_bglt)CREF(BgL_nodez00_1262))->BgL_bodyz00); 
{ /* ./Reduce/typec.scm 184 */
BgL_nodez00_bglt BgL_res3935z00_1997;
{ /* ./Reduce/typec.scm 184 */
obj_t BgL_method2956z00_1972;
{ /* ./Reduce/typec.scm 184 */
BgL_objectz00_bglt BgL_objz00_1973;
BgL_objz00_1973 = 
(BgL_objectz00_bglt)(BgL_arg3673z00_1275); 
{ /* ./Reduce/typec.scm 184 */
long BgL_objzd2classzd2numz00_1974;
BgL_objzd2classzd2numz00_1974 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1973); 
{ /* ./Reduce/typec.scm 184 */
obj_t BgL_arg2017z00_1975;
{ /* ./Reduce/typec.scm 184 */
int BgL_auxz00_2868;
BgL_auxz00_2868 = 
(int)(((long)1)); 
BgL_arg2017z00_1975 = 
PROCEDURE_REF(BGl_nodezd2typecz12zd2envz12zzreduce_typecz00, BgL_auxz00_2868); } 
{ /* ./Reduce/typec.scm 184 */
int BgL_offsetz00_1978;
BgL_offsetz00_1978 = 
(int)(BgL_objzd2classzd2numz00_1974); 
{ /* ./Reduce/typec.scm 184 */
long BgL_offsetz00_1979;
{ /* ./Reduce/typec.scm 184 */
long BgL_auxz00_2872;
BgL_auxz00_2872 = 
(long)(BgL_offsetz00_1978); 
BgL_offsetz00_1979 = 
(BgL_auxz00_2872-OBJECT_TYPE); } 
{ /* ./Reduce/typec.scm 184 */
long BgL_modz00_1980;
{ /* ./Reduce/typec.scm 184 */
int BgL_arg2028z00_1981;
BgL_arg2028z00_1981 = 
(int)(((long)8)); 
{ /* ./Reduce/typec.scm 184 */
long BgL_n2z00_1989;
BgL_n2z00_1989 = 
(long)(BgL_arg2028z00_1981); 
BgL_modz00_1980 = 
(BgL_offsetz00_1979/BgL_n2z00_1989); } } 
{ /* ./Reduce/typec.scm 184 */
long BgL_restz00_1982;
{ /* ./Reduce/typec.scm 184 */
int BgL_arg2024z00_1983;
BgL_arg2024z00_1983 = 
(int)(((long)8)); 
{ /* ./Reduce/typec.scm 184 */
long BgL_n2z00_1992;
BgL_n2z00_1992 = 
(long)(BgL_arg2024z00_1983); 
BgL_restz00_1982 = 
(BgL_offsetz00_1979%BgL_n2z00_1992); } } 
{ /* ./Reduce/typec.scm 184 */

{ /* ./Reduce/typec.scm 184 */
obj_t BgL_bucketz00_1984;
{ /* ./Reduce/typec.scm 184 */
int BgL_kz00_1994;
BgL_kz00_1994 = 
(int)(BgL_modz00_1980); 
BgL_bucketz00_1984 = 
VECTOR_REF(BgL_arg2017z00_1975,BgL_kz00_1994); } 
{ /* ./Reduce/typec.scm 184 */
int BgL_kz00_1996;
BgL_kz00_1996 = 
(int)(BgL_restz00_1982); 
BgL_method2956z00_1972 = 
VECTOR_REF(BgL_bucketz00_1984,BgL_kz00_1996); } } } } } } } } } } 
{ /* ./Reduce/typec.scm 184 */
obj_t BgL_auxz00_2885;
BgL_auxz00_2885 = 
PROCEDURE_ENTRY(BgL_method2956z00_1972)(BgL_method2956z00_1972, 
(obj_t)(BgL_arg3673z00_1275), BEOA); 
BgL_res3935z00_1997 = 
(BgL_nodez00_bglt)(BgL_auxz00_2885); } } 
BgL_arg3670z00_1274 = BgL_res3935z00_1997; } } 
{ /* ./Reduce/typec.scm 184 */
BgL_letzd2varzd2_bglt BgL_obj2491z00_1998;BgL_nodez00_bglt BgL_val2490z00_1999;
BgL_obj2491z00_1998 = BgL_nodez00_1262; 
BgL_val2490z00_1999 = BgL_arg3670z00_1274; 
((((BgL_letzd2varzd2_bglt)CREF(BgL_obj2491z00_1998))->BgL_bodyz00) = ((BgL_nodez00_bglt)BgL_val2490z00_1999), BUNSPEC); } } 
BgL_auxz00_2830 = BgL_nodez00_1262; 
return 
(obj_t)(BgL_auxz00_2830);} } } 
}



/* node-typec!-let-fun2989 */
obj_t BGl_nodezd2typecz12zd2letzd2fun2989zc0zzreduce_typecz00(obj_t BgL_envz00_2327, obj_t BgL_nodez00_2328)
{ AN_OBJECT;
{ /* ./Reduce/typec.scm 167 */
{ 
BgL_letzd2funzd2_bglt BgL_nodez00_1245;
{ /* ./Reduce/typec.scm 168 */
BgL_letzd2funzd2_bglt BgL_auxz00_2893;
BgL_nodez00_1245 = 
(BgL_letzd2funzd2_bglt)(BgL_nodez00_2328); 
{ 
obj_t BgL_l2936z00_1249;
{ /* ./Reduce/typec.scm 169 */
obj_t BgL_arg3620z00_1251;
BgL_arg3620z00_1251 = 
(((BgL_letzd2funzd2_bglt)CREF(BgL_nodez00_1245))->BgL_localsz00); 
BgL_l2936z00_1249 = BgL_arg3620z00_1251; 
BgL_forzd2each2937zd2_1250:
{ /* ./Reduce/typec.scm 169 */
bool_t BgL_test3623z00_1252;
BgL_test3623z00_1252 = 
PAIRP(BgL_l2936z00_1249); 
if(BgL_test3623z00_1252)
{ /* ./Reduce/typec.scm 169 */
{ /* ./Reduce/typec.scm 170 */
obj_t BgL_localz00_1253;
BgL_localz00_1253 = 
CAR(BgL_l2936z00_1249); 
{ /* ./Reduce/typec.scm 170 */
BgL_valuez00_bglt BgL_funz00_1254;
{ /* ./Reduce/typec.scm 170 */
BgL_variablez00_bglt BgL_obj1100z00_1874;
BgL_obj1100z00_1874 = 
(BgL_variablez00_bglt)(BgL_localz00_1253); 
BgL_funz00_1254 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1100z00_1874))->BgL_valuez00); } 
{ /* ./Reduce/typec.scm 171 */
BgL_nodez00_bglt BgL_arg3625z00_1255;
{ /* ./Reduce/typec.scm 171 */
obj_t BgL_arg3628z00_1256;
{ /* ./Reduce/typec.scm 171 */
BgL_sfunz00_bglt BgL_obj1370z00_1875;
BgL_obj1370z00_1875 = 
(BgL_sfunz00_bglt)(BgL_funz00_1254); 
BgL_arg3628z00_1256 = 
(((BgL_sfunz00_bglt)CREF(BgL_obj1370z00_1875))->BgL_bodyz00); } 
{ /* ./Reduce/typec.scm 171 */
BgL_nodez00_bglt BgL_res3926z00_1902;
{ /* ./Reduce/typec.scm 171 */
BgL_nodez00_bglt BgL_nodez00_1876;
BgL_nodez00_1876 = 
(BgL_nodez00_bglt)(BgL_arg3628z00_1256); 
{ /* ./Reduce/typec.scm 171 */
obj_t BgL_method2956z00_1877;
{ /* ./Reduce/typec.scm 171 */
BgL_objectz00_bglt BgL_objz00_1878;
BgL_objz00_1878 = 
(BgL_objectz00_bglt)(BgL_nodez00_1876); 
{ /* ./Reduce/typec.scm 171 */
long BgL_objzd2classzd2numz00_1879;
BgL_objzd2classzd2numz00_1879 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1878); 
{ /* ./Reduce/typec.scm 171 */
obj_t BgL_arg2017z00_1880;
{ /* ./Reduce/typec.scm 171 */
int BgL_auxz00_2905;
BgL_auxz00_2905 = 
(int)(((long)1)); 
BgL_arg2017z00_1880 = 
PROCEDURE_REF(BGl_nodezd2typecz12zd2envz12zzreduce_typecz00, BgL_auxz00_2905); } 
{ /* ./Reduce/typec.scm 171 */
int BgL_offsetz00_1883;
BgL_offsetz00_1883 = 
(int)(BgL_objzd2classzd2numz00_1879); 
{ /* ./Reduce/typec.scm 171 */
long BgL_offsetz00_1884;
{ /* ./Reduce/typec.scm 171 */
long BgL_auxz00_2909;
BgL_auxz00_2909 = 
(long)(BgL_offsetz00_1883); 
BgL_offsetz00_1884 = 
(BgL_auxz00_2909-OBJECT_TYPE); } 
{ /* ./Reduce/typec.scm 171 */
long BgL_modz00_1885;
{ /* ./Reduce/typec.scm 171 */
int BgL_arg2028z00_1886;
BgL_arg2028z00_1886 = 
(int)(((long)8)); 
{ /* ./Reduce/typec.scm 171 */
long BgL_n2z00_1894;
BgL_n2z00_1894 = 
(long)(BgL_arg2028z00_1886); 
BgL_modz00_1885 = 
(BgL_offsetz00_1884/BgL_n2z00_1894); } } 
{ /* ./Reduce/typec.scm 171 */
long BgL_restz00_1887;
{ /* ./Reduce/typec.scm 171 */
int BgL_arg2024z00_1888;
BgL_arg2024z00_1888 = 
(int)(((long)8)); 
{ /* ./Reduce/typec.scm 171 */
long BgL_n2z00_1897;
BgL_n2z00_1897 = 
(long)(BgL_arg2024z00_1888); 
BgL_restz00_1887 = 
(BgL_offsetz00_1884%BgL_n2z00_1897); } } 
{ /* ./Reduce/typec.scm 171 */

{ /* ./Reduce/typec.scm 171 */
obj_t BgL_bucketz00_1889;
{ /* ./Reduce/typec.scm 171 */
int BgL_kz00_1899;
BgL_kz00_1899 = 
(int)(BgL_modz00_1885); 
BgL_bucketz00_1889 = 
VECTOR_REF(BgL_arg2017z00_1880,BgL_kz00_1899); } 
{ /* ./Reduce/typec.scm 171 */
int BgL_kz00_1901;
BgL_kz00_1901 = 
(int)(BgL_restz00_1887); 
BgL_method2956z00_1877 = 
VECTOR_REF(BgL_bucketz00_1889,BgL_kz00_1901); } } } } } } } } } } 
{ /* ./Reduce/typec.scm 171 */
obj_t BgL_auxz00_2922;
BgL_auxz00_2922 = 
PROCEDURE_ENTRY(BgL_method2956z00_1877)(BgL_method2956z00_1877, 
(obj_t)(BgL_nodez00_1876), BEOA); 
BgL_res3926z00_1902 = 
(BgL_nodez00_bglt)(BgL_auxz00_2922); } } } 
BgL_arg3625z00_1255 = BgL_res3926z00_1902; } } 
{ /* ./Reduce/typec.scm 171 */
BgL_sfunz00_bglt BgL_obj1373z00_1903;obj_t BgL_val1371z00_1904;
BgL_obj1373z00_1903 = 
(BgL_sfunz00_bglt)(BgL_funz00_1254); 
BgL_val1371z00_1904 = 
(obj_t)(BgL_arg3625z00_1255); 
((((BgL_sfunz00_bglt)CREF(BgL_obj1373z00_1903))->BgL_bodyz00) = ((obj_t)BgL_val1371z00_1904), BUNSPEC); } } } } 
{ /* ./Reduce/typec.scm 169 */
obj_t BgL_arg3634z00_1257;
BgL_arg3634z00_1257 = 
CDR(BgL_l2936z00_1249); 
{ 
obj_t BgL_l2936z00_2931;
BgL_l2936z00_2931 = BgL_arg3634z00_1257; 
BgL_l2936z00_1249 = BgL_l2936z00_2931; 
goto BgL_forzd2each2937zd2_1250;} } }  else 
{ /* ./Reduce/typec.scm 169 */((bool_t)1); } } } } 
{ /* ./Reduce/typec.scm 173 */
BgL_nodez00_bglt BgL_arg3639z00_1258;
{ /* ./Reduce/typec.scm 173 */
BgL_nodez00_bglt BgL_arg3642z00_1259;
BgL_arg3642z00_1259 = 
(((BgL_letzd2funzd2_bglt)CREF(BgL_nodez00_1245))->BgL_bodyz00); 
{ /* ./Reduce/typec.scm 173 */
BgL_nodez00_bglt BgL_res3929z00_1933;
{ /* ./Reduce/typec.scm 173 */
obj_t BgL_method2956z00_1908;
{ /* ./Reduce/typec.scm 173 */
BgL_objectz00_bglt BgL_objz00_1909;
BgL_objz00_1909 = 
(BgL_objectz00_bglt)(BgL_arg3642z00_1259); 
{ /* ./Reduce/typec.scm 173 */
long BgL_objzd2classzd2numz00_1910;
BgL_objzd2classzd2numz00_1910 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1909); 
{ /* ./Reduce/typec.scm 173 */
obj_t BgL_arg2017z00_1911;
{ /* ./Reduce/typec.scm 173 */
int BgL_auxz00_2935;
BgL_auxz00_2935 = 
(int)(((long)1)); 
BgL_arg2017z00_1911 = 
PROCEDURE_REF(BGl_nodezd2typecz12zd2envz12zzreduce_typecz00, BgL_auxz00_2935); } 
{ /* ./Reduce/typec.scm 173 */
int BgL_offsetz00_1914;
BgL_offsetz00_1914 = 
(int)(BgL_objzd2classzd2numz00_1910); 
{ /* ./Reduce/typec.scm 173 */
long BgL_offsetz00_1915;
{ /* ./Reduce/typec.scm 173 */
long BgL_auxz00_2939;
BgL_auxz00_2939 = 
(long)(BgL_offsetz00_1914); 
BgL_offsetz00_1915 = 
(BgL_auxz00_2939-OBJECT_TYPE); } 
{ /* ./Reduce/typec.scm 173 */
long BgL_modz00_1916;
{ /* ./Reduce/typec.scm 173 */
int BgL_arg2028z00_1917;
BgL_arg2028z00_1917 = 
(int)(((long)8)); 
{ /* ./Reduce/typec.scm 173 */
long BgL_n2z00_1925;
BgL_n2z00_1925 = 
(long)(BgL_arg2028z00_1917); 
BgL_modz00_1916 = 
(BgL_offsetz00_1915/BgL_n2z00_1925); } } 
{ /* ./Reduce/typec.scm 173 */
long BgL_restz00_1918;
{ /* ./Reduce/typec.scm 173 */
int BgL_arg2024z00_1919;
BgL_arg2024z00_1919 = 
(int)(((long)8)); 
{ /* ./Reduce/typec.scm 173 */
long BgL_n2z00_1928;
BgL_n2z00_1928 = 
(long)(BgL_arg2024z00_1919); 
BgL_restz00_1918 = 
(BgL_offsetz00_1915%BgL_n2z00_1928); } } 
{ /* ./Reduce/typec.scm 173 */

{ /* ./Reduce/typec.scm 173 */
obj_t BgL_bucketz00_1920;
{ /* ./Reduce/typec.scm 173 */
int BgL_kz00_1930;
BgL_kz00_1930 = 
(int)(BgL_modz00_1916); 
BgL_bucketz00_1920 = 
VECTOR_REF(BgL_arg2017z00_1911,BgL_kz00_1930); } 
{ /* ./Reduce/typec.scm 173 */
int BgL_kz00_1932;
BgL_kz00_1932 = 
(int)(BgL_restz00_1918); 
BgL_method2956z00_1908 = 
VECTOR_REF(BgL_bucketz00_1920,BgL_kz00_1932); } } } } } } } } } } 
{ /* ./Reduce/typec.scm 173 */
obj_t BgL_auxz00_2952;
BgL_auxz00_2952 = 
PROCEDURE_ENTRY(BgL_method2956z00_1908)(BgL_method2956z00_1908, 
(obj_t)(BgL_arg3642z00_1259), BEOA); 
BgL_res3929z00_1933 = 
(BgL_nodez00_bglt)(BgL_auxz00_2952); } } 
BgL_arg3639z00_1258 = BgL_res3929z00_1933; } } 
{ /* ./Reduce/typec.scm 173 */
BgL_letzd2funzd2_bglt BgL_obj2453z00_1934;BgL_nodez00_bglt BgL_val2452z00_1935;
BgL_obj2453z00_1934 = BgL_nodez00_1245; 
BgL_val2452z00_1935 = BgL_arg3639z00_1258; 
((((BgL_letzd2funzd2_bglt)CREF(BgL_obj2453z00_1934))->BgL_bodyz00) = ((BgL_nodez00_bglt)BgL_val2452z00_1935), BUNSPEC); } } 
BgL_auxz00_2893 = BgL_nodez00_1245; 
return 
(obj_t)(BgL_auxz00_2893);} } } 
}



/* node-typec!-select2987 */
obj_t BGl_nodezd2typecz12zd2select2987z12zzreduce_typecz00(obj_t BgL_envz00_2329, obj_t BgL_nodez00_2330)
{ AN_OBJECT;
{ /* ./Reduce/typec.scm 156 */
{ 
BgL_selectz00_bglt BgL_nodez00_1229;
{ /* ./Reduce/typec.scm 157 */
BgL_selectz00_bglt BgL_auxz00_2960;
BgL_nodez00_1229 = 
(BgL_selectz00_bglt)(BgL_nodez00_2330); 
{ /* ./Reduce/typec.scm 158 */
BgL_nodez00_bglt BgL_arg3589z00_1233;
{ /* ./Reduce/typec.scm 158 */
BgL_nodez00_bglt BgL_arg3592z00_1234;
BgL_arg3592z00_1234 = 
(((BgL_selectz00_bglt)CREF(BgL_nodez00_1229))->BgL_testz00); 
{ /* ./Reduce/typec.scm 158 */
BgL_nodez00_bglt BgL_res3920z00_1834;
{ /* ./Reduce/typec.scm 158 */
obj_t BgL_method2956z00_1809;
{ /* ./Reduce/typec.scm 158 */
BgL_objectz00_bglt BgL_objz00_1810;
BgL_objz00_1810 = 
(BgL_objectz00_bglt)(BgL_arg3592z00_1234); 
{ /* ./Reduce/typec.scm 158 */
long BgL_objzd2classzd2numz00_1811;
BgL_objzd2classzd2numz00_1811 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1810); 
{ /* ./Reduce/typec.scm 158 */
obj_t BgL_arg2017z00_1812;
{ /* ./Reduce/typec.scm 158 */
int BgL_auxz00_2964;
BgL_auxz00_2964 = 
(int)(((long)1)); 
BgL_arg2017z00_1812 = 
PROCEDURE_REF(BGl_nodezd2typecz12zd2envz12zzreduce_typecz00, BgL_auxz00_2964); } 
{ /* ./Reduce/typec.scm 158 */
int BgL_offsetz00_1815;
BgL_offsetz00_1815 = 
(int)(BgL_objzd2classzd2numz00_1811); 
{ /* ./Reduce/typec.scm 158 */
long BgL_offsetz00_1816;
{ /* ./Reduce/typec.scm 158 */
long BgL_auxz00_2968;
BgL_auxz00_2968 = 
(long)(BgL_offsetz00_1815); 
BgL_offsetz00_1816 = 
(BgL_auxz00_2968-OBJECT_TYPE); } 
{ /* ./Reduce/typec.scm 158 */
long BgL_modz00_1817;
{ /* ./Reduce/typec.scm 158 */
int BgL_arg2028z00_1818;
BgL_arg2028z00_1818 = 
(int)(((long)8)); 
{ /* ./Reduce/typec.scm 158 */
long BgL_n2z00_1826;
BgL_n2z00_1826 = 
(long)(BgL_arg2028z00_1818); 
BgL_modz00_1817 = 
(BgL_offsetz00_1816/BgL_n2z00_1826); } } 
{ /* ./Reduce/typec.scm 158 */
long BgL_restz00_1819;
{ /* ./Reduce/typec.scm 158 */
int BgL_arg2024z00_1820;
BgL_arg2024z00_1820 = 
(int)(((long)8)); 
{ /* ./Reduce/typec.scm 158 */
long BgL_n2z00_1829;
BgL_n2z00_1829 = 
(long)(BgL_arg2024z00_1820); 
BgL_restz00_1819 = 
(BgL_offsetz00_1816%BgL_n2z00_1829); } } 
{ /* ./Reduce/typec.scm 158 */

{ /* ./Reduce/typec.scm 158 */
obj_t BgL_bucketz00_1821;
{ /* ./Reduce/typec.scm 158 */
int BgL_kz00_1831;
BgL_kz00_1831 = 
(int)(BgL_modz00_1817); 
BgL_bucketz00_1821 = 
VECTOR_REF(BgL_arg2017z00_1812,BgL_kz00_1831); } 
{ /* ./Reduce/typec.scm 158 */
int BgL_kz00_1833;
BgL_kz00_1833 = 
(int)(BgL_restz00_1819); 
BgL_method2956z00_1809 = 
VECTOR_REF(BgL_bucketz00_1821,BgL_kz00_1833); } } } } } } } } } } 
{ /* ./Reduce/typec.scm 158 */
obj_t BgL_auxz00_2981;
BgL_auxz00_2981 = 
PROCEDURE_ENTRY(BgL_method2956z00_1809)(BgL_method2956z00_1809, 
(obj_t)(BgL_arg3592z00_1234), BEOA); 
BgL_res3920z00_1834 = 
(BgL_nodez00_bglt)(BgL_auxz00_2981); } } 
BgL_arg3589z00_1233 = BgL_res3920z00_1834; } } 
{ /* ./Reduce/typec.scm 158 */
BgL_selectz00_bglt BgL_obj2410z00_1835;BgL_nodez00_bglt BgL_val2409z00_1836;
BgL_obj2410z00_1835 = BgL_nodez00_1229; 
BgL_val2409z00_1836 = BgL_arg3589z00_1233; 
((((BgL_selectz00_bglt)CREF(BgL_obj2410z00_1835))->BgL_testz00) = ((BgL_nodez00_bglt)BgL_val2409z00_1836), BUNSPEC); } } 
{ 
obj_t BgL_l2932z00_1235;
{ /* ./Reduce/typec.scm 159 */
obj_t BgL_arg3596z00_1237;
BgL_arg3596z00_1237 = 
(((BgL_selectz00_bglt)CREF(BgL_nodez00_1229))->BgL_clausesz00); 
BgL_l2932z00_1235 = BgL_arg3596z00_1237; 
BgL_forzd2each2933zd2_1236:
{ /* ./Reduce/typec.scm 159 */
bool_t BgL_test3599z00_1238;
BgL_test3599z00_1238 = 
PAIRP(BgL_l2932z00_1235); 
if(BgL_test3599z00_1238)
{ /* ./Reduce/typec.scm 159 */
{ /* ./Reduce/typec.scm 160 */
obj_t BgL_clausez00_1239;
BgL_clausez00_1239 = 
CAR(BgL_l2932z00_1235); 
{ /* ./Reduce/typec.scm 160 */
BgL_nodez00_bglt BgL_arg3601z00_1240;
{ /* ./Reduce/typec.scm 160 */
obj_t BgL_arg3604z00_1241;
BgL_arg3604z00_1241 = 
CDR(BgL_clausez00_1239); 
{ /* ./Reduce/typec.scm 160 */
BgL_nodez00_bglt BgL_res3923z00_1867;
{ /* ./Reduce/typec.scm 160 */
BgL_nodez00_bglt BgL_nodez00_1841;
BgL_nodez00_1841 = 
(BgL_nodez00_bglt)(BgL_arg3604z00_1241); 
{ /* ./Reduce/typec.scm 160 */
obj_t BgL_method2956z00_1842;
{ /* ./Reduce/typec.scm 160 */
BgL_objectz00_bglt BgL_objz00_1843;
BgL_objz00_1843 = 
(BgL_objectz00_bglt)(BgL_nodez00_1841); 
{ /* ./Reduce/typec.scm 160 */
long BgL_objzd2classzd2numz00_1844;
BgL_objzd2classzd2numz00_1844 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1843); 
{ /* ./Reduce/typec.scm 160 */
obj_t BgL_arg2017z00_1845;
{ /* ./Reduce/typec.scm 160 */
int BgL_auxz00_2995;
BgL_auxz00_2995 = 
(int)(((long)1)); 
BgL_arg2017z00_1845 = 
PROCEDURE_REF(BGl_nodezd2typecz12zd2envz12zzreduce_typecz00, BgL_auxz00_2995); } 
{ /* ./Reduce/typec.scm 160 */
int BgL_offsetz00_1848;
BgL_offsetz00_1848 = 
(int)(BgL_objzd2classzd2numz00_1844); 
{ /* ./Reduce/typec.scm 160 */
long BgL_offsetz00_1849;
{ /* ./Reduce/typec.scm 160 */
long BgL_auxz00_2999;
BgL_auxz00_2999 = 
(long)(BgL_offsetz00_1848); 
BgL_offsetz00_1849 = 
(BgL_auxz00_2999-OBJECT_TYPE); } 
{ /* ./Reduce/typec.scm 160 */
long BgL_modz00_1850;
{ /* ./Reduce/typec.scm 160 */
int BgL_arg2028z00_1851;
BgL_arg2028z00_1851 = 
(int)(((long)8)); 
{ /* ./Reduce/typec.scm 160 */
long BgL_n2z00_1859;
BgL_n2z00_1859 = 
(long)(BgL_arg2028z00_1851); 
BgL_modz00_1850 = 
(BgL_offsetz00_1849/BgL_n2z00_1859); } } 
{ /* ./Reduce/typec.scm 160 */
long BgL_restz00_1852;
{ /* ./Reduce/typec.scm 160 */
int BgL_arg2024z00_1853;
BgL_arg2024z00_1853 = 
(int)(((long)8)); 
{ /* ./Reduce/typec.scm 160 */
long BgL_n2z00_1862;
BgL_n2z00_1862 = 
(long)(BgL_arg2024z00_1853); 
BgL_restz00_1852 = 
(BgL_offsetz00_1849%BgL_n2z00_1862); } } 
{ /* ./Reduce/typec.scm 160 */

{ /* ./Reduce/typec.scm 160 */
obj_t BgL_bucketz00_1854;
{ /* ./Reduce/typec.scm 160 */
int BgL_kz00_1864;
BgL_kz00_1864 = 
(int)(BgL_modz00_1850); 
BgL_bucketz00_1854 = 
VECTOR_REF(BgL_arg2017z00_1845,BgL_kz00_1864); } 
{ /* ./Reduce/typec.scm 160 */
int BgL_kz00_1866;
BgL_kz00_1866 = 
(int)(BgL_restz00_1852); 
BgL_method2956z00_1842 = 
VECTOR_REF(BgL_bucketz00_1854,BgL_kz00_1866); } } } } } } } } } } 
{ /* ./Reduce/typec.scm 160 */
obj_t BgL_auxz00_3012;
BgL_auxz00_3012 = 
PROCEDURE_ENTRY(BgL_method2956z00_1842)(BgL_method2956z00_1842, 
(obj_t)(BgL_nodez00_1841), BEOA); 
BgL_res3923z00_1867 = 
(BgL_nodez00_bglt)(BgL_auxz00_3012); } } } 
BgL_arg3601z00_1240 = BgL_res3923z00_1867; } } 
{ /* ./Reduce/typec.scm 160 */
obj_t BgL_objz00_1869;
BgL_objz00_1869 = 
(obj_t)(BgL_arg3601z00_1240); 
SET_CDR(BgL_clausez00_1239, BgL_objz00_1869); } } } 
{ /* ./Reduce/typec.scm 159 */
obj_t BgL_arg3609z00_1242;
BgL_arg3609z00_1242 = 
CDR(BgL_l2932z00_1235); 
{ 
obj_t BgL_l2932z00_3020;
BgL_l2932z00_3020 = BgL_arg3609z00_1242; 
BgL_l2932z00_1235 = BgL_l2932z00_3020; 
goto BgL_forzd2each2933zd2_1236;} } }  else 
{ /* ./Reduce/typec.scm 159 */((bool_t)1); } } } } 
BgL_auxz00_2960 = BgL_nodez00_1229; 
return 
(obj_t)(BgL_auxz00_2960);} } } 
}



/* node-typec!-fail2985 */
obj_t BGl_nodezd2typecz12zd2fail2985z12zzreduce_typecz00(obj_t BgL_envz00_2331, obj_t BgL_nodez00_2332)
{ AN_OBJECT;
{ /* ./Reduce/typec.scm 146 */
{ 
BgL_failz00_bglt BgL_nodez00_1217;
{ /* ./Reduce/typec.scm 147 */
BgL_failz00_bglt BgL_auxz00_3023;
BgL_nodez00_1217 = 
(BgL_failz00_bglt)(BgL_nodez00_2332); 
{ /* ./Reduce/typec.scm 148 */
BgL_nodez00_bglt BgL_arg3562z00_1221;
{ /* ./Reduce/typec.scm 148 */
BgL_nodez00_bglt BgL_arg3565z00_1222;
BgL_arg3565z00_1222 = 
(((BgL_failz00_bglt)CREF(BgL_nodez00_1217))->BgL_procz00); 
{ /* ./Reduce/typec.scm 148 */
BgL_nodez00_bglt BgL_res3911z00_1744;
{ /* ./Reduce/typec.scm 148 */
obj_t BgL_method2956z00_1719;
{ /* ./Reduce/typec.scm 148 */
BgL_objectz00_bglt BgL_objz00_1720;
BgL_objz00_1720 = 
(BgL_objectz00_bglt)(BgL_arg3565z00_1222); 
{ /* ./Reduce/typec.scm 148 */
long BgL_objzd2classzd2numz00_1721;
BgL_objzd2classzd2numz00_1721 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1720); 
{ /* ./Reduce/typec.scm 148 */
obj_t BgL_arg2017z00_1722;
{ /* ./Reduce/typec.scm 148 */
int BgL_auxz00_3027;
BgL_auxz00_3027 = 
(int)(((long)1)); 
BgL_arg2017z00_1722 = 
PROCEDURE_REF(BGl_nodezd2typecz12zd2envz12zzreduce_typecz00, BgL_auxz00_3027); } 
{ /* ./Reduce/typec.scm 148 */
int BgL_offsetz00_1725;
BgL_offsetz00_1725 = 
(int)(BgL_objzd2classzd2numz00_1721); 
{ /* ./Reduce/typec.scm 148 */
long BgL_offsetz00_1726;
{ /* ./Reduce/typec.scm 148 */
long BgL_auxz00_3031;
BgL_auxz00_3031 = 
(long)(BgL_offsetz00_1725); 
BgL_offsetz00_1726 = 
(BgL_auxz00_3031-OBJECT_TYPE); } 
{ /* ./Reduce/typec.scm 148 */
long BgL_modz00_1727;
{ /* ./Reduce/typec.scm 148 */
int BgL_arg2028z00_1728;
BgL_arg2028z00_1728 = 
(int)(((long)8)); 
{ /* ./Reduce/typec.scm 148 */
long BgL_n2z00_1736;
BgL_n2z00_1736 = 
(long)(BgL_arg2028z00_1728); 
BgL_modz00_1727 = 
(BgL_offsetz00_1726/BgL_n2z00_1736); } } 
{ /* ./Reduce/typec.scm 148 */
long BgL_restz00_1729;
{ /* ./Reduce/typec.scm 148 */
int BgL_arg2024z00_1730;
BgL_arg2024z00_1730 = 
(int)(((long)8)); 
{ /* ./Reduce/typec.scm 148 */
long BgL_n2z00_1739;
BgL_n2z00_1739 = 
(long)(BgL_arg2024z00_1730); 
BgL_restz00_1729 = 
(BgL_offsetz00_1726%BgL_n2z00_1739); } } 
{ /* ./Reduce/typec.scm 148 */

{ /* ./Reduce/typec.scm 148 */
obj_t BgL_bucketz00_1731;
{ /* ./Reduce/typec.scm 148 */
int BgL_kz00_1741;
BgL_kz00_1741 = 
(int)(BgL_modz00_1727); 
BgL_bucketz00_1731 = 
VECTOR_REF(BgL_arg2017z00_1722,BgL_kz00_1741); } 
{ /* ./Reduce/typec.scm 148 */
int BgL_kz00_1743;
BgL_kz00_1743 = 
(int)(BgL_restz00_1729); 
BgL_method2956z00_1719 = 
VECTOR_REF(BgL_bucketz00_1731,BgL_kz00_1743); } } } } } } } } } } 
{ /* ./Reduce/typec.scm 148 */
obj_t BgL_auxz00_3044;
BgL_auxz00_3044 = 
PROCEDURE_ENTRY(BgL_method2956z00_1719)(BgL_method2956z00_1719, 
(obj_t)(BgL_arg3565z00_1222), BEOA); 
BgL_res3911z00_1744 = 
(BgL_nodez00_bglt)(BgL_auxz00_3044); } } 
BgL_arg3562z00_1221 = BgL_res3911z00_1744; } } 
{ /* ./Reduce/typec.scm 148 */
BgL_failz00_bglt BgL_obj2372z00_1745;BgL_nodez00_bglt BgL_val2371z00_1746;
BgL_obj2372z00_1745 = BgL_nodez00_1217; 
BgL_val2371z00_1746 = BgL_arg3562z00_1221; 
((((BgL_failz00_bglt)CREF(BgL_obj2372z00_1745))->BgL_procz00) = ((BgL_nodez00_bglt)BgL_val2371z00_1746), BUNSPEC); } } 
{ /* ./Reduce/typec.scm 149 */
BgL_nodez00_bglt BgL_arg3569z00_1223;
{ /* ./Reduce/typec.scm 149 */
BgL_nodez00_bglt BgL_arg3572z00_1224;
BgL_arg3572z00_1224 = 
(((BgL_failz00_bglt)CREF(BgL_nodez00_1217))->BgL_msgz00); 
{ /* ./Reduce/typec.scm 149 */
BgL_nodez00_bglt BgL_res3914z00_1774;
{ /* ./Reduce/typec.scm 149 */
obj_t BgL_method2956z00_1749;
{ /* ./Reduce/typec.scm 149 */
BgL_objectz00_bglt BgL_objz00_1750;
BgL_objz00_1750 = 
(BgL_objectz00_bglt)(BgL_arg3572z00_1224); 
{ /* ./Reduce/typec.scm 149 */
long BgL_objzd2classzd2numz00_1751;
BgL_objzd2classzd2numz00_1751 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1750); 
{ /* ./Reduce/typec.scm 149 */
obj_t BgL_arg2017z00_1752;
{ /* ./Reduce/typec.scm 149 */
int BgL_auxz00_3053;
BgL_auxz00_3053 = 
(int)(((long)1)); 
BgL_arg2017z00_1752 = 
PROCEDURE_REF(BGl_nodezd2typecz12zd2envz12zzreduce_typecz00, BgL_auxz00_3053); } 
{ /* ./Reduce/typec.scm 149 */
int BgL_offsetz00_1755;
BgL_offsetz00_1755 = 
(int)(BgL_objzd2classzd2numz00_1751); 
{ /* ./Reduce/typec.scm 149 */
long BgL_offsetz00_1756;
{ /* ./Reduce/typec.scm 149 */
long BgL_auxz00_3057;
BgL_auxz00_3057 = 
(long)(BgL_offsetz00_1755); 
BgL_offsetz00_1756 = 
(BgL_auxz00_3057-OBJECT_TYPE); } 
{ /* ./Reduce/typec.scm 149 */
long BgL_modz00_1757;
{ /* ./Reduce/typec.scm 149 */
int BgL_arg2028z00_1758;
BgL_arg2028z00_1758 = 
(int)(((long)8)); 
{ /* ./Reduce/typec.scm 149 */
long BgL_n2z00_1766;
BgL_n2z00_1766 = 
(long)(BgL_arg2028z00_1758); 
BgL_modz00_1757 = 
(BgL_offsetz00_1756/BgL_n2z00_1766); } } 
{ /* ./Reduce/typec.scm 149 */
long BgL_restz00_1759;
{ /* ./Reduce/typec.scm 149 */
int BgL_arg2024z00_1760;
BgL_arg2024z00_1760 = 
(int)(((long)8)); 
{ /* ./Reduce/typec.scm 149 */
long BgL_n2z00_1769;
BgL_n2z00_1769 = 
(long)(BgL_arg2024z00_1760); 
BgL_restz00_1759 = 
(BgL_offsetz00_1756%BgL_n2z00_1769); } } 
{ /* ./Reduce/typec.scm 149 */

{ /* ./Reduce/typec.scm 149 */
obj_t BgL_bucketz00_1761;
{ /* ./Reduce/typec.scm 149 */
int BgL_kz00_1771;
BgL_kz00_1771 = 
(int)(BgL_modz00_1757); 
BgL_bucketz00_1761 = 
VECTOR_REF(BgL_arg2017z00_1752,BgL_kz00_1771); } 
{ /* ./Reduce/typec.scm 149 */
int BgL_kz00_1773;
BgL_kz00_1773 = 
(int)(BgL_restz00_1759); 
BgL_method2956z00_1749 = 
VECTOR_REF(BgL_bucketz00_1761,BgL_kz00_1773); } } } } } } } } } } 
{ /* ./Reduce/typec.scm 149 */
obj_t BgL_auxz00_3070;
BgL_auxz00_3070 = 
PROCEDURE_ENTRY(BgL_method2956z00_1749)(BgL_method2956z00_1749, 
(obj_t)(BgL_arg3572z00_1224), BEOA); 
BgL_res3914z00_1774 = 
(BgL_nodez00_bglt)(BgL_auxz00_3070); } } 
BgL_arg3569z00_1223 = BgL_res3914z00_1774; } } 
{ /* ./Reduce/typec.scm 149 */
BgL_failz00_bglt BgL_obj2375z00_1775;BgL_nodez00_bglt BgL_val2374z00_1776;
BgL_obj2375z00_1775 = BgL_nodez00_1217; 
BgL_val2374z00_1776 = BgL_arg3569z00_1223; 
((((BgL_failz00_bglt)CREF(BgL_obj2375z00_1775))->BgL_msgz00) = ((BgL_nodez00_bglt)BgL_val2374z00_1776), BUNSPEC); } } 
{ /* ./Reduce/typec.scm 150 */
BgL_nodez00_bglt BgL_arg3576z00_1225;
{ /* ./Reduce/typec.scm 150 */
BgL_nodez00_bglt BgL_arg3579z00_1226;
BgL_arg3579z00_1226 = 
(((BgL_failz00_bglt)CREF(BgL_nodez00_1217))->BgL_objz00); 
{ /* ./Reduce/typec.scm 150 */
BgL_nodez00_bglt BgL_res3917z00_1804;
{ /* ./Reduce/typec.scm 150 */
obj_t BgL_method2956z00_1779;
{ /* ./Reduce/typec.scm 150 */
BgL_objectz00_bglt BgL_objz00_1780;
BgL_objz00_1780 = 
(BgL_objectz00_bglt)(BgL_arg3579z00_1226); 
{ /* ./Reduce/typec.scm 150 */
long BgL_objzd2classzd2numz00_1781;
BgL_objzd2classzd2numz00_1781 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1780); 
{ /* ./Reduce/typec.scm 150 */
obj_t BgL_arg2017z00_1782;
{ /* ./Reduce/typec.scm 150 */
int BgL_auxz00_3079;
BgL_auxz00_3079 = 
(int)(((long)1)); 
BgL_arg2017z00_1782 = 
PROCEDURE_REF(BGl_nodezd2typecz12zd2envz12zzreduce_typecz00, BgL_auxz00_3079); } 
{ /* ./Reduce/typec.scm 150 */
int BgL_offsetz00_1785;
BgL_offsetz00_1785 = 
(int)(BgL_objzd2classzd2numz00_1781); 
{ /* ./Reduce/typec.scm 150 */
long BgL_offsetz00_1786;
{ /* ./Reduce/typec.scm 150 */
long BgL_auxz00_3083;
BgL_auxz00_3083 = 
(long)(BgL_offsetz00_1785); 
BgL_offsetz00_1786 = 
(BgL_auxz00_3083-OBJECT_TYPE); } 
{ /* ./Reduce/typec.scm 150 */
long BgL_modz00_1787;
{ /* ./Reduce/typec.scm 150 */
int BgL_arg2028z00_1788;
BgL_arg2028z00_1788 = 
(int)(((long)8)); 
{ /* ./Reduce/typec.scm 150 */
long BgL_n2z00_1796;
BgL_n2z00_1796 = 
(long)(BgL_arg2028z00_1788); 
BgL_modz00_1787 = 
(BgL_offsetz00_1786/BgL_n2z00_1796); } } 
{ /* ./Reduce/typec.scm 150 */
long BgL_restz00_1789;
{ /* ./Reduce/typec.scm 150 */
int BgL_arg2024z00_1790;
BgL_arg2024z00_1790 = 
(int)(((long)8)); 
{ /* ./Reduce/typec.scm 150 */
long BgL_n2z00_1799;
BgL_n2z00_1799 = 
(long)(BgL_arg2024z00_1790); 
BgL_restz00_1789 = 
(BgL_offsetz00_1786%BgL_n2z00_1799); } } 
{ /* ./Reduce/typec.scm 150 */

{ /* ./Reduce/typec.scm 150 */
obj_t BgL_bucketz00_1791;
{ /* ./Reduce/typec.scm 150 */
int BgL_kz00_1801;
BgL_kz00_1801 = 
(int)(BgL_modz00_1787); 
BgL_bucketz00_1791 = 
VECTOR_REF(BgL_arg2017z00_1782,BgL_kz00_1801); } 
{ /* ./Reduce/typec.scm 150 */
int BgL_kz00_1803;
BgL_kz00_1803 = 
(int)(BgL_restz00_1789); 
BgL_method2956z00_1779 = 
VECTOR_REF(BgL_bucketz00_1791,BgL_kz00_1803); } } } } } } } } } } 
{ /* ./Reduce/typec.scm 150 */
obj_t BgL_auxz00_3096;
BgL_auxz00_3096 = 
PROCEDURE_ENTRY(BgL_method2956z00_1779)(BgL_method2956z00_1779, 
(obj_t)(BgL_arg3579z00_1226), BEOA); 
BgL_res3917z00_1804 = 
(BgL_nodez00_bglt)(BgL_auxz00_3096); } } 
BgL_arg3576z00_1225 = BgL_res3917z00_1804; } } 
{ /* ./Reduce/typec.scm 150 */
BgL_failz00_bglt BgL_obj2378z00_1805;BgL_nodez00_bglt BgL_val2377z00_1806;
BgL_obj2378z00_1805 = BgL_nodez00_1217; 
BgL_val2377z00_1806 = BgL_arg3576z00_1225; 
((((BgL_failz00_bglt)CREF(BgL_obj2378z00_1805))->BgL_objz00) = ((BgL_nodez00_bglt)BgL_val2377z00_1806), BUNSPEC); } } 
BgL_auxz00_3023 = BgL_nodez00_1217; 
return 
(obj_t)(BgL_auxz00_3023);} } } 
}



/* node-typec!-conditional2982 */
obj_t BGl_nodezd2typecz12zd2conditional2982z12zzreduce_typecz00(obj_t BgL_envz00_2333, obj_t BgL_nodez00_2334)
{ AN_OBJECT;
{ /* ./Reduce/typec.scm 136 */
{ 
BgL_conditionalz00_bglt BgL_nodez00_1205;
{ /* ./Reduce/typec.scm 137 */
BgL_conditionalz00_bglt BgL_auxz00_3104;
BgL_nodez00_1205 = 
(BgL_conditionalz00_bglt)(BgL_nodez00_2334); 
{ /* ./Reduce/typec.scm 138 */
BgL_nodez00_bglt BgL_arg3534z00_1209;
{ /* ./Reduce/typec.scm 138 */
BgL_nodez00_bglt BgL_arg3537z00_1210;
BgL_arg3537z00_1210 = 
(((BgL_conditionalz00_bglt)CREF(BgL_nodez00_1205))->BgL_testz00); 
{ /* ./Reduce/typec.scm 138 */
BgL_nodez00_bglt BgL_res3902z00_1654;
{ /* ./Reduce/typec.scm 138 */
obj_t BgL_method2956z00_1629;
{ /* ./Reduce/typec.scm 138 */
BgL_objectz00_bglt BgL_objz00_1630;
BgL_objz00_1630 = 
(BgL_objectz00_bglt)(BgL_arg3537z00_1210); 
{ /* ./Reduce/typec.scm 138 */
long BgL_objzd2classzd2numz00_1631;
BgL_objzd2classzd2numz00_1631 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1630); 
{ /* ./Reduce/typec.scm 138 */
obj_t BgL_arg2017z00_1632;
{ /* ./Reduce/typec.scm 138 */
int BgL_auxz00_3108;
BgL_auxz00_3108 = 
(int)(((long)1)); 
BgL_arg2017z00_1632 = 
PROCEDURE_REF(BGl_nodezd2typecz12zd2envz12zzreduce_typecz00, BgL_auxz00_3108); } 
{ /* ./Reduce/typec.scm 138 */
int BgL_offsetz00_1635;
BgL_offsetz00_1635 = 
(int)(BgL_objzd2classzd2numz00_1631); 
{ /* ./Reduce/typec.scm 138 */
long BgL_offsetz00_1636;
{ /* ./Reduce/typec.scm 138 */
long BgL_auxz00_3112;
BgL_auxz00_3112 = 
(long)(BgL_offsetz00_1635); 
BgL_offsetz00_1636 = 
(BgL_auxz00_3112-OBJECT_TYPE); } 
{ /* ./Reduce/typec.scm 138 */
long BgL_modz00_1637;
{ /* ./Reduce/typec.scm 138 */
int BgL_arg2028z00_1638;
BgL_arg2028z00_1638 = 
(int)(((long)8)); 
{ /* ./Reduce/typec.scm 138 */
long BgL_n2z00_1646;
BgL_n2z00_1646 = 
(long)(BgL_arg2028z00_1638); 
BgL_modz00_1637 = 
(BgL_offsetz00_1636/BgL_n2z00_1646); } } 
{ /* ./Reduce/typec.scm 138 */
long BgL_restz00_1639;
{ /* ./Reduce/typec.scm 138 */
int BgL_arg2024z00_1640;
BgL_arg2024z00_1640 = 
(int)(((long)8)); 
{ /* ./Reduce/typec.scm 138 */
long BgL_n2z00_1649;
BgL_n2z00_1649 = 
(long)(BgL_arg2024z00_1640); 
BgL_restz00_1639 = 
(BgL_offsetz00_1636%BgL_n2z00_1649); } } 
{ /* ./Reduce/typec.scm 138 */

{ /* ./Reduce/typec.scm 138 */
obj_t BgL_bucketz00_1641;
{ /* ./Reduce/typec.scm 138 */
int BgL_kz00_1651;
BgL_kz00_1651 = 
(int)(BgL_modz00_1637); 
BgL_bucketz00_1641 = 
VECTOR_REF(BgL_arg2017z00_1632,BgL_kz00_1651); } 
{ /* ./Reduce/typec.scm 138 */
int BgL_kz00_1653;
BgL_kz00_1653 = 
(int)(BgL_restz00_1639); 
BgL_method2956z00_1629 = 
VECTOR_REF(BgL_bucketz00_1641,BgL_kz00_1653); } } } } } } } } } } 
{ /* ./Reduce/typec.scm 138 */
obj_t BgL_auxz00_3125;
BgL_auxz00_3125 = 
PROCEDURE_ENTRY(BgL_method2956z00_1629)(BgL_method2956z00_1629, 
(obj_t)(BgL_arg3537z00_1210), BEOA); 
BgL_res3902z00_1654 = 
(BgL_nodez00_bglt)(BgL_auxz00_3125); } } 
BgL_arg3534z00_1209 = BgL_res3902z00_1654; } } 
{ /* ./Reduce/typec.scm 138 */
BgL_conditionalz00_bglt BgL_obj2334z00_1655;BgL_nodez00_bglt BgL_val2333z00_1656;
BgL_obj2334z00_1655 = BgL_nodez00_1205; 
BgL_val2333z00_1656 = BgL_arg3534z00_1209; 
((((BgL_conditionalz00_bglt)CREF(BgL_obj2334z00_1655))->BgL_testz00) = ((BgL_nodez00_bglt)BgL_val2333z00_1656), BUNSPEC); } } 
{ /* ./Reduce/typec.scm 139 */
BgL_nodez00_bglt BgL_arg3541z00_1211;
{ /* ./Reduce/typec.scm 139 */
BgL_nodez00_bglt BgL_arg3544z00_1212;
BgL_arg3544z00_1212 = 
(((BgL_conditionalz00_bglt)CREF(BgL_nodez00_1205))->BgL_truez00); 
{ /* ./Reduce/typec.scm 139 */
BgL_nodez00_bglt BgL_res3905z00_1684;
{ /* ./Reduce/typec.scm 139 */
obj_t BgL_method2956z00_1659;
{ /* ./Reduce/typec.scm 139 */
BgL_objectz00_bglt BgL_objz00_1660;
BgL_objz00_1660 = 
(BgL_objectz00_bglt)(BgL_arg3544z00_1212); 
{ /* ./Reduce/typec.scm 139 */
long BgL_objzd2classzd2numz00_1661;
BgL_objzd2classzd2numz00_1661 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1660); 
{ /* ./Reduce/typec.scm 139 */
obj_t BgL_arg2017z00_1662;
{ /* ./Reduce/typec.scm 139 */
int BgL_auxz00_3134;
BgL_auxz00_3134 = 
(int)(((long)1)); 
BgL_arg2017z00_1662 = 
PROCEDURE_REF(BGl_nodezd2typecz12zd2envz12zzreduce_typecz00, BgL_auxz00_3134); } 
{ /* ./Reduce/typec.scm 139 */
int BgL_offsetz00_1665;
BgL_offsetz00_1665 = 
(int)(BgL_objzd2classzd2numz00_1661); 
{ /* ./Reduce/typec.scm 139 */
long BgL_offsetz00_1666;
{ /* ./Reduce/typec.scm 139 */
long BgL_auxz00_3138;
BgL_auxz00_3138 = 
(long)(BgL_offsetz00_1665); 
BgL_offsetz00_1666 = 
(BgL_auxz00_3138-OBJECT_TYPE); } 
{ /* ./Reduce/typec.scm 139 */
long BgL_modz00_1667;
{ /* ./Reduce/typec.scm 139 */
int BgL_arg2028z00_1668;
BgL_arg2028z00_1668 = 
(int)(((long)8)); 
{ /* ./Reduce/typec.scm 139 */
long BgL_n2z00_1676;
BgL_n2z00_1676 = 
(long)(BgL_arg2028z00_1668); 
BgL_modz00_1667 = 
(BgL_offsetz00_1666/BgL_n2z00_1676); } } 
{ /* ./Reduce/typec.scm 139 */
long BgL_restz00_1669;
{ /* ./Reduce/typec.scm 139 */
int BgL_arg2024z00_1670;
BgL_arg2024z00_1670 = 
(int)(((long)8)); 
{ /* ./Reduce/typec.scm 139 */
long BgL_n2z00_1679;
BgL_n2z00_1679 = 
(long)(BgL_arg2024z00_1670); 
BgL_restz00_1669 = 
(BgL_offsetz00_1666%BgL_n2z00_1679); } } 
{ /* ./Reduce/typec.scm 139 */

{ /* ./Reduce/typec.scm 139 */
obj_t BgL_bucketz00_1671;
{ /* ./Reduce/typec.scm 139 */
int BgL_kz00_1681;
BgL_kz00_1681 = 
(int)(BgL_modz00_1667); 
BgL_bucketz00_1671 = 
VECTOR_REF(BgL_arg2017z00_1662,BgL_kz00_1681); } 
{ /* ./Reduce/typec.scm 139 */
int BgL_kz00_1683;
BgL_kz00_1683 = 
(int)(BgL_restz00_1669); 
BgL_method2956z00_1659 = 
VECTOR_REF(BgL_bucketz00_1671,BgL_kz00_1683); } } } } } } } } } } 
{ /* ./Reduce/typec.scm 139 */
obj_t BgL_auxz00_3151;
BgL_auxz00_3151 = 
PROCEDURE_ENTRY(BgL_method2956z00_1659)(BgL_method2956z00_1659, 
(obj_t)(BgL_arg3544z00_1212), BEOA); 
BgL_res3905z00_1684 = 
(BgL_nodez00_bglt)(BgL_auxz00_3151); } } 
BgL_arg3541z00_1211 = BgL_res3905z00_1684; } } 
{ /* ./Reduce/typec.scm 139 */
BgL_conditionalz00_bglt BgL_obj2337z00_1685;BgL_nodez00_bglt BgL_val2336z00_1686;
BgL_obj2337z00_1685 = BgL_nodez00_1205; 
BgL_val2336z00_1686 = BgL_arg3541z00_1211; 
((((BgL_conditionalz00_bglt)CREF(BgL_obj2337z00_1685))->BgL_truez00) = ((BgL_nodez00_bglt)BgL_val2336z00_1686), BUNSPEC); } } 
{ /* ./Reduce/typec.scm 140 */
BgL_nodez00_bglt BgL_arg3548z00_1213;
{ /* ./Reduce/typec.scm 140 */
BgL_nodez00_bglt BgL_arg3552z00_1214;
BgL_arg3552z00_1214 = 
(((BgL_conditionalz00_bglt)CREF(BgL_nodez00_1205))->BgL_falsez00); 
{ /* ./Reduce/typec.scm 140 */
BgL_nodez00_bglt BgL_res3908z00_1714;
{ /* ./Reduce/typec.scm 140 */
obj_t BgL_method2956z00_1689;
{ /* ./Reduce/typec.scm 140 */
BgL_objectz00_bglt BgL_objz00_1690;
BgL_objz00_1690 = 
(BgL_objectz00_bglt)(BgL_arg3552z00_1214); 
{ /* ./Reduce/typec.scm 140 */
long BgL_objzd2classzd2numz00_1691;
BgL_objzd2classzd2numz00_1691 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1690); 
{ /* ./Reduce/typec.scm 140 */
obj_t BgL_arg2017z00_1692;
{ /* ./Reduce/typec.scm 140 */
int BgL_auxz00_3160;
BgL_auxz00_3160 = 
(int)(((long)1)); 
BgL_arg2017z00_1692 = 
PROCEDURE_REF(BGl_nodezd2typecz12zd2envz12zzreduce_typecz00, BgL_auxz00_3160); } 
{ /* ./Reduce/typec.scm 140 */
int BgL_offsetz00_1695;
BgL_offsetz00_1695 = 
(int)(BgL_objzd2classzd2numz00_1691); 
{ /* ./Reduce/typec.scm 140 */
long BgL_offsetz00_1696;
{ /* ./Reduce/typec.scm 140 */
long BgL_auxz00_3164;
BgL_auxz00_3164 = 
(long)(BgL_offsetz00_1695); 
BgL_offsetz00_1696 = 
(BgL_auxz00_3164-OBJECT_TYPE); } 
{ /* ./Reduce/typec.scm 140 */
long BgL_modz00_1697;
{ /* ./Reduce/typec.scm 140 */
int BgL_arg2028z00_1698;
BgL_arg2028z00_1698 = 
(int)(((long)8)); 
{ /* ./Reduce/typec.scm 140 */
long BgL_n2z00_1706;
BgL_n2z00_1706 = 
(long)(BgL_arg2028z00_1698); 
BgL_modz00_1697 = 
(BgL_offsetz00_1696/BgL_n2z00_1706); } } 
{ /* ./Reduce/typec.scm 140 */
long BgL_restz00_1699;
{ /* ./Reduce/typec.scm 140 */
int BgL_arg2024z00_1700;
BgL_arg2024z00_1700 = 
(int)(((long)8)); 
{ /* ./Reduce/typec.scm 140 */
long BgL_n2z00_1709;
BgL_n2z00_1709 = 
(long)(BgL_arg2024z00_1700); 
BgL_restz00_1699 = 
(BgL_offsetz00_1696%BgL_n2z00_1709); } } 
{ /* ./Reduce/typec.scm 140 */

{ /* ./Reduce/typec.scm 140 */
obj_t BgL_bucketz00_1701;
{ /* ./Reduce/typec.scm 140 */
int BgL_kz00_1711;
BgL_kz00_1711 = 
(int)(BgL_modz00_1697); 
BgL_bucketz00_1701 = 
VECTOR_REF(BgL_arg2017z00_1692,BgL_kz00_1711); } 
{ /* ./Reduce/typec.scm 140 */
int BgL_kz00_1713;
BgL_kz00_1713 = 
(int)(BgL_restz00_1699); 
BgL_method2956z00_1689 = 
VECTOR_REF(BgL_bucketz00_1701,BgL_kz00_1713); } } } } } } } } } } 
{ /* ./Reduce/typec.scm 140 */
obj_t BgL_auxz00_3177;
BgL_auxz00_3177 = 
PROCEDURE_ENTRY(BgL_method2956z00_1689)(BgL_method2956z00_1689, 
(obj_t)(BgL_arg3552z00_1214), BEOA); 
BgL_res3908z00_1714 = 
(BgL_nodez00_bglt)(BgL_auxz00_3177); } } 
BgL_arg3548z00_1213 = BgL_res3908z00_1714; } } 
{ /* ./Reduce/typec.scm 140 */
BgL_conditionalz00_bglt BgL_obj2340z00_1715;BgL_nodez00_bglt BgL_val2339z00_1716;
BgL_obj2340z00_1715 = BgL_nodez00_1205; 
BgL_val2339z00_1716 = BgL_arg3548z00_1213; 
((((BgL_conditionalz00_bglt)CREF(BgL_obj2340z00_1715))->BgL_falsez00) = ((BgL_nodez00_bglt)BgL_val2339z00_1716), BUNSPEC); } } 
BgL_auxz00_3104 = BgL_nodez00_1205; 
return 
(obj_t)(BgL_auxz00_3104);} } } 
}



/* node-typec!-setq2979 */
obj_t BGl_nodezd2typecz12zd2setq2979z12zzreduce_typecz00(obj_t BgL_envz00_2335, obj_t BgL_nodez00_2336)
{ AN_OBJECT;
{ /* ./Reduce/typec.scm 127 */
{ 
BgL_setqz00_bglt BgL_nodez00_1195;
{ /* ./Reduce/typec.scm 128 */
BgL_setqz00_bglt BgL_auxz00_3185;
BgL_nodez00_1195 = 
(BgL_setqz00_bglt)(BgL_nodez00_2336); 
{ /* ./Reduce/typec.scm 129 */
BgL_nodez00_bglt BgL_arg3513z00_1199;
{ /* ./Reduce/typec.scm 129 */
BgL_nodez00_bglt BgL_arg3517z00_1200;
BgL_arg3517z00_1200 = 
(((BgL_setqz00_bglt)CREF(BgL_nodez00_1195))->BgL_valuez00); 
{ /* ./Reduce/typec.scm 129 */
BgL_nodez00_bglt BgL_res3896z00_1594;
{ /* ./Reduce/typec.scm 129 */
obj_t BgL_method2956z00_1569;
{ /* ./Reduce/typec.scm 129 */
BgL_objectz00_bglt BgL_objz00_1570;
BgL_objz00_1570 = 
(BgL_objectz00_bglt)(BgL_arg3517z00_1200); 
{ /* ./Reduce/typec.scm 129 */
long BgL_objzd2classzd2numz00_1571;
BgL_objzd2classzd2numz00_1571 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1570); 
{ /* ./Reduce/typec.scm 129 */
obj_t BgL_arg2017z00_1572;
{ /* ./Reduce/typec.scm 129 */
int BgL_auxz00_3189;
BgL_auxz00_3189 = 
(int)(((long)1)); 
BgL_arg2017z00_1572 = 
PROCEDURE_REF(BGl_nodezd2typecz12zd2envz12zzreduce_typecz00, BgL_auxz00_3189); } 
{ /* ./Reduce/typec.scm 129 */
int BgL_offsetz00_1575;
BgL_offsetz00_1575 = 
(int)(BgL_objzd2classzd2numz00_1571); 
{ /* ./Reduce/typec.scm 129 */
long BgL_offsetz00_1576;
{ /* ./Reduce/typec.scm 129 */
long BgL_auxz00_3193;
BgL_auxz00_3193 = 
(long)(BgL_offsetz00_1575); 
BgL_offsetz00_1576 = 
(BgL_auxz00_3193-OBJECT_TYPE); } 
{ /* ./Reduce/typec.scm 129 */
long BgL_modz00_1577;
{ /* ./Reduce/typec.scm 129 */
int BgL_arg2028z00_1578;
BgL_arg2028z00_1578 = 
(int)(((long)8)); 
{ /* ./Reduce/typec.scm 129 */
long BgL_n2z00_1586;
BgL_n2z00_1586 = 
(long)(BgL_arg2028z00_1578); 
BgL_modz00_1577 = 
(BgL_offsetz00_1576/BgL_n2z00_1586); } } 
{ /* ./Reduce/typec.scm 129 */
long BgL_restz00_1579;
{ /* ./Reduce/typec.scm 129 */
int BgL_arg2024z00_1580;
BgL_arg2024z00_1580 = 
(int)(((long)8)); 
{ /* ./Reduce/typec.scm 129 */
long BgL_n2z00_1589;
BgL_n2z00_1589 = 
(long)(BgL_arg2024z00_1580); 
BgL_restz00_1579 = 
(BgL_offsetz00_1576%BgL_n2z00_1589); } } 
{ /* ./Reduce/typec.scm 129 */

{ /* ./Reduce/typec.scm 129 */
obj_t BgL_bucketz00_1581;
{ /* ./Reduce/typec.scm 129 */
int BgL_kz00_1591;
BgL_kz00_1591 = 
(int)(BgL_modz00_1577); 
BgL_bucketz00_1581 = 
VECTOR_REF(BgL_arg2017z00_1572,BgL_kz00_1591); } 
{ /* ./Reduce/typec.scm 129 */
int BgL_kz00_1593;
BgL_kz00_1593 = 
(int)(BgL_restz00_1579); 
BgL_method2956z00_1569 = 
VECTOR_REF(BgL_bucketz00_1581,BgL_kz00_1593); } } } } } } } } } } 
{ /* ./Reduce/typec.scm 129 */
obj_t BgL_auxz00_3206;
BgL_auxz00_3206 = 
PROCEDURE_ENTRY(BgL_method2956z00_1569)(BgL_method2956z00_1569, 
(obj_t)(BgL_arg3517z00_1200), BEOA); 
BgL_res3896z00_1594 = 
(BgL_nodez00_bglt)(BgL_auxz00_3206); } } 
BgL_arg3513z00_1199 = BgL_res3896z00_1594; } } 
{ /* ./Reduce/typec.scm 129 */
BgL_setqz00_bglt BgL_obj2305z00_1595;BgL_nodez00_bglt BgL_val2304z00_1596;
BgL_obj2305z00_1595 = BgL_nodez00_1195; 
BgL_val2304z00_1596 = BgL_arg3513z00_1199; 
((((BgL_setqz00_bglt)CREF(BgL_obj2305z00_1595))->BgL_valuez00) = ((BgL_nodez00_bglt)BgL_val2304z00_1596), BUNSPEC); } } 
{ /* ./Reduce/typec.scm 130 */
BgL_nodez00_bglt BgL_arg3521z00_1201;
{ /* ./Reduce/typec.scm 130 */
BgL_varz00_bglt BgL_arg3524z00_1202;
BgL_arg3524z00_1202 = 
(((BgL_setqz00_bglt)CREF(BgL_nodez00_1195))->BgL_varz00); 
{ /* ./Reduce/typec.scm 130 */
BgL_nodez00_bglt BgL_res3899z00_1624;
{ /* ./Reduce/typec.scm 130 */
BgL_nodez00_bglt BgL_nodez00_1598;
BgL_nodez00_1598 = 
(BgL_nodez00_bglt)(BgL_arg3524z00_1202); 
{ /* ./Reduce/typec.scm 130 */
obj_t BgL_method2956z00_1599;
{ /* ./Reduce/typec.scm 130 */
BgL_objectz00_bglt BgL_objz00_1600;
BgL_objz00_1600 = 
(BgL_objectz00_bglt)(BgL_nodez00_1598); 
{ /* ./Reduce/typec.scm 130 */
long BgL_objzd2classzd2numz00_1601;
BgL_objzd2classzd2numz00_1601 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1600); 
{ /* ./Reduce/typec.scm 130 */
obj_t BgL_arg2017z00_1602;
{ /* ./Reduce/typec.scm 130 */
int BgL_auxz00_3216;
BgL_auxz00_3216 = 
(int)(((long)1)); 
BgL_arg2017z00_1602 = 
PROCEDURE_REF(BGl_nodezd2typecz12zd2envz12zzreduce_typecz00, BgL_auxz00_3216); } 
{ /* ./Reduce/typec.scm 130 */
int BgL_offsetz00_1605;
BgL_offsetz00_1605 = 
(int)(BgL_objzd2classzd2numz00_1601); 
{ /* ./Reduce/typec.scm 130 */
long BgL_offsetz00_1606;
{ /* ./Reduce/typec.scm 130 */
long BgL_auxz00_3220;
BgL_auxz00_3220 = 
(long)(BgL_offsetz00_1605); 
BgL_offsetz00_1606 = 
(BgL_auxz00_3220-OBJECT_TYPE); } 
{ /* ./Reduce/typec.scm 130 */
long BgL_modz00_1607;
{ /* ./Reduce/typec.scm 130 */
int BgL_arg2028z00_1608;
BgL_arg2028z00_1608 = 
(int)(((long)8)); 
{ /* ./Reduce/typec.scm 130 */
long BgL_n2z00_1616;
BgL_n2z00_1616 = 
(long)(BgL_arg2028z00_1608); 
BgL_modz00_1607 = 
(BgL_offsetz00_1606/BgL_n2z00_1616); } } 
{ /* ./Reduce/typec.scm 130 */
long BgL_restz00_1609;
{ /* ./Reduce/typec.scm 130 */
int BgL_arg2024z00_1610;
BgL_arg2024z00_1610 = 
(int)(((long)8)); 
{ /* ./Reduce/typec.scm 130 */
long BgL_n2z00_1619;
BgL_n2z00_1619 = 
(long)(BgL_arg2024z00_1610); 
BgL_restz00_1609 = 
(BgL_offsetz00_1606%BgL_n2z00_1619); } } 
{ /* ./Reduce/typec.scm 130 */

{ /* ./Reduce/typec.scm 130 */
obj_t BgL_bucketz00_1611;
{ /* ./Reduce/typec.scm 130 */
int BgL_kz00_1621;
BgL_kz00_1621 = 
(int)(BgL_modz00_1607); 
BgL_bucketz00_1611 = 
VECTOR_REF(BgL_arg2017z00_1602,BgL_kz00_1621); } 
{ /* ./Reduce/typec.scm 130 */
int BgL_kz00_1623;
BgL_kz00_1623 = 
(int)(BgL_restz00_1609); 
BgL_method2956z00_1599 = 
VECTOR_REF(BgL_bucketz00_1611,BgL_kz00_1623); } } } } } } } } } } 
{ /* ./Reduce/typec.scm 130 */
obj_t BgL_auxz00_3233;
BgL_auxz00_3233 = 
PROCEDURE_ENTRY(BgL_method2956z00_1599)(BgL_method2956z00_1599, 
(obj_t)(BgL_nodez00_1598), BEOA); 
BgL_res3899z00_1624 = 
(BgL_nodez00_bglt)(BgL_auxz00_3233); } } } 
BgL_arg3521z00_1201 = BgL_res3899z00_1624; } } 
{ /* ./Reduce/typec.scm 130 */
BgL_setqz00_bglt BgL_obj2302z00_1625;BgL_varz00_bglt BgL_val2301z00_1626;
BgL_obj2302z00_1625 = BgL_nodez00_1195; 
BgL_val2301z00_1626 = 
(BgL_varz00_bglt)(BgL_arg3521z00_1201); 
((((BgL_setqz00_bglt)CREF(BgL_obj2302z00_1625))->BgL_varz00) = ((BgL_varz00_bglt)BgL_val2301z00_1626), BUNSPEC); } } 
BgL_auxz00_3185 = BgL_nodez00_1195; 
return 
(obj_t)(BgL_auxz00_3185);} } } 
}



/* node-typec!-cast2977 */
obj_t BGl_nodezd2typecz12zd2cast2977z12zzreduce_typecz00(obj_t BgL_envz00_2337, obj_t BgL_nodez00_2338)
{ AN_OBJECT;
{ /* ./Reduce/typec.scm 119 */
{ 
BgL_castz00_bglt BgL_nodez00_1188;
{ /* ./Reduce/typec.scm 120 */
BgL_castz00_bglt BgL_auxz00_3242;
BgL_nodez00_1188 = 
(BgL_castz00_bglt)(BgL_nodez00_2338); 
{ /* ./Reduce/typec.scm 120 */
BgL_nodez00_bglt BgL_arg3503z00_1538;
BgL_arg3503z00_1538 = 
(((BgL_castz00_bglt)CREF(BgL_nodez00_1188))->BgL_argz00); 
{ /* ./Reduce/typec.scm 120 */
BgL_nodez00_bglt BgL_res3893z00_1566;
{ /* ./Reduce/typec.scm 120 */
obj_t BgL_method2956z00_1541;
{ /* ./Reduce/typec.scm 120 */
BgL_objectz00_bglt BgL_objz00_1542;
BgL_objz00_1542 = 
(BgL_objectz00_bglt)(BgL_arg3503z00_1538); 
{ /* ./Reduce/typec.scm 120 */
long BgL_objzd2classzd2numz00_1543;
BgL_objzd2classzd2numz00_1543 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1542); 
{ /* ./Reduce/typec.scm 120 */
obj_t BgL_arg2017z00_1544;
{ /* ./Reduce/typec.scm 120 */
int BgL_auxz00_3246;
BgL_auxz00_3246 = 
(int)(((long)1)); 
BgL_arg2017z00_1544 = 
PROCEDURE_REF(BGl_nodezd2typecz12zd2envz12zzreduce_typecz00, BgL_auxz00_3246); } 
{ /* ./Reduce/typec.scm 120 */
int BgL_offsetz00_1547;
BgL_offsetz00_1547 = 
(int)(BgL_objzd2classzd2numz00_1543); 
{ /* ./Reduce/typec.scm 120 */
long BgL_offsetz00_1548;
{ /* ./Reduce/typec.scm 120 */
long BgL_auxz00_3250;
BgL_auxz00_3250 = 
(long)(BgL_offsetz00_1547); 
BgL_offsetz00_1548 = 
(BgL_auxz00_3250-OBJECT_TYPE); } 
{ /* ./Reduce/typec.scm 120 */
long BgL_modz00_1549;
{ /* ./Reduce/typec.scm 120 */
int BgL_arg2028z00_1550;
BgL_arg2028z00_1550 = 
(int)(((long)8)); 
{ /* ./Reduce/typec.scm 120 */
long BgL_n2z00_1558;
BgL_n2z00_1558 = 
(long)(BgL_arg2028z00_1550); 
BgL_modz00_1549 = 
(BgL_offsetz00_1548/BgL_n2z00_1558); } } 
{ /* ./Reduce/typec.scm 120 */
long BgL_restz00_1551;
{ /* ./Reduce/typec.scm 120 */
int BgL_arg2024z00_1552;
BgL_arg2024z00_1552 = 
(int)(((long)8)); 
{ /* ./Reduce/typec.scm 120 */
long BgL_n2z00_1561;
BgL_n2z00_1561 = 
(long)(BgL_arg2024z00_1552); 
BgL_restz00_1551 = 
(BgL_offsetz00_1548%BgL_n2z00_1561); } } 
{ /* ./Reduce/typec.scm 120 */

{ /* ./Reduce/typec.scm 120 */
obj_t BgL_bucketz00_1553;
{ /* ./Reduce/typec.scm 120 */
int BgL_kz00_1563;
BgL_kz00_1563 = 
(int)(BgL_modz00_1549); 
BgL_bucketz00_1553 = 
VECTOR_REF(BgL_arg2017z00_1544,BgL_kz00_1563); } 
{ /* ./Reduce/typec.scm 120 */
int BgL_kz00_1565;
BgL_kz00_1565 = 
(int)(BgL_restz00_1551); 
BgL_method2956z00_1541 = 
VECTOR_REF(BgL_bucketz00_1553,BgL_kz00_1565); } } } } } } } } } } 
{ /* ./Reduce/typec.scm 120 */
obj_t BgL_auxz00_3263;
BgL_auxz00_3263 = 
PROCEDURE_ENTRY(BgL_method2956z00_1541)(BgL_method2956z00_1541, 
(obj_t)(BgL_arg3503z00_1538), BEOA); 
BgL_res3893z00_1566 = 
(BgL_nodez00_bglt)(BgL_auxz00_3263); } } BgL_res3893z00_1566; } } 
BgL_auxz00_3242 = BgL_nodez00_1188; 
return 
(obj_t)(BgL_auxz00_3242);} } } 
}



/* node-typec!-extern2975 */
obj_t BGl_nodezd2typecz12zd2extern2975z12zzreduce_typecz00(obj_t BgL_envz00_2339, obj_t BgL_nodez00_2340)
{ AN_OBJECT;
{ /* ./Reduce/typec.scm 111 */
{ 
BgL_externz00_bglt BgL_nodez00_1181;
{ /* ./Reduce/typec.scm 112 */
BgL_externz00_bglt BgL_auxz00_3270;
BgL_nodez00_1181 = 
(BgL_externz00_bglt)(BgL_nodez00_2340); 
{ /* ./Reduce/typec.scm 112 */
obj_t BgL_arg3493z00_1535;
BgL_arg3493z00_1535 = 
(((BgL_externz00_bglt)CREF(BgL_nodez00_1181))->BgL_exprza2za2); 
BGl_nodezd2typecza2z12z62zzreduce_typecz00(BgL_arg3493z00_1535); } 
BgL_auxz00_3270 = BgL_nodez00_1181; 
return 
(obj_t)(BgL_auxz00_3270);} } } 
}



/* node-typec!-funcall2973 */
obj_t BGl_nodezd2typecz12zd2funcall2973z12zzreduce_typecz00(obj_t BgL_envz00_2341, obj_t BgL_nodez00_2342)
{ AN_OBJECT;
{ /* ./Reduce/typec.scm 102 */
{ 
BgL_funcallz00_bglt BgL_nodez00_1172;
{ /* ./Reduce/typec.scm 103 */
BgL_funcallz00_bglt BgL_auxz00_3275;
BgL_nodez00_1172 = 
(BgL_funcallz00_bglt)(BgL_nodez00_2342); 
{ /* ./Reduce/typec.scm 104 */
BgL_nodez00_bglt BgL_arg3476z00_1176;
{ /* ./Reduce/typec.scm 104 */
BgL_nodez00_bglt BgL_arg3479z00_1177;
BgL_arg3479z00_1177 = 
(((BgL_funcallz00_bglt)CREF(BgL_nodez00_1172))->BgL_funz00); 
{ /* ./Reduce/typec.scm 104 */
BgL_nodez00_bglt BgL_res3890z00_1530;
{ /* ./Reduce/typec.scm 104 */
obj_t BgL_method2956z00_1505;
{ /* ./Reduce/typec.scm 104 */
BgL_objectz00_bglt BgL_objz00_1506;
BgL_objz00_1506 = 
(BgL_objectz00_bglt)(BgL_arg3479z00_1177); 
{ /* ./Reduce/typec.scm 104 */
long BgL_objzd2classzd2numz00_1507;
BgL_objzd2classzd2numz00_1507 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1506); 
{ /* ./Reduce/typec.scm 104 */
obj_t BgL_arg2017z00_1508;
{ /* ./Reduce/typec.scm 104 */
int BgL_auxz00_3279;
BgL_auxz00_3279 = 
(int)(((long)1)); 
BgL_arg2017z00_1508 = 
PROCEDURE_REF(BGl_nodezd2typecz12zd2envz12zzreduce_typecz00, BgL_auxz00_3279); } 
{ /* ./Reduce/typec.scm 104 */
int BgL_offsetz00_1511;
BgL_offsetz00_1511 = 
(int)(BgL_objzd2classzd2numz00_1507); 
{ /* ./Reduce/typec.scm 104 */
long BgL_offsetz00_1512;
{ /* ./Reduce/typec.scm 104 */
long BgL_auxz00_3283;
BgL_auxz00_3283 = 
(long)(BgL_offsetz00_1511); 
BgL_offsetz00_1512 = 
(BgL_auxz00_3283-OBJECT_TYPE); } 
{ /* ./Reduce/typec.scm 104 */
long BgL_modz00_1513;
{ /* ./Reduce/typec.scm 104 */
int BgL_arg2028z00_1514;
BgL_arg2028z00_1514 = 
(int)(((long)8)); 
{ /* ./Reduce/typec.scm 104 */
long BgL_n2z00_1522;
BgL_n2z00_1522 = 
(long)(BgL_arg2028z00_1514); 
BgL_modz00_1513 = 
(BgL_offsetz00_1512/BgL_n2z00_1522); } } 
{ /* ./Reduce/typec.scm 104 */
long BgL_restz00_1515;
{ /* ./Reduce/typec.scm 104 */
int BgL_arg2024z00_1516;
BgL_arg2024z00_1516 = 
(int)(((long)8)); 
{ /* ./Reduce/typec.scm 104 */
long BgL_n2z00_1525;
BgL_n2z00_1525 = 
(long)(BgL_arg2024z00_1516); 
BgL_restz00_1515 = 
(BgL_offsetz00_1512%BgL_n2z00_1525); } } 
{ /* ./Reduce/typec.scm 104 */

{ /* ./Reduce/typec.scm 104 */
obj_t BgL_bucketz00_1517;
{ /* ./Reduce/typec.scm 104 */
int BgL_kz00_1527;
BgL_kz00_1527 = 
(int)(BgL_modz00_1513); 
BgL_bucketz00_1517 = 
VECTOR_REF(BgL_arg2017z00_1508,BgL_kz00_1527); } 
{ /* ./Reduce/typec.scm 104 */
int BgL_kz00_1529;
BgL_kz00_1529 = 
(int)(BgL_restz00_1515); 
BgL_method2956z00_1505 = 
VECTOR_REF(BgL_bucketz00_1517,BgL_kz00_1529); } } } } } } } } } } 
{ /* ./Reduce/typec.scm 104 */
obj_t BgL_auxz00_3296;
BgL_auxz00_3296 = 
PROCEDURE_ENTRY(BgL_method2956z00_1505)(BgL_method2956z00_1505, 
(obj_t)(BgL_arg3479z00_1177), BEOA); 
BgL_res3890z00_1530 = 
(BgL_nodez00_bglt)(BgL_auxz00_3296); } } 
BgL_arg3476z00_1176 = BgL_res3890z00_1530; } } 
{ /* ./Reduce/typec.scm 104 */
BgL_funcallz00_bglt BgL_obj1781z00_1531;BgL_nodez00_bglt BgL_val1780z00_1532;
BgL_obj1781z00_1531 = BgL_nodez00_1172; 
BgL_val1780z00_1532 = BgL_arg3476z00_1176; 
((((BgL_funcallz00_bglt)CREF(BgL_obj1781z00_1531))->BgL_funz00) = ((BgL_nodez00_bglt)BgL_val1780z00_1532), BUNSPEC); } } 
{ /* ./Reduce/typec.scm 105 */
obj_t BgL_arg3483z00_1178;
BgL_arg3483z00_1178 = 
(((BgL_funcallz00_bglt)CREF(BgL_nodez00_1172))->BgL_argsz00); 
BGl_nodezd2typecza2z12z62zzreduce_typecz00(BgL_arg3483z00_1178); } 
BgL_auxz00_3275 = BgL_nodez00_1172; 
return 
(obj_t)(BgL_auxz00_3275);} } } 
}



/* node-typec!-app-ly2971 */
obj_t BGl_nodezd2typecz12zd2appzd2ly2971zc0zzreduce_typecz00(obj_t BgL_envz00_2343, obj_t BgL_nodez00_2344)
{ AN_OBJECT;
{ /* ./Reduce/typec.scm 93 */
{ 
BgL_appzd2lyzd2_bglt BgL_nodez00_1162;
{ /* ./Reduce/typec.scm 94 */
BgL_appzd2lyzd2_bglt BgL_auxz00_3306;
BgL_nodez00_1162 = 
(BgL_appzd2lyzd2_bglt)(BgL_nodez00_2344); 
{ /* ./Reduce/typec.scm 95 */
BgL_nodez00_bglt BgL_arg3456z00_1166;
{ /* ./Reduce/typec.scm 95 */
BgL_nodez00_bglt BgL_arg3459z00_1167;
BgL_arg3459z00_1167 = 
(((BgL_appzd2lyzd2_bglt)CREF(BgL_nodez00_1162))->BgL_funz00); 
{ /* ./Reduce/typec.scm 95 */
BgL_nodez00_bglt BgL_res3884z00_1470;
{ /* ./Reduce/typec.scm 95 */
obj_t BgL_method2956z00_1445;
{ /* ./Reduce/typec.scm 95 */
BgL_objectz00_bglt BgL_objz00_1446;
BgL_objz00_1446 = 
(BgL_objectz00_bglt)(BgL_arg3459z00_1167); 
{ /* ./Reduce/typec.scm 95 */
long BgL_objzd2classzd2numz00_1447;
BgL_objzd2classzd2numz00_1447 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1446); 
{ /* ./Reduce/typec.scm 95 */
obj_t BgL_arg2017z00_1448;
{ /* ./Reduce/typec.scm 95 */
int BgL_auxz00_3310;
BgL_auxz00_3310 = 
(int)(((long)1)); 
BgL_arg2017z00_1448 = 
PROCEDURE_REF(BGl_nodezd2typecz12zd2envz12zzreduce_typecz00, BgL_auxz00_3310); } 
{ /* ./Reduce/typec.scm 95 */
int BgL_offsetz00_1451;
BgL_offsetz00_1451 = 
(int)(BgL_objzd2classzd2numz00_1447); 
{ /* ./Reduce/typec.scm 95 */
long BgL_offsetz00_1452;
{ /* ./Reduce/typec.scm 95 */
long BgL_auxz00_3314;
BgL_auxz00_3314 = 
(long)(BgL_offsetz00_1451); 
BgL_offsetz00_1452 = 
(BgL_auxz00_3314-OBJECT_TYPE); } 
{ /* ./Reduce/typec.scm 95 */
long BgL_modz00_1453;
{ /* ./Reduce/typec.scm 95 */
int BgL_arg2028z00_1454;
BgL_arg2028z00_1454 = 
(int)(((long)8)); 
{ /* ./Reduce/typec.scm 95 */
long BgL_n2z00_1462;
BgL_n2z00_1462 = 
(long)(BgL_arg2028z00_1454); 
BgL_modz00_1453 = 
(BgL_offsetz00_1452/BgL_n2z00_1462); } } 
{ /* ./Reduce/typec.scm 95 */
long BgL_restz00_1455;
{ /* ./Reduce/typec.scm 95 */
int BgL_arg2024z00_1456;
BgL_arg2024z00_1456 = 
(int)(((long)8)); 
{ /* ./Reduce/typec.scm 95 */
long BgL_n2z00_1465;
BgL_n2z00_1465 = 
(long)(BgL_arg2024z00_1456); 
BgL_restz00_1455 = 
(BgL_offsetz00_1452%BgL_n2z00_1465); } } 
{ /* ./Reduce/typec.scm 95 */

{ /* ./Reduce/typec.scm 95 */
obj_t BgL_bucketz00_1457;
{ /* ./Reduce/typec.scm 95 */
int BgL_kz00_1467;
BgL_kz00_1467 = 
(int)(BgL_modz00_1453); 
BgL_bucketz00_1457 = 
VECTOR_REF(BgL_arg2017z00_1448,BgL_kz00_1467); } 
{ /* ./Reduce/typec.scm 95 */
int BgL_kz00_1469;
BgL_kz00_1469 = 
(int)(BgL_restz00_1455); 
BgL_method2956z00_1445 = 
VECTOR_REF(BgL_bucketz00_1457,BgL_kz00_1469); } } } } } } } } } } 
{ /* ./Reduce/typec.scm 95 */
obj_t BgL_auxz00_3327;
BgL_auxz00_3327 = 
PROCEDURE_ENTRY(BgL_method2956z00_1445)(BgL_method2956z00_1445, 
(obj_t)(BgL_arg3459z00_1167), BEOA); 
BgL_res3884z00_1470 = 
(BgL_nodez00_bglt)(BgL_auxz00_3327); } } 
BgL_arg3456z00_1166 = BgL_res3884z00_1470; } } 
{ /* ./Reduce/typec.scm 95 */
BgL_appzd2lyzd2_bglt BgL_obj1753z00_1471;BgL_nodez00_bglt BgL_val1752z00_1472;
BgL_obj1753z00_1471 = BgL_nodez00_1162; 
BgL_val1752z00_1472 = BgL_arg3456z00_1166; 
((((BgL_appzd2lyzd2_bglt)CREF(BgL_obj1753z00_1471))->BgL_funz00) = ((BgL_nodez00_bglt)BgL_val1752z00_1472), BUNSPEC); } } 
{ /* ./Reduce/typec.scm 96 */
BgL_nodez00_bglt BgL_arg3463z00_1168;
{ /* ./Reduce/typec.scm 96 */
BgL_nodez00_bglt BgL_arg3466z00_1169;
BgL_arg3466z00_1169 = 
(((BgL_appzd2lyzd2_bglt)CREF(BgL_nodez00_1162))->BgL_argz00); 
{ /* ./Reduce/typec.scm 96 */
BgL_nodez00_bglt BgL_res3887z00_1500;
{ /* ./Reduce/typec.scm 96 */
obj_t BgL_method2956z00_1475;
{ /* ./Reduce/typec.scm 96 */
BgL_objectz00_bglt BgL_objz00_1476;
BgL_objz00_1476 = 
(BgL_objectz00_bglt)(BgL_arg3466z00_1169); 
{ /* ./Reduce/typec.scm 96 */
long BgL_objzd2classzd2numz00_1477;
BgL_objzd2classzd2numz00_1477 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1476); 
{ /* ./Reduce/typec.scm 96 */
obj_t BgL_arg2017z00_1478;
{ /* ./Reduce/typec.scm 96 */
int BgL_auxz00_3336;
BgL_auxz00_3336 = 
(int)(((long)1)); 
BgL_arg2017z00_1478 = 
PROCEDURE_REF(BGl_nodezd2typecz12zd2envz12zzreduce_typecz00, BgL_auxz00_3336); } 
{ /* ./Reduce/typec.scm 96 */
int BgL_offsetz00_1481;
BgL_offsetz00_1481 = 
(int)(BgL_objzd2classzd2numz00_1477); 
{ /* ./Reduce/typec.scm 96 */
long BgL_offsetz00_1482;
{ /* ./Reduce/typec.scm 96 */
long BgL_auxz00_3340;
BgL_auxz00_3340 = 
(long)(BgL_offsetz00_1481); 
BgL_offsetz00_1482 = 
(BgL_auxz00_3340-OBJECT_TYPE); } 
{ /* ./Reduce/typec.scm 96 */
long BgL_modz00_1483;
{ /* ./Reduce/typec.scm 96 */
int BgL_arg2028z00_1484;
BgL_arg2028z00_1484 = 
(int)(((long)8)); 
{ /* ./Reduce/typec.scm 96 */
long BgL_n2z00_1492;
BgL_n2z00_1492 = 
(long)(BgL_arg2028z00_1484); 
BgL_modz00_1483 = 
(BgL_offsetz00_1482/BgL_n2z00_1492); } } 
{ /* ./Reduce/typec.scm 96 */
long BgL_restz00_1485;
{ /* ./Reduce/typec.scm 96 */
int BgL_arg2024z00_1486;
BgL_arg2024z00_1486 = 
(int)(((long)8)); 
{ /* ./Reduce/typec.scm 96 */
long BgL_n2z00_1495;
BgL_n2z00_1495 = 
(long)(BgL_arg2024z00_1486); 
BgL_restz00_1485 = 
(BgL_offsetz00_1482%BgL_n2z00_1495); } } 
{ /* ./Reduce/typec.scm 96 */

{ /* ./Reduce/typec.scm 96 */
obj_t BgL_bucketz00_1487;
{ /* ./Reduce/typec.scm 96 */
int BgL_kz00_1497;
BgL_kz00_1497 = 
(int)(BgL_modz00_1483); 
BgL_bucketz00_1487 = 
VECTOR_REF(BgL_arg2017z00_1478,BgL_kz00_1497); } 
{ /* ./Reduce/typec.scm 96 */
int BgL_kz00_1499;
BgL_kz00_1499 = 
(int)(BgL_restz00_1485); 
BgL_method2956z00_1475 = 
VECTOR_REF(BgL_bucketz00_1487,BgL_kz00_1499); } } } } } } } } } } 
{ /* ./Reduce/typec.scm 96 */
obj_t BgL_auxz00_3353;
BgL_auxz00_3353 = 
PROCEDURE_ENTRY(BgL_method2956z00_1475)(BgL_method2956z00_1475, 
(obj_t)(BgL_arg3466z00_1169), BEOA); 
BgL_res3887z00_1500 = 
(BgL_nodez00_bglt)(BgL_auxz00_3353); } } 
BgL_arg3463z00_1168 = BgL_res3887z00_1500; } } 
{ /* ./Reduce/typec.scm 96 */
BgL_appzd2lyzd2_bglt BgL_obj1756z00_1501;BgL_nodez00_bglt BgL_val1755z00_1502;
BgL_obj1756z00_1501 = BgL_nodez00_1162; 
BgL_val1755z00_1502 = BgL_arg3463z00_1168; 
((((BgL_appzd2lyzd2_bglt)CREF(BgL_obj1756z00_1501))->BgL_argz00) = ((BgL_nodez00_bglt)BgL_val1755z00_1502), BUNSPEC); } } 
BgL_auxz00_3306 = BgL_nodez00_1162; 
return 
(obj_t)(BgL_auxz00_3306);} } } 
}



/* node-typec!-sequence2969 */
obj_t BGl_nodezd2typecz12zd2sequence2969z12zzreduce_typecz00(obj_t BgL_envz00_2345, obj_t BgL_nodez00_2346)
{ AN_OBJECT;
{ /* ./Reduce/typec.scm 85 */
{ 
BgL_sequencez00_bglt BgL_nodez00_1155;
{ /* ./Reduce/typec.scm 86 */
BgL_sequencez00_bglt BgL_auxz00_3361;
BgL_nodez00_1155 = 
(BgL_sequencez00_bglt)(BgL_nodez00_2346); 
{ /* ./Reduce/typec.scm 86 */
obj_t BgL_arg3446z00_1441;
BgL_arg3446z00_1441 = 
(((BgL_sequencez00_bglt)CREF(BgL_nodez00_1155))->BgL_nodesz00); 
BGl_nodezd2typecza2z12z62zzreduce_typecz00(BgL_arg3446z00_1441); } 
BgL_auxz00_3361 = BgL_nodez00_1155; 
return 
(obj_t)(BgL_auxz00_3361);} } } 
}



/* node-typec!-closure2967 */
obj_t BGl_nodezd2typecz12zd2closure2967z12zzreduce_typecz00(obj_t BgL_envz00_2347, obj_t BgL_nodez00_2348)
{ AN_OBJECT;
{ /* ./Reduce/typec.scm 79 */
{ /* ./Reduce/typec.scm 80 */
BgL_closurez00_bglt BgL_auxz00_3366;
BgL_auxz00_3366 = 
(BgL_closurez00_bglt)(BgL_nodez00_2348); 
return 
(obj_t)(BgL_auxz00_3366);} } 
}



/* node-typec!-var2964 */
obj_t BGl_nodezd2typecz12zd2var2964z12zzreduce_typecz00(obj_t BgL_envz00_2349, obj_t BgL_nodez00_2350)
{ AN_OBJECT;
{ /* ./Reduce/typec.scm 73 */
{ /* ./Reduce/typec.scm 74 */
BgL_varz00_bglt BgL_auxz00_3369;
BgL_auxz00_3369 = 
(BgL_varz00_bglt)(BgL_nodez00_2350); 
return 
(obj_t)(BgL_auxz00_3369);} } 
}



/* node-typec!-kwote2961 */
obj_t BGl_nodezd2typecz12zd2kwote2961z12zzreduce_typecz00(obj_t BgL_envz00_2351, obj_t BgL_nodez00_2352)
{ AN_OBJECT;
{ /* ./Reduce/typec.scm 67 */
{ /* ./Reduce/typec.scm 68 */
BgL_kwotez00_bglt BgL_auxz00_3372;
BgL_auxz00_3372 = 
(BgL_kwotez00_bglt)(BgL_nodez00_2352); 
return 
(obj_t)(BgL_auxz00_3372);} } 
}



/* node-typec!-atom2959 */
obj_t BGl_nodezd2typecz12zd2atom2959z12zzreduce_typecz00(obj_t BgL_envz00_2353, obj_t BgL_nodez00_2354)
{ AN_OBJECT;
{ /* ./Reduce/typec.scm 61 */
{ /* ./Reduce/typec.scm 62 */
BgL_atomz00_bglt BgL_auxz00_3375;
BgL_auxz00_3375 = 
(BgL_atomz00_bglt)(BgL_nodez00_2354); 
return 
(obj_t)(BgL_auxz00_3375);} } 
}



/* node-typec! */
BgL_nodez00_bglt BGl_nodezd2typecz12zc0zzreduce_typecz00(BgL_nodez00_bglt BgL_nodez00_2)
{ AN_OBJECT;
{ /* ./Reduce/typec.scm 56 */
{ /* ./Reduce/typec.scm 56 */
obj_t BgL_method2956z00_2260;
{ /* ./Reduce/typec.scm 56 */
BgL_objectz00_bglt BgL_objz00_2261;
BgL_objz00_2261 = 
(BgL_objectz00_bglt)(BgL_nodez00_2); 
{ /* ./Reduce/typec.scm 56 */
long BgL_objzd2classzd2numz00_2262;
BgL_objzd2classzd2numz00_2262 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2261); 
{ /* ./Reduce/typec.scm 56 */
obj_t BgL_arg2017z00_2263;
{ /* ./Reduce/typec.scm 56 */
int BgL_auxz00_3380;
BgL_auxz00_3380 = 
(int)(((long)1)); 
BgL_arg2017z00_2263 = 
PROCEDURE_REF(BGl_nodezd2typecz12zd2envz12zzreduce_typecz00, BgL_auxz00_3380); } 
{ /* ./Reduce/typec.scm 56 */
int BgL_offsetz00_2266;
BgL_offsetz00_2266 = 
(int)(BgL_objzd2classzd2numz00_2262); 
{ /* ./Reduce/typec.scm 56 */
long BgL_offsetz00_2267;
{ /* ./Reduce/typec.scm 56 */
long BgL_auxz00_3384;
BgL_auxz00_3384 = 
(long)(BgL_offsetz00_2266); 
BgL_offsetz00_2267 = 
(BgL_auxz00_3384-OBJECT_TYPE); } 
{ /* ./Reduce/typec.scm 56 */
long BgL_modz00_2268;
{ /* ./Reduce/typec.scm 56 */
int BgL_arg2028z00_2269;
BgL_arg2028z00_2269 = 
(int)(((long)8)); 
{ /* ./Reduce/typec.scm 56 */
long BgL_n2z00_2277;
BgL_n2z00_2277 = 
(long)(BgL_arg2028z00_2269); 
BgL_modz00_2268 = 
(BgL_offsetz00_2267/BgL_n2z00_2277); } } 
{ /* ./Reduce/typec.scm 56 */
long BgL_restz00_2270;
{ /* ./Reduce/typec.scm 56 */
int BgL_arg2024z00_2271;
BgL_arg2024z00_2271 = 
(int)(((long)8)); 
{ /* ./Reduce/typec.scm 56 */
long BgL_n2z00_2280;
BgL_n2z00_2280 = 
(long)(BgL_arg2024z00_2271); 
BgL_restz00_2270 = 
(BgL_offsetz00_2267%BgL_n2z00_2280); } } 
{ /* ./Reduce/typec.scm 56 */

{ /* ./Reduce/typec.scm 56 */
obj_t BgL_bucketz00_2272;
{ /* ./Reduce/typec.scm 56 */
int BgL_kz00_2282;
BgL_kz00_2282 = 
(int)(BgL_modz00_2268); 
BgL_bucketz00_2272 = 
VECTOR_REF(BgL_arg2017z00_2263,BgL_kz00_2282); } 
{ /* ./Reduce/typec.scm 56 */
int BgL_kz00_2284;
BgL_kz00_2284 = 
(int)(BgL_restz00_2270); 
BgL_method2956z00_2260 = 
VECTOR_REF(BgL_bucketz00_2272,BgL_kz00_2284); } } } } } } } } } } 
{ /* ./Reduce/typec.scm 56 */
obj_t BgL_auxz00_3397;
BgL_auxz00_3397 = 
PROCEDURE_ENTRY(BgL_method2956z00_2260)(BgL_method2956z00_2260, 
(obj_t)(BgL_nodez00_2), BEOA); 
return 
(BgL_nodez00_bglt)(BgL_auxz00_3397);} } } 
}



/* _node-typec!3963 */
obj_t BGl__nodezd2typecz123963zc0zzreduce_typecz00(obj_t BgL_envz00_2290, obj_t BgL_nodez00_2291)
{ AN_OBJECT;
{ /* ./Reduce/typec.scm 56 */
{ /* ./Reduce/typec.scm 56 */
BgL_nodez00_bglt BgL_auxz00_3402;
BgL_auxz00_3402 = 
BGl_nodezd2typecz12zc0zzreduce_typecz00(
(BgL_nodez00_bglt)(BgL_nodez00_2291)); 
return 
(obj_t)(BgL_auxz00_3402);} } 
}



/* node-typec!-default2955 */
BgL_nodez00_bglt BGl_nodezd2typecz12zd2default2955z12zzreduce_typecz00(BgL_nodez00_bglt BgL_nodez00_3)
{ AN_OBJECT;
{ /* ./Reduce/typec.scm 15 */
{ /* ./Reduce/typec.scm 15 */
obj_t BgL_procz00_2285;obj_t BgL_objectz00_2287;
BgL_procz00_2285 = 
CNST_TABLE_REF(((long)1)); 
BgL_objectz00_2287 = 
(obj_t)(BgL_nodez00_3); 
FAILURE(BgL_procz00_2285,BGl_string4482z00zzreduce_typecz00,BgL_objectz00_2287);} } 
}



/* _node-typec!-default2955 */
obj_t BGl__nodezd2typecz12zd2default2955z12zzreduce_typecz00(obj_t BgL_envz00_2355, obj_t BgL_nodez00_2356)
{ AN_OBJECT;
{ /* ./Reduce/typec.scm 15 */
{ /* ./Reduce/typec.scm 15 */
BgL_nodez00_bglt BgL_auxz00_3409;
BgL_auxz00_3409 = 
BGl_nodezd2typecz12zd2default2955z12zzreduce_typecz00(
(BgL_nodez00_bglt)(BgL_nodez00_2356)); 
return 
(obj_t)(BgL_auxz00_3409);} } 
}



/* imported-modules-init */
obj_t BGl_importedzd2moduleszd2initz00zzreduce_typecz00()
{ AN_OBJECT;
{ /* ./Reduce/typec.scm 15 */
BGl_modulezd2initializa7ationz75zztools_tracez00(((long)59211), "reduce_typec"); 
BGl_modulezd2initializa7ationz75zztools_shapez00(((long)30833), "reduce_typec"); 
BGl_modulezd2initializa7ationz75zztools_speekz00(((long)23537), "reduce_typec"); 
BGl_modulezd2initializa7ationz75zztools_errorz00(((long)25566), "reduce_typec"); 
BGl_modulezd2initializa7ationz75zztype_typez00(((long)19090), "reduce_typec"); 
BGl_modulezd2initializa7ationz75zztype_cachez00(((long)25848), "reduce_typec"); 
BGl_modulezd2initializa7ationz75zztype_typeofz00(((long)852), "reduce_typec"); 
BGl_modulezd2initializa7ationz75zzcoerce_coercez00(((long)56611), "reduce_typec"); 
BGl_modulezd2initializa7ationz75zzeffect_effectz00(((long)14017), "reduce_typec"); 
BGl_modulezd2initializa7ationz75zzast_varz00(((long)44246), "reduce_typec"); 
BGl_modulezd2initializa7ationz75zzast_nodez00(((long)50868), "reduce_typec"); 
BGl_modulezd2initializa7ationz75zzast_lvtypez00(((long)41586), "reduce_typec"); 
return 
BGl_modulezd2initializa7ationz75zzobject_classz00(((long)30791), "reduce_typec");} 
}

