/*===========================================================================*/
/*   (Cfa/funcall.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/funcall.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_funcallz00();
BGL_IMPORT obj_t open_input_string(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_za2_za2z00zztype_cachez00;
extern obj_t BGl_globalz00zzast_varz00;
extern obj_t BGl_za2procedureza2z00zztype_cachez00;
static obj_t BGl_cfaz12zd2funcallzf2Cinfo4102z32zzcfa_funcallz00(obj_t, obj_t);
BGL_IMPORT obj_t BGl_reversez12z12zz__r4_pairs_and_lists_6_3z00(obj_t);
static BgL_approxz00_bglt BGl_funcallzd2arityzd2errorz00zzcfa_funcallz00(obj_t, BgL_variablez00_bglt, long, obj_t);
static obj_t BGl_cnstzd2initzd2zzcfa_funcallz00();
BGL_IMPORT obj_t BGl_stringzd2appendzd2zz__r4_strings_6_7z00(obj_t);
static obj_t BGl_importedzd2moduleszd2initz00zzcfa_funcallz00();
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_funcallz00();
BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zzcfa_funcallz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_tracez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_shapez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_argsz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_errorz00(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_cfaz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzcfa_loosez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzcfa_approxz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzcfa_appz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__objectz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__readerz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_pairs_and_lists_6_3z00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_numbers_6_5_fixnumz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_strings_6_7z00(long, char *);
BGL_IMPORT long bgl_list_length(obj_t);
static obj_t BGl_zc3anonymousza35008ze3z83zzcfa_funcallz00(obj_t, obj_t);
extern obj_t BGl_approxzd2setzd2topz12z12zzcfa_approxz00(BgL_approxz00_bglt);
extern obj_t BGl_shapez00zztools_shapez00(obj_t);
extern BgL_globalz00_bglt BGl_makezd2globalzd2zzast_varz00(obj_t, obj_t, BgL_typez00_bglt, BgL_valuez00_bglt, obj_t, obj_t, obj_t, long, obj_t, obj_t, bool_t, bool_t, bool_t, obj_t, obj_t, obj_t);
BGL_IMPORT obj_t BGl_integerzd2ze3stringz31zz__r4_numbers_6_5_fixnumz00(long, obj_t);
extern obj_t BGl_forzd2eachzd2approxzd2alloczd2zzcfa_approxz00(obj_t, BgL_approxz00_bglt);
extern obj_t BGl_funcallzf2Cinfozf2zzcfa_infoz00;
static obj_t BGl_zc3anonymousza35029ze3z83zzcfa_funcallz00(obj_t, obj_t);
extern obj_t BGl_localz00zzast_varz00;
extern obj_t BGl_approxzd2setzd2typez12z12zzcfa_approxz00(BgL_approxz00_bglt, BgL_typez00_bglt);
static obj_t BGl_funcallzd2typezd2errorz00zzcfa_funcallz00(BgL_funcallzf2cinfozf2_bglt, BgL_typez00_bglt);
extern obj_t BGl_za2objza2z00zztype_cachez00;
extern obj_t BGl_makezd2procedurezd2appz00zzcfa_info2z00;
static BgL_approxz00_bglt BGl_funcallz12z12zzcfa_funcallz00(BgL_makezd2procedurezd2appz00_bglt, obj_t, obj_t);
static obj_t BGl_requirezd2initializa7ationz75zzcfa_funcallz00 = BUNSPEC;
extern BgL_approxz00_bglt BGl_appz12z12zzcfa_appz00(BgL_funz00_bglt, BgL_varz00_bglt, obj_t);
extern BgL_localz00_bglt BGl_makezd2localzd2zzast_varz00(obj_t, obj_t, BgL_typez00_bglt, BgL_valuez00_bglt, obj_t, obj_t, obj_t, long, bool_t, long);
static obj_t BGl_libraryzd2moduleszd2initz00zzcfa_funcallz00();
extern obj_t BGl_userzd2warningzf2locationz20zztools_errorz00(obj_t, obj_t, obj_t, obj_t);
extern bool_t BGl_soundzd2arityzf3z21zztools_argsz00(obj_t, obj_t);
static obj_t __cnst[ 1 ] ;


extern obj_t BGl_cfaz12zd2envzc0zzcfa_cfaz00;
DEFINE_STATIC_PROCEDURE( BGl_proc5230z00zzcfa_funcallz00, BgL_bgl_cfaza712za7d2funcallza7f2cinfo4102za732za7za7cfa_funcallza7005260za7, BGl_cfaz12zd2funcallzf2Cinfo4102z32zzcfa_funcallz00, 0L, 1 );
DEFINE_STRING( BGl_string5231z00zzcfa_funcallz00, BgL_bgl_string5231za700za7za7cfa_funcallza7005261z00, "all ", 4 );
DEFINE_STRING( BGl_string5229z00zzcfa_funcallz00, BgL_bgl_string5229za700za7za7cfa_funcallza7005262z00, "Possible funcall arity error", 28 );
DEFINE_STRING( BGl_string5228z00zzcfa_funcallz00, BgL_bgl_string5228za700za7za7cfa_funcallza7005263z00, " arg(s) expected, ", 18 );
DEFINE_STRING( BGl_string5227z00zzcfa_funcallz00, BgL_bgl_string5227za700za7za7cfa_funcallza7005264z00, " provided", 9 );
DEFINE_STRING( BGl_string5226z00zzcfa_funcallz00, BgL_bgl_string5226za700za7za7cfa_funcallza7005265z00, "Possible funcall type error", 27 );
DEFINE_STRING( BGl_string5225z00zzcfa_funcallz00, BgL_bgl_string5225za700za7za7cfa_funcallza7005266z00, "cfa", 3 );



/* module-initialization */
BGL_EXPORTED_DEF obj_t BGl_modulezd2initializa7ationz75zzcfa_funcallz00(long BgL_checksumz00_1707, char * BgL_fromz00_1708)
{ AN_OBJECT;
{ 
if(
CBOOL(BGl_requirezd2initializa7ationz75zzcfa_funcallz00))
{ 
BGl_requirezd2initializa7ationz75zzcfa_funcallz00 = 
BBOOL(((bool_t)0)); 
BGl_libraryzd2moduleszd2initz00zzcfa_funcallz00(); 
BGl_cnstzd2initzd2zzcfa_funcallz00(); 
BGl_importedzd2moduleszd2initz00zzcfa_funcallz00(); 
BGl_methodzd2initzd2zzcfa_funcallz00(); 
return BUNSPEC;}  else 
{ 
return BUNSPEC;} } 
}



/* library-modules-init */
obj_t BGl_libraryzd2moduleszd2initz00zzcfa_funcallz00()
{ AN_OBJECT;
{ /* ./Cfa/funcall.scm 15 */
BGl_modulezd2initializa7ationz75zz__readerz00(((long)0), "cfa_funcall"); 
BGl_modulezd2initializa7ationz75zz__objectz00(((long)0), "cfa_funcall"); 
BGl_modulezd2initializa7ationz75zz__r4_pairs_and_lists_6_3z00(((long)0), "cfa_funcall"); 
BGl_modulezd2initializa7ationz75zz__r4_strings_6_7z00(((long)0), "cfa_funcall"); 
BGl_modulezd2initializa7ationz75zz__r4_numbers_6_5_fixnumz00(((long)0), "cfa_funcall"); 
return BUNSPEC;} 
}



/* cnst-init */
obj_t BGl_cnstzd2initzd2zzcfa_funcallz00()
{ AN_OBJECT;
{ /* ./Cfa/funcall.scm 15 */
{ /* ./Cfa/funcall.scm 15 */
obj_t BgL_cportz00_1700;
BgL_cportz00_1700 = 
open_input_string(BGl_string5231z00zzcfa_funcallz00); 
{ 
long BgL_iz00_1701;
BgL_iz00_1701 = ((long)0); 
BgL_loopz00_1702:
{ /* ./Cfa/funcall.scm 15 */
bool_t BgL_test5233z00_1703;
BgL_test5233z00_1703 = 
(BgL_iz00_1701==((long)-1)); 
if(BgL_test5233z00_1703)
{ /* ./Cfa/funcall.scm 15 */
return BUNSPEC;}  else 
{ /* ./Cfa/funcall.scm 15 */
{ /* ./Cfa/funcall.scm 15 */
obj_t BgL_arg5235z00_1704;
{ /* ./Cfa/funcall.scm 15 */
obj_t BgL_list5238z00_1705;
BgL_list5238z00_1705 = 
MAKE_PAIR(BgL_cportz00_1700, BNIL); 
BgL_arg5235z00_1704 = 
BGl_readz00zz__readerz00(BgL_list5238z00_1705); } 
{ /* ./Cfa/funcall.scm 15 */
int BgL_auxz00_1726;
BgL_auxz00_1726 = 
(int)(BgL_iz00_1701); 
CNST_TABLE_SET(BgL_auxz00_1726, BgL_arg5235z00_1704); } } 
{ /* ./Cfa/funcall.scm 15 */
int BgL_auxz00_1706;
{ /* ./Cfa/funcall.scm 15 */
long BgL_auxz00_1729;
BgL_auxz00_1729 = 
(BgL_iz00_1701-((long)1)); 
BgL_auxz00_1706 = 
(int)(BgL_auxz00_1729); } 
{ 
long BgL_iz00_1732;
BgL_iz00_1732 = 
(long)(BgL_auxz00_1706); 
BgL_iz00_1701 = BgL_iz00_1732; 
goto BgL_loopz00_1702;} } } } } } } 
}



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



