/*===========================================================================*/
/*   (Integrate/kk.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/kk.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_kkz00();
BGL_IMPORT obj_t open_input_string(obj_t);
BGL_IMPORT obj_t BGl_readz00zz__readerz00(obj_t);
static obj_t BGl_cnstzd2initzd2zzintegrate_kkz00();
BGL_EXPORTED_DECL obj_t BGl_Kza2z12zb0zzintegrate_kkz00(obj_t);
static obj_t BGl_importedzd2moduleszd2initz00zzintegrate_kkz00();
static obj_t BGl_Kze21z12zf0zzintegrate_kkz00(obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zzintegrate_kkz00(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__readerz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_pairs_and_lists_6_3z00(long, char *);
static obj_t BGl_Kze22z12zf0zzintegrate_kkz00(obj_t, obj_t);
BGL_IMPORT obj_t BGl_memqz00zz__r4_pairs_and_lists_6_3z00(obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_Kz12z12zzintegrate_kkz00(obj_t, BgL_globalz00_bglt);
static obj_t BGl__Kz123483z12zzintegrate_kkz00(obj_t, obj_t, obj_t);
static obj_t BGl_requirezd2initializa7ationz75zzintegrate_kkz00 = BUNSPEC;
static obj_t BGl_libraryzd2moduleszd2initz00zzintegrate_kkz00();
static obj_t BGl__Kza2z12zb0zzintegrate_kkz00(obj_t, obj_t);
static obj_t __cnst[ 2 ] ;


DEFINE_STRING( BGl_string3534z00zzintegrate_kkz00, BgL_bgl_string3534za700za7za7integrate_kkza7003559z00, "tail bottom ", 12 );
DEFINE_EXPORT_PROCEDURE( BGl_Kza2z12zd2envz62zzintegrate_kkz00, BgL_bgl__kza7a2za712za7b0za7za7integrate_kkza7003560z00, BGl__Kza2z12zb0zzintegrate_kkz00, 0L, 1 );
DEFINE_EXPORT_PROCEDURE( BGl_Kz12zd2envzc0zzintegrate_kkz00, BgL_bgl__kza7123483za712za7za7integrate_kkza7003561za7, BGl__Kz123483z12zzintegrate_kkz00, 0L, 2 );



/* module-initialization */
BGL_EXPORTED_DEF obj_t BGl_modulezd2initializa7ationz75zzintegrate_kkz00(long BgL_checksumz00_1341, char * BgL_fromz00_1342)
{ AN_OBJECT;
{ 
if(
CBOOL(BGl_requirezd2initializa7ationz75zzintegrate_kkz00))
{ 
BGl_requirezd2initializa7ationz75zzintegrate_kkz00 = 
BBOOL(((bool_t)0)); 
BGl_libraryzd2moduleszd2initz00zzintegrate_kkz00(); 
BGl_cnstzd2initzd2zzintegrate_kkz00(); 
BGl_importedzd2moduleszd2initz00zzintegrate_kkz00(); 
return BUNSPEC;}  else 
{ 
return BUNSPEC;} } 
}



/* library-modules-init */
obj_t BGl_libraryzd2moduleszd2initz00zzintegrate_kkz00()
{ AN_OBJECT;
{ /* ./Integrate/kk.scm 15 */
BGl_modulezd2initializa7ationz75zz__readerz00(((long)0), "integrate_kk"); 
BGl_modulezd2initializa7ationz75zz__r4_pairs_and_lists_6_3z00(((long)0), "integrate_kk"); 
return BUNSPEC;} 
}



/* cnst-init */
obj_t BGl_cnstzd2initzd2zzintegrate_kkz00()
{ AN_OBJECT;
{ /* ./Integrate/kk.scm 15 */
{ /* ./Integrate/kk.scm 15 */
obj_t BgL_cportz00_1334;
BgL_cportz00_1334 = 
open_input_string(BGl_string3534z00zzintegrate_kkz00); 
{ 
long BgL_iz00_1335;
BgL_iz00_1335 = ((long)1); 
BgL_loopz00_1336:
{ /* ./Integrate/kk.scm 15 */
bool_t BgL_test3536z00_1337;
BgL_test3536z00_1337 = 
(BgL_iz00_1335==((long)-1)); 
if(BgL_test3536z00_1337)
{ /* ./Integrate/kk.scm 15 */
return BUNSPEC;}  else 
{ /* ./Integrate/kk.scm 15 */
{ /* ./Integrate/kk.scm 15 */
obj_t BgL_arg3538z00_1338;
{ /* ./Integrate/kk.scm 15 */
obj_t BgL_list3541z00_1339;
BgL_list3541z00_1339 = 
MAKE_PAIR(BgL_cportz00_1334, BNIL); 
BgL_arg3538z00_1338 = 
BGl_readz00zz__readerz00(BgL_list3541z00_1339); } 
{ /* ./Integrate/kk.scm 15 */
int BgL_auxz00_1356;
BgL_auxz00_1356 = 
(int)(BgL_iz00_1335); 
CNST_TABLE_SET(BgL_auxz00_1356, BgL_arg3538z00_1338); } } 
{ /* ./Integrate/kk.scm 15 */
int BgL_auxz00_1340;
{ /* ./Integrate/kk.scm 15 */
long BgL_auxz00_1359;
BgL_auxz00_1359 = 
(BgL_iz00_1335-((long)1)); 
BgL_auxz00_1340 = 
(int)(BgL_auxz00_1359); } 
{ 
long BgL_iz00_1362;
BgL_iz00_1362 = 
(long)(BgL_auxz00_1340); 
BgL_iz00_1335 = BgL_iz00_1362; 
goto BgL_loopz00_1336;} } } } } } } 
}



