/*===========================================================================*/
/*   (BackEnd/cplib.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 BackEnd/cplib.scm)*/
/* GC selection */
#define THE_GC BOEHM_GC

#include <bigloo.h>


/* Object type definitions */
typedef struct BgL_typez00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_idz00;
   obj_t BgL_namez00;
   obj_t BgL_siza7eza7;
   obj_t BgL_classz00;
   obj_t BgL_coercezd2tozd2;
   obj_t BgL_parentsz00;
   bool_t BgL_initzf3zf3;
   bool_t BgL_magiczf3zf3;
   obj_t BgL_z42z42;
   obj_t BgL_aliasz00;
   obj_t BgL_pointedzd2tozd2byz00;
   obj_t BgL_tvectorz00;
   obj_t BgL_locationz00;
   obj_t BgL_importzd2locationzd2;
} *BgL_typez00_bglt;

typedef struct BgL_valuez00_bgl {
   header_t header;
   obj_t widening;
} *BgL_valuez00_bglt;

typedef struct BgL_variablez00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_idz00;
   obj_t BgL_namez00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_valuez00_bgl * BgL_valuez00;
   obj_t BgL_accessz00;
   obj_t BgL_fastzd2alphazd2;
   obj_t BgL_removablez00;
   long BgL_occurrencez00;
} *BgL_variablez00_bglt;

typedef struct BgL_globalz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_idz00;
   obj_t BgL_namez00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_valuez00_bgl * BgL_valuez00;
   obj_t BgL_accessz00;
   obj_t BgL_fastzd2alphazd2;
   obj_t BgL_removablez00;
   long BgL_occurrencez00;
   obj_t BgL_modulez00;
   obj_t BgL_importz00;
   bool_t BgL_evaluablezf3zf3;
   bool_t BgL_libraryzf3zf3;
   bool_t BgL_userzf3zf3;
   obj_t BgL_pragmaz00;
   obj_t BgL_srcz00;
   obj_t BgL_jvmzd2typezd2namez00;
} *BgL_globalz00_bglt;

typedef struct BgL_localz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_idz00;
   obj_t BgL_namez00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_valuez00_bgl * BgL_valuez00;
   obj_t BgL_accessz00;
   obj_t BgL_fastzd2alphazd2;
   obj_t BgL_removablez00;
   long BgL_occurrencez00;
   bool_t BgL_userzf3zf3;
   long BgL_keyz00;
} *BgL_localz00_bglt;

typedef struct BgL_funz00_bgl {
   header_t header;
   obj_t widening;
   long BgL_arityz00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_predicatezd2ofzd2;
   obj_t BgL_stackzd2allocatorzd2;
   bool_t BgL_topzf3zf3;
   obj_t BgL_thezd2closurezd2;
   obj_t BgL_effectz00;
} *BgL_funz00_bglt;

typedef struct BgL_sfunz00_bgl {
   header_t header;
   obj_t widening;
   long BgL_arityz00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_predicatezd2ofzd2;
   obj_t BgL_stackzd2allocatorzd2;
   bool_t BgL_topzf3zf3;
   obj_t BgL_thezd2closurezd2;
   obj_t BgL_effectz00;
   obj_t BgL_propertyz00;
   obj_t BgL_argsz00;
   obj_t BgL_bodyz00;
   obj_t BgL_classz00;
   obj_t BgL_dssslzd2keywordszd2;
   obj_t BgL_locz00;
} *BgL_sfunz00_bglt;

typedef struct BgL_cfunz00_bgl {
   header_t header;
   obj_t widening;
   long BgL_arityz00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_predicatezd2ofzd2;
   obj_t BgL_stackzd2allocatorzd2;
   bool_t BgL_topzf3zf3;
   obj_t BgL_thezd2closurezd2;
   obj_t BgL_effectz00;
   obj_t BgL_argszd2typezd2;
   bool_t BgL_macrozf3zf3;
   bool_t BgL_infixzf3zf3;
   obj_t BgL_methodz00;
} *BgL_cfunz00_bglt;

typedef struct BgL_svarz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
} *BgL_svarz00_bglt;

typedef struct BgL_scnstz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_nodez00;
   obj_t BgL_classz00;
   obj_t BgL_locz00;
} *BgL_scnstz00_bglt;

typedef struct BgL_cvarz00_bgl {
   header_t header;
   obj_t widening;
   bool_t BgL_macrozf3zf3;
} *BgL_cvarz00_bglt;

typedef struct BgL_sexitz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_handlerz00;
   bool_t BgL_detachedzf3zf3;
} *BgL_sexitz00_bglt;

typedef struct BgL_feffectz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_readz00;
   obj_t BgL_writez00;
} *BgL_feffectz00_bglt;

typedef struct BgL_nodez00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
} *BgL_nodez00_bglt;

typedef struct BgL_nodezf2effectzf2_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
} *BgL_nodezf2effectzf2_bglt;

typedef struct BgL_atomz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_valuez00;
} *BgL_atomz00_bglt;

typedef struct BgL_varz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_variablez00_bgl * BgL_variablez00;
} *BgL_varz00_bglt;

typedef struct BgL_closurez00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_variablez00_bgl * BgL_variablez00;
} *BgL_closurez00_bglt;

typedef struct BgL_kwotez00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_valuez00;
} *BgL_kwotez00_bglt;

typedef struct BgL_sequencez00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_nodesz00;
} *BgL_sequencez00_bglt;

typedef struct BgL_appz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   struct BgL_varz00_bgl * BgL_funz00;
   obj_t BgL_argsz00;
} *BgL_appz00_bglt;

typedef struct BgL_appzd2lyzd2_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_nodez00_bgl * BgL_funz00;
   struct BgL_nodez00_bgl * BgL_argz00;
} *BgL_appzd2lyzd2_bglt;

typedef struct BgL_funcallz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_nodez00_bgl * BgL_funz00;
   obj_t BgL_argsz00;
   obj_t BgL_strengthz00;
} *BgL_funcallz00_bglt;

typedef struct BgL_externz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
} *BgL_externz00_bglt;

typedef struct BgL_pragmaz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
   obj_t BgL_formatz00;
} *BgL_pragmaz00_bglt;

typedef struct BgL_getfieldz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
   obj_t BgL_fnamez00;
   struct BgL_typez00_bgl * BgL_ftypez00;
   struct BgL_typez00_bgl * BgL_otypez00;
} *BgL_getfieldz00_bglt;

typedef struct BgL_setfieldz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
   obj_t BgL_fnamez00;
   struct BgL_typez00_bgl * BgL_ftypez00;
   struct BgL_typez00_bgl * BgL_otypez00;
} *BgL_setfieldz00_bglt;

typedef struct BgL_newz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
} *BgL_newz00_bglt;

typedef struct BgL_vallocz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
   obj_t BgL_czd2heapzd2formatz00;
   struct BgL_typez00_bgl * BgL_ftypez00;
   struct BgL_typez00_bgl * BgL_otypez00;
} *BgL_vallocz00_bglt;

typedef struct BgL_vrefz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
   obj_t BgL_czd2formatzd2;
   struct BgL_typez00_bgl * BgL_ftypez00;
   struct BgL_typez00_bgl * BgL_otypez00;
   struct BgL_typez00_bgl * BgL_vtypez00;
} *BgL_vrefz00_bglt;

typedef struct BgL_vsetz12z12_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
   obj_t BgL_czd2formatzd2;
   struct BgL_typez00_bgl * BgL_ftypez00;
   struct BgL_typez00_bgl * BgL_otypez00;
   struct BgL_typez00_bgl * BgL_vtypez00;
} *BgL_vsetz12z12_bglt;

typedef struct BgL_vlengthz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
   obj_t BgL_czd2formatzd2;
   struct BgL_typez00_bgl * BgL_vtypez00;
} *BgL_vlengthz00_bglt;

typedef struct BgL_isaz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
   struct BgL_typez00_bgl * BgL_classz00;
} *BgL_isaz00_bglt;

typedef struct BgL_castz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_nodez00_bgl * BgL_argz00;
} *BgL_castz00_bglt;

typedef struct BgL_setqz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_varz00_bgl * BgL_varz00;
   struct BgL_nodez00_bgl * BgL_valuez00;
} *BgL_setqz00_bglt;

typedef struct BgL_conditionalz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   struct BgL_nodez00_bgl * BgL_testz00;
   struct BgL_nodez00_bgl * BgL_truez00;
   struct BgL_nodez00_bgl * BgL_falsez00;
} *BgL_conditionalz00_bglt;

typedef struct BgL_failz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_nodez00_bgl * BgL_procz00;
   struct BgL_nodez00_bgl * BgL_msgz00;
   struct BgL_nodez00_bgl * BgL_objz00;
} *BgL_failz00_bglt;

typedef struct BgL_selectz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   struct BgL_nodez00_bgl * BgL_testz00;
   obj_t BgL_clausesz00;
   struct BgL_typez00_bgl * BgL_itemzd2typezd2;
} *BgL_selectz00_bglt;

typedef struct BgL_letzd2funzd2_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_localsz00;
   struct BgL_nodez00_bgl * BgL_bodyz00;
} *BgL_letzd2funzd2_bglt;

typedef struct BgL_letzd2varzd2_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_bindingsz00;
   struct BgL_nodez00_bgl * BgL_bodyz00;
   bool_t BgL_removablezf3zf3;
} *BgL_letzd2varzd2_bglt;

typedef struct BgL_setzd2exzd2itz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_varz00_bgl * BgL_varz00;
   struct BgL_nodez00_bgl * BgL_bodyz00;
} *BgL_setzd2exzd2itz00_bglt;

typedef struct BgL_jumpzd2exzd2itz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_nodez00_bgl * BgL_exitz00;
   struct BgL_nodez00_bgl * BgL_valuez00;
} *BgL_jumpzd2exzd2itz00_bglt;

typedef struct BgL_makezd2boxzd2_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   struct BgL_nodez00_bgl * BgL_valuez00;
} *BgL_makezd2boxzd2_bglt;

typedef struct BgL_boxzd2refzd2_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   struct BgL_varz00_bgl * BgL_varz00;
} *BgL_boxzd2refzd2_bglt;

typedef struct BgL_boxzd2setz12zc0_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_varz00_bgl * BgL_varz00;
   struct BgL_nodez00_bgl * BgL_valuez00;
} *BgL_boxzd2setz12zc0_bglt;

typedef struct BgL_tclassz00_bgl {
   obj_t BgL_itszd2superzd2;
   obj_t BgL_slotsz00;
   struct BgL_globalz00_bgl * BgL_holderz00;
   obj_t BgL_wideningz00;
   long BgL_depthz00;
   bool_t BgL_finalzf3zf3;
   obj_t BgL_constructorz00;
   obj_t BgL_virtualzd2slotszd2numberz00;
   bool_t BgL_abstractzf3zf3;
   obj_t BgL_widezd2typezd2;
} *BgL_tclassz00_bglt;

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

typedef struct BgL_wclassz00_bgl {
   obj_t BgL_itszd2classzd2;
} *BgL_wclassz00_bglt;

typedef struct BgL_slotz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_idz00;
   obj_t BgL_namez00;
   obj_t BgL_srcz00;
   obj_t BgL_classzd2ownerzd2;
   obj_t BgL_typez00;
   bool_t BgL_readzd2onlyzf3z21;
   obj_t BgL_defaultzd2valuezd2;
   obj_t BgL_virtualzd2numzd2;
   obj_t BgL_getterz00;
   obj_t BgL_setterz00;
   obj_t BgL_indexedz00;
   obj_t BgL_userzd2infozd2;
} *BgL_slotz00_bglt;