/* funcall! */
BgL_approxz00_bglt BGl_funcallz12z12zzcfa_funcallz00(BgL_makezd2procedurezd2appz00_bglt BgL_allocz00_2, obj_t BgL_argszd2approxzd2_3, obj_t BgL_nodez00_4)
{ AN_OBJECT;
{ /* ./Cfa/funcall.scm 93 */
{ /* ./Cfa/funcall.scm 94 */
obj_t BgL_calleez00_935;
{ /* ./Cfa/funcall.scm 94 */
obj_t BgL_auxz00_1734;
{ /* ./Cfa/funcall.scm 94 */
BgL_appz00_bglt BgL_obj1722z00_1594;
BgL_obj1722z00_1594 = 
(BgL_appz00_bglt)(BgL_allocz00_2); 
BgL_auxz00_1734 = 
(((BgL_appz00_bglt)CREF(BgL_obj1722z00_1594))->BgL_argsz00); } 
BgL_calleez00_935 = 
CAR(BgL_auxz00_1734); } 
{ /* ./Cfa/funcall.scm 94 */
BgL_variablez00_bglt BgL_vz00_936;
{ /* ./Cfa/funcall.scm 95 */
BgL_varz00_bglt BgL_obj1625z00_1596;
BgL_obj1625z00_1596 = 
(BgL_varz00_bglt)(BgL_calleez00_935); 
BgL_vz00_936 = 
(((BgL_varz00_bglt)CREF(BgL_obj1625z00_1596))->BgL_variablez00); } 
{ /* ./Cfa/funcall.scm 95 */
BgL_valuez00_bglt BgL_funz00_937;
BgL_funz00_937 = 
(((BgL_variablez00_bglt)CREF(BgL_vz00_936))->BgL_valuez00); 
{ /* ./Cfa/funcall.scm 96 */
long BgL_arityz00_938;
{ /* ./Cfa/funcall.scm 97 */
BgL_funz00_bglt BgL_obj1301z00_1598;
BgL_obj1301z00_1598 = 
(BgL_funz00_bglt)(BgL_funz00_937); 
BgL_arityz00_938 = 
(((BgL_funz00_bglt)CREF(BgL_obj1301z00_1598))->BgL_arityz00); } 
{ /* ./Cfa/funcall.scm 97 */

{ /* ./Cfa/funcall.scm 101 */
bool_t BgL_test4103z00_939;
BgL_test4103z00_939 = 
BGl_soundzd2arityzf3z21zztools_argsz00(
BINT(BgL_arityz00_938), BgL_argszd2approxzd2_3); 
if(BgL_test4103z00_939)
{ /* ./Cfa/funcall.scm 104 */
bool_t BgL_test4104z00_940;
BgL_test4104z00_940 = 
(BgL_arityz00_938>=((long)0)); 
if(BgL_test4104z00_940)
{ /* ./Cfa/funcall.scm 104 */
return 
BGl_appz12z12zzcfa_appz00(
(BgL_funz00_bglt)(BgL_funz00_937), 
(BgL_varz00_bglt)(BgL_calleez00_935), BgL_argszd2approxzd2_3);}  else 
{ /* ./Cfa/funcall.scm 104 */
{ 
obj_t BgL_oldzd2argszd2approxz00_941;obj_t BgL_newzd2argszd2approxz00_942;long BgL_arityz00_943;
BgL_oldzd2argszd2approxz00_941 = BgL_argszd2approxzd2_3; 
BgL_newzd2argszd2approxz00_942 = BNIL; 
BgL_arityz00_943 = BgL_arityz00_938; 
BgL_loopz00_944:
{ /* ./Cfa/funcall.scm 113 */
bool_t BgL_test4107z00_945;
BgL_test4107z00_945 = 
(BgL_arityz00_943==((long)-1)); 
if(BgL_test4107z00_945)
{ /* ./Cfa/funcall.scm 113 */
{ 
obj_t BgL_l4091z00_946;
BgL_l4091z00_946 = BgL_oldzd2argszd2approxz00_941; 
BgL_forzd2each4092zd2_947:
{ /* ./Cfa/funcall.scm 115 */
bool_t BgL_test4109z00_948;
BgL_test4109z00_948 = 
PAIRP(BgL_l4091z00_946); 
if(BgL_test4109z00_948)
{ /* ./Cfa/funcall.scm 115 */
{ /* ./Cfa/funcall.scm 115 */
obj_t BgL_approxz00_949;
BgL_approxz00_949 = 
CAR(BgL_l4091z00_946); 
BGl_loosez12z12zzcfa_loosez00(
(BgL_approxz00_bglt)(BgL_approxz00_949), 
CNST_TABLE_REF(((long)0))); } 
{ /* ./Cfa/funcall.scm 115 */
obj_t BgL_arg4113z00_950;
BgL_arg4113z00_950 = 
CDR(BgL_l4091z00_946); 
{ 
obj_t BgL_l4091z00_1760;
BgL_l4091z00_1760 = BgL_arg4113z00_950; 
BgL_l4091z00_946 = BgL_l4091z00_1760; 
goto BgL_forzd2each4092zd2_947;} } }  else 
{ /* ./Cfa/funcall.scm 115 */((bool_t)1); } } } 
{ /* ./Cfa/funcall.scm 119 */
obj_t BgL_arg4118z00_951;
{ /* ./Cfa/funcall.scm 119 */
obj_t BgL_arg4121z00_952;
{ /* ./Cfa/funcall.scm 119 */
BgL_approxz00_bglt BgL_arg4124z00_953;
{ /* ./Cfa/funcall.scm 119 */
BgL_funcallzf2cinfozf2_bglt BgL_obj3141z00_1606;
BgL_obj3141z00_1606 = 
(BgL_funcallzf2cinfozf2_bglt)(BgL_nodez00_4); 
{ 
obj_t BgL_auxz00_1762;
{ /* ./Cfa/funcall.scm 119 */
BgL_objectz00_bglt BgL_auxz00_1763;
BgL_auxz00_1763 = 
(BgL_objectz00_bglt)(BgL_obj3141z00_1606); 
BgL_auxz00_1762 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1763); } 
BgL_arg4124z00_953 = 
(((BgL_funcallzf2cinfozf2_bglt)CREF(BgL_auxz00_1762))->BgL_vazd2approxzd2); } } 
{ /* ./Cfa/funcall.scm 119 */
obj_t BgL_auxz00_1767;
BgL_auxz00_1767 = 
(obj_t)(BgL_arg4124z00_953); 
BgL_arg4121z00_952 = 
MAKE_PAIR(BgL_auxz00_1767, BgL_newzd2argszd2approxz00_942); } } 
BgL_arg4118z00_951 = 
BGl_reversez12z12zz__r4_pairs_and_lists_6_3z00(BgL_arg4121z00_952); } 
return 
BGl_appz12z12zzcfa_appz00(
(BgL_funz00_bglt)(BgL_funz00_937), 
(BgL_varz00_bglt)(BgL_calleez00_935), BgL_arg4118z00_951);} }  else 
{ /* ./Cfa/funcall.scm 121 */
obj_t BgL_arg4128z00_954;obj_t BgL_arg4129z00_955;long BgL_arg4130z00_956;
BgL_arg4128z00_954 = 
CDR(BgL_oldzd2argszd2approxz00_941); 
{ /* ./Cfa/funcall.scm 122 */
obj_t BgL_arg4134z00_957;
BgL_arg4134z00_957 = 
CAR(BgL_oldzd2argszd2approxz00_941); 
BgL_arg4129z00_955 = 
MAKE_PAIR(BgL_arg4134z00_957, BgL_newzd2argszd2approxz00_942); } 
BgL_arg4130z00_956 = 
(BgL_arityz00_943+((long)1)); 
{ 
long BgL_arityz00_1780;obj_t BgL_newzd2argszd2approxz00_1779;obj_t BgL_oldzd2argszd2approxz00_1778;
BgL_oldzd2argszd2approxz00_1778 = BgL_arg4128z00_954; 
BgL_newzd2argszd2approxz00_1779 = BgL_arg4129z00_955; 
BgL_arityz00_1780 = BgL_arg4130z00_956; 
BgL_arityz00_943 = BgL_arityz00_1780; 
BgL_newzd2argszd2approxz00_942 = BgL_newzd2argszd2approxz00_1779; 
BgL_oldzd2argszd2approxz00_941 = BgL_oldzd2argszd2approxz00_1778; 
goto BgL_loopz00_944;} } } } } }  else 
{ /* ./Cfa/funcall.scm 101 */
return 
BGl_funcallzd2arityzd2errorz00zzcfa_funcallz00(BgL_nodez00_4, BgL_vz00_936, BgL_arityz00_938, BgL_argszd2approxzd2_3);} } } } } } } } 
}



