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

#include <bigloo.h>


/* Object type definitions */
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_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_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_ccompz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_idz00;
   obj_t BgL_producerz00;
   obj_t BgL_consumerz00;
   obj_t BgL_finaliza7erza7;
} *BgL_ccompz00_bglt;


BGL_IMPORT double BGl_roundflz00zz__r4_numbers_6_5_flonumz00(double);
static obj_t BGl_methodzd2initzd2zzast_checkzd2sharingzd2();
BGL_IMPORT obj_t open_input_string(obj_t);
extern obj_t BGl_letzd2funzd2zzast_nodez00;
static obj_t BGl_checkzd2nodezd2sharingzd2appzd2ly2977z00zzast_checkzd2sharingzd2(obj_t, obj_t, obj_t);
BGL_IMPORT obj_t BGl_readz00zz__readerz00(obj_t);
static obj_t BGl_checkzd2nodezd2sharingzd2funcall2979zd2zzast_checkzd2sharingzd2(obj_t, obj_t, obj_t);
BGL_IMPORT obj_t BGl_addzd2genericz12zc0zz__objectz00(obj_t, obj_t);
extern obj_t BGl_letzd2varzd2zzast_nodez00;
static bool_t BGl_checkzd2nodezd2sharingza2za2zzast_checkzd2sharingzd2(obj_t, obj_t);
BGL_IMPORT obj_t string_to_bstring(char *);
static obj_t BGl_checkzd2nodezd2sharingzd2jumpzd2exzd2it3002zd2zzast_checkzd2sharingzd2(obj_t, obj_t, obj_t);
static obj_t BGl_checkzd2nodezd2sharingzd2conditional2989zd2zzast_checkzd2sharingzd2(obj_t, obj_t, obj_t);
static obj_t BGl__checkzd2nodezd2sharingzd2resetz12zc0zzast_checkzd2sharingzd2(obj_t);
extern obj_t BGl_castz00zzast_nodez00;
static obj_t BGl_checkzd2nodezd2sharingzd2setq2987zd2zzast_checkzd2sharingzd2(obj_t, obj_t, obj_t);
static obj_t BGl_cnstzd2initzd2zzast_checkzd2sharingzd2();
extern obj_t BGl_failz00zzast_nodez00;
extern obj_t BGl_funcallz00zzast_nodez00;
BGL_IMPORT obj_t BGl_findzd2runtimezd2typez00zz__errorz00(obj_t);
BGL_EXPORTED_DECL obj_t BGl_checkzd2nodezd2sharingzd2resetz12zc0zzast_checkzd2sharingzd2();
static obj_t BGl_checkzd2nodezd2sharingzd2default2970zd2zzast_checkzd2sharingzd2(BgL_nodez00_bglt, obj_t);
extern obj_t BGl_za2nbzd2errorzd2onzd2passza2zd2zztools_errorz00;
BGL_IMPORT obj_t BGl_displayzd22zd2zz__r4_output_6_10_3z00(obj_t, obj_t);
extern obj_t BGl_za2currentzd2passza2zd2zzengine_passz00;
static obj_t BGl_importedzd2moduleszd2initz00zzast_checkzd2sharingzd2();
extern obj_t BGl_makezd2boxzd2zzast_nodez00;
static obj_t BGl__checkzd2sharing3888zd2zzast_checkzd2sharingzd2(obj_t, obj_t, obj_t);
BGL_IMPORT obj_t BGl_addzd2methodz12zc0zz__objectz00(obj_t, obj_t, obj_t);
BGL_IMPORT obj_t BGl_exitz00zz__errorz00(obj_t);
static obj_t BGl_checkzd2nodezd2sharingzd2select2993zd2zzast_checkzd2sharingzd2(obj_t, obj_t, obj_t);
extern obj_t BGl_selectz00zzast_nodez00;
static obj_t BGl_toplevelzd2initzd2zzast_checkzd2sharingzd2();
extern obj_t BGl_appzd2lyzd2zzast_nodez00;
BGL_IMPORT obj_t string_append_3(obj_t, obj_t, obj_t);
extern obj_t BGl_boxzd2setz12zc0zzast_nodez00;
BGL_IMPORT bool_t BGl_2ze3ze3zz__r4_numbers_6_5z00(obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zzast_checkzd2sharingzd2(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_speekz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_errorz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzengine_passz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_envz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_varz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_nodez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzengine_paramz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_shapez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztype_typez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzobject_classz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzmodule_modulez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzmodule_includez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzmodule_classz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__errorz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__objectz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__readerz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_pairs_and_lists_6_3z00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_numbers_6_5z00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_numbers_6_5_flonumz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_output_6_10_3z00(long, char *);
extern obj_t BGl_verbosez00zztools_speekz00(obj_t, obj_t);
static obj_t BGl_checkzd2nodezd2sharingzd2makezd2box3004z00zzast_checkzd2sharingzd2(obj_t, obj_t, obj_t);
static obj_t BGl_checkzd2nodezd2sharingzd2cast2985zd2zzast_checkzd2sharingzd2(obj_t, obj_t, obj_t);
static obj_t BGl_checkzd2nodezd2sharingzd2app2975zd2zzast_checkzd2sharingzd2(obj_t, obj_t, obj_t);
extern obj_t BGl_setzd2exzd2itz00zzast_nodez00;
extern obj_t BGl_shapez00zztools_shapez00(obj_t);
BGL_IMPORT obj_t BGl_memqz00zz__r4_pairs_and_lists_6_3z00(obj_t, obj_t);
static obj_t BGl_za2previousza2z00zzast_checkzd2sharingzd2 = BUNSPEC;
extern obj_t BGl_jumpzd2exzd2itz00zzast_nodez00;
extern obj_t BGl_externz00zzast_nodez00;
extern obj_t BGl_conditionalz00zzast_nodez00;
extern obj_t BGl_sequencez00zzast_nodez00;
static obj_t BGl_checkzd2nodezd2sharingzd2setzd2exzd2it3000zd2zzast_checkzd2sharingzd2(obj_t, obj_t, obj_t);
BGL_IMPORT obj_t display_string(obj_t, obj_t);
extern obj_t BGl_internalzd2errorzd2zztools_errorz00(obj_t, obj_t, obj_t);
extern obj_t BGl_appz00zzast_nodez00;
BGL_EXPORTED_DECL obj_t BGl_checkzd2sharingzd2zzast_checkzd2sharingzd2(obj_t, obj_t);
extern obj_t BGl_valuez00zzast_varz00;
static obj_t BGl_checkzd2nodezd2sharingzd2letzd2fun2995z00zzast_checkzd2sharingzd2(obj_t, obj_t, obj_t);
static obj_t BGl__checkzd2nodezd2sharingzd2default2970zd2zzast_checkzd2sharingzd2(obj_t, obj_t, obj_t);
static obj_t BGl_checkzd2nodezd2sharingzd2extern2982zd2zzast_checkzd2sharingzd2(obj_t, obj_t, obj_t);
static obj_t BGl_checkzd2nodezd2sharingzd2fail2991zd2zzast_checkzd2sharingzd2(obj_t, obj_t, obj_t);
extern obj_t BGl_za2compilerzd2sharingzd2debugzf3za2zf3zzengine_paramz00;
static obj_t BGl_checkzd2nodezd2sharingzd2sequence2973zd2zzast_checkzd2sharingzd2(obj_t, obj_t, obj_t);
static obj_t BGl_requirezd2initializa7ationz75zzast_checkzd2sharingzd2 = BUNSPEC;
static obj_t BGl_checkzd2nodezd2sharingzd2boxzd2setz123006z12zzast_checkzd2sharingzd2(obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_checkzd2nodezd2sharingz00zzast_checkzd2sharingzd2(BgL_nodez00_bglt, obj_t);
static obj_t BGl_checkzd2nodezd2sharingzd2letzd2var2998z00zzast_checkzd2sharingzd2(obj_t, obj_t, obj_t);
static obj_t BGl__checkzd2nodezd2sharing3891z00zzast_checkzd2sharingzd2(obj_t, obj_t, obj_t);
static obj_t BGl_libraryzd2moduleszd2initz00zzast_checkzd2sharingzd2();
extern obj_t BGl_userzd2warningzf2locationz20zztools_errorz00(obj_t, obj_t, obj_t, obj_t);
extern obj_t BGl_setqz00zzast_nodez00;
BGL_IMPORT obj_t BGl_findzd2superzd2classzd2methodzd2zz__objectz00(BgL_objectz00_bglt, obj_t, obj_t);
static obj_t __cnst[ 2 ] ;


DEFINE_EXPORT_PROCEDURE( BGl_checkzd2nodezd2sharingzd2resetz12zd2envz12zzast_checkzd2sharingzd2, BgL_bgl__checkza7d2nodeza7d2sharingza7d2resetza712za7c0za7za7ast_checkza7d2sharingza7d24556za7, BGl__checkzd2nodezd2sharingzd2resetz12zc0zzast_checkzd2sharingzd2, 0L, 0 );
DEFINE_EXPORT_GENERIC( BGl_checkzd2nodezd2sharingzd2envzd2zzast_checkzd2sharingzd2, BgL_bgl__checkza7d2nodeza7d2sharing3891za700za7za7ast_checkza7d2sharingza7d24557za7, BGl__checkzd2nodezd2sharing3891z00zzast_checkzd2sharingzd2, 0L, 2 );
DEFINE_STATIC_PROCEDURE( BGl_proc4504z00zzast_checkzd2sharingzd2, BgL_bgl_checkza7d2nodeza7d2sharingza7d2sequence2973za7d2za7za7ast_checkza7d2sharingza7d24558z00, BGl_checkzd2nodezd2sharingzd2sequence2973zd2zzast_checkzd2sharingzd2, 0L, 2 );
DEFINE_STATIC_PROCEDURE( BGl_proc4505z00zzast_checkzd2sharingzd2, BgL_bgl_checkza7d2nodeza7d2sharingza7d2app2975za7d2za7za7ast_checkza7d2sharingza7d24559z00, BGl_checkzd2nodezd2sharingzd2app2975zd2zzast_checkzd2sharingzd2, 0L, 2 );
DEFINE_STATIC_PROCEDURE( BGl_proc4506z00zzast_checkzd2sharingzd2, BgL_bgl_checkza7d2nodeza7d2sharingza7d2appza7d2ly2977za700za7za7ast_checkza7d2sharingza7d24560za7, BGl_checkzd2nodezd2sharingzd2appzd2ly2977z00zzast_checkzd2sharingzd2, 0L, 2 );
DEFINE_STATIC_PROCEDURE( BGl_proc4507z00zzast_checkzd2sharingzd2, BgL_bgl_checkza7d2nodeza7d2sharingza7d2funcall2979za7d2za7za7ast_checkza7d2sharingza7d24561z00, BGl_checkzd2nodezd2sharingzd2funcall2979zd2zzast_checkzd2sharingzd2, 0L, 2 );
DEFINE_STATIC_PROCEDURE( BGl_proc4508z00zzast_checkzd2sharingzd2, BgL_bgl_checkza7d2nodeza7d2sharingza7d2extern2982za7d2za7za7ast_checkza7d2sharingza7d24562z00, BGl_checkzd2nodezd2sharingzd2extern2982zd2zzast_checkzd2sharingzd2, 0L, 2 );
DEFINE_STATIC_PROCEDURE( BGl_proc4510z00zzast_checkzd2sharingzd2, BgL_bgl_checkza7d2nodeza7d2sharingza7d2setq2987za7d2za7za7ast_checkza7d2sharingza7d24563z00, BGl_checkzd2nodezd2sharingzd2setq2987zd2zzast_checkzd2sharingzd2, 0L, 2 );
DEFINE_STATIC_PROCEDURE( BGl_proc4509z00zzast_checkzd2sharingzd2, BgL_bgl_checkza7d2nodeza7d2sharingza7d2cast2985za7d2za7za7ast_checkza7d2sharingza7d24564z00, BGl_checkzd2nodezd2sharingzd2cast2985zd2zzast_checkzd2sharingzd2, 0L, 2 );
DEFINE_STATIC_PROCEDURE( BGl_proc4511z00zzast_checkzd2sharingzd2, BgL_bgl_checkza7d2nodeza7d2sharingza7d2conditional2989za7d2za7za7ast_checkza7d2sharingza7d24565z00, BGl_checkzd2nodezd2sharingzd2conditional2989zd2zzast_checkzd2sharingzd2, 0L, 2 );
DEFINE_STATIC_PROCEDURE( BGl_proc4512z00zzast_checkzd2sharingzd2, BgL_bgl_checkza7d2nodeza7d2sharingza7d2fail2991za7d2za7za7ast_checkza7d2sharingza7d24566z00, BGl_checkzd2nodezd2sharingzd2fail2991zd2zzast_checkzd2sharingzd2, 0L, 2 );
DEFINE_STATIC_PROCEDURE( BGl_proc4513z00zzast_checkzd2sharingzd2, BgL_bgl_checkza7d2nodeza7d2sharingza7d2select2993za7d2za7za7ast_checkza7d2sharingza7d24567z00, BGl_checkzd2nodezd2sharingzd2select2993zd2zzast_checkzd2sharingzd2, 0L, 2 );
DEFINE_STATIC_PROCEDURE( BGl_proc4514z00zzast_checkzd2sharingzd2, BgL_bgl_checkza7d2nodeza7d2sharingza7d2letza7d2fun2995za700za7za7ast_checkza7d2sharingza7d24568za7, BGl_checkzd2nodezd2sharingzd2letzd2fun2995z00zzast_checkzd2sharingzd2, 0L, 2 );
DEFINE_STATIC_PROCEDURE( BGl_proc4515z00zzast_checkzd2sharingzd2, BgL_bgl_checkza7d2nodeza7d2sharingza7d2letza7d2var2998za700za7za7ast_checkza7d2sharingza7d24569za7, BGl_checkzd2nodezd2sharingzd2letzd2var2998z00zzast_checkzd2sharingzd2, 0L, 2 );
DEFINE_STATIC_PROCEDURE( BGl_proc4516z00zzast_checkzd2sharingzd2, BgL_bgl_checkza7d2nodeza7d2sharingza7d2setza7d2exza7d2it3000za7d2za7za7ast_checkza7d2sharingza7d24570z00, BGl_checkzd2nodezd2sharingzd2setzd2exzd2it3000zd2zzast_checkzd2sharingzd2, 0L, 2 );
DEFINE_STATIC_PROCEDURE( BGl_proc4517z00zzast_checkzd2sharingzd2, BgL_bgl_checkza7d2nodeza7d2sharingza7d2jumpza7d2exza7d2it3002za7d2za7za7ast_checkza7d2sharingza7d24571z00, BGl_checkzd2nodezd2sharingzd2jumpzd2exzd2it3002zd2zzast_checkzd2sharingzd2, 0L, 2 );
DEFINE_STATIC_PROCEDURE( BGl_proc4518z00zzast_checkzd2sharingzd2, BgL_bgl_checkza7d2nodeza7d2sharingza7d2makeza7d2box3004za700za7za7ast_checkza7d2sharingza7d24572za7, BGl_checkzd2nodezd2sharingzd2makezd2box3004z00zzast_checkzd2sharingzd2, 0L, 2 );
DEFINE_STATIC_PROCEDURE( BGl_proc4519z00zzast_checkzd2sharingzd2, BgL_bgl_checkza7d2nodeza7d2sharingza7d2boxza7d2setza7123006za712za7za7ast_checkza7d2sharingza7d24573z00, BGl_checkzd2nodezd2sharingzd2boxzd2setz123006z12zzast_checkzd2sharingzd2, 0L, 2 );
DEFINE_STRING( BGl_string4525z00zzast_checkzd2sharingzd2, BgL_bgl_string4525za700za7za7ast_checkza7d2sharingza7d24574za7, "done pass-started ", 18 );
DEFINE_STRING( BGl_string4524z00zzast_checkzd2sharingzd2, BgL_bgl_string4524za700za7za7ast_checkza7d2sharingza7d24575za7, "================================", 32 );
DEFINE_STRING( BGl_string4523z00zzast_checkzd2sharingzd2, BgL_bgl_string4523za700za7za7ast_checkza7d2sharingza7d24576za7, "context : ", 10 );
DEFINE_STRING( BGl_string4522z00zzast_checkzd2sharingzd2, BgL_bgl_string4522za700za7za7ast_checkza7d2sharingza7d24577za7, "node    : ", 10 );
DEFINE_STRING( BGl_string4521z00zzast_checkzd2sharingzd2, BgL_bgl_string4521za700za7za7ast_checkza7d2sharingza7d24578za7, "shared node", 11 );
DEFINE_STRING( BGl_string4520z00zzast_checkzd2sharingzd2, BgL_bgl_string4520za700za7za7ast_checkza7d2sharingza7d24579za7, "check-node-sharing", 18 );
DEFINE_STRING( BGl_string4499z00zzast_checkzd2sharingzd2, BgL_bgl_string4499za700za7za7ast_checkza7d2sharingza7d24580za7, "   . ", 5 );
DEFINE_STRING( BGl_string4498z00zzast_checkzd2sharingzd2, BgL_bgl_string4498za700za7za7ast_checkza7d2sharingza7d24581za7, ")", 1 );
DEFINE_STRING( BGl_string4497z00zzast_checkzd2sharingzd2, BgL_bgl_string4497za700za7za7ast_checkza7d2sharingza7d24582za7, "Check sharing (", 15 );
DEFINE_STRING( BGl_string4503z00zzast_checkzd2sharingzd2, BgL_bgl_string4503za700za7za7ast_checkza7d2sharingza7d24583za7, "failure during postlude hook", 28 );
DEFINE_STRING( BGl_string4502z00zzast_checkzd2sharingzd2, BgL_bgl_string4502za700za7za7ast_checkza7d2sharingza7d24584za7, " occured, ending ...", 20 );
DEFINE_STRING( BGl_string4501z00zzast_checkzd2sharingzd2, BgL_bgl_string4501za700za7za7ast_checkza7d2sharingza7d24585za7, " error", 6 );
DEFINE_STRING( BGl_string4500z00zzast_checkzd2sharingzd2, BgL_bgl_string4500za700za7za7ast_checkza7d2sharingza7d24586za7, "failure during prelude hook", 27 );
DEFINE_EXPORT_PROCEDURE( BGl_checkzd2sharingzd2envz00zzast_checkzd2sharingzd2, BgL_bgl__checkza7d2sharing3888za7d2za7za7ast_checkza7d2sharingza7d24587z00, BGl__checkzd2sharing3888zd2zzast_checkzd2sharingzd2, 0L, 2 );
DEFINE_STATIC_PROCEDURE( BGl_checkzd2nodezd2sharingzd2default2970zd2envz00zzast_checkzd2sharingzd2, BgL_bgl__checkza7d2nodeza7d2sharingza7d2default2970za7d2za7za7ast_checkza7d2sharingza7d24588z00, BGl__checkzd2nodezd2sharingzd2default2970zd2zzast_checkzd2sharingzd2, 0L, 2 );



/* module-initialization */
BGL_EXPORTED_DEF obj_t BGl_modulezd2initializa7ationz75zzast_checkzd2sharingzd2(long BgL_checksumz00_2658, char * BgL_fromz00_2659)
{ AN_OBJECT;
{ 
if(
CBOOL(BGl_requirezd2initializa7ationz75zzast_checkzd2sharingzd2))
{ 
BGl_requirezd2initializa7ationz75zzast_checkzd2sharingzd2 = 
BBOOL(((bool_t)0)); 
BGl_libraryzd2moduleszd2initz00zzast_checkzd2sharingzd2(); 
BGl_cnstzd2initzd2zzast_checkzd2sharingzd2(); 
BGl_importedzd2moduleszd2initz00zzast_checkzd2sharingzd2(); 
BGl_methodzd2initzd2zzast_checkzd2sharingzd2(); 
BGl_toplevelzd2initzd2zzast_checkzd2sharingzd2(); 
return BUNSPEC;}  else 
{ 
return BUNSPEC;} } 
}



/* library-modules-init */
obj_t BGl_libraryzd2moduleszd2initz00zzast_checkzd2sharingzd2()
{ AN_OBJECT;
{ /* ./Ast/check-sharing.scm 17 */
BGl_modulezd2initializa7ationz75zz__r4_numbers_6_5_flonumz00(((long)0), "ast_check-sharing"); 
BGl_modulezd2initializa7ationz75zz__readerz00(((long)0), "ast_check-sharing"); 
BGl_modulezd2initializa7ationz75zz__objectz00(((long)0), "ast_check-sharing"); 
BGl_modulezd2initializa7ationz75zz__errorz00(((long)0), "ast_check-sharing"); 
BGl_modulezd2initializa7ationz75zz__r4_output_6_10_3z00(((long)0), "ast_check-sharing"); 
BGl_modulezd2initializa7ationz75zz__r4_numbers_6_5z00(((long)0), "ast_check-sharing"); 
BGl_modulezd2initializa7ationz75zz__r4_pairs_and_lists_6_3z00(((long)0), "ast_check-sharing"); 
return BUNSPEC;} 
}



/* cnst-init */
obj_t BGl_cnstzd2initzd2zzast_checkzd2sharingzd2()
{ AN_OBJECT;
{ /* ./Ast/check-sharing.scm 17 */
{ /* ./Ast/check-sharing.scm 17 */
obj_t BgL_cportz00_2651;
BgL_cportz00_2651 = 
open_input_string(BGl_string4525z00zzast_checkzd2sharingzd2); 
{ 
long BgL_iz00_2652;
BgL_iz00_2652 = ((long)1); 
BgL_loopz00_2653:
{ /* ./Ast/check-sharing.scm 17 */
bool_t BgL_test4527z00_2654;
BgL_test4527z00_2654 = 
(BgL_iz00_2652==((long)-1)); 
if(BgL_test4527z00_2654)
{ /* ./Ast/check-sharing.scm 17 */
return BUNSPEC;}  else 
{ /* ./Ast/check-sharing.scm 17 */
{ /* ./Ast/check-sharing.scm 17 */
obj_t BgL_arg4529z00_2655;
{ /* ./Ast/check-sharing.scm 17 */
obj_t BgL_list4532z00_2656;
BgL_list4532z00_2656 = 
MAKE_PAIR(BgL_cportz00_2651, BNIL); 
BgL_arg4529z00_2655 = 
BGl_readz00zz__readerz00(BgL_list4532z00_2656); } 
{ /* ./Ast/check-sharing.scm 17 */
int BgL_auxz00_2680;
BgL_auxz00_2680 = 
(int)(BgL_iz00_2652); 
CNST_TABLE_SET(BgL_auxz00_2680, BgL_arg4529z00_2655); } } 
{ /* ./Ast/check-sharing.scm 17 */
int BgL_auxz00_2657;
{ /* ./Ast/check-sharing.scm 17 */
long BgL_auxz00_2683;
BgL_auxz00_2683 = 
(BgL_iz00_2652-((long)1)); 
BgL_auxz00_2657 = 
(int)(BgL_auxz00_2683); } 
{ 
long BgL_iz00_2686;
BgL_iz00_2686 = 
(long)(BgL_auxz00_2657); 
BgL_iz00_2652 = BgL_iz00_2686; 
goto BgL_loopz00_2653;} } } } } } } 
}



/* toplevel-init */
obj_t BGl_toplevelzd2initzd2zzast_checkzd2sharingzd2()
{ AN_OBJECT;
{ /* ./Ast/check-sharing.scm 17 */
BGl_za2previousza2z00zzast_checkzd2sharingzd2 = BNIL; 
return BUNSPEC;} 
}



/* check-sharing */
BGL_EXPORTED_DEF obj_t BGl_checkzd2sharingzd2zzast_checkzd2sharingzd2(obj_t BgL_whenz00_19, obj_t BgL_globalsz00_20)
{ AN_OBJECT;
{ /* ./Ast/check-sharing.scm 38 */
if(
CBOOL(BGl_za2compilerzd2sharingzd2debugzf3za2zf3zzengine_paramz00))
{ /* ./Ast/check-sharing.scm 39 */
{ /* ./Ast/check-sharing.scm 41 */
obj_t BgL_arg3047z00_790;
BgL_arg3047z00_790 = 
string_append_3(BGl_string4497z00zzast_checkzd2sharingzd2, BgL_whenz00_19, BGl_string4498z00zzast_checkzd2sharingzd2); 
{ /* ./Ast/check-sharing.scm 41 */
obj_t BgL_list3049z00_791;
{ /* ./Ast/check-sharing.scm 41 */
obj_t BgL_arg3051z00_792;
{ /* ./Ast/check-sharing.scm 41 */
obj_t BgL_arg3054z00_793;
{ /* ./Ast/check-sharing.scm 41 */
obj_t BgL_auxz00_2691;
BgL_auxz00_2691 = 
BCHAR(((unsigned char)'\n')); 
BgL_arg3054z00_793 = 
MAKE_PAIR(BgL_auxz00_2691, BNIL); } 
BgL_arg3051z00_792 = 
MAKE_PAIR(BgL_arg3047z00_790, BgL_arg3054z00_793); } 
BgL_list3049z00_791 = 
MAKE_PAIR(BGl_string4499z00zzast_checkzd2sharingzd2, BgL_arg3051z00_792); } 
BGl_verbosez00zztools_speekz00(
BINT(((long)1)), BgL_list3049z00_791); } } 
BGl_za2nbzd2errorzd2onzd2passza2zd2zztools_errorz00 = 
BINT(((long)0)); 
BGl_za2currentzd2passza2zd2zzengine_passz00 = 
string_append_3(BGl_string4497z00zzast_checkzd2sharingzd2, BgL_whenz00_19, BGl_string4498z00zzast_checkzd2sharingzd2); 
{ 
obj_t BgL_hooksz00_794;obj_t BgL_hnamesz00_795;
{ /* ./Ast/check-sharing.scm 41 */
obj_t BgL_arg3061z00_797;
BgL_arg3061z00_797 = BNIL; 
BgL_hooksz00_794 = BgL_arg3061z00_797; 
BgL_hnamesz00_795 = BNIL; 
BgL_loopz00_796:
{ /* ./Ast/check-sharing.scm 41 */
bool_t BgL_test3066z00_800;
BgL_test3066z00_800 = 
NULLP(BgL_hooksz00_794); 
if(BgL_test3066z00_800)
{ /* ./Ast/check-sharing.scm 41 */
CNST_TABLE_REF(((long)0)); }  else 
{ /* ./Ast/check-sharing.scm 41 */
bool_t BgL_test3067z00_801;
{ /* ./Ast/check-sharing.scm 41 */
obj_t BgL_fun3083z00_807;
BgL_fun3083z00_807 = 
CAR(BgL_hooksz00_794); 
{ /* ./Ast/check-sharing.scm 41 */
obj_t BgL_auxz00_2704;
BgL_auxz00_2704 = 
PROCEDURE_ENTRY(BgL_fun3083z00_807)(BgL_fun3083z00_807, BEOA); 
BgL_test3067z00_801 = 
CBOOL(BgL_auxz00_2704); } } 
if(BgL_test3067z00_801)
{ /* ./Ast/check-sharing.scm 41 */
{ /* ./Ast/check-sharing.scm 41 */
obj_t BgL_arg3069z00_802;obj_t BgL_arg3070z00_803;
BgL_arg3069z00_802 = 
CDR(BgL_hooksz00_794); 
BgL_arg3070z00_803 = 
CDR(BgL_hnamesz00_795); 
{ 
obj_t BgL_hnamesz00_2712;obj_t BgL_hooksz00_2711;
BgL_hooksz00_2711 = BgL_arg3069z00_802; 
BgL_hnamesz00_2712 = BgL_arg3070z00_803; 
BgL_hnamesz00_795 = BgL_hnamesz00_2712; 
BgL_hooksz00_794 = BgL_hooksz00_2711; 
goto BgL_loopz00_796;} } }  else 
{ /* ./Ast/check-sharing.scm 41 */
{ /* ./Ast/check-sharing.scm 41 */
obj_t BgL_arg3075z00_804;obj_t BgL_arg3077z00_806;
BgL_arg3075z00_804 = 
string_append_3(BGl_string4497z00zzast_checkzd2sharingzd2, BgL_whenz00_19, BGl_string4498z00zzast_checkzd2sharingzd2); 
BgL_arg3077z00_806 = 
CAR(BgL_hnamesz00_795); 
BGl_internalzd2errorzd2zztools_errorz00(BgL_arg3075z00_804, BGl_string4500z00zzast_checkzd2sharingzd2, BgL_arg3077z00_806); } } } } } } 
{ 
obj_t BgL_l2935z00_808;
BgL_l2935z00_808 = BgL_globalsz00_20; 
BgL_forzd2each2936zd2_809:
{ /* ./Ast/check-sharing.scm 42 */
bool_t BgL_test3087z00_810;
BgL_test3087z00_810 = 
PAIRP(BgL_l2935z00_808); 
if(BgL_test3087z00_810)
{ /* ./Ast/check-sharing.scm 42 */
{ /* ./Ast/check-sharing.scm 43 */
obj_t BgL_globalz00_811;
BgL_globalz00_811 = 
CAR(BgL_l2935z00_808); 
{ /* ./Ast/check-sharing.scm 43 */
BgL_valuez00_bglt BgL_funz00_1407;
{ /* ./Ast/check-sharing.scm 43 */
BgL_variablez00_bglt BgL_obj1014z00_1409;
BgL_obj1014z00_1409 = 
(BgL_variablez00_bglt)(BgL_globalz00_811); 
BgL_funz00_1407 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1014z00_1409))->BgL_valuez00); } 
{ /* ./Ast/check-sharing.scm 43 */
obj_t BgL_bodyz00_1408;
{ /* ./Ast/check-sharing.scm 43 */
BgL_sfunz00_bglt BgL_obj1284z00_1410;
BgL_obj1284z00_1410 = 
(BgL_sfunz00_bglt)(BgL_funz00_1407); 
BgL_bodyz00_1408 = 
(((BgL_sfunz00_bglt)CREF(BgL_obj1284z00_1410))->BgL_bodyz00); } 
{ /* ./Ast/check-sharing.scm 43 */

BGl_checkzd2nodezd2sharingz00zzast_checkzd2sharingzd2(
(BgL_nodez00_bglt)(BgL_bodyz00_1408), BUNSPEC); } } } } 
{ /* ./Ast/check-sharing.scm 42 */
obj_t BgL_arg3091z00_812;
BgL_arg3091z00_812 = 
CDR(BgL_l2935z00_808); 
{ 
obj_t BgL_l2935z00_2726;
BgL_l2935z00_2726 = BgL_arg3091z00_812; 
BgL_l2935z00_808 = BgL_l2935z00_2726; 
goto BgL_forzd2each2936zd2_809;} } }  else 
{ /* ./Ast/check-sharing.scm 42 */((bool_t)1); } } } 
BGl_za2previousza2z00zzast_checkzd2sharingzd2 = BNIL; 
{ /* ./Ast/check-sharing.scm 46 */
bool_t BgL_test3096z00_814;
{ /* ./Ast/check-sharing.scm 46 */
long BgL_n1z00_1412;
BgL_n1z00_1412 = 
(long)CINT(BGl_za2nbzd2errorzd2onzd2passza2zd2zztools_errorz00); 
BgL_test3096z00_814 = 
(BgL_n1z00_1412>((long)0)); } 
if(BgL_test3096z00_814)
{ /* ./Ast/check-sharing.scm 46 */
{ /* ./Ast/check-sharing.scm 46 */
obj_t BgL_port2937z00_815;
BgL_port2937z00_815 = 
BGL_CURRENT_ERROR_PORT(); 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(BGl_za2nbzd2errorzd2onzd2passza2zd2zztools_errorz00, BgL_port2937z00_815); 
display_string(BGl_string4501z00zzast_checkzd2sharingzd2, BgL_port2937z00_815); 
{ /* ./Ast/check-sharing.scm 46 */
char * BgL_arg3100z00_816;
{ /* ./Ast/check-sharing.scm 46 */
bool_t BgL_test3102z00_817;
{ /* ./Ast/check-sharing.scm 46 */
bool_t BgL_test3103z00_818;
{ /* ./Ast/check-sharing.scm 46 */
bool_t BgL_res3806z00_1420;
{ /* ./Ast/check-sharing.scm 46 */
obj_t BgL_objz00_1414;
BgL_objz00_1414 = BGl_za2nbzd2errorzd2onzd2passza2zd2zztools_errorz00; 
{ /* ./Ast/check-sharing.scm 46 */
bool_t BgL_test1396z00_1415;
BgL_test1396z00_1415 = 
INTEGERP(BgL_objz00_1414); 
if(BgL_test1396z00_1415)
{ /* ./Ast/check-sharing.scm 46 */
BgL_res3806z00_1420 = ((bool_t)1); }  else 
{ /* ./Ast/check-sharing.scm 46 */
bool_t BgL_test1397z00_1416;
BgL_test1397z00_1416 = 
REALP(BgL_objz00_1414); 
if(BgL_test1397z00_1416)
{ /* ./Ast/check-sharing.scm 46 */
double BgL_arg1399z00_1417;
BgL_arg1399z00_1417 = 
BGl_roundflz00zz__r4_numbers_6_5_flonumz00(
REAL_TO_DOUBLE(BgL_objz00_1414)); 
{ /* ./Ast/check-sharing.scm 46 */
double BgL_auxz00_2739;
BgL_auxz00_2739 = 
REAL_TO_DOUBLE(BgL_objz00_1414); 
BgL_res3806z00_1420 = 
(BgL_auxz00_2739==BgL_arg1399z00_1417); } }  else 
{ /* ./Ast/check-sharing.scm 46 */
BgL_res3806z00_1420 = ((bool_t)0); } } } } 
BgL_test3103z00_818 = BgL_res3806z00_1420; } 
if(BgL_test3103z00_818)
{ /* ./Ast/check-sharing.scm 46 */
BgL_test3102z00_817 = 
BGl_2ze3ze3zz__r4_numbers_6_5z00(BGl_za2nbzd2errorzd2onzd2passza2zd2zztools_errorz00, 
BINT(((long)1))); }  else 
{ /* ./Ast/check-sharing.scm 46 */
BgL_test3102z00_817 = ((bool_t)0); } } 
if(BgL_test3102z00_817)
{ /* ./Ast/check-sharing.scm 46 */
BgL_arg3100z00_816 = "s"; }  else 
{ /* ./Ast/check-sharing.scm 46 */
BgL_arg3100z00_816 = ""; } } 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(
string_to_bstring(BgL_arg3100z00_816), BgL_port2937z00_815); } 
display_string(BGl_string4502z00zzast_checkzd2sharingzd2, BgL_port2937z00_815); 
WRITE_CHAR(((unsigned char)'\n'), BgL_port2937z00_815); } 
{ /* ./Ast/check-sharing.scm 46 */
obj_t BgL_list3110z00_819;
{ /* ./Ast/check-sharing.scm 46 */
obj_t BgL_auxz00_2750;
BgL_auxz00_2750 = 
BINT(((long)-1)); 
BgL_list3110z00_819 = 
MAKE_PAIR(BgL_auxz00_2750, BNIL); } 
return 
BGl_exitz00zz__errorz00(BgL_list3110z00_819);} }  else 
{ 
obj_t BgL_hooksz00_820;obj_t BgL_hnamesz00_821;
{ /* ./Ast/check-sharing.scm 46 */
obj_t BgL_arg3113z00_823;
BgL_arg3113z00_823 = BNIL; 
BgL_hooksz00_820 = BgL_arg3113z00_823; 
BgL_hnamesz00_821 = BNIL; 
BgL_loopz00_822:
{ /* ./Ast/check-sharing.scm 46 */
bool_t BgL_test3118z00_826;
BgL_test3118z00_826 = 
NULLP(BgL_hooksz00_820); 
if(BgL_test3118z00_826)
{ /* ./Ast/check-sharing.scm 46 */
return BgL_globalsz00_20;}  else 
{ /* ./Ast/check-sharing.scm 46 */
bool_t BgL_test3119z00_827;
{ /* ./Ast/check-sharing.scm 46 */
obj_t BgL_fun3134z00_832;
BgL_fun3134z00_832 = 
CAR(BgL_hooksz00_820); 
{ /* ./Ast/check-sharing.scm 46 */
obj_t BgL_auxz00_2757;
BgL_auxz00_2757 = 
PROCEDURE_ENTRY(BgL_fun3134z00_832)(BgL_fun3134z00_832, BEOA); 
BgL_test3119z00_827 = 
CBOOL(BgL_auxz00_2757); } } 
if(BgL_test3119z00_827)
{ /* ./Ast/check-sharing.scm 46 */
{ /* ./Ast/check-sharing.scm 46 */
obj_t BgL_arg3121z00_828;obj_t BgL_arg3122z00_829;
BgL_arg3121z00_828 = 
CDR(BgL_hooksz00_820); 
BgL_arg3122z00_829 = 
CDR(BgL_hnamesz00_821); 
{ 
obj_t BgL_hnamesz00_2765;obj_t BgL_hooksz00_2764;
BgL_hooksz00_2764 = BgL_arg3121z00_828; 
BgL_hnamesz00_2765 = BgL_arg3122z00_829; 
BgL_hnamesz00_821 = BgL_hnamesz00_2765; 
BgL_hooksz00_820 = BgL_hooksz00_2764; 
goto BgL_loopz00_822;} } }  else 
{ /* ./Ast/check-sharing.scm 46 */
{ /* ./Ast/check-sharing.scm 46 */
obj_t BgL_arg3129z00_831;
BgL_arg3129z00_831 = 
CAR(BgL_hnamesz00_821); 
return 
BGl_internalzd2errorzd2zztools_errorz00(BGl_za2currentzd2passza2zd2zzengine_passz00, BGl_string4503z00zzast_checkzd2sharingzd2, BgL_arg3129z00_831);} } } } } } } }  else 
{ /* ./Ast/check-sharing.scm 39 */
return BFALSE;} } 
}



