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

#include <bigloo.h>


/* Object type definitions */
typedef struct BgL_ccompz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_idz00;
   obj_t BgL_producerz00;
   obj_t BgL_consumerz00;
   obj_t BgL_finaliza7erza7;
} *BgL_ccompz00_bglt;

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_svarzf2iinfozf2_bgl {
   obj_t BgL_fzd2markzd2;
   obj_t BgL_uzd2markzd2;
   bool_t BgL_kapturedzf3zf3;
   bool_t BgL_celledzf3zf3;
} *BgL_svarzf2iinfozf2_bglt;

typedef struct BgL_sexitzf2iinfozf2_bgl {
   obj_t BgL_fzd2markzd2;
   obj_t BgL_uzd2markzd2;
   bool_t BgL_kapturedzf3zf3;
   bool_t BgL_celledzf3zf3;
} *BgL_sexitzf2iinfozf2_bglt;

typedef struct BgL_sfunzf2iinfozf2_bgl {
   obj_t BgL_ownerz00;
   obj_t BgL_freez00;
   obj_t BgL_boundz00;
   obj_t BgL_cfromz00;
   obj_t BgL_ctoz00;
   obj_t BgL_kz00;
   obj_t BgL_kza2za2;
   obj_t BgL_uz00;
   obj_t BgL_cnz00;
   obj_t BgL_ctz00;
   obj_t BgL_kontz00;
   bool_t BgL_gzf3zf3;
   obj_t BgL_lz00;
   obj_t BgL_ledz00;
   obj_t BgL_istampz00;
   obj_t BgL_globalz00;
   obj_t BgL_kapturedz00;
   obj_t BgL_tailzd2coercionzd2;
} *BgL_sfunzf2iinfozf2_bglt;