extern obj_t BGl_addzd2qualifiedzd2typez12z12zzread_jvmz00(obj_t, obj_t, obj_t);
static obj_t BGl_methodzd2initzd2zzbackend_cplibz00();
BGL_IMPORT obj_t open_input_string(obj_t);
static obj_t BGl_qualifiedzd2realzd2tclasszd2namezd2zzbackend_cplibz00(BgL_tclassz00_bglt);
extern obj_t BGl_sfunz00zzast_varz00;
BGL_EXPORTED_DECL obj_t BGl_qualifiedzd2jclasszd2namez00zzbackend_cplibz00(BgL_jclassz00_bglt);
extern bool_t BGl_requirezd2prototypezf3z21zzbackend_c_prototypez00(BgL_globalz00_bglt);
BGL_IMPORT obj_t BGl_readz00zz__readerz00(obj_t);
BGL_IMPORT bool_t BGl_iszd2azf3z21zz__objectz00(obj_t, obj_t);
extern obj_t BGl_getzd2objectzd2typez00zztype_cachez00();
BGL_EXPORTED_DECL obj_t BGl_widezd2ze3chunkz31zzbackend_cplibz00(BgL_tclassz00_bglt);
BGL_IMPORT obj_t bigloo_mangle(obj_t);
extern obj_t BGl_scnstz00zzast_varz00;
extern obj_t BGl_wclassz00zzobject_classz00;
extern obj_t BGl_tclassz00zzobject_classz00;
static obj_t BGl__getzd2declaredzd2fields3704z00zzbackend_cplibz00(obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_getzd2declaredzd2globalzd2variableszd2zzbackend_cplibz00(obj_t);
extern obj_t BGl_modulezd2ze3qualifiedzd2typeze3zzread_jvmz00(obj_t);
static obj_t BGl__getzd2fieldzd2type3707z00zzbackend_cplibz00(obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_getzd2globalzd2variableszd2tozd2bezd2initializa7edz75zzbackend_cplibz00(obj_t);
static obj_t BGl__resetzd2globalz123695zc0zzbackend_cplibz00(obj_t, obj_t);
BGL_IMPORT obj_t bigloo_module_mangle(obj_t, obj_t);
static obj_t BGl__qualifiedzd2wclasszd2namez00zzbackend_cplibz00(obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_classzd2idzd2ze3typezd2namez31zzbackend_cplibz00(obj_t, obj_t);
extern bool_t BGl_widezd2classzf3z21zzobject_classz00(obj_t);
static obj_t BGl__classzd2idzd2ze3typezd2namez31zzbackend_cplibz00(obj_t, obj_t, obj_t);
static obj_t BGl__globalzd2arity3699zd2zzbackend_cplibz00(obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_forzd2eachzd2declaredzd2classeszd2zzbackend_cplibz00(obj_t);
static obj_t BGl_cnstzd2initzd2zzbackend_cplibz00();
BGL_EXPORTED_DECL obj_t BGl_qualifiedzd2wclasszd2namez00zzbackend_cplibz00(BgL_wclassz00_bglt);
BGL_EXPORTED_DECL BgL_tclassz00_bglt BGl_getzd2itszd2superz00zzbackend_cplibz00(BgL_typez00_bglt);
static obj_t BGl_importedzd2moduleszd2initz00zzbackend_cplibz00();
BGL_EXPORTED_DECL obj_t BGl_getzd2declaredzd2classesz00zzbackend_cplibz00();
static obj_t BGl_zc3anonymousza33233ze3z83zzbackend_cplibz00(obj_t, obj_t);
static obj_t BGl__qualifiedzd2tclasszd2name3688z00zzbackend_cplibz00(obj_t, obj_t);
static obj_t BGl__getzd2declaredzd2classesz00zzbackend_cplibz00(obj_t);
static obj_t BGl__widezd2ze3chunkz31zzbackend_cplibz00(obj_t, obj_t);
static obj_t BGl__qualifiedzd2jclasszd2name3691z00zzbackend_cplibz00(obj_t, obj_t);
extern obj_t BGl_sawzd2widezd2classzd2idzd2zzobject_classz00(obj_t);
static obj_t BGl_toplevelzd2initzd2zzbackend_cplibz00();
BGL_EXPORTED_DECL BgL_globalz00_bglt BGl_globalzd2entryzd2zzbackend_cplibz00(BgL_globalz00_bglt);
BGL_IMPORT obj_t string_append_3(obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zzbackend_cplibz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_shapez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztype_typez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztype_envz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_varz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_nodez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_envz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztype_cachez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzcnst_nodez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzobject_classz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzobject_slotsz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzread_jvmz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzmodule_javaz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzengine_paramz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzbackend_c_prototypez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_errorz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__biglooz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__osz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__objectz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__readerz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_control_features_6_9z00(long, char *);
static obj_t BGl__globalzd2entry3697zd2zzbackend_cplibz00(obj_t, obj_t);
extern BgL_typez00_bglt BGl_findzd2typezd2zztype_envz00(obj_t);
static obj_t BGl__forzd2eachzd2declaredzd2classeszd2zzbackend_cplibz00(obj_t, obj_t);
BGL_IMPORT obj_t string_append(obj_t, obj_t);
static obj_t BGl_zc3anonymousza33262ze3z83zzbackend_cplibz00(obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_getzd2declaredzd2fieldsz00zzbackend_cplibz00(BgL_typez00_bglt);
BGL_IMPORT obj_t BGl_filterz00zz__r4_control_features_6_9z00(obj_t, obj_t);
static obj_t BGl_typezd2ze3classz31zzbackend_cplibz00(BgL_typez00_bglt);
extern obj_t BGl_findzd2javazd2classz00zzmodule_javaz00(obj_t);
extern obj_t BGl_cfunz00zzast_varz00;
extern obj_t BGl_forzd2eachzd2globalz12z12zzast_envz00(obj_t);
extern bool_t BGl_slotzd2virtualzf3z21zzobject_slotsz00(BgL_slotz00_bglt);
extern obj_t BGl_internalzd2errorzd2zztools_errorz00(obj_t, obj_t, obj_t);
static obj_t BGl__qualifiedzd2typezd2name3693z00zzbackend_cplibz00(obj_t, obj_t);
static obj_t BGl__getzd2itszd2superz00zzbackend_cplibz00(obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_getzd2fieldzd2typez00zzbackend_cplibz00(BgL_slotz00_bglt);
BGL_IMPORT bool_t bigloo_strcmp(obj_t, obj_t);
extern obj_t BGl_za2jvmzd2foreignzd2classzd2nameza2zd2zzengine_paramz00;
BGL_EXPORTED_DECL obj_t BGl_globalzd2arityzd2zzbackend_cplibz00(BgL_globalz00_bglt);
extern obj_t BGl_getzd2classzd2listz00zzobject_classz00();
static obj_t BGl_zc3anonymousza33290ze3z83zzbackend_cplibz00(obj_t, obj_t);
static obj_t BGl__getzd2globalzd2variableszd2tozd2bezd2initializa7edz75zzbackend_cplibz00(obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_resetzd2globalz12zc0zzbackend_cplibz00(BgL_globalz00_bglt);
extern obj_t BGl_getzd2nodezd2atomzd2valuezd2zzcnst_nodez00(BgL_nodez00_bglt);
BGL_EXPORTED_DECL obj_t BGl_qualifiedzd2typezd2namez00zzbackend_cplibz00(BgL_typez00_bglt);
static obj_t BGl_requirezd2initializa7ationz75zzbackend_cplibz00 = BUNSPEC;
BGL_IMPORT bool_t BGl_bigloozd2needzd2manglingzf3zf3zz__biglooz00(obj_t);
BGL_IMPORT obj_t BGl_prefixz00zz__osz00(obj_t);
static obj_t BGl__getzd2declaredzd2globalzd2variableszd2zzbackend_cplibz00(obj_t, obj_t);
static obj_t BGl_libraryzd2moduleszd2initz00zzbackend_cplibz00();
BGL_EXPORTED_DECL obj_t BGl_qualifiedzd2tclasszd2namez00zzbackend_cplibz00(BgL_tclassz00_bglt);
static obj_t __cnst[ 6 ] ;


DEFINE_EXPORT_PROCEDURE( BGl_widezd2ze3chunkzd2envze3zzbackend_cplibz00, BgL_bgl__wideza7d2za7e3chunkza731za7za7backend_cplibza7003877z00, BGl__widezd2ze3chunkz31zzbackend_cplibz00, 0L, 1 );
DEFINE_EXPORT_PROCEDURE( BGl_globalzd2entryzd2envz00zzbackend_cplibz00, BgL_bgl__globalza7d2entry3697za7d2za7za7backend_cplibza7003878za7, BGl__globalzd2entry3697zd2zzbackend_cplibz00, 0L, 1 );
DEFINE_EXPORT_PROCEDURE( BGl_qualifiedzd2typezd2namezd2envzd2zzbackend_cplibz00, BgL_bgl__qualifiedza7d2typeza7d2name3693za700za7za7backend_cplibza7003879z00, BGl__qualifiedzd2typezd2name3693z00zzbackend_cplibz00, 0L, 1 );
DEFINE_EXPORT_PROCEDURE( BGl_getzd2declaredzd2classeszd2envzd2zzbackend_cplibz00, BgL_bgl__getza7d2declaredza7d2classesza700za7za7backend_cplibza7003880z00, BGl__getzd2declaredzd2classesz00zzbackend_cplibz00, 0L, 0 );
DEFINE_EXPORT_PROCEDURE( BGl_getzd2globalzd2variableszd2tozd2bezd2initializa7edzd2envza7zzbackend_cplibz00, BgL_bgl__getza7d2globalza7d2variablesza7d2toza7d2beza7d2initializa7a7edza775za7za7backend_cplibza7003881z00, BGl__getzd2globalzd2variableszd2tozd2bezd2initializa7edz75zzbackend_cplibz00, 0L, 1 );
DEFINE_EXPORT_PROCEDURE( BGl_getzd2fieldzd2typezd2envzd2zzbackend_cplibz00, BgL_bgl__getza7d2fieldza7d2type3707za700za7za7backend_cplibza7003882z00, BGl__getzd2fieldzd2type3707z00zzbackend_cplibz00, 0L, 1 );
DEFINE_EXPORT_PROCEDURE( BGl_resetzd2globalz12zd2envz12zzbackend_cplibz00, BgL_bgl__resetza7d2globalza7123695za7c0za7za7backend_cplibza7003883z00, BGl__resetzd2globalz123695zc0zzbackend_cplibz00, 0L, 1 );
DEFINE_EXPORT_PROCEDURE( BGl_forzd2eachzd2declaredzd2classeszd2envz00zzbackend_cplibz00, BgL_bgl__forza7d2eachza7d2declaredza7d2classesza7d2za7za7backend_cplibza7003884za7, BGl__forzd2eachzd2declaredzd2classeszd2zzbackend_cplibz00, 0L, 1 );
DEFINE_EXPORT_PROCEDURE( BGl_qualifiedzd2jclasszd2namezd2envzd2zzbackend_cplibz00, BgL_bgl__qualifiedza7d2jclassza7d2name3691za700za7za7backend_cplibza7003885z00, BGl__qualifiedzd2jclasszd2name3691z00zzbackend_cplibz00, 0L, 1 );
DEFINE_EXPORT_PROCEDURE( BGl_qualifiedzd2tclasszd2namezd2envzd2zzbackend_cplibz00, BgL_bgl__qualifiedza7d2tclassza7d2name3688za700za7za7backend_cplibza7003886z00, BGl__qualifiedzd2tclasszd2name3688z00zzbackend_cplibz00, 0L, 1 );
DEFINE_EXPORT_PROCEDURE( BGl_classzd2idzd2ze3typezd2namezd2envze3zzbackend_cplibz00, BgL_bgl__classza7d2idza7d2za7e3typeza7d2nameza731za7za7backend_cplibza7003887z00, BGl__classzd2idzd2ze3typezd2namez31zzbackend_cplibz00, 0L, 2 );
DEFINE_EXPORT_PROCEDURE( BGl_getzd2itszd2superzd2envzd2zzbackend_cplibz00, BgL_bgl__getza7d2itsza7d2superza700za7za7backend_cplibza7003888z00, BGl__getzd2itszd2superz00zzbackend_cplibz00, 0L, 1 );
DEFINE_EXPORT_PROCEDURE( BGl_getzd2declaredzd2fieldszd2envzd2zzbackend_cplibz00, BgL_bgl__getza7d2declaredza7d2fields3704za700za7za7backend_cplibza7003889z00, BGl__getzd2declaredzd2fields3704z00zzbackend_cplibz00, 0L, 1 );
DEFINE_EXPORT_PROCEDURE( BGl_globalzd2arityzd2envz00zzbackend_cplibz00, BgL_bgl__globalza7d2arity3699za7d2za7za7backend_cplibza7003890za7, BGl__globalzd2arity3699zd2zzbackend_cplibz00, 0L, 1 );
DEFINE_STRING( BGl_string3848z00zzbackend_cplibz00, BgL_bgl_string3848za700za7za7backend_cplibza7003891z00, "__cnsts_table get-declared-fields import stvector foreign obj ", 62 );
DEFINE_STRING( BGl_string3847z00zzbackend_cplibz00, BgL_bgl_string3847za700za7za7backend_cplibza7003892z00, "internal error", 14 );
DEFINE_STRING( BGl_string3846z00zzbackend_cplibz00, BgL_bgl_string3846za700za7za7backend_cplibza7003893z00, "wide-shunk", 10 );
DEFINE_EXPORT_PROCEDURE( BGl_qualifiedzd2wclasszd2namezd2envzd2zzbackend_cplibz00, BgL_bgl__qualifiedza7d2wclassza7d2nameza700za7za7backend_cplibza7003894z00, BGl__qualifiedzd2wclasszd2namez00zzbackend_cplibz00, 0L, 1 );
DEFINE_STRING( BGl_string3845z00zzbackend_cplibz00, BgL_bgl_string3845za700za7za7backend_cplibza7003895z00, "Illegal type", 12 );
DEFINE_STRING( BGl_string3844z00zzbackend_cplibz00, BgL_bgl_string3844za700za7za7backend_cplibza7003896z00, "bigloo.", 7 );
DEFINE_STRING( BGl_string3843z00zzbackend_cplibz00, BgL_bgl_string3843za700za7za7backend_cplibza7003897z00, ".", 1 );
DEFINE_STRING( BGl_string3842z00zzbackend_cplibz00, BgL_bgl_string3842za700za7za7backend_cplibza7003898z00, "object", 6 );
DEFINE_STRING( BGl_string3841z00zzbackend_cplibz00, BgL_bgl_string3841za700za7za7backend_cplibza7003899z00, "", 0 );
DEFINE_STRING( BGl_string3840z00zzbackend_cplibz00, BgL_bgl_string3840za700za7za7backend_cplibza7003900z00, "bigloo", 6 );
DEFINE_STRING( BGl_string3839z00zzbackend_cplibz00, BgL_bgl_string3839za700za7za7backend_cplibza7003901z00, "_K", 2 );
DEFINE_EXPORT_PROCEDURE( BGl_getzd2declaredzd2globalzd2variableszd2envz00zzbackend_cplibz00, BgL_bgl__getza7d2declaredza7d2globalza7d2variablesza7d2za7za7backend_cplibza7003902za7, BGl__getzd2declaredzd2globalzd2variableszd2zzbackend_cplibz00, 0L, 1 );



/* module-initialization */
BGL_EXPORTED_DEF obj_t BGl_modulezd2initializa7ationz75zzbackend_cplibz00(long BgL_checksumz00_1499, char * BgL_fromz00_1500)
{ AN_OBJECT;
{ 
if(
CBOOL(BGl_requirezd2initializa7ationz75zzbackend_cplibz00))
{ 
BGl_requirezd2initializa7ationz75zzbackend_cplibz00 = 
BBOOL(((bool_t)0)); 
BGl_libraryzd2moduleszd2initz00zzbackend_cplibz00(); 
BGl_cnstzd2initzd2zzbackend_cplibz00(); 
BGl_importedzd2moduleszd2initz00zzbackend_cplibz00(); 
return BUNSPEC;}  else 
{ 
return BUNSPEC;} } 
}



/* library-modules-init */
obj_t BGl_libraryzd2moduleszd2initz00zzbackend_cplibz00()
{ AN_OBJECT;
{ /* ./BackEnd/cplib.scm 15 */
BGl_modulezd2initializa7ationz75zz__readerz00(((long)0), "backend_cplib"); 
BGl_modulezd2initializa7ationz75zz__objectz00(((long)0), "backend_cplib"); 
BGl_modulezd2initializa7ationz75zz__biglooz00(((long)0), "backend_cplib"); 
BGl_modulezd2initializa7ationz75zz__r4_control_features_6_9z00(((long)0), "backend_cplib"); 
BGl_modulezd2initializa7ationz75zz__osz00(((long)0), "backend_cplib"); 
return BUNSPEC;} 
}



/* cnst-init */
obj_t BGl_cnstzd2initzd2zzbackend_cplibz00()
{ AN_OBJECT;
{ /* ./BackEnd/cplib.scm 15 */
{ /* ./BackEnd/cplib.scm 15 */
obj_t BgL_cportz00_1486;
BgL_cportz00_1486 = 
open_input_string(BGl_string3848z00zzbackend_cplibz00); 
{ 
long BgL_iz00_1487;
BgL_iz00_1487 = ((long)5); 
BgL_loopz00_1488:
{ /* ./BackEnd/cplib.scm 15 */
bool_t BgL_test3850z00_1489;
BgL_test3850z00_1489 = 
(BgL_iz00_1487==((long)-1)); 
if(BgL_test3850z00_1489)
{ /* ./BackEnd/cplib.scm 15 */
return BUNSPEC;}  else 
{ /* ./BackEnd/cplib.scm 15 */
{ /* ./BackEnd/cplib.scm 15 */
obj_t BgL_arg3852z00_1490;
{ /* ./BackEnd/cplib.scm 15 */
obj_t BgL_list3855z00_1491;
BgL_list3855z00_1491 = 
MAKE_PAIR(BgL_cportz00_1486, BNIL); 
BgL_arg3852z00_1490 = 
BGl_readz00zz__readerz00(BgL_list3855z00_1491); } 
{ /* ./BackEnd/cplib.scm 15 */
int BgL_auxz00_1517;
BgL_auxz00_1517 = 
(int)(BgL_iz00_1487); 
CNST_TABLE_SET(BgL_auxz00_1517, BgL_arg3852z00_1490); } } 
{ /* ./BackEnd/cplib.scm 15 */
int BgL_auxz00_1492;
{ /* ./BackEnd/cplib.scm 15 */
long BgL_auxz00_1520;
BgL_auxz00_1520 = 
(BgL_iz00_1487-((long)1)); 
BgL_auxz00_1492 = 
(int)(BgL_auxz00_1520); } 
{ 
long BgL_iz00_1523;
BgL_iz00_1523 = 
(long)(BgL_auxz00_1492); 
BgL_iz00_1487 = BgL_iz00_1523; 
goto BgL_loopz00_1488;} } } } } } } 
}



/* toplevel-init */
obj_t BGl_toplevelzd2initzd2zzbackend_cplibz00()
{ AN_OBJECT;
{ /* ./BackEnd/cplib.scm 15 */
return BUNSPEC;} 
}



/* class-id->type-name */
BGL_EXPORTED_DEF obj_t BGl_classzd2idzd2ze3typezd2namez31zzbackend_cplibz00(obj_t BgL_cidz00_11, obj_t BgL_midz00_12)
{ AN_OBJECT;
{ /* ./BackEnd/cplib.scm 55 */
{ /* ./BackEnd/cplib.scm 56 */
obj_t BgL_idz00_1329;
{ /* ./BackEnd/cplib.scm 56 */
obj_t BgL_arg3014z00_1330;obj_t BgL_arg3015z00_1331;
BgL_arg3014z00_1330 = 
SYMBOL_TO_STRING(BgL_cidz00_11); 
BgL_arg3015z00_1331 = 
SYMBOL_TO_STRING(BgL_midz00_12); 
BgL_idz00_1329 = 
bigloo_module_mangle(BgL_arg3014z00_1330, BgL_arg3015z00_1331); } 
return 
string_append(BGl_string3839z00zzbackend_cplibz00, BgL_idz00_1329);} } 
}



/* _class-id->type-name */
obj_t BGl__classzd2idzd2ze3typezd2namez31zzbackend_cplibz00(obj_t BgL_envz00_1437, obj_t BgL_cidz00_1438, obj_t BgL_midz00_1439)
{ AN_OBJECT;
{ /* ./BackEnd/cplib.scm 55 */
return 
BGl_classzd2idzd2ze3typezd2namez31zzbackend_cplibz00(BgL_cidz00_1438, BgL_midz00_1439);} 
}



/* qualified-real-tclass-name */
obj_t BGl_qualifiedzd2realzd2tclasszd2namezd2zzbackend_cplibz00(BgL_tclassz00_bglt BgL_classz00_13)
{ AN_OBJECT;
{ /* ./BackEnd/cplib.scm 62 */
{ 
BgL_tclassz00_bglt BgL_classz00_810;obj_t BgL_namez00_805;BgL_tclassz00_bglt BgL_superz00_787;
{ /* ./BackEnd/cplib.scm 96 */
obj_t BgL_arg3020z00_785;obj_t BgL_arg3021z00_786;
BgL_superz00_787 = BgL_classz00_13; 
{ /* ./BackEnd/cplib.scm 86 */
bool_t BgL_test3026z00_790;
{ /* ./BackEnd/cplib.scm 86 */
bool_t BgL_test3042z00_797;
{ /* ./BackEnd/cplib.scm 86 */
obj_t BgL_arg3058z00_804;
{ 
obj_t BgL_auxz00_1530;
{ /* ./BackEnd/cplib.scm 86 */
BgL_objectz00_bglt BgL_auxz00_1531;
BgL_auxz00_1531 = 
(BgL_objectz00_bglt)(BgL_superz00_787); 
BgL_auxz00_1530 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1531); } 
BgL_arg3058z00_804 = 
(((BgL_tclassz00_bglt)CREF(BgL_auxz00_1530))->BgL_itszd2superzd2); } 
BgL_test3042z00_797 = 
BGl_iszd2azf3z21zz__objectz00(BgL_arg3058z00_804, BGl_tclassz00zzobject_classz00); } 
if(BgL_test3042z00_797)
{ /* ./BackEnd/cplib.scm 87 */
bool_t BgL_testz00_1537;
{ /* ./BackEnd/cplib.scm 87 */
obj_t BgL_auxz00_1540;obj_t BgL_auxz00_1538;
{ 
obj_t BgL_auxz00_1541;
{ /* ./BackEnd/cplib.scm 87 */
BgL_objectz00_bglt BgL_auxz00_1542;
BgL_auxz00_1542 = 
(BgL_objectz00_bglt)(BgL_superz00_787); 
BgL_auxz00_1541 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1542); } 
BgL_auxz00_1540 = 
(((BgL_tclassz00_bglt)CREF(BgL_auxz00_1541))->BgL_itszd2superzd2); } 
BgL_auxz00_1538 = 
(obj_t)(BgL_superz00_787); 
BgL_testz00_1537 = 
(BgL_auxz00_1538==BgL_auxz00_1540); } 
if(BgL_testz00_1537)
{ /* ./BackEnd/cplib.scm 88 */
bool_t BgL_testz00_1547;
{ /* ./BackEnd/cplib.scm 88 */
obj_t BgL_auxz00_1557;obj_t BgL_auxz00_1548;
BgL_auxz00_1557 = 
CNST_TABLE_REF(((long)0)); 
{ /* ./BackEnd/cplib.scm 88 */
BgL_typez00_bglt BgL_obj1003z00_1343;
{ /* ./BackEnd/cplib.scm 88 */
obj_t BgL_auxz00_1549;
{ 
obj_t BgL_auxz00_1550;
{ /* ./BackEnd/cplib.scm 88 */
BgL_objectz00_bglt BgL_auxz00_1551;
BgL_auxz00_1551 = 
(BgL_objectz00_bglt)(BgL_superz00_787); 
BgL_auxz00_1550 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1551); } 
BgL_auxz00_1549 = 
(((BgL_tclassz00_bglt)CREF(BgL_auxz00_1550))->BgL_itszd2superzd2); } 
BgL_obj1003z00_1343 = 
(BgL_typez00_bglt)(BgL_auxz00_1549); } 
BgL_auxz00_1548 = 
(((BgL_typez00_bglt)CREF(BgL_obj1003z00_1343))->BgL_idz00); } 
BgL_testz00_1547 = 
(BgL_auxz00_1548==BgL_auxz00_1557); } 
if(BgL_testz00_1547)
{ /* ./BackEnd/cplib.scm 88 */
BgL_test3026z00_790 = ((bool_t)0); }  else 
{ /* ./BackEnd/cplib.scm 88 */
BgL_test3026z00_790 = ((bool_t)1); } }  else 
{ /* ./BackEnd/cplib.scm 87 */
BgL_test3026z00_790 = ((bool_t)0); } }  else 
{ /* ./BackEnd/cplib.scm 86 */
BgL_test3026z00_790 = ((bool_t)1); } } 
if(BgL_test3026z00_790)
{ /* ./BackEnd/cplib.scm 86 */
BgL_arg3020z00_785 = BGl_string3840z00zzbackend_cplibz00; }  else 
{ /* ./BackEnd/cplib.scm 90 */
BgL_globalz00_bglt BgL_holderz00_791;
{ 
obj_t BgL_auxz00_1561;
{ /* ./BackEnd/cplib.scm 90 */
BgL_objectz00_bglt BgL_auxz00_1562;
BgL_auxz00_1562 = 
(BgL_objectz00_bglt)(BgL_superz00_787); 
BgL_auxz00_1561 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1562); } 
BgL_holderz00_791 = 
(((BgL_tclassz00_bglt)CREF(BgL_auxz00_1561))->BgL_holderz00); } 
{ /* ./BackEnd/cplib.scm 91 */
obj_t BgL_arg3028z00_792;obj_t BgL_arg3029z00_793;obj_t BgL_arg3030z00_794;
BgL_arg3028z00_792 = 
(((BgL_globalz00_bglt)CREF(BgL_holderz00_791))->BgL_modulez00); 
BgL_arg3029z00_793 = 
(((BgL_globalz00_bglt)CREF(BgL_holderz00_791))->BgL_jvmzd2typezd2namez00); 
{ /* ./BackEnd/cplib.scm 91 */
BgL_typez00_bglt BgL_obj1003z00_1347;
BgL_obj1003z00_1347 = 
(BgL_typez00_bglt)(BgL_superz00_787); 
BgL_arg3030z00_794 = 
(((BgL_typez00_bglt)CREF(BgL_obj1003z00_1347))->BgL_idz00); } 
{ /* ./BackEnd/cplib.scm 91 */
obj_t BgL_list3032z00_795;
BgL_list3032z00_795 = 
MAKE_PAIR(BgL_arg3030z00_794, BNIL); 
BGl_addzd2qualifiedzd2typez12z12zzread_jvmz00(BgL_arg3028z00_792, BgL_arg3029z00_793, BgL_list3032z00_795); } } 
{ /* ./BackEnd/cplib.scm 94 */
obj_t BgL_arg3038z00_796;
BgL_arg3038z00_796 = 
(((BgL_globalz00_bglt)CREF(BgL_holderz00_791))->BgL_modulez00); 
BgL_namez00_805 = BgL_arg3038z00_796; 
{ /* ./BackEnd/cplib.scm 78 */
obj_t BgL_sz00_807;
BgL_sz00_807 = 
BGl_modulezd2ze3qualifiedzd2typeze3zzread_jvmz00(BgL_namez00_805); 
{ /* ./BackEnd/cplib.scm 78 */
obj_t BgL_prefz00_808;
BgL_prefz00_808 = 
BGl_prefixz00zz__osz00(BgL_sz00_807); 
{ /* ./BackEnd/cplib.scm 79 */

{ /* ./BackEnd/cplib.scm 80 */
bool_t BgL_test3062z00_809;
BgL_test3062z00_809 = 
bigloo_strcmp(BgL_prefz00_808, BgL_sz00_807); 
if(BgL_test3062z00_809)
{ /* ./BackEnd/cplib.scm 80 */
BgL_arg3020z00_785 = BGl_string3841z00zzbackend_cplibz00; }  else 
{ /* ./BackEnd/cplib.scm 80 */
BgL_arg3020z00_785 = BgL_prefz00_808; } } } } } } } } 
BgL_classz00_810 = BgL_classz00_13; 
{ /* ./BackEnd/cplib.scm 71 */
bool_t BgL_test3067z00_812;
{ /* ./BackEnd/cplib.scm 71 */
obj_t BgL_arg3077z00_817;
BgL_arg3077z00_817 = 
BGl_getzd2objectzd2typez00zztype_cachez00(); 
{ /* ./BackEnd/cplib.scm 71 */
obj_t BgL_auxz00_1578;
BgL_auxz00_1578 = 
(obj_t)(BgL_classz00_810); 
BgL_test3067z00_812 = 
(BgL_auxz00_1578==BgL_arg3077z00_817); } } 
if(BgL_test3067z00_812)
{ /* ./BackEnd/cplib.scm 71 */
BgL_arg3021z00_786 = BGl_string3842z00zzbackend_cplibz00; }  else 
{ /* ./BackEnd/cplib.scm 74 */
obj_t BgL_modz00_814;
{ /* ./BackEnd/cplib.scm 74 */
BgL_globalz00_bglt BgL_arg3073z00_816;
{ 
obj_t BgL_auxz00_1582;
{ /* ./BackEnd/cplib.scm 74 */
BgL_objectz00_bglt BgL_auxz00_1583;
BgL_auxz00_1583 = 
(BgL_objectz00_bglt)(BgL_classz00_810); 
BgL_auxz00_1582 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1583); } 
BgL_arg3073z00_816 = 
(((BgL_tclassz00_bglt)CREF(BgL_auxz00_1582))->BgL_holderz00); } 
BgL_modz00_814 = 
(((BgL_globalz00_bglt)CREF(BgL_arg3073z00_816))->BgL_modulez00); } 
{ /* ./BackEnd/cplib.scm 75 */
obj_t BgL_arg3069z00_815;
{ /* ./BackEnd/cplib.scm 75 */
BgL_typez00_bglt BgL_obj1003z00_1353;
BgL_obj1003z00_1353 = 
(BgL_typez00_bglt)(BgL_classz00_810); 
BgL_arg3069z00_815 = 
(((BgL_typez00_bglt)CREF(BgL_obj1003z00_1353))->BgL_idz00); } 
{ /* ./BackEnd/cplib.scm 75 */
obj_t BgL_res3686z00_1361;
{ /* ./BackEnd/cplib.scm 75 */
obj_t BgL_idz00_1356;
{ /* ./BackEnd/cplib.scm 75 */
obj_t BgL_arg3014z00_1357;obj_t BgL_arg3015z00_1358;
BgL_arg3014z00_1357 = 
SYMBOL_TO_STRING(BgL_arg3069z00_815); 
BgL_arg3015z00_1358 = 
SYMBOL_TO_STRING(BgL_modz00_814); 
BgL_idz00_1356 = 
bigloo_module_mangle(BgL_arg3014z00_1357, BgL_arg3015z00_1358); } 
BgL_res3686z00_1361 = 
string_append(BGl_string3839z00zzbackend_cplibz00, BgL_idz00_1356); } 
BgL_arg3021z00_786 = BgL_res3686z00_1361; } } } } 
{ /* ./BackEnd/cplib.scm 96 */
bool_t BgL_test3081z00_1336;
BgL_test3081z00_1336 = 
bigloo_strcmp(BgL_arg3020z00_785, BGl_string3841z00zzbackend_cplibz00); 
if(BgL_test3081z00_1336)
{ /* ./BackEnd/cplib.scm 96 */
return BgL_arg3021z00_786;}  else 
{ /* ./BackEnd/cplib.scm 96 */
return 
string_append_3(BgL_arg3020z00_785, BGl_string3843z00zzbackend_cplibz00, BgL_arg3021z00_786);} } } } } 
}



/* qualified-tclass-name */
BGL_EXPORTED_DEF obj_t BGl_qualifiedzd2tclasszd2namez00zzbackend_cplibz00(BgL_tclassz00_bglt BgL_classz00_14)
{ AN_OBJECT;
{ /* ./BackEnd/cplib.scm 101 */
{ /* ./BackEnd/cplib.scm 102 */
obj_t BgL_cz00_826;
{ /* ./BackEnd/cplib.scm 102 */
bool_t BgL_test3085z00_827;
BgL_test3085z00_827 = 
BGl_widezd2classzf3z21zzobject_classz00(
(obj_t)(BgL_classz00_14)); 
if(BgL_test3085z00_827)
{ 
obj_t BgL_auxz00_1600;
{ /* ./BackEnd/cplib.scm 102 */
BgL_objectz00_bglt BgL_auxz00_1601;
BgL_auxz00_1601 = 
(BgL_objectz00_bglt)(BgL_classz00_14); 
BgL_auxz00_1600 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1601); } 
BgL_cz00_826 = 
(((BgL_tclassz00_bglt)CREF(BgL_auxz00_1600))->BgL_itszd2superzd2); }  else 
{ /* ./BackEnd/cplib.scm 102 */
BgL_cz00_826 = 
(obj_t)(BgL_classz00_14); } } 
return 
BGl_qualifiedzd2realzd2tclasszd2namezd2zzbackend_cplibz00(
(BgL_tclassz00_bglt)(BgL_cz00_826));} } 
}



/* _qualified-tclass-name3688 */
obj_t BGl__qualifiedzd2tclasszd2name3688z00zzbackend_cplibz00(obj_t BgL_envz00_1440, obj_t BgL_classz00_1441)
{ AN_OBJECT;
{ /* ./BackEnd/cplib.scm 101 */
return 
BGl_qualifiedzd2tclasszd2namez00zzbackend_cplibz00(
(BgL_tclassz00_bglt)(BgL_classz00_1441));} 
}



/* qualified-wclass-name */
BGL_EXPORTED_DEF obj_t BGl_qualifiedzd2wclasszd2namez00zzbackend_cplibz00(BgL_wclassz00_bglt BgL_classz00_15)
{ AN_OBJECT;
{ /* ./BackEnd/cplib.scm 108 */
{ /* ./BackEnd/cplib.scm 109 */
obj_t BgL_arg3089z00_1366;
{ 
obj_t BgL_auxz00_1610;
{ /* ./BackEnd/cplib.scm 109 */
BgL_objectz00_bglt BgL_auxz00_1611;
BgL_auxz00_1611 = 
(BgL_objectz00_bglt)(BgL_classz00_15); 
BgL_auxz00_1610 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1611); } 
BgL_arg3089z00_1366 = 
(((BgL_wclassz00_bglt)CREF(BgL_auxz00_1610))->BgL_itszd2classzd2); } 
return 
BGl_qualifiedzd2realzd2tclasszd2namezd2zzbackend_cplibz00(
(BgL_tclassz00_bglt)(BgL_arg3089z00_1366));} } 
}



/* _qualified-wclass-name */
obj_t BGl__qualifiedzd2wclasszd2namez00zzbackend_cplibz00(obj_t BgL_envz00_1442, obj_t BgL_classz00_1443)
{ AN_OBJECT;
{ /* ./BackEnd/cplib.scm 108 */
return 
BGl_qualifiedzd2wclasszd2namez00zzbackend_cplibz00(
(BgL_wclassz00_bglt)(BgL_classz00_1443));} 
}



/* qualified-jclass-name */
BGL_EXPORTED_DEF obj_t BGl_qualifiedzd2jclasszd2namez00zzbackend_cplibz00(BgL_jclassz00_bglt BgL_classz00_16)
{ AN_OBJECT;
{ /* ./BackEnd/cplib.scm 114 */
{ /* ./BackEnd/cplib.scm 115 */
BgL_typez00_bglt BgL_obj1004z00_1368;
BgL_obj1004z00_1368 = 
(BgL_typez00_bglt)(BgL_classz00_16); 
return 
(((BgL_typez00_bglt)CREF(BgL_obj1004z00_1368))->BgL_namez00);} } 
}



/* _qualified-jclass-name3691 */
obj_t BGl__qualifiedzd2jclasszd2name3691z00zzbackend_cplibz00(obj_t BgL_envz00_1444, obj_t BgL_classz00_1445)
{ AN_OBJECT;
{ /* ./BackEnd/cplib.scm 114 */
return 
BGl_qualifiedzd2jclasszd2namez00zzbackend_cplibz00(
(BgL_jclassz00_bglt)(BgL_classz00_1445));} 
}



/* qualified-type-name */
BGL_EXPORTED_DEF obj_t BGl_qualifiedzd2typezd2namez00zzbackend_cplibz00(BgL_typez00_bglt BgL_typez00_17)
{ AN_OBJECT;
{ /* ./BackEnd/cplib.scm 120 */
{ /* ./BackEnd/cplib.scm 121 */
obj_t BgL_idz00_829;
BgL_idz00_829 = 
(((BgL_typez00_bglt)CREF(BgL_typez00_17))->BgL_idz00); 
{ /* ./BackEnd/cplib.scm 122 */
bool_t BgL_test3093z00_830;
{ /* ./BackEnd/cplib.scm 122 */
obj_t BgL_auxz00_1624;
BgL_auxz00_1624 = 
CNST_TABLE_REF(((long)1)); 
BgL_test3093z00_830 = 
(BgL_idz00_829==BgL_auxz00_1624); } 
if(BgL_test3093z00_830)
{ /* ./BackEnd/cplib.scm 122 */
return BGl_za2jvmzd2foreignzd2classzd2nameza2zd2zzengine_paramz00;}  else 
{ /* ./BackEnd/cplib.scm 124 */
obj_t BgL_javazd2classzd2_831;
BgL_javazd2classzd2_831 = 
BGl_findzd2javazd2classz00zzmodule_javaz00(BgL_idz00_829); 
{ /* ./BackEnd/cplib.scm 125 */
bool_t BgL_test3094z00_832;
BgL_test3094z00_832 = 
STRINGP(BgL_javazd2classzd2_831); 
if(BgL_test3094z00_832)
{ /* ./BackEnd/cplib.scm 125 */
return BgL_javazd2classzd2_831;}  else 
{ /* ./BackEnd/cplib.scm 127 */
obj_t BgL_arg3097z00_834;
BgL_arg3097z00_834 = 
SYMBOL_TO_STRING(BgL_idz00_829); 
return 
string_append(BGl_string3844z00zzbackend_cplibz00, BgL_arg3097z00_834);} } } } } } 
}



/* _qualified-type-name3693 */
obj_t BGl__qualifiedzd2typezd2name3693z00zzbackend_cplibz00(obj_t BgL_envz00_1446, obj_t BgL_typez00_1447)
{ AN_OBJECT;
{ /* ./BackEnd/cplib.scm 120 */
return 
BGl_qualifiedzd2typezd2namez00zzbackend_cplibz00(
(BgL_typez00_bglt)(BgL_typez00_1447));} 
}



/* reset-global! */
BGL_EXPORTED_DEF obj_t BGl_resetzd2globalz12zc0zzbackend_cplibz00(BgL_globalz00_bglt BgL_varz00_18)
{ AN_OBJECT;
{ /* ./BackEnd/cplib.scm 133 */
{ /* ./BackEnd/cplib.scm 135 */
obj_t BgL_namez00_835;
{ /* ./BackEnd/cplib.scm 135 */
BgL_variablez00_bglt BgL_obj1094z00_1372;
BgL_obj1094z00_1372 = 
(BgL_variablez00_bglt)(BgL_varz00_18); 
BgL_namez00_835 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1094z00_1372))->BgL_namez00); } 
{ /* ./BackEnd/cplib.scm 136 */
bool_t BgL_test3104z00_836;
BgL_test3104z00_836 = 
STRINGP(BgL_namez00_835); 
if(BgL_test3104z00_836)
{ /* ./BackEnd/cplib.scm 136 */BgL_namez00_835; }  else 
{ /* ./BackEnd/cplib.scm 138 */
obj_t BgL_namez00_837;
{ /* ./BackEnd/cplib.scm 138 */
obj_t BgL_arg3112z00_840;
{ /* ./BackEnd/cplib.scm 138 */
BgL_variablez00_bglt BgL_obj1093z00_1374;
BgL_obj1093z00_1374 = 
(BgL_variablez00_bglt)(BgL_varz00_18); 
BgL_arg3112z00_840 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1093z00_1374))->BgL_idz00); } 
BgL_namez00_837 = 
SYMBOL_TO_STRING(BgL_arg3112z00_840); } 
{ /* ./BackEnd/cplib.scm 140 */
obj_t BgL_arg3106z00_838;
{ /* ./BackEnd/cplib.scm 140 */
bool_t BgL_test3108z00_839;
BgL_test3108z00_839 = 
BGl_bigloozd2needzd2manglingzf3zf3zz__biglooz00(BgL_namez00_837); 
if(BgL_test3108z00_839)
{ /* ./BackEnd/cplib.scm 140 */
BgL_arg3106z00_838 = 
bigloo_mangle(BgL_namez00_837); }  else 
{ /* ./BackEnd/cplib.scm 140 */
BgL_arg3106z00_838 = BgL_namez00_837; } } 
{ /* ./BackEnd/cplib.scm 139 */
BgL_variablez00_bglt BgL_obj1096z00_1376;obj_t BgL_val1095z00_1377;
BgL_obj1096z00_1376 = 
(BgL_variablez00_bglt)(BgL_varz00_18); 
BgL_val1095z00_1377 = BgL_arg3106z00_838; 
((((BgL_variablez00_bglt)CREF(BgL_obj1096z00_1376))->BgL_namez00) = ((obj_t)BgL_val1095z00_1377), BUNSPEC); } } } } } 
{ /* ./BackEnd/cplib.scm 144 */
BgL_valuez00_bglt BgL_valuez00_841;
{ /* ./BackEnd/cplib.scm 144 */
BgL_variablez00_bglt BgL_obj1100z00_1378;
BgL_obj1100z00_1378 = 
(BgL_variablez00_bglt)(BgL_varz00_18); 
BgL_valuez00_841 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1100z00_1378))->BgL_valuez00); } 
{ /* ./BackEnd/cplib.scm 145 */
bool_t BgL_test3117z00_842;
{ /* ./BackEnd/cplib.scm 145 */
bool_t BgL_test3125z00_845;
{ /* ./BackEnd/cplib.scm 145 */
obj_t BgL_obj1519z00_1379;
BgL_obj1519z00_1379 = 
(obj_t)(BgL_valuez00_841); 
BgL_test3125z00_845 = 
BGl_iszd2azf3z21zz__objectz00(BgL_obj1519z00_1379, BGl_scnstz00zzast_varz00); } 
if(BgL_test3125z00_845)
{ /* ./BackEnd/cplib.scm 145 */
obj_t BgL_auxz00_1655;obj_t BgL_auxz00_1652;
BgL_auxz00_1655 = 
CNST_TABLE_REF(((long)2)); 
{ /* ./BackEnd/cplib.scm 145 */
BgL_scnstz00_bglt BgL_obj1501z00_1380;
BgL_obj1501z00_1380 = 
(BgL_scnstz00_bglt)(BgL_valuez00_841); 
BgL_auxz00_1652 = 
(((BgL_scnstz00_bglt)CREF(BgL_obj1501z00_1380))->BgL_classz00); } 
BgL_test3117z00_842 = 
(BgL_auxz00_1652==BgL_auxz00_1655); }  else 
{ /* ./BackEnd/cplib.scm 145 */
BgL_test3117z00_842 = ((bool_t)0); } } 
if(BgL_test3117z00_842)
{ /* ./BackEnd/cplib.scm 146 */
obj_t BgL_arg3119z00_843;
{ /* ./BackEnd/cplib.scm 146 */
int BgL_auxz00_1662;obj_t BgL_auxz00_1659;
BgL_auxz00_1662 = 
(int)(((long)0)); 
{ /* ./BackEnd/cplib.scm 146 */
BgL_scnstz00_bglt BgL_obj1500z00_1381;
BgL_obj1500z00_1381 = 
(BgL_scnstz00_bglt)(BgL_valuez00_841); 
BgL_auxz00_1659 = 
(((BgL_scnstz00_bglt)CREF(BgL_obj1500z00_1381))->BgL_nodez00); } 
BgL_arg3119z00_843 = 
STRUCT_REF(BgL_auxz00_1659, BgL_auxz00_1662); } 
{ /* ./BackEnd/cplib.scm 146 */
BgL_variablez00_bglt BgL_obj1099z00_1385;BgL_typez00_bglt BgL_val1098z00_1386;
BgL_obj1099z00_1385 = 
(BgL_variablez00_bglt)(BgL_varz00_18); 
BgL_val1098z00_1386 = 
(BgL_typez00_bglt)(BgL_arg3119z00_843); 
return 
((((BgL_variablez00_bglt)CREF(BgL_obj1099z00_1385))->BgL_typez00) = ((BgL_typez00_bglt)BgL_val1098z00_1386), BUNSPEC);} }  else 
{ /* ./BackEnd/cplib.scm 145 */
return BFALSE;} } } } 
}