/* _check-sharing3888 */
obj_t BGl__checkzd2sharing3888zd2zzast_checkzd2sharingzd2(obj_t BgL_envz00_2576, obj_t BgL_whenz00_2577, obj_t BgL_globalsz00_2578)
{ AN_OBJECT;
{ /* ./Ast/check-sharing.scm 38 */
return 
BGl_checkzd2sharingzd2zzast_checkzd2sharingzd2(BgL_whenz00_2577, BgL_globalsz00_2578);} 
}



/* check-node-sharing-reset! */
BGL_EXPORTED_DEF obj_t BGl_checkzd2nodezd2sharingzd2resetz12zc0zzast_checkzd2sharingzd2()
{ AN_OBJECT;
{ /* ./Ast/check-sharing.scm 64 */
return ( 
BGl_za2previousza2z00zzast_checkzd2sharingzd2 = BNIL, BUNSPEC) ;} 
}



/* _check-node-sharing-reset! */
obj_t BGl__checkzd2nodezd2sharingzd2resetz12zc0zzast_checkzd2sharingzd2(obj_t BgL_envz00_2579)
{ AN_OBJECT;
{ /* ./Ast/check-sharing.scm 64 */
return 
BGl_checkzd2nodezd2sharingzd2resetz12zc0zzast_checkzd2sharingzd2();} 
}



/* check-node-sharing* */
bool_t BGl_checkzd2nodezd2sharingza2za2zzast_checkzd2sharingzd2(obj_t BgL_nodeza2za2_59, obj_t BgL_contextz00_60)
{ AN_OBJECT;
{ /* ./Ast/check-sharing.scm 225 */
{ 
obj_t BgL_l2967z00_835;
BgL_l2967z00_835 = BgL_nodeza2za2_59; 
BgL_forzd2each2968zd2_836:
{ /* ./Ast/check-sharing.scm 226 */
bool_t BgL_test3142z00_837;
BgL_test3142z00_837 = 
PAIRP(BgL_l2967z00_835); 
if(BgL_test3142z00_837)
{ /* ./Ast/check-sharing.scm 226 */
{ /* ./Ast/check-sharing.scm 226 */
obj_t BgL_nodez00_838;
BgL_nodez00_838 = 
CAR(BgL_l2967z00_835); 
{ /* ./Ast/check-sharing.scm 226 */
BgL_nodez00_bglt BgL_nodez00_1462;
BgL_nodez00_1462 = 
(BgL_nodez00_bglt)(BgL_nodez00_838); 
{ /* ./Ast/check-sharing.scm 226 */
obj_t BgL_method2971z00_1464;
{ /* ./Ast/check-sharing.scm 226 */
BgL_objectz00_bglt BgL_objz00_1465;
BgL_objz00_1465 = 
(BgL_objectz00_bglt)(BgL_nodez00_1462); 
{ /* ./Ast/check-sharing.scm 226 */
long BgL_objzd2classzd2numz00_1466;
BgL_objzd2classzd2numz00_1466 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1465); 
{ /* ./Ast/check-sharing.scm 226 */
obj_t BgL_arg2017z00_1467;
{ /* ./Ast/check-sharing.scm 226 */
int BgL_auxz00_2776;
BgL_auxz00_2776 = 
(int)(((long)1)); 
BgL_arg2017z00_1467 = 
PROCEDURE_REF(BGl_checkzd2nodezd2sharingzd2envzd2zzast_checkzd2sharingzd2, BgL_auxz00_2776); } 
{ /* ./Ast/check-sharing.scm 226 */
int BgL_offsetz00_1470;
BgL_offsetz00_1470 = 
(int)(BgL_objzd2classzd2numz00_1466); 
{ /* ./Ast/check-sharing.scm 226 */
long BgL_offsetz00_1471;
{ /* ./Ast/check-sharing.scm 226 */
long BgL_auxz00_2780;
BgL_auxz00_2780 = 
(long)(BgL_offsetz00_1470); 
BgL_offsetz00_1471 = 
(BgL_auxz00_2780-OBJECT_TYPE); } 
{ /* ./Ast/check-sharing.scm 226 */
long BgL_modz00_1472;
{ /* ./Ast/check-sharing.scm 226 */
int BgL_arg2028z00_1473;
BgL_arg2028z00_1473 = 
(int)(((long)8)); 
{ /* ./Ast/check-sharing.scm 226 */
long BgL_n2z00_1481;
BgL_n2z00_1481 = 
(long)(BgL_arg2028z00_1473); 
BgL_modz00_1472 = 
(BgL_offsetz00_1471/BgL_n2z00_1481); } } 
{ /* ./Ast/check-sharing.scm 226 */
long BgL_restz00_1474;
{ /* ./Ast/check-sharing.scm 226 */
int BgL_arg2024z00_1475;
BgL_arg2024z00_1475 = 
(int)(((long)8)); 
{ /* ./Ast/check-sharing.scm 226 */
long BgL_n2z00_1484;
BgL_n2z00_1484 = 
(long)(BgL_arg2024z00_1475); 
BgL_restz00_1474 = 
(BgL_offsetz00_1471%BgL_n2z00_1484); } } 
{ /* ./Ast/check-sharing.scm 226 */

{ /* ./Ast/check-sharing.scm 226 */
obj_t BgL_bucketz00_1476;
{ /* ./Ast/check-sharing.scm 226 */
int BgL_kz00_1486;
BgL_kz00_1486 = 
(int)(BgL_modz00_1472); 
BgL_bucketz00_1476 = 
VECTOR_REF(BgL_arg2017z00_1467,BgL_kz00_1486); } 
{ /* ./Ast/check-sharing.scm 226 */
int BgL_kz00_1488;
BgL_kz00_1488 = 
(int)(BgL_restz00_1474); 
BgL_method2971z00_1464 = 
VECTOR_REF(BgL_bucketz00_1476,BgL_kz00_1488); } } } } } } } } } } 
PROCEDURE_ENTRY(BgL_method2971z00_1464)(BgL_method2971z00_1464, 
(obj_t)(BgL_nodez00_1462), BgL_contextz00_60, BEOA); } } } 
{ /* ./Ast/check-sharing.scm 226 */
obj_t BgL_arg3146z00_839;
BgL_arg3146z00_839 = 
CDR(BgL_l2967z00_835); 
{ 
obj_t BgL_l2967z00_2797;
BgL_l2967z00_2797 = BgL_arg3146z00_839; 
BgL_l2967z00_835 = BgL_l2967z00_2797; 
goto BgL_forzd2each2968zd2_836;} } }  else 
{ /* ./Ast/check-sharing.scm 226 */
return ((bool_t)1);} } } } 
}



/* method-init */
obj_t BGl_methodzd2initzd2zzast_checkzd2sharingzd2()
{ AN_OBJECT;
{ /* ./Ast/check-sharing.scm 17 */
BGl_addzd2genericz12zc0zz__objectz00(BGl_checkzd2nodezd2sharingzd2envzd2zzast_checkzd2sharingzd2, BGl_checkzd2nodezd2sharingzd2default2970zd2envz00zzast_checkzd2sharingzd2); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_checkzd2nodezd2sharingzd2envzd2zzast_checkzd2sharingzd2, BGl_sequencez00zzast_nodez00, BGl_proc4504z00zzast_checkzd2sharingzd2); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_checkzd2nodezd2sharingzd2envzd2zzast_checkzd2sharingzd2, BGl_appz00zzast_nodez00, BGl_proc4505z00zzast_checkzd2sharingzd2); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_checkzd2nodezd2sharingzd2envzd2zzast_checkzd2sharingzd2, BGl_appzd2lyzd2zzast_nodez00, BGl_proc4506z00zzast_checkzd2sharingzd2); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_checkzd2nodezd2sharingzd2envzd2zzast_checkzd2sharingzd2, BGl_funcallz00zzast_nodez00, BGl_proc4507z00zzast_checkzd2sharingzd2); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_checkzd2nodezd2sharingzd2envzd2zzast_checkzd2sharingzd2, BGl_externz00zzast_nodez00, BGl_proc4508z00zzast_checkzd2sharingzd2); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_checkzd2nodezd2sharingzd2envzd2zzast_checkzd2sharingzd2, BGl_castz00zzast_nodez00, BGl_proc4509z00zzast_checkzd2sharingzd2); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_checkzd2nodezd2sharingzd2envzd2zzast_checkzd2sharingzd2, BGl_setqz00zzast_nodez00, BGl_proc4510z00zzast_checkzd2sharingzd2); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_checkzd2nodezd2sharingzd2envzd2zzast_checkzd2sharingzd2, BGl_conditionalz00zzast_nodez00, BGl_proc4511z00zzast_checkzd2sharingzd2); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_checkzd2nodezd2sharingzd2envzd2zzast_checkzd2sharingzd2, BGl_failz00zzast_nodez00, BGl_proc4512z00zzast_checkzd2sharingzd2); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_checkzd2nodezd2sharingzd2envzd2zzast_checkzd2sharingzd2, BGl_selectz00zzast_nodez00, BGl_proc4513z00zzast_checkzd2sharingzd2); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_checkzd2nodezd2sharingzd2envzd2zzast_checkzd2sharingzd2, BGl_letzd2funzd2zzast_nodez00, BGl_proc4514z00zzast_checkzd2sharingzd2); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_checkzd2nodezd2sharingzd2envzd2zzast_checkzd2sharingzd2, BGl_letzd2varzd2zzast_nodez00, BGl_proc4515z00zzast_checkzd2sharingzd2); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_checkzd2nodezd2sharingzd2envzd2zzast_checkzd2sharingzd2, BGl_setzd2exzd2itz00zzast_nodez00, BGl_proc4516z00zzast_checkzd2sharingzd2); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_checkzd2nodezd2sharingzd2envzd2zzast_checkzd2sharingzd2, BGl_jumpzd2exzd2itz00zzast_nodez00, BGl_proc4517z00zzast_checkzd2sharingzd2); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_checkzd2nodezd2sharingzd2envzd2zzast_checkzd2sharingzd2, BGl_makezd2boxzd2zzast_nodez00, BGl_proc4518z00zzast_checkzd2sharingzd2); 
return 
BGl_addzd2methodz12zc0zz__objectz00(BGl_checkzd2nodezd2sharingzd2envzd2zzast_checkzd2sharingzd2, BGl_boxzd2setz12zc0zzast_nodez00, BGl_proc4519z00zzast_checkzd2sharingzd2);} 
}



/* check-node-sharing-box-set!3006 */
obj_t BGl_checkzd2nodezd2sharingzd2boxzd2setz123006z12zzast_checkzd2sharingzd2(obj_t BgL_envz00_2599, obj_t BgL_nodez00_2600, obj_t BgL_contextz00_2601)
{ AN_OBJECT;
{ /* ./Ast/check-sharing.scm 217 */
{ 
BgL_boxzd2setz12zc0_bglt BgL_nodez00_1364;obj_t BgL_contextz00_1365;
BgL_nodez00_1364 = 
(BgL_boxzd2setz12zc0_bglt)(BgL_nodez00_2600); 
BgL_contextz00_1365 = BgL_contextz00_2601; 
{ 

{ /* ./Ast/check-sharing.scm 217 */
obj_t BgL_nextzd2method3005zd2_1370;
BgL_nextzd2method3005zd2_1370 = 
BGl_findzd2superzd2classzd2methodzd2zz__objectz00(
(BgL_objectz00_bglt)(BgL_nodez00_1364), BGl_checkzd2nodezd2sharingzd2envzd2zzast_checkzd2sharingzd2, BGl_boxzd2setz12zc0zzast_nodez00); 
{ /* ./Ast/check-sharing.scm 217 */
bool_t BgL_test3756z00_1371;
BgL_test3756z00_1371 = 
PROCEDUREP(BgL_nextzd2method3005zd2_1370); 
if(BgL_test3756z00_1371)
{ /* ./Ast/check-sharing.scm 217 */
PROCEDURE_ENTRY(BgL_nextzd2method3005zd2_1370)(BgL_nextzd2method3005zd2_1370, 
(obj_t)(BgL_nodez00_1364), BgL_contextz00_1365, BEOA); }  else 
{ /* ./Ast/check-sharing.scm 217 */
{ /* ./Ast/check-sharing.scm 217 */
BgL_nodez00_bglt BgL_nodez00_2520;
BgL_nodez00_2520 = 
(BgL_nodez00_bglt)(BgL_nodez00_1364); 
{ /* ./Ast/check-sharing.scm 217 */
obj_t BgL_method2971z00_2522;
{ /* ./Ast/check-sharing.scm 217 */
BgL_objectz00_bglt BgL_objz00_2523;
BgL_objz00_2523 = 
(BgL_objectz00_bglt)(BgL_nodez00_2520); 
{ /* ./Ast/check-sharing.scm 217 */
long BgL_objzd2classzd2numz00_2524;
BgL_objzd2classzd2numz00_2524 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2523); 
{ /* ./Ast/check-sharing.scm 217 */
obj_t BgL_arg2017z00_2525;
{ /* ./Ast/check-sharing.scm 217 */
int BgL_auxz00_2825;
BgL_auxz00_2825 = 
(int)(((long)1)); 
BgL_arg2017z00_2525 = 
PROCEDURE_REF(BGl_checkzd2nodezd2sharingzd2envzd2zzast_checkzd2sharingzd2, BgL_auxz00_2825); } 
{ /* ./Ast/check-sharing.scm 217 */
int BgL_offsetz00_2528;
BgL_offsetz00_2528 = 
(int)(BgL_objzd2classzd2numz00_2524); 
{ /* ./Ast/check-sharing.scm 217 */
long BgL_offsetz00_2529;
{ /* ./Ast/check-sharing.scm 217 */
long BgL_auxz00_2829;
BgL_auxz00_2829 = 
(long)(BgL_offsetz00_2528); 
BgL_offsetz00_2529 = 
(BgL_auxz00_2829-OBJECT_TYPE); } 
{ /* ./Ast/check-sharing.scm 217 */
long BgL_modz00_2530;
{ /* ./Ast/check-sharing.scm 217 */
int BgL_arg2028z00_2531;
BgL_arg2028z00_2531 = 
(int)(((long)8)); 
{ /* ./Ast/check-sharing.scm 217 */
long BgL_n2z00_2539;
BgL_n2z00_2539 = 
(long)(BgL_arg2028z00_2531); 
BgL_modz00_2530 = 
(BgL_offsetz00_2529/BgL_n2z00_2539); } } 
{ /* ./Ast/check-sharing.scm 217 */
long BgL_restz00_2532;
{ /* ./Ast/check-sharing.scm 217 */
int BgL_arg2024z00_2533;
BgL_arg2024z00_2533 = 
(int)(((long)8)); 
{ /* ./Ast/check-sharing.scm 217 */
long BgL_n2z00_2542;
BgL_n2z00_2542 = 
(long)(BgL_arg2024z00_2533); 
BgL_restz00_2532 = 
(BgL_offsetz00_2529%BgL_n2z00_2542); } } 
{ /* ./Ast/check-sharing.scm 217 */

{ /* ./Ast/check-sharing.scm 217 */
obj_t BgL_bucketz00_2534;
{ /* ./Ast/check-sharing.scm 217 */
int BgL_kz00_2544;
BgL_kz00_2544 = 
(int)(BgL_modz00_2530); 
BgL_bucketz00_2534 = 
VECTOR_REF(BgL_arg2017z00_2525,BgL_kz00_2544); } 
{ /* ./Ast/check-sharing.scm 217 */
int BgL_kz00_2546;
BgL_kz00_2546 = 
(int)(BgL_restz00_2532); 
BgL_method2971z00_2522 = 
VECTOR_REF(BgL_bucketz00_2534,BgL_kz00_2546); } } } } } } } } } } 
PROCEDURE_ENTRY(BgL_method2971z00_2522)(BgL_method2971z00_2522, 
(obj_t)(BgL_nodez00_2520), BgL_contextz00_1365, BEOA); } } } } } 
{ /* ./Ast/check-sharing.scm 220 */
BgL_nodez00_bglt BgL_arg3753z00_1369;
BgL_arg3753z00_1369 = 
(((BgL_boxzd2setz12zc0_bglt)CREF(BgL_nodez00_1364))->BgL_valuez00); 
{ /* ./Ast/check-sharing.scm 220 */
obj_t BgL_contextz00_2493;
BgL_contextz00_2493 = 
(obj_t)(BgL_nodez00_1364); 
{ /* ./Ast/check-sharing.scm 220 */
obj_t BgL_method2971z00_2494;
{ /* ./Ast/check-sharing.scm 220 */
BgL_objectz00_bglt BgL_objz00_2495;
BgL_objz00_2495 = 
(BgL_objectz00_bglt)(BgL_arg3753z00_1369); 
{ /* ./Ast/check-sharing.scm 220 */
long BgL_objzd2classzd2numz00_2496;
BgL_objzd2classzd2numz00_2496 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2495); 
{ /* ./Ast/check-sharing.scm 220 */
obj_t BgL_arg2017z00_2497;
{ /* ./Ast/check-sharing.scm 220 */
int BgL_auxz00_2849;
BgL_auxz00_2849 = 
(int)(((long)1)); 
BgL_arg2017z00_2497 = 
PROCEDURE_REF(BGl_checkzd2nodezd2sharingzd2envzd2zzast_checkzd2sharingzd2, BgL_auxz00_2849); } 
{ /* ./Ast/check-sharing.scm 220 */
int BgL_offsetz00_2500;
BgL_offsetz00_2500 = 
(int)(BgL_objzd2classzd2numz00_2496); 
{ /* ./Ast/check-sharing.scm 220 */
long BgL_offsetz00_2501;
{ /* ./Ast/check-sharing.scm 220 */
long BgL_auxz00_2853;
BgL_auxz00_2853 = 
(long)(BgL_offsetz00_2500); 
BgL_offsetz00_2501 = 
(BgL_auxz00_2853-OBJECT_TYPE); } 
{ /* ./Ast/check-sharing.scm 220 */
long BgL_modz00_2502;
{ /* ./Ast/check-sharing.scm 220 */
int BgL_arg2028z00_2503;
BgL_arg2028z00_2503 = 
(int)(((long)8)); 
{ /* ./Ast/check-sharing.scm 220 */
long BgL_n2z00_2511;
BgL_n2z00_2511 = 
(long)(BgL_arg2028z00_2503); 
BgL_modz00_2502 = 
(BgL_offsetz00_2501/BgL_n2z00_2511); } } 
{ /* ./Ast/check-sharing.scm 220 */
long BgL_restz00_2504;
{ /* ./Ast/check-sharing.scm 220 */
int BgL_arg2024z00_2505;
BgL_arg2024z00_2505 = 
(int)(((long)8)); 
{ /* ./Ast/check-sharing.scm 220 */
long BgL_n2z00_2514;
BgL_n2z00_2514 = 
(long)(BgL_arg2024z00_2505); 
BgL_restz00_2504 = 
(BgL_offsetz00_2501%BgL_n2z00_2514); } } 
{ /* ./Ast/check-sharing.scm 220 */

{ /* ./Ast/check-sharing.scm 220 */
obj_t BgL_bucketz00_2506;
{ /* ./Ast/check-sharing.scm 220 */
int BgL_kz00_2516;
BgL_kz00_2516 = 
(int)(BgL_modz00_2502); 
BgL_bucketz00_2506 = 
VECTOR_REF(BgL_arg2017z00_2497,BgL_kz00_2516); } 
{ /* ./Ast/check-sharing.scm 220 */
int BgL_kz00_2518;
BgL_kz00_2518 = 
(int)(BgL_restz00_2504); 
BgL_method2971z00_2494 = 
VECTOR_REF(BgL_bucketz00_2506,BgL_kz00_2518); } } } } } } } } } } 
return 
PROCEDURE_ENTRY(BgL_method2971z00_2494)(BgL_method2971z00_2494, 
(obj_t)(BgL_arg3753z00_1369), BgL_contextz00_2493, BEOA);} } } } } } 
}