extern BgL_localz00_bglt BGl_clonezd2localzd2zzast_localz00(BgL_localz00_bglt, BgL_valuez00_bglt);
static obj_t BGl_methodzd2initzd2zzintegrate_localzd2ze3globalz31();
BGL_IMPORT obj_t open_input_string(obj_t);
extern obj_t BGl_findzd2globalzf2modulez20zzast_envz00(obj_t, obj_t);
BGL_IMPORT obj_t BGl_readz00zz__readerz00(obj_t);
BGL_EXPORTED_DECL obj_t BGl_localzd2ze3globalz31zzintegrate_localzd2ze3globalz31(BgL_localz00_bglt);
BGL_IMPORT bool_t BGl_iszd2azf3z21zz__objectz00(obj_t, obj_t);
extern BgL_globalz00_bglt BGl_defzd2globalzd2sfunzd2nozd2warningz12z12zzast_glozd2defzd2(obj_t, obj_t, obj_t, obj_t, obj_t, obj_t, obj_t, obj_t);
static obj_t BGl__localzd2ze3global3529z31zzintegrate_localzd2ze3globalz31(obj_t, obj_t);
extern obj_t BGl_za2moduleza2z00zzmodule_modulez00;
extern BgL_svarzf2iinfozf2_bglt BGl_makezd2svarzf2Iinfoz20zzintegrate_infoz00(obj_t, obj_t, obj_t, bool_t, bool_t);
extern bool_t BGl_integratezd2celledzf3z21zzintegrate_nodez00(BgL_localz00_bglt);
extern obj_t BGl_globalz00zzast_varz00;
static obj_t BGl_cnstzd2initzd2zzintegrate_localzd2ze3globalz31();
extern obj_t BGl_globaliza7ez12zb5zzintegrate_nodez00(BgL_nodez00_bglt, BgL_variablez00_bglt, obj_t);
static obj_t BGl_localzd2idzd2ze3globalzd2idz31zzintegrate_localzd2ze3globalz31(BgL_localz00_bglt);
static obj_t BGl_symbolzd2quotezd2zzintegrate_localzd2ze3globalz31 = BUNSPEC;
static obj_t BGl_importedzd2moduleszd2initz00zzintegrate_localzd2ze3globalz31();
extern obj_t BGl_zb2zd2arityz60zztools_argsz00(obj_t, obj_t);
static obj_t BGl_toplevelzd2initzd2zzintegrate_localzd2ze3globalz31();
BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zzintegrate_localzd2ze3globalz31(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_modulezd2initializa7ationz75zzmodule_modulez00(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_modulezd2initializa7ationz75zzast_glozd2defzd2(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_envz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_localz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzintegrate_infoz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzintegrate_nodez00(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_symbols_6_4z00(long, char *);
BGL_IMPORT long bgl_list_length(obj_t);
BGL_IMPORT obj_t string_to_symbol(char *);
BGL_IMPORT obj_t bgl_reverse(obj_t);
BGL_IMPORT obj_t BGl_symbolzd2appendzd2zz__r4_symbols_6_4z00(obj_t);
BGL_IMPORT obj_t bgl_append2(obj_t, obj_t);
extern obj_t BGl_za2objza2z00zztype_cachez00;
extern BgL_sfunz00_bglt BGl_makezd2sfunzd2zzast_varz00(long, obj_t, obj_t, obj_t, bool_t, obj_t, obj_t, obj_t, obj_t, obj_t, obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_thezd2globalzd2zzintegrate_localzd2ze3globalz31(BgL_localz00_bglt);
static obj_t BGl_requirezd2initializa7ationz75zzintegrate_localzd2ze3globalz31 = BUNSPEC;
static obj_t BGl_libraryzd2moduleszd2initz00zzintegrate_localzd2ze3globalz31();
static obj_t BGl__thezd2global3531zd2zzintegrate_localzd2ze3globalz31(obj_t, obj_t);
static obj_t __cnst[ 3 ] ;


DEFINE_EXPORT_PROCEDURE( BGl_localzd2ze3globalzd2envze3zzintegrate_localzd2ze3globalz31, BgL_bgl__localza7d2za7e3global3529za731za7za7integrate_localza7d2za7e3globalza7313620z00, BGl__localzd2ze3global3529z31zzintegrate_localzd2ze3globalz31, 0L, 1 );
DEFINE_STRING( BGl_string3592z00zzintegrate_localzd2ze3globalz31, BgL_bgl_string3592za700za7za7integrate_localza7d2za7e3globalza7313621z00, "now a-integrated-body sfun ", 27 );
DEFINE_STRING( BGl_string3591z00zzintegrate_localzd2ze3globalz31, BgL_bgl_string3591za700za7za7integrate_localza7d2za7e3globalza7313622z00, "'", 1 );
DEFINE_EXPORT_PROCEDURE( BGl_thezd2globalzd2envz00zzintegrate_localzd2ze3globalz31, BgL_bgl__theza7d2global3531za7d2za7za7integrate_localza7d2za7e3globalza7313623za7, BGl__thezd2global3531zd2zzintegrate_localzd2ze3globalz31, 0L, 1 );



/* module-initialization */
BGL_EXPORTED_DEF obj_t BGl_modulezd2initializa7ationz75zzintegrate_localzd2ze3globalz31(long BgL_checksumz00_1369, char * BgL_fromz00_1370)
{ AN_OBJECT;
{ 
if(
CBOOL(BGl_requirezd2initializa7ationz75zzintegrate_localzd2ze3globalz31))
{ 
BGl_requirezd2initializa7ationz75zzintegrate_localzd2ze3globalz31 = 
BBOOL(((bool_t)0)); 
BGl_libraryzd2moduleszd2initz00zzintegrate_localzd2ze3globalz31(); 
BGl_cnstzd2initzd2zzintegrate_localzd2ze3globalz31(); 
BGl_importedzd2moduleszd2initz00zzintegrate_localzd2ze3globalz31(); 
BGl_toplevelzd2initzd2zzintegrate_localzd2ze3globalz31(); 
return BUNSPEC;}  else 
{ 
return BUNSPEC;} } 
}



/* library-modules-init */
obj_t BGl_libraryzd2moduleszd2initz00zzintegrate_localzd2ze3globalz31()
{ AN_OBJECT;
{ /* ./Integrate/loc2glo.scm 15 */
BGl_modulezd2initializa7ationz75zz__readerz00(((long)0), "integrate_local->global"); 
BGl_modulezd2initializa7ationz75zz__objectz00(((long)0), "integrate_local->global"); 
BGl_modulezd2initializa7ationz75zz__r4_pairs_and_lists_6_3z00(((long)0), "integrate_local->global"); 
BGl_modulezd2initializa7ationz75zz__r4_symbols_6_4z00(((long)0), "integrate_local->global"); 
return BUNSPEC;} 
}



/* cnst-init */
obj_t BGl_cnstzd2initzd2zzintegrate_localzd2ze3globalz31()
{ AN_OBJECT;
{ /* ./Integrate/loc2glo.scm 15 */
{ /* ./Integrate/loc2glo.scm 15 */
obj_t BgL_cportz00_1362;
BgL_cportz00_1362 = 
open_input_string(BGl_string3592z00zzintegrate_localzd2ze3globalz31); 
{ 
long BgL_iz00_1363;
BgL_iz00_1363 = ((long)2); 
BgL_loopz00_1364:
{ /* ./Integrate/loc2glo.scm 15 */
bool_t BgL_test3594z00_1365;
BgL_test3594z00_1365 = 
(BgL_iz00_1363==((long)-1)); 
if(BgL_test3594z00_1365)
{ /* ./Integrate/loc2glo.scm 15 */
return BUNSPEC;}  else 
{ /* ./Integrate/loc2glo.scm 15 */
{ /* ./Integrate/loc2glo.scm 15 */
obj_t BgL_arg3596z00_1366;
{ /* ./Integrate/loc2glo.scm 15 */
obj_t BgL_list3599z00_1367;
BgL_list3599z00_1367 = 
MAKE_PAIR(BgL_cportz00_1362, BNIL); 
BgL_arg3596z00_1366 = 
BGl_readz00zz__readerz00(BgL_list3599z00_1367); } 
{ /* ./Integrate/loc2glo.scm 15 */
int BgL_auxz00_1387;
BgL_auxz00_1387 = 
(int)(BgL_iz00_1363); 
CNST_TABLE_SET(BgL_auxz00_1387, BgL_arg3596z00_1366); } } 
{ /* ./Integrate/loc2glo.scm 15 */
int BgL_auxz00_1368;
{ /* ./Integrate/loc2glo.scm 15 */
long BgL_auxz00_1390;
BgL_auxz00_1390 = 
(BgL_iz00_1363-((long)1)); 
BgL_auxz00_1368 = 
(int)(BgL_auxz00_1390); } 
{ 
long BgL_iz00_1393;
BgL_iz00_1393 = 
(long)(BgL_auxz00_1368); 
BgL_iz00_1363 = BgL_iz00_1393; 
goto BgL_loopz00_1364;} } } } } } } 
}



/* toplevel-init */
obj_t BGl_toplevelzd2initzd2zzintegrate_localzd2ze3globalz31()
{ AN_OBJECT;
{ /* ./Integrate/loc2glo.scm 15 */
{ /* ./Integrate/loc2glo.scm 65 */
char * BgL_auxz00_1395;
BgL_auxz00_1395 = 
BSTRING_TO_STRING(BGl_string3591z00zzintegrate_localzd2ze3globalz31); 
return ( 
BGl_symbolzd2quotezd2zzintegrate_localzd2ze3globalz31 = 
string_to_symbol(BgL_auxz00_1395), BUNSPEC) ;} } 
}



/* local->global */
BGL_EXPORTED_DEF obj_t BGl_localzd2ze3globalz31zzintegrate_localzd2ze3globalz31(BgL_localz00_bglt BgL_localz00_1)
{ AN_OBJECT;
{ /* ./Integrate/loc2glo.scm 35 */
{ /* ./Integrate/loc2glo.scm 37 */
obj_t BgL_globalz00_781;
BgL_globalz00_781 = 
BGl_thezd2globalzd2zzintegrate_localzd2ze3globalz31(BgL_localz00_1); 
{ /* ./Integrate/loc2glo.scm 37 */
obj_t BgL_kapturedz00_782;
{ /* ./Integrate/loc2glo.scm 38 */
BgL_sfunzf2iinfozf2_bglt BgL_obj2871z00_1276;
{ /* ./Integrate/loc2glo.scm 38 */
BgL_valuez00_bglt BgL_auxz00_1399;
{ /* ./Integrate/loc2glo.scm 38 */
BgL_variablez00_bglt BgL_obj1120z00_1275;
BgL_obj1120z00_1275 = 
(BgL_variablez00_bglt)(BgL_localz00_1); 
BgL_auxz00_1399 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1120z00_1275))->BgL_valuez00); } 
BgL_obj2871z00_1276 = 
(BgL_sfunzf2iinfozf2_bglt)(BgL_auxz00_1399); } 
{ 
obj_t BgL_auxz00_1403;
{ /* ./Integrate/loc2glo.scm 38 */
BgL_objectz00_bglt BgL_auxz00_1404;
BgL_auxz00_1404 = 
(BgL_objectz00_bglt)(BgL_obj2871z00_1276); 
BgL_auxz00_1403 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1404); } 
BgL_kapturedz00_782 = 
(((BgL_sfunzf2iinfozf2_bglt)CREF(BgL_auxz00_1403))->BgL_kapturedz00); } } 
{ /* ./Integrate/loc2glo.scm 38 */
obj_t BgL_addzd2argszd2_783;
{ /* ./Integrate/loc2glo.scm 39 */
bool_t BgL_test3038z00_839;
BgL_test3038z00_839 = 
NULLP(BgL_kapturedz00_782); 
if(BgL_test3038z00_839)
{ /* ./Integrate/loc2glo.scm 39 */
BgL_addzd2argszd2_783 = BNIL; }  else 
{ /* ./Integrate/loc2glo.scm 39 */
obj_t BgL_head2917z00_840;
BgL_head2917z00_840 = 
MAKE_PAIR(BNIL, BNIL); 
{ 
obj_t BgL_l2915z00_841;obj_t BgL_tail2918z00_842;
BgL_l2915z00_841 = BgL_kapturedz00_782; 
BgL_tail2918z00_842 = BgL_head2917z00_840; 
BgL_map2916z00_843:
{ /* ./Integrate/loc2glo.scm 39 */
bool_t BgL_test3040z00_844;
BgL_test3040z00_844 = 
NULLP(BgL_l2915z00_841); 
if(BgL_test3040z00_844)
{ /* ./Integrate/loc2glo.scm 39 */
BgL_addzd2argszd2_783 = 
CDR(BgL_head2917z00_840); }  else 
{ /* ./Integrate/loc2glo.scm 40 */
obj_t BgL_newtail2919z00_845;
{ /* ./Integrate/loc2glo.scm 40 */
BgL_localz00_bglt BgL_arg3048z00_847;
{ /* ./Integrate/loc2glo.scm 40 */
obj_t BgL_oldz00_849;
BgL_oldz00_849 = 
CAR(BgL_l2915z00_841); 
{ /* ./Integrate/loc2glo.scm 41 */
BgL_svarzf2iinfozf2_bglt BgL_arg3052z00_850;
{ /* ./Integrate/loc2glo.scm 41 */
BgL_svarzf2iinfozf2_bglt BgL_duplicated2920z00_851;
{ /* ./Integrate/loc2glo.scm 42 */
BgL_variablez00_bglt BgL_obj1120z00_1283;
BgL_obj1120z00_1283 = 
(BgL_variablez00_bglt)(BgL_oldz00_849); 
{ /* ./Integrate/loc2glo.scm 42 */
BgL_valuez00_bglt BgL_auxz00_1416;
BgL_auxz00_1416 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1120z00_1283))->BgL_valuez00); 
BgL_duplicated2920z00_851 = 
(BgL_svarzf2iinfozf2_bglt)(BgL_auxz00_1416); } } 
{ /* ./Integrate/loc2glo.scm 41 */
BgL_svarzf2iinfozf2_bglt BgL_new2921z00_852;
{ /* ./Integrate/loc2glo.scm 41 */
obj_t BgL_arg3055z00_853;obj_t BgL_arg3056z00_854;obj_t BgL_arg3057z00_855;bool_t BgL_arg3058z00_856;bool_t BgL_arg3059z00_857;
{ /* ./Integrate/loc2glo.scm 41 */
BgL_svarz00_bglt BgL_obj1512z00_1284;
BgL_obj1512z00_1284 = 
(BgL_svarz00_bglt)(BgL_duplicated2920z00_851); 
BgL_arg3055z00_853 = 
(((BgL_svarz00_bglt)CREF(BgL_obj1512z00_1284))->BgL_locz00); } 
{ 
obj_t BgL_auxz00_1421;
{ /* ./Integrate/loc2glo.scm 41 */
BgL_objectz00_bglt BgL_auxz00_1422;
BgL_auxz00_1422 = 
(BgL_objectz00_bglt)(BgL_duplicated2920z00_851); 
BgL_auxz00_1421 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1422); } 
BgL_arg3056z00_854 = 
(((BgL_svarzf2iinfozf2_bglt)CREF(BgL_auxz00_1421))->BgL_fzd2markzd2); } 
{ 
obj_t BgL_auxz00_1426;
{ /* ./Integrate/loc2glo.scm 41 */
BgL_objectz00_bglt BgL_auxz00_1427;
BgL_auxz00_1427 = 
(BgL_objectz00_bglt)(BgL_duplicated2920z00_851); 
BgL_auxz00_1426 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1427); } 
BgL_arg3057z00_855 = 
(((BgL_svarzf2iinfozf2_bglt)CREF(BgL_auxz00_1426))->BgL_uzd2markzd2); } 
{ 
obj_t BgL_auxz00_1431;
{ /* ./Integrate/loc2glo.scm 41 */
BgL_objectz00_bglt BgL_auxz00_1432;
BgL_auxz00_1432 = 
(BgL_objectz00_bglt)(BgL_duplicated2920z00_851); 
BgL_auxz00_1431 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1432); } 
BgL_arg3058z00_856 = 
(((BgL_svarzf2iinfozf2_bglt)CREF(BgL_auxz00_1431))->BgL_kapturedzf3zf3); } 
{ 
obj_t BgL_auxz00_1436;
{ /* ./Integrate/loc2glo.scm 41 */
BgL_objectz00_bglt BgL_auxz00_1437;
BgL_auxz00_1437 = 
(BgL_objectz00_bglt)(BgL_duplicated2920z00_851); 
BgL_auxz00_1436 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1437); } 
BgL_arg3059z00_857 = 
(((BgL_svarzf2iinfozf2_bglt)CREF(BgL_auxz00_1436))->BgL_celledzf3zf3); } 
BgL_new2921z00_852 = 
BGl_makezd2svarzf2Iinfoz20zzintegrate_infoz00(BgL_arg3055z00_853, BgL_arg3056z00_854, BgL_arg3057z00_855, BgL_arg3058z00_856, BgL_arg3059z00_857); } 
{ /* ./Integrate/loc2glo.scm 41 */

BgL_arg3052z00_850 = BgL_new2921z00_852; } } } 
BgL_arg3048z00_847 = 
BGl_clonezd2localzd2zzast_localz00(
(BgL_localz00_bglt)(BgL_oldz00_849), 
(BgL_valuez00_bglt)(BgL_arg3052z00_850)); } } 
{ /* ./Integrate/loc2glo.scm 39 */
obj_t BgL_obj1z00_1289;
BgL_obj1z00_1289 = 
(obj_t)(BgL_arg3048z00_847); 
BgL_newtail2919z00_845 = 
MAKE_PAIR(BgL_obj1z00_1289, BNIL); } } 
SET_CDR(BgL_tail2918z00_842, BgL_newtail2919z00_845); 
{ /* ./Integrate/loc2glo.scm 39 */
obj_t BgL_arg3044z00_846;
BgL_arg3044z00_846 = 
CDR(BgL_l2915z00_841); 
{ 
obj_t BgL_tail2918z00_1450;obj_t BgL_l2915z00_1449;
BgL_l2915z00_1449 = BgL_arg3044z00_846; 
BgL_tail2918z00_1450 = BgL_newtail2919z00_845; 
BgL_tail2918z00_842 = BgL_tail2918z00_1450; 
BgL_l2915z00_841 = BgL_l2915z00_1449; 
goto BgL_map2916z00_843;} } } } } } } 
{ /* ./Integrate/loc2glo.scm 39 */
BgL_valuez00_bglt BgL_oldzd2funzd2_784;
{ /* ./Integrate/loc2glo.scm 44 */
BgL_variablez00_bglt BgL_obj1120z00_1294;
BgL_obj1120z00_1294 = 
(BgL_variablez00_bglt)(BgL_localz00_1); 
BgL_oldzd2funzd2_784 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1120z00_1294))->BgL_valuez00); } 
{ /* ./Integrate/loc2glo.scm 44 */
BgL_sfunz00_bglt BgL_newzd2funzd2_785;
{ /* ./Integrate/loc2glo.scm 45 */
BgL_sfunz00_bglt BgL_duplicated2922z00_819;
BgL_duplicated2922z00_819 = 
(BgL_sfunz00_bglt)(BgL_oldzd2funzd2_784); 
{ /* ./Integrate/loc2glo.scm 46 */
BgL_sfunz00_bglt BgL_new2923z00_820;
{ /* ./Integrate/loc2glo.scm 46 */
obj_t BgL_arg2998z00_821;obj_t BgL_arg2999z00_822;obj_t BgL_arg3000z00_823;obj_t BgL_arg3001z00_824;bool_t BgL_arg3002z00_825;obj_t BgL_arg3003z00_826;obj_t BgL_arg3004z00_827;obj_t BgL_arg3007z00_828;obj_t BgL_arg3008z00_829;obj_t BgL_arg3009z00_830;obj_t BgL_arg3010z00_831;obj_t BgL_arg3011z00_832;obj_t BgL_arg3012z00_833;
{ /* ./Integrate/loc2glo.scm 46 */
long BgL_arg3015z00_834;long BgL_arg3016z00_835;
{ /* ./Integrate/loc2glo.scm 46 */
BgL_funz00_bglt BgL_obj1323z00_1295;
BgL_obj1323z00_1295 = 
(BgL_funz00_bglt)(BgL_oldzd2funzd2_784); 
BgL_arg3015z00_834 = 
(((BgL_funz00_bglt)CREF(BgL_obj1323z00_1295))->BgL_arityz00); } 
BgL_arg3016z00_835 = 
bgl_list_length(BgL_addzd2argszd2_783); 
BgL_arg2998z00_821 = 
BGl_zb2zd2arityz60zztools_argsz00(
BINT(BgL_arg3015z00_834), 
BINT(BgL_arg3016z00_835)); } 
{ /* ./Integrate/loc2glo.scm 45 */
BgL_funz00_bglt BgL_obj1324z00_1296;
BgL_obj1324z00_1296 = 
(BgL_funz00_bglt)(BgL_duplicated2922z00_819); 
BgL_arg2999z00_822 = 
(((BgL_funz00_bglt)CREF(BgL_obj1324z00_1296))->BgL_sidezd2effectzf3z21); } 
{ /* ./Integrate/loc2glo.scm 45 */
BgL_funz00_bglt BgL_obj1327z00_1297;
BgL_obj1327z00_1297 = 
(BgL_funz00_bglt)(BgL_duplicated2922z00_819); 
BgL_arg3000z00_823 = 
(((BgL_funz00_bglt)CREF(BgL_obj1327z00_1297))->BgL_predicatezd2ofzd2); } 
{ /* ./Integrate/loc2glo.scm 45 */
BgL_funz00_bglt BgL_obj1330z00_1298;
BgL_obj1330z00_1298 = 
(BgL_funz00_bglt)(BgL_duplicated2922z00_819); 
BgL_arg3001z00_824 = 
(((BgL_funz00_bglt)CREF(BgL_obj1330z00_1298))->BgL_stackzd2allocatorzd2); } 
{ /* ./Integrate/loc2glo.scm 45 */
BgL_funz00_bglt BgL_obj1333z00_1299;
BgL_obj1333z00_1299 = 
(BgL_funz00_bglt)(BgL_duplicated2922z00_819); 
BgL_arg3002z00_825 = 
(((BgL_funz00_bglt)CREF(BgL_obj1333z00_1299))->BgL_topzf3zf3); } 
{ /* ./Integrate/loc2glo.scm 45 */
BgL_funz00_bglt BgL_obj1336z00_1300;
BgL_obj1336z00_1300 = 
(BgL_funz00_bglt)(BgL_duplicated2922z00_819); 
BgL_arg3003z00_826 = 
(((BgL_funz00_bglt)CREF(BgL_obj1336z00_1300))->BgL_thezd2closurezd2); } 
{ /* ./Integrate/loc2glo.scm 45 */
BgL_funz00_bglt BgL_obj1339z00_1301;
BgL_obj1339z00_1301 = 
(BgL_funz00_bglt)(BgL_duplicated2922z00_819); 
BgL_arg3004z00_827 = 
(((BgL_funz00_bglt)CREF(BgL_obj1339z00_1301))->BgL_effectz00); } 
BgL_arg3007z00_828 = 
(((BgL_sfunz00_bglt)CREF(BgL_duplicated2922z00_819))->BgL_propertyz00); 
BgL_arg3008z00_829 = 
bgl_append2(
bgl_reverse(BgL_addzd2argszd2_783), 
(((BgL_sfunz00_bglt)CREF(BgL_duplicated2922z00_819))->BgL_argsz00)); 
BgL_arg3009z00_830 = 
(((BgL_sfunz00_bglt)CREF(BgL_duplicated2922z00_819))->BgL_bodyz00); 
BgL_arg3010z00_831 = 
(((BgL_sfunz00_bglt)CREF(BgL_duplicated2922z00_819))->BgL_classz00); 
BgL_arg3011z00_832 = 
(((BgL_sfunz00_bglt)CREF(BgL_duplicated2922z00_819))->BgL_dssslzd2keywordszd2); 
BgL_arg3012z00_833 = 
(((BgL_sfunz00_bglt)CREF(BgL_duplicated2922z00_819))->BgL_locz00); 
BgL_new2923z00_820 = 
BGl_makezd2sfunzd2zzast_varz00(
(long)CINT(BgL_arg2998z00_821), BgL_arg2999z00_822, BgL_arg3000z00_823, BgL_arg3001z00_824, BgL_arg3002z00_825, BgL_arg3003z00_826, BgL_arg3004z00_827, BgL_arg3007z00_828, BgL_arg3008z00_829, BgL_arg3009z00_830, BgL_arg3010z00_831, BgL_arg3011z00_832, BgL_arg3012z00_833); } 
{ /* ./Integrate/loc2glo.scm 45 */

BgL_newzd2funzd2_785 = BgL_new2923z00_820; } } } 
{ /* ./Integrate/loc2glo.scm 45 */

{ /* ./Integrate/loc2glo.scm 50 */
BgL_typez00_bglt BgL_arg2934z00_786;
{ /* ./Integrate/loc2glo.scm 50 */
BgL_variablez00_bglt BgL_obj1117z00_1308;
BgL_obj1117z00_1308 = 
(BgL_variablez00_bglt)(BgL_localz00_1); 
BgL_arg2934z00_786 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1117z00_1308))->BgL_typez00); } 
{ /* ./Integrate/loc2glo.scm 50 */
BgL_variablez00_bglt BgL_obj1119z00_1309;BgL_typez00_bglt BgL_val1118z00_1310;
BgL_obj1119z00_1309 = 
(BgL_variablez00_bglt)(BgL_globalz00_781); 
BgL_val1118z00_1310 = BgL_arg2934z00_786; 
((((BgL_variablez00_bglt)CREF(BgL_obj1119z00_1309))->BgL_typez00) = ((BgL_typez00_bglt)BgL_val1118z00_1310), BUNSPEC); } } 
{ 
obj_t BgL_l2924z00_787;
{ /* ./Integrate/loc2glo.scm 54 */
obj_t BgL_arg2938z00_789;
BgL_arg2938z00_789 = 
(((BgL_sfunz00_bglt)CREF(BgL_newzd2funzd2_785))->BgL_argsz00); 
BgL_l2924z00_787 = BgL_arg2938z00_789; 
BgL_forzd2each2925zd2_788:
{ /* ./Integrate/loc2glo.scm 51 */
bool_t BgL_test2941z00_790;
BgL_test2941z00_790 = 
PAIRP(BgL_l2924z00_787); 
if(BgL_test2941z00_790)
{ /* ./Integrate/loc2glo.scm 51 */
{ /* ./Integrate/loc2glo.scm 52 */
obj_t BgL_lz00_791;
BgL_lz00_791 = 
CAR(BgL_l2924z00_787); 
{ /* ./Integrate/loc2glo.scm 52 */
bool_t BgL_test2942z00_792;
BgL_test2942z00_792 = 
BGl_integratezd2celledzf3z21zzintegrate_nodez00(
(BgL_localz00_bglt)(BgL_lz00_791)); 
if(BgL_test2942z00_792)
{ /* ./Integrate/loc2glo.scm 53 */
BgL_variablez00_bglt BgL_obj1119z00_1314;BgL_typez00_bglt BgL_val1118z00_1315;
BgL_obj1119z00_1314 = 
(BgL_variablez00_bglt)(BgL_lz00_791); 
BgL_val1118z00_1315 = 
(BgL_typez00_bglt)(BGl_za2objza2z00zztype_cachez00); 
((((BgL_variablez00_bglt)CREF(BgL_obj1119z00_1314))->BgL_typez00) = ((BgL_typez00_bglt)BgL_val1118z00_1315), BUNSPEC); }  else 
{ /* ./Integrate/loc2glo.scm 52 */BFALSE; } } } 
{ /* ./Integrate/loc2glo.scm 51 */
obj_t BgL_arg2947z00_793;
BgL_arg2947z00_793 = 
CDR(BgL_l2924z00_787); 
{ 
obj_t BgL_l2924z00_1497;
BgL_l2924z00_1497 = BgL_arg2947z00_793; 
BgL_l2924z00_787 = BgL_l2924z00_1497; 
goto BgL_forzd2each2925zd2_788;} } }  else 
{ /* ./Integrate/loc2glo.scm 51 */((bool_t)1); } } } } 
{ /* ./Integrate/loc2glo.scm 56 */
obj_t BgL_arg2952z00_794;
{ /* ./Integrate/loc2glo.scm 56 */
obj_t BgL_arg2955z00_795;obj_t BgL_arg2956z00_796;
{ /* ./Integrate/loc2glo.scm 56 */
BgL_sfunz00_bglt BgL_obj1392z00_1317;
BgL_obj1392z00_1317 = 
(BgL_sfunz00_bglt)(BgL_oldzd2funzd2_784); 
BgL_arg2955z00_795 = 
(((BgL_sfunz00_bglt)CREF(BgL_obj1392z00_1317))->BgL_bodyz00); } 
{ /* ./Integrate/loc2glo.scm 58 */
bool_t BgL_test2959z00_799;
BgL_test2959z00_799 = 
NULLP(BgL_kapturedz00_782); 
if(BgL_test2959z00_799)
{ /* ./Integrate/loc2glo.scm 58 */
BgL_arg2956z00_796 = BNIL; }  else 
{ /* ./Integrate/loc2glo.scm 58 */
obj_t BgL_head2928z00_800;
{ /* ./Integrate/loc2glo.scm 58 */
obj_t BgL_arg2986z00_815;
{ /* ./Integrate/loc2glo.scm 58 */
obj_t BgL_arg2990z00_817;obj_t BgL_arg2991z00_818;
BgL_arg2990z00_817 = 
CAR(BgL_kapturedz00_782); 
BgL_arg2991z00_818 = 
CAR(BgL_addzd2argszd2_783); 
BgL_arg2986z00_815 = 
MAKE_PAIR(BgL_arg2990z00_817, BgL_arg2991z00_818); } 
BgL_head2928z00_800 = 
MAKE_PAIR(BgL_arg2986z00_815, BNIL); } 
{ 
obj_t BgL_ll2926z00_801;obj_t BgL_ll2927z00_802;obj_t BgL_tail2929z00_803;
{ /* ./Integrate/loc2glo.scm 58 */
obj_t BgL_arg2961z00_805;obj_t BgL_arg2962z00_806;
BgL_arg2961z00_805 = 
CDR(BgL_kapturedz00_782); 
BgL_arg2962z00_806 = 
CDR(BgL_addzd2argszd2_783); 
BgL_ll2926z00_801 = BgL_arg2961z00_805; 
BgL_ll2927z00_802 = BgL_arg2962z00_806; 
BgL_tail2929z00_803 = BgL_head2928z00_800; 
BgL_map2931z00_804:
{ /* ./Integrate/loc2glo.scm 58 */
bool_t BgL_test2966z00_807;
BgL_test2966z00_807 = 
NULLP(BgL_ll2926z00_801); 
if(BgL_test2966z00_807)
{ /* ./Integrate/loc2glo.scm 58 */
BgL_arg2956z00_796 = BgL_head2928z00_800; }  else 
{ /* ./Integrate/loc2glo.scm 58 */
obj_t BgL_newtail2930z00_808;
{ /* ./Integrate/loc2glo.scm 58 */
obj_t BgL_arg2975z00_811;
{ /* ./Integrate/loc2glo.scm 58 */
obj_t BgL_arg2979z00_813;obj_t BgL_arg2980z00_814;
BgL_arg2979z00_813 = 
CAR(BgL_ll2926z00_801); 
BgL_arg2980z00_814 = 
CAR(BgL_ll2927z00_802); 
BgL_arg2975z00_811 = 
MAKE_PAIR(BgL_arg2979z00_813, BgL_arg2980z00_814); } 
BgL_newtail2930z00_808 = 
MAKE_PAIR(BgL_arg2975z00_811, BNIL); } 
SET_CDR(BgL_tail2929z00_803, BgL_newtail2930z00_808); 
{ /* ./Integrate/loc2glo.scm 58 */
obj_t BgL_arg2969z00_809;obj_t BgL_arg2970z00_810;
BgL_arg2969z00_809 = 
CDR(BgL_ll2926z00_801); 
BgL_arg2970z00_810 = 
CDR(BgL_ll2927z00_802); 
{ 
obj_t BgL_tail2929z00_1519;obj_t BgL_ll2927z00_1518;obj_t BgL_ll2926z00_1517;
BgL_ll2926z00_1517 = BgL_arg2969z00_809; 
BgL_ll2927z00_1518 = BgL_arg2970z00_810; 
BgL_tail2929z00_1519 = BgL_newtail2930z00_808; 
BgL_tail2929z00_803 = BgL_tail2929z00_1519; 
BgL_ll2927z00_802 = BgL_ll2927z00_1518; 
BgL_ll2926z00_801 = BgL_ll2926z00_1517; 
goto BgL_map2931z00_804;} } } } } } } } 
BgL_arg2952z00_794 = 
BGl_globaliza7ez12zb5zzintegrate_nodez00(
(BgL_nodez00_bglt)(BgL_arg2955z00_795), 
(BgL_variablez00_bglt)(BgL_localz00_1), BgL_arg2956z00_796); } 
{ /* ./Integrate/loc2glo.scm 55 */
BgL_sfunz00_bglt BgL_obj1394z00_1334;obj_t BgL_val1393z00_1335;
BgL_obj1394z00_1334 = BgL_newzd2funzd2_785; 
BgL_val1393z00_1335 = BgL_arg2952z00_794; 
((((BgL_sfunz00_bglt)CREF(BgL_obj1394z00_1334))->BgL_bodyz00) = ((obj_t)BgL_val1393z00_1335), BUNSPEC); } } 
{ /* ./Integrate/loc2glo.scm 59 */
BgL_variablez00_bglt BgL_obj1122z00_1336;BgL_valuez00_bglt BgL_val1121z00_1337;
BgL_obj1122z00_1336 = 
(BgL_variablez00_bglt)(BgL_globalz00_781); 
BgL_val1121z00_1337 = 
(BgL_valuez00_bglt)(BgL_newzd2funzd2_785); 
((((BgL_variablez00_bglt)CREF(BgL_obj1122z00_1336))->BgL_valuez00) = ((BgL_valuez00_bglt)BgL_val1121z00_1337), BUNSPEC); } 
return BgL_globalz00_781;} } } } } } } 
}



