/*===========================================================================*/
/*   (Integrate/definition.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/definition.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_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;


static obj_t BGl_methodzd2initzd2zzintegrate_definitionz00();
extern obj_t BGl_za2phiza2z00zzintegrate_az00;
extern obj_t BGl_Az00zzintegrate_az00(BgL_globalz00_bglt, BgL_nodez00_bglt);
extern obj_t BGl_za2verboseza2z00zzengine_paramz00;
extern obj_t BGl_localzd2ze3globalz31zzintegrate_localzd2ze3globalz31(BgL_localz00_bglt);
BGL_IMPORT bool_t BGl_iszd2azf3z21zz__objectz00(obj_t, obj_t);
extern obj_t BGl_displacezd2letzd2funz12z12zzintegrate_letzd2funzd2(obj_t);
extern obj_t BGl_globaliza7ez12zb5zzintegrate_nodez00(BgL_nodez00_bglt, BgL_variablez00_bglt, obj_t);
extern obj_t BGl_Kza2z12zb0zzintegrate_kkz00(obj_t);
static obj_t BGl_importedzd2moduleszd2initz00zzintegrate_definitionz00();
BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zzintegrate_definitionz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_tracez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzengine_paramz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztype_typez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_varz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_nodez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_shapez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_speekz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzintegrate_infoz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzintegrate_az00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzintegrate_kkz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzintegrate_uz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzintegrate_ctnz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzintegrate_gz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzintegrate_kapturedz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzintegrate_letzd2funzd2(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzintegrate_nodez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzintegrate_localzd2ze3globalz31(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_numbers_6_5z00(long, char *);
extern obj_t BGl_verbosez00zztools_speekz00(obj_t, obj_t);
static obj_t BGl__integratezd2definitionz12zc0zzintegrate_definitionz00(obj_t, obj_t);
BGL_IMPORT bool_t BGl_zc3zd3z10zz__r4_numbers_6_5z00(obj_t, obj_t, obj_t);
extern obj_t BGl_shapez00zztools_shapez00(obj_t);
extern obj_t BGl_Gz12z12zzintegrate_gz00(obj_t);
extern obj_t BGl_Kz12z12zzintegrate_kkz00(obj_t, BgL_globalz00_bglt);
static bool_t BGl_verbzd2globaliza7ationz75zzintegrate_definitionz00(obj_t);
extern obj_t BGl_Cnz62Ctz12z70zzintegrate_ctnz00(obj_t);
extern obj_t BGl_Uz12z12zzintegrate_uz00();
extern obj_t BGl_localz00zzast_varz00;
static obj_t BGl_requirezd2initializa7ationz75zzintegrate_definitionz00 = BUNSPEC;
extern obj_t BGl_setzd2kapturedz12zc0zzintegrate_kapturedz00(obj_t);
static obj_t BGl_libraryzd2moduleszd2initz00zzintegrate_definitionz00();
BGL_EXPORTED_DECL obj_t BGl_integratezd2definitionz12zc0zzintegrate_definitionz00(obj_t);
static obj_t *__cnst;


DEFINE_EXPORT_PROCEDURE( BGl_integratezd2definitionz12zd2envz12zzintegrate_definitionz00, BgL_bgl__integrateza7d2definitionza712za7c0za7za7integrate_definitionza7003481z00, BGl__integratezd2definitionz12zc0zzintegrate_definitionz00, 0L, 1 );
DEFINE_STRING( BGl_string3471z00zzintegrate_definitionz00, BgL_bgl_string3471za700za7za7integrate_definitionza7003482z00, "           ", 11 );
DEFINE_STRING( BGl_string3470z00zzintegrate_definitionz00, BgL_bgl_string3470za700za7za7integrate_definitionza7003483z00, " -->", 4 );



/* module-initialization */
BGL_EXPORTED_DEF obj_t BGl_modulezd2initializa7ationz75zzintegrate_definitionz00(long BgL_checksumz00_1259, char * BgL_fromz00_1260)
{ AN_OBJECT;
{ 
if(
CBOOL(BGl_requirezd2initializa7ationz75zzintegrate_definitionz00))
{ 
BGl_requirezd2initializa7ationz75zzintegrate_definitionz00 = 
BBOOL(((bool_t)0)); 
BGl_libraryzd2moduleszd2initz00zzintegrate_definitionz00(); 
BGl_importedzd2moduleszd2initz00zzintegrate_definitionz00(); 
return BUNSPEC;}  else 
{ 
return BUNSPEC;} } 
}