/* check-node-sharing-make-box3004 */
obj_t BGl_checkzd2nodezd2sharingzd2makezd2box3004z00zzast_checkzd2sharingzd2(obj_t BgL_envz00_2602, obj_t BgL_nodez00_2603, obj_t BgL_contextz00_2604)
{ AN_OBJECT;
{ /* ./Ast/check-sharing.scm 210 */
{ 
BgL_makezd2boxzd2_bglt BgL_nodez00_1357;obj_t BgL_contextz00_1358;
BgL_nodez00_1357 = 
(BgL_makezd2boxzd2_bglt)(BgL_nodez00_2603); 
BgL_contextz00_1358 = BgL_contextz00_2604; 
{ 

{ /* ./Ast/check-sharing.scm 210 */
obj_t BgL_nextzd2method3003zd2_1362;
BgL_nextzd2method3003zd2_1362 = 
BGl_findzd2superzd2classzd2methodzd2zz__objectz00(
(BgL_objectz00_bglt)(BgL_nodez00_1357), BGl_checkzd2nodezd2sharingzd2envzd2zzast_checkzd2sharingzd2, BGl_makezd2boxzd2zzast_nodez00); 
{ /* ./Ast/check-sharing.scm 210 */
bool_t BgL_test3745z00_1363;
BgL_test3745z00_1363 = 
PROCEDUREP(BgL_nextzd2method3003zd2_1362); 
if(BgL_test3745z00_1363)
{ /* ./Ast/check-sharing.scm 210 */
PROCEDURE_ENTRY(BgL_nextzd2method3003zd2_1362)(BgL_nextzd2method3003zd2_1362, 
(obj_t)(BgL_nodez00_1357), BgL_contextz00_1358, BEOA); }  else 
{ /* ./Ast/check-sharing.scm 210 */
{ /* ./Ast/check-sharing.scm 210 */
BgL_nodez00_bglt BgL_nodez00_2464;
BgL_nodez00_2464 = 
(BgL_nodez00_bglt)(BgL_nodez00_1357); 
{ /* ./Ast/check-sharing.scm 210 */
obj_t BgL_method2971z00_2466;
{ /* ./Ast/check-sharing.scm 210 */
BgL_objectz00_bglt BgL_objz00_2467;
BgL_objz00_2467 = 
(BgL_objectz00_bglt)(BgL_nodez00_2464); 
{ /* ./Ast/check-sharing.scm 210 */
long BgL_objzd2classzd2numz00_2468;
BgL_objzd2classzd2numz00_2468 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2467); 
{ /* ./Ast/check-sharing.scm 210 */
obj_t BgL_arg2017z00_2469;
{ /* ./Ast/check-sharing.scm 210 */
int BgL_auxz00_2880;
BgL_auxz00_2880 = 
(int)(((long)1)); 
BgL_arg2017z00_2469 = 
PROCEDURE_REF(BGl_checkzd2nodezd2sharingzd2envzd2zzast_checkzd2sharingzd2, BgL_auxz00_2880); } 
{ /* ./Ast/check-sharing.scm 210 */
int BgL_offsetz00_2472;
BgL_offsetz00_2472 = 
(int)(BgL_objzd2classzd2numz00_2468); 
{ /* ./Ast/check-sharing.scm 210 */
long BgL_offsetz00_2473;
{ /* ./Ast/check-sharing.scm 210 */
long BgL_auxz00_2884;
BgL_auxz00_2884 = 
(long)(BgL_offsetz00_2472); 
BgL_offsetz00_2473 = 
(BgL_auxz00_2884-OBJECT_TYPE); } 
{ /* ./Ast/check-sharing.scm 210 */
long BgL_modz00_2474;
{ /* ./Ast/check-sharing.scm 210 */
int BgL_arg2028z00_2475;
BgL_arg2028z00_2475 = 
(int)(((long)8)); 
{ /* ./Ast/check-sharing.scm 210 */
long BgL_n2z00_2483;
BgL_n2z00_2483 = 
(long)(BgL_arg2028z00_2475); 
BgL_modz00_2474 = 
(BgL_offsetz00_2473/BgL_n2z00_2483); } } 
{ /* ./Ast/check-sharing.scm 210 */
long BgL_restz00_2476;
{ /* ./Ast/check-sharing.scm 210 */
int BgL_arg2024z00_2477;
BgL_arg2024z00_2477 = 
(int)(((long)8)); 
{ /* ./Ast/check-sharing.scm 210 */
long BgL_n2z00_2486;
BgL_n2z00_2486 = 
(long)(BgL_arg2024z00_2477); 
BgL_restz00_2476 = 
(BgL_offsetz00_2473%BgL_n2z00_2486); } } 
{ /* ./Ast/check-sharing.scm 210 */

{ /* ./Ast/check-sharing.scm 210 */
obj_t BgL_bucketz00_2478;
{ /* ./Ast/check-sharing.scm 210 */
int BgL_kz00_2488;
BgL_kz00_2488 = 
(int)(BgL_modz00_2474); 
BgL_bucketz00_2478 = 
VECTOR_REF(BgL_arg2017z00_2469,BgL_kz00_2488); } 
{ /* ./Ast/check-sharing.scm 210 */
int BgL_kz00_2490;
BgL_kz00_2490 = 
(int)(BgL_restz00_2476); 
BgL_method2971z00_2466 = 
VECTOR_REF(BgL_bucketz00_2478,BgL_kz00_2490); } } } } } } } } } } 
PROCEDURE_ENTRY(BgL_method2971z00_2466)(BgL_method2971z00_2466, 
(obj_t)(BgL_nodez00_2464), BgL_contextz00_1358, BEOA); } } } } } 
{ /* ./Ast/check-sharing.scm 212 */
BgL_nodez00_bglt BgL_arg3742z00_1361;
BgL_arg3742z00_1361 = 
(((BgL_makezd2boxzd2_bglt)CREF(BgL_nodez00_1357))->BgL_valuez00); 
{ /* ./Ast/check-sharing.scm 212 */
obj_t BgL_contextz00_2437;
BgL_contextz00_2437 = 
(obj_t)(BgL_nodez00_1357); 
{ /* ./Ast/check-sharing.scm 212 */
obj_t BgL_method2971z00_2438;
{ /* ./Ast/check-sharing.scm 212 */
BgL_objectz00_bglt BgL_objz00_2439;
BgL_objz00_2439 = 
(BgL_objectz00_bglt)(BgL_arg3742z00_1361); 
{ /* ./Ast/check-sharing.scm 212 */
long BgL_objzd2classzd2numz00_2440;
BgL_objzd2classzd2numz00_2440 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2439); 
{ /* ./Ast/check-sharing.scm 212 */
obj_t BgL_arg2017z00_2441;
{ /* ./Ast/check-sharing.scm 212 */
int BgL_auxz00_2904;
BgL_auxz00_2904 = 
(int)(((long)1)); 
BgL_arg2017z00_2441 = 
PROCEDURE_REF(BGl_checkzd2nodezd2sharingzd2envzd2zzast_checkzd2sharingzd2, BgL_auxz00_2904); } 
{ /* ./Ast/check-sharing.scm 212 */
int BgL_offsetz00_2444;
BgL_offsetz00_2444 = 
(int)(BgL_objzd2classzd2numz00_2440); 
{ /* ./Ast/check-sharing.scm 212 */
long BgL_offsetz00_2445;
{ /* ./Ast/check-sharing.scm 212 */
long BgL_auxz00_2908;
BgL_auxz00_2908 = 
(long)(BgL_offsetz00_2444); 
BgL_offsetz00_2445 = 
(BgL_auxz00_2908-OBJECT_TYPE); } 
{ /* ./Ast/check-sharing.scm 212 */
long BgL_modz00_2446;
{ /* ./Ast/check-sharing.scm 212 */
int BgL_arg2028z00_2447;
BgL_arg2028z00_2447 = 
(int)(((long)8)); 
{ /* ./Ast/check-sharing.scm 212 */
long BgL_n2z00_2455;
BgL_n2z00_2455 = 
(long)(BgL_arg2028z00_2447); 
BgL_modz00_2446 = 
(BgL_offsetz00_2445/BgL_n2z00_2455); } } 
{ /* ./Ast/check-sharing.scm 212 */
long BgL_restz00_2448;
{ /* ./Ast/check-sharing.scm 212 */
int BgL_arg2024z00_2449;
BgL_arg2024z00_2449 = 
(int)(((long)8)); 
{ /* ./Ast/check-sharing.scm 212 */
long BgL_n2z00_2458;
BgL_n2z00_2458 = 
(long)(BgL_arg2024z00_2449); 
BgL_restz00_2448 = 
(BgL_offsetz00_2445%BgL_n2z00_2458); } } 
{ /* ./Ast/check-sharing.scm 212 */

{ /* ./Ast/check-sharing.scm 212 */
obj_t BgL_bucketz00_2450;
{ /* ./Ast/check-sharing.scm 212 */
int BgL_kz00_2460;
BgL_kz00_2460 = 
(int)(BgL_modz00_2446); 
BgL_bucketz00_2450 = 
VECTOR_REF(BgL_arg2017z00_2441,BgL_kz00_2460); } 
{ /* ./Ast/check-sharing.scm 212 */
int BgL_kz00_2462;
BgL_kz00_2462 = 
(int)(BgL_restz00_2448); 
BgL_method2971z00_2438 = 
VECTOR_REF(BgL_bucketz00_2450,BgL_kz00_2462); } } } } } } } } } } 
return 
PROCEDURE_ENTRY(BgL_method2971z00_2438)(BgL_method2971z00_2438, 
(obj_t)(BgL_arg3742z00_1361), BgL_contextz00_2437, BEOA);} } } } } } 
}



/* check-node-sharing-jump-ex-it3002 */
obj_t BGl_checkzd2nodezd2sharingzd2jumpzd2exzd2it3002zd2zzast_checkzd2sharingzd2(obj_t BgL_envz00_2605, obj_t BgL_nodez00_2606, obj_t BgL_contextz00_2607)
{ AN_OBJECT;
{ /* ./Ast/check-sharing.scm 201 */
{ 
BgL_jumpzd2exzd2itz00_bglt BgL_nodez00_1349;obj_t BgL_contextz00_1350;
BgL_nodez00_1349 = 
(BgL_jumpzd2exzd2itz00_bglt)(BgL_nodez00_2606); 
BgL_contextz00_1350 = BgL_contextz00_2607; 
{ 

{ /* ./Ast/check-sharing.scm 201 */
obj_t BgL_nextzd2method3001zd2_1355;
BgL_nextzd2method3001zd2_1355 = 
BGl_findzd2superzd2classzd2methodzd2zz__objectz00(
(BgL_objectz00_bglt)(BgL_nodez00_1349), BGl_checkzd2nodezd2sharingzd2envzd2zzast_checkzd2sharingzd2, BGl_jumpzd2exzd2itz00zzast_nodez00); 
{ /* ./Ast/check-sharing.scm 201 */
bool_t BgL_test3734z00_1356;
BgL_test3734z00_1356 = 
PROCEDUREP(BgL_nextzd2method3001zd2_1355); 
if(BgL_test3734z00_1356)
{ /* ./Ast/check-sharing.scm 201 */
PROCEDURE_ENTRY(BgL_nextzd2method3001zd2_1355)(BgL_nextzd2method3001zd2_1355, 
(obj_t)(BgL_nodez00_1349), BgL_contextz00_1350, BEOA); }  else 
{ /* ./Ast/check-sharing.scm 201 */
{ /* ./Ast/check-sharing.scm 201 */
BgL_nodez00_bglt BgL_nodez00_2408;
BgL_nodez00_2408 = 
(BgL_nodez00_bglt)(BgL_nodez00_1349); 
{ /* ./Ast/check-sharing.scm 201 */
obj_t BgL_method2971z00_2410;
{ /* ./Ast/check-sharing.scm 201 */
BgL_objectz00_bglt BgL_objz00_2411;
BgL_objz00_2411 = 
(BgL_objectz00_bglt)(BgL_nodez00_2408); 
{ /* ./Ast/check-sharing.scm 201 */
long BgL_objzd2classzd2numz00_2412;
BgL_objzd2classzd2numz00_2412 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2411); 
{ /* ./Ast/check-sharing.scm 201 */
obj_t BgL_arg2017z00_2413;
{ /* ./Ast/check-sharing.scm 201 */
int BgL_auxz00_2935;
BgL_auxz00_2935 = 
(int)(((long)1)); 
BgL_arg2017z00_2413 = 
PROCEDURE_REF(BGl_checkzd2nodezd2sharingzd2envzd2zzast_checkzd2sharingzd2, BgL_auxz00_2935); } 
{ /* ./Ast/check-sharing.scm 201 */
int BgL_offsetz00_2416;
BgL_offsetz00_2416 = 
(int)(BgL_objzd2classzd2numz00_2412); 
{ /* ./Ast/check-sharing.scm 201 */
long BgL_offsetz00_2417;
{ /* ./Ast/check-sharing.scm 201 */
long BgL_auxz00_2939;
BgL_auxz00_2939 = 
(long)(BgL_offsetz00_2416); 
BgL_offsetz00_2417 = 
(BgL_auxz00_2939-OBJECT_TYPE); } 
{ /* ./Ast/check-sharing.scm 201 */
long BgL_modz00_2418;
{ /* ./Ast/check-sharing.scm 201 */
int BgL_arg2028z00_2419;
BgL_arg2028z00_2419 = 
(int)(((long)8)); 
{ /* ./Ast/check-sharing.scm 201 */
long BgL_n2z00_2427;
BgL_n2z00_2427 = 
(long)(BgL_arg2028z00_2419); 
BgL_modz00_2418 = 
(BgL_offsetz00_2417/BgL_n2z00_2427); } } 
{ /* ./Ast/check-sharing.scm 201 */
long BgL_restz00_2420;
{ /* ./Ast/check-sharing.scm 201 */
int BgL_arg2024z00_2421;
BgL_arg2024z00_2421 = 
(int)(((long)8)); 
{ /* ./Ast/check-sharing.scm 201 */
long BgL_n2z00_2430;
BgL_n2z00_2430 = 
(long)(BgL_arg2024z00_2421); 
BgL_restz00_2420 = 
(BgL_offsetz00_2417%BgL_n2z00_2430); } } 
{ /* ./Ast/check-sharing.scm 201 */

{ /* ./Ast/check-sharing.scm 201 */
obj_t BgL_bucketz00_2422;
{ /* ./Ast/check-sharing.scm 201 */
int BgL_kz00_2432;
BgL_kz00_2432 = 
(int)(BgL_modz00_2418); 
BgL_bucketz00_2422 = 
VECTOR_REF(BgL_arg2017z00_2413,BgL_kz00_2432); } 
{ /* ./Ast/check-sharing.scm 201 */
int BgL_kz00_2434;
BgL_kz00_2434 = 
(int)(BgL_restz00_2420); 
BgL_method2971z00_2410 = 
VECTOR_REF(BgL_bucketz00_2422,BgL_kz00_2434); } } } } } } } } } } 
PROCEDURE_ENTRY(BgL_method2971z00_2410)(BgL_method2971z00_2410, 
(obj_t)(BgL_nodez00_2408), BgL_contextz00_1350, BEOA); } } } } } 
{ /* ./Ast/check-sharing.scm 204 */
BgL_nodez00_bglt BgL_arg3730z00_1354;
BgL_arg3730z00_1354 = 
(((BgL_jumpzd2exzd2itz00_bglt)CREF(BgL_nodez00_1349))->BgL_exitz00); 
{ /* ./Ast/check-sharing.scm 204 */
obj_t BgL_contextz00_2354;
BgL_contextz00_2354 = 
(obj_t)(BgL_nodez00_1349); 
{ /* ./Ast/check-sharing.scm 204 */
obj_t BgL_method2971z00_2355;
{ /* ./Ast/check-sharing.scm 204 */
BgL_objectz00_bglt BgL_objz00_2356;
BgL_objz00_2356 = 
(BgL_objectz00_bglt)(BgL_arg3730z00_1354); 
{ /* ./Ast/check-sharing.scm 204 */
long BgL_objzd2classzd2numz00_2357;
BgL_objzd2classzd2numz00_2357 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2356); 
{ /* ./Ast/check-sharing.scm 204 */
obj_t BgL_arg2017z00_2358;
{ /* ./Ast/check-sharing.scm 204 */
int BgL_auxz00_2959;
BgL_auxz00_2959 = 
(int)(((long)1)); 
BgL_arg2017z00_2358 = 
PROCEDURE_REF(BGl_checkzd2nodezd2sharingzd2envzd2zzast_checkzd2sharingzd2, BgL_auxz00_2959); } 
{ /* ./Ast/check-sharing.scm 204 */
int BgL_offsetz00_2361;
BgL_offsetz00_2361 = 
(int)(BgL_objzd2classzd2numz00_2357); 
{ /* ./Ast/check-sharing.scm 204 */
long BgL_offsetz00_2362;
{ /* ./Ast/check-sharing.scm 204 */
long BgL_auxz00_2963;
BgL_auxz00_2963 = 
(long)(BgL_offsetz00_2361); 
BgL_offsetz00_2362 = 
(BgL_auxz00_2963-OBJECT_TYPE); } 
{ /* ./Ast/check-sharing.scm 204 */
long BgL_modz00_2363;
{ /* ./Ast/check-sharing.scm 204 */
int BgL_arg2028z00_2364;
BgL_arg2028z00_2364 = 
(int)(((long)8)); 
{ /* ./Ast/check-sharing.scm 204 */
long BgL_n2z00_2372;
BgL_n2z00_2372 = 
(long)(BgL_arg2028z00_2364); 
BgL_modz00_2363 = 
(BgL_offsetz00_2362/BgL_n2z00_2372); } } 
{ /* ./Ast/check-sharing.scm 204 */
long BgL_restz00_2365;
{ /* ./Ast/check-sharing.scm 204 */
int BgL_arg2024z00_2366;
BgL_arg2024z00_2366 = 
(int)(((long)8)); 
{ /* ./Ast/check-sharing.scm 204 */
long BgL_n2z00_2375;
BgL_n2z00_2375 = 
(long)(BgL_arg2024z00_2366); 
BgL_restz00_2365 = 
(BgL_offsetz00_2362%BgL_n2z00_2375); } } 
{ /* ./Ast/check-sharing.scm 204 */

{ /* ./Ast/check-sharing.scm 204 */
obj_t BgL_bucketz00_2367;
{ /* ./Ast/check-sharing.scm 204 */
int BgL_kz00_2377;
BgL_kz00_2377 = 
(int)(BgL_modz00_2363); 
BgL_bucketz00_2367 = 
VECTOR_REF(BgL_arg2017z00_2358,BgL_kz00_2377); } 
{ /* ./Ast/check-sharing.scm 204 */
int BgL_kz00_2379;
BgL_kz00_2379 = 
(int)(BgL_restz00_2365); 
BgL_method2971z00_2355 = 
VECTOR_REF(BgL_bucketz00_2367,BgL_kz00_2379); } } } } } } } } } } 
PROCEDURE_ENTRY(BgL_method2971z00_2355)(BgL_method2971z00_2355, 
(obj_t)(BgL_arg3730z00_1354), BgL_contextz00_2354, BEOA); } } } 
{ /* ./Ast/check-sharing.scm 205 */
BgL_nodez00_bglt BgL_nodez00_2380;obj_t BgL_contextz00_2381;
BgL_nodez00_2380 = 
(BgL_nodez00_bglt)(BGl_valuez00zzast_varz00); 
BgL_contextz00_2381 = 
(obj_t)(BgL_nodez00_1349); 
{ /* ./Ast/check-sharing.scm 205 */
obj_t BgL_method2971z00_2382;
{ /* ./Ast/check-sharing.scm 205 */
BgL_objectz00_bglt BgL_objz00_2383;
BgL_objz00_2383 = 
(BgL_objectz00_bglt)(BgL_nodez00_2380); 
{ /* ./Ast/check-sharing.scm 205 */
long BgL_objzd2classzd2numz00_2384;
BgL_objzd2classzd2numz00_2384 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2383); 
{ /* ./Ast/check-sharing.scm 205 */
obj_t BgL_arg2017z00_2385;
{ /* ./Ast/check-sharing.scm 205 */
int BgL_auxz00_2983;
BgL_auxz00_2983 = 
(int)(((long)1)); 
BgL_arg2017z00_2385 = 
PROCEDURE_REF(BGl_checkzd2nodezd2sharingzd2envzd2zzast_checkzd2sharingzd2, BgL_auxz00_2983); } 
{ /* ./Ast/check-sharing.scm 205 */
int BgL_offsetz00_2388;
BgL_offsetz00_2388 = 
(int)(BgL_objzd2classzd2numz00_2384); 
{ /* ./Ast/check-sharing.scm 205 */
long BgL_offsetz00_2389;
{ /* ./Ast/check-sharing.scm 205 */
long BgL_auxz00_2987;
BgL_auxz00_2987 = 
(long)(BgL_offsetz00_2388); 
BgL_offsetz00_2389 = 
(BgL_auxz00_2987-OBJECT_TYPE); } 
{ /* ./Ast/check-sharing.scm 205 */
long BgL_modz00_2390;
{ /* ./Ast/check-sharing.scm 205 */
int BgL_arg2028z00_2391;
BgL_arg2028z00_2391 = 
(int)(((long)8)); 
{ /* ./Ast/check-sharing.scm 205 */
long BgL_n2z00_2399;
BgL_n2z00_2399 = 
(long)(BgL_arg2028z00_2391); 
BgL_modz00_2390 = 
(BgL_offsetz00_2389/BgL_n2z00_2399); } } 
{ /* ./Ast/check-sharing.scm 205 */
long BgL_restz00_2392;
{ /* ./Ast/check-sharing.scm 205 */
int BgL_arg2024z00_2393;
BgL_arg2024z00_2393 = 
(int)(((long)8)); 
{ /* ./Ast/check-sharing.scm 205 */
long BgL_n2z00_2402;
BgL_n2z00_2402 = 
(long)(BgL_arg2024z00_2393); 
BgL_restz00_2392 = 
(BgL_offsetz00_2389%BgL_n2z00_2402); } } 
{ /* ./Ast/check-sharing.scm 205 */

{ /* ./Ast/check-sharing.scm 205 */
obj_t BgL_bucketz00_2394;
{ /* ./Ast/check-sharing.scm 205 */
int BgL_kz00_2404;
BgL_kz00_2404 = 
(int)(BgL_modz00_2390); 
BgL_bucketz00_2394 = 
VECTOR_REF(BgL_arg2017z00_2385,BgL_kz00_2404); } 
{ /* ./Ast/check-sharing.scm 205 */
int BgL_kz00_2406;
BgL_kz00_2406 = 
(int)(BgL_restz00_2392); 
BgL_method2971z00_2382 = 
VECTOR_REF(BgL_bucketz00_2394,BgL_kz00_2406); } } } } } } } } } } 
return 
PROCEDURE_ENTRY(BgL_method2971z00_2382)(BgL_method2971z00_2382, 
(obj_t)(BgL_nodez00_2380), BgL_contextz00_2381, BEOA);} } } } } 
}



/* check-node-sharing-set-ex-it3000 */
obj_t BGl_checkzd2nodezd2sharingzd2setzd2exzd2it3000zd2zzast_checkzd2sharingzd2(obj_t BgL_envz00_2608, obj_t BgL_nodez00_2609, obj_t BgL_contextz00_2610)
{ AN_OBJECT;
{ /* ./Ast/check-sharing.scm 194 */
{ 
BgL_setzd2exzd2itz00_bglt BgL_nodez00_1342;obj_t BgL_contextz00_1343;
BgL_nodez00_1342 = 
(BgL_setzd2exzd2itz00_bglt)(BgL_nodez00_2609); 
BgL_contextz00_1343 = BgL_contextz00_2610; 
{ 

{ /* ./Ast/check-sharing.scm 194 */
obj_t BgL_nextzd2method2999zd2_1347;
BgL_nextzd2method2999zd2_1347 = 
BGl_findzd2superzd2classzd2methodzd2zz__objectz00(
(BgL_objectz00_bglt)(BgL_nodez00_1342), BGl_checkzd2nodezd2sharingzd2envzd2zzast_checkzd2sharingzd2, BGl_setzd2exzd2itz00zzast_nodez00); 
{ /* ./Ast/check-sharing.scm 194 */
bool_t BgL_test3722z00_1348;
BgL_test3722z00_1348 = 
PROCEDUREP(BgL_nextzd2method2999zd2_1347); 
if(BgL_test3722z00_1348)
{ /* ./Ast/check-sharing.scm 194 */
PROCEDURE_ENTRY(BgL_nextzd2method2999zd2_1347)(BgL_nextzd2method2999zd2_1347, 
(obj_t)(BgL_nodez00_1342), BgL_contextz00_1343, BEOA); }  else 
{ /* ./Ast/check-sharing.scm 194 */
{ /* ./Ast/check-sharing.scm 194 */
BgL_nodez00_bglt BgL_nodez00_2325;
BgL_nodez00_2325 = 
(BgL_nodez00_bglt)(BgL_nodez00_1342); 
{ /* ./Ast/check-sharing.scm 194 */
obj_t BgL_method2971z00_2327;
{ /* ./Ast/check-sharing.scm 194 */
BgL_objectz00_bglt BgL_objz00_2328;
BgL_objz00_2328 = 
(BgL_objectz00_bglt)(BgL_nodez00_2325); 
{ /* ./Ast/check-sharing.scm 194 */
long BgL_objzd2classzd2numz00_2329;
BgL_objzd2classzd2numz00_2329 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2328); 
{ /* ./Ast/check-sharing.scm 194 */
obj_t BgL_arg2017z00_2330;
{ /* ./Ast/check-sharing.scm 194 */
int BgL_auxz00_3014;
BgL_auxz00_3014 = 
(int)(((long)1)); 
BgL_arg2017z00_2330 = 
PROCEDURE_REF(BGl_checkzd2nodezd2sharingzd2envzd2zzast_checkzd2sharingzd2, BgL_auxz00_3014); } 
{ /* ./Ast/check-sharing.scm 194 */
int BgL_offsetz00_2333;
BgL_offsetz00_2333 = 
(int)(BgL_objzd2classzd2numz00_2329); 
{ /* ./Ast/check-sharing.scm 194 */
long BgL_offsetz00_2334;
{ /* ./Ast/check-sharing.scm 194 */
long BgL_auxz00_3018;
BgL_auxz00_3018 = 
(long)(BgL_offsetz00_2333); 
BgL_offsetz00_2334 = 
(BgL_auxz00_3018-OBJECT_TYPE); } 
{ /* ./Ast/check-sharing.scm 194 */
long BgL_modz00_2335;
{ /* ./Ast/check-sharing.scm 194 */
int BgL_arg2028z00_2336;
BgL_arg2028z00_2336 = 
(int)(((long)8)); 
{ /* ./Ast/check-sharing.scm 194 */
long BgL_n2z00_2344;
BgL_n2z00_2344 = 
(long)(BgL_arg2028z00_2336); 
BgL_modz00_2335 = 
(BgL_offsetz00_2334/BgL_n2z00_2344); } } 
{ /* ./Ast/check-sharing.scm 194 */
long BgL_restz00_2337;
{ /* ./Ast/check-sharing.scm 194 */
int BgL_arg2024z00_2338;
BgL_arg2024z00_2338 = 
(int)(((long)8)); 
{ /* ./Ast/check-sharing.scm 194 */
long BgL_n2z00_2347;
BgL_n2z00_2347 = 
(long)(BgL_arg2024z00_2338); 
BgL_restz00_2337 = 
(BgL_offsetz00_2334%BgL_n2z00_2347); } } 
{ /* ./Ast/check-sharing.scm 194 */

{ /* ./Ast/check-sharing.scm 194 */
obj_t BgL_bucketz00_2339;
{ /* ./Ast/check-sharing.scm 194 */
int BgL_kz00_2349;
BgL_kz00_2349 = 
(int)(BgL_modz00_2335); 
BgL_bucketz00_2339 = 
VECTOR_REF(BgL_arg2017z00_2330,BgL_kz00_2349); } 
{ /* ./Ast/check-sharing.scm 194 */
int BgL_kz00_2351;
BgL_kz00_2351 = 
(int)(BgL_restz00_2337); 
BgL_method2971z00_2327 = 
VECTOR_REF(BgL_bucketz00_2339,BgL_kz00_2351); } } } } } } } } } } 
PROCEDURE_ENTRY(BgL_method2971z00_2327)(BgL_method2971z00_2327, 
(obj_t)(BgL_nodez00_2325), BgL_contextz00_1343, BEOA); } } } } } 
{ /* ./Ast/check-sharing.scm 196 */
BgL_nodez00_bglt BgL_arg3719z00_1346;
BgL_arg3719z00_1346 = 
(((BgL_setzd2exzd2itz00_bglt)CREF(BgL_nodez00_1342))->BgL_bodyz00); 
{ /* ./Ast/check-sharing.scm 196 */
obj_t BgL_contextz00_2298;
BgL_contextz00_2298 = 
(obj_t)(BgL_nodez00_1342); 
{ /* ./Ast/check-sharing.scm 196 */
obj_t BgL_method2971z00_2299;
{ /* ./Ast/check-sharing.scm 196 */
BgL_objectz00_bglt BgL_objz00_2300;
BgL_objz00_2300 = 
(BgL_objectz00_bglt)(BgL_arg3719z00_1346); 
{ /* ./Ast/check-sharing.scm 196 */
long BgL_objzd2classzd2numz00_2301;
BgL_objzd2classzd2numz00_2301 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2300); 
{ /* ./Ast/check-sharing.scm 196 */
obj_t BgL_arg2017z00_2302;
{ /* ./Ast/check-sharing.scm 196 */
int BgL_auxz00_3038;
BgL_auxz00_3038 = 
(int)(((long)1)); 
BgL_arg2017z00_2302 = 
PROCEDURE_REF(BGl_checkzd2nodezd2sharingzd2envzd2zzast_checkzd2sharingzd2, BgL_auxz00_3038); } 
{ /* ./Ast/check-sharing.scm 196 */
int BgL_offsetz00_2305;
BgL_offsetz00_2305 = 
(int)(BgL_objzd2classzd2numz00_2301); 
{ /* ./Ast/check-sharing.scm 196 */
long BgL_offsetz00_2306;
{ /* ./Ast/check-sharing.scm 196 */
long BgL_auxz00_3042;
BgL_auxz00_3042 = 
(long)(BgL_offsetz00_2305); 
BgL_offsetz00_2306 = 
(BgL_auxz00_3042-OBJECT_TYPE); } 
{ /* ./Ast/check-sharing.scm 196 */
long BgL_modz00_2307;
{ /* ./Ast/check-sharing.scm 196 */
int BgL_arg2028z00_2308;
BgL_arg2028z00_2308 = 
(int)(((long)8)); 
{ /* ./Ast/check-sharing.scm 196 */
long BgL_n2z00_2316;
BgL_n2z00_2316 = 
(long)(BgL_arg2028z00_2308); 
BgL_modz00_2307 = 
(BgL_offsetz00_2306/BgL_n2z00_2316); } } 
{ /* ./Ast/check-sharing.scm 196 */
long BgL_restz00_2309;
{ /* ./Ast/check-sharing.scm 196 */
int BgL_arg2024z00_2310;
BgL_arg2024z00_2310 = 
(int)(((long)8)); 
{ /* ./Ast/check-sharing.scm 196 */
long BgL_n2z00_2319;
BgL_n2z00_2319 = 
(long)(BgL_arg2024z00_2310); 
BgL_restz00_2309 = 
(BgL_offsetz00_2306%BgL_n2z00_2319); } } 
{ /* ./Ast/check-sharing.scm 196 */

{ /* ./Ast/check-sharing.scm 196 */
obj_t BgL_bucketz00_2311;
{ /* ./Ast/check-sharing.scm 196 */
int BgL_kz00_2321;
BgL_kz00_2321 = 
(int)(BgL_modz00_2307); 
BgL_bucketz00_2311 = 
VECTOR_REF(BgL_arg2017z00_2302,BgL_kz00_2321); } 
{ /* ./Ast/check-sharing.scm 196 */
int BgL_kz00_2323;
BgL_kz00_2323 = 
(int)(BgL_restz00_2309); 
BgL_method2971z00_2299 = 
VECTOR_REF(BgL_bucketz00_2311,BgL_kz00_2323); } } } } } } } } } } 
return 
PROCEDURE_ENTRY(BgL_method2971z00_2299)(BgL_method2971z00_2299, 
(obj_t)(BgL_arg3719z00_1346), BgL_contextz00_2298, BEOA);} } } } } } 
}



