/*===========================================================================*/
/*   (Type/typeof.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 Type/typeof.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_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_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;


extern obj_t BGl_za2charza2z00zztype_cachez00;
static obj_t BGl_methodzd2initzd2zztype_typeofz00();
BGL_IMPORT obj_t open_input_string(obj_t);
extern obj_t BGl_letzd2funzd2zzast_nodez00;
extern obj_t BGl_sfunz00zzast_varz00;
static obj_t BGl_typeofzd2letzd2var2715z00zztype_typeofz00(obj_t, obj_t);
BGL_IMPORT obj_t BGl_readz00zz__readerz00(obj_t);
BGL_IMPORT bool_t BGl_iszd2azf3z21zz__objectz00(obj_t, obj_t);
static obj_t BGl_typeofzd2extern2701zd2zztype_typeofz00(obj_t, obj_t);
BGL_IMPORT obj_t BGl_addzd2genericz12zc0zz__objectz00(obj_t, obj_t);
static obj_t BGl_typeofzd2closure2697zd2zztype_typeofz00(obj_t, obj_t);
extern obj_t BGl_letzd2varzd2zzast_nodez00;
extern obj_t BGl_za2symbolza2z00zztype_cachez00;
static obj_t BGl_typeofzd2letzd2fun2713z00zztype_typeofz00(obj_t, obj_t);
extern obj_t BGl_kwotez00zzast_nodez00;
static obj_t BGl_typeofzd2setq2705zd2zztype_typeofz00(obj_t, obj_t);
static obj_t BGl_typeofzd2conditional2707zd2zztype_typeofz00(obj_t, obj_t);
extern obj_t BGl_za2procedureza2z00zztype_cachez00;
BGL_EXPORTED_DECL BgL_typez00_bglt BGl_typeofz00zztype_typeofz00(BgL_nodez00_bglt);
static obj_t BGl__typeofzd2atomzd2zztype_typeofz00(obj_t, obj_t);
extern obj_t BGl_castz00zzast_nodez00;
static obj_t BGl_typeofzd2setzd2exzd2it2717zd2zztype_typeofz00(obj_t, obj_t);
extern obj_t BGl_boxzd2refzd2zzast_nodez00;
static obj_t BGl_typeofzd2boxzd2ref2723z00zztype_typeofz00(obj_t, obj_t);
BGL_IMPORT obj_t BGl_lastzd2pairzd2zz__r4_pairs_and_lists_6_3z00(obj_t);
extern obj_t BGl_varz00zzast_nodez00;
static obj_t BGl_cnstzd2initzd2zztype_typeofz00();
static obj_t BGl_typeofzd2sequence2699zd2zztype_typeofz00(obj_t, obj_t);
extern obj_t BGl_atomz00zzast_nodez00;
extern obj_t BGl_failz00zzast_nodez00;
extern obj_t BGl_funcallz00zzast_nodez00;
static obj_t BGl_typeofzd2jumpzd2exzd2it2719zd2zztype_typeofz00(obj_t, obj_t);
static BgL_typez00_bglt BGl_typeofzd2default2688zd2zztype_typeofz00(BgL_nodez00_bglt);
extern obj_t BGl_za2unspecza2z00zztype_cachez00;
static obj_t BGl_importedzd2moduleszd2initz00zztype_typeofz00();
extern obj_t BGl_makezd2boxzd2zzast_nodez00;
static obj_t BGl_typeofzd2atom2691zd2zztype_typeofz00(obj_t, obj_t);
static obj_t BGl_typeofzd2app2731zd2zztype_typeofz00(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__typeofzd2default2688zd2zztype_typeofz00(obj_t, obj_t);
extern obj_t BGl_selectz00zzast_nodez00;
static obj_t BGl_toplevelzd2initzd2zztype_typeofz00();
extern obj_t BGl_appzd2lyzd2zzast_nodez00;
extern obj_t BGl_boxzd2setz12zc0zzast_nodez00;
extern obj_t BGl_za2bllongza2z00zztype_cachez00;
BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zztype_typeofz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztype_typez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztype_cachez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_nodez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_varz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_shapez00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__objectz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__readerz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_pairs_and_lists_6_3z00(long, char *);
static obj_t BGl_typeofzd2select2711zd2zztype_typeofz00(obj_t, obj_t);
extern obj_t BGl_za2longza2z00zztype_cachez00;
extern obj_t BGl_setzd2exzd2itz00zzast_nodez00;
static obj_t BGl_typeofzd2fail2709zd2zztype_typeofz00(obj_t, obj_t);
extern obj_t BGl_za2vectorza2z00zztype_cachez00;
extern obj_t BGl_shapez00zztools_shapez00(obj_t);
extern obj_t BGl_za2boolza2z00zztype_cachez00;
static obj_t BGl_typeofzd2makezd2box2721z00zztype_typeofz00(obj_t, obj_t);
extern obj_t BGl_cfunz00zzast_varz00;
extern obj_t BGl_jumpzd2exzd2itz00zzast_nodez00;
static obj_t BGl_typeofzd2kwote2693zd2zztype_typeofz00(obj_t, obj_t);
extern obj_t BGl_externz00zzast_nodez00;
extern obj_t BGl_conditionalz00zzast_nodez00;
static obj_t BGl__typeofzd2kwotezd2zztype_typeofz00(obj_t, obj_t);
extern obj_t BGl_sequencez00zzast_nodez00;
extern obj_t BGl_za2stringza2z00zztype_cachez00;
extern obj_t BGl_appz00zzast_nodez00;
static obj_t BGl_typeofzd2boxzd2setz122725z12zztype_typeofz00(obj_t, obj_t);
extern obj_t BGl_closurez00zzast_nodez00;
static obj_t BGl__typeofz00zztype_typeofz00(obj_t, obj_t);
extern obj_t BGl_za2belongza2z00zztype_cachez00;
BGL_EXPORTED_DECL BgL_typez00_bglt BGl_typeofzd2kwotezd2zztype_typeofz00(obj_t);
extern obj_t BGl_za2objza2z00zztype_cachez00;
static obj_t BGl_typeofzd2funcall2729zd2zztype_typeofz00(obj_t, obj_t);
static obj_t BGl_requirezd2initializa7ationz75zztype_typeofz00 = BUNSPEC;
static obj_t BGl_typeofzd2var2695zd2zztype_typeofz00(obj_t, obj_t);
static obj_t BGl_typeofzd2cast2703zd2zztype_typeofz00(obj_t, obj_t);
extern obj_t BGl_za2magicza2z00zztype_cachez00;
extern obj_t BGl_za2realza2z00zztype_cachez00;
BGL_EXPORTED_DECL BgL_typez00_bglt BGl_typeofzd2atomzd2zztype_typeofz00(obj_t);
extern obj_t BGl_za2pairza2z00zztype_cachez00;
static obj_t BGl_libraryzd2moduleszd2initz00zztype_typeofz00();
static obj_t BGl_typeofzd2appzd2ly2727z00zztype_typeofz00(obj_t, obj_t);
extern obj_t BGl_setqz00zzast_nodez00;
static obj_t __cnst[ 2 ] ;


DEFINE_EXPORT_GENERIC( BGl_typeofzd2envzd2zztype_typeofz00, BgL_bgl__typeofza700za7za7type_typeofza7003649z00, BGl__typeofz00zztype_typeofz00, 0L, 1 );
DEFINE_EXPORT_PROCEDURE( BGl_typeofzd2atomzd2envz00zztype_typeofz00, BgL_bgl__typeofza7d2atomza7d2za7za7type_typeofza7003650za7, BGl__typeofzd2atomzd2zztype_typeofz00, 0L, 1 );
DEFINE_STRING( BGl_string3622z00zztype_typeofz00, BgL_bgl_string3622za700za7za7type_typeofza7003651z00, "typeof-default2688 a-tvector ", 29 );
DEFINE_STRING( BGl_string3621z00zztype_typeofz00, BgL_bgl_string3621za700za7za7type_typeofza7003652z00, "No method for this object", 25 );
DEFINE_STRING( BGl_string3620z00zztype_typeofz00, BgL_bgl_string3620za700za7za7type_typeofza7003653z00, "Not implemented yet", 19 );
DEFINE_STRING( BGl_string3619z00zztype_typeofz00, BgL_bgl_string3619za700za7za7type_typeofza7003654z00, "typeof", 6 );
DEFINE_EXPORT_PROCEDURE( BGl_typeofzd2kwotezd2envz00zztype_typeofz00, BgL_bgl__typeofza7d2kwoteza7d2za7za7type_typeofza7003655za7, BGl__typeofzd2kwotezd2zztype_typeofz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc3600z00zztype_typeofz00, BgL_bgl_typeofza7d2var2695za7d2za7za7type_typeofza7003656za7, BGl_typeofzd2var2695zd2zztype_typeofz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc3601z00zztype_typeofz00, BgL_bgl_typeofza7d2closure2697za7d2za7za7type_typeofza7003657za7, BGl_typeofzd2closure2697zd2zztype_typeofz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc3602z00zztype_typeofz00, BgL_bgl_typeofza7d2sequence2699za7d2za7za7type_typeofza7003658za7, BGl_typeofzd2sequence2699zd2zztype_typeofz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc3603z00zztype_typeofz00, BgL_bgl_typeofza7d2extern2701za7d2za7za7type_typeofza7003659za7, BGl_typeofzd2extern2701zd2zztype_typeofz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc3604z00zztype_typeofz00, BgL_bgl_typeofza7d2cast2703za7d2za7za7type_typeofza7003660za7, BGl_typeofzd2cast2703zd2zztype_typeofz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc3605z00zztype_typeofz00, BgL_bgl_typeofza7d2setq2705za7d2za7za7type_typeofza7003661za7, BGl_typeofzd2setq2705zd2zztype_typeofz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc3606z00zztype_typeofz00, BgL_bgl_typeofza7d2conditional2707za7d2za7za7type_typeofza7003662za7, BGl_typeofzd2conditional2707zd2zztype_typeofz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc3607z00zztype_typeofz00, BgL_bgl_typeofza7d2fail2709za7d2za7za7type_typeofza7003663za7, BGl_typeofzd2fail2709zd2zztype_typeofz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc3608z00zztype_typeofz00, BgL_bgl_typeofza7d2select2711za7d2za7za7type_typeofza7003664za7, BGl_typeofzd2select2711zd2zztype_typeofz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc3598z00zztype_typeofz00, BgL_bgl_typeofza7d2atom2691za7d2za7za7type_typeofza7003665za7, BGl_typeofzd2atom2691zd2zztype_typeofz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc3610z00zztype_typeofz00, BgL_bgl_typeofza7d2letza7d2var2715za700za7za7type_typeofza7003666z00, BGl_typeofzd2letzd2var2715z00zztype_typeofz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc3609z00zztype_typeofz00, BgL_bgl_typeofza7d2letza7d2fun2713za700za7za7type_typeofza7003667z00, BGl_typeofzd2letzd2fun2713z00zztype_typeofz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc3599z00zztype_typeofz00, BgL_bgl_typeofza7d2kwote2693za7d2za7za7type_typeofza7003668za7, BGl_typeofzd2kwote2693zd2zztype_typeofz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc3611z00zztype_typeofz00, BgL_bgl_typeofza7d2setza7d2exza7d2it2717za7d2za7za7type_typeofza7003669za7, BGl_typeofzd2setzd2exzd2it2717zd2zztype_typeofz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc3612z00zztype_typeofz00, BgL_bgl_typeofza7d2jumpza7d2exza7d2it2719za7d2za7za7type_typeofza7003670za7, BGl_typeofzd2jumpzd2exzd2it2719zd2zztype_typeofz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc3613z00zztype_typeofz00, BgL_bgl_typeofza7d2makeza7d2box2721za700za7za7type_typeofza7003671z00, BGl_typeofzd2makezd2box2721z00zztype_typeofz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc3614z00zztype_typeofz00, BgL_bgl_typeofza7d2boxza7d2ref2723za700za7za7type_typeofza7003672z00, BGl_typeofzd2boxzd2ref2723z00zztype_typeofz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc3615z00zztype_typeofz00, BgL_bgl_typeofza7d2boxza7d2setza7122725za712za7za7type_typeofza7003673za7, BGl_typeofzd2boxzd2setz122725z12zztype_typeofz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc3616z00zztype_typeofz00, BgL_bgl_typeofza7d2appza7d2ly2727za700za7za7type_typeofza7003674z00, BGl_typeofzd2appzd2ly2727z00zztype_typeofz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc3617z00zztype_typeofz00, BgL_bgl_typeofza7d2funcall2729za7d2za7za7type_typeofza7003675za7, BGl_typeofzd2funcall2729zd2zztype_typeofz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc3618z00zztype_typeofz00, BgL_bgl_typeofza7d2app2731za7d2za7za7type_typeofza7003676za7, BGl_typeofzd2app2731zd2zztype_typeofz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_typeofzd2default2688zd2envz00zztype_typeofz00, BgL_bgl__typeofza7d2default2688za7d2za7za7type_typeofza7003677za7, BGl__typeofzd2default2688zd2zztype_typeofz00, 0L, 1 );



/* module-initialization */
BGL_EXPORTED_DEF obj_t BGl_modulezd2initializa7ationz75zztype_typeofz00(long BgL_checksumz00_1625, char * BgL_fromz00_1626)
{ AN_OBJECT;
{ 
if(
CBOOL(BGl_requirezd2initializa7ationz75zztype_typeofz00))
{ 
BGl_requirezd2initializa7ationz75zztype_typeofz00 = 
BBOOL(((bool_t)0)); 
BGl_libraryzd2moduleszd2initz00zztype_typeofz00(); 
BGl_cnstzd2initzd2zztype_typeofz00(); 
BGl_importedzd2moduleszd2initz00zztype_typeofz00(); 
BGl_methodzd2initzd2zztype_typeofz00(); 
return BUNSPEC;}  else 
{ 
return BUNSPEC;} } 
}



