/*===========================================================================*/
/*   (Cfa/box.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/box.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_boxz00();
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);
extern BgL_approxz00_bglt BGl_unionzd2approxz12zc0zzcfa_approxz00(BgL_approxz00_bglt, BgL_approxz00_bglt);
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);
extern obj_t BGl_wideningzd2boxzd2refzf2Ozd2Cinfoz20zzcfa_infoz00(BgL_approxz00_bglt);
extern obj_t BGl_prezd2makezd2boxz00zzcfa_infoz00;
extern BgL_approxz00_bglt BGl_makezd2typezd2alloczd2approxzd2zzcfa_approxz00(BgL_typez00_bglt, BgL_nodez00_bglt);
BGL_IMPORT obj_t BGl_za2classesza2z00zz__objectz00;
extern obj_t BGl_boxzd2setz12zf2Ozd2Cinfoze0zzcfa_infoz00;
extern obj_t BGl_wideningzd2boxzd2setz12zf2Cinfoze0zzcfa_infoz00(BgL_approxz00_bglt);
extern obj_t BGl_boxzd2refzd2zzast_nodez00;
static obj_t BGl_cfaz12zd2makezd2boxzf2Ozd2Cinfo4116z32zzcfa_boxz00(obj_t, obj_t);
static obj_t BGl_cnstzd2initzd2zzcfa_boxz00();
extern obj_t BGl_makezd2boxzf2Cinfoz20zzcfa_infoz00;
static obj_t BGl_zc3anonymousza34999ze3z83zzcfa_boxz00(obj_t, obj_t);
extern obj_t BGl_za2unspecza2z00zztype_cachez00;
static obj_t BGl_importedzd2moduleszd2initz00zzcfa_boxz00();
extern obj_t BGl_makezd2boxzd2zzast_nodez00;
extern obj_t BGl_boxzd2setz12zf2Cinfoz32zzcfa_infoz00;
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_loosezd2allocz12zd2makezd2box4123zc0zzcfa_boxz00(obj_t, obj_t);
static obj_t BGl_toplevelzd2initzd2zzcfa_boxz00();
extern obj_t BGl_boxzd2setz12zc0zzast_nodez00;
static obj_t BGl_nodezd2setupz12zd2boxzd2setz124112zd2zzcfa_boxz00(obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zzcfa_boxz00(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_modulezd2initializa7ationz75zzengine_paramz00(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_setupz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzcfa_approxz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzcfa_cfaz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzcfa_iteratez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzcfa_closurez00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__objectz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__readerz00(long, char *);
extern obj_t BGl_boxzd2refzf2Ozd2Cinfozf2zzcfa_infoz00;
extern obj_t BGl_nodezd2setupz12zc0zzcfa_setupz00(BgL_nodez00_bglt);
extern obj_t BGl_approxzd2setzd2topz12z12zzcfa_approxz00(BgL_approxz00_bglt);
extern obj_t BGl_boxzd2refzf2Cinfoz20zzcfa_infoz00;
extern obj_t BGl_shapez00zztools_shapez00(obj_t);
extern BgL_approxz00_bglt BGl_makezd2typezd2approxz00zzcfa_approxz00(BgL_typez00_bglt);
static obj_t BGl_cfaz12zd2boxzd2refzf2Ozd2Cinfo4119z32zzcfa_boxz00(obj_t, obj_t);
static obj_t BGl_nodezd2setupz12zd2boxzd2ref4114zc0zzcfa_boxz00(obj_t, obj_t);
static obj_t BGl_nodezd2setupz12zd2prezd2makezd2box4110z12zzcfa_boxz00(obj_t, obj_t);
extern obj_t BGl_za2optimza2z00zzengine_paramz00;
extern obj_t BGl_forzd2eachzd2approxzd2alloczd2zzcfa_approxz00(obj_t, BgL_approxz00_bglt);
extern obj_t BGl_internalzd2errorzd2zztools_errorz00(obj_t, obj_t, obj_t);
static obj_t BGl_zc3anonymousza35032ze3z83zzcfa_boxz00(obj_t, obj_t);
extern obj_t BGl_wideningzd2boxzd2refzf2Cinfozf2zzcfa_infoz00(BgL_approxz00_bglt);
static obj_t BGl_cfaz12zd2boxzd2setz12zf2Ozd2Cinfo4121z20zzcfa_boxz00(obj_t, obj_t);
extern obj_t BGl_za2objza2z00zztype_cachez00;
extern obj_t BGl_wideningzd2boxzd2setz12zf2Ozd2Cinfoz32zzcfa_infoz00(BgL_approxz00_bglt);
static obj_t BGl_requirezd2initializa7ationz75zzcfa_boxz00 = BUNSPEC;
BGL_IMPORT obj_t BGl_classzd2superzd2zz__objectz00(obj_t);
extern obj_t BGl_wideningzd2makezd2boxzf2Ozd2Cinfoz20zzcfa_infoz00(BgL_approxz00_bglt, BgL_approxz00_bglt);
extern obj_t BGl_makezd2boxzf2Ozd2Cinfozf2zzcfa_infoz00;
static obj_t BGl_libraryzd2moduleszd2initz00zzcfa_boxz00();
static obj_t BGl_nodezd2setupz12zd2makezd2box4108zc0zzcfa_boxz00(obj_t, obj_t);
extern obj_t BGl_wideningzd2makezd2boxzf2Cinfozf2zzcfa_infoz00(BgL_approxz00_bglt);
static obj_t __cnst[ 1 ] ;


extern obj_t BGl_cfaz12zd2envzc0zzcfa_cfaz00;
DEFINE_STATIC_PROCEDURE( BGl_proc5213z00zzcfa_boxz00, BgL_bgl_nodeza7d2setupza712za7d2makeza7d2box4108za7c0za7za7cfa_boxza7005250z00, BGl_nodezd2setupz12zd2makezd2box4108zc0zzcfa_boxz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc5214z00zzcfa_boxz00, BgL_bgl_nodeza7d2setupza712za7d2preza7d2makeza7d2box4110za712za7za7cfa_boxza7005251za7, BGl_nodezd2setupz12zd2prezd2makezd2box4110z12zzcfa_boxz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc5215z00zzcfa_boxz00, BgL_bgl_nodeza7d2setupza712za7d2boxza7d2setza7124112za7d2za7za7cfa_boxza7005252za7, BGl_nodezd2setupz12zd2boxzd2setz124112zd2zzcfa_boxz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc5216z00zzcfa_boxz00, BgL_bgl_nodeza7d2setupza712za7d2boxza7d2ref4114za7c0za7za7cfa_boxza7005253z00, BGl_nodezd2setupz12zd2boxzd2ref4114zc0zzcfa_boxz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc5217z00zzcfa_boxz00, BgL_bgl_cfaza712za7d2makeza7d2boxza7f2oza7d2cinfo4116za732za7za7cfa_boxza7005254za7, BGl_cfaz12zd2makezd2boxzf2Ozd2Cinfo4116z32zzcfa_boxz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc5218z00zzcfa_boxz00, BgL_bgl_cfaza712za7d2boxza7d2refza7f2oza7d2cinfo4119za732za7za7cfa_boxza7005255za7, BGl_cfaz12zd2boxzd2refzf2Ozd2Cinfo4119z32zzcfa_boxz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc5220z00zzcfa_boxz00, BgL_bgl_looseza7d2allocza712za7d2makeza7d2box4123za7c0za7za7cfa_boxza7005256z00, BGl_loosezd2allocz12zd2makezd2box4123zc0zzcfa_boxz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc5219z00zzcfa_boxz00, BgL_bgl_cfaza712za7d2boxza7d2setza712za7f2oza7d2cinfo4121za720za7za7cfa_boxza7005257z00, BGl_cfaz12zd2boxzd2setz12zf2Ozd2Cinfo4121z20zzcfa_boxz00, 0L, 1 );
extern obj_t BGl_nodezd2setupz12zd2envz12zzcfa_setupz00;
extern obj_t BGl_loosezd2allocz12zd2envz12zzcfa_loosez00;
DEFINE_STRING( BGl_string5223z00zzcfa_boxz00, BgL_bgl_string5223za700za7za7cfa_boxza7005258z00, "all ", 4 );
DEFINE_STRING( BGl_string5222z00zzcfa_boxz00, BgL_bgl_string5222za700za7za7cfa_boxza7005259z00, "Illegal mixed of optimized and unoptimize `make-box'", 52 );
DEFINE_STRING( BGl_string5221z00zzcfa_boxz00, BgL_bgl_string5221za700za7za7cfa_boxza7005260z00, "box-ref", 7 );



/* module-initialization */
BGL_EXPORTED_DEF obj_t BGl_modulezd2initializa7ationz75zzcfa_boxz00(long BgL_checksumz00_1673, char * BgL_fromz00_1674)
{ AN_OBJECT;
{ 
if(
CBOOL(BGl_requirezd2initializa7ationz75zzcfa_boxz00))
{ 
BGl_requirezd2initializa7ationz75zzcfa_boxz00 = 
BBOOL(((bool_t)0)); 
BGl_libraryzd2moduleszd2initz00zzcfa_boxz00(); 
BGl_cnstzd2initzd2zzcfa_boxz00(); 
BGl_importedzd2moduleszd2initz00zzcfa_boxz00(); 
BGl_methodzd2initzd2zzcfa_boxz00(); 
return BUNSPEC;}  else 
{ 
return BUNSPEC;} } 
}