/* check-node-sharing-let-var2998 */
obj_t BGl_checkzd2nodezd2sharingzd2letzd2var2998z00zzast_checkzd2sharingzd2(obj_t BgL_envz00_2611, obj_t BgL_nodez00_2612, obj_t BgL_contextz00_2613)
{ AN_OBJECT;
{ /* ./Ast/check-sharing.scm 183 */
{ 
BgL_letzd2varzd2_bglt BgL_nodez00_1327;obj_t BgL_contextz00_1328;
{ /* ./Ast/check-sharing.scm 183 */
bool_t BgL_auxz00_3059;
BgL_nodez00_1327 = 
(BgL_letzd2varzd2_bglt)(BgL_nodez00_2612); 
BgL_contextz00_1328 = BgL_contextz00_2613; 
{ 

{ /* ./Ast/check-sharing.scm 183 */
obj_t BgL_nextzd2method2997zd2_1340;
BgL_nextzd2method2997zd2_1340 = 
BGl_findzd2superzd2classzd2methodzd2zz__objectz00(
(BgL_objectz00_bglt)(BgL_nodez00_1327), BGl_checkzd2nodezd2sharingzd2envzd2zzast_checkzd2sharingzd2, BGl_letzd2varzd2zzast_nodez00); 
{ /* ./Ast/check-sharing.scm 183 */
bool_t BgL_test3711z00_1341;
BgL_test3711z00_1341 = 
PROCEDUREP(BgL_nextzd2method2997zd2_1340); 
if(BgL_test3711z00_1341)
{ /* ./Ast/check-sharing.scm 183 */
PROCEDURE_ENTRY(BgL_nextzd2method2997zd2_1340)(BgL_nextzd2method2997zd2_1340, 
(obj_t)(BgL_nodez00_1327), BgL_contextz00_1328, BEOA); }  else 
{ /* ./Ast/check-sharing.scm 183 */
{ /* ./Ast/check-sharing.scm 183 */
BgL_nodez00_bglt BgL_nodez00_2269;
BgL_nodez00_2269 = 
(BgL_nodez00_bglt)(BgL_nodez00_1327); 
{ /* ./Ast/check-sharing.scm 183 */
obj_t BgL_method2971z00_2271;
{ /* ./Ast/check-sharing.scm 183 */
BgL_objectz00_bglt BgL_objz00_2272;
BgL_objz00_2272 = 
(BgL_objectz00_bglt)(BgL_nodez00_2269); 
{ /* ./Ast/check-sharing.scm 183 */
long BgL_objzd2classzd2numz00_2273;
BgL_objzd2classzd2numz00_2273 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2272); 
{ /* ./Ast/check-sharing.scm 183 */
obj_t BgL_arg2017z00_2274;
{ /* ./Ast/check-sharing.scm 183 */
int BgL_auxz00_3070;
BgL_auxz00_3070 = 
(int)(((long)1)); 
BgL_arg2017z00_2274 = 
PROCEDURE_REF(BGl_checkzd2nodezd2sharingzd2envzd2zzast_checkzd2sharingzd2, BgL_auxz00_3070); } 
{ /* ./Ast/check-sharing.scm 183 */
int BgL_offsetz00_2277;
BgL_offsetz00_2277 = 
(int)(BgL_objzd2classzd2numz00_2273); 
{ /* ./Ast/check-sharing.scm 183 */
long BgL_offsetz00_2278;
{ /* ./Ast/check-sharing.scm 183 */
long BgL_auxz00_3074;
BgL_auxz00_3074 = 
(long)(BgL_offsetz00_2277); 
BgL_offsetz00_2278 = 
(BgL_auxz00_3074-OBJECT_TYPE); } 
{ /* ./Ast/check-sharing.scm 183 */
long BgL_modz00_2279;
{ /* ./Ast/check-sharing.scm 183 */
int BgL_arg2028z00_2280;
BgL_arg2028z00_2280 = 
(int)(((long)8)); 
{ /* ./Ast/check-sharing.scm 183 */
long BgL_n2z00_2288;
BgL_n2z00_2288 = 
(long)(BgL_arg2028z00_2280); 
BgL_modz00_2279 = 
(BgL_offsetz00_2278/BgL_n2z00_2288); } } 
{ /* ./Ast/check-sharing.scm 183 */
long BgL_restz00_2281;
{ /* ./Ast/check-sharing.scm 183 */
int BgL_arg2024z00_2282;
BgL_arg2024z00_2282 = 
(int)(((long)8)); 
{ /* ./Ast/check-sharing.scm 183 */
long BgL_n2z00_2291;
BgL_n2z00_2291 = 
(long)(BgL_arg2024z00_2282); 
BgL_restz00_2281 = 
(BgL_offsetz00_2278%BgL_n2z00_2291); } } 
{ /* ./Ast/check-sharing.scm 183 */

{ /* ./Ast/check-sharing.scm 183 */
obj_t BgL_bucketz00_2283;
{ /* ./Ast/check-sharing.scm 183 */
int BgL_kz00_2293;
BgL_kz00_2293 = 
(int)(BgL_modz00_2279); 
BgL_bucketz00_2283 = 
VECTOR_REF(BgL_arg2017z00_2274,BgL_kz00_2293); } 
{ /* ./Ast/check-sharing.scm 183 */
int BgL_kz00_2295;
BgL_kz00_2295 = 
(int)(BgL_restz00_2281); 
BgL_method2971z00_2271 = 
VECTOR_REF(BgL_bucketz00_2283,BgL_kz00_2295); } } } } } } } } } } 
PROCEDURE_ENTRY(BgL_method2971z00_2271)(BgL_method2971z00_2271, 
(obj_t)(BgL_nodez00_2269), BgL_contextz00_1328, BEOA); } } } } } 
{ /* ./Ast/check-sharing.scm 186 */
BgL_nodez00_bglt BgL_arg3692z00_1332;
BgL_arg3692z00_1332 = 
(((BgL_letzd2varzd2_bglt)CREF(BgL_nodez00_1327))->BgL_bodyz00); 
{ /* ./Ast/check-sharing.scm 186 */
obj_t BgL_contextz00_2210;
BgL_contextz00_2210 = 
(obj_t)(BgL_nodez00_1327); 
{ /* ./Ast/check-sharing.scm 186 */
obj_t BgL_method2971z00_2211;
{ /* ./Ast/check-sharing.scm 186 */
BgL_objectz00_bglt BgL_objz00_2212;
BgL_objz00_2212 = 
(BgL_objectz00_bglt)(BgL_arg3692z00_1332); 
{ /* ./Ast/check-sharing.scm 186 */
long BgL_objzd2classzd2numz00_2213;
BgL_objzd2classzd2numz00_2213 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2212); 
{ /* ./Ast/check-sharing.scm 186 */
obj_t BgL_arg2017z00_2214;
{ /* ./Ast/check-sharing.scm 186 */
int BgL_auxz00_3094;
BgL_auxz00_3094 = 
(int)(((long)1)); 
BgL_arg2017z00_2214 = 
PROCEDURE_REF(BGl_checkzd2nodezd2sharingzd2envzd2zzast_checkzd2sharingzd2, BgL_auxz00_3094); } 
{ /* ./Ast/check-sharing.scm 186 */
int BgL_offsetz00_2217;
BgL_offsetz00_2217 = 
(int)(BgL_objzd2classzd2numz00_2213); 
{ /* ./Ast/check-sharing.scm 186 */
long BgL_offsetz00_2218;
{ /* ./Ast/check-sharing.scm 186 */
long BgL_auxz00_3098;
BgL_auxz00_3098 = 
(long)(BgL_offsetz00_2217); 
BgL_offsetz00_2218 = 
(BgL_auxz00_3098-OBJECT_TYPE); } 
{ /* ./Ast/check-sharing.scm 186 */
long BgL_modz00_2219;
{ /* ./Ast/check-sharing.scm 186 */
int BgL_arg2028z00_2220;
BgL_arg2028z00_2220 = 
(int)(((long)8)); 
{ /* ./Ast/check-sharing.scm 186 */
long BgL_n2z00_2228;
BgL_n2z00_2228 = 
(long)(BgL_arg2028z00_2220); 
BgL_modz00_2219 = 
(BgL_offsetz00_2218/BgL_n2z00_2228); } } 
{ /* ./Ast/check-sharing.scm 186 */
long BgL_restz00_2221;
{ /* ./Ast/check-sharing.scm 186 */
int BgL_arg2024z00_2222;
BgL_arg2024z00_2222 = 
(int)(((long)8)); 
{ /* ./Ast/check-sharing.scm 186 */
long BgL_n2z00_2231;
BgL_n2z00_2231 = 
(long)(BgL_arg2024z00_2222); 
BgL_restz00_2221 = 
(BgL_offsetz00_2218%BgL_n2z00_2231); } } 
{ /* ./Ast/check-sharing.scm 186 */

{ /* ./Ast/check-sharing.scm 186 */
obj_t BgL_bucketz00_2223;
{ /* ./Ast/check-sharing.scm 186 */
int BgL_kz00_2233;
BgL_kz00_2233 = 
(int)(BgL_modz00_2219); 
BgL_bucketz00_2223 = 
VECTOR_REF(BgL_arg2017z00_2214,BgL_kz00_2233); } 
{ /* ./Ast/check-sharing.scm 186 */
int BgL_kz00_2235;
BgL_kz00_2235 = 
(int)(BgL_restz00_2221); 
BgL_method2971z00_2211 = 
VECTOR_REF(BgL_bucketz00_2223,BgL_kz00_2235); } } } } } } } } } } 
PROCEDURE_ENTRY(BgL_method2971z00_2211)(BgL_method2971z00_2211, 
(obj_t)(BgL_arg3692z00_1332), BgL_contextz00_2210, BEOA); } } } 
{ 
obj_t BgL_l2961z00_1333;
{ /* ./Ast/check-sharing.scm 187 */
obj_t BgL_arg3697z00_1335;
BgL_arg3697z00_1335 = 
(((BgL_letzd2varzd2_bglt)CREF(BgL_nodez00_1327))->BgL_bindingsz00); 
BgL_l2961z00_1333 = BgL_arg3697z00_1335; 
BgL_forzd2each2962zd2_1334:
{ /* ./Ast/check-sharing.scm 187 */
bool_t BgL_test3700z00_1336;
BgL_test3700z00_1336 = 
PAIRP(BgL_l2961z00_1333); 
if(BgL_test3700z00_1336)
{ /* ./Ast/check-sharing.scm 187 */
{ /* ./Ast/check-sharing.scm 188 */
obj_t BgL_bindingz00_1337;
BgL_bindingz00_1337 = 
CAR(BgL_l2961z00_1333); 
{ /* ./Ast/check-sharing.scm 188 */
obj_t BgL_arg3702z00_1338;
BgL_arg3702z00_1338 = 
CDR(BgL_bindingz00_1337); 
{ /* ./Ast/check-sharing.scm 188 */
BgL_nodez00_bglt BgL_nodez00_2240;obj_t BgL_contextz00_2241;
BgL_nodez00_2240 = 
(BgL_nodez00_bglt)(BgL_arg3702z00_1338); 
BgL_contextz00_2241 = 
(obj_t)(BgL_nodez00_1327); 
{ /* ./Ast/check-sharing.scm 188 */
obj_t BgL_method2971z00_2242;
{ /* ./Ast/check-sharing.scm 188 */
BgL_objectz00_bglt BgL_objz00_2243;
BgL_objz00_2243 = 
(BgL_objectz00_bglt)(BgL_nodez00_2240); 
{ /* ./Ast/check-sharing.scm 188 */
long BgL_objzd2classzd2numz00_2244;
BgL_objzd2classzd2numz00_2244 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2243); 
{ /* ./Ast/check-sharing.scm 188 */
obj_t BgL_arg2017z00_2245;
{ /* ./Ast/check-sharing.scm 188 */
int BgL_auxz00_3123;
BgL_auxz00_3123 = 
(int)(((long)1)); 
BgL_arg2017z00_2245 = 
PROCEDURE_REF(BGl_checkzd2nodezd2sharingzd2envzd2zzast_checkzd2sharingzd2, BgL_auxz00_3123); } 
{ /* ./Ast/check-sharing.scm 188 */
int BgL_offsetz00_2248;
BgL_offsetz00_2248 = 
(int)(BgL_objzd2classzd2numz00_2244); 
{ /* ./Ast/check-sharing.scm 188 */
long BgL_offsetz00_2249;
{ /* ./Ast/check-sharing.scm 188 */
long BgL_auxz00_3127;
BgL_auxz00_3127 = 
(long)(BgL_offsetz00_2248); 
BgL_offsetz00_2249 = 
(BgL_auxz00_3127-OBJECT_TYPE); } 
{ /* ./Ast/check-sharing.scm 188 */
long BgL_modz00_2250;
{ /* ./Ast/check-sharing.scm 188 */
int BgL_arg2028z00_2251;
BgL_arg2028z00_2251 = 
(int)(((long)8)); 
{ /* ./Ast/check-sharing.scm 188 */
long BgL_n2z00_2259;
BgL_n2z00_2259 = 
(long)(BgL_arg2028z00_2251); 
BgL_modz00_2250 = 
(BgL_offsetz00_2249/BgL_n2z00_2259); } } 
{ /* ./Ast/check-sharing.scm 188 */
long BgL_restz00_2252;
{ /* ./Ast/check-sharing.scm 188 */
int BgL_arg2024z00_2253;
BgL_arg2024z00_2253 = 
(int)(((long)8)); 
{ /* ./Ast/check-sharing.scm 188 */
long BgL_n2z00_2262;
BgL_n2z00_2262 = 
(long)(BgL_arg2024z00_2253); 
BgL_restz00_2252 = 
(BgL_offsetz00_2249%BgL_n2z00_2262); } } 
{ /* ./Ast/check-sharing.scm 188 */

{ /* ./Ast/check-sharing.scm 188 */
obj_t BgL_bucketz00_2254;
{ /* ./Ast/check-sharing.scm 188 */
int BgL_kz00_2264;
BgL_kz00_2264 = 
(int)(BgL_modz00_2250); 
BgL_bucketz00_2254 = 
VECTOR_REF(BgL_arg2017z00_2245,BgL_kz00_2264); } 
{ /* ./Ast/check-sharing.scm 188 */
int BgL_kz00_2266;
BgL_kz00_2266 = 
(int)(BgL_restz00_2252); 
BgL_method2971z00_2242 = 
VECTOR_REF(BgL_bucketz00_2254,BgL_kz00_2266); } } } } } } } } } } 
PROCEDURE_ENTRY(BgL_method2971z00_2242)(BgL_method2971z00_2242, 
(obj_t)(BgL_nodez00_2240), BgL_contextz00_2241, BEOA); } } } } 
{ /* ./Ast/check-sharing.scm 187 */
obj_t BgL_arg3707z00_1339;
BgL_arg3707z00_1339 = 
CDR(BgL_l2961z00_1333); 
{ 
obj_t BgL_l2961z00_3144;
BgL_l2961z00_3144 = BgL_arg3707z00_1339; 
BgL_l2961z00_1333 = BgL_l2961z00_3144; 
goto BgL_forzd2each2962zd2_1334;} } }  else 
{ /* ./Ast/check-sharing.scm 187 */
BgL_auxz00_3059 = ((bool_t)1); } } } } } 
return 
BBOOL(BgL_auxz00_3059);} } } 
}



/* check-node-sharing-let-fun2995 */
obj_t BGl_checkzd2nodezd2sharingzd2letzd2fun2995z00zzast_checkzd2sharingzd2(obj_t BgL_envz00_2614, obj_t BgL_nodez00_2615, obj_t BgL_contextz00_2616)
{ AN_OBJECT;
{ /* ./Ast/check-sharing.scm 174 */
{ 
BgL_letzd2funzd2_bglt BgL_nodez00_1313;obj_t BgL_contextz00_1314;
BgL_nodez00_1313 = 
(BgL_letzd2funzd2_bglt)(BgL_nodez00_2615); 
BgL_contextz00_1314 = BgL_contextz00_2616; 
{ 

{ /* ./Ast/check-sharing.scm 174 */
obj_t BgL_nextzd2method2994zd2_1325;
BgL_nextzd2method2994zd2_1325 = 
BGl_findzd2superzd2classzd2methodzd2zz__objectz00(
(BgL_objectz00_bglt)(BgL_nodez00_1313), BGl_checkzd2nodezd2sharingzd2envzd2zzast_checkzd2sharingzd2, BGl_letzd2funzd2zzast_nodez00); 
{ /* ./Ast/check-sharing.scm 174 */
bool_t BgL_test3684z00_1326;
BgL_test3684z00_1326 = 
PROCEDUREP(BgL_nextzd2method2994zd2_1325); 
if(BgL_test3684z00_1326)
{ /* ./Ast/check-sharing.scm 174 */
PROCEDURE_ENTRY(BgL_nextzd2method2994zd2_1325)(BgL_nextzd2method2994zd2_1325, 
(obj_t)(BgL_nodez00_1313), BgL_contextz00_1314, BEOA); }  else 
{ /* ./Ast/check-sharing.scm 174 */
{ /* ./Ast/check-sharing.scm 174 */
BgL_nodez00_bglt BgL_nodez00_2181;
BgL_nodez00_2181 = 
(BgL_nodez00_bglt)(BgL_nodez00_1313); 
{ /* ./Ast/check-sharing.scm 174 */
obj_t BgL_method2971z00_2183;
{ /* ./Ast/check-sharing.scm 174 */
BgL_objectz00_bglt BgL_objz00_2184;
BgL_objz00_2184 = 
(BgL_objectz00_bglt)(BgL_nodez00_2181); 
{ /* ./Ast/check-sharing.scm 174 */
long BgL_objzd2classzd2numz00_2185;
BgL_objzd2classzd2numz00_2185 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2184); 
{ /* ./Ast/check-sharing.scm 174 */
obj_t BgL_arg2017z00_2186;
{ /* ./Ast/check-sharing.scm 174 */
int BgL_auxz00_3157;
BgL_auxz00_3157 = 
(int)(((long)1)); 
BgL_arg2017z00_2186 = 
PROCEDURE_REF(BGl_checkzd2nodezd2sharingzd2envzd2zzast_checkzd2sharingzd2, BgL_auxz00_3157); } 
{ /* ./Ast/check-sharing.scm 174 */
int BgL_offsetz00_2189;
BgL_offsetz00_2189 = 
(int)(BgL_objzd2classzd2numz00_2185); 
{ /* ./Ast/check-sharing.scm 174 */
long BgL_offsetz00_2190;
{ /* ./Ast/check-sharing.scm 174 */
long BgL_auxz00_3161;
BgL_auxz00_3161 = 
(long)(BgL_offsetz00_2189); 
BgL_offsetz00_2190 = 
(BgL_auxz00_3161-OBJECT_TYPE); } 
{ /* ./Ast/check-sharing.scm 174 */
long BgL_modz00_2191;
{ /* ./Ast/check-sharing.scm 174 */
int BgL_arg2028z00_2192;
BgL_arg2028z00_2192 = 
(int)(((long)8)); 
{ /* ./Ast/check-sharing.scm 174 */
long BgL_n2z00_2200;
BgL_n2z00_2200 = 
(long)(BgL_arg2028z00_2192); 
BgL_modz00_2191 = 
(BgL_offsetz00_2190/BgL_n2z00_2200); } } 
{ /* ./Ast/check-sharing.scm 174 */
long BgL_restz00_2193;
{ /* ./Ast/check-sharing.scm 174 */
int BgL_arg2024z00_2194;
BgL_arg2024z00_2194 = 
(int)(((long)8)); 
{ /* ./Ast/check-sharing.scm 174 */
long BgL_n2z00_2203;
BgL_n2z00_2203 = 
(long)(BgL_arg2024z00_2194); 
BgL_restz00_2193 = 
(BgL_offsetz00_2190%BgL_n2z00_2203); } } 
{ /* ./Ast/check-sharing.scm 174 */

{ /* ./Ast/check-sharing.scm 174 */
obj_t BgL_bucketz00_2195;
{ /* ./Ast/check-sharing.scm 174 */
int BgL_kz00_2205;
BgL_kz00_2205 = 
(int)(BgL_modz00_2191); 
BgL_bucketz00_2195 = 
VECTOR_REF(BgL_arg2017z00_2186,BgL_kz00_2205); } 
{ /* ./Ast/check-sharing.scm 174 */
int BgL_kz00_2207;
BgL_kz00_2207 = 
(int)(BgL_restz00_2193); 
BgL_method2971z00_2183 = 
VECTOR_REF(BgL_bucketz00_2195,BgL_kz00_2207); } } } } } } } } } } 
PROCEDURE_ENTRY(BgL_method2971z00_2183)(BgL_method2971z00_2183, 
(obj_t)(BgL_nodez00_2181), BgL_contextz00_1314, BEOA); } } } } } 
{ 
obj_t BgL_l2957z00_1318;
{ /* ./Ast/check-sharing.scm 177 */
obj_t BgL_arg3669z00_1320;
BgL_arg3669z00_1320 = 
(((BgL_letzd2funzd2_bglt)CREF(BgL_nodez00_1313))->BgL_localsz00); 
BgL_l2957z00_1318 = BgL_arg3669z00_1320; 
BgL_forzd2each2958zd2_1319:
{ /* ./Ast/check-sharing.scm 177 */
bool_t BgL_test3672z00_1321;
BgL_test3672z00_1321 = 
PAIRP(BgL_l2957z00_1318); 
if(BgL_test3672z00_1321)
{ /* ./Ast/check-sharing.scm 177 */
{ /* ./Ast/check-sharing.scm 177 */
obj_t BgL_fz00_1322;
BgL_fz00_1322 = 
CAR(BgL_l2957z00_1318); 
{ /* ./Ast/check-sharing.scm 177 */
BgL_valuez00_bglt BgL_funz00_2147;
{ /* ./Ast/check-sharing.scm 177 */
BgL_variablez00_bglt BgL_obj1014z00_2149;
BgL_obj1014z00_2149 = 
(BgL_variablez00_bglt)(BgL_fz00_1322); 
BgL_funz00_2147 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1014z00_2149))->BgL_valuez00); } 
{ /* ./Ast/check-sharing.scm 177 */
obj_t BgL_bodyz00_2148;
{ /* ./Ast/check-sharing.scm 177 */
BgL_sfunz00_bglt BgL_obj1284z00_2150;
BgL_obj1284z00_2150 = 
(BgL_sfunz00_bglt)(BgL_funz00_2147); 
BgL_bodyz00_2148 = 
(((BgL_sfunz00_bglt)CREF(BgL_obj1284z00_2150))->BgL_bodyz00); } 
{ /* ./Ast/check-sharing.scm 177 */

BGl_checkzd2nodezd2sharingz00zzast_checkzd2sharingzd2(
(BgL_nodez00_bglt)(BgL_bodyz00_2148), 
(obj_t)(BgL_nodez00_1313)); } } } } 
{ /* ./Ast/check-sharing.scm 177 */
obj_t BgL_arg3676z00_1323;
BgL_arg3676z00_1323 = 
CDR(BgL_l2957z00_1318); 
{ 
obj_t BgL_l2957z00_3189;
BgL_l2957z00_3189 = BgL_arg3676z00_1323; 
BgL_l2957z00_1318 = BgL_l2957z00_3189; 
goto BgL_forzd2each2958zd2_1319;} } }  else 
{ /* ./Ast/check-sharing.scm 177 */((bool_t)1); } } } } 
{ /* ./Ast/check-sharing.scm 178 */
BgL_nodez00_bglt BgL_arg3681z00_1324;
BgL_arg3681z00_1324 = 
(((BgL_letzd2funzd2_bglt)CREF(BgL_nodez00_1313))->BgL_bodyz00); 
{ /* ./Ast/check-sharing.scm 178 */
obj_t BgL_contextz00_2154;
BgL_contextz00_2154 = 
(obj_t)(BgL_nodez00_1313); 
{ /* ./Ast/check-sharing.scm 178 */
obj_t BgL_method2971z00_2155;
{ /* ./Ast/check-sharing.scm 178 */
BgL_objectz00_bglt BgL_objz00_2156;
BgL_objz00_2156 = 
(BgL_objectz00_bglt)(BgL_arg3681z00_1324); 
{ /* ./Ast/check-sharing.scm 178 */
long BgL_objzd2classzd2numz00_2157;
BgL_objzd2classzd2numz00_2157 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2156); 
{ /* ./Ast/check-sharing.scm 178 */
obj_t BgL_arg2017z00_2158;
{ /* ./Ast/check-sharing.scm 178 */
int BgL_auxz00_3194;
BgL_auxz00_3194 = 
(int)(((long)1)); 
BgL_arg2017z00_2158 = 
PROCEDURE_REF(BGl_checkzd2nodezd2sharingzd2envzd2zzast_checkzd2sharingzd2, BgL_auxz00_3194); } 
{ /* ./Ast/check-sharing.scm 178 */
int BgL_offsetz00_2161;
BgL_offsetz00_2161 = 
(int)(BgL_objzd2classzd2numz00_2157); 
{ /* ./Ast/check-sharing.scm 178 */
long BgL_offsetz00_2162;
{ /* ./Ast/check-sharing.scm 178 */
long BgL_auxz00_3198;
BgL_auxz00_3198 = 
(long)(BgL_offsetz00_2161); 
BgL_offsetz00_2162 = 
(BgL_auxz00_3198-OBJECT_TYPE); } 
{ /* ./Ast/check-sharing.scm 178 */
long BgL_modz00_2163;
{ /* ./Ast/check-sharing.scm 178 */
int BgL_arg2028z00_2164;
BgL_arg2028z00_2164 = 
(int)(((long)8)); 
{ /* ./Ast/check-sharing.scm 178 */
long BgL_n2z00_2172;
BgL_n2z00_2172 = 
(long)(BgL_arg2028z00_2164); 
BgL_modz00_2163 = 
(BgL_offsetz00_2162/BgL_n2z00_2172); } } 
{ /* ./Ast/check-sharing.scm 178 */
long BgL_restz00_2165;
{ /* ./Ast/check-sharing.scm 178 */
int BgL_arg2024z00_2166;
BgL_arg2024z00_2166 = 
(int)(((long)8)); 
{ /* ./Ast/check-sharing.scm 178 */
long BgL_n2z00_2175;
BgL_n2z00_2175 = 
(long)(BgL_arg2024z00_2166); 
BgL_restz00_2165 = 
(BgL_offsetz00_2162%BgL_n2z00_2175); } } 
{ /* ./Ast/check-sharing.scm 178 */

{ /* ./Ast/check-sharing.scm 178 */
obj_t BgL_bucketz00_2167;
{ /* ./Ast/check-sharing.scm 178 */
int BgL_kz00_2177;
BgL_kz00_2177 = 
(int)(BgL_modz00_2163); 
BgL_bucketz00_2167 = 
VECTOR_REF(BgL_arg2017z00_2158,BgL_kz00_2177); } 
{ /* ./Ast/check-sharing.scm 178 */
int BgL_kz00_2179;
BgL_kz00_2179 = 
(int)(BgL_restz00_2165); 
BgL_method2971z00_2155 = 
VECTOR_REF(BgL_bucketz00_2167,BgL_kz00_2179); } } } } } } } } } } 
return 
PROCEDURE_ENTRY(BgL_method2971z00_2155)(BgL_method2971z00_2155, 
(obj_t)(BgL_arg3681z00_1324), BgL_contextz00_2154, BEOA);} } } } } } 
}