/* K! */
BGL_EXPORTED_DEF obj_t BGl_Kz12z12zzintegrate_kkz00(obj_t BgL_az00_1, BgL_globalz00_bglt BgL_varz00_2)
{ AN_OBJECT;
{ /* ./Integrate/kk.scm 44 */
{ /* ./Integrate/kk.scm 50 */
BgL_valuez00_bglt BgL_ifunz00_775;
{ /* ./Integrate/kk.scm 50 */
BgL_variablez00_bglt BgL_obj1100z00_1247;
BgL_obj1100z00_1247 = 
(BgL_variablez00_bglt)(BgL_varz00_2); 
BgL_ifunz00_775 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1100z00_1247))->BgL_valuez00); } 
{ /* ./Integrate/kk.scm 51 */
obj_t BgL_arg2900z00_776;
{ /* ./Integrate/kk.scm 51 */
obj_t BgL_list2903z00_777;
{ /* ./Integrate/kk.scm 51 */
obj_t BgL_auxz00_1366;
BgL_auxz00_1366 = 
CNST_TABLE_REF(((long)0)); 
BgL_list2903z00_777 = 
MAKE_PAIR(BgL_auxz00_1366, BNIL); } 
BgL_arg2900z00_776 = BgL_list2903z00_777; } 
{ /* ./Integrate/kk.scm 51 */
BgL_sfunzf2iinfozf2_bglt BgL_obj2823z00_1250;obj_t BgL_val2822z00_1251;
BgL_obj2823z00_1250 = 
(BgL_sfunzf2iinfozf2_bglt)(BgL_ifunz00_775); 
BgL_val2822z00_1251 = BgL_arg2900z00_776; 
{ 
obj_t BgL_auxz00_1370;
{ /* ./Integrate/kk.scm 51 */
BgL_objectz00_bglt BgL_auxz00_1371;
BgL_auxz00_1371 = 
(BgL_objectz00_bglt)(BgL_obj2823z00_1250); 
BgL_auxz00_1370 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1371); } 
((((BgL_sfunzf2iinfozf2_bglt)CREF(BgL_auxz00_1370))->BgL_kz00) = ((obj_t)BgL_val2822z00_1251), BUNSPEC); } } } 
{ /* ./Integrate/kk.scm 52 */
obj_t BgL_arg2906z00_778;
{ /* ./Integrate/kk.scm 52 */
obj_t BgL_list2909z00_779;
{ /* ./Integrate/kk.scm 52 */
obj_t BgL_auxz00_1375;
BgL_auxz00_1375 = 
CNST_TABLE_REF(((long)0)); 
BgL_list2909z00_779 = 
MAKE_PAIR(BgL_auxz00_1375, BNIL); } 
BgL_arg2906z00_778 = BgL_list2909z00_779; } 
{ /* ./Integrate/kk.scm 52 */
BgL_sfunzf2iinfozf2_bglt BgL_obj2826z00_1254;obj_t BgL_val2825z00_1255;
BgL_obj2826z00_1254 = 
(BgL_sfunzf2iinfozf2_bglt)(BgL_ifunz00_775); 
BgL_val2825z00_1255 = BgL_arg2906z00_778; 
{ 
obj_t BgL_auxz00_1379;
{ /* ./Integrate/kk.scm 52 */
BgL_objectz00_bglt BgL_auxz00_1380;
BgL_auxz00_1380 = 
(BgL_objectz00_bglt)(BgL_obj2826z00_1254); 
BgL_auxz00_1379 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1380); } 
((((BgL_sfunzf2iinfozf2_bglt)CREF(BgL_auxz00_1379))->BgL_kza2za2) = ((obj_t)BgL_val2825z00_1255), BUNSPEC); } } } 
{ /* ./Integrate/kk.scm 53 */
obj_t BgL_arg2912z00_780;
BgL_arg2912z00_780 = 
BGl_Kze21z12zf0zzintegrate_kkz00(BgL_az00_1, BNIL); 
return 
BGl_Kze22z12zf0zzintegrate_kkz00(BgL_az00_1, BgL_arg2912z00_780);} } } 
}



/* _K!3483 */
obj_t BGl__Kz123483z12zzintegrate_kkz00(obj_t BgL_envz00_1329, obj_t BgL_az00_1330, obj_t BgL_varz00_1331)
{ AN_OBJECT;
{ /* ./Integrate/kk.scm 44 */
return 
BGl_Kz12z12zzintegrate_kkz00(BgL_az00_1330, 
(BgL_globalz00_bglt)(BgL_varz00_1331));} 
}



