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

#include <bigloo.h>


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

typedef struct BgL_approxz00_bgl {
   header_t header;
   obj_t widening;
   struct BgL_typez00_bgl * BgL_typez00;
   bool_t BgL_typezd2lockedzf3z21;
   obj_t BgL_allocsz00;
   bool_t BgL_topzf3zf3;
   long BgL_lostzd2stampzd2;
} *BgL_approxz00_bglt;

typedef struct BgL_cfunzf2cinfozf2_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
} *BgL_cfunzf2cinfozf2_bglt;

typedef struct BgL_externzd2sfunzf2cinfoz20_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
} *BgL_externzd2sfunzf2cinfoz20_bglt;

typedef struct BgL_internzd2sfunzf2cinfoz20_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
   long BgL_stampz00;
} *BgL_internzd2sfunzf2cinfoz20_bglt;

typedef struct BgL_scnstzf2cinfozf2_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
} *BgL_scnstzf2cinfozf2_bglt;

typedef struct BgL_prezd2clozd2envz00_bgl {
   char dummy;
} *BgL_prezd2clozd2envz00_bglt;

typedef struct BgL_svarzf2cinfozf2_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
   bool_t BgL_clozd2envzf3z21;
} *BgL_svarzf2cinfozf2_bglt;

typedef struct BgL_cvarzf2cinfozf2_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
} *BgL_cvarzf2cinfozf2_bglt;

typedef struct BgL_sexitzf2cinfozf2_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
} *BgL_sexitzf2cinfozf2_bglt;

typedef struct BgL_reshapedzd2localzd2_bgl {
   obj_t BgL_bindingzd2valuezd2;
} *BgL_reshapedzd2localzd2_bglt;

typedef struct BgL_reshapedzd2globalzd2_bgl {
   char dummy;
} *BgL_reshapedzd2globalzd2_bglt;

typedef struct BgL_atomzf2cinfozf2_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
} *BgL_atomzf2cinfozf2_bglt;

typedef struct BgL_kwotezf2nodezf2_bgl {
   struct BgL_nodez00_bgl * BgL_nodez00;
} *BgL_kwotezf2nodezf2_bglt;

typedef struct BgL_kwotezf2cinfozf2_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
} *BgL_kwotezf2cinfozf2_bglt;

typedef struct BgL_appzd2lyzf2cinfoz20_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
} *BgL_appzd2lyzf2cinfoz20_bglt;

typedef struct BgL_funcallzf2cinfozf2_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
   struct BgL_approxz00_bgl * BgL_vazd2approxzd2;
   bool_t BgL_arityzd2errorzd2noticedzf3zf3;
   bool_t BgL_typezd2errorzd2noticedzf3zf3;
} *BgL_funcallzf2cinfozf2_bglt;

typedef struct BgL_setqzf2cinfozf2_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
} *BgL_setqzf2cinfozf2_bglt;

typedef struct BgL_conditionalzf2cinfozf2_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
} *BgL_conditionalzf2cinfozf2_bglt;

typedef struct BgL_failzf2cinfozf2_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
} *BgL_failzf2cinfozf2_bglt;

typedef struct BgL_selectzf2cinfozf2_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
} *BgL_selectzf2cinfozf2_bglt;

typedef struct BgL_setzd2exzd2itzf2cinfozf2_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
} *BgL_setzd2exzd2itzf2cinfozf2_bglt;

typedef struct BgL_jumpzd2exzd2itzf2cinfozf2_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
} *BgL_jumpzd2exzd2itzf2cinfozf2_bglt;

typedef struct BgL_prezd2makezd2boxz00_bgl {
   char dummy;
} *BgL_prezd2makezd2boxz00_bglt;

typedef struct BgL_makezd2boxzf2cinfoz20_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
} *BgL_makezd2boxzf2cinfoz20_bglt;

typedef struct BgL_makezd2boxzf2ozd2cinfozf2_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
   struct BgL_approxz00_bgl * BgL_valuezd2approxzd2;
} *BgL_makezd2boxzf2ozd2cinfozf2_bglt;

typedef struct BgL_boxzd2setz12zf2cinfoz32_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
} *BgL_boxzd2setz12zf2cinfoz32_bglt;

typedef struct BgL_boxzd2refzf2cinfoz20_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
} *BgL_boxzd2refzf2cinfoz20_bglt;

typedef struct BgL_boxzd2setz12zf2ozd2cinfoze0_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
} *BgL_boxzd2setz12zf2ozd2cinfoze0_bglt;

typedef struct BgL_boxzd2refzf2ozd2cinfozf2_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
} *BgL_boxzd2refzf2ozd2cinfozf2_bglt;

typedef struct BgL_prezd2arithmeticzd2appz00_bgl {
   obj_t BgL_speczd2typeszd2;
} *BgL_prezd2arithmeticzd2appz00_bglt;

typedef struct BgL_arithmeticzd2appzd2_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
   obj_t BgL_speczd2typeszd2;
} *BgL_arithmeticzd2appzd2_bglt;

typedef struct BgL_prezd2makezd2procedurezd2appzd2_bgl {
   struct BgL_variablez00_bgl * BgL_ownerz00;
} *BgL_prezd2makezd2procedurezd2appzd2_bglt;

typedef struct BgL_prezd2procedurezd2refzd2appzd2_bgl {
   char dummy;
} *BgL_prezd2procedurezd2refzd2appzd2_bglt;

typedef struct BgL_prezd2procedurezd2setz12zd2appzc0_bgl {
   char dummy;
} *BgL_prezd2procedurezd2setz12zd2appzc0_bglt;

typedef struct BgL_makezd2procedurezd2appz00_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
   obj_t BgL_valueszd2approxzd2;
   long BgL_lostzd2stampzd2;
   bool_t BgL_xzd2tzf3z21;
   bool_t BgL_xz00;
   bool_t BgL_tz00;
   struct BgL_variablez00_bgl * BgL_ownerz00;
   obj_t BgL_stackzd2stampzd2;
} *BgL_makezd2procedurezd2appz00_bglt;

typedef struct BgL_procedurezd2refzd2appz00_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
} *BgL_procedurezd2refzd2appz00_bglt;

typedef struct BgL_procedurezd2setz12zd2appz12_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
} *BgL_procedurezd2setz12zd2appz12_bglt;

typedef struct BgL_prezd2makezd2vectorzd2appzd2_bgl {
   struct BgL_variablez00_bgl * BgL_ownerz00;
} *BgL_prezd2makezd2vectorzd2appzd2_bglt;

typedef struct BgL_makezd2vectorzd2appz00_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
   struct BgL_approxz00_bgl * BgL_valuezd2approxzd2;
   long BgL_lostzd2stampzd2;
   struct BgL_variablez00_bgl * BgL_ownerz00;
   obj_t BgL_stackzd2stampzd2;
   bool_t BgL_seenzf3zf3;
} *BgL_makezd2vectorzd2appz00_bglt;

typedef struct BgL_prezd2makezd2structzd2appzd2_bgl {
   struct BgL_variablez00_bgl * BgL_ownerz00;
} *BgL_prezd2makezd2structzd2appzd2_bglt;

typedef struct BgL_prezd2structzd2refzd2appzd2_bgl {
   char dummy;
} *BgL_prezd2structzd2refzd2appzd2_bglt;

typedef struct BgL_prezd2structzd2setz12zd2appzc0_bgl {
   char dummy;
} *BgL_prezd2structzd2setz12zd2appzc0_bglt;

typedef struct BgL_makezd2structzd2appz00_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
   struct BgL_approxz00_bgl * BgL_valuezd2approxzd2;
   long BgL_lostzd2stampzd2;
   struct BgL_variablez00_bgl * BgL_ownerz00;
   obj_t BgL_stackzd2stampzd2;
} *BgL_makezd2structzd2appz00_bglt;

typedef struct BgL_structzd2refzd2appz00_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
} *BgL_structzd2refzd2appz00_bglt;

typedef struct BgL_structzd2setz12zd2appz12_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
} *BgL_structzd2setz12zd2appz12_bglt;