/* library-modules-init */
obj_t BGl_libraryzd2moduleszd2initz00zztype_typeofz00()
{ AN_OBJECT;
{ /* ./Type/typeof.scm 15 */
BGl_modulezd2initializa7ationz75zz__readerz00(((long)0), "type_typeof"); 
BGl_modulezd2initializa7ationz75zz__objectz00(((long)0), "type_typeof"); 
BGl_modulezd2initializa7ationz75zz__r4_pairs_and_lists_6_3z00(((long)0), "type_typeof"); 
return BUNSPEC;} 
}



/* cnst-init */
obj_t BGl_cnstzd2initzd2zztype_typeofz00()
{ AN_OBJECT;
{ /* ./Type/typeof.scm 15 */
{ /* ./Type/typeof.scm 15 */
obj_t BgL_cportz00_1608;
BgL_cportz00_1608 = 
open_input_string(BGl_string3622z00zztype_typeofz00); 
{ 
long BgL_iz00_1609;
BgL_iz00_1609 = ((long)1); 
BgL_loopz00_1610:
{ /* ./Type/typeof.scm 15 */
bool_t BgL_test3624z00_1611;
BgL_test3624z00_1611 = 
(BgL_iz00_1609==((long)-1)); 
if(BgL_test3624z00_1611)
{ /* ./Type/typeof.scm 15 */
return BUNSPEC;}  else 
{ /* ./Type/typeof.scm 15 */
{ /* ./Type/typeof.scm 15 */
obj_t BgL_arg3626z00_1612;
{ /* ./Type/typeof.scm 15 */
obj_t BgL_list3629z00_1613;
BgL_list3629z00_1613 = 
MAKE_PAIR(BgL_cportz00_1608, BNIL); 
BgL_arg3626z00_1612 = 
BGl_readz00zz__readerz00(BgL_list3629z00_1613); } 
{ /* ./Type/typeof.scm 15 */
int BgL_auxz00_1642;
BgL_auxz00_1642 = 
(int)(BgL_iz00_1609); 
CNST_TABLE_SET(BgL_auxz00_1642, BgL_arg3626z00_1612); } } 
{ /* ./Type/typeof.scm 15 */
int BgL_auxz00_1614;
{ /* ./Type/typeof.scm 15 */
long BgL_auxz00_1645;
BgL_auxz00_1645 = 
(BgL_iz00_1609-((long)1)); 
BgL_auxz00_1614 = 
(int)(BgL_auxz00_1645); } 
{ 
long BgL_iz00_1648;
BgL_iz00_1648 = 
(long)(BgL_auxz00_1614); 
BgL_iz00_1609 = BgL_iz00_1648; 
goto BgL_loopz00_1610;} } } } } } } 
}



/* toplevel-init */
obj_t BGl_toplevelzd2initzd2zztype_typeofz00()
{ AN_OBJECT;
{ /* ./Type/typeof.scm 15 */
return BUNSPEC;} 
}



/* typeof-atom */
BGL_EXPORTED_DEF BgL_typez00_bglt BGl_typeofzd2atomzd2zztype_typeofz00(obj_t BgL_atomz00_11)
{ AN_OBJECT;
{ /* ./Type/typeof.scm 29 */
{ /* ./Type/typeof.scm 31 */
bool_t BgL_test2762z00_703;
BgL_test2762z00_703 = 
NULLP(BgL_atomz00_11); 
if(BgL_test2762z00_703)
{ /* ./Type/typeof.scm 31 */
return 
(BgL_typez00_bglt)(BGl_za2bnilza2z00zztype_cachez00);}  else 
{ /* ./Type/typeof.scm 33 */
bool_t BgL_test2763z00_704;
BgL_test2763z00_704 = 
INTEGERP(BgL_atomz00_11); 
if(BgL_test2763z00_704)
{ /* ./Type/typeof.scm 33 */
return 
(BgL_typez00_bglt)(BGl_za2longza2z00zztype_cachez00);}  else 
{ /* ./Type/typeof.scm 35 */
bool_t BgL_test2764z00_705;
if(BgL_test2763z00_704)
{ /* ./Type/typeof.scm 35 */
BgL_test2764z00_705 = ((bool_t)1); }  else 
{ /* ./Type/typeof.scm 35 */
BgL_test2764z00_705 = 
REALP(BgL_atomz00_11); } 
if(BgL_test2764z00_705)
{ /* ./Type/typeof.scm 35 */
return 
(BgL_typez00_bglt)(BGl_za2realza2z00zztype_cachez00);}  else 
{ /* ./Type/typeof.scm 37 */
bool_t BgL_test2765z00_706;
BgL_test2765z00_706 = 
BOOLEANP(BgL_atomz00_11); 
if(BgL_test2765z00_706)
{ /* ./Type/typeof.scm 37 */
return 
(BgL_typez00_bglt)(BGl_za2boolza2z00zztype_cachez00);}  else 
{ /* ./Type/typeof.scm 39 */
bool_t BgL_test2766z00_707;
BgL_test2766z00_707 = 
CHARP(BgL_atomz00_11); 
if(BgL_test2766z00_707)
{ /* ./Type/typeof.scm 39 */
return 
(BgL_typez00_bglt)(BGl_za2charza2z00zztype_cachez00);}  else 
{ /* ./Type/typeof.scm 41 */
bool_t BgL_test2767z00_708;
BgL_test2767z00_708 = 
STRINGP(BgL_atomz00_11); 
if(BgL_test2767z00_708)
{ /* ./Type/typeof.scm 41 */
return 
(BgL_typez00_bglt)(BGl_za2stringza2z00zztype_cachez00);}  else 
{ /* ./Type/typeof.scm 43 */
bool_t BgL_test2768z00_709;
BgL_test2768z00_709 = 
(BgL_atomz00_11==BUNSPEC); 
if(BgL_test2768z00_709)
{ /* ./Type/typeof.scm 43 */
return 
(BgL_typez00_bglt)(BGl_za2unspecza2z00zztype_cachez00);}  else 
{ /* ./Type/typeof.scm 45 */
bool_t BgL_test2769z00_710;
BgL_test2769z00_710 = 
ELONGP(BgL_atomz00_11); 
if(BgL_test2769z00_710)
{ /* ./Type/typeof.scm 45 */
return 
(BgL_typez00_bglt)(BGl_za2belongza2z00zztype_cachez00);}  else 
{ /* ./Type/typeof.scm 47 */
bool_t BgL_test2770z00_711;
BgL_test2770z00_711 = 
LLONGP(BgL_atomz00_11); 
if(BgL_test2770z00_711)
{ /* ./Type/typeof.scm 47 */
return 
(BgL_typez00_bglt)(BGl_za2bllongza2z00zztype_cachez00);}  else 
{ /* ./Type/typeof.scm 47 */
return 
(BgL_typez00_bglt)(BGl_za2objza2z00zztype_cachez00);} } } } } } } } } } } 
}



/* _typeof-atom */
obj_t BGl__typeofzd2atomzd2zztype_typeofz00(obj_t BgL_envz00_1536, obj_t BgL_atomz00_1537)
{ AN_OBJECT;
{ /* ./Type/typeof.scm 29 */
{ /* ./Type/typeof.scm 31 */
BgL_typez00_bglt BgL_auxz00_1679;
BgL_auxz00_1679 = 
BGl_typeofzd2atomzd2zztype_typeofz00(BgL_atomz00_1537); 
return 
(obj_t)(BgL_auxz00_1679);} } 
}