/* _reset-global!3695 */
obj_t BGl__resetzd2globalz123695zc0zzbackend_cplibz00(obj_t BgL_envz00_1448, obj_t BgL_varz00_1449)
{ AN_OBJECT;
{ /* ./BackEnd/cplib.scm 133 */
return 
BGl_resetzd2globalz12zc0zzbackend_cplibz00(
(BgL_globalz00_bglt)(BgL_varz00_1449));} 
}



/* global-entry */
BGL_EXPORTED_DEF BgL_globalz00_bglt BGl_globalzd2entryzd2zzbackend_cplibz00(BgL_globalz00_bglt BgL_varz00_19)
{ AN_OBJECT;
{ /* ./BackEnd/cplib.scm 151 */
{ /* ./BackEnd/cplib.scm 153 */
BgL_valuez00_bglt BgL_valuez00_848;
{ /* ./BackEnd/cplib.scm 153 */
BgL_variablez00_bglt BgL_obj1100z00_1387;
BgL_obj1100z00_1387 = 
(BgL_variablez00_bglt)(BgL_varz00_19); 
BgL_valuez00_848 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1100z00_1387))->BgL_valuez00); } 
{ /* ./BackEnd/cplib.scm 154 */
bool_t BgL_test3134z00_849;
{ /* ./BackEnd/cplib.scm 154 */
obj_t BgL_obj1519z00_1388;
BgL_obj1519z00_1388 = 
(obj_t)(BgL_valuez00_848); 
BgL_test3134z00_849 = 
BGl_iszd2azf3z21zz__objectz00(BgL_obj1519z00_1388, BGl_scnstz00zzast_varz00); } 
if(BgL_test3134z00_849)
{ /* ./BackEnd/cplib.scm 155 */
BgL_varz00_bglt BgL_obj1625z00_1392;
{ /* ./BackEnd/cplib.scm 155 */
obj_t BgL_auxz00_1675;
{ /* ./BackEnd/cplib.scm 155 */
obj_t BgL_auxz00_1676;
{ /* ./BackEnd/cplib.scm 155 */
BgL_appz00_bglt BgL_obj1722z00_1390;
{ /* ./BackEnd/cplib.scm 155 */
obj_t BgL_auxz00_1677;
{ /* ./BackEnd/cplib.scm 155 */
BgL_scnstz00_bglt BgL_obj1500z00_1389;
BgL_obj1500z00_1389 = 
(BgL_scnstz00_bglt)(BgL_valuez00_848); 
BgL_auxz00_1677 = 
(((BgL_scnstz00_bglt)CREF(BgL_obj1500z00_1389))->BgL_nodez00); } 
BgL_obj1722z00_1390 = 
(BgL_appz00_bglt)(BgL_auxz00_1677); } 
BgL_auxz00_1676 = 
(((BgL_appz00_bglt)CREF(BgL_obj1722z00_1390))->BgL_argsz00); } 
BgL_auxz00_1675 = 
CAR(BgL_auxz00_1676); } 
BgL_obj1625z00_1392 = 
(BgL_varz00_bglt)(BgL_auxz00_1675); } 
{ /* ./BackEnd/cplib.scm 155 */
BgL_variablez00_bglt BgL_auxz00_1684;
BgL_auxz00_1684 = 
(((BgL_varz00_bglt)CREF(BgL_obj1625z00_1392))->BgL_variablez00); 
return 
(BgL_globalz00_bglt)(BgL_auxz00_1684);} }  else 
{ /* ./BackEnd/cplib.scm 154 */
return BgL_varz00_19;} } } } 
}