/* K.1! */
obj_t BGl_Kze21z12zf0zzintegrate_kkz00(obj_t BgL_az00_3, obj_t BgL_azd2tailzd2_4)
{ AN_OBJECT;
{ /* ./Integrate/kk.scm 58 */
BGl_Kze21z12zf0zzintegrate_kkz00:
{ /* ./Integrate/kk.scm 60 */
bool_t BgL_test2916z00_781;
BgL_test2916z00_781 = 
NULLP(BgL_az00_3); 
if(BgL_test2916z00_781)
{ /* ./Integrate/kk.scm 60 */
return BgL_azd2tailzd2_4;}  else 
{ /* ./Integrate/kk.scm 62 */
obj_t BgL_prz00_782;
BgL_prz00_782 = 
CAR(BgL_az00_3); 
{ /* ./Integrate/kk.scm 62 */
obj_t BgL_fz00_783;
BgL_fz00_783 = 
CAR(BgL_prz00_782); 
{ /* ./Integrate/kk.scm 63 */
obj_t BgL_gz00_784;
{ /* ./Integrate/kk.scm 64 */
obj_t BgL_auxz00_1392;
BgL_auxz00_1392 = 
CDR(BgL_prz00_782); 
BgL_gz00_784 = 
CAR(BgL_auxz00_1392); } 
{ /* ./Integrate/kk.scm 64 */
obj_t BgL_kz00_785;
{ /* ./Integrate/kk.scm 65 */
obj_t BgL_auxz00_1395;
{ /* ./Integrate/kk.scm 65 */
obj_t BgL_auxz00_1396;
BgL_auxz00_1396 = 
CDR(BgL_prz00_782); 
BgL_auxz00_1395 = 
CDR(BgL_auxz00_1396); } 
BgL_kz00_785 = 
CAR(BgL_auxz00_1395); } 
{ /* ./Integrate/kk.scm 65 */

{ /* ./Integrate/kk.scm 67 */
bool_t BgL_test2917z00_786;
{ /* ./Integrate/kk.scm 67 */
obj_t BgL_auxz00_1400;
BgL_auxz00_1400 = 
CNST_TABLE_REF(((long)1)); 
BgL_test2917z00_786 = 
(BgL_kz00_785==BgL_auxz00_1400); } 
if(BgL_test2917z00_786)
{ /* ./Integrate/kk.scm 67 */
{ /* ./Integrate/kk.scm 68 */
bool_t BgL_test2918z00_787;
BgL_test2918z00_787 = 
(BgL_fz00_783==BgL_gz00_784); 
if(BgL_test2918z00_787)
{ /* ./Integrate/kk.scm 69 */
obj_t BgL_arg2920z00_788;
BgL_arg2920z00_788 = 
CDR(BgL_az00_3); 
{ 
obj_t BgL_az00_1407;
BgL_az00_1407 = BgL_arg2920z00_788; 
BgL_az00_3 = BgL_az00_1407; 
goto BGl_Kze21z12zf0zzintegrate_kkz00;} }  else 
{ /* ./Integrate/kk.scm 70 */
obj_t BgL_arg2924z00_789;obj_t BgL_arg2925z00_790;
BgL_arg2924z00_789 = 
CDR(BgL_az00_3); 
BgL_arg2925z00_790 = 
MAKE_PAIR(BgL_prz00_782, BgL_azd2tailzd2_4); 
{ 
obj_t BgL_azd2tailzd2_1411;obj_t BgL_az00_1410;
BgL_az00_1410 = BgL_arg2924z00_789; 
BgL_azd2tailzd2_1411 = BgL_arg2925z00_790; 
BgL_azd2tailzd2_4 = BgL_azd2tailzd2_1411; 
BgL_az00_3 = BgL_az00_1410; 
goto BGl_Kze21z12zf0zzintegrate_kkz00;} } } }  else 
{ /* ./Integrate/kk.scm 67 */
{ /* ./Integrate/kk.scm 72 */
BgL_valuez00_bglt BgL_ifunz00_791;
{ /* ./Integrate/kk.scm 72 */
BgL_variablez00_bglt BgL_obj1100z00_1271;
BgL_obj1100z00_1271 = 
(BgL_variablez00_bglt)(BgL_gz00_784); 
BgL_ifunz00_791 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1100z00_1271))->BgL_valuez00); } 
{ /* ./Integrate/kk.scm 73 */
bool_t BgL_test2930z00_792;
{ /* ./Integrate/kk.scm 73 */
obj_t BgL_auxz00_1414;
{ /* ./Integrate/kk.scm 73 */
obj_t BgL_auxz00_1415;
{ /* ./Integrate/kk.scm 73 */
BgL_sfunzf2iinfozf2_bglt BgL_obj2821z00_1272;
BgL_obj2821z00_1272 = 
(BgL_sfunzf2iinfozf2_bglt)(BgL_ifunz00_791); 
{ 
obj_t BgL_auxz00_1417;
{ /* ./Integrate/kk.scm 73 */
BgL_objectz00_bglt BgL_auxz00_1418;
BgL_auxz00_1418 = 
(BgL_objectz00_bglt)(BgL_obj2821z00_1272); 
BgL_auxz00_1417 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1418); } 
BgL_auxz00_1415 = 
(((BgL_sfunzf2iinfozf2_bglt)CREF(BgL_auxz00_1417))->BgL_kz00); } } 
BgL_auxz00_1414 = 
BGl_memqz00zz__r4_pairs_and_lists_6_3z00(BgL_kz00_785, BgL_auxz00_1415); } 
BgL_test2930z00_792 = 
CBOOL(BgL_auxz00_1414); } 
if(BgL_test2930z00_792)
{ /* ./Integrate/kk.scm 74 */
obj_t BgL_arg2932z00_793;
BgL_arg2932z00_793 = 
CDR(BgL_az00_3); 
{ 
obj_t BgL_az00_1426;
BgL_az00_1426 = BgL_arg2932z00_793; 
BgL_az00_3 = BgL_az00_1426; 
goto BGl_Kze21z12zf0zzintegrate_kkz00;} }  else 
{ /* ./Integrate/kk.scm 73 */
{ /* ./Integrate/kk.scm 76 */
obj_t BgL_arg2936z00_794;
{ /* ./Integrate/kk.scm 76 */
obj_t BgL_arg2939z00_795;
{ /* ./Integrate/kk.scm 76 */
BgL_sfunzf2iinfozf2_bglt BgL_obj2821z00_1274;
BgL_obj2821z00_1274 = 
(BgL_sfunzf2iinfozf2_bglt)(BgL_ifunz00_791); 
{ 
obj_t BgL_auxz00_1428;
{ /* ./Integrate/kk.scm 76 */
BgL_objectz00_bglt BgL_auxz00_1429;
BgL_auxz00_1429 = 
(BgL_objectz00_bglt)(BgL_obj2821z00_1274); 
BgL_auxz00_1428 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1429); } 
BgL_arg2939z00_795 = 
(((BgL_sfunzf2iinfozf2_bglt)CREF(BgL_auxz00_1428))->BgL_kz00); } } 
BgL_arg2936z00_794 = 
MAKE_PAIR(BgL_kz00_785, BgL_arg2939z00_795); } 
{ /* ./Integrate/kk.scm 76 */
BgL_sfunzf2iinfozf2_bglt BgL_obj2823z00_1275;obj_t BgL_val2822z00_1276;
BgL_obj2823z00_1275 = 
(BgL_sfunzf2iinfozf2_bglt)(BgL_ifunz00_791); 
BgL_val2822z00_1276 = BgL_arg2936z00_794; 
{ 
obj_t BgL_auxz00_1435;
{ /* ./Integrate/kk.scm 76 */
BgL_objectz00_bglt BgL_auxz00_1436;
BgL_auxz00_1436 = 
(BgL_objectz00_bglt)(BgL_obj2823z00_1275); 
BgL_auxz00_1435 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1436); } 
((((BgL_sfunzf2iinfozf2_bglt)CREF(BgL_auxz00_1435))->BgL_kz00) = ((obj_t)BgL_val2822z00_1276), BUNSPEC); } } } 
{ /* ./Integrate/kk.scm 77 */
obj_t BgL_arg2943z00_796;
{ /* ./Integrate/kk.scm 77 */
obj_t BgL_arg2946z00_797;
{ /* ./Integrate/kk.scm 77 */
BgL_sfunzf2iinfozf2_bglt BgL_obj2824z00_1277;
BgL_obj2824z00_1277 = 
(BgL_sfunzf2iinfozf2_bglt)(BgL_ifunz00_791); 
{ 
obj_t BgL_auxz00_1441;
{ /* ./Integrate/kk.scm 77 */
BgL_objectz00_bglt BgL_auxz00_1442;
BgL_auxz00_1442 = 
(BgL_objectz00_bglt)(BgL_obj2824z00_1277); 
BgL_auxz00_1441 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1442); } 
BgL_arg2946z00_797 = 
(((BgL_sfunzf2iinfozf2_bglt)CREF(BgL_auxz00_1441))->BgL_kza2za2); } } 
BgL_arg2943z00_796 = 
MAKE_PAIR(BgL_kz00_785, BgL_arg2946z00_797); } 
{ /* ./Integrate/kk.scm 77 */
BgL_sfunzf2iinfozf2_bglt BgL_obj2826z00_1278;obj_t BgL_val2825z00_1279;
BgL_obj2826z00_1278 = 
(BgL_sfunzf2iinfozf2_bglt)(BgL_ifunz00_791); 
BgL_val2825z00_1279 = BgL_arg2943z00_796; 
{ 
obj_t BgL_auxz00_1448;
{ /* ./Integrate/kk.scm 77 */
BgL_objectz00_bglt BgL_auxz00_1449;
BgL_auxz00_1449 = 
(BgL_objectz00_bglt)(BgL_obj2826z00_1278); 
BgL_auxz00_1448 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1449); } 
((((BgL_sfunzf2iinfozf2_bglt)CREF(BgL_auxz00_1448))->BgL_kza2za2) = ((obj_t)BgL_val2825z00_1279), BUNSPEC); } } } 
{ /* ./Integrate/kk.scm 78 */
obj_t BgL_arg2950z00_798;
BgL_arg2950z00_798 = 
CDR(BgL_az00_3); 
{ 
obj_t BgL_az00_1454;
BgL_az00_1454 = BgL_arg2950z00_798; 
BgL_az00_3 = BgL_az00_1454; 
goto BGl_Kze21z12zf0zzintegrate_kkz00;} } } } } } } } } } } } } } 
}