/* library-modules-init */
obj_t BGl_libraryzd2moduleszd2initz00zzintegrate_definitionz00()
{ AN_OBJECT;
{ /* ./Integrate/definition.scm 15 */
BGl_modulezd2initializa7ationz75zz__objectz00(((long)0), "integrate_definition"); 
BGl_modulezd2initializa7ationz75zz__r4_numbers_6_5z00(((long)0), "integrate_definition"); 
BGl_modulezd2initializa7ationz75zz__readerz00(((long)0), "integrate_definition"); 
return BUNSPEC;} 
}



/* integrate-definition! */
BGL_EXPORTED_DEF obj_t BGl_integratezd2definitionz12zc0zzintegrate_definitionz00(obj_t BgL_globalz00_1)
{ AN_OBJECT;
{ /* ./Integrate/definition.scm 56 */
{ /* ./Integrate/definition.scm 61 */
BgL_valuez00_bglt BgL_funz00_770;
{ /* ./Integrate/definition.scm 61 */
BgL_variablez00_bglt BgL_obj1100z00_1220;
BgL_obj1100z00_1220 = 
(BgL_variablez00_bglt)(BgL_globalz00_1); 
BgL_funz00_770 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1100z00_1220))->BgL_valuez00); } 
{ /* ./Integrate/definition.scm 61 */
obj_t BgL_bodyz00_771;
{ /* ./Integrate/definition.scm 62 */
BgL_sfunz00_bglt BgL_obj1370z00_1221;
BgL_obj1370z00_1221 = 
(BgL_sfunz00_bglt)(BgL_funz00_770); 
BgL_bodyz00_771 = 
(((BgL_sfunz00_bglt)CREF(BgL_obj1370z00_1221))->BgL_bodyz00); } 
{ /* ./Integrate/definition.scm 62 */
obj_t BgL_az00_772;
BgL_az00_772 = 
BGl_Az00zzintegrate_az00(
(BgL_globalz00_bglt)(BgL_globalz00_1), 
(BgL_nodez00_bglt)(BgL_bodyz00_771)); 
{ /* ./Integrate/definition.scm 63 */

{ /* ./Integrate/definition.scm 64 */
obj_t BgL_arg2912z00_773;
BgL_arg2912z00_773 = 
BGl_Kz12z12zzintegrate_kkz00(BgL_az00_772, 
(BgL_globalz00_bglt)(BgL_globalz00_1)); 
BGl_Kza2z12zb0zzintegrate_kkz00(BgL_arg2912z00_773); } 
BGl_Uz12z12zzintegrate_uz00(); 
{ /* ./Integrate/definition.scm 66 */
obj_t BgL_gz00_774;
{ /* ./Integrate/definition.scm 66 */
obj_t BgL_arg2999z00_814;
BgL_arg2999z00_814 = 
BGl_Cnz62Ctz12z70zzintegrate_ctnz00(BgL_az00_772); 
BgL_gz00_774 = 
BGl_Gz12z12zzintegrate_gz00(BgL_arg2999z00_814); } 
{ /* ./Integrate/definition.scm 70 */
bool_t BgL_test2916z00_775;
BgL_test2916z00_775 = 
NULLP(BgL_gz00_774); 
if(BgL_test2916z00_775)
{ /* ./Integrate/definition.scm 72 */
obj_t BgL_list2918z00_776;
BgL_list2918z00_776 = 
MAKE_PAIR(BgL_globalz00_1, BNIL); 
return BgL_list2918z00_776;}  else 
{ /* ./Integrate/definition.scm 70 */
BGl_verbzd2globaliza7ationz75zzintegrate_definitionz00(BgL_gz00_774); 
{ 
obj_t BgL_l2899z00_777;
BgL_l2899z00_777 = BGl_za2phiza2z00zzintegrate_az00; 
BgL_forzd2each2900zd2_778:
{ /* ./Integrate/definition.scm 76 */
bool_t BgL_test2922z00_779;
BgL_test2922z00_779 = 
PAIRP(BgL_l2899z00_777); 
if(BgL_test2922z00_779)
{ /* ./Integrate/definition.scm 76 */
{ /* ./Integrate/definition.scm 78 */
obj_t BgL_fz00_780;
BgL_fz00_780 = 
CAR(BgL_l2899z00_777); 
{ /* ./Integrate/definition.scm 78 */
bool_t BgL_test2923z00_781;
{ /* ./Integrate/definition.scm 78 */
bool_t BgL_test2936z00_787;
BgL_test2936z00_787 = 
BGl_iszd2azf3z21zz__objectz00(BgL_fz00_780, BGl_localz00zzast_varz00); 
if(BgL_test2936z00_787)
{ /* ./Integrate/definition.scm 79 */
bool_t BgL_testz00_1291;
{ /* ./Integrate/definition.scm 79 */
BgL_sfunzf2iinfozf2_bglt BgL_obj2839z00_1229;
{ /* ./Integrate/definition.scm 79 */
BgL_valuez00_bglt BgL_auxz00_1292;
{ /* ./Integrate/definition.scm 79 */
BgL_variablez00_bglt BgL_obj1100z00_1228;
BgL_obj1100z00_1228 = 
(BgL_variablez00_bglt)(BgL_fz00_780); 
BgL_auxz00_1292 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1100z00_1228))->BgL_valuez00); } 
BgL_obj2839z00_1229 = 
(BgL_sfunzf2iinfozf2_bglt)(BgL_auxz00_1292); } 
{ 
obj_t BgL_auxz00_1296;
{ /* ./Integrate/definition.scm 79 */
BgL_objectz00_bglt BgL_auxz00_1297;
BgL_auxz00_1297 = 
(BgL_objectz00_bglt)(BgL_obj2839z00_1229); 
BgL_auxz00_1296 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1297); } 
BgL_testz00_1291 = 
(((BgL_sfunzf2iinfozf2_bglt)CREF(BgL_auxz00_1296))->BgL_gzf3zf3); } } 
if(BgL_testz00_1291)
{ /* ./Integrate/definition.scm 79 */
BgL_test2923z00_781 = ((bool_t)0); }  else 
{ /* ./Integrate/definition.scm 79 */
BgL_test2923z00_781 = ((bool_t)1); } }  else 
{ /* ./Integrate/definition.scm 78 */
BgL_test2923z00_781 = ((bool_t)0); } } 
if(BgL_test2923z00_781)
{ /* ./Integrate/definition.scm 80 */
obj_t BgL_gz00_782;
{ /* ./Integrate/definition.scm 80 */
BgL_sfunzf2iinfozf2_bglt BgL_obj2842z00_1231;
{ /* ./Integrate/definition.scm 80 */
BgL_valuez00_bglt BgL_auxz00_1302;
{ /* ./Integrate/definition.scm 80 */
BgL_variablez00_bglt BgL_obj1100z00_1230;
BgL_obj1100z00_1230 = 
(BgL_variablez00_bglt)(BgL_fz00_780); 
BgL_auxz00_1302 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1100z00_1230))->BgL_valuez00); } 
BgL_obj2842z00_1231 = 
(BgL_sfunzf2iinfozf2_bglt)(BgL_auxz00_1302); } 
{ 
obj_t BgL_auxz00_1306;
{ /* ./Integrate/definition.scm 80 */
BgL_objectz00_bglt BgL_auxz00_1307;
BgL_auxz00_1307 = 
(BgL_objectz00_bglt)(BgL_obj2842z00_1231); 
BgL_auxz00_1306 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1307); } 
BgL_gz00_782 = 
(((BgL_sfunzf2iinfozf2_bglt)CREF(BgL_auxz00_1306))->BgL_lz00); } } 
{ /* ./Integrate/definition.scm 80 */
BgL_valuez00_bglt BgL_ifuz00_783;
{ /* ./Integrate/definition.scm 81 */
BgL_variablez00_bglt BgL_obj1100z00_1232;
BgL_obj1100z00_1232 = 
(BgL_variablez00_bglt)(BgL_gz00_782); 
BgL_ifuz00_783 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1100z00_1232))->BgL_valuez00); } 
{ /* ./Integrate/definition.scm 81 */

{ /* ./Integrate/definition.scm 84 */
obj_t BgL_arg2925z00_784;
{ /* ./Integrate/definition.scm 84 */
obj_t BgL_arg2928z00_785;
{ /* ./Integrate/definition.scm 84 */
BgL_sfunzf2iinfozf2_bglt BgL_obj2845z00_1233;
BgL_obj2845z00_1233 = 
(BgL_sfunzf2iinfozf2_bglt)(BgL_ifuz00_783); 
{ 
obj_t BgL_auxz00_1314;
{ /* ./Integrate/definition.scm 84 */
BgL_objectz00_bglt BgL_auxz00_1315;
BgL_auxz00_1315 = 
(BgL_objectz00_bglt)(BgL_obj2845z00_1233); 
BgL_auxz00_1314 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1315); } 
BgL_arg2928z00_785 = 
(((BgL_sfunzf2iinfozf2_bglt)CREF(BgL_auxz00_1314))->BgL_ledz00); } } 
BgL_arg2925z00_784 = 
MAKE_PAIR(BgL_fz00_780, BgL_arg2928z00_785); } 
{ /* ./Integrate/definition.scm 82 */
BgL_sfunzf2iinfozf2_bglt BgL_obj2847z00_1234;obj_t BgL_val2846z00_1235;
BgL_obj2847z00_1234 = 
(BgL_sfunzf2iinfozf2_bglt)(BgL_ifuz00_783); 
BgL_val2846z00_1235 = BgL_arg2925z00_784; 
{ 
obj_t BgL_auxz00_1321;
{ /* ./Integrate/definition.scm 82 */
BgL_objectz00_bglt BgL_auxz00_1322;
BgL_auxz00_1322 = 
(BgL_objectz00_bglt)(BgL_obj2847z00_1234); 
BgL_auxz00_1321 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1322); } 
((((BgL_sfunzf2iinfozf2_bglt)CREF(BgL_auxz00_1321))->BgL_ledz00) = ((obj_t)BgL_val2846z00_1235), BUNSPEC); } } } } } }  else 
{ /* ./Integrate/definition.scm 78 */BFALSE; } } } 
{ /* ./Integrate/definition.scm 76 */
obj_t BgL_arg2946z00_790;
BgL_arg2946z00_790 = 
CDR(BgL_l2899z00_777); 
{ 
obj_t BgL_l2899z00_1327;
BgL_l2899z00_1327 = BgL_arg2946z00_790; 
BgL_l2899z00_777 = BgL_l2899z00_1327; 
goto BgL_forzd2each2900zd2_778;} } }  else 
{ /* ./Integrate/definition.scm 76 */((bool_t)1); } } } 
{ 
obj_t BgL_l2901z00_791;
BgL_l2901z00_791 = BgL_gz00_774; 
BgL_forzd2each2902zd2_792:
{ /* ./Integrate/definition.scm 88 */
bool_t BgL_test2951z00_793;
BgL_test2951z00_793 = 
PAIRP(BgL_l2901z00_791); 
if(BgL_test2951z00_793)
{ /* ./Integrate/definition.scm 88 */
{ /* ./Integrate/definition.scm 88 */
obj_t BgL_arg2953z00_794;
BgL_arg2953z00_794 = 
CAR(BgL_l2901z00_791); 
BGl_displacezd2letzd2funz12z12zzintegrate_letzd2funzd2(BgL_arg2953z00_794); } 
{ /* ./Integrate/definition.scm 88 */
obj_t BgL_arg2957z00_795;
BgL_arg2957z00_795 = 
CDR(BgL_l2901z00_791); 
{ 
obj_t BgL_l2901z00_1333;
BgL_l2901z00_1333 = BgL_arg2957z00_795; 
BgL_l2901z00_791 = BgL_l2901z00_1333; 
goto BgL_forzd2each2902zd2_792;} } }  else 
{ /* ./Integrate/definition.scm 88 */((bool_t)1); } } } 
BGl_displacezd2letzd2funz12z12zzintegrate_letzd2funzd2(BgL_globalz00_1); 
BGl_setzd2kapturedz12zc0zzintegrate_kapturedz00(BgL_gz00_774); 
{ /* ./Integrate/definition.scm 97 */
obj_t BgL_newzd2gzd2_796;
{ /* ./Integrate/definition.scm 97 */
bool_t BgL_test2968z00_799;
BgL_test2968z00_799 = 
NULLP(BgL_gz00_774); 
if(BgL_test2968z00_799)
{ /* ./Integrate/definition.scm 97 */
BgL_newzd2gzd2_796 = BNIL; }  else 
{ /* ./Integrate/definition.scm 97 */
obj_t BgL_head2905z00_800;
{ /* ./Integrate/definition.scm 97 */
obj_t BgL_arg2989z00_811;
{ /* ./Integrate/definition.scm 97 */
obj_t BgL_arg2993z00_813;
BgL_arg2993z00_813 = 
CAR(BgL_gz00_774); 
BgL_arg2989z00_811 = 
BGl_localzd2ze3globalz31zzintegrate_localzd2ze3globalz31(
(BgL_localz00_bglt)(BgL_arg2993z00_813)); } 
BgL_head2905z00_800 = 
MAKE_PAIR(BgL_arg2989z00_811, BNIL); } 
{ 
obj_t BgL_l2903z00_801;obj_t BgL_tail2906z00_802;
{ /* ./Integrate/definition.scm 97 */
obj_t BgL_arg2970z00_804;
BgL_arg2970z00_804 = 
CDR(BgL_gz00_774); 
BgL_l2903z00_801 = BgL_arg2970z00_804; 
BgL_tail2906z00_802 = BgL_head2905z00_800; 
BgL_map2904z00_803:
{ /* ./Integrate/definition.scm 97 */
bool_t BgL_test2973z00_805;
BgL_test2973z00_805 = 
NULLP(BgL_l2903z00_801); 
if(BgL_test2973z00_805)
{ /* ./Integrate/definition.scm 97 */
BgL_newzd2gzd2_796 = BgL_head2905z00_800; }  else 
{ /* ./Integrate/definition.scm 97 */
obj_t BgL_newtail2907z00_806;
{ /* ./Integrate/definition.scm 97 */
obj_t BgL_arg2980z00_808;
{ /* ./Integrate/definition.scm 97 */
obj_t BgL_arg2984z00_810;
BgL_arg2984z00_810 = 
CAR(BgL_l2903z00_801); 
BgL_arg2980z00_808 = 
BGl_localzd2ze3globalz31zzintegrate_localzd2ze3globalz31(
(BgL_localz00_bglt)(BgL_arg2984z00_810)); } 
BgL_newtail2907z00_806 = 
MAKE_PAIR(BgL_arg2980z00_808, BNIL); } 
SET_CDR(BgL_tail2906z00_802, BgL_newtail2907z00_806); 
{ /* ./Integrate/definition.scm 97 */
obj_t BgL_arg2976z00_807;
BgL_arg2976z00_807 = 
CDR(BgL_l2903z00_801); 
{ 
obj_t BgL_tail2906z00_1352;obj_t BgL_l2903z00_1351;
BgL_l2903z00_1351 = BgL_arg2976z00_807; 
BgL_tail2906z00_1352 = BgL_newtail2907z00_806; 
BgL_tail2906z00_802 = BgL_tail2906z00_1352; 
BgL_l2903z00_801 = BgL_l2903z00_1351; 
goto BgL_map2904z00_803;} } } } } } } } 
{ /* ./Integrate/definition.scm 98 */
obj_t BgL_arg2964z00_797;
BgL_arg2964z00_797 = 
BGl_globaliza7ez12zb5zzintegrate_nodez00(
(BgL_nodez00_bglt)(BgL_bodyz00_771), 
(BgL_variablez00_bglt)(BgL_globalz00_1), BNIL); 
{ /* ./Integrate/definition.scm 98 */
BgL_sfunz00_bglt BgL_obj1373z00_1252;obj_t BgL_val1371z00_1253;
BgL_obj1373z00_1252 = 
(BgL_sfunz00_bglt)(BgL_funz00_770); 
BgL_val1371z00_1253 = BgL_arg2964z00_797; 
((((BgL_sfunz00_bglt)CREF(BgL_obj1373z00_1252))->BgL_bodyz00) = ((obj_t)BgL_val1371z00_1253), BUNSPEC); } } 
return 
MAKE_PAIR(BgL_globalz00_1, BgL_newzd2gzd2_796);} } } } } } } } } 
}