/* _global-entry3697 */
obj_t BGl__globalzd2entry3697zd2zzbackend_cplibz00(obj_t BgL_envz00_1450, obj_t BgL_varz00_1451)
{ AN_OBJECT;
{ /* ./BackEnd/cplib.scm 151 */
{ /* ./BackEnd/cplib.scm 153 */
BgL_globalz00_bglt BgL_auxz00_1687;
BgL_auxz00_1687 = 
BGl_globalzd2entryzd2zzbackend_cplibz00(
(BgL_globalz00_bglt)(BgL_varz00_1451)); 
return 
(obj_t)(BgL_auxz00_1687);} } 
}



/* global-arity */
BGL_EXPORTED_DEF obj_t BGl_globalzd2arityzd2zzbackend_cplibz00(BgL_globalz00_bglt BgL_varz00_20)
{ AN_OBJECT;
{ /* ./BackEnd/cplib.scm 161 */
{ /* ./BackEnd/cplib.scm 163 */
BgL_valuez00_bglt BgL_valuez00_853;
{ /* ./BackEnd/cplib.scm 163 */
BgL_variablez00_bglt BgL_obj1100z00_1393;
BgL_obj1100z00_1393 = 
(BgL_variablez00_bglt)(BgL_varz00_20); 
BgL_valuez00_853 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1100z00_1393))->BgL_valuez00); } 
{ /* ./BackEnd/cplib.scm 165 */
bool_t BgL_test3147z00_854;
{ /* ./BackEnd/cplib.scm 165 */
obj_t BgL_obj1519z00_1394;
BgL_obj1519z00_1394 = 
(obj_t)(BgL_valuez00_853); 
BgL_test3147z00_854 = 
BGl_iszd2azf3z21zz__objectz00(BgL_obj1519z00_1394, BGl_scnstz00zzast_varz00); } 
if(BgL_test3147z00_854)
{ /* ./BackEnd/cplib.scm 165 */
{ /* ./BackEnd/cplib.scm 166 */
obj_t BgL_arg3149z00_855;
{ /* ./BackEnd/cplib.scm 166 */
obj_t BgL_auxz00_1696;
{ /* ./BackEnd/cplib.scm 166 */
obj_t BgL_auxz00_1697;
{ /* ./BackEnd/cplib.scm 166 */
BgL_appz00_bglt BgL_obj1722z00_1396;
{ /* ./BackEnd/cplib.scm 166 */
obj_t BgL_auxz00_1698;
{ /* ./BackEnd/cplib.scm 166 */
BgL_scnstz00_bglt BgL_obj1500z00_1395;
BgL_obj1500z00_1395 = 
(BgL_scnstz00_bglt)(BgL_valuez00_853); 
BgL_auxz00_1698 = 
(((BgL_scnstz00_bglt)CREF(BgL_obj1500z00_1395))->BgL_nodez00); } 
BgL_obj1722z00_1396 = 
(BgL_appz00_bglt)(BgL_auxz00_1698); } 
BgL_auxz00_1697 = 
(((BgL_appz00_bglt)CREF(BgL_obj1722z00_1396))->BgL_argsz00); } 
BgL_auxz00_1696 = 
CDR(BgL_auxz00_1697); } 
BgL_arg3149z00_855 = 
CAR(BgL_auxz00_1696); } 
return 
BGl_getzd2nodezd2atomzd2valuezd2zzcnst_nodez00(
(BgL_nodez00_bglt)(BgL_arg3149z00_855));} }  else 
{ /* ./BackEnd/cplib.scm 167 */
bool_t BgL_test3159z00_858;
{ /* ./BackEnd/cplib.scm 167 */
obj_t BgL_obj1425z00_1401;
BgL_obj1425z00_1401 = 
(obj_t)(BgL_valuez00_853); 
BgL_test3159z00_858 = 
BGl_iszd2azf3z21zz__objectz00(BgL_obj1425z00_1401, BGl_sfunz00zzast_varz00); } 
if(BgL_test3159z00_858)
{ /* ./BackEnd/cplib.scm 167 */
{ /* ./BackEnd/cplib.scm 168 */
long BgL_xz00_859;
{ /* ./BackEnd/cplib.scm 168 */
BgL_funz00_bglt BgL_obj1301z00_1402;
BgL_obj1301z00_1402 = 
(BgL_funz00_bglt)(BgL_valuez00_853); 
BgL_xz00_859 = 
(((BgL_funz00_bglt)CREF(BgL_obj1301z00_1402))->BgL_arityz00); } 
if(
(BgL_xz00_859>=((long)0)))
{ /* ./BackEnd/cplib.scm 169 */
long BgL_auxz00_1714;
BgL_auxz00_1714 = 
(BgL_xz00_859-((long)1)); 
return 
BINT(BgL_auxz00_1714);}  else 
{ /* ./BackEnd/cplib.scm 169 */
long BgL_auxz00_1717;
BgL_auxz00_1717 = 
(BgL_xz00_859+((long)1)); 
return 
BINT(BgL_auxz00_1717);} } }  else 
{ /* ./BackEnd/cplib.scm 167 */
return BFALSE;} } } } } 
}