static obj_t BGl_methodzd2initzd2zzcfa_structz00();
BGL_IMPORT obj_t open_input_string(obj_t);
BGL_IMPORT long BGl_classzd2numzd2zz__objectz00(obj_t);
extern BgL_approxz00_bglt BGl_loosez12z12zzcfa_loosez00(BgL_approxz00_bglt, obj_t);
static obj_t BGl_cfaz12zd2structzd2refzd2app4116zc0zzcfa_structz00(obj_t, obj_t);
extern BgL_approxz00_bglt BGl_unionzd2approxz12zc0zzcfa_approxz00(BgL_approxz00_bglt, BgL_approxz00_bglt);
static obj_t BGl_cfaz12zd2makezd2structzd2app4114zc0zzcfa_structz00(obj_t, obj_t);
extern BgL_approxz00_bglt BGl_makezd2emptyzd2approxz00zzcfa_approxz00();
BGL_IMPORT obj_t BGl_readz00zz__readerz00(obj_t);
BGL_IMPORT bool_t BGl_iszd2azf3z21zz__objectz00(obj_t, obj_t);
static obj_t BGl_zc3anonymousza34983ze3z83zzcfa_structz00(obj_t, obj_t);
extern obj_t BGl_prezd2makezd2structzd2appzd2zzcfa_info2z00;
static obj_t BGl_nodezd2setupz12zd2prezd2structzd2refzd2app4110zc0zzcfa_structz00(obj_t, obj_t);
extern obj_t BGl_za2cfazd2stampza2zd2zzcfa_iteratez00;
static obj_t BGl_cfaz12zd2structzd2setz12zd2app4119zd2zzcfa_structz00(obj_t, obj_t);
extern BgL_approxz00_bglt BGl_makezd2typezd2alloczd2approxzd2zzcfa_approxz00(BgL_typez00_bglt, BgL_nodez00_bglt);
BGL_IMPORT obj_t BGl_za2classesza2z00zz__objectz00;
extern obj_t BGl_wideningzd2structzd2setz12zd2appzc0zzcfa_info2z00(BgL_approxz00_bglt);
static obj_t BGl_cnstzd2initzd2zzcfa_structz00();
extern obj_t BGl_wideningzd2makezd2structzd2appzd2zzcfa_info2z00(BgL_approxz00_bglt, BgL_approxz00_bglt, long, BgL_variablez00_bglt, obj_t);
static obj_t BGl_nodezd2setupz12zd2prezd2structzd2setz12zd2app4112zd2zzcfa_structz00(obj_t, obj_t);
extern obj_t BGl_za2unspecza2z00zztype_cachez00;
static obj_t BGl_importedzd2moduleszd2initz00zzcfa_structz00();
extern obj_t BGl_prezd2structzd2setz12zd2appzc0zzcfa_info2z00;
extern obj_t BGl_prezd2structzd2refzd2appzd2zzcfa_info2z00;
BGL_IMPORT obj_t BGl_addzd2methodz12zc0zz__objectz00(obj_t, obj_t, obj_t);
extern BgL_approxz00_bglt BGl_cfaz12z12zzcfa_cfaz00(BgL_nodez00_bglt);
static obj_t BGl_loosezd2allocz12zd2makezd2structzd2app4121z12zzcfa_structz00(obj_t, obj_t);
static obj_t BGl_toplevelzd2initzd2zzcfa_structz00();
BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zzcfa_structz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_tracez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_errorz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_shapez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztype_typez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztype_cachez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_varz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_nodez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzcfa_infoz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzcfa_info2z00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzcfa_loosez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzcfa_iteratez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzcfa_cfaz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzcfa_setupz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzcfa_approxz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__objectz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__readerz00(long, char *);
extern obj_t BGl_za2structza2z00zztype_cachez00;
extern obj_t BGl_approxzd2setzd2topz12z12zzcfa_approxz00(BgL_approxz00_bglt);
extern BgL_approxz00_bglt BGl_makezd2typezd2approxz00zzcfa_approxz00(BgL_typez00_bglt);
extern obj_t BGl_makezd2structzd2appz00zzcfa_info2z00;
extern obj_t BGl_nodezd2setupza2z12z62zzcfa_setupz00(obj_t);
extern obj_t BGl_forzd2eachzd2approxzd2alloczd2zzcfa_approxz00(obj_t, BgL_approxz00_bglt);
static obj_t BGl_zc3anonymousza35027ze3z83zzcfa_structz00(obj_t, obj_t);
extern obj_t BGl_wideningzd2structzd2refzd2appzd2zzcfa_info2z00(BgL_approxz00_bglt);
extern obj_t BGl_approxzd2setzd2typez12z12zzcfa_approxz00(BgL_approxz00_bglt, BgL_typez00_bglt);
extern obj_t BGl_za2objza2z00zztype_cachez00;
static obj_t BGl_requirezd2initializa7ationz75zzcfa_structz00 = BUNSPEC;
extern obj_t BGl_structzd2refzd2appz00zzcfa_info2z00;
static obj_t BGl_nodezd2setupz12zd2prezd2makezd2structzd2app4108zc0zzcfa_structz00(obj_t, obj_t);
BGL_IMPORT obj_t BGl_classzd2superzd2zz__objectz00(obj_t);
extern obj_t BGl_structzd2setz12zd2appz12zzcfa_info2z00;
static obj_t BGl_libraryzd2moduleszd2initz00zzcfa_structz00();
static obj_t __cnst[ 1 ] ;


extern obj_t BGl_cfaz12zd2envzc0zzcfa_cfaz00;
DEFINE_STATIC_PROCEDURE( BGl_proc5222z00zzcfa_structz00, BgL_bgl_nodeza7d2setupza712za7d2preza7d2makeza7d2structza7d2app4108za7c0za7za7cfa_structza7005255z00, BGl_nodezd2setupz12zd2prezd2makezd2structzd2app4108zc0zzcfa_structz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc5223z00zzcfa_structz00, BgL_bgl_nodeza7d2setupza712za7d2preza7d2structza7d2refza7d2app4110za7c0za7za7cfa_structza7005256z00, BGl_nodezd2setupz12zd2prezd2structzd2refzd2app4110zc0zzcfa_structz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc5224z00zzcfa_structz00, BgL_bgl_nodeza7d2setupza712za7d2preza7d2structza7d2setza712za7d2app4112za7d2za7za7cfa_structza7005257za7, BGl_nodezd2setupz12zd2prezd2structzd2setz12zd2app4112zd2zzcfa_structz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc5225z00zzcfa_structz00, BgL_bgl_cfaza712za7d2makeza7d2structza7d2app4114za7c0za7za7cfa_structza7005258z00, BGl_cfaz12zd2makezd2structzd2app4114zc0zzcfa_structz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc5226z00zzcfa_structz00, BgL_bgl_cfaza712za7d2structza7d2refza7d2app4116za7c0za7za7cfa_structza7005259z00, BGl_cfaz12zd2structzd2refzd2app4116zc0zzcfa_structz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc5227z00zzcfa_structz00, BgL_bgl_cfaza712za7d2structza7d2setza712za7d2app4119za7d2za7za7cfa_structza7005260za7, BGl_cfaz12zd2structzd2setz12zd2app4119zd2zzcfa_structz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc5228z00zzcfa_structz00, BgL_bgl_looseza7d2allocza712za7d2makeza7d2structza7d2app4121za712za7za7cfa_structza7005261za7, BGl_loosezd2allocz12zd2makezd2structzd2app4121z12zzcfa_structz00, 0L, 1 );
extern obj_t BGl_nodezd2setupz12zd2envz12zzcfa_setupz00;
DEFINE_STRING( BGl_string5229z00zzcfa_structz00, BgL_bgl_string5229za700za7za7cfa_structza7005262z00, "all ", 4 );
extern obj_t BGl_loosezd2allocz12zd2envz12zzcfa_loosez00;



/* module-initialization */
BGL_EXPORTED_DEF obj_t BGl_modulezd2initializa7ationz75zzcfa_structz00(long BgL_checksumz00_1707, char * BgL_fromz00_1708)
{ AN_OBJECT;
{ 
if(
CBOOL(BGl_requirezd2initializa7ationz75zzcfa_structz00))
{ 
BGl_requirezd2initializa7ationz75zzcfa_structz00 = 
BBOOL(((bool_t)0)); 
BGl_libraryzd2moduleszd2initz00zzcfa_structz00(); 
BGl_cnstzd2initzd2zzcfa_structz00(); 
BGl_importedzd2moduleszd2initz00zzcfa_structz00(); 
BGl_methodzd2initzd2zzcfa_structz00(); 
return BUNSPEC;}  else 
{ 
return BUNSPEC;} } 
}



/* library-modules-init */
obj_t BGl_libraryzd2moduleszd2initz00zzcfa_structz00()
{ AN_OBJECT;
{ /* ./Cfa/struct.scm 17 */
BGl_modulezd2initializa7ationz75zz__objectz00(((long)0), "cfa_struct"); 
BGl_modulezd2initializa7ationz75zz__readerz00(((long)0), "cfa_struct"); 
return BUNSPEC;} 
}