/* typeof-kwote */
BGL_EXPORTED_DEF BgL_typez00_bglt BGl_typeofzd2kwotezd2zztype_typeofz00(obj_t BgL_kwotez00_12)
{ AN_OBJECT;
{ /* ./Type/typeof.scm 55 */
{ /* ./Type/typeof.scm 57 */
bool_t BgL_test2780z00_712;
BgL_test2780z00_712 = 
SYMBOLP(BgL_kwotez00_12); 
if(BgL_test2780z00_712)
{ /* ./Type/typeof.scm 57 */
return 
(BgL_typez00_bglt)(BGl_za2symbolza2z00zztype_cachez00);}  else 
{ /* ./Type/typeof.scm 59 */
bool_t BgL_test2781z00_713;
BgL_test2781z00_713 = 
PAIRP(BgL_kwotez00_12); 
if(BgL_test2781z00_713)
{ /* ./Type/typeof.scm 59 */
return 
(BgL_typez00_bglt)(BGl_za2pairza2z00zztype_cachez00);}  else 
{ /* ./Type/typeof.scm 61 */
bool_t BgL_test2782z00_714;
BgL_test2782z00_714 = 
NULLP(BgL_kwotez00_12); 
if(BgL_test2782z00_714)
{ /* ./Type/typeof.scm 61 */
return 
(BgL_typez00_bglt)(BGl_za2bnilza2z00zztype_cachez00);}  else 
{ /* ./Type/typeof.scm 63 */
bool_t BgL_test2783z00_715;
BgL_test2783z00_715 = 
VECTORP(BgL_kwotez00_12); 
if(BgL_test2783z00_715)
{ /* ./Type/typeof.scm 63 */
return 
(BgL_typez00_bglt)(BGl_za2vectorza2z00zztype_cachez00);}  else 
{ /* ./Type/typeof.scm 65 */
bool_t BgL_test2784z00_716;
if(
STRUCTP(BgL_kwotez00_12))
{ /* ./Type/typeof.scm 65 */
obj_t BgL_auxz00_1698;obj_t BgL_auxz00_1696;
BgL_auxz00_1698 = 
CNST_TABLE_REF(((long)0)); 
BgL_auxz00_1696 = 
STRUCT_KEY(BgL_kwotez00_12); 
BgL_test2784z00_716 = 
(BgL_auxz00_1696==BgL_auxz00_1698); }  else 
{ /* ./Type/typeof.scm 65 */
BgL_test2784z00_716 = ((bool_t)0); } 
if(BgL_test2784z00_716)
{ /* ./Type/typeof.scm 65 */
{ /* ./Type/typeof.scm 66 */
obj_t BgL_auxz00_1702;
{ /* ./Type/typeof.scm 66 */
int BgL_auxz00_1703;
BgL_auxz00_1703 = 
(int)(((long)0)); 
BgL_auxz00_1702 = 
STRUCT_REF(BgL_kwotez00_12, BgL_auxz00_1703); } 
return 
(BgL_typez00_bglt)(BgL_auxz00_1702);} }  else 
{ /* ./Type/typeof.scm 65 */
return 
(BgL_typez00_bglt)(BGl_za2objza2z00zztype_cachez00);} } } } } } } 
}



/* _typeof-kwote */
obj_t BGl__typeofzd2kwotezd2zztype_typeofz00(obj_t BgL_envz00_1538, obj_t BgL_kwotez00_1539)
{ AN_OBJECT;
{ /* ./Type/typeof.scm 55 */
{ /* ./Type/typeof.scm 57 */
BgL_typez00_bglt BgL_auxz00_1708;
BgL_auxz00_1708 = 
BGl_typeofzd2kwotezd2zztype_typeofz00(BgL_kwotez00_1539); 
return 
(obj_t)(BgL_auxz00_1708);} } 
}



/* method-init */
obj_t BGl_methodzd2initzd2zztype_typeofz00()
{ AN_OBJECT;
{ /* ./Type/typeof.scm 15 */
BGl_addzd2genericz12zc0zz__objectz00(BGl_typeofzd2envzd2zztype_typeofz00, BGl_typeofzd2default2688zd2envz00zztype_typeofz00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_typeofzd2envzd2zztype_typeofz00, BGl_atomz00zzast_nodez00, BGl_proc3598z00zztype_typeofz00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_typeofzd2envzd2zztype_typeofz00, BGl_kwotez00zzast_nodez00, BGl_proc3599z00zztype_typeofz00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_typeofzd2envzd2zztype_typeofz00, BGl_varz00zzast_nodez00, BGl_proc3600z00zztype_typeofz00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_typeofzd2envzd2zztype_typeofz00, BGl_closurez00zzast_nodez00, BGl_proc3601z00zztype_typeofz00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_typeofzd2envzd2zztype_typeofz00, BGl_sequencez00zzast_nodez00, BGl_proc3602z00zztype_typeofz00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_typeofzd2envzd2zztype_typeofz00, BGl_externz00zzast_nodez00, BGl_proc3603z00zztype_typeofz00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_typeofzd2envzd2zztype_typeofz00, BGl_castz00zzast_nodez00, BGl_proc3604z00zztype_typeofz00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_typeofzd2envzd2zztype_typeofz00, BGl_setqz00zzast_nodez00, BGl_proc3605z00zztype_typeofz00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_typeofzd2envzd2zztype_typeofz00, BGl_conditionalz00zzast_nodez00, BGl_proc3606z00zztype_typeofz00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_typeofzd2envzd2zztype_typeofz00, BGl_failz00zzast_nodez00, BGl_proc3607z00zztype_typeofz00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_typeofzd2envzd2zztype_typeofz00, BGl_selectz00zzast_nodez00, BGl_proc3608z00zztype_typeofz00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_typeofzd2envzd2zztype_typeofz00, BGl_letzd2funzd2zzast_nodez00, BGl_proc3609z00zztype_typeofz00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_typeofzd2envzd2zztype_typeofz00, BGl_letzd2varzd2zzast_nodez00, BGl_proc3610z00zztype_typeofz00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_typeofzd2envzd2zztype_typeofz00, BGl_setzd2exzd2itz00zzast_nodez00, BGl_proc3611z00zztype_typeofz00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_typeofzd2envzd2zztype_typeofz00, BGl_jumpzd2exzd2itz00zzast_nodez00, BGl_proc3612z00zztype_typeofz00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_typeofzd2envzd2zztype_typeofz00, BGl_makezd2boxzd2zzast_nodez00, BGl_proc3613z00zztype_typeofz00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_typeofzd2envzd2zztype_typeofz00, BGl_boxzd2refzd2zzast_nodez00, BGl_proc3614z00zztype_typeofz00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_typeofzd2envzd2zztype_typeofz00, BGl_boxzd2setz12zc0zzast_nodez00, BGl_proc3615z00zztype_typeofz00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_typeofzd2envzd2zztype_typeofz00, BGl_appzd2lyzd2zzast_nodez00, BGl_proc3616z00zztype_typeofz00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_typeofzd2envzd2zztype_typeofz00, BGl_funcallz00zzast_nodez00, BGl_proc3617z00zztype_typeofz00); 
return 
BGl_addzd2methodz12zc0zz__objectz00(BGl_typeofzd2envzd2zztype_typeofz00, BGl_appz00zzast_nodez00, BGl_proc3618z00zztype_typeofz00);} 
}



/* typeof-app2731 */
obj_t BGl_typeofzd2app2731zd2zztype_typeofz00(obj_t BgL_envz00_1563, obj_t BgL_nodez00_1564)
{ AN_OBJECT;
{ /* ./Type/typeof.scm 231 */
{ 
BgL_appz00_bglt BgL_nodez00_1226;
{ /* ./Type/typeof.scm 232 */
BgL_typez00_bglt BgL_auxz00_1733;
BgL_nodez00_1226 = 
(BgL_appz00_bglt)(BgL_nodez00_1564); 
{ /* ./Type/typeof.scm 232 */
BgL_variablez00_bglt BgL_arg3334z00_1503;
{ /* ./Type/typeof.scm 232 */
BgL_varz00_bglt BgL_arg3337z00_1504;
BgL_arg3337z00_1504 = 
(((BgL_appz00_bglt)CREF(BgL_nodez00_1226))->BgL_funz00); 
BgL_arg3334z00_1503 = 
(((BgL_varz00_bglt)CREF(BgL_arg3337z00_1504))->BgL_variablez00); } 
BgL_auxz00_1733 = 
(((BgL_variablez00_bglt)CREF(BgL_arg3334z00_1503))->BgL_typez00); } 
return 
(obj_t)(BgL_auxz00_1733);} } } 
}



/* typeof-funcall2729 */
obj_t BGl_typeofzd2funcall2729zd2zztype_typeofz00(obj_t BgL_envz00_1565, obj_t BgL_nodez00_1566)
{ AN_OBJECT;
{ /* ./Type/typeof.scm 225 */
return BGl_za2objza2z00zztype_cachez00;} 
}



/* typeof-app-ly2727 */
obj_t BGl_typeofzd2appzd2ly2727z00zztype_typeofz00(obj_t BgL_envz00_1567, obj_t BgL_nodez00_1568)
{ AN_OBJECT;
{ /* ./Type/typeof.scm 219 */
return BGl_za2objza2z00zztype_cachez00;} 
}



/* typeof-box-set!2725 */
obj_t BGl_typeofzd2boxzd2setz122725z12zztype_typeofz00(obj_t BgL_envz00_1569, obj_t BgL_nodez00_1570)
{ AN_OBJECT;
{ /* ./Type/typeof.scm 213 */
return BGl_za2unspecza2z00zztype_cachez00;} 
}



/* typeof-box-ref2723 */
obj_t BGl_typeofzd2boxzd2ref2723z00zztype_typeofz00(obj_t BgL_envz00_1571, obj_t BgL_nodez00_1572)
{ AN_OBJECT;
{ /* ./Type/typeof.scm 207 */
return BGl_za2objza2z00zztype_cachez00;} 
}



/* typeof-make-box2721 */
obj_t BGl_typeofzd2makezd2box2721z00zztype_typeofz00(obj_t BgL_envz00_1573, obj_t BgL_nodez00_1574)
{ AN_OBJECT;
{ /* ./Type/typeof.scm 201 */
return BGl_za2objza2z00zztype_cachez00;} 
}



/* typeof-jump-ex-it2719 */
obj_t BGl_typeofzd2jumpzd2exzd2it2719zd2zztype_typeofz00(obj_t BgL_envz00_1575, obj_t BgL_nodez00_1576)
{ AN_OBJECT;
{ /* ./Type/typeof.scm 195 */
return BGl_za2objza2z00zztype_cachez00;} 
}