/* funcall-type-error */
obj_t BGl_funcallzd2typezd2errorz00zzcfa_funcallz00(BgL_funcallzf2cinfozf2_bglt BgL_nodez00_5, BgL_typez00_bglt BgL_typez00_6)
{ AN_OBJECT;
{ /* ./Cfa/funcall.scm 128 */
{ /* ./Cfa/funcall.scm 131 */
bool_t BgL_test4149z00_960;
{ 
obj_t BgL_auxz00_1782;
{ /* ./Cfa/funcall.scm 131 */
BgL_objectz00_bglt BgL_auxz00_1783;
BgL_auxz00_1783 = 
(BgL_objectz00_bglt)(BgL_nodez00_5); 
BgL_auxz00_1782 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1783); } 
BgL_test4149z00_960 = 
(((BgL_funcallzf2cinfozf2_bglt)CREF(BgL_auxz00_1782))->BgL_typezd2errorzd2noticedzf3zf3); } 
if(BgL_test4149z00_960)
{ /* ./Cfa/funcall.scm 131 */
return BFALSE;}  else 
{ /* ./Cfa/funcall.scm 131 */
{ /* ./Cfa/funcall.scm 133 */
bool_t BgL_val3146z00_1613;
BgL_val3146z00_1613 = ((bool_t)1); 
{ 
obj_t BgL_auxz00_1788;
{ /* ./Cfa/funcall.scm 133 */
BgL_objectz00_bglt BgL_auxz00_1789;
BgL_auxz00_1789 = 
(BgL_objectz00_bglt)(BgL_nodez00_5); 
BgL_auxz00_1788 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1789); } 
((((BgL_funcallzf2cinfozf2_bglt)CREF(BgL_auxz00_1788))->BgL_typezd2errorzd2noticedzf3zf3) = ((bool_t)BgL_val3146z00_1613), BUNSPEC); } } 
{ /* ./Cfa/funcall.scm 134 */
obj_t BgL_arg4152z00_961;obj_t BgL_arg4155z00_964;
{ /* ./Cfa/funcall.scm 134 */
BgL_nodez00_bglt BgL_obj1560z00_1614;
BgL_obj1560z00_1614 = 
(BgL_nodez00_bglt)(BgL_nodez00_5); 
BgL_arg4152z00_961 = 
(((BgL_nodez00_bglt)CREF(BgL_obj1560z00_1614))->BgL_locz00); } 
BgL_arg4155z00_964 = 
BGl_shapez00zztools_shapez00(
(obj_t)(BgL_typez00_6)); 
return 
BGl_userzd2warningzf2locationz20zztools_errorz00(BgL_arg4152z00_961, BGl_string5225z00zzcfa_funcallz00, BGl_string5226z00zzcfa_funcallz00, BgL_arg4155z00_964);} } } } 
}



