/*===========================================================================*/
/*   (Coerce/coerce.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 Coerce/coerce.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;


extern obj_t BGl_vrefz00zzast_nodez00;
static obj_t BGl_methodzd2initzd2zzcoerce_coercez00();
BGL_IMPORT obj_t open_input_string(obj_t);
static obj_t BGl_coercez12zd2vlength2740zc0zzcoerce_coercez00(obj_t, obj_t, obj_t, obj_t);
static obj_t BGl_coercez12zd2jumpzd2exzd2it2758zc0zzcoerce_coercez00(obj_t, obj_t, obj_t, obj_t);
extern obj_t BGl_letzd2funzd2zzast_nodez00;
static obj_t BGl_coercez12zd2valloc2733zc0zzcoerce_coercez00(obj_t, obj_t, obj_t, obj_t);
BGL_IMPORT obj_t BGl_readz00zz__readerz00(obj_t);
static obj_t BGl_coercez12zd2conditional2746zc0zzcoerce_coercez00(obj_t, obj_t, obj_t, obj_t);
static obj_t BGl_coercez12zd2setq2744zc0zzcoerce_coercez00(obj_t, obj_t, obj_t, obj_t);
extern obj_t BGl_runtimezd2typezd2errorz00zzcoerce_convertz00(obj_t, obj_t, obj_t);
BGL_IMPORT obj_t BGl_addzd2genericz12zc0zz__objectz00(obj_t, obj_t);
extern obj_t BGl_letzd2varzd2zzast_nodez00;
static obj_t BGl_coercez12zd2vref2735zc0zzcoerce_coercez00(obj_t, obj_t, obj_t, obj_t);
static obj_t BGl_coercez12zd2boxzd2ref2762z12zzcoerce_coercez00(obj_t, obj_t, obj_t, obj_t);
static obj_t BGl__coercez123884z12zzcoerce_coercez00(obj_t, obj_t, obj_t, obj_t);
extern obj_t BGl_kwotez00zzast_nodez00;
extern bool_t BGl_coercerzd2existszf3z21zztype_coercionz00(BgL_typez00_bglt, BgL_typez00_bglt);
extern obj_t BGl_za2_za2z00zztype_cachez00;
extern BgL_typez00_bglt BGl_typeofz00zztype_typeofz00(BgL_nodez00_bglt);
static obj_t BGl_coercez12zd2select2750zc0zzcoerce_coercez00(obj_t, obj_t, obj_t, obj_t);
static obj_t BGl_coercez12zd2setfield2729zc0zzcoerce_coercez00(obj_t, obj_t, obj_t, obj_t);
extern obj_t BGl_castz00zzast_nodez00;
static obj_t BGl_coercez12zd2closure2721zc0zzcoerce_coercez00(obj_t, obj_t, obj_t, obj_t);
extern obj_t BGl_boxzd2refzd2zzast_nodez00;
extern obj_t BGl_varz00zzast_nodez00;
static obj_t BGl_cnstzd2initzd2zzcoerce_coercez00();
extern obj_t BGl_atomz00zzast_nodez00;
extern obj_t BGl_failz00zzast_nodez00;
extern obj_t BGl_za2unspecza2z00zztype_cachez00;
static obj_t BGl_importedzd2moduleszd2initz00zzcoerce_coercez00();
extern obj_t BGl_makezd2boxzd2zzast_nodez00;
static obj_t BGl_coercez12zd2cast2742zc0zzcoerce_coercez00(obj_t, obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL BgL_nodez00_bglt BGl_coercez12z12zzcoerce_coercez00(BgL_nodez00_bglt, obj_t, BgL_typez00_bglt);
extern obj_t BGl_getfieldz00zzast_nodez00;
static obj_t BGl_coercez12zd2kwote2717zc0zzcoerce_coercez00(obj_t, obj_t, obj_t, obj_t);
BGL_IMPORT obj_t BGl_addzd2methodz12zc0zz__objectz00(obj_t, obj_t, obj_t);
extern obj_t BGl_selectz00zzast_nodez00;
static obj_t BGl_coercez12zd2vsetz122737zd2zzcoerce_coercez00(obj_t, obj_t, obj_t, obj_t);
static obj_t BGl__coercez12zd2default2712zc0zzcoerce_coercez00(obj_t, obj_t, obj_t, obj_t);
extern obj_t BGl_vallocz00zzast_nodez00;
static obj_t BGl_toplevelzd2initzd2zzcoerce_coercez00();
static BgL_nodez00_bglt BGl_coercez12zd2default2712zc0zzcoerce_coercez00(BgL_nodez00_bglt, obj_t, BgL_typez00_bglt);
extern obj_t BGl_boxzd2setz12zc0zzast_nodez00;
extern BgL_nodez00_bglt BGl_convertz12z12zzcoerce_convertz00(BgL_nodez00_bglt, BgL_typez00_bglt, BgL_typez00_bglt);
BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zzcoerce_coercez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_tracez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzengine_paramz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_shapez00(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_coercionz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztype_typeofz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_varz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_nodez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzcoerce_pprotoz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzcoerce_convertz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzcoerce_appz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzcoerce_applyz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzcoerce_funcallz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__objectz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__readerz00(long, char *);
static obj_t BGl_coercez12zd2new2731zc0zzcoerce_coercez00(obj_t, obj_t, obj_t, obj_t);
static obj_t BGl_coercez12zd2boxzd2setz122764z00zzcoerce_coercez00(obj_t, obj_t, obj_t, obj_t);
extern obj_t BGl_setzd2exzd2itz00zzast_nodez00;
extern obj_t BGl_shapez00zztools_shapez00(obj_t);
extern obj_t BGl_za2boolza2z00zztype_cachez00;
static obj_t BGl_coercez12zd2extern2725zc0zzcoerce_coercez00(obj_t, obj_t, obj_t, obj_t);
static obj_t BGl_coercez12zd2setzd2exzd2it2756zc0zzcoerce_coercez00(obj_t, obj_t, obj_t, obj_t);
static obj_t BGl__coercezd2functionz123882zc0zzcoerce_coercez00(obj_t, obj_t);
static obj_t BGl_coercez12zd2sequence2723zc0zzcoerce_coercez00(obj_t, obj_t, obj_t, obj_t);
static obj_t BGl_coercez12zd2letzd2fun2752z12zzcoerce_coercez00(obj_t, obj_t, obj_t, obj_t);
static obj_t BGl_coercez12zd2fail2748zc0zzcoerce_coercez00(obj_t, obj_t, obj_t, obj_t);
extern obj_t BGl_jumpzd2exzd2itz00zzast_nodez00;
BGL_EXPORTED_DECL obj_t BGl_coercezd2functionz12zc0zzcoerce_coercez00(BgL_variablez00_bglt);
extern obj_t BGl_newz00zzast_nodez00;
extern obj_t BGl_externz00zzast_nodez00;
extern obj_t BGl_deczd2ppmargez12zc0zzcoerce_pprotoz00();
extern obj_t BGl_conditionalz00zzast_nodez00;
extern obj_t BGl_sequencez00zzast_nodez00;
static obj_t BGl_coercez12zd2var2719zc0zzcoerce_coercez00(obj_t, obj_t, obj_t, obj_t);
extern obj_t BGl_internalzd2errorzd2zztools_errorz00(obj_t, obj_t, obj_t);
extern obj_t BGl_pfunctionzd2protozd2zzcoerce_pprotoz00(long, BgL_variablez00_bglt);
static obj_t BGl_coercez12zd2letzd2var2754z12zzcoerce_coercez00(obj_t, obj_t, obj_t, obj_t);
extern obj_t BGl_closurez00zzast_nodez00;
extern obj_t BGl_pvariablezd2protozd2zzcoerce_pprotoz00(long, BgL_variablez00_bglt);
extern obj_t BGl_vlengthz00zzast_nodez00;
extern obj_t BGl_setfieldz00zzast_nodez00;
extern obj_t BGl_za2objza2z00zztype_cachez00;
extern obj_t BGl_za2exitza2z00zztype_cachez00;
extern obj_t BGl_inczd2ppmargez12zc0zzcoerce_pprotoz00();
static obj_t BGl_requirezd2initializa7ationz75zzcoerce_coercez00 = BUNSPEC;
extern obj_t BGl_za2magicza2z00zztype_cachez00;
static obj_t BGl_coercez12zd2atom2715zc0zzcoerce_coercez00(obj_t, obj_t, obj_t, obj_t);
static obj_t BGl_libraryzd2moduleszd2initz00zzcoerce_coercez00();
extern obj_t BGl_vsetz12z12zzast_nodez00;
static obj_t BGl_coercez12zd2makezd2box2760z12zzcoerce_coercez00(obj_t, obj_t, obj_t, obj_t);
static obj_t BGl_coercez12zd2getfield2727zc0zzcoerce_coercez00(obj_t, obj_t, obj_t, obj_t);
extern obj_t BGl_setqz00zzast_nodez00;
static obj_t __cnst[ 1 ] ;


DEFINE_STRING( BGl_string4644z00zzcoerce_coercez00, BgL_bgl_string4644za700za7za7coerce_coerceza7004670z00, "coerce!-default2712 ", 20 );
DEFINE_STRING( BGl_string4643z00zzcoerce_coercez00, BgL_bgl_string4643za700za7za7coerce_coerceza7004671z00, "No method for this object", 25 );
DEFINE_STRING( BGl_string4642z00zzcoerce_coercez00, BgL_bgl_string4642za700za7za7coerce_coerceza7004672z00, "Unexepected `closure' node", 26 );
DEFINE_STRING( BGl_string4641z00zzcoerce_coercez00, BgL_bgl_string4641za700za7za7coerce_coerceza7004673z00, "coerce!", 7 );
DEFINE_STATIC_PROCEDURE( BGl_proc4616z00zzcoerce_coercez00, BgL_bgl_coerceza712za7d2atom2715za7c0za7za7coerce_coerceza7004674z00, BGl_coercez12zd2atom2715zc0zzcoerce_coercez00, 0L, 3 );
DEFINE_STATIC_PROCEDURE( BGl_proc4617z00zzcoerce_coercez00, BgL_bgl_coerceza712za7d2kwote2717za7c0za7za7coerce_coerceza7004675z00, BGl_coercez12zd2kwote2717zc0zzcoerce_coercez00, 0L, 3 );
DEFINE_STATIC_PROCEDURE( BGl_proc4618z00zzcoerce_coercez00, BgL_bgl_coerceza712za7d2var2719za7c0za7za7coerce_coerceza7004676z00, BGl_coercez12zd2var2719zc0zzcoerce_coercez00, 0L, 3 );
DEFINE_STATIC_PROCEDURE( BGl_proc4620z00zzcoerce_coercez00, BgL_bgl_coerceza712za7d2sequence2723za7c0za7za7coerce_coerceza7004677z00, BGl_coercez12zd2sequence2723zc0zzcoerce_coercez00, 0L, 3 );
DEFINE_STATIC_PROCEDURE( BGl_proc4619z00zzcoerce_coercez00, BgL_bgl_coerceza712za7d2closure2721za7c0za7za7coerce_coerceza7004678z00, BGl_coercez12zd2closure2721zc0zzcoerce_coercez00, 0L, 3 );
DEFINE_STATIC_PROCEDURE( BGl_proc4621z00zzcoerce_coercez00, BgL_bgl_coerceza712za7d2extern2725za7c0za7za7coerce_coerceza7004679z00, BGl_coercez12zd2extern2725zc0zzcoerce_coercez00, 0L, 3 );
DEFINE_STATIC_PROCEDURE( BGl_proc4622z00zzcoerce_coercez00, BgL_bgl_coerceza712za7d2getfield2727za7c0za7za7coerce_coerceza7004680z00, BGl_coercez12zd2getfield2727zc0zzcoerce_coercez00, 0L, 3 );
DEFINE_STATIC_PROCEDURE( BGl_proc4623z00zzcoerce_coercez00, BgL_bgl_coerceza712za7d2setfield2729za7c0za7za7coerce_coerceza7004681z00, BGl_coercez12zd2setfield2729zc0zzcoerce_coercez00, 0L, 3 );
DEFINE_STATIC_PROCEDURE( BGl_proc4624z00zzcoerce_coercez00, BgL_bgl_coerceza712za7d2new2731za7c0za7za7coerce_coerceza7004682z00, BGl_coercez12zd2new2731zc0zzcoerce_coercez00, 0L, 3 );
DEFINE_STATIC_PROCEDURE( BGl_proc4625z00zzcoerce_coercez00, BgL_bgl_coerceza712za7d2valloc2733za7c0za7za7coerce_coerceza7004683z00, BGl_coercez12zd2valloc2733zc0zzcoerce_coercez00, 0L, 3 );
DEFINE_STATIC_PROCEDURE( BGl_proc4626z00zzcoerce_coercez00, BgL_bgl_coerceza712za7d2vref2735za7c0za7za7coerce_coerceza7004684z00, BGl_coercez12zd2vref2735zc0zzcoerce_coercez00, 0L, 3 );
DEFINE_STATIC_PROCEDURE( BGl_proc4627z00zzcoerce_coercez00, BgL_bgl_coerceza712za7d2vsetza7122737za7d2za7za7coerce_coerceza7004685za7, BGl_coercez12zd2vsetz122737zd2zzcoerce_coercez00, 0L, 3 );
DEFINE_STATIC_PROCEDURE( BGl_proc4628z00zzcoerce_coercez00, BgL_bgl_coerceza712za7d2vlength2740za7c0za7za7coerce_coerceza7004686z00, BGl_coercez12zd2vlength2740zc0zzcoerce_coercez00, 0L, 3 );
DEFINE_STATIC_PROCEDURE( BGl_proc4630z00zzcoerce_coercez00, BgL_bgl_coerceza712za7d2setq2744za7c0za7za7coerce_coerceza7004687z00, BGl_coercez12zd2setq2744zc0zzcoerce_coercez00, 0L, 3 );
DEFINE_STATIC_PROCEDURE( BGl_proc4629z00zzcoerce_coercez00, BgL_bgl_coerceza712za7d2cast2742za7c0za7za7coerce_coerceza7004688z00, BGl_coercez12zd2cast2742zc0zzcoerce_coercez00, 0L, 3 );
DEFINE_STATIC_PROCEDURE( BGl_proc4631z00zzcoerce_coercez00, BgL_bgl_coerceza712za7d2conditional2746za7c0za7za7coerce_coerceza7004689z00, BGl_coercez12zd2conditional2746zc0zzcoerce_coercez00, 0L, 3 );
DEFINE_STATIC_PROCEDURE( BGl_proc4632z00zzcoerce_coercez00, BgL_bgl_coerceza712za7d2fail2748za7c0za7za7coerce_coerceza7004690z00, BGl_coercez12zd2fail2748zc0zzcoerce_coercez00, 0L, 3 );
DEFINE_STATIC_PROCEDURE( BGl_proc4633z00zzcoerce_coercez00, BgL_bgl_coerceza712za7d2select2750za7c0za7za7coerce_coerceza7004691z00, BGl_coercez12zd2select2750zc0zzcoerce_coercez00, 0L, 3 );
DEFINE_STATIC_PROCEDURE( BGl_proc4634z00zzcoerce_coercez00, BgL_bgl_coerceza712za7d2letza7d2fun2752za712za7za7coerce_coerceza7004692za7, BGl_coercez12zd2letzd2fun2752z12zzcoerce_coercez00, 0L, 3 );
DEFINE_STATIC_PROCEDURE( BGl_proc4635z00zzcoerce_coercez00, BgL_bgl_coerceza712za7d2letza7d2var2754za712za7za7coerce_coerceza7004693za7, BGl_coercez12zd2letzd2var2754z12zzcoerce_coercez00, 0L, 3 );
DEFINE_STATIC_PROCEDURE( BGl_proc4636z00zzcoerce_coercez00, BgL_bgl_coerceza712za7d2setza7d2exza7d2it2756za7c0za7za7coerce_coerceza7004694z00, BGl_coercez12zd2setzd2exzd2it2756zc0zzcoerce_coercez00, 0L, 3 );
DEFINE_STATIC_PROCEDURE( BGl_proc4637z00zzcoerce_coercez00, BgL_bgl_coerceza712za7d2jumpza7d2exza7d2it2758za7c0za7za7coerce_coerceza7004695z00, BGl_coercez12zd2jumpzd2exzd2it2758zc0zzcoerce_coercez00, 0L, 3 );
DEFINE_STATIC_PROCEDURE( BGl_proc4638z00zzcoerce_coercez00, BgL_bgl_coerceza712za7d2makeza7d2box2760za712za7za7coerce_coerceza7004696za7, BGl_coercez12zd2makezd2box2760z12zzcoerce_coercez00, 0L, 3 );
DEFINE_STATIC_PROCEDURE( BGl_proc4640z00zzcoerce_coercez00, BgL_bgl_coerceza712za7d2boxza7d2setza7122764za700za7za7coerce_coerceza7004697z00, BGl_coercez12zd2boxzd2setz122764z00zzcoerce_coercez00, 0L, 3 );
DEFINE_STATIC_PROCEDURE( BGl_proc4639z00zzcoerce_coercez00, BgL_bgl_coerceza712za7d2boxza7d2ref2762za712za7za7coerce_coerceza7004698za7, BGl_coercez12zd2boxzd2ref2762z12zzcoerce_coercez00, 0L, 3 );
DEFINE_EXPORT_GENERIC( BGl_coercez12zd2envzc0zzcoerce_coercez00, BgL_bgl__coerceza7123884za712za7za7coerce_coerceza7004699za7, BGl__coercez123884z12zzcoerce_coercez00, 0L, 3 );
DEFINE_STATIC_PROCEDURE( BGl_coercez12zd2default2712zd2envz12zzcoerce_coercez00, BgL_bgl__coerceza712za7d2default2712za7c0za7za7coerce_coerceza7004700z00, BGl__coercez12zd2default2712zc0zzcoerce_coercez00, 0L, 3 );
DEFINE_EXPORT_PROCEDURE( BGl_coercezd2functionz12zd2envz12zzcoerce_coercez00, BgL_bgl__coerceza7d2functionza7123882za7c0za7za7coerce_coerceza7004701z00, BGl__coercezd2functionz123882zc0zzcoerce_coercez00, 0L, 1 );



/* module-initialization */
BGL_EXPORTED_DEF obj_t BGl_modulezd2initializa7ationz75zzcoerce_coercez00(long BgL_checksumz00_2880, char * BgL_fromz00_2881)
{ AN_OBJECT;
{ 
if(
CBOOL(BGl_requirezd2initializa7ationz75zzcoerce_coercez00))
{ 
BGl_requirezd2initializa7ationz75zzcoerce_coercez00 = 
BBOOL(((bool_t)0)); 
BGl_libraryzd2moduleszd2initz00zzcoerce_coercez00(); 
BGl_cnstzd2initzd2zzcoerce_coercez00(); 
BGl_importedzd2moduleszd2initz00zzcoerce_coercez00(); 
BGl_methodzd2initzd2zzcoerce_coercez00(); 
return BUNSPEC;}  else 
{ 
return BUNSPEC;} } 
}



/* library-modules-init */
obj_t BGl_libraryzd2moduleszd2initz00zzcoerce_coercez00()
{ AN_OBJECT;
{ /* ./Coerce/coerce.scm 15 */
BGl_modulezd2initializa7ationz75zz__readerz00(((long)0), "coerce_coerce"); 
BGl_modulezd2initializa7ationz75zz__objectz00(((long)0), "coerce_coerce"); 
return BUNSPEC;} 
}



/* cnst-init */
obj_t BGl_cnstzd2initzd2zzcoerce_coercez00()
{ AN_OBJECT;
{ /* ./Coerce/coerce.scm 15 */
{ /* ./Coerce/coerce.scm 15 */
obj_t BgL_cportz00_2873;
BgL_cportz00_2873 = 
open_input_string(BGl_string4644z00zzcoerce_coercez00); 
{ 
long BgL_iz00_2874;
BgL_iz00_2874 = ((long)0); 
BgL_loopz00_2875:
{ /* ./Coerce/coerce.scm 15 */
bool_t BgL_test4646z00_2876;
BgL_test4646z00_2876 = 
(BgL_iz00_2874==((long)-1)); 
if(BgL_test4646z00_2876)
{ /* ./Coerce/coerce.scm 15 */
return BUNSPEC;}  else 
{ /* ./Coerce/coerce.scm 15 */
{ /* ./Coerce/coerce.scm 15 */
obj_t BgL_arg4648z00_2877;
{ /* ./Coerce/coerce.scm 15 */
obj_t BgL_list4651z00_2878;
BgL_list4651z00_2878 = 
MAKE_PAIR(BgL_cportz00_2873, BNIL); 
BgL_arg4648z00_2877 = 
BGl_readz00zz__readerz00(BgL_list4651z00_2878); } 
{ /* ./Coerce/coerce.scm 15 */
int BgL_auxz00_2896;
BgL_auxz00_2896 = 
(int)(BgL_iz00_2874); 
CNST_TABLE_SET(BgL_auxz00_2896, BgL_arg4648z00_2877); } } 
{ /* ./Coerce/coerce.scm 15 */
int BgL_auxz00_2879;
{ /* ./Coerce/coerce.scm 15 */
long BgL_auxz00_2899;
BgL_auxz00_2899 = 
(BgL_iz00_2874-((long)1)); 
BgL_auxz00_2879 = 
(int)(BgL_auxz00_2899); } 
{ 
long BgL_iz00_2902;
BgL_iz00_2902 = 
(long)(BgL_auxz00_2879); 
BgL_iz00_2874 = BgL_iz00_2902; 
goto BgL_loopz00_2875;} } } } } } } 
}



/* toplevel-init */
obj_t BGl_toplevelzd2initzd2zzcoerce_coercez00()
{ AN_OBJECT;
{ /* ./Coerce/coerce.scm 15 */
return BUNSPEC;} 
}



/* coerce-function! */
BGL_EXPORTED_DEF obj_t BGl_coercezd2functionz12zc0zzcoerce_coercez00(BgL_variablez00_bglt BgL_variablez00_1)
{ AN_OBJECT;
{ /* ./Coerce/coerce.scm 37 */
{ /* ./Coerce/coerce.scm 39 */
BgL_valuez00_bglt BgL_funz00_740;
BgL_funz00_740 = 
(((BgL_variablez00_bglt)CREF(BgL_variablez00_1))->BgL_valuez00); 
{ /* ./Coerce/coerce.scm 39 */
obj_t BgL_bodyz00_741;
{ /* ./Coerce/coerce.scm 40 */
BgL_sfunz00_bglt BgL_obj1370z00_1478;
BgL_obj1370z00_1478 = 
(BgL_sfunz00_bglt)(BgL_funz00_740); 
BgL_bodyz00_741 = 
(((BgL_sfunz00_bglt)CREF(BgL_obj1370z00_1478))->BgL_bodyz00); } 
{ /* ./Coerce/coerce.scm 40 */
BgL_typez00_bglt BgL_tresz00_742;
BgL_tresz00_742 = 
(((BgL_variablez00_bglt)CREF(BgL_variablez00_1))->BgL_typez00); 
{ /* ./Coerce/coerce.scm 41 */

BGl_pfunctionzd2protozd2zzcoerce_pprotoz00(((long)3), BgL_variablez00_1); 
{ /* ./Coerce/coerce.scm 43 */
BgL_nodez00_bglt BgL_arg2767z00_743;
{ /* ./Coerce/coerce.scm 43 */
BgL_nodez00_bglt BgL_res3777z00_1508;
{ /* ./Coerce/coerce.scm 43 */
BgL_nodez00_bglt BgL_nodez00_1480;obj_t BgL_callerz00_1481;
BgL_nodez00_1480 = 
(BgL_nodez00_bglt)(BgL_bodyz00_741); 
BgL_callerz00_1481 = 
(obj_t)(BgL_variablez00_1); 
{ /* ./Coerce/coerce.scm 43 */
obj_t BgL_method2713z00_1483;
{ /* ./Coerce/coerce.scm 43 */
BgL_objectz00_bglt BgL_objz00_1484;
BgL_objz00_1484 = 
(BgL_objectz00_bglt)(BgL_nodez00_1480); 
{ /* ./Coerce/coerce.scm 43 */
long BgL_objzd2classzd2numz00_1485;
BgL_objzd2classzd2numz00_1485 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1484); 
{ /* ./Coerce/coerce.scm 43 */
obj_t BgL_arg2017z00_1486;
{ /* ./Coerce/coerce.scm 43 */
int BgL_auxz00_2913;
BgL_auxz00_2913 = 
(int)(((long)1)); 
BgL_arg2017z00_1486 = 
PROCEDURE_REF(BGl_coercez12zd2envzc0zzcoerce_coercez00, BgL_auxz00_2913); } 
{ /* ./Coerce/coerce.scm 43 */
int BgL_offsetz00_1489;
BgL_offsetz00_1489 = 
(int)(BgL_objzd2classzd2numz00_1485); 
{ /* ./Coerce/coerce.scm 43 */
long BgL_offsetz00_1490;
{ /* ./Coerce/coerce.scm 43 */
long BgL_auxz00_2917;
BgL_auxz00_2917 = 
(long)(BgL_offsetz00_1489); 
BgL_offsetz00_1490 = 
(BgL_auxz00_2917-OBJECT_TYPE); } 
{ /* ./Coerce/coerce.scm 43 */
long BgL_modz00_1491;
{ /* ./Coerce/coerce.scm 43 */
int BgL_arg2028z00_1492;
BgL_arg2028z00_1492 = 
(int)(((long)8)); 
{ /* ./Coerce/coerce.scm 43 */
long BgL_n2z00_1500;
BgL_n2z00_1500 = 
(long)(BgL_arg2028z00_1492); 
BgL_modz00_1491 = 
(BgL_offsetz00_1490/BgL_n2z00_1500); } } 
{ /* ./Coerce/coerce.scm 43 */
long BgL_restz00_1493;
{ /* ./Coerce/coerce.scm 43 */
int BgL_arg2024z00_1494;
BgL_arg2024z00_1494 = 
(int)(((long)8)); 
{ /* ./Coerce/coerce.scm 43 */
long BgL_n2z00_1503;
BgL_n2z00_1503 = 
(long)(BgL_arg2024z00_1494); 
BgL_restz00_1493 = 
(BgL_offsetz00_1490%BgL_n2z00_1503); } } 
{ /* ./Coerce/coerce.scm 43 */

{ /* ./Coerce/coerce.scm 43 */
obj_t BgL_bucketz00_1495;
{ /* ./Coerce/coerce.scm 43 */
int BgL_kz00_1505;
BgL_kz00_1505 = 
(int)(BgL_modz00_1491); 
BgL_bucketz00_1495 = 
VECTOR_REF(BgL_arg2017z00_1486,BgL_kz00_1505); } 
{ /* ./Coerce/coerce.scm 43 */
int BgL_kz00_1507;
BgL_kz00_1507 = 
(int)(BgL_restz00_1493); 
BgL_method2713z00_1483 = 
VECTOR_REF(BgL_bucketz00_1495,BgL_kz00_1507); } } } } } } } } } } 
{ /* ./Coerce/coerce.scm 43 */
obj_t BgL_auxz00_2930;
BgL_auxz00_2930 = 
PROCEDURE_ENTRY(BgL_method2713z00_1483)(BgL_method2713z00_1483, 
(obj_t)(BgL_nodez00_1480), BgL_callerz00_1481, 
(obj_t)(BgL_tresz00_742), BEOA); 
BgL_res3777z00_1508 = 
(BgL_nodez00_bglt)(BgL_auxz00_2930); } } } 
BgL_arg2767z00_743 = BgL_res3777z00_1508; } 
{ /* ./Coerce/coerce.scm 43 */
BgL_sfunz00_bglt BgL_obj1373z00_1509;obj_t BgL_val1371z00_1510;
BgL_obj1373z00_1509 = 
(BgL_sfunz00_bglt)(BgL_funz00_740); 
BgL_val1371z00_1510 = 
(obj_t)(BgL_arg2767z00_743); 
return 
((((BgL_sfunz00_bglt)CREF(BgL_obj1373z00_1509))->BgL_bodyz00) = ((obj_t)BgL_val1371z00_1510), BUNSPEC);} } } } } } } 
}



/* _coerce-function!3882 */
obj_t BGl__coercezd2functionz123882zc0zzcoerce_coercez00(obj_t BgL_envz00_2738, obj_t BgL_variablez00_2739)
{ AN_OBJECT;
{ /* ./Coerce/coerce.scm 37 */
return 
BGl_coercezd2functionz12zc0zzcoerce_coercez00(
(BgL_variablez00_bglt)(BgL_variablez00_2739));} 
}



/* method-init */
obj_t BGl_methodzd2initzd2zzcoerce_coercez00()
{ AN_OBJECT;
{ /* ./Coerce/coerce.scm 15 */
BGl_addzd2genericz12zc0zz__objectz00(BGl_coercez12zd2envzc0zzcoerce_coercez00, BGl_coercez12zd2default2712zd2envz12zzcoerce_coercez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_coercez12zd2envzc0zzcoerce_coercez00, BGl_atomz00zzast_nodez00, BGl_proc4616z00zzcoerce_coercez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_coercez12zd2envzc0zzcoerce_coercez00, BGl_kwotez00zzast_nodez00, BGl_proc4617z00zzcoerce_coercez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_coercez12zd2envzc0zzcoerce_coercez00, BGl_varz00zzast_nodez00, BGl_proc4618z00zzcoerce_coercez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_coercez12zd2envzc0zzcoerce_coercez00, BGl_closurez00zzast_nodez00, BGl_proc4619z00zzcoerce_coercez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_coercez12zd2envzc0zzcoerce_coercez00, BGl_sequencez00zzast_nodez00, BGl_proc4620z00zzcoerce_coercez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_coercez12zd2envzc0zzcoerce_coercez00, BGl_externz00zzast_nodez00, BGl_proc4621z00zzcoerce_coercez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_coercez12zd2envzc0zzcoerce_coercez00, BGl_getfieldz00zzast_nodez00, BGl_proc4622z00zzcoerce_coercez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_coercez12zd2envzc0zzcoerce_coercez00, BGl_setfieldz00zzast_nodez00, BGl_proc4623z00zzcoerce_coercez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_coercez12zd2envzc0zzcoerce_coercez00, BGl_newz00zzast_nodez00, BGl_proc4624z00zzcoerce_coercez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_coercez12zd2envzc0zzcoerce_coercez00, BGl_vallocz00zzast_nodez00, BGl_proc4625z00zzcoerce_coercez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_coercez12zd2envzc0zzcoerce_coercez00, BGl_vrefz00zzast_nodez00, BGl_proc4626z00zzcoerce_coercez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_coercez12zd2envzc0zzcoerce_coercez00, BGl_vsetz12z12zzast_nodez00, BGl_proc4627z00zzcoerce_coercez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_coercez12zd2envzc0zzcoerce_coercez00, BGl_vlengthz00zzast_nodez00, BGl_proc4628z00zzcoerce_coercez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_coercez12zd2envzc0zzcoerce_coercez00, BGl_castz00zzast_nodez00, BGl_proc4629z00zzcoerce_coercez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_coercez12zd2envzc0zzcoerce_coercez00, BGl_setqz00zzast_nodez00, BGl_proc4630z00zzcoerce_coercez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_coercez12zd2envzc0zzcoerce_coercez00, BGl_conditionalz00zzast_nodez00, BGl_proc4631z00zzcoerce_coercez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_coercez12zd2envzc0zzcoerce_coercez00, BGl_failz00zzast_nodez00, BGl_proc4632z00zzcoerce_coercez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_coercez12zd2envzc0zzcoerce_coercez00, BGl_selectz00zzast_nodez00, BGl_proc4633z00zzcoerce_coercez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_coercez12zd2envzc0zzcoerce_coercez00, BGl_letzd2funzd2zzast_nodez00, BGl_proc4634z00zzcoerce_coercez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_coercez12zd2envzc0zzcoerce_coercez00, BGl_letzd2varzd2zzast_nodez00, BGl_proc4635z00zzcoerce_coercez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_coercez12zd2envzc0zzcoerce_coercez00, BGl_setzd2exzd2itz00zzast_nodez00, BGl_proc4636z00zzcoerce_coercez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_coercez12zd2envzc0zzcoerce_coercez00, BGl_jumpzd2exzd2itz00zzast_nodez00, BGl_proc4637z00zzcoerce_coercez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_coercez12zd2envzc0zzcoerce_coercez00, BGl_makezd2boxzd2zzast_nodez00, BGl_proc4638z00zzcoerce_coercez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_coercez12zd2envzc0zzcoerce_coercez00, BGl_boxzd2refzd2zzast_nodez00, BGl_proc4639z00zzcoerce_coercez00); 
return 
BGl_addzd2methodz12zc0zz__objectz00(BGl_coercez12zd2envzc0zzcoerce_coercez00, BGl_boxzd2setz12zc0zzast_nodez00, BGl_proc4640z00zzcoerce_coercez00);} 
}



