/*===========================================================================*/
/*   (Integrate/g.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/g.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 bool_t BGl_integratezd2remainingzd2localzd2functionsz12zc0zzintegrate_gz00();
static obj_t BGl_methodzd2initzd2zzintegrate_gz00();
extern obj_t BGl_za2phiza2z00zzintegrate_az00;
BGL_IMPORT bool_t BGl_iszd2azf3z21zz__objectz00(obj_t, obj_t);
static obj_t BGl__Gz12z12zzintegrate_gz00(obj_t, obj_t);
static obj_t BGl_importedzd2moduleszd2initz00zzintegrate_gz00();
extern obj_t BGl_variablez00zzast_varz00;
BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zzintegrate_gz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_tracez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_shapez00(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_modulezd2initializa7ationz75zzintegrate_infoz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzintegrate_az00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__objectz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__readerz00(long, char *);
BGL_EXPORTED_DECL obj_t BGl_Gz12z12zzintegrate_gz00(obj_t);
extern obj_t BGl_localz00zzast_varz00;
static obj_t BGl_requirezd2initializa7ationz75zzintegrate_gz00 = BUNSPEC;
static obj_t BGl_libraryzd2moduleszd2initz00zzintegrate_gz00();
static obj_t *__cnst;


DEFINE_EXPORT_PROCEDURE( BGl_Gz12zd2envzc0zzintegrate_gz00, BgL_bgl__gza712za712za7za7integrate_gza7003551za7, BGl__Gz12z12zzintegrate_gz00, 0L, 1 );



/* module-initialization */
BGL_EXPORTED_DEF obj_t BGl_modulezd2initializa7ationz75zzintegrate_gz00(long BgL_checksumz00_1313, char * BgL_fromz00_1314)
{ AN_OBJECT;
{ 
if(
CBOOL(BGl_requirezd2initializa7ationz75zzintegrate_gz00))
{ 
BGl_requirezd2initializa7ationz75zzintegrate_gz00 = 
BBOOL(((bool_t)0)); 
BGl_libraryzd2moduleszd2initz00zzintegrate_gz00(); 
BGl_importedzd2moduleszd2initz00zzintegrate_gz00(); 
return BUNSPEC;}  else 
{ 
return BUNSPEC;} } 
}



/* library-modules-init */
obj_t BGl_libraryzd2moduleszd2initz00zzintegrate_gz00()
{ AN_OBJECT;
{ /* ./Integrate/g.scm 15 */
BGl_modulezd2initializa7ationz75zz__objectz00(((long)0), "integrate_g"); 
BGl_modulezd2initializa7ationz75zz__readerz00(((long)0), "integrate_g"); 
return BUNSPEC;} 
}