/* funcall-arity-error */
BgL_approxz00_bglt BGl_funcallzd2arityzd2errorz00zzcfa_funcallz00(obj_t BgL_nodez00_7, BgL_variablez00_bglt BgL_vz00_8, long BgL_arityz00_9, obj_t BgL_argszd2approxzd2_10)
{ AN_OBJECT;
{ /* ./Cfa/funcall.scm 142 */
{ /* ./Cfa/funcall.scm 144 */
bool_t BgL_test4160z00_966;
{ /* ./Cfa/funcall.scm 144 */
BgL_funcallzf2cinfozf2_bglt BgL_obj3142z00_1615;
BgL_obj3142z00_1615 = 
(BgL_funcallzf2cinfozf2_bglt)(BgL_nodez00_7); 
{ 
obj_t BgL_auxz00_1799;
{ /* ./Cfa/funcall.scm 144 */
BgL_objectz00_bglt BgL_auxz00_1800;
BgL_auxz00_1800 = 
(BgL_objectz00_bglt)(BgL_obj3142z00_1615); 
BgL_auxz00_1799 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1800); } 
BgL_test4160z00_966 = 
(((BgL_funcallzf2cinfozf2_bglt)CREF(BgL_auxz00_1799))->BgL_arityzd2errorzd2noticedzf3zf3); } } 
if(BgL_test4160z00_966)
{ /* ./Cfa/funcall.scm 144 */BFALSE; }  else 
{ /* ./Cfa/funcall.scm 145 */
long BgL_lenzd2provzd2_967;
{ /* ./Cfa/funcall.scm 145 */
long BgL_auxz00_1805;
BgL_auxz00_1805 = 
bgl_list_length(BgL_argszd2approxzd2_10); 
BgL_lenzd2provzd2_967 = 
(BgL_auxz00_1805-((long)1)); } 
{ /* ./Cfa/funcall.scm 146 */
BgL_funcallzf2cinfozf2_bglt BgL_obj3144z00_1618;bool_t BgL_val3143z00_1619;
BgL_obj3144z00_1618 = 
(BgL_funcallzf2cinfozf2_bglt)(BgL_nodez00_7); 
BgL_val3143z00_1619 = ((bool_t)1); 
{ 
obj_t BgL_auxz00_1809;
{ /* ./Cfa/funcall.scm 146 */
BgL_objectz00_bglt BgL_auxz00_1810;
BgL_auxz00_1810 = 
(BgL_objectz00_bglt)(BgL_obj3144z00_1618); 
BgL_auxz00_1809 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1810); } 
((((BgL_funcallzf2cinfozf2_bglt)CREF(BgL_auxz00_1809))->BgL_arityzd2errorzd2noticedzf3zf3) = ((bool_t)BgL_val3143z00_1619), BUNSPEC); } } 
{ /* ./Cfa/funcall.scm 147 */
obj_t BgL_arg4163z00_968;obj_t BgL_arg4164z00_969;obj_t BgL_arg4166z00_971;
{ /* ./Cfa/funcall.scm 147 */
BgL_nodez00_bglt BgL_obj1560z00_1620;
BgL_obj1560z00_1620 = 
(BgL_nodez00_bglt)(BgL_nodez00_7); 
BgL_arg4163z00_968 = 
(((BgL_nodez00_bglt)CREF(BgL_obj1560z00_1620))->BgL_locz00); } 
{ /* ./Cfa/funcall.scm 151 */
obj_t BgL_arg4170z00_972;
{ /* ./Cfa/funcall.scm 151 */
bool_t BgL_test4172z00_973;
{ /* ./Cfa/funcall.scm 151 */
obj_t BgL_obj1300z00_1621;
BgL_obj1300z00_1621 = 
(obj_t)(BgL_vz00_8); 
BgL_test4172z00_973 = 
BGl_iszd2azf3z21zz__objectz00(BgL_obj1300z00_1621, BGl_localz00zzast_varz00); } 
if(BgL_test4172z00_973)
{ /* ./Cfa/funcall.scm 151 */
{ /* ./Cfa/funcall.scm 152 */
BgL_localz00_bglt BgL_duplicated4097z00_974;
BgL_duplicated4097z00_974 = 
(BgL_localz00_bglt)(BgL_vz00_8); 
{ /* ./Cfa/funcall.scm 152 */
BgL_localz00_bglt BgL_new4098z00_975;
{ /* ./Cfa/funcall.scm 152 */
obj_t BgL_arg4174z00_976;obj_t BgL_arg4175z00_977;BgL_typez00_bglt BgL_arg4176z00_978;BgL_valuez00_bglt BgL_arg4177z00_979;obj_t BgL_arg4178z00_980;obj_t BgL_arg4179z00_981;obj_t BgL_arg4180z00_982;long BgL_arg4181z00_983;bool_t BgL_arg4182z00_984;long BgL_arg4183z00_985;
{ /* ./Cfa/funcall.scm 152 */
BgL_variablez00_bglt BgL_obj1093z00_1622;
BgL_obj1093z00_1622 = 
(BgL_variablez00_bglt)(BgL_duplicated4097z00_974); 
BgL_arg4174z00_976 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1093z00_1622))->BgL_idz00); } 
{ /* ./Cfa/funcall.scm 152 */
BgL_variablez00_bglt BgL_obj1094z00_1623;
BgL_obj1094z00_1623 = 
(BgL_variablez00_bglt)(BgL_duplicated4097z00_974); 
BgL_arg4175z00_977 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1094z00_1623))->BgL_namez00); } 
{ /* ./Cfa/funcall.scm 152 */
BgL_variablez00_bglt BgL_obj1097z00_1624;
BgL_obj1097z00_1624 = 
(BgL_variablez00_bglt)(BgL_duplicated4097z00_974); 
BgL_arg4176z00_978 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1097z00_1624))->BgL_typez00); } 
{ /* ./Cfa/funcall.scm 152 */
BgL_variablez00_bglt BgL_obj1100z00_1625;
BgL_obj1100z00_1625 = 
(BgL_variablez00_bglt)(BgL_duplicated4097z00_974); 
BgL_arg4177z00_979 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1100z00_1625))->BgL_valuez00); } 
{ /* ./Cfa/funcall.scm 152 */
BgL_variablez00_bglt BgL_obj1103z00_1626;
BgL_obj1103z00_1626 = 
(BgL_variablez00_bglt)(BgL_duplicated4097z00_974); 
BgL_arg4178z00_980 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1103z00_1626))->BgL_accessz00); } 
{ /* ./Cfa/funcall.scm 152 */
BgL_variablez00_bglt BgL_obj1106z00_1627;
BgL_obj1106z00_1627 = 
(BgL_variablez00_bglt)(BgL_duplicated4097z00_974); 
BgL_arg4179z00_981 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1106z00_1627))->BgL_fastzd2alphazd2); } 
{ /* ./Cfa/funcall.scm 152 */
BgL_variablez00_bglt BgL_obj1109z00_1628;
BgL_obj1109z00_1628 = 
(BgL_variablez00_bglt)(BgL_duplicated4097z00_974); 
BgL_arg4180z00_982 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1109z00_1628))->BgL_removablez00); } 
{ /* ./Cfa/funcall.scm 152 */
BgL_variablez00_bglt BgL_obj1112z00_1629;
BgL_obj1112z00_1629 = 
(BgL_variablez00_bglt)(BgL_duplicated4097z00_974); 
BgL_arg4181z00_983 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1112z00_1629))->BgL_occurrencez00); } 
BgL_arg4182z00_984 = 
(((BgL_localz00_bglt)CREF(BgL_duplicated4097z00_974))->BgL_userzf3zf3); 
BgL_arg4183z00_985 = 
(((BgL_localz00_bglt)CREF(BgL_duplicated4097z00_974))->BgL_keyz00); 
BgL_new4098z00_975 = 
BGl_makezd2localzd2zzast_varz00(BgL_arg4174z00_976, BgL_arg4175z00_977, BgL_arg4176z00_978, BgL_arg4177z00_979, BgL_arg4178z00_980, BgL_arg4179z00_981, BgL_arg4180z00_982, BgL_arg4181z00_983, BgL_arg4182z00_984, BgL_arg4183z00_985); } 
{ /* ./Cfa/funcall.scm 152 */

BgL_arg4170z00_972 = 
(obj_t)(BgL_new4098z00_975); } } } }  else 
{ /* ./Cfa/funcall.scm 153 */
bool_t BgL_test4195z00_986;
{ /* ./Cfa/funcall.scm 153 */
obj_t BgL_obj1240z00_1632;
BgL_obj1240z00_1632 = 
(obj_t)(BgL_vz00_8); 
BgL_test4195z00_986 = 
BGl_iszd2azf3z21zz__objectz00(BgL_obj1240z00_1632, BGl_globalz00zzast_varz00); } 
if(BgL_test4195z00_986)
{ /* ./Cfa/funcall.scm 153 */
{ /* ./Cfa/funcall.scm 154 */
BgL_globalz00_bglt BgL_duplicated4099z00_987;
BgL_duplicated4099z00_987 = 
(BgL_globalz00_bglt)(BgL_vz00_8); 
{ /* ./Cfa/funcall.scm 154 */
BgL_globalz00_bglt BgL_new4100z00_988;
{ /* ./Cfa/funcall.scm 154 */
obj_t BgL_arg4197z00_989;obj_t BgL_arg4198z00_990;BgL_typez00_bglt BgL_arg4199z00_991;BgL_valuez00_bglt BgL_arg4200z00_992;obj_t BgL_arg4201z00_993;obj_t BgL_arg4202z00_994;obj_t BgL_arg4203z00_995;long BgL_arg4204z00_996;obj_t BgL_arg4205z00_997;obj_t BgL_arg4206z00_998;bool_t BgL_arg4207z00_999;bool_t BgL_arg4208z00_1000;bool_t BgL_arg4209z00_1001;obj_t BgL_arg4210z00_1002;obj_t BgL_arg4211z00_1003;obj_t BgL_arg4212z00_1004;
{ /* ./Cfa/funcall.scm 154 */
BgL_variablez00_bglt BgL_obj1093z00_1633;
BgL_obj1093z00_1633 = 
(BgL_variablez00_bglt)(BgL_duplicated4099z00_987); 
BgL_arg4197z00_989 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1093z00_1633))->BgL_idz00); } 
{ /* ./Cfa/funcall.scm 154 */
BgL_variablez00_bglt BgL_obj1094z00_1634;
BgL_obj1094z00_1634 = 
(BgL_variablez00_bglt)(BgL_duplicated4099z00_987); 
BgL_arg4198z00_990 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1094z00_1634))->BgL_namez00); } 
{ /* ./Cfa/funcall.scm 154 */
BgL_variablez00_bglt BgL_obj1097z00_1635;
BgL_obj1097z00_1635 = 
(BgL_variablez00_bglt)(BgL_duplicated4099z00_987); 
BgL_arg4199z00_991 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1097z00_1635))->BgL_typez00); } 
{ /* ./Cfa/funcall.scm 154 */
BgL_variablez00_bglt BgL_obj1100z00_1636;
BgL_obj1100z00_1636 = 
(BgL_variablez00_bglt)(BgL_duplicated4099z00_987); 
BgL_arg4200z00_992 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1100z00_1636))->BgL_valuez00); } 
{ /* ./Cfa/funcall.scm 154 */
BgL_variablez00_bglt BgL_obj1103z00_1637;
BgL_obj1103z00_1637 = 
(BgL_variablez00_bglt)(BgL_duplicated4099z00_987); 
BgL_arg4201z00_993 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1103z00_1637))->BgL_accessz00); } 
{ /* ./Cfa/funcall.scm 154 */
BgL_variablez00_bglt BgL_obj1106z00_1638;
BgL_obj1106z00_1638 = 
(BgL_variablez00_bglt)(BgL_duplicated4099z00_987); 
BgL_arg4202z00_994 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1106z00_1638))->BgL_fastzd2alphazd2); } 
{ /* ./Cfa/funcall.scm 154 */
BgL_variablez00_bglt BgL_obj1109z00_1639;
BgL_obj1109z00_1639 = 
(BgL_variablez00_bglt)(BgL_duplicated4099z00_987); 
BgL_arg4203z00_995 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1109z00_1639))->BgL_removablez00); } 
{ /* ./Cfa/funcall.scm 154 */
BgL_variablez00_bglt BgL_obj1112z00_1640;
BgL_obj1112z00_1640 = 
(BgL_variablez00_bglt)(BgL_duplicated4099z00_987); 
BgL_arg4204z00_996 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1112z00_1640))->BgL_occurrencez00); } 
BgL_arg4205z00_997 = 
(((BgL_globalz00_bglt)CREF(BgL_duplicated4099z00_987))->BgL_modulez00); 
BgL_arg4206z00_998 = 
(((BgL_globalz00_bglt)CREF(BgL_duplicated4099z00_987))->BgL_importz00); 
BgL_arg4207z00_999 = 
(((BgL_globalz00_bglt)CREF(BgL_duplicated4099z00_987))->BgL_evaluablezf3zf3); 
BgL_arg4208z00_1000 = 
(((BgL_globalz00_bglt)CREF(BgL_duplicated4099z00_987))->BgL_libraryzf3zf3); 
BgL_arg4209z00_1001 = 
(((BgL_globalz00_bglt)CREF(BgL_duplicated4099z00_987))->BgL_userzf3zf3); 
BgL_arg4210z00_1002 = 
(((BgL_globalz00_bglt)CREF(BgL_duplicated4099z00_987))->BgL_pragmaz00); 
BgL_arg4211z00_1003 = 
(((BgL_globalz00_bglt)CREF(BgL_duplicated4099z00_987))->BgL_srcz00); 
BgL_arg4212z00_1004 = 
(((BgL_globalz00_bglt)CREF(BgL_duplicated4099z00_987))->BgL_jvmzd2typezd2namez00); 
BgL_new4100z00_988 = 
BGl_makezd2globalzd2zzast_varz00(BgL_arg4197z00_989, BgL_arg4198z00_990, BgL_arg4199z00_991, BgL_arg4200z00_992, BgL_arg4201z00_993, BgL_arg4202z00_994, BgL_arg4203z00_995, BgL_arg4204z00_996, BgL_arg4205z00_997, BgL_arg4206z00_998, BgL_arg4207z00_999, BgL_arg4208z00_1000, BgL_arg4209z00_1001, BgL_arg4210z00_1002, BgL_arg4211z00_1003, BgL_arg4212z00_1004); } 
{ /* ./Cfa/funcall.scm 154 */

BgL_arg4170z00_972 = 
(obj_t)(BgL_new4100z00_988); } } } }  else 
{ /* ./Cfa/funcall.scm 153 */
BgL_arg4170z00_972 = 
(obj_t)(BgL_vz00_8); } } } 
BgL_arg4164z00_969 = 
BGl_shapez00zztools_shapez00(BgL_arg4170z00_972); } 
{ /* ./Cfa/funcall.scm 159 */
obj_t BgL_arg4233z00_1005;obj_t BgL_arg4235z00_1007;
BgL_arg4233z00_1005 = 
BGl_integerzd2ze3stringz31zz__r4_numbers_6_5_fixnumz00(
(BgL_arityz00_9-((long)1)), BNIL); 
BgL_arg4235z00_1007 = 
BGl_integerzd2ze3stringz31zz__r4_numbers_6_5_fixnumz00(BgL_lenzd2provzd2_967, BNIL); 
{ /* ./Cfa/funcall.scm 158 */
obj_t BgL_list4238z00_1009;
{ /* ./Cfa/funcall.scm 158 */
obj_t BgL_arg4240z00_1010;
{ /* ./Cfa/funcall.scm 158 */
obj_t BgL_arg4243z00_1011;
{ /* ./Cfa/funcall.scm 158 */
obj_t BgL_arg4246z00_1012;
BgL_arg4246z00_1012 = 
MAKE_PAIR(BGl_string5227z00zzcfa_funcallz00, BNIL); 
BgL_arg4243z00_1011 = 
MAKE_PAIR(BgL_arg4235z00_1007, BgL_arg4246z00_1012); } 
BgL_arg4240z00_1010 = 
MAKE_PAIR(BGl_string5228z00zzcfa_funcallz00, BgL_arg4243z00_1011); } 
BgL_list4238z00_1009 = 
MAKE_PAIR(BgL_arg4233z00_1005, BgL_arg4240z00_1010); } 
BgL_arg4166z00_971 = 
BGl_stringzd2appendzd2zz__r4_strings_6_7z00(BgL_list4238z00_1009); } } 
BGl_userzd2warningzf2locationz20zztools_errorz00(BgL_arg4163z00_968, BgL_arg4164z00_969, BGl_string5229z00zzcfa_funcallz00, BgL_arg4166z00_971); } } } 
return 
BGl_makezd2emptyzd2approxz00zzcfa_approxz00();} 
}