/* check-node-sharing-select2993 */
obj_t BGl_checkzd2nodezd2sharingzd2select2993zd2zzast_checkzd2sharingzd2(obj_t BgL_envz00_2617, obj_t BgL_nodez00_2618, obj_t BgL_contextz00_2619)
{ AN_OBJECT;
{ /* ./Ast/check-sharing.scm 160 */
{ 
BgL_selectz00_bglt BgL_nodez00_1298;obj_t BgL_contextz00_1299;
{ /* ./Ast/check-sharing.scm 160 */
bool_t BgL_auxz00_3215;
BgL_nodez00_1298 = 
(BgL_selectz00_bglt)(BgL_nodez00_2618); 
BgL_contextz00_1299 = BgL_contextz00_2619; 
{ 

{ /* ./Ast/check-sharing.scm 160 */
obj_t BgL_nextzd2method2992zd2_1311;
BgL_nextzd2method2992zd2_1311 = 
BGl_findzd2superzd2classzd2methodzd2zz__objectz00(
(BgL_objectz00_bglt)(BgL_nodez00_1298), BGl_checkzd2nodezd2sharingzd2envzd2zzast_checkzd2sharingzd2, BGl_selectz00zzast_nodez00); 
{ /* ./Ast/check-sharing.scm 160 */
bool_t BgL_test3661z00_1312;
BgL_test3661z00_1312 = 
PROCEDUREP(BgL_nextzd2method2992zd2_1311); 
if(BgL_test3661z00_1312)
{ /* ./Ast/check-sharing.scm 160 */
PROCEDURE_ENTRY(BgL_nextzd2method2992zd2_1311)(BgL_nextzd2method2992zd2_1311, 
(obj_t)(BgL_nodez00_1298), BgL_contextz00_1299, BEOA); }  else 
{ /* ./Ast/check-sharing.scm 160 */
{ /* ./Ast/check-sharing.scm 160 */
BgL_nodez00_bglt BgL_nodez00_2115;
BgL_nodez00_2115 = 
(BgL_nodez00_bglt)(BgL_nodez00_1298); 
{ /* ./Ast/check-sharing.scm 160 */
obj_t BgL_method2971z00_2117;
{ /* ./Ast/check-sharing.scm 160 */
BgL_objectz00_bglt BgL_objz00_2118;
BgL_objz00_2118 = 
(BgL_objectz00_bglt)(BgL_nodez00_2115); 
{ /* ./Ast/check-sharing.scm 160 */
long BgL_objzd2classzd2numz00_2119;
BgL_objzd2classzd2numz00_2119 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2118); 
{ /* ./Ast/check-sharing.scm 160 */
obj_t BgL_arg2017z00_2120;
{ /* ./Ast/check-sharing.scm 160 */
int BgL_auxz00_3226;
BgL_auxz00_3226 = 
(int)(((long)1)); 
BgL_arg2017z00_2120 = 
PROCEDURE_REF(BGl_checkzd2nodezd2sharingzd2envzd2zzast_checkzd2sharingzd2, BgL_auxz00_3226); } 
{ /* ./Ast/check-sharing.scm 160 */
int BgL_offsetz00_2123;
BgL_offsetz00_2123 = 
(int)(BgL_objzd2classzd2numz00_2119); 
{ /* ./Ast/check-sharing.scm 160 */
long BgL_offsetz00_2124;
{ /* ./Ast/check-sharing.scm 160 */
long BgL_auxz00_3230;
BgL_auxz00_3230 = 
(long)(BgL_offsetz00_2123); 
BgL_offsetz00_2124 = 
(BgL_auxz00_3230-OBJECT_TYPE); } 
{ /* ./Ast/check-sharing.scm 160 */
long BgL_modz00_2125;
{ /* ./Ast/check-sharing.scm 160 */
int BgL_arg2028z00_2126;
BgL_arg2028z00_2126 = 
(int)(((long)8)); 
{ /* ./Ast/check-sharing.scm 160 */
long BgL_n2z00_2134;
BgL_n2z00_2134 = 
(long)(BgL_arg2028z00_2126); 
BgL_modz00_2125 = 
(BgL_offsetz00_2124/BgL_n2z00_2134); } } 
{ /* ./Ast/check-sharing.scm 160 */
long BgL_restz00_2127;
{ /* ./Ast/check-sharing.scm 160 */
int BgL_arg2024z00_2128;
BgL_arg2024z00_2128 = 
(int)(((long)8)); 
{ /* ./Ast/check-sharing.scm 160 */
long BgL_n2z00_2137;
BgL_n2z00_2137 = 
(long)(BgL_arg2024z00_2128); 
BgL_restz00_2127 = 
(BgL_offsetz00_2124%BgL_n2z00_2137); } } 
{ /* ./Ast/check-sharing.scm 160 */

{ /* ./Ast/check-sharing.scm 160 */
obj_t BgL_bucketz00_2129;
{ /* ./Ast/check-sharing.scm 160 */
int BgL_kz00_2139;
BgL_kz00_2139 = 
(int)(BgL_modz00_2125); 
BgL_bucketz00_2129 = 
VECTOR_REF(BgL_arg2017z00_2120,BgL_kz00_2139); } 
{ /* ./Ast/check-sharing.scm 160 */
int BgL_kz00_2141;
BgL_kz00_2141 = 
(int)(BgL_restz00_2127); 
BgL_method2971z00_2117 = 
VECTOR_REF(BgL_bucketz00_2129,BgL_kz00_2141); } } } } } } } } } } 
PROCEDURE_ENTRY(BgL_method2971z00_2117)(BgL_method2971z00_2117, 
(obj_t)(BgL_nodez00_2115), BgL_contextz00_1299, BEOA); } } } } } 
{ /* ./Ast/check-sharing.scm 163 */
BgL_nodez00_bglt BgL_arg3643z00_1303;
BgL_arg3643z00_1303 = 
(((BgL_selectz00_bglt)CREF(BgL_nodez00_1298))->BgL_testz00); 
{ /* ./Ast/check-sharing.scm 163 */
obj_t BgL_contextz00_2056;
BgL_contextz00_2056 = 
(obj_t)(BgL_nodez00_1298); 
{ /* ./Ast/check-sharing.scm 163 */
obj_t BgL_method2971z00_2057;
{ /* ./Ast/check-sharing.scm 163 */
BgL_objectz00_bglt BgL_objz00_2058;
BgL_objz00_2058 = 
(BgL_objectz00_bglt)(BgL_arg3643z00_1303); 
{ /* ./Ast/check-sharing.scm 163 */
long BgL_objzd2classzd2numz00_2059;
BgL_objzd2classzd2numz00_2059 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2058); 
{ /* ./Ast/check-sharing.scm 163 */
obj_t BgL_arg2017z00_2060;
{ /* ./Ast/check-sharing.scm 163 */
int BgL_auxz00_3250;
BgL_auxz00_3250 = 
(int)(((long)1)); 
BgL_arg2017z00_2060 = 
PROCEDURE_REF(BGl_checkzd2nodezd2sharingzd2envzd2zzast_checkzd2sharingzd2, BgL_auxz00_3250); } 
{ /* ./Ast/check-sharing.scm 163 */
int BgL_offsetz00_2063;
BgL_offsetz00_2063 = 
(int)(BgL_objzd2classzd2numz00_2059); 
{ /* ./Ast/check-sharing.scm 163 */
long BgL_offsetz00_2064;
{ /* ./Ast/check-sharing.scm 163 */
long BgL_auxz00_3254;
BgL_auxz00_3254 = 
(long)(BgL_offsetz00_2063); 
BgL_offsetz00_2064 = 
(BgL_auxz00_3254-OBJECT_TYPE); } 
{ /* ./Ast/check-sharing.scm 163 */
long BgL_modz00_2065;
{ /* ./Ast/check-sharing.scm 163 */
int BgL_arg2028z00_2066;
BgL_arg2028z00_2066 = 
(int)(((long)8)); 
{ /* ./Ast/check-sharing.scm 163 */
long BgL_n2z00_2074;
BgL_n2z00_2074 = 
(long)(BgL_arg2028z00_2066); 
BgL_modz00_2065 = 
(BgL_offsetz00_2064/BgL_n2z00_2074); } } 
{ /* ./Ast/check-sharing.scm 163 */
long BgL_restz00_2067;
{ /* ./Ast/check-sharing.scm 163 */
int BgL_arg2024z00_2068;
BgL_arg2024z00_2068 = 
(int)(((long)8)); 
{ /* ./Ast/check-sharing.scm 163 */
long BgL_n2z00_2077;
BgL_n2z00_2077 = 
(long)(BgL_arg2024z00_2068); 
BgL_restz00_2067 = 
(BgL_offsetz00_2064%BgL_n2z00_2077); } } 
{ /* ./Ast/check-sharing.scm 163 */

{ /* ./Ast/check-sharing.scm 163 */
obj_t BgL_bucketz00_2069;
{ /* ./Ast/check-sharing.scm 163 */
int BgL_kz00_2079;
BgL_kz00_2079 = 
(int)(BgL_modz00_2065); 
BgL_bucketz00_2069 = 
VECTOR_REF(BgL_arg2017z00_2060,BgL_kz00_2079); } 
{ /* ./Ast/check-sharing.scm 163 */
int BgL_kz00_2081;
BgL_kz00_2081 = 
(int)(BgL_restz00_2067); 
BgL_method2971z00_2057 = 
VECTOR_REF(BgL_bucketz00_2069,BgL_kz00_2081); } } } } } } } } } } 
PROCEDURE_ENTRY(BgL_method2971z00_2057)(BgL_method2971z00_2057, 
(obj_t)(BgL_arg3643z00_1303), BgL_contextz00_2056, BEOA); } } } 
{ 
obj_t BgL_l2953z00_1304;
{ /* ./Ast/check-sharing.scm 164 */
obj_t BgL_arg3647z00_1306;
BgL_arg3647z00_1306 = 
(((BgL_selectz00_bglt)CREF(BgL_nodez00_1298))->BgL_clausesz00); 
BgL_l2953z00_1304 = BgL_arg3647z00_1306; 
BgL_forzd2each2954zd2_1305:
{ /* ./Ast/check-sharing.scm 164 */
bool_t BgL_test3650z00_1307;
BgL_test3650z00_1307 = 
PAIRP(BgL_l2953z00_1304); 
if(BgL_test3650z00_1307)
{ /* ./Ast/check-sharing.scm 164 */
{ /* ./Ast/check-sharing.scm 165 */
obj_t BgL_clausez00_1308;
BgL_clausez00_1308 = 
CAR(BgL_l2953z00_1304); 
{ /* ./Ast/check-sharing.scm 165 */
obj_t BgL_arg3652z00_1309;
BgL_arg3652z00_1309 = 
CDR(BgL_clausez00_1308); 
{ /* ./Ast/check-sharing.scm 165 */
BgL_nodez00_bglt BgL_nodez00_2086;obj_t BgL_contextz00_2087;
BgL_nodez00_2086 = 
(BgL_nodez00_bglt)(BgL_arg3652z00_1309); 
BgL_contextz00_2087 = 
(obj_t)(BgL_nodez00_1298); 
{ /* ./Ast/check-sharing.scm 165 */
obj_t BgL_method2971z00_2088;
{ /* ./Ast/check-sharing.scm 165 */
BgL_objectz00_bglt BgL_objz00_2089;
BgL_objz00_2089 = 
(BgL_objectz00_bglt)(BgL_nodez00_2086); 
{ /* ./Ast/check-sharing.scm 165 */
long BgL_objzd2classzd2numz00_2090;
BgL_objzd2classzd2numz00_2090 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2089); 
{ /* ./Ast/check-sharing.scm 165 */
obj_t BgL_arg2017z00_2091;
{ /* ./Ast/check-sharing.scm 165 */
int BgL_auxz00_3279;
BgL_auxz00_3279 = 
(int)(((long)1)); 
BgL_arg2017z00_2091 = 
PROCEDURE_REF(BGl_checkzd2nodezd2sharingzd2envzd2zzast_checkzd2sharingzd2, BgL_auxz00_3279); } 
{ /* ./Ast/check-sharing.scm 165 */
int BgL_offsetz00_2094;
BgL_offsetz00_2094 = 
(int)(BgL_objzd2classzd2numz00_2090); 
{ /* ./Ast/check-sharing.scm 165 */
long BgL_offsetz00_2095;
{ /* ./Ast/check-sharing.scm 165 */
long BgL_auxz00_3283;
BgL_auxz00_3283 = 
(long)(BgL_offsetz00_2094); 
BgL_offsetz00_2095 = 
(BgL_auxz00_3283-OBJECT_TYPE); } 
{ /* ./Ast/check-sharing.scm 165 */
long BgL_modz00_2096;
{ /* ./Ast/check-sharing.scm 165 */
int BgL_arg2028z00_2097;
BgL_arg2028z00_2097 = 
(int)(((long)8)); 
{ /* ./Ast/check-sharing.scm 165 */
long BgL_n2z00_2105;
BgL_n2z00_2105 = 
(long)(BgL_arg2028z00_2097); 
BgL_modz00_2096 = 
(BgL_offsetz00_2095/BgL_n2z00_2105); } } 
{ /* ./Ast/check-sharing.scm 165 */
long BgL_restz00_2098;
{ /* ./Ast/check-sharing.scm 165 */
int BgL_arg2024z00_2099;
BgL_arg2024z00_2099 = 
(int)(((long)8)); 
{ /* ./Ast/check-sharing.scm 165 */
long BgL_n2z00_2108;
BgL_n2z00_2108 = 
(long)(BgL_arg2024z00_2099); 
BgL_restz00_2098 = 
(BgL_offsetz00_2095%BgL_n2z00_2108); } } 
{ /* ./Ast/check-sharing.scm 165 */

{ /* ./Ast/check-sharing.scm 165 */
obj_t BgL_bucketz00_2100;
{ /* ./Ast/check-sharing.scm 165 */
int BgL_kz00_2110;
BgL_kz00_2110 = 
(int)(BgL_modz00_2096); 
BgL_bucketz00_2100 = 
VECTOR_REF(BgL_arg2017z00_2091,BgL_kz00_2110); } 
{ /* ./Ast/check-sharing.scm 165 */
int BgL_kz00_2112;
BgL_kz00_2112 = 
(int)(BgL_restz00_2098); 
BgL_method2971z00_2088 = 
VECTOR_REF(BgL_bucketz00_2100,BgL_kz00_2112); } } } } } } } } } } 
PROCEDURE_ENTRY(BgL_method2971z00_2088)(BgL_method2971z00_2088, 
(obj_t)(BgL_nodez00_2086), BgL_contextz00_2087, BEOA); } } } } 
{ /* ./Ast/check-sharing.scm 164 */
obj_t BgL_arg3657z00_1310;
BgL_arg3657z00_1310 = 
CDR(BgL_l2953z00_1304); 
{ 
obj_t BgL_l2953z00_3300;
BgL_l2953z00_3300 = BgL_arg3657z00_1310; 
BgL_l2953z00_1304 = BgL_l2953z00_3300; 
goto BgL_forzd2each2954zd2_1305;} } }  else 
{ /* ./Ast/check-sharing.scm 164 */
BgL_auxz00_3215 = ((bool_t)1); } } } } } 
return 
BBOOL(BgL_auxz00_3215);} } } 
}



/* check-node-sharing-fail2991 */
obj_t BGl_checkzd2nodezd2sharingzd2fail2991zd2zzast_checkzd2sharingzd2(obj_t BgL_envz00_2620, obj_t BgL_nodez00_2621, obj_t BgL_contextz00_2622)
{ AN_OBJECT;
{ /* ./Ast/check-sharing.scm 150 */
{ 
BgL_failz00_bglt BgL_nodez00_1288;obj_t BgL_contextz00_1289;
BgL_nodez00_1288 = 
(BgL_failz00_bglt)(BgL_nodez00_2621); 
BgL_contextz00_1289 = BgL_contextz00_2622; 
{ 

{ /* ./Ast/check-sharing.scm 150 */
obj_t BgL_nextzd2method2990zd2_1296;
BgL_nextzd2method2990zd2_1296 = 
BGl_findzd2superzd2classzd2methodzd2zz__objectz00(
(BgL_objectz00_bglt)(BgL_nodez00_1288), BGl_checkzd2nodezd2sharingzd2envzd2zzast_checkzd2sharingzd2, BGl_failz00zzast_nodez00); 
{ /* ./Ast/check-sharing.scm 150 */
bool_t BgL_test3635z00_1297;
BgL_test3635z00_1297 = 
PROCEDUREP(BgL_nextzd2method2990zd2_1296); 
if(BgL_test3635z00_1297)
{ /* ./Ast/check-sharing.scm 150 */
PROCEDURE_ENTRY(BgL_nextzd2method2990zd2_1296)(BgL_nextzd2method2990zd2_1296, 
(obj_t)(BgL_nodez00_1288), BgL_contextz00_1289, BEOA); }  else 
{ /* ./Ast/check-sharing.scm 150 */
{ /* ./Ast/check-sharing.scm 150 */
BgL_nodez00_bglt BgL_nodez00_2027;
BgL_nodez00_2027 = 
(BgL_nodez00_bglt)(BgL_nodez00_1288); 
{ /* ./Ast/check-sharing.scm 150 */
obj_t BgL_method2971z00_2029;
{ /* ./Ast/check-sharing.scm 150 */
BgL_objectz00_bglt BgL_objz00_2030;
BgL_objz00_2030 = 
(BgL_objectz00_bglt)(BgL_nodez00_2027); 
{ /* ./Ast/check-sharing.scm 150 */
long BgL_objzd2classzd2numz00_2031;
BgL_objzd2classzd2numz00_2031 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2030); 
{ /* ./Ast/check-sharing.scm 150 */
obj_t BgL_arg2017z00_2032;
{ /* ./Ast/check-sharing.scm 150 */
int BgL_auxz00_3313;
BgL_auxz00_3313 = 
(int)(((long)1)); 
BgL_arg2017z00_2032 = 
PROCEDURE_REF(BGl_checkzd2nodezd2sharingzd2envzd2zzast_checkzd2sharingzd2, BgL_auxz00_3313); } 
{ /* ./Ast/check-sharing.scm 150 */
int BgL_offsetz00_2035;
BgL_offsetz00_2035 = 
(int)(BgL_objzd2classzd2numz00_2031); 
{ /* ./Ast/check-sharing.scm 150 */
long BgL_offsetz00_2036;
{ /* ./Ast/check-sharing.scm 150 */
long BgL_auxz00_3317;
BgL_auxz00_3317 = 
(long)(BgL_offsetz00_2035); 
BgL_offsetz00_2036 = 
(BgL_auxz00_3317-OBJECT_TYPE); } 
{ /* ./Ast/check-sharing.scm 150 */
long BgL_modz00_2037;
{ /* ./Ast/check-sharing.scm 150 */
int BgL_arg2028z00_2038;
BgL_arg2028z00_2038 = 
(int)(((long)8)); 
{ /* ./Ast/check-sharing.scm 150 */
long BgL_n2z00_2046;
BgL_n2z00_2046 = 
(long)(BgL_arg2028z00_2038); 
BgL_modz00_2037 = 
(BgL_offsetz00_2036/BgL_n2z00_2046); } } 
{ /* ./Ast/check-sharing.scm 150 */
long BgL_restz00_2039;
{ /* ./Ast/check-sharing.scm 150 */
int BgL_arg2024z00_2040;
BgL_arg2024z00_2040 = 
(int)(((long)8)); 
{ /* ./Ast/check-sharing.scm 150 */
long BgL_n2z00_2049;
BgL_n2z00_2049 = 
(long)(BgL_arg2024z00_2040); 
BgL_restz00_2039 = 
(BgL_offsetz00_2036%BgL_n2z00_2049); } } 
{ /* ./Ast/check-sharing.scm 150 */

{ /* ./Ast/check-sharing.scm 150 */
obj_t BgL_bucketz00_2041;
{ /* ./Ast/check-sharing.scm 150 */
int BgL_kz00_2051;
BgL_kz00_2051 = 
(int)(BgL_modz00_2037); 
BgL_bucketz00_2041 = 
VECTOR_REF(BgL_arg2017z00_2032,BgL_kz00_2051); } 
{ /* ./Ast/check-sharing.scm 150 */
int BgL_kz00_2053;
BgL_kz00_2053 = 
(int)(BgL_restz00_2039); 
BgL_method2971z00_2029 = 
VECTOR_REF(BgL_bucketz00_2041,BgL_kz00_2053); } } } } } } } } } } 
PROCEDURE_ENTRY(BgL_method2971z00_2029)(BgL_method2971z00_2029, 
(obj_t)(BgL_nodez00_2027), BgL_contextz00_1289, BEOA); } } } } } 
{ /* ./Ast/check-sharing.scm 153 */
BgL_nodez00_bglt BgL_arg3624z00_1293;
BgL_arg3624z00_1293 = 
(((BgL_failz00_bglt)CREF(BgL_nodez00_1288))->BgL_procz00); 
{ /* ./Ast/check-sharing.scm 153 */
obj_t BgL_contextz00_1944;
BgL_contextz00_1944 = 
(obj_t)(BgL_nodez00_1288); 
{ /* ./Ast/check-sharing.scm 153 */
obj_t BgL_method2971z00_1945;
{ /* ./Ast/check-sharing.scm 153 */
BgL_objectz00_bglt BgL_objz00_1946;
BgL_objz00_1946 = 
(BgL_objectz00_bglt)(BgL_arg3624z00_1293); 
{ /* ./Ast/check-sharing.scm 153 */
long BgL_objzd2classzd2numz00_1947;
BgL_objzd2classzd2numz00_1947 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1946); 
{ /* ./Ast/check-sharing.scm 153 */
obj_t BgL_arg2017z00_1948;
{ /* ./Ast/check-sharing.scm 153 */
int BgL_auxz00_3337;
BgL_auxz00_3337 = 
(int)(((long)1)); 
BgL_arg2017z00_1948 = 
PROCEDURE_REF(BGl_checkzd2nodezd2sharingzd2envzd2zzast_checkzd2sharingzd2, BgL_auxz00_3337); } 
{ /* ./Ast/check-sharing.scm 153 */
int BgL_offsetz00_1951;
BgL_offsetz00_1951 = 
(int)(BgL_objzd2classzd2numz00_1947); 
{ /* ./Ast/check-sharing.scm 153 */
long BgL_offsetz00_1952;
{ /* ./Ast/check-sharing.scm 153 */
long BgL_auxz00_3341;
BgL_auxz00_3341 = 
(long)(BgL_offsetz00_1951); 
BgL_offsetz00_1952 = 
(BgL_auxz00_3341-OBJECT_TYPE); } 
{ /* ./Ast/check-sharing.scm 153 */
long BgL_modz00_1953;
{ /* ./Ast/check-sharing.scm 153 */
int BgL_arg2028z00_1954;
BgL_arg2028z00_1954 = 
(int)(((long)8)); 
{ /* ./Ast/check-sharing.scm 153 */
long BgL_n2z00_1962;
BgL_n2z00_1962 = 
(long)(BgL_arg2028z00_1954); 
BgL_modz00_1953 = 
(BgL_offsetz00_1952/BgL_n2z00_1962); } } 
{ /* ./Ast/check-sharing.scm 153 */
long BgL_restz00_1955;
{ /* ./Ast/check-sharing.scm 153 */
int BgL_arg2024z00_1956;
BgL_arg2024z00_1956 = 
(int)(((long)8)); 
{ /* ./Ast/check-sharing.scm 153 */
long BgL_n2z00_1965;
BgL_n2z00_1965 = 
(long)(BgL_arg2024z00_1956); 
BgL_restz00_1955 = 
(BgL_offsetz00_1952%BgL_n2z00_1965); } } 
{ /* ./Ast/check-sharing.scm 153 */

{ /* ./Ast/check-sharing.scm 153 */
obj_t BgL_bucketz00_1957;
{ /* ./Ast/check-sharing.scm 153 */
int BgL_kz00_1967;
BgL_kz00_1967 = 
(int)(BgL_modz00_1953); 
BgL_bucketz00_1957 = 
VECTOR_REF(BgL_arg2017z00_1948,BgL_kz00_1967); } 
{ /* ./Ast/check-sharing.scm 153 */
int BgL_kz00_1969;
BgL_kz00_1969 = 
(int)(BgL_restz00_1955); 
BgL_method2971z00_1945 = 
VECTOR_REF(BgL_bucketz00_1957,BgL_kz00_1969); } } } } } } } } } } 
PROCEDURE_ENTRY(BgL_method2971z00_1945)(BgL_method2971z00_1945, 
(obj_t)(BgL_arg3624z00_1293), BgL_contextz00_1944, BEOA); } } } 
{ /* ./Ast/check-sharing.scm 154 */
BgL_nodez00_bglt BgL_arg3628z00_1294;
BgL_arg3628z00_1294 = 
(((BgL_failz00_bglt)CREF(BgL_nodez00_1288))->BgL_msgz00); 
{ /* ./Ast/check-sharing.scm 154 */
obj_t BgL_contextz00_1972;
BgL_contextz00_1972 = 
(obj_t)(BgL_nodez00_1288); 
{ /* ./Ast/check-sharing.scm 154 */
obj_t BgL_method2971z00_1973;
{ /* ./Ast/check-sharing.scm 154 */
BgL_objectz00_bglt BgL_objz00_1974;
BgL_objz00_1974 = 
(BgL_objectz00_bglt)(BgL_arg3628z00_1294); 
{ /* ./Ast/check-sharing.scm 154 */
long BgL_objzd2classzd2numz00_1975;
BgL_objzd2classzd2numz00_1975 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1974); 
{ /* ./Ast/check-sharing.scm 154 */
obj_t BgL_arg2017z00_1976;
{ /* ./Ast/check-sharing.scm 154 */
int BgL_auxz00_3361;
BgL_auxz00_3361 = 
(int)(((long)1)); 
BgL_arg2017z00_1976 = 
PROCEDURE_REF(BGl_checkzd2nodezd2sharingzd2envzd2zzast_checkzd2sharingzd2, BgL_auxz00_3361); } 
{ /* ./Ast/check-sharing.scm 154 */
int BgL_offsetz00_1979;
BgL_offsetz00_1979 = 
(int)(BgL_objzd2classzd2numz00_1975); 
{ /* ./Ast/check-sharing.scm 154 */
long BgL_offsetz00_1980;
{ /* ./Ast/check-sharing.scm 154 */
long BgL_auxz00_3365;
BgL_auxz00_3365 = 
(long)(BgL_offsetz00_1979); 
BgL_offsetz00_1980 = 
(BgL_auxz00_3365-OBJECT_TYPE); } 
{ /* ./Ast/check-sharing.scm 154 */
long BgL_modz00_1981;
{ /* ./Ast/check-sharing.scm 154 */
int BgL_arg2028z00_1982;
BgL_arg2028z00_1982 = 
(int)(((long)8)); 
{ /* ./Ast/check-sharing.scm 154 */
long BgL_n2z00_1990;
BgL_n2z00_1990 = 
(long)(BgL_arg2028z00_1982); 
BgL_modz00_1981 = 
(BgL_offsetz00_1980/BgL_n2z00_1990); } } 
{ /* ./Ast/check-sharing.scm 154 */
long BgL_restz00_1983;
{ /* ./Ast/check-sharing.scm 154 */
int BgL_arg2024z00_1984;
BgL_arg2024z00_1984 = 
(int)(((long)8)); 
{ /* ./Ast/check-sharing.scm 154 */
long BgL_n2z00_1993;
BgL_n2z00_1993 = 
(long)(BgL_arg2024z00_1984); 
BgL_restz00_1983 = 
(BgL_offsetz00_1980%BgL_n2z00_1993); } } 
{ /* ./Ast/check-sharing.scm 154 */

{ /* ./Ast/check-sharing.scm 154 */
obj_t BgL_bucketz00_1985;
{ /* ./Ast/check-sharing.scm 154 */
int BgL_kz00_1995;
BgL_kz00_1995 = 
(int)(BgL_modz00_1981); 
BgL_bucketz00_1985 = 
VECTOR_REF(BgL_arg2017z00_1976,BgL_kz00_1995); } 
{ /* ./Ast/check-sharing.scm 154 */
int BgL_kz00_1997;
BgL_kz00_1997 = 
(int)(BgL_restz00_1983); 
BgL_method2971z00_1973 = 
VECTOR_REF(BgL_bucketz00_1985,BgL_kz00_1997); } } } } } } } } } } 
PROCEDURE_ENTRY(BgL_method2971z00_1973)(BgL_method2971z00_1973, 
(obj_t)(BgL_arg3628z00_1294), BgL_contextz00_1972, BEOA); } } } 
{ /* ./Ast/check-sharing.scm 155 */
BgL_nodez00_bglt BgL_arg3632z00_1295;
BgL_arg3632z00_1295 = 
(((BgL_failz00_bglt)CREF(BgL_nodez00_1288))->BgL_objz00); 
{ /* ./Ast/check-sharing.scm 155 */
obj_t BgL_contextz00_2000;
BgL_contextz00_2000 = 
(obj_t)(BgL_nodez00_1288); 
{ /* ./Ast/check-sharing.scm 155 */
obj_t BgL_method2971z00_2001;
{ /* ./Ast/check-sharing.scm 155 */
BgL_objectz00_bglt BgL_objz00_2002;
BgL_objz00_2002 = 
(BgL_objectz00_bglt)(BgL_arg3632z00_1295); 
{ /* ./Ast/check-sharing.scm 155 */
long BgL_objzd2classzd2numz00_2003;
BgL_objzd2classzd2numz00_2003 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2002); 
{ /* ./Ast/check-sharing.scm 155 */
obj_t BgL_arg2017z00_2004;
{ /* ./Ast/check-sharing.scm 155 */
int BgL_auxz00_3385;
BgL_auxz00_3385 = 
(int)(((long)1)); 
BgL_arg2017z00_2004 = 
PROCEDURE_REF(BGl_checkzd2nodezd2sharingzd2envzd2zzast_checkzd2sharingzd2, BgL_auxz00_3385); } 
{ /* ./Ast/check-sharing.scm 155 */
int BgL_offsetz00_2007;
BgL_offsetz00_2007 = 
(int)(BgL_objzd2classzd2numz00_2003); 
{ /* ./Ast/check-sharing.scm 155 */
long BgL_offsetz00_2008;
{ /* ./Ast/check-sharing.scm 155 */
long BgL_auxz00_3389;
BgL_auxz00_3389 = 
(long)(BgL_offsetz00_2007); 
BgL_offsetz00_2008 = 
(BgL_auxz00_3389-OBJECT_TYPE); } 
{ /* ./Ast/check-sharing.scm 155 */
long BgL_modz00_2009;
{ /* ./Ast/check-sharing.scm 155 */
int BgL_arg2028z00_2010;
BgL_arg2028z00_2010 = 
(int)(((long)8)); 
{ /* ./Ast/check-sharing.scm 155 */
long BgL_n2z00_2018;
BgL_n2z00_2018 = 
(long)(BgL_arg2028z00_2010); 
BgL_modz00_2009 = 
(BgL_offsetz00_2008/BgL_n2z00_2018); } } 
{ /* ./Ast/check-sharing.scm 155 */
long BgL_restz00_2011;
{ /* ./Ast/check-sharing.scm 155 */
int BgL_arg2024z00_2012;
BgL_arg2024z00_2012 = 
(int)(((long)8)); 
{ /* ./Ast/check-sharing.scm 155 */
long BgL_n2z00_2021;
BgL_n2z00_2021 = 
(long)(BgL_arg2024z00_2012); 
BgL_restz00_2011 = 
(BgL_offsetz00_2008%BgL_n2z00_2021); } } 
{ /* ./Ast/check-sharing.scm 155 */

{ /* ./Ast/check-sharing.scm 155 */
obj_t BgL_bucketz00_2013;
{ /* ./Ast/check-sharing.scm 155 */
int BgL_kz00_2023;
BgL_kz00_2023 = 
(int)(BgL_modz00_2009); 
BgL_bucketz00_2013 = 
VECTOR_REF(BgL_arg2017z00_2004,BgL_kz00_2023); } 
{ /* ./Ast/check-sharing.scm 155 */
int BgL_kz00_2025;
BgL_kz00_2025 = 
(int)(BgL_restz00_2011); 
BgL_method2971z00_2001 = 
VECTOR_REF(BgL_bucketz00_2013,BgL_kz00_2025); } } } } } } } } } } 
return 
PROCEDURE_ENTRY(BgL_method2971z00_2001)(BgL_method2971z00_2001, 
(obj_t)(BgL_arg3632z00_1295), BgL_contextz00_2000, BEOA);} } } } } } 
}



