/*===========================================================================*/
/*   (Cfa/procedure.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/procedure.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_procedurez00();
static obj_t BGl_zc3anonymousza34123ze3z83zzcfa_procedurez00(obj_t, obj_t);
static obj_t BGl__disablezd2Xzd2Tz125269z12zzcfa_procedurez00(obj_t, obj_t);
BGL_IMPORT obj_t open_input_string(obj_t);
extern obj_t BGl_addzd2makezd2procedurez12z12zzcfa_closurez00(BgL_nodez00_bglt);
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);
static obj_t BGl_zc3anonymousza35076ze3z83zzcfa_procedurez00(obj_t, obj_t);
extern obj_t BGl_za2cfazd2stampza2zd2zzcfa_iteratez00;
extern obj_t BGl_funz00zzast_varz00;
extern BgL_approxz00_bglt BGl_makezd2typezd2alloczd2approxzd2zzcfa_approxz00(BgL_typez00_bglt, BgL_nodez00_bglt);
BGL_IMPORT obj_t BGl_za2classesza2z00zz__objectz00;
extern obj_t BGl_za2procedureza2z00zztype_cachez00;
extern obj_t BGl_prezd2makezd2procedurezd2appzd2zzcfa_info2z00;
static obj_t BGl_cfaz12zd2makezd2procedurezd2app4112zc0zzcfa_procedurez00(obj_t, obj_t);
static obj_t BGl_zc3anonymousza35103ze3z83zzcfa_procedurez00(obj_t, obj_t);
extern obj_t BGl_cfazd2exportzd2varz12z12zzcfa_iteratez00(BgL_valuez00_bglt, obj_t);
extern obj_t BGl_varz00zzast_nodez00;
static obj_t BGl_cnstzd2initzd2zzcfa_procedurez00();
extern obj_t BGl_procedurezd2refzd2appz00zzcfa_info2z00;
static obj_t BGl_nodezd2setupz12zd2prezd2procedurezd2setz12zd2app4110zd2zzcfa_procedurez00(obj_t, obj_t);
extern obj_t BGl_za2unspecza2z00zztype_cachez00;
static obj_t BGl_importedzd2moduleszd2initz00zzcfa_procedurez00();
extern obj_t BGl_prezd2clozd2envz00zzcfa_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_toplevelzd2initzd2zzcfa_procedurez00();
BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zzcfa_procedurez00(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_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_svarzf2Cinfozf2zzcfa_infoz00;
extern obj_t BGl_nodezd2setupz12zc0zzcfa_setupz00(BgL_nodez00_bglt);
extern obj_t BGl_wideningzd2procedurezd2setz12zd2appzc0zzcfa_info2z00(BgL_approxz00_bglt);
extern obj_t BGl_approxzd2setzd2topz12z12zzcfa_approxz00(BgL_approxz00_bglt);
extern obj_t BGl_procedurezd2setz12zd2appz12zzcfa_info2z00;
static obj_t BGl_cfaz12zd2procedurezd2setz12zd2app4116zd2zzcfa_procedurez00(obj_t, obj_t);
BGL_IMPORT obj_t make_vector(int, obj_t);
extern BgL_approxz00_bglt BGl_makezd2typezd2approxz00zzcfa_approxz00(BgL_typez00_bglt);
static obj_t BGl_nodezd2setupz12zd2prezd2procedurezd2refzd2app4108zc0zzcfa_procedurez00(obj_t, obj_t);
extern obj_t BGl_prezd2procedurezd2refzd2appzd2zzcfa_info2z00;
static obj_t BGl_nodezd2setupz12zd2prezd2makezd2procedurezd2app4106zc0zzcfa_procedurez00(obj_t, obj_t);
extern obj_t BGl_wideningzd2procedurezd2refzd2appzd2zzcfa_info2z00(BgL_approxz00_bglt);
extern obj_t BGl_nodezd2setupza2z12z62zzcfa_setupz00(obj_t);
static obj_t BGl_zc3anonymousza35161ze3z83zzcfa_procedurez00(obj_t, obj_t);
extern obj_t BGl_prezd2procedurezd2setz12zd2appzc0zzcfa_info2z00;
extern obj_t BGl_forzd2eachzd2approxzd2alloczd2zzcfa_approxz00(obj_t, BgL_approxz00_bglt);
extern obj_t BGl_addzd2procedurezd2refz12z12zzcfa_closurez00(BgL_nodez00_bglt);
extern obj_t BGl_za2objza2z00zztype_cachez00;
extern obj_t BGl_makezd2procedurezd2appz00zzcfa_info2z00;
BGL_EXPORTED_DECL obj_t BGl_disablezd2Xzd2Tz12z12zzcfa_procedurez00(BgL_approxz00_bglt);
extern obj_t BGl_getzd2nodezd2atomzd2valuezd2zzcfa_approxz00(BgL_nodez00_bglt);
static obj_t BGl_requirezd2initializa7ationz75zzcfa_procedurez00 = BUNSPEC;
static obj_t BGl_zc3anonymousza35182ze3z83zzcfa_procedurez00(obj_t, obj_t);
extern obj_t BGl_wideningzd2makezd2procedurezd2appzd2zzcfa_info2z00(BgL_approxz00_bglt, obj_t, long, bool_t, bool_t, bool_t, BgL_variablez00_bglt, obj_t);
static obj_t BGl_cfaz12zd2procedurezd2refzd2app4114zc0zzcfa_procedurez00(obj_t, obj_t);
extern obj_t BGl_wideningzd2prezd2clozd2envzd2zzcfa_infoz00();
BGL_IMPORT obj_t BGl_classzd2superzd2zz__objectz00(obj_t);
static obj_t BGl_libraryzd2moduleszd2initz00zzcfa_procedurez00();
static obj_t BGl_loosezd2allocz12zd2makezd2procedurezd2app4119z12zzcfa_procedurez00(obj_t, obj_t);
BGL_IMPORT obj_t BGl_findzd2superzd2classzd2methodzd2zz__objectz00(BgL_objectz00_bglt, obj_t, obj_t);
static obj_t __cnst[ 1 ] ;


DEFINE_STATIC_PROCEDURE( BGl_proc5485z00zzcfa_procedurez00, BgL_bgl_za7c3anonymousza7a34123za7e3za783za7za7cfa_procedureza7005519za7, BGl_zc3anonymousza34123ze3z83zzcfa_procedurez00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc5486z00zzcfa_procedurez00, BgL_bgl_nodeza7d2setupza712za7d2preza7d2makeza7d2procedureza7d2app4106za7c0za7za7cfa_procedureza7005520z00, BGl_nodezd2setupz12zd2prezd2makezd2procedurezd2app4106zc0zzcfa_procedurez00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc5487z00zzcfa_procedurez00, BgL_bgl_nodeza7d2setupza712za7d2preza7d2procedureza7d2refza7d2app4108za7c0za7za7cfa_procedureza7005521z00, BGl_nodezd2setupz12zd2prezd2procedurezd2refzd2app4108zc0zzcfa_procedurez00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc5488z00zzcfa_procedurez00, BgL_bgl_nodeza7d2setupza712za7d2preza7d2procedureza7d2setza712za7d2app4110za7d2za7za7cfa_procedureza7005522za7, BGl_nodezd2setupz12zd2prezd2procedurezd2setz12zd2app4110zd2zzcfa_procedurez00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc5490z00zzcfa_procedurez00, BgL_bgl_cfaza712za7d2procedureza7d2refza7d2app4114za7c0za7za7cfa_procedureza7005523z00, BGl_cfaz12zd2procedurezd2refzd2app4114zc0zzcfa_procedurez00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc5489z00zzcfa_procedurez00, BgL_bgl_cfaza712za7d2makeza7d2procedureza7d2app4112za7c0za7za7cfa_procedureza7005524z00, BGl_cfaz12zd2makezd2procedurezd2app4112zc0zzcfa_procedurez00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc5491z00zzcfa_procedurez00, BgL_bgl_cfaza712za7d2procedureza7d2setza712za7d2app4116za7d2za7za7cfa_procedureza7005525za7, BGl_cfaz12zd2procedurezd2setz12zd2app4116zd2zzcfa_procedurez00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc5492z00zzcfa_procedurez00, BgL_bgl_looseza7d2allocza712za7d2makeza7d2procedureza7d2app4119za712za7za7cfa_procedureza7005526za7, BGl_loosezd2allocz12zd2makezd2procedurezd2app4119z12zzcfa_procedurez00, 0L, 1 );
DEFINE_EXPORT_PROCEDURE( BGl_disablezd2Xzd2Tz12zd2envzc0zzcfa_procedurez00, BgL_bgl__disableza7d2xza7d2tza7125269za712za7za7cfa_procedureza7005527za7, BGl__disablezd2Xzd2Tz125269z12zzcfa_procedurez00, 0L, 1 );
extern obj_t BGl_cfaz12zd2envzc0zzcfa_cfaz00;
DEFINE_STRING( BGl_string5493z00zzcfa_procedurez00, BgL_bgl_string5493za700za7za7cfa_procedureza7005528z00, "all ", 4 );
extern obj_t BGl_nodezd2setupz12zd2envz12zzcfa_setupz00;
extern obj_t BGl_loosezd2allocz12zd2envz12zzcfa_loosez00;



/* module-initialization */
BGL_EXPORTED_DEF obj_t BGl_modulezd2initializa7ationz75zzcfa_procedurez00(long BgL_checksumz00_1894, char * BgL_fromz00_1895)
{ AN_OBJECT;
{ 
if(
CBOOL(BGl_requirezd2initializa7ationz75zzcfa_procedurez00))
{ 
BGl_requirezd2initializa7ationz75zzcfa_procedurez00 = 
BBOOL(((bool_t)0)); 
BGl_libraryzd2moduleszd2initz00zzcfa_procedurez00(); 
BGl_cnstzd2initzd2zzcfa_procedurez00(); 
BGl_importedzd2moduleszd2initz00zzcfa_procedurez00(); 
BGl_methodzd2initzd2zzcfa_procedurez00(); 
return BUNSPEC;}  else 
{ 
return BUNSPEC;} } 
}



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



/* cnst-init */
obj_t BGl_cnstzd2initzd2zzcfa_procedurez00()
{ AN_OBJECT;
{ /* ./Cfa/procedure.scm 15 */
{ /* ./Cfa/procedure.scm 15 */
obj_t BgL_cportz00_1887;
BgL_cportz00_1887 = 
open_input_string(BGl_string5493z00zzcfa_procedurez00); 
{ 
long BgL_iz00_1888;
BgL_iz00_1888 = ((long)0); 
BgL_loopz00_1889:
{ /* ./Cfa/procedure.scm 15 */
bool_t BgL_test5495z00_1890;
BgL_test5495z00_1890 = 
(BgL_iz00_1888==((long)-1)); 
if(BgL_test5495z00_1890)
{ /* ./Cfa/procedure.scm 15 */
return BUNSPEC;}  else 
{ /* ./Cfa/procedure.scm 15 */
{ /* ./Cfa/procedure.scm 15 */
obj_t BgL_arg5497z00_1891;
{ /* ./Cfa/procedure.scm 15 */
obj_t BgL_list5500z00_1892;
BgL_list5500z00_1892 = 
MAKE_PAIR(BgL_cportz00_1887, BNIL); 
BgL_arg5497z00_1891 = 
BGl_readz00zz__readerz00(BgL_list5500z00_1892); } 
{ /* ./Cfa/procedure.scm 15 */
int BgL_auxz00_1910;
BgL_auxz00_1910 = 
(int)(BgL_iz00_1888); 
CNST_TABLE_SET(BgL_auxz00_1910, BgL_arg5497z00_1891); } } 
{ /* ./Cfa/procedure.scm 15 */
int BgL_auxz00_1893;
{ /* ./Cfa/procedure.scm 15 */
long BgL_auxz00_1913;
BgL_auxz00_1913 = 
(BgL_iz00_1888-((long)1)); 
BgL_auxz00_1893 = 
(int)(BgL_auxz00_1913); } 
{ 
long BgL_iz00_1916;
BgL_iz00_1916 = 
(long)(BgL_auxz00_1893); 
BgL_iz00_1888 = BgL_iz00_1916; 
goto BgL_loopz00_1889;} } } } } } } 
}



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



/* disable-X-T! */
BGL_EXPORTED_DEF obj_t BGl_disablezd2Xzd2Tz12z12zzcfa_procedurez00(BgL_approxz00_bglt BgL_approxz00_1)
{ AN_OBJECT;
{ /* ./Cfa/procedure.scm 36 */
return 
BGl_forzd2eachzd2approxzd2alloczd2zzcfa_approxz00(BGl_proc5485z00zzcfa_procedurez00, BgL_approxz00_1);} 
}



/* _disable-X-T!5269 */
obj_t BGl__disablezd2Xzd2Tz125269z12zzcfa_procedurez00(obj_t BgL_envz00_1837, obj_t BgL_approxz00_1838)
{ AN_OBJECT;
{ /* ./Cfa/procedure.scm 36 */
return 
BGl_disablezd2Xzd2Tz12z12zzcfa_procedurez00(
(BgL_approxz00_bglt)(BgL_approxz00_1838));} 
}