/* library-modules-init */
obj_t BGl_libraryzd2moduleszd2initz00zzcfa_boxz00()
{ AN_OBJECT;
{ /* ./Cfa/box.scm 15 */
BGl_modulezd2initializa7ationz75zz__objectz00(((long)0), "cfa_box"); 
BGl_modulezd2initializa7ationz75zz__readerz00(((long)0), "cfa_box"); 
return BUNSPEC;} 
}



/* cnst-init */
obj_t BGl_cnstzd2initzd2zzcfa_boxz00()
{ AN_OBJECT;
{ /* ./Cfa/box.scm 15 */
{ /* ./Cfa/box.scm 15 */
obj_t BgL_cportz00_1664;
BgL_cportz00_1664 = 
open_input_string(BGl_string5223z00zzcfa_boxz00); 
{ 
long BgL_iz00_1665;
BgL_iz00_1665 = ((long)0); 
BgL_loopz00_1666:
{ /* ./Cfa/box.scm 15 */
bool_t BgL_test5225z00_1667;
BgL_test5225z00_1667 = 
(BgL_iz00_1665==((long)-1)); 
if(BgL_test5225z00_1667)
{ /* ./Cfa/box.scm 15 */
return BUNSPEC;}  else 
{ /* ./Cfa/box.scm 15 */
{ /* ./Cfa/box.scm 15 */
obj_t BgL_arg5227z00_1668;
{ /* ./Cfa/box.scm 15 */
obj_t BgL_list5230z00_1669;
BgL_list5230z00_1669 = 
MAKE_PAIR(BgL_cportz00_1664, BNIL); 
BgL_arg5227z00_1668 = 
BGl_readz00zz__readerz00(BgL_list5230z00_1669); } 
{ /* ./Cfa/box.scm 15 */
int BgL_auxz00_1689;
BgL_auxz00_1689 = 
(int)(BgL_iz00_1665); 
CNST_TABLE_SET(BgL_auxz00_1689, BgL_arg5227z00_1668); } } 
{ /* ./Cfa/box.scm 15 */
int BgL_auxz00_1670;
{ /* ./Cfa/box.scm 15 */
long BgL_auxz00_1692;
BgL_auxz00_1692 = 
(BgL_iz00_1665-((long)1)); 
BgL_auxz00_1670 = 
(int)(BgL_auxz00_1692); } 
{ 
long BgL_iz00_1695;
BgL_iz00_1695 = 
(long)(BgL_auxz00_1670); 
BgL_iz00_1665 = BgL_iz00_1695; 
goto BgL_loopz00_1666;} } } } } } } 
}



/* toplevel-init */
obj_t BGl_toplevelzd2initzd2zzcfa_boxz00()
{ AN_OBJECT;
{ /* ./Cfa/box.scm 15 */
return BUNSPEC;} 
}



/* method-init */
obj_t BGl_methodzd2initzd2zzcfa_boxz00()
{ AN_OBJECT;
{ /* ./Cfa/box.scm 15 */
BGl_addzd2methodz12zc0zz__objectz00(BGl_nodezd2setupz12zd2envz12zzcfa_setupz00, BGl_makezd2boxzd2zzast_nodez00, BGl_proc5213z00zzcfa_boxz00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_nodezd2setupz12zd2envz12zzcfa_setupz00, BGl_prezd2makezd2boxz00zzcfa_infoz00, BGl_proc5214z00zzcfa_boxz00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_nodezd2setupz12zd2envz12zzcfa_setupz00, BGl_boxzd2setz12zc0zzast_nodez00, BGl_proc5215z00zzcfa_boxz00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_nodezd2setupz12zd2envz12zzcfa_setupz00, BGl_boxzd2refzd2zzast_nodez00, BGl_proc5216z00zzcfa_boxz00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_cfaz12zd2envzc0zzcfa_cfaz00, BGl_makezd2boxzf2Ozd2Cinfozf2zzcfa_infoz00, BGl_proc5217z00zzcfa_boxz00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_cfaz12zd2envzc0zzcfa_cfaz00, BGl_boxzd2refzf2Ozd2Cinfozf2zzcfa_infoz00, BGl_proc5218z00zzcfa_boxz00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_cfaz12zd2envzc0zzcfa_cfaz00, BGl_boxzd2setz12zf2Ozd2Cinfoze0zzcfa_infoz00, BGl_proc5219z00zzcfa_boxz00); 
return 
BGl_addzd2methodz12zc0zz__objectz00(BGl_loosezd2allocz12zd2envz12zzcfa_loosez00, BGl_makezd2boxzd2zzast_nodez00, BGl_proc5220z00zzcfa_boxz00);} 
}



/* loose-alloc!-make-box4123 */
obj_t BGl_loosezd2allocz12zd2makezd2box4123zc0zzcfa_boxz00(obj_t BgL_envz00_1634, obj_t BgL_allocz00_1635)
{ AN_OBJECT;
{ /* ./Cfa/box.scm 145 */
return BUNSPEC;} 
}