/* check-node-sharing-conditional2989 */
obj_t BGl_checkzd2nodezd2sharingzd2conditional2989zd2zzast_checkzd2sharingzd2(obj_t BgL_envz00_2623, obj_t BgL_nodez00_2624, obj_t BgL_contextz00_2625)
{ AN_OBJECT;
{ /* ./Ast/check-sharing.scm 140 */
{ 
BgL_conditionalz00_bglt BgL_nodez00_1278;obj_t BgL_contextz00_1279;
BgL_nodez00_1278 = 
(BgL_conditionalz00_bglt)(BgL_nodez00_2624); 
BgL_contextz00_1279 = BgL_contextz00_2625; 
{ 

{ /* ./Ast/check-sharing.scm 140 */
obj_t BgL_nextzd2method2988zd2_1286;
BgL_nextzd2method2988zd2_1286 = 
BGl_findzd2superzd2classzd2methodzd2zz__objectz00(
(BgL_objectz00_bglt)(BgL_nodez00_1278), BGl_checkzd2nodezd2sharingzd2envzd2zzast_checkzd2sharingzd2, BGl_conditionalz00zzast_nodez00); 
{ /* ./Ast/check-sharing.scm 140 */
bool_t BgL_test3616z00_1287;
BgL_test3616z00_1287 = 
PROCEDUREP(BgL_nextzd2method2988zd2_1286); 
if(BgL_test3616z00_1287)
{ /* ./Ast/check-sharing.scm 140 */
PROCEDURE_ENTRY(BgL_nextzd2method2988zd2_1286)(BgL_nextzd2method2988zd2_1286, 
(obj_t)(BgL_nodez00_1278), BgL_contextz00_1279, BEOA); }  else 
{ /* ./Ast/check-sharing.scm 140 */
{ /* ./Ast/check-sharing.scm 140 */
BgL_nodez00_bglt BgL_nodez00_1915;
BgL_nodez00_1915 = 
(BgL_nodez00_bglt)(BgL_nodez00_1278); 
{ /* ./Ast/check-sharing.scm 140 */
obj_t BgL_method2971z00_1917;
{ /* ./Ast/check-sharing.scm 140 */
BgL_objectz00_bglt BgL_objz00_1918;
BgL_objz00_1918 = 
(BgL_objectz00_bglt)(BgL_nodez00_1915); 
{ /* ./Ast/check-sharing.scm 140 */
long BgL_objzd2classzd2numz00_1919;
BgL_objzd2classzd2numz00_1919 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1918); 
{ /* ./Ast/check-sharing.scm 140 */
obj_t BgL_arg2017z00_1920;
{ /* ./Ast/check-sharing.scm 140 */
int BgL_auxz00_3416;
BgL_auxz00_3416 = 
(int)(((long)1)); 
BgL_arg2017z00_1920 = 
PROCEDURE_REF(BGl_checkzd2nodezd2sharingzd2envzd2zzast_checkzd2sharingzd2, BgL_auxz00_3416); } 
{ /* ./Ast/check-sharing.scm 140 */
int BgL_offsetz00_1923;
BgL_offsetz00_1923 = 
(int)(BgL_objzd2classzd2numz00_1919); 
{ /* ./Ast/check-sharing.scm 140 */
long BgL_offsetz00_1924;
{ /* ./Ast/check-sharing.scm 140 */
long BgL_auxz00_3420;
BgL_auxz00_3420 = 
(long)(BgL_offsetz00_1923); 
BgL_offsetz00_1924 = 
(BgL_auxz00_3420-OBJECT_TYPE); } 
{ /* ./Ast/check-sharing.scm 140 */
long BgL_modz00_1925;
{ /* ./Ast/check-sharing.scm 140 */
int BgL_arg2028z00_1926;
BgL_arg2028z00_1926 = 
(int)(((long)8)); 
{ /* ./Ast/check-sharing.scm 140 */
long BgL_n2z00_1934;
BgL_n2z00_1934 = 
(long)(BgL_arg2028z00_1926); 
BgL_modz00_1925 = 
(BgL_offsetz00_1924/BgL_n2z00_1934); } } 
{ /* ./Ast/check-sharing.scm 140 */
long BgL_restz00_1927;
{ /* ./Ast/check-sharing.scm 140 */
int BgL_arg2024z00_1928;
BgL_arg2024z00_1928 = 
(int)(((long)8)); 
{ /* ./Ast/check-sharing.scm 140 */
long BgL_n2z00_1937;
BgL_n2z00_1937 = 
(long)(BgL_arg2024z00_1928); 
BgL_restz00_1927 = 
(BgL_offsetz00_1924%BgL_n2z00_1937); } } 
{ /* ./Ast/check-sharing.scm 140 */

{ /* ./Ast/check-sharing.scm 140 */
obj_t BgL_bucketz00_1929;
{ /* ./Ast/check-sharing.scm 140 */
int BgL_kz00_1939;
BgL_kz00_1939 = 
(int)(BgL_modz00_1925); 
BgL_bucketz00_1929 = 
VECTOR_REF(BgL_arg2017z00_1920,BgL_kz00_1939); } 
{ /* ./Ast/check-sharing.scm 140 */
int BgL_kz00_1941;
BgL_kz00_1941 = 
(int)(BgL_restz00_1927); 
BgL_method2971z00_1917 = 
VECTOR_REF(BgL_bucketz00_1929,BgL_kz00_1941); } } } } } } } } } } 
PROCEDURE_ENTRY(BgL_method2971z00_1917)(BgL_method2971z00_1917, 
(obj_t)(BgL_nodez00_1915), BgL_contextz00_1279, BEOA); } } } } } 
{ /* ./Ast/check-sharing.scm 143 */
BgL_nodez00_bglt BgL_arg3605z00_1283;
BgL_arg3605z00_1283 = 
(((BgL_conditionalz00_bglt)CREF(BgL_nodez00_1278))->BgL_testz00); 
{ /* ./Ast/check-sharing.scm 143 */
obj_t BgL_contextz00_1832;
BgL_contextz00_1832 = 
(obj_t)(BgL_nodez00_1278); 
{ /* ./Ast/check-sharing.scm 143 */
obj_t BgL_method2971z00_1833;
{ /* ./Ast/check-sharing.scm 143 */
BgL_objectz00_bglt BgL_objz00_1834;
BgL_objz00_1834 = 
(BgL_objectz00_bglt)(BgL_arg3605z00_1283); 
{ /* ./Ast/check-sharing.scm 143 */
long BgL_objzd2classzd2numz00_1835;
BgL_objzd2classzd2numz00_1835 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1834); 
{ /* ./Ast/check-sharing.scm 143 */
obj_t BgL_arg2017z00_1836;
{ /* ./Ast/check-sharing.scm 143 */
int BgL_auxz00_3440;
BgL_auxz00_3440 = 
(int)(((long)1)); 
BgL_arg2017z00_1836 = 
PROCEDURE_REF(BGl_checkzd2nodezd2sharingzd2envzd2zzast_checkzd2sharingzd2, BgL_auxz00_3440); } 
{ /* ./Ast/check-sharing.scm 143 */
int BgL_offsetz00_1839;
BgL_offsetz00_1839 = 
(int)(BgL_objzd2classzd2numz00_1835); 
{ /* ./Ast/check-sharing.scm 143 */
long BgL_offsetz00_1840;
{ /* ./Ast/check-sharing.scm 143 */
long BgL_auxz00_3444;
BgL_auxz00_3444 = 
(long)(BgL_offsetz00_1839); 
BgL_offsetz00_1840 = 
(BgL_auxz00_3444-OBJECT_TYPE); } 
{ /* ./Ast/check-sharing.scm 143 */
long BgL_modz00_1841;
{ /* ./Ast/check-sharing.scm 143 */
int BgL_arg2028z00_1842;
BgL_arg2028z00_1842 = 
(int)(((long)8)); 
{ /* ./Ast/check-sharing.scm 143 */
long BgL_n2z00_1850;
BgL_n2z00_1850 = 
(long)(BgL_arg2028z00_1842); 
BgL_modz00_1841 = 
(BgL_offsetz00_1840/BgL_n2z00_1850); } } 
{ /* ./Ast/check-sharing.scm 143 */
long BgL_restz00_1843;
{ /* ./Ast/check-sharing.scm 143 */
int BgL_arg2024z00_1844;
BgL_arg2024z00_1844 = 
(int)(((long)8)); 
{ /* ./Ast/check-sharing.scm 143 */
long BgL_n2z00_1853;
BgL_n2z00_1853 = 
(long)(BgL_arg2024z00_1844); 
BgL_restz00_1843 = 
(BgL_offsetz00_1840%BgL_n2z00_1853); } } 
{ /* ./Ast/check-sharing.scm 143 */

{ /* ./Ast/check-sharing.scm 143 */
obj_t BgL_bucketz00_1845;
{ /* ./Ast/check-sharing.scm 143 */
int BgL_kz00_1855;
BgL_kz00_1855 = 
(int)(BgL_modz00_1841); 
BgL_bucketz00_1845 = 
VECTOR_REF(BgL_arg2017z00_1836,BgL_kz00_1855); } 
{ /* ./Ast/check-sharing.scm 143 */
int BgL_kz00_1857;
BgL_kz00_1857 = 
(int)(BgL_restz00_1843); 
BgL_method2971z00_1833 = 
VECTOR_REF(BgL_bucketz00_1845,BgL_kz00_1857); } } } } } } } } } } 
PROCEDURE_ENTRY(BgL_method2971z00_1833)(BgL_method2971z00_1833, 
(obj_t)(BgL_arg3605z00_1283), BgL_contextz00_1832, BEOA); } } } 
{ /* ./Ast/check-sharing.scm 144 */
BgL_nodez00_bglt BgL_arg3609z00_1284;
BgL_arg3609z00_1284 = 
(((BgL_conditionalz00_bglt)CREF(BgL_nodez00_1278))->BgL_truez00); 
{ /* ./Ast/check-sharing.scm 144 */
obj_t BgL_contextz00_1860;
BgL_contextz00_1860 = 
(obj_t)(BgL_nodez00_1278); 
{ /* ./Ast/check-sharing.scm 144 */
obj_t BgL_method2971z00_1861;
{ /* ./Ast/check-sharing.scm 144 */
BgL_objectz00_bglt BgL_objz00_1862;
BgL_objz00_1862 = 
(BgL_objectz00_bglt)(BgL_arg3609z00_1284); 
{ /* ./Ast/check-sharing.scm 144 */
long BgL_objzd2classzd2numz00_1863;
BgL_objzd2classzd2numz00_1863 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1862); 
{ /* ./Ast/check-sharing.scm 144 */
obj_t BgL_arg2017z00_1864;
{ /* ./Ast/check-sharing.scm 144 */
int BgL_auxz00_3464;
BgL_auxz00_3464 = 
(int)(((long)1)); 
BgL_arg2017z00_1864 = 
PROCEDURE_REF(BGl_checkzd2nodezd2sharingzd2envzd2zzast_checkzd2sharingzd2, BgL_auxz00_3464); } 
{ /* ./Ast/check-sharing.scm 144 */
int BgL_offsetz00_1867;
BgL_offsetz00_1867 = 
(int)(BgL_objzd2classzd2numz00_1863); 
{ /* ./Ast/check-sharing.scm 144 */
long BgL_offsetz00_1868;
{ /* ./Ast/check-sharing.scm 144 */
long BgL_auxz00_3468;
BgL_auxz00_3468 = 
(long)(BgL_offsetz00_1867); 
BgL_offsetz00_1868 = 
(BgL_auxz00_3468-OBJECT_TYPE); } 
{ /* ./Ast/check-sharing.scm 144 */
long BgL_modz00_1869;
{ /* ./Ast/check-sharing.scm 144 */
int BgL_arg2028z00_1870;
BgL_arg2028z00_1870 = 
(int)(((long)8)); 
{ /* ./Ast/check-sharing.scm 144 */
long BgL_n2z00_1878;
BgL_n2z00_1878 = 
(long)(BgL_arg2028z00_1870); 
BgL_modz00_1869 = 
(BgL_offsetz00_1868/BgL_n2z00_1878); } } 
{ /* ./Ast/check-sharing.scm 144 */
long BgL_restz00_1871;
{ /* ./Ast/check-sharing.scm 144 */
int BgL_arg2024z00_1872;
BgL_arg2024z00_1872 = 
(int)(((long)8)); 
{ /* ./Ast/check-sharing.scm 144 */
long BgL_n2z00_1881;
BgL_n2z00_1881 = 
(long)(BgL_arg2024z00_1872); 
BgL_restz00_1871 = 
(BgL_offsetz00_1868%BgL_n2z00_1881); } } 
{ /* ./Ast/check-sharing.scm 144 */

{ /* ./Ast/check-sharing.scm 144 */
obj_t BgL_bucketz00_1873;
{ /* ./Ast/check-sharing.scm 144 */
int BgL_kz00_1883;
BgL_kz00_1883 = 
(int)(BgL_modz00_1869); 
BgL_bucketz00_1873 = 
VECTOR_REF(BgL_arg2017z00_1864,BgL_kz00_1883); } 
{ /* ./Ast/check-sharing.scm 144 */
int BgL_kz00_1885;
BgL_kz00_1885 = 
(int)(BgL_restz00_1871); 
BgL_method2971z00_1861 = 
VECTOR_REF(BgL_bucketz00_1873,BgL_kz00_1885); } } } } } } } } } } 
PROCEDURE_ENTRY(BgL_method2971z00_1861)(BgL_method2971z00_1861, 
(obj_t)(BgL_arg3609z00_1284), BgL_contextz00_1860, BEOA); } } } 
{ /* ./Ast/check-sharing.scm 145 */
BgL_nodez00_bglt BgL_arg3613z00_1285;
BgL_arg3613z00_1285 = 
(((BgL_conditionalz00_bglt)CREF(BgL_nodez00_1278))->BgL_falsez00); 
{ /* ./Ast/check-sharing.scm 145 */
obj_t BgL_contextz00_1888;
BgL_contextz00_1888 = 
(obj_t)(BgL_nodez00_1278); 
{ /* ./Ast/check-sharing.scm 145 */
obj_t BgL_method2971z00_1889;
{ /* ./Ast/check-sharing.scm 145 */
BgL_objectz00_bglt BgL_objz00_1890;
BgL_objz00_1890 = 
(BgL_objectz00_bglt)(BgL_arg3613z00_1285); 
{ /* ./Ast/check-sharing.scm 145 */
long BgL_objzd2classzd2numz00_1891;
BgL_objzd2classzd2numz00_1891 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1890); 
{ /* ./Ast/check-sharing.scm 145 */
obj_t BgL_arg2017z00_1892;
{ /* ./Ast/check-sharing.scm 145 */
int BgL_auxz00_3488;
BgL_auxz00_3488 = 
(int)(((long)1)); 
BgL_arg2017z00_1892 = 
PROCEDURE_REF(BGl_checkzd2nodezd2sharingzd2envzd2zzast_checkzd2sharingzd2, BgL_auxz00_3488); } 
{ /* ./Ast/check-sharing.scm 145 */
int BgL_offsetz00_1895;
BgL_offsetz00_1895 = 
(int)(BgL_objzd2classzd2numz00_1891); 
{ /* ./Ast/check-sharing.scm 145 */
long BgL_offsetz00_1896;
{ /* ./Ast/check-sharing.scm 145 */
long BgL_auxz00_3492;
BgL_auxz00_3492 = 
(long)(BgL_offsetz00_1895); 
BgL_offsetz00_1896 = 
(BgL_auxz00_3492-OBJECT_TYPE); } 
{ /* ./Ast/check-sharing.scm 145 */
long BgL_modz00_1897;
{ /* ./Ast/check-sharing.scm 145 */
int BgL_arg2028z00_1898;
BgL_arg2028z00_1898 = 
(int)(((long)8)); 
{ /* ./Ast/check-sharing.scm 145 */
long BgL_n2z00_1906;
BgL_n2z00_1906 = 
(long)(BgL_arg2028z00_1898); 
BgL_modz00_1897 = 
(BgL_offsetz00_1896/BgL_n2z00_1906); } } 
{ /* ./Ast/check-sharing.scm 145 */
long BgL_restz00_1899;
{ /* ./Ast/check-sharing.scm 145 */
int BgL_arg2024z00_1900;
BgL_arg2024z00_1900 = 
(int)(((long)8)); 
{ /* ./Ast/check-sharing.scm 145 */
long BgL_n2z00_1909;
BgL_n2z00_1909 = 
(long)(BgL_arg2024z00_1900); 
BgL_restz00_1899 = 
(BgL_offsetz00_1896%BgL_n2z00_1909); } } 
{ /* ./Ast/check-sharing.scm 145 */

{ /* ./Ast/check-sharing.scm 145 */
obj_t BgL_bucketz00_1901;
{ /* ./Ast/check-sharing.scm 145 */
int BgL_kz00_1911;
BgL_kz00_1911 = 
(int)(BgL_modz00_1897); 
BgL_bucketz00_1901 = 
VECTOR_REF(BgL_arg2017z00_1892,BgL_kz00_1911); } 
{ /* ./Ast/check-sharing.scm 145 */
int BgL_kz00_1913;
BgL_kz00_1913 = 
(int)(BgL_restz00_1899); 
BgL_method2971z00_1889 = 
VECTOR_REF(BgL_bucketz00_1901,BgL_kz00_1913); } } } } } } } } } } 
return 
PROCEDURE_ENTRY(BgL_method2971z00_1889)(BgL_method2971z00_1889, 
(obj_t)(BgL_arg3613z00_1285), BgL_contextz00_1888, BEOA);} } } } } } 
}



/* check-node-sharing-setq2987 */
obj_t BGl_checkzd2nodezd2sharingzd2setq2987zd2zzast_checkzd2sharingzd2(obj_t BgL_envz00_2626, obj_t BgL_nodez00_2627, obj_t BgL_contextz00_2628)
{ AN_OBJECT;
{ /* ./Ast/check-sharing.scm 133 */
{ 
BgL_setqz00_bglt BgL_nodez00_1271;obj_t BgL_contextz00_1272;
BgL_nodez00_1271 = 
(BgL_setqz00_bglt)(BgL_nodez00_2627); 
BgL_contextz00_1272 = BgL_contextz00_2628; 
{ 

{ /* ./Ast/check-sharing.scm 133 */
obj_t BgL_nextzd2method2986zd2_1276;
BgL_nextzd2method2986zd2_1276 = 
BGl_findzd2superzd2classzd2methodzd2zz__objectz00(
(BgL_objectz00_bglt)(BgL_nodez00_1271), BGl_checkzd2nodezd2sharingzd2envzd2zzast_checkzd2sharingzd2, BGl_setqz00zzast_nodez00); 
{ /* ./Ast/check-sharing.scm 133 */
bool_t BgL_test3597z00_1277;
BgL_test3597z00_1277 = 
PROCEDUREP(BgL_nextzd2method2986zd2_1276); 
if(BgL_test3597z00_1277)
{ /* ./Ast/check-sharing.scm 133 */
PROCEDURE_ENTRY(BgL_nextzd2method2986zd2_1276)(BgL_nextzd2method2986zd2_1276, 
(obj_t)(BgL_nodez00_1271), BgL_contextz00_1272, BEOA); }  else 
{ /* ./Ast/check-sharing.scm 133 */
{ /* ./Ast/check-sharing.scm 133 */
BgL_nodez00_bglt BgL_nodez00_1803;
BgL_nodez00_1803 = 
(BgL_nodez00_bglt)(BgL_nodez00_1271); 
{ /* ./Ast/check-sharing.scm 133 */
obj_t BgL_method2971z00_1805;
{ /* ./Ast/check-sharing.scm 133 */
BgL_objectz00_bglt BgL_objz00_1806;
BgL_objz00_1806 = 
(BgL_objectz00_bglt)(BgL_nodez00_1803); 
{ /* ./Ast/check-sharing.scm 133 */
long BgL_objzd2classzd2numz00_1807;
BgL_objzd2classzd2numz00_1807 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1806); 
{ /* ./Ast/check-sharing.scm 133 */
obj_t BgL_arg2017z00_1808;
{ /* ./Ast/check-sharing.scm 133 */
int BgL_auxz00_3519;
BgL_auxz00_3519 = 
(int)(((long)1)); 
BgL_arg2017z00_1808 = 
PROCEDURE_REF(BGl_checkzd2nodezd2sharingzd2envzd2zzast_checkzd2sharingzd2, BgL_auxz00_3519); } 
{ /* ./Ast/check-sharing.scm 133 */
int BgL_offsetz00_1811;
BgL_offsetz00_1811 = 
(int)(BgL_objzd2classzd2numz00_1807); 
{ /* ./Ast/check-sharing.scm 133 */
long BgL_offsetz00_1812;
{ /* ./Ast/check-sharing.scm 133 */
long BgL_auxz00_3523;
BgL_auxz00_3523 = 
(long)(BgL_offsetz00_1811); 
BgL_offsetz00_1812 = 
(BgL_auxz00_3523-OBJECT_TYPE); } 
{ /* ./Ast/check-sharing.scm 133 */
long BgL_modz00_1813;
{ /* ./Ast/check-sharing.scm 133 */
int BgL_arg2028z00_1814;
BgL_arg2028z00_1814 = 
(int)(((long)8)); 
{ /* ./Ast/check-sharing.scm 133 */
long BgL_n2z00_1822;
BgL_n2z00_1822 = 
(long)(BgL_arg2028z00_1814); 
BgL_modz00_1813 = 
(BgL_offsetz00_1812/BgL_n2z00_1822); } } 
{ /* ./Ast/check-sharing.scm 133 */
long BgL_restz00_1815;
{ /* ./Ast/check-sharing.scm 133 */
int BgL_arg2024z00_1816;
BgL_arg2024z00_1816 = 
(int)(((long)8)); 
{ /* ./Ast/check-sharing.scm 133 */
long BgL_n2z00_1825;
BgL_n2z00_1825 = 
(long)(BgL_arg2024z00_1816); 
BgL_restz00_1815 = 
(BgL_offsetz00_1812%BgL_n2z00_1825); } } 
{ /* ./Ast/check-sharing.scm 133 */

{ /* ./Ast/check-sharing.scm 133 */
obj_t BgL_bucketz00_1817;
{ /* ./Ast/check-sharing.scm 133 */
int BgL_kz00_1827;
BgL_kz00_1827 = 
(int)(BgL_modz00_1813); 
BgL_bucketz00_1817 = 
VECTOR_REF(BgL_arg2017z00_1808,BgL_kz00_1827); } 
{ /* ./Ast/check-sharing.scm 133 */
int BgL_kz00_1829;
BgL_kz00_1829 = 
(int)(BgL_restz00_1815); 
BgL_method2971z00_1805 = 
VECTOR_REF(BgL_bucketz00_1817,BgL_kz00_1829); } } } } } } } } } } 
PROCEDURE_ENTRY(BgL_method2971z00_1805)(BgL_method2971z00_1805, 
(obj_t)(BgL_nodez00_1803), BgL_contextz00_1272, BEOA); } } } } } 
{ /* ./Ast/check-sharing.scm 135 */
BgL_nodez00_bglt BgL_arg3594z00_1275;
BgL_arg3594z00_1275 = 
(((BgL_setqz00_bglt)CREF(BgL_nodez00_1271))->BgL_valuez00); 
{ /* ./Ast/check-sharing.scm 135 */
obj_t BgL_contextz00_1776;
BgL_contextz00_1776 = 
(obj_t)(BgL_nodez00_1271); 
{ /* ./Ast/check-sharing.scm 135 */
obj_t BgL_method2971z00_1777;
{ /* ./Ast/check-sharing.scm 135 */
BgL_objectz00_bglt BgL_objz00_1778;
BgL_objz00_1778 = 
(BgL_objectz00_bglt)(BgL_arg3594z00_1275); 
{ /* ./Ast/check-sharing.scm 135 */
long BgL_objzd2classzd2numz00_1779;
BgL_objzd2classzd2numz00_1779 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1778); 
{ /* ./Ast/check-sharing.scm 135 */
obj_t BgL_arg2017z00_1780;
{ /* ./Ast/check-sharing.scm 135 */
int BgL_auxz00_3543;
BgL_auxz00_3543 = 
(int)(((long)1)); 
BgL_arg2017z00_1780 = 
PROCEDURE_REF(BGl_checkzd2nodezd2sharingzd2envzd2zzast_checkzd2sharingzd2, BgL_auxz00_3543); } 
{ /* ./Ast/check-sharing.scm 135 */
int BgL_offsetz00_1783;
BgL_offsetz00_1783 = 
(int)(BgL_objzd2classzd2numz00_1779); 
{ /* ./Ast/check-sharing.scm 135 */
long BgL_offsetz00_1784;
{ /* ./Ast/check-sharing.scm 135 */
long BgL_auxz00_3547;
BgL_auxz00_3547 = 
(long)(BgL_offsetz00_1783); 
BgL_offsetz00_1784 = 
(BgL_auxz00_3547-OBJECT_TYPE); } 
{ /* ./Ast/check-sharing.scm 135 */
long BgL_modz00_1785;
{ /* ./Ast/check-sharing.scm 135 */
int BgL_arg2028z00_1786;
BgL_arg2028z00_1786 = 
(int)(((long)8)); 
{ /* ./Ast/check-sharing.scm 135 */
long BgL_n2z00_1794;
BgL_n2z00_1794 = 
(long)(BgL_arg2028z00_1786); 
BgL_modz00_1785 = 
(BgL_offsetz00_1784/BgL_n2z00_1794); } } 
{ /* ./Ast/check-sharing.scm 135 */
long BgL_restz00_1787;
{ /* ./Ast/check-sharing.scm 135 */
int BgL_arg2024z00_1788;
BgL_arg2024z00_1788 = 
(int)(((long)8)); 
{ /* ./Ast/check-sharing.scm 135 */
long BgL_n2z00_1797;
BgL_n2z00_1797 = 
(long)(BgL_arg2024z00_1788); 
BgL_restz00_1787 = 
(BgL_offsetz00_1784%BgL_n2z00_1797); } } 
{ /* ./Ast/check-sharing.scm 135 */

{ /* ./Ast/check-sharing.scm 135 */
obj_t BgL_bucketz00_1789;
{ /* ./Ast/check-sharing.scm 135 */
int BgL_kz00_1799;
BgL_kz00_1799 = 
(int)(BgL_modz00_1785); 
BgL_bucketz00_1789 = 
VECTOR_REF(BgL_arg2017z00_1780,BgL_kz00_1799); } 
{ /* ./Ast/check-sharing.scm 135 */
int BgL_kz00_1801;
BgL_kz00_1801 = 
(int)(BgL_restz00_1787); 
BgL_method2971z00_1777 = 
VECTOR_REF(BgL_bucketz00_1789,BgL_kz00_1801); } } } } } } } } } } 
return 
PROCEDURE_ENTRY(BgL_method2971z00_1777)(BgL_method2971z00_1777, 
(obj_t)(BgL_arg3594z00_1275), BgL_contextz00_1776, BEOA);} } } } } } 
}