/* method-init */
obj_t BGl_methodzd2initzd2zzcfa_funcallz00()
{ AN_OBJECT;
{ /* ./Cfa/funcall.scm 15 */
return 
BGl_addzd2methodz12zc0zz__objectz00(BGl_cfaz12zd2envzc0zzcfa_cfaz00, BGl_funcallzf2Cinfozf2zzcfa_infoz00, BGl_proc5230z00zzcfa_funcallz00);} 
}



/* cfa!-funcall/Cinfo4102 */
obj_t BGl_cfaz12zd2funcallzf2Cinfo4102z32zzcfa_funcallz00(obj_t BgL_envz00_1686, obj_t BgL_nodez00_1687)
{ AN_OBJECT;
{ /* ./Cfa/funcall.scm 42 */
{ 
BgL_funcallzf2cinfozf2_bglt BgL_nodez00_1531;
{ /* ./Tools/trace.sch 42 */
BgL_approxz00_bglt BgL_auxz00_1883;
BgL_nodez00_1531 = 
(BgL_funcallzf2cinfozf2_bglt)(BgL_nodez00_1687); 
{ /* ./Cfa/funcall.scm 45 */
BgL_approxz00_bglt BgL_funzd2approxzd2_1535;
{ /* ./Cfa/funcall.scm 45 */
BgL_nodez00_bglt BgL_arg5085z00_1591;
{ /* ./Cfa/funcall.scm 45 */
BgL_funcallz00_bglt BgL_obj1779z00_1651;
BgL_obj1779z00_1651 = 
(BgL_funcallz00_bglt)(BgL_nodez00_1531); 
BgL_arg5085z00_1591 = 
(((BgL_funcallz00_bglt)CREF(BgL_obj1779z00_1651))->BgL_funz00); } 
BgL_funzd2approxzd2_1535 = 
BGl_cfaz12z12zzcfa_cfaz00(BgL_arg5085z00_1591); } 
{ /* ./Cfa/funcall.scm 45 */
obj_t BgL_argszd2approxzd2_1536;
{ /* ./Cfa/funcall.scm 46 */
obj_t BgL_l4084z00_1574;
{ /* ./Cfa/funcall.scm 46 */
obj_t BgL_auxz00_1887;
{ /* ./Cfa/funcall.scm 46 */
BgL_funcallz00_bglt BgL_obj1782z00_1652;
BgL_obj1782z00_1652 = 
(BgL_funcallz00_bglt)(BgL_nodez00_1531); 
BgL_auxz00_1887 = 
(((BgL_funcallz00_bglt)CREF(BgL_obj1782z00_1652))->BgL_argsz00); } 
BgL_l4084z00_1574 = 
CDR(BgL_auxz00_1887); } 
{ /* ./Cfa/funcall.scm 46 */
bool_t BgL_test5051z00_1575;
BgL_test5051z00_1575 = 
NULLP(BgL_l4084z00_1574); 
if(BgL_test5051z00_1575)
{ /* ./Cfa/funcall.scm 46 */
BgL_argszd2approxzd2_1536 = BNIL; }  else 
{ /* ./Cfa/funcall.scm 46 */
obj_t BgL_head4086z00_1576;
{ /* ./Cfa/funcall.scm 46 */
BgL_approxz00_bglt BgL_arg5072z00_1587;
{ /* ./Cfa/funcall.scm 46 */
obj_t BgL_arg5076z00_1589;
BgL_arg5076z00_1589 = 
CAR(BgL_l4084z00_1574); 
BgL_arg5072z00_1587 = 
BGl_cfaz12z12zzcfa_cfaz00(
(BgL_nodez00_bglt)(BgL_arg5076z00_1589)); } 
{ /* ./Cfa/funcall.scm 46 */
obj_t BgL_obj1z00_1656;
BgL_obj1z00_1656 = 
(obj_t)(BgL_arg5072z00_1587); 
BgL_head4086z00_1576 = 
MAKE_PAIR(BgL_obj1z00_1656, BNIL); } } 
{ 
obj_t BgL_l4084z00_1577;obj_t BgL_tail4087z00_1578;
{ /* ./Cfa/funcall.scm 46 */
obj_t BgL_arg5053z00_1580;
BgL_arg5053z00_1580 = 
CDR(BgL_l4084z00_1574); 
BgL_l4084z00_1577 = BgL_arg5053z00_1580; 
BgL_tail4087z00_1578 = BgL_head4086z00_1576; 
BgL_map4085z00_1579:
{ /* ./Cfa/funcall.scm 46 */
bool_t BgL_test5056z00_1581;
BgL_test5056z00_1581 = 
NULLP(BgL_l4084z00_1577); 
if(BgL_test5056z00_1581)
{ /* ./Cfa/funcall.scm 46 */
BgL_argszd2approxzd2_1536 = BgL_head4086z00_1576; }  else 
{ /* ./Cfa/funcall.scm 46 */
obj_t BgL_newtail4088z00_1582;
{ /* ./Cfa/funcall.scm 46 */
BgL_approxz00_bglt BgL_arg5063z00_1584;
{ /* ./Cfa/funcall.scm 46 */
obj_t BgL_arg5067z00_1586;
BgL_arg5067z00_1586 = 
CAR(BgL_l4084z00_1577); 
BgL_arg5063z00_1584 = 
BGl_cfaz12z12zzcfa_cfaz00(
(BgL_nodez00_bglt)(BgL_arg5067z00_1586)); } 
{ /* ./Cfa/funcall.scm 46 */
obj_t BgL_obj1z00_1661;
BgL_obj1z00_1661 = 
(obj_t)(BgL_arg5063z00_1584); 
BgL_newtail4088z00_1582 = 
MAKE_PAIR(BgL_obj1z00_1661, BNIL); } } 
SET_CDR(BgL_tail4087z00_1578, BgL_newtail4088z00_1582); 
{ /* ./Cfa/funcall.scm 46 */
obj_t BgL_arg5059z00_1583;
BgL_arg5059z00_1583 = 
CDR(BgL_l4084z00_1577); 
{ 
obj_t BgL_tail4087z00_1909;obj_t BgL_l4084z00_1908;
BgL_l4084z00_1908 = BgL_arg5059z00_1583; 
BgL_tail4087z00_1909 = BgL_newtail4088z00_1582; 
BgL_tail4087z00_1578 = BgL_tail4087z00_1909; 
BgL_l4084z00_1577 = BgL_l4084z00_1908; 
goto BgL_map4085z00_1579;} } } } } } } } } 
{ /* ./Cfa/funcall.scm 46 */

{ /* ./Cfa/funcall.scm 51 */
BgL_typez00_bglt BgL_funzd2typezd2_1537;
BgL_funzd2typezd2_1537 = 
(((BgL_approxz00_bglt)CREF(BgL_funzd2approxzd2_1535))->BgL_typez00); 
{ /* ./Cfa/funcall.scm 52 */
bool_t BgL_test4975z00_1538;
{ /* ./Cfa/funcall.scm 52 */
bool_t BgL_test4977z00_1539;
{ /* ./Cfa/funcall.scm 52 */
obj_t BgL_auxz00_1911;
BgL_auxz00_1911 = 
(obj_t)(BgL_funzd2typezd2_1537); 
BgL_test4977z00_1539 = 
(BgL_auxz00_1911==BGl_za2_za2z00zztype_cachez00); } 
if(BgL_test4977z00_1539)
{ /* ./Cfa/funcall.scm 52 */
BgL_test4975z00_1538 = ((bool_t)0); }  else 
{ /* ./Cfa/funcall.scm 53 */
bool_t BgL_test4978z00_1540;
{ /* ./Cfa/funcall.scm 53 */
obj_t BgL_auxz00_1915;
BgL_auxz00_1915 = 
(obj_t)(BgL_funzd2typezd2_1537); 
BgL_test4978z00_1540 = 
(BgL_auxz00_1915==BGl_za2objza2z00zztype_cachez00); } 
if(BgL_test4978z00_1540)
{ /* ./Cfa/funcall.scm 53 */
BgL_test4975z00_1538 = ((bool_t)0); }  else 
{ /* ./Cfa/funcall.scm 54 */
bool_t BgL_test4979z00_1541;
{ /* ./Cfa/funcall.scm 54 */
obj_t BgL_auxz00_1919;
BgL_auxz00_1919 = 
(obj_t)(BgL_funzd2typezd2_1537); 
BgL_test4979z00_1541 = 
(BgL_auxz00_1919==BGl_za2procedureza2z00zztype_cachez00); } 
if(BgL_test4979z00_1541)
{ /* ./Cfa/funcall.scm 54 */
BgL_test4975z00_1538 = ((bool_t)0); }  else 
{ /* ./Cfa/funcall.scm 54 */
BgL_test4975z00_1538 = ((bool_t)1); } } } } 
if(BgL_test4975z00_1538)
{ /* ./Cfa/funcall.scm 52 */
BGl_funcallzd2typezd2errorz00zzcfa_funcallz00(BgL_nodez00_1531, BgL_funzd2typezd2_1537); }  else 
{ /* ./Cfa/funcall.scm 52 */BFALSE; } } } 
{ /* ./Cfa/funcall.scm 57 */
bool_t BgL_test4984z00_1542;
{ /* ./Cfa/funcall.scm 57 */
bool_t BgL_test4989z00_1544;
{ /* ./Cfa/funcall.scm 57 */
BgL_typez00_bglt BgL_arg4992z00_1545;
BgL_arg4992z00_1545 = 
(((BgL_approxz00_bglt)CREF(BgL_funzd2approxzd2_1535))->BgL_typez00); 
{ /* ./Cfa/funcall.scm 57 */
obj_t BgL_auxz00_1926;
BgL_auxz00_1926 = 
(obj_t)(BgL_arg4992z00_1545); 
BgL_test4989z00_1544 = 
(BgL_auxz00_1926==BGl_za2procedureza2z00zztype_cachez00); } } 
if(BgL_test4989z00_1544)
{ /* ./Cfa/funcall.scm 57 */
BgL_test4984z00_1542 = 
(((BgL_approxz00_bglt)CREF(BgL_funzd2approxzd2_1535))->BgL_topzf3zf3); }  else 
{ /* ./Cfa/funcall.scm 57 */
BgL_test4984z00_1542 = ((bool_t)1); } } 
if(BgL_test4984z00_1542)
{ /* ./Cfa/funcall.scm 59 */
BgL_approxz00_bglt BgL_arg4986z00_1543;
{ 
obj_t BgL_auxz00_1932;
{ /* ./Cfa/funcall.scm 59 */
BgL_objectz00_bglt BgL_auxz00_1933;
BgL_auxz00_1933 = 
(BgL_objectz00_bglt)(BgL_nodez00_1531); 
BgL_auxz00_1932 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1933); } 
BgL_arg4986z00_1543 = 
(((BgL_funcallzf2cinfozf2_bglt)CREF(BgL_auxz00_1932))->BgL_approxz00); } 
BGl_approxzd2setzd2typez12z12zzcfa_approxz00(BgL_arg4986z00_1543, 
(BgL_typez00_bglt)(BGl_za2objza2z00zztype_cachez00)); }  else 
{ /* ./Cfa/funcall.scm 57 */BFALSE; } } 
{ /* ./Cfa/funcall.scm 61 */
bool_t BgL_test4995z00_1546;
{ /* ./Cfa/funcall.scm 61 */
bool_t BgL_test5043z00_1571;
BgL_test5043z00_1571 = 
(((BgL_approxz00_bglt)CREF(BgL_funzd2approxzd2_1535))->BgL_topzf3zf3); 
if(BgL_test5043z00_1571)
{ /* ./Cfa/funcall.scm 61 */
BgL_test4995z00_1546 = ((bool_t)1); }  else 
{ /* ./Cfa/funcall.scm 62 */
bool_t BgL_test5044z00_1572;
{ /* ./Cfa/funcall.scm 62 */
BgL_typez00_bglt BgL_arg5046z00_1573;
BgL_arg5046z00_1573 = 
(((BgL_approxz00_bglt)CREF(BgL_funzd2approxzd2_1535))->BgL_typez00); 
{ /* ./Cfa/funcall.scm 62 */
obj_t BgL_auxz00_1942;
BgL_auxz00_1942 = 
(obj_t)(BgL_arg5046z00_1573); 
BgL_test5044z00_1572 = 
(BgL_auxz00_1942==BGl_za2procedureza2z00zztype_cachez00); } } 
if(BgL_test5044z00_1572)
{ /* ./Cfa/funcall.scm 62 */
BgL_test4995z00_1546 = ((bool_t)0); }  else 
{ /* ./Cfa/funcall.scm 62 */
BgL_test4995z00_1546 = ((bool_t)1); } } } 
if(BgL_test4995z00_1546)
{ /* ./Cfa/funcall.scm 61 */
{ 
obj_t BgL_l4089z00_1547;
BgL_l4089z00_1547 = BgL_argszd2approxzd2_1536; 
BgL_forzd2each4090zd2_1548:
{ /* ./Cfa/funcall.scm 64 */
bool_t BgL_test4997z00_1549;
BgL_test4997z00_1549 = 
PAIRP(BgL_l4089z00_1547); 
if(BgL_test4997z00_1549)
{ /* ./Cfa/funcall.scm 64 */
{ /* ./Cfa/funcall.scm 64 */
obj_t BgL_approxz00_1550;
BgL_approxz00_1550 = 
CAR(BgL_l4089z00_1547); 
BGl_loosez12z12zzcfa_loosez00(
(BgL_approxz00_bglt)(BgL_approxz00_1550), 
CNST_TABLE_REF(((long)0))); } 
{ /* ./Cfa/funcall.scm 64 */
obj_t BgL_arg5001z00_1551;
BgL_arg5001z00_1551 = 
CDR(BgL_l4089z00_1547); 
{ 
obj_t BgL_l4089z00_1954;
BgL_l4089z00_1954 = BgL_arg5001z00_1551; 
BgL_l4089z00_1547 = BgL_l4089z00_1954; 
goto BgL_forzd2each4090zd2_1548;} } }  else 
{ /* ./Cfa/funcall.scm 64 */((bool_t)1); } } } 
{ /* ./Cfa/funcall.scm 67 */
obj_t BgL_zc3anonymousza35008ze3z83_1684;
{ 
int BgL_auxz00_1957;int BgL_auxz00_1955;
BgL_auxz00_1957 = 
(int)(((long)3)); 
BgL_auxz00_1955 = 
(int)(((long)1)); 
BgL_zc3anonymousza35008ze3z83_1684 = 
make_fx_procedure(BGl_zc3anonymousza35008ze3z83zzcfa_funcallz00, BgL_auxz00_1955, BgL_auxz00_1957); } 
{ /* ./Cfa/funcall.scm 67 */
obj_t BgL_auxz00_1962;int BgL_auxz00_1960;
BgL_auxz00_1962 = 
(obj_t)(BgL_nodez00_1531); 
BgL_auxz00_1960 = 
(int)(((long)0)); 
PROCEDURE_SET(BgL_zc3anonymousza35008ze3z83_1684, BgL_auxz00_1960, BgL_auxz00_1962); } 
{ /* ./Cfa/funcall.scm 67 */
int BgL_auxz00_1965;
BgL_auxz00_1965 = 
(int)(((long)1)); 
PROCEDURE_SET(BgL_zc3anonymousza35008ze3z83_1684, BgL_auxz00_1965, BgL_argszd2approxzd2_1536); } 
{ /* ./Cfa/funcall.scm 67 */
obj_t BgL_auxz00_1970;int BgL_auxz00_1968;
BgL_auxz00_1970 = 
(obj_t)(BgL_nodez00_1531); 
BgL_auxz00_1968 = 
(int)(((long)2)); 
PROCEDURE_SET(BgL_zc3anonymousza35008ze3z83_1684, BgL_auxz00_1968, BgL_auxz00_1970); } 
BGl_forzd2eachzd2approxzd2alloczd2zzcfa_approxz00(BgL_zc3anonymousza35008ze3z83_1684, BgL_funzd2approxzd2_1535); } 
{ /* ./Cfa/funcall.scm 76 */
BgL_approxz00_bglt BgL_arg5023z00_1561;
{ 
obj_t BgL_auxz00_1974;
{ /* ./Cfa/funcall.scm 76 */
BgL_objectz00_bglt BgL_auxz00_1975;
BgL_auxz00_1975 = 
(BgL_objectz00_bglt)(BgL_nodez00_1531); 
BgL_auxz00_1974 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1975); } 
BgL_arg5023z00_1561 = 
(((BgL_funcallzf2cinfozf2_bglt)CREF(BgL_auxz00_1974))->BgL_approxz00); } 
BGl_approxzd2setzd2topz12z12zzcfa_approxz00(BgL_arg5023z00_1561); } }  else 
{ /* ./Cfa/funcall.scm 79 */
obj_t BgL_zc3anonymousza35029ze3z83_1683;
{ 
int BgL_auxz00_1982;int BgL_auxz00_1980;
BgL_auxz00_1982 = 
(int)(((long)3)); 
BgL_auxz00_1980 = 
(int)(((long)1)); 
BgL_zc3anonymousza35029ze3z83_1683 = 
make_fx_procedure(BGl_zc3anonymousza35029ze3z83zzcfa_funcallz00, BgL_auxz00_1980, BgL_auxz00_1982); } 
{ /* ./Cfa/funcall.scm 79 */
obj_t BgL_auxz00_1987;int BgL_auxz00_1985;
BgL_auxz00_1987 = 
(obj_t)(BgL_nodez00_1531); 
BgL_auxz00_1985 = 
(int)(((long)0)); 
PROCEDURE_SET(BgL_zc3anonymousza35029ze3z83_1683, BgL_auxz00_1985, BgL_auxz00_1987); } 
{ /* ./Cfa/funcall.scm 79 */
int BgL_auxz00_1990;
BgL_auxz00_1990 = 
(int)(((long)1)); 
PROCEDURE_SET(BgL_zc3anonymousza35029ze3z83_1683, BgL_auxz00_1990, BgL_argszd2approxzd2_1536); } 
{ /* ./Cfa/funcall.scm 79 */
obj_t BgL_auxz00_1995;int BgL_auxz00_1993;
BgL_auxz00_1995 = 
(obj_t)(BgL_nodez00_1531); 
BgL_auxz00_1993 = 
(int)(((long)2)); 
PROCEDURE_SET(BgL_zc3anonymousza35029ze3z83_1683, BgL_auxz00_1993, BgL_auxz00_1995); } 
BGl_forzd2eachzd2approxzd2alloczd2zzcfa_approxz00(BgL_zc3anonymousza35029ze3z83_1683, BgL_funzd2approxzd2_1535); } } 
{ 
obj_t BgL_auxz00_1999;
{ /* ./Cfa/funcall.scm 88 */
BgL_objectz00_bglt BgL_auxz00_2000;
BgL_auxz00_2000 = 
(BgL_objectz00_bglt)(BgL_nodez00_1531); 
BgL_auxz00_1999 = 
BGL_OBJECT_WIDENING(BgL_auxz00_2000); } 
BgL_auxz00_1883 = 
(((BgL_funcallzf2cinfozf2_bglt)CREF(BgL_auxz00_1999))->BgL_approxz00); } } } } 
return 
(obj_t)(BgL_auxz00_1883);} } } 
}