/* cfa!-box-set!/O-Cinfo4121 */
obj_t BGl_cfaz12zd2boxzd2setz12zf2Ozd2Cinfo4121z20zzcfa_boxz00(obj_t BgL_envz00_1636, obj_t BgL_nodez00_1637)
{ AN_OBJECT;
{ /* ./Cfa/box.scm 117 */
{ 
BgL_boxzd2setz12zf2ozd2cinfoze0_bglt BgL_nodez00_1540;
{ /* ./Cfa/box.scm 118 */
BgL_approxz00_bglt BgL_auxz00_1705;
BgL_nodez00_1540 = 
(BgL_boxzd2setz12zf2ozd2cinfoze0_bglt)(BgL_nodez00_1637); 
{ /* ./Cfa/box.scm 119 */
BgL_approxz00_bglt BgL_boxzd2approxzd2_1544;BgL_approxz00_bglt BgL_valzd2approxzd2_1545;
{ /* ./Cfa/box.scm 119 */
BgL_varz00_bglt BgL_arg5049z00_1558;
{ /* ./Cfa/box.scm 119 */
BgL_boxzd2setz12zc0_bglt BgL_obj2640z00_1617;
BgL_obj2640z00_1617 = 
(BgL_boxzd2setz12zc0_bglt)(BgL_nodez00_1540); 
BgL_arg5049z00_1558 = 
(((BgL_boxzd2setz12zc0_bglt)CREF(BgL_obj2640z00_1617))->BgL_varz00); } 
BgL_boxzd2approxzd2_1544 = 
BGl_cfaz12z12zzcfa_cfaz00(
(BgL_nodez00_bglt)(BgL_arg5049z00_1558)); } 
{ /* ./Cfa/box.scm 120 */
BgL_nodez00_bglt BgL_arg5053z00_1559;
{ /* ./Cfa/box.scm 120 */
BgL_boxzd2setz12zc0_bglt BgL_obj2643z00_1618;
BgL_obj2643z00_1618 = 
(BgL_boxzd2setz12zc0_bglt)(BgL_nodez00_1540); 
BgL_arg5053z00_1559 = 
(((BgL_boxzd2setz12zc0_bglt)CREF(BgL_obj2643z00_1618))->BgL_valuez00); } 
BgL_valzd2approxzd2_1545 = 
BGl_cfaz12z12zzcfa_cfaz00(BgL_arg5053z00_1559); } 
{ /* ./Cfa/box.scm 122 */
bool_t BgL_test5027z00_1546;
BgL_test5027z00_1546 = 
(((BgL_approxz00_bglt)CREF(BgL_boxzd2approxzd2_1544))->BgL_topzf3zf3); 
if(BgL_test5027z00_1546)
{ /* ./Cfa/box.scm 124 */
BgL_approxz00_bglt BgL_auxz00_1715;
BgL_auxz00_1715 = 
BGl_loosez12z12zzcfa_loosez00(BgL_valzd2approxzd2_1545, 
CNST_TABLE_REF(((long)0))); 
(obj_t)(BgL_auxz00_1715); }  else 
{ /* ./Cfa/box.scm 128 */
obj_t BgL_zc3anonymousza35032ze3z83_1625;
{ 
int BgL_auxz00_1721;int BgL_auxz00_1719;
BgL_auxz00_1721 = 
(int)(((long)2)); 
BgL_auxz00_1719 = 
(int)(((long)1)); 
BgL_zc3anonymousza35032ze3z83_1625 = 
make_fx_procedure(BGl_zc3anonymousza35032ze3z83zzcfa_boxz00, BgL_auxz00_1719, BgL_auxz00_1721); } 
{ /* ./Cfa/box.scm 128 */
obj_t BgL_auxz00_1726;int BgL_auxz00_1724;
BgL_auxz00_1726 = 
(obj_t)(BgL_nodez00_1540); 
BgL_auxz00_1724 = 
(int)(((long)0)); 
PROCEDURE_SET(BgL_zc3anonymousza35032ze3z83_1625, BgL_auxz00_1724, BgL_auxz00_1726); } 
{ /* ./Cfa/box.scm 128 */
obj_t BgL_auxz00_1731;int BgL_auxz00_1729;
BgL_auxz00_1731 = 
(obj_t)(BgL_valzd2approxzd2_1545); 
BgL_auxz00_1729 = 
(int)(((long)1)); 
PROCEDURE_SET(BgL_zc3anonymousza35032ze3z83_1625, BgL_auxz00_1729, BgL_auxz00_1731); } 
BGl_forzd2eachzd2approxzd2alloczd2zzcfa_approxz00(BgL_zc3anonymousza35032ze3z83_1625, BgL_boxzd2approxzd2_1544); } } } 
{ 
obj_t BgL_auxz00_1735;
{ /* ./Cfa/box.scm 137 */
BgL_objectz00_bglt BgL_auxz00_1736;
BgL_auxz00_1736 = 
(BgL_objectz00_bglt)(BgL_nodez00_1540); 
BgL_auxz00_1735 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1736); } 
BgL_auxz00_1705 = 
(((BgL_boxzd2setz12zf2ozd2cinfoze0_bglt)CREF(BgL_auxz00_1735))->BgL_approxz00); } 
return 
(obj_t)(BgL_auxz00_1705);} } } 
}



/* <anonymous:5032> */
obj_t BGl_zc3anonymousza35032ze3z83zzcfa_boxz00(obj_t BgL_envz00_1638, obj_t BgL_boxz00_1641)
{ AN_OBJECT;
{ /* ./Cfa/box.scm 126 */
{ /* ./Cfa/box.scm 128 */
obj_t BgL_nodez00_1639;obj_t BgL_valzd2approxzd2_1640;
{ /* ./Cfa/box.scm 128 */
int BgL_auxz00_1742;
BgL_auxz00_1742 = 
(int)(((long)0)); 
BgL_nodez00_1639 = 
PROCEDURE_REF(BgL_envz00_1638, BgL_auxz00_1742); } 
{ /* ./Cfa/box.scm 128 */
int BgL_auxz00_1745;
BgL_auxz00_1745 = 
(int)(((long)1)); 
BgL_valzd2approxzd2_1640 = 
PROCEDURE_REF(BgL_envz00_1638, BgL_auxz00_1745); } 
{ 
obj_t BgL_boxz00_1548;
BgL_boxz00_1548 = BgL_boxz00_1641; 
{ /* ./Cfa/box.scm 128 */
bool_t BgL_test5033z00_1550;
BgL_test5033z00_1550 = 
BGl_iszd2azf3z21zz__objectz00(BgL_boxz00_1548, BGl_makezd2boxzf2Ozd2Cinfozf2zzcfa_infoz00); 
if(BgL_test5033z00_1550)
{ /* ./Cfa/box.scm 128 */
{ /* ./Cfa/box.scm 130 */
BgL_approxz00_bglt BgL_arg5035z00_1552;
{ /* ./Cfa/box.scm 130 */
BgL_makezd2boxzf2ozd2cinfozf2_bglt BgL_obj3387z00_1621;
BgL_obj3387z00_1621 = 
(BgL_makezd2boxzf2ozd2cinfozf2_bglt)(BgL_boxz00_1548); 
{ 
obj_t BgL_auxz00_1751;
{ /* ./Cfa/box.scm 130 */
BgL_objectz00_bglt BgL_auxz00_1752;
BgL_auxz00_1752 = 
(BgL_objectz00_bglt)(BgL_obj3387z00_1621); 
BgL_auxz00_1751 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1752); } 
BgL_arg5035z00_1552 = 
(((BgL_makezd2boxzf2ozd2cinfozf2_bglt)CREF(BgL_auxz00_1751))->BgL_valuezd2approxzd2); } } 
{ /* ./Cfa/box.scm 130 */
BgL_approxz00_bglt BgL_auxz00_1756;
BgL_auxz00_1756 = 
BGl_unionzd2approxz12zc0zzcfa_approxz00(BgL_arg5035z00_1552, 
(BgL_approxz00_bglt)(BgL_valzd2approxzd2_1640)); 
return 
(obj_t)(BgL_auxz00_1756);} } }  else 
{ /* ./Cfa/box.scm 131 */
bool_t BgL_test5038z00_1553;
BgL_test5038z00_1553 = 
BGl_iszd2azf3z21zz__objectz00(BgL_boxz00_1548, BGl_makezd2boxzf2Cinfoz20zzcfa_infoz00); 
if(BgL_test5038z00_1553)
{ /* ./Cfa/box.scm 131 */
{ /* ./Cfa/box.scm 132 */
obj_t BgL_arg5042z00_1556;
BgL_arg5042z00_1556 = 
BGl_shapez00zztools_shapez00(BgL_nodez00_1639); 
return 
BGl_internalzd2errorzd2zztools_errorz00(BGl_string5221z00zzcfa_boxz00, BGl_string5222z00zzcfa_boxz00, BgL_arg5042z00_1556);} }  else 
{ /* ./Cfa/box.scm 131 */
return BFALSE;} } } } } } 
}