/* <anonymous:4123> */
obj_t BGl_zc3anonymousza34123ze3z83zzcfa_procedurez00(obj_t BgL_envz00_1839, obj_t BgL_appz00_1840)
{ AN_OBJECT;
{ /* ./Cfa/procedure.scm 37 */
{ 
obj_t BgL_appz00_934;
BgL_appz00_934 = BgL_appz00_1840; 
{ /* ./Cfa/procedure.scm 41 */
bool_t BgL_test4124z00_936;
BgL_test4124z00_936 = 
BGl_iszd2azf3z21zz__objectz00(BgL_appz00_934, BGl_makezd2procedurezd2appz00zzcfa_info2z00); 
if(BgL_test4124z00_936)
{ /* ./Cfa/procedure.scm 42 */
BgL_makezd2procedurezd2appz00_bglt BgL_obj3697z00_1655;bool_t BgL_val3696z00_1656;
BgL_obj3697z00_1655 = 
(BgL_makezd2procedurezd2appz00_bglt)(BgL_appz00_934); 
BgL_val3696z00_1656 = ((bool_t)0); 
{ 
obj_t BgL_auxz00_1924;
{ /* ./Cfa/procedure.scm 42 */
BgL_objectz00_bglt BgL_auxz00_1925;
BgL_auxz00_1925 = 
(BgL_objectz00_bglt)(BgL_obj3697z00_1655); 
BgL_auxz00_1924 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1925); } 
return 
((((BgL_makezd2procedurezd2appz00_bglt)CREF(BgL_auxz00_1924))->BgL_xzd2tzf3z21) = ((bool_t)BgL_val3696z00_1656), BUNSPEC);} }  else 
{ /* ./Cfa/procedure.scm 41 */
return BFALSE;} } } } 
}



/* method-init */
obj_t BGl_methodzd2initzd2zzcfa_procedurez00()
{ AN_OBJECT;
{ /* ./Cfa/procedure.scm 15 */
BGl_addzd2methodz12zc0zz__objectz00(BGl_nodezd2setupz12zd2envz12zzcfa_setupz00, BGl_prezd2makezd2procedurezd2appzd2zzcfa_info2z00, BGl_proc5486z00zzcfa_procedurez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_nodezd2setupz12zd2envz12zzcfa_setupz00, BGl_prezd2procedurezd2refzd2appzd2zzcfa_info2z00, BGl_proc5487z00zzcfa_procedurez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_nodezd2setupz12zd2envz12zzcfa_setupz00, BGl_prezd2procedurezd2setz12zd2appzc0zzcfa_info2z00, BGl_proc5488z00zzcfa_procedurez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_cfaz12zd2envzc0zzcfa_cfaz00, BGl_makezd2procedurezd2appz00zzcfa_info2z00, BGl_proc5489z00zzcfa_procedurez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_cfaz12zd2envzc0zzcfa_cfaz00, BGl_procedurezd2refzd2appz00zzcfa_info2z00, BGl_proc5490z00zzcfa_procedurez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_cfaz12zd2envzc0zzcfa_cfaz00, BGl_procedurezd2setz12zd2appz12zzcfa_info2z00, BGl_proc5491z00zzcfa_procedurez00); 
return 
BGl_addzd2methodz12zc0zz__objectz00(BGl_loosezd2allocz12zd2envz12zzcfa_loosez00, BGl_makezd2procedurezd2appz00zzcfa_info2z00, BGl_proc5492z00zzcfa_procedurez00);} 
}



/* loose-alloc!-make-procedure-app4119 */
obj_t BGl_loosezd2allocz12zd2makezd2procedurezd2app4119z12zzcfa_procedurez00(obj_t BgL_envz00_1854, obj_t BgL_allocz00_1855)
{ AN_OBJECT;
{ /* ./Cfa/procedure.scm 243 */
{ 
BgL_makezd2procedurezd2appz00_bglt BgL_allocz00_1642;
BgL_allocz00_1642 = 
(BgL_makezd2procedurezd2appz00_bglt)(BgL_allocz00_1855); 
{ /* ./Cfa/procedure.scm 247 */
bool_t BgL_test5233z00_1646;
{ /* ./Cfa/procedure.scm 247 */
long BgL_arg5243z00_1651;
{ 
obj_t BgL_auxz00_1936;
{ /* ./Cfa/procedure.scm 247 */
BgL_objectz00_bglt BgL_auxz00_1937;
BgL_auxz00_1937 = 
(BgL_objectz00_bglt)(BgL_allocz00_1642); 
BgL_auxz00_1936 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1937); } 
BgL_arg5243z00_1651 = 
(((BgL_makezd2procedurezd2appz00_bglt)CREF(BgL_auxz00_1936))->BgL_lostzd2stampzd2); } 
{ /* ./Cfa/procedure.scm 247 */
long BgL_n2z00_1829;
BgL_n2z00_1829 = 
(long)CINT(BGl_za2cfazd2stampza2zd2zzcfa_iteratez00); 
BgL_test5233z00_1646 = 
(BgL_arg5243z00_1651==BgL_n2z00_1829); } } 
if(BgL_test5233z00_1646)
{ /* ./Cfa/procedure.scm 247 */
return BUNSPEC;}  else 
{ /* ./Cfa/procedure.scm 247 */
{ /* ./Cfa/procedure.scm 251 */
long BgL_val3693z00_1831;
BgL_val3693z00_1831 = 
(long)CINT(BGl_za2cfazd2stampza2zd2zzcfa_iteratez00); 
{ 
obj_t BgL_auxz00_1945;
{ /* ./Cfa/procedure.scm 251 */
BgL_objectz00_bglt BgL_auxz00_1946;
BgL_auxz00_1946 = 
(BgL_objectz00_bglt)(BgL_allocz00_1642); 
BgL_auxz00_1945 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1946); } 
((((BgL_makezd2procedurezd2appz00_bglt)CREF(BgL_auxz00_1945))->BgL_lostzd2stampzd2) = ((long)BgL_val3693z00_1831), BUNSPEC); } } 
{ /* ./Cfa/procedure.scm 252 */
obj_t BgL_calleez00_1647;
{ /* ./Cfa/procedure.scm 252 */
obj_t BgL_auxz00_1950;
{ /* ./Cfa/procedure.scm 252 */
BgL_appz00_bglt BgL_obj1722z00_1832;
BgL_obj1722z00_1832 = 
(BgL_appz00_bglt)(BgL_allocz00_1642); 
BgL_auxz00_1950 = 
(((BgL_appz00_bglt)CREF(BgL_obj1722z00_1832))->BgL_argsz00); } 
BgL_calleez00_1647 = 
CAR(BgL_auxz00_1950); } 
{ /* ./Cfa/procedure.scm 252 */
BgL_variablez00_bglt BgL_vz00_1648;
{ /* ./Cfa/procedure.scm 253 */
BgL_varz00_bglt BgL_obj1625z00_1834;
BgL_obj1625z00_1834 = 
(BgL_varz00_bglt)(BgL_calleez00_1647); 
BgL_vz00_1648 = 
(((BgL_varz00_bglt)CREF(BgL_obj1625z00_1834))->BgL_variablez00); } 
{ /* ./Cfa/procedure.scm 253 */
BgL_valuez00_bglt BgL_funz00_1649;
BgL_funz00_1649 = 
(((BgL_variablez00_bglt)CREF(BgL_vz00_1648))->BgL_valuez00); 
{ /* ./Cfa/procedure.scm 254 */

return 
BGl_cfazd2exportzd2varz12z12zzcfa_iteratez00(BgL_funz00_1649, 
(obj_t)(BgL_vz00_1648));} } } } } } } } 
}



/* cfa!-procedure-set!-app4116 */
obj_t BGl_cfaz12zd2procedurezd2setz12zd2app4116zd2zzcfa_procedurez00(obj_t BgL_envz00_1856, obj_t BgL_nodez00_1857)
{ AN_OBJECT;
{ /* ./Cfa/procedure.scm 189 */
{ 
BgL_procedurezd2setz12zd2appz12_bglt BgL_nodez00_1600;
{ /* ./Cfa/procedure.scm 190 */
BgL_approxz00_bglt BgL_auxz00_1960;
BgL_nodez00_1600 = 
(BgL_procedurezd2setz12zd2appz12_bglt)(BgL_nodez00_1857); 
{ /* ./Cfa/procedure.scm 191 */
obj_t BgL_arg5149z00_1604;
{ /* ./Cfa/procedure.scm 191 */
obj_t BgL_auxz00_1961;
{ /* ./Cfa/procedure.scm 191 */
obj_t BgL_auxz00_1962;
{ /* ./Cfa/procedure.scm 191 */
BgL_appz00_bglt BgL_obj1722z00_1787;
BgL_obj1722z00_1787 = 
(BgL_appz00_bglt)(BgL_nodez00_1600); 
BgL_auxz00_1962 = 
(((BgL_appz00_bglt)CREF(BgL_obj1722z00_1787))->BgL_argsz00); } 
BgL_auxz00_1961 = 
CDR(BgL_auxz00_1962); } 
BgL_arg5149z00_1604 = 
CAR(BgL_auxz00_1961); } 
BGl_cfaz12z12zzcfa_cfaz00(
(BgL_nodez00_bglt)(BgL_arg5149z00_1604)); } 
{ /* ./Cfa/procedure.scm 192 */
BgL_approxz00_bglt BgL_proczd2approxzd2_1606;obj_t BgL_offsetz00_1607;BgL_approxz00_bglt BgL_valzd2approxzd2_1608;
{ /* ./Cfa/procedure.scm 192 */
obj_t BgL_arg5207z00_1634;
{ /* ./Cfa/procedure.scm 192 */
obj_t BgL_auxz00_1969;
{ /* ./Cfa/procedure.scm 192 */
BgL_appz00_bglt BgL_obj1722z00_1792;
BgL_obj1722z00_1792 = 
(BgL_appz00_bglt)(BgL_nodez00_1600); 
BgL_auxz00_1969 = 
(((BgL_appz00_bglt)CREF(BgL_obj1722z00_1792))->BgL_argsz00); } 
BgL_arg5207z00_1634 = 
CAR(BgL_auxz00_1969); } 
BgL_proczd2approxzd2_1606 = 
BGl_cfaz12z12zzcfa_cfaz00(
(BgL_nodez00_bglt)(BgL_arg5207z00_1634)); } 
{ /* ./Cfa/procedure.scm 193 */
obj_t BgL_arg5214z00_1636;
{ /* ./Cfa/procedure.scm 193 */
obj_t BgL_auxz00_1975;
{ /* ./Cfa/procedure.scm 193 */
obj_t BgL_auxz00_1976;
{ /* ./Cfa/procedure.scm 193 */
BgL_appz00_bglt BgL_obj1722z00_1794;
BgL_obj1722z00_1794 = 
(BgL_appz00_bglt)(BgL_nodez00_1600); 
BgL_auxz00_1976 = 
(((BgL_appz00_bglt)CREF(BgL_obj1722z00_1794))->BgL_argsz00); } 
BgL_auxz00_1975 = 
CDR(BgL_auxz00_1976); } 
BgL_arg5214z00_1636 = 
CAR(BgL_auxz00_1975); } 
BgL_offsetz00_1607 = 
BGl_getzd2nodezd2atomzd2valuezd2zzcfa_approxz00(
(BgL_nodez00_bglt)(BgL_arg5214z00_1636)); } 
{ /* ./Cfa/procedure.scm 194 */
obj_t BgL_arg5221z00_1638;
{ /* ./Cfa/procedure.scm 194 */
obj_t BgL_auxz00_1983;
{ /* ./Cfa/procedure.scm 194 */
obj_t BgL_auxz00_1984;
{ /* ./Cfa/procedure.scm 194 */
obj_t BgL_auxz00_1985;
{ /* ./Cfa/procedure.scm 194 */
BgL_appz00_bglt BgL_obj1722z00_1799;
BgL_obj1722z00_1799 = 
(BgL_appz00_bglt)(BgL_nodez00_1600); 
BgL_auxz00_1985 = 
(((BgL_appz00_bglt)CREF(BgL_obj1722z00_1799))->BgL_argsz00); } 
BgL_auxz00_1984 = 
CDR(BgL_auxz00_1985); } 
BgL_auxz00_1983 = 
CDR(BgL_auxz00_1984); } 
BgL_arg5221z00_1638 = 
CAR(BgL_auxz00_1983); } 
BgL_valzd2approxzd2_1608 = 
BGl_cfaz12z12zzcfa_cfaz00(
(BgL_nodez00_bglt)(BgL_arg5221z00_1638)); } 
{ /* ./Cfa/procedure.scm 199 */
bool_t BgL_test5155z00_1609;
BgL_test5155z00_1609 = 
(((BgL_approxz00_bglt)CREF(BgL_proczd2approxzd2_1606))->BgL_topzf3zf3); 
if(BgL_test5155z00_1609)
{ /* ./Cfa/procedure.scm 201 */
BgL_approxz00_bglt BgL_auxz00_1995;
BgL_auxz00_1995 = 
BGl_loosez12z12zzcfa_loosez00(BgL_valzd2approxzd2_1608, 
CNST_TABLE_REF(((long)0))); 
(obj_t)(BgL_auxz00_1995); }  else 
{ /* ./Cfa/procedure.scm 202 */
bool_t BgL_test5157z00_1610;
BgL_test5157z00_1610 = 
INTEGERP(BgL_offsetz00_1607); 
if(BgL_test5157z00_1610)
{ /* ./Cfa/procedure.scm 206 */
obj_t BgL_zc3anonymousza35161ze3z83_1842;
{ 
int BgL_auxz00_2003;int BgL_auxz00_2001;
BgL_auxz00_2003 = 
(int)(((long)2)); 
BgL_auxz00_2001 = 
(int)(((long)1)); 
BgL_zc3anonymousza35161ze3z83_1842 = 
make_fx_procedure(BGl_zc3anonymousza35161ze3z83zzcfa_procedurez00, BgL_auxz00_2001, BgL_auxz00_2003); } 
{ /* ./Cfa/procedure.scm 206 */
int BgL_auxz00_2006;
BgL_auxz00_2006 = 
(int)(((long)0)); 
PROCEDURE_SET(BgL_zc3anonymousza35161ze3z83_1842, BgL_auxz00_2006, BgL_offsetz00_1607); } 
{ /* ./Cfa/procedure.scm 206 */
obj_t BgL_auxz00_2011;int BgL_auxz00_2009;
BgL_auxz00_2011 = 
(obj_t)(BgL_valzd2approxzd2_1608); 
BgL_auxz00_2009 = 
(int)(((long)1)); 
PROCEDURE_SET(BgL_zc3anonymousza35161ze3z83_1842, BgL_auxz00_2009, BgL_auxz00_2011); } 
BGl_forzd2eachzd2approxzd2alloczd2zzcfa_approxz00(BgL_zc3anonymousza35161ze3z83_1842, BgL_proczd2approxzd2_1606); }  else 
{ /* ./Cfa/procedure.scm 219 */
obj_t BgL_zc3anonymousza35182ze3z83_1843;
{ 
int BgL_auxz00_2017;int BgL_auxz00_2015;
BgL_auxz00_2017 = 
(int)(((long)1)); 
BgL_auxz00_2015 = 
(int)(((long)1)); 
BgL_zc3anonymousza35182ze3z83_1843 = 
make_fx_procedure(BGl_zc3anonymousza35182ze3z83zzcfa_procedurez00, BgL_auxz00_2015, BgL_auxz00_2017); } 
{ /* ./Cfa/procedure.scm 219 */
obj_t BgL_auxz00_2022;int BgL_auxz00_2020;
BgL_auxz00_2022 = 
(obj_t)(BgL_valzd2approxzd2_1608); 
BgL_auxz00_2020 = 
(int)(((long)0)); 
PROCEDURE_SET(BgL_zc3anonymousza35182ze3z83_1843, BgL_auxz00_2020, BgL_auxz00_2022); } 
BGl_forzd2eachzd2approxzd2alloczd2zzcfa_approxz00(BgL_zc3anonymousza35182ze3z83_1843, BgL_proczd2approxzd2_1606); } } } 
{ 
obj_t BgL_auxz00_2026;
{ /* ./Cfa/procedure.scm 233 */
BgL_objectz00_bglt BgL_auxz00_2027;
BgL_auxz00_2027 = 
(BgL_objectz00_bglt)(BgL_nodez00_1600); 
BgL_auxz00_2026 = 
BGL_OBJECT_WIDENING(BgL_auxz00_2027); } 
BgL_auxz00_1960 = 
(((BgL_procedurezd2setz12zd2appz12_bglt)CREF(BgL_auxz00_2026))->BgL_approxz00); } } 
return 
(obj_t)(BgL_auxz00_1960);} } } 
}