/* check-node-sharing-cast2985 */
obj_t BGl_checkzd2nodezd2sharingzd2cast2985zd2zzast_checkzd2sharingzd2(obj_t BgL_envz00_2629, obj_t BgL_nodez00_2630, obj_t BgL_contextz00_2631)
{ AN_OBJECT;
{ /* ./Ast/check-sharing.scm 126 */
{ 
BgL_castz00_bglt BgL_nodez00_1264;obj_t BgL_contextz00_1265;
BgL_nodez00_1264 = 
(BgL_castz00_bglt)(BgL_nodez00_2630); 
BgL_contextz00_1265 = BgL_contextz00_2631; 
{ 

{ /* ./Ast/check-sharing.scm 126 */
obj_t BgL_nextzd2method2984zd2_1269;
BgL_nextzd2method2984zd2_1269 = 
BGl_findzd2superzd2classzd2methodzd2zz__objectz00(
(BgL_objectz00_bglt)(BgL_nodez00_1264), BGl_checkzd2nodezd2sharingzd2envzd2zzast_checkzd2sharingzd2, BGl_castz00zzast_nodez00); 
{ /* ./Ast/check-sharing.scm 126 */
bool_t BgL_test3586z00_1270;
BgL_test3586z00_1270 = 
PROCEDUREP(BgL_nextzd2method2984zd2_1269); 
if(BgL_test3586z00_1270)
{ /* ./Ast/check-sharing.scm 126 */
PROCEDURE_ENTRY(BgL_nextzd2method2984zd2_1269)(BgL_nextzd2method2984zd2_1269, 
(obj_t)(BgL_nodez00_1264), BgL_contextz00_1265, BEOA); }  else 
{ /* ./Ast/check-sharing.scm 126 */
{ /* ./Ast/check-sharing.scm 126 */
BgL_nodez00_bglt BgL_nodez00_1747;
BgL_nodez00_1747 = 
(BgL_nodez00_bglt)(BgL_nodez00_1264); 
{ /* ./Ast/check-sharing.scm 126 */
obj_t BgL_method2971z00_1749;
{ /* ./Ast/check-sharing.scm 126 */
BgL_objectz00_bglt BgL_objz00_1750;
BgL_objz00_1750 = 
(BgL_objectz00_bglt)(BgL_nodez00_1747); 
{ /* ./Ast/check-sharing.scm 126 */
long BgL_objzd2classzd2numz00_1751;
BgL_objzd2classzd2numz00_1751 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1750); 
{ /* ./Ast/check-sharing.scm 126 */
obj_t BgL_arg2017z00_1752;
{ /* ./Ast/check-sharing.scm 126 */
int BgL_auxz00_3574;
BgL_auxz00_3574 = 
(int)(((long)1)); 
BgL_arg2017z00_1752 = 
PROCEDURE_REF(BGl_checkzd2nodezd2sharingzd2envzd2zzast_checkzd2sharingzd2, BgL_auxz00_3574); } 
{ /* ./Ast/check-sharing.scm 126 */
int BgL_offsetz00_1755;
BgL_offsetz00_1755 = 
(int)(BgL_objzd2classzd2numz00_1751); 
{ /* ./Ast/check-sharing.scm 126 */
long BgL_offsetz00_1756;
{ /* ./Ast/check-sharing.scm 126 */
long BgL_auxz00_3578;
BgL_auxz00_3578 = 
(long)(BgL_offsetz00_1755); 
BgL_offsetz00_1756 = 
(BgL_auxz00_3578-OBJECT_TYPE); } 
{ /* ./Ast/check-sharing.scm 126 */
long BgL_modz00_1757;
{ /* ./Ast/check-sharing.scm 126 */
int BgL_arg2028z00_1758;
BgL_arg2028z00_1758 = 
(int)(((long)8)); 
{ /* ./Ast/check-sharing.scm 126 */
long BgL_n2z00_1766;
BgL_n2z00_1766 = 
(long)(BgL_arg2028z00_1758); 
BgL_modz00_1757 = 
(BgL_offsetz00_1756/BgL_n2z00_1766); } } 
{ /* ./Ast/check-sharing.scm 126 */
long BgL_restz00_1759;
{ /* ./Ast/check-sharing.scm 126 */
int BgL_arg2024z00_1760;
BgL_arg2024z00_1760 = 
(int)(((long)8)); 
{ /* ./Ast/check-sharing.scm 126 */
long BgL_n2z00_1769;
BgL_n2z00_1769 = 
(long)(BgL_arg2024z00_1760); 
BgL_restz00_1759 = 
(BgL_offsetz00_1756%BgL_n2z00_1769); } } 
{ /* ./Ast/check-sharing.scm 126 */

{ /* ./Ast/check-sharing.scm 126 */
obj_t BgL_bucketz00_1761;
{ /* ./Ast/check-sharing.scm 126 */
int BgL_kz00_1771;
BgL_kz00_1771 = 
(int)(BgL_modz00_1757); 
BgL_bucketz00_1761 = 
VECTOR_REF(BgL_arg2017z00_1752,BgL_kz00_1771); } 
{ /* ./Ast/check-sharing.scm 126 */
int BgL_kz00_1773;
BgL_kz00_1773 = 
(int)(BgL_restz00_1759); 
BgL_method2971z00_1749 = 
VECTOR_REF(BgL_bucketz00_1761,BgL_kz00_1773); } } } } } } } } } } 
PROCEDURE_ENTRY(BgL_method2971z00_1749)(BgL_method2971z00_1749, 
(obj_t)(BgL_nodez00_1747), BgL_contextz00_1265, BEOA); } } } } } 
{ /* ./Ast/check-sharing.scm 128 */
BgL_nodez00_bglt BgL_arg3583z00_1268;
BgL_arg3583z00_1268 = 
(((BgL_castz00_bglt)CREF(BgL_nodez00_1264))->BgL_argz00); 
{ /* ./Ast/check-sharing.scm 128 */
obj_t BgL_contextz00_1720;
BgL_contextz00_1720 = 
(obj_t)(BgL_nodez00_1264); 
{ /* ./Ast/check-sharing.scm 128 */
obj_t BgL_method2971z00_1721;
{ /* ./Ast/check-sharing.scm 128 */
BgL_objectz00_bglt BgL_objz00_1722;
BgL_objz00_1722 = 
(BgL_objectz00_bglt)(BgL_arg3583z00_1268); 
{ /* ./Ast/check-sharing.scm 128 */
long BgL_objzd2classzd2numz00_1723;
BgL_objzd2classzd2numz00_1723 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1722); 
{ /* ./Ast/check-sharing.scm 128 */
obj_t BgL_arg2017z00_1724;
{ /* ./Ast/check-sharing.scm 128 */
int BgL_auxz00_3598;
BgL_auxz00_3598 = 
(int)(((long)1)); 
BgL_arg2017z00_1724 = 
PROCEDURE_REF(BGl_checkzd2nodezd2sharingzd2envzd2zzast_checkzd2sharingzd2, BgL_auxz00_3598); } 
{ /* ./Ast/check-sharing.scm 128 */
int BgL_offsetz00_1727;
BgL_offsetz00_1727 = 
(int)(BgL_objzd2classzd2numz00_1723); 
{ /* ./Ast/check-sharing.scm 128 */
long BgL_offsetz00_1728;
{ /* ./Ast/check-sharing.scm 128 */
long BgL_auxz00_3602;
BgL_auxz00_3602 = 
(long)(BgL_offsetz00_1727); 
BgL_offsetz00_1728 = 
(BgL_auxz00_3602-OBJECT_TYPE); } 
{ /* ./Ast/check-sharing.scm 128 */
long BgL_modz00_1729;
{ /* ./Ast/check-sharing.scm 128 */
int BgL_arg2028z00_1730;
BgL_arg2028z00_1730 = 
(int)(((long)8)); 
{ /* ./Ast/check-sharing.scm 128 */
long BgL_n2z00_1738;
BgL_n2z00_1738 = 
(long)(BgL_arg2028z00_1730); 
BgL_modz00_1729 = 
(BgL_offsetz00_1728/BgL_n2z00_1738); } } 
{ /* ./Ast/check-sharing.scm 128 */
long BgL_restz00_1731;
{ /* ./Ast/check-sharing.scm 128 */
int BgL_arg2024z00_1732;
BgL_arg2024z00_1732 = 
(int)(((long)8)); 
{ /* ./Ast/check-sharing.scm 128 */
long BgL_n2z00_1741;
BgL_n2z00_1741 = 
(long)(BgL_arg2024z00_1732); 
BgL_restz00_1731 = 
(BgL_offsetz00_1728%BgL_n2z00_1741); } } 
{ /* ./Ast/check-sharing.scm 128 */

{ /* ./Ast/check-sharing.scm 128 */
obj_t BgL_bucketz00_1733;
{ /* ./Ast/check-sharing.scm 128 */
int BgL_kz00_1743;
BgL_kz00_1743 = 
(int)(BgL_modz00_1729); 
BgL_bucketz00_1733 = 
VECTOR_REF(BgL_arg2017z00_1724,BgL_kz00_1743); } 
{ /* ./Ast/check-sharing.scm 128 */
int BgL_kz00_1745;
BgL_kz00_1745 = 
(int)(BgL_restz00_1731); 
BgL_method2971z00_1721 = 
VECTOR_REF(BgL_bucketz00_1733,BgL_kz00_1745); } } } } } } } } } } 
return 
PROCEDURE_ENTRY(BgL_method2971z00_1721)(BgL_method2971z00_1721, 
(obj_t)(BgL_arg3583z00_1268), BgL_contextz00_1720, BEOA);} } } } } } 
}



/* check-node-sharing-extern2982 */
obj_t BGl_checkzd2nodezd2sharingzd2extern2982zd2zzast_checkzd2sharingzd2(obj_t BgL_envz00_2632, obj_t BgL_nodez00_2633, obj_t BgL_contextz00_2634)
{ AN_OBJECT;
{ /* ./Ast/check-sharing.scm 119 */
{ 
BgL_externz00_bglt BgL_nodez00_1257;obj_t BgL_contextz00_1258;
{ /* ./Ast/check-sharing.scm 119 */
bool_t BgL_auxz00_3619;
BgL_nodez00_1257 = 
(BgL_externz00_bglt)(BgL_nodez00_2633); 
BgL_contextz00_1258 = BgL_contextz00_2634; 
{ 

{ /* ./Ast/check-sharing.scm 119 */
obj_t BgL_nextzd2method2981zd2_1262;
BgL_nextzd2method2981zd2_1262 = 
BGl_findzd2superzd2classzd2methodzd2zz__objectz00(
(BgL_objectz00_bglt)(BgL_nodez00_1257), BGl_checkzd2nodezd2sharingzd2envzd2zzast_checkzd2sharingzd2, BGl_externz00zzast_nodez00); 
{ /* ./Ast/check-sharing.scm 119 */
bool_t BgL_test3575z00_1263;
BgL_test3575z00_1263 = 
PROCEDUREP(BgL_nextzd2method2981zd2_1262); 
if(BgL_test3575z00_1263)
{ /* ./Ast/check-sharing.scm 119 */
PROCEDURE_ENTRY(BgL_nextzd2method2981zd2_1262)(BgL_nextzd2method2981zd2_1262, 
(obj_t)(BgL_nodez00_1257), BgL_contextz00_1258, BEOA); }  else 
{ /* ./Ast/check-sharing.scm 119 */
{ /* ./Ast/check-sharing.scm 119 */
BgL_nodez00_bglt BgL_nodez00_1691;
BgL_nodez00_1691 = 
(BgL_nodez00_bglt)(BgL_nodez00_1257); 
{ /* ./Ast/check-sharing.scm 119 */
obj_t BgL_method2971z00_1693;
{ /* ./Ast/check-sharing.scm 119 */
BgL_objectz00_bglt BgL_objz00_1694;
BgL_objz00_1694 = 
(BgL_objectz00_bglt)(BgL_nodez00_1691); 
{ /* ./Ast/check-sharing.scm 119 */
long BgL_objzd2classzd2numz00_1695;
BgL_objzd2classzd2numz00_1695 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1694); 
{ /* ./Ast/check-sharing.scm 119 */
obj_t BgL_arg2017z00_1696;
{ /* ./Ast/check-sharing.scm 119 */
int BgL_auxz00_3630;
BgL_auxz00_3630 = 
(int)(((long)1)); 
BgL_arg2017z00_1696 = 
PROCEDURE_REF(BGl_checkzd2nodezd2sharingzd2envzd2zzast_checkzd2sharingzd2, BgL_auxz00_3630); } 
{ /* ./Ast/check-sharing.scm 119 */
int BgL_offsetz00_1699;
BgL_offsetz00_1699 = 
(int)(BgL_objzd2classzd2numz00_1695); 
{ /* ./Ast/check-sharing.scm 119 */
long BgL_offsetz00_1700;
{ /* ./Ast/check-sharing.scm 119 */
long BgL_auxz00_3634;
BgL_auxz00_3634 = 
(long)(BgL_offsetz00_1699); 
BgL_offsetz00_1700 = 
(BgL_auxz00_3634-OBJECT_TYPE); } 
{ /* ./Ast/check-sharing.scm 119 */
long BgL_modz00_1701;
{ /* ./Ast/check-sharing.scm 119 */
int BgL_arg2028z00_1702;
BgL_arg2028z00_1702 = 
(int)(((long)8)); 
{ /* ./Ast/check-sharing.scm 119 */
long BgL_n2z00_1710;
BgL_n2z00_1710 = 
(long)(BgL_arg2028z00_1702); 
BgL_modz00_1701 = 
(BgL_offsetz00_1700/BgL_n2z00_1710); } } 
{ /* ./Ast/check-sharing.scm 119 */
long BgL_restz00_1703;
{ /* ./Ast/check-sharing.scm 119 */
int BgL_arg2024z00_1704;
BgL_arg2024z00_1704 = 
(int)(((long)8)); 
{ /* ./Ast/check-sharing.scm 119 */
long BgL_n2z00_1713;
BgL_n2z00_1713 = 
(long)(BgL_arg2024z00_1704); 
BgL_restz00_1703 = 
(BgL_offsetz00_1700%BgL_n2z00_1713); } } 
{ /* ./Ast/check-sharing.scm 119 */

{ /* ./Ast/check-sharing.scm 119 */
obj_t BgL_bucketz00_1705;
{ /* ./Ast/check-sharing.scm 119 */
int BgL_kz00_1715;
BgL_kz00_1715 = 
(int)(BgL_modz00_1701); 
BgL_bucketz00_1705 = 
VECTOR_REF(BgL_arg2017z00_1696,BgL_kz00_1715); } 
{ /* ./Ast/check-sharing.scm 119 */
int BgL_kz00_1717;
BgL_kz00_1717 = 
(int)(BgL_restz00_1703); 
BgL_method2971z00_1693 = 
VECTOR_REF(BgL_bucketz00_1705,BgL_kz00_1717); } } } } } } } } } } 
PROCEDURE_ENTRY(BgL_method2971z00_1693)(BgL_method2971z00_1693, 
(obj_t)(BgL_nodez00_1691), BgL_contextz00_1258, BEOA); } } } } } 
{ /* ./Ast/check-sharing.scm 121 */
obj_t BgL_arg3572z00_1261;
BgL_arg3572z00_1261 = 
(((BgL_externz00_bglt)CREF(BgL_nodez00_1257))->BgL_exprza2za2); 
BgL_auxz00_3619 = 
BGl_checkzd2nodezd2sharingza2za2zzast_checkzd2sharingzd2(BgL_arg3572z00_1261, 
(obj_t)(BgL_nodez00_1257)); } } 
return 
BBOOL(BgL_auxz00_3619);} } } 
}



/* check-node-sharing-funcall2979 */
obj_t BGl_checkzd2nodezd2sharingzd2funcall2979zd2zzast_checkzd2sharingzd2(obj_t BgL_envz00_2635, obj_t BgL_nodez00_2636, obj_t BgL_contextz00_2637)
{ AN_OBJECT;
{ /* ./Ast/check-sharing.scm 110 */
{ 
BgL_funcallz00_bglt BgL_nodez00_1248;obj_t BgL_contextz00_1249;
{ /* ./Ast/check-sharing.scm 110 */
bool_t BgL_auxz00_3655;
BgL_nodez00_1248 = 
(BgL_funcallz00_bglt)(BgL_nodez00_2636); 
BgL_contextz00_1249 = BgL_contextz00_2637; 
{ 

{ /* ./Ast/check-sharing.scm 110 */
obj_t BgL_nextzd2method2978zd2_1255;
BgL_nextzd2method2978zd2_1255 = 
BGl_findzd2superzd2classzd2methodzd2zz__objectz00(
(BgL_objectz00_bglt)(BgL_nodez00_1248), BGl_checkzd2nodezd2sharingzd2envzd2zzast_checkzd2sharingzd2, BGl_funcallz00zzast_nodez00); 
{ /* ./Ast/check-sharing.scm 110 */
bool_t BgL_test3564z00_1256;
BgL_test3564z00_1256 = 
PROCEDUREP(BgL_nextzd2method2978zd2_1255); 
if(BgL_test3564z00_1256)
{ /* ./Ast/check-sharing.scm 110 */
PROCEDURE_ENTRY(BgL_nextzd2method2978zd2_1255)(BgL_nextzd2method2978zd2_1255, 
(obj_t)(BgL_nodez00_1248), BgL_contextz00_1249, BEOA); }  else 
{ /* ./Ast/check-sharing.scm 110 */
{ /* ./Ast/check-sharing.scm 110 */
BgL_nodez00_bglt BgL_nodez00_1662;
BgL_nodez00_1662 = 
(BgL_nodez00_bglt)(BgL_nodez00_1248); 
{ /* ./Ast/check-sharing.scm 110 */
obj_t BgL_method2971z00_1664;
{ /* ./Ast/check-sharing.scm 110 */
BgL_objectz00_bglt BgL_objz00_1665;
BgL_objz00_1665 = 
(BgL_objectz00_bglt)(BgL_nodez00_1662); 
{ /* ./Ast/check-sharing.scm 110 */
long BgL_objzd2classzd2numz00_1666;
BgL_objzd2classzd2numz00_1666 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1665); 
{ /* ./Ast/check-sharing.scm 110 */
obj_t BgL_arg2017z00_1667;
{ /* ./Ast/check-sharing.scm 110 */
int BgL_auxz00_3666;
BgL_auxz00_3666 = 
(int)(((long)1)); 
BgL_arg2017z00_1667 = 
PROCEDURE_REF(BGl_checkzd2nodezd2sharingzd2envzd2zzast_checkzd2sharingzd2, BgL_auxz00_3666); } 
{ /* ./Ast/check-sharing.scm 110 */
int BgL_offsetz00_1670;
BgL_offsetz00_1670 = 
(int)(BgL_objzd2classzd2numz00_1666); 
{ /* ./Ast/check-sharing.scm 110 */
long BgL_offsetz00_1671;
{ /* ./Ast/check-sharing.scm 110 */
long BgL_auxz00_3670;
BgL_auxz00_3670 = 
(long)(BgL_offsetz00_1670); 
BgL_offsetz00_1671 = 
(BgL_auxz00_3670-OBJECT_TYPE); } 
{ /* ./Ast/check-sharing.scm 110 */
long BgL_modz00_1672;
{ /* ./Ast/check-sharing.scm 110 */
int BgL_arg2028z00_1673;
BgL_arg2028z00_1673 = 
(int)(((long)8)); 
{ /* ./Ast/check-sharing.scm 110 */
long BgL_n2z00_1681;
BgL_n2z00_1681 = 
(long)(BgL_arg2028z00_1673); 
BgL_modz00_1672 = 
(BgL_offsetz00_1671/BgL_n2z00_1681); } } 
{ /* ./Ast/check-sharing.scm 110 */
long BgL_restz00_1674;
{ /* ./Ast/check-sharing.scm 110 */
int BgL_arg2024z00_1675;
BgL_arg2024z00_1675 = 
(int)(((long)8)); 
{ /* ./Ast/check-sharing.scm 110 */
long BgL_n2z00_1684;
BgL_n2z00_1684 = 
(long)(BgL_arg2024z00_1675); 
BgL_restz00_1674 = 
(BgL_offsetz00_1671%BgL_n2z00_1684); } } 
{ /* ./Ast/check-sharing.scm 110 */

{ /* ./Ast/check-sharing.scm 110 */
obj_t BgL_bucketz00_1676;
{ /* ./Ast/check-sharing.scm 110 */
int BgL_kz00_1686;
BgL_kz00_1686 = 
(int)(BgL_modz00_1672); 
BgL_bucketz00_1676 = 
VECTOR_REF(BgL_arg2017z00_1667,BgL_kz00_1686); } 
{ /* ./Ast/check-sharing.scm 110 */
int BgL_kz00_1688;
BgL_kz00_1688 = 
(int)(BgL_restz00_1674); 
BgL_method2971z00_1664 = 
VECTOR_REF(BgL_bucketz00_1676,BgL_kz00_1688); } } } } } } } } } } 
PROCEDURE_ENTRY(BgL_method2971z00_1664)(BgL_method2971z00_1664, 
(obj_t)(BgL_nodez00_1662), BgL_contextz00_1249, BEOA); } } } } } 
{ /* ./Ast/check-sharing.scm 113 */
BgL_nodez00_bglt BgL_arg3557z00_1253;
BgL_arg3557z00_1253 = 
(((BgL_funcallz00_bglt)CREF(BgL_nodez00_1248))->BgL_funz00); 
{ /* ./Ast/check-sharing.scm 113 */
obj_t BgL_contextz00_1634;
BgL_contextz00_1634 = 
(obj_t)(BgL_nodez00_1248); 
{ /* ./Ast/check-sharing.scm 113 */
obj_t BgL_method2971z00_1635;
{ /* ./Ast/check-sharing.scm 113 */
BgL_objectz00_bglt BgL_objz00_1636;
BgL_objz00_1636 = 
(BgL_objectz00_bglt)(BgL_arg3557z00_1253); 
{ /* ./Ast/check-sharing.scm 113 */
long BgL_objzd2classzd2numz00_1637;
BgL_objzd2classzd2numz00_1637 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1636); 
{ /* ./Ast/check-sharing.scm 113 */
obj_t BgL_arg2017z00_1638;
{ /* ./Ast/check-sharing.scm 113 */
int BgL_auxz00_3690;
BgL_auxz00_3690 = 
(int)(((long)1)); 
BgL_arg2017z00_1638 = 
PROCEDURE_REF(BGl_checkzd2nodezd2sharingzd2envzd2zzast_checkzd2sharingzd2, BgL_auxz00_3690); } 
{ /* ./Ast/check-sharing.scm 113 */
int BgL_offsetz00_1641;
BgL_offsetz00_1641 = 
(int)(BgL_objzd2classzd2numz00_1637); 
{ /* ./Ast/check-sharing.scm 113 */
long BgL_offsetz00_1642;
{ /* ./Ast/check-sharing.scm 113 */
long BgL_auxz00_3694;
BgL_auxz00_3694 = 
(long)(BgL_offsetz00_1641); 
BgL_offsetz00_1642 = 
(BgL_auxz00_3694-OBJECT_TYPE); } 
{ /* ./Ast/check-sharing.scm 113 */
long BgL_modz00_1643;
{ /* ./Ast/check-sharing.scm 113 */
int BgL_arg2028z00_1644;
BgL_arg2028z00_1644 = 
(int)(((long)8)); 
{ /* ./Ast/check-sharing.scm 113 */
long BgL_n2z00_1652;
BgL_n2z00_1652 = 
(long)(BgL_arg2028z00_1644); 
BgL_modz00_1643 = 
(BgL_offsetz00_1642/BgL_n2z00_1652); } } 
{ /* ./Ast/check-sharing.scm 113 */
long BgL_restz00_1645;
{ /* ./Ast/check-sharing.scm 113 */
int BgL_arg2024z00_1646;
BgL_arg2024z00_1646 = 
(int)(((long)8)); 
{ /* ./Ast/check-sharing.scm 113 */
long BgL_n2z00_1655;
BgL_n2z00_1655 = 
(long)(BgL_arg2024z00_1646); 
BgL_restz00_1645 = 
(BgL_offsetz00_1642%BgL_n2z00_1655); } } 
{ /* ./Ast/check-sharing.scm 113 */

{ /* ./Ast/check-sharing.scm 113 */
obj_t BgL_bucketz00_1647;
{ /* ./Ast/check-sharing.scm 113 */
int BgL_kz00_1657;
BgL_kz00_1657 = 
(int)(BgL_modz00_1643); 
BgL_bucketz00_1647 = 
VECTOR_REF(BgL_arg2017z00_1638,BgL_kz00_1657); } 
{ /* ./Ast/check-sharing.scm 113 */
int BgL_kz00_1659;
BgL_kz00_1659 = 
(int)(BgL_restz00_1645); 
BgL_method2971z00_1635 = 
VECTOR_REF(BgL_bucketz00_1647,BgL_kz00_1659); } } } } } } } } } } 
PROCEDURE_ENTRY(BgL_method2971z00_1635)(BgL_method2971z00_1635, 
(obj_t)(BgL_arg3557z00_1253), BgL_contextz00_1634, BEOA); } } } 
{ /* ./Ast/check-sharing.scm 114 */
obj_t BgL_arg3561z00_1254;
BgL_arg3561z00_1254 = 
(((BgL_funcallz00_bglt)CREF(BgL_nodez00_1248))->BgL_argsz00); 
BgL_auxz00_3655 = 
BGl_checkzd2nodezd2sharingza2za2zzast_checkzd2sharingzd2(BgL_arg3561z00_1254, 
(obj_t)(BgL_nodez00_1248)); } } 
return 
BBOOL(BgL_auxz00_3655);} } } 
}