/* cfa!-box-ref/O-Cinfo4119 */
obj_t BGl_cfaz12zd2boxzd2refzf2Ozd2Cinfo4119z32zzcfa_boxz00(obj_t BgL_envz00_1642, obj_t BgL_nodez00_1643)
{ AN_OBJECT;
{ /* ./Cfa/box.scm 97 */
{ 
BgL_boxzd2refzf2ozd2cinfozf2_bglt BgL_nodez00_1520;
{ /* ./Cfa/box.scm 98 */
BgL_approxz00_bglt BgL_auxz00_1764;
BgL_nodez00_1520 = 
(BgL_boxzd2refzf2ozd2cinfozf2_bglt)(BgL_nodez00_1643); 
{ /* ./Cfa/box.scm 99 */
BgL_approxz00_bglt BgL_boxzd2approxzd2_1524;
{ /* ./Cfa/box.scm 99 */
BgL_varz00_bglt BgL_arg5017z00_1537;
{ /* ./Cfa/box.scm 99 */
BgL_boxzd2refzd2_bglt BgL_obj2614z00_1611;
BgL_obj2614z00_1611 = 
(BgL_boxzd2refzd2_bglt)(BgL_nodez00_1520); 
BgL_arg5017z00_1537 = 
(((BgL_boxzd2refzd2_bglt)CREF(BgL_obj2614z00_1611))->BgL_varz00); } 
BgL_boxzd2approxzd2_1524 = 
BGl_cfaz12z12zzcfa_cfaz00(
(BgL_nodez00_bglt)(BgL_arg5017z00_1537)); } 
{ /* ./Cfa/box.scm 103 */
obj_t BgL_zc3anonymousza34999ze3z83_1627;
{ 
int BgL_auxz00_1771;int BgL_auxz00_1769;
BgL_auxz00_1771 = 
(int)(((long)2)); 
BgL_auxz00_1769 = 
(int)(((long)1)); 
BgL_zc3anonymousza34999ze3z83_1627 = 
make_fx_procedure(BGl_zc3anonymousza34999ze3z83zzcfa_boxz00, BgL_auxz00_1769, BgL_auxz00_1771); } 
{ /* ./Cfa/box.scm 103 */
obj_t BgL_auxz00_1776;int BgL_auxz00_1774;
BgL_auxz00_1776 = 
(obj_t)(BgL_nodez00_1520); 
BgL_auxz00_1774 = 
(int)(((long)0)); 
PROCEDURE_SET(BgL_zc3anonymousza34999ze3z83_1627, BgL_auxz00_1774, BgL_auxz00_1776); } 
{ /* ./Cfa/box.scm 103 */
obj_t BgL_auxz00_1781;int BgL_auxz00_1779;
BgL_auxz00_1781 = 
(obj_t)(BgL_nodez00_1520); 
BgL_auxz00_1779 = 
(int)(((long)1)); 
PROCEDURE_SET(BgL_zc3anonymousza34999ze3z83_1627, BgL_auxz00_1779, BgL_auxz00_1781); } 
BGl_forzd2eachzd2approxzd2alloczd2zzcfa_approxz00(BgL_zc3anonymousza34999ze3z83_1627, BgL_boxzd2approxzd2_1524); } } 
{ 
obj_t BgL_auxz00_1785;
{ /* ./Cfa/box.scm 112 */
BgL_objectz00_bglt BgL_auxz00_1786;
BgL_auxz00_1786 = 
(BgL_objectz00_bglt)(BgL_nodez00_1520); 
BgL_auxz00_1785 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1786); } 
BgL_auxz00_1764 = 
(((BgL_boxzd2refzf2ozd2cinfozf2_bglt)CREF(BgL_auxz00_1785))->BgL_approxz00); } 
return 
(obj_t)(BgL_auxz00_1764);} } } 
}



/* <anonymous:4999> */
obj_t BGl_zc3anonymousza34999ze3z83zzcfa_boxz00(obj_t BgL_envz00_1644, obj_t BgL_boxz00_1647)
{ AN_OBJECT;
{ /* ./Cfa/box.scm 101 */
{ /* ./Cfa/box.scm 103 */
obj_t BgL_nodez00_1645;obj_t BgL_instance4099z00_1646;
{ /* ./Cfa/box.scm 103 */
int BgL_auxz00_1792;
BgL_auxz00_1792 = 
(int)(((long)0)); 
BgL_nodez00_1645 = 
PROCEDURE_REF(BgL_envz00_1644, BgL_auxz00_1792); } 
{ /* ./Cfa/box.scm 103 */
int BgL_auxz00_1795;
BgL_auxz00_1795 = 
(int)(((long)1)); 
BgL_instance4099z00_1646 = 
PROCEDURE_REF(BgL_envz00_1644, BgL_auxz00_1795); } 
{ 
obj_t BgL_boxz00_1526;
BgL_boxz00_1526 = BgL_boxz00_1647; 
{ /* ./Cfa/box.scm 103 */
bool_t BgL_test5000z00_1528;
BgL_test5000z00_1528 = 
BGl_iszd2azf3z21zz__objectz00(BgL_boxz00_1526, BGl_makezd2boxzf2Ozd2Cinfozf2zzcfa_infoz00); 
if(BgL_test5000z00_1528)
{ /* ./Cfa/box.scm 103 */
{ /* ./Cfa/box.scm 105 */
BgL_approxz00_bglt BgL_arg5002z00_1530;BgL_approxz00_bglt BgL_arg5003z00_1531;
{ /* ./Cfa/box.scm 105 */
BgL_boxzd2refzf2ozd2cinfozf2_bglt BgL_obj3485z00_1613;
BgL_obj3485z00_1613 = 
(BgL_boxzd2refzf2ozd2cinfozf2_bglt)(BgL_instance4099z00_1646); 
{ 
obj_t BgL_auxz00_1801;
{ /* ./Cfa/box.scm 105 */
BgL_objectz00_bglt BgL_auxz00_1802;
BgL_auxz00_1802 = 
(BgL_objectz00_bglt)(BgL_obj3485z00_1613); 
BgL_auxz00_1801 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1802); } 
BgL_arg5002z00_1530 = 
(((BgL_boxzd2refzf2ozd2cinfozf2_bglt)CREF(BgL_auxz00_1801))->BgL_approxz00); } } 
{ /* ./Cfa/box.scm 105 */
BgL_makezd2boxzf2ozd2cinfozf2_bglt BgL_obj3387z00_1614;
BgL_obj3387z00_1614 = 
(BgL_makezd2boxzf2ozd2cinfozf2_bglt)(BgL_boxz00_1526); 
{ 
obj_t BgL_auxz00_1807;
{ /* ./Cfa/box.scm 105 */
BgL_objectz00_bglt BgL_auxz00_1808;
BgL_auxz00_1808 = 
(BgL_objectz00_bglt)(BgL_obj3387z00_1614); 
BgL_auxz00_1807 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1808); } 
BgL_arg5003z00_1531 = 
(((BgL_makezd2boxzf2ozd2cinfozf2_bglt)CREF(BgL_auxz00_1807))->BgL_valuezd2approxzd2); } } 
{ /* ./Cfa/box.scm 105 */
BgL_approxz00_bglt BgL_auxz00_1812;
BgL_auxz00_1812 = 
BGl_unionzd2approxz12zc0zzcfa_approxz00(BgL_arg5002z00_1530, BgL_arg5003z00_1531); 
return 
(obj_t)(BgL_auxz00_1812);} } }  else 
{ /* ./Cfa/box.scm 106 */
bool_t BgL_test5007z00_1532;
BgL_test5007z00_1532 = 
BGl_iszd2azf3z21zz__objectz00(BgL_boxz00_1526, BGl_makezd2boxzf2Cinfoz20zzcfa_infoz00); 
if(BgL_test5007z00_1532)
{ /* ./Cfa/box.scm 106 */
{ /* ./Cfa/box.scm 107 */
obj_t BgL_arg5011z00_1535;
BgL_arg5011z00_1535 = 
BGl_shapez00zztools_shapez00(BgL_nodez00_1645); 
return 
BGl_internalzd2errorzd2zztools_errorz00(BGl_string5221z00zzcfa_boxz00, BGl_string5222z00zzcfa_boxz00, BgL_arg5011z00_1535);} }  else 
{ /* ./Cfa/box.scm 106 */
return BFALSE;} } } } } } 
}