/* cnst-init */
obj_t BGl_cnstzd2initzd2zzcfa_structz00()
{ AN_OBJECT;
{ /* ./Cfa/struct.scm 17 */
{ /* ./Cfa/struct.scm 17 */
obj_t BgL_cportz00_1700;
BgL_cportz00_1700 = 
open_input_string(BGl_string5229z00zzcfa_structz00); 
{ 
long BgL_iz00_1701;
BgL_iz00_1701 = ((long)0); 
BgL_loopz00_1702:
{ /* ./Cfa/struct.scm 17 */
bool_t BgL_test5231z00_1703;
BgL_test5231z00_1703 = 
(BgL_iz00_1701==((long)-1)); 
if(BgL_test5231z00_1703)
{ /* ./Cfa/struct.scm 17 */
return BUNSPEC;}  else 
{ /* ./Cfa/struct.scm 17 */
{ /* ./Cfa/struct.scm 17 */
obj_t BgL_arg5233z00_1704;
{ /* ./Cfa/struct.scm 17 */
obj_t BgL_list5236z00_1705;
BgL_list5236z00_1705 = 
MAKE_PAIR(BgL_cportz00_1700, BNIL); 
BgL_arg5233z00_1704 = 
BGl_readz00zz__readerz00(BgL_list5236z00_1705); } 
{ /* ./Cfa/struct.scm 17 */
int BgL_auxz00_1723;
BgL_auxz00_1723 = 
(int)(BgL_iz00_1701); 
CNST_TABLE_SET(BgL_auxz00_1723, BgL_arg5233z00_1704); } } 
{ /* ./Cfa/struct.scm 17 */
int BgL_auxz00_1706;
{ /* ./Cfa/struct.scm 17 */
long BgL_auxz00_1726;
BgL_auxz00_1726 = 
(BgL_iz00_1701-((long)1)); 
BgL_auxz00_1706 = 
(int)(BgL_auxz00_1726); } 
{ 
long BgL_iz00_1729;
BgL_iz00_1729 = 
(long)(BgL_auxz00_1706); 
BgL_iz00_1701 = BgL_iz00_1729; 
goto BgL_loopz00_1702;} } } } } } } 
}



/* toplevel-init */
obj_t BGl_toplevelzd2initzd2zzcfa_structz00()
{ AN_OBJECT;
{ /* ./Cfa/struct.scm 17 */
return BUNSPEC;} 
}



/* method-init */
obj_t BGl_methodzd2initzd2zzcfa_structz00()
{ AN_OBJECT;
{ /* ./Cfa/struct.scm 17 */
BGl_addzd2methodz12zc0zz__objectz00(BGl_nodezd2setupz12zd2envz12zzcfa_setupz00, BGl_prezd2makezd2structzd2appzd2zzcfa_info2z00, BGl_proc5222z00zzcfa_structz00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_nodezd2setupz12zd2envz12zzcfa_setupz00, BGl_prezd2structzd2refzd2appzd2zzcfa_info2z00, BGl_proc5223z00zzcfa_structz00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_nodezd2setupz12zd2envz12zzcfa_setupz00, BGl_prezd2structzd2setz12zd2appzc0zzcfa_info2z00, BGl_proc5224z00zzcfa_structz00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_cfaz12zd2envzc0zzcfa_cfaz00, BGl_makezd2structzd2appz00zzcfa_info2z00, BGl_proc5225z00zzcfa_structz00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_cfaz12zd2envzc0zzcfa_cfaz00, BGl_structzd2refzd2appz00zzcfa_info2z00, BGl_proc5226z00zzcfa_structz00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_cfaz12zd2envzc0zzcfa_cfaz00, BGl_structzd2setz12zd2appz12zzcfa_info2z00, BGl_proc5227z00zzcfa_structz00); 
return 
BGl_addzd2methodz12zc0zz__objectz00(BGl_loosezd2allocz12zd2envz12zzcfa_loosez00, BGl_makezd2structzd2appz00zzcfa_info2z00, BGl_proc5228z00zzcfa_structz00);} 
}



/* loose-alloc!-make-struct-app4121 */
obj_t BGl_loosezd2allocz12zd2makezd2structzd2app4121z12zzcfa_structz00(obj_t BgL_envz00_1676, obj_t BgL_allocz00_1677)
{ AN_OBJECT;
{ /* ./Cfa/struct.scm 136 */
{ 
BgL_makezd2structzd2appz00_bglt BgL_allocz00_1558;
BgL_allocz00_1558 = 
(BgL_makezd2structzd2appz00_bglt)(BgL_allocz00_1677); 
{ /* ./Cfa/struct.scm 138 */
bool_t BgL_test5056z00_1562;
{ /* ./Cfa/struct.scm 138 */
long BgL_arg5071z00_1566;
{ 
obj_t BgL_auxz00_1738;
{ /* ./Cfa/struct.scm 138 */
BgL_objectz00_bglt BgL_auxz00_1739;
BgL_auxz00_1739 = 
(BgL_objectz00_bglt)(BgL_allocz00_1558); 
BgL_auxz00_1738 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1739); } 
BgL_arg5071z00_1566 = 
(((BgL_makezd2structzd2appz00_bglt)CREF(BgL_auxz00_1738))->BgL_lostzd2stampzd2); } 
{ /* ./Cfa/struct.scm 138 */
long BgL_n2z00_1659;
BgL_n2z00_1659 = 
(long)CINT(BGl_za2cfazd2stampza2zd2zzcfa_iteratez00); 
BgL_test5056z00_1562 = 
(BgL_arg5071z00_1566==BgL_n2z00_1659); } } 
if(BgL_test5056z00_1562)
{ /* ./Cfa/struct.scm 138 */
return BUNSPEC;}  else 
{ /* ./Cfa/struct.scm 138 */
{ /* ./Cfa/struct.scm 142 */
long BgL_val3997z00_1661;
BgL_val3997z00_1661 = 
(long)CINT(BGl_za2cfazd2stampza2zd2zzcfa_iteratez00); 
{ 
obj_t BgL_auxz00_1747;
{ /* ./Cfa/struct.scm 142 */
BgL_objectz00_bglt BgL_auxz00_1748;
BgL_auxz00_1748 = 
(BgL_objectz00_bglt)(BgL_allocz00_1558); 
BgL_auxz00_1747 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1748); } 
((((BgL_makezd2structzd2appz00_bglt)CREF(BgL_auxz00_1747))->BgL_lostzd2stampzd2) = ((long)BgL_val3997z00_1661), BUNSPEC); } } 
{ /* ./Cfa/struct.scm 143 */
BgL_approxz00_bglt BgL_arg5059z00_1563;
{ 
obj_t BgL_auxz00_1752;
{ /* ./Cfa/struct.scm 143 */
BgL_objectz00_bglt BgL_auxz00_1753;
BgL_auxz00_1753 = 
(BgL_objectz00_bglt)(BgL_allocz00_1558); 
BgL_auxz00_1752 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1753); } 
BgL_arg5059z00_1563 = 
(((BgL_makezd2structzd2appz00_bglt)CREF(BgL_auxz00_1752))->BgL_valuezd2approxzd2); } 
BGl_forzd2eachzd2approxzd2alloczd2zzcfa_approxz00(BGl_loosezd2allocz12zd2envz12zzcfa_loosez00, BgL_arg5059z00_1563); } 
{ /* ./Cfa/struct.scm 144 */
BgL_approxz00_bglt BgL_arg5063z00_1564;
{ 
obj_t BgL_auxz00_1758;
{ /* ./Cfa/struct.scm 144 */
BgL_objectz00_bglt BgL_auxz00_1759;
BgL_auxz00_1759 = 
(BgL_objectz00_bglt)(BgL_allocz00_1558); 
BgL_auxz00_1758 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1759); } 
BgL_arg5063z00_1564 = 
(((BgL_makezd2structzd2appz00_bglt)CREF(BgL_auxz00_1758))->BgL_valuezd2approxzd2); } 
BGl_approxzd2setzd2typez12z12zzcfa_approxz00(BgL_arg5063z00_1564, 
(BgL_typez00_bglt)(BGl_za2objza2z00zztype_cachez00)); } 
{ /* ./Cfa/struct.scm 145 */
BgL_approxz00_bglt BgL_arg5067z00_1565;
{ 
obj_t BgL_auxz00_1765;
{ /* ./Cfa/struct.scm 145 */
BgL_objectz00_bglt BgL_auxz00_1766;
BgL_auxz00_1766 = 
(BgL_objectz00_bglt)(BgL_allocz00_1558); 
BgL_auxz00_1765 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1766); } 
BgL_arg5067z00_1565 = 
(((BgL_makezd2structzd2appz00_bglt)CREF(BgL_auxz00_1765))->BgL_valuezd2approxzd2); } 
return 
BGl_approxzd2setzd2topz12z12zzcfa_approxz00(BgL_arg5067z00_1565);} } } } } 
}