/* coerce!-box-set!2764 */
obj_t BGl_coercez12zd2boxzd2setz122764z00zzcoerce_coercez00(obj_t BgL_envz00_2769, obj_t BgL_nodez00_2770, obj_t BgL_callerz00_2771, obj_t BgL_toz00_2772)
{ AN_OBJECT;
{ /* ./Coerce/coerce.scm 319 */
{ 
BgL_boxzd2setz12zc0_bglt BgL_nodez00_1464;obj_t BgL_callerz00_1465;obj_t BgL_toz00_1466;
{ /* ./Coerce/coerce.scm 320 */
BgL_nodez00_bglt BgL_auxz00_2967;
BgL_nodez00_1464 = 
(BgL_boxzd2setz12zc0_bglt)(BgL_nodez00_2770); 
BgL_callerz00_1465 = BgL_callerz00_2771; 
BgL_toz00_1466 = BgL_toz00_2772; 
{ /* ./Coerce/coerce.scm 321 */
BgL_variablez00_bglt BgL_arg3738z00_1470;
{ /* ./Coerce/coerce.scm 321 */
BgL_varz00_bglt BgL_arg3741z00_1471;
BgL_arg3741z00_1471 = 
(((BgL_boxzd2setz12zc0_bglt)CREF(BgL_nodez00_1464))->BgL_varz00); 
BgL_arg3738z00_1470 = 
(((BgL_varz00_bglt)CREF(BgL_arg3741z00_1471))->BgL_variablez00); } 
{ /* ./Coerce/coerce.scm 321 */
BgL_variablez00_bglt BgL_obj1099z00_2676;BgL_typez00_bglt BgL_val1098z00_2677;
BgL_obj1099z00_2676 = BgL_arg3738z00_1470; 
BgL_val1098z00_2677 = 
(BgL_typez00_bglt)(BGl_za2objza2z00zztype_cachez00); 
((((BgL_variablez00_bglt)CREF(BgL_obj1099z00_2676))->BgL_typez00) = ((BgL_typez00_bglt)BgL_val1098z00_2677), BUNSPEC); } } 
{ /* ./Coerce/coerce.scm 322 */
BgL_nodez00_bglt BgL_arg3745z00_1472;
{ /* ./Coerce/coerce.scm 322 */
BgL_nodez00_bglt BgL_arg3748z00_1473;
BgL_arg3748z00_1473 = 
(((BgL_boxzd2setz12zc0_bglt)CREF(BgL_nodez00_1464))->BgL_valuez00); 
{ /* ./Coerce/coerce.scm 322 */
BgL_nodez00_bglt BgL_res3879z00_2707;
{ /* ./Coerce/coerce.scm 322 */
BgL_typez00_bglt BgL_toz00_2681;
BgL_toz00_2681 = 
(BgL_typez00_bglt)(BGl_za2objza2z00zztype_cachez00); 
{ /* ./Coerce/coerce.scm 322 */
obj_t BgL_method2713z00_2682;
{ /* ./Coerce/coerce.scm 322 */
BgL_objectz00_bglt BgL_objz00_2683;
BgL_objz00_2683 = 
(BgL_objectz00_bglt)(BgL_arg3748z00_1473); 
{ /* ./Coerce/coerce.scm 322 */
long BgL_objzd2classzd2numz00_2684;
BgL_objzd2classzd2numz00_2684 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2683); 
{ /* ./Coerce/coerce.scm 322 */
obj_t BgL_arg2017z00_2685;
{ /* ./Coerce/coerce.scm 322 */
int BgL_auxz00_2976;
BgL_auxz00_2976 = 
(int)(((long)1)); 
BgL_arg2017z00_2685 = 
PROCEDURE_REF(BGl_coercez12zd2envzc0zzcoerce_coercez00, BgL_auxz00_2976); } 
{ /* ./Coerce/coerce.scm 322 */
int BgL_offsetz00_2688;
BgL_offsetz00_2688 = 
(int)(BgL_objzd2classzd2numz00_2684); 
{ /* ./Coerce/coerce.scm 322 */
long BgL_offsetz00_2689;
{ /* ./Coerce/coerce.scm 322 */
long BgL_auxz00_2980;
BgL_auxz00_2980 = 
(long)(BgL_offsetz00_2688); 
BgL_offsetz00_2689 = 
(BgL_auxz00_2980-OBJECT_TYPE); } 
{ /* ./Coerce/coerce.scm 322 */
long BgL_modz00_2690;
{ /* ./Coerce/coerce.scm 322 */
int BgL_arg2028z00_2691;
BgL_arg2028z00_2691 = 
(int)(((long)8)); 
{ /* ./Coerce/coerce.scm 322 */
long BgL_n2z00_2699;
BgL_n2z00_2699 = 
(long)(BgL_arg2028z00_2691); 
BgL_modz00_2690 = 
(BgL_offsetz00_2689/BgL_n2z00_2699); } } 
{ /* ./Coerce/coerce.scm 322 */
long BgL_restz00_2692;
{ /* ./Coerce/coerce.scm 322 */
int BgL_arg2024z00_2693;
BgL_arg2024z00_2693 = 
(int)(((long)8)); 
{ /* ./Coerce/coerce.scm 322 */
long BgL_n2z00_2702;
BgL_n2z00_2702 = 
(long)(BgL_arg2024z00_2693); 
BgL_restz00_2692 = 
(BgL_offsetz00_2689%BgL_n2z00_2702); } } 
{ /* ./Coerce/coerce.scm 322 */

{ /* ./Coerce/coerce.scm 322 */
obj_t BgL_bucketz00_2694;
{ /* ./Coerce/coerce.scm 322 */
int BgL_kz00_2704;
BgL_kz00_2704 = 
(int)(BgL_modz00_2690); 
BgL_bucketz00_2694 = 
VECTOR_REF(BgL_arg2017z00_2685,BgL_kz00_2704); } 
{ /* ./Coerce/coerce.scm 322 */
int BgL_kz00_2706;
BgL_kz00_2706 = 
(int)(BgL_restz00_2692); 
BgL_method2713z00_2682 = 
VECTOR_REF(BgL_bucketz00_2694,BgL_kz00_2706); } } } } } } } } } } 
{ /* ./Coerce/coerce.scm 322 */
obj_t BgL_auxz00_2993;
BgL_auxz00_2993 = 
PROCEDURE_ENTRY(BgL_method2713z00_2682)(BgL_method2713z00_2682, 
(obj_t)(BgL_arg3748z00_1473), BgL_callerz00_1465, 
(obj_t)(BgL_toz00_2681), BEOA); 
BgL_res3879z00_2707 = 
(BgL_nodez00_bglt)(BgL_auxz00_2993); } } } 
BgL_arg3745z00_1472 = BgL_res3879z00_2707; } } 
{ /* ./Coerce/coerce.scm 322 */
BgL_boxzd2setz12zc0_bglt BgL_obj2645z00_2708;BgL_nodez00_bglt BgL_val2644z00_2709;
BgL_obj2645z00_2708 = BgL_nodez00_1464; 
BgL_val2644z00_2709 = BgL_arg3745z00_1472; 
((((BgL_boxzd2setz12zc0_bglt)CREF(BgL_obj2645z00_2708))->BgL_valuez00) = ((BgL_nodez00_bglt)BgL_val2644z00_2709), BUNSPEC); } } 
BgL_auxz00_2967 = 
BGl_convertz12z12zzcoerce_convertz00(
(BgL_nodez00_bglt)(BgL_nodez00_1464), 
(BgL_typez00_bglt)(BGl_za2unspecza2z00zztype_cachez00), 
(BgL_typez00_bglt)(BgL_toz00_1466)); 
return 
(obj_t)(BgL_auxz00_2967);} } } 
}



/* coerce!-box-ref2762 */
obj_t BGl_coercez12zd2boxzd2ref2762z12zzcoerce_coercez00(obj_t BgL_envz00_2773, obj_t BgL_nodez00_2774, obj_t BgL_callerz00_2775, obj_t BgL_toz00_2776)
{ AN_OBJECT;
{ /* ./Coerce/coerce.scm 312 */
{ 
BgL_boxzd2refzd2_bglt BgL_nodez00_1456;obj_t BgL_callerz00_1457;obj_t BgL_toz00_1458;
{ /* ./Coerce/coerce.scm 314 */
BgL_nodez00_bglt BgL_auxz00_3006;
BgL_nodez00_1456 = 
(BgL_boxzd2refzd2_bglt)(BgL_nodez00_2774); 
BgL_callerz00_1457 = BgL_callerz00_2775; 
BgL_toz00_1458 = BgL_toz00_2776; 
BgL_auxz00_3006 = 
BGl_convertz12z12zzcoerce_convertz00(
(BgL_nodez00_bglt)(BgL_nodez00_1456), 
(BgL_typez00_bglt)(BGl_za2objza2z00zztype_cachez00), 
(BgL_typez00_bglt)(BgL_toz00_1458)); 
return 
(obj_t)(BgL_auxz00_3006);} } } 
}



/* coerce!-make-box2760 */
obj_t BGl_coercez12zd2makezd2box2760z12zzcoerce_coercez00(obj_t BgL_envz00_2777, obj_t BgL_nodez00_2778, obj_t BgL_callerz00_2779, obj_t BgL_toz00_2780)
{ AN_OBJECT;
{ /* ./Coerce/coerce.scm 304 */
{ 
BgL_makezd2boxzd2_bglt BgL_nodez00_1446;obj_t BgL_callerz00_1447;obj_t BgL_toz00_1448;
{ /* ./Coerce/coerce.scm 305 */
BgL_makezd2boxzd2_bglt BgL_auxz00_3013;
BgL_nodez00_1446 = 
(BgL_makezd2boxzd2_bglt)(BgL_nodez00_2778); 
BgL_callerz00_1447 = BgL_callerz00_2779; 
BgL_toz00_1448 = BgL_toz00_2780; 
{ /* ./Coerce/coerce.scm 305 */
BgL_nodez00_bglt BgL_arg3718z00_2640;
{ /* ./Coerce/coerce.scm 305 */
BgL_nodez00_bglt BgL_arg3721z00_2641;
BgL_arg3721z00_2641 = 
(((BgL_makezd2boxzd2_bglt)CREF(BgL_nodez00_1446))->BgL_valuez00); 
{ /* ./Coerce/coerce.scm 305 */
BgL_nodez00_bglt BgL_res3876z00_2671;
{ /* ./Coerce/coerce.scm 305 */
BgL_typez00_bglt BgL_toz00_2645;
BgL_toz00_2645 = 
(BgL_typez00_bglt)(BGl_za2objza2z00zztype_cachez00); 
{ /* ./Coerce/coerce.scm 305 */
obj_t BgL_method2713z00_2646;
{ /* ./Coerce/coerce.scm 305 */
BgL_objectz00_bglt BgL_objz00_2647;
BgL_objz00_2647 = 
(BgL_objectz00_bglt)(BgL_arg3721z00_2641); 
{ /* ./Coerce/coerce.scm 305 */
long BgL_objzd2classzd2numz00_2648;
BgL_objzd2classzd2numz00_2648 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2647); 
{ /* ./Coerce/coerce.scm 305 */
obj_t BgL_arg2017z00_2649;
{ /* ./Coerce/coerce.scm 305 */
int BgL_auxz00_3018;
BgL_auxz00_3018 = 
(int)(((long)1)); 
BgL_arg2017z00_2649 = 
PROCEDURE_REF(BGl_coercez12zd2envzc0zzcoerce_coercez00, BgL_auxz00_3018); } 
{ /* ./Coerce/coerce.scm 305 */
int BgL_offsetz00_2652;
BgL_offsetz00_2652 = 
(int)(BgL_objzd2classzd2numz00_2648); 
{ /* ./Coerce/coerce.scm 305 */
long BgL_offsetz00_2653;
{ /* ./Coerce/coerce.scm 305 */
long BgL_auxz00_3022;
BgL_auxz00_3022 = 
(long)(BgL_offsetz00_2652); 
BgL_offsetz00_2653 = 
(BgL_auxz00_3022-OBJECT_TYPE); } 
{ /* ./Coerce/coerce.scm 305 */
long BgL_modz00_2654;
{ /* ./Coerce/coerce.scm 305 */
int BgL_arg2028z00_2655;
BgL_arg2028z00_2655 = 
(int)(((long)8)); 
{ /* ./Coerce/coerce.scm 305 */
long BgL_n2z00_2663;
BgL_n2z00_2663 = 
(long)(BgL_arg2028z00_2655); 
BgL_modz00_2654 = 
(BgL_offsetz00_2653/BgL_n2z00_2663); } } 
{ /* ./Coerce/coerce.scm 305 */
long BgL_restz00_2656;
{ /* ./Coerce/coerce.scm 305 */
int BgL_arg2024z00_2657;
BgL_arg2024z00_2657 = 
(int)(((long)8)); 
{ /* ./Coerce/coerce.scm 305 */
long BgL_n2z00_2666;
BgL_n2z00_2666 = 
(long)(BgL_arg2024z00_2657); 
BgL_restz00_2656 = 
(BgL_offsetz00_2653%BgL_n2z00_2666); } } 
{ /* ./Coerce/coerce.scm 305 */

{ /* ./Coerce/coerce.scm 305 */
obj_t BgL_bucketz00_2658;
{ /* ./Coerce/coerce.scm 305 */
int BgL_kz00_2668;
BgL_kz00_2668 = 
(int)(BgL_modz00_2654); 
BgL_bucketz00_2658 = 
VECTOR_REF(BgL_arg2017z00_2649,BgL_kz00_2668); } 
{ /* ./Coerce/coerce.scm 305 */
int BgL_kz00_2670;
BgL_kz00_2670 = 
(int)(BgL_restz00_2656); 
BgL_method2713z00_2646 = 
VECTOR_REF(BgL_bucketz00_2658,BgL_kz00_2670); } } } } } } } } } } 
{ /* ./Coerce/coerce.scm 305 */
obj_t BgL_auxz00_3035;
BgL_auxz00_3035 = 
PROCEDURE_ENTRY(BgL_method2713z00_2646)(BgL_method2713z00_2646, 
(obj_t)(BgL_arg3721z00_2641), BgL_callerz00_1447, 
(obj_t)(BgL_toz00_2645), BEOA); 
BgL_res3876z00_2671 = 
(BgL_nodez00_bglt)(BgL_auxz00_3035); } } } 
BgL_arg3718z00_2640 = BgL_res3876z00_2671; } } 
{ /* ./Coerce/coerce.scm 305 */
BgL_makezd2boxzd2_bglt BgL_obj2584z00_2672;BgL_nodez00_bglt BgL_val2583z00_2673;
BgL_obj2584z00_2672 = BgL_nodez00_1446; 
BgL_val2583z00_2673 = BgL_arg3718z00_2640; 
((((BgL_makezd2boxzd2_bglt)CREF(BgL_obj2584z00_2672))->BgL_valuez00) = ((BgL_nodez00_bglt)BgL_val2583z00_2673), BUNSPEC); } } 
BgL_auxz00_3013 = BgL_nodez00_1446; 
return 
(obj_t)(BgL_auxz00_3013);} } } 
}



/* coerce!-jump-ex-it2758 */
obj_t BGl_coercez12zd2jumpzd2exzd2it2758zc0zzcoerce_coercez00(obj_t BgL_envz00_2781, obj_t BgL_nodez00_2782, obj_t BgL_callerz00_2783, obj_t BgL_toz00_2784)
{ AN_OBJECT;
{ /* ./Coerce/coerce.scm 295 */
{ 
BgL_jumpzd2exzd2itz00_bglt BgL_nodez00_1434;obj_t BgL_callerz00_1435;obj_t BgL_toz00_1436;
{ /* ./Coerce/coerce.scm 296 */
BgL_jumpzd2exzd2itz00_bglt BgL_auxz00_3044;
BgL_nodez00_1434 = 
(BgL_jumpzd2exzd2itz00_bglt)(BgL_nodez00_2782); 
BgL_callerz00_1435 = BgL_callerz00_2783; 
BgL_toz00_1436 = BgL_toz00_2784; 
{ /* ./Coerce/coerce.scm 297 */
BgL_nodez00_bglt BgL_arg3698z00_1440;
{ /* ./Coerce/coerce.scm 297 */
BgL_nodez00_bglt BgL_arg3701z00_1441;
BgL_arg3701z00_1441 = 
(((BgL_jumpzd2exzd2itz00_bglt)CREF(BgL_nodez00_1434))->BgL_exitz00); 
{ /* ./Coerce/coerce.scm 297 */
BgL_nodez00_bglt BgL_res3870z00_2604;
{ /* ./Coerce/coerce.scm 297 */
BgL_typez00_bglt BgL_toz00_2578;
BgL_toz00_2578 = 
(BgL_typez00_bglt)(BGl_za2exitza2z00zztype_cachez00); 
{ /* ./Coerce/coerce.scm 297 */
obj_t BgL_method2713z00_2579;
{ /* ./Coerce/coerce.scm 297 */
BgL_objectz00_bglt BgL_objz00_2580;
BgL_objz00_2580 = 
(BgL_objectz00_bglt)(BgL_arg3701z00_1441); 
{ /* ./Coerce/coerce.scm 297 */
long BgL_objzd2classzd2numz00_2581;
BgL_objzd2classzd2numz00_2581 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2580); 
{ /* ./Coerce/coerce.scm 297 */
obj_t BgL_arg2017z00_2582;
{ /* ./Coerce/coerce.scm 297 */
int BgL_auxz00_3049;
BgL_auxz00_3049 = 
(int)(((long)1)); 
BgL_arg2017z00_2582 = 
PROCEDURE_REF(BGl_coercez12zd2envzc0zzcoerce_coercez00, BgL_auxz00_3049); } 
{ /* ./Coerce/coerce.scm 297 */
int BgL_offsetz00_2585;
BgL_offsetz00_2585 = 
(int)(BgL_objzd2classzd2numz00_2581); 
{ /* ./Coerce/coerce.scm 297 */
long BgL_offsetz00_2586;
{ /* ./Coerce/coerce.scm 297 */
long BgL_auxz00_3053;
BgL_auxz00_3053 = 
(long)(BgL_offsetz00_2585); 
BgL_offsetz00_2586 = 
(BgL_auxz00_3053-OBJECT_TYPE); } 
{ /* ./Coerce/coerce.scm 297 */
long BgL_modz00_2587;
{ /* ./Coerce/coerce.scm 297 */
int BgL_arg2028z00_2588;
BgL_arg2028z00_2588 = 
(int)(((long)8)); 
{ /* ./Coerce/coerce.scm 297 */
long BgL_n2z00_2596;
BgL_n2z00_2596 = 
(long)(BgL_arg2028z00_2588); 
BgL_modz00_2587 = 
(BgL_offsetz00_2586/BgL_n2z00_2596); } } 
{ /* ./Coerce/coerce.scm 297 */
long BgL_restz00_2589;
{ /* ./Coerce/coerce.scm 297 */
int BgL_arg2024z00_2590;
BgL_arg2024z00_2590 = 
(int)(((long)8)); 
{ /* ./Coerce/coerce.scm 297 */
long BgL_n2z00_2599;
BgL_n2z00_2599 = 
(long)(BgL_arg2024z00_2590); 
BgL_restz00_2589 = 
(BgL_offsetz00_2586%BgL_n2z00_2599); } } 
{ /* ./Coerce/coerce.scm 297 */

{ /* ./Coerce/coerce.scm 297 */
obj_t BgL_bucketz00_2591;
{ /* ./Coerce/coerce.scm 297 */
int BgL_kz00_2601;
BgL_kz00_2601 = 
(int)(BgL_modz00_2587); 
BgL_bucketz00_2591 = 
VECTOR_REF(BgL_arg2017z00_2582,BgL_kz00_2601); } 
{ /* ./Coerce/coerce.scm 297 */
int BgL_kz00_2603;
BgL_kz00_2603 = 
(int)(BgL_restz00_2589); 
BgL_method2713z00_2579 = 
VECTOR_REF(BgL_bucketz00_2591,BgL_kz00_2603); } } } } } } } } } } 
{ /* ./Coerce/coerce.scm 297 */
obj_t BgL_auxz00_3066;
BgL_auxz00_3066 = 
PROCEDURE_ENTRY(BgL_method2713z00_2579)(BgL_method2713z00_2579, 
(obj_t)(BgL_arg3701z00_1441), BgL_callerz00_1435, 
(obj_t)(BgL_toz00_2578), BEOA); 
BgL_res3870z00_2604 = 
(BgL_nodez00_bglt)(BgL_auxz00_3066); } } } 
BgL_arg3698z00_1440 = BgL_res3870z00_2604; } } 
{ /* ./Coerce/coerce.scm 297 */
BgL_jumpzd2exzd2itz00_bglt BgL_obj2552z00_2605;BgL_nodez00_bglt BgL_val2551z00_2606;
BgL_obj2552z00_2605 = BgL_nodez00_1434; 
BgL_val2551z00_2606 = BgL_arg3698z00_1440; 
((((BgL_jumpzd2exzd2itz00_bglt)CREF(BgL_obj2552z00_2605))->BgL_exitz00) = ((BgL_nodez00_bglt)BgL_val2551z00_2606), BUNSPEC); } } 
{ /* ./Coerce/coerce.scm 298 */
BgL_nodez00_bglt BgL_arg3705z00_1442;
{ /* ./Coerce/coerce.scm 298 */
BgL_nodez00_bglt BgL_arg3708z00_1443;
BgL_arg3708z00_1443 = 
(((BgL_jumpzd2exzd2itz00_bglt)CREF(BgL_nodez00_1434))->BgL_valuez00); 
{ /* ./Coerce/coerce.scm 298 */
BgL_nodez00_bglt BgL_res3873z00_2636;
{ /* ./Coerce/coerce.scm 298 */
BgL_typez00_bglt BgL_toz00_2610;
BgL_toz00_2610 = 
(BgL_typez00_bglt)(BgL_toz00_1436); 
{ /* ./Coerce/coerce.scm 298 */
obj_t BgL_method2713z00_2611;
{ /* ./Coerce/coerce.scm 298 */
BgL_objectz00_bglt BgL_objz00_2612;
BgL_objz00_2612 = 
(BgL_objectz00_bglt)(BgL_arg3708z00_1443); 
{ /* ./Coerce/coerce.scm 298 */
long BgL_objzd2classzd2numz00_2613;
BgL_objzd2classzd2numz00_2613 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2612); 
{ /* ./Coerce/coerce.scm 298 */
obj_t BgL_arg2017z00_2614;
{ /* ./Coerce/coerce.scm 298 */
int BgL_auxz00_3077;
BgL_auxz00_3077 = 
(int)(((long)1)); 
BgL_arg2017z00_2614 = 
PROCEDURE_REF(BGl_coercez12zd2envzc0zzcoerce_coercez00, BgL_auxz00_3077); } 
{ /* ./Coerce/coerce.scm 298 */
int BgL_offsetz00_2617;
BgL_offsetz00_2617 = 
(int)(BgL_objzd2classzd2numz00_2613); 
{ /* ./Coerce/coerce.scm 298 */
long BgL_offsetz00_2618;
{ /* ./Coerce/coerce.scm 298 */
long BgL_auxz00_3081;
BgL_auxz00_3081 = 
(long)(BgL_offsetz00_2617); 
BgL_offsetz00_2618 = 
(BgL_auxz00_3081-OBJECT_TYPE); } 
{ /* ./Coerce/coerce.scm 298 */
long BgL_modz00_2619;
{ /* ./Coerce/coerce.scm 298 */
int BgL_arg2028z00_2620;
BgL_arg2028z00_2620 = 
(int)(((long)8)); 
{ /* ./Coerce/coerce.scm 298 */
long BgL_n2z00_2628;
BgL_n2z00_2628 = 
(long)(BgL_arg2028z00_2620); 
BgL_modz00_2619 = 
(BgL_offsetz00_2618/BgL_n2z00_2628); } } 
{ /* ./Coerce/coerce.scm 298 */
long BgL_restz00_2621;
{ /* ./Coerce/coerce.scm 298 */
int BgL_arg2024z00_2622;
BgL_arg2024z00_2622 = 
(int)(((long)8)); 
{ /* ./Coerce/coerce.scm 298 */
long BgL_n2z00_2631;
BgL_n2z00_2631 = 
(long)(BgL_arg2024z00_2622); 
BgL_restz00_2621 = 
(BgL_offsetz00_2618%BgL_n2z00_2631); } } 
{ /* ./Coerce/coerce.scm 298 */

{ /* ./Coerce/coerce.scm 298 */
obj_t BgL_bucketz00_2623;
{ /* ./Coerce/coerce.scm 298 */
int BgL_kz00_2633;
BgL_kz00_2633 = 
(int)(BgL_modz00_2619); 
BgL_bucketz00_2623 = 
VECTOR_REF(BgL_arg2017z00_2614,BgL_kz00_2633); } 
{ /* ./Coerce/coerce.scm 298 */
int BgL_kz00_2635;
BgL_kz00_2635 = 
(int)(BgL_restz00_2621); 
BgL_method2713z00_2611 = 
VECTOR_REF(BgL_bucketz00_2623,BgL_kz00_2635); } } } } } } } } } } 
{ /* ./Coerce/coerce.scm 298 */
obj_t BgL_auxz00_3094;
BgL_auxz00_3094 = 
PROCEDURE_ENTRY(BgL_method2713z00_2611)(BgL_method2713z00_2611, 
(obj_t)(BgL_arg3708z00_1443), BgL_callerz00_1435, 
(obj_t)(BgL_toz00_2610), BEOA); 
BgL_res3873z00_2636 = 
(BgL_nodez00_bglt)(BgL_auxz00_3094); } } } 
BgL_arg3705z00_1442 = BgL_res3873z00_2636; } } 
{ /* ./Coerce/coerce.scm 298 */
BgL_jumpzd2exzd2itz00_bglt BgL_obj2555z00_2637;BgL_nodez00_bglt BgL_val2554z00_2638;
BgL_obj2555z00_2637 = BgL_nodez00_1434; 
BgL_val2554z00_2638 = BgL_arg3705z00_1442; 
((((BgL_jumpzd2exzd2itz00_bglt)CREF(BgL_obj2555z00_2637))->BgL_valuez00) = ((BgL_nodez00_bglt)BgL_val2554z00_2638), BUNSPEC); } } 
BgL_auxz00_3044 = BgL_nodez00_1434; 
return 
(obj_t)(BgL_auxz00_3044);} } } 
}



/* coerce!-set-ex-it2756 */
obj_t BGl_coercez12zd2setzd2exzd2it2756zc0zzcoerce_coercez00(obj_t BgL_envz00_2785, obj_t BgL_nodez00_2786, obj_t BgL_callerz00_2787, obj_t BgL_toz00_2788)
{ AN_OBJECT;
{ /* ./Coerce/coerce.scm 285 */
{ 
BgL_setzd2exzd2itz00_bglt BgL_nodez00_1419;obj_t BgL_callerz00_1420;obj_t BgL_toz00_1421;
{ /* ./Coerce/coerce.scm 286 */
BgL_setzd2exzd2itz00_bglt BgL_auxz00_3103;
BgL_nodez00_1419 = 
(BgL_setzd2exzd2itz00_bglt)(BgL_nodez00_2786); 
BgL_callerz00_1420 = BgL_callerz00_2787; 
BgL_toz00_1421 = BgL_toz00_2788; 
{ /* ./Coerce/coerce.scm 287 */
BgL_nodez00_bglt BgL_arg3669z00_1425;
{ /* ./Coerce/coerce.scm 287 */
BgL_varz00_bglt BgL_arg3672z00_1426;
BgL_arg3672z00_1426 = 
(((BgL_setzd2exzd2itz00_bglt)CREF(BgL_nodez00_1419))->BgL_varz00); 
{ /* ./Coerce/coerce.scm 287 */
BgL_nodez00_bglt BgL_res3864z00_2538;
{ /* ./Coerce/coerce.scm 287 */
BgL_nodez00_bglt BgL_nodez00_2510;BgL_typez00_bglt BgL_toz00_2512;
BgL_nodez00_2510 = 
(BgL_nodez00_bglt)(BgL_arg3672z00_1426); 
BgL_toz00_2512 = 
(BgL_typez00_bglt)(BGl_za2exitza2z00zztype_cachez00); 
{ /* ./Coerce/coerce.scm 287 */
obj_t BgL_method2713z00_2513;
{ /* ./Coerce/coerce.scm 287 */
BgL_objectz00_bglt BgL_objz00_2514;
BgL_objz00_2514 = 
(BgL_objectz00_bglt)(BgL_nodez00_2510); 
{ /* ./Coerce/coerce.scm 287 */
long BgL_objzd2classzd2numz00_2515;
BgL_objzd2classzd2numz00_2515 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2514); 
{ /* ./Coerce/coerce.scm 287 */
obj_t BgL_arg2017z00_2516;
{ /* ./Coerce/coerce.scm 287 */
int BgL_auxz00_3109;
BgL_auxz00_3109 = 
(int)(((long)1)); 
BgL_arg2017z00_2516 = 
PROCEDURE_REF(BGl_coercez12zd2envzc0zzcoerce_coercez00, BgL_auxz00_3109); } 
{ /* ./Coerce/coerce.scm 287 */
int BgL_offsetz00_2519;
BgL_offsetz00_2519 = 
(int)(BgL_objzd2classzd2numz00_2515); 
{ /* ./Coerce/coerce.scm 287 */
long BgL_offsetz00_2520;
{ /* ./Coerce/coerce.scm 287 */
long BgL_auxz00_3113;
BgL_auxz00_3113 = 
(long)(BgL_offsetz00_2519); 
BgL_offsetz00_2520 = 
(BgL_auxz00_3113-OBJECT_TYPE); } 
{ /* ./Coerce/coerce.scm 287 */
long BgL_modz00_2521;
{ /* ./Coerce/coerce.scm 287 */
int BgL_arg2028z00_2522;
BgL_arg2028z00_2522 = 
(int)(((long)8)); 
{ /* ./Coerce/coerce.scm 287 */
long BgL_n2z00_2530;
BgL_n2z00_2530 = 
(long)(BgL_arg2028z00_2522); 
BgL_modz00_2521 = 
(BgL_offsetz00_2520/BgL_n2z00_2530); } } 
{ /* ./Coerce/coerce.scm 287 */
long BgL_restz00_2523;
{ /* ./Coerce/coerce.scm 287 */
int BgL_arg2024z00_2524;
BgL_arg2024z00_2524 = 
(int)(((long)8)); 
{ /* ./Coerce/coerce.scm 287 */
long BgL_n2z00_2533;
BgL_n2z00_2533 = 
(long)(BgL_arg2024z00_2524); 
BgL_restz00_2523 = 
(BgL_offsetz00_2520%BgL_n2z00_2533); } } 
{ /* ./Coerce/coerce.scm 287 */

{ /* ./Coerce/coerce.scm 287 */
obj_t BgL_bucketz00_2525;
{ /* ./Coerce/coerce.scm 287 */
int BgL_kz00_2535;
BgL_kz00_2535 = 
(int)(BgL_modz00_2521); 
BgL_bucketz00_2525 = 
VECTOR_REF(BgL_arg2017z00_2516,BgL_kz00_2535); } 
{ /* ./Coerce/coerce.scm 287 */
int BgL_kz00_2537;
BgL_kz00_2537 = 
(int)(BgL_restz00_2523); 
BgL_method2713z00_2513 = 
VECTOR_REF(BgL_bucketz00_2525,BgL_kz00_2537); } } } } } } } } } } 
{ /* ./Coerce/coerce.scm 287 */
obj_t BgL_auxz00_3126;
BgL_auxz00_3126 = 
PROCEDURE_ENTRY(BgL_method2713z00_2513)(BgL_method2713z00_2513, 
(obj_t)(BgL_nodez00_2510), BgL_callerz00_1420, 
(obj_t)(BgL_toz00_2512), BEOA); 
BgL_res3864z00_2538 = 
(BgL_nodez00_bglt)(BgL_auxz00_3126); } } } 
BgL_arg3669z00_1425 = BgL_res3864z00_2538; } } 
{ /* ./Coerce/coerce.scm 287 */
BgL_setzd2exzd2itz00_bglt BgL_obj2526z00_2539;BgL_varz00_bglt BgL_val2525z00_2540;
BgL_obj2526z00_2539 = BgL_nodez00_1419; 
BgL_val2525z00_2540 = 
(BgL_varz00_bglt)(BgL_arg3669z00_1425); 
((((BgL_setzd2exzd2itz00_bglt)CREF(BgL_obj2526z00_2539))->BgL_varz00) = ((BgL_varz00_bglt)BgL_val2525z00_2540), BUNSPEC); } } 
{ /* ./Coerce/coerce.scm 288 */
BgL_variablez00_bglt BgL_arg3677z00_1428;
{ /* ./Coerce/coerce.scm 288 */
BgL_varz00_bglt BgL_arg3681z00_1429;
BgL_arg3681z00_1429 = 
(((BgL_setzd2exzd2itz00_bglt)CREF(BgL_nodez00_1419))->BgL_varz00); 
BgL_arg3677z00_1428 = 
(((BgL_varz00_bglt)CREF(BgL_arg3681z00_1429))->BgL_variablez00); } 
BGl_pvariablezd2protozd2zzcoerce_pprotoz00(((long)3), BgL_arg3677z00_1428); } 
{ /* ./Coerce/coerce.scm 289 */
BgL_nodez00_bglt BgL_arg3685z00_1430;
{ /* ./Coerce/coerce.scm 289 */
BgL_nodez00_bglt BgL_arg3688z00_1431;
BgL_arg3688z00_1431 = 
(((BgL_setzd2exzd2itz00_bglt)CREF(BgL_nodez00_1419))->BgL_bodyz00); 
{ /* ./Coerce/coerce.scm 289 */
BgL_nodez00_bglt BgL_res3867z00_2572;
{ /* ./Coerce/coerce.scm 289 */
BgL_typez00_bglt BgL_toz00_2546;
BgL_toz00_2546 = 
(BgL_typez00_bglt)(BgL_toz00_1421); 
{ /* ./Coerce/coerce.scm 289 */
obj_t BgL_method2713z00_2547;
{ /* ./Coerce/coerce.scm 289 */
BgL_objectz00_bglt BgL_objz00_2548;
BgL_objz00_2548 = 
(BgL_objectz00_bglt)(BgL_arg3688z00_1431); 
{ /* ./Coerce/coerce.scm 289 */
long BgL_objzd2classzd2numz00_2549;
BgL_objzd2classzd2numz00_2549 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2548); 
{ /* ./Coerce/coerce.scm 289 */
obj_t BgL_arg2017z00_2550;
{ /* ./Coerce/coerce.scm 289 */
int BgL_auxz00_3141;
BgL_auxz00_3141 = 
(int)(((long)1)); 
BgL_arg2017z00_2550 = 
PROCEDURE_REF(BGl_coercez12zd2envzc0zzcoerce_coercez00, BgL_auxz00_3141); } 
{ /* ./Coerce/coerce.scm 289 */
int BgL_offsetz00_2553;
BgL_offsetz00_2553 = 
(int)(BgL_objzd2classzd2numz00_2549); 
{ /* ./Coerce/coerce.scm 289 */
long BgL_offsetz00_2554;
{ /* ./Coerce/coerce.scm 289 */
long BgL_auxz00_3145;
BgL_auxz00_3145 = 
(long)(BgL_offsetz00_2553); 
BgL_offsetz00_2554 = 
(BgL_auxz00_3145-OBJECT_TYPE); } 
{ /* ./Coerce/coerce.scm 289 */
long BgL_modz00_2555;
{ /* ./Coerce/coerce.scm 289 */
int BgL_arg2028z00_2556;
BgL_arg2028z00_2556 = 
(int)(((long)8)); 
{ /* ./Coerce/coerce.scm 289 */
long BgL_n2z00_2564;
BgL_n2z00_2564 = 
(long)(BgL_arg2028z00_2556); 
BgL_modz00_2555 = 
(BgL_offsetz00_2554/BgL_n2z00_2564); } } 
{ /* ./Coerce/coerce.scm 289 */
long BgL_restz00_2557;
{ /* ./Coerce/coerce.scm 289 */
int BgL_arg2024z00_2558;
BgL_arg2024z00_2558 = 
(int)(((long)8)); 
{ /* ./Coerce/coerce.scm 289 */
long BgL_n2z00_2567;
BgL_n2z00_2567 = 
(long)(BgL_arg2024z00_2558); 
BgL_restz00_2557 = 
(BgL_offsetz00_2554%BgL_n2z00_2567); } } 
{ /* ./Coerce/coerce.scm 289 */

{ /* ./Coerce/coerce.scm 289 */
obj_t BgL_bucketz00_2559;
{ /* ./Coerce/coerce.scm 289 */
int BgL_kz00_2569;
BgL_kz00_2569 = 
(int)(BgL_modz00_2555); 
BgL_bucketz00_2559 = 
VECTOR_REF(BgL_arg2017z00_2550,BgL_kz00_2569); } 
{ /* ./Coerce/coerce.scm 289 */
int BgL_kz00_2571;
BgL_kz00_2571 = 
(int)(BgL_restz00_2557); 
BgL_method2713z00_2547 = 
VECTOR_REF(BgL_bucketz00_2559,BgL_kz00_2571); } } } } } } } } } } 
{ /* ./Coerce/coerce.scm 289 */
obj_t BgL_auxz00_3158;
BgL_auxz00_3158 = 
PROCEDURE_ENTRY(BgL_method2713z00_2547)(BgL_method2713z00_2547, 
(obj_t)(BgL_arg3688z00_1431), BgL_callerz00_1420, 
(obj_t)(BgL_toz00_2546), BEOA); 
BgL_res3867z00_2572 = 
(BgL_nodez00_bglt)(BgL_auxz00_3158); } } } 
BgL_arg3685z00_1430 = BgL_res3867z00_2572; } } 
{ /* ./Coerce/coerce.scm 289 */
BgL_setzd2exzd2itz00_bglt BgL_obj2529z00_2573;BgL_nodez00_bglt BgL_val2528z00_2574;
BgL_obj2529z00_2573 = BgL_nodez00_1419; 
BgL_val2528z00_2574 = BgL_arg3685z00_1430; 
((((BgL_setzd2exzd2itz00_bglt)CREF(BgL_obj2529z00_2573))->BgL_bodyz00) = ((BgL_nodez00_bglt)BgL_val2528z00_2574), BUNSPEC); } } 
BgL_auxz00_3103 = BgL_nodez00_1419; 
return 
(obj_t)(BgL_auxz00_3103);} } } 
}