/* <anonymous:5161> */
obj_t BGl_zc3anonymousza35161ze3z83zzcfa_procedurez00(obj_t BgL_envz00_1858, obj_t BgL_appz00_1861)
{ AN_OBJECT;
{ /* ./Cfa/procedure.scm 205 */
{ /* ./Cfa/procedure.scm 206 */
obj_t BgL_offsetz00_1859;obj_t BgL_valzd2approxzd2_1860;
{ /* ./Cfa/procedure.scm 206 */
int BgL_auxz00_2033;
BgL_auxz00_2033 = 
(int)(((long)0)); 
BgL_offsetz00_1859 = 
PROCEDURE_REF(BgL_envz00_1858, BgL_auxz00_2033); } 
{ /* ./Cfa/procedure.scm 206 */
int BgL_auxz00_2036;
BgL_auxz00_2036 = 
(int)(((long)1)); 
BgL_valzd2approxzd2_1860 = 
PROCEDURE_REF(BgL_envz00_1858, BgL_auxz00_2036); } 
{ 
obj_t BgL_appz00_1612;
BgL_appz00_1612 = BgL_appz00_1861; 
{ /* ./Cfa/procedure.scm 206 */
bool_t BgL_test5162z00_1614;
{ /* ./Cfa/procedure.scm 206 */
bool_t BgL_test5170z00_1617;
BgL_test5170z00_1617 = 
BGl_iszd2azf3z21zz__objectz00(BgL_appz00_1612, BGl_makezd2procedurezd2appz00zzcfa_info2z00); 
if(BgL_test5170z00_1617)
{ /* ./Cfa/procedure.scm 209 */
int BgL_arg5172z00_1618;
{ /* ./Cfa/procedure.scm 209 */
obj_t BgL_arg5175z00_1619;
{ /* ./Cfa/procedure.scm 209 */
BgL_makezd2procedurezd2appz00_bglt BgL_obj3689z00_1809;
BgL_obj3689z00_1809 = 
(BgL_makezd2procedurezd2appz00_bglt)(BgL_appz00_1612); 
{ 
obj_t BgL_auxz00_2042;
{ /* ./Cfa/procedure.scm 209 */
BgL_objectz00_bglt BgL_auxz00_2043;
BgL_auxz00_2043 = 
(BgL_objectz00_bglt)(BgL_obj3689z00_1809); 
BgL_auxz00_2042 = 
BGL_OBJECT_WIDENING(BgL_auxz00_2043); } 
BgL_arg5175z00_1619 = 
(((BgL_makezd2procedurezd2appz00_bglt)CREF(BgL_auxz00_2042))->BgL_valueszd2approxzd2); } } 
BgL_arg5172z00_1618 = 
VECTOR_LENGTH(BgL_arg5175z00_1619); } 
{ /* ./Cfa/procedure.scm 207 */
long BgL_auxz00_2050;long BgL_auxz00_2048;
BgL_auxz00_2050 = 
(long)(BgL_arg5172z00_1618); 
BgL_auxz00_2048 = 
(long)CINT(BgL_offsetz00_1859); 
BgL_test5162z00_1614 = 
(BgL_auxz00_2048<BgL_auxz00_2050); } }  else 
{ /* ./Cfa/procedure.scm 206 */
BgL_test5162z00_1614 = ((bool_t)0); } } 
if(BgL_test5162z00_1614)
{ /* ./Cfa/procedure.scm 211 */
obj_t BgL_arg5164z00_1615;
{ /* ./Cfa/procedure.scm 211 */
obj_t BgL_arg5167z00_1616;
{ /* ./Cfa/procedure.scm 211 */
BgL_makezd2procedurezd2appz00_bglt BgL_obj3689z00_1813;
BgL_obj3689z00_1813 = 
(BgL_makezd2procedurezd2appz00_bglt)(BgL_appz00_1612); 
{ 
obj_t BgL_auxz00_2055;
{ /* ./Cfa/procedure.scm 211 */
BgL_objectz00_bglt BgL_auxz00_2056;
BgL_auxz00_2056 = 
(BgL_objectz00_bglt)(BgL_obj3689z00_1813); 
BgL_auxz00_2055 = 
BGL_OBJECT_WIDENING(BgL_auxz00_2056); } 
BgL_arg5167z00_1616 = 
(((BgL_makezd2procedurezd2appz00_bglt)CREF(BgL_auxz00_2055))->BgL_valueszd2approxzd2); } } 
{ /* ./Cfa/procedure.scm 210 */
int BgL_kz00_1815;
BgL_kz00_1815 = 
CINT(BgL_offsetz00_1859); 
BgL_arg5164z00_1615 = 
VECTOR_REF(BgL_arg5167z00_1616,BgL_kz00_1815); } } 
{ /* ./Cfa/procedure.scm 210 */
BgL_approxz00_bglt BgL_auxz00_2062;
BgL_auxz00_2062 = 
BGl_unionzd2approxz12zc0zzcfa_approxz00(
(BgL_approxz00_bglt)(BgL_arg5164z00_1615), 
(BgL_approxz00_bglt)(BgL_valzd2approxzd2_1860)); 
return 
(obj_t)(BgL_auxz00_2062);} }  else 
{ /* ./Cfa/procedure.scm 206 */
return BFALSE;} } } } } 
}



/* <anonymous:5182> */
obj_t BGl_zc3anonymousza35182ze3z83zzcfa_procedurez00(obj_t BgL_envz00_1862, obj_t BgL_appz00_1864)
{ AN_OBJECT;
{ /* ./Cfa/procedure.scm 218 */
{ /* ./Cfa/procedure.scm 219 */
obj_t BgL_valzd2approxzd2_1863;
{ /* ./Cfa/procedure.scm 219 */
int BgL_auxz00_2067;
BgL_auxz00_2067 = 
(int)(((long)0)); 
BgL_valzd2approxzd2_1863 = 
PROCEDURE_REF(BgL_envz00_1862, BgL_auxz00_2067); } 
{ 
obj_t BgL_appz00_1622;
{ /* ./Cfa/procedure.scm 219 */
bool_t BgL_auxz00_2070;
BgL_appz00_1622 = BgL_appz00_1864; 
{ /* ./Cfa/procedure.scm 219 */
bool_t BgL_test5183z00_1624;
BgL_test5183z00_1624 = 
BGl_iszd2azf3z21zz__objectz00(BgL_appz00_1622, BGl_makezd2procedurezd2appz00zzcfa_info2z00); 
if(BgL_test5183z00_1624)
{ /* ./Cfa/procedure.scm 220 */
int BgL_lenz00_1625;
{ /* ./Cfa/procedure.scm 221 */
obj_t BgL_arg5199z00_1632;
{ /* ./Cfa/procedure.scm 221 */
BgL_makezd2procedurezd2appz00_bglt BgL_obj3689z00_1817;
BgL_obj3689z00_1817 = 
(BgL_makezd2procedurezd2appz00_bglt)(BgL_appz00_1622); 
{ 
obj_t BgL_auxz00_2074;
{ /* ./Cfa/procedure.scm 221 */
BgL_objectz00_bglt BgL_auxz00_2075;
BgL_auxz00_2075 = 
(BgL_objectz00_bglt)(BgL_obj3689z00_1817); 
BgL_auxz00_2074 = 
BGL_OBJECT_WIDENING(BgL_auxz00_2075); } 
BgL_arg5199z00_1632 = 
(((BgL_makezd2procedurezd2appz00_bglt)CREF(BgL_auxz00_2074))->BgL_valueszd2approxzd2); } } 
BgL_lenz00_1625 = 
VECTOR_LENGTH(BgL_arg5199z00_1632); } 
{ 
long BgL_iz00_1626;
BgL_iz00_1626 = ((long)0); 
BgL_loopz00_1627:
{ /* ./Cfa/procedure.scm 223 */
bool_t BgL_test5185z00_1628;
{ /* ./Cfa/procedure.scm 223 */
long BgL_auxz00_2080;
BgL_auxz00_2080 = 
(long)(BgL_lenz00_1625); 
BgL_test5185z00_1628 = 
(BgL_iz00_1626<BgL_auxz00_2080); } 
if(BgL_test5185z00_1628)
{ /* ./Cfa/procedure.scm 223 */
{ /* ./Cfa/procedure.scm 227 */
obj_t BgL_arg5187z00_1629;
{ /* ./Cfa/procedure.scm 227 */
obj_t BgL_arg5190z00_1630;
{ /* ./Cfa/procedure.scm 227 */
BgL_makezd2procedurezd2appz00_bglt BgL_obj3689z00_1821;
BgL_obj3689z00_1821 = 
(BgL_makezd2procedurezd2appz00_bglt)(BgL_appz00_1622); 
{ 
obj_t BgL_auxz00_2085;
{ /* ./Cfa/procedure.scm 227 */
BgL_objectz00_bglt BgL_auxz00_2086;
BgL_auxz00_2086 = 
(BgL_objectz00_bglt)(BgL_obj3689z00_1821); 
BgL_auxz00_2085 = 
BGL_OBJECT_WIDENING(BgL_auxz00_2086); } 
BgL_arg5190z00_1630 = 
(((BgL_makezd2procedurezd2appz00_bglt)CREF(BgL_auxz00_2085))->BgL_valueszd2approxzd2); } } 
{ /* ./Cfa/procedure.scm 226 */
int BgL_kz00_1823;
BgL_kz00_1823 = 
(int)(BgL_iz00_1626); 
BgL_arg5187z00_1629 = 
VECTOR_REF(BgL_arg5190z00_1630,BgL_kz00_1823); } } 
BGl_unionzd2approxz12zc0zzcfa_approxz00(
(BgL_approxz00_bglt)(BgL_arg5187z00_1629), 
(BgL_approxz00_bglt)(BgL_valzd2approxzd2_1863)); } 
{ /* ./Cfa/procedure.scm 231 */
long BgL_arg5194z00_1631;
BgL_arg5194z00_1631 = 
(BgL_iz00_1626+((long)1)); 
{ 
long BgL_iz00_2096;
BgL_iz00_2096 = BgL_arg5194z00_1631; 
BgL_iz00_1626 = BgL_iz00_2096; 
goto BgL_loopz00_1627;} } }  else 
{ /* ./Cfa/procedure.scm 223 */
BgL_auxz00_2070 = ((bool_t)0)
; } } } }  else 
{ /* ./Cfa/procedure.scm 219 */
BgL_auxz00_2070 = ((bool_t)0)
; } } 
return 
BBOOL(BgL_auxz00_2070);} } } } 
}