/* cfa!-struct-set!-app4119 */
obj_t BGl_cfaz12zd2structzd2setz12zd2app4119zd2zzcfa_structz00(obj_t BgL_envz00_1678, obj_t BgL_nodez00_1679)
{ AN_OBJECT;
{ /* ./Cfa/struct.scm 109 */
{ 
BgL_structzd2setz12zd2appz12_bglt BgL_nodez00_1536;
{ /* ./Cfa/struct.scm 110 */
BgL_approxz00_bglt BgL_auxz00_1772;
BgL_nodez00_1536 = 
(BgL_structzd2setz12zd2appz12_bglt)(BgL_nodez00_1679); 
{ /* ./Cfa/struct.scm 113 */
obj_t BgL_arg5016z00_1540;
{ /* ./Cfa/struct.scm 113 */
obj_t BgL_auxz00_1773;
{ /* ./Cfa/struct.scm 113 */
obj_t BgL_auxz00_1774;
{ /* ./Cfa/struct.scm 113 */
BgL_appz00_bglt BgL_obj1722z00_1639;
BgL_obj1722z00_1639 = 
(BgL_appz00_bglt)(BgL_nodez00_1536); 
BgL_auxz00_1774 = 
(((BgL_appz00_bglt)CREF(BgL_obj1722z00_1639))->BgL_argsz00); } 
BgL_auxz00_1773 = 
CDR(BgL_auxz00_1774); } 
BgL_arg5016z00_1540 = 
CAR(BgL_auxz00_1773); } 
BGl_cfaz12z12zzcfa_cfaz00(
(BgL_nodez00_bglt)(BgL_arg5016z00_1540)); } 
{ /* ./Cfa/struct.scm 114 */
BgL_approxz00_bglt BgL_structzd2approxzd2_1542;BgL_approxz00_bglt BgL_valzd2approxzd2_1543;
{ /* ./Cfa/struct.scm 114 */
obj_t BgL_arg5036z00_1552;
{ /* ./Cfa/struct.scm 114 */
obj_t BgL_auxz00_1781;
{ /* ./Cfa/struct.scm 114 */
BgL_appz00_bglt BgL_obj1722z00_1644;
BgL_obj1722z00_1644 = 
(BgL_appz00_bglt)(BgL_nodez00_1536); 
BgL_auxz00_1781 = 
(((BgL_appz00_bglt)CREF(BgL_obj1722z00_1644))->BgL_argsz00); } 
BgL_arg5036z00_1552 = 
CAR(BgL_auxz00_1781); } 
BgL_structzd2approxzd2_1542 = 
BGl_cfaz12z12zzcfa_cfaz00(
(BgL_nodez00_bglt)(BgL_arg5036z00_1552)); } 
{ /* ./Cfa/struct.scm 115 */
obj_t BgL_arg5043z00_1554;
{ /* ./Cfa/struct.scm 115 */
obj_t BgL_auxz00_1787;
{ /* ./Cfa/struct.scm 115 */
obj_t BgL_auxz00_1788;
{ /* ./Cfa/struct.scm 115 */
obj_t BgL_auxz00_1789;
{ /* ./Cfa/struct.scm 115 */
BgL_appz00_bglt BgL_obj1722z00_1646;
BgL_obj1722z00_1646 = 
(BgL_appz00_bglt)(BgL_nodez00_1536); 
BgL_auxz00_1789 = 
(((BgL_appz00_bglt)CREF(BgL_obj1722z00_1646))->BgL_argsz00); } 
BgL_auxz00_1788 = 
CDR(BgL_auxz00_1789); } 
BgL_auxz00_1787 = 
CDR(BgL_auxz00_1788); } 
BgL_arg5043z00_1554 = 
CAR(BgL_auxz00_1787); } 
BgL_valzd2approxzd2_1543 = 
BGl_cfaz12z12zzcfa_cfaz00(
(BgL_nodez00_bglt)(BgL_arg5043z00_1554)); } 
{ /* ./Cfa/struct.scm 118 */
bool_t BgL_test5022z00_1544;
BgL_test5022z00_1544 = 
(((BgL_approxz00_bglt)CREF(BgL_structzd2approxzd2_1542))->BgL_topzf3zf3); 
if(BgL_test5022z00_1544)
{ /* ./Cfa/struct.scm 120 */
BgL_approxz00_bglt BgL_auxz00_1799;
BgL_auxz00_1799 = 
BGl_loosez12z12zzcfa_loosez00(BgL_valzd2approxzd2_1543, 
CNST_TABLE_REF(((long)0))); 
(obj_t)(BgL_auxz00_1799); }  else 
{ /* ./Cfa/struct.scm 123 */
obj_t BgL_zc3anonymousza35027ze3z83_1668;
{ 
int BgL_auxz00_1805;int BgL_auxz00_1803;
BgL_auxz00_1805 = 
(int)(((long)1)); 
BgL_auxz00_1803 = 
(int)(((long)1)); 
BgL_zc3anonymousza35027ze3z83_1668 = 
make_fx_procedure(BGl_zc3anonymousza35027ze3z83zzcfa_structz00, BgL_auxz00_1803, BgL_auxz00_1805); } 
{ /* ./Cfa/struct.scm 123 */
obj_t BgL_auxz00_1810;int BgL_auxz00_1808;
BgL_auxz00_1810 = 
(obj_t)(BgL_valzd2approxzd2_1543); 
BgL_auxz00_1808 = 
(int)(((long)0)); 
PROCEDURE_SET(BgL_zc3anonymousza35027ze3z83_1668, BgL_auxz00_1808, BgL_auxz00_1810); } 
BGl_forzd2eachzd2approxzd2alloczd2zzcfa_approxz00(BgL_zc3anonymousza35027ze3z83_1668, BgL_structzd2approxzd2_1542); } } } 
{ 
obj_t BgL_auxz00_1814;
{ /* ./Cfa/struct.scm 127 */
BgL_objectz00_bglt BgL_auxz00_1815;
BgL_auxz00_1815 = 
(BgL_objectz00_bglt)(BgL_nodez00_1536); 
BgL_auxz00_1814 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1815); } 
BgL_auxz00_1772 = 
(((BgL_structzd2setz12zd2appz12_bglt)CREF(BgL_auxz00_1814))->BgL_approxz00); } 
return 
(obj_t)(BgL_auxz00_1772);} } } 
}



/* <anonymous:5027> */
obj_t BGl_zc3anonymousza35027ze3z83zzcfa_structz00(obj_t BgL_envz00_1680, obj_t BgL_appz00_1682)
{ AN_OBJECT;
{ /* ./Cfa/struct.scm 122 */
{ /* ./Cfa/struct.scm 123 */
obj_t BgL_valzd2approxzd2_1681;
{ /* ./Cfa/struct.scm 123 */
int BgL_auxz00_1821;
BgL_auxz00_1821 = 
(int)(((long)0)); 
BgL_valzd2approxzd2_1681 = 
PROCEDURE_REF(BgL_envz00_1680, BgL_auxz00_1821); } 
{ 
obj_t BgL_appz00_1546;
BgL_appz00_1546 = BgL_appz00_1682; 
{ /* ./Cfa/struct.scm 123 */
bool_t BgL_test5028z00_1548;
BgL_test5028z00_1548 = 
BGl_iszd2azf3z21zz__objectz00(BgL_appz00_1546, BGl_makezd2structzd2appz00zzcfa_info2z00); 
if(BgL_test5028z00_1548)
{ /* ./Cfa/struct.scm 125 */
BgL_approxz00_bglt BgL_arg5030z00_1550;
{ /* ./Cfa/struct.scm 125 */
BgL_makezd2structzd2appz00_bglt BgL_obj3995z00_1655;
BgL_obj3995z00_1655 = 
(BgL_makezd2structzd2appz00_bglt)(BgL_appz00_1546); 
{ 
obj_t BgL_auxz00_1827;
{ /* ./Cfa/struct.scm 125 */
BgL_objectz00_bglt BgL_auxz00_1828;
BgL_auxz00_1828 = 
(BgL_objectz00_bglt)(BgL_obj3995z00_1655); 
BgL_auxz00_1827 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1828); } 
BgL_arg5030z00_1550 = 
(((BgL_makezd2structzd2appz00_bglt)CREF(BgL_auxz00_1827))->BgL_valuezd2approxzd2); } } 
{ /* ./Cfa/struct.scm 125 */
BgL_approxz00_bglt BgL_auxz00_1832;
BgL_auxz00_1832 = 
BGl_unionzd2approxz12zc0zzcfa_approxz00(BgL_arg5030z00_1550, 
(BgL_approxz00_bglt)(BgL_valzd2approxzd2_1681)); 
return 
(obj_t)(BgL_auxz00_1832);} }  else 
{ /* ./Cfa/struct.scm 123 */
return BFALSE;} } } } } 
}