/* coerce!-let-var2754 */
obj_t BGl_coercez12zd2letzd2var2754z12zzcoerce_coercez00(obj_t BgL_envz00_2789, obj_t BgL_nodez00_2790, obj_t BgL_callerz00_2791, obj_t BgL_toz00_2792)
{ AN_OBJECT;
{ /* ./Coerce/coerce.scm 267 */
{ 
BgL_letzd2varzd2_bglt BgL_nodez00_1397;obj_t BgL_callerz00_1398;obj_t BgL_toz00_1399;
{ /* ./Tools/trace.sch 42 */
BgL_letzd2varzd2_bglt BgL_auxz00_3167;
BgL_nodez00_1397 = 
(BgL_letzd2varzd2_bglt)(BgL_nodez00_2790); 
BgL_callerz00_1398 = BgL_callerz00_2791; 
BgL_toz00_1399 = BgL_toz00_2792; 
BGl_inczd2ppmargez12zc0zzcoerce_pprotoz00(); 
{ 
obj_t BgL_l2700z00_1403;
{ /* ./Coerce/coerce.scm 272 */
obj_t BgL_arg3626z00_1405;
BgL_arg3626z00_1405 = 
(((BgL_letzd2varzd2_bglt)CREF(BgL_nodez00_1397))->BgL_bindingsz00); 
BgL_l2700z00_1403 = BgL_arg3626z00_1405; 
BgL_forzd2each2701zd2_1404:
{ /* ./Coerce/coerce.scm 272 */
bool_t BgL_test3629z00_1406;
BgL_test3629z00_1406 = 
PAIRP(BgL_l2700z00_1403); 
if(BgL_test3629z00_1406)
{ /* ./Coerce/coerce.scm 272 */
{ /* ./Coerce/coerce.scm 273 */
obj_t BgL_bindingz00_1407;
BgL_bindingz00_1407 = 
CAR(BgL_l2700z00_1403); 
{ /* ./Coerce/coerce.scm 273 */
obj_t BgL_arg3632z00_1409;
BgL_arg3632z00_1409 = 
CAR(BgL_bindingz00_1407); 
BGl_pvariablezd2protozd2zzcoerce_pprotoz00(((long)3), 
(BgL_variablez00_bglt)(BgL_arg3632z00_1409)); } 
{ /* ./Coerce/coerce.scm 274 */
BgL_nodez00_bglt BgL_arg3636z00_1410;
{ /* ./Coerce/coerce.scm 274 */
obj_t BgL_arg3639z00_1411;BgL_typez00_bglt BgL_arg3640z00_1412;
BgL_arg3639z00_1411 = 
CDR(BgL_bindingz00_1407); 
{ /* ./Coerce/coerce.scm 276 */
BgL_variablez00_bglt BgL_obj1097z00_2444;
{ /* ./Coerce/coerce.scm 276 */
obj_t BgL_auxz00_3177;
BgL_auxz00_3177 = 
CAR(BgL_bindingz00_1407); 
BgL_obj1097z00_2444 = 
(BgL_variablez00_bglt)(BgL_auxz00_3177); } 
BgL_arg3640z00_1412 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1097z00_2444))->BgL_typez00); } 
{ /* ./Coerce/coerce.scm 274 */
BgL_nodez00_bglt BgL_res3858z00_2473;
{ /* ./Coerce/coerce.scm 274 */
BgL_nodez00_bglt BgL_nodez00_2445;
BgL_nodez00_2445 = 
(BgL_nodez00_bglt)(BgL_arg3639z00_1411); 
{ /* ./Coerce/coerce.scm 274 */
obj_t BgL_method2713z00_2448;
{ /* ./Coerce/coerce.scm 274 */
BgL_objectz00_bglt BgL_objz00_2449;
BgL_objz00_2449 = 
(BgL_objectz00_bglt)(BgL_nodez00_2445); 
{ /* ./Coerce/coerce.scm 274 */
long BgL_objzd2classzd2numz00_2450;
BgL_objzd2classzd2numz00_2450 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2449); 
{ /* ./Coerce/coerce.scm 274 */
obj_t BgL_arg2017z00_2451;
{ /* ./Coerce/coerce.scm 274 */
int BgL_auxz00_3184;
BgL_auxz00_3184 = 
(int)(((long)1)); 
BgL_arg2017z00_2451 = 
PROCEDURE_REF(BGl_coercez12zd2envzc0zzcoerce_coercez00, BgL_auxz00_3184); } 
{ /* ./Coerce/coerce.scm 274 */
int BgL_offsetz00_2454;
BgL_offsetz00_2454 = 
(int)(BgL_objzd2classzd2numz00_2450); 
{ /* ./Coerce/coerce.scm 274 */
long BgL_offsetz00_2455;
{ /* ./Coerce/coerce.scm 274 */
long BgL_auxz00_3188;
BgL_auxz00_3188 = 
(long)(BgL_offsetz00_2454); 
BgL_offsetz00_2455 = 
(BgL_auxz00_3188-OBJECT_TYPE); } 
{ /* ./Coerce/coerce.scm 274 */
long BgL_modz00_2456;
{ /* ./Coerce/coerce.scm 274 */
int BgL_arg2028z00_2457;
BgL_arg2028z00_2457 = 
(int)(((long)8)); 
{ /* ./Coerce/coerce.scm 274 */
long BgL_n2z00_2465;
BgL_n2z00_2465 = 
(long)(BgL_arg2028z00_2457); 
BgL_modz00_2456 = 
(BgL_offsetz00_2455/BgL_n2z00_2465); } } 
{ /* ./Coerce/coerce.scm 274 */
long BgL_restz00_2458;
{ /* ./Coerce/coerce.scm 274 */
int BgL_arg2024z00_2459;
BgL_arg2024z00_2459 = 
(int)(((long)8)); 
{ /* ./Coerce/coerce.scm 274 */
long BgL_n2z00_2468;
BgL_n2z00_2468 = 
(long)(BgL_arg2024z00_2459); 
BgL_restz00_2458 = 
(BgL_offsetz00_2455%BgL_n2z00_2468); } } 
{ /* ./Coerce/coerce.scm 274 */

{ /* ./Coerce/coerce.scm 274 */
obj_t BgL_bucketz00_2460;
{ /* ./Coerce/coerce.scm 274 */
int BgL_kz00_2470;
BgL_kz00_2470 = 
(int)(BgL_modz00_2456); 
BgL_bucketz00_2460 = 
VECTOR_REF(BgL_arg2017z00_2451,BgL_kz00_2470); } 
{ /* ./Coerce/coerce.scm 274 */
int BgL_kz00_2472;
BgL_kz00_2472 = 
(int)(BgL_restz00_2458); 
BgL_method2713z00_2448 = 
VECTOR_REF(BgL_bucketz00_2460,BgL_kz00_2472); } } } } } } } } } } 
{ /* ./Coerce/coerce.scm 274 */
obj_t BgL_auxz00_3201;
BgL_auxz00_3201 = 
PROCEDURE_ENTRY(BgL_method2713z00_2448)(BgL_method2713z00_2448, 
(obj_t)(BgL_nodez00_2445), BgL_callerz00_1398, 
(obj_t)(BgL_arg3640z00_1412), BEOA); 
BgL_res3858z00_2473 = 
(BgL_nodez00_bglt)(BgL_auxz00_3201); } } } 
BgL_arg3636z00_1410 = BgL_res3858z00_2473; } } 
{ /* ./Coerce/coerce.scm 274 */
obj_t BgL_objz00_2475;
BgL_objz00_2475 = 
(obj_t)(BgL_arg3636z00_1410); 
SET_CDR(BgL_bindingz00_1407, BgL_objz00_2475); } } } 
{ /* ./Coerce/coerce.scm 272 */
obj_t BgL_arg3650z00_1414;
BgL_arg3650z00_1414 = 
CDR(BgL_l2700z00_1403); 
{ 
obj_t BgL_l2700z00_3210;
BgL_l2700z00_3210 = BgL_arg3650z00_1414; 
BgL_l2700z00_1403 = BgL_l2700z00_3210; 
goto BgL_forzd2each2701zd2_1404;} } }  else 
{ /* ./Coerce/coerce.scm 272 */((bool_t)1); } } } } 
{ /* ./Coerce/coerce.scm 278 */
BgL_nodez00_bglt BgL_arg3655z00_1415;
{ /* ./Coerce/coerce.scm 278 */
BgL_nodez00_bglt BgL_arg3658z00_1416;
BgL_arg3658z00_1416 = 
(((BgL_letzd2varzd2_bglt)CREF(BgL_nodez00_1397))->BgL_bodyz00); 
{ /* ./Coerce/coerce.scm 278 */
BgL_nodez00_bglt BgL_res3861z00_2506;
{ /* ./Coerce/coerce.scm 278 */
BgL_typez00_bglt BgL_toz00_2480;
BgL_toz00_2480 = 
(BgL_typez00_bglt)(BgL_toz00_1399); 
{ /* ./Coerce/coerce.scm 278 */
obj_t BgL_method2713z00_2481;
{ /* ./Coerce/coerce.scm 278 */
BgL_objectz00_bglt BgL_objz00_2482;
BgL_objz00_2482 = 
(BgL_objectz00_bglt)(BgL_arg3658z00_1416); 
{ /* ./Coerce/coerce.scm 278 */
long BgL_objzd2classzd2numz00_2483;
BgL_objzd2classzd2numz00_2483 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2482); 
{ /* ./Coerce/coerce.scm 278 */
obj_t BgL_arg2017z00_2484;
{ /* ./Coerce/coerce.scm 278 */
int BgL_auxz00_3215;
BgL_auxz00_3215 = 
(int)(((long)1)); 
BgL_arg2017z00_2484 = 
PROCEDURE_REF(BGl_coercez12zd2envzc0zzcoerce_coercez00, BgL_auxz00_3215); } 
{ /* ./Coerce/coerce.scm 278 */
int BgL_offsetz00_2487;
BgL_offsetz00_2487 = 
(int)(BgL_objzd2classzd2numz00_2483); 
{ /* ./Coerce/coerce.scm 278 */
long BgL_offsetz00_2488;
{ /* ./Coerce/coerce.scm 278 */
long BgL_auxz00_3219;
BgL_auxz00_3219 = 
(long)(BgL_offsetz00_2487); 
BgL_offsetz00_2488 = 
(BgL_auxz00_3219-OBJECT_TYPE); } 
{ /* ./Coerce/coerce.scm 278 */
long BgL_modz00_2489;
{ /* ./Coerce/coerce.scm 278 */
int BgL_arg2028z00_2490;
BgL_arg2028z00_2490 = 
(int)(((long)8)); 
{ /* ./Coerce/coerce.scm 278 */
long BgL_n2z00_2498;
BgL_n2z00_2498 = 
(long)(BgL_arg2028z00_2490); 
BgL_modz00_2489 = 
(BgL_offsetz00_2488/BgL_n2z00_2498); } } 
{ /* ./Coerce/coerce.scm 278 */
long BgL_restz00_2491;
{ /* ./Coerce/coerce.scm 278 */
int BgL_arg2024z00_2492;
BgL_arg2024z00_2492 = 
(int)(((long)8)); 
{ /* ./Coerce/coerce.scm 278 */
long BgL_n2z00_2501;
BgL_n2z00_2501 = 
(long)(BgL_arg2024z00_2492); 
BgL_restz00_2491 = 
(BgL_offsetz00_2488%BgL_n2z00_2501); } } 
{ /* ./Coerce/coerce.scm 278 */

{ /* ./Coerce/coerce.scm 278 */
obj_t BgL_bucketz00_2493;
{ /* ./Coerce/coerce.scm 278 */
int BgL_kz00_2503;
BgL_kz00_2503 = 
(int)(BgL_modz00_2489); 
BgL_bucketz00_2493 = 
VECTOR_REF(BgL_arg2017z00_2484,BgL_kz00_2503); } 
{ /* ./Coerce/coerce.scm 278 */
int BgL_kz00_2505;
BgL_kz00_2505 = 
(int)(BgL_restz00_2491); 
BgL_method2713z00_2481 = 
VECTOR_REF(BgL_bucketz00_2493,BgL_kz00_2505); } } } } } } } } } } 
{ /* ./Coerce/coerce.scm 278 */
obj_t BgL_auxz00_3232;
BgL_auxz00_3232 = 
PROCEDURE_ENTRY(BgL_method2713z00_2481)(BgL_method2713z00_2481, 
(obj_t)(BgL_arg3658z00_1416), BgL_callerz00_1398, 
(obj_t)(BgL_toz00_2480), BEOA); 
BgL_res3861z00_2506 = 
(BgL_nodez00_bglt)(BgL_auxz00_3232); } } } 
BgL_arg3655z00_1415 = BgL_res3861z00_2506; } } 
{ /* ./Coerce/coerce.scm 278 */
BgL_letzd2varzd2_bglt BgL_obj2491z00_2507;BgL_nodez00_bglt BgL_val2490z00_2508;
BgL_obj2491z00_2507 = BgL_nodez00_1397; 
BgL_val2490z00_2508 = BgL_arg3655z00_1415; 
((((BgL_letzd2varzd2_bglt)CREF(BgL_obj2491z00_2507))->BgL_bodyz00) = ((BgL_nodez00_bglt)BgL_val2490z00_2508), BUNSPEC); } } 
BGl_deczd2ppmargez12zc0zzcoerce_pprotoz00(); 
BgL_auxz00_3167 = BgL_nodez00_1397; 
return 
(obj_t)(BgL_auxz00_3167);} } } 
}



/* coerce!-let-fun2752 */
obj_t BGl_coercez12zd2letzd2fun2752z12zzcoerce_coercez00(obj_t BgL_envz00_2793, obj_t BgL_nodez00_2794, obj_t BgL_callerz00_2795, obj_t BgL_toz00_2796)
{ AN_OBJECT;
{ /* ./Coerce/coerce.scm 256 */
{ 
BgL_letzd2funzd2_bglt BgL_nodez00_1381;obj_t BgL_callerz00_1382;obj_t BgL_toz00_1383;
{ /* ./Coerce/coerce.scm 257 */
BgL_letzd2funzd2_bglt BgL_auxz00_3242;
BgL_nodez00_1381 = 
(BgL_letzd2funzd2_bglt)(BgL_nodez00_2794); 
BgL_callerz00_1382 = BgL_callerz00_2795; 
BgL_toz00_1383 = BgL_toz00_2796; 
BGl_inczd2ppmargez12zc0zzcoerce_pprotoz00(); 
{ 
obj_t BgL_l2696z00_1387;
{ /* ./Coerce/coerce.scm 259 */
obj_t BgL_arg3597z00_1389;
BgL_arg3597z00_1389 = 
(((BgL_letzd2funzd2_bglt)CREF(BgL_nodez00_1381))->BgL_localsz00); 
BgL_l2696z00_1387 = BgL_arg3597z00_1389; 
BgL_forzd2each2697zd2_1388:
{ /* ./Coerce/coerce.scm 259 */
bool_t BgL_test3600z00_1390;
BgL_test3600z00_1390 = 
PAIRP(BgL_l2696z00_1387); 
if(BgL_test3600z00_1390)
{ /* ./Coerce/coerce.scm 259 */
{ /* ./Coerce/coerce.scm 259 */
obj_t BgL_arg3602z00_1391;
BgL_arg3602z00_1391 = 
CAR(BgL_l2696z00_1387); 
BGl_coercezd2functionz12zc0zzcoerce_coercez00(
(BgL_variablez00_bglt)(BgL_arg3602z00_1391)); } 
{ /* ./Coerce/coerce.scm 259 */
obj_t BgL_arg3606z00_1392;
BgL_arg3606z00_1392 = 
CDR(BgL_l2696z00_1387); 
{ 
obj_t BgL_l2696z00_3251;
BgL_l2696z00_3251 = BgL_arg3606z00_1392; 
BgL_l2696z00_1387 = BgL_l2696z00_3251; 
goto BgL_forzd2each2697zd2_1388;} } }  else 
{ /* ./Coerce/coerce.scm 259 */((bool_t)1); } } } } 
{ /* ./Coerce/coerce.scm 260 */
BgL_nodez00_bglt BgL_arg3611z00_1393;
{ /* ./Coerce/coerce.scm 260 */
BgL_nodez00_bglt BgL_arg3614z00_1394;
BgL_arg3614z00_1394 = 
(((BgL_letzd2funzd2_bglt)CREF(BgL_nodez00_1381))->BgL_bodyz00); 
{ /* ./Coerce/coerce.scm 260 */
BgL_nodez00_bglt BgL_res3855z00_2435;
{ /* ./Coerce/coerce.scm 260 */
BgL_typez00_bglt BgL_toz00_2409;
BgL_toz00_2409 = 
(BgL_typez00_bglt)(BgL_toz00_1383); 
{ /* ./Coerce/coerce.scm 260 */
obj_t BgL_method2713z00_2410;
{ /* ./Coerce/coerce.scm 260 */
BgL_objectz00_bglt BgL_objz00_2411;
BgL_objz00_2411 = 
(BgL_objectz00_bglt)(BgL_arg3614z00_1394); 
{ /* ./Coerce/coerce.scm 260 */
long BgL_objzd2classzd2numz00_2412;
BgL_objzd2classzd2numz00_2412 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2411); 
{ /* ./Coerce/coerce.scm 260 */
obj_t BgL_arg2017z00_2413;
{ /* ./Coerce/coerce.scm 260 */
int BgL_auxz00_3256;
BgL_auxz00_3256 = 
(int)(((long)1)); 
BgL_arg2017z00_2413 = 
PROCEDURE_REF(BGl_coercez12zd2envzc0zzcoerce_coercez00, BgL_auxz00_3256); } 
{ /* ./Coerce/coerce.scm 260 */
int BgL_offsetz00_2416;
BgL_offsetz00_2416 = 
(int)(BgL_objzd2classzd2numz00_2412); 
{ /* ./Coerce/coerce.scm 260 */
long BgL_offsetz00_2417;
{ /* ./Coerce/coerce.scm 260 */
long BgL_auxz00_3260;
BgL_auxz00_3260 = 
(long)(BgL_offsetz00_2416); 
BgL_offsetz00_2417 = 
(BgL_auxz00_3260-OBJECT_TYPE); } 
{ /* ./Coerce/coerce.scm 260 */
long BgL_modz00_2418;
{ /* ./Coerce/coerce.scm 260 */
int BgL_arg2028z00_2419;
BgL_arg2028z00_2419 = 
(int)(((long)8)); 
{ /* ./Coerce/coerce.scm 260 */
long BgL_n2z00_2427;
BgL_n2z00_2427 = 
(long)(BgL_arg2028z00_2419); 
BgL_modz00_2418 = 
(BgL_offsetz00_2417/BgL_n2z00_2427); } } 
{ /* ./Coerce/coerce.scm 260 */
long BgL_restz00_2420;
{ /* ./Coerce/coerce.scm 260 */
int BgL_arg2024z00_2421;
BgL_arg2024z00_2421 = 
(int)(((long)8)); 
{ /* ./Coerce/coerce.scm 260 */
long BgL_n2z00_2430;
BgL_n2z00_2430 = 
(long)(BgL_arg2024z00_2421); 
BgL_restz00_2420 = 
(BgL_offsetz00_2417%BgL_n2z00_2430); } } 
{ /* ./Coerce/coerce.scm 260 */

{ /* ./Coerce/coerce.scm 260 */
obj_t BgL_bucketz00_2422;
{ /* ./Coerce/coerce.scm 260 */
int BgL_kz00_2432;
BgL_kz00_2432 = 
(int)(BgL_modz00_2418); 
BgL_bucketz00_2422 = 
VECTOR_REF(BgL_arg2017z00_2413,BgL_kz00_2432); } 
{ /* ./Coerce/coerce.scm 260 */
int BgL_kz00_2434;
BgL_kz00_2434 = 
(int)(BgL_restz00_2420); 
BgL_method2713z00_2410 = 
VECTOR_REF(BgL_bucketz00_2422,BgL_kz00_2434); } } } } } } } } } } 
{ /* ./Coerce/coerce.scm 260 */
obj_t BgL_auxz00_3273;
BgL_auxz00_3273 = 
PROCEDURE_ENTRY(BgL_method2713z00_2410)(BgL_method2713z00_2410, 
(obj_t)(BgL_arg3614z00_1394), BgL_callerz00_1382, 
(obj_t)(BgL_toz00_2409), BEOA); 
BgL_res3855z00_2435 = 
(BgL_nodez00_bglt)(BgL_auxz00_3273); } } } 
BgL_arg3611z00_1393 = BgL_res3855z00_2435; } } 
{ /* ./Coerce/coerce.scm 260 */
BgL_letzd2funzd2_bglt BgL_obj2453z00_2436;BgL_nodez00_bglt BgL_val2452z00_2437;
BgL_obj2453z00_2436 = BgL_nodez00_1381; 
BgL_val2452z00_2437 = BgL_arg3611z00_1393; 
((((BgL_letzd2funzd2_bglt)CREF(BgL_obj2453z00_2436))->BgL_bodyz00) = ((BgL_nodez00_bglt)BgL_val2452z00_2437), BUNSPEC); } } 
BGl_deczd2ppmargez12zc0zzcoerce_pprotoz00(); 
BgL_auxz00_3242 = BgL_nodez00_1381; 
return 
(obj_t)(BgL_auxz00_3242);} } } 
}



/* coerce!-select2750 */
obj_t BGl_coercez12zd2select2750zc0zzcoerce_coercez00(obj_t BgL_envz00_2797, obj_t BgL_nodez00_2798, obj_t BgL_callerz00_2799, obj_t BgL_toz00_2800)
{ AN_OBJECT;
{ /* ./Coerce/coerce.scm 225 */
{ 
BgL_selectz00_bglt BgL_nodez00_1355;obj_t BgL_callerz00_1356;obj_t BgL_toz00_1357;
BgL_nodez00_1355 = 
(BgL_selectz00_bglt)(BgL_nodez00_2798); 
BgL_callerz00_1356 = BgL_callerz00_2799; 
BgL_toz00_1357 = BgL_toz00_2800; 
{ /* ./Coerce/coerce.scm 227 */
BgL_nodez00_bglt BgL_obj1563z00_2298;BgL_typez00_bglt BgL_val1562z00_2299;
BgL_obj1563z00_2298 = 
(BgL_nodez00_bglt)(BgL_nodez00_1355); 
BgL_val1562z00_2299 = 
(BgL_typez00_bglt)(BgL_toz00_1357); 
((((BgL_nodez00_bglt)CREF(BgL_obj1563z00_2298))->BgL_typez00) = ((BgL_typez00_bglt)BgL_val1562z00_2299), BUNSPEC); } 
{ /* ./Coerce/coerce.scm 228 */
obj_t BgL_clausesz00_1361;BgL_typez00_bglt BgL_testzd2typezd2_1362;BgL_typez00_bglt BgL_testzd2nodezd2typez00_1363;
BgL_clausesz00_1361 = 
(((BgL_selectz00_bglt)CREF(BgL_nodez00_1355))->BgL_clausesz00); 
BgL_testzd2typezd2_1362 = 
(((BgL_selectz00_bglt)CREF(BgL_nodez00_1355))->BgL_itemzd2typezd2); 
{ /* ./Coerce/coerce.scm 230 */
BgL_nodez00_bglt BgL_arg3586z00_1378;
BgL_arg3586z00_1378 = 
(((BgL_selectz00_bglt)CREF(BgL_nodez00_1355))->BgL_testz00); 
BgL_testzd2nodezd2typez00_1363 = 
BGl_typeofz00zztype_typeofz00(BgL_arg3586z00_1378); } 
{ /* ./Coerce/coerce.scm 238 */
bool_t BgL_test3548z00_1364;
BgL_test3548z00_1364 = 
BGl_coercerzd2existszf3z21zztype_coercionz00(BgL_testzd2nodezd2typez00_1363, BgL_testzd2typezd2_1362); 
if(BgL_test3548z00_1364)
{ /* ./Coerce/coerce.scm 238 */
{ /* ./Coerce/coerce.scm 245 */
BgL_nodez00_bglt BgL_arg3550z00_1365;
{ /* ./Coerce/coerce.scm 245 */
BgL_nodez00_bglt BgL_arg3553z00_1366;
BgL_arg3553z00_1366 = 
(((BgL_selectz00_bglt)CREF(BgL_nodez00_1355))->BgL_testz00); 
{ /* ./Coerce/coerce.scm 245 */
BgL_nodez00_bglt BgL_res3846z00_2332;
{ /* ./Coerce/coerce.scm 245 */
obj_t BgL_method2713z00_2307;
{ /* ./Coerce/coerce.scm 245 */
BgL_objectz00_bglt BgL_objz00_2308;
BgL_objz00_2308 = 
(BgL_objectz00_bglt)(BgL_arg3553z00_1366); 
{ /* ./Coerce/coerce.scm 245 */
long BgL_objzd2classzd2numz00_2309;
BgL_objzd2classzd2numz00_2309 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2308); 
{ /* ./Coerce/coerce.scm 245 */
obj_t BgL_arg2017z00_2310;
{ /* ./Coerce/coerce.scm 245 */
int BgL_auxz00_3295;
BgL_auxz00_3295 = 
(int)(((long)1)); 
BgL_arg2017z00_2310 = 
PROCEDURE_REF(BGl_coercez12zd2envzc0zzcoerce_coercez00, BgL_auxz00_3295); } 
{ /* ./Coerce/coerce.scm 245 */
int BgL_offsetz00_2313;
BgL_offsetz00_2313 = 
(int)(BgL_objzd2classzd2numz00_2309); 
{ /* ./Coerce/coerce.scm 245 */
long BgL_offsetz00_2314;
{ /* ./Coerce/coerce.scm 245 */
long BgL_auxz00_3299;
BgL_auxz00_3299 = 
(long)(BgL_offsetz00_2313); 
BgL_offsetz00_2314 = 
(BgL_auxz00_3299-OBJECT_TYPE); } 
{ /* ./Coerce/coerce.scm 245 */
long BgL_modz00_2315;
{ /* ./Coerce/coerce.scm 245 */
int BgL_arg2028z00_2316;
BgL_arg2028z00_2316 = 
(int)(((long)8)); 
{ /* ./Coerce/coerce.scm 245 */
long BgL_n2z00_2324;
BgL_n2z00_2324 = 
(long)(BgL_arg2028z00_2316); 
BgL_modz00_2315 = 
(BgL_offsetz00_2314/BgL_n2z00_2324); } } 
{ /* ./Coerce/coerce.scm 245 */
long BgL_restz00_2317;
{ /* ./Coerce/coerce.scm 245 */
int BgL_arg2024z00_2318;
BgL_arg2024z00_2318 = 
(int)(((long)8)); 
{ /* ./Coerce/coerce.scm 245 */
long BgL_n2z00_2327;
BgL_n2z00_2327 = 
(long)(BgL_arg2024z00_2318); 
BgL_restz00_2317 = 
(BgL_offsetz00_2314%BgL_n2z00_2327); } } 
{ /* ./Coerce/coerce.scm 245 */

{ /* ./Coerce/coerce.scm 245 */
obj_t BgL_bucketz00_2319;
{ /* ./Coerce/coerce.scm 245 */
int BgL_kz00_2329;
BgL_kz00_2329 = 
(int)(BgL_modz00_2315); 
BgL_bucketz00_2319 = 
VECTOR_REF(BgL_arg2017z00_2310,BgL_kz00_2329); } 
{ /* ./Coerce/coerce.scm 245 */
int BgL_kz00_2331;
BgL_kz00_2331 = 
(int)(BgL_restz00_2317); 
BgL_method2713z00_2307 = 
VECTOR_REF(BgL_bucketz00_2319,BgL_kz00_2331); } } } } } } } } } } 
{ /* ./Coerce/coerce.scm 245 */
obj_t BgL_auxz00_3312;
BgL_auxz00_3312 = 
PROCEDURE_ENTRY(BgL_method2713z00_2307)(BgL_method2713z00_2307, 
(obj_t)(BgL_arg3553z00_1366), BgL_callerz00_1356, 
(obj_t)(BgL_testzd2typezd2_1362), BEOA); 
BgL_res3846z00_2332 = 
(BgL_nodez00_bglt)(BgL_auxz00_3312); } } 
BgL_arg3550z00_1365 = BgL_res3846z00_2332; } } 
{ /* ./Coerce/coerce.scm 245 */
BgL_selectz00_bglt BgL_obj2410z00_2333;BgL_nodez00_bglt BgL_val2409z00_2334;
BgL_obj2410z00_2333 = BgL_nodez00_1355; 
BgL_val2409z00_2334 = BgL_arg3550z00_1365; 
((((BgL_selectz00_bglt)CREF(BgL_obj2410z00_2333))->BgL_testz00) = ((BgL_nodez00_bglt)BgL_val2409z00_2334), BUNSPEC); } } 
{ 
obj_t BgL_l2692z00_1367;
BgL_l2692z00_1367 = BgL_clausesz00_1361; 
BgL_forzd2each2693zd2_1368:
{ /* ./Coerce/coerce.scm 246 */
bool_t BgL_test3557z00_1369;
BgL_test3557z00_1369 = 
PAIRP(BgL_l2692z00_1367); 
if(BgL_test3557z00_1369)
{ /* ./Coerce/coerce.scm 246 */
{ /* ./Coerce/coerce.scm 247 */
obj_t BgL_clausez00_1370;
BgL_clausez00_1370 = 
CAR(BgL_l2692z00_1367); 
{ /* ./Coerce/coerce.scm 247 */
BgL_nodez00_bglt BgL_arg3559z00_1371;
{ /* ./Coerce/coerce.scm 247 */
obj_t BgL_arg3562z00_1372;
BgL_arg3562z00_1372 = 
CDR(BgL_clausez00_1370); 
{ /* ./Coerce/coerce.scm 247 */
BgL_nodez00_bglt BgL_res3849z00_2366;
{ /* ./Coerce/coerce.scm 247 */
BgL_nodez00_bglt BgL_nodez00_2338;BgL_typez00_bglt BgL_toz00_2340;
BgL_nodez00_2338 = 
(BgL_nodez00_bglt)(BgL_arg3562z00_1372); 
BgL_toz00_2340 = 
(BgL_typez00_bglt)(BgL_toz00_1357); 
{ /* ./Coerce/coerce.scm 247 */
obj_t BgL_method2713z00_2341;
{ /* ./Coerce/coerce.scm 247 */
BgL_objectz00_bglt BgL_objz00_2342;
BgL_objz00_2342 = 
(BgL_objectz00_bglt)(BgL_nodez00_2338); 
{ /* ./Coerce/coerce.scm 247 */
long BgL_objzd2classzd2numz00_2343;
BgL_objzd2classzd2numz00_2343 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2342); 
{ /* ./Coerce/coerce.scm 247 */
obj_t BgL_arg2017z00_2344;
{ /* ./Coerce/coerce.scm 247 */
int BgL_auxz00_3327;
BgL_auxz00_3327 = 
(int)(((long)1)); 
BgL_arg2017z00_2344 = 
PROCEDURE_REF(BGl_coercez12zd2envzc0zzcoerce_coercez00, BgL_auxz00_3327); } 
{ /* ./Coerce/coerce.scm 247 */
int BgL_offsetz00_2347;
BgL_offsetz00_2347 = 
(int)(BgL_objzd2classzd2numz00_2343); 
{ /* ./Coerce/coerce.scm 247 */
long BgL_offsetz00_2348;
{ /* ./Coerce/coerce.scm 247 */
long BgL_auxz00_3331;
BgL_auxz00_3331 = 
(long)(BgL_offsetz00_2347); 
BgL_offsetz00_2348 = 
(BgL_auxz00_3331-OBJECT_TYPE); } 
{ /* ./Coerce/coerce.scm 247 */
long BgL_modz00_2349;
{ /* ./Coerce/coerce.scm 247 */
int BgL_arg2028z00_2350;
BgL_arg2028z00_2350 = 
(int)(((long)8)); 
{ /* ./Coerce/coerce.scm 247 */
long BgL_n2z00_2358;
BgL_n2z00_2358 = 
(long)(BgL_arg2028z00_2350); 
BgL_modz00_2349 = 
(BgL_offsetz00_2348/BgL_n2z00_2358); } } 
{ /* ./Coerce/coerce.scm 247 */
long BgL_restz00_2351;
{ /* ./Coerce/coerce.scm 247 */
int BgL_arg2024z00_2352;
BgL_arg2024z00_2352 = 
(int)(((long)8)); 
{ /* ./Coerce/coerce.scm 247 */
long BgL_n2z00_2361;
BgL_n2z00_2361 = 
(long)(BgL_arg2024z00_2352); 
BgL_restz00_2351 = 
(BgL_offsetz00_2348%BgL_n2z00_2361); } } 
{ /* ./Coerce/coerce.scm 247 */

{ /* ./Coerce/coerce.scm 247 */
obj_t BgL_bucketz00_2353;
{ /* ./Coerce/coerce.scm 247 */
int BgL_kz00_2363;
BgL_kz00_2363 = 
(int)(BgL_modz00_2349); 
BgL_bucketz00_2353 = 
VECTOR_REF(BgL_arg2017z00_2344,BgL_kz00_2363); } 
{ /* ./Coerce/coerce.scm 247 */
int BgL_kz00_2365;
BgL_kz00_2365 = 
(int)(BgL_restz00_2351); 
BgL_method2713z00_2341 = 
VECTOR_REF(BgL_bucketz00_2353,BgL_kz00_2365); } } } } } } } } } } 
{ /* ./Coerce/coerce.scm 247 */
obj_t BgL_auxz00_3344;
BgL_auxz00_3344 = 
PROCEDURE_ENTRY(BgL_method2713z00_2341)(BgL_method2713z00_2341, 
(obj_t)(BgL_nodez00_2338), BgL_callerz00_1356, 
(obj_t)(BgL_toz00_2340), BEOA); 
BgL_res3849z00_2366 = 
(BgL_nodez00_bglt)(BgL_auxz00_3344); } } } 
BgL_arg3559z00_1371 = BgL_res3849z00_2366; } } 
{ /* ./Coerce/coerce.scm 247 */
obj_t BgL_objz00_2368;
BgL_objz00_2368 = 
(obj_t)(BgL_arg3559z00_1371); 
SET_CDR(BgL_clausez00_1370, BgL_objz00_2368); } } } 
{ /* ./Coerce/coerce.scm 246 */
obj_t BgL_arg3567z00_1373;
BgL_arg3567z00_1373 = 
CDR(BgL_l2692z00_1367); 
{ 
obj_t BgL_l2692z00_3353;
BgL_l2692z00_3353 = BgL_arg3567z00_1373; 
BgL_l2692z00_1367 = BgL_l2692z00_3353; 
goto BgL_forzd2each2693zd2_1368;} } }  else 
{ /* ./Coerce/coerce.scm 246 */((bool_t)1); } } } 
return 
(obj_t)(BgL_nodez00_1355);}  else 
{ /* ./Coerce/coerce.scm 239 */
obj_t BgL_arg3572z00_1374;
{ /* ./Coerce/coerce.scm 239 */
obj_t BgL_arg3575z00_1375;obj_t BgL_arg3576z00_1376;BgL_nodez00_bglt BgL_arg3577z00_1377;
{ /* ./Coerce/coerce.scm 239 */
BgL_nodez00_bglt BgL_obj1560z00_2370;
BgL_obj1560z00_2370 = 
(BgL_nodez00_bglt)(BgL_nodez00_1355); 
BgL_arg3575z00_1375 = 
(((BgL_nodez00_bglt)CREF(BgL_obj1560z00_2370))->BgL_locz00); } 
BgL_arg3576z00_1376 = 
(((BgL_typez00_bglt)CREF(BgL_testzd2typezd2_1362))->BgL_idz00); 
BgL_arg3577z00_1377 = 
(((BgL_selectz00_bglt)CREF(BgL_nodez00_1355))->BgL_testz00); 
BgL_arg3572z00_1374 = 
BGl_runtimezd2typezd2errorz00zzcoerce_convertz00(BgL_arg3575z00_1375, BgL_arg3576z00_1376, 
(obj_t)(BgL_arg3577z00_1377)); } 
{ /* ./Coerce/coerce.scm 239 */
BgL_nodez00_bglt BgL_res3852z00_2401;
{ /* ./Coerce/coerce.scm 239 */
BgL_nodez00_bglt BgL_nodez00_2373;BgL_typez00_bglt BgL_toz00_2375;
BgL_nodez00_2373 = 
(BgL_nodez00_bglt)(BgL_arg3572z00_1374); 
BgL_toz00_2375 = 
(BgL_typez00_bglt)(BgL_toz00_1357); 
{ /* ./Coerce/coerce.scm 239 */
obj_t BgL_method2713z00_2376;
{ /* ./Coerce/coerce.scm 239 */
BgL_objectz00_bglt BgL_objz00_2377;
BgL_objz00_2377 = 
(BgL_objectz00_bglt)(BgL_nodez00_2373); 
{ /* ./Coerce/coerce.scm 239 */
long BgL_objzd2classzd2numz00_2378;
BgL_objzd2classzd2numz00_2378 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2377); 
{ /* ./Coerce/coerce.scm 239 */
obj_t BgL_arg2017z00_2379;
{ /* ./Coerce/coerce.scm 239 */
int BgL_auxz00_3365;
BgL_auxz00_3365 = 
(int)(((long)1)); 
BgL_arg2017z00_2379 = 
PROCEDURE_REF(BGl_coercez12zd2envzc0zzcoerce_coercez00, BgL_auxz00_3365); } 
{ /* ./Coerce/coerce.scm 239 */
int BgL_offsetz00_2382;
BgL_offsetz00_2382 = 
(int)(BgL_objzd2classzd2numz00_2378); 
{ /* ./Coerce/coerce.scm 239 */
long BgL_offsetz00_2383;
{ /* ./Coerce/coerce.scm 239 */
long BgL_auxz00_3369;
BgL_auxz00_3369 = 
(long)(BgL_offsetz00_2382); 
BgL_offsetz00_2383 = 
(BgL_auxz00_3369-OBJECT_TYPE); } 
{ /* ./Coerce/coerce.scm 239 */
long BgL_modz00_2384;
{ /* ./Coerce/coerce.scm 239 */
int BgL_arg2028z00_2385;
BgL_arg2028z00_2385 = 
(int)(((long)8)); 
{ /* ./Coerce/coerce.scm 239 */
long BgL_n2z00_2393;
BgL_n2z00_2393 = 
(long)(BgL_arg2028z00_2385); 
BgL_modz00_2384 = 
(BgL_offsetz00_2383/BgL_n2z00_2393); } } 
{ /* ./Coerce/coerce.scm 239 */
long BgL_restz00_2386;
{ /* ./Coerce/coerce.scm 239 */
int BgL_arg2024z00_2387;
BgL_arg2024z00_2387 = 
(int)(((long)8)); 
{ /* ./Coerce/coerce.scm 239 */
long BgL_n2z00_2396;
BgL_n2z00_2396 = 
(long)(BgL_arg2024z00_2387); 
BgL_restz00_2386 = 
(BgL_offsetz00_2383%BgL_n2z00_2396); } } 
{ /* ./Coerce/coerce.scm 239 */

{ /* ./Coerce/coerce.scm 239 */
obj_t BgL_bucketz00_2388;
{ /* ./Coerce/coerce.scm 239 */
int BgL_kz00_2398;
BgL_kz00_2398 = 
(int)(BgL_modz00_2384); 
BgL_bucketz00_2388 = 
VECTOR_REF(BgL_arg2017z00_2379,BgL_kz00_2398); } 
{ /* ./Coerce/coerce.scm 239 */
int BgL_kz00_2400;
BgL_kz00_2400 = 
(int)(BgL_restz00_2386); 
BgL_method2713z00_2376 = 
VECTOR_REF(BgL_bucketz00_2388,BgL_kz00_2400); } } } } } } } } } } 
{ /* ./Coerce/coerce.scm 239 */
obj_t BgL_auxz00_3382;
BgL_auxz00_3382 = 
PROCEDURE_ENTRY(BgL_method2713z00_2376)(BgL_method2713z00_2376, 
(obj_t)(BgL_nodez00_2373), BgL_callerz00_1356, 
(obj_t)(BgL_toz00_2375), BEOA); 
BgL_res3852z00_2401 = 
(BgL_nodez00_bglt)(BgL_auxz00_3382); } } } 
return 
(obj_t)(BgL_res3852z00_2401);} } } } } } 
}