/* cfa!-procedure-ref-app4114 */
obj_t BGl_cfaz12zd2procedurezd2refzd2app4114zc0zzcfa_procedurez00(obj_t BgL_envz00_1865, obj_t BgL_nodez00_1866)
{ AN_OBJECT;
{ /* ./Cfa/procedure.scm 141 */
{ 
BgL_procedurezd2refzd2appz00_bglt BgL_nodez00_1557;
{ /* ./Cfa/procedure.scm 142 */
BgL_approxz00_bglt BgL_auxz00_2098;
BgL_nodez00_1557 = 
(BgL_procedurezd2refzd2appz00_bglt)(BgL_nodez00_1866); 
{ /* ./Cfa/procedure.scm 143 */
obj_t BgL_arg5060z00_1561;
{ /* ./Cfa/procedure.scm 143 */
obj_t BgL_auxz00_2099;
{ /* ./Cfa/procedure.scm 143 */
obj_t BgL_auxz00_2100;
{ /* ./Cfa/procedure.scm 143 */
BgL_appz00_bglt BgL_obj1722z00_1750;
BgL_obj1722z00_1750 = 
(BgL_appz00_bglt)(BgL_nodez00_1557); 
BgL_auxz00_2100 = 
(((BgL_appz00_bglt)CREF(BgL_obj1722z00_1750))->BgL_argsz00); } 
BgL_auxz00_2099 = 
CDR(BgL_auxz00_2100); } 
BgL_arg5060z00_1561 = 
CAR(BgL_auxz00_2099); } 
BGl_cfaz12z12zzcfa_cfaz00(
(BgL_nodez00_bglt)(BgL_arg5060z00_1561)); } 
{ /* ./Cfa/procedure.scm 144 */
BgL_approxz00_bglt BgL_proczd2approxzd2_1563;obj_t BgL_offsetz00_1564;
{ /* ./Cfa/procedure.scm 144 */
obj_t BgL_arg5129z00_1594;
{ /* ./Cfa/procedure.scm 144 */
obj_t BgL_auxz00_2107;
{ /* ./Cfa/procedure.scm 144 */
BgL_appz00_bglt BgL_obj1722z00_1755;
BgL_obj1722z00_1755 = 
(BgL_appz00_bglt)(BgL_nodez00_1557); 
BgL_auxz00_2107 = 
(((BgL_appz00_bglt)CREF(BgL_obj1722z00_1755))->BgL_argsz00); } 
BgL_arg5129z00_1594 = 
CAR(BgL_auxz00_2107); } 
BgL_proczd2approxzd2_1563 = 
BGl_cfaz12z12zzcfa_cfaz00(
(BgL_nodez00_bglt)(BgL_arg5129z00_1594)); } 
{ /* ./Cfa/procedure.scm 145 */
obj_t BgL_arg5136z00_1596;
{ /* ./Cfa/procedure.scm 145 */
obj_t BgL_auxz00_2113;
{ /* ./Cfa/procedure.scm 145 */
obj_t BgL_auxz00_2114;
{ /* ./Cfa/procedure.scm 145 */
BgL_appz00_bglt BgL_obj1722z00_1757;
BgL_obj1722z00_1757 = 
(BgL_appz00_bglt)(BgL_nodez00_1557); 
BgL_auxz00_2114 = 
(((BgL_appz00_bglt)CREF(BgL_obj1722z00_1757))->BgL_argsz00); } 
BgL_auxz00_2113 = 
CDR(BgL_auxz00_2114); } 
BgL_arg5136z00_1596 = 
CAR(BgL_auxz00_2113); } 
BgL_offsetz00_1564 = 
BGl_getzd2nodezd2atomzd2valuezd2zzcfa_approxz00(
(BgL_nodez00_bglt)(BgL_arg5136z00_1596)); } 
{ /* ./Cfa/procedure.scm 149 */
bool_t BgL_test5066z00_1565;
BgL_test5066z00_1565 = 
(((BgL_approxz00_bglt)CREF(BgL_proczd2approxzd2_1563))->BgL_topzf3zf3); 
if(BgL_test5066z00_1565)
{ /* ./Cfa/procedure.scm 150 */
BgL_approxz00_bglt BgL_arg5068z00_1566;
{ 
obj_t BgL_auxz00_2123;
{ /* ./Cfa/procedure.scm 150 */
BgL_objectz00_bglt BgL_auxz00_2124;
BgL_auxz00_2124 = 
(BgL_objectz00_bglt)(BgL_nodez00_1557); 
BgL_auxz00_2123 = 
BGL_OBJECT_WIDENING(BgL_auxz00_2124); } 
BgL_arg5068z00_1566 = 
(((BgL_procedurezd2refzd2appz00_bglt)CREF(BgL_auxz00_2123))->BgL_approxz00); } 
BGl_approxzd2setzd2topz12z12zzcfa_approxz00(BgL_arg5068z00_1566); }  else 
{ /* ./Cfa/procedure.scm 149 */BFALSE; } } 
{ /* ./Cfa/procedure.scm 151 */
bool_t BgL_test5072z00_1567;
BgL_test5072z00_1567 = 
INTEGERP(BgL_offsetz00_1564); 
if(BgL_test5072z00_1567)
{ /* ./Cfa/procedure.scm 155 */
obj_t BgL_zc3anonymousza35076ze3z83_1845;
{ 
int BgL_auxz00_2133;int BgL_auxz00_2131;
BgL_auxz00_2133 = 
(int)(((long)2)); 
BgL_auxz00_2131 = 
(int)(((long)1)); 
BgL_zc3anonymousza35076ze3z83_1845 = 
make_fx_procedure(BGl_zc3anonymousza35076ze3z83zzcfa_procedurez00, BgL_auxz00_2131, BgL_auxz00_2133); } 
{ /* ./Cfa/procedure.scm 155 */
int BgL_auxz00_2136;
BgL_auxz00_2136 = 
(int)(((long)0)); 
PROCEDURE_SET(BgL_zc3anonymousza35076ze3z83_1845, BgL_auxz00_2136, BgL_offsetz00_1564); } 
{ /* ./Cfa/procedure.scm 155 */
obj_t BgL_auxz00_2141;int BgL_auxz00_2139;
BgL_auxz00_2141 = 
(obj_t)(BgL_nodez00_1557); 
BgL_auxz00_2139 = 
(int)(((long)1)); 
PROCEDURE_SET(BgL_zc3anonymousza35076ze3z83_1845, BgL_auxz00_2139, BgL_auxz00_2141); } 
BGl_forzd2eachzd2approxzd2alloczd2zzcfa_approxz00(BgL_zc3anonymousza35076ze3z83_1845, BgL_proczd2approxzd2_1563); }  else 
{ /* ./Cfa/procedure.scm 170 */
obj_t BgL_zc3anonymousza35103ze3z83_1846;
{ 
int BgL_auxz00_2147;int BgL_auxz00_2145;
BgL_auxz00_2147 = 
(int)(((long)1)); 
BgL_auxz00_2145 = 
(int)(((long)1)); 
BgL_zc3anonymousza35103ze3z83_1846 = 
make_fx_procedure(BGl_zc3anonymousza35103ze3z83zzcfa_procedurez00, BgL_auxz00_2145, BgL_auxz00_2147); } 
{ /* ./Cfa/procedure.scm 170 */
obj_t BgL_auxz00_2152;int BgL_auxz00_2150;
BgL_auxz00_2152 = 
(obj_t)(BgL_nodez00_1557); 
BgL_auxz00_2150 = 
(int)(((long)0)); 
PROCEDURE_SET(BgL_zc3anonymousza35103ze3z83_1846, BgL_auxz00_2150, BgL_auxz00_2152); } 
BGl_forzd2eachzd2approxzd2alloczd2zzcfa_approxz00(BgL_zc3anonymousza35103ze3z83_1846, BgL_proczd2approxzd2_1563); } } 
{ 
obj_t BgL_auxz00_2156;
{ /* ./Cfa/procedure.scm 184 */
BgL_objectz00_bglt BgL_auxz00_2157;
BgL_auxz00_2157 = 
(BgL_objectz00_bglt)(BgL_nodez00_1557); 
BgL_auxz00_2156 = 
BGL_OBJECT_WIDENING(BgL_auxz00_2157); } 
BgL_auxz00_2098 = 
(((BgL_procedurezd2refzd2appz00_bglt)CREF(BgL_auxz00_2156))->BgL_approxz00); } } 
return 
(obj_t)(BgL_auxz00_2098);} } } 
}