/* _local->global3529 */
obj_t BGl__localzd2ze3global3529z31zzintegrate_localzd2ze3globalz31(obj_t BgL_envz00_1358, obj_t BgL_localz00_1359)
{ AN_OBJECT;
{ /* ./Integrate/loc2glo.scm 35 */
return 
BGl_localzd2ze3globalz31zzintegrate_localzd2ze3globalz31(
(BgL_localz00_bglt)(BgL_localz00_1359));} 
}



/* local-id->global-id */
obj_t BGl_localzd2idzd2ze3globalzd2idz31zzintegrate_localzd2ze3globalz31(BgL_localz00_bglt BgL_localz00_2)
{ AN_OBJECT;
{ /* ./Integrate/loc2glo.scm 72 */
{ 
obj_t BgL_idz00_860;
{ /* ./Integrate/loc2glo.scm 74 */
obj_t BgL_arg3077z00_862;
{ /* ./Integrate/loc2glo.scm 74 */
BgL_variablez00_bglt BgL_obj1113z00_1339;
BgL_obj1113z00_1339 = 
(BgL_variablez00_bglt)(BgL_localz00_2); 
BgL_arg3077z00_862 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1113z00_1339))->BgL_idz00); } 
BgL_idz00_860 = BgL_arg3077z00_862; 
BgL_loopz00_861:
{ /* ./Integrate/loc2glo.scm 75 */
bool_t BgL_test3080z00_863;
{ /* ./Integrate/loc2glo.scm 75 */
obj_t BgL_arg3091z00_867;
BgL_arg3091z00_867 = 
BGl_findzd2globalzf2modulez20zzast_envz00(BgL_idz00_860, BGl_za2moduleza2z00zzmodule_modulez00); 
BgL_test3080z00_863 = 
BGl_iszd2azf3z21zz__objectz00(BgL_arg3091z00_867, BGl_globalz00zzast_varz00); } 
if(BgL_test3080z00_863)
{ /* ./Integrate/loc2glo.scm 76 */
obj_t BgL_arg3082z00_864;
{ /* ./Integrate/loc2glo.scm 76 */
obj_t BgL_list3085z00_865;
{ /* ./Integrate/loc2glo.scm 76 */
obj_t BgL_arg3087z00_866;
BgL_arg3087z00_866 = 
MAKE_PAIR(BGl_symbolzd2quotezd2zzintegrate_localzd2ze3globalz31, BNIL); 
BgL_list3085z00_865 = 
MAKE_PAIR(BgL_idz00_860, BgL_arg3087z00_866); } 
BgL_arg3082z00_864 = 
BGl_symbolzd2appendzd2zz__r4_symbols_6_4z00(BgL_list3085z00_865); } 
{ 
obj_t BgL_idz00_1537;
BgL_idz00_1537 = BgL_arg3082z00_864; 
BgL_idz00_860 = BgL_idz00_1537; 
goto BgL_loopz00_861;} }  else 
{ /* ./Integrate/loc2glo.scm 75 */
return BgL_idz00_860;} } } } } 
}