/* _global-arity3699 */
obj_t BGl__globalzd2arity3699zd2zzbackend_cplibz00(obj_t BgL_envz00_1452, obj_t BgL_varz00_1453)
{ AN_OBJECT;
{ /* ./BackEnd/cplib.scm 161 */
return 
BGl_globalzd2arityzd2zzbackend_cplibz00(
(BgL_globalz00_bglt)(BgL_varz00_1453));} 
}



/* for-each-declared-classes */
BGL_EXPORTED_DEF obj_t BGl_forzd2eachzd2declaredzd2classeszd2zzbackend_cplibz00(obj_t BgL_funz00_21)
{ AN_OBJECT;
{ /* ./BackEnd/cplib.scm 176 */
{ 
obj_t BgL_l2975z00_861;
{ /* ./BackEnd/cplib.scm 186 */
obj_t BgL_arg3169z00_863;
BgL_arg3169z00_863 = 
BGl_getzd2declaredzd2classesz00zzbackend_cplibz00(); 
{ /* ./BackEnd/cplib.scm 177 */
bool_t BgL_auxz00_1723;
BgL_l2975z00_861 = BgL_arg3169z00_863; 
BgL_forzd2each2976zd2_862:
{ /* ./BackEnd/cplib.scm 177 */
bool_t BgL_test3172z00_864;
BgL_test3172z00_864 = 
PAIRP(BgL_l2975z00_861); 
if(BgL_test3172z00_864)
{ /* ./BackEnd/cplib.scm 177 */
{ /* ./BackEnd/cplib.scm 178 */
obj_t BgL_cz00_865;
BgL_cz00_865 = 
CAR(BgL_l2975z00_861); 
{ /* ./BackEnd/cplib.scm 178 */
bool_t BgL_widezf3zf3_866;
BgL_widezf3zf3_866 = 
BGl_widezd2classzf3z21zzobject_classz00(BgL_cz00_865); 
{ /* ./BackEnd/cplib.scm 183 */
obj_t BgL_arg3174z00_867;obj_t BgL_arg3175z00_868;
if(BgL_widezf3zf3_866)
{ /* ./BackEnd/cplib.scm 183 */
BgL_arg3174z00_867 = 
BGl_widezd2ze3chunkz31zzbackend_cplibz00(
(BgL_tclassz00_bglt)(BgL_cz00_865)); }  else 
{ /* ./BackEnd/cplib.scm 183 */
BgL_arg3174z00_867 = BgL_cz00_865; } 
if(BgL_widezf3zf3_866)
{ /* ./BackEnd/cplib.scm 185 */
BgL_typez00_bglt BgL_auxz00_1732;
BgL_auxz00_1732 = 
BGl_findzd2typezd2zztype_envz00(
CNST_TABLE_REF(((long)0))); 
BgL_arg3175z00_868 = 
(obj_t)(BgL_auxz00_1732); }  else 
{ /* ./BackEnd/cplib.scm 185 */
BgL_tclassz00_bglt BgL_obj2710z00_1405;
BgL_obj2710z00_1405 = 
(BgL_tclassz00_bglt)(BgL_cz00_865); 
{ 
obj_t BgL_auxz00_1737;
{ /* ./BackEnd/cplib.scm 185 */
BgL_objectz00_bglt BgL_auxz00_1738;
BgL_auxz00_1738 = 
(BgL_objectz00_bglt)(BgL_obj2710z00_1405); 
BgL_auxz00_1737 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1738); } 
BgL_arg3175z00_868 = 
(((BgL_tclassz00_bglt)CREF(BgL_auxz00_1737))->BgL_itszd2superzd2); } } 
PROCEDURE_ENTRY(BgL_funz00_21)(BgL_funz00_21, BgL_cz00_865, BgL_arg3174z00_867, BgL_arg3175z00_868, BEOA); } } } 
{ /* ./BackEnd/cplib.scm 177 */
obj_t BgL_arg3183z00_869;
BgL_arg3183z00_869 = 
CDR(BgL_l2975z00_861); 
{ 
obj_t BgL_l2975z00_1745;
BgL_l2975z00_1745 = BgL_arg3183z00_869; 
BgL_l2975z00_861 = BgL_l2975z00_1745; 
goto BgL_forzd2each2976zd2_862;} } }  else 
{ /* ./BackEnd/cplib.scm 177 */
BgL_auxz00_1723 = ((bool_t)1); } } 
return 
BBOOL(BgL_auxz00_1723);} } } } 
}