/* cfa!-struct-ref-app4116 */
obj_t BGl_cfaz12zd2structzd2refzd2app4116zc0zzcfa_structz00(obj_t BgL_envz00_1683, obj_t BgL_nodez00_1684)
{ AN_OBJECT;
{ /* ./Cfa/struct.scm 87 */
{ 
BgL_structzd2refzd2appz00_bglt BgL_nodez00_1512;
{ /* ./Cfa/struct.scm 88 */
BgL_approxz00_bglt BgL_auxz00_1836;
BgL_nodez00_1512 = 
(BgL_structzd2refzd2appz00_bglt)(BgL_nodez00_1684); 
{ /* ./Cfa/struct.scm 91 */
obj_t BgL_arg4968z00_1516;
{ /* ./Cfa/struct.scm 91 */
obj_t BgL_auxz00_1837;
{ /* ./Cfa/struct.scm 91 */
obj_t BgL_auxz00_1838;
{ /* ./Cfa/struct.scm 91 */
BgL_appz00_bglt BgL_obj1722z00_1623;
BgL_obj1722z00_1623 = 
(BgL_appz00_bglt)(BgL_nodez00_1512); 
BgL_auxz00_1838 = 
(((BgL_appz00_bglt)CREF(BgL_obj1722z00_1623))->BgL_argsz00); } 
BgL_auxz00_1837 = 
CDR(BgL_auxz00_1838); } 
BgL_arg4968z00_1516 = 
CAR(BgL_auxz00_1837); } 
BGl_cfaz12z12zzcfa_cfaz00(
(BgL_nodez00_bglt)(BgL_arg4968z00_1516)); } 
{ /* ./Cfa/struct.scm 92 */
BgL_approxz00_bglt BgL_structzd2approxzd2_1518;
{ /* ./Cfa/struct.scm 92 */
obj_t BgL_arg5002z00_1532;
{ /* ./Cfa/struct.scm 92 */
obj_t BgL_auxz00_1845;
{ /* ./Cfa/struct.scm 92 */
BgL_appz00_bglt BgL_obj1722z00_1628;
BgL_obj1722z00_1628 = 
(BgL_appz00_bglt)(BgL_nodez00_1512); 
BgL_auxz00_1845 = 
(((BgL_appz00_bglt)CREF(BgL_obj1722z00_1628))->BgL_argsz00); } 
BgL_arg5002z00_1532 = 
CAR(BgL_auxz00_1845); } 
BgL_structzd2approxzd2_1518 = 
BGl_cfaz12z12zzcfa_cfaz00(
(BgL_nodez00_bglt)(BgL_arg5002z00_1532)); } 
{ /* ./Cfa/struct.scm 95 */
bool_t BgL_test4974z00_1519;
BgL_test4974z00_1519 = 
(((BgL_approxz00_bglt)CREF(BgL_structzd2approxzd2_1518))->BgL_topzf3zf3); 
if(BgL_test4974z00_1519)
{ /* ./Cfa/struct.scm 96 */
BgL_approxz00_bglt BgL_arg4976z00_1520;
{ 
obj_t BgL_auxz00_1853;
{ /* ./Cfa/struct.scm 96 */
BgL_objectz00_bglt BgL_auxz00_1854;
BgL_auxz00_1854 = 
(BgL_objectz00_bglt)(BgL_nodez00_1512); 
BgL_auxz00_1853 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1854); } 
BgL_arg4976z00_1520 = 
(((BgL_structzd2refzd2appz00_bglt)CREF(BgL_auxz00_1853))->BgL_approxz00); } 
BGl_approxzd2setzd2topz12z12zzcfa_approxz00(BgL_arg4976z00_1520); }  else 
{ /* ./Cfa/struct.scm 95 */BFALSE; } } 
{ /* ./Cfa/struct.scm 99 */
obj_t BgL_zc3anonymousza34983ze3z83_1670;
{ 
int BgL_auxz00_1861;int BgL_auxz00_1859;
BgL_auxz00_1861 = 
(int)(((long)1)); 
BgL_auxz00_1859 = 
(int)(((long)1)); 
BgL_zc3anonymousza34983ze3z83_1670 = 
make_fx_procedure(BGl_zc3anonymousza34983ze3z83zzcfa_structz00, BgL_auxz00_1859, BgL_auxz00_1861); } 
{ /* ./Cfa/struct.scm 99 */
obj_t BgL_auxz00_1866;int BgL_auxz00_1864;
BgL_auxz00_1866 = 
(obj_t)(BgL_nodez00_1512); 
BgL_auxz00_1864 = 
(int)(((long)0)); 
PROCEDURE_SET(BgL_zc3anonymousza34983ze3z83_1670, BgL_auxz00_1864, BgL_auxz00_1866); } 
BGl_forzd2eachzd2approxzd2alloczd2zzcfa_approxz00(BgL_zc3anonymousza34983ze3z83_1670, BgL_structzd2approxzd2_1518); } } 
{ 
obj_t BgL_auxz00_1870;
{ /* ./Cfa/struct.scm 104 */
BgL_objectz00_bglt BgL_auxz00_1871;
BgL_auxz00_1871 = 
(BgL_objectz00_bglt)(BgL_nodez00_1512); 
BgL_auxz00_1870 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1871); } 
BgL_auxz00_1836 = 
(((BgL_structzd2refzd2appz00_bglt)CREF(BgL_auxz00_1870))->BgL_approxz00); } 
return 
(obj_t)(BgL_auxz00_1836);} } } 
}



/* <anonymous:4983> */
obj_t BGl_zc3anonymousza34983ze3z83zzcfa_structz00(obj_t BgL_envz00_1685, obj_t BgL_appz00_1687)
{ AN_OBJECT;
{ /* ./Cfa/struct.scm 98 */
{ /* ./Cfa/struct.scm 99 */
obj_t BgL_instance4096z00_1686;
{ /* ./Cfa/struct.scm 99 */
int BgL_auxz00_1877;
BgL_auxz00_1877 = 
(int)(((long)0)); 
BgL_instance4096z00_1686 = 
PROCEDURE_REF(BgL_envz00_1685, BgL_auxz00_1877); } 
{ 
obj_t BgL_appz00_1522;
BgL_appz00_1522 = BgL_appz00_1687; 
{ /* ./Cfa/struct.scm 99 */
bool_t BgL_test4984z00_1524;
BgL_test4984z00_1524 = 
BGl_iszd2azf3z21zz__objectz00(BgL_appz00_1522, BGl_makezd2structzd2appz00zzcfa_info2z00); 
if(BgL_test4984z00_1524)
{ /* ./Cfa/struct.scm 99 */
{ /* ./Cfa/struct.scm 101 */
BgL_approxz00_bglt BgL_arg4986z00_1526;BgL_approxz00_bglt BgL_arg4987z00_1527;
{ /* ./Cfa/struct.scm 101 */
BgL_structzd2refzd2appz00_bglt BgL_obj4034z00_1633;
BgL_obj4034z00_1633 = 
(BgL_structzd2refzd2appz00_bglt)(BgL_instance4096z00_1686); 
{ 
obj_t BgL_auxz00_1883;
{ /* ./Cfa/struct.scm 101 */
BgL_objectz00_bglt BgL_auxz00_1884;
BgL_auxz00_1884 = 
(BgL_objectz00_bglt)(BgL_obj4034z00_1633); 
BgL_auxz00_1883 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1884); } 
BgL_arg4986z00_1526 = 
(((BgL_structzd2refzd2appz00_bglt)CREF(BgL_auxz00_1883))->BgL_approxz00); } } 
{ /* ./Cfa/struct.scm 101 */
BgL_makezd2structzd2appz00_bglt BgL_obj3995z00_1634;
BgL_obj3995z00_1634 = 
(BgL_makezd2structzd2appz00_bglt)(BgL_appz00_1522); 
{ 
obj_t BgL_auxz00_1889;
{ /* ./Cfa/struct.scm 101 */
BgL_objectz00_bglt BgL_auxz00_1890;
BgL_auxz00_1890 = 
(BgL_objectz00_bglt)(BgL_obj3995z00_1634); 
BgL_auxz00_1889 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1890); } 
BgL_arg4987z00_1527 = 
(((BgL_makezd2structzd2appz00_bglt)CREF(BgL_auxz00_1889))->BgL_valuezd2approxzd2); } } 
BGl_unionzd2approxz12zc0zzcfa_approxz00(BgL_arg4986z00_1526, BgL_arg4987z00_1527); } 
{ /* ./Cfa/struct.scm 102 */
BgL_approxz00_bglt BgL_arg4992z00_1528;BgL_typez00_bglt BgL_arg4993z00_1529;
{ /* ./Cfa/struct.scm 102 */
BgL_makezd2structzd2appz00_bglt BgL_obj3995z00_1635;
BgL_obj3995z00_1635 = 
(BgL_makezd2structzd2appz00_bglt)(BgL_appz00_1522); 
{ 
obj_t BgL_auxz00_1896;
{ /* ./Cfa/struct.scm 102 */
BgL_objectz00_bglt BgL_auxz00_1897;
BgL_auxz00_1897 = 
(BgL_objectz00_bglt)(BgL_obj3995z00_1635); 
BgL_auxz00_1896 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1897); } 
BgL_arg4992z00_1528 = 
(((BgL_makezd2structzd2appz00_bglt)CREF(BgL_auxz00_1896))->BgL_valuezd2approxzd2); } } 
{ /* ./Cfa/struct.scm 102 */
BgL_approxz00_bglt BgL_arg4997z00_1530;
{ /* ./Cfa/struct.scm 102 */
BgL_structzd2refzd2appz00_bglt BgL_obj4034z00_1636;
BgL_obj4034z00_1636 = 
(BgL_structzd2refzd2appz00_bglt)(BgL_instance4096z00_1686); 
{ 
obj_t BgL_auxz00_1902;
{ /* ./Cfa/struct.scm 102 */
BgL_objectz00_bglt BgL_auxz00_1903;
BgL_auxz00_1903 = 
(BgL_objectz00_bglt)(BgL_obj4034z00_1636); 
BgL_auxz00_1902 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1903); } 
BgL_arg4997z00_1530 = 
(((BgL_structzd2refzd2appz00_bglt)CREF(BgL_auxz00_1902))->BgL_approxz00); } } 
BgL_arg4993z00_1529 = 
(((BgL_approxz00_bglt)CREF(BgL_arg4997z00_1530))->BgL_typez00); } 
return 
BGl_approxzd2setzd2typez12z12zzcfa_approxz00(BgL_arg4992z00_1528, BgL_arg4993z00_1529);} }  else 
{ /* ./Cfa/struct.scm 99 */
return BFALSE;} } } } } 
}