/* <anonymous:5076> */
obj_t BGl_zc3anonymousza35076ze3z83zzcfa_procedurez00(obj_t BgL_envz00_1867, obj_t BgL_appz00_1870)
{ AN_OBJECT;
{ /* ./Cfa/procedure.scm 154 */
{ /* ./Cfa/procedure.scm 155 */
obj_t BgL_offsetz00_1868;obj_t BgL_instance4099z00_1869;
{ /* ./Cfa/procedure.scm 155 */
int BgL_auxz00_2163;
BgL_auxz00_2163 = 
(int)(((long)0)); 
BgL_offsetz00_1868 = 
PROCEDURE_REF(BgL_envz00_1867, BgL_auxz00_2163); } 
{ /* ./Cfa/procedure.scm 155 */
int BgL_auxz00_2166;
BgL_auxz00_2166 = 
(int)(((long)1)); 
BgL_instance4099z00_1869 = 
PROCEDURE_REF(BgL_envz00_1867, BgL_auxz00_2166); } 
{ 
obj_t BgL_appz00_1569;
BgL_appz00_1569 = BgL_appz00_1870; 
{ /* ./Cfa/procedure.scm 155 */
bool_t BgL_test5077z00_1571;
{ /* ./Cfa/procedure.scm 155 */
bool_t BgL_test5091z00_1576;
BgL_test5091z00_1576 = 
BGl_iszd2azf3z21zz__objectz00(BgL_appz00_1569, BGl_makezd2procedurezd2appz00zzcfa_info2z00); 
if(BgL_test5091z00_1576)
{ /* ./Cfa/procedure.scm 158 */
int BgL_arg5093z00_1577;
{ /* ./Cfa/procedure.scm 158 */
obj_t BgL_arg5096z00_1578;
{ /* ./Cfa/procedure.scm 158 */
BgL_makezd2procedurezd2appz00_bglt BgL_obj3689z00_1766;
BgL_obj3689z00_1766 = 
(BgL_makezd2procedurezd2appz00_bglt)(BgL_appz00_1569); 
{ 
obj_t BgL_auxz00_2172;
{ /* ./Cfa/procedure.scm 158 */
BgL_objectz00_bglt BgL_auxz00_2173;
BgL_auxz00_2173 = 
(BgL_objectz00_bglt)(BgL_obj3689z00_1766); 
BgL_auxz00_2172 = 
BGL_OBJECT_WIDENING(BgL_auxz00_2173); } 
BgL_arg5096z00_1578 = 
(((BgL_makezd2procedurezd2appz00_bglt)CREF(BgL_auxz00_2172))->BgL_valueszd2approxzd2); } } 
BgL_arg5093z00_1577 = 
VECTOR_LENGTH(BgL_arg5096z00_1578); } 
{ /* ./Cfa/procedure.scm 156 */
long BgL_auxz00_2180;long BgL_auxz00_2178;
BgL_auxz00_2180 = 
(long)(BgL_arg5093z00_1577); 
BgL_auxz00_2178 = 
(long)CINT(BgL_offsetz00_1868); 
BgL_test5077z00_1571 = 
(BgL_auxz00_2178<BgL_auxz00_2180); } }  else 
{ /* ./Cfa/procedure.scm 155 */
BgL_test5077z00_1571 = ((bool_t)0); } } 
if(BgL_test5077z00_1571)
{ /* ./Cfa/procedure.scm 159 */
BgL_approxz00_bglt BgL_arg5079z00_1572;obj_t BgL_arg5080z00_1573;
{ /* ./Cfa/procedure.scm 159 */
BgL_procedurezd2refzd2appz00_bglt BgL_obj3738z00_1770;
BgL_obj3738z00_1770 = 
(BgL_procedurezd2refzd2appz00_bglt)(BgL_instance4099z00_1869); 
{ 
obj_t BgL_auxz00_2185;
{ /* ./Cfa/procedure.scm 159 */
BgL_objectz00_bglt BgL_auxz00_2186;
BgL_auxz00_2186 = 
(BgL_objectz00_bglt)(BgL_obj3738z00_1770); 
BgL_auxz00_2185 = 
BGL_OBJECT_WIDENING(BgL_auxz00_2186); } 
BgL_arg5079z00_1572 = 
(((BgL_procedurezd2refzd2appz00_bglt)CREF(BgL_auxz00_2185))->BgL_approxz00); } } 
{ /* ./Cfa/procedure.scm 161 */
obj_t BgL_arg5084z00_1574;
{ /* ./Cfa/procedure.scm 161 */
BgL_makezd2procedurezd2appz00_bglt BgL_obj3689z00_1771;
BgL_obj3689z00_1771 = 
(BgL_makezd2procedurezd2appz00_bglt)(BgL_appz00_1569); 
{ 
obj_t BgL_auxz00_2191;
{ /* ./Cfa/procedure.scm 161 */
BgL_objectz00_bglt BgL_auxz00_2192;
BgL_auxz00_2192 = 
(BgL_objectz00_bglt)(BgL_obj3689z00_1771); 
BgL_auxz00_2191 = 
BGL_OBJECT_WIDENING(BgL_auxz00_2192); } 
BgL_arg5084z00_1574 = 
(((BgL_makezd2procedurezd2appz00_bglt)CREF(BgL_auxz00_2191))->BgL_valueszd2approxzd2); } } 
{ /* ./Cfa/procedure.scm 160 */
int BgL_kz00_1773;
BgL_kz00_1773 = 
CINT(BgL_offsetz00_1868); 
BgL_arg5080z00_1573 = 
VECTOR_REF(BgL_arg5084z00_1574,BgL_kz00_1773); } } 
{ /* ./Cfa/procedure.scm 159 */
BgL_approxz00_bglt BgL_auxz00_2198;
BgL_auxz00_2198 = 
BGl_unionzd2approxz12zc0zzcfa_approxz00(BgL_arg5079z00_1572, 
(BgL_approxz00_bglt)(BgL_arg5080z00_1573)); 
return 
(obj_t)(BgL_auxz00_2198);} }  else 
{ /* ./Cfa/procedure.scm 165 */
BgL_approxz00_bglt BgL_arg5088z00_1575;
{ /* ./Cfa/procedure.scm 165 */
BgL_procedurezd2refzd2appz00_bglt BgL_obj3738z00_1774;
BgL_obj3738z00_1774 = 
(BgL_procedurezd2refzd2appz00_bglt)(BgL_instance4099z00_1869); 
{ 
obj_t BgL_auxz00_2203;
{ /* ./Cfa/procedure.scm 165 */
BgL_objectz00_bglt BgL_auxz00_2204;
BgL_auxz00_2204 = 
(BgL_objectz00_bglt)(BgL_obj3738z00_1774); 
BgL_auxz00_2203 = 
BGL_OBJECT_WIDENING(BgL_auxz00_2204); } 
BgL_arg5088z00_1575 = 
(((BgL_procedurezd2refzd2appz00_bglt)CREF(BgL_auxz00_2203))->BgL_approxz00); } } 
return 
BGl_approxzd2setzd2topz12z12zzcfa_approxz00(BgL_arg5088z00_1575);} } } } } 
}



/* <anonymous:5103> */
obj_t BGl_zc3anonymousza35103ze3z83zzcfa_procedurez00(obj_t BgL_envz00_1871, obj_t BgL_appz00_1873)
{ AN_OBJECT;
{ /* ./Cfa/procedure.scm 169 */
{ /* ./Cfa/procedure.scm 170 */
obj_t BgL_instance4099z00_1872;
{ /* ./Cfa/procedure.scm 170 */
int BgL_auxz00_2209;
BgL_auxz00_2209 = 
(int)(((long)0)); 
BgL_instance4099z00_1872 = 
PROCEDURE_REF(BgL_envz00_1871, BgL_auxz00_2209); } 
{ 
obj_t BgL_appz00_1581;
{ /* ./Cfa/procedure.scm 170 */
bool_t BgL_auxz00_2212;
BgL_appz00_1581 = BgL_appz00_1873; 
{ /* ./Cfa/procedure.scm 170 */
bool_t BgL_test5104z00_1583;
BgL_test5104z00_1583 = 
BGl_iszd2azf3z21zz__objectz00(BgL_appz00_1581, BGl_makezd2procedurezd2appz00zzcfa_info2z00); 
if(BgL_test5104z00_1583)
{ /* ./Cfa/procedure.scm 171 */
int BgL_lenz00_1584;
{ /* ./Cfa/procedure.scm 172 */
obj_t BgL_arg5122z00_1592;
{ /* ./Cfa/procedure.scm 172 */
BgL_makezd2procedurezd2appz00_bglt BgL_obj3689z00_1776;
BgL_obj3689z00_1776 = 
(BgL_makezd2procedurezd2appz00_bglt)(BgL_appz00_1581); 
{ 
obj_t BgL_auxz00_2216;
{ /* ./Cfa/procedure.scm 172 */
BgL_objectz00_bglt BgL_auxz00_2217;
BgL_auxz00_2217 = 
(BgL_objectz00_bglt)(BgL_obj3689z00_1776); 
BgL_auxz00_2216 = 
BGL_OBJECT_WIDENING(BgL_auxz00_2217); } 
BgL_arg5122z00_1592 = 
(((BgL_makezd2procedurezd2appz00_bglt)CREF(BgL_auxz00_2216))->BgL_valueszd2approxzd2); } } 
BgL_lenz00_1584 = 
VECTOR_LENGTH(BgL_arg5122z00_1592); } 
{ 
long BgL_iz00_1585;
BgL_iz00_1585 = ((long)0); 
BgL_loopz00_1586:
{ /* ./Cfa/procedure.scm 174 */
bool_t BgL_test5106z00_1587;
{ /* ./Cfa/procedure.scm 174 */
long BgL_auxz00_2222;
BgL_auxz00_2222 = 
(long)(BgL_lenz00_1584); 
BgL_test5106z00_1587 = 
(BgL_iz00_1585<BgL_auxz00_2222); } 
if(BgL_test5106z00_1587)
{ /* ./Cfa/procedure.scm 174 */
{ /* ./Cfa/procedure.scm 176 */
BgL_approxz00_bglt BgL_arg5108z00_1588;obj_t BgL_arg5109z00_1589;
{ /* ./Cfa/procedure.scm 176 */
BgL_procedurezd2refzd2appz00_bglt BgL_obj3738z00_1780;
BgL_obj3738z00_1780 = 
(BgL_procedurezd2refzd2appz00_bglt)(BgL_instance4099z00_1872); 
{ 
obj_t BgL_auxz00_2227;
{ /* ./Cfa/procedure.scm 176 */
BgL_objectz00_bglt BgL_auxz00_2228;
BgL_auxz00_2228 = 
(BgL_objectz00_bglt)(BgL_obj3738z00_1780); 
BgL_auxz00_2227 = 
BGL_OBJECT_WIDENING(BgL_auxz00_2228); } 
BgL_arg5108z00_1588 = 
(((BgL_procedurezd2refzd2appz00_bglt)CREF(BgL_auxz00_2227))->BgL_approxz00); } } 
{ /* ./Cfa/procedure.scm 179 */
obj_t BgL_arg5113z00_1590;
{ /* ./Cfa/procedure.scm 179 */
BgL_makezd2procedurezd2appz00_bglt BgL_obj3689z00_1781;
BgL_obj3689z00_1781 = 
(BgL_makezd2procedurezd2appz00_bglt)(BgL_appz00_1581); 
{ 
obj_t BgL_auxz00_2233;
{ /* ./Cfa/procedure.scm 179 */
BgL_objectz00_bglt BgL_auxz00_2234;
BgL_auxz00_2234 = 
(BgL_objectz00_bglt)(BgL_obj3689z00_1781); 
BgL_auxz00_2233 = 
BGL_OBJECT_WIDENING(BgL_auxz00_2234); } 
BgL_arg5113z00_1590 = 
(((BgL_makezd2procedurezd2appz00_bglt)CREF(BgL_auxz00_2233))->BgL_valueszd2approxzd2); } } 
{ /* ./Cfa/procedure.scm 178 */
int BgL_kz00_1783;
BgL_kz00_1783 = 
(int)(BgL_iz00_1585); 
BgL_arg5109z00_1589 = 
VECTOR_REF(BgL_arg5113z00_1590,BgL_kz00_1783); } } 
BGl_unionzd2approxz12zc0zzcfa_approxz00(BgL_arg5108z00_1588, 
(BgL_approxz00_bglt)(BgL_arg5109z00_1589)); } 
{ /* ./Cfa/procedure.scm 181 */
long BgL_arg5117z00_1591;
BgL_arg5117z00_1591 = 
(BgL_iz00_1585+((long)1)); 
{ 
long BgL_iz00_2243;
BgL_iz00_2243 = BgL_arg5117z00_1591; 
BgL_iz00_1585 = BgL_iz00_2243; 
goto BgL_loopz00_1586;} } }  else 
{ /* ./Cfa/procedure.scm 174 */
BgL_auxz00_2212 = ((bool_t)0)
; } } } }  else 
{ /* ./Cfa/procedure.scm 170 */
BgL_auxz00_2212 = ((bool_t)0)
; } } 
return 
BBOOL(BgL_auxz00_2212);} } } } 
}