/* _integrate-definition! */
obj_t BGl__integratezd2definitionz12zc0zzintegrate_definitionz00(obj_t BgL_envz00_1257, obj_t BgL_globalz00_1258)
{ AN_OBJECT;
{ /* ./Integrate/definition.scm 56 */
return 
BGl_integratezd2definitionz12zc0zzintegrate_definitionz00(BgL_globalz00_1258);} 
}



/* verb-globalization */
bool_t BGl_verbzd2globaliza7ationz75zzintegrate_definitionz00(obj_t BgL_gz00_2)
{ AN_OBJECT;
{ /* ./Integrate/definition.scm 105 */
{ 
obj_t BgL_l2908z00_815;
BgL_l2908z00_815 = BgL_gz00_2; 
BgL_forzd2each2909zd2_816:
{ /* ./Integrate/definition.scm 106 */
bool_t BgL_test3006z00_817;
BgL_test3006z00_817 = 
PAIRP(BgL_l2908z00_815); 
if(BgL_test3006z00_817)
{ /* ./Integrate/definition.scm 106 */
{ /* ./Integrate/definition.scm 107 */
obj_t BgL_localz00_818;
BgL_localz00_818 = 
CAR(BgL_l2908z00_815); 
{ /* ./Integrate/definition.scm 107 */
bool_t BgL_test3007z00_820;
BgL_test3007z00_820 = 
BGl_zc3zd3z10zz__r4_numbers_6_5z00(
BINT(((long)3)), BGl_za2verboseza2z00zzengine_paramz00, BNIL); 
if(BgL_test3007z00_820)
{ /* ./Integrate/definition.scm 107 */
obj_t BgL_arg3010z00_822;
BgL_arg3010z00_822 = 
BGl_shapez00zztools_shapez00(BgL_localz00_818); 
{ /* ./Integrate/definition.scm 107 */
obj_t BgL_list3013z00_824;
{ /* ./Integrate/definition.scm 107 */
obj_t BgL_arg3015z00_825;
{ /* ./Integrate/definition.scm 107 */
obj_t BgL_arg3018z00_826;
{ /* ./Integrate/definition.scm 107 */
obj_t BgL_arg3021z00_827;
{ /* ./Integrate/definition.scm 107 */
obj_t BgL_auxz00_1367;
BgL_auxz00_1367 = 
BCHAR(((unsigned char)'\n')); 
BgL_arg3021z00_827 = 
MAKE_PAIR(BgL_auxz00_1367, BNIL); } 
BgL_arg3018z00_826 = 
MAKE_PAIR(BGl_string3470z00zzintegrate_definitionz00, BgL_arg3021z00_827); } 
BgL_arg3015z00_825 = 
MAKE_PAIR(BgL_arg3010z00_822, BgL_arg3018z00_826); } 
BgL_list3013z00_824 = 
MAKE_PAIR(BGl_string3471z00zzintegrate_definitionz00, BgL_arg3015z00_825); } 
BGl_verbosez00zztools_speekz00(
BINT(((long)3)), BgL_list3013z00_824); } }  else 
{ /* ./Integrate/definition.scm 107 */BUNSPEC; } } } 
{ /* ./Integrate/definition.scm 106 */
obj_t BgL_arg3029z00_829;
BgL_arg3029z00_829 = 
CDR(BgL_l2908z00_815); 
{ 
obj_t BgL_l2908z00_1376;
BgL_l2908z00_1376 = BgL_arg3029z00_829; 
BgL_l2908z00_815 = BgL_l2908z00_1376; 
goto BgL_forzd2each2909zd2_816;} } }  else 
{ /* ./Integrate/definition.scm 106 */
return ((bool_t)1);} } } } 
}



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