/* the-global */
BGL_EXPORTED_DEF obj_t BGl_thezd2globalzd2zzintegrate_localzd2ze3globalz31(BgL_localz00_bglt BgL_localz00_3)
{ AN_OBJECT;
{ /* ./Integrate/loc2glo.scm 82 */
{ /* ./Integrate/loc2glo.scm 83 */
BgL_valuez00_bglt BgL_valuez00_868;
{ /* ./Integrate/loc2glo.scm 83 */
BgL_variablez00_bglt BgL_obj1120z00_1341;
BgL_obj1120z00_1341 = 
(BgL_variablez00_bglt)(BgL_localz00_3); 
BgL_valuez00_868 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1120z00_1341))->BgL_valuez00); } 
{ /* ./Integrate/loc2glo.scm 84 */
bool_t BgL_test3095z00_869;
{ /* ./Integrate/loc2glo.scm 84 */
obj_t BgL_arg3116z00_877;
{ /* ./Integrate/loc2glo.scm 84 */
BgL_sfunzf2iinfozf2_bglt BgL_obj2868z00_1342;
BgL_obj2868z00_1342 = 
(BgL_sfunzf2iinfozf2_bglt)(BgL_valuez00_868); 
{ 
obj_t BgL_auxz00_1541;
{ /* ./Integrate/loc2glo.scm 84 */
BgL_objectz00_bglt BgL_auxz00_1542;
BgL_auxz00_1542 = 
(BgL_objectz00_bglt)(BgL_obj2868z00_1342); 
BgL_auxz00_1541 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1542); } 
BgL_arg3116z00_877 = 
(((BgL_sfunzf2iinfozf2_bglt)CREF(BgL_auxz00_1541))->BgL_globalz00); } } 
BgL_test3095z00_869 = 
BGl_iszd2azf3z21zz__objectz00(BgL_arg3116z00_877, BGl_globalz00zzast_varz00); } 
if(BgL_test3095z00_869)
{ /* ./Integrate/loc2glo.scm 85 */
BgL_sfunzf2iinfozf2_bglt BgL_obj2868z00_1344;
BgL_obj2868z00_1344 = 
(BgL_sfunzf2iinfozf2_bglt)(BgL_valuez00_868); 
{ 
obj_t BgL_auxz00_1549;
{ /* ./Integrate/loc2glo.scm 85 */
BgL_objectz00_bglt BgL_auxz00_1550;
BgL_auxz00_1550 = 
(BgL_objectz00_bglt)(BgL_obj2868z00_1344); 
BgL_auxz00_1549 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1550); } 
return 
(((BgL_sfunzf2iinfozf2_bglt)CREF(BgL_auxz00_1549))->BgL_globalz00);} }  else 
{ /* ./Integrate/loc2glo.scm 86 */
obj_t BgL_idz00_870;
BgL_idz00_870 = 
BGl_localzd2idzd2ze3globalzd2idz31zzintegrate_localzd2ze3globalz31(BgL_localz00_3); 
{ /* ./Integrate/loc2glo.scm 86 */
BgL_globalz00_bglt BgL_globalz00_871;
BgL_globalz00_871 = 
BGl_defzd2globalzd2sfunzd2nozd2warningz12z12zzast_glozd2defzd2(BgL_idz00_870, BNIL, BNIL, BGl_za2moduleza2z00zzmodule_modulez00, 
CNST_TABLE_REF(((long)0)), 
CNST_TABLE_REF(((long)1)), 
CNST_TABLE_REF(((long)2)), BUNSPEC); 
{ /* ./Integrate/loc2glo.scm 87 */

{ /* ./Integrate/loc2glo.scm 100 */
BgL_valuez00_bglt BgL_arg3098z00_872;obj_t BgL_arg3099z00_873;
{ /* ./Integrate/loc2glo.scm 100 */
BgL_variablez00_bglt BgL_obj1120z00_1345;
BgL_obj1120z00_1345 = 
(BgL_variablez00_bglt)(BgL_globalz00_871); 
BgL_arg3098z00_872 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1120z00_1345))->BgL_valuez00); } 
{ /* ./Integrate/loc2glo.scm 100 */
BgL_sfunz00_bglt BgL_obj1401z00_1346;
BgL_obj1401z00_1346 = 
(BgL_sfunz00_bglt)(BgL_valuez00_868); 
BgL_arg3099z00_873 = 
(((BgL_sfunz00_bglt)CREF(BgL_obj1401z00_1346))->BgL_locz00); } 
{ /* ./Integrate/loc2glo.scm 100 */
BgL_sfunz00_bglt BgL_obj1403z00_1347;obj_t BgL_val1402z00_1348;
BgL_obj1403z00_1347 = 
(BgL_sfunz00_bglt)(BgL_arg3098z00_872); 
BgL_val1402z00_1348 = BgL_arg3099z00_873; 
((((BgL_sfunz00_bglt)CREF(BgL_obj1403z00_1347))->BgL_locz00) = ((obj_t)BgL_val1402z00_1348), BUNSPEC); } } 
{ /* ./Integrate/loc2glo.scm 102 */
bool_t BgL_test3103z00_874;
BgL_test3103z00_874 = 
(((BgL_localz00_bglt)CREF(BgL_localz00_3))->BgL_userzf3zf3); 
if(BgL_test3103z00_874)
{ /* ./Integrate/loc2glo.scm 102 */BFALSE; }  else 
{ /* ./Integrate/loc2glo.scm 103 */
BgL_globalz00_bglt BgL_obj1200z00_1350;bool_t BgL_val1199z00_1351;
BgL_obj1200z00_1350 = BgL_globalz00_871; 
BgL_val1199z00_1351 = ((bool_t)0); 
((((BgL_globalz00_bglt)CREF(BgL_obj1200z00_1350))->BgL_userzf3zf3) = ((bool_t)BgL_val1199z00_1351), BUNSPEC); } } 
{ /* ./Integrate/loc2glo.scm 104 */
BgL_sfunzf2iinfozf2_bglt BgL_obj2870z00_1352;obj_t BgL_val2869z00_1353;
BgL_obj2870z00_1352 = 
(BgL_sfunzf2iinfozf2_bglt)(BgL_valuez00_868); 
BgL_val2869z00_1353 = 
(obj_t)(BgL_globalz00_871); 
{ 
obj_t BgL_auxz00_1570;
{ /* ./Integrate/loc2glo.scm 104 */
BgL_objectz00_bglt BgL_auxz00_1571;
BgL_auxz00_1571 = 
(BgL_objectz00_bglt)(BgL_obj2870z00_1352); 
BgL_auxz00_1570 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1571); } 
((((BgL_sfunzf2iinfozf2_bglt)CREF(BgL_auxz00_1570))->BgL_globalz00) = ((obj_t)BgL_val2869z00_1353), BUNSPEC); } } 
{ /* ./Integrate/loc2glo.scm 105 */
BgL_valuez00_bglt BgL_arg3108z00_875;obj_t BgL_arg3109z00_876;
{ /* ./Integrate/loc2glo.scm 105 */
BgL_variablez00_bglt BgL_obj1120z00_1354;
BgL_obj1120z00_1354 = 
(BgL_variablez00_bglt)(BgL_globalz00_871); 
BgL_arg3108z00_875 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1120z00_1354))->BgL_valuez00); } 
{ /* ./Integrate/loc2glo.scm 106 */
BgL_funz00_bglt BgL_obj1324z00_1355;
BgL_obj1324z00_1355 = 
(BgL_funz00_bglt)(BgL_valuez00_868); 
BgL_arg3109z00_876 = 
(((BgL_funz00_bglt)CREF(BgL_obj1324z00_1355))->BgL_sidezd2effectzf3z21); } 
{ /* ./Integrate/loc2glo.scm 105 */
BgL_funz00_bglt BgL_obj1326z00_1356;obj_t BgL_val1325z00_1357;
BgL_obj1326z00_1356 = 
(BgL_funz00_bglt)(BgL_arg3108z00_875); 
BgL_val1325z00_1357 = BgL_arg3109z00_876; 
((((BgL_funz00_bglt)CREF(BgL_obj1326z00_1356))->BgL_sidezd2effectzf3z21) = ((obj_t)BgL_val1325z00_1357), BUNSPEC); } } 
return 
(obj_t)(BgL_globalz00_871);} } } } } } 
}