/* cfa!-make-procedure-app4112 */
obj_t BGl_cfaz12zd2makezd2procedurezd2app4112zc0zzcfa_procedurez00(obj_t BgL_envz00_1874, obj_t BgL_nodez00_1875)
{ AN_OBJECT;
{ /* ./Cfa/procedure.scm 120 */
{ 
BgL_makezd2procedurezd2appz00_bglt BgL_nodez00_1536;
{ /* ./Cfa/procedure.scm 121 */
BgL_approxz00_bglt BgL_auxz00_2245;
BgL_nodez00_1536 = 
(BgL_makezd2procedurezd2appz00_bglt)(BgL_nodez00_1875); 
{ /* ./Cfa/procedure.scm 124 */
obj_t BgL_procz00_1540;
{ /* ./Cfa/procedure.scm 124 */
obj_t BgL_auxz00_2246;
{ /* ./Cfa/procedure.scm 124 */
BgL_appz00_bglt BgL_obj1722z00_1736;
BgL_obj1722z00_1736 = 
(BgL_appz00_bglt)(BgL_nodez00_1536); 
BgL_auxz00_2246 = 
(((BgL_appz00_bglt)CREF(BgL_obj1722z00_1736))->BgL_argsz00); } 
BgL_procz00_1540 = 
CAR(BgL_auxz00_2246); } 
{ /* ./Cfa/procedure.scm 124 */
BgL_valuez00_bglt BgL_funz00_1541;
{ /* ./Cfa/procedure.scm 125 */
BgL_variablez00_bglt BgL_arg5031z00_1547;
{ /* ./Cfa/procedure.scm 125 */
BgL_varz00_bglt BgL_obj1625z00_1738;
BgL_obj1625z00_1738 = 
(BgL_varz00_bglt)(BgL_procz00_1540); 
BgL_arg5031z00_1547 = 
(((BgL_varz00_bglt)CREF(BgL_obj1625z00_1738))->BgL_variablez00); } 
BgL_funz00_1541 = 
(((BgL_variablez00_bglt)CREF(BgL_arg5031z00_1547))->BgL_valuez00); } 
{ /* ./Cfa/procedure.scm 125 */
obj_t BgL_envz00_1542;
{ /* ./Cfa/procedure.scm 126 */
obj_t BgL_auxz00_2253;
{ /* ./Cfa/procedure.scm 126 */
BgL_sfunz00_bglt BgL_obj1367z00_1740;
BgL_obj1367z00_1740 = 
(BgL_sfunz00_bglt)(BgL_funz00_1541); 
BgL_auxz00_2253 = 
(((BgL_sfunz00_bglt)CREF(BgL_obj1367z00_1740))->BgL_argsz00); } 
BgL_envz00_1542 = 
CAR(BgL_auxz00_2253); } 
{ /* ./Cfa/procedure.scm 126 */

{ /* ./Cfa/procedure.scm 133 */
BgL_approxz00_bglt BgL_arg5018z00_1543;BgL_approxz00_bglt BgL_arg5019z00_1544;
{ /* ./Cfa/procedure.scm 133 */
BgL_svarzf2cinfozf2_bglt BgL_obj2902z00_1743;
{ /* ./Cfa/procedure.scm 133 */
BgL_valuez00_bglt BgL_auxz00_2257;
{ /* ./Cfa/procedure.scm 133 */
BgL_variablez00_bglt BgL_obj1100z00_1742;
BgL_obj1100z00_1742 = 
(BgL_variablez00_bglt)(BgL_envz00_1542); 
BgL_auxz00_2257 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1100z00_1742))->BgL_valuez00); } 
BgL_obj2902z00_1743 = 
(BgL_svarzf2cinfozf2_bglt)(BgL_auxz00_2257); } 
{ 
obj_t BgL_auxz00_2261;
{ /* ./Cfa/procedure.scm 133 */
BgL_objectz00_bglt BgL_auxz00_2262;
BgL_auxz00_2262 = 
(BgL_objectz00_bglt)(BgL_obj2902z00_1743); 
BgL_auxz00_2261 = 
BGL_OBJECT_WIDENING(BgL_auxz00_2262); } 
BgL_arg5018z00_1543 = 
(((BgL_svarzf2cinfozf2_bglt)CREF(BgL_auxz00_2261))->BgL_approxz00); } } 
{ 
obj_t BgL_auxz00_2266;
{ /* ./Cfa/procedure.scm 133 */
BgL_objectz00_bglt BgL_auxz00_2267;
BgL_auxz00_2267 = 
(BgL_objectz00_bglt)(BgL_nodez00_1536); 
BgL_auxz00_2266 = 
BGL_OBJECT_WIDENING(BgL_auxz00_2267); } 
BgL_arg5019z00_1544 = 
(((BgL_makezd2procedurezd2appz00_bglt)CREF(BgL_auxz00_2266))->BgL_approxz00); } 
BGl_unionzd2approxz12zc0zzcfa_approxz00(BgL_arg5018z00_1543, BgL_arg5019z00_1544); } } } } } 
{ 
obj_t BgL_l4097z00_1549;
{ /* ./Cfa/procedure.scm 135 */
obj_t BgL_arg5039z00_1551;
{ /* ./Cfa/procedure.scm 135 */
BgL_appz00_bglt BgL_obj1722z00_1745;
BgL_obj1722z00_1745 = 
(BgL_appz00_bglt)(BgL_nodez00_1536); 
BgL_arg5039z00_1551 = 
(((BgL_appz00_bglt)CREF(BgL_obj1722z00_1745))->BgL_argsz00); } 
BgL_l4097z00_1549 = BgL_arg5039z00_1551; 
BgL_forzd2each4098zd2_1550:
{ /* ./Cfa/procedure.scm 135 */
bool_t BgL_test5042z00_1552;
BgL_test5042z00_1552 = 
PAIRP(BgL_l4097z00_1549); 
if(BgL_test5042z00_1552)
{ /* ./Cfa/procedure.scm 135 */
{ /* ./Cfa/procedure.scm 135 */
obj_t BgL_arg5044z00_1553;
BgL_arg5044z00_1553 = 
CAR(BgL_l4097z00_1549); 
BGl_cfaz12z12zzcfa_cfaz00(
(BgL_nodez00_bglt)(BgL_arg5044z00_1553)); } 
{ /* ./Cfa/procedure.scm 135 */
obj_t BgL_arg5048z00_1554;
BgL_arg5048z00_1554 = 
CDR(BgL_l4097z00_1549); 
{ 
obj_t BgL_l4097z00_2280;
BgL_l4097z00_2280 = BgL_arg5048z00_1554; 
BgL_l4097z00_1549 = BgL_l4097z00_2280; 
goto BgL_forzd2each4098zd2_1550;} } }  else 
{ /* ./Cfa/procedure.scm 135 */((bool_t)1); } } } } 
{ 
obj_t BgL_auxz00_2281;
{ /* ./Cfa/procedure.scm 136 */
BgL_objectz00_bglt BgL_auxz00_2282;
BgL_auxz00_2282 = 
(BgL_objectz00_bglt)(BgL_nodez00_1536); 
BgL_auxz00_2281 = 
BGL_OBJECT_WIDENING(BgL_auxz00_2282); } 
BgL_auxz00_2245 = 
(((BgL_makezd2procedurezd2appz00_bglt)CREF(BgL_auxz00_2281))->BgL_approxz00); } 
return 
(obj_t)(BgL_auxz00_2245);} } } 
}



/* node-setup!-pre-procedure-set!-app4110 */
obj_t BGl_nodezd2setupz12zd2prezd2procedurezd2setz12zd2app4110zd2zzcfa_procedurez00(obj_t BgL_envz00_1876, obj_t BgL_nodez00_1877)
{ AN_OBJECT;
{ /* ./Cfa/procedure.scm 109 */
{ 
BgL_prezd2procedurezd2setz12zd2appzc0_bglt BgL_nodez00_1520;
{ /* ./Cfa/procedure.scm 110 */
BgL_appz00_bglt BgL_auxz00_2288;
BgL_nodez00_1520 = 
(BgL_prezd2procedurezd2setz12zd2appzc0_bglt)(BgL_nodez00_1877); 
BGl_addzd2procedurezd2refz12z12zzcfa_closurez00(
(BgL_nodez00_bglt)(BgL_nodez00_1520)); 
{ /* ./Cfa/procedure.scm 112 */
obj_t BgL_arg4985z00_1524;
{ /* ./Cfa/procedure.scm 112 */
BgL_appz00_bglt BgL_obj1722z00_1722;
BgL_obj1722z00_1722 = 
(BgL_appz00_bglt)(BgL_nodez00_1520); 
BgL_arg4985z00_1524 = 
(((BgL_appz00_bglt)CREF(BgL_obj1722z00_1722))->BgL_argsz00); } 
BGl_nodezd2setupza2z12z62zzcfa_setupz00(BgL_arg4985z00_1524); } 
{ /* ./Cfa/procedure.scm 113 */
BgL_prezd2procedurezd2setz12zd2appzc0_bglt BgL_nodez00_1525;
{ /* ./Cfa/procedure.scm 113 */
long BgL_arg5001z00_1531;
{ /* ./Cfa/procedure.scm 113 */
obj_t BgL_arg5004z00_1532;
{ /* ./Cfa/procedure.scm 113 */
obj_t BgL_arg5007z00_1533;
{ /* ./Cfa/procedure.scm 113 */
BgL_objectz00_bglt BgL_objectz00_1723;
BgL_objectz00_1723 = 
(BgL_objectz00_bglt)(BgL_nodez00_1520); 
{ /* ./Cfa/procedure.scm 113 */
long BgL_arg2036z00_1724;
{ /* ./Cfa/procedure.scm 113 */
long BgL_arg2039z00_1725;
BgL_arg2039z00_1725 = 
BGL_OBJECT_CLASS_NUM(BgL_objectz00_1723); 
BgL_arg2036z00_1724 = 
(BgL_arg2039z00_1725-OBJECT_TYPE); } 
{ /* ./Cfa/procedure.scm 113 */
obj_t BgL_vectorz00_1729;int BgL_kz00_1730;
BgL_vectorz00_1729 = BGl_za2classesza2z00zz__objectz00; 
BgL_kz00_1730 = 
(int)(BgL_arg2036z00_1724); 
BgL_arg5007z00_1533 = 
VECTOR_REF(BgL_vectorz00_1729,BgL_kz00_1730); } } } 
BgL_arg5004z00_1532 = 
BGl_classzd2superzd2zz__objectz00(BgL_arg5007z00_1533); } 
BgL_arg5001z00_1531 = 
BGl_classzd2numzd2zz__objectz00(BgL_arg5004z00_1532); } 
{ /* ./Cfa/procedure.scm 113 */
BgL_objectz00_bglt BgL_objz00_1731;
BgL_objz00_1731 = 
(BgL_objectz00_bglt)(BgL_nodez00_1520); 
BGL_OBJECT_CLASS_NUM_SET(BgL_objz00_1731, BgL_arg5001z00_1531); } } 
{ /* ./Cfa/procedure.scm 113 */
BgL_objectz00_bglt BgL_auxz00_2303;
BgL_auxz00_2303 = 
(BgL_objectz00_bglt)(BgL_nodez00_1520); 
BGL_OBJECT_WIDENING_SET(BgL_auxz00_2303, BFALSE); } 
BgL_nodez00_1525 = BgL_nodez00_1520; 
{ /* ./Cfa/procedure.scm 114 */
BgL_appz00_bglt BgL_obj4094z00_1526;
{ 
BgL_appz00_bglt BgL_auxz00_2306;
BgL_auxz00_2306 = 
(BgL_appz00_bglt)(BgL_nodez00_1525); 
BgL_obj4094z00_1526 = 
((BgL_appz00_bglt)BgL_auxz00_2306); } 
{ /* ./Cfa/procedure.scm 115 */
obj_t BgL_arg4989z00_1527;
{ /* ./Cfa/procedure.scm 115 */
BgL_approxz00_bglt BgL_arg4992z00_1528;
BgL_arg4992z00_1528 = 
BGl_makezd2typezd2approxz00zzcfa_approxz00(
(BgL_typez00_bglt)(BGl_za2unspecza2z00zztype_cachez00)); 
BgL_arg4989z00_1527 = 
BGl_wideningzd2procedurezd2setz12zd2appzc0zzcfa_info2z00(BgL_arg4992z00_1528); } 
{ /* ./Cfa/procedure.scm 114 */
BgL_objectz00_bglt BgL_auxz00_2312;
BgL_auxz00_2312 = 
(BgL_objectz00_bglt)(BgL_obj4094z00_1526); 
BGL_OBJECT_WIDENING_SET(BgL_auxz00_2312, BgL_arg4989z00_1527); } } 
{ /* ./Cfa/procedure.scm 114 */
long BgL_arg4996z00_1529;
BgL_arg4996z00_1529 = 
BGl_classzd2numzd2zz__objectz00(BGl_procedurezd2setz12zd2appz12zzcfa_info2z00); 
{ /* ./Cfa/procedure.scm 114 */
BgL_objectz00_bglt BgL_objz00_1733;
BgL_objz00_1733 = 
(BgL_objectz00_bglt)(BgL_obj4094z00_1526); 
BGL_OBJECT_CLASS_NUM_SET(BgL_objz00_1733, BgL_arg4996z00_1529); } } 
{ /* ./Cfa/procedure.scm 114 */
obj_t BgL_objz00_1735;
BgL_objz00_1735 = 
(obj_t)(BgL_obj4094z00_1526); 
BGL_HEAP_DEBUG_MARK_OBJ(BgL_objz00_1735); BUNSPEC; } 
BgL_auxz00_2288 = BgL_obj4094z00_1526; } } 
return 
(obj_t)(BgL_auxz00_2288);} } } 
}