/* typeof-set-ex-it2717 */
obj_t BGl_typeofzd2setzd2exzd2it2717zd2zztype_typeofz00(obj_t BgL_envz00_1577, obj_t BgL_nodez00_1578)
{ AN_OBJECT;
{ /* ./Type/typeof.scm 189 */
return BGl_za2objza2z00zztype_cachez00;} 
}



/* typeof-let-var2715 */
obj_t BGl_typeofzd2letzd2var2715z00zztype_typeofz00(obj_t BgL_envz00_1579, obj_t BgL_nodez00_1580)
{ AN_OBJECT;
{ /* ./Type/typeof.scm 182 */
{ 
BgL_letzd2varzd2_bglt BgL_nodez00_1184;
{ /* ./Type/typeof.scm 183 */
BgL_typez00_bglt BgL_auxz00_1739;
BgL_nodez00_1184 = 
(BgL_letzd2varzd2_bglt)(BgL_nodez00_1580); 
{ /* ./Type/typeof.scm 183 */
BgL_nodez00_bglt BgL_arg3282z00_1473;
BgL_arg3282z00_1473 = 
(((BgL_letzd2varzd2_bglt)CREF(BgL_nodez00_1184))->BgL_bodyz00); 
{ /* ./Type/typeof.scm 183 */
BgL_typez00_bglt BgL_res3377z00_1501;
{ /* ./Type/typeof.scm 183 */
obj_t BgL_method2689z00_1476;
{ /* ./Type/typeof.scm 183 */
BgL_objectz00_bglt BgL_objz00_1477;
BgL_objz00_1477 = 
(BgL_objectz00_bglt)(BgL_arg3282z00_1473); 
{ /* ./Type/typeof.scm 183 */
long BgL_objzd2classzd2numz00_1478;
BgL_objzd2classzd2numz00_1478 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1477); 
{ /* ./Type/typeof.scm 183 */
obj_t BgL_arg2017z00_1479;
{ /* ./Type/typeof.scm 183 */
int BgL_auxz00_1743;
BgL_auxz00_1743 = 
(int)(((long)1)); 
BgL_arg2017z00_1479 = 
PROCEDURE_REF(BGl_typeofzd2envzd2zztype_typeofz00, BgL_auxz00_1743); } 
{ /* ./Type/typeof.scm 183 */
int BgL_offsetz00_1482;
BgL_offsetz00_1482 = 
(int)(BgL_objzd2classzd2numz00_1478); 
{ /* ./Type/typeof.scm 183 */
long BgL_offsetz00_1483;
{ /* ./Type/typeof.scm 183 */
long BgL_auxz00_1747;
BgL_auxz00_1747 = 
(long)(BgL_offsetz00_1482); 
BgL_offsetz00_1483 = 
(BgL_auxz00_1747-OBJECT_TYPE); } 
{ /* ./Type/typeof.scm 183 */
long BgL_modz00_1484;
{ /* ./Type/typeof.scm 183 */
int BgL_arg2028z00_1485;
BgL_arg2028z00_1485 = 
(int)(((long)8)); 
{ /* ./Type/typeof.scm 183 */
long BgL_n2z00_1493;
BgL_n2z00_1493 = 
(long)(BgL_arg2028z00_1485); 
BgL_modz00_1484 = 
(BgL_offsetz00_1483/BgL_n2z00_1493); } } 
{ /* ./Type/typeof.scm 183 */
long BgL_restz00_1486;
{ /* ./Type/typeof.scm 183 */
int BgL_arg2024z00_1487;
BgL_arg2024z00_1487 = 
(int)(((long)8)); 
{ /* ./Type/typeof.scm 183 */
long BgL_n2z00_1496;
BgL_n2z00_1496 = 
(long)(BgL_arg2024z00_1487); 
BgL_restz00_1486 = 
(BgL_offsetz00_1483%BgL_n2z00_1496); } } 
{ /* ./Type/typeof.scm 183 */

{ /* ./Type/typeof.scm 183 */
obj_t BgL_bucketz00_1488;
{ /* ./Type/typeof.scm 183 */
int BgL_kz00_1498;
BgL_kz00_1498 = 
(int)(BgL_modz00_1484); 
BgL_bucketz00_1488 = 
VECTOR_REF(BgL_arg2017z00_1479,BgL_kz00_1498); } 
{ /* ./Type/typeof.scm 183 */
int BgL_kz00_1500;
BgL_kz00_1500 = 
(int)(BgL_restz00_1486); 
BgL_method2689z00_1476 = 
VECTOR_REF(BgL_bucketz00_1488,BgL_kz00_1500); } } } } } } } } } } 
{ /* ./Type/typeof.scm 183 */
obj_t BgL_auxz00_1760;
BgL_auxz00_1760 = 
PROCEDURE_ENTRY(BgL_method2689z00_1476)(BgL_method2689z00_1476, 
(obj_t)(BgL_arg3282z00_1473), BEOA); 
BgL_res3377z00_1501 = 
(BgL_typez00_bglt)(BgL_auxz00_1760); } } 
BgL_auxz00_1739 = BgL_res3377z00_1501; } } 
return 
(obj_t)(BgL_auxz00_1739);} } } 
}



/* typeof-let-fun2713 */
obj_t BGl_typeofzd2letzd2fun2713z00zztype_typeofz00(obj_t BgL_envz00_1581, obj_t BgL_nodez00_1582)
{ AN_OBJECT;
{ /* ./Type/typeof.scm 175 */
{ 
BgL_letzd2funzd2_bglt BgL_nodez00_1177;
{ /* ./Type/typeof.scm 176 */
BgL_typez00_bglt BgL_auxz00_1767;
BgL_nodez00_1177 = 
(BgL_letzd2funzd2_bglt)(BgL_nodez00_1582); 
{ /* ./Type/typeof.scm 176 */
BgL_nodez00_bglt BgL_arg3272z00_1443;
BgL_arg3272z00_1443 = 
(((BgL_letzd2funzd2_bglt)CREF(BgL_nodez00_1177))->BgL_bodyz00); 
{ /* ./Type/typeof.scm 176 */
BgL_typez00_bglt BgL_res3374z00_1471;
{ /* ./Type/typeof.scm 176 */
obj_t BgL_method2689z00_1446;
{ /* ./Type/typeof.scm 176 */
BgL_objectz00_bglt BgL_objz00_1447;
BgL_objz00_1447 = 
(BgL_objectz00_bglt)(BgL_arg3272z00_1443); 
{ /* ./Type/typeof.scm 176 */
long BgL_objzd2classzd2numz00_1448;
BgL_objzd2classzd2numz00_1448 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1447); 
{ /* ./Type/typeof.scm 176 */
obj_t BgL_arg2017z00_1449;
{ /* ./Type/typeof.scm 176 */
int BgL_auxz00_1771;
BgL_auxz00_1771 = 
(int)(((long)1)); 
BgL_arg2017z00_1449 = 
PROCEDURE_REF(BGl_typeofzd2envzd2zztype_typeofz00, BgL_auxz00_1771); } 
{ /* ./Type/typeof.scm 176 */
int BgL_offsetz00_1452;
BgL_offsetz00_1452 = 
(int)(BgL_objzd2classzd2numz00_1448); 
{ /* ./Type/typeof.scm 176 */
long BgL_offsetz00_1453;
{ /* ./Type/typeof.scm 176 */
long BgL_auxz00_1775;
BgL_auxz00_1775 = 
(long)(BgL_offsetz00_1452); 
BgL_offsetz00_1453 = 
(BgL_auxz00_1775-OBJECT_TYPE); } 
{ /* ./Type/typeof.scm 176 */
long BgL_modz00_1454;
{ /* ./Type/typeof.scm 176 */
int BgL_arg2028z00_1455;
BgL_arg2028z00_1455 = 
(int)(((long)8)); 
{ /* ./Type/typeof.scm 176 */
long BgL_n2z00_1463;
BgL_n2z00_1463 = 
(long)(BgL_arg2028z00_1455); 
BgL_modz00_1454 = 
(BgL_offsetz00_1453/BgL_n2z00_1463); } } 
{ /* ./Type/typeof.scm 176 */
long BgL_restz00_1456;
{ /* ./Type/typeof.scm 176 */
int BgL_arg2024z00_1457;
BgL_arg2024z00_1457 = 
(int)(((long)8)); 
{ /* ./Type/typeof.scm 176 */
long BgL_n2z00_1466;
BgL_n2z00_1466 = 
(long)(BgL_arg2024z00_1457); 
BgL_restz00_1456 = 
(BgL_offsetz00_1453%BgL_n2z00_1466); } } 
{ /* ./Type/typeof.scm 176 */

{ /* ./Type/typeof.scm 176 */
obj_t BgL_bucketz00_1458;
{ /* ./Type/typeof.scm 176 */
int BgL_kz00_1468;
BgL_kz00_1468 = 
(int)(BgL_modz00_1454); 
BgL_bucketz00_1458 = 
VECTOR_REF(BgL_arg2017z00_1449,BgL_kz00_1468); } 
{ /* ./Type/typeof.scm 176 */
int BgL_kz00_1470;
BgL_kz00_1470 = 
(int)(BgL_restz00_1456); 
BgL_method2689z00_1446 = 
VECTOR_REF(BgL_bucketz00_1458,BgL_kz00_1470); } } } } } } } } } } 
{ /* ./Type/typeof.scm 176 */
obj_t BgL_auxz00_1788;
BgL_auxz00_1788 = 
PROCEDURE_ENTRY(BgL_method2689z00_1446)(BgL_method2689z00_1446, 
(obj_t)(BgL_arg3272z00_1443), BEOA); 
BgL_res3374z00_1471 = 
(BgL_typez00_bglt)(BgL_auxz00_1788); } } 
BgL_auxz00_1767 = BgL_res3374z00_1471; } } 
return 
(obj_t)(BgL_auxz00_1767);} } } 
}