/* K.2! */
obj_t BGl_Kze22z12zf0zzintegrate_kkz00(obj_t BgL_az00_5, obj_t BgL_azd2tailzd2_6)
{ AN_OBJECT;
{ /* ./Integrate/kk.scm 83 */
{ 
bool_t BgL_continuez00_800;
BgL_continuez00_800 = ((bool_t)1); 
BgL_loopz00_801:
if(BgL_continuez00_800)
{ 
obj_t BgL_atz00_802;bool_t BgL_continuez00_803;
BgL_atz00_802 = BgL_azd2tailzd2_6; 
BgL_continuez00_803 = ((bool_t)0); 
BgL_liipz00_804:
{ /* ./Integrate/kk.scm 93 */
bool_t BgL_test2966z00_805;
BgL_test2966z00_805 = 
NULLP(BgL_atz00_802); 
if(BgL_test2966z00_805)
{ 
bool_t BgL_continuez00_1458;
BgL_continuez00_1458 = BgL_continuez00_803; 
BgL_continuez00_800 = BgL_continuez00_1458; 
goto BgL_loopz00_801;}  else 
{ /* ./Integrate/kk.scm 95 */
BgL_valuez00_bglt BgL_ifunz00_806;
{ /* ./Integrate/kk.scm 95 */
BgL_variablez00_bglt BgL_obj1100z00_1284;
{ /* ./Integrate/kk.scm 95 */
obj_t BgL_auxz00_1459;
{ /* ./Integrate/kk.scm 95 */
obj_t BgL_auxz00_1460;
BgL_auxz00_1460 = 
CAR(BgL_atz00_802); 
BgL_auxz00_1459 = 
CAR(BgL_auxz00_1460); } 
BgL_obj1100z00_1284 = 
(BgL_variablez00_bglt)(BgL_auxz00_1459); } 
BgL_ifunz00_806 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1100z00_1284))->BgL_valuez00); } 
{ /* ./Integrate/kk.scm 96 */
bool_t BgL_test2968z00_807;
{ /* ./Integrate/kk.scm 96 */
obj_t BgL_auxz00_1465;
{ /* ./Integrate/kk.scm 96 */
BgL_sfunzf2iinfozf2_bglt BgL_obj2821z00_1285;
BgL_obj2821z00_1285 = 
(BgL_sfunzf2iinfozf2_bglt)(BgL_ifunz00_806); 
{ 
obj_t BgL_auxz00_1467;
{ /* ./Integrate/kk.scm 96 */
BgL_objectz00_bglt BgL_auxz00_1468;
BgL_auxz00_1468 = 
(BgL_objectz00_bglt)(BgL_obj2821z00_1285); 
BgL_auxz00_1467 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1468); } 
BgL_auxz00_1465 = 
(((BgL_sfunzf2iinfozf2_bglt)CREF(BgL_auxz00_1467))->BgL_kz00); } } 
BgL_test2968z00_807 = 
NULLP(BgL_auxz00_1465); } 
if(BgL_test2968z00_807)
{ /* ./Integrate/kk.scm 97 */
obj_t BgL_arg2970z00_808;
BgL_arg2970z00_808 = 
CDR(BgL_atz00_802); 
{ 
obj_t BgL_atz00_1475;
BgL_atz00_1475 = BgL_arg2970z00_808; 
BgL_atz00_802 = BgL_atz00_1475; 
goto BgL_liipz00_804;} }  else 
{ /* ./Integrate/kk.scm 98 */
obj_t BgL_gz00_809;
{ /* ./Integrate/kk.scm 98 */
obj_t BgL_auxz00_1476;
{ /* ./Integrate/kk.scm 98 */
obj_t BgL_auxz00_1477;
BgL_auxz00_1477 = 
CAR(BgL_atz00_802); 
BgL_auxz00_1476 = 
CDR(BgL_auxz00_1477); } 
BgL_gz00_809 = 
CAR(BgL_auxz00_1476); } 
{ /* ./Integrate/kk.scm 98 */
BgL_valuez00_bglt BgL_gifunz00_810;
{ /* ./Integrate/kk.scm 99 */
BgL_variablez00_bglt BgL_obj1100z00_1293;
BgL_obj1100z00_1293 = 
(BgL_variablez00_bglt)(BgL_gz00_809); 
BgL_gifunz00_810 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1100z00_1293))->BgL_valuez00); } 
{ /* ./Integrate/kk.scm 99 */

{ 
obj_t BgL_ksz00_811;bool_t BgL_continuez00_812;
{ /* ./Integrate/kk.scm 100 */
obj_t BgL_arg2974z00_814;
{ /* ./Integrate/kk.scm 100 */
BgL_sfunzf2iinfozf2_bglt BgL_obj2821z00_1294;
BgL_obj2821z00_1294 = 
(BgL_sfunzf2iinfozf2_bglt)(BgL_ifunz00_806); 
{ 
obj_t BgL_auxz00_1484;
{ /* ./Integrate/kk.scm 100 */
BgL_objectz00_bglt BgL_auxz00_1485;
BgL_auxz00_1485 = 
(BgL_objectz00_bglt)(BgL_obj2821z00_1294); 
BgL_auxz00_1484 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1485); } 
BgL_arg2974z00_814 = 
(((BgL_sfunzf2iinfozf2_bglt)CREF(BgL_auxz00_1484))->BgL_kz00); } } 
BgL_ksz00_811 = BgL_arg2974z00_814; 
BgL_continuez00_812 = BgL_continuez00_803; 
BgL_laapz00_813:
{ /* ./Integrate/kk.scm 105 */
bool_t BgL_test2977z00_815;
BgL_test2977z00_815 = 
NULLP(BgL_ksz00_811); 
if(BgL_test2977z00_815)
{ /* ./Integrate/kk.scm 106 */
obj_t BgL_arg2979z00_816;
BgL_arg2979z00_816 = 
CDR(BgL_atz00_802); 
{ 
bool_t BgL_continuez00_1493;obj_t BgL_atz00_1492;
BgL_atz00_1492 = BgL_arg2979z00_816; 
BgL_continuez00_1493 = BgL_continuez00_812; 
BgL_continuez00_803 = BgL_continuez00_1493; 
BgL_atz00_802 = BgL_atz00_1492; 
goto BgL_liipz00_804;} }  else 
{ /* ./Integrate/kk.scm 107 */
obj_t BgL_kz00_817;
BgL_kz00_817 = 
CAR(BgL_ksz00_811); 
{ /* ./Integrate/kk.scm 108 */
bool_t BgL_test2982z00_818;
{ /* ./Integrate/kk.scm 108 */
obj_t BgL_auxz00_1495;
{ /* ./Integrate/kk.scm 108 */
obj_t BgL_auxz00_1496;
{ /* ./Integrate/kk.scm 108 */
BgL_sfunzf2iinfozf2_bglt BgL_obj2821z00_1298;
BgL_obj2821z00_1298 = 
(BgL_sfunzf2iinfozf2_bglt)(BgL_gifunz00_810); 
{ 
obj_t BgL_auxz00_1498;
{ /* ./Integrate/kk.scm 108 */
BgL_objectz00_bglt BgL_auxz00_1499;
BgL_auxz00_1499 = 
(BgL_objectz00_bglt)(BgL_obj2821z00_1298); 
BgL_auxz00_1498 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1499); } 
BgL_auxz00_1496 = 
(((BgL_sfunzf2iinfozf2_bglt)CREF(BgL_auxz00_1498))->BgL_kz00); } } 
BgL_auxz00_1495 = 
BGl_memqz00zz__r4_pairs_and_lists_6_3z00(BgL_kz00_817, BgL_auxz00_1496); } 
BgL_test2982z00_818 = 
CBOOL(BgL_auxz00_1495); } 
if(BgL_test2982z00_818)
{ /* ./Integrate/kk.scm 109 */
obj_t BgL_arg2984z00_819;
BgL_arg2984z00_819 = 
CDR(BgL_ksz00_811); 
{ 
obj_t BgL_ksz00_1507;
BgL_ksz00_1507 = BgL_arg2984z00_819; 
BgL_ksz00_811 = BgL_ksz00_1507; 
goto BgL_laapz00_813;} }  else 
{ /* ./Integrate/kk.scm 108 */
{ /* ./Integrate/kk.scm 113 */
obj_t BgL_arg2988z00_820;
{ /* ./Integrate/kk.scm 113 */
obj_t BgL_arg2991z00_821;
{ /* ./Integrate/kk.scm 113 */
BgL_sfunzf2iinfozf2_bglt BgL_obj2821z00_1300;
BgL_obj2821z00_1300 = 
(BgL_sfunzf2iinfozf2_bglt)(BgL_gifunz00_810); 
{ 
obj_t BgL_auxz00_1509;
{ /* ./Integrate/kk.scm 113 */
BgL_objectz00_bglt BgL_auxz00_1510;
BgL_auxz00_1510 = 
(BgL_objectz00_bglt)(BgL_obj2821z00_1300); 
BgL_auxz00_1509 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1510); } 
BgL_arg2991z00_821 = 
(((BgL_sfunzf2iinfozf2_bglt)CREF(BgL_auxz00_1509))->BgL_kz00); } } 
BgL_arg2988z00_820 = 
MAKE_PAIR(BgL_kz00_817, BgL_arg2991z00_821); } 
{ /* ./Integrate/kk.scm 111 */
BgL_sfunzf2iinfozf2_bglt BgL_obj2823z00_1301;obj_t BgL_val2822z00_1302;
BgL_obj2823z00_1301 = 
(BgL_sfunzf2iinfozf2_bglt)(BgL_gifunz00_810); 
BgL_val2822z00_1302 = BgL_arg2988z00_820; 
{ 
obj_t BgL_auxz00_1516;
{ /* ./Integrate/kk.scm 111 */
BgL_objectz00_bglt BgL_auxz00_1517;
BgL_auxz00_1517 = 
(BgL_objectz00_bglt)(BgL_obj2823z00_1301); 
BgL_auxz00_1516 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1517); } 
((((BgL_sfunzf2iinfozf2_bglt)CREF(BgL_auxz00_1516))->BgL_kz00) = ((obj_t)BgL_val2822z00_1302), BUNSPEC); } } } 
{ /* ./Integrate/kk.scm 117 */
obj_t BgL_arg2995z00_822;
{ /* ./Integrate/kk.scm 117 */
obj_t BgL_arg2998z00_823;
{ /* ./Integrate/kk.scm 117 */
BgL_sfunzf2iinfozf2_bglt BgL_obj2824z00_1303;
BgL_obj2824z00_1303 = 
(BgL_sfunzf2iinfozf2_bglt)(BgL_gifunz00_810); 
{ 
obj_t BgL_auxz00_1522;
{ /* ./Integrate/kk.scm 117 */
BgL_objectz00_bglt BgL_auxz00_1523;
BgL_auxz00_1523 = 
(BgL_objectz00_bglt)(BgL_obj2824z00_1303); 
BgL_auxz00_1522 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1523); } 
BgL_arg2998z00_823 = 
(((BgL_sfunzf2iinfozf2_bglt)CREF(BgL_auxz00_1522))->BgL_kza2za2); } } 
BgL_arg2995z00_822 = 
MAKE_PAIR(BgL_kz00_817, BgL_arg2998z00_823); } 
{ /* ./Integrate/kk.scm 115 */
BgL_sfunzf2iinfozf2_bglt BgL_obj2826z00_1304;obj_t BgL_val2825z00_1305;
BgL_obj2826z00_1304 = 
(BgL_sfunzf2iinfozf2_bglt)(BgL_gifunz00_810); 
BgL_val2825z00_1305 = BgL_arg2995z00_822; 
{ 
obj_t BgL_auxz00_1529;
{ /* ./Integrate/kk.scm 115 */
BgL_objectz00_bglt BgL_auxz00_1530;
BgL_auxz00_1530 = 
(BgL_objectz00_bglt)(BgL_obj2826z00_1304); 
BgL_auxz00_1529 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1530); } 
((((BgL_sfunzf2iinfozf2_bglt)CREF(BgL_auxz00_1529))->BgL_kza2za2) = ((obj_t)BgL_val2825z00_1305), BUNSPEC); } } } 
{ /* ./Integrate/kk.scm 119 */
obj_t BgL_arg3002z00_824;
BgL_arg3002z00_824 = 
CDR(BgL_ksz00_811); 
{ 
bool_t BgL_continuez00_1536;obj_t BgL_ksz00_1535;
BgL_ksz00_1535 = BgL_arg3002z00_824; 
BgL_continuez00_1536 = ((bool_t)1); 
BgL_continuez00_812 = BgL_continuez00_1536; 
BgL_ksz00_811 = BgL_ksz00_1535; 
goto BgL_laapz00_813;} } } } } } } } } } } } } } }  else 
{ /* ./Integrate/kk.scm 86 */
return BgL_azd2tailzd2_6;} } } 
}