/* node-setup!-pre-procedure-ref-app4108 */
obj_t BGl_nodezd2setupz12zd2prezd2procedurezd2refzd2app4108zc0zzcfa_procedurez00(obj_t BgL_envz00_1878, obj_t BgL_nodez00_1879)
{ AN_OBJECT;
{ /* ./Cfa/procedure.scm 98 */
{ 
BgL_prezd2procedurezd2refzd2appzd2_bglt BgL_nodez00_1504;
{ /* ./Cfa/procedure.scm 99 */
BgL_appz00_bglt BgL_auxz00_2322;
BgL_nodez00_1504 = 
(BgL_prezd2procedurezd2refzd2appzd2_bglt)(BgL_nodez00_1879); 
BGl_addzd2procedurezd2refz12z12zzcfa_closurez00(
(BgL_nodez00_bglt)(BgL_nodez00_1504)); 
{ /* ./Cfa/procedure.scm 101 */
obj_t BgL_arg4950z00_1508;
{ /* ./Cfa/procedure.scm 101 */
BgL_appz00_bglt BgL_obj1722z00_1708;
BgL_obj1722z00_1708 = 
(BgL_appz00_bglt)(BgL_nodez00_1504); 
BgL_arg4950z00_1508 = 
(((BgL_appz00_bglt)CREF(BgL_obj1722z00_1708))->BgL_argsz00); } 
BGl_nodezd2setupza2z12z62zzcfa_setupz00(BgL_arg4950z00_1508); } 
{ /* ./Cfa/procedure.scm 102 */
BgL_prezd2procedurezd2refzd2appzd2_bglt BgL_nodez00_1509;
{ /* ./Cfa/procedure.scm 102 */
long BgL_arg4967z00_1515;
{ /* ./Cfa/procedure.scm 102 */
obj_t BgL_arg4970z00_1516;
{ /* ./Cfa/procedure.scm 102 */
obj_t BgL_arg4973z00_1517;
{ /* ./Cfa/procedure.scm 102 */
BgL_objectz00_bglt BgL_objectz00_1709;
BgL_objectz00_1709 = 
(BgL_objectz00_bglt)(BgL_nodez00_1504); 
{ /* ./Cfa/procedure.scm 102 */
long BgL_arg2036z00_1710;
{ /* ./Cfa/procedure.scm 102 */
long BgL_arg2039z00_1711;
BgL_arg2039z00_1711 = 
BGL_OBJECT_CLASS_NUM(BgL_objectz00_1709); 
BgL_arg2036z00_1710 = 
(BgL_arg2039z00_1711-OBJECT_TYPE); } 
{ /* ./Cfa/procedure.scm 102 */
obj_t BgL_vectorz00_1715;int BgL_kz00_1716;
BgL_vectorz00_1715 = BGl_za2classesza2z00zz__objectz00; 
BgL_kz00_1716 = 
(int)(BgL_arg2036z00_1710); 
BgL_arg4973z00_1517 = 
VECTOR_REF(BgL_vectorz00_1715,BgL_kz00_1716); } } } 
BgL_arg4970z00_1516 = 
BGl_classzd2superzd2zz__objectz00(BgL_arg4973z00_1517); } 
BgL_arg4967z00_1515 = 
BGl_classzd2numzd2zz__objectz00(BgL_arg4970z00_1516); } 
{ /* ./Cfa/procedure.scm 102 */
BgL_objectz00_bglt BgL_objz00_1717;
BgL_objz00_1717 = 
(BgL_objectz00_bglt)(BgL_nodez00_1504); 
BGL_OBJECT_CLASS_NUM_SET(BgL_objz00_1717, BgL_arg4967z00_1515); } } 
{ /* ./Cfa/procedure.scm 102 */
BgL_objectz00_bglt BgL_auxz00_2337;
BgL_auxz00_2337 = 
(BgL_objectz00_bglt)(BgL_nodez00_1504); 
BGL_OBJECT_WIDENING_SET(BgL_auxz00_2337, BFALSE); } 
BgL_nodez00_1509 = BgL_nodez00_1504; 
{ /* ./Cfa/procedure.scm 103 */
BgL_appz00_bglt BgL_obj4090z00_1510;
{ 
BgL_appz00_bglt BgL_auxz00_2340;
BgL_auxz00_2340 = 
(BgL_appz00_bglt)(BgL_nodez00_1509); 
BgL_obj4090z00_1510 = 
((BgL_appz00_bglt)BgL_auxz00_2340); } 
{ /* ./Cfa/procedure.scm 104 */
obj_t BgL_arg4954z00_1511;
{ /* ./Cfa/procedure.scm 104 */
BgL_approxz00_bglt BgL_arg4958z00_1512;
BgL_arg4958z00_1512 = 
BGl_makezd2typezd2approxz00zzcfa_approxz00(
(BgL_typez00_bglt)(BGl_za2objza2z00zztype_cachez00)); 
BgL_arg4954z00_1511 = 
BGl_wideningzd2procedurezd2refzd2appzd2zzcfa_info2z00(BgL_arg4958z00_1512); } 
{ /* ./Cfa/procedure.scm 103 */
BgL_objectz00_bglt BgL_auxz00_2346;
BgL_auxz00_2346 = 
(BgL_objectz00_bglt)(BgL_obj4090z00_1510); 
BGL_OBJECT_WIDENING_SET(BgL_auxz00_2346, BgL_arg4954z00_1511); } } 
{ /* ./Cfa/procedure.scm 103 */
long BgL_arg4962z00_1513;
BgL_arg4962z00_1513 = 
BGl_classzd2numzd2zz__objectz00(BGl_procedurezd2refzd2appz00zzcfa_info2z00); 
{ /* ./Cfa/procedure.scm 103 */
BgL_objectz00_bglt BgL_objz00_1719;
BgL_objz00_1719 = 
(BgL_objectz00_bglt)(BgL_obj4090z00_1510); 
BGL_OBJECT_CLASS_NUM_SET(BgL_objz00_1719, BgL_arg4962z00_1513); } } 
{ /* ./Cfa/procedure.scm 103 */
obj_t BgL_objz00_1721;
BgL_objz00_1721 = 
(obj_t)(BgL_obj4090z00_1510); 
BGL_HEAP_DEBUG_MARK_OBJ(BgL_objz00_1721); BUNSPEC; } 
BgL_auxz00_2322 = BgL_obj4090z00_1510; } } 
return 
(obj_t)(BgL_auxz00_2322);} } } 
}