/* cfa!-make-box/O-Cinfo4116 */
obj_t BGl_cfaz12zd2makezd2boxzf2Ozd2Cinfo4116z32zzcfa_boxz00(obj_t BgL_envz00_1648, obj_t BgL_nodez00_1649)
{ AN_OBJECT;
{ /* ./Cfa/box.scm 87 */
{ 
BgL_makezd2boxzf2ozd2cinfozf2_bglt BgL_nodez00_1511;
{ /* ./Cfa/box.scm 88 */
BgL_approxz00_bglt BgL_auxz00_1819;
BgL_nodez00_1511 = 
(BgL_makezd2boxzf2ozd2cinfozf2_bglt)(BgL_nodez00_1649); 
{ /* ./Cfa/box.scm 90 */
BgL_approxz00_bglt BgL_initzd2valuezd2approxz00_1515;
{ /* ./Cfa/box.scm 90 */
BgL_nodez00_bglt BgL_arg4987z00_1517;
{ /* ./Cfa/box.scm 90 */
BgL_makezd2boxzd2_bglt BgL_obj2582z00_1608;
BgL_obj2582z00_1608 = 
(BgL_makezd2boxzd2_bglt)(BgL_nodez00_1511); 
BgL_arg4987z00_1517 = 
(((BgL_makezd2boxzd2_bglt)CREF(BgL_obj2582z00_1608))->BgL_valuez00); } 
BgL_initzd2valuezd2approxz00_1515 = 
BGl_cfaz12z12zzcfa_cfaz00(BgL_arg4987z00_1517); } 
{ /* ./Cfa/box.scm 91 */
BgL_approxz00_bglt BgL_arg4982z00_1516;
{ 
obj_t BgL_auxz00_1823;
{ /* ./Cfa/box.scm 91 */
BgL_objectz00_bglt BgL_auxz00_1824;
BgL_auxz00_1824 = 
(BgL_objectz00_bglt)(BgL_nodez00_1511); 
BgL_auxz00_1823 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1824); } 
BgL_arg4982z00_1516 = 
(((BgL_makezd2boxzf2ozd2cinfozf2_bglt)CREF(BgL_auxz00_1823))->BgL_valuezd2approxzd2); } 
BGl_unionzd2approxz12zc0zzcfa_approxz00(BgL_arg4982z00_1516, BgL_initzd2valuezd2approxz00_1515); } 
{ 
obj_t BgL_auxz00_1829;
{ /* ./Cfa/box.scm 92 */
BgL_objectz00_bglt BgL_auxz00_1830;
BgL_auxz00_1830 = 
(BgL_objectz00_bglt)(BgL_nodez00_1511); 
BgL_auxz00_1829 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1830); } 
BgL_auxz00_1819 = 
(((BgL_makezd2boxzf2ozd2cinfozf2_bglt)CREF(BgL_auxz00_1829))->BgL_approxz00); } } 
return 
(obj_t)(BgL_auxz00_1819);} } } 
}