/* <anonymous:5008> */
obj_t BGl_zc3anonymousza35008ze3z83zzcfa_funcallz00(obj_t BgL_envz00_1688, obj_t BgL_allocz00_1692)
{ AN_OBJECT;
{ /* ./Cfa/funcall.scm 66 */
{ /* ./Cfa/funcall.scm 67 */
obj_t BgL_instance4082z00_1689;obj_t BgL_argszd2approxzd2_1690;obj_t BgL_nodez00_1691;
{ /* ./Cfa/funcall.scm 67 */
int BgL_auxz00_2006;
BgL_auxz00_2006 = 
(int)(((long)0)); 
BgL_instance4082z00_1689 = 
PROCEDURE_REF(BgL_envz00_1688, BgL_auxz00_2006); } 
{ /* ./Cfa/funcall.scm 67 */
int BgL_auxz00_2009;
BgL_auxz00_2009 = 
(int)(((long)1)); 
BgL_argszd2approxzd2_1690 = 
PROCEDURE_REF(BgL_envz00_1688, BgL_auxz00_2009); } 
{ /* ./Cfa/funcall.scm 67 */
int BgL_auxz00_2012;
BgL_auxz00_2012 = 
(int)(((long)2)); 
BgL_nodez00_1691 = 
PROCEDURE_REF(BgL_envz00_1688, BgL_auxz00_2012); } 
{ 
obj_t BgL_allocz00_1553;
{ /* ./Cfa/funcall.scm 67 */
BgL_approxz00_bglt BgL_auxz00_2015;
BgL_allocz00_1553 = BgL_allocz00_1692; 
{ /* ./Cfa/funcall.scm 67 */
bool_t BgL_test5009z00_1555;
BgL_test5009z00_1555 = 
BGl_iszd2azf3z21zz__objectz00(BgL_allocz00_1553, BGl_makezd2procedurezd2appz00zzcfa_info2z00); 
if(BgL_test5009z00_1555)
{ /* ./Cfa/funcall.scm 68 */
BgL_approxz00_bglt BgL_envzd2approxzd2_1556;
{ /* ./Cfa/funcall.scm 68 */
BgL_makezd2procedurezd2appz00_bglt BgL_obj3686z00_1676;
BgL_obj3686z00_1676 = 
(BgL_makezd2procedurezd2appz00_bglt)(BgL_allocz00_1553); 
{ 
obj_t BgL_auxz00_2019;
{ /* ./Cfa/funcall.scm 68 */
BgL_objectz00_bglt BgL_auxz00_2020;
BgL_auxz00_2020 = 
(BgL_objectz00_bglt)(BgL_obj3686z00_1676); 
BgL_auxz00_2019 = 
BGL_OBJECT_WIDENING(BgL_auxz00_2020); } 
BgL_envzd2approxzd2_1556 = 
(((BgL_makezd2procedurezd2appz00_bglt)CREF(BgL_auxz00_2019))->BgL_approxz00); } } 
{ /* ./Cfa/funcall.scm 69 */
BgL_approxz00_bglt BgL_arg5011z00_1557;BgL_approxz00_bglt BgL_arg5012z00_1558;
{ /* ./Cfa/funcall.scm 69 */
BgL_funcallzf2cinfozf2_bglt BgL_obj3140z00_1677;
BgL_obj3140z00_1677 = 
(BgL_funcallzf2cinfozf2_bglt)(BgL_instance4082z00_1689); 
{ 
obj_t BgL_auxz00_2025;
{ /* ./Cfa/funcall.scm 69 */
BgL_objectz00_bglt BgL_auxz00_2026;
BgL_auxz00_2026 = 
(BgL_objectz00_bglt)(BgL_obj3140z00_1677); 
BgL_auxz00_2025 = 
BGL_OBJECT_WIDENING(BgL_auxz00_2026); } 
BgL_arg5011z00_1557 = 
(((BgL_funcallzf2cinfozf2_bglt)CREF(BgL_auxz00_2025))->BgL_approxz00); } } 
{ /* ./Cfa/funcall.scm 71 */
obj_t BgL_arg5016z00_1559;
{ /* ./Cfa/funcall.scm 71 */
obj_t BgL_auxz00_2030;
BgL_auxz00_2030 = 
(obj_t)(BgL_envzd2approxzd2_1556); 
BgL_arg5016z00_1559 = 
MAKE_PAIR(BgL_auxz00_2030, BgL_argszd2approxzd2_1690); } 
BgL_arg5012z00_1558 = 
BGl_funcallz12z12zzcfa_funcallz00(
(BgL_makezd2procedurezd2appz00_bglt)(BgL_allocz00_1553), BgL_arg5016z00_1559, BgL_nodez00_1691); } 
BgL_auxz00_2015 = 
BGl_unionzd2approxz12zc0zzcfa_approxz00(BgL_arg5011z00_1557, BgL_arg5012z00_1558); } }  else 
{ /* ./Cfa/funcall.scm 67 */
BgL_auxz00_2015 = 
BGl_makezd2emptyzd2approxz00zzcfa_approxz00()
; } } 
return 
(obj_t)(BgL_auxz00_2015);} } } } 
}