/* G! */
BGL_EXPORTED_DEF obj_t BGl_Gz12z12zzintegrate_gz00(obj_t BgL_gzf2cnzf2_1)
{ AN_OBJECT;
{ /* ./Integrate/g.scm 32 */
{ 
bool_t BgL_stopzf3zf3_769;long BgL_stampz00_770;obj_t BgL_gsz00_771;
BgL_stopzf3zf3_769 = ((bool_t)0); 
BgL_stampz00_770 = ((long)0); 
BgL_gsz00_771 = BgL_gzf2cnzf2_1; 
BgL_loopz00_772:
if(BgL_stopzf3zf3_769)
{ /* ./Integrate/g.scm 37 */
{ 
obj_t BgL_l2899z00_773;
BgL_l2899z00_773 = BGl_za2phiza2z00zzintegrate_az00; 
BgL_forzd2each2900zd2_774:
{ /* ./Integrate/g.scm 41 */
bool_t BgL_test2907z00_775;
BgL_test2907z00_775 = 
PAIRP(BgL_l2899z00_773); 
if(BgL_test2907z00_775)
{ /* ./Integrate/g.scm 41 */
{ /* ./Integrate/g.scm 42 */
obj_t BgL_fz00_776;
BgL_fz00_776 = 
CAR(BgL_l2899z00_773); 
{ /* ./Integrate/g.scm 42 */
bool_t BgL_test2908z00_777;
BgL_test2908z00_777 = 
BGl_iszd2azf3z21zz__objectz00(BgL_fz00_776, BGl_localz00zzast_varz00); 
if(BgL_test2908z00_777)
{ /* ./Integrate/g.scm 43 */
BgL_valuez00_bglt BgL_arg2910z00_778;
{ /* ./Integrate/g.scm 43 */
BgL_variablez00_bglt BgL_obj1100z00_1241;
BgL_obj1100z00_1241 = 
(BgL_variablez00_bglt)(BgL_fz00_776); 
BgL_arg2910z00_778 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1100z00_1241))->BgL_valuez00); } 
{ /* ./Integrate/g.scm 43 */
BgL_sfunzf2iinfozf2_bglt BgL_obj2850z00_1242;obj_t BgL_val2849z00_1243;
BgL_obj2850z00_1242 = 
(BgL_sfunzf2iinfozf2_bglt)(BgL_arg2910z00_778); 
BgL_val2849z00_1243 = 
BINT(((long)-1)); 
{ 
obj_t BgL_auxz00_1332;
{ /* ./Integrate/g.scm 43 */
BgL_objectz00_bglt BgL_auxz00_1333;
BgL_auxz00_1333 = 
(BgL_objectz00_bglt)(BgL_obj2850z00_1242); 
BgL_auxz00_1332 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1333); } 
((((BgL_sfunzf2iinfozf2_bglt)CREF(BgL_auxz00_1332))->BgL_istampz00) = ((obj_t)BgL_val2849z00_1243), BUNSPEC); } } }  else 
{ /* ./Integrate/g.scm 42 */BFALSE; } } } 
{ /* ./Integrate/g.scm 41 */
obj_t BgL_arg2918z00_780;
BgL_arg2918z00_780 = 
CDR(BgL_l2899z00_773); 
{ 
obj_t BgL_l2899z00_1338;
BgL_l2899z00_1338 = BgL_arg2918z00_780; 
BgL_l2899z00_773 = BgL_l2899z00_1338; 
goto BgL_forzd2each2900zd2_774;} } }  else 
{ /* ./Integrate/g.scm 41 */((bool_t)1); } } } 
BGl_integratezd2remainingzd2localzd2functionsz12zc0zzintegrate_gz00(); 
return BgL_gsz00_771;}  else 
{ 
obj_t BgL_phiz00_781;bool_t BgL_stopzf3zf3_782;obj_t BgL_gsz00_783;
BgL_phiz00_781 = BGl_za2phiza2z00zzintegrate_az00; 
BgL_stopzf3zf3_782 = ((bool_t)1); 
BgL_gsz00_783 = BgL_gsz00_771; 
BgL_liipz00_784:
{ /* ./Integrate/g.scm 52 */
bool_t BgL_test2924z00_785;
BgL_test2924z00_785 = 
NULLP(BgL_phiz00_781); 
if(BgL_test2924z00_785)
{ /* ./Integrate/g.scm 53 */
long BgL_arg2926z00_786;
BgL_arg2926z00_786 = 
(BgL_stampz00_770+((long)1)); 
{ 
obj_t BgL_gsz00_1345;long BgL_stampz00_1344;bool_t BgL_stopzf3zf3_1343;
BgL_stopzf3zf3_1343 = BgL_stopzf3zf3_782; 
BgL_stampz00_1344 = BgL_arg2926z00_786; 
BgL_gsz00_1345 = BgL_gsz00_783; 
BgL_gsz00_771 = BgL_gsz00_1345; 
BgL_stampz00_770 = BgL_stampz00_1344; 
BgL_stopzf3zf3_769 = BgL_stopzf3zf3_1343; 
goto BgL_loopz00_772;} }  else 
{ /* ./Integrate/g.scm 54 */
obj_t BgL_fz00_787;
BgL_fz00_787 = 
CAR(BgL_phiz00_781); 
{ /* ./Integrate/g.scm 54 */
BgL_valuez00_bglt BgL_fifz00_788;
{ /* ./Integrate/g.scm 55 */
BgL_variablez00_bglt BgL_obj1100z00_1249;
BgL_obj1100z00_1249 = 
(BgL_variablez00_bglt)(BgL_fz00_787); 
BgL_fifz00_788 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1100z00_1249))->BgL_valuez00); } 
{ /* ./Integrate/g.scm 55 */

{ 
obj_t BgL_ctz00_789;bool_t BgL_stopzf3zf3_790;obj_t BgL_gsz00_791;
{ /* ./Integrate/g.scm 56 */
obj_t BgL_arg2930z00_793;
{ /* ./Integrate/g.scm 56 */
BgL_sfunzf2iinfozf2_bglt BgL_obj2833z00_1250;
BgL_obj2833z00_1250 = 
(BgL_sfunzf2iinfozf2_bglt)(BgL_fifz00_788); 
{ 
obj_t BgL_auxz00_1350;
{ /* ./Integrate/g.scm 56 */
BgL_objectz00_bglt BgL_auxz00_1351;
BgL_auxz00_1351 = 
(BgL_objectz00_bglt)(BgL_obj2833z00_1250); 
BgL_auxz00_1350 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1351); } 
BgL_arg2930z00_793 = 
(((BgL_sfunzf2iinfozf2_bglt)CREF(BgL_auxz00_1350))->BgL_ctz00); } } 
BgL_ctz00_789 = BgL_arg2930z00_793; 
BgL_stopzf3zf3_790 = BgL_stopzf3zf3_782; 
BgL_gsz00_791 = BgL_gsz00_783; 
BgL_laapz00_792:
{ /* ./Integrate/g.scm 59 */
bool_t BgL_test2933z00_794;
BgL_test2933z00_794 = 
NULLP(BgL_ctz00_789); 
if(BgL_test2933z00_794)
{ /* ./Integrate/g.scm 60 */
obj_t BgL_arg2935z00_795;
BgL_arg2935z00_795 = 
CDR(BgL_phiz00_781); 
{ 
obj_t BgL_gsz00_1360;bool_t BgL_stopzf3zf3_1359;obj_t BgL_phiz00_1358;
BgL_phiz00_1358 = BgL_arg2935z00_795; 
BgL_stopzf3zf3_1359 = BgL_stopzf3zf3_790; 
BgL_gsz00_1360 = BgL_gsz00_791; 
BgL_gsz00_783 = BgL_gsz00_1360; 
BgL_stopzf3zf3_782 = BgL_stopzf3zf3_1359; 
BgL_phiz00_781 = BgL_phiz00_1358; 
goto BgL_liipz00_784;} }  else 
{ /* ./Integrate/g.scm 61 */
obj_t BgL_gz00_796;
BgL_gz00_796 = 
CAR(BgL_ctz00_789); 
{ /* ./Integrate/g.scm 61 */
BgL_valuez00_bglt BgL_gifz00_797;
{ /* ./Integrate/g.scm 62 */
BgL_variablez00_bglt BgL_obj1100z00_1254;
BgL_obj1100z00_1254 = 
(BgL_variablez00_bglt)(BgL_gz00_796); 
BgL_gifz00_797 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1100z00_1254))->BgL_valuez00); } 
{ /* ./Integrate/g.scm 62 */

{ /* ./Integrate/g.scm 71 */
bool_t BgL_test2938z00_798;
BgL_test2938z00_798 = 
(BgL_fz00_787==BgL_gz00_796); 
if(BgL_test2938z00_798)
{ /* ./Integrate/g.scm 71 */
{ /* ./Integrate/g.scm 72 */
obj_t BgL_arg2940z00_799;
BgL_arg2940z00_799 = 
CDR(BgL_ctz00_789); 
{ 
obj_t BgL_ctz00_1367;
BgL_ctz00_1367 = BgL_arg2940z00_799; 
BgL_ctz00_789 = BgL_ctz00_1367; 
goto BgL_laapz00_792;} } }  else 
{ /* ./Integrate/g.scm 73 */
bool_t BgL_test2943z00_800;
{ /* ./Integrate/g.scm 73 */
BgL_sfunzf2iinfozf2_bglt BgL_obj2839z00_1256;
BgL_obj2839z00_1256 = 
(BgL_sfunzf2iinfozf2_bglt)(BgL_gifz00_797); 
{ 
obj_t BgL_auxz00_1369;
{ /* ./Integrate/g.scm 73 */
BgL_objectz00_bglt BgL_auxz00_1370;
BgL_auxz00_1370 = 
(BgL_objectz00_bglt)(BgL_obj2839z00_1256); 
BgL_auxz00_1369 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1370); } 
BgL_test2943z00_800 = 
(((BgL_sfunzf2iinfozf2_bglt)CREF(BgL_auxz00_1369))->BgL_gzf3zf3); } } 
if(BgL_test2943z00_800)
{ /* ./Integrate/g.scm 73 */
{ /* ./Integrate/g.scm 74 */
obj_t BgL_arg2946z00_801;
BgL_arg2946z00_801 = 
CDR(BgL_ctz00_789); 
{ 
obj_t BgL_ctz00_1376;
BgL_ctz00_1376 = BgL_arg2946z00_801; 
BgL_ctz00_789 = BgL_ctz00_1376; 
goto BgL_laapz00_792;} } }  else 
{ /* ./Integrate/g.scm 75 */
bool_t BgL_test2949z00_802;
{ /* ./Integrate/g.scm 75 */
BgL_sfunzf2iinfozf2_bglt BgL_obj2839z00_1258;
BgL_obj2839z00_1258 = 
(BgL_sfunzf2iinfozf2_bglt)(BgL_fifz00_788); 
{ 
obj_t BgL_auxz00_1378;
{ /* ./Integrate/g.scm 75 */
BgL_objectz00_bglt BgL_auxz00_1379;
BgL_auxz00_1379 = 
(BgL_objectz00_bglt)(BgL_obj2839z00_1258); 
BgL_auxz00_1378 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1379); } 
BgL_test2949z00_802 = 
(((BgL_sfunzf2iinfozf2_bglt)CREF(BgL_auxz00_1378))->BgL_gzf3zf3); } } 
if(BgL_test2949z00_802)
{ /* ./Integrate/g.scm 75 */
{ /* ./Integrate/g.scm 77 */
bool_t BgL_test2950z00_803;
{ /* ./Integrate/g.scm 77 */
obj_t BgL_arg2974z00_810;
{ /* ./Integrate/g.scm 77 */
BgL_sfunzf2iinfozf2_bglt BgL_obj2842z00_1259;
BgL_obj2842z00_1259 = 
(BgL_sfunzf2iinfozf2_bglt)(BgL_gifz00_797); 
{ 
obj_t BgL_auxz00_1385;
{ /* ./Integrate/g.scm 77 */
BgL_objectz00_bglt BgL_auxz00_1386;
BgL_auxz00_1386 = 
(BgL_objectz00_bglt)(BgL_obj2842z00_1259); 
BgL_auxz00_1385 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1386); } 
BgL_arg2974z00_810 = 
(((BgL_sfunzf2iinfozf2_bglt)CREF(BgL_auxz00_1385))->BgL_lz00); } } 
BgL_test2950z00_803 = 
BGl_iszd2azf3z21zz__objectz00(BgL_arg2974z00_810, BGl_variablez00zzast_varz00); } 
if(BgL_test2950z00_803)
{ /* ./Integrate/g.scm 84 */
bool_t BgL_test2951z00_804;
{ /* ./Integrate/g.scm 84 */
obj_t BgL_auxz00_1392;
{ /* ./Integrate/g.scm 84 */
BgL_sfunzf2iinfozf2_bglt BgL_obj2842z00_1261;
BgL_obj2842z00_1261 = 
(BgL_sfunzf2iinfozf2_bglt)(BgL_gifz00_797); 
{ 
obj_t BgL_auxz00_1394;
{ /* ./Integrate/g.scm 84 */
BgL_objectz00_bglt BgL_auxz00_1395;
BgL_auxz00_1395 = 
(BgL_objectz00_bglt)(BgL_obj2842z00_1261); 
BgL_auxz00_1394 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1395); } 
BgL_auxz00_1392 = 
(((BgL_sfunzf2iinfozf2_bglt)CREF(BgL_auxz00_1394))->BgL_lz00); } } 
BgL_test2951z00_804 = 
(BgL_auxz00_1392==BgL_fz00_787); } 
if(BgL_test2951z00_804)
{ /* ./Integrate/g.scm 84 */
{ /* ./Integrate/g.scm 85 */
obj_t BgL_arg2953z00_805;
BgL_arg2953z00_805 = 
CDR(BgL_ctz00_789); 
{ 
obj_t BgL_ctz00_1402;
BgL_ctz00_1402 = BgL_arg2953z00_805; 
BgL_ctz00_789 = BgL_ctz00_1402; 
goto BgL_laapz00_792;} } }  else 
{ /* ./Integrate/g.scm 84 */
{ /* ./Integrate/g.scm 87 */
BgL_sfunzf2iinfozf2_bglt BgL_obj2841z00_1263;bool_t BgL_val2840z00_1264;
BgL_obj2841z00_1263 = 
(BgL_sfunzf2iinfozf2_bglt)(BgL_gifz00_797); 
BgL_val2840z00_1264 = ((bool_t)1); 
{ 
obj_t BgL_auxz00_1404;
{ /* ./Integrate/g.scm 87 */
BgL_objectz00_bglt BgL_auxz00_1405;
BgL_auxz00_1405 = 
(BgL_objectz00_bglt)(BgL_obj2841z00_1263); 
BgL_auxz00_1404 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1405); } 
((((BgL_sfunzf2iinfozf2_bglt)CREF(BgL_auxz00_1404))->BgL_gzf3zf3) = ((bool_t)BgL_val2840z00_1264), BUNSPEC); } } 
{ /* ./Integrate/g.scm 91 */
obj_t BgL_arg2959z00_806;obj_t BgL_arg2960z00_807;
BgL_arg2959z00_806 = 
CDR(BgL_ctz00_789); 
BgL_arg2960z00_807 = 
MAKE_PAIR(BgL_gz00_796, BgL_gsz00_791); 
{ 
obj_t BgL_gsz00_1413;bool_t BgL_stopzf3zf3_1412;obj_t BgL_ctz00_1411;
BgL_ctz00_1411 = BgL_arg2959z00_806; 
BgL_stopzf3zf3_1412 = ((bool_t)0); 
BgL_gsz00_1413 = BgL_arg2960z00_807; 
BgL_gsz00_791 = BgL_gsz00_1413; 
BgL_stopzf3zf3_790 = BgL_stopzf3zf3_1412; 
BgL_ctz00_789 = BgL_ctz00_1411; 
goto BgL_laapz00_792;} } } }  else 
{ /* ./Integrate/g.scm 77 */
{ /* ./Integrate/g.scm 82 */
BgL_sfunzf2iinfozf2_bglt BgL_obj2844z00_1266;obj_t BgL_val2843z00_1267;
BgL_obj2844z00_1266 = 
(BgL_sfunzf2iinfozf2_bglt)(BgL_gifz00_797); 
BgL_val2843z00_1267 = BgL_fz00_787; 
{ 
obj_t BgL_auxz00_1415;
{ /* ./Integrate/g.scm 82 */
BgL_objectz00_bglt BgL_auxz00_1416;
BgL_auxz00_1416 = 
(BgL_objectz00_bglt)(BgL_obj2844z00_1266); 
BgL_auxz00_1415 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1416); } 
((((BgL_sfunzf2iinfozf2_bglt)CREF(BgL_auxz00_1415))->BgL_lz00) = ((obj_t)BgL_val2843z00_1267), BUNSPEC); } } 
{ /* ./Integrate/g.scm 83 */
obj_t BgL_arg2970z00_809;
BgL_arg2970z00_809 = 
CDR(BgL_ctz00_789); 
{ 
bool_t BgL_stopzf3zf3_1422;obj_t BgL_ctz00_1421;
BgL_ctz00_1421 = BgL_arg2970z00_809; 
BgL_stopzf3zf3_1422 = ((bool_t)0); 
BgL_stopzf3zf3_790 = BgL_stopzf3zf3_1422; 
BgL_ctz00_789 = BgL_ctz00_1421; 
goto BgL_laapz00_792;} } } } }  else 
{ /* ./Integrate/g.scm 92 */
bool_t BgL_test2977z00_811;
{ /* ./Integrate/g.scm 92 */
obj_t BgL_arg3037z00_832;
{ /* ./Integrate/g.scm 92 */
BgL_sfunzf2iinfozf2_bglt BgL_obj2842z00_1269;
BgL_obj2842z00_1269 = 
(BgL_sfunzf2iinfozf2_bglt)(BgL_gifz00_797); 
{ 
obj_t BgL_auxz00_1424;
{ /* ./Integrate/g.scm 92 */
BgL_objectz00_bglt BgL_auxz00_1425;
BgL_auxz00_1425 = 
(BgL_objectz00_bglt)(BgL_obj2842z00_1269); 
BgL_auxz00_1424 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1425); } 
BgL_arg3037z00_832 = 
(((BgL_sfunzf2iinfozf2_bglt)CREF(BgL_auxz00_1424))->BgL_lz00); } } 
BgL_test2977z00_811 = 
BGl_iszd2azf3z21zz__objectz00(BgL_arg3037z00_832, BGl_variablez00zzast_varz00); } 
if(BgL_test2977z00_811)
{ /* ./Integrate/g.scm 116 */
bool_t BgL_test2978z00_812;
{ /* ./Integrate/g.scm 116 */
obj_t BgL_arg3007z00_821;
{ /* ./Integrate/g.scm 116 */
BgL_sfunzf2iinfozf2_bglt BgL_obj2842z00_1271;
BgL_obj2842z00_1271 = 
(BgL_sfunzf2iinfozf2_bglt)(BgL_fifz00_788); 
{ 
obj_t BgL_auxz00_1432;
{ /* ./Integrate/g.scm 116 */
BgL_objectz00_bglt BgL_auxz00_1433;
BgL_auxz00_1433 = 
(BgL_objectz00_bglt)(BgL_obj2842z00_1271); 
BgL_auxz00_1432 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1433); } 
BgL_arg3007z00_821 = 
(((BgL_sfunzf2iinfozf2_bglt)CREF(BgL_auxz00_1432))->BgL_lz00); } } 
BgL_test2978z00_812 = 
BGl_iszd2azf3z21zz__objectz00(BgL_arg3007z00_821, BGl_variablez00zzast_varz00); } 
if(BgL_test2978z00_812)
{ /* ./Integrate/g.scm 124 */
bool_t BgL_test2979z00_813;
{ /* ./Integrate/g.scm 124 */
obj_t BgL_auxz00_1446;obj_t BgL_auxz00_1439;
{ /* ./Integrate/g.scm 124 */
BgL_sfunzf2iinfozf2_bglt BgL_obj2842z00_1274;
BgL_obj2842z00_1274 = 
(BgL_sfunzf2iinfozf2_bglt)(BgL_gifz00_797); 
{ 
obj_t BgL_auxz00_1448;
{ /* ./Integrate/g.scm 124 */
BgL_objectz00_bglt BgL_auxz00_1449;
BgL_auxz00_1449 = 
(BgL_objectz00_bglt)(BgL_obj2842z00_1274); 
BgL_auxz00_1448 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1449); } 
BgL_auxz00_1446 = 
(((BgL_sfunzf2iinfozf2_bglt)CREF(BgL_auxz00_1448))->BgL_lz00); } } 
{ /* ./Integrate/g.scm 124 */
BgL_sfunzf2iinfozf2_bglt BgL_obj2842z00_1273;
BgL_obj2842z00_1273 = 
(BgL_sfunzf2iinfozf2_bglt)(BgL_fifz00_788); 
{ 
obj_t BgL_auxz00_1441;
{ /* ./Integrate/g.scm 124 */
BgL_objectz00_bglt BgL_auxz00_1442;
BgL_auxz00_1442 = 
(BgL_objectz00_bglt)(BgL_obj2842z00_1273); 
BgL_auxz00_1441 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1442); } 
BgL_auxz00_1439 = 
(((BgL_sfunzf2iinfozf2_bglt)CREF(BgL_auxz00_1441))->BgL_lz00); } } 
BgL_test2979z00_813 = 
(BgL_auxz00_1439==BgL_auxz00_1446); } 
if(BgL_test2979z00_813)
{ /* ./Integrate/g.scm 124 */
{ /* ./Integrate/g.scm 128 */
obj_t BgL_arg2981z00_814;
BgL_arg2981z00_814 = 
CDR(BgL_ctz00_789); 
{ 
obj_t BgL_ctz00_1456;
BgL_ctz00_1456 = BgL_arg2981z00_814; 
BgL_ctz00_789 = BgL_ctz00_1456; 
goto BgL_laapz00_792;} } }  else 
{ /* ./Integrate/g.scm 124 */
{ /* ./Integrate/g.scm 130 */
BgL_sfunzf2iinfozf2_bglt BgL_obj2841z00_1276;bool_t BgL_val2840z00_1277;
BgL_obj2841z00_1276 = 
(BgL_sfunzf2iinfozf2_bglt)(BgL_gifz00_797); 
BgL_val2840z00_1277 = ((bool_t)1); 
{ 
obj_t BgL_auxz00_1458;
{ /* ./Integrate/g.scm 130 */
BgL_objectz00_bglt BgL_auxz00_1459;
BgL_auxz00_1459 = 
(BgL_objectz00_bglt)(BgL_obj2841z00_1276); 
BgL_auxz00_1458 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1459); } 
((((BgL_sfunzf2iinfozf2_bglt)CREF(BgL_auxz00_1458))->BgL_gzf3zf3) = ((bool_t)BgL_val2840z00_1277), BUNSPEC); } } 
{ /* ./Integrate/g.scm 133 */
obj_t BgL_arg2986z00_815;obj_t BgL_arg2987z00_816;
BgL_arg2986z00_815 = 
CDR(BgL_ctz00_789); 
BgL_arg2987z00_816 = 
MAKE_PAIR(BgL_gz00_796, BgL_gsz00_791); 
{ 
obj_t BgL_gsz00_1467;bool_t BgL_stopzf3zf3_1466;obj_t BgL_ctz00_1465;
BgL_ctz00_1465 = BgL_arg2986z00_815; 
BgL_stopzf3zf3_1466 = ((bool_t)0); 
BgL_gsz00_1467 = BgL_arg2987z00_816; 
BgL_gsz00_791 = BgL_gsz00_1467; 
BgL_stopzf3zf3_790 = BgL_stopzf3zf3_1466; 
BgL_ctz00_789 = BgL_ctz00_1465; 
goto BgL_laapz00_792;} } } }  else 
{ /* ./Integrate/g.scm 116 */
{ /* ./Integrate/g.scm 122 */
obj_t BgL_arg2998z00_819;
{ /* ./Integrate/g.scm 122 */
BgL_sfunzf2iinfozf2_bglt BgL_obj2842z00_1279;
BgL_obj2842z00_1279 = 
(BgL_sfunzf2iinfozf2_bglt)(BgL_gifz00_797); 
{ 
obj_t BgL_auxz00_1469;
{ /* ./Integrate/g.scm 122 */
BgL_objectz00_bglt BgL_auxz00_1470;
BgL_auxz00_1470 = 
(BgL_objectz00_bglt)(BgL_obj2842z00_1279); 
BgL_auxz00_1469 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1470); } 
BgL_arg2998z00_819 = 
(((BgL_sfunzf2iinfozf2_bglt)CREF(BgL_auxz00_1469))->BgL_lz00); } } 
{ /* ./Integrate/g.scm 122 */
BgL_sfunzf2iinfozf2_bglt BgL_obj2844z00_1280;obj_t BgL_val2843z00_1281;
BgL_obj2844z00_1280 = 
(BgL_sfunzf2iinfozf2_bglt)(BgL_fifz00_788); 
BgL_val2843z00_1281 = BgL_arg2998z00_819; 
{ 
obj_t BgL_auxz00_1475;
{ /* ./Integrate/g.scm 122 */
BgL_objectz00_bglt BgL_auxz00_1476;
BgL_auxz00_1476 = 
(BgL_objectz00_bglt)(BgL_obj2844z00_1280); 
BgL_auxz00_1475 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1476); } 
((((BgL_sfunzf2iinfozf2_bglt)CREF(BgL_auxz00_1475))->BgL_lz00) = ((obj_t)BgL_val2843z00_1281), BUNSPEC); } } } 
{ /* ./Integrate/g.scm 123 */
obj_t BgL_arg3002z00_820;
BgL_arg3002z00_820 = 
CDR(BgL_ctz00_789); 
{ 
bool_t BgL_stopzf3zf3_1482;obj_t BgL_ctz00_1481;
BgL_ctz00_1481 = BgL_arg3002z00_820; 
BgL_stopzf3zf3_1482 = ((bool_t)0); 
BgL_stopzf3zf3_790 = BgL_stopzf3zf3_1482; 
BgL_ctz00_789 = BgL_ctz00_1481; 
goto BgL_laapz00_792;} } } }  else 
{ /* ./Integrate/g.scm 92 */
{ /* ./Integrate/g.scm 94 */
bool_t BgL_test3010z00_822;
{ /* ./Integrate/g.scm 94 */
obj_t BgL_arg3033z00_831;
{ /* ./Integrate/g.scm 94 */
BgL_sfunzf2iinfozf2_bglt BgL_obj2842z00_1283;
BgL_obj2842z00_1283 = 
(BgL_sfunzf2iinfozf2_bglt)(BgL_fifz00_788); 
{ 
obj_t BgL_auxz00_1484;
{ /* ./Integrate/g.scm 94 */
BgL_objectz00_bglt BgL_auxz00_1485;
BgL_auxz00_1485 = 
(BgL_objectz00_bglt)(BgL_obj2842z00_1283); 
BgL_auxz00_1484 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1485); } 
BgL_arg3033z00_831 = 
(((BgL_sfunzf2iinfozf2_bglt)CREF(BgL_auxz00_1484))->BgL_lz00); } } 
BgL_test3010z00_822 = 
BGl_iszd2azf3z21zz__objectz00(BgL_arg3033z00_831, BGl_variablez00zzast_varz00); } 
if(BgL_test3010z00_822)
{ /* ./Integrate/g.scm 94 */
{ /* ./Integrate/g.scm 95 */
obj_t BgL_arg3012z00_823;
{ /* ./Integrate/g.scm 95 */
BgL_sfunzf2iinfozf2_bglt BgL_obj2842z00_1285;
BgL_obj2842z00_1285 = 
(BgL_sfunzf2iinfozf2_bglt)(BgL_fifz00_788); 
{ 
obj_t BgL_auxz00_1492;
{ /* ./Integrate/g.scm 95 */
BgL_objectz00_bglt BgL_auxz00_1493;
BgL_auxz00_1493 = 
(BgL_objectz00_bglt)(BgL_obj2842z00_1285); 
BgL_auxz00_1492 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1493); } 
BgL_arg3012z00_823 = 
(((BgL_sfunzf2iinfozf2_bglt)CREF(BgL_auxz00_1492))->BgL_lz00); } } 
{ /* ./Integrate/g.scm 95 */
BgL_sfunzf2iinfozf2_bglt BgL_obj2844z00_1286;obj_t BgL_val2843z00_1287;
BgL_obj2844z00_1286 = 
(BgL_sfunzf2iinfozf2_bglt)(BgL_gifz00_797); 
BgL_val2843z00_1287 = BgL_arg3012z00_823; 
{ 
obj_t BgL_auxz00_1498;
{ /* ./Integrate/g.scm 95 */
BgL_objectz00_bglt BgL_auxz00_1499;
BgL_auxz00_1499 = 
(BgL_objectz00_bglt)(BgL_obj2844z00_1286); 
BgL_auxz00_1498 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1499); } 
((((BgL_sfunzf2iinfozf2_bglt)CREF(BgL_auxz00_1498))->BgL_lz00) = ((obj_t)BgL_val2843z00_1287), BUNSPEC); } } } 
{ /* ./Integrate/g.scm 101 */
obj_t BgL_arg3016z00_824;
BgL_arg3016z00_824 = 
CDR(BgL_ctz00_789); 
{ 
bool_t BgL_stopzf3zf3_1505;obj_t BgL_ctz00_1504;
BgL_ctz00_1504 = BgL_arg3016z00_824; 
BgL_stopzf3zf3_1505 = ((bool_t)0); 
BgL_stopzf3zf3_790 = BgL_stopzf3zf3_1505; 
BgL_ctz00_789 = BgL_ctz00_1504; 
goto BgL_laapz00_792;} } }  else 
{ /* ./Integrate/g.scm 94 */
{ /* ./Integrate/g.scm 103 */
bool_t BgL_stopzf3zf3_825;
if(BgL_stopzf3zf3_790)
{ /* ./Integrate/g.scm 105 */
bool_t BgL_testz00_1507;
{ /* ./Integrate/g.scm 105 */
obj_t BgL_auxz00_1508;
{ /* ./Integrate/g.scm 105 */
BgL_sfunzf2iinfozf2_bglt BgL_obj2848z00_1289;
BgL_obj2848z00_1289 = 
(BgL_sfunzf2iinfozf2_bglt)(BgL_fifz00_788); 
{ 
obj_t BgL_auxz00_1510;
{ /* ./Integrate/g.scm 105 */
BgL_objectz00_bglt BgL_auxz00_1511;
BgL_auxz00_1511 = 
(BgL_objectz00_bglt)(BgL_obj2848z00_1289); 
BgL_auxz00_1510 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1511); } 
BgL_auxz00_1508 = 
(((BgL_sfunzf2iinfozf2_bglt)CREF(BgL_auxz00_1510))->BgL_istampz00); } } 
BgL_testz00_1507 = 
INTEGERP(BgL_auxz00_1508); } 
if(BgL_testz00_1507)
{ /* ./Integrate/g.scm 107 */
long BgL_auxz00_1516;
{ /* ./Integrate/g.scm 108 */
obj_t BgL_auxz00_1517;
{ /* ./Integrate/g.scm 107 */
BgL_sfunzf2iinfozf2_bglt BgL_obj2848z00_1291;
BgL_obj2848z00_1291 = 
(BgL_sfunzf2iinfozf2_bglt)(BgL_fifz00_788); 
{ 
obj_t BgL_auxz00_1519;
{ /* ./Integrate/g.scm 107 */
BgL_objectz00_bglt BgL_auxz00_1520;
BgL_auxz00_1520 = 
(BgL_objectz00_bglt)(BgL_obj2848z00_1291); 
BgL_auxz00_1519 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1520); } 
BgL_auxz00_1517 = 
(((BgL_sfunzf2iinfozf2_bglt)CREF(BgL_auxz00_1519))->BgL_istampz00); } } 
BgL_auxz00_1516 = 
(long)CINT(BgL_auxz00_1517); } 
BgL_stopzf3zf3_825 = 
(BgL_auxz00_1516<=BgL_stampz00_770); }  else 
{ /* ./Integrate/g.scm 105 */
BgL_stopzf3zf3_825 = ((bool_t)0); } }  else 
{ /* ./Integrate/g.scm 103 */
BgL_stopzf3zf3_825 = ((bool_t)0); } 
{ /* ./Integrate/g.scm 114 */
BgL_sfunzf2iinfozf2_bglt BgL_obj2850z00_1294;obj_t BgL_val2849z00_1295;
BgL_obj2850z00_1294 = 
(BgL_sfunzf2iinfozf2_bglt)(BgL_fifz00_788); 
BgL_val2849z00_1295 = 
BINT(BgL_stampz00_770); 
{ 
obj_t BgL_auxz00_1528;
{ /* ./Integrate/g.scm 114 */
BgL_objectz00_bglt BgL_auxz00_1529;
BgL_auxz00_1529 = 
(BgL_objectz00_bglt)(BgL_obj2850z00_1294); 
BgL_auxz00_1528 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1529); } 
((((BgL_sfunzf2iinfozf2_bglt)CREF(BgL_auxz00_1528))->BgL_istampz00) = ((obj_t)BgL_val2849z00_1295), BUNSPEC); } } 
{ /* ./Integrate/g.scm 115 */
obj_t BgL_arg3021z00_826;
BgL_arg3021z00_826 = 
CDR(BgL_ctz00_789); 
{ 
bool_t BgL_stopzf3zf3_1535;obj_t BgL_ctz00_1534;
BgL_ctz00_1534 = BgL_arg3021z00_826; 
BgL_stopzf3zf3_1535 = BgL_stopzf3zf3_825; 
BgL_stopzf3zf3_790 = BgL_stopzf3zf3_1535; 
BgL_ctz00_789 = BgL_ctz00_1534; 
goto BgL_laapz00_792;} } } } } } } } } } } } } } } } } } } } } } } 
}