/* _for-each-declared-classes */
obj_t BGl__forzd2eachzd2declaredzd2classeszd2zzbackend_cplibz00(obj_t BgL_envz00_1454, obj_t BgL_funz00_1455)
{ AN_OBJECT;
{ /* ./BackEnd/cplib.scm 176 */
return 
BGl_forzd2eachzd2declaredzd2classeszd2zzbackend_cplibz00(BgL_funz00_1455);} 
}



/* get-declared-classes */
BGL_EXPORTED_DEF obj_t BGl_getzd2declaredzd2classesz00zzbackend_cplibz00()
{ AN_OBJECT;
{ /* ./BackEnd/cplib.scm 191 */
{ /* ./BackEnd/cplib.scm 194 */
obj_t BgL_rz00_870;
BgL_rz00_870 = BNIL; 
{ 
obj_t BgL_l2977z00_871;
{ /* ./BackEnd/cplib.scm 200 */
obj_t BgL_arg3188z00_873;
BgL_arg3188z00_873 = 
BGl_getzd2classzd2listz00zzobject_classz00(); 
BgL_l2977z00_871 = BgL_arg3188z00_873; 
BgL_forzd2each2978zd2_872:
{ /* ./BackEnd/cplib.scm 195 */
bool_t BgL_test3191z00_874;
BgL_test3191z00_874 = 
PAIRP(BgL_l2977z00_871); 
if(BgL_test3191z00_874)
{ /* ./BackEnd/cplib.scm 195 */
{ /* ./BackEnd/cplib.scm 196 */
obj_t BgL_cz00_875;
BgL_cz00_875 = 
CAR(BgL_l2977z00_871); 
{ /* ./BackEnd/cplib.scm 196 */
bool_t BgL_test3192z00_876;
{ /* ./BackEnd/cplib.scm 196 */
bool_t BgL_test3199z00_879;
{ /* ./BackEnd/cplib.scm 196 */
obj_t BgL_auxz00_1760;obj_t BgL_auxz00_1752;
BgL_auxz00_1760 = 
CNST_TABLE_REF(((long)3)); 
{ /* ./BackEnd/cplib.scm 196 */
BgL_globalz00_bglt BgL_arg3210z00_883;
{ /* ./BackEnd/cplib.scm 196 */
BgL_tclassz00_bglt BgL_obj2716z00_1409;
BgL_obj2716z00_1409 = 
(BgL_tclassz00_bglt)(BgL_cz00_875); 
{ 
obj_t BgL_auxz00_1754;
{ /* ./BackEnd/cplib.scm 196 */
BgL_objectz00_bglt BgL_auxz00_1755;
BgL_auxz00_1755 = 
(BgL_objectz00_bglt)(BgL_obj2716z00_1409); 
BgL_auxz00_1754 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1755); } 
BgL_arg3210z00_883 = 
(((BgL_tclassz00_bglt)CREF(BgL_auxz00_1754))->BgL_holderz00); } } 
BgL_auxz00_1752 = 
(((BgL_globalz00_bglt)CREF(BgL_arg3210z00_883))->BgL_importz00); } 
BgL_test3199z00_879 = 
(BgL_auxz00_1752==BgL_auxz00_1760); } 
if(BgL_test3199z00_879)
{ /* ./BackEnd/cplib.scm 196 */
BgL_test3192z00_876 = ((bool_t)1); }  else 
{ /* ./BackEnd/cplib.scm 197 */
obj_t BgL_arg3201z00_880;
BgL_arg3201z00_880 = 
BGl_getzd2objectzd2typez00zztype_cachez00(); 
BgL_test3192z00_876 = 
(BgL_cz00_875==BgL_arg3201z00_880); } } 
if(BgL_test3192z00_876)
{ /* ./BackEnd/cplib.scm 196 */BUNSPEC; }  else 
{ /* ./BackEnd/cplib.scm 196 */
{ /* ./BackEnd/cplib.scm 198 */
obj_t BgL_arg3194z00_877;
{ /* ./BackEnd/cplib.scm 198 */
bool_t BgL_test3196z00_878;
BgL_test3196z00_878 = 
BGl_widezd2classzf3z21zzobject_classz00(BgL_cz00_875); 
if(BgL_test3196z00_878)
{ /* ./BackEnd/cplib.scm 198 */
BgL_arg3194z00_877 = 
BGl_widezd2ze3chunkz31zzbackend_cplibz00(
(BgL_tclassz00_bglt)(BgL_cz00_875)); }  else 
{ /* ./BackEnd/cplib.scm 198 */
BgL_arg3194z00_877 = BgL_cz00_875; } } 
BgL_rz00_870 = 
MAKE_PAIR(BgL_arg3194z00_877, BgL_rz00_870); } } } } 
{ /* ./BackEnd/cplib.scm 195 */
obj_t BgL_arg3215z00_884;
BgL_arg3215z00_884 = 
CDR(BgL_l2977z00_871); 
{ 
obj_t BgL_l2977z00_1773;
BgL_l2977z00_1773 = BgL_arg3215z00_884; 
BgL_l2977z00_871 = BgL_l2977z00_1773; 
goto BgL_forzd2each2978zd2_872;} } }  else 
{ /* ./BackEnd/cplib.scm 195 */((bool_t)1); } } } } 
return BgL_rz00_870;} } 
}



/* _get-declared-classes */
obj_t BGl__getzd2declaredzd2classesz00zzbackend_cplibz00(obj_t BgL_envz00_1456)
{ AN_OBJECT;
{ /* ./BackEnd/cplib.scm 191 */
return 
BGl_getzd2declaredzd2classesz00zzbackend_cplibz00();} 
}



/* type->class */
obj_t BGl_typezd2ze3classz31zzbackend_cplibz00(BgL_typez00_bglt BgL_typez00_22)
{ AN_OBJECT;
{ /* ./BackEnd/cplib.scm 206 */
{ /* ./BackEnd/cplib.scm 208 */
bool_t BgL_test3219z00_885;
{ /* ./BackEnd/cplib.scm 208 */
obj_t BgL_obj2709z00_1412;
BgL_obj2709z00_1412 = 
(obj_t)(BgL_typez00_22); 
BgL_test3219z00_885 = 
BGl_iszd2azf3z21zz__objectz00(BgL_obj2709z00_1412, BGl_tclassz00zzobject_classz00); } 
if(BgL_test3219z00_885)
{ /* ./BackEnd/cplib.scm 208 */
return 
(obj_t)(BgL_typez00_22);}  else 
{ /* ./BackEnd/cplib.scm 210 */
bool_t BgL_test3220z00_886;
{ /* ./BackEnd/cplib.scm 210 */
obj_t BgL_obj2866z00_1413;
BgL_obj2866z00_1413 = 
(obj_t)(BgL_typez00_22); 
BgL_test3220z00_886 = 
BGl_iszd2azf3z21zz__objectz00(BgL_obj2866z00_1413, BGl_wclassz00zzobject_classz00); } 
if(BgL_test3220z00_886)
{ /* ./BackEnd/cplib.scm 210 */
{ /* ./BackEnd/cplib.scm 211 */
BgL_wclassz00_bglt BgL_obj2867z00_1414;
BgL_obj2867z00_1414 = 
(BgL_wclassz00_bglt)(BgL_typez00_22); 
{ 
obj_t BgL_auxz00_1783;
{ /* ./BackEnd/cplib.scm 211 */
BgL_objectz00_bglt BgL_auxz00_1784;
BgL_auxz00_1784 = 
(BgL_objectz00_bglt)(BgL_obj2867z00_1414); 
BgL_auxz00_1783 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1784); } 
return 
(((BgL_wclassz00_bglt)CREF(BgL_auxz00_1783))->BgL_itszd2classzd2);} } }  else 
{ /* ./BackEnd/cplib.scm 210 */
return 
BGl_internalzd2errorzd2zztools_errorz00(
CNST_TABLE_REF(((long)4)), BGl_string3845z00zzbackend_cplibz00, 
(obj_t)(BgL_typez00_22));} } } } 
}



/* get-its-super */
BGL_EXPORTED_DEF BgL_tclassz00_bglt BGl_getzd2itszd2superz00zzbackend_cplibz00(BgL_typez00_bglt BgL_typez00_23)
{ AN_OBJECT;
{ /* ./BackEnd/cplib.scm 218 */
{ /* ./BackEnd/cplib.scm 219 */
obj_t BgL_arg3226z00_1415;
BgL_arg3226z00_1415 = 
BGl_typezd2ze3classz31zzbackend_cplibz00(BgL_typez00_23); 
{ /* ./BackEnd/cplib.scm 219 */
BgL_tclassz00_bglt BgL_obj2710z00_1416;
BgL_obj2710z00_1416 = 
(BgL_tclassz00_bglt)(BgL_arg3226z00_1415); 
{ /* ./BackEnd/cplib.scm 219 */
obj_t BgL_auxz00_1793;
{ 
obj_t BgL_auxz00_1794;
{ /* ./BackEnd/cplib.scm 219 */
BgL_objectz00_bglt BgL_auxz00_1795;
BgL_auxz00_1795 = 
(BgL_objectz00_bglt)(BgL_obj2710z00_1416); 
BgL_auxz00_1794 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1795); } 
BgL_auxz00_1793 = 
(((BgL_tclassz00_bglt)CREF(BgL_auxz00_1794))->BgL_itszd2superzd2); } 
return 
(BgL_tclassz00_bglt)(BgL_auxz00_1793);} } } } 
}