/* typeof-select2711 */
obj_t BGl_typeofzd2select2711zd2zztype_typeofz00(obj_t BgL_envz00_1583, obj_t BgL_nodez00_1584)
{ AN_OBJECT;
{ /* ./Type/typeof.scm 158 */
{ 
BgL_selectz00_bglt BgL_nodez00_1153;
BgL_nodez00_1153 = 
(BgL_selectz00_bglt)(BgL_nodez00_1584); 
{ 
obj_t BgL_clausesz00_1157;BgL_typez00_bglt BgL_typez00_1158;
{ /* ./Type/typeof.scm 160 */
obj_t BgL_arg3223z00_1160;BgL_typez00_bglt BgL_arg3224z00_1161;
{ /* ./Type/typeof.scm 160 */
obj_t BgL_auxz00_1795;
BgL_auxz00_1795 = 
(((BgL_selectz00_bglt)CREF(BgL_nodez00_1153))->BgL_clausesz00); 
BgL_arg3223z00_1160 = 
CDR(BgL_auxz00_1795); } 
{ /* ./Type/typeof.scm 161 */
obj_t BgL_arg3231z00_1163;
{ /* ./Type/typeof.scm 161 */
obj_t BgL_auxz00_1798;
{ /* ./Type/typeof.scm 161 */
obj_t BgL_auxz00_1799;
BgL_auxz00_1799 = 
(((BgL_selectz00_bglt)CREF(BgL_nodez00_1153))->BgL_clausesz00); 
BgL_auxz00_1798 = 
CAR(BgL_auxz00_1799); } 
BgL_arg3231z00_1163 = 
CDR(BgL_auxz00_1798); } 
{ /* ./Type/typeof.scm 161 */
BgL_typez00_bglt BgL_res3368z00_1409;
{ /* ./Type/typeof.scm 161 */
BgL_nodez00_bglt BgL_nodez00_1383;
BgL_nodez00_1383 = 
(BgL_nodez00_bglt)(BgL_arg3231z00_1163); 
{ /* ./Type/typeof.scm 161 */
obj_t BgL_method2689z00_1384;
{ /* ./Type/typeof.scm 161 */
BgL_objectz00_bglt BgL_objz00_1385;
BgL_objz00_1385 = 
(BgL_objectz00_bglt)(BgL_nodez00_1383); 
{ /* ./Type/typeof.scm 161 */
long BgL_objzd2classzd2numz00_1386;
BgL_objzd2classzd2numz00_1386 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1385); 
{ /* ./Type/typeof.scm 161 */
obj_t BgL_arg2017z00_1387;
{ /* ./Type/typeof.scm 161 */
int BgL_auxz00_1806;
BgL_auxz00_1806 = 
(int)(((long)1)); 
BgL_arg2017z00_1387 = 
PROCEDURE_REF(BGl_typeofzd2envzd2zztype_typeofz00, BgL_auxz00_1806); } 
{ /* ./Type/typeof.scm 161 */
int BgL_offsetz00_1390;
BgL_offsetz00_1390 = 
(int)(BgL_objzd2classzd2numz00_1386); 
{ /* ./Type/typeof.scm 161 */
long BgL_offsetz00_1391;
{ /* ./Type/typeof.scm 161 */
long BgL_auxz00_1810;
BgL_auxz00_1810 = 
(long)(BgL_offsetz00_1390); 
BgL_offsetz00_1391 = 
(BgL_auxz00_1810-OBJECT_TYPE); } 
{ /* ./Type/typeof.scm 161 */
long BgL_modz00_1392;
{ /* ./Type/typeof.scm 161 */
int BgL_arg2028z00_1393;
BgL_arg2028z00_1393 = 
(int)(((long)8)); 
{ /* ./Type/typeof.scm 161 */
long BgL_n2z00_1401;
BgL_n2z00_1401 = 
(long)(BgL_arg2028z00_1393); 
BgL_modz00_1392 = 
(BgL_offsetz00_1391/BgL_n2z00_1401); } } 
{ /* ./Type/typeof.scm 161 */
long BgL_restz00_1394;
{ /* ./Type/typeof.scm 161 */
int BgL_arg2024z00_1395;
BgL_arg2024z00_1395 = 
(int)(((long)8)); 
{ /* ./Type/typeof.scm 161 */
long BgL_n2z00_1404;
BgL_n2z00_1404 = 
(long)(BgL_arg2024z00_1395); 
BgL_restz00_1394 = 
(BgL_offsetz00_1391%BgL_n2z00_1404); } } 
{ /* ./Type/typeof.scm 161 */

{ /* ./Type/typeof.scm 161 */
obj_t BgL_bucketz00_1396;
{ /* ./Type/typeof.scm 161 */
int BgL_kz00_1406;
BgL_kz00_1406 = 
(int)(BgL_modz00_1392); 
BgL_bucketz00_1396 = 
VECTOR_REF(BgL_arg2017z00_1387,BgL_kz00_1406); } 
{ /* ./Type/typeof.scm 161 */
int BgL_kz00_1408;
BgL_kz00_1408 = 
(int)(BgL_restz00_1394); 
BgL_method2689z00_1384 = 
VECTOR_REF(BgL_bucketz00_1396,BgL_kz00_1408); } } } } } } } } } } 
{ /* ./Type/typeof.scm 161 */
obj_t BgL_auxz00_1823;
BgL_auxz00_1823 = 
PROCEDURE_ENTRY(BgL_method2689z00_1384)(BgL_method2689z00_1384, 
(obj_t)(BgL_nodez00_1383), BEOA); 
BgL_res3368z00_1409 = 
(BgL_typez00_bglt)(BgL_auxz00_1823); } } } 
BgL_arg3224z00_1161 = BgL_res3368z00_1409; } } 
BgL_clausesz00_1157 = BgL_arg3223z00_1160; 
BgL_typez00_1158 = BgL_arg3224z00_1161; 
BgL_loopz00_1159:
{ /* ./Type/typeof.scm 162 */
bool_t BgL_test3240z00_1166;
BgL_test3240z00_1166 = 
NULLP(BgL_clausesz00_1157); 
if(BgL_test3240z00_1166)
{ /* ./Type/typeof.scm 162 */
return 
(obj_t)(BgL_typez00_1158);}  else 
{ /* ./Type/typeof.scm 164 */
BgL_typez00_bglt BgL_ntypez00_1167;
{ /* ./Type/typeof.scm 164 */
obj_t BgL_arg3257z00_1173;
{ /* ./Type/typeof.scm 164 */
obj_t BgL_auxz00_1831;
BgL_auxz00_1831 = 
CAR(BgL_clausesz00_1157); 
BgL_arg3257z00_1173 = 
CDR(BgL_auxz00_1831); } 
{ /* ./Type/typeof.scm 164 */
BgL_typez00_bglt BgL_res3371z00_1439;
{ /* ./Type/typeof.scm 164 */
BgL_nodez00_bglt BgL_nodez00_1413;
BgL_nodez00_1413 = 
(BgL_nodez00_bglt)(BgL_arg3257z00_1173); 
{ /* ./Type/typeof.scm 164 */
obj_t BgL_method2689z00_1414;
{ /* ./Type/typeof.scm 164 */
BgL_objectz00_bglt BgL_objz00_1415;
BgL_objz00_1415 = 
(BgL_objectz00_bglt)(BgL_nodez00_1413); 
{ /* ./Type/typeof.scm 164 */
long BgL_objzd2classzd2numz00_1416;
BgL_objzd2classzd2numz00_1416 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1415); 
{ /* ./Type/typeof.scm 164 */
obj_t BgL_arg2017z00_1417;
{ /* ./Type/typeof.scm 164 */
int BgL_auxz00_1837;
BgL_auxz00_1837 = 
(int)(((long)1)); 
BgL_arg2017z00_1417 = 
PROCEDURE_REF(BGl_typeofzd2envzd2zztype_typeofz00, BgL_auxz00_1837); } 
{ /* ./Type/typeof.scm 164 */
int BgL_offsetz00_1420;
BgL_offsetz00_1420 = 
(int)(BgL_objzd2classzd2numz00_1416); 
{ /* ./Type/typeof.scm 164 */
long BgL_offsetz00_1421;
{ /* ./Type/typeof.scm 164 */
long BgL_auxz00_1841;
BgL_auxz00_1841 = 
(long)(BgL_offsetz00_1420); 
BgL_offsetz00_1421 = 
(BgL_auxz00_1841-OBJECT_TYPE); } 
{ /* ./Type/typeof.scm 164 */
long BgL_modz00_1422;
{ /* ./Type/typeof.scm 164 */
int BgL_arg2028z00_1423;
BgL_arg2028z00_1423 = 
(int)(((long)8)); 
{ /* ./Type/typeof.scm 164 */
long BgL_n2z00_1431;
BgL_n2z00_1431 = 
(long)(BgL_arg2028z00_1423); 
BgL_modz00_1422 = 
(BgL_offsetz00_1421/BgL_n2z00_1431); } } 
{ /* ./Type/typeof.scm 164 */
long BgL_restz00_1424;
{ /* ./Type/typeof.scm 164 */
int BgL_arg2024z00_1425;
BgL_arg2024z00_1425 = 
(int)(((long)8)); 
{ /* ./Type/typeof.scm 164 */
long BgL_n2z00_1434;
BgL_n2z00_1434 = 
(long)(BgL_arg2024z00_1425); 
BgL_restz00_1424 = 
(BgL_offsetz00_1421%BgL_n2z00_1434); } } 
{ /* ./Type/typeof.scm 164 */

{ /* ./Type/typeof.scm 164 */
obj_t BgL_bucketz00_1426;
{ /* ./Type/typeof.scm 164 */
int BgL_kz00_1436;
BgL_kz00_1436 = 
(int)(BgL_modz00_1422); 
BgL_bucketz00_1426 = 
VECTOR_REF(BgL_arg2017z00_1417,BgL_kz00_1436); } 
{ /* ./Type/typeof.scm 164 */
int BgL_kz00_1438;
BgL_kz00_1438 = 
(int)(BgL_restz00_1424); 
BgL_method2689z00_1414 = 
VECTOR_REF(BgL_bucketz00_1426,BgL_kz00_1438); } } } } } } } } } } 
{ /* ./Type/typeof.scm 164 */
obj_t BgL_auxz00_1854;
BgL_auxz00_1854 = 
PROCEDURE_ENTRY(BgL_method2689z00_1414)(BgL_method2689z00_1414, 
(obj_t)(BgL_nodez00_1413), BEOA); 
BgL_res3371z00_1439 = 
(BgL_typez00_bglt)(BgL_auxz00_1854); } } } 
BgL_ntypez00_1167 = BgL_res3371z00_1439; } } 
{ /* ./Type/typeof.scm 166 */
bool_t BgL_test3241z00_1168;
{ /* ./Type/typeof.scm 166 */
obj_t BgL_auxz00_1859;
BgL_auxz00_1859 = 
(obj_t)(BgL_typez00_1158); 
BgL_test3241z00_1168 = 
(BgL_auxz00_1859==BGl_za2magicza2z00zztype_cachez00); } 
if(BgL_test3241z00_1168)
{ /* ./Type/typeof.scm 166 */
{ /* ./Type/typeof.scm 167 */
obj_t BgL_arg3243z00_1169;
BgL_arg3243z00_1169 = 
CDR(BgL_clausesz00_1157); 
{ 
BgL_typez00_bglt BgL_typez00_1865;obj_t BgL_clausesz00_1864;
BgL_clausesz00_1864 = BgL_arg3243z00_1169; 
BgL_typez00_1865 = BgL_ntypez00_1167; 
BgL_typez00_1158 = BgL_typez00_1865; 
BgL_clausesz00_1157 = BgL_clausesz00_1864; 
goto BgL_loopz00_1159;} } }  else 
{ /* ./Type/typeof.scm 168 */
bool_t BgL_test3246z00_1170;
{ /* ./Type/typeof.scm 168 */
bool_t BgL_test3251z00_1172;
{ /* ./Type/typeof.scm 168 */
obj_t BgL_auxz00_1868;obj_t BgL_auxz00_1866;
BgL_auxz00_1868 = 
(obj_t)(BgL_typez00_1158); 
BgL_auxz00_1866 = 
(obj_t)(BgL_ntypez00_1167); 
BgL_test3251z00_1172 = 
(BgL_auxz00_1866==BgL_auxz00_1868); } 
if(BgL_test3251z00_1172)
{ /* ./Type/typeof.scm 168 */
BgL_test3246z00_1170 = ((bool_t)1); }  else 
{ /* ./Type/typeof.scm 168 */
obj_t BgL_auxz00_1872;
BgL_auxz00_1872 = 
(obj_t)(BgL_ntypez00_1167); 
BgL_test3246z00_1170 = 
(BgL_auxz00_1872==BGl_za2magicza2z00zztype_cachez00); } } 
if(BgL_test3246z00_1170)
{ /* ./Type/typeof.scm 168 */
{ /* ./Type/typeof.scm 169 */
obj_t BgL_arg3248z00_1171;
BgL_arg3248z00_1171 = 
CDR(BgL_clausesz00_1157); 
{ 
obj_t BgL_clausesz00_1877;
BgL_clausesz00_1877 = BgL_arg3248z00_1171; 
BgL_clausesz00_1157 = BgL_clausesz00_1877; 
goto BgL_loopz00_1159;} } }  else 
{ /* ./Type/typeof.scm 168 */
return BGl_za2objza2z00zztype_cachez00;} } } } } } } } } 
}