/* <anonymous:5029> */
obj_t BGl_zc3anonymousza35029ze3z83zzcfa_funcallz00(obj_t BgL_envz00_1693, obj_t BgL_allocz00_1697)
{ AN_OBJECT;
{ /* ./Cfa/funcall.scm 78 */
{ /* ./Cfa/funcall.scm 79 */
obj_t BgL_instance4082z00_1694;obj_t BgL_argszd2approxzd2_1695;obj_t BgL_nodez00_1696;
{ /* ./Cfa/funcall.scm 79 */
int BgL_auxz00_2038;
BgL_auxz00_2038 = 
(int)(((long)0)); 
BgL_instance4082z00_1694 = 
PROCEDURE_REF(BgL_envz00_1693, BgL_auxz00_2038); } 
{ /* ./Cfa/funcall.scm 79 */
int BgL_auxz00_2041;
BgL_auxz00_2041 = 
(int)(((long)1)); 
BgL_argszd2approxzd2_1695 = 
PROCEDURE_REF(BgL_envz00_1693, BgL_auxz00_2041); } 
{ /* ./Cfa/funcall.scm 79 */
int BgL_auxz00_2044;
BgL_auxz00_2044 = 
(int)(((long)2)); 
BgL_nodez00_1696 = 
PROCEDURE_REF(BgL_envz00_1693, BgL_auxz00_2044); } 
{ 
obj_t BgL_allocz00_1563;
{ /* ./Cfa/funcall.scm 79 */
BgL_approxz00_bglt BgL_auxz00_2047;
BgL_allocz00_1563 = BgL_allocz00_1697; 
{ /* ./Cfa/funcall.scm 79 */
bool_t BgL_test5030z00_1565;
BgL_test5030z00_1565 = 
BGl_iszd2azf3z21zz__objectz00(BgL_allocz00_1563, BGl_makezd2procedurezd2appz00zzcfa_info2z00); 
if(BgL_test5030z00_1565)
{ /* ./Cfa/funcall.scm 80 */
BgL_approxz00_bglt BgL_envzd2approxzd2_1566;
{ /* ./Cfa/funcall.scm 80 */
BgL_makezd2procedurezd2appz00_bglt BgL_obj3686z00_1680;
BgL_obj3686z00_1680 = 
(BgL_makezd2procedurezd2appz00_bglt)(BgL_allocz00_1563); 
{ 
obj_t BgL_auxz00_2051;
{ /* ./Cfa/funcall.scm 80 */
BgL_objectz00_bglt BgL_auxz00_2052;
BgL_auxz00_2052 = 
(BgL_objectz00_bglt)(BgL_obj3686z00_1680); 
BgL_auxz00_2051 = 
BGL_OBJECT_WIDENING(BgL_auxz00_2052); } 
BgL_envzd2approxzd2_1566 = 
(((BgL_makezd2procedurezd2appz00_bglt)CREF(BgL_auxz00_2051))->BgL_approxz00); } } 
{ /* ./Cfa/funcall.scm 81 */
BgL_approxz00_bglt BgL_arg5032z00_1567;BgL_approxz00_bglt BgL_arg5033z00_1568;
{ /* ./Cfa/funcall.scm 81 */
BgL_funcallzf2cinfozf2_bglt BgL_obj3140z00_1681;
BgL_obj3140z00_1681 = 
(BgL_funcallzf2cinfozf2_bglt)(BgL_instance4082z00_1694); 
{ 
obj_t BgL_auxz00_2057;
{ /* ./Cfa/funcall.scm 81 */
BgL_objectz00_bglt BgL_auxz00_2058;
BgL_auxz00_2058 = 
(BgL_objectz00_bglt)(BgL_obj3140z00_1681); 
BgL_auxz00_2057 = 
BGL_OBJECT_WIDENING(BgL_auxz00_2058); } 
BgL_arg5032z00_1567 = 
(((BgL_funcallzf2cinfozf2_bglt)CREF(BgL_auxz00_2057))->BgL_approxz00); } } 
{ /* ./Cfa/funcall.scm 83 */
obj_t BgL_arg5037z00_1569;
{ /* ./Cfa/funcall.scm 83 */
obj_t BgL_auxz00_2062;
BgL_auxz00_2062 = 
(obj_t)(BgL_envzd2approxzd2_1566); 
BgL_arg5037z00_1569 = 
MAKE_PAIR(BgL_auxz00_2062, BgL_argszd2approxzd2_1695); } 
BgL_arg5033z00_1568 = 
BGl_funcallz12z12zzcfa_funcallz00(
(BgL_makezd2procedurezd2appz00_bglt)(BgL_allocz00_1563), BgL_arg5037z00_1569, BgL_nodez00_1696); } 
BgL_auxz00_2047 = 
BGl_unionzd2approxz12zc0zzcfa_approxz00(BgL_arg5032z00_1567, BgL_arg5033z00_1568); } }  else 
{ /* ./Cfa/funcall.scm 79 */
BgL_auxz00_2047 = 
BGl_makezd2emptyzd2approxz00zzcfa_approxz00()
; } } 
return 
(obj_t)(BgL_auxz00_2047);} } } } 
}