/* node-setup!-pre-make-procedure-app4106 */
obj_t BGl_nodezd2setupz12zd2prezd2makezd2procedurezd2app4106zc0zzcfa_procedurez00(obj_t BgL_envz00_1880, obj_t BgL_nodez00_1881)
{ AN_OBJECT;
{ /* ./Cfa/procedure.scm 48 */
{ 
BgL_prezd2makezd2procedurezd2appzd2_bglt BgL_nodez00_1451;
BgL_nodez00_1451 = 
(BgL_prezd2makezd2procedurezd2appzd2_bglt)(BgL_nodez00_1881); 
{ 

{ 
obj_t BgL_lenz00_1492;
BGl_addzd2makezd2procedurez12z12zzcfa_closurez00(
(BgL_nodez00_bglt)(BgL_nodez00_1451)); 
{ /* ./Cfa/procedure.scm 59 */
obj_t BgL_arg4842z00_1456;
{ /* ./Cfa/procedure.scm 59 */
BgL_appz00_bglt BgL_obj1722z00_1657;
BgL_obj1722z00_1657 = 
(BgL_appz00_bglt)(BgL_nodez00_1451); 
BgL_arg4842z00_1456 = 
(((BgL_appz00_bglt)CREF(BgL_obj1722z00_1657))->BgL_argsz00); } 
BGl_nodezd2setupza2z12z62zzcfa_setupz00(BgL_arg4842z00_1456); } 
{ /* ./Cfa/procedure.scm 60 */
BgL_variablez00_bglt BgL_ownerz00_1457;
{ 
obj_t BgL_auxz00_2361;
{ /* ./Cfa/procedure.scm 60 */
BgL_objectz00_bglt BgL_auxz00_2362;
BgL_auxz00_2362 = 
(BgL_objectz00_bglt)(BgL_nodez00_1451); 
BgL_auxz00_2361 = 
BGL_OBJECT_WIDENING(BgL_auxz00_2362); } 
BgL_ownerz00_1457 = 
(((BgL_prezd2makezd2procedurezd2appzd2_bglt)CREF(BgL_auxz00_2361))->BgL_ownerz00); } 
{ /* ./Cfa/procedure.scm 60 */
BgL_prezd2makezd2procedurezd2appzd2_bglt BgL_nodez00_1458;
{ /* ./Cfa/procedure.scm 61 */
long BgL_arg4914z00_1489;
{ /* ./Cfa/procedure.scm 61 */
obj_t BgL_arg4917z00_1490;
{ /* ./Cfa/procedure.scm 61 */
obj_t BgL_arg4920z00_1491;
{ /* ./Cfa/procedure.scm 61 */
BgL_objectz00_bglt BgL_objectz00_1659;
BgL_objectz00_1659 = 
(BgL_objectz00_bglt)(BgL_nodez00_1451); 
{ /* ./Cfa/procedure.scm 61 */
long BgL_arg2036z00_1660;
{ /* ./Cfa/procedure.scm 61 */
long BgL_arg2039z00_1661;
BgL_arg2039z00_1661 = 
BGL_OBJECT_CLASS_NUM(BgL_objectz00_1659); 
BgL_arg2036z00_1660 = 
(BgL_arg2039z00_1661-OBJECT_TYPE); } 
{ /* ./Cfa/procedure.scm 61 */
obj_t BgL_vectorz00_1665;int BgL_kz00_1666;
BgL_vectorz00_1665 = BGl_za2classesza2z00zz__objectz00; 
BgL_kz00_1666 = 
(int)(BgL_arg2036z00_1660); 
BgL_arg4920z00_1491 = 
VECTOR_REF(BgL_vectorz00_1665,BgL_kz00_1666); } } } 
BgL_arg4917z00_1490 = 
BGl_classzd2superzd2zz__objectz00(BgL_arg4920z00_1491); } 
BgL_arg4914z00_1489 = 
BGl_classzd2numzd2zz__objectz00(BgL_arg4917z00_1490); } 
{ /* ./Cfa/procedure.scm 61 */
BgL_objectz00_bglt BgL_objz00_1667;
BgL_objz00_1667 = 
(BgL_objectz00_bglt)(BgL_nodez00_1451); 
BGL_OBJECT_CLASS_NUM_SET(BgL_objz00_1667, BgL_arg4914z00_1489); } } 
{ /* ./Cfa/procedure.scm 61 */
BgL_objectz00_bglt BgL_auxz00_2375;
BgL_auxz00_2375 = 
(BgL_objectz00_bglt)(BgL_nodez00_1451); 
BGL_OBJECT_WIDENING_SET(BgL_auxz00_2375, BFALSE); } 
BgL_nodez00_1458 = BgL_nodez00_1451; 
{ /* ./Cfa/procedure.scm 61 */

{ /* ./Cfa/procedure.scm 62 */
obj_t BgL_proczd2siza7ez75_1459;obj_t BgL_procz00_1460;
{ /* ./Cfa/procedure.scm 62 */
obj_t BgL_arg4903z00_1485;
{ /* ./Cfa/procedure.scm 62 */
obj_t BgL_auxz00_2378;
{ /* ./Cfa/procedure.scm 62 */
obj_t BgL_auxz00_2379;
{ /* ./Cfa/procedure.scm 62 */
obj_t BgL_auxz00_2380;
{ /* ./Cfa/procedure.scm 62 */
BgL_appz00_bglt BgL_obj1722z00_1669;
BgL_obj1722z00_1669 = 
(BgL_appz00_bglt)(BgL_nodez00_1451); 
BgL_auxz00_2380 = 
(((BgL_appz00_bglt)CREF(BgL_obj1722z00_1669))->BgL_argsz00); } 
BgL_auxz00_2379 = 
CDR(BgL_auxz00_2380); } 
BgL_auxz00_2378 = 
CDR(BgL_auxz00_2379); } 
BgL_arg4903z00_1485 = 
CAR(BgL_auxz00_2378); } 
BgL_proczd2siza7ez75_1459 = 
BGl_getzd2nodezd2atomzd2valuezd2zzcfa_approxz00(
(BgL_nodez00_bglt)(BgL_arg4903z00_1485)); } 
{ /* ./Cfa/procedure.scm 63 */
obj_t BgL_auxz00_2388;
{ /* ./Cfa/procedure.scm 63 */
BgL_appz00_bglt BgL_obj1722z00_1676;
BgL_obj1722z00_1676 = 
(BgL_appz00_bglt)(BgL_nodez00_1451); 
BgL_auxz00_2388 = 
(((BgL_appz00_bglt)CREF(BgL_obj1722z00_1676))->BgL_argsz00); } 
BgL_procz00_1460 = 
CAR(BgL_auxz00_2388); } 
{ /* ./Cfa/procedure.scm 64 */
bool_t BgL_test4845z00_1461;
{ /* ./Cfa/procedure.scm 64 */
bool_t BgL_test4891z00_1481;
BgL_test4891z00_1481 = 
INTEGERP(BgL_proczd2siza7ez75_1459); 
if(BgL_test4891z00_1481)
{ /* ./Cfa/procedure.scm 65 */
bool_t BgL_test4892z00_1482;
BgL_test4892z00_1482 = 
BGl_iszd2azf3z21zz__objectz00(BgL_procz00_1460, BGl_varz00zzast_nodez00); 
if(BgL_test4892z00_1482)
{ /* ./Cfa/procedure.scm 66 */
BgL_valuez00_bglt BgL_arg4894z00_1483;
{ /* ./Cfa/procedure.scm 66 */
BgL_variablez00_bglt BgL_arg4897z00_1484;
{ /* ./Cfa/procedure.scm 66 */
BgL_varz00_bglt BgL_obj1625z00_1680;
BgL_obj1625z00_1680 = 
(BgL_varz00_bglt)(BgL_procz00_1460); 
BgL_arg4897z00_1484 = 
(((BgL_varz00_bglt)CREF(BgL_obj1625z00_1680))->BgL_variablez00); } 
BgL_arg4894z00_1483 = 
(((BgL_variablez00_bglt)CREF(BgL_arg4897z00_1484))->BgL_valuez00); } 
{ /* ./Cfa/procedure.scm 66 */
obj_t BgL_obj1344z00_1682;
BgL_obj1344z00_1682 = 
(obj_t)(BgL_arg4894z00_1483); 
BgL_test4845z00_1461 = 
BGl_iszd2azf3z21zz__objectz00(BgL_obj1344z00_1682, BGl_funz00zzast_varz00); } }  else 
{ /* ./Cfa/procedure.scm 65 */
BgL_test4845z00_1461 = ((bool_t)0); } }  else 
{ /* ./Cfa/procedure.scm 64 */
BgL_test4845z00_1461 = ((bool_t)0); } } 
if(BgL_test4845z00_1461)
{ /* ./Cfa/procedure.scm 67 */
BgL_appz00_bglt BgL_nodez00_1462;
{ /* ./Cfa/procedure.scm 67 */
BgL_appz00_bglt BgL_obj4085z00_1473;
{ 
BgL_appz00_bglt BgL_auxz00_2402;
BgL_auxz00_2402 = 
(BgL_appz00_bglt)(BgL_nodez00_1458); 
BgL_obj4085z00_1473 = 
((BgL_appz00_bglt)BgL_auxz00_2402); } 
{ /* ./Cfa/procedure.scm 69 */
obj_t BgL_arg4874z00_1474;
{ /* ./Cfa/procedure.scm 69 */
BgL_approxz00_bglt BgL_arg4877z00_1475;obj_t BgL_arg4878z00_1476;BgL_variablez00_bglt BgL_arg4880z00_1478;
BgL_arg4877z00_1475 = 
BGl_makezd2emptyzd2approxz00zzcfa_approxz00(); 
BgL_lenz00_1492 = BgL_proczd2siza7ez75_1459; 
{ /* ./Cfa/procedure.scm 50 */
obj_t BgL_resz00_1494;
{ /* ./Cfa/procedure.scm 50 */
obj_t BgL_arg4938z00_1500;
BgL_arg4938z00_1500 = BUNSPEC; 
{ /* ./Cfa/procedure.scm 50 */
int BgL_auxz00_2406;
BgL_auxz00_2406 = 
CINT(BgL_lenz00_1492); 
BgL_resz00_1494 = 
make_vector(BgL_auxz00_2406, BgL_arg4938z00_1500); } } 
{ 
long BgL_iz00_1495;
BgL_iz00_1495 = ((long)0); 
BgL_loopz00_1496:
{ /* ./Cfa/procedure.scm 52 */
bool_t BgL_test4927z00_1497;
{ /* ./Cfa/procedure.scm 52 */
long BgL_auxz00_2409;
BgL_auxz00_2409 = 
(long)CINT(BgL_lenz00_1492); 
BgL_test4927z00_1497 = 
(BgL_iz00_1495==BgL_auxz00_2409); } 
if(BgL_test4927z00_1497)
{ /* ./Cfa/procedure.scm 52 */
BgL_arg4878z00_1476 = BgL_resz00_1494; }  else 
{ /* ./Cfa/procedure.scm 52 */
{ /* ./Cfa/procedure.scm 55 */
BgL_approxz00_bglt BgL_arg4929z00_1498;
BgL_arg4929z00_1498 = 
BGl_makezd2typezd2approxz00zzcfa_approxz00(
(BgL_typez00_bglt)(BGl_za2objza2z00zztype_cachez00)); 
{ /* ./Cfa/procedure.scm 55 */
int BgL_kz00_1703;obj_t BgL_objz00_1704;
BgL_kz00_1703 = 
(int)(BgL_iz00_1495); 
BgL_objz00_1704 = 
(obj_t)(BgL_arg4929z00_1498); 
VECTOR_SET(BgL_resz00_1494,BgL_kz00_1703,BgL_objz00_1704); } } 
{ /* ./Cfa/procedure.scm 56 */
long BgL_arg4933z00_1499;
BgL_arg4933z00_1499 = 
(BgL_iz00_1495+((long)1)); 
{ 
long BgL_iz00_2419;
BgL_iz00_2419 = BgL_arg4933z00_1499; 
BgL_iz00_1495 = BgL_iz00_2419; 
goto BgL_loopz00_1496;} } } } } } 
BgL_arg4880z00_1478 = BgL_ownerz00_1457; 
BgL_arg4874z00_1474 = 
BGl_wideningzd2makezd2procedurezd2appzd2zzcfa_info2z00(BgL_arg4877z00_1475, BgL_arg4878z00_1476, ((long)-1), ((bool_t)1), ((bool_t)0), ((bool_t)0), BgL_arg4880z00_1478, BNIL); } 
{ /* ./Cfa/procedure.scm 67 */
BgL_objectz00_bglt BgL_auxz00_2421;
BgL_auxz00_2421 = 
(BgL_objectz00_bglt)(BgL_obj4085z00_1473); 
BGL_OBJECT_WIDENING_SET(BgL_auxz00_2421, BgL_arg4874z00_1474); } } 
{ /* ./Cfa/procedure.scm 67 */
long BgL_arg4886z00_1480;
BgL_arg4886z00_1480 = 
BGl_classzd2numzd2zz__objectz00(BGl_makezd2procedurezd2appz00zzcfa_info2z00); 
{ /* ./Cfa/procedure.scm 67 */
BgL_objectz00_bglt BgL_objz00_1683;
BgL_objz00_1683 = 
(BgL_objectz00_bglt)(BgL_obj4085z00_1473); 
BGL_OBJECT_CLASS_NUM_SET(BgL_objz00_1683, BgL_arg4886z00_1480); } } 
{ /* ./Cfa/procedure.scm 67 */
obj_t BgL_objz00_1685;
BgL_objz00_1685 = 
(obj_t)(BgL_obj4085z00_1473); 
BGL_HEAP_DEBUG_MARK_OBJ(BgL_objz00_1685); BUNSPEC; } 
BgL_nodez00_1462 = BgL_obj4085z00_1473; } 
{ /* ./Cfa/procedure.scm 76 */
BgL_approxz00_bglt BgL_arg4847z00_1463;
BgL_arg4847z00_1463 = 
BGl_makezd2typezd2alloczd2approxzd2zzcfa_approxz00(
(BgL_typez00_bglt)(BGl_za2procedureza2z00zztype_cachez00), 
(BgL_nodez00_bglt)(BgL_nodez00_1462)); 
{ /* ./Cfa/procedure.scm 75 */
BgL_makezd2procedurezd2appz00_bglt BgL_obj3688z00_1686;BgL_approxz00_bglt BgL_val3687z00_1687;
BgL_obj3688z00_1686 = 
(BgL_makezd2procedurezd2appz00_bglt)(BgL_nodez00_1462); 
BgL_val3687z00_1687 = BgL_arg4847z00_1463; 
{ 
obj_t BgL_auxz00_2433;
{ /* ./Cfa/procedure.scm 75 */
BgL_objectz00_bglt BgL_auxz00_2434;
BgL_auxz00_2434 = 
(BgL_objectz00_bglt)(BgL_obj3688z00_1686); 
BgL_auxz00_2433 = 
BGL_OBJECT_WIDENING(BgL_auxz00_2434); } 
((((BgL_makezd2procedurezd2appz00_bglt)CREF(BgL_auxz00_2433))->BgL_approxz00) = ((BgL_approxz00_bglt)BgL_val3687z00_1687), BUNSPEC); } } } 
{ /* ./Cfa/procedure.scm 81 */
obj_t BgL_cloz00_1464;
{ /* ./Cfa/procedure.scm 81 */
obj_t BgL_auxz00_2438;
{ /* ./Cfa/procedure.scm 81 */
BgL_sfunz00_bglt BgL_obj1367z00_1690;
{ /* ./Cfa/procedure.scm 83 */
BgL_valuez00_bglt BgL_auxz00_2439;
{ /* ./Cfa/procedure.scm 83 */
BgL_variablez00_bglt BgL_arg4870z00_1472;
{ /* ./Cfa/procedure.scm 83 */
BgL_varz00_bglt BgL_obj1625z00_1688;
BgL_obj1625z00_1688 = 
(BgL_varz00_bglt)(BgL_procz00_1460); 
BgL_arg4870z00_1472 = 
(((BgL_varz00_bglt)CREF(BgL_obj1625z00_1688))->BgL_variablez00); } 
BgL_auxz00_2439 = 
(((BgL_variablez00_bglt)CREF(BgL_arg4870z00_1472))->BgL_valuez00); } 
BgL_obj1367z00_1690 = 
(BgL_sfunz00_bglt)(BgL_auxz00_2439); } 
BgL_auxz00_2438 = 
(((BgL_sfunz00_bglt)CREF(BgL_obj1367z00_1690))->BgL_argsz00); } 
BgL_cloz00_1464 = 
CAR(BgL_auxz00_2438); } 
{ /* ./Cfa/procedure.scm 81 */
BgL_valuez00_bglt BgL_vcloz00_1465;
{ /* ./Cfa/procedure.scm 84 */
BgL_variablez00_bglt BgL_obj1100z00_1692;
BgL_obj1100z00_1692 = 
(BgL_variablez00_bglt)(BgL_cloz00_1464); 
BgL_vcloz00_1465 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1100z00_1692))->BgL_valuez00); } 
{ /* ./Cfa/procedure.scm 84 */

{ /* ./Cfa/procedure.scm 85 */
bool_t BgL_test4850z00_1466;
{ /* ./Cfa/procedure.scm 85 */
obj_t BgL_obj2901z00_1693;
BgL_obj2901z00_1693 = 
(obj_t)(BgL_vcloz00_1465); 
BgL_test4850z00_1466 = 
BGl_iszd2azf3z21zz__objectz00(BgL_obj2901z00_1693, BGl_svarzf2Cinfozf2zzcfa_infoz00); } 
if(BgL_test4850z00_1466)
{ /* ./Cfa/procedure.scm 85 */
{ /* ./Cfa/procedure.scm 89 */
BgL_svarzf2cinfozf2_bglt BgL_obj2905z00_1694;bool_t BgL_val2904z00_1695;
BgL_obj2905z00_1694 = 
(BgL_svarzf2cinfozf2_bglt)(BgL_vcloz00_1465); 
BgL_val2904z00_1695 = ((bool_t)1); 
{ 
obj_t BgL_auxz00_2452;
{ /* ./Cfa/procedure.scm 89 */
BgL_objectz00_bglt BgL_auxz00_2453;
BgL_auxz00_2453 = 
(BgL_objectz00_bglt)(BgL_obj2905z00_1694); 
BgL_auxz00_2452 = 
BGL_OBJECT_WIDENING(BgL_auxz00_2453); } 
return 
((((BgL_svarzf2cinfozf2_bglt)CREF(BgL_auxz00_2452))->BgL_clozd2envzf3z21) = ((bool_t)BgL_val2904z00_1695), BUNSPEC);} } }  else 
{ /* ./Cfa/procedure.scm 90 */
BgL_svarz00_bglt BgL_obj4086z00_1467;
{ 
BgL_svarz00_bglt BgL_auxz00_2457;
BgL_auxz00_2457 = 
(BgL_svarz00_bglt)(BgL_vcloz00_1465); 
BgL_obj4086z00_1467 = 
((BgL_svarz00_bglt)BgL_auxz00_2457); } 
{ /* ./Cfa/procedure.scm 90 */
obj_t BgL_arg4853z00_1468;
BgL_arg4853z00_1468 = 
BGl_wideningzd2prezd2clozd2envzd2zzcfa_infoz00(); 
{ /* ./Cfa/procedure.scm 90 */
BgL_objectz00_bglt BgL_auxz00_2461;
BgL_auxz00_2461 = 
(BgL_objectz00_bglt)(BgL_obj4086z00_1467); 
BGL_OBJECT_WIDENING_SET(BgL_auxz00_2461, BgL_arg4853z00_1468); } } 
{ /* ./Cfa/procedure.scm 90 */
long BgL_arg4857z00_1469;
BgL_arg4857z00_1469 = 
BGl_classzd2numzd2zz__objectz00(BGl_prezd2clozd2envz00zzcfa_infoz00); 
{ /* ./Cfa/procedure.scm 90 */
BgL_objectz00_bglt BgL_objz00_1696;
BgL_objz00_1696 = 
(BgL_objectz00_bglt)(BgL_obj4086z00_1467); 
BGL_OBJECT_CLASS_NUM_SET(BgL_objz00_1696, BgL_arg4857z00_1469); } } 
{ /* ./Cfa/procedure.scm 90 */
obj_t BgL_objz00_1698;
BgL_objz00_1698 = 
(obj_t)(BgL_obj4086z00_1467); 
BGL_HEAP_DEBUG_MARK_OBJ(BgL_objz00_1698); BUNSPEC; } 
return 
(obj_t)(BgL_obj4086z00_1467);} } } } } }  else 
{ /* ./Cfa/procedure.scm 64 */
{ /* ./Cfa/procedure.scm 48 */
obj_t BgL_nextzd2method4105zd2_1502;
BgL_nextzd2method4105zd2_1502 = 
BGl_findzd2superzd2classzd2methodzd2zz__objectz00(
(BgL_objectz00_bglt)(BgL_nodez00_1451), BGl_nodezd2setupz12zd2envz12zzcfa_setupz00, BGl_prezd2makezd2procedurezd2appzd2zzcfa_info2z00); 
{ /* ./Cfa/procedure.scm 48 */
bool_t BgL_test4941z00_1503;
BgL_test4941z00_1503 = 
PROCEDUREP(BgL_nextzd2method4105zd2_1502); 
if(BgL_test4941z00_1503)
{ /* ./Cfa/procedure.scm 48 */
return 
PROCEDURE_ENTRY(BgL_nextzd2method4105zd2_1502)(BgL_nextzd2method4105zd2_1502, 
(obj_t)(BgL_nodez00_1451), BEOA);}  else 
{ /* ./Cfa/procedure.scm 48 */
return 
BGl_nodezd2setupz12zc0zzcfa_setupz00(
(BgL_nodez00_bglt)(BgL_nodez00_1451));} } } } } } } } } } } } } 
}



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