/* typeof-fail2709 */
obj_t BGl_typeofzd2fail2709zd2zztype_typeofz00(obj_t BgL_envz00_1585, obj_t BgL_nodez00_1586)
{ AN_OBJECT;
{ /* ./Type/typeof.scm 151 */
return BGl_za2magicza2z00zztype_cachez00;} 
}



/* typeof-conditional2707 */
obj_t BGl_typeofzd2conditional2707zd2zztype_typeofz00(obj_t BgL_envz00_1587, obj_t BgL_nodez00_1588)
{ AN_OBJECT;
{ /* ./Type/typeof.scm 140 */
{ 
BgL_conditionalz00_bglt BgL_nodez00_1134;
BgL_nodez00_1134 = 
(BgL_conditionalz00_bglt)(BgL_nodez00_1588); 
{ /* ./Type/typeof.scm 142 */
BgL_typez00_bglt BgL_ttruez00_1138;BgL_typez00_bglt BgL_tfalsez00_1139;
{ /* ./Type/typeof.scm 142 */
BgL_nodez00_bglt BgL_arg3203z00_1143;
BgL_arg3203z00_1143 = 
(((BgL_conditionalz00_bglt)CREF(BgL_nodez00_1134))->BgL_truez00); 
{ /* ./Type/typeof.scm 142 */
BgL_typez00_bglt BgL_res3362z00_1349;
{ /* ./Type/typeof.scm 142 */
obj_t BgL_method2689z00_1324;
{ /* ./Type/typeof.scm 142 */
BgL_objectz00_bglt BgL_objz00_1325;
BgL_objz00_1325 = 
(BgL_objectz00_bglt)(BgL_arg3203z00_1143); 
{ /* ./Type/typeof.scm 142 */
long BgL_objzd2classzd2numz00_1326;
BgL_objzd2classzd2numz00_1326 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1325); 
{ /* ./Type/typeof.scm 142 */
obj_t BgL_arg2017z00_1327;
{ /* ./Type/typeof.scm 142 */
int BgL_auxz00_1882;
BgL_auxz00_1882 = 
(int)(((long)1)); 
BgL_arg2017z00_1327 = 
PROCEDURE_REF(BGl_typeofzd2envzd2zztype_typeofz00, BgL_auxz00_1882); } 
{ /* ./Type/typeof.scm 142 */
int BgL_offsetz00_1330;
BgL_offsetz00_1330 = 
(int)(BgL_objzd2classzd2numz00_1326); 
{ /* ./Type/typeof.scm 142 */
long BgL_offsetz00_1331;
{ /* ./Type/typeof.scm 142 */
long BgL_auxz00_1886;
BgL_auxz00_1886 = 
(long)(BgL_offsetz00_1330); 
BgL_offsetz00_1331 = 
(BgL_auxz00_1886-OBJECT_TYPE); } 
{ /* ./Type/typeof.scm 142 */
long BgL_modz00_1332;
{ /* ./Type/typeof.scm 142 */
int BgL_arg2028z00_1333;
BgL_arg2028z00_1333 = 
(int)(((long)8)); 
{ /* ./Type/typeof.scm 142 */
long BgL_n2z00_1341;
BgL_n2z00_1341 = 
(long)(BgL_arg2028z00_1333); 
BgL_modz00_1332 = 
(BgL_offsetz00_1331/BgL_n2z00_1341); } } 
{ /* ./Type/typeof.scm 142 */
long BgL_restz00_1334;
{ /* ./Type/typeof.scm 142 */
int BgL_arg2024z00_1335;
BgL_arg2024z00_1335 = 
(int)(((long)8)); 
{ /* ./Type/typeof.scm 142 */
long BgL_n2z00_1344;
BgL_n2z00_1344 = 
(long)(BgL_arg2024z00_1335); 
BgL_restz00_1334 = 
(BgL_offsetz00_1331%BgL_n2z00_1344); } } 
{ /* ./Type/typeof.scm 142 */

{ /* ./Type/typeof.scm 142 */
obj_t BgL_bucketz00_1336;
{ /* ./Type/typeof.scm 142 */
int BgL_kz00_1346;
BgL_kz00_1346 = 
(int)(BgL_modz00_1332); 
BgL_bucketz00_1336 = 
VECTOR_REF(BgL_arg2017z00_1327,BgL_kz00_1346); } 
{ /* ./Type/typeof.scm 142 */
int BgL_kz00_1348;
BgL_kz00_1348 = 
(int)(BgL_restz00_1334); 
BgL_method2689z00_1324 = 
VECTOR_REF(BgL_bucketz00_1336,BgL_kz00_1348); } } } } } } } } } } 
{ /* ./Type/typeof.scm 142 */
obj_t BgL_auxz00_1899;
BgL_auxz00_1899 = 
PROCEDURE_ENTRY(BgL_method2689z00_1324)(BgL_method2689z00_1324, 
(obj_t)(BgL_arg3203z00_1143), BEOA); 
BgL_res3362z00_1349 = 
(BgL_typez00_bglt)(BgL_auxz00_1899); } } 
BgL_ttruez00_1138 = BgL_res3362z00_1349; } } 
{ /* ./Type/typeof.scm 143 */
BgL_nodez00_bglt BgL_arg3207z00_1144;
BgL_arg3207z00_1144 = 
(((BgL_conditionalz00_bglt)CREF(BgL_nodez00_1134))->BgL_falsez00); 
{ /* ./Type/typeof.scm 143 */
BgL_typez00_bglt BgL_res3365z00_1377;
{ /* ./Type/typeof.scm 143 */
obj_t BgL_method2689z00_1352;
{ /* ./Type/typeof.scm 143 */
BgL_objectz00_bglt BgL_objz00_1353;
BgL_objz00_1353 = 
(BgL_objectz00_bglt)(BgL_arg3207z00_1144); 
{ /* ./Type/typeof.scm 143 */
long BgL_objzd2classzd2numz00_1354;
BgL_objzd2classzd2numz00_1354 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1353); 
{ /* ./Type/typeof.scm 143 */
obj_t BgL_arg2017z00_1355;
{ /* ./Type/typeof.scm 143 */
int BgL_auxz00_1907;
BgL_auxz00_1907 = 
(int)(((long)1)); 
BgL_arg2017z00_1355 = 
PROCEDURE_REF(BGl_typeofzd2envzd2zztype_typeofz00, BgL_auxz00_1907); } 
{ /* ./Type/typeof.scm 143 */
int BgL_offsetz00_1358;
BgL_offsetz00_1358 = 
(int)(BgL_objzd2classzd2numz00_1354); 
{ /* ./Type/typeof.scm 143 */
long BgL_offsetz00_1359;
{ /* ./Type/typeof.scm 143 */
long BgL_auxz00_1911;
BgL_auxz00_1911 = 
(long)(BgL_offsetz00_1358); 
BgL_offsetz00_1359 = 
(BgL_auxz00_1911-OBJECT_TYPE); } 
{ /* ./Type/typeof.scm 143 */
long BgL_modz00_1360;
{ /* ./Type/typeof.scm 143 */
int BgL_arg2028z00_1361;
BgL_arg2028z00_1361 = 
(int)(((long)8)); 
{ /* ./Type/typeof.scm 143 */
long BgL_n2z00_1369;
BgL_n2z00_1369 = 
(long)(BgL_arg2028z00_1361); 
BgL_modz00_1360 = 
(BgL_offsetz00_1359/BgL_n2z00_1369); } } 
{ /* ./Type/typeof.scm 143 */
long BgL_restz00_1362;
{ /* ./Type/typeof.scm 143 */
int BgL_arg2024z00_1363;
BgL_arg2024z00_1363 = 
(int)(((long)8)); 
{ /* ./Type/typeof.scm 143 */
long BgL_n2z00_1372;
BgL_n2z00_1372 = 
(long)(BgL_arg2024z00_1363); 
BgL_restz00_1362 = 
(BgL_offsetz00_1359%BgL_n2z00_1372); } } 
{ /* ./Type/typeof.scm 143 */

{ /* ./Type/typeof.scm 143 */
obj_t BgL_bucketz00_1364;
{ /* ./Type/typeof.scm 143 */
int BgL_kz00_1374;
BgL_kz00_1374 = 
(int)(BgL_modz00_1360); 
BgL_bucketz00_1364 = 
VECTOR_REF(BgL_arg2017z00_1355,BgL_kz00_1374); } 
{ /* ./Type/typeof.scm 143 */
int BgL_kz00_1376;
BgL_kz00_1376 = 
(int)(BgL_restz00_1362); 
BgL_method2689z00_1352 = 
VECTOR_REF(BgL_bucketz00_1364,BgL_kz00_1376); } } } } } } } } } } 
{ /* ./Type/typeof.scm 143 */
obj_t BgL_auxz00_1924;
BgL_auxz00_1924 = 
PROCEDURE_ENTRY(BgL_method2689z00_1352)(BgL_method2689z00_1352, 
(obj_t)(BgL_arg3207z00_1144), BEOA); 
BgL_res3365z00_1377 = 
(BgL_typez00_bglt)(BgL_auxz00_1924); } } 
BgL_tfalsez00_1139 = BgL_res3365z00_1377; } } 
{ /* ./Type/typeof.scm 144 */
bool_t BgL_test3196z00_1140;
{ /* ./Type/typeof.scm 144 */
bool_t BgL_test3199z00_1142;
{ /* ./Type/typeof.scm 144 */
obj_t BgL_auxz00_1931;obj_t BgL_auxz00_1929;
BgL_auxz00_1931 = 
(obj_t)(BgL_tfalsez00_1139); 
BgL_auxz00_1929 = 
(obj_t)(BgL_ttruez00_1138); 
BgL_test3199z00_1142 = 
(BgL_auxz00_1929==BgL_auxz00_1931); } 
if(BgL_test3199z00_1142)
{ /* ./Type/typeof.scm 144 */
BgL_test3196z00_1140 = ((bool_t)1); }  else 
{ /* ./Type/typeof.scm 144 */
obj_t BgL_auxz00_1935;
BgL_auxz00_1935 = 
(obj_t)(BgL_tfalsez00_1139); 
BgL_test3196z00_1140 = 
(BgL_auxz00_1935==BGl_za2magicza2z00zztype_cachez00); } } 
if(BgL_test3196z00_1140)
{ /* ./Type/typeof.scm 144 */
return 
(obj_t)(BgL_ttruez00_1138);}  else 
{ /* ./Type/typeof.scm 145 */
bool_t BgL_test3197z00_1141;
{ /* ./Type/typeof.scm 145 */
obj_t BgL_auxz00_1940;
BgL_auxz00_1940 = 
(obj_t)(BgL_ttruez00_1138); 
BgL_test3197z00_1141 = 
(BgL_auxz00_1940==BGl_za2magicza2z00zztype_cachez00); } 
if(BgL_test3197z00_1141)
{ /* ./Type/typeof.scm 145 */
return 
(obj_t)(BgL_tfalsez00_1139);}  else 
{ /* ./Type/typeof.scm 145 */
return BGl_za2objza2z00zztype_cachez00;} } } } } } 
}