/* cfa!-make-struct-app4114 */
obj_t BGl_cfaz12zd2makezd2structzd2app4114zc0zzcfa_structz00(obj_t BgL_envz00_1688, obj_t BgL_nodez00_1689)
{ AN_OBJECT;
{ /* ./Cfa/struct.scm 71 */
{ 
BgL_makezd2structzd2appz00_bglt BgL_nodez00_1500;
{ /* ./Cfa/struct.scm 72 */
BgL_approxz00_bglt BgL_auxz00_1909;
BgL_nodez00_1500 = 
(BgL_makezd2structzd2appz00_bglt)(BgL_nodez00_1689); 
{ /* ./Cfa/struct.scm 74 */
obj_t BgL_arg4943z00_1504;
{ /* ./Cfa/struct.scm 74 */
obj_t BgL_auxz00_1910;
{ /* ./Cfa/struct.scm 74 */
BgL_appz00_bglt BgL_obj1722z00_1614;
BgL_obj1722z00_1614 = 
(BgL_appz00_bglt)(BgL_nodez00_1500); 
BgL_auxz00_1910 = 
(((BgL_appz00_bglt)CREF(BgL_obj1722z00_1614))->BgL_argsz00); } 
BgL_arg4943z00_1504 = 
CAR(BgL_auxz00_1910); } 
BGl_cfaz12z12zzcfa_cfaz00(
(BgL_nodez00_bglt)(BgL_arg4943z00_1504)); } 
{ /* ./Cfa/struct.scm 75 */
BgL_approxz00_bglt BgL_initzd2valuezd2approxz00_1506;
{ /* ./Cfa/struct.scm 75 */
obj_t BgL_arg4955z00_1508;
{ /* ./Cfa/struct.scm 75 */
obj_t BgL_auxz00_1916;
{ /* ./Cfa/struct.scm 75 */
obj_t BgL_auxz00_1917;
{ /* ./Cfa/struct.scm 75 */
BgL_appz00_bglt BgL_obj1722z00_1616;
BgL_obj1722z00_1616 = 
(BgL_appz00_bglt)(BgL_nodez00_1500); 
BgL_auxz00_1917 = 
(((BgL_appz00_bglt)CREF(BgL_obj1722z00_1616))->BgL_argsz00); } 
BgL_auxz00_1916 = 
CDR(BgL_auxz00_1917); } 
BgL_arg4955z00_1508 = 
CAR(BgL_auxz00_1916); } 
BgL_initzd2valuezd2approxz00_1506 = 
BGl_cfaz12z12zzcfa_cfaz00(
(BgL_nodez00_bglt)(BgL_arg4955z00_1508)); } 
{ /* ./Cfa/struct.scm 76 */
BgL_approxz00_bglt BgL_arg4950z00_1507;
{ 
obj_t BgL_auxz00_1924;
{ /* ./Cfa/struct.scm 76 */
BgL_objectz00_bglt BgL_auxz00_1925;
BgL_auxz00_1925 = 
(BgL_objectz00_bglt)(BgL_nodez00_1500); 
BgL_auxz00_1924 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1925); } 
BgL_arg4950z00_1507 = 
(((BgL_makezd2structzd2appz00_bglt)CREF(BgL_auxz00_1924))->BgL_valuezd2approxzd2); } 
BGl_unionzd2approxz12zc0zzcfa_approxz00(BgL_arg4950z00_1507, BgL_initzd2valuezd2approxz00_1506); } 
{ 
obj_t BgL_auxz00_1930;
{ /* ./Cfa/struct.scm 77 */
BgL_objectz00_bglt BgL_auxz00_1931;
BgL_auxz00_1931 = 
(BgL_objectz00_bglt)(BgL_nodez00_1500); 
BgL_auxz00_1930 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1931); } 
BgL_auxz00_1909 = 
(((BgL_makezd2structzd2appz00_bglt)CREF(BgL_auxz00_1930))->BgL_approxz00); } } 
return 
(obj_t)(BgL_auxz00_1909);} } } 
}



/* node-setup!-pre-struct-set!-app4112 */
obj_t BGl_nodezd2setupz12zd2prezd2structzd2setz12zd2app4112zd2zzcfa_structz00(obj_t BgL_envz00_1690, obj_t BgL_nodez00_1691)
{ AN_OBJECT;
{ /* ./Cfa/struct.scm 62 */
{ 
BgL_prezd2structzd2setz12zd2appzc0_bglt BgL_nodez00_1484;
{ /* ./Cfa/struct.scm 63 */
BgL_appz00_bglt BgL_auxz00_1937;
BgL_nodez00_1484 = 
(BgL_prezd2structzd2setz12zd2appzc0_bglt)(BgL_nodez00_1691); 
{ /* ./Cfa/struct.scm 64 */
obj_t BgL_arg4910z00_1488;
{ /* ./Cfa/struct.scm 64 */
BgL_appz00_bglt BgL_obj1722z00_1600;
BgL_obj1722z00_1600 = 
(BgL_appz00_bglt)(BgL_nodez00_1484); 
BgL_arg4910z00_1488 = 
(((BgL_appz00_bglt)CREF(BgL_obj1722z00_1600))->BgL_argsz00); } 
BGl_nodezd2setupza2z12z62zzcfa_setupz00(BgL_arg4910z00_1488); } 
{ /* ./Cfa/struct.scm 65 */
BgL_prezd2structzd2setz12zd2appzc0_bglt BgL_nodez00_1489;
{ /* ./Cfa/struct.scm 65 */
long BgL_arg4926z00_1495;
{ /* ./Cfa/struct.scm 65 */
obj_t BgL_arg4929z00_1496;
{ /* ./Cfa/struct.scm 65 */
obj_t BgL_arg4932z00_1497;
{ /* ./Cfa/struct.scm 65 */
BgL_objectz00_bglt BgL_objectz00_1601;
BgL_objectz00_1601 = 
(BgL_objectz00_bglt)(BgL_nodez00_1484); 
{ /* ./Cfa/struct.scm 65 */
long BgL_arg2036z00_1602;
{ /* ./Cfa/struct.scm 65 */
long BgL_arg2039z00_1603;
BgL_arg2039z00_1603 = 
BGL_OBJECT_CLASS_NUM(BgL_objectz00_1601); 
BgL_arg2036z00_1602 = 
(BgL_arg2039z00_1603-OBJECT_TYPE); } 
{ /* ./Cfa/struct.scm 65 */
obj_t BgL_vectorz00_1607;int BgL_kz00_1608;
BgL_vectorz00_1607 = BGl_za2classesza2z00zz__objectz00; 
BgL_kz00_1608 = 
(int)(BgL_arg2036z00_1602); 
BgL_arg4932z00_1497 = 
VECTOR_REF(BgL_vectorz00_1607,BgL_kz00_1608); } } } 
BgL_arg4929z00_1496 = 
BGl_classzd2superzd2zz__objectz00(BgL_arg4932z00_1497); } 
BgL_arg4926z00_1495 = 
BGl_classzd2numzd2zz__objectz00(BgL_arg4929z00_1496); } 
{ /* ./Cfa/struct.scm 65 */
BgL_objectz00_bglt BgL_objz00_1609;
BgL_objz00_1609 = 
(BgL_objectz00_bglt)(BgL_nodez00_1484); 
BGL_OBJECT_CLASS_NUM_SET(BgL_objz00_1609, BgL_arg4926z00_1495); } } 
{ /* ./Cfa/struct.scm 65 */
BgL_objectz00_bglt BgL_auxz00_1950;
BgL_auxz00_1950 = 
(BgL_objectz00_bglt)(BgL_nodez00_1484); 
BGL_OBJECT_WIDENING_SET(BgL_auxz00_1950, BFALSE); } 
BgL_nodez00_1489 = BgL_nodez00_1484; 
{ /* ./Cfa/struct.scm 66 */
BgL_appz00_bglt BgL_obj4093z00_1490;
{ 
BgL_appz00_bglt BgL_auxz00_1953;
BgL_auxz00_1953 = 
(BgL_appz00_bglt)(BgL_nodez00_1489); 
BgL_obj4093z00_1490 = 
((BgL_appz00_bglt)BgL_auxz00_1953); } 
{ /* ./Cfa/struct.scm 66 */
obj_t BgL_arg4914z00_1491;
{ /* ./Cfa/struct.scm 66 */
BgL_approxz00_bglt BgL_arg4917z00_1492;
BgL_arg4917z00_1492 = 
BGl_makezd2typezd2approxz00zzcfa_approxz00(
(BgL_typez00_bglt)(BGl_za2unspecza2z00zztype_cachez00)); 
BgL_arg4914z00_1491 = 
BGl_wideningzd2structzd2setz12zd2appzc0zzcfa_info2z00(BgL_arg4917z00_1492); } 
{ /* ./Cfa/struct.scm 66 */
BgL_objectz00_bglt BgL_auxz00_1959;
BgL_auxz00_1959 = 
(BgL_objectz00_bglt)(BgL_obj4093z00_1490); 
BGL_OBJECT_WIDENING_SET(BgL_auxz00_1959, BgL_arg4914z00_1491); } } 
{ /* ./Cfa/struct.scm 66 */
long BgL_arg4921z00_1493;
BgL_arg4921z00_1493 = 
BGl_classzd2numzd2zz__objectz00(BGl_structzd2setz12zd2appz12zzcfa_info2z00); 
{ /* ./Cfa/struct.scm 66 */
BgL_objectz00_bglt BgL_objz00_1611;
BgL_objz00_1611 = 
(BgL_objectz00_bglt)(BgL_obj4093z00_1490); 
BGL_OBJECT_CLASS_NUM_SET(BgL_objz00_1611, BgL_arg4921z00_1493); } } 
{ /* ./Cfa/struct.scm 66 */
obj_t BgL_objz00_1613;
BgL_objz00_1613 = 
(obj_t)(BgL_obj4093z00_1490); 
BGL_HEAP_DEBUG_MARK_OBJ(BgL_objz00_1613); BUNSPEC; } 
BgL_auxz00_1937 = BgL_obj4093z00_1490; } } 
return 
(obj_t)(BgL_auxz00_1937);} } } 
}