/* node-setup!-box-ref4114 */
obj_t BGl_nodezd2setupz12zd2boxzd2ref4114zc0zzcfa_boxz00(obj_t BgL_envz00_1650, obj_t BgL_nodez00_1651)
{ AN_OBJECT;
{ /* ./Cfa/box.scm 73 */
{ 
BgL_boxzd2refzd2_bglt BgL_nodez00_1494;
BgL_nodez00_1494 = 
(BgL_boxzd2refzd2_bglt)(BgL_nodez00_1651); 
{ /* ./Cfa/box.scm 75 */
BgL_varz00_bglt BgL_arg4941z00_1498;
BgL_arg4941z00_1498 = 
(((BgL_boxzd2refzd2_bglt)CREF(BgL_nodez00_1494))->BgL_varz00); 
BGl_nodezd2setupz12zc0zzcfa_setupz00(
(BgL_nodez00_bglt)(BgL_arg4941z00_1498)); } 
{ /* ./Cfa/box.scm 76 */
bool_t BgL_test4944z00_1499;
{ /* ./Cfa/box.scm 76 */
long BgL_n1z00_1599;
BgL_n1z00_1599 = 
(long)CINT(BGl_za2optimza2z00zzengine_paramz00); 
BgL_test4944z00_1499 = 
(BgL_n1z00_1599>=((long)1)); } 
if(BgL_test4944z00_1499)
{ /* ./Cfa/box.scm 77 */
BgL_boxzd2refzd2_bglt BgL_obj4095z00_1500;
BgL_obj4095z00_1500 = 
((BgL_boxzd2refzd2_bglt)BgL_nodez00_1494); 
{ /* ./Cfa/box.scm 78 */
obj_t BgL_arg4946z00_1501;
{ /* ./Cfa/box.scm 78 */
BgL_approxz00_bglt BgL_arg4950z00_1502;
BgL_arg4950z00_1502 = 
BGl_makezd2typezd2approxz00zzcfa_approxz00(
(BgL_typez00_bglt)(BGl_za2objza2z00zztype_cachez00)); 
BgL_arg4946z00_1501 = 
BGl_wideningzd2boxzd2refzf2Ozd2Cinfoz20zzcfa_infoz00(BgL_arg4950z00_1502); } 
{ /* ./Cfa/box.scm 77 */
BgL_objectz00_bglt BgL_auxz00_1846;
BgL_auxz00_1846 = 
(BgL_objectz00_bglt)(BgL_obj4095z00_1500); 
BGL_OBJECT_WIDENING_SET(BgL_auxz00_1846, BgL_arg4946z00_1501); } } 
{ /* ./Cfa/box.scm 77 */
long BgL_arg4954z00_1503;
BgL_arg4954z00_1503 = 
BGl_classzd2numzd2zz__objectz00(BGl_boxzd2refzf2Ozd2Cinfozf2zzcfa_infoz00); 
{ /* ./Cfa/box.scm 77 */
BgL_objectz00_bglt BgL_objz00_1601;
BgL_objz00_1601 = 
(BgL_objectz00_bglt)(BgL_obj4095z00_1500); 
BGL_OBJECT_CLASS_NUM_SET(BgL_objz00_1601, BgL_arg4954z00_1503); } } 
{ /* ./Cfa/box.scm 77 */
obj_t BgL_objz00_1603;
BgL_objz00_1603 = 
(obj_t)(BgL_obj4095z00_1500); 
BGL_HEAP_DEBUG_MARK_OBJ(BgL_objz00_1603); BUNSPEC; } 
return 
(obj_t)(BgL_obj4095z00_1500);}  else 
{ /* ./Cfa/box.scm 76 */
{ /* ./Cfa/box.scm 80 */
BgL_boxzd2refzd2_bglt BgL_obj4096z00_1504;
BgL_obj4096z00_1504 = 
((BgL_boxzd2refzd2_bglt)BgL_nodez00_1494); 
{ /* ./Cfa/box.scm 81 */
obj_t BgL_arg4959z00_1505;
{ /* ./Cfa/box.scm 81 */
BgL_approxz00_bglt BgL_arg4962z00_1506;
BgL_arg4962z00_1506 = 
BGl_makezd2typezd2approxz00zzcfa_approxz00(
(BgL_typez00_bglt)(BGl_za2objza2z00zztype_cachez00)); 
BgL_arg4959z00_1505 = 
BGl_wideningzd2boxzd2refzf2Cinfozf2zzcfa_infoz00(BgL_arg4962z00_1506); } 
{ /* ./Cfa/box.scm 80 */
BgL_objectz00_bglt BgL_auxz00_1859;
BgL_auxz00_1859 = 
(BgL_objectz00_bglt)(BgL_obj4096z00_1504); 
BGL_OBJECT_WIDENING_SET(BgL_auxz00_1859, BgL_arg4959z00_1505); } } 
{ /* ./Cfa/box.scm 80 */
long BgL_arg4966z00_1507;
BgL_arg4966z00_1507 = 
BGl_classzd2numzd2zz__objectz00(BGl_boxzd2refzf2Cinfoz20zzcfa_infoz00); 
{ /* ./Cfa/box.scm 80 */
BgL_objectz00_bglt BgL_objz00_1604;
BgL_objz00_1604 = 
(BgL_objectz00_bglt)(BgL_obj4096z00_1504); 
BGL_OBJECT_CLASS_NUM_SET(BgL_objz00_1604, BgL_arg4966z00_1507); } } 
{ /* ./Cfa/box.scm 80 */
obj_t BgL_objz00_1606;
BgL_objz00_1606 = 
(obj_t)(BgL_obj4096z00_1504); 
BGL_HEAP_DEBUG_MARK_OBJ(BgL_objz00_1606); BUNSPEC; } BgL_obj4096z00_1504; } 
{ /* ./Cfa/box.scm 82 */
BgL_approxz00_bglt BgL_arg4971z00_1508;
{ /* ./Cfa/box.scm 82 */
BgL_boxzd2refzf2cinfoz20_bglt BgL_obj3435z00_1607;
BgL_obj3435z00_1607 = 
(BgL_boxzd2refzf2cinfoz20_bglt)(BgL_nodez00_1494); 
{ 
obj_t BgL_auxz00_1868;
{ /* ./Cfa/box.scm 82 */
BgL_objectz00_bglt BgL_auxz00_1869;
BgL_auxz00_1869 = 
(BgL_objectz00_bglt)(BgL_obj3435z00_1607); 
BgL_auxz00_1868 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1869); } 
BgL_arg4971z00_1508 = 
(((BgL_boxzd2refzf2cinfoz20_bglt)CREF(BgL_auxz00_1868))->BgL_approxz00); } } 
return 
BGl_approxzd2setzd2topz12z12zzcfa_approxz00(BgL_arg4971z00_1508);} } } } } 
}



/* node-setup!-box-set!4112 */
obj_t BGl_nodezd2setupz12zd2boxzd2setz124112zd2zzcfa_boxz00(obj_t BgL_envz00_1652, obj_t BgL_nodez00_1653)
{ AN_OBJECT;
{ /* ./Cfa/box.scm 60 */
{ 
BgL_boxzd2setz12zc0_bglt BgL_nodez00_1477;
{ /* ./Cfa/box.scm 61 */
BgL_boxzd2setz12zc0_bglt BgL_auxz00_1875;
BgL_nodez00_1477 = 
(BgL_boxzd2setz12zc0_bglt)(BgL_nodez00_1653); 
{ /* ./Cfa/box.scm 62 */
BgL_varz00_bglt BgL_arg4901z00_1481;
BgL_arg4901z00_1481 = 
(((BgL_boxzd2setz12zc0_bglt)CREF(BgL_nodez00_1477))->BgL_varz00); 
BGl_nodezd2setupz12zc0zzcfa_setupz00(
(BgL_nodez00_bglt)(BgL_arg4901z00_1481)); } 
{ /* ./Cfa/box.scm 63 */
BgL_nodez00_bglt BgL_arg4905z00_1482;
BgL_arg4905z00_1482 = 
(((BgL_boxzd2setz12zc0_bglt)CREF(BgL_nodez00_1477))->BgL_valuez00); 
BGl_nodezd2setupz12zc0zzcfa_setupz00(BgL_arg4905z00_1482); } 
{ /* ./Cfa/box.scm 64 */
bool_t BgL_test4908z00_1483;
{ /* ./Cfa/box.scm 64 */
long BgL_n1z00_1590;
BgL_n1z00_1590 = 
(long)CINT(BGl_za2optimza2z00zzengine_paramz00); 
BgL_test4908z00_1483 = 
(BgL_n1z00_1590>=((long)1)); } 
if(BgL_test4908z00_1483)
{ /* ./Cfa/box.scm 65 */
BgL_boxzd2setz12zc0_bglt BgL_obj4091z00_1484;
BgL_obj4091z00_1484 = 
((BgL_boxzd2setz12zc0_bglt)BgL_nodez00_1477); 
{ /* ./Cfa/box.scm 66 */
obj_t BgL_arg4910z00_1485;
{ /* ./Cfa/box.scm 66 */
BgL_approxz00_bglt BgL_arg4913z00_1486;
BgL_arg4913z00_1486 = 
BGl_makezd2typezd2approxz00zzcfa_approxz00(
(BgL_typez00_bglt)(BGl_za2unspecza2z00zztype_cachez00)); 
BgL_arg4910z00_1485 = 
BGl_wideningzd2boxzd2setz12zf2Ozd2Cinfoz32zzcfa_infoz00(BgL_arg4913z00_1486); } 
{ /* ./Cfa/box.scm 65 */
BgL_objectz00_bglt BgL_auxz00_1888;
BgL_auxz00_1888 = 
(BgL_objectz00_bglt)(BgL_obj4091z00_1484); 
BGL_OBJECT_WIDENING_SET(BgL_auxz00_1888, BgL_arg4910z00_1485); } } 
{ /* ./Cfa/box.scm 65 */
long BgL_arg4917z00_1487;
BgL_arg4917z00_1487 = 
BGl_classzd2numzd2zz__objectz00(BGl_boxzd2setz12zf2Ozd2Cinfoze0zzcfa_infoz00); 
{ /* ./Cfa/box.scm 65 */
BgL_objectz00_bglt BgL_objz00_1592;
BgL_objz00_1592 = 
(BgL_objectz00_bglt)(BgL_obj4091z00_1484); 
BGL_OBJECT_CLASS_NUM_SET(BgL_objz00_1592, BgL_arg4917z00_1487); } } 
{ /* ./Cfa/box.scm 65 */
obj_t BgL_objz00_1594;
BgL_objz00_1594 = 
(obj_t)(BgL_obj4091z00_1484); 
BGL_HEAP_DEBUG_MARK_OBJ(BgL_objz00_1594); BUNSPEC; } 
BgL_auxz00_1875 = BgL_obj4091z00_1484; }  else 
{ /* ./Cfa/box.scm 67 */
BgL_boxzd2setz12zc0_bglt BgL_obj4092z00_1488;
BgL_obj4092z00_1488 = 
((BgL_boxzd2setz12zc0_bglt)BgL_nodez00_1477); 
{ /* ./Cfa/box.scm 68 */
obj_t BgL_arg4922z00_1489;
{ /* ./Cfa/box.scm 68 */
BgL_approxz00_bglt BgL_arg4925z00_1490;
BgL_arg4925z00_1490 = 
BGl_makezd2typezd2approxz00zzcfa_approxz00(
(BgL_typez00_bglt)(BGl_za2unspecza2z00zztype_cachez00)); 
BgL_arg4922z00_1489 = 
BGl_wideningzd2boxzd2setz12zf2Cinfoze0zzcfa_infoz00(BgL_arg4925z00_1490); } 
{ /* ./Cfa/box.scm 67 */
BgL_objectz00_bglt BgL_auxz00_1900;
BgL_auxz00_1900 = 
(BgL_objectz00_bglt)(BgL_obj4092z00_1488); 
BGL_OBJECT_WIDENING_SET(BgL_auxz00_1900, BgL_arg4922z00_1489); } } 
{ /* ./Cfa/box.scm 67 */
long BgL_arg4929z00_1491;
BgL_arg4929z00_1491 = 
BGl_classzd2numzd2zz__objectz00(BGl_boxzd2setz12zf2Cinfoz32zzcfa_infoz00); 
{ /* ./Cfa/box.scm 67 */
BgL_objectz00_bglt BgL_objz00_1595;
BgL_objz00_1595 = 
(BgL_objectz00_bglt)(BgL_obj4092z00_1488); 
BGL_OBJECT_CLASS_NUM_SET(BgL_objz00_1595, BgL_arg4929z00_1491); } } 
{ /* ./Cfa/box.scm 67 */
obj_t BgL_objz00_1597;
BgL_objz00_1597 = 
(obj_t)(BgL_obj4092z00_1488); 
BGL_HEAP_DEBUG_MARK_OBJ(BgL_objz00_1597); BUNSPEC; } 
BgL_auxz00_1875 = BgL_obj4092z00_1488; } } 
return 
(obj_t)(BgL_auxz00_1875);} } } 
}