/* typeof-setq2705 */
obj_t BGl_typeofzd2setq2705zd2zztype_typeofz00(obj_t BgL_envz00_1589, obj_t BgL_nodez00_1590)
{ AN_OBJECT;
{ /* ./Type/typeof.scm 134 */
return BGl_za2unspecza2z00zztype_cachez00;} 
}



/* typeof-cast2703 */
obj_t BGl_typeofzd2cast2703zd2zztype_typeofz00(obj_t BgL_envz00_1591, obj_t BgL_nodez00_1592)
{ AN_OBJECT;
{ /* ./Type/typeof.scm 127 */
{ 
BgL_castz00_bglt BgL_nodez00_1123;
{ /* ./Type/typeof.scm 128 */
BgL_typez00_bglt BgL_auxz00_1946;
BgL_nodez00_1123 = 
(BgL_castz00_bglt)(BgL_nodez00_1592); 
{ /* ./Type/typeof.scm 128 */
BgL_nodez00_bglt BgL_obj1090z00_1321;
BgL_obj1090z00_1321 = 
(BgL_nodez00_bglt)(BgL_nodez00_1123); 
BgL_auxz00_1946 = 
(((BgL_nodez00_bglt)CREF(BgL_obj1090z00_1321))->BgL_typez00); } 
return 
(obj_t)(BgL_auxz00_1946);} } } 
}



/* typeof-extern2701 */
obj_t BGl_typeofzd2extern2701zd2zztype_typeofz00(obj_t BgL_envz00_1593, obj_t BgL_nodez00_1594)
{ AN_OBJECT;
{ /* ./Type/typeof.scm 120 */
{ 
BgL_externz00_bglt BgL_nodez00_1117;
{ /* ./Type/typeof.scm 121 */
BgL_typez00_bglt BgL_auxz00_1951;
BgL_nodez00_1117 = 
(BgL_externz00_bglt)(BgL_nodez00_1594); 
{ /* ./Type/typeof.scm 121 */
BgL_nodez00_bglt BgL_obj1090z00_1319;
BgL_obj1090z00_1319 = 
(BgL_nodez00_bglt)(BgL_nodez00_1117); 
BgL_auxz00_1951 = 
(((BgL_nodez00_bglt)CREF(BgL_obj1090z00_1319))->BgL_typez00); } 
return 
(obj_t)(BgL_auxz00_1951);} } } 
}



/* typeof-sequence2699 */
obj_t BGl_typeofzd2sequence2699zd2zztype_typeofz00(obj_t BgL_envz00_1595, obj_t BgL_nodez00_1596)
{ AN_OBJECT;
{ /* ./Type/typeof.scm 113 */
{ 
BgL_sequencez00_bglt BgL_nodez00_1108;
{ /* ./Type/typeof.scm 114 */
BgL_typez00_bglt BgL_auxz00_1956;
BgL_nodez00_1108 = 
(BgL_sequencez00_bglt)(BgL_nodez00_1596); 
{ /* ./Type/typeof.scm 115 */
obj_t BgL_arg3161z00_1112;
{ /* ./Type/typeof.scm 115 */
obj_t BgL_auxz00_1957;
BgL_auxz00_1957 = 
BGl_lastzd2pairzd2zz__r4_pairs_and_lists_6_3z00(
(((BgL_sequencez00_bglt)CREF(BgL_nodez00_1108))->BgL_nodesz00)); 
BgL_arg3161z00_1112 = 
CAR(BgL_auxz00_1957); } 
{ /* ./Type/typeof.scm 115 */
BgL_typez00_bglt BgL_res3359z00_1317;
{ /* ./Type/typeof.scm 115 */
BgL_nodez00_bglt BgL_nodez00_1291;
BgL_nodez00_1291 = 
(BgL_nodez00_bglt)(BgL_arg3161z00_1112); 
{ /* ./Type/typeof.scm 115 */
obj_t BgL_method2689z00_1292;
{ /* ./Type/typeof.scm 115 */
BgL_objectz00_bglt BgL_objz00_1293;
BgL_objz00_1293 = 
(BgL_objectz00_bglt)(BgL_nodez00_1291); 
{ /* ./Type/typeof.scm 115 */
long BgL_objzd2classzd2numz00_1294;
BgL_objzd2classzd2numz00_1294 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1293); 
{ /* ./Type/typeof.scm 115 */
obj_t BgL_arg2017z00_1295;
{ /* ./Type/typeof.scm 115 */
int BgL_auxz00_1964;
BgL_auxz00_1964 = 
(int)(((long)1)); 
BgL_arg2017z00_1295 = 
PROCEDURE_REF(BGl_typeofzd2envzd2zztype_typeofz00, BgL_auxz00_1964); } 
{ /* ./Type/typeof.scm 115 */
int BgL_offsetz00_1298;
BgL_offsetz00_1298 = 
(int)(BgL_objzd2classzd2numz00_1294); 
{ /* ./Type/typeof.scm 115 */
long BgL_offsetz00_1299;
{ /* ./Type/typeof.scm 115 */
long BgL_auxz00_1968;
BgL_auxz00_1968 = 
(long)(BgL_offsetz00_1298); 
BgL_offsetz00_1299 = 
(BgL_auxz00_1968-OBJECT_TYPE); } 
{ /* ./Type/typeof.scm 115 */
long BgL_modz00_1300;
{ /* ./Type/typeof.scm 115 */
int BgL_arg2028z00_1301;
BgL_arg2028z00_1301 = 
(int)(((long)8)); 
{ /* ./Type/typeof.scm 115 */
long BgL_n2z00_1309;
BgL_n2z00_1309 = 
(long)(BgL_arg2028z00_1301); 
BgL_modz00_1300 = 
(BgL_offsetz00_1299/BgL_n2z00_1309); } } 
{ /* ./Type/typeof.scm 115 */
long BgL_restz00_1302;
{ /* ./Type/typeof.scm 115 */
int BgL_arg2024z00_1303;
BgL_arg2024z00_1303 = 
(int)(((long)8)); 
{ /* ./Type/typeof.scm 115 */
long BgL_n2z00_1312;
BgL_n2z00_1312 = 
(long)(BgL_arg2024z00_1303); 
BgL_restz00_1302 = 
(BgL_offsetz00_1299%BgL_n2z00_1312); } } 
{ /* ./Type/typeof.scm 115 */

{ /* ./Type/typeof.scm 115 */
obj_t BgL_bucketz00_1304;
{ /* ./Type/typeof.scm 115 */
int BgL_kz00_1314;
BgL_kz00_1314 = 
(int)(BgL_modz00_1300); 
BgL_bucketz00_1304 = 
VECTOR_REF(BgL_arg2017z00_1295,BgL_kz00_1314); } 
{ /* ./Type/typeof.scm 115 */
int BgL_kz00_1316;
BgL_kz00_1316 = 
(int)(BgL_restz00_1302); 
BgL_method2689z00_1292 = 
VECTOR_REF(BgL_bucketz00_1304,BgL_kz00_1316); } } } } } } } } } } 
{ /* ./Type/typeof.scm 115 */
obj_t BgL_auxz00_1981;
BgL_auxz00_1981 = 
PROCEDURE_ENTRY(BgL_method2689z00_1292)(BgL_method2689z00_1292, 
(obj_t)(BgL_nodez00_1291), BEOA); 
BgL_res3359z00_1317 = 
(BgL_typez00_bglt)(BgL_auxz00_1981); } } } 
BgL_auxz00_1956 = BgL_res3359z00_1317; } } 
return 
(obj_t)(BgL_auxz00_1956);} } } 
}



/* typeof-closure2697 */
obj_t BGl_typeofzd2closure2697zd2zztype_typeofz00(obj_t BgL_envz00_1597, obj_t BgL_nodez00_1598)
{ AN_OBJECT;
{ /* ./Type/typeof.scm 107 */
return BGl_za2procedureza2z00zztype_cachez00;} 
}