/* coerce!-fail2748 */
obj_t BGl_coercez12zd2fail2748zc0zzcoerce_coercez00(obj_t BgL_envz00_2801, obj_t BgL_nodez00_2802, obj_t BgL_callerz00_2803, obj_t BgL_toz00_2804)
{ AN_OBJECT;
{ /* ./Coerce/coerce.scm 215 */
{ 
BgL_failz00_bglt BgL_nodez00_1341;obj_t BgL_callerz00_1342;obj_t BgL_toz00_1343;
{ /* ./Coerce/coerce.scm 216 */
BgL_nodez00_bglt BgL_auxz00_3390;
BgL_nodez00_1341 = 
(BgL_failz00_bglt)(BgL_nodez00_2802); 
BgL_callerz00_1342 = BgL_callerz00_2803; 
BgL_toz00_1343 = BgL_toz00_2804; 
{ /* ./Coerce/coerce.scm 217 */
BgL_nodez00_bglt BgL_arg3520z00_1347;
{ /* ./Coerce/coerce.scm 217 */
BgL_nodez00_bglt BgL_arg3523z00_1348;
BgL_arg3523z00_1348 = 
(((BgL_failz00_bglt)CREF(BgL_nodez00_1341))->BgL_procz00); 
{ /* ./Coerce/coerce.scm 217 */
BgL_nodez00_bglt BgL_res3837z00_2231;
{ /* ./Coerce/coerce.scm 217 */
BgL_typez00_bglt BgL_toz00_2205;
BgL_toz00_2205 = 
(BgL_typez00_bglt)(BGl_za2objza2z00zztype_cachez00); 
{ /* ./Coerce/coerce.scm 217 */
obj_t BgL_method2713z00_2206;
{ /* ./Coerce/coerce.scm 217 */
BgL_objectz00_bglt BgL_objz00_2207;
BgL_objz00_2207 = 
(BgL_objectz00_bglt)(BgL_arg3523z00_1348); 
{ /* ./Coerce/coerce.scm 217 */
long BgL_objzd2classzd2numz00_2208;
BgL_objzd2classzd2numz00_2208 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2207); 
{ /* ./Coerce/coerce.scm 217 */
obj_t BgL_arg2017z00_2209;
{ /* ./Coerce/coerce.scm 217 */
int BgL_auxz00_3395;
BgL_auxz00_3395 = 
(int)(((long)1)); 
BgL_arg2017z00_2209 = 
PROCEDURE_REF(BGl_coercez12zd2envzc0zzcoerce_coercez00, BgL_auxz00_3395); } 
{ /* ./Coerce/coerce.scm 217 */
int BgL_offsetz00_2212;
BgL_offsetz00_2212 = 
(int)(BgL_objzd2classzd2numz00_2208); 
{ /* ./Coerce/coerce.scm 217 */
long BgL_offsetz00_2213;
{ /* ./Coerce/coerce.scm 217 */
long BgL_auxz00_3399;
BgL_auxz00_3399 = 
(long)(BgL_offsetz00_2212); 
BgL_offsetz00_2213 = 
(BgL_auxz00_3399-OBJECT_TYPE); } 
{ /* ./Coerce/coerce.scm 217 */
long BgL_modz00_2214;
{ /* ./Coerce/coerce.scm 217 */
int BgL_arg2028z00_2215;
BgL_arg2028z00_2215 = 
(int)(((long)8)); 
{ /* ./Coerce/coerce.scm 217 */
long BgL_n2z00_2223;
BgL_n2z00_2223 = 
(long)(BgL_arg2028z00_2215); 
BgL_modz00_2214 = 
(BgL_offsetz00_2213/BgL_n2z00_2223); } } 
{ /* ./Coerce/coerce.scm 217 */
long BgL_restz00_2216;
{ /* ./Coerce/coerce.scm 217 */
int BgL_arg2024z00_2217;
BgL_arg2024z00_2217 = 
(int)(((long)8)); 
{ /* ./Coerce/coerce.scm 217 */
long BgL_n2z00_2226;
BgL_n2z00_2226 = 
(long)(BgL_arg2024z00_2217); 
BgL_restz00_2216 = 
(BgL_offsetz00_2213%BgL_n2z00_2226); } } 
{ /* ./Coerce/coerce.scm 217 */

{ /* ./Coerce/coerce.scm 217 */
obj_t BgL_bucketz00_2218;
{ /* ./Coerce/coerce.scm 217 */
int BgL_kz00_2228;
BgL_kz00_2228 = 
(int)(BgL_modz00_2214); 
BgL_bucketz00_2218 = 
VECTOR_REF(BgL_arg2017z00_2209,BgL_kz00_2228); } 
{ /* ./Coerce/coerce.scm 217 */
int BgL_kz00_2230;
BgL_kz00_2230 = 
(int)(BgL_restz00_2216); 
BgL_method2713z00_2206 = 
VECTOR_REF(BgL_bucketz00_2218,BgL_kz00_2230); } } } } } } } } } } 
{ /* ./Coerce/coerce.scm 217 */
obj_t BgL_auxz00_3412;
BgL_auxz00_3412 = 
PROCEDURE_ENTRY(BgL_method2713z00_2206)(BgL_method2713z00_2206, 
(obj_t)(BgL_arg3523z00_1348), BgL_callerz00_1342, 
(obj_t)(BgL_toz00_2205), BEOA); 
BgL_res3837z00_2231 = 
(BgL_nodez00_bglt)(BgL_auxz00_3412); } } } 
BgL_arg3520z00_1347 = BgL_res3837z00_2231; } } 
{ /* ./Coerce/coerce.scm 217 */
BgL_failz00_bglt BgL_obj2372z00_2232;BgL_nodez00_bglt BgL_val2371z00_2233;
BgL_obj2372z00_2232 = BgL_nodez00_1341; 
BgL_val2371z00_2233 = BgL_arg3520z00_1347; 
((((BgL_failz00_bglt)CREF(BgL_obj2372z00_2232))->BgL_procz00) = ((BgL_nodez00_bglt)BgL_val2371z00_2233), BUNSPEC); } } 
{ /* ./Coerce/coerce.scm 218 */
BgL_nodez00_bglt BgL_arg3527z00_1349;
{ /* ./Coerce/coerce.scm 218 */
BgL_nodez00_bglt BgL_arg3530z00_1350;
BgL_arg3530z00_1350 = 
(((BgL_failz00_bglt)CREF(BgL_nodez00_1341))->BgL_msgz00); 
{ /* ./Coerce/coerce.scm 218 */
BgL_nodez00_bglt BgL_res3840z00_2263;
{ /* ./Coerce/coerce.scm 218 */
BgL_typez00_bglt BgL_toz00_2237;
BgL_toz00_2237 = 
(BgL_typez00_bglt)(BGl_za2objza2z00zztype_cachez00); 
{ /* ./Coerce/coerce.scm 218 */
obj_t BgL_method2713z00_2238;
{ /* ./Coerce/coerce.scm 218 */
BgL_objectz00_bglt BgL_objz00_2239;
BgL_objz00_2239 = 
(BgL_objectz00_bglt)(BgL_arg3530z00_1350); 
{ /* ./Coerce/coerce.scm 218 */
long BgL_objzd2classzd2numz00_2240;
BgL_objzd2classzd2numz00_2240 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2239); 
{ /* ./Coerce/coerce.scm 218 */
obj_t BgL_arg2017z00_2241;
{ /* ./Coerce/coerce.scm 218 */
int BgL_auxz00_3423;
BgL_auxz00_3423 = 
(int)(((long)1)); 
BgL_arg2017z00_2241 = 
PROCEDURE_REF(BGl_coercez12zd2envzc0zzcoerce_coercez00, BgL_auxz00_3423); } 
{ /* ./Coerce/coerce.scm 218 */
int BgL_offsetz00_2244;
BgL_offsetz00_2244 = 
(int)(BgL_objzd2classzd2numz00_2240); 
{ /* ./Coerce/coerce.scm 218 */
long BgL_offsetz00_2245;
{ /* ./Coerce/coerce.scm 218 */
long BgL_auxz00_3427;
BgL_auxz00_3427 = 
(long)(BgL_offsetz00_2244); 
BgL_offsetz00_2245 = 
(BgL_auxz00_3427-OBJECT_TYPE); } 
{ /* ./Coerce/coerce.scm 218 */
long BgL_modz00_2246;
{ /* ./Coerce/coerce.scm 218 */
int BgL_arg2028z00_2247;
BgL_arg2028z00_2247 = 
(int)(((long)8)); 
{ /* ./Coerce/coerce.scm 218 */
long BgL_n2z00_2255;
BgL_n2z00_2255 = 
(long)(BgL_arg2028z00_2247); 
BgL_modz00_2246 = 
(BgL_offsetz00_2245/BgL_n2z00_2255); } } 
{ /* ./Coerce/coerce.scm 218 */
long BgL_restz00_2248;
{ /* ./Coerce/coerce.scm 218 */
int BgL_arg2024z00_2249;
BgL_arg2024z00_2249 = 
(int)(((long)8)); 
{ /* ./Coerce/coerce.scm 218 */
long BgL_n2z00_2258;
BgL_n2z00_2258 = 
(long)(BgL_arg2024z00_2249); 
BgL_restz00_2248 = 
(BgL_offsetz00_2245%BgL_n2z00_2258); } } 
{ /* ./Coerce/coerce.scm 218 */

{ /* ./Coerce/coerce.scm 218 */
obj_t BgL_bucketz00_2250;
{ /* ./Coerce/coerce.scm 218 */
int BgL_kz00_2260;
BgL_kz00_2260 = 
(int)(BgL_modz00_2246); 
BgL_bucketz00_2250 = 
VECTOR_REF(BgL_arg2017z00_2241,BgL_kz00_2260); } 
{ /* ./Coerce/coerce.scm 218 */
int BgL_kz00_2262;
BgL_kz00_2262 = 
(int)(BgL_restz00_2248); 
BgL_method2713z00_2238 = 
VECTOR_REF(BgL_bucketz00_2250,BgL_kz00_2262); } } } } } } } } } } 
{ /* ./Coerce/coerce.scm 218 */
obj_t BgL_auxz00_3440;
BgL_auxz00_3440 = 
PROCEDURE_ENTRY(BgL_method2713z00_2238)(BgL_method2713z00_2238, 
(obj_t)(BgL_arg3530z00_1350), BgL_callerz00_1342, 
(obj_t)(BgL_toz00_2237), BEOA); 
BgL_res3840z00_2263 = 
(BgL_nodez00_bglt)(BgL_auxz00_3440); } } } 
BgL_arg3527z00_1349 = BgL_res3840z00_2263; } } 
{ /* ./Coerce/coerce.scm 218 */
BgL_failz00_bglt BgL_obj2375z00_2264;BgL_nodez00_bglt BgL_val2374z00_2265;
BgL_obj2375z00_2264 = BgL_nodez00_1341; 
BgL_val2374z00_2265 = BgL_arg3527z00_1349; 
((((BgL_failz00_bglt)CREF(BgL_obj2375z00_2264))->BgL_msgz00) = ((BgL_nodez00_bglt)BgL_val2374z00_2265), BUNSPEC); } } 
{ /* ./Coerce/coerce.scm 219 */
BgL_nodez00_bglt BgL_arg3534z00_1351;
{ /* ./Coerce/coerce.scm 219 */
BgL_nodez00_bglt BgL_arg3537z00_1352;
BgL_arg3537z00_1352 = 
(((BgL_failz00_bglt)CREF(BgL_nodez00_1341))->BgL_objz00); 
{ /* ./Coerce/coerce.scm 219 */
BgL_nodez00_bglt BgL_res3843z00_2295;
{ /* ./Coerce/coerce.scm 219 */
BgL_typez00_bglt BgL_toz00_2269;
BgL_toz00_2269 = 
(BgL_typez00_bglt)(BGl_za2objza2z00zztype_cachez00); 
{ /* ./Coerce/coerce.scm 219 */
obj_t BgL_method2713z00_2270;
{ /* ./Coerce/coerce.scm 219 */
BgL_objectz00_bglt BgL_objz00_2271;
BgL_objz00_2271 = 
(BgL_objectz00_bglt)(BgL_arg3537z00_1352); 
{ /* ./Coerce/coerce.scm 219 */
long BgL_objzd2classzd2numz00_2272;
BgL_objzd2classzd2numz00_2272 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2271); 
{ /* ./Coerce/coerce.scm 219 */
obj_t BgL_arg2017z00_2273;
{ /* ./Coerce/coerce.scm 219 */
int BgL_auxz00_3451;
BgL_auxz00_3451 = 
(int)(((long)1)); 
BgL_arg2017z00_2273 = 
PROCEDURE_REF(BGl_coercez12zd2envzc0zzcoerce_coercez00, BgL_auxz00_3451); } 
{ /* ./Coerce/coerce.scm 219 */
int BgL_offsetz00_2276;
BgL_offsetz00_2276 = 
(int)(BgL_objzd2classzd2numz00_2272); 
{ /* ./Coerce/coerce.scm 219 */
long BgL_offsetz00_2277;
{ /* ./Coerce/coerce.scm 219 */
long BgL_auxz00_3455;
BgL_auxz00_3455 = 
(long)(BgL_offsetz00_2276); 
BgL_offsetz00_2277 = 
(BgL_auxz00_3455-OBJECT_TYPE); } 
{ /* ./Coerce/coerce.scm 219 */
long BgL_modz00_2278;
{ /* ./Coerce/coerce.scm 219 */
int BgL_arg2028z00_2279;
BgL_arg2028z00_2279 = 
(int)(((long)8)); 
{ /* ./Coerce/coerce.scm 219 */
long BgL_n2z00_2287;
BgL_n2z00_2287 = 
(long)(BgL_arg2028z00_2279); 
BgL_modz00_2278 = 
(BgL_offsetz00_2277/BgL_n2z00_2287); } } 
{ /* ./Coerce/coerce.scm 219 */
long BgL_restz00_2280;
{ /* ./Coerce/coerce.scm 219 */
int BgL_arg2024z00_2281;
BgL_arg2024z00_2281 = 
(int)(((long)8)); 
{ /* ./Coerce/coerce.scm 219 */
long BgL_n2z00_2290;
BgL_n2z00_2290 = 
(long)(BgL_arg2024z00_2281); 
BgL_restz00_2280 = 
(BgL_offsetz00_2277%BgL_n2z00_2290); } } 
{ /* ./Coerce/coerce.scm 219 */

{ /* ./Coerce/coerce.scm 219 */
obj_t BgL_bucketz00_2282;
{ /* ./Coerce/coerce.scm 219 */
int BgL_kz00_2292;
BgL_kz00_2292 = 
(int)(BgL_modz00_2278); 
BgL_bucketz00_2282 = 
VECTOR_REF(BgL_arg2017z00_2273,BgL_kz00_2292); } 
{ /* ./Coerce/coerce.scm 219 */
int BgL_kz00_2294;
BgL_kz00_2294 = 
(int)(BgL_restz00_2280); 
BgL_method2713z00_2270 = 
VECTOR_REF(BgL_bucketz00_2282,BgL_kz00_2294); } } } } } } } } } } 
{ /* ./Coerce/coerce.scm 219 */
obj_t BgL_auxz00_3468;
BgL_auxz00_3468 = 
PROCEDURE_ENTRY(BgL_method2713z00_2270)(BgL_method2713z00_2270, 
(obj_t)(BgL_arg3537z00_1352), BgL_callerz00_1342, 
(obj_t)(BgL_toz00_2269), BEOA); 
BgL_res3843z00_2295 = 
(BgL_nodez00_bglt)(BgL_auxz00_3468); } } } 
BgL_arg3534z00_1351 = BgL_res3843z00_2295; } } 
{ /* ./Coerce/coerce.scm 219 */
BgL_failz00_bglt BgL_obj2378z00_2296;BgL_nodez00_bglt BgL_val2377z00_2297;
BgL_obj2378z00_2296 = BgL_nodez00_1341; 
BgL_val2377z00_2297 = BgL_arg3534z00_1351; 
((((BgL_failz00_bglt)CREF(BgL_obj2378z00_2296))->BgL_objz00) = ((BgL_nodez00_bglt)BgL_val2377z00_2297), BUNSPEC); } } 
BgL_auxz00_3390 = 
BGl_convertz12z12zzcoerce_convertz00(
(BgL_nodez00_bglt)(BgL_nodez00_1341), 
(BgL_typez00_bglt)(BGl_za2magicza2z00zztype_cachez00), 
(BgL_typez00_bglt)(BgL_toz00_1343)); 
return 
(obj_t)(BgL_auxz00_3390);} } } 
}