/* _get-its-super */
obj_t BGl__getzd2itszd2superz00zzbackend_cplibz00(obj_t BgL_envz00_1457, obj_t BgL_typez00_1458)
{ AN_OBJECT;
{ /* ./BackEnd/cplib.scm 218 */
{ /* ./BackEnd/cplib.scm 219 */
BgL_tclassz00_bglt BgL_auxz00_1800;
BgL_auxz00_1800 = 
BGl_getzd2itszd2superz00zzbackend_cplibz00(
(BgL_typez00_bglt)(BgL_typez00_1458)); 
return 
(obj_t)(BgL_auxz00_1800);} } 
}



/* get-declared-fields */
BGL_EXPORTED_DEF obj_t BGl_getzd2declaredzd2fieldsz00zzbackend_cplibz00(BgL_typez00_bglt BgL_typez00_24)
{ AN_OBJECT;
{ /* ./BackEnd/cplib.scm 224 */
{ /* ./BackEnd/cplib.scm 226 */
obj_t BgL_classz00_888;
BgL_classz00_888 = 
BGl_typezd2ze3classz31zzbackend_cplibz00(BgL_typez00_24); 
{ /* ./BackEnd/cplib.scm 227 */
obj_t BgL_arg3231z00_890;
{ /* ./BackEnd/cplib.scm 230 */
BgL_tclassz00_bglt BgL_obj2713z00_1417;
BgL_obj2713z00_1417 = 
(BgL_tclassz00_bglt)(BgL_classz00_888); 
{ 
obj_t BgL_auxz00_1806;
{ /* ./BackEnd/cplib.scm 230 */
BgL_objectz00_bglt BgL_auxz00_1807;
BgL_auxz00_1807 = 
(BgL_objectz00_bglt)(BgL_obj2713z00_1417); 
BgL_auxz00_1806 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1807); } 
BgL_arg3231z00_890 = 
(((BgL_tclassz00_bglt)CREF(BgL_auxz00_1806))->BgL_slotsz00); } } 
{ /* ./BackEnd/cplib.scm 228 */
obj_t BgL_zc3anonymousza33233ze3z83_1459;
{ 
int BgL_auxz00_1813;int BgL_auxz00_1811;
BgL_auxz00_1813 = 
(int)(((long)1)); 
BgL_auxz00_1811 = 
(int)(((long)1)); 
BgL_zc3anonymousza33233ze3z83_1459 = 
make_fx_procedure(BGl_zc3anonymousza33233ze3z83zzbackend_cplibz00, BgL_auxz00_1811, BgL_auxz00_1813); } 
{ /* ./BackEnd/cplib.scm 228 */
int BgL_auxz00_1816;
BgL_auxz00_1816 = 
(int)(((long)0)); 
PROCEDURE_SET(BgL_zc3anonymousza33233ze3z83_1459, BgL_auxz00_1816, BgL_classz00_888); } 
return 
BGl_filterz00zz__r4_control_features_6_9z00(BgL_zc3anonymousza33233ze3z83_1459, BgL_arg3231z00_890);} } } } 
}



/* _get-declared-fields3704 */
obj_t BGl__getzd2declaredzd2fields3704z00zzbackend_cplibz00(obj_t BgL_envz00_1460, obj_t BgL_typez00_1461)
{ AN_OBJECT;
{ /* ./BackEnd/cplib.scm 224 */
return 
BGl_getzd2declaredzd2fieldsz00zzbackend_cplibz00(
(BgL_typez00_bglt)(BgL_typez00_1461));} 
}



/* <anonymous:3233> */
obj_t BGl_zc3anonymousza33233ze3z83zzbackend_cplibz00(obj_t BgL_envz00_1462, obj_t BgL_slotz00_1464)
{ AN_OBJECT;
{ /* ./BackEnd/cplib.scm 227 */
{ /* ./BackEnd/cplib.scm 228 */
obj_t BgL_classz00_1463;
{ /* ./BackEnd/cplib.scm 228 */
int BgL_auxz00_1822;
BgL_auxz00_1822 = 
(int)(((long)0)); 
BgL_classz00_1463 = 
PROCEDURE_REF(BgL_envz00_1462, BgL_auxz00_1822); } 
{ 
BgL_slotz00_bglt BgL_slotz00_891;
{ /* ./BackEnd/cplib.scm 228 */
bool_t BgL_auxz00_1825;
BgL_slotz00_891 = 
(BgL_slotz00_bglt)(BgL_slotz00_1464); 
{ /* ./BackEnd/cplib.scm 228 */
bool_t BgL__andtest_2979z00_893;
{ /* ./BackEnd/cplib.scm 228 */
bool_t BgL_test3238z00_895;
BgL_test3238z00_895 = 
BGl_slotzd2virtualzf3z21zzobject_slotsz00(BgL_slotz00_891); 
if(BgL_test3238z00_895)
{ /* ./BackEnd/cplib.scm 228 */
BgL__andtest_2979z00_893 = ((bool_t)0); }  else 
{ /* ./BackEnd/cplib.scm 228 */
BgL__andtest_2979z00_893 = ((bool_t)1); } } 
if(BgL__andtest_2979z00_893)
{ /* ./BackEnd/cplib.scm 229 */
obj_t BgL_auxz00_1829;
BgL_auxz00_1829 = 
(((BgL_slotz00_bglt)CREF(BgL_slotz00_891))->BgL_classzd2ownerzd2); 
BgL_auxz00_1825 = 
(BgL_classz00_1463==BgL_auxz00_1829); }  else 
{ /* ./BackEnd/cplib.scm 228 */
BgL_auxz00_1825 = ((bool_t)0)
; } } 
return 
BBOOL(BgL_auxz00_1825);} } } } 
}



/* get-field-type */
BGL_EXPORTED_DEF obj_t BGl_getzd2fieldzd2typez00zzbackend_cplibz00(BgL_slotz00_bglt BgL_slotz00_25)
{ AN_OBJECT;
{ /* ./BackEnd/cplib.scm 235 */
{ /* ./BackEnd/cplib.scm 237 */
obj_t BgL__ortest_2980z00_1419;
BgL__ortest_2980z00_1419 = 
(((BgL_slotz00_bglt)CREF(BgL_slotz00_25))->BgL_indexedz00); 
if(
CBOOL(BgL__ortest_2980z00_1419))
{ /* ./BackEnd/cplib.scm 237 */
return BgL__ortest_2980z00_1419;}  else 
{ /* ./BackEnd/cplib.scm 237 */
return 
(((BgL_slotz00_bglt)CREF(BgL_slotz00_25))->BgL_typez00);} } } 
}



/* _get-field-type3707 */
obj_t BGl__getzd2fieldzd2type3707z00zzbackend_cplibz00(obj_t BgL_envz00_1465, obj_t BgL_slotz00_1466)
{ AN_OBJECT;
{ /* ./BackEnd/cplib.scm 235 */
return 
BGl_getzd2fieldzd2typez00zzbackend_cplibz00(
(BgL_slotz00_bglt)(BgL_slotz00_1466));} 
}



/* wide->chunk */
BGL_EXPORTED_DEF obj_t BGl_widezd2ze3chunkz31zzbackend_cplibz00(BgL_tclassz00_bglt BgL_cz00_26)
{ AN_OBJECT;
{ /* ./BackEnd/cplib.scm 242 */
{ /* ./BackEnd/cplib.scm 246 */
bool_t BgL_test3244z00_898;
{ /* ./BackEnd/cplib.scm 246 */
BgL_typez00_bglt BgL_arg3248z00_899;obj_t BgL_arg3249z00_900;
{ /* ./BackEnd/cplib.scm 246 */
obj_t BgL_arg3252z00_901;
{ /* ./BackEnd/cplib.scm 246 */
obj_t BgL_arg3255z00_902;
{ /* ./BackEnd/cplib.scm 246 */
BgL_typez00_bglt BgL_obj1003z00_1422;
BgL_obj1003z00_1422 = 
(BgL_typez00_bglt)(BgL_cz00_26); 
BgL_arg3255z00_902 = 
(((BgL_typez00_bglt)CREF(BgL_obj1003z00_1422))->BgL_idz00); } 
BgL_arg3252z00_901 = 
BGl_sawzd2widezd2classzd2idzd2zzobject_classz00(BgL_arg3255z00_902); } 
BgL_arg3248z00_899 = 
BGl_findzd2typezd2zztype_envz00(BgL_arg3252z00_901); } 
{ 
obj_t BgL_auxz00_1844;
{ /* ./BackEnd/cplib.scm 247 */
BgL_objectz00_bglt BgL_auxz00_1845;
BgL_auxz00_1845 = 
(BgL_objectz00_bglt)(BgL_cz00_26); 
BgL_auxz00_1844 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1845); } 
BgL_arg3249z00_900 = 
(((BgL_tclassz00_bglt)CREF(BgL_auxz00_1844))->BgL_widezd2typezd2); } 
{ /* ./BackEnd/cplib.scm 246 */
obj_t BgL_auxz00_1849;
BgL_auxz00_1849 = 
(obj_t)(BgL_arg3248z00_899); 
BgL_test3244z00_898 = 
(BgL_auxz00_1849==BgL_arg3249z00_900); } } 
if(BgL_test3244z00_898)
{ 
obj_t BgL_auxz00_1853;
{ /* ./BackEnd/cplib.scm 249 */
BgL_objectz00_bglt BgL_auxz00_1854;
BgL_auxz00_1854 = 
(BgL_objectz00_bglt)(BgL_cz00_26); 
BgL_auxz00_1853 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1854); } 
return 
(((BgL_tclassz00_bglt)CREF(BgL_auxz00_1853))->BgL_widezd2typezd2);}  else 
{ /* ./BackEnd/cplib.scm 248 */
obj_t BgL_objectz00_1427;
BgL_objectz00_1427 = 
(obj_t)(BgL_cz00_26); 
FAILURE(BGl_string3846z00zzbackend_cplibz00,BGl_string3847z00zzbackend_cplibz00,BgL_objectz00_1427);} } } 
}



/* _wide->chunk */
obj_t BGl__widezd2ze3chunkz31zzbackend_cplibz00(obj_t BgL_envz00_1467, obj_t BgL_cz00_1468)
{ AN_OBJECT;
{ /* ./BackEnd/cplib.scm 242 */
return 
BGl_widezd2ze3chunkz31zzbackend_cplibz00(
(BgL_tclassz00_bglt)(BgL_cz00_1468));} 
}



/* get-declared-global-variables */
BGL_EXPORTED_DEF obj_t BGl_getzd2declaredzd2globalzd2variableszd2zzbackend_cplibz00(obj_t BgL_modulez00_27)
{ AN_OBJECT;
{ /* ./BackEnd/cplib.scm 254 */
{ /* ./BackEnd/cplib.scm 256 */
obj_t BgL_rz00_903;
BgL_rz00_903 = 
MAKE_CELL(BNIL); 
{ /* ./BackEnd/cplib.scm 258 */
obj_t BgL_zc3anonymousza33262ze3z83_1469;
{ 
int BgL_auxz00_1864;int BgL_auxz00_1862;
BgL_auxz00_1864 = 
(int)(((long)2)); 
BgL_auxz00_1862 = 
(int)(((long)1)); 
BgL_zc3anonymousza33262ze3z83_1469 = 
make_fx_procedure(BGl_zc3anonymousza33262ze3z83zzbackend_cplibz00, BgL_auxz00_1862, BgL_auxz00_1864); } 
{ /* ./BackEnd/cplib.scm 258 */
int BgL_auxz00_1867;
BgL_auxz00_1867 = 
(int)(((long)0)); 
PROCEDURE_SET(BgL_zc3anonymousza33262ze3z83_1469, BgL_auxz00_1867, BgL_modulez00_27); } 
{ /* ./BackEnd/cplib.scm 258 */
int BgL_auxz00_1870;
BgL_auxz00_1870 = 
(int)(((long)1)); 
PROCEDURE_SET(BgL_zc3anonymousza33262ze3z83_1469, BgL_auxz00_1870, BgL_rz00_903); } 
BGl_forzd2eachzd2globalz12z12zzast_envz00(BgL_zc3anonymousza33262ze3z83_1469); } 
return 
CELL_REF(BgL_rz00_903);} } 
}



/* _get-declared-global-variables */
obj_t BGl__getzd2declaredzd2globalzd2variableszd2zzbackend_cplibz00(obj_t BgL_envz00_1470, obj_t BgL_modulez00_1471)
{ AN_OBJECT;
{ /* ./BackEnd/cplib.scm 254 */
return 
BGl_getzd2declaredzd2globalzd2variableszd2zzbackend_cplibz00(BgL_modulez00_1471);} 
}