/* imported-modules-init */
obj_t BGl_importedzd2moduleszd2initz00zzintegrate_definitionz00()
{ AN_OBJECT;
{ /* ./Integrate/definition.scm 15 */
BGl_modulezd2initializa7ationz75zztools_tracez00(((long)59211), "integrate_definition"); 
BGl_modulezd2initializa7ationz75zzengine_paramz00(((long)14260), "integrate_definition"); 
BGl_modulezd2initializa7ationz75zztype_typez00(((long)19090), "integrate_definition"); 
BGl_modulezd2initializa7ationz75zzast_varz00(((long)44246), "integrate_definition"); 
BGl_modulezd2initializa7ationz75zzast_nodez00(((long)50868), "integrate_definition"); 
BGl_modulezd2initializa7ationz75zztools_shapez00(((long)30833), "integrate_definition"); 
BGl_modulezd2initializa7ationz75zztools_speekz00(((long)23537), "integrate_definition"); 
BGl_modulezd2initializa7ationz75zzintegrate_infoz00(((long)0), "integrate_definition"); 
BGl_modulezd2initializa7ationz75zzintegrate_az00(((long)47899), "integrate_definition"); 
BGl_modulezd2initializa7ationz75zzintegrate_kkz00(((long)35958), "integrate_definition"); 
BGl_modulezd2initializa7ationz75zzintegrate_uz00(((long)48492), "integrate_definition"); 
BGl_modulezd2initializa7ationz75zzintegrate_ctnz00(((long)4975), "integrate_definition"); 
BGl_modulezd2initializa7ationz75zzintegrate_gz00(((long)5244), "integrate_definition"); 
BGl_modulezd2initializa7ationz75zzintegrate_kapturedz00(((long)13345), "integrate_definition"); 
BGl_modulezd2initializa7ationz75zzintegrate_letzd2funzd2(((long)59736), "integrate_definition"); 
BGl_modulezd2initializa7ationz75zzintegrate_nodez00(((long)8276), "integrate_definition"); 
return 
BGl_modulezd2initializa7ationz75zzintegrate_localzd2ze3globalz31(((long)5502), "integrate_definition");} 
}