/* node-setup!-pre-make-box4110 */
obj_t BGl_nodezd2setupz12zd2prezd2makezd2box4110z12zzcfa_boxz00(obj_t BgL_envz00_1654, obj_t BgL_nodez00_1655)
{ AN_OBJECT;
{ /* ./Cfa/box.scm 46 */
{ 
BgL_prezd2makezd2boxz00_bglt BgL_nodez00_1458;
BgL_nodez00_1458 = 
(BgL_prezd2makezd2boxz00_bglt)(BgL_nodez00_1655); 
{ /* ./Cfa/box.scm 48 */
BgL_nodez00_bglt BgL_arg4862z00_1462;
{ /* ./Cfa/box.scm 48 */
BgL_makezd2boxzd2_bglt BgL_obj2582z00_1572;
BgL_obj2582z00_1572 = 
(BgL_makezd2boxzd2_bglt)(BgL_nodez00_1458); 
BgL_arg4862z00_1462 = 
(((BgL_makezd2boxzd2_bglt)CREF(BgL_obj2582z00_1572))->BgL_valuez00); } 
BGl_nodezd2setupz12zc0zzcfa_setupz00(BgL_arg4862z00_1462); } 
{ /* ./Cfa/box.scm 49 */
BgL_prezd2makezd2boxz00_bglt BgL_nodez00_1463;
{ /* ./Cfa/box.scm 49 */
long BgL_arg4884z00_1472;
{ /* ./Cfa/box.scm 49 */
obj_t BgL_arg4887z00_1473;
{ /* ./Cfa/box.scm 49 */
obj_t BgL_arg4890z00_1474;
{ /* ./Cfa/box.scm 49 */
BgL_objectz00_bglt BgL_objectz00_1573;
BgL_objectz00_1573 = 
(BgL_objectz00_bglt)(BgL_nodez00_1458); 
{ /* ./Cfa/box.scm 49 */
long BgL_arg2036z00_1574;
{ /* ./Cfa/box.scm 49 */
long BgL_arg2039z00_1575;
BgL_arg2039z00_1575 = 
BGL_OBJECT_CLASS_NUM(BgL_objectz00_1573); 
BgL_arg2036z00_1574 = 
(BgL_arg2039z00_1575-OBJECT_TYPE); } 
{ /* ./Cfa/box.scm 49 */
obj_t BgL_vectorz00_1579;int BgL_kz00_1580;
BgL_vectorz00_1579 = BGl_za2classesza2z00zz__objectz00; 
BgL_kz00_1580 = 
(int)(BgL_arg2036z00_1574); 
BgL_arg4890z00_1474 = 
VECTOR_REF(BgL_vectorz00_1579,BgL_kz00_1580); } } } 
BgL_arg4887z00_1473 = 
BGl_classzd2superzd2zz__objectz00(BgL_arg4890z00_1474); } 
BgL_arg4884z00_1472 = 
BGl_classzd2numzd2zz__objectz00(BgL_arg4887z00_1473); } 
{ /* ./Cfa/box.scm 49 */
BgL_objectz00_bglt BgL_objz00_1581;
BgL_objz00_1581 = 
(BgL_objectz00_bglt)(BgL_nodez00_1458); 
BGL_OBJECT_CLASS_NUM_SET(BgL_objz00_1581, BgL_arg4884z00_1472); } } 
{ /* ./Cfa/box.scm 49 */
BgL_objectz00_bglt BgL_auxz00_1922;
BgL_auxz00_1922 = 
(BgL_objectz00_bglt)(BgL_nodez00_1458); 
BGL_OBJECT_WIDENING_SET(BgL_auxz00_1922, BFALSE); } 
BgL_nodez00_1463 = BgL_nodez00_1458; 
{ /* ./Cfa/box.scm 49 */

{ /* ./Cfa/box.scm 50 */
BgL_makezd2boxzd2_bglt BgL_nodez00_1464;
{ /* ./Cfa/box.scm 50 */
BgL_makezd2boxzd2_bglt BgL_obj4088z00_1466;
{ 
BgL_makezd2boxzd2_bglt BgL_auxz00_1925;
BgL_auxz00_1925 = 
(BgL_makezd2boxzd2_bglt)(BgL_nodez00_1463); 
BgL_obj4088z00_1466 = 
((BgL_makezd2boxzd2_bglt)BgL_auxz00_1925); } 
{ /* ./Cfa/box.scm 51 */
obj_t BgL_arg4870z00_1467;
{ /* ./Cfa/box.scm 51 */
BgL_approxz00_bglt BgL_arg4873z00_1468;BgL_approxz00_bglt BgL_arg4874z00_1469;
BgL_arg4873z00_1468 = 
BGl_makezd2typezd2approxz00zzcfa_approxz00(
(BgL_typez00_bglt)(BGl_za2objza2z00zztype_cachez00)); 
BgL_arg4874z00_1469 = 
BGl_makezd2emptyzd2approxz00zzcfa_approxz00(); 
BgL_arg4870z00_1467 = 
BGl_wideningzd2makezd2boxzf2Ozd2Cinfoz20zzcfa_infoz00(BgL_arg4873z00_1468, BgL_arg4874z00_1469); } 
{ /* ./Cfa/box.scm 50 */
BgL_objectz00_bglt BgL_auxz00_1932;
BgL_auxz00_1932 = 
(BgL_objectz00_bglt)(BgL_obj4088z00_1466); 
BGL_OBJECT_WIDENING_SET(BgL_auxz00_1932, BgL_arg4870z00_1467); } } 
{ /* ./Cfa/box.scm 50 */
long BgL_arg4879z00_1470;
BgL_arg4879z00_1470 = 
BGl_classzd2numzd2zz__objectz00(BGl_makezd2boxzf2Ozd2Cinfozf2zzcfa_infoz00); 
{ /* ./Cfa/box.scm 50 */
BgL_objectz00_bglt BgL_objz00_1583;
BgL_objz00_1583 = 
(BgL_objectz00_bglt)(BgL_obj4088z00_1466); 
BGL_OBJECT_CLASS_NUM_SET(BgL_objz00_1583, BgL_arg4879z00_1470); } } 
{ /* ./Cfa/box.scm 50 */
obj_t BgL_objz00_1585;
BgL_objz00_1585 = 
(obj_t)(BgL_obj4088z00_1466); 
BGL_HEAP_DEBUG_MARK_OBJ(BgL_objz00_1585); BUNSPEC; } 
BgL_nodez00_1464 = BgL_obj4088z00_1466; } 
{ /* ./Cfa/box.scm 55 */
BgL_approxz00_bglt BgL_arg4866z00_1465;
BgL_arg4866z00_1465 = 
BGl_makezd2typezd2alloczd2approxzd2zzcfa_approxz00(
(BgL_typez00_bglt)(BGl_za2objza2z00zztype_cachez00), 
(BgL_nodez00_bglt)(BgL_nodez00_1464)); 
{ /* ./Cfa/box.scm 53 */
BgL_makezd2boxzf2ozd2cinfozf2_bglt BgL_obj3386z00_1586;BgL_approxz00_bglt BgL_val3385z00_1587;
BgL_obj3386z00_1586 = 
(BgL_makezd2boxzf2ozd2cinfozf2_bglt)(BgL_nodez00_1464); 
BgL_val3385z00_1587 = BgL_arg4866z00_1465; 
{ 
obj_t BgL_auxz00_1944;
{ /* ./Cfa/box.scm 53 */
BgL_objectz00_bglt BgL_auxz00_1945;
BgL_auxz00_1945 = 
(BgL_objectz00_bglt)(BgL_obj3386z00_1586); 
BgL_auxz00_1944 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1945); } 
return 
((((BgL_makezd2boxzf2ozd2cinfozf2_bglt)CREF(BgL_auxz00_1944))->BgL_approxz00) = ((BgL_approxz00_bglt)BgL_val3385z00_1587), BUNSPEC);} } } } } } } } 
}