/* coerce!-conditional2746 */
obj_t BGl_coercez12zd2conditional2746zc0zzcoerce_coercez00(obj_t BgL_envz00_2805, obj_t BgL_nodez00_2806, obj_t BgL_callerz00_2807, obj_t BgL_toz00_2808)
{ AN_OBJECT;
{ /* ./Coerce/coerce.scm 204 */
{ 
BgL_conditionalz00_bglt BgL_nodez00_1327;obj_t BgL_callerz00_1328;obj_t BgL_toz00_1329;
{ /* ./Coerce/coerce.scm 205 */
BgL_conditionalz00_bglt BgL_auxz00_3481;
BgL_nodez00_1327 = 
(BgL_conditionalz00_bglt)(BgL_nodez00_2806); 
BgL_callerz00_1328 = BgL_callerz00_2807; 
BgL_toz00_1329 = BgL_toz00_2808; 
{ /* ./Coerce/coerce.scm 206 */
BgL_nodez00_bglt BgL_arg3491z00_1333;
{ /* ./Coerce/coerce.scm 206 */
BgL_nodez00_bglt BgL_arg3495z00_1334;
BgL_arg3495z00_1334 = 
(((BgL_conditionalz00_bglt)CREF(BgL_nodez00_1327))->BgL_testz00); 
{ /* ./Coerce/coerce.scm 206 */
BgL_nodez00_bglt BgL_res3828z00_2133;
{ /* ./Coerce/coerce.scm 206 */
BgL_typez00_bglt BgL_toz00_2107;
BgL_toz00_2107 = 
(BgL_typez00_bglt)(BGl_za2boolza2z00zztype_cachez00); 
{ /* ./Coerce/coerce.scm 206 */
obj_t BgL_method2713z00_2108;
{ /* ./Coerce/coerce.scm 206 */
BgL_objectz00_bglt BgL_objz00_2109;
BgL_objz00_2109 = 
(BgL_objectz00_bglt)(BgL_arg3495z00_1334); 
{ /* ./Coerce/coerce.scm 206 */
long BgL_objzd2classzd2numz00_2110;
BgL_objzd2classzd2numz00_2110 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2109); 
{ /* ./Coerce/coerce.scm 206 */
obj_t BgL_arg2017z00_2111;
{ /* ./Coerce/coerce.scm 206 */
int BgL_auxz00_3486;
BgL_auxz00_3486 = 
(int)(((long)1)); 
BgL_arg2017z00_2111 = 
PROCEDURE_REF(BGl_coercez12zd2envzc0zzcoerce_coercez00, BgL_auxz00_3486); } 
{ /* ./Coerce/coerce.scm 206 */
int BgL_offsetz00_2114;
BgL_offsetz00_2114 = 
(int)(BgL_objzd2classzd2numz00_2110); 
{ /* ./Coerce/coerce.scm 206 */
long BgL_offsetz00_2115;
{ /* ./Coerce/coerce.scm 206 */
long BgL_auxz00_3490;
BgL_auxz00_3490 = 
(long)(BgL_offsetz00_2114); 
BgL_offsetz00_2115 = 
(BgL_auxz00_3490-OBJECT_TYPE); } 
{ /* ./Coerce/coerce.scm 206 */
long BgL_modz00_2116;
{ /* ./Coerce/coerce.scm 206 */
int BgL_arg2028z00_2117;
BgL_arg2028z00_2117 = 
(int)(((long)8)); 
{ /* ./Coerce/coerce.scm 206 */
long BgL_n2z00_2125;
BgL_n2z00_2125 = 
(long)(BgL_arg2028z00_2117); 
BgL_modz00_2116 = 
(BgL_offsetz00_2115/BgL_n2z00_2125); } } 
{ /* ./Coerce/coerce.scm 206 */
long BgL_restz00_2118;
{ /* ./Coerce/coerce.scm 206 */
int BgL_arg2024z00_2119;
BgL_arg2024z00_2119 = 
(int)(((long)8)); 
{ /* ./Coerce/coerce.scm 206 */
long BgL_n2z00_2128;
BgL_n2z00_2128 = 
(long)(BgL_arg2024z00_2119); 
BgL_restz00_2118 = 
(BgL_offsetz00_2115%BgL_n2z00_2128); } } 
{ /* ./Coerce/coerce.scm 206 */

{ /* ./Coerce/coerce.scm 206 */
obj_t BgL_bucketz00_2120;
{ /* ./Coerce/coerce.scm 206 */
int BgL_kz00_2130;
BgL_kz00_2130 = 
(int)(BgL_modz00_2116); 
BgL_bucketz00_2120 = 
VECTOR_REF(BgL_arg2017z00_2111,BgL_kz00_2130); } 
{ /* ./Coerce/coerce.scm 206 */
int BgL_kz00_2132;
BgL_kz00_2132 = 
(int)(BgL_restz00_2118); 
BgL_method2713z00_2108 = 
VECTOR_REF(BgL_bucketz00_2120,BgL_kz00_2132); } } } } } } } } } } 
{ /* ./Coerce/coerce.scm 206 */
obj_t BgL_auxz00_3503;
BgL_auxz00_3503 = 
PROCEDURE_ENTRY(BgL_method2713z00_2108)(BgL_method2713z00_2108, 
(obj_t)(BgL_arg3495z00_1334), BgL_callerz00_1328, 
(obj_t)(BgL_toz00_2107), BEOA); 
BgL_res3828z00_2133 = 
(BgL_nodez00_bglt)(BgL_auxz00_3503); } } } 
BgL_arg3491z00_1333 = BgL_res3828z00_2133; } } 
{ /* ./Coerce/coerce.scm 206 */
BgL_conditionalz00_bglt BgL_obj2334z00_2134;BgL_nodez00_bglt BgL_val2333z00_2135;
BgL_obj2334z00_2134 = BgL_nodez00_1327; 
BgL_val2333z00_2135 = BgL_arg3491z00_1333; 
((((BgL_conditionalz00_bglt)CREF(BgL_obj2334z00_2134))->BgL_testz00) = ((BgL_nodez00_bglt)BgL_val2333z00_2135), BUNSPEC); } } 
{ /* ./Coerce/coerce.scm 207 */
BgL_nodez00_bglt BgL_arg3499z00_1335;
{ /* ./Coerce/coerce.scm 207 */
BgL_nodez00_bglt BgL_arg3502z00_1336;
BgL_arg3502z00_1336 = 
(((BgL_conditionalz00_bglt)CREF(BgL_nodez00_1327))->BgL_truez00); 
{ /* ./Coerce/coerce.scm 207 */
BgL_nodez00_bglt BgL_res3831z00_2165;
{ /* ./Coerce/coerce.scm 207 */
BgL_typez00_bglt BgL_toz00_2139;
BgL_toz00_2139 = 
(BgL_typez00_bglt)(BgL_toz00_1329); 
{ /* ./Coerce/coerce.scm 207 */
obj_t BgL_method2713z00_2140;
{ /* ./Coerce/coerce.scm 207 */
BgL_objectz00_bglt BgL_objz00_2141;
BgL_objz00_2141 = 
(BgL_objectz00_bglt)(BgL_arg3502z00_1336); 
{ /* ./Coerce/coerce.scm 207 */
long BgL_objzd2classzd2numz00_2142;
BgL_objzd2classzd2numz00_2142 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2141); 
{ /* ./Coerce/coerce.scm 207 */
obj_t BgL_arg2017z00_2143;
{ /* ./Coerce/coerce.scm 207 */
int BgL_auxz00_3514;
BgL_auxz00_3514 = 
(int)(((long)1)); 
BgL_arg2017z00_2143 = 
PROCEDURE_REF(BGl_coercez12zd2envzc0zzcoerce_coercez00, BgL_auxz00_3514); } 
{ /* ./Coerce/coerce.scm 207 */
int BgL_offsetz00_2146;
BgL_offsetz00_2146 = 
(int)(BgL_objzd2classzd2numz00_2142); 
{ /* ./Coerce/coerce.scm 207 */
long BgL_offsetz00_2147;
{ /* ./Coerce/coerce.scm 207 */
long BgL_auxz00_3518;
BgL_auxz00_3518 = 
(long)(BgL_offsetz00_2146); 
BgL_offsetz00_2147 = 
(BgL_auxz00_3518-OBJECT_TYPE); } 
{ /* ./Coerce/coerce.scm 207 */
long BgL_modz00_2148;
{ /* ./Coerce/coerce.scm 207 */
int BgL_arg2028z00_2149;
BgL_arg2028z00_2149 = 
(int)(((long)8)); 
{ /* ./Coerce/coerce.scm 207 */
long BgL_n2z00_2157;
BgL_n2z00_2157 = 
(long)(BgL_arg2028z00_2149); 
BgL_modz00_2148 = 
(BgL_offsetz00_2147/BgL_n2z00_2157); } } 
{ /* ./Coerce/coerce.scm 207 */
long BgL_restz00_2150;
{ /* ./Coerce/coerce.scm 207 */
int BgL_arg2024z00_2151;
BgL_arg2024z00_2151 = 
(int)(((long)8)); 
{ /* ./Coerce/coerce.scm 207 */
long BgL_n2z00_2160;
BgL_n2z00_2160 = 
(long)(BgL_arg2024z00_2151); 
BgL_restz00_2150 = 
(BgL_offsetz00_2147%BgL_n2z00_2160); } } 
{ /* ./Coerce/coerce.scm 207 */

{ /* ./Coerce/coerce.scm 207 */
obj_t BgL_bucketz00_2152;
{ /* ./Coerce/coerce.scm 207 */
int BgL_kz00_2162;
BgL_kz00_2162 = 
(int)(BgL_modz00_2148); 
BgL_bucketz00_2152 = 
VECTOR_REF(BgL_arg2017z00_2143,BgL_kz00_2162); } 
{ /* ./Coerce/coerce.scm 207 */
int BgL_kz00_2164;
BgL_kz00_2164 = 
(int)(BgL_restz00_2150); 
BgL_method2713z00_2140 = 
VECTOR_REF(BgL_bucketz00_2152,BgL_kz00_2164); } } } } } } } } } } 
{ /* ./Coerce/coerce.scm 207 */
obj_t BgL_auxz00_3531;
BgL_auxz00_3531 = 
PROCEDURE_ENTRY(BgL_method2713z00_2140)(BgL_method2713z00_2140, 
(obj_t)(BgL_arg3502z00_1336), BgL_callerz00_1328, 
(obj_t)(BgL_toz00_2139), BEOA); 
BgL_res3831z00_2165 = 
(BgL_nodez00_bglt)(BgL_auxz00_3531); } } } 
BgL_arg3499z00_1335 = BgL_res3831z00_2165; } } 
{ /* ./Coerce/coerce.scm 207 */
BgL_conditionalz00_bglt BgL_obj2337z00_2166;BgL_nodez00_bglt BgL_val2336z00_2167;
BgL_obj2337z00_2166 = BgL_nodez00_1327; 
BgL_val2336z00_2167 = BgL_arg3499z00_1335; 
((((BgL_conditionalz00_bglt)CREF(BgL_obj2337z00_2166))->BgL_truez00) = ((BgL_nodez00_bglt)BgL_val2336z00_2167), BUNSPEC); } } 
{ /* ./Coerce/coerce.scm 208 */
BgL_nodez00_bglt BgL_arg3506z00_1337;
{ /* ./Coerce/coerce.scm 208 */
BgL_nodez00_bglt BgL_arg3509z00_1338;
BgL_arg3509z00_1338 = 
(((BgL_conditionalz00_bglt)CREF(BgL_nodez00_1327))->BgL_falsez00); 
{ /* ./Coerce/coerce.scm 208 */
BgL_nodez00_bglt BgL_res3834z00_2197;
{ /* ./Coerce/coerce.scm 208 */
BgL_typez00_bglt BgL_toz00_2171;
BgL_toz00_2171 = 
(BgL_typez00_bglt)(BgL_toz00_1329); 
{ /* ./Coerce/coerce.scm 208 */
obj_t BgL_method2713z00_2172;
{ /* ./Coerce/coerce.scm 208 */
BgL_objectz00_bglt BgL_objz00_2173;
BgL_objz00_2173 = 
(BgL_objectz00_bglt)(BgL_arg3509z00_1338); 
{ /* ./Coerce/coerce.scm 208 */
long BgL_objzd2classzd2numz00_2174;
BgL_objzd2classzd2numz00_2174 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2173); 
{ /* ./Coerce/coerce.scm 208 */
obj_t BgL_arg2017z00_2175;
{ /* ./Coerce/coerce.scm 208 */
int BgL_auxz00_3542;
BgL_auxz00_3542 = 
(int)(((long)1)); 
BgL_arg2017z00_2175 = 
PROCEDURE_REF(BGl_coercez12zd2envzc0zzcoerce_coercez00, BgL_auxz00_3542); } 
{ /* ./Coerce/coerce.scm 208 */
int BgL_offsetz00_2178;
BgL_offsetz00_2178 = 
(int)(BgL_objzd2classzd2numz00_2174); 
{ /* ./Coerce/coerce.scm 208 */
long BgL_offsetz00_2179;
{ /* ./Coerce/coerce.scm 208 */
long BgL_auxz00_3546;
BgL_auxz00_3546 = 
(long)(BgL_offsetz00_2178); 
BgL_offsetz00_2179 = 
(BgL_auxz00_3546-OBJECT_TYPE); } 
{ /* ./Coerce/coerce.scm 208 */
long BgL_modz00_2180;
{ /* ./Coerce/coerce.scm 208 */
int BgL_arg2028z00_2181;
BgL_arg2028z00_2181 = 
(int)(((long)8)); 
{ /* ./Coerce/coerce.scm 208 */
long BgL_n2z00_2189;
BgL_n2z00_2189 = 
(long)(BgL_arg2028z00_2181); 
BgL_modz00_2180 = 
(BgL_offsetz00_2179/BgL_n2z00_2189); } } 
{ /* ./Coerce/coerce.scm 208 */
long BgL_restz00_2182;
{ /* ./Coerce/coerce.scm 208 */
int BgL_arg2024z00_2183;
BgL_arg2024z00_2183 = 
(int)(((long)8)); 
{ /* ./Coerce/coerce.scm 208 */
long BgL_n2z00_2192;
BgL_n2z00_2192 = 
(long)(BgL_arg2024z00_2183); 
BgL_restz00_2182 = 
(BgL_offsetz00_2179%BgL_n2z00_2192); } } 
{ /* ./Coerce/coerce.scm 208 */

{ /* ./Coerce/coerce.scm 208 */
obj_t BgL_bucketz00_2184;
{ /* ./Coerce/coerce.scm 208 */
int BgL_kz00_2194;
BgL_kz00_2194 = 
(int)(BgL_modz00_2180); 
BgL_bucketz00_2184 = 
VECTOR_REF(BgL_arg2017z00_2175,BgL_kz00_2194); } 
{ /* ./Coerce/coerce.scm 208 */
int BgL_kz00_2196;
BgL_kz00_2196 = 
(int)(BgL_restz00_2182); 
BgL_method2713z00_2172 = 
VECTOR_REF(BgL_bucketz00_2184,BgL_kz00_2196); } } } } } } } } } } 
{ /* ./Coerce/coerce.scm 208 */
obj_t BgL_auxz00_3559;
BgL_auxz00_3559 = 
PROCEDURE_ENTRY(BgL_method2713z00_2172)(BgL_method2713z00_2172, 
(obj_t)(BgL_arg3509z00_1338), BgL_callerz00_1328, 
(obj_t)(BgL_toz00_2171), BEOA); 
BgL_res3834z00_2197 = 
(BgL_nodez00_bglt)(BgL_auxz00_3559); } } } 
BgL_arg3506z00_1337 = BgL_res3834z00_2197; } } 
{ /* ./Coerce/coerce.scm 208 */
BgL_conditionalz00_bglt BgL_obj2340z00_2198;BgL_nodez00_bglt BgL_val2339z00_2199;
BgL_obj2340z00_2198 = BgL_nodez00_1327; 
BgL_val2339z00_2199 = BgL_arg3506z00_1337; 
((((BgL_conditionalz00_bglt)CREF(BgL_obj2340z00_2198))->BgL_falsez00) = ((BgL_nodez00_bglt)BgL_val2339z00_2199), BUNSPEC); } } 
{ /* ./Coerce/coerce.scm 209 */
BgL_nodez00_bglt BgL_obj1563z00_2200;BgL_typez00_bglt BgL_val1562z00_2201;
BgL_obj1563z00_2200 = 
(BgL_nodez00_bglt)(BgL_nodez00_1327); 
BgL_val1562z00_2201 = 
(BgL_typez00_bglt)(BgL_toz00_1329); 
((((BgL_nodez00_bglt)CREF(BgL_obj1563z00_2200))->BgL_typez00) = ((BgL_typez00_bglt)BgL_val1562z00_2201), BUNSPEC); } 
BgL_auxz00_3481 = BgL_nodez00_1327; 
return 
(obj_t)(BgL_auxz00_3481);} } } 
}



/* coerce!-setq2744 */
obj_t BGl_coercez12zd2setq2744zc0zzcoerce_coercez00(obj_t BgL_envz00_2809, obj_t BgL_nodez00_2810, obj_t BgL_callerz00_2811, obj_t BgL_toz00_2812)
{ AN_OBJECT;
{ /* ./Coerce/coerce.scm 196 */
{ 
BgL_setqz00_bglt BgL_nodez00_1314;obj_t BgL_callerz00_1315;obj_t BgL_toz00_1316;
{ /* ./Coerce/coerce.scm 197 */
BgL_nodez00_bglt BgL_auxz00_3571;
BgL_nodez00_1314 = 
(BgL_setqz00_bglt)(BgL_nodez00_2810); 
BgL_callerz00_1315 = BgL_callerz00_2811; 
BgL_toz00_1316 = BgL_toz00_2812; 
{ /* ./Coerce/coerce.scm 198 */
BgL_nodez00_bglt BgL_arg3469z00_1320;
{ /* ./Coerce/coerce.scm 198 */
BgL_nodez00_bglt BgL_arg3472z00_1321;BgL_typez00_bglt BgL_arg3473z00_1322;
BgL_arg3472z00_1321 = 
(((BgL_setqz00_bglt)CREF(BgL_nodez00_1314))->BgL_valuez00); 
{ /* ./Coerce/coerce.scm 198 */
BgL_variablez00_bglt BgL_arg3477z00_1323;
{ /* ./Coerce/coerce.scm 198 */
BgL_varz00_bglt BgL_arg3480z00_1324;
BgL_arg3480z00_1324 = 
(((BgL_setqz00_bglt)CREF(BgL_nodez00_1314))->BgL_varz00); 
BgL_arg3477z00_1323 = 
(((BgL_varz00_bglt)CREF(BgL_arg3480z00_1324))->BgL_variablez00); } 
BgL_arg3473z00_1322 = 
(((BgL_variablez00_bglt)CREF(BgL_arg3477z00_1323))->BgL_typez00); } 
{ /* ./Coerce/coerce.scm 198 */
BgL_nodez00_bglt BgL_res3825z00_2101;
{ /* ./Coerce/coerce.scm 198 */
obj_t BgL_method2713z00_2076;
{ /* ./Coerce/coerce.scm 198 */
BgL_objectz00_bglt BgL_objz00_2077;
BgL_objz00_2077 = 
(BgL_objectz00_bglt)(BgL_arg3472z00_1321); 
{ /* ./Coerce/coerce.scm 198 */
long BgL_objzd2classzd2numz00_2078;
BgL_objzd2classzd2numz00_2078 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2077); 
{ /* ./Coerce/coerce.scm 198 */
obj_t BgL_arg2017z00_2079;
{ /* ./Coerce/coerce.scm 198 */
int BgL_auxz00_3578;
BgL_auxz00_3578 = 
(int)(((long)1)); 
BgL_arg2017z00_2079 = 
PROCEDURE_REF(BGl_coercez12zd2envzc0zzcoerce_coercez00, BgL_auxz00_3578); } 
{ /* ./Coerce/coerce.scm 198 */
int BgL_offsetz00_2082;
BgL_offsetz00_2082 = 
(int)(BgL_objzd2classzd2numz00_2078); 
{ /* ./Coerce/coerce.scm 198 */
long BgL_offsetz00_2083;
{ /* ./Coerce/coerce.scm 198 */
long BgL_auxz00_3582;
BgL_auxz00_3582 = 
(long)(BgL_offsetz00_2082); 
BgL_offsetz00_2083 = 
(BgL_auxz00_3582-OBJECT_TYPE); } 
{ /* ./Coerce/coerce.scm 198 */
long BgL_modz00_2084;
{ /* ./Coerce/coerce.scm 198 */
int BgL_arg2028z00_2085;
BgL_arg2028z00_2085 = 
(int)(((long)8)); 
{ /* ./Coerce/coerce.scm 198 */
long BgL_n2z00_2093;
BgL_n2z00_2093 = 
(long)(BgL_arg2028z00_2085); 
BgL_modz00_2084 = 
(BgL_offsetz00_2083/BgL_n2z00_2093); } } 
{ /* ./Coerce/coerce.scm 198 */
long BgL_restz00_2086;
{ /* ./Coerce/coerce.scm 198 */
int BgL_arg2024z00_2087;
BgL_arg2024z00_2087 = 
(int)(((long)8)); 
{ /* ./Coerce/coerce.scm 198 */
long BgL_n2z00_2096;
BgL_n2z00_2096 = 
(long)(BgL_arg2024z00_2087); 
BgL_restz00_2086 = 
(BgL_offsetz00_2083%BgL_n2z00_2096); } } 
{ /* ./Coerce/coerce.scm 198 */

{ /* ./Coerce/coerce.scm 198 */
obj_t BgL_bucketz00_2088;
{ /* ./Coerce/coerce.scm 198 */
int BgL_kz00_2098;
BgL_kz00_2098 = 
(int)(BgL_modz00_2084); 
BgL_bucketz00_2088 = 
VECTOR_REF(BgL_arg2017z00_2079,BgL_kz00_2098); } 
{ /* ./Coerce/coerce.scm 198 */
int BgL_kz00_2100;
BgL_kz00_2100 = 
(int)(BgL_restz00_2086); 
BgL_method2713z00_2076 = 
VECTOR_REF(BgL_bucketz00_2088,BgL_kz00_2100); } } } } } } } } } } 
{ /* ./Coerce/coerce.scm 198 */
obj_t BgL_auxz00_3595;
BgL_auxz00_3595 = 
PROCEDURE_ENTRY(BgL_method2713z00_2076)(BgL_method2713z00_2076, 
(obj_t)(BgL_arg3472z00_1321), BgL_callerz00_1315, 
(obj_t)(BgL_arg3473z00_1322), BEOA); 
BgL_res3825z00_2101 = 
(BgL_nodez00_bglt)(BgL_auxz00_3595); } } 
BgL_arg3469z00_1320 = BgL_res3825z00_2101; } } 
{ /* ./Coerce/coerce.scm 198 */
BgL_setqz00_bglt BgL_obj2305z00_2102;BgL_nodez00_bglt BgL_val2304z00_2103;
BgL_obj2305z00_2102 = BgL_nodez00_1314; 
BgL_val2304z00_2103 = BgL_arg3469z00_1320; 
((((BgL_setqz00_bglt)CREF(BgL_obj2305z00_2102))->BgL_valuez00) = ((BgL_nodez00_bglt)BgL_val2304z00_2103), BUNSPEC); } } 
BgL_auxz00_3571 = 
BGl_convertz12z12zzcoerce_convertz00(
(BgL_nodez00_bglt)(BgL_nodez00_1314), 
(BgL_typez00_bglt)(BGl_za2unspecza2z00zztype_cachez00), 
(BgL_typez00_bglt)(BgL_toz00_1316)); 
return 
(obj_t)(BgL_auxz00_3571);} } } 
}



/* coerce!-cast2742 */
obj_t BGl_coercez12zd2cast2742zc0zzcoerce_coercez00(obj_t BgL_envz00_2813, obj_t BgL_nodez00_2814, obj_t BgL_callerz00_2815, obj_t BgL_toz00_2816)
{ AN_OBJECT;
{ /* ./Coerce/coerce.scm 186 */
{ 
BgL_castz00_bglt BgL_nodez00_1303;obj_t BgL_callerz00_1304;obj_t BgL_toz00_1305;
{ /* ./Coerce/coerce.scm 187 */
BgL_nodez00_bglt BgL_auxz00_3608;
BgL_nodez00_1303 = 
(BgL_castz00_bglt)(BgL_nodez00_2814); 
BgL_callerz00_1304 = BgL_callerz00_2815; 
BgL_toz00_1305 = BgL_toz00_2816; 
{ /* ./Coerce/coerce.scm 190 */
BgL_nodez00_bglt BgL_arg3452z00_1309;
{ /* ./Coerce/coerce.scm 190 */
BgL_nodez00_bglt BgL_arg3455z00_1310;
BgL_arg3455z00_1310 = 
(((BgL_castz00_bglt)CREF(BgL_nodez00_1303))->BgL_argz00); 
{ /* ./Coerce/coerce.scm 190 */
BgL_nodez00_bglt BgL_res3822z00_2065;
{ /* ./Coerce/coerce.scm 190 */
BgL_typez00_bglt BgL_toz00_2039;
BgL_toz00_2039 = 
(BgL_typez00_bglt)(BgL_toz00_1305); 
{ /* ./Coerce/coerce.scm 190 */
obj_t BgL_method2713z00_2040;
{ /* ./Coerce/coerce.scm 190 */
BgL_objectz00_bglt BgL_objz00_2041;
BgL_objz00_2041 = 
(BgL_objectz00_bglt)(BgL_arg3455z00_1310); 
{ /* ./Coerce/coerce.scm 190 */
long BgL_objzd2classzd2numz00_2042;
BgL_objzd2classzd2numz00_2042 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2041); 
{ /* ./Coerce/coerce.scm 190 */
obj_t BgL_arg2017z00_2043;
{ /* ./Coerce/coerce.scm 190 */
int BgL_auxz00_3613;
BgL_auxz00_3613 = 
(int)(((long)1)); 
BgL_arg2017z00_2043 = 
PROCEDURE_REF(BGl_coercez12zd2envzc0zzcoerce_coercez00, BgL_auxz00_3613); } 
{ /* ./Coerce/coerce.scm 190 */
int BgL_offsetz00_2046;
BgL_offsetz00_2046 = 
(int)(BgL_objzd2classzd2numz00_2042); 
{ /* ./Coerce/coerce.scm 190 */
long BgL_offsetz00_2047;
{ /* ./Coerce/coerce.scm 190 */
long BgL_auxz00_3617;
BgL_auxz00_3617 = 
(long)(BgL_offsetz00_2046); 
BgL_offsetz00_2047 = 
(BgL_auxz00_3617-OBJECT_TYPE); } 
{ /* ./Coerce/coerce.scm 190 */
long BgL_modz00_2048;
{ /* ./Coerce/coerce.scm 190 */
int BgL_arg2028z00_2049;
BgL_arg2028z00_2049 = 
(int)(((long)8)); 
{ /* ./Coerce/coerce.scm 190 */
long BgL_n2z00_2057;
BgL_n2z00_2057 = 
(long)(BgL_arg2028z00_2049); 
BgL_modz00_2048 = 
(BgL_offsetz00_2047/BgL_n2z00_2057); } } 
{ /* ./Coerce/coerce.scm 190 */
long BgL_restz00_2050;
{ /* ./Coerce/coerce.scm 190 */
int BgL_arg2024z00_2051;
BgL_arg2024z00_2051 = 
(int)(((long)8)); 
{ /* ./Coerce/coerce.scm 190 */
long BgL_n2z00_2060;
BgL_n2z00_2060 = 
(long)(BgL_arg2024z00_2051); 
BgL_restz00_2050 = 
(BgL_offsetz00_2047%BgL_n2z00_2060); } } 
{ /* ./Coerce/coerce.scm 190 */

{ /* ./Coerce/coerce.scm 190 */
obj_t BgL_bucketz00_2052;
{ /* ./Coerce/coerce.scm 190 */
int BgL_kz00_2062;
BgL_kz00_2062 = 
(int)(BgL_modz00_2048); 
BgL_bucketz00_2052 = 
VECTOR_REF(BgL_arg2017z00_2043,BgL_kz00_2062); } 
{ /* ./Coerce/coerce.scm 190 */
int BgL_kz00_2064;
BgL_kz00_2064 = 
(int)(BgL_restz00_2050); 
BgL_method2713z00_2040 = 
VECTOR_REF(BgL_bucketz00_2052,BgL_kz00_2064); } } } } } } } } } } 
{ /* ./Coerce/coerce.scm 190 */
obj_t BgL_auxz00_3630;
BgL_auxz00_3630 = 
PROCEDURE_ENTRY(BgL_method2713z00_2040)(BgL_method2713z00_2040, 
(obj_t)(BgL_arg3455z00_1310), BgL_callerz00_1304, 
(obj_t)(BgL_toz00_2039), BEOA); 
BgL_res3822z00_2065 = 
(BgL_nodez00_bglt)(BgL_auxz00_3630); } } } 
BgL_arg3452z00_1309 = BgL_res3822z00_2065; } } 
{ /* ./Coerce/coerce.scm 190 */
BgL_castz00_bglt BgL_obj2282z00_2066;BgL_nodez00_bglt BgL_val2281z00_2067;
BgL_obj2282z00_2066 = BgL_nodez00_1303; 
BgL_val2281z00_2067 = BgL_arg3452z00_1309; 
((((BgL_castz00_bglt)CREF(BgL_obj2282z00_2066))->BgL_argz00) = ((BgL_nodez00_bglt)BgL_val2281z00_2067), BUNSPEC); } } 
{ /* ./Coerce/coerce.scm 191 */
BgL_typez00_bglt BgL_arg3459z00_1311;
{ /* ./Coerce/coerce.scm 191 */
BgL_nodez00_bglt BgL_obj1561z00_2068;
BgL_obj1561z00_2068 = 
(BgL_nodez00_bglt)(BgL_nodez00_1303); 
BgL_arg3459z00_1311 = 
(((BgL_nodez00_bglt)CREF(BgL_obj1561z00_2068))->BgL_typez00); } 
BgL_auxz00_3608 = 
BGl_convertz12z12zzcoerce_convertz00(
(BgL_nodez00_bglt)(BgL_nodez00_1303), BgL_arg3459z00_1311, 
(BgL_typez00_bglt)(BgL_toz00_1305)); } 
return 
(obj_t)(BgL_auxz00_3608);} } } 
}



/* coerce!-vlength2740 */
obj_t BGl_coercez12zd2vlength2740zc0zzcoerce_coercez00(obj_t BgL_envz00_2817, obj_t BgL_nodez00_2818, obj_t BgL_callerz00_2819, obj_t BgL_toz00_2820)
{ AN_OBJECT;
{ /* ./Coerce/coerce.scm 178 */
{ 
BgL_vlengthz00_bglt BgL_nodez00_1289;obj_t BgL_callerz00_1290;obj_t BgL_toz00_1291;
{ /* ./Coerce/coerce.scm 179 */
BgL_nodez00_bglt BgL_auxz00_3644;
BgL_nodez00_1289 = 
(BgL_vlengthz00_bglt)(BgL_nodez00_2818); 
BgL_callerz00_1290 = BgL_callerz00_2819; 
BgL_toz00_1291 = BgL_toz00_2820; 
{ /* ./Coerce/coerce.scm 180 */
obj_t BgL_arg3428z00_1295;BgL_nodez00_bglt BgL_arg3429z00_1296;
{ /* ./Coerce/coerce.scm 180 */
BgL_externz00_bglt BgL_obj1817z00_2000;
BgL_obj1817z00_2000 = 
(BgL_externz00_bglt)(BgL_nodez00_1289); 
BgL_arg3428z00_1295 = 
(((BgL_externz00_bglt)CREF(BgL_obj1817z00_2000))->BgL_exprza2za2); } 
{ /* ./Coerce/coerce.scm 180 */
obj_t BgL_arg3433z00_1297;BgL_typez00_bglt BgL_arg3434z00_1298;
{ /* ./Coerce/coerce.scm 180 */
obj_t BgL_auxz00_3647;
{ /* ./Coerce/coerce.scm 180 */
BgL_externz00_bglt BgL_obj1817z00_2001;
BgL_obj1817z00_2001 = 
(BgL_externz00_bglt)(BgL_nodez00_1289); 
BgL_auxz00_3647 = 
(((BgL_externz00_bglt)CREF(BgL_obj1817z00_2001))->BgL_exprza2za2); } 
BgL_arg3433z00_1297 = 
CAR(BgL_auxz00_3647); } 
BgL_arg3434z00_1298 = 
(((BgL_vlengthz00_bglt)CREF(BgL_nodez00_1289))->BgL_vtypez00); 
{ /* ./Coerce/coerce.scm 180 */
BgL_nodez00_bglt BgL_res3819z00_2032;
{ /* ./Coerce/coerce.scm 180 */
BgL_nodez00_bglt BgL_nodez00_2004;
BgL_nodez00_2004 = 
(BgL_nodez00_bglt)(BgL_arg3433z00_1297); 
{ /* ./Coerce/coerce.scm 180 */
obj_t BgL_method2713z00_2007;
{ /* ./Coerce/coerce.scm 180 */
BgL_objectz00_bglt BgL_objz00_2008;
BgL_objz00_2008 = 
(BgL_objectz00_bglt)(BgL_nodez00_2004); 
{ /* ./Coerce/coerce.scm 180 */
long BgL_objzd2classzd2numz00_2009;
BgL_objzd2classzd2numz00_2009 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2008); 
{ /* ./Coerce/coerce.scm 180 */
obj_t BgL_arg2017z00_2010;
{ /* ./Coerce/coerce.scm 180 */
int BgL_auxz00_3655;
BgL_auxz00_3655 = 
(int)(((long)1)); 
BgL_arg2017z00_2010 = 
PROCEDURE_REF(BGl_coercez12zd2envzc0zzcoerce_coercez00, BgL_auxz00_3655); } 
{ /* ./Coerce/coerce.scm 180 */
int BgL_offsetz00_2013;
BgL_offsetz00_2013 = 
(int)(BgL_objzd2classzd2numz00_2009); 
{ /* ./Coerce/coerce.scm 180 */
long BgL_offsetz00_2014;
{ /* ./Coerce/coerce.scm 180 */
long BgL_auxz00_3659;
BgL_auxz00_3659 = 
(long)(BgL_offsetz00_2013); 
BgL_offsetz00_2014 = 
(BgL_auxz00_3659-OBJECT_TYPE); } 
{ /* ./Coerce/coerce.scm 180 */
long BgL_modz00_2015;
{ /* ./Coerce/coerce.scm 180 */
int BgL_arg2028z00_2016;
BgL_arg2028z00_2016 = 
(int)(((long)8)); 
{ /* ./Coerce/coerce.scm 180 */
long BgL_n2z00_2024;
BgL_n2z00_2024 = 
(long)(BgL_arg2028z00_2016); 
BgL_modz00_2015 = 
(BgL_offsetz00_2014/BgL_n2z00_2024); } } 
{ /* ./Coerce/coerce.scm 180 */
long BgL_restz00_2017;
{ /* ./Coerce/coerce.scm 180 */
int BgL_arg2024z00_2018;
BgL_arg2024z00_2018 = 
(int)(((long)8)); 
{ /* ./Coerce/coerce.scm 180 */
long BgL_n2z00_2027;
BgL_n2z00_2027 = 
(long)(BgL_arg2024z00_2018); 
BgL_restz00_2017 = 
(BgL_offsetz00_2014%BgL_n2z00_2027); } } 
{ /* ./Coerce/coerce.scm 180 */

{ /* ./Coerce/coerce.scm 180 */
obj_t BgL_bucketz00_2019;
{ /* ./Coerce/coerce.scm 180 */
int BgL_kz00_2029;
BgL_kz00_2029 = 
(int)(BgL_modz00_2015); 
BgL_bucketz00_2019 = 
VECTOR_REF(BgL_arg2017z00_2010,BgL_kz00_2029); } 
{ /* ./Coerce/coerce.scm 180 */
int BgL_kz00_2031;
BgL_kz00_2031 = 
(int)(BgL_restz00_2017); 
BgL_method2713z00_2007 = 
VECTOR_REF(BgL_bucketz00_2019,BgL_kz00_2031); } } } } } } } } } } 
{ /* ./Coerce/coerce.scm 180 */
obj_t BgL_auxz00_3672;
BgL_auxz00_3672 = 
PROCEDURE_ENTRY(BgL_method2713z00_2007)(BgL_method2713z00_2007, 
(obj_t)(BgL_nodez00_2004), BgL_callerz00_1290, 
(obj_t)(BgL_arg3434z00_1298), BEOA); 
BgL_res3819z00_2032 = 
(BgL_nodez00_bglt)(BgL_auxz00_3672); } } } 
BgL_arg3429z00_1296 = BgL_res3819z00_2032; } } 
{ /* ./Coerce/coerce.scm 180 */
obj_t BgL_objz00_2034;
BgL_objz00_2034 = 
(obj_t)(BgL_arg3429z00_1296); 
SET_CAR(BgL_arg3428z00_1295, BgL_objz00_2034); } } 
{ /* ./Coerce/coerce.scm 181 */
BgL_typez00_bglt BgL_arg3442z00_1300;
{ /* ./Coerce/coerce.scm 181 */
BgL_nodez00_bglt BgL_obj1561z00_2035;
BgL_obj1561z00_2035 = 
(BgL_nodez00_bglt)(BgL_nodez00_1289); 
BgL_arg3442z00_1300 = 
(((BgL_nodez00_bglt)CREF(BgL_obj1561z00_2035))->BgL_typez00); } 
BgL_auxz00_3644 = 
BGl_convertz12z12zzcoerce_convertz00(
(BgL_nodez00_bglt)(BgL_nodez00_1289), BgL_arg3442z00_1300, 
(BgL_typez00_bglt)(BgL_toz00_1291)); } 
return 
(obj_t)(BgL_auxz00_3644);} } } 
}