/* K*! */
BGL_EXPORTED_DEF obj_t BGl_Kza2z12zb0zzintegrate_kkz00(obj_t BgL_azd2tailzd2_7)
{ AN_OBJECT;
{ /* ./Integrate/kk.scm 134 */
{ 
bool_t BgL_continuez00_830;
BgL_continuez00_830 = ((bool_t)1); 
BgL_loopz00_831:
if(BgL_continuez00_830)
{ 
obj_t BgL_atz00_832;bool_t BgL_continuez00_833;
BgL_atz00_832 = BgL_azd2tailzd2_7; 
BgL_continuez00_833 = ((bool_t)0); 
BgL_liipz00_834:
{ /* ./Integrate/kk.scm 141 */
bool_t BgL_test3031z00_835;
BgL_test3031z00_835 = 
NULLP(BgL_atz00_832); 
if(BgL_test3031z00_835)
{ 
bool_t BgL_continuez00_1540;
BgL_continuez00_1540 = BgL_continuez00_833; 
BgL_continuez00_830 = BgL_continuez00_1540; 
goto BgL_loopz00_831;}  else 
{ /* ./Integrate/kk.scm 143 */
BgL_valuez00_bglt BgL_ifunz00_836;
{ /* ./Integrate/kk.scm 143 */
BgL_variablez00_bglt BgL_obj1100z00_1313;
{ /* ./Integrate/kk.scm 143 */
obj_t BgL_auxz00_1541;
{ /* ./Integrate/kk.scm 143 */
obj_t BgL_auxz00_1542;
{ /* ./Integrate/kk.scm 143 */
obj_t BgL_auxz00_1543;
BgL_auxz00_1543 = 
CAR(BgL_atz00_832); 
BgL_auxz00_1542 = 
CDR(BgL_auxz00_1543); } 
BgL_auxz00_1541 = 
CAR(BgL_auxz00_1542); } 
BgL_obj1100z00_1313 = 
(BgL_variablez00_bglt)(BgL_auxz00_1541); } 
BgL_ifunz00_836 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1100z00_1313))->BgL_valuez00); } 
{ /* ./Integrate/kk.scm 144 */
bool_t BgL_test3033z00_837;
{ /* ./Integrate/kk.scm 144 */
obj_t BgL_auxz00_1549;
{ /* ./Integrate/kk.scm 144 */
BgL_sfunzf2iinfozf2_bglt BgL_obj2824z00_1314;
BgL_obj2824z00_1314 = 
(BgL_sfunzf2iinfozf2_bglt)(BgL_ifunz00_836); 
{ 
obj_t BgL_auxz00_1551;
{ /* ./Integrate/kk.scm 144 */
BgL_objectz00_bglt BgL_auxz00_1552;
BgL_auxz00_1552 = 
(BgL_objectz00_bglt)(BgL_obj2824z00_1314); 
BgL_auxz00_1551 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1552); } 
BgL_auxz00_1549 = 
(((BgL_sfunzf2iinfozf2_bglt)CREF(BgL_auxz00_1551))->BgL_kza2za2); } } 
BgL_test3033z00_837 = 
NULLP(BgL_auxz00_1549); } 
if(BgL_test3033z00_837)
{ 
bool_t BgL_continuez00_1558;
BgL_continuez00_1558 = BgL_continuez00_833; 
BgL_continuez00_830 = BgL_continuez00_1558; 
goto BgL_loopz00_831;}  else 
{ 
obj_t BgL_ksz00_838;bool_t BgL_continuez00_839;
{ /* ./Integrate/kk.scm 146 */
obj_t BgL_arg3036z00_841;
{ /* ./Integrate/kk.scm 146 */
BgL_sfunzf2iinfozf2_bglt BgL_obj2824z00_1316;
BgL_obj2824z00_1316 = 
(BgL_sfunzf2iinfozf2_bglt)(BgL_ifunz00_836); 
{ 
obj_t BgL_auxz00_1560;
{ /* ./Integrate/kk.scm 146 */
BgL_objectz00_bglt BgL_auxz00_1561;
BgL_auxz00_1561 = 
(BgL_objectz00_bglt)(BgL_obj2824z00_1316); 
BgL_auxz00_1560 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1561); } 
BgL_arg3036z00_841 = 
(((BgL_sfunzf2iinfozf2_bglt)CREF(BgL_auxz00_1560))->BgL_kza2za2); } } 
BgL_ksz00_838 = BgL_arg3036z00_841; 
BgL_continuez00_839 = BgL_continuez00_833; 
BgL_laapz00_840:
{ /* ./Integrate/kk.scm 148 */
bool_t BgL_test3039z00_842;
BgL_test3039z00_842 = 
NULLP(BgL_ksz00_838); 
if(BgL_test3039z00_842)
{ /* ./Integrate/kk.scm 149 */
obj_t BgL_arg3041z00_843;
BgL_arg3041z00_843 = 
CDR(BgL_atz00_832); 
{ 
bool_t BgL_continuez00_1569;obj_t BgL_atz00_1568;
BgL_atz00_1568 = BgL_arg3041z00_843; 
BgL_continuez00_1569 = BgL_continuez00_839; 
BgL_continuez00_833 = BgL_continuez00_1569; 
BgL_atz00_832 = BgL_atz00_1568; 
goto BgL_liipz00_834;} }  else 
{ /* ./Integrate/kk.scm 150 */
obj_t BgL_fz00_844;
{ /* ./Integrate/kk.scm 150 */
obj_t BgL_auxz00_1570;
BgL_auxz00_1570 = 
CAR(BgL_atz00_832); 
BgL_fz00_844 = 
CAR(BgL_auxz00_1570); } 
{ /* ./Integrate/kk.scm 150 */
BgL_valuez00_bglt BgL_fifunz00_845;
{ /* ./Integrate/kk.scm 151 */
BgL_variablez00_bglt BgL_obj1100z00_1321;
BgL_obj1100z00_1321 = 
(BgL_variablez00_bglt)(BgL_fz00_844); 
BgL_fifunz00_845 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1100z00_1321))->BgL_valuez00); } 
{ /* ./Integrate/kk.scm 151 */
obj_t BgL_kz00_846;
BgL_kz00_846 = 
CAR(BgL_ksz00_838); 
{ /* ./Integrate/kk.scm 152 */

{ /* ./Integrate/kk.scm 153 */
bool_t BgL_test3044z00_847;
{ /* ./Integrate/kk.scm 153 */
obj_t BgL_auxz00_1576;
{ /* ./Integrate/kk.scm 153 */
obj_t BgL_auxz00_1577;
{ /* ./Integrate/kk.scm 153 */
BgL_sfunzf2iinfozf2_bglt BgL_obj2824z00_1323;
BgL_obj2824z00_1323 = 
(BgL_sfunzf2iinfozf2_bglt)(BgL_fifunz00_845); 
{ 
obj_t BgL_auxz00_1579;
{ /* ./Integrate/kk.scm 153 */
BgL_objectz00_bglt BgL_auxz00_1580;
BgL_auxz00_1580 = 
(BgL_objectz00_bglt)(BgL_obj2824z00_1323); 
BgL_auxz00_1579 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1580); } 
BgL_auxz00_1577 = 
(((BgL_sfunzf2iinfozf2_bglt)CREF(BgL_auxz00_1579))->BgL_kza2za2); } } 
BgL_auxz00_1576 = 
BGl_memqz00zz__r4_pairs_and_lists_6_3z00(BgL_kz00_846, BgL_auxz00_1577); } 
BgL_test3044z00_847 = 
CBOOL(BgL_auxz00_1576); } 
if(BgL_test3044z00_847)
{ /* ./Integrate/kk.scm 154 */
obj_t BgL_arg3047z00_848;
BgL_arg3047z00_848 = 
CDR(BgL_ksz00_838); 
{ 
obj_t BgL_ksz00_1588;
BgL_ksz00_1588 = BgL_arg3047z00_848; 
BgL_ksz00_838 = BgL_ksz00_1588; 
goto BgL_laapz00_840;} }  else 
{ /* ./Integrate/kk.scm 153 */
{ /* ./Integrate/kk.scm 158 */
obj_t BgL_arg3051z00_849;
{ /* ./Integrate/kk.scm 158 */
obj_t BgL_arg3054z00_850;
{ /* ./Integrate/kk.scm 158 */
BgL_sfunzf2iinfozf2_bglt BgL_obj2824z00_1325;
BgL_obj2824z00_1325 = 
(BgL_sfunzf2iinfozf2_bglt)(BgL_fifunz00_845); 
{ 
obj_t BgL_auxz00_1590;
{ /* ./Integrate/kk.scm 158 */
BgL_objectz00_bglt BgL_auxz00_1591;
BgL_auxz00_1591 = 
(BgL_objectz00_bglt)(BgL_obj2824z00_1325); 
BgL_auxz00_1590 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1591); } 
BgL_arg3054z00_850 = 
(((BgL_sfunzf2iinfozf2_bglt)CREF(BgL_auxz00_1590))->BgL_kza2za2); } } 
BgL_arg3051z00_849 = 
MAKE_PAIR(BgL_kz00_846, BgL_arg3054z00_850); } 
{ /* ./Integrate/kk.scm 156 */
BgL_sfunzf2iinfozf2_bglt BgL_obj2826z00_1326;obj_t BgL_val2825z00_1327;
BgL_obj2826z00_1326 = 
(BgL_sfunzf2iinfozf2_bglt)(BgL_fifunz00_845); 
BgL_val2825z00_1327 = BgL_arg3051z00_849; 
{ 
obj_t BgL_auxz00_1597;
{ /* ./Integrate/kk.scm 156 */
BgL_objectz00_bglt BgL_auxz00_1598;
BgL_auxz00_1598 = 
(BgL_objectz00_bglt)(BgL_obj2826z00_1326); 
BgL_auxz00_1597 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1598); } 
((((BgL_sfunzf2iinfozf2_bglt)CREF(BgL_auxz00_1597))->BgL_kza2za2) = ((obj_t)BgL_val2825z00_1327), BUNSPEC); } } } 
{ /* ./Integrate/kk.scm 159 */
obj_t BgL_arg3058z00_851;
BgL_arg3058z00_851 = 
CDR(BgL_ksz00_838); 
{ 
bool_t BgL_continuez00_1604;obj_t BgL_ksz00_1603;
BgL_ksz00_1603 = BgL_arg3058z00_851; 
BgL_continuez00_1604 = ((bool_t)1); 
BgL_continuez00_839 = BgL_continuez00_1604; 
BgL_ksz00_838 = BgL_ksz00_1603; 
goto BgL_laapz00_840;} } } } } } } } } } } } } } }  else 
{ /* ./Integrate/kk.scm 137 */
return BNIL;} } } 
}



/* _K*! */
obj_t BGl__Kza2z12zb0zzintegrate_kkz00(obj_t BgL_envz00_1332, obj_t BgL_azd2tailzd2_1333)
{ AN_OBJECT;
{ /* ./Integrate/kk.scm 134 */
return 
BGl_Kza2z12zb0zzintegrate_kkz00(BgL_azd2tailzd2_1333);} 
}



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



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