/* _G! */
obj_t BGl__Gz12z12zzintegrate_gz00(obj_t BgL_envz00_1311, obj_t BgL_gzf2cnzf2_1312)
{ AN_OBJECT;
{ /* ./Integrate/g.scm 32 */
return 
BGl_Gz12z12zzintegrate_gz00(BgL_gzf2cnzf2_1312);} 
}



/* integrate-remaining-local-functions! */
bool_t BGl_integratezd2remainingzd2localzd2functionsz12zc0zzintegrate_gz00()
{ AN_OBJECT;
{ /* ./Integrate/g.scm 143 */
{ 
obj_t BgL_l2903z00_833;
BgL_l2903z00_833 = BGl_za2phiza2z00zzintegrate_az00; 
BgL_forzd2each2904zd2_834:
{ /* ./Integrate/g.scm 144 */
bool_t BgL_test3050z00_835;
BgL_test3050z00_835 = 
PAIRP(BgL_l2903z00_833); 
if(BgL_test3050z00_835)
{ /* ./Integrate/g.scm 144 */
{ /* ./Integrate/g.scm 145 */
obj_t BgL_fz00_836;
BgL_fz00_836 = 
CAR(BgL_l2903z00_833); 
{ /* ./Integrate/g.scm 145 */
bool_t BgL_test3051z00_837;
{ /* ./Integrate/g.scm 145 */
bool_t BgL_test3061z00_841;
BgL_test3061z00_841 = 
BGl_iszd2azf3z21zz__objectz00(BgL_fz00_836, BGl_localz00zzast_varz00); 
if(BgL_test3061z00_841)
{ /* ./Integrate/g.scm 146 */
bool_t BgL_test3062z00_842;
{ /* ./Integrate/g.scm 146 */
BgL_sfunzf2iinfozf2_bglt BgL_obj2839z00_1301;
{ /* ./Integrate/g.scm 146 */
BgL_valuez00_bglt BgL_auxz00_1542;
{ /* ./Integrate/g.scm 146 */
BgL_variablez00_bglt BgL_obj1100z00_1300;
BgL_obj1100z00_1300 = 
(BgL_variablez00_bglt)(BgL_fz00_836); 
BgL_auxz00_1542 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1100z00_1300))->BgL_valuez00); } 
BgL_obj2839z00_1301 = 
(BgL_sfunzf2iinfozf2_bglt)(BgL_auxz00_1542); } 
{ 
obj_t BgL_auxz00_1546;
{ /* ./Integrate/g.scm 146 */
BgL_objectz00_bglt BgL_auxz00_1547;
BgL_auxz00_1547 = 
(BgL_objectz00_bglt)(BgL_obj2839z00_1301); 
BgL_auxz00_1546 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1547); } 
BgL_test3062z00_842 = 
(((BgL_sfunzf2iinfozf2_bglt)CREF(BgL_auxz00_1546))->BgL_gzf3zf3); } } 
if(BgL_test3062z00_842)
{ /* ./Integrate/g.scm 146 */
BgL_test3051z00_837 = ((bool_t)0); }  else 
{ /* ./Integrate/g.scm 147 */
bool_t BgL_test3063z00_843;
{ /* ./Integrate/g.scm 147 */
obj_t BgL_arg3065z00_844;
{ /* ./Integrate/g.scm 147 */
BgL_sfunzf2iinfozf2_bglt BgL_obj2842z00_1303;
{ /* ./Integrate/g.scm 147 */
BgL_valuez00_bglt BgL_auxz00_1552;
{ /* ./Integrate/g.scm 147 */
BgL_variablez00_bglt BgL_obj1100z00_1302;
BgL_obj1100z00_1302 = 
(BgL_variablez00_bglt)(BgL_fz00_836); 
BgL_auxz00_1552 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1100z00_1302))->BgL_valuez00); } 
BgL_obj2842z00_1303 = 
(BgL_sfunzf2iinfozf2_bglt)(BgL_auxz00_1552); } 
{ 
obj_t BgL_auxz00_1556;
{ /* ./Integrate/g.scm 147 */
BgL_objectz00_bglt BgL_auxz00_1557;
BgL_auxz00_1557 = 
(BgL_objectz00_bglt)(BgL_obj2842z00_1303); 
BgL_auxz00_1556 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1557); } 
BgL_arg3065z00_844 = 
(((BgL_sfunzf2iinfozf2_bglt)CREF(BgL_auxz00_1556))->BgL_lz00); } } 
BgL_test3063z00_843 = 
BGl_iszd2azf3z21zz__objectz00(BgL_arg3065z00_844, BGl_variablez00zzast_varz00); } 
if(BgL_test3063z00_843)
{ /* ./Integrate/g.scm 147 */
BgL_test3051z00_837 = ((bool_t)0); }  else 
{ /* ./Integrate/g.scm 147 */
BgL_test3051z00_837 = ((bool_t)1); } } }  else 
{ /* ./Integrate/g.scm 145 */
BgL_test3051z00_837 = ((bool_t)0); } } 
if(BgL_test3051z00_837)
{ /* ./Integrate/g.scm 145 */
{ /* ./Integrate/g.scm 153 */
BgL_valuez00_bglt BgL_arg3053z00_838;obj_t BgL_arg3054z00_839;
{ /* ./Integrate/g.scm 153 */
BgL_variablez00_bglt BgL_obj1100z00_1305;
BgL_obj1100z00_1305 = 
(BgL_variablez00_bglt)(BgL_fz00_836); 
BgL_arg3053z00_838 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1100z00_1305))->BgL_valuez00); } 
{ /* ./Integrate/g.scm 154 */
BgL_sfunzf2iinfozf2_bglt BgL_obj2806z00_1307;
{ /* ./Integrate/g.scm 154 */
BgL_valuez00_bglt BgL_auxz00_1566;
{ /* ./Integrate/g.scm 154 */
BgL_variablez00_bglt BgL_obj1100z00_1306;
BgL_obj1100z00_1306 = 
(BgL_variablez00_bglt)(BgL_fz00_836); 
BgL_auxz00_1566 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1100z00_1306))->BgL_valuez00); } 
BgL_obj2806z00_1307 = 
(BgL_sfunzf2iinfozf2_bglt)(BgL_auxz00_1566); } 
{ 
obj_t BgL_auxz00_1570;
{ /* ./Integrate/g.scm 154 */
BgL_objectz00_bglt BgL_auxz00_1571;
BgL_auxz00_1571 = 
(BgL_objectz00_bglt)(BgL_obj2806z00_1307); 
BgL_auxz00_1570 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1571); } 
BgL_arg3054z00_839 = 
(((BgL_sfunzf2iinfozf2_bglt)CREF(BgL_auxz00_1570))->BgL_ownerz00); } } 
{ /* ./Integrate/g.scm 153 */
BgL_sfunzf2iinfozf2_bglt BgL_obj2844z00_1308;obj_t BgL_val2843z00_1309;
BgL_obj2844z00_1308 = 
(BgL_sfunzf2iinfozf2_bglt)(BgL_arg3053z00_838); 
BgL_val2843z00_1309 = BgL_arg3054z00_839; 
{ 
obj_t BgL_auxz00_1576;
{ /* ./Integrate/g.scm 153 */
BgL_objectz00_bglt BgL_auxz00_1577;
BgL_auxz00_1577 = 
(BgL_objectz00_bglt)(BgL_obj2844z00_1308); 
BgL_auxz00_1576 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1577); } 
((((BgL_sfunzf2iinfozf2_bglt)CREF(BgL_auxz00_1576))->BgL_lz00) = ((obj_t)BgL_val2843z00_1309), BUNSPEC); } } } }  else 
{ /* ./Integrate/g.scm 145 */BFALSE; } } } 
{ /* ./Integrate/g.scm 144 */
obj_t BgL_arg3078z00_847;
BgL_arg3078z00_847 = 
CDR(BgL_l2903z00_833); 
{ 
obj_t BgL_l2903z00_1582;
BgL_l2903z00_1582 = BgL_arg3078z00_847; 
BgL_l2903z00_833 = BgL_l2903z00_1582; 
goto BgL_forzd2each2904zd2_834;} } }  else 
{ /* ./Integrate/g.scm 144 */
return ((bool_t)1);} } } } 
}



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



/* imported-modules-init */
obj_t BGl_importedzd2moduleszd2initz00zzintegrate_gz00()
{ AN_OBJECT;
{ /* ./Integrate/g.scm 15 */
BGl_modulezd2initializa7ationz75zztools_tracez00(((long)59211), "integrate_g"); 
BGl_modulezd2initializa7ationz75zztools_shapez00(((long)30833), "integrate_g"); 
BGl_modulezd2initializa7ationz75zztype_typez00(((long)19090), "integrate_g"); 
BGl_modulezd2initializa7ationz75zzast_varz00(((long)44246), "integrate_g"); 
BGl_modulezd2initializa7ationz75zzast_nodez00(((long)50868), "integrate_g"); 
BGl_modulezd2initializa7ationz75zzintegrate_infoz00(((long)0), "integrate_g"); 
return 
BGl_modulezd2initializa7ationz75zzintegrate_az00(((long)47899), "integrate_g");} 
}