/* <anonymous:3262> */
obj_t BGl_zc3anonymousza33262ze3z83zzbackend_cplibz00(obj_t BgL_envz00_1472, obj_t BgL_vz00_1475)
{ AN_OBJECT;
{ /* ./BackEnd/cplib.scm 257 */
{ /* ./BackEnd/cplib.scm 258 */
obj_t BgL_modulez00_1473;obj_t BgL_rz00_1474;
{ /* ./BackEnd/cplib.scm 258 */
int BgL_auxz00_1875;
BgL_auxz00_1875 = 
(int)(((long)0)); 
BgL_modulez00_1473 = 
PROCEDURE_REF(BgL_envz00_1472, BgL_auxz00_1875); } 
{ /* ./BackEnd/cplib.scm 258 */
int BgL_auxz00_1878;
BgL_auxz00_1878 = 
(int)(((long)1)); 
BgL_rz00_1474 = 
PROCEDURE_REF(BgL_envz00_1472, BgL_auxz00_1878); } 
{ 
obj_t BgL_vz00_905;
BgL_vz00_905 = BgL_vz00_1475; 
{ /* ./BackEnd/cplib.scm 258 */
bool_t BgL_test3263z00_907;
{ /* ./BackEnd/cplib.scm 258 */
bool_t BgL_test3265z00_908;
{ /* ./BackEnd/cplib.scm 258 */
obj_t BgL_auxz00_1881;
{ /* ./BackEnd/cplib.scm 258 */
BgL_globalz00_bglt BgL_obj1165z00_1428;
BgL_obj1165z00_1428 = 
(BgL_globalz00_bglt)(BgL_vz00_905); 
BgL_auxz00_1881 = 
(((BgL_globalz00_bglt)CREF(BgL_obj1165z00_1428))->BgL_modulez00); } 
BgL_test3265z00_908 = 
(BgL_auxz00_1881==BgL_modulez00_1473); } 
if(BgL_test3265z00_908)
{ /* ./BackEnd/cplib.scm 259 */
bool_t BgL_test3266z00_909;
{ /* ./BackEnd/cplib.scm 259 */
BgL_valuez00_bglt BgL_arg3280z00_915;
{ /* ./BackEnd/cplib.scm 259 */
BgL_variablez00_bglt BgL_obj1100z00_1429;
BgL_obj1100z00_1429 = 
(BgL_variablez00_bglt)(BgL_vz00_905); 
BgL_arg3280z00_915 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1100z00_1429))->BgL_valuez00); } 
{ /* ./BackEnd/cplib.scm 259 */
obj_t BgL_obj1489z00_1430;
BgL_obj1489z00_1430 = 
(obj_t)(BgL_arg3280z00_915); 
BgL_test3266z00_909 = 
BGl_iszd2azf3z21zz__objectz00(BgL_obj1489z00_1430, BGl_cfunz00zzast_varz00); } } 
if(BgL_test3266z00_909)
{ /* ./BackEnd/cplib.scm 259 */
BgL_test3263z00_907 = ((bool_t)0); }  else 
{ /* ./BackEnd/cplib.scm 260 */
bool_t BgL_test3267z00_910;
{ /* ./BackEnd/cplib.scm 260 */
BgL_valuez00_bglt BgL_arg3276z00_914;
{ /* ./BackEnd/cplib.scm 260 */
BgL_variablez00_bglt BgL_obj1100z00_1431;
BgL_obj1100z00_1431 = 
(BgL_variablez00_bglt)(BgL_vz00_905); 
BgL_arg3276z00_914 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1100z00_1431))->BgL_valuez00); } 
{ /* ./BackEnd/cplib.scm 260 */
obj_t BgL_obj1425z00_1432;
BgL_obj1425z00_1432 = 
(obj_t)(BgL_arg3276z00_914); 
BgL_test3267z00_910 = 
BGl_iszd2azf3z21zz__objectz00(BgL_obj1425z00_1432, BGl_sfunz00zzast_varz00); } } 
if(BgL_test3267z00_910)
{ /* ./BackEnd/cplib.scm 260 */
BgL_test3263z00_907 = ((bool_t)0); }  else 
{ /* ./BackEnd/cplib.scm 261 */
bool_t BgL_testz00_1896;
{ /* ./BackEnd/cplib.scm 261 */
obj_t BgL_auxz00_1900;obj_t BgL_auxz00_1897;
BgL_auxz00_1900 = 
CNST_TABLE_REF(((long)5)); 
{ /* ./BackEnd/cplib.scm 261 */
BgL_variablez00_bglt BgL_obj1093z00_1433;
BgL_obj1093z00_1433 = 
(BgL_variablez00_bglt)(BgL_vz00_905); 
BgL_auxz00_1897 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1093z00_1433))->BgL_idz00); } 
BgL_testz00_1896 = 
(BgL_auxz00_1897==BgL_auxz00_1900); } 
if(BgL_testz00_1896)
{ /* ./BackEnd/cplib.scm 261 */
BgL_test3263z00_907 = ((bool_t)0); }  else 
{ /* ./BackEnd/cplib.scm 261 */
BgL_test3263z00_907 = ((bool_t)1); } } } }  else 
{ /* ./BackEnd/cplib.scm 258 */
BgL_test3263z00_907 = ((bool_t)0); } } 
if(BgL_test3263z00_907)
{ /* ./BackEnd/cplib.scm 262 */
obj_t BgL_auxz00_1476;
{ /* ./BackEnd/cplib.scm 262 */
obj_t BgL_auxz00_1904;
BgL_auxz00_1904 = 
CELL_REF(BgL_rz00_1474); 
BgL_auxz00_1476 = 
MAKE_PAIR(BgL_vz00_905, BgL_auxz00_1904); } 
return 
CELL_SET(BgL_rz00_1474, BgL_auxz00_1476);}  else 
{ /* ./BackEnd/cplib.scm 258 */
return BFALSE;} } } } } 
}



/* get-global-variables-to-be-initialized */
BGL_EXPORTED_DEF obj_t BGl_getzd2globalzd2variableszd2tozd2bezd2initializa7edz75zzbackend_cplibz00(obj_t BgL_modulez00_28)
{ AN_OBJECT;
{ /* ./BackEnd/cplib.scm 268 */
{ /* ./BackEnd/cplib.scm 270 */
obj_t BgL_rz00_918;
BgL_rz00_918 = 
MAKE_CELL(BNIL); 
{ /* ./BackEnd/cplib.scm 272 */
obj_t BgL_zc3anonymousza33290ze3z83_1477;
{ 
int BgL_auxz00_1908;int BgL_auxz00_1906;
BgL_auxz00_1908 = 
(int)(((long)2)); 
BgL_auxz00_1906 = 
(int)(((long)1)); 
BgL_zc3anonymousza33290ze3z83_1477 = 
make_fx_procedure(BGl_zc3anonymousza33290ze3z83zzbackend_cplibz00, BgL_auxz00_1906, BgL_auxz00_1908); } 
{ /* ./BackEnd/cplib.scm 272 */
int BgL_auxz00_1911;
BgL_auxz00_1911 = 
(int)(((long)0)); 
PROCEDURE_SET(BgL_zc3anonymousza33290ze3z83_1477, BgL_auxz00_1911, BgL_modulez00_28); } 
{ /* ./BackEnd/cplib.scm 272 */
int BgL_auxz00_1914;
BgL_auxz00_1914 = 
(int)(((long)1)); 
PROCEDURE_SET(BgL_zc3anonymousza33290ze3z83_1477, BgL_auxz00_1914, BgL_rz00_918); } 
BGl_forzd2eachzd2globalz12z12zzast_envz00(BgL_zc3anonymousza33290ze3z83_1477); } 
return 
CELL_REF(BgL_rz00_918);} } 
}



/* _get-global-variables-to-be-initialized */
obj_t BGl__getzd2globalzd2variableszd2tozd2bezd2initializa7edz75zzbackend_cplibz00(obj_t BgL_envz00_1478, obj_t BgL_modulez00_1479)
{ AN_OBJECT;
{ /* ./BackEnd/cplib.scm 268 */
return 
BGl_getzd2globalzd2variableszd2tozd2bezd2initializa7edz75zzbackend_cplibz00(BgL_modulez00_1479);} 
}



/* <anonymous:3290> */
obj_t BGl_zc3anonymousza33290ze3z83zzbackend_cplibz00(obj_t BgL_envz00_1480, obj_t BgL_globalz00_1483)
{ AN_OBJECT;
{ /* ./BackEnd/cplib.scm 271 */
{ /* ./BackEnd/cplib.scm 272 */
obj_t BgL_modulez00_1481;obj_t BgL_rz00_1482;
{ /* ./BackEnd/cplib.scm 272 */
int BgL_auxz00_1919;
BgL_auxz00_1919 = 
(int)(((long)0)); 
BgL_modulez00_1481 = 
PROCEDURE_REF(BgL_envz00_1480, BgL_auxz00_1919); } 
{ /* ./BackEnd/cplib.scm 272 */
int BgL_auxz00_1922;
BgL_auxz00_1922 = 
(int)(((long)1)); 
BgL_rz00_1482 = 
PROCEDURE_REF(BgL_envz00_1480, BgL_auxz00_1922); } 
{ 
obj_t BgL_globalz00_920;
BgL_globalz00_920 = BgL_globalz00_1483; 
{ /* ./BackEnd/cplib.scm 272 */
bool_t BgL_test3291z00_922;
{ /* ./BackEnd/cplib.scm 272 */
bool_t BgL_test3293z00_923;
{ /* ./BackEnd/cplib.scm 272 */
obj_t BgL_auxz00_1925;
{ /* ./BackEnd/cplib.scm 272 */
BgL_globalz00_bglt BgL_obj1165z00_1434;
BgL_obj1165z00_1434 = 
(BgL_globalz00_bglt)(BgL_globalz00_920); 
BgL_auxz00_1925 = 
(((BgL_globalz00_bglt)CREF(BgL_obj1165z00_1434))->BgL_modulez00); } 
BgL_test3293z00_923 = 
(BgL_auxz00_1925==BgL_modulez00_1481); } 
if(BgL_test3293z00_923)
{ /* ./BackEnd/cplib.scm 274 */
bool_t BgL_test3294z00_924;
BgL_test3294z00_924 = 
BGl_requirezd2prototypezf3z21zzbackend_c_prototypez00(
(BgL_globalz00_bglt)(BgL_globalz00_920)); 
if(BgL_test3294z00_924)
{ /* ./BackEnd/cplib.scm 275 */
BgL_valuez00_bglt BgL_arg3296z00_925;
{ /* ./BackEnd/cplib.scm 275 */
BgL_variablez00_bglt BgL_obj1100z00_1435;
BgL_obj1100z00_1435 = 
(BgL_variablez00_bglt)(BgL_globalz00_920); 
BgL_arg3296z00_925 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1100z00_1435))->BgL_valuez00); } 
{ /* ./BackEnd/cplib.scm 275 */
obj_t BgL_obj1519z00_1436;
BgL_obj1519z00_1436 = 
(obj_t)(BgL_arg3296z00_925); 
BgL_test3291z00_922 = 
BGl_iszd2azf3z21zz__objectz00(BgL_obj1519z00_1436, BGl_scnstz00zzast_varz00); } }  else 
{ /* ./BackEnd/cplib.scm 274 */
BgL_test3291z00_922 = ((bool_t)0); } }  else 
{ /* ./BackEnd/cplib.scm 272 */
BgL_test3291z00_922 = ((bool_t)0); } } 
if(BgL_test3291z00_922)
{ /* ./BackEnd/cplib.scm 276 */
obj_t BgL_auxz00_1484;
{ /* ./BackEnd/cplib.scm 276 */
obj_t BgL_auxz00_1938;
BgL_auxz00_1938 = 
CELL_REF(BgL_rz00_1482); 
BgL_auxz00_1484 = 
MAKE_PAIR(BgL_globalz00_920, BgL_auxz00_1938); } 
return 
CELL_SET(BgL_rz00_1482, BgL_auxz00_1484);}  else 
{ /* ./BackEnd/cplib.scm 272 */
return BFALSE;} } } } } 
}



/* method-init */
obj_t BGl_methodzd2initzd2zzbackend_cplibz00()
{ AN_OBJECT;
{ /* ./BackEnd/cplib.scm 15 */
return BUNSPEC;} 
}



/* imported-modules-init */
obj_t BGl_importedzd2moduleszd2initz00zzbackend_cplibz00()
{ AN_OBJECT;
{ /* ./BackEnd/cplib.scm 15 */
BGl_modulezd2initializa7ationz75zztools_shapez00(((long)30833), "backend_cplib"); 
BGl_modulezd2initializa7ationz75zztype_typez00(((long)19090), "backend_cplib"); 
BGl_modulezd2initializa7ationz75zztype_envz00(((long)25186), "backend_cplib"); 
BGl_modulezd2initializa7ationz75zzast_varz00(((long)44246), "backend_cplib"); 
BGl_modulezd2initializa7ationz75zzast_nodez00(((long)50868), "backend_cplib"); 
BGl_modulezd2initializa7ationz75zzast_envz00(((long)62031), "backend_cplib"); 
BGl_modulezd2initializa7ationz75zztype_cachez00(((long)25848), "backend_cplib"); 
BGl_modulezd2initializa7ationz75zzcnst_nodez00(((long)44711), "backend_cplib"); 
BGl_modulezd2initializa7ationz75zzobject_classz00(((long)30791), "backend_cplib"); 
BGl_modulezd2initializa7ationz75zzobject_slotsz00(((long)44183), "backend_cplib"); 
BGl_modulezd2initializa7ationz75zzread_jvmz00(((long)16338), "backend_cplib"); 
BGl_modulezd2initializa7ationz75zzmodule_javaz00(((long)4304), "backend_cplib"); 
BGl_modulezd2initializa7ationz75zzengine_paramz00(((long)14260), "backend_cplib"); 
BGl_modulezd2initializa7ationz75zzbackend_c_prototypez00(((long)34740), "backend_cplib"); 
return 
BGl_modulezd2initializa7ationz75zztools_errorz00(((long)25566), "backend_cplib");} 
}