/* coerce!-vset!2737 */
obj_t BGl_coercez12zd2vsetz122737zd2zzcoerce_coercez00(obj_t BgL_envz00_2821, obj_t BgL_nodez00_2822, obj_t BgL_callerz00_2823, obj_t BgL_toz00_2824)
{ AN_OBJECT;
{ /* ./Coerce/coerce.scm 166 */
{ 
BgL_vsetz12z12_bglt BgL_nodez00_1261;obj_t BgL_callerz00_1262;obj_t BgL_toz00_1263;
{ /* ./Coerce/coerce.scm 167 */
BgL_nodez00_bglt BgL_auxz00_3687;
BgL_nodez00_1261 = 
(BgL_vsetz12z12_bglt)(BgL_nodez00_2822); 
BgL_callerz00_1262 = BgL_callerz00_2823; 
BgL_toz00_1263 = BgL_toz00_2824; 
{ /* ./Coerce/coerce.scm 169 */
obj_t BgL_ftypez00_1267;
{ /* ./Coerce/coerce.scm 169 */
bool_t BgL_test3415z00_1285;
{ /* ./Coerce/coerce.scm 169 */
BgL_typez00_bglt BgL_arg3418z00_1286;
BgL_arg3418z00_1286 = 
(((BgL_vsetz12z12_bglt)CREF(BgL_nodez00_1261))->BgL_ftypez00); 
{ /* ./Coerce/coerce.scm 169 */
obj_t BgL_auxz00_3689;
BgL_auxz00_3689 = 
(obj_t)(BgL_arg3418z00_1286); 
BgL_test3415z00_1285 = 
(BgL_auxz00_3689==BGl_za2_za2z00zztype_cachez00); } } 
if(BgL_test3415z00_1285)
{ /* ./Coerce/coerce.scm 169 */
BgL_ftypez00_1267 = BGl_za2objza2z00zztype_cachez00; }  else 
{ /* ./Coerce/coerce.scm 169 */
BgL_typez00_bglt BgL_auxz00_3693;
BgL_auxz00_3693 = 
(((BgL_vsetz12z12_bglt)CREF(BgL_nodez00_1261))->BgL_ftypez00); 
BgL_ftypez00_1267 = 
(obj_t)(BgL_auxz00_3693); } } 
{ /* ./Coerce/coerce.scm 170 */
obj_t BgL_arg3366z00_1268;BgL_nodez00_bglt BgL_arg3367z00_1269;
{ /* ./Coerce/coerce.scm 170 */
BgL_externz00_bglt BgL_obj1817z00_1882;
BgL_obj1817z00_1882 = 
(BgL_externz00_bglt)(BgL_nodez00_1261); 
BgL_arg3366z00_1268 = 
(((BgL_externz00_bglt)CREF(BgL_obj1817z00_1882))->BgL_exprza2za2); } 
{ /* ./Coerce/coerce.scm 170 */
obj_t BgL_arg3371z00_1270;BgL_typez00_bglt BgL_arg3372z00_1271;
{ /* ./Coerce/coerce.scm 170 */
obj_t BgL_auxz00_3698;
{ /* ./Coerce/coerce.scm 170 */
BgL_externz00_bglt BgL_obj1817z00_1883;
BgL_obj1817z00_1883 = 
(BgL_externz00_bglt)(BgL_nodez00_1261); 
BgL_auxz00_3698 = 
(((BgL_externz00_bglt)CREF(BgL_obj1817z00_1883))->BgL_exprza2za2); } 
BgL_arg3371z00_1270 = 
CAR(BgL_auxz00_3698); } 
BgL_arg3372z00_1271 = 
(((BgL_vsetz12z12_bglt)CREF(BgL_nodez00_1261))->BgL_vtypez00); 
{ /* ./Coerce/coerce.scm 170 */
BgL_nodez00_bglt BgL_res3810z00_1914;
{ /* ./Coerce/coerce.scm 170 */
BgL_nodez00_bglt BgL_nodez00_1886;
BgL_nodez00_1886 = 
(BgL_nodez00_bglt)(BgL_arg3371z00_1270); 
{ /* ./Coerce/coerce.scm 170 */
obj_t BgL_method2713z00_1889;
{ /* ./Coerce/coerce.scm 170 */
BgL_objectz00_bglt BgL_objz00_1890;
BgL_objz00_1890 = 
(BgL_objectz00_bglt)(BgL_nodez00_1886); 
{ /* ./Coerce/coerce.scm 170 */
long BgL_objzd2classzd2numz00_1891;
BgL_objzd2classzd2numz00_1891 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1890); 
{ /* ./Coerce/coerce.scm 170 */
obj_t BgL_arg2017z00_1892;
{ /* ./Coerce/coerce.scm 170 */
int BgL_auxz00_3706;
BgL_auxz00_3706 = 
(int)(((long)1)); 
BgL_arg2017z00_1892 = 
PROCEDURE_REF(BGl_coercez12zd2envzc0zzcoerce_coercez00, BgL_auxz00_3706); } 
{ /* ./Coerce/coerce.scm 170 */
int BgL_offsetz00_1895;
BgL_offsetz00_1895 = 
(int)(BgL_objzd2classzd2numz00_1891); 
{ /* ./Coerce/coerce.scm 170 */
long BgL_offsetz00_1896;
{ /* ./Coerce/coerce.scm 170 */
long BgL_auxz00_3710;
BgL_auxz00_3710 = 
(long)(BgL_offsetz00_1895); 
BgL_offsetz00_1896 = 
(BgL_auxz00_3710-OBJECT_TYPE); } 
{ /* ./Coerce/coerce.scm 170 */
long BgL_modz00_1897;
{ /* ./Coerce/coerce.scm 170 */
int BgL_arg2028z00_1898;
BgL_arg2028z00_1898 = 
(int)(((long)8)); 
{ /* ./Coerce/coerce.scm 170 */
long BgL_n2z00_1906;
BgL_n2z00_1906 = 
(long)(BgL_arg2028z00_1898); 
BgL_modz00_1897 = 
(BgL_offsetz00_1896/BgL_n2z00_1906); } } 
{ /* ./Coerce/coerce.scm 170 */
long BgL_restz00_1899;
{ /* ./Coerce/coerce.scm 170 */
int BgL_arg2024z00_1900;
BgL_arg2024z00_1900 = 
(int)(((long)8)); 
{ /* ./Coerce/coerce.scm 170 */
long BgL_n2z00_1909;
BgL_n2z00_1909 = 
(long)(BgL_arg2024z00_1900); 
BgL_restz00_1899 = 
(BgL_offsetz00_1896%BgL_n2z00_1909); } } 
{ /* ./Coerce/coerce.scm 170 */

{ /* ./Coerce/coerce.scm 170 */
obj_t BgL_bucketz00_1901;
{ /* ./Coerce/coerce.scm 170 */
int BgL_kz00_1911;
BgL_kz00_1911 = 
(int)(BgL_modz00_1897); 
BgL_bucketz00_1901 = 
VECTOR_REF(BgL_arg2017z00_1892,BgL_kz00_1911); } 
{ /* ./Coerce/coerce.scm 170 */
int BgL_kz00_1913;
BgL_kz00_1913 = 
(int)(BgL_restz00_1899); 
BgL_method2713z00_1889 = 
VECTOR_REF(BgL_bucketz00_1901,BgL_kz00_1913); } } } } } } } } } } 
{ /* ./Coerce/coerce.scm 170 */
obj_t BgL_auxz00_3723;
BgL_auxz00_3723 = 
PROCEDURE_ENTRY(BgL_method2713z00_1889)(BgL_method2713z00_1889, 
(obj_t)(BgL_nodez00_1886), BgL_callerz00_1262, 
(obj_t)(BgL_arg3372z00_1271), BEOA); 
BgL_res3810z00_1914 = 
(BgL_nodez00_bglt)(BgL_auxz00_3723); } } } 
BgL_arg3367z00_1269 = BgL_res3810z00_1914; } } 
{ /* ./Coerce/coerce.scm 170 */
obj_t BgL_objz00_1916;
BgL_objz00_1916 = 
(obj_t)(BgL_arg3367z00_1269); 
SET_CAR(BgL_arg3366z00_1268, BgL_objz00_1916); } } 
{ /* ./Coerce/coerce.scm 171 */
obj_t BgL_arg3380z00_1273;BgL_nodez00_bglt BgL_arg3381z00_1274;
{ /* ./Coerce/coerce.scm 171 */
obj_t BgL_auxz00_3731;
{ /* ./Coerce/coerce.scm 171 */
BgL_externz00_bglt BgL_obj1817z00_1917;
BgL_obj1817z00_1917 = 
(BgL_externz00_bglt)(BgL_nodez00_1261); 
BgL_auxz00_3731 = 
(((BgL_externz00_bglt)CREF(BgL_obj1817z00_1917))->BgL_exprza2za2); } 
BgL_arg3380z00_1273 = 
CDR(BgL_auxz00_3731); } 
{ /* ./Coerce/coerce.scm 171 */
obj_t BgL_arg3388z00_1276;BgL_typez00_bglt BgL_arg3389z00_1277;
{ /* ./Coerce/coerce.scm 171 */
obj_t BgL_auxz00_3735;
{ /* ./Coerce/coerce.scm 171 */
obj_t BgL_auxz00_3736;
{ /* ./Coerce/coerce.scm 171 */
BgL_externz00_bglt BgL_obj1817z00_1919;
BgL_obj1817z00_1919 = 
(BgL_externz00_bglt)(BgL_nodez00_1261); 
BgL_auxz00_3736 = 
(((BgL_externz00_bglt)CREF(BgL_obj1817z00_1919))->BgL_exprza2za2); } 
BgL_auxz00_3735 = 
CDR(BgL_auxz00_3736); } 
BgL_arg3388z00_1276 = 
CAR(BgL_auxz00_3735); } 
BgL_arg3389z00_1277 = 
(((BgL_vsetz12z12_bglt)CREF(BgL_nodez00_1261))->BgL_otypez00); 
{ /* ./Coerce/coerce.scm 171 */
BgL_nodez00_bglt BgL_res3813z00_1953;
{ /* ./Coerce/coerce.scm 171 */
BgL_nodez00_bglt BgL_nodez00_1925;
BgL_nodez00_1925 = 
(BgL_nodez00_bglt)(BgL_arg3388z00_1276); 
{ /* ./Coerce/coerce.scm 171 */
obj_t BgL_method2713z00_1928;
{ /* ./Coerce/coerce.scm 171 */
BgL_objectz00_bglt BgL_objz00_1929;
BgL_objz00_1929 = 
(BgL_objectz00_bglt)(BgL_nodez00_1925); 
{ /* ./Coerce/coerce.scm 171 */
long BgL_objzd2classzd2numz00_1930;
BgL_objzd2classzd2numz00_1930 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1929); 
{ /* ./Coerce/coerce.scm 171 */
obj_t BgL_arg2017z00_1931;
{ /* ./Coerce/coerce.scm 171 */
int BgL_auxz00_3745;
BgL_auxz00_3745 = 
(int)(((long)1)); 
BgL_arg2017z00_1931 = 
PROCEDURE_REF(BGl_coercez12zd2envzc0zzcoerce_coercez00, BgL_auxz00_3745); } 
{ /* ./Coerce/coerce.scm 171 */
int BgL_offsetz00_1934;
BgL_offsetz00_1934 = 
(int)(BgL_objzd2classzd2numz00_1930); 
{ /* ./Coerce/coerce.scm 171 */
long BgL_offsetz00_1935;
{ /* ./Coerce/coerce.scm 171 */
long BgL_auxz00_3749;
BgL_auxz00_3749 = 
(long)(BgL_offsetz00_1934); 
BgL_offsetz00_1935 = 
(BgL_auxz00_3749-OBJECT_TYPE); } 
{ /* ./Coerce/coerce.scm 171 */
long BgL_modz00_1936;
{ /* ./Coerce/coerce.scm 171 */
int BgL_arg2028z00_1937;
BgL_arg2028z00_1937 = 
(int)(((long)8)); 
{ /* ./Coerce/coerce.scm 171 */
long BgL_n2z00_1945;
BgL_n2z00_1945 = 
(long)(BgL_arg2028z00_1937); 
BgL_modz00_1936 = 
(BgL_offsetz00_1935/BgL_n2z00_1945); } } 
{ /* ./Coerce/coerce.scm 171 */
long BgL_restz00_1938;
{ /* ./Coerce/coerce.scm 171 */
int BgL_arg2024z00_1939;
BgL_arg2024z00_1939 = 
(int)(((long)8)); 
{ /* ./Coerce/coerce.scm 171 */
long BgL_n2z00_1948;
BgL_n2z00_1948 = 
(long)(BgL_arg2024z00_1939); 
BgL_restz00_1938 = 
(BgL_offsetz00_1935%BgL_n2z00_1948); } } 
{ /* ./Coerce/coerce.scm 171 */

{ /* ./Coerce/coerce.scm 171 */
obj_t BgL_bucketz00_1940;
{ /* ./Coerce/coerce.scm 171 */
int BgL_kz00_1950;
BgL_kz00_1950 = 
(int)(BgL_modz00_1936); 
BgL_bucketz00_1940 = 
VECTOR_REF(BgL_arg2017z00_1931,BgL_kz00_1950); } 
{ /* ./Coerce/coerce.scm 171 */
int BgL_kz00_1952;
BgL_kz00_1952 = 
(int)(BgL_restz00_1938); 
BgL_method2713z00_1928 = 
VECTOR_REF(BgL_bucketz00_1940,BgL_kz00_1952); } } } } } } } } } } 
{ /* ./Coerce/coerce.scm 171 */
obj_t BgL_auxz00_3762;
BgL_auxz00_3762 = 
PROCEDURE_ENTRY(BgL_method2713z00_1928)(BgL_method2713z00_1928, 
(obj_t)(BgL_nodez00_1925), BgL_callerz00_1262, 
(obj_t)(BgL_arg3389z00_1277), BEOA); 
BgL_res3813z00_1953 = 
(BgL_nodez00_bglt)(BgL_auxz00_3762); } } } 
BgL_arg3381z00_1274 = BgL_res3813z00_1953; } } 
{ /* ./Coerce/coerce.scm 171 */
obj_t BgL_objz00_1955;
BgL_objz00_1955 = 
(obj_t)(BgL_arg3381z00_1274); 
SET_CAR(BgL_arg3380z00_1273, BgL_objz00_1955); } } 
{ /* ./Coerce/coerce.scm 172 */
obj_t BgL_arg3397z00_1279;BgL_nodez00_bglt BgL_arg3398z00_1280;
{ /* ./Coerce/coerce.scm 172 */
obj_t BgL_auxz00_3770;
{ /* ./Coerce/coerce.scm 172 */
obj_t BgL_auxz00_3771;
{ /* ./Coerce/coerce.scm 172 */
BgL_externz00_bglt BgL_obj1817z00_1956;
BgL_obj1817z00_1956 = 
(BgL_externz00_bglt)(BgL_nodez00_1261); 
BgL_auxz00_3771 = 
(((BgL_externz00_bglt)CREF(BgL_obj1817z00_1956))->BgL_exprza2za2); } 
BgL_auxz00_3770 = 
CDR(BgL_auxz00_3771); } 
BgL_arg3397z00_1279 = 
CDR(BgL_auxz00_3770); } 
{ /* ./Coerce/coerce.scm 172 */
obj_t BgL_arg3405z00_1282;
{ /* ./Coerce/coerce.scm 172 */
obj_t BgL_auxz00_3776;
{ /* ./Coerce/coerce.scm 172 */
obj_t BgL_auxz00_3777;
{ /* ./Coerce/coerce.scm 172 */
obj_t BgL_auxz00_3778;
{ /* ./Coerce/coerce.scm 172 */
BgL_externz00_bglt BgL_obj1817z00_1961;
BgL_obj1817z00_1961 = 
(BgL_externz00_bglt)(BgL_nodez00_1261); 
BgL_auxz00_3778 = 
(((BgL_externz00_bglt)CREF(BgL_obj1817z00_1961))->BgL_exprza2za2); } 
BgL_auxz00_3777 = 
CDR(BgL_auxz00_3778); } 
BgL_auxz00_3776 = 
CDR(BgL_auxz00_3777); } 
BgL_arg3405z00_1282 = 
CAR(BgL_auxz00_3776); } 
{ /* ./Coerce/coerce.scm 172 */
BgL_nodez00_bglt BgL_res3816z00_1996;
{ /* ./Coerce/coerce.scm 172 */
BgL_nodez00_bglt BgL_nodez00_1968;BgL_typez00_bglt BgL_toz00_1970;
BgL_nodez00_1968 = 
(BgL_nodez00_bglt)(BgL_arg3405z00_1282); 
BgL_toz00_1970 = 
(BgL_typez00_bglt)(BgL_ftypez00_1267); 
{ /* ./Coerce/coerce.scm 172 */
obj_t BgL_method2713z00_1971;
{ /* ./Coerce/coerce.scm 172 */
BgL_objectz00_bglt BgL_objz00_1972;
BgL_objz00_1972 = 
(BgL_objectz00_bglt)(BgL_nodez00_1968); 
{ /* ./Coerce/coerce.scm 172 */
long BgL_objzd2classzd2numz00_1973;
BgL_objzd2classzd2numz00_1973 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1972); 
{ /* ./Coerce/coerce.scm 172 */
obj_t BgL_arg2017z00_1974;
{ /* ./Coerce/coerce.scm 172 */
int BgL_auxz00_3788;
BgL_auxz00_3788 = 
(int)(((long)1)); 
BgL_arg2017z00_1974 = 
PROCEDURE_REF(BGl_coercez12zd2envzc0zzcoerce_coercez00, BgL_auxz00_3788); } 
{ /* ./Coerce/coerce.scm 172 */
int BgL_offsetz00_1977;
BgL_offsetz00_1977 = 
(int)(BgL_objzd2classzd2numz00_1973); 
{ /* ./Coerce/coerce.scm 172 */
long BgL_offsetz00_1978;
{ /* ./Coerce/coerce.scm 172 */
long BgL_auxz00_3792;
BgL_auxz00_3792 = 
(long)(BgL_offsetz00_1977); 
BgL_offsetz00_1978 = 
(BgL_auxz00_3792-OBJECT_TYPE); } 
{ /* ./Coerce/coerce.scm 172 */
long BgL_modz00_1979;
{ /* ./Coerce/coerce.scm 172 */
int BgL_arg2028z00_1980;
BgL_arg2028z00_1980 = 
(int)(((long)8)); 
{ /* ./Coerce/coerce.scm 172 */
long BgL_n2z00_1988;
BgL_n2z00_1988 = 
(long)(BgL_arg2028z00_1980); 
BgL_modz00_1979 = 
(BgL_offsetz00_1978/BgL_n2z00_1988); } } 
{ /* ./Coerce/coerce.scm 172 */
long BgL_restz00_1981;
{ /* ./Coerce/coerce.scm 172 */
int BgL_arg2024z00_1982;
BgL_arg2024z00_1982 = 
(int)(((long)8)); 
{ /* ./Coerce/coerce.scm 172 */
long BgL_n2z00_1991;
BgL_n2z00_1991 = 
(long)(BgL_arg2024z00_1982); 
BgL_restz00_1981 = 
(BgL_offsetz00_1978%BgL_n2z00_1991); } } 
{ /* ./Coerce/coerce.scm 172 */

{ /* ./Coerce/coerce.scm 172 */
obj_t BgL_bucketz00_1983;
{ /* ./Coerce/coerce.scm 172 */
int BgL_kz00_1993;
BgL_kz00_1993 = 
(int)(BgL_modz00_1979); 
BgL_bucketz00_1983 = 
VECTOR_REF(BgL_arg2017z00_1974,BgL_kz00_1993); } 
{ /* ./Coerce/coerce.scm 172 */
int BgL_kz00_1995;
BgL_kz00_1995 = 
(int)(BgL_restz00_1981); 
BgL_method2713z00_1971 = 
VECTOR_REF(BgL_bucketz00_1983,BgL_kz00_1995); } } } } } } } } } } 
{ /* ./Coerce/coerce.scm 172 */
obj_t BgL_auxz00_3805;
BgL_auxz00_3805 = 
PROCEDURE_ENTRY(BgL_method2713z00_1971)(BgL_method2713z00_1971, 
(obj_t)(BgL_nodez00_1968), BgL_callerz00_1262, 
(obj_t)(BgL_toz00_1970), BEOA); 
BgL_res3816z00_1996 = 
(BgL_nodez00_bglt)(BgL_auxz00_3805); } } } 
BgL_arg3398z00_1280 = BgL_res3816z00_1996; } } 
{ /* ./Coerce/coerce.scm 172 */
obj_t BgL_objz00_1998;
BgL_objz00_1998 = 
(obj_t)(BgL_arg3398z00_1280); 
SET_CAR(BgL_arg3397z00_1279, BgL_objz00_1998); } } 
{ /* ./Coerce/coerce.scm 173 */
BgL_typez00_bglt BgL_arg3412z00_1284;
{ /* ./Coerce/coerce.scm 173 */
BgL_nodez00_bglt BgL_obj1561z00_1999;
BgL_obj1561z00_1999 = 
(BgL_nodez00_bglt)(BgL_nodez00_1261); 
BgL_arg3412z00_1284 = 
(((BgL_nodez00_bglt)CREF(BgL_obj1561z00_1999))->BgL_typez00); } 
BgL_auxz00_3687 = 
BGl_convertz12z12zzcoerce_convertz00(
(BgL_nodez00_bglt)(BgL_nodez00_1261), BgL_arg3412z00_1284, 
(BgL_typez00_bglt)(BgL_toz00_1263)); } } 
return 
(obj_t)(BgL_auxz00_3687);} } } 
}



/* coerce!-vref2735 */
obj_t BGl_coercez12zd2vref2735zc0zzcoerce_coercez00(obj_t BgL_envz00_2825, obj_t BgL_nodez00_2826, obj_t BgL_callerz00_2827, obj_t BgL_toz00_2828)
{ AN_OBJECT;
{ /* ./Coerce/coerce.scm 150 */
{ 
BgL_vrefz00_bglt BgL_nodez00_1239;obj_t BgL_callerz00_1240;obj_t BgL_toz00_1241;
{ /* ./Coerce/coerce.scm 151 */
BgL_nodez00_bglt BgL_auxz00_3820;
BgL_nodez00_1239 = 
(BgL_vrefz00_bglt)(BgL_nodez00_2826); 
BgL_callerz00_1240 = BgL_callerz00_2827; 
BgL_toz00_1241 = BgL_toz00_2828; 
{ /* ./Coerce/coerce.scm 158 */
obj_t BgL_ftypez00_1245;
{ /* ./Coerce/coerce.scm 158 */
bool_t BgL_test3353z00_1257;
{ /* ./Coerce/coerce.scm 158 */
BgL_typez00_bglt BgL_arg3356z00_1258;
BgL_arg3356z00_1258 = 
(((BgL_vrefz00_bglt)CREF(BgL_nodez00_1239))->BgL_ftypez00); 
{ /* ./Coerce/coerce.scm 158 */
obj_t BgL_auxz00_3822;
BgL_auxz00_3822 = 
(obj_t)(BgL_arg3356z00_1258); 
BgL_test3353z00_1257 = 
(BgL_auxz00_3822==BGl_za2_za2z00zztype_cachez00); } } 
if(BgL_test3353z00_1257)
{ /* ./Coerce/coerce.scm 158 */
BgL_ftypez00_1245 = BGl_za2objza2z00zztype_cachez00; }  else 
{ /* ./Coerce/coerce.scm 158 */
BgL_typez00_bglt BgL_auxz00_3826;
BgL_auxz00_3826 = 
(((BgL_vrefz00_bglt)CREF(BgL_nodez00_1239))->BgL_ftypez00); 
BgL_ftypez00_1245 = 
(obj_t)(BgL_auxz00_3826); } } 
{ /* ./Coerce/coerce.scm 159 */
obj_t BgL_arg3321z00_1246;BgL_nodez00_bglt BgL_arg3322z00_1247;
{ /* ./Coerce/coerce.scm 159 */
BgL_externz00_bglt BgL_obj1817z00_1806;
BgL_obj1817z00_1806 = 
(BgL_externz00_bglt)(BgL_nodez00_1239); 
BgL_arg3321z00_1246 = 
(((BgL_externz00_bglt)CREF(BgL_obj1817z00_1806))->BgL_exprza2za2); } 
{ /* ./Coerce/coerce.scm 159 */
obj_t BgL_arg3326z00_1248;BgL_typez00_bglt BgL_arg3327z00_1249;
{ /* ./Coerce/coerce.scm 159 */
obj_t BgL_auxz00_3831;
{ /* ./Coerce/coerce.scm 159 */
BgL_externz00_bglt BgL_obj1817z00_1807;
BgL_obj1817z00_1807 = 
(BgL_externz00_bglt)(BgL_nodez00_1239); 
BgL_auxz00_3831 = 
(((BgL_externz00_bglt)CREF(BgL_obj1817z00_1807))->BgL_exprza2za2); } 
BgL_arg3326z00_1248 = 
CAR(BgL_auxz00_3831); } 
BgL_arg3327z00_1249 = 
(((BgL_vrefz00_bglt)CREF(BgL_nodez00_1239))->BgL_vtypez00); 
{ /* ./Coerce/coerce.scm 159 */
BgL_nodez00_bglt BgL_res3804z00_1838;
{ /* ./Coerce/coerce.scm 159 */
BgL_nodez00_bglt BgL_nodez00_1810;
BgL_nodez00_1810 = 
(BgL_nodez00_bglt)(BgL_arg3326z00_1248); 
{ /* ./Coerce/coerce.scm 159 */
obj_t BgL_method2713z00_1813;
{ /* ./Coerce/coerce.scm 159 */
BgL_objectz00_bglt BgL_objz00_1814;
BgL_objz00_1814 = 
(BgL_objectz00_bglt)(BgL_nodez00_1810); 
{ /* ./Coerce/coerce.scm 159 */
long BgL_objzd2classzd2numz00_1815;
BgL_objzd2classzd2numz00_1815 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1814); 
{ /* ./Coerce/coerce.scm 159 */
obj_t BgL_arg2017z00_1816;
{ /* ./Coerce/coerce.scm 159 */
int BgL_auxz00_3839;
BgL_auxz00_3839 = 
(int)(((long)1)); 
BgL_arg2017z00_1816 = 
PROCEDURE_REF(BGl_coercez12zd2envzc0zzcoerce_coercez00, BgL_auxz00_3839); } 
{ /* ./Coerce/coerce.scm 159 */
int BgL_offsetz00_1819;
BgL_offsetz00_1819 = 
(int)(BgL_objzd2classzd2numz00_1815); 
{ /* ./Coerce/coerce.scm 159 */
long BgL_offsetz00_1820;
{ /* ./Coerce/coerce.scm 159 */
long BgL_auxz00_3843;
BgL_auxz00_3843 = 
(long)(BgL_offsetz00_1819); 
BgL_offsetz00_1820 = 
(BgL_auxz00_3843-OBJECT_TYPE); } 
{ /* ./Coerce/coerce.scm 159 */
long BgL_modz00_1821;
{ /* ./Coerce/coerce.scm 159 */
int BgL_arg2028z00_1822;
BgL_arg2028z00_1822 = 
(int)(((long)8)); 
{ /* ./Coerce/coerce.scm 159 */
long BgL_n2z00_1830;
BgL_n2z00_1830 = 
(long)(BgL_arg2028z00_1822); 
BgL_modz00_1821 = 
(BgL_offsetz00_1820/BgL_n2z00_1830); } } 
{ /* ./Coerce/coerce.scm 159 */
long BgL_restz00_1823;
{ /* ./Coerce/coerce.scm 159 */
int BgL_arg2024z00_1824;
BgL_arg2024z00_1824 = 
(int)(((long)8)); 
{ /* ./Coerce/coerce.scm 159 */
long BgL_n2z00_1833;
BgL_n2z00_1833 = 
(long)(BgL_arg2024z00_1824); 
BgL_restz00_1823 = 
(BgL_offsetz00_1820%BgL_n2z00_1833); } } 
{ /* ./Coerce/coerce.scm 159 */

{ /* ./Coerce/coerce.scm 159 */
obj_t BgL_bucketz00_1825;
{ /* ./Coerce/coerce.scm 159 */
int BgL_kz00_1835;
BgL_kz00_1835 = 
(int)(BgL_modz00_1821); 
BgL_bucketz00_1825 = 
VECTOR_REF(BgL_arg2017z00_1816,BgL_kz00_1835); } 
{ /* ./Coerce/coerce.scm 159 */
int BgL_kz00_1837;
BgL_kz00_1837 = 
(int)(BgL_restz00_1823); 
BgL_method2713z00_1813 = 
VECTOR_REF(BgL_bucketz00_1825,BgL_kz00_1837); } } } } } } } } } } 
{ /* ./Coerce/coerce.scm 159 */
obj_t BgL_auxz00_3856;
BgL_auxz00_3856 = 
PROCEDURE_ENTRY(BgL_method2713z00_1813)(BgL_method2713z00_1813, 
(obj_t)(BgL_nodez00_1810), BgL_callerz00_1240, 
(obj_t)(BgL_arg3327z00_1249), BEOA); 
BgL_res3804z00_1838 = 
(BgL_nodez00_bglt)(BgL_auxz00_3856); } } } 
BgL_arg3322z00_1247 = BgL_res3804z00_1838; } } 
{ /* ./Coerce/coerce.scm 159 */
obj_t BgL_objz00_1840;
BgL_objz00_1840 = 
(obj_t)(BgL_arg3322z00_1247); 
SET_CAR(BgL_arg3321z00_1246, BgL_objz00_1840); } } 
{ /* ./Coerce/coerce.scm 160 */
obj_t BgL_arg3335z00_1251;BgL_nodez00_bglt BgL_arg3336z00_1252;
{ /* ./Coerce/coerce.scm 160 */
obj_t BgL_auxz00_3864;
{ /* ./Coerce/coerce.scm 160 */
BgL_externz00_bglt BgL_obj1817z00_1841;
BgL_obj1817z00_1841 = 
(BgL_externz00_bglt)(BgL_nodez00_1239); 
BgL_auxz00_3864 = 
(((BgL_externz00_bglt)CREF(BgL_obj1817z00_1841))->BgL_exprza2za2); } 
BgL_arg3335z00_1251 = 
CDR(BgL_auxz00_3864); } 
{ /* ./Coerce/coerce.scm 160 */
obj_t BgL_arg3344z00_1254;BgL_typez00_bglt BgL_arg3345z00_1255;
{ /* ./Coerce/coerce.scm 160 */
obj_t BgL_auxz00_3868;
{ /* ./Coerce/coerce.scm 160 */
obj_t BgL_auxz00_3869;
{ /* ./Coerce/coerce.scm 160 */
BgL_externz00_bglt BgL_obj1817z00_1843;
BgL_obj1817z00_1843 = 
(BgL_externz00_bglt)(BgL_nodez00_1239); 
BgL_auxz00_3869 = 
(((BgL_externz00_bglt)CREF(BgL_obj1817z00_1843))->BgL_exprza2za2); } 
BgL_auxz00_3868 = 
CDR(BgL_auxz00_3869); } 
BgL_arg3344z00_1254 = 
CAR(BgL_auxz00_3868); } 
BgL_arg3345z00_1255 = 
(((BgL_vrefz00_bglt)CREF(BgL_nodez00_1239))->BgL_otypez00); 
{ /* ./Coerce/coerce.scm 160 */
BgL_nodez00_bglt BgL_res3807z00_1877;
{ /* ./Coerce/coerce.scm 160 */
BgL_nodez00_bglt BgL_nodez00_1849;
BgL_nodez00_1849 = 
(BgL_nodez00_bglt)(BgL_arg3344z00_1254); 
{ /* ./Coerce/coerce.scm 160 */
obj_t BgL_method2713z00_1852;
{ /* ./Coerce/coerce.scm 160 */
BgL_objectz00_bglt BgL_objz00_1853;
BgL_objz00_1853 = 
(BgL_objectz00_bglt)(BgL_nodez00_1849); 
{ /* ./Coerce/coerce.scm 160 */
long BgL_objzd2classzd2numz00_1854;
BgL_objzd2classzd2numz00_1854 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1853); 
{ /* ./Coerce/coerce.scm 160 */
obj_t BgL_arg2017z00_1855;
{ /* ./Coerce/coerce.scm 160 */
int BgL_auxz00_3878;
BgL_auxz00_3878 = 
(int)(((long)1)); 
BgL_arg2017z00_1855 = 
PROCEDURE_REF(BGl_coercez12zd2envzc0zzcoerce_coercez00, BgL_auxz00_3878); } 
{ /* ./Coerce/coerce.scm 160 */
int BgL_offsetz00_1858;
BgL_offsetz00_1858 = 
(int)(BgL_objzd2classzd2numz00_1854); 
{ /* ./Coerce/coerce.scm 160 */
long BgL_offsetz00_1859;
{ /* ./Coerce/coerce.scm 160 */
long BgL_auxz00_3882;
BgL_auxz00_3882 = 
(long)(BgL_offsetz00_1858); 
BgL_offsetz00_1859 = 
(BgL_auxz00_3882-OBJECT_TYPE); } 
{ /* ./Coerce/coerce.scm 160 */
long BgL_modz00_1860;
{ /* ./Coerce/coerce.scm 160 */
int BgL_arg2028z00_1861;
BgL_arg2028z00_1861 = 
(int)(((long)8)); 
{ /* ./Coerce/coerce.scm 160 */
long BgL_n2z00_1869;
BgL_n2z00_1869 = 
(long)(BgL_arg2028z00_1861); 
BgL_modz00_1860 = 
(BgL_offsetz00_1859/BgL_n2z00_1869); } } 
{ /* ./Coerce/coerce.scm 160 */
long BgL_restz00_1862;
{ /* ./Coerce/coerce.scm 160 */
int BgL_arg2024z00_1863;
BgL_arg2024z00_1863 = 
(int)(((long)8)); 
{ /* ./Coerce/coerce.scm 160 */
long BgL_n2z00_1872;
BgL_n2z00_1872 = 
(long)(BgL_arg2024z00_1863); 
BgL_restz00_1862 = 
(BgL_offsetz00_1859%BgL_n2z00_1872); } } 
{ /* ./Coerce/coerce.scm 160 */

{ /* ./Coerce/coerce.scm 160 */
obj_t BgL_bucketz00_1864;
{ /* ./Coerce/coerce.scm 160 */
int BgL_kz00_1874;
BgL_kz00_1874 = 
(int)(BgL_modz00_1860); 
BgL_bucketz00_1864 = 
VECTOR_REF(BgL_arg2017z00_1855,BgL_kz00_1874); } 
{ /* ./Coerce/coerce.scm 160 */
int BgL_kz00_1876;
BgL_kz00_1876 = 
(int)(BgL_restz00_1862); 
BgL_method2713z00_1852 = 
VECTOR_REF(BgL_bucketz00_1864,BgL_kz00_1876); } } } } } } } } } } 
{ /* ./Coerce/coerce.scm 160 */
obj_t BgL_auxz00_3895;
BgL_auxz00_3895 = 
PROCEDURE_ENTRY(BgL_method2713z00_1852)(BgL_method2713z00_1852, 
(obj_t)(BgL_nodez00_1849), BgL_callerz00_1240, 
(obj_t)(BgL_arg3345z00_1255), BEOA); 
BgL_res3807z00_1877 = 
(BgL_nodez00_bglt)(BgL_auxz00_3895); } } } 
BgL_arg3336z00_1252 = BgL_res3807z00_1877; } } 
{ /* ./Coerce/coerce.scm 160 */
obj_t BgL_objz00_1879;
BgL_objz00_1879 = 
(obj_t)(BgL_arg3336z00_1252); 
SET_CAR(BgL_arg3335z00_1251, BgL_objz00_1879); } } 
BgL_auxz00_3820 = 
BGl_convertz12z12zzcoerce_convertz00(
(BgL_nodez00_bglt)(BgL_nodez00_1239), 
(BgL_typez00_bglt)(BgL_ftypez00_1245), 
(BgL_typez00_bglt)(BgL_toz00_1241)); } 
return 
(obj_t)(BgL_auxz00_3820);} } } 
}