/* imported-modules-init */
obj_t BGl_importedzd2moduleszd2initz00zzcfa_funcallz00()
{ AN_OBJECT;
{ /* ./Cfa/funcall.scm 15 */
BGl_modulezd2initializa7ationz75zztools_tracez00(((long)59211), "cfa_funcall"); 
BGl_modulezd2initializa7ationz75zztools_shapez00(((long)30833), "cfa_funcall"); 
BGl_modulezd2initializa7ationz75zztools_argsz00(((long)42726), "cfa_funcall"); 
BGl_modulezd2initializa7ationz75zztools_errorz00(((long)25566), "cfa_funcall"); 
BGl_modulezd2initializa7ationz75zztype_typez00(((long)19090), "cfa_funcall"); 
BGl_modulezd2initializa7ationz75zztype_cachez00(((long)25848), "cfa_funcall"); 
BGl_modulezd2initializa7ationz75zzast_varz00(((long)44246), "cfa_funcall"); 
BGl_modulezd2initializa7ationz75zzast_nodez00(((long)50868), "cfa_funcall"); 
BGl_modulezd2initializa7ationz75zzcfa_infoz00(((long)2565), "cfa_funcall"); 
BGl_modulezd2initializa7ationz75zzcfa_info2z00(((long)0), "cfa_funcall"); 
BGl_modulezd2initializa7ationz75zzcfa_cfaz00(((long)65191), "cfa_funcall"); 
BGl_modulezd2initializa7ationz75zzcfa_loosez00(((long)78579), "cfa_funcall"); 
BGl_modulezd2initializa7ationz75zzcfa_approxz00(((long)43477), "cfa_funcall"); 
return 
BGl_modulezd2initializa7ationz75zzcfa_appz00(((long)12326), "cfa_funcall");} 
}