/* _the-global3531 */
obj_t BGl__thezd2global3531zd2zzintegrate_localzd2ze3globalz31(obj_t BgL_envz00_1360, obj_t BgL_localz00_1361)
{ AN_OBJECT;
{ /* ./Integrate/loc2glo.scm 82 */
return 
BGl_thezd2globalzd2zzintegrate_localzd2ze3globalz31(
(BgL_localz00_bglt)(BgL_localz00_1361));} 
}



/* method-init */
obj_t BGl_methodzd2initzd2zzintegrate_localzd2ze3globalz31()
{ AN_OBJECT;
{ /* ./Integrate/loc2glo.scm 15 */
return BUNSPEC;} 
}



/* imported-modules-init */
obj_t BGl_importedzd2moduleszd2initz00zzintegrate_localzd2ze3globalz31()
{ AN_OBJECT;
{ /* ./Integrate/loc2glo.scm 15 */
BGl_modulezd2initializa7ationz75zztools_tracez00(((long)59211), "integrate_local->global"); 
BGl_modulezd2initializa7ationz75zztools_shapez00(((long)30833), "integrate_local->global"); 
BGl_modulezd2initializa7ationz75zztools_argsz00(((long)42726), "integrate_local->global"); 
BGl_modulezd2initializa7ationz75zzmodule_modulez00(((long)8699), "integrate_local->global"); 
BGl_modulezd2initializa7ationz75zztype_typez00(((long)19090), "integrate_local->global"); 
BGl_modulezd2initializa7ationz75zztype_cachez00(((long)25848), "integrate_local->global"); 
BGl_modulezd2initializa7ationz75zzast_varz00(((long)44246), "integrate_local->global"); 
BGl_modulezd2initializa7ationz75zzast_nodez00(((long)50868), "integrate_local->global"); 
BGl_modulezd2initializa7ationz75zzast_glozd2defzd2(((long)4795), "integrate_local->global"); 
BGl_modulezd2initializa7ationz75zzast_envz00(((long)62031), "integrate_local->global"); 
BGl_modulezd2initializa7ationz75zzast_localz00(((long)28959), "integrate_local->global"); 
BGl_modulezd2initializa7ationz75zzintegrate_infoz00(((long)0), "integrate_local->global"); 
return 
BGl_modulezd2initializa7ationz75zzintegrate_nodez00(((long)8276), "integrate_local->global");} 
}