/* coerce!-valloc2733 */
obj_t BGl_coercez12zd2valloc2733zc0zzcoerce_coercez00(obj_t BgL_envz00_2829, obj_t BgL_nodez00_2830, obj_t BgL_callerz00_2831, obj_t BgL_toz00_2832)
{ AN_OBJECT;
{ /* ./Coerce/coerce.scm 142 */
{ 
BgL_vallocz00_bglt BgL_nodez00_1225;obj_t BgL_callerz00_1226;obj_t BgL_toz00_1227;
{ /* ./Coerce/coerce.scm 143 */
BgL_nodez00_bglt BgL_auxz00_3909;
BgL_nodez00_1225 = 
(BgL_vallocz00_bglt)(BgL_nodez00_2830); 
BgL_callerz00_1226 = BgL_callerz00_2831; 
BgL_toz00_1227 = BgL_toz00_2832; 
{ /* ./Coerce/coerce.scm 144 */
obj_t BgL_arg3297z00_1231;BgL_nodez00_bglt BgL_arg3298z00_1232;
{ /* ./Coerce/coerce.scm 144 */
BgL_externz00_bglt BgL_obj1817z00_1768;
BgL_obj1817z00_1768 = 
(BgL_externz00_bglt)(BgL_nodez00_1225); 
BgL_arg3297z00_1231 = 
(((BgL_externz00_bglt)CREF(BgL_obj1817z00_1768))->BgL_exprza2za2); } 
{ /* ./Coerce/coerce.scm 144 */
obj_t BgL_arg3302z00_1233;BgL_typez00_bglt BgL_arg3303z00_1234;
{ /* ./Coerce/coerce.scm 144 */
obj_t BgL_auxz00_3912;
{ /* ./Coerce/coerce.scm 144 */
BgL_externz00_bglt BgL_obj1817z00_1769;
BgL_obj1817z00_1769 = 
(BgL_externz00_bglt)(BgL_nodez00_1225); 
BgL_auxz00_3912 = 
(((BgL_externz00_bglt)CREF(BgL_obj1817z00_1769))->BgL_exprza2za2); } 
BgL_arg3302z00_1233 = 
CAR(BgL_auxz00_3912); } 
BgL_arg3303z00_1234 = 
(((BgL_vallocz00_bglt)CREF(BgL_nodez00_1225))->BgL_otypez00); 
{ /* ./Coerce/coerce.scm 144 */
BgL_nodez00_bglt BgL_res3801z00_1800;
{ /* ./Coerce/coerce.scm 144 */
BgL_nodez00_bglt BgL_nodez00_1772;
BgL_nodez00_1772 = 
(BgL_nodez00_bglt)(BgL_arg3302z00_1233); 
{ /* ./Coerce/coerce.scm 144 */
obj_t BgL_method2713z00_1775;
{ /* ./Coerce/coerce.scm 144 */
BgL_objectz00_bglt BgL_objz00_1776;
BgL_objz00_1776 = 
(BgL_objectz00_bglt)(BgL_nodez00_1772); 
{ /* ./Coerce/coerce.scm 144 */
long BgL_objzd2classzd2numz00_1777;
BgL_objzd2classzd2numz00_1777 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1776); 
{ /* ./Coerce/coerce.scm 144 */
obj_t BgL_arg2017z00_1778;
{ /* ./Coerce/coerce.scm 144 */
int BgL_auxz00_3920;
BgL_auxz00_3920 = 
(int)(((long)1)); 
BgL_arg2017z00_1778 = 
PROCEDURE_REF(BGl_coercez12zd2envzc0zzcoerce_coercez00, BgL_auxz00_3920); } 
{ /* ./Coerce/coerce.scm 144 */
int BgL_offsetz00_1781;
BgL_offsetz00_1781 = 
(int)(BgL_objzd2classzd2numz00_1777); 
{ /* ./Coerce/coerce.scm 144 */
long BgL_offsetz00_1782;
{ /* ./Coerce/coerce.scm 144 */
long BgL_auxz00_3924;
BgL_auxz00_3924 = 
(long)(BgL_offsetz00_1781); 
BgL_offsetz00_1782 = 
(BgL_auxz00_3924-OBJECT_TYPE); } 
{ /* ./Coerce/coerce.scm 144 */
long BgL_modz00_1783;
{ /* ./Coerce/coerce.scm 144 */
int BgL_arg2028z00_1784;
BgL_arg2028z00_1784 = 
(int)(((long)8)); 
{ /* ./Coerce/coerce.scm 144 */
long BgL_n2z00_1792;
BgL_n2z00_1792 = 
(long)(BgL_arg2028z00_1784); 
BgL_modz00_1783 = 
(BgL_offsetz00_1782/BgL_n2z00_1792); } } 
{ /* ./Coerce/coerce.scm 144 */
long BgL_restz00_1785;
{ /* ./Coerce/coerce.scm 144 */
int BgL_arg2024z00_1786;
BgL_arg2024z00_1786 = 
(int)(((long)8)); 
{ /* ./Coerce/coerce.scm 144 */
long BgL_n2z00_1795;
BgL_n2z00_1795 = 
(long)(BgL_arg2024z00_1786); 
BgL_restz00_1785 = 
(BgL_offsetz00_1782%BgL_n2z00_1795); } } 
{ /* ./Coerce/coerce.scm 144 */

{ /* ./Coerce/coerce.scm 144 */
obj_t BgL_bucketz00_1787;
{ /* ./Coerce/coerce.scm 144 */
int BgL_kz00_1797;
BgL_kz00_1797 = 
(int)(BgL_modz00_1783); 
BgL_bucketz00_1787 = 
VECTOR_REF(BgL_arg2017z00_1778,BgL_kz00_1797); } 
{ /* ./Coerce/coerce.scm 144 */
int BgL_kz00_1799;
BgL_kz00_1799 = 
(int)(BgL_restz00_1785); 
BgL_method2713z00_1775 = 
VECTOR_REF(BgL_bucketz00_1787,BgL_kz00_1799); } } } } } } } } } } 
{ /* ./Coerce/coerce.scm 144 */
obj_t BgL_auxz00_3937;
BgL_auxz00_3937 = 
PROCEDURE_ENTRY(BgL_method2713z00_1775)(BgL_method2713z00_1775, 
(obj_t)(BgL_nodez00_1772), BgL_callerz00_1226, 
(obj_t)(BgL_arg3303z00_1234), BEOA); 
BgL_res3801z00_1800 = 
(BgL_nodez00_bglt)(BgL_auxz00_3937); } } } 
BgL_arg3298z00_1232 = BgL_res3801z00_1800; } } 
{ /* ./Coerce/coerce.scm 144 */
obj_t BgL_objz00_1802;
BgL_objz00_1802 = 
(obj_t)(BgL_arg3298z00_1232); 
SET_CAR(BgL_arg3297z00_1231, BgL_objz00_1802); } } 
{ /* ./Coerce/coerce.scm 145 */
BgL_typez00_bglt BgL_arg3311z00_1236;
{ /* ./Coerce/coerce.scm 145 */
BgL_nodez00_bglt BgL_obj1561z00_1803;
BgL_obj1561z00_1803 = 
(BgL_nodez00_bglt)(BgL_nodez00_1225); 
BgL_arg3311z00_1236 = 
(((BgL_nodez00_bglt)CREF(BgL_obj1561z00_1803))->BgL_typez00); } 
BgL_auxz00_3909 = 
BGl_convertz12z12zzcoerce_convertz00(
(BgL_nodez00_bglt)(BgL_nodez00_1225), BgL_arg3311z00_1236, 
(BgL_typez00_bglt)(BgL_toz00_1227)); } 
return 
(obj_t)(BgL_auxz00_3909);} } } 
}



/* coerce!-new2731 */
obj_t BGl_coercez12zd2new2731zc0zzcoerce_coercez00(obj_t BgL_envz00_2833, obj_t BgL_nodez00_2834, obj_t BgL_callerz00_2835, obj_t BgL_toz00_2836)
{ AN_OBJECT;
{ /* ./Coerce/coerce.scm 129 */
{ 
BgL_newz00_bglt BgL_nodez00_1206;obj_t BgL_callerz00_1207;obj_t BgL_toz00_1208;
{ /* ./Coerce/coerce.scm 130 */
BgL_nodez00_bglt BgL_auxz00_3952;
BgL_nodez00_1206 = 
(BgL_newz00_bglt)(BgL_nodez00_2834); 
BgL_callerz00_1207 = BgL_callerz00_2835; 
BgL_toz00_1208 = BgL_toz00_2836; 
{ 
obj_t BgL_lz00_1212;
{ /* ./Coerce/coerce.scm 131 */
obj_t BgL_arg3261z00_1214;
{ /* ./Coerce/coerce.scm 131 */
BgL_externz00_bglt BgL_obj1817z00_1730;
BgL_obj1817z00_1730 = 
(BgL_externz00_bglt)(BgL_nodez00_1206); 
BgL_arg3261z00_1214 = 
(((BgL_externz00_bglt)CREF(BgL_obj1817z00_1730))->BgL_exprza2za2); } 
BgL_lz00_1212 = BgL_arg3261z00_1214; 
BgL_loopz00_1213:
{ /* ./Coerce/coerce.scm 132 */
bool_t BgL_test3264z00_1215;
BgL_test3264z00_1215 = 
NULLP(BgL_lz00_1212); 
if(BgL_test3264z00_1215)
{ /* ./Coerce/coerce.scm 133 */
BgL_typez00_bglt BgL_arg3266z00_1216;
{ /* ./Coerce/coerce.scm 133 */
BgL_nodez00_bglt BgL_obj1561z00_1732;
BgL_obj1561z00_1732 = 
(BgL_nodez00_bglt)(BgL_nodez00_1206); 
BgL_arg3266z00_1216 = 
(((BgL_nodez00_bglt)CREF(BgL_obj1561z00_1732))->BgL_typez00); } 
BGl_convertz12z12zzcoerce_convertz00(
(BgL_nodez00_bglt)(BgL_nodez00_1206), BgL_arg3266z00_1216, 
(BgL_typez00_bglt)(BgL_toz00_1208)); }  else 
{ /* ./Coerce/coerce.scm 132 */
{ /* ./Coerce/coerce.scm 135 */
BgL_nodez00_bglt BgL_arg3270z00_1217;
{ /* ./Coerce/coerce.scm 135 */
obj_t BgL_arg3273z00_1218;BgL_typez00_bglt BgL_arg3274z00_1219;
BgL_arg3273z00_1218 = 
CAR(BgL_lz00_1212); 
{ /* ./Coerce/coerce.scm 135 */
obj_t BgL_arg3278z00_1220;
BgL_arg3278z00_1220 = 
CAR(BgL_lz00_1212); 
BgL_arg3274z00_1219 = 
BGl_typeofz00zztype_typeofz00(
(BgL_nodez00_bglt)(BgL_arg3278z00_1220)); } 
{ /* ./Coerce/coerce.scm 135 */
BgL_nodez00_bglt BgL_res3798z00_1763;
{ /* ./Coerce/coerce.scm 135 */
BgL_nodez00_bglt BgL_nodez00_1735;
BgL_nodez00_1735 = 
(BgL_nodez00_bglt)(BgL_arg3273z00_1218); 
{ /* ./Coerce/coerce.scm 135 */
obj_t BgL_method2713z00_1738;
{ /* ./Coerce/coerce.scm 135 */
BgL_objectz00_bglt BgL_objz00_1739;
BgL_objz00_1739 = 
(BgL_objectz00_bglt)(BgL_nodez00_1735); 
{ /* ./Coerce/coerce.scm 135 */
long BgL_objzd2classzd2numz00_1740;
BgL_objzd2classzd2numz00_1740 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1739); 
{ /* ./Coerce/coerce.scm 135 */
obj_t BgL_arg2017z00_1741;
{ /* ./Coerce/coerce.scm 135 */
int BgL_auxz00_3969;
BgL_auxz00_3969 = 
(int)(((long)1)); 
BgL_arg2017z00_1741 = 
PROCEDURE_REF(BGl_coercez12zd2envzc0zzcoerce_coercez00, BgL_auxz00_3969); } 
{ /* ./Coerce/coerce.scm 135 */
int BgL_offsetz00_1744;
BgL_offsetz00_1744 = 
(int)(BgL_objzd2classzd2numz00_1740); 
{ /* ./Coerce/coerce.scm 135 */
long BgL_offsetz00_1745;
{ /* ./Coerce/coerce.scm 135 */
long BgL_auxz00_3973;
BgL_auxz00_3973 = 
(long)(BgL_offsetz00_1744); 
BgL_offsetz00_1745 = 
(BgL_auxz00_3973-OBJECT_TYPE); } 
{ /* ./Coerce/coerce.scm 135 */
long BgL_modz00_1746;
{ /* ./Coerce/coerce.scm 135 */
int BgL_arg2028z00_1747;
BgL_arg2028z00_1747 = 
(int)(((long)8)); 
{ /* ./Coerce/coerce.scm 135 */
long BgL_n2z00_1755;
BgL_n2z00_1755 = 
(long)(BgL_arg2028z00_1747); 
BgL_modz00_1746 = 
(BgL_offsetz00_1745/BgL_n2z00_1755); } } 
{ /* ./Coerce/coerce.scm 135 */
long BgL_restz00_1748;
{ /* ./Coerce/coerce.scm 135 */
int BgL_arg2024z00_1749;
BgL_arg2024z00_1749 = 
(int)(((long)8)); 
{ /* ./Coerce/coerce.scm 135 */
long BgL_n2z00_1758;
BgL_n2z00_1758 = 
(long)(BgL_arg2024z00_1749); 
BgL_restz00_1748 = 
(BgL_offsetz00_1745%BgL_n2z00_1758); } } 
{ /* ./Coerce/coerce.scm 135 */

{ /* ./Coerce/coerce.scm 135 */
obj_t BgL_bucketz00_1750;
{ /* ./Coerce/coerce.scm 135 */
int BgL_kz00_1760;
BgL_kz00_1760 = 
(int)(BgL_modz00_1746); 
BgL_bucketz00_1750 = 
VECTOR_REF(BgL_arg2017z00_1741,BgL_kz00_1760); } 
{ /* ./Coerce/coerce.scm 135 */
int BgL_kz00_1762;
BgL_kz00_1762 = 
(int)(BgL_restz00_1748); 
BgL_method2713z00_1738 = 
VECTOR_REF(BgL_bucketz00_1750,BgL_kz00_1762); } } } } } } } } } } 
{ /* ./Coerce/coerce.scm 135 */
obj_t BgL_auxz00_3986;
BgL_auxz00_3986 = 
PROCEDURE_ENTRY(BgL_method2713z00_1738)(BgL_method2713z00_1738, 
(obj_t)(BgL_nodez00_1735), BgL_callerz00_1207, 
(obj_t)(BgL_arg3274z00_1219), BEOA); 
BgL_res3798z00_1763 = 
(BgL_nodez00_bglt)(BgL_auxz00_3986); } } } 
BgL_arg3270z00_1217 = BgL_res3798z00_1763; } } 
{ /* ./Coerce/coerce.scm 135 */
obj_t BgL_objz00_1765;
BgL_objz00_1765 = 
(obj_t)(BgL_arg3270z00_1217); 
SET_CAR(BgL_lz00_1212, BgL_objz00_1765); } } 
{ /* ./Coerce/coerce.scm 136 */
obj_t BgL_arg3282z00_1221;
BgL_arg3282z00_1221 = 
CDR(BgL_lz00_1212); 
{ 
obj_t BgL_lz00_3995;
BgL_lz00_3995 = BgL_arg3282z00_1221; 
BgL_lz00_1212 = BgL_lz00_3995; 
goto BgL_loopz00_1213;} } } } } } 
{ /* ./Coerce/coerce.scm 137 */
BgL_typez00_bglt BgL_arg3287z00_1222;
{ /* ./Coerce/coerce.scm 137 */
BgL_nodez00_bglt BgL_obj1561z00_1767;
BgL_obj1561z00_1767 = 
(BgL_nodez00_bglt)(BgL_nodez00_1206); 
BgL_arg3287z00_1222 = 
(((BgL_nodez00_bglt)CREF(BgL_obj1561z00_1767))->BgL_typez00); } 
BgL_auxz00_3952 = 
BGl_convertz12z12zzcoerce_convertz00(
(BgL_nodez00_bglt)(BgL_nodez00_1206), BgL_arg3287z00_1222, 
(BgL_typez00_bglt)(BgL_toz00_1208)); } 
return 
(obj_t)(BgL_auxz00_3952);} } } 
}



/* coerce!-setfield2729 */
obj_t BGl_coercez12zd2setfield2729zc0zzcoerce_coercez00(obj_t BgL_envz00_2837, obj_t BgL_nodez00_2838, obj_t BgL_callerz00_2839, obj_t BgL_toz00_2840)
{ AN_OBJECT;
{ /* ./Coerce/coerce.scm 120 */
{ 
BgL_setfieldz00_bglt BgL_nodez00_1188;obj_t BgL_callerz00_1189;obj_t BgL_toz00_1190;
{ /* ./Coerce/coerce.scm 121 */
BgL_nodez00_bglt BgL_auxz00_4003;
BgL_nodez00_1188 = 
(BgL_setfieldz00_bglt)(BgL_nodez00_2838); 
BgL_callerz00_1189 = BgL_callerz00_2839; 
BgL_toz00_1190 = BgL_toz00_2840; 
{ /* ./Coerce/coerce.scm 122 */
obj_t BgL_arg3225z00_1194;BgL_nodez00_bglt BgL_arg3226z00_1195;
{ /* ./Coerce/coerce.scm 122 */
BgL_externz00_bglt BgL_obj1817z00_1657;
BgL_obj1817z00_1657 = 
(BgL_externz00_bglt)(BgL_nodez00_1188); 
BgL_arg3225z00_1194 = 
(((BgL_externz00_bglt)CREF(BgL_obj1817z00_1657))->BgL_exprza2za2); } 
{ /* ./Coerce/coerce.scm 122 */
obj_t BgL_arg3230z00_1196;
{ /* ./Coerce/coerce.scm 122 */
obj_t BgL_auxz00_4006;
{ /* ./Coerce/coerce.scm 122 */
BgL_externz00_bglt BgL_obj1817z00_1658;
BgL_obj1817z00_1658 = 
(BgL_externz00_bglt)(BgL_nodez00_1188); 
BgL_auxz00_4006 = 
(((BgL_externz00_bglt)CREF(BgL_obj1817z00_1658))->BgL_exprza2za2); } 
BgL_arg3230z00_1196 = 
CAR(BgL_auxz00_4006); } 
{ /* ./Coerce/coerce.scm 122 */
BgL_nodez00_bglt BgL_res3792z00_1688;
{ /* ./Coerce/coerce.scm 122 */
BgL_nodez00_bglt BgL_nodez00_1660;BgL_typez00_bglt BgL_toz00_1662;
BgL_nodez00_1660 = 
(BgL_nodez00_bglt)(BgL_arg3230z00_1196); 
BgL_toz00_1662 = 
(BgL_typez00_bglt)(BGl_za2objza2z00zztype_cachez00); 
{ /* ./Coerce/coerce.scm 122 */
obj_t BgL_method2713z00_1663;
{ /* ./Coerce/coerce.scm 122 */
BgL_objectz00_bglt BgL_objz00_1664;
BgL_objz00_1664 = 
(BgL_objectz00_bglt)(BgL_nodez00_1660); 
{ /* ./Coerce/coerce.scm 122 */
long BgL_objzd2classzd2numz00_1665;
BgL_objzd2classzd2numz00_1665 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1664); 
{ /* ./Coerce/coerce.scm 122 */
obj_t BgL_arg2017z00_1666;
{ /* ./Coerce/coerce.scm 122 */
int BgL_auxz00_4014;
BgL_auxz00_4014 = 
(int)(((long)1)); 
BgL_arg2017z00_1666 = 
PROCEDURE_REF(BGl_coercez12zd2envzc0zzcoerce_coercez00, BgL_auxz00_4014); } 
{ /* ./Coerce/coerce.scm 122 */
int BgL_offsetz00_1669;
BgL_offsetz00_1669 = 
(int)(BgL_objzd2classzd2numz00_1665); 
{ /* ./Coerce/coerce.scm 122 */
long BgL_offsetz00_1670;
{ /* ./Coerce/coerce.scm 122 */
long BgL_auxz00_4018;
BgL_auxz00_4018 = 
(long)(BgL_offsetz00_1669); 
BgL_offsetz00_1670 = 
(BgL_auxz00_4018-OBJECT_TYPE); } 
{ /* ./Coerce/coerce.scm 122 */
long BgL_modz00_1671;
{ /* ./Coerce/coerce.scm 122 */
int BgL_arg2028z00_1672;
BgL_arg2028z00_1672 = 
(int)(((long)8)); 
{ /* ./Coerce/coerce.scm 122 */
long BgL_n2z00_1680;
BgL_n2z00_1680 = 
(long)(BgL_arg2028z00_1672); 
BgL_modz00_1671 = 
(BgL_offsetz00_1670/BgL_n2z00_1680); } } 
{ /* ./Coerce/coerce.scm 122 */
long BgL_restz00_1673;
{ /* ./Coerce/coerce.scm 122 */
int BgL_arg2024z00_1674;
BgL_arg2024z00_1674 = 
(int)(((long)8)); 
{ /* ./Coerce/coerce.scm 122 */
long BgL_n2z00_1683;
BgL_n2z00_1683 = 
(long)(BgL_arg2024z00_1674); 
BgL_restz00_1673 = 
(BgL_offsetz00_1670%BgL_n2z00_1683); } } 
{ /* ./Coerce/coerce.scm 122 */

{ /* ./Coerce/coerce.scm 122 */
obj_t BgL_bucketz00_1675;
{ /* ./Coerce/coerce.scm 122 */
int BgL_kz00_1685;
BgL_kz00_1685 = 
(int)(BgL_modz00_1671); 
BgL_bucketz00_1675 = 
VECTOR_REF(BgL_arg2017z00_1666,BgL_kz00_1685); } 
{ /* ./Coerce/coerce.scm 122 */
int BgL_kz00_1687;
BgL_kz00_1687 = 
(int)(BgL_restz00_1673); 
BgL_method2713z00_1663 = 
VECTOR_REF(BgL_bucketz00_1675,BgL_kz00_1687); } } } } } } } } } } 
{ /* ./Coerce/coerce.scm 122 */
obj_t BgL_auxz00_4031;
BgL_auxz00_4031 = 
PROCEDURE_ENTRY(BgL_method2713z00_1663)(BgL_method2713z00_1663, 
(obj_t)(BgL_nodez00_1660), BgL_callerz00_1189, 
(obj_t)(BgL_toz00_1662), BEOA); 
BgL_res3792z00_1688 = 
(BgL_nodez00_bglt)(BgL_auxz00_4031); } } } 
BgL_arg3226z00_1195 = BgL_res3792z00_1688; } } 
{ /* ./Coerce/coerce.scm 122 */
obj_t BgL_objz00_1690;
BgL_objz00_1690 = 
(obj_t)(BgL_arg3226z00_1195); 
SET_CAR(BgL_arg3225z00_1194, BgL_objz00_1690); } } 
{ /* ./Coerce/coerce.scm 123 */
obj_t BgL_arg3237z00_1198;BgL_nodez00_bglt BgL_arg3238z00_1199;
{ /* ./Coerce/coerce.scm 123 */
obj_t BgL_auxz00_4039;
{ /* ./Coerce/coerce.scm 123 */
BgL_externz00_bglt BgL_obj1817z00_1691;
BgL_obj1817z00_1691 = 
(BgL_externz00_bglt)(BgL_nodez00_1188); 
BgL_auxz00_4039 = 
(((BgL_externz00_bglt)CREF(BgL_obj1817z00_1691))->BgL_exprza2za2); } 
BgL_arg3237z00_1198 = 
CDR(BgL_auxz00_4039); } 
{ /* ./Coerce/coerce.scm 123 */
obj_t BgL_arg3245z00_1201;BgL_typez00_bglt BgL_arg3246z00_1202;
{ /* ./Coerce/coerce.scm 123 */
obj_t BgL_auxz00_4043;
{ /* ./Coerce/coerce.scm 123 */
obj_t BgL_auxz00_4044;
{ /* ./Coerce/coerce.scm 123 */
BgL_externz00_bglt BgL_obj1817z00_1693;
BgL_obj1817z00_1693 = 
(BgL_externz00_bglt)(BgL_nodez00_1188); 
BgL_auxz00_4044 = 
(((BgL_externz00_bglt)CREF(BgL_obj1817z00_1693))->BgL_exprza2za2); } 
BgL_auxz00_4043 = 
CDR(BgL_auxz00_4044); } 
BgL_arg3245z00_1201 = 
CAR(BgL_auxz00_4043); } 
BgL_arg3246z00_1202 = 
(((BgL_setfieldz00_bglt)CREF(BgL_nodez00_1188))->BgL_ftypez00); 
{ /* ./Coerce/coerce.scm 123 */
BgL_nodez00_bglt BgL_res3795z00_1727;
{ /* ./Coerce/coerce.scm 123 */
BgL_nodez00_bglt BgL_nodez00_1699;
BgL_nodez00_1699 = 
(BgL_nodez00_bglt)(BgL_arg3245z00_1201); 
{ /* ./Coerce/coerce.scm 123 */
obj_t BgL_method2713z00_1702;
{ /* ./Coerce/coerce.scm 123 */
BgL_objectz00_bglt BgL_objz00_1703;
BgL_objz00_1703 = 
(BgL_objectz00_bglt)(BgL_nodez00_1699); 
{ /* ./Coerce/coerce.scm 123 */
long BgL_objzd2classzd2numz00_1704;
BgL_objzd2classzd2numz00_1704 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1703); 
{ /* ./Coerce/coerce.scm 123 */
obj_t BgL_arg2017z00_1705;
{ /* ./Coerce/coerce.scm 123 */
int BgL_auxz00_4053;
BgL_auxz00_4053 = 
(int)(((long)1)); 
BgL_arg2017z00_1705 = 
PROCEDURE_REF(BGl_coercez12zd2envzc0zzcoerce_coercez00, BgL_auxz00_4053); } 
{ /* ./Coerce/coerce.scm 123 */
int BgL_offsetz00_1708;
BgL_offsetz00_1708 = 
(int)(BgL_objzd2classzd2numz00_1704); 
{ /* ./Coerce/coerce.scm 123 */
long BgL_offsetz00_1709;
{ /* ./Coerce/coerce.scm 123 */
long BgL_auxz00_4057;
BgL_auxz00_4057 = 
(long)(BgL_offsetz00_1708); 
BgL_offsetz00_1709 = 
(BgL_auxz00_4057-OBJECT_TYPE); } 
{ /* ./Coerce/coerce.scm 123 */
long BgL_modz00_1710;
{ /* ./Coerce/coerce.scm 123 */
int BgL_arg2028z00_1711;
BgL_arg2028z00_1711 = 
(int)(((long)8)); 
{ /* ./Coerce/coerce.scm 123 */
long BgL_n2z00_1719;
BgL_n2z00_1719 = 
(long)(BgL_arg2028z00_1711); 
BgL_modz00_1710 = 
(BgL_offsetz00_1709/BgL_n2z00_1719); } } 
{ /* ./Coerce/coerce.scm 123 */
long BgL_restz00_1712;
{ /* ./Coerce/coerce.scm 123 */
int BgL_arg2024z00_1713;
BgL_arg2024z00_1713 = 
(int)(((long)8)); 
{ /* ./Coerce/coerce.scm 123 */
long BgL_n2z00_1722;
BgL_n2z00_1722 = 
(long)(BgL_arg2024z00_1713); 
BgL_restz00_1712 = 
(BgL_offsetz00_1709%BgL_n2z00_1722); } } 
{ /* ./Coerce/coerce.scm 123 */

{ /* ./Coerce/coerce.scm 123 */
obj_t BgL_bucketz00_1714;
{ /* ./Coerce/coerce.scm 123 */
int BgL_kz00_1724;
BgL_kz00_1724 = 
(int)(BgL_modz00_1710); 
BgL_bucketz00_1714 = 
VECTOR_REF(BgL_arg2017z00_1705,BgL_kz00_1724); } 
{ /* ./Coerce/coerce.scm 123 */
int BgL_kz00_1726;
BgL_kz00_1726 = 
(int)(BgL_restz00_1712); 
BgL_method2713z00_1702 = 
VECTOR_REF(BgL_bucketz00_1714,BgL_kz00_1726); } } } } } } } } } } 
{ /* ./Coerce/coerce.scm 123 */
obj_t BgL_auxz00_4070;
BgL_auxz00_4070 = 
PROCEDURE_ENTRY(BgL_method2713z00_1702)(BgL_method2713z00_1702, 
(obj_t)(BgL_nodez00_1699), BgL_callerz00_1189, 
(obj_t)(BgL_arg3246z00_1202), BEOA); 
BgL_res3795z00_1727 = 
(BgL_nodez00_bglt)(BgL_auxz00_4070); } } } 
BgL_arg3238z00_1199 = BgL_res3795z00_1727; } } 
{ /* ./Coerce/coerce.scm 123 */
obj_t BgL_objz00_1729;
BgL_objz00_1729 = 
(obj_t)(BgL_arg3238z00_1199); 
SET_CAR(BgL_arg3237z00_1198, BgL_objz00_1729); } } 
BgL_auxz00_4003 = 
BGl_convertz12z12zzcoerce_convertz00(
(BgL_nodez00_bglt)(BgL_nodez00_1188), 
(BgL_typez00_bglt)(BGl_za2unspecza2z00zztype_cachez00), 
(BgL_typez00_bglt)(BgL_toz00_1190)); 
return 
(obj_t)(BgL_auxz00_4003);} } } 
}



/* coerce!-getfield2727 */
obj_t BGl_coercez12zd2getfield2727zc0zzcoerce_coercez00(obj_t BgL_envz00_2841, obj_t BgL_nodez00_2842, obj_t BgL_callerz00_2843, obj_t BgL_toz00_2844)
{ AN_OBJECT;
{ /* ./Coerce/coerce.scm 109 */
{ 
BgL_getfieldz00_bglt BgL_nodez00_1175;obj_t BgL_callerz00_1176;obj_t BgL_toz00_1177;
{ /* ./Coerce/coerce.scm 110 */
BgL_nodez00_bglt BgL_auxz00_4084;
BgL_nodez00_1175 = 
(BgL_getfieldz00_bglt)(BgL_nodez00_2842); 
BgL_callerz00_1176 = BgL_callerz00_2843; 
BgL_toz00_1177 = BgL_toz00_2844; 
{ /* ./Coerce/coerce.scm 114 */
obj_t BgL_arg3203z00_1181;BgL_nodez00_bglt BgL_arg3204z00_1182;
{ /* ./Coerce/coerce.scm 114 */
BgL_externz00_bglt BgL_obj1817z00_1622;
BgL_obj1817z00_1622 = 
(BgL_externz00_bglt)(BgL_nodez00_1175); 
BgL_arg3203z00_1181 = 
(((BgL_externz00_bglt)CREF(BgL_obj1817z00_1622))->BgL_exprza2za2); } 
{ /* ./Coerce/coerce.scm 114 */
obj_t BgL_arg3208z00_1183;
{ /* ./Coerce/coerce.scm 114 */
obj_t BgL_auxz00_4087;
{ /* ./Coerce/coerce.scm 114 */
BgL_externz00_bglt BgL_obj1817z00_1623;
BgL_obj1817z00_1623 = 
(BgL_externz00_bglt)(BgL_nodez00_1175); 
BgL_auxz00_4087 = 
(((BgL_externz00_bglt)CREF(BgL_obj1817z00_1623))->BgL_exprza2za2); } 
BgL_arg3208z00_1183 = 
CAR(BgL_auxz00_4087); } 
{ /* ./Coerce/coerce.scm 114 */
BgL_nodez00_bglt BgL_res3789z00_1653;
{ /* ./Coerce/coerce.scm 114 */
BgL_nodez00_bglt BgL_nodez00_1625;BgL_typez00_bglt BgL_toz00_1627;
BgL_nodez00_1625 = 
(BgL_nodez00_bglt)(BgL_arg3208z00_1183); 
BgL_toz00_1627 = 
(BgL_typez00_bglt)(BGl_za2objza2z00zztype_cachez00); 
{ /* ./Coerce/coerce.scm 114 */
obj_t BgL_method2713z00_1628;
{ /* ./Coerce/coerce.scm 114 */
BgL_objectz00_bglt BgL_objz00_1629;
BgL_objz00_1629 = 
(BgL_objectz00_bglt)(BgL_nodez00_1625); 
{ /* ./Coerce/coerce.scm 114 */
long BgL_objzd2classzd2numz00_1630;
BgL_objzd2classzd2numz00_1630 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1629); 
{ /* ./Coerce/coerce.scm 114 */
obj_t BgL_arg2017z00_1631;
{ /* ./Coerce/coerce.scm 114 */
int BgL_auxz00_4095;
BgL_auxz00_4095 = 
(int)(((long)1)); 
BgL_arg2017z00_1631 = 
PROCEDURE_REF(BGl_coercez12zd2envzc0zzcoerce_coercez00, BgL_auxz00_4095); } 
{ /* ./Coerce/coerce.scm 114 */
int BgL_offsetz00_1634;
BgL_offsetz00_1634 = 
(int)(BgL_objzd2classzd2numz00_1630); 
{ /* ./Coerce/coerce.scm 114 */
long BgL_offsetz00_1635;
{ /* ./Coerce/coerce.scm 114 */
long BgL_auxz00_4099;
BgL_auxz00_4099 = 
(long)(BgL_offsetz00_1634); 
BgL_offsetz00_1635 = 
(BgL_auxz00_4099-OBJECT_TYPE); } 
{ /* ./Coerce/coerce.scm 114 */
long BgL_modz00_1636;
{ /* ./Coerce/coerce.scm 114 */
int BgL_arg2028z00_1637;
BgL_arg2028z00_1637 = 
(int)(((long)8)); 
{ /* ./Coerce/coerce.scm 114 */
long BgL_n2z00_1645;
BgL_n2z00_1645 = 
(long)(BgL_arg2028z00_1637); 
BgL_modz00_1636 = 
(BgL_offsetz00_1635/BgL_n2z00_1645); } } 
{ /* ./Coerce/coerce.scm 114 */
long BgL_restz00_1638;
{ /* ./Coerce/coerce.scm 114 */
int BgL_arg2024z00_1639;
BgL_arg2024z00_1639 = 
(int)(((long)8)); 
{ /* ./Coerce/coerce.scm 114 */
long BgL_n2z00_1648;
BgL_n2z00_1648 = 
(long)(BgL_arg2024z00_1639); 
BgL_restz00_1638 = 
(BgL_offsetz00_1635%BgL_n2z00_1648); } } 
{ /* ./Coerce/coerce.scm 114 */

{ /* ./Coerce/coerce.scm 114 */
obj_t BgL_bucketz00_1640;
{ /* ./Coerce/coerce.scm 114 */
int BgL_kz00_1650;
BgL_kz00_1650 = 
(int)(BgL_modz00_1636); 
BgL_bucketz00_1640 = 
VECTOR_REF(BgL_arg2017z00_1631,BgL_kz00_1650); } 
{ /* ./Coerce/coerce.scm 114 */
int BgL_kz00_1652;
BgL_kz00_1652 = 
(int)(BgL_restz00_1638); 
BgL_method2713z00_1628 = 
VECTOR_REF(BgL_bucketz00_1640,BgL_kz00_1652); } } } } } } } } } } 
{ /* ./Coerce/coerce.scm 114 */
obj_t BgL_auxz00_4112;
BgL_auxz00_4112 = 
PROCEDURE_ENTRY(BgL_method2713z00_1628)(BgL_method2713z00_1628, 
(obj_t)(BgL_nodez00_1625), BgL_callerz00_1176, 
(obj_t)(BgL_toz00_1627), BEOA); 
BgL_res3789z00_1653 = 
(BgL_nodez00_bglt)(BgL_auxz00_4112); } } } 
BgL_arg3204z00_1182 = BgL_res3789z00_1653; } } 
{ /* ./Coerce/coerce.scm 114 */
obj_t BgL_objz00_1655;
BgL_objz00_1655 = 
(obj_t)(BgL_arg3204z00_1182); 
SET_CAR(BgL_arg3203z00_1181, BgL_objz00_1655); } } 
{ /* ./Coerce/coerce.scm 115 */
BgL_typez00_bglt BgL_arg3215z00_1185;
BgL_arg3215z00_1185 = 
(((BgL_getfieldz00_bglt)CREF(BgL_nodez00_1175))->BgL_ftypez00); 
BgL_auxz00_4084 = 
BGl_convertz12z12zzcoerce_convertz00(
(BgL_nodez00_bglt)(BgL_nodez00_1175), BgL_arg3215z00_1185, 
(BgL_typez00_bglt)(BgL_toz00_1177)); } 
return 
(obj_t)(BgL_auxz00_4084);} } } 
}