/* node-setup!-pre-struct-ref-app4110 */
obj_t BGl_nodezd2setupz12zd2prezd2structzd2refzd2app4110zc0zzcfa_structz00(obj_t BgL_envz00_1692, obj_t BgL_nodez00_1693)
{ AN_OBJECT;
{ /* ./Cfa/struct.scm 53 */
{ 
BgL_prezd2structzd2refzd2appzd2_bglt BgL_nodez00_1468;
{ /* ./Cfa/struct.scm 54 */
BgL_appz00_bglt BgL_auxz00_1969;
BgL_nodez00_1468 = 
(BgL_prezd2structzd2refzd2appzd2_bglt)(BgL_nodez00_1693); 
{ /* ./Cfa/struct.scm 55 */
obj_t BgL_arg4877z00_1472;
{ /* ./Cfa/struct.scm 55 */
BgL_appz00_bglt BgL_obj1722z00_1586;
BgL_obj1722z00_1586 = 
(BgL_appz00_bglt)(BgL_nodez00_1468); 
BgL_arg4877z00_1472 = 
(((BgL_appz00_bglt)CREF(BgL_obj1722z00_1586))->BgL_argsz00); } 
BGl_nodezd2setupza2z12z62zzcfa_setupz00(BgL_arg4877z00_1472); } 
{ /* ./Cfa/struct.scm 56 */
BgL_prezd2structzd2refzd2appzd2_bglt BgL_nodez00_1473;
{ /* ./Cfa/struct.scm 56 */
long BgL_arg4893z00_1479;
{ /* ./Cfa/struct.scm 56 */
obj_t BgL_arg4896z00_1480;
{ /* ./Cfa/struct.scm 56 */
obj_t BgL_arg4899z00_1481;
{ /* ./Cfa/struct.scm 56 */
BgL_objectz00_bglt BgL_objectz00_1587;
BgL_objectz00_1587 = 
(BgL_objectz00_bglt)(BgL_nodez00_1468); 
{ /* ./Cfa/struct.scm 56 */
long BgL_arg2036z00_1588;
{ /* ./Cfa/struct.scm 56 */
long BgL_arg2039z00_1589;
BgL_arg2039z00_1589 = 
BGL_OBJECT_CLASS_NUM(BgL_objectz00_1587); 
BgL_arg2036z00_1588 = 
(BgL_arg2039z00_1589-OBJECT_TYPE); } 
{ /* ./Cfa/struct.scm 56 */
obj_t BgL_vectorz00_1593;int BgL_kz00_1594;
BgL_vectorz00_1593 = BGl_za2classesza2z00zz__objectz00; 
BgL_kz00_1594 = 
(int)(BgL_arg2036z00_1588); 
BgL_arg4899z00_1481 = 
VECTOR_REF(BgL_vectorz00_1593,BgL_kz00_1594); } } } 
BgL_arg4896z00_1480 = 
BGl_classzd2superzd2zz__objectz00(BgL_arg4899z00_1481); } 
BgL_arg4893z00_1479 = 
BGl_classzd2numzd2zz__objectz00(BgL_arg4896z00_1480); } 
{ /* ./Cfa/struct.scm 56 */
BgL_objectz00_bglt BgL_objz00_1595;
BgL_objz00_1595 = 
(BgL_objectz00_bglt)(BgL_nodez00_1468); 
BGL_OBJECT_CLASS_NUM_SET(BgL_objz00_1595, BgL_arg4893z00_1479); } } 
{ /* ./Cfa/struct.scm 56 */
BgL_objectz00_bglt BgL_auxz00_1982;
BgL_auxz00_1982 = 
(BgL_objectz00_bglt)(BgL_nodez00_1468); 
BGL_OBJECT_WIDENING_SET(BgL_auxz00_1982, BFALSE); } 
BgL_nodez00_1473 = BgL_nodez00_1468; 
{ /* ./Cfa/struct.scm 57 */
BgL_appz00_bglt BgL_obj4089z00_1474;
{ 
BgL_appz00_bglt BgL_auxz00_1985;
BgL_auxz00_1985 = 
(BgL_appz00_bglt)(BgL_nodez00_1473); 
BgL_obj4089z00_1474 = 
((BgL_appz00_bglt)BgL_auxz00_1985); } 
{ /* ./Cfa/struct.scm 57 */
obj_t BgL_arg4881z00_1475;
{ /* ./Cfa/struct.scm 57 */
BgL_approxz00_bglt BgL_arg4884z00_1476;
BgL_arg4884z00_1476 = 
BGl_makezd2typezd2approxz00zzcfa_approxz00(
(BgL_typez00_bglt)(BGl_za2objza2z00zztype_cachez00)); 
BgL_arg4881z00_1475 = 
BGl_wideningzd2structzd2refzd2appzd2zzcfa_info2z00(BgL_arg4884z00_1476); } 
{ /* ./Cfa/struct.scm 57 */
BgL_objectz00_bglt BgL_auxz00_1991;
BgL_auxz00_1991 = 
(BgL_objectz00_bglt)(BgL_obj4089z00_1474); 
BGL_OBJECT_WIDENING_SET(BgL_auxz00_1991, BgL_arg4881z00_1475); } } 
{ /* ./Cfa/struct.scm 57 */
long BgL_arg4888z00_1477;
BgL_arg4888z00_1477 = 
BGl_classzd2numzd2zz__objectz00(BGl_structzd2refzd2appz00zzcfa_info2z00); 
{ /* ./Cfa/struct.scm 57 */
BgL_objectz00_bglt BgL_objz00_1597;
BgL_objz00_1597 = 
(BgL_objectz00_bglt)(BgL_obj4089z00_1474); 
BGL_OBJECT_CLASS_NUM_SET(BgL_objz00_1597, BgL_arg4888z00_1477); } } 
{ /* ./Cfa/struct.scm 57 */
obj_t BgL_objz00_1599;
BgL_objz00_1599 = 
(obj_t)(BgL_obj4089z00_1474); 
BGL_HEAP_DEBUG_MARK_OBJ(BgL_objz00_1599); BUNSPEC; } 
BgL_auxz00_1969 = BgL_obj4089z00_1474; } } 
return 
(obj_t)(BgL_auxz00_1969);} } } 
}