/* check-node-sharing-app-ly2977 */
obj_t BGl_checkzd2nodezd2sharingzd2appzd2ly2977z00zzast_checkzd2sharingzd2(obj_t BgL_envz00_2638, obj_t BgL_nodez00_2639, obj_t BgL_contextz00_2640)
{ AN_OBJECT;
{ /* ./Ast/check-sharing.scm 101 */
{ 
BgL_appzd2lyzd2_bglt BgL_nodez00_1239;obj_t BgL_contextz00_1240;
BgL_nodez00_1239 = 
(BgL_appzd2lyzd2_bglt)(BgL_nodez00_2639); 
BgL_contextz00_1240 = BgL_contextz00_2640; 
{ 

{ /* ./Ast/check-sharing.scm 101 */
obj_t BgL_nextzd2method2976zd2_1246;
BgL_nextzd2method2976zd2_1246 = 
BGl_findzd2superzd2classzd2methodzd2zz__objectz00(
(BgL_objectz00_bglt)(BgL_nodez00_1239), BGl_checkzd2nodezd2sharingzd2envzd2zzast_checkzd2sharingzd2, BGl_appzd2lyzd2zzast_nodez00); 
{ /* ./Ast/check-sharing.scm 101 */
bool_t BgL_test3549z00_1247;
BgL_test3549z00_1247 = 
PROCEDUREP(BgL_nextzd2method2976zd2_1246); 
if(BgL_test3549z00_1247)
{ /* ./Ast/check-sharing.scm 101 */
PROCEDURE_ENTRY(BgL_nextzd2method2976zd2_1246)(BgL_nextzd2method2976zd2_1246, 
(obj_t)(BgL_nodez00_1239), BgL_contextz00_1240, BEOA); }  else 
{ /* ./Ast/check-sharing.scm 101 */
{ /* ./Ast/check-sharing.scm 101 */
BgL_nodez00_bglt BgL_nodez00_1605;
BgL_nodez00_1605 = 
(BgL_nodez00_bglt)(BgL_nodez00_1239); 
{ /* ./Ast/check-sharing.scm 101 */
obj_t BgL_method2971z00_1607;
{ /* ./Ast/check-sharing.scm 101 */
BgL_objectz00_bglt BgL_objz00_1608;
BgL_objz00_1608 = 
(BgL_objectz00_bglt)(BgL_nodez00_1605); 
{ /* ./Ast/check-sharing.scm 101 */
long BgL_objzd2classzd2numz00_1609;
BgL_objzd2classzd2numz00_1609 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1608); 
{ /* ./Ast/check-sharing.scm 101 */
obj_t BgL_arg2017z00_1610;
{ /* ./Ast/check-sharing.scm 101 */
int BgL_auxz00_3725;
BgL_auxz00_3725 = 
(int)(((long)1)); 
BgL_arg2017z00_1610 = 
PROCEDURE_REF(BGl_checkzd2nodezd2sharingzd2envzd2zzast_checkzd2sharingzd2, BgL_auxz00_3725); } 
{ /* ./Ast/check-sharing.scm 101 */
int BgL_offsetz00_1613;
BgL_offsetz00_1613 = 
(int)(BgL_objzd2classzd2numz00_1609); 
{ /* ./Ast/check-sharing.scm 101 */
long BgL_offsetz00_1614;
{ /* ./Ast/check-sharing.scm 101 */
long BgL_auxz00_3729;
BgL_auxz00_3729 = 
(long)(BgL_offsetz00_1613); 
BgL_offsetz00_1614 = 
(BgL_auxz00_3729-OBJECT_TYPE); } 
{ /* ./Ast/check-sharing.scm 101 */
long BgL_modz00_1615;
{ /* ./Ast/check-sharing.scm 101 */
int BgL_arg2028z00_1616;
BgL_arg2028z00_1616 = 
(int)(((long)8)); 
{ /* ./Ast/check-sharing.scm 101 */
long BgL_n2z00_1624;
BgL_n2z00_1624 = 
(long)(BgL_arg2028z00_1616); 
BgL_modz00_1615 = 
(BgL_offsetz00_1614/BgL_n2z00_1624); } } 
{ /* ./Ast/check-sharing.scm 101 */
long BgL_restz00_1617;
{ /* ./Ast/check-sharing.scm 101 */
int BgL_arg2024z00_1618;
BgL_arg2024z00_1618 = 
(int)(((long)8)); 
{ /* ./Ast/check-sharing.scm 101 */
long BgL_n2z00_1627;
BgL_n2z00_1627 = 
(long)(BgL_arg2024z00_1618); 
BgL_restz00_1617 = 
(BgL_offsetz00_1614%BgL_n2z00_1627); } } 
{ /* ./Ast/check-sharing.scm 101 */

{ /* ./Ast/check-sharing.scm 101 */
obj_t BgL_bucketz00_1619;
{ /* ./Ast/check-sharing.scm 101 */
int BgL_kz00_1629;
BgL_kz00_1629 = 
(int)(BgL_modz00_1615); 
BgL_bucketz00_1619 = 
VECTOR_REF(BgL_arg2017z00_1610,BgL_kz00_1629); } 
{ /* ./Ast/check-sharing.scm 101 */
int BgL_kz00_1631;
BgL_kz00_1631 = 
(int)(BgL_restz00_1617); 
BgL_method2971z00_1607 = 
VECTOR_REF(BgL_bucketz00_1619,BgL_kz00_1631); } } } } } } } } } } 
PROCEDURE_ENTRY(BgL_method2971z00_1607)(BgL_method2971z00_1607, 
(obj_t)(BgL_nodez00_1605), BgL_contextz00_1240, BEOA); } } } } } 
{ /* ./Ast/check-sharing.scm 104 */
BgL_nodez00_bglt BgL_arg3542z00_1244;
BgL_arg3542z00_1244 = 
(((BgL_appzd2lyzd2_bglt)CREF(BgL_nodez00_1239))->BgL_funz00); 
{ /* ./Ast/check-sharing.scm 104 */
obj_t BgL_contextz00_1550;
BgL_contextz00_1550 = 
(obj_t)(BgL_nodez00_1239); 
{ /* ./Ast/check-sharing.scm 104 */
obj_t BgL_method2971z00_1551;
{ /* ./Ast/check-sharing.scm 104 */
BgL_objectz00_bglt BgL_objz00_1552;
BgL_objz00_1552 = 
(BgL_objectz00_bglt)(BgL_arg3542z00_1244); 
{ /* ./Ast/check-sharing.scm 104 */
long BgL_objzd2classzd2numz00_1553;
BgL_objzd2classzd2numz00_1553 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1552); 
{ /* ./Ast/check-sharing.scm 104 */
obj_t BgL_arg2017z00_1554;
{ /* ./Ast/check-sharing.scm 104 */
int BgL_auxz00_3749;
BgL_auxz00_3749 = 
(int)(((long)1)); 
BgL_arg2017z00_1554 = 
PROCEDURE_REF(BGl_checkzd2nodezd2sharingzd2envzd2zzast_checkzd2sharingzd2, BgL_auxz00_3749); } 
{ /* ./Ast/check-sharing.scm 104 */
int BgL_offsetz00_1557;
BgL_offsetz00_1557 = 
(int)(BgL_objzd2classzd2numz00_1553); 
{ /* ./Ast/check-sharing.scm 104 */
long BgL_offsetz00_1558;
{ /* ./Ast/check-sharing.scm 104 */
long BgL_auxz00_3753;
BgL_auxz00_3753 = 
(long)(BgL_offsetz00_1557); 
BgL_offsetz00_1558 = 
(BgL_auxz00_3753-OBJECT_TYPE); } 
{ /* ./Ast/check-sharing.scm 104 */
long BgL_modz00_1559;
{ /* ./Ast/check-sharing.scm 104 */
int BgL_arg2028z00_1560;
BgL_arg2028z00_1560 = 
(int)(((long)8)); 
{ /* ./Ast/check-sharing.scm 104 */
long BgL_n2z00_1568;
BgL_n2z00_1568 = 
(long)(BgL_arg2028z00_1560); 
BgL_modz00_1559 = 
(BgL_offsetz00_1558/BgL_n2z00_1568); } } 
{ /* ./Ast/check-sharing.scm 104 */
long BgL_restz00_1561;
{ /* ./Ast/check-sharing.scm 104 */
int BgL_arg2024z00_1562;
BgL_arg2024z00_1562 = 
(int)(((long)8)); 
{ /* ./Ast/check-sharing.scm 104 */
long BgL_n2z00_1571;
BgL_n2z00_1571 = 
(long)(BgL_arg2024z00_1562); 
BgL_restz00_1561 = 
(BgL_offsetz00_1558%BgL_n2z00_1571); } } 
{ /* ./Ast/check-sharing.scm 104 */

{ /* ./Ast/check-sharing.scm 104 */
obj_t BgL_bucketz00_1563;
{ /* ./Ast/check-sharing.scm 104 */
int BgL_kz00_1573;
BgL_kz00_1573 = 
(int)(BgL_modz00_1559); 
BgL_bucketz00_1563 = 
VECTOR_REF(BgL_arg2017z00_1554,BgL_kz00_1573); } 
{ /* ./Ast/check-sharing.scm 104 */
int BgL_kz00_1575;
BgL_kz00_1575 = 
(int)(BgL_restz00_1561); 
BgL_method2971z00_1551 = 
VECTOR_REF(BgL_bucketz00_1563,BgL_kz00_1575); } } } } } } } } } } 
PROCEDURE_ENTRY(BgL_method2971z00_1551)(BgL_method2971z00_1551, 
(obj_t)(BgL_arg3542z00_1244), BgL_contextz00_1550, BEOA); } } } 
{ /* ./Ast/check-sharing.scm 105 */
BgL_nodez00_bglt BgL_arg3546z00_1245;
BgL_arg3546z00_1245 = 
(((BgL_appzd2lyzd2_bglt)CREF(BgL_nodez00_1239))->BgL_argz00); 
{ /* ./Ast/check-sharing.scm 105 */
obj_t BgL_contextz00_1578;
BgL_contextz00_1578 = 
(obj_t)(BgL_nodez00_1239); 
{ /* ./Ast/check-sharing.scm 105 */
obj_t BgL_method2971z00_1579;
{ /* ./Ast/check-sharing.scm 105 */
BgL_objectz00_bglt BgL_objz00_1580;
BgL_objz00_1580 = 
(BgL_objectz00_bglt)(BgL_arg3546z00_1245); 
{ /* ./Ast/check-sharing.scm 105 */
long BgL_objzd2classzd2numz00_1581;
BgL_objzd2classzd2numz00_1581 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1580); 
{ /* ./Ast/check-sharing.scm 105 */
obj_t BgL_arg2017z00_1582;
{ /* ./Ast/check-sharing.scm 105 */
int BgL_auxz00_3773;
BgL_auxz00_3773 = 
(int)(((long)1)); 
BgL_arg2017z00_1582 = 
PROCEDURE_REF(BGl_checkzd2nodezd2sharingzd2envzd2zzast_checkzd2sharingzd2, BgL_auxz00_3773); } 
{ /* ./Ast/check-sharing.scm 105 */
int BgL_offsetz00_1585;
BgL_offsetz00_1585 = 
(int)(BgL_objzd2classzd2numz00_1581); 
{ /* ./Ast/check-sharing.scm 105 */
long BgL_offsetz00_1586;
{ /* ./Ast/check-sharing.scm 105 */
long BgL_auxz00_3777;
BgL_auxz00_3777 = 
(long)(BgL_offsetz00_1585); 
BgL_offsetz00_1586 = 
(BgL_auxz00_3777-OBJECT_TYPE); } 
{ /* ./Ast/check-sharing.scm 105 */
long BgL_modz00_1587;
{ /* ./Ast/check-sharing.scm 105 */
int BgL_arg2028z00_1588;
BgL_arg2028z00_1588 = 
(int)(((long)8)); 
{ /* ./Ast/check-sharing.scm 105 */
long BgL_n2z00_1596;
BgL_n2z00_1596 = 
(long)(BgL_arg2028z00_1588); 
BgL_modz00_1587 = 
(BgL_offsetz00_1586/BgL_n2z00_1596); } } 
{ /* ./Ast/check-sharing.scm 105 */
long BgL_restz00_1589;
{ /* ./Ast/check-sharing.scm 105 */
int BgL_arg2024z00_1590;
BgL_arg2024z00_1590 = 
(int)(((long)8)); 
{ /* ./Ast/check-sharing.scm 105 */
long BgL_n2z00_1599;
BgL_n2z00_1599 = 
(long)(BgL_arg2024z00_1590); 
BgL_restz00_1589 = 
(BgL_offsetz00_1586%BgL_n2z00_1599); } } 
{ /* ./Ast/check-sharing.scm 105 */

{ /* ./Ast/check-sharing.scm 105 */
obj_t BgL_bucketz00_1591;
{ /* ./Ast/check-sharing.scm 105 */
int BgL_kz00_1601;
BgL_kz00_1601 = 
(int)(BgL_modz00_1587); 
BgL_bucketz00_1591 = 
VECTOR_REF(BgL_arg2017z00_1582,BgL_kz00_1601); } 
{ /* ./Ast/check-sharing.scm 105 */
int BgL_kz00_1603;
BgL_kz00_1603 = 
(int)(BgL_restz00_1589); 
BgL_method2971z00_1579 = 
VECTOR_REF(BgL_bucketz00_1591,BgL_kz00_1603); } } } } } } } } } } 
return 
PROCEDURE_ENTRY(BgL_method2971z00_1579)(BgL_method2971z00_1579, 
(obj_t)(BgL_arg3546z00_1245), BgL_contextz00_1578, BEOA);} } } } } } 
}



/* check-node-sharing-app2975 */
obj_t BGl_checkzd2nodezd2sharingzd2app2975zd2zzast_checkzd2sharingzd2(obj_t BgL_envz00_2641, obj_t BgL_nodez00_2642, obj_t BgL_contextz00_2643)
{ AN_OBJECT;
{ /* ./Ast/check-sharing.scm 93 */
{ 
BgL_appz00_bglt BgL_nodez00_1231;obj_t BgL_contextz00_1232;
{ /* ./Ast/check-sharing.scm 93 */
bool_t BgL_auxz00_3794;
BgL_nodez00_1231 = 
(BgL_appz00_bglt)(BgL_nodez00_2642); 
BgL_contextz00_1232 = BgL_contextz00_2643; 
{ 

{ /* ./Ast/check-sharing.scm 93 */
obj_t BgL_nextzd2method2974zd2_1237;
BgL_nextzd2method2974zd2_1237 = 
BGl_findzd2superzd2classzd2methodzd2zz__objectz00(
(BgL_objectz00_bglt)(BgL_nodez00_1231), BGl_checkzd2nodezd2sharingzd2envzd2zzast_checkzd2sharingzd2, BGl_appz00zzast_nodez00); 
{ /* ./Ast/check-sharing.scm 93 */
bool_t BgL_test3534z00_1238;
BgL_test3534z00_1238 = 
PROCEDUREP(BgL_nextzd2method2974zd2_1237); 
if(BgL_test3534z00_1238)
{ /* ./Ast/check-sharing.scm 93 */
PROCEDURE_ENTRY(BgL_nextzd2method2974zd2_1237)(BgL_nextzd2method2974zd2_1237, 
(obj_t)(BgL_nodez00_1231), BgL_contextz00_1232, BEOA); }  else 
{ /* ./Ast/check-sharing.scm 93 */
{ /* ./Ast/check-sharing.scm 93 */
BgL_nodez00_bglt BgL_nodez00_1521;
BgL_nodez00_1521 = 
(BgL_nodez00_bglt)(BgL_nodez00_1231); 
{ /* ./Ast/check-sharing.scm 93 */
obj_t BgL_method2971z00_1523;
{ /* ./Ast/check-sharing.scm 93 */
BgL_objectz00_bglt BgL_objz00_1524;
BgL_objz00_1524 = 
(BgL_objectz00_bglt)(BgL_nodez00_1521); 
{ /* ./Ast/check-sharing.scm 93 */
long BgL_objzd2classzd2numz00_1525;
BgL_objzd2classzd2numz00_1525 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1524); 
{ /* ./Ast/check-sharing.scm 93 */
obj_t BgL_arg2017z00_1526;
{ /* ./Ast/check-sharing.scm 93 */
int BgL_auxz00_3805;
BgL_auxz00_3805 = 
(int)(((long)1)); 
BgL_arg2017z00_1526 = 
PROCEDURE_REF(BGl_checkzd2nodezd2sharingzd2envzd2zzast_checkzd2sharingzd2, BgL_auxz00_3805); } 
{ /* ./Ast/check-sharing.scm 93 */
int BgL_offsetz00_1529;
BgL_offsetz00_1529 = 
(int)(BgL_objzd2classzd2numz00_1525); 
{ /* ./Ast/check-sharing.scm 93 */
long BgL_offsetz00_1530;
{ /* ./Ast/check-sharing.scm 93 */
long BgL_auxz00_3809;
BgL_auxz00_3809 = 
(long)(BgL_offsetz00_1529); 
BgL_offsetz00_1530 = 
(BgL_auxz00_3809-OBJECT_TYPE); } 
{ /* ./Ast/check-sharing.scm 93 */
long BgL_modz00_1531;
{ /* ./Ast/check-sharing.scm 93 */
int BgL_arg2028z00_1532;
BgL_arg2028z00_1532 = 
(int)(((long)8)); 
{ /* ./Ast/check-sharing.scm 93 */
long BgL_n2z00_1540;
BgL_n2z00_1540 = 
(long)(BgL_arg2028z00_1532); 
BgL_modz00_1531 = 
(BgL_offsetz00_1530/BgL_n2z00_1540); } } 
{ /* ./Ast/check-sharing.scm 93 */
long BgL_restz00_1533;
{ /* ./Ast/check-sharing.scm 93 */
int BgL_arg2024z00_1534;
BgL_arg2024z00_1534 = 
(int)(((long)8)); 
{ /* ./Ast/check-sharing.scm 93 */
long BgL_n2z00_1543;
BgL_n2z00_1543 = 
(long)(BgL_arg2024z00_1534); 
BgL_restz00_1533 = 
(BgL_offsetz00_1530%BgL_n2z00_1543); } } 
{ /* ./Ast/check-sharing.scm 93 */

{ /* ./Ast/check-sharing.scm 93 */
obj_t BgL_bucketz00_1535;
{ /* ./Ast/check-sharing.scm 93 */
int BgL_kz00_1545;
BgL_kz00_1545 = 
(int)(BgL_modz00_1531); 
BgL_bucketz00_1535 = 
VECTOR_REF(BgL_arg2017z00_1526,BgL_kz00_1545); } 
{ /* ./Ast/check-sharing.scm 93 */
int BgL_kz00_1547;
BgL_kz00_1547 = 
(int)(BgL_restz00_1533); 
BgL_method2971z00_1523 = 
VECTOR_REF(BgL_bucketz00_1535,BgL_kz00_1547); } } } } } } } } } } 
PROCEDURE_ENTRY(BgL_method2971z00_1523)(BgL_method2971z00_1523, 
(obj_t)(BgL_nodez00_1521), BgL_contextz00_1232, BEOA); } } } } } 
{ /* ./Ast/check-sharing.scm 96 */
obj_t BgL_arg3531z00_1236;
BgL_arg3531z00_1236 = 
(((BgL_appz00_bglt)CREF(BgL_nodez00_1231))->BgL_argsz00); 
BgL_auxz00_3794 = 
BGl_checkzd2nodezd2sharingza2za2zzast_checkzd2sharingzd2(BgL_arg3531z00_1236, 
(obj_t)(BgL_nodez00_1231)); } } 
return 
BBOOL(BgL_auxz00_3794);} } } 
}



/* check-node-sharing-sequence2973 */
obj_t BGl_checkzd2nodezd2sharingzd2sequence2973zd2zzast_checkzd2sharingzd2(obj_t BgL_envz00_2644, obj_t BgL_nodez00_2645, obj_t BgL_contextz00_2646)
{ AN_OBJECT;
{ /* ./Ast/check-sharing.scm 86 */
{ 
BgL_sequencez00_bglt BgL_nodez00_1224;obj_t BgL_contextz00_1225;
{ /* ./Ast/check-sharing.scm 86 */
bool_t BgL_auxz00_3830;
BgL_nodez00_1224 = 
(BgL_sequencez00_bglt)(BgL_nodez00_2645); 
BgL_contextz00_1225 = BgL_contextz00_2646; 
{ 

{ /* ./Ast/check-sharing.scm 86 */
obj_t BgL_nextzd2method2972zd2_1229;
BgL_nextzd2method2972zd2_1229 = 
BGl_findzd2superzd2classzd2methodzd2zz__objectz00(
(BgL_objectz00_bglt)(BgL_nodez00_1224), BGl_checkzd2nodezd2sharingzd2envzd2zzast_checkzd2sharingzd2, BGl_sequencez00zzast_nodez00); 
{ /* ./Ast/check-sharing.scm 86 */
bool_t BgL_test3523z00_1230;
BgL_test3523z00_1230 = 
PROCEDUREP(BgL_nextzd2method2972zd2_1229); 
if(BgL_test3523z00_1230)
{ /* ./Ast/check-sharing.scm 86 */
PROCEDURE_ENTRY(BgL_nextzd2method2972zd2_1229)(BgL_nextzd2method2972zd2_1229, 
(obj_t)(BgL_nodez00_1224), BgL_contextz00_1225, BEOA); }  else 
{ /* ./Ast/check-sharing.scm 86 */
{ /* ./Ast/check-sharing.scm 86 */
BgL_nodez00_bglt BgL_nodez00_1492;
BgL_nodez00_1492 = 
(BgL_nodez00_bglt)(BgL_nodez00_1224); 
{ /* ./Ast/check-sharing.scm 86 */
obj_t BgL_method2971z00_1494;
{ /* ./Ast/check-sharing.scm 86 */
BgL_objectz00_bglt BgL_objz00_1495;
BgL_objz00_1495 = 
(BgL_objectz00_bglt)(BgL_nodez00_1492); 
{ /* ./Ast/check-sharing.scm 86 */
long BgL_objzd2classzd2numz00_1496;
BgL_objzd2classzd2numz00_1496 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1495); 
{ /* ./Ast/check-sharing.scm 86 */
obj_t BgL_arg2017z00_1497;
{ /* ./Ast/check-sharing.scm 86 */
int BgL_auxz00_3841;
BgL_auxz00_3841 = 
(int)(((long)1)); 
BgL_arg2017z00_1497 = 
PROCEDURE_REF(BGl_checkzd2nodezd2sharingzd2envzd2zzast_checkzd2sharingzd2, BgL_auxz00_3841); } 
{ /* ./Ast/check-sharing.scm 86 */
int BgL_offsetz00_1500;
BgL_offsetz00_1500 = 
(int)(BgL_objzd2classzd2numz00_1496); 
{ /* ./Ast/check-sharing.scm 86 */
long BgL_offsetz00_1501;
{ /* ./Ast/check-sharing.scm 86 */
long BgL_auxz00_3845;
BgL_auxz00_3845 = 
(long)(BgL_offsetz00_1500); 
BgL_offsetz00_1501 = 
(BgL_auxz00_3845-OBJECT_TYPE); } 
{ /* ./Ast/check-sharing.scm 86 */
long BgL_modz00_1502;
{ /* ./Ast/check-sharing.scm 86 */
int BgL_arg2028z00_1503;
BgL_arg2028z00_1503 = 
(int)(((long)8)); 
{ /* ./Ast/check-sharing.scm 86 */
long BgL_n2z00_1511;
BgL_n2z00_1511 = 
(long)(BgL_arg2028z00_1503); 
BgL_modz00_1502 = 
(BgL_offsetz00_1501/BgL_n2z00_1511); } } 
{ /* ./Ast/check-sharing.scm 86 */
long BgL_restz00_1504;
{ /* ./Ast/check-sharing.scm 86 */
int BgL_arg2024z00_1505;
BgL_arg2024z00_1505 = 
(int)(((long)8)); 
{ /* ./Ast/check-sharing.scm 86 */
long BgL_n2z00_1514;
BgL_n2z00_1514 = 
(long)(BgL_arg2024z00_1505); 
BgL_restz00_1504 = 
(BgL_offsetz00_1501%BgL_n2z00_1514); } } 
{ /* ./Ast/check-sharing.scm 86 */

{ /* ./Ast/check-sharing.scm 86 */
obj_t BgL_bucketz00_1506;
{ /* ./Ast/check-sharing.scm 86 */
int BgL_kz00_1516;
BgL_kz00_1516 = 
(int)(BgL_modz00_1502); 
BgL_bucketz00_1506 = 
VECTOR_REF(BgL_arg2017z00_1497,BgL_kz00_1516); } 
{ /* ./Ast/check-sharing.scm 86 */
int BgL_kz00_1518;
BgL_kz00_1518 = 
(int)(BgL_restz00_1504); 
BgL_method2971z00_1494 = 
VECTOR_REF(BgL_bucketz00_1506,BgL_kz00_1518); } } } } } } } } } } 
PROCEDURE_ENTRY(BgL_method2971z00_1494)(BgL_method2971z00_1494, 
(obj_t)(BgL_nodez00_1492), BgL_contextz00_1225, BEOA); } } } } } 
{ /* ./Ast/check-sharing.scm 88 */
obj_t BgL_arg3520z00_1228;
BgL_arg3520z00_1228 = 
(((BgL_sequencez00_bglt)CREF(BgL_nodez00_1224))->BgL_nodesz00); 
BgL_auxz00_3830 = 
BGl_checkzd2nodezd2sharingza2za2zzast_checkzd2sharingzd2(BgL_arg3520z00_1228, 
(obj_t)(BgL_nodez00_1224)); } } 
return 
BBOOL(BgL_auxz00_3830);} } } 
}



/* check-node-sharing */
BGL_EXPORTED_DEF obj_t BGl_checkzd2nodezd2sharingz00zzast_checkzd2sharingzd2(BgL_nodez00_bglt BgL_nodez00_23, obj_t BgL_contextz00_24)
{ AN_OBJECT;
{ /* ./Ast/check-sharing.scm 70 */
{ /* ./Ast/check-sharing.scm 70 */
obj_t BgL_method2971z00_2547;
{ /* ./Ast/check-sharing.scm 70 */
BgL_objectz00_bglt BgL_objz00_2548;
BgL_objz00_2548 = 
(BgL_objectz00_bglt)(BgL_nodez00_23); 
{ /* ./Ast/check-sharing.scm 70 */
long BgL_objzd2classzd2numz00_2549;
BgL_objzd2classzd2numz00_2549 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2548); 
{ /* ./Ast/check-sharing.scm 70 */
obj_t BgL_arg2017z00_2550;
{ /* ./Ast/check-sharing.scm 70 */
int BgL_auxz00_3868;
BgL_auxz00_3868 = 
(int)(((long)1)); 
BgL_arg2017z00_2550 = 
PROCEDURE_REF(BGl_checkzd2nodezd2sharingzd2envzd2zzast_checkzd2sharingzd2, BgL_auxz00_3868); } 
{ /* ./Ast/check-sharing.scm 70 */
int BgL_offsetz00_2553;
BgL_offsetz00_2553 = 
(int)(BgL_objzd2classzd2numz00_2549); 
{ /* ./Ast/check-sharing.scm 70 */
long BgL_offsetz00_2554;
{ /* ./Ast/check-sharing.scm 70 */
long BgL_auxz00_3872;
BgL_auxz00_3872 = 
(long)(BgL_offsetz00_2553); 
BgL_offsetz00_2554 = 
(BgL_auxz00_3872-OBJECT_TYPE); } 
{ /* ./Ast/check-sharing.scm 70 */
long BgL_modz00_2555;
{ /* ./Ast/check-sharing.scm 70 */
int BgL_arg2028z00_2556;
BgL_arg2028z00_2556 = 
(int)(((long)8)); 
{ /* ./Ast/check-sharing.scm 70 */
long BgL_n2z00_2564;
BgL_n2z00_2564 = 
(long)(BgL_arg2028z00_2556); 
BgL_modz00_2555 = 
(BgL_offsetz00_2554/BgL_n2z00_2564); } } 
{ /* ./Ast/check-sharing.scm 70 */
long BgL_restz00_2557;
{ /* ./Ast/check-sharing.scm 70 */
int BgL_arg2024z00_2558;
BgL_arg2024z00_2558 = 
(int)(((long)8)); 
{ /* ./Ast/check-sharing.scm 70 */
long BgL_n2z00_2567;
BgL_n2z00_2567 = 
(long)(BgL_arg2024z00_2558); 
BgL_restz00_2557 = 
(BgL_offsetz00_2554%BgL_n2z00_2567); } } 
{ /* ./Ast/check-sharing.scm 70 */

{ /* ./Ast/check-sharing.scm 70 */
obj_t BgL_bucketz00_2559;
{ /* ./Ast/check-sharing.scm 70 */
int BgL_kz00_2569;
BgL_kz00_2569 = 
(int)(BgL_modz00_2555); 
BgL_bucketz00_2559 = 
VECTOR_REF(BgL_arg2017z00_2550,BgL_kz00_2569); } 
{ /* ./Ast/check-sharing.scm 70 */
int BgL_kz00_2571;
BgL_kz00_2571 = 
(int)(BgL_restz00_2557); 
BgL_method2971z00_2547 = 
VECTOR_REF(BgL_bucketz00_2559,BgL_kz00_2571); } } } } } } } } } } 
return 
PROCEDURE_ENTRY(BgL_method2971z00_2547)(BgL_method2971z00_2547, 
(obj_t)(BgL_nodez00_23), BgL_contextz00_24, BEOA);} } 
}



/* _check-node-sharing3891 */
obj_t BGl__checkzd2nodezd2sharing3891z00zzast_checkzd2sharingzd2(obj_t BgL_envz00_2580, obj_t BgL_nodez00_2581, obj_t BgL_contextz00_2582)
{ AN_OBJECT;
{ /* ./Ast/check-sharing.scm 70 */
return 
BGl_checkzd2nodezd2sharingz00zzast_checkzd2sharingzd2(
(BgL_nodez00_bglt)(BgL_nodez00_2581), BgL_contextz00_2582);} 
}



/* check-node-sharing-default2970 */
obj_t BGl_checkzd2nodezd2sharingzd2default2970zd2zzast_checkzd2sharingzd2(BgL_nodez00_bglt BgL_nodez00_25, obj_t BgL_contextz00_26)
{ AN_OBJECT;
{ /* ./Ast/check-sharing.scm 17 */
{ /* ./Ast/check-sharing.scm 71 */
bool_t BgL_test3763z00_1373;
{ /* ./Ast/check-sharing.scm 71 */
obj_t BgL_auxz00_3890;
BgL_auxz00_3890 = 
BGl_memqz00zz__r4_pairs_and_lists_6_3z00(
(obj_t)(BgL_nodez00_25), BGl_za2previousza2z00zzast_checkzd2sharingzd2); 
BgL_test3763z00_1373 = 
CBOOL(BgL_auxz00_3890); } 
if(BgL_test3763z00_1373)
{ /* ./Ast/check-sharing.scm 71 */
{ /* ./Ast/check-sharing.scm 73 */
obj_t BgL_arg3765z00_1374;obj_t BgL_arg3768z00_1377;
BgL_arg3765z00_1374 = 
(((BgL_nodez00_bglt)CREF(BgL_nodez00_25))->BgL_locz00); 
BgL_arg3768z00_1377 = 
BGl_findzd2runtimezd2typez00zz__errorz00(
(obj_t)(BgL_nodez00_25)); 
BGl_userzd2warningzf2locationz20zztools_errorz00(BgL_arg3765z00_1374, BGl_string4520z00zzast_checkzd2sharingzd2, BGl_string4521z00zzast_checkzd2sharingzd2, BgL_arg3768z00_1377); } 
{ /* ./Ast/check-sharing.scm 77 */
obj_t BgL_port2938z00_1378;
BgL_port2938z00_1378 = 
BGL_CURRENT_ERROR_PORT(); 
display_string(BGl_string4522z00zzast_checkzd2sharingzd2, BgL_port2938z00_1378); 
{ /* ./Ast/check-sharing.scm 77 */
obj_t BgL_arg3774z00_1379;
BgL_arg3774z00_1379 = 
BGl_shapez00zztools_shapez00(
(obj_t)(BgL_nodez00_25)); 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(BgL_arg3774z00_1379, BgL_port2938z00_1378); } 
WRITE_CHAR(((unsigned char)'\n'), BgL_port2938z00_1378); } 
{ /* ./Ast/check-sharing.scm 78 */
obj_t BgL_port2939z00_1380;
BgL_port2939z00_1380 = 
BGL_CURRENT_ERROR_PORT(); 
display_string(BGl_string4523z00zzast_checkzd2sharingzd2, BgL_port2939z00_1380); 
{ /* ./Ast/check-sharing.scm 78 */
obj_t BgL_arg3781z00_1381;
BgL_arg3781z00_1381 = 
BGl_shapez00zztools_shapez00(BgL_contextz00_26); 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(BgL_arg3781z00_1381, BgL_port2939z00_1380); } 
WRITE_CHAR(((unsigned char)'\n'), BgL_port2939z00_1380); } 
{ /* ./Ast/check-sharing.scm 79 */
obj_t BgL_port2940z00_1382;
BgL_port2940z00_1382 = 
BGL_CURRENT_ERROR_PORT(); 
display_string(BGl_string4524z00zzast_checkzd2sharingzd2, BgL_port2940z00_1382); 
WRITE_CHAR(((unsigned char)'\n'), BgL_port2940z00_1382); } }  else 
{ /* ./Ast/check-sharing.scm 80 */
obj_t BgL_auxz00_3913;
BgL_auxz00_3913 = 
(obj_t)(BgL_nodez00_25); 
BGl_za2previousza2z00zzast_checkzd2sharingzd2 = 
MAKE_PAIR(BgL_auxz00_3913, BGl_za2previousza2z00zzast_checkzd2sharingzd2); } } 
return 
CNST_TABLE_REF(((long)1));} 
}



/* _check-node-sharing-default2970 */
obj_t BGl__checkzd2nodezd2sharingzd2default2970zd2zzast_checkzd2sharingzd2(obj_t BgL_envz00_2647, obj_t BgL_nodez00_2648, obj_t BgL_contextz00_2649)
{ AN_OBJECT;
{ /* ./Ast/check-sharing.scm 17 */
return 
BGl_checkzd2nodezd2sharingzd2default2970zd2zzast_checkzd2sharingzd2(
(BgL_nodez00_bglt)(BgL_nodez00_2648), BgL_contextz00_2649);} 
}



/* imported-modules-init */
obj_t BGl_importedzd2moduleszd2initz00zzast_checkzd2sharingzd2()
{ AN_OBJECT;
{ /* ./Ast/check-sharing.scm 17 */
BGl_modulezd2initializa7ationz75zztools_speekz00(((long)23537), "ast_check-sharing"); 
BGl_modulezd2initializa7ationz75zztools_errorz00(((long)25566), "ast_check-sharing"); 
BGl_modulezd2initializa7ationz75zzengine_passz00(((long)10268), "ast_check-sharing"); 
BGl_modulezd2initializa7ationz75zzast_envz00(((long)62031), "ast_check-sharing"); 
BGl_modulezd2initializa7ationz75zzast_varz00(((long)44246), "ast_check-sharing"); 
BGl_modulezd2initializa7ationz75zzast_nodez00(((long)50868), "ast_check-sharing"); 
BGl_modulezd2initializa7ationz75zzengine_paramz00(((long)14260), "ast_check-sharing"); 
BGl_modulezd2initializa7ationz75zztools_shapez00(((long)30833), "ast_check-sharing"); 
BGl_modulezd2initializa7ationz75zztype_typez00(((long)19090), "ast_check-sharing"); 
BGl_modulezd2initializa7ationz75zzobject_classz00(((long)30791), "ast_check-sharing"); 
BGl_modulezd2initializa7ationz75zzmodule_modulez00(((long)8699), "ast_check-sharing"); 
BGl_modulezd2initializa7ationz75zzmodule_includez00(((long)1783), "ast_check-sharing"); 
return 
BGl_modulezd2initializa7ationz75zzmodule_classz00(((long)34127), "ast_check-sharing");} 
}