/* coerce!-extern2725 */
obj_t BGl_coercez12zd2extern2725zc0zzcoerce_coercez00(obj_t BgL_envz00_2845, obj_t BgL_nodez00_2846, obj_t BgL_callerz00_2847, obj_t BgL_toz00_2848)
{ AN_OBJECT;
{ /* ./Coerce/coerce.scm 95 */
{ 
BgL_externz00_bglt BgL_nodez00_1157;obj_t BgL_callerz00_1158;obj_t BgL_toz00_1159;
{ /* ./Coerce/coerce.scm 96 */
BgL_nodez00_bglt BgL_auxz00_4126;
BgL_nodez00_1157 = 
(BgL_externz00_bglt)(BgL_nodez00_2846); 
BgL_callerz00_1158 = BgL_callerz00_2847; 
BgL_toz00_1159 = BgL_toz00_2848; 
{ 
obj_t BgL_valuesz00_1163;
{ /* ./Coerce/coerce.scm 97 */
obj_t BgL_arg3170z00_1165;
BgL_arg3170z00_1165 = 
(((BgL_externz00_bglt)CREF(BgL_nodez00_1157))->BgL_exprza2za2); 
BgL_valuesz00_1163 = BgL_arg3170z00_1165; 
BgL_loopz00_1164:
{ /* ./Coerce/coerce.scm 98 */
bool_t BgL_test3173z00_1166;
BgL_test3173z00_1166 = 
NULLP(BgL_valuesz00_1163); 
if(BgL_test3173z00_1166)
{ /* ./Coerce/coerce.scm 99 */
BgL_typez00_bglt BgL_arg3175z00_1167;
BgL_arg3175z00_1167 = 
BGl_typeofz00zztype_typeofz00(
(BgL_nodez00_bglt)(BgL_nodez00_1157)); 
BgL_auxz00_4126 = 
BGl_convertz12z12zzcoerce_convertz00(
(BgL_nodez00_bglt)(BgL_nodez00_1157), BgL_arg3175z00_1167, 
(BgL_typez00_bglt)(BgL_toz00_1159)); }  else 
{ /* ./Coerce/coerce.scm 98 */
{ /* ./Coerce/coerce.scm 101 */
BgL_nodez00_bglt BgL_arg3179z00_1168;
{ /* ./Coerce/coerce.scm 101 */
obj_t BgL_arg3183z00_1169;BgL_typez00_bglt BgL_arg3184z00_1170;
BgL_arg3183z00_1169 = 
CAR(BgL_valuesz00_1163); 
{ /* ./Coerce/coerce.scm 103 */
obj_t BgL_arg3188z00_1171;
BgL_arg3188z00_1171 = 
CAR(BgL_valuesz00_1163); 
BgL_arg3184z00_1170 = 
BGl_typeofz00zztype_typeofz00(
(BgL_nodez00_bglt)(BgL_arg3188z00_1171)); } 
{ /* ./Coerce/coerce.scm 101 */
BgL_nodez00_bglt BgL_res3786z00_1618;
{ /* ./Coerce/coerce.scm 101 */
BgL_nodez00_bglt BgL_nodez00_1590;
BgL_nodez00_1590 = 
(BgL_nodez00_bglt)(BgL_arg3183z00_1169); 
{ /* ./Coerce/coerce.scm 101 */
obj_t BgL_method2713z00_1593;
{ /* ./Coerce/coerce.scm 101 */
BgL_objectz00_bglt BgL_objz00_1594;
BgL_objz00_1594 = 
(BgL_objectz00_bglt)(BgL_nodez00_1590); 
{ /* ./Coerce/coerce.scm 101 */
long BgL_objzd2classzd2numz00_1595;
BgL_objzd2classzd2numz00_1595 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1594); 
{ /* ./Coerce/coerce.scm 101 */
obj_t BgL_arg2017z00_1596;
{ /* ./Coerce/coerce.scm 101 */
int BgL_auxz00_4142;
BgL_auxz00_4142 = 
(int)(((long)1)); 
BgL_arg2017z00_1596 = 
PROCEDURE_REF(BGl_coercez12zd2envzc0zzcoerce_coercez00, BgL_auxz00_4142); } 
{ /* ./Coerce/coerce.scm 101 */
int BgL_offsetz00_1599;
BgL_offsetz00_1599 = 
(int)(BgL_objzd2classzd2numz00_1595); 
{ /* ./Coerce/coerce.scm 101 */
long BgL_offsetz00_1600;
{ /* ./Coerce/coerce.scm 101 */
long BgL_auxz00_4146;
BgL_auxz00_4146 = 
(long)(BgL_offsetz00_1599); 
BgL_offsetz00_1600 = 
(BgL_auxz00_4146-OBJECT_TYPE); } 
{ /* ./Coerce/coerce.scm 101 */
long BgL_modz00_1601;
{ /* ./Coerce/coerce.scm 101 */
int BgL_arg2028z00_1602;
BgL_arg2028z00_1602 = 
(int)(((long)8)); 
{ /* ./Coerce/coerce.scm 101 */
long BgL_n2z00_1610;
BgL_n2z00_1610 = 
(long)(BgL_arg2028z00_1602); 
BgL_modz00_1601 = 
(BgL_offsetz00_1600/BgL_n2z00_1610); } } 
{ /* ./Coerce/coerce.scm 101 */
long BgL_restz00_1603;
{ /* ./Coerce/coerce.scm 101 */
int BgL_arg2024z00_1604;
BgL_arg2024z00_1604 = 
(int)(((long)8)); 
{ /* ./Coerce/coerce.scm 101 */
long BgL_n2z00_1613;
BgL_n2z00_1613 = 
(long)(BgL_arg2024z00_1604); 
BgL_restz00_1603 = 
(BgL_offsetz00_1600%BgL_n2z00_1613); } } 
{ /* ./Coerce/coerce.scm 101 */

{ /* ./Coerce/coerce.scm 101 */
obj_t BgL_bucketz00_1605;
{ /* ./Coerce/coerce.scm 101 */
int BgL_kz00_1615;
BgL_kz00_1615 = 
(int)(BgL_modz00_1601); 
BgL_bucketz00_1605 = 
VECTOR_REF(BgL_arg2017z00_1596,BgL_kz00_1615); } 
{ /* ./Coerce/coerce.scm 101 */
int BgL_kz00_1617;
BgL_kz00_1617 = 
(int)(BgL_restz00_1603); 
BgL_method2713z00_1593 = 
VECTOR_REF(BgL_bucketz00_1605,BgL_kz00_1617); } } } } } } } } } } 
{ /* ./Coerce/coerce.scm 101 */
obj_t BgL_auxz00_4159;
BgL_auxz00_4159 = 
PROCEDURE_ENTRY(BgL_method2713z00_1593)(BgL_method2713z00_1593, 
(obj_t)(BgL_nodez00_1590), BgL_callerz00_1158, 
(obj_t)(BgL_arg3184z00_1170), BEOA); 
BgL_res3786z00_1618 = 
(BgL_nodez00_bglt)(BgL_auxz00_4159); } } } 
BgL_arg3179z00_1168 = BgL_res3786z00_1618; } } 
{ /* ./Coerce/coerce.scm 101 */
obj_t BgL_objz00_1620;
BgL_objz00_1620 = 
(obj_t)(BgL_arg3179z00_1168); 
SET_CAR(BgL_valuesz00_1163, BgL_objz00_1620); } } 
{ /* ./Coerce/coerce.scm 104 */
obj_t BgL_arg3192z00_1172;
BgL_arg3192z00_1172 = 
CDR(BgL_valuesz00_1163); 
{ 
obj_t BgL_valuesz00_4168;
BgL_valuesz00_4168 = BgL_arg3192z00_1172; 
BgL_valuesz00_1163 = BgL_valuesz00_4168; 
goto BgL_loopz00_1164;} } } } } } 
return 
(obj_t)(BgL_auxz00_4126);} } } 
}



/* coerce!-sequence2723 */
obj_t BGl_coercez12zd2sequence2723zc0zzcoerce_coercez00(obj_t BgL_envz00_2849, obj_t BgL_nodez00_2850, obj_t BgL_callerz00_2851, obj_t BgL_toz00_2852)
{ AN_OBJECT;
{ /* ./Coerce/coerce.scm 79 */
{ 
BgL_sequencez00_bglt BgL_nodez00_1137;obj_t BgL_callerz00_1138;obj_t BgL_toz00_1139;
{ /* ./Coerce/coerce.scm 80 */
BgL_sequencez00_bglt BgL_auxz00_4171;
BgL_nodez00_1137 = 
(BgL_sequencez00_bglt)(BgL_nodez00_2850); 
BgL_callerz00_1138 = BgL_callerz00_2851; 
BgL_toz00_1139 = BgL_toz00_2852; 
{ 
obj_t BgL_hookz00_1143;
{ /* ./Coerce/coerce.scm 81 */
obj_t BgL_arg3132z00_1145;
BgL_arg3132z00_1145 = 
(((BgL_sequencez00_bglt)CREF(BgL_nodez00_1137))->BgL_nodesz00); 
BgL_hookz00_1143 = BgL_arg3132z00_1145; 
BgL_loopz00_1144:
{ /* ./Coerce/coerce.scm 82 */
bool_t BgL_test3135z00_1146;
{ /* ./Coerce/coerce.scm 82 */
obj_t BgL_auxz00_4173;
BgL_auxz00_4173 = 
CDR(BgL_hookz00_1143); 
BgL_test3135z00_1146 = 
NULLP(BgL_auxz00_4173); } 
if(BgL_test3135z00_1146)
{ /* ./Coerce/coerce.scm 82 */
{ /* ./Coerce/coerce.scm 84 */
BgL_nodez00_bglt BgL_arg3137z00_1147;
{ /* ./Coerce/coerce.scm 84 */
obj_t BgL_arg3140z00_1148;
BgL_arg3140z00_1148 = 
CAR(BgL_hookz00_1143); 
{ /* ./Coerce/coerce.scm 84 */
BgL_nodez00_bglt BgL_res3780z00_1549;
{ /* ./Coerce/coerce.scm 84 */
BgL_nodez00_bglt BgL_nodez00_1521;BgL_typez00_bglt BgL_toz00_1523;
BgL_nodez00_1521 = 
(BgL_nodez00_bglt)(BgL_arg3140z00_1148); 
BgL_toz00_1523 = 
(BgL_typez00_bglt)(BgL_toz00_1139); 
{ /* ./Coerce/coerce.scm 84 */
obj_t BgL_method2713z00_1524;
{ /* ./Coerce/coerce.scm 84 */
BgL_objectz00_bglt BgL_objz00_1525;
BgL_objz00_1525 = 
(BgL_objectz00_bglt)(BgL_nodez00_1521); 
{ /* ./Coerce/coerce.scm 84 */
long BgL_objzd2classzd2numz00_1526;
BgL_objzd2classzd2numz00_1526 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1525); 
{ /* ./Coerce/coerce.scm 84 */
obj_t BgL_arg2017z00_1527;
{ /* ./Coerce/coerce.scm 84 */
int BgL_auxz00_4182;
BgL_auxz00_4182 = 
(int)(((long)1)); 
BgL_arg2017z00_1527 = 
PROCEDURE_REF(BGl_coercez12zd2envzc0zzcoerce_coercez00, BgL_auxz00_4182); } 
{ /* ./Coerce/coerce.scm 84 */
int BgL_offsetz00_1530;
BgL_offsetz00_1530 = 
(int)(BgL_objzd2classzd2numz00_1526); 
{ /* ./Coerce/coerce.scm 84 */
long BgL_offsetz00_1531;
{ /* ./Coerce/coerce.scm 84 */
long BgL_auxz00_4186;
BgL_auxz00_4186 = 
(long)(BgL_offsetz00_1530); 
BgL_offsetz00_1531 = 
(BgL_auxz00_4186-OBJECT_TYPE); } 
{ /* ./Coerce/coerce.scm 84 */
long BgL_modz00_1532;
{ /* ./Coerce/coerce.scm 84 */
int BgL_arg2028z00_1533;
BgL_arg2028z00_1533 = 
(int)(((long)8)); 
{ /* ./Coerce/coerce.scm 84 */
long BgL_n2z00_1541;
BgL_n2z00_1541 = 
(long)(BgL_arg2028z00_1533); 
BgL_modz00_1532 = 
(BgL_offsetz00_1531/BgL_n2z00_1541); } } 
{ /* ./Coerce/coerce.scm 84 */
long BgL_restz00_1534;
{ /* ./Coerce/coerce.scm 84 */
int BgL_arg2024z00_1535;
BgL_arg2024z00_1535 = 
(int)(((long)8)); 
{ /* ./Coerce/coerce.scm 84 */
long BgL_n2z00_1544;
BgL_n2z00_1544 = 
(long)(BgL_arg2024z00_1535); 
BgL_restz00_1534 = 
(BgL_offsetz00_1531%BgL_n2z00_1544); } } 
{ /* ./Coerce/coerce.scm 84 */

{ /* ./Coerce/coerce.scm 84 */
obj_t BgL_bucketz00_1536;
{ /* ./Coerce/coerce.scm 84 */
int BgL_kz00_1546;
BgL_kz00_1546 = 
(int)(BgL_modz00_1532); 
BgL_bucketz00_1536 = 
VECTOR_REF(BgL_arg2017z00_1527,BgL_kz00_1546); } 
{ /* ./Coerce/coerce.scm 84 */
int BgL_kz00_1548;
BgL_kz00_1548 = 
(int)(BgL_restz00_1534); 
BgL_method2713z00_1524 = 
VECTOR_REF(BgL_bucketz00_1536,BgL_kz00_1548); } } } } } } } } } } 
{ /* ./Coerce/coerce.scm 84 */
obj_t BgL_auxz00_4199;
BgL_auxz00_4199 = 
PROCEDURE_ENTRY(BgL_method2713z00_1524)(BgL_method2713z00_1524, 
(obj_t)(BgL_nodez00_1521), BgL_callerz00_1138, 
(obj_t)(BgL_toz00_1523), BEOA); 
BgL_res3780z00_1549 = 
(BgL_nodez00_bglt)(BgL_auxz00_4199); } } } 
BgL_arg3137z00_1147 = BgL_res3780z00_1549; } } 
{ /* ./Coerce/coerce.scm 84 */
obj_t BgL_objz00_1551;
BgL_objz00_1551 = 
(obj_t)(BgL_arg3137z00_1147); 
SET_CAR(BgL_hookz00_1143, BgL_objz00_1551); } } 
BgL_auxz00_4171 = BgL_nodez00_1137; }  else 
{ /* ./Coerce/coerce.scm 82 */
{ /* ./Coerce/coerce.scm 89 */
BgL_nodez00_bglt BgL_arg3144z00_1149;
{ /* ./Coerce/coerce.scm 89 */
obj_t BgL_arg3147z00_1150;BgL_typez00_bglt BgL_arg3148z00_1151;
BgL_arg3147z00_1150 = 
CAR(BgL_hookz00_1143); 
{ /* ./Coerce/coerce.scm 89 */
obj_t BgL_arg3152z00_1152;
BgL_arg3152z00_1152 = 
CAR(BgL_hookz00_1143); 
BgL_arg3148z00_1151 = 
BGl_typeofz00zztype_typeofz00(
(BgL_nodez00_bglt)(BgL_arg3152z00_1152)); } 
{ /* ./Coerce/coerce.scm 89 */
BgL_nodez00_bglt BgL_res3783z00_1582;
{ /* ./Coerce/coerce.scm 89 */
BgL_nodez00_bglt BgL_nodez00_1554;
BgL_nodez00_1554 = 
(BgL_nodez00_bglt)(BgL_arg3147z00_1150); 
{ /* ./Coerce/coerce.scm 89 */
obj_t BgL_method2713z00_1557;
{ /* ./Coerce/coerce.scm 89 */
BgL_objectz00_bglt BgL_objz00_1558;
BgL_objz00_1558 = 
(BgL_objectz00_bglt)(BgL_nodez00_1554); 
{ /* ./Coerce/coerce.scm 89 */
long BgL_objzd2classzd2numz00_1559;
BgL_objzd2classzd2numz00_1559 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1558); 
{ /* ./Coerce/coerce.scm 89 */
obj_t BgL_arg2017z00_1560;
{ /* ./Coerce/coerce.scm 89 */
int BgL_auxz00_4214;
BgL_auxz00_4214 = 
(int)(((long)1)); 
BgL_arg2017z00_1560 = 
PROCEDURE_REF(BGl_coercez12zd2envzc0zzcoerce_coercez00, BgL_auxz00_4214); } 
{ /* ./Coerce/coerce.scm 89 */
int BgL_offsetz00_1563;
BgL_offsetz00_1563 = 
(int)(BgL_objzd2classzd2numz00_1559); 
{ /* ./Coerce/coerce.scm 89 */
long BgL_offsetz00_1564;
{ /* ./Coerce/coerce.scm 89 */
long BgL_auxz00_4218;
BgL_auxz00_4218 = 
(long)(BgL_offsetz00_1563); 
BgL_offsetz00_1564 = 
(BgL_auxz00_4218-OBJECT_TYPE); } 
{ /* ./Coerce/coerce.scm 89 */
long BgL_modz00_1565;
{ /* ./Coerce/coerce.scm 89 */
int BgL_arg2028z00_1566;
BgL_arg2028z00_1566 = 
(int)(((long)8)); 
{ /* ./Coerce/coerce.scm 89 */
long BgL_n2z00_1574;
BgL_n2z00_1574 = 
(long)(BgL_arg2028z00_1566); 
BgL_modz00_1565 = 
(BgL_offsetz00_1564/BgL_n2z00_1574); } } 
{ /* ./Coerce/coerce.scm 89 */
long BgL_restz00_1567;
{ /* ./Coerce/coerce.scm 89 */
int BgL_arg2024z00_1568;
BgL_arg2024z00_1568 = 
(int)(((long)8)); 
{ /* ./Coerce/coerce.scm 89 */
long BgL_n2z00_1577;
BgL_n2z00_1577 = 
(long)(BgL_arg2024z00_1568); 
BgL_restz00_1567 = 
(BgL_offsetz00_1564%BgL_n2z00_1577); } } 
{ /* ./Coerce/coerce.scm 89 */

{ /* ./Coerce/coerce.scm 89 */
obj_t BgL_bucketz00_1569;
{ /* ./Coerce/coerce.scm 89 */
int BgL_kz00_1579;
BgL_kz00_1579 = 
(int)(BgL_modz00_1565); 
BgL_bucketz00_1569 = 
VECTOR_REF(BgL_arg2017z00_1560,BgL_kz00_1579); } 
{ /* ./Coerce/coerce.scm 89 */
int BgL_kz00_1581;
BgL_kz00_1581 = 
(int)(BgL_restz00_1567); 
BgL_method2713z00_1557 = 
VECTOR_REF(BgL_bucketz00_1569,BgL_kz00_1581); } } } } } } } } } } 
{ /* ./Coerce/coerce.scm 89 */
obj_t BgL_auxz00_4231;
BgL_auxz00_4231 = 
PROCEDURE_ENTRY(BgL_method2713z00_1557)(BgL_method2713z00_1557, 
(obj_t)(BgL_nodez00_1554), BgL_callerz00_1138, 
(obj_t)(BgL_arg3148z00_1151), BEOA); 
BgL_res3783z00_1582 = 
(BgL_nodez00_bglt)(BgL_auxz00_4231); } } } 
BgL_arg3144z00_1149 = BgL_res3783z00_1582; } } 
{ /* ./Coerce/coerce.scm 89 */
obj_t BgL_objz00_1584;
BgL_objz00_1584 = 
(obj_t)(BgL_arg3144z00_1149); 
SET_CAR(BgL_hookz00_1143, BgL_objz00_1584); } } 
{ /* ./Coerce/coerce.scm 90 */
obj_t BgL_arg3156z00_1153;
BgL_arg3156z00_1153 = 
CDR(BgL_hookz00_1143); 
{ 
obj_t BgL_hookz00_4240;
BgL_hookz00_4240 = BgL_arg3156z00_1153; 
BgL_hookz00_1143 = BgL_hookz00_4240; 
goto BgL_loopz00_1144;} } } } } } 
return 
(obj_t)(BgL_auxz00_4171);} } } 
}



/* coerce!-closure2721 */
obj_t BGl_coercez12zd2closure2721zc0zzcoerce_coercez00(obj_t BgL_envz00_2853, obj_t BgL_nodez00_2854, obj_t BgL_callerz00_2855, obj_t BgL_toz00_2856)
{ AN_OBJECT;
{ /* ./Coerce/coerce.scm 73 */
{ 
BgL_closurez00_bglt BgL_nodez00_1127;obj_t BgL_callerz00_1128;obj_t BgL_toz00_1129;
BgL_nodez00_1127 = 
(BgL_closurez00_bglt)(BgL_nodez00_2854); 
BgL_callerz00_1128 = BgL_callerz00_2855; 
BgL_toz00_1129 = BgL_toz00_2856; 
{ /* ./Coerce/coerce.scm 74 */
obj_t BgL_arg3122z00_1516;
BgL_arg3122z00_1516 = 
BGl_shapez00zztools_shapez00(
(obj_t)(BgL_nodez00_1127)); 
return 
BGl_internalzd2errorzd2zztools_errorz00(BGl_string4641z00zzcoerce_coercez00, BGl_string4642z00zzcoerce_coercez00, BgL_arg3122z00_1516);} } } 
}



/* coerce!-var2719 */
obj_t BGl_coercez12zd2var2719zc0zzcoerce_coercez00(obj_t BgL_envz00_2857, obj_t BgL_nodez00_2858, obj_t BgL_callerz00_2859, obj_t BgL_toz00_2860)
{ AN_OBJECT;
{ /* ./Coerce/coerce.scm 65 */
{ 
BgL_varz00_bglt BgL_nodez00_1118;obj_t BgL_callerz00_1119;obj_t BgL_toz00_1120;
{ /* ./Coerce/coerce.scm 67 */
BgL_nodez00_bglt BgL_auxz00_4247;
BgL_nodez00_1118 = 
(BgL_varz00_bglt)(BgL_nodez00_2858); 
BgL_callerz00_1119 = BgL_callerz00_2859; 
BgL_toz00_1120 = BgL_toz00_2860; 
{ /* ./Coerce/coerce.scm 67 */
BgL_typez00_bglt BgL_typez00_1513;
BgL_typez00_1513 = 
BGl_typeofz00zztype_typeofz00(
(BgL_nodez00_bglt)(BgL_nodez00_1118)); 
BgL_auxz00_4247 = 
BGl_convertz12z12zzcoerce_convertz00(
(BgL_nodez00_bglt)(BgL_nodez00_1118), BgL_typez00_1513, 
(BgL_typez00_bglt)(BgL_toz00_1120)); } 
return 
(obj_t)(BgL_auxz00_4247);} } } 
}



/* coerce!-kwote2717 */
obj_t BGl_coercez12zd2kwote2717zc0zzcoerce_coercez00(obj_t BgL_envz00_2861, obj_t BgL_nodez00_2862, obj_t BgL_callerz00_2863, obj_t BgL_toz00_2864)
{ AN_OBJECT;
{ /* ./Coerce/coerce.scm 59 */
{ 
BgL_kwotez00_bglt BgL_nodez00_1110;obj_t BgL_callerz00_1111;obj_t BgL_toz00_1112;
{ /* ./Coerce/coerce.scm 60 */
BgL_nodez00_bglt BgL_auxz00_4255;
BgL_nodez00_1110 = 
(BgL_kwotez00_bglt)(BgL_nodez00_2862); 
BgL_callerz00_1111 = BgL_callerz00_2863; 
BgL_toz00_1112 = BgL_toz00_2864; 
{ /* ./Coerce/coerce.scm 60 */
BgL_typez00_bglt BgL_arg3102z00_1512;
BgL_arg3102z00_1512 = 
BGl_typeofz00zztype_typeofz00(
(BgL_nodez00_bglt)(BgL_nodez00_1110)); 
BgL_auxz00_4255 = 
BGl_convertz12z12zzcoerce_convertz00(
(BgL_nodez00_bglt)(BgL_nodez00_1110), BgL_arg3102z00_1512, 
(BgL_typez00_bglt)(BgL_toz00_1112)); } 
return 
(obj_t)(BgL_auxz00_4255);} } } 
}



/* coerce!-atom2715 */
obj_t BGl_coercez12zd2atom2715zc0zzcoerce_coercez00(obj_t BgL_envz00_2865, obj_t BgL_nodez00_2866, obj_t BgL_callerz00_2867, obj_t BgL_toz00_2868)
{ AN_OBJECT;
{ /* ./Coerce/coerce.scm 53 */
{ 
BgL_atomz00_bglt BgL_nodez00_1102;obj_t BgL_callerz00_1103;obj_t BgL_toz00_1104;
{ /* ./Coerce/coerce.scm 54 */
BgL_nodez00_bglt BgL_auxz00_4263;
BgL_nodez00_1102 = 
(BgL_atomz00_bglt)(BgL_nodez00_2866); 
BgL_callerz00_1103 = BgL_callerz00_2867; 
BgL_toz00_1104 = BgL_toz00_2868; 
{ /* ./Coerce/coerce.scm 54 */
BgL_typez00_bglt BgL_arg3092z00_1511;
BgL_arg3092z00_1511 = 
BGl_typeofz00zztype_typeofz00(
(BgL_nodez00_bglt)(BgL_nodez00_1102)); 
BgL_auxz00_4263 = 
BGl_convertz12z12zzcoerce_convertz00(
(BgL_nodez00_bglt)(BgL_nodez00_1102), BgL_arg3092z00_1511, 
(BgL_typez00_bglt)(BgL_toz00_1104)); } 
return 
(obj_t)(BgL_auxz00_4263);} } } 
}



/* coerce! */
BGL_EXPORTED_DEF BgL_nodez00_bglt BGl_coercez12z12zzcoerce_coercez00(BgL_nodez00_bglt BgL_nodez00_2, obj_t BgL_callerz00_3, BgL_typez00_bglt BgL_toz00_4)
{ AN_OBJECT;
{ /* ./Coerce/coerce.scm 48 */
{ /* ./Coerce/coerce.scm 48 */
obj_t BgL_method2713z00_2710;
{ /* ./Coerce/coerce.scm 48 */
BgL_objectz00_bglt BgL_objz00_2711;
BgL_objz00_2711 = 
(BgL_objectz00_bglt)(BgL_nodez00_2); 
{ /* ./Coerce/coerce.scm 48 */
long BgL_objzd2classzd2numz00_2712;
BgL_objzd2classzd2numz00_2712 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2711); 
{ /* ./Coerce/coerce.scm 48 */
obj_t BgL_arg2017z00_2713;
{ /* ./Coerce/coerce.scm 48 */
int BgL_auxz00_4273;
BgL_auxz00_4273 = 
(int)(((long)1)); 
BgL_arg2017z00_2713 = 
PROCEDURE_REF(BGl_coercez12zd2envzc0zzcoerce_coercez00, BgL_auxz00_4273); } 
{ /* ./Coerce/coerce.scm 48 */
int BgL_offsetz00_2716;
BgL_offsetz00_2716 = 
(int)(BgL_objzd2classzd2numz00_2712); 
{ /* ./Coerce/coerce.scm 48 */
long BgL_offsetz00_2717;
{ /* ./Coerce/coerce.scm 48 */
long BgL_auxz00_4277;
BgL_auxz00_4277 = 
(long)(BgL_offsetz00_2716); 
BgL_offsetz00_2717 = 
(BgL_auxz00_4277-OBJECT_TYPE); } 
{ /* ./Coerce/coerce.scm 48 */
long BgL_modz00_2718;
{ /* ./Coerce/coerce.scm 48 */
int BgL_arg2028z00_2719;
BgL_arg2028z00_2719 = 
(int)(((long)8)); 
{ /* ./Coerce/coerce.scm 48 */
long BgL_n2z00_2727;
BgL_n2z00_2727 = 
(long)(BgL_arg2028z00_2719); 
BgL_modz00_2718 = 
(BgL_offsetz00_2717/BgL_n2z00_2727); } } 
{ /* ./Coerce/coerce.scm 48 */
long BgL_restz00_2720;
{ /* ./Coerce/coerce.scm 48 */
int BgL_arg2024z00_2721;
BgL_arg2024z00_2721 = 
(int)(((long)8)); 
{ /* ./Coerce/coerce.scm 48 */
long BgL_n2z00_2730;
BgL_n2z00_2730 = 
(long)(BgL_arg2024z00_2721); 
BgL_restz00_2720 = 
(BgL_offsetz00_2717%BgL_n2z00_2730); } } 
{ /* ./Coerce/coerce.scm 48 */

{ /* ./Coerce/coerce.scm 48 */
obj_t BgL_bucketz00_2722;
{ /* ./Coerce/coerce.scm 48 */
int BgL_kz00_2732;
BgL_kz00_2732 = 
(int)(BgL_modz00_2718); 
BgL_bucketz00_2722 = 
VECTOR_REF(BgL_arg2017z00_2713,BgL_kz00_2732); } 
{ /* ./Coerce/coerce.scm 48 */
int BgL_kz00_2734;
BgL_kz00_2734 = 
(int)(BgL_restz00_2720); 
BgL_method2713z00_2710 = 
VECTOR_REF(BgL_bucketz00_2722,BgL_kz00_2734); } } } } } } } } } } 
{ /* ./Coerce/coerce.scm 48 */
obj_t BgL_auxz00_4290;
BgL_auxz00_4290 = 
PROCEDURE_ENTRY(BgL_method2713z00_2710)(BgL_method2713z00_2710, 
(obj_t)(BgL_nodez00_2), BgL_callerz00_3, 
(obj_t)(BgL_toz00_4), BEOA); 
return 
(BgL_nodez00_bglt)(BgL_auxz00_4290);} } } 
}



/* _coerce!3884 */
obj_t BGl__coercez123884z12zzcoerce_coercez00(obj_t BgL_envz00_2740, obj_t BgL_nodez00_2741, obj_t BgL_callerz00_2742, obj_t BgL_toz00_2743)
{ AN_OBJECT;
{ /* ./Coerce/coerce.scm 48 */
{ /* ./Coerce/coerce.scm 48 */
BgL_nodez00_bglt BgL_auxz00_4296;
BgL_auxz00_4296 = 
BGl_coercez12z12zzcoerce_coercez00(
(BgL_nodez00_bglt)(BgL_nodez00_2741), BgL_callerz00_2742, 
(BgL_typez00_bglt)(BgL_toz00_2743)); 
return 
(obj_t)(BgL_auxz00_4296);} } 
}



/* coerce!-default2712 */
BgL_nodez00_bglt BGl_coercez12zd2default2712zc0zzcoerce_coercez00(BgL_nodez00_bglt BgL_nodez00_5, obj_t BgL_callerz00_6, BgL_typez00_bglt BgL_toz00_7)
{ AN_OBJECT;
{ /* ./Coerce/coerce.scm 15 */
{ /* ./Coerce/coerce.scm 15 */
obj_t BgL_procz00_2735;obj_t BgL_objectz00_2737;
BgL_procz00_2735 = 
CNST_TABLE_REF(((long)0)); 
BgL_objectz00_2737 = 
(obj_t)(BgL_nodez00_5); 
FAILURE(BgL_procz00_2735,BGl_string4643z00zzcoerce_coercez00,BgL_objectz00_2737);} } 
}



/* _coerce!-default2712 */
obj_t BGl__coercez12zd2default2712zc0zzcoerce_coercez00(obj_t BgL_envz00_2869, obj_t BgL_nodez00_2870, obj_t BgL_callerz00_2871, obj_t BgL_toz00_2872)
{ AN_OBJECT;
{ /* ./Coerce/coerce.scm 15 */
{ /* ./Coerce/coerce.scm 15 */
BgL_nodez00_bglt BgL_auxz00_4304;
BgL_auxz00_4304 = 
BGl_coercez12zd2default2712zc0zzcoerce_coercez00(
(BgL_nodez00_bglt)(BgL_nodez00_2870), BgL_callerz00_2871, 
(BgL_typez00_bglt)(BgL_toz00_2872)); 
return 
(obj_t)(BgL_auxz00_4304);} } 
}



/* imported-modules-init */
obj_t BGl_importedzd2moduleszd2initz00zzcoerce_coercez00()
{ AN_OBJECT;
{ /* ./Coerce/coerce.scm 15 */
BGl_modulezd2initializa7ationz75zztools_tracez00(((long)59211), "coerce_coerce"); 
BGl_modulezd2initializa7ationz75zzengine_paramz00(((long)14260), "coerce_coerce"); 
BGl_modulezd2initializa7ationz75zztools_shapez00(((long)30833), "coerce_coerce"); 
BGl_modulezd2initializa7ationz75zztools_errorz00(((long)25566), "coerce_coerce"); 
BGl_modulezd2initializa7ationz75zztype_typez00(((long)19090), "coerce_coerce"); 
BGl_modulezd2initializa7ationz75zztype_cachez00(((long)25848), "coerce_coerce"); 
BGl_modulezd2initializa7ationz75zztype_coercionz00(((long)58912), "coerce_coerce"); 
BGl_modulezd2initializa7ationz75zztype_typeofz00(((long)852), "coerce_coerce"); 
BGl_modulezd2initializa7ationz75zzast_varz00(((long)44246), "coerce_coerce"); 
BGl_modulezd2initializa7ationz75zzast_nodez00(((long)50868), "coerce_coerce"); 
BGl_modulezd2initializa7ationz75zzcoerce_pprotoz00(((long)38303), "coerce_coerce"); 
BGl_modulezd2initializa7ationz75zzcoerce_convertz00(((long)19914), "coerce_coerce"); 
BGl_modulezd2initializa7ationz75zzcoerce_appz00(((long)34430), "coerce_coerce"); 
BGl_modulezd2initializa7ationz75zzcoerce_applyz00(((long)9737), "coerce_coerce"); 
return 
BGl_modulezd2initializa7ationz75zzcoerce_funcallz00(((long)12202), "coerce_coerce");} 
}