/* node-setup!-make-box4108 */
obj_t BGl_nodezd2setupz12zd2makezd2box4108zc0zzcfa_boxz00(obj_t BgL_envz00_1656, obj_t BgL_nodez00_1657)
{ AN_OBJECT;
{ /* ./Cfa/box.scm 36 */
{ 
BgL_makezd2boxzd2_bglt BgL_nodez00_1446;
BgL_nodez00_1446 = 
(BgL_makezd2boxzd2_bglt)(BgL_nodez00_1657); 
{ /* ./Cfa/box.scm 38 */
BgL_nodez00_bglt BgL_arg4836z00_1450;
BgL_arg4836z00_1450 = 
(((BgL_makezd2boxzd2_bglt)CREF(BgL_nodez00_1446))->BgL_valuez00); 
BGl_nodezd2setupz12zc0zzcfa_setupz00(BgL_arg4836z00_1450); } 
{ /* ./Cfa/box.scm 39 */
BgL_makezd2boxzd2_bglt BgL_obj4084z00_1451;
BgL_obj4084z00_1451 = 
((BgL_makezd2boxzd2_bglt)BgL_nodez00_1446); 
{ /* ./Cfa/box.scm 40 */
obj_t BgL_arg4840z00_1452;
{ /* ./Cfa/box.scm 40 */
BgL_approxz00_bglt BgL_arg4843z00_1453;
BgL_arg4843z00_1453 = 
BGl_makezd2typezd2approxz00zzcfa_approxz00(
(BgL_typez00_bglt)(BGl_za2objza2z00zztype_cachez00)); 
BgL_arg4840z00_1452 = 
BGl_wideningzd2makezd2boxzf2Cinfozf2zzcfa_infoz00(BgL_arg4843z00_1453); } 
{ /* ./Cfa/box.scm 39 */
BgL_objectz00_bglt BgL_auxz00_1956;
BgL_auxz00_1956 = 
(BgL_objectz00_bglt)(BgL_obj4084z00_1451); 
BGL_OBJECT_WIDENING_SET(BgL_auxz00_1956, BgL_arg4840z00_1452); } } 
{ /* ./Cfa/box.scm 39 */
long BgL_arg4847z00_1454;
BgL_arg4847z00_1454 = 
BGl_classzd2numzd2zz__objectz00(BGl_makezd2boxzf2Cinfoz20zzcfa_infoz00); 
{ /* ./Cfa/box.scm 39 */
BgL_objectz00_bglt BgL_objz00_1568;
BgL_objz00_1568 = 
(BgL_objectz00_bglt)(BgL_obj4084z00_1451); 
BGL_OBJECT_CLASS_NUM_SET(BgL_objz00_1568, BgL_arg4847z00_1454); } } 
{ /* ./Cfa/box.scm 39 */
obj_t BgL_objz00_1570;
BgL_objz00_1570 = 
(obj_t)(BgL_obj4084z00_1451); 
BGL_HEAP_DEBUG_MARK_OBJ(BgL_objz00_1570); BUNSPEC; } BgL_obj4084z00_1451; } 
{ /* ./Cfa/box.scm 41 */
BgL_approxz00_bglt BgL_arg4852z00_1455;
{ /* ./Cfa/box.scm 41 */
BgL_makezd2boxzf2cinfoz20_bglt BgL_obj3355z00_1571;
BgL_obj3355z00_1571 = 
(BgL_makezd2boxzf2cinfoz20_bglt)(BgL_nodez00_1446); 
{ 
obj_t BgL_auxz00_1965;
{ /* ./Cfa/box.scm 41 */
BgL_objectz00_bglt BgL_auxz00_1966;
BgL_auxz00_1966 = 
(BgL_objectz00_bglt)(BgL_obj3355z00_1571); 
BgL_auxz00_1965 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1966); } 
BgL_arg4852z00_1455 = 
(((BgL_makezd2boxzf2cinfoz20_bglt)CREF(BgL_auxz00_1965))->BgL_approxz00); } } 
return 
BGl_approxzd2setzd2topz12z12zzcfa_approxz00(BgL_arg4852z00_1455);} } } 
}



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