/* typeof-var2695 */
obj_t BGl_typeofzd2var2695zd2zztype_typeofz00(obj_t BgL_envz00_1599, obj_t BgL_nodez00_1600)
{ AN_OBJECT;
{ /* ./Type/typeof.scm 93 */
{ 
BgL_varz00_bglt BgL_nodez00_1089;
BgL_nodez00_1089 = 
(BgL_varz00_bglt)(BgL_nodez00_1600); 
{ /* ./Type/typeof.scm 95 */
BgL_valuez00_bglt BgL_valuez00_1093;
{ /* ./Type/typeof.scm 95 */
BgL_variablez00_bglt BgL_arg3145z00_1100;
BgL_arg3145z00_1100 = 
(((BgL_varz00_bglt)CREF(BgL_nodez00_1089))->BgL_variablez00); 
BgL_valuez00_1093 = 
(((BgL_variablez00_bglt)CREF(BgL_arg3145z00_1100))->BgL_valuez00); } 
{ /* ./Type/typeof.scm 97 */
bool_t BgL_test3130z00_1094;
{ /* ./Type/typeof.scm 97 */
obj_t BgL_obj2529z00_1282;
BgL_obj2529z00_1282 = 
(obj_t)(BgL_valuez00_1093); 
BgL_test3130z00_1094 = 
BGl_iszd2azf3z21zz__objectz00(BgL_obj2529z00_1282, BGl_sfunz00zzast_varz00); } 
if(BgL_test3130z00_1094)
{ /* ./Type/typeof.scm 97 */
return BGl_za2procedureza2z00zztype_cachez00;}  else 
{ /* ./Type/typeof.scm 99 */
bool_t BgL_test3131z00_1095;
{ /* ./Type/typeof.scm 99 */
obj_t BgL_obj2593z00_1283;
BgL_obj2593z00_1283 = 
(obj_t)(BgL_valuez00_1093); 
BgL_test3131z00_1095 = 
BGl_iszd2azf3z21zz__objectz00(BgL_obj2593z00_1283, BGl_cfunz00zzast_varz00); } 
if(BgL_test3131z00_1095)
{ /* ./Type/typeof.scm 99 */
{ /* ./Type/typeof.scm 100 */
obj_t BgL_arg3135z00_1098;
BgL_arg3135z00_1098 = 
BGl_shapez00zztools_shapez00(
(obj_t)(BgL_nodez00_1089)); 
FAILURE(BGl_string3619z00zztype_typeofz00,BGl_string3620z00zztype_typeofz00,BgL_arg3135z00_1098);} }  else 
{ /* ./Type/typeof.scm 99 */
{ /* ./Type/typeof.scm 102 */
BgL_variablez00_bglt BgL_arg3139z00_1099;
BgL_arg3139z00_1099 = 
(((BgL_varz00_bglt)CREF(BgL_nodez00_1089))->BgL_variablez00); 
{ /* ./Type/typeof.scm 102 */
BgL_typez00_bglt BgL_auxz00_2000;
BgL_auxz00_2000 = 
(((BgL_variablez00_bglt)CREF(BgL_arg3139z00_1099))->BgL_typez00); 
return 
(obj_t)(BgL_auxz00_2000);} } } } } } } } 
}



/* typeof-kwote2693 */
obj_t BGl_typeofzd2kwote2693zd2zztype_typeofz00(obj_t BgL_envz00_1601, obj_t BgL_nodez00_1602)
{ AN_OBJECT;
{ /* ./Type/typeof.scm 86 */
{ 
BgL_kwotez00_bglt BgL_nodez00_1082;
{ /* ./Type/typeof.scm 87 */
BgL_typez00_bglt BgL_auxz00_2004;
BgL_nodez00_1082 = 
(BgL_kwotez00_bglt)(BgL_nodez00_1602); 
BgL_auxz00_2004 = 
BGl_typeofzd2kwotezd2zztype_typeofz00(
(((BgL_kwotez00_bglt)CREF(BgL_nodez00_1082))->BgL_valuez00)); 
return 
(obj_t)(BgL_auxz00_2004);} } } 
}



/* typeof-atom2691 */
obj_t BGl_typeofzd2atom2691zd2zztype_typeofz00(obj_t BgL_envz00_1603, obj_t BgL_nodez00_1604)
{ AN_OBJECT;
{ /* ./Type/typeof.scm 79 */
{ 
BgL_atomz00_bglt BgL_nodez00_1075;
{ /* ./Type/typeof.scm 80 */
BgL_typez00_bglt BgL_auxz00_2009;
BgL_nodez00_1075 = 
(BgL_atomz00_bglt)(BgL_nodez00_1604); 
BgL_auxz00_2009 = 
BGl_typeofzd2atomzd2zztype_typeofz00(
(((BgL_atomz00_bglt)CREF(BgL_nodez00_1075))->BgL_valuez00)); 
return 
(obj_t)(BgL_auxz00_2009);} } } 
}



/* typeof */
BGL_EXPORTED_DEF BgL_typez00_bglt BGl_typeofz00zztype_typeofz00(BgL_nodez00_bglt BgL_nodez00_13)
{ AN_OBJECT;
{ /* ./Type/typeof.scm 74 */
{ /* ./Type/typeof.scm 74 */
obj_t BgL_method2689z00_1508;
{ /* ./Type/typeof.scm 74 */
BgL_objectz00_bglt BgL_objz00_1509;
BgL_objz00_1509 = 
(BgL_objectz00_bglt)(BgL_nodez00_13); 
{ /* ./Type/typeof.scm 74 */
long BgL_objzd2classzd2numz00_1510;
BgL_objzd2classzd2numz00_1510 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1509); 
{ /* ./Type/typeof.scm 74 */
obj_t BgL_arg2017z00_1511;
{ /* ./Type/typeof.scm 74 */
int BgL_auxz00_2016;
BgL_auxz00_2016 = 
(int)(((long)1)); 
BgL_arg2017z00_1511 = 
PROCEDURE_REF(BGl_typeofzd2envzd2zztype_typeofz00, BgL_auxz00_2016); } 
{ /* ./Type/typeof.scm 74 */
int BgL_offsetz00_1514;
BgL_offsetz00_1514 = 
(int)(BgL_objzd2classzd2numz00_1510); 
{ /* ./Type/typeof.scm 74 */
long BgL_offsetz00_1515;
{ /* ./Type/typeof.scm 74 */
long BgL_auxz00_2020;
BgL_auxz00_2020 = 
(long)(BgL_offsetz00_1514); 
BgL_offsetz00_1515 = 
(BgL_auxz00_2020-OBJECT_TYPE); } 
{ /* ./Type/typeof.scm 74 */
long BgL_modz00_1516;
{ /* ./Type/typeof.scm 74 */
int BgL_arg2028z00_1517;
BgL_arg2028z00_1517 = 
(int)(((long)8)); 
{ /* ./Type/typeof.scm 74 */
long BgL_n2z00_1525;
BgL_n2z00_1525 = 
(long)(BgL_arg2028z00_1517); 
BgL_modz00_1516 = 
(BgL_offsetz00_1515/BgL_n2z00_1525); } } 
{ /* ./Type/typeof.scm 74 */
long BgL_restz00_1518;
{ /* ./Type/typeof.scm 74 */
int BgL_arg2024z00_1519;
BgL_arg2024z00_1519 = 
(int)(((long)8)); 
{ /* ./Type/typeof.scm 74 */
long BgL_n2z00_1528;
BgL_n2z00_1528 = 
(long)(BgL_arg2024z00_1519); 
BgL_restz00_1518 = 
(BgL_offsetz00_1515%BgL_n2z00_1528); } } 
{ /* ./Type/typeof.scm 74 */

{ /* ./Type/typeof.scm 74 */
obj_t BgL_bucketz00_1520;
{ /* ./Type/typeof.scm 74 */
int BgL_kz00_1530;
BgL_kz00_1530 = 
(int)(BgL_modz00_1516); 
BgL_bucketz00_1520 = 
VECTOR_REF(BgL_arg2017z00_1511,BgL_kz00_1530); } 
{ /* ./Type/typeof.scm 74 */
int BgL_kz00_1532;
BgL_kz00_1532 = 
(int)(BgL_restz00_1518); 
BgL_method2689z00_1508 = 
VECTOR_REF(BgL_bucketz00_1520,BgL_kz00_1532); } } } } } } } } } } 
{ /* ./Type/typeof.scm 74 */
obj_t BgL_auxz00_2033;
BgL_auxz00_2033 = 
PROCEDURE_ENTRY(BgL_method2689z00_1508)(BgL_method2689z00_1508, 
(obj_t)(BgL_nodez00_13), BEOA); 
return 
(BgL_typez00_bglt)(BgL_auxz00_2033);} } } 
}



/* _typeof */
obj_t BGl__typeofz00zztype_typeofz00(obj_t BgL_envz00_1549, obj_t BgL_nodez00_1550)
{ AN_OBJECT;
{ /* ./Type/typeof.scm 74 */
{ /* ./Type/typeof.scm 74 */
BgL_typez00_bglt BgL_auxz00_2038;
BgL_auxz00_2038 = 
BGl_typeofz00zztype_typeofz00(
(BgL_nodez00_bglt)(BgL_nodez00_1550)); 
return 
(obj_t)(BgL_auxz00_2038);} } 
}



/* typeof-default2688 */
BgL_typez00_bglt BGl_typeofzd2default2688zd2zztype_typeofz00(BgL_nodez00_bglt BgL_nodez00_14)
{ AN_OBJECT;
{ /* ./Type/typeof.scm 15 */
{ /* ./Type/typeof.scm 15 */
obj_t BgL_procz00_1533;obj_t BgL_objectz00_1535;
BgL_procz00_1533 = 
CNST_TABLE_REF(((long)1)); 
BgL_objectz00_1535 = 
(obj_t)(BgL_nodez00_14); 
FAILURE(BgL_procz00_1533,BGl_string3621z00zztype_typeofz00,BgL_objectz00_1535);} } 
}



/* _typeof-default2688 */
obj_t BGl__typeofzd2default2688zd2zztype_typeofz00(obj_t BgL_envz00_1605, obj_t BgL_nodez00_1606)
{ AN_OBJECT;
{ /* ./Type/typeof.scm 15 */
{ /* ./Type/typeof.scm 15 */
BgL_typez00_bglt BgL_auxz00_2045;
BgL_auxz00_2045 = 
BGl_typeofzd2default2688zd2zztype_typeofz00(
(BgL_nodez00_bglt)(BgL_nodez00_1606)); 
return 
(obj_t)(BgL_auxz00_2045);} } 
}



/* imported-modules-init */
obj_t BGl_importedzd2moduleszd2initz00zztype_typeofz00()
{ AN_OBJECT;
{ /* ./Type/typeof.scm 15 */
BGl_modulezd2initializa7ationz75zztype_typez00(((long)19090), "type_typeof"); 
BGl_modulezd2initializa7ationz75zztype_cachez00(((long)25848), "type_typeof"); 
BGl_modulezd2initializa7ationz75zzast_nodez00(((long)50868), "type_typeof"); 
BGl_modulezd2initializa7ationz75zzast_varz00(((long)44246), "type_typeof"); 
return 
BGl_modulezd2initializa7ationz75zztools_shapez00(((long)30833), "type_typeof");} 
}