/* node-setup!-pre-make-struct-app4108 */
obj_t BGl_nodezd2setupz12zd2prezd2makezd2structzd2app4108zc0zzcfa_structz00(obj_t BgL_envz00_1694, obj_t BgL_nodez00_1695)
{ AN_OBJECT;
{ /* ./Cfa/struct.scm 36 */
{ 
BgL_prezd2makezd2structzd2appzd2_bglt BgL_nodez00_1445;
BgL_nodez00_1445 = 
(BgL_prezd2makezd2structzd2appzd2_bglt)(BgL_nodez00_1695); 
{ /* ./Cfa/struct.scm 38 */
obj_t BgL_arg4834z00_1449;
{ /* ./Cfa/struct.scm 38 */
BgL_appz00_bglt BgL_obj1722z00_1569;
BgL_obj1722z00_1569 = 
(BgL_appz00_bglt)(BgL_nodez00_1445); 
BgL_arg4834z00_1449 = 
(((BgL_appz00_bglt)CREF(BgL_obj1722z00_1569))->BgL_argsz00); } 
BGl_nodezd2setupza2z12z62zzcfa_setupz00(BgL_arg4834z00_1449); } 
{ /* ./Cfa/struct.scm 39 */
BgL_variablez00_bglt BgL_ownerz00_1450;
{ 
obj_t BgL_auxz00_2004;
{ /* ./Cfa/struct.scm 39 */
BgL_objectz00_bglt BgL_auxz00_2005;
BgL_auxz00_2005 = 
(BgL_objectz00_bglt)(BgL_nodez00_1445); 
BgL_auxz00_2004 = 
BGL_OBJECT_WIDENING(BgL_auxz00_2005); } 
BgL_ownerz00_1450 = 
(((BgL_prezd2makezd2structzd2appzd2_bglt)CREF(BgL_auxz00_2004))->BgL_ownerz00); } 
{ /* ./Cfa/struct.scm 39 */
BgL_prezd2makezd2structzd2appzd2_bglt BgL_nodez00_1451;
{ /* ./Cfa/struct.scm 40 */
long BgL_arg4859z00_1463;
{ /* ./Cfa/struct.scm 40 */
obj_t BgL_arg4862z00_1464;
{ /* ./Cfa/struct.scm 40 */
obj_t BgL_arg4865z00_1465;
{ /* ./Cfa/struct.scm 40 */
BgL_objectz00_bglt BgL_objectz00_1571;
BgL_objectz00_1571 = 
(BgL_objectz00_bglt)(BgL_nodez00_1445); 
{ /* ./Cfa/struct.scm 40 */
long BgL_arg2036z00_1572;
{ /* ./Cfa/struct.scm 40 */
long BgL_arg2039z00_1573;
BgL_arg2039z00_1573 = 
BGL_OBJECT_CLASS_NUM(BgL_objectz00_1571); 
BgL_arg2036z00_1572 = 
(BgL_arg2039z00_1573-OBJECT_TYPE); } 
{ /* ./Cfa/struct.scm 40 */
obj_t BgL_vectorz00_1577;int BgL_kz00_1578;
BgL_vectorz00_1577 = BGl_za2classesza2z00zz__objectz00; 
BgL_kz00_1578 = 
(int)(BgL_arg2036z00_1572); 
BgL_arg4865z00_1465 = 
VECTOR_REF(BgL_vectorz00_1577,BgL_kz00_1578); } } } 
BgL_arg4862z00_1464 = 
BGl_classzd2superzd2zz__objectz00(BgL_arg4865z00_1465); } 
BgL_arg4859z00_1463 = 
BGl_classzd2numzd2zz__objectz00(BgL_arg4862z00_1464); } 
{ /* ./Cfa/struct.scm 40 */
BgL_objectz00_bglt BgL_objz00_1579;
BgL_objz00_1579 = 
(BgL_objectz00_bglt)(BgL_nodez00_1445); 
BGL_OBJECT_CLASS_NUM_SET(BgL_objz00_1579, BgL_arg4859z00_1463); } } 
{ /* ./Cfa/struct.scm 40 */
BgL_objectz00_bglt BgL_auxz00_2018;
BgL_auxz00_2018 = 
(BgL_objectz00_bglt)(BgL_nodez00_1445); 
BGL_OBJECT_WIDENING_SET(BgL_auxz00_2018, BFALSE); } 
BgL_nodez00_1451 = BgL_nodez00_1445; 
{ /* ./Cfa/struct.scm 40 */

{ /* ./Cfa/struct.scm 41 */
BgL_appz00_bglt BgL_wnodez00_1452;
{ /* ./Cfa/struct.scm 41 */
BgL_appz00_bglt BgL_obj4085z00_1454;
{ 
BgL_appz00_bglt BgL_auxz00_2021;
BgL_auxz00_2021 = 
(BgL_appz00_bglt)(BgL_nodez00_1451); 
BgL_obj4085z00_1454 = 
((BgL_appz00_bglt)BgL_auxz00_2021); } 
{ /* ./Cfa/struct.scm 43 */
obj_t BgL_arg4842z00_1455;
{ /* ./Cfa/struct.scm 43 */
BgL_approxz00_bglt BgL_arg4845z00_1456;BgL_approxz00_bglt BgL_arg4846z00_1457;BgL_variablez00_bglt BgL_arg4848z00_1459;
BgL_arg4845z00_1456 = 
BGl_makezd2emptyzd2approxz00zzcfa_approxz00(); 
BgL_arg4846z00_1457 = 
BGl_makezd2emptyzd2approxz00zzcfa_approxz00(); 
BgL_arg4848z00_1459 = BgL_ownerz00_1450; 
BgL_arg4842z00_1455 = 
BGl_wideningzd2makezd2structzd2appzd2zzcfa_info2z00(BgL_arg4845z00_1456, BgL_arg4846z00_1457, ((long)-1), BgL_arg4848z00_1459, BNIL); } 
{ /* ./Cfa/struct.scm 41 */
BgL_objectz00_bglt BgL_auxz00_2027;
BgL_auxz00_2027 = 
(BgL_objectz00_bglt)(BgL_obj4085z00_1454); 
BGL_OBJECT_WIDENING_SET(BgL_auxz00_2027, BgL_arg4842z00_1455); } } 
{ /* ./Cfa/struct.scm 41 */
long BgL_arg4854z00_1461;
BgL_arg4854z00_1461 = 
BGl_classzd2numzd2zz__objectz00(BGl_makezd2structzd2appz00zzcfa_info2z00); 
{ /* ./Cfa/struct.scm 41 */
BgL_objectz00_bglt BgL_objz00_1581;
BgL_objz00_1581 = 
(BgL_objectz00_bglt)(BgL_obj4085z00_1454); 
BGL_OBJECT_CLASS_NUM_SET(BgL_objz00_1581, BgL_arg4854z00_1461); } } 
{ /* ./Cfa/struct.scm 41 */
obj_t BgL_objz00_1583;
BgL_objz00_1583 = 
(obj_t)(BgL_obj4085z00_1454); 
BGL_HEAP_DEBUG_MARK_OBJ(BgL_objz00_1583); BUNSPEC; } 
BgL_wnodez00_1452 = BgL_obj4085z00_1454; } 
{ /* ./Cfa/struct.scm 47 */
BgL_approxz00_bglt BgL_arg4838z00_1453;
BgL_arg4838z00_1453 = 
BGl_makezd2typezd2alloczd2approxzd2zzcfa_approxz00(
(BgL_typez00_bglt)(BGl_za2structza2z00zztype_cachez00), 
(BgL_nodez00_bglt)(BgL_nodez00_1451)); 
{ /* ./Cfa/struct.scm 46 */
BgL_makezd2structzd2appz00_bglt BgL_obj3994z00_1584;BgL_approxz00_bglt BgL_val3993z00_1585;
BgL_obj3994z00_1584 = 
(BgL_makezd2structzd2appz00_bglt)(BgL_wnodez00_1452); 
BgL_val3993z00_1585 = BgL_arg4838z00_1453; 
{ 
obj_t BgL_auxz00_2039;
{ /* ./Cfa/struct.scm 46 */
BgL_objectz00_bglt BgL_auxz00_2040;
BgL_auxz00_2040 = 
(BgL_objectz00_bglt)(BgL_obj3994z00_1584); 
BgL_auxz00_2039 = 
BGL_OBJECT_WIDENING(BgL_auxz00_2040); } 
return 
((((BgL_makezd2structzd2appz00_bglt)CREF(BgL_auxz00_2039))->BgL_approxz00) = ((BgL_approxz00_bglt)BgL_val3993z00_1585), BUNSPEC);} } } } } } } } } 
}



/* imported-modules-init */
obj_t BGl_importedzd2moduleszd2initz00zzcfa_structz00()
{ AN_OBJECT;
{ /* ./Cfa/struct.scm 17 */
BGl_modulezd2initializa7ationz75zztools_tracez00(((long)59211), "cfa_struct"); 
BGl_modulezd2initializa7ationz75zztools_errorz00(((long)25566), "cfa_struct"); 
BGl_modulezd2initializa7ationz75zztools_shapez00(((long)30833), "cfa_struct"); 
BGl_modulezd2initializa7ationz75zztype_typez00(((long)19090), "cfa_struct"); 
BGl_modulezd2initializa7ationz75zztype_cachez00(((long)25848), "cfa_struct"); 
BGl_modulezd2initializa7ationz75zzast_varz00(((long)44246), "cfa_struct"); 
BGl_modulezd2initializa7ationz75zzast_nodez00(((long)50868), "cfa_struct"); 
BGl_modulezd2initializa7ationz75zzcfa_infoz00(((long)2565), "cfa_struct"); 
BGl_modulezd2initializa7ationz75zzcfa_info2z00(((long)0), "cfa_struct"); 
BGl_modulezd2initializa7ationz75zzcfa_loosez00(((long)78579), "cfa_struct"); 
BGl_modulezd2initializa7ationz75zzcfa_iteratez00(((long)17824), "cfa_struct"); 
BGl_modulezd2initializa7ationz75zzcfa_cfaz00(((long)65191), "cfa_struct"); 
BGl_modulezd2initializa7ationz75zzcfa_setupz00(((long)47065), "cfa_struct"); 
return 
BGl_modulezd2initializa7ationz75zzcfa_approxz00(((long)43477), "cfa_struct");} 
}

