/*===========================================================================*/
/*   (SawMsil/funcall.scm)                                                   */
/*   Bigloo (2.6b)                                                           */
/*   Inria -- Sophia Antipolis (c)       Mon Dec 15 12:14:36 CET 2003        */
/*===========================================================================*/
/* COMPILATION: (/users/serrano/prgm/project/bigloo/bin/bigloo -q -afile .afile -fsharing -fno-reflection -cc gcc-2.95 -lib-dir /users/serrano/prgm/project/bigloo/lib/2.6b -unsafev -no-hello -O2 -rm -unsafe -s -indent SawMsil/funcall.scm)*/
/* GC selection */
#define THE_GC BOEHM_GC

#include <bigloo.h>


/* Object type definitions */
typedef struct BgL_typez00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_idz00;
   obj_t BgL_namez00;
   obj_t BgL_siza7eza7;
   obj_t BgL_classz00;
   obj_t BgL_coercezd2tozd2;
   obj_t BgL_parentsz00;
   bool_t BgL_initzf3zf3;
   bool_t BgL_magiczf3zf3;
   obj_t BgL_z42z42;
   obj_t BgL_aliasz00;
   obj_t BgL_pointedzd2tozd2byz00;
   obj_t BgL_tvectorz00;
   obj_t BgL_locationz00;
   obj_t BgL_importzd2locationzd2;
} *BgL_typez00_bglt;

typedef struct BgL_valuez00_bgl {
   header_t header;
   obj_t widening;
} *BgL_valuez00_bglt;

typedef struct BgL_variablez00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_idz00;
   obj_t BgL_namez00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_valuez00_bgl * BgL_valuez00;
   obj_t BgL_accessz00;
   obj_t BgL_fastzd2alphazd2;
   obj_t BgL_removablez00;
   long BgL_occurrencez00;
} *BgL_variablez00_bglt;

typedef struct BgL_globalz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_idz00;
   obj_t BgL_namez00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_valuez00_bgl * BgL_valuez00;
   obj_t BgL_accessz00;
   obj_t BgL_fastzd2alphazd2;
   obj_t BgL_removablez00;
   long BgL_occurrencez00;
   obj_t BgL_modulez00;
   obj_t BgL_importz00;
   bool_t BgL_evaluablezf3zf3;
   bool_t BgL_libraryzf3zf3;
   bool_t BgL_userzf3zf3;
   obj_t BgL_pragmaz00;
   obj_t BgL_srcz00;
   obj_t BgL_jvmzd2typezd2namez00;
} *BgL_globalz00_bglt;

typedef struct BgL_localz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_idz00;
   obj_t BgL_namez00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_valuez00_bgl * BgL_valuez00;
   obj_t BgL_accessz00;
   obj_t BgL_fastzd2alphazd2;
   obj_t BgL_removablez00;
   long BgL_occurrencez00;
   bool_t BgL_userzf3zf3;
   long BgL_keyz00;
} *BgL_localz00_bglt;

typedef struct BgL_funz00_bgl {
   header_t header;
   obj_t widening;
   long BgL_arityz00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_predicatezd2ofzd2;
   obj_t BgL_stackzd2allocatorzd2;
   bool_t BgL_topzf3zf3;
   obj_t BgL_thezd2closurezd2;
   obj_t BgL_effectz00;
} *BgL_funz00_bglt;

typedef struct BgL_sfunz00_bgl {
   header_t header;
   obj_t widening;
   long BgL_arityz00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_predicatezd2ofzd2;
   obj_t BgL_stackzd2allocatorzd2;
   bool_t BgL_topzf3zf3;
   obj_t BgL_thezd2closurezd2;
   obj_t BgL_effectz00;
   obj_t BgL_propertyz00;
   obj_t BgL_argsz00;
   obj_t BgL_bodyz00;
   obj_t BgL_classz00;
   obj_t BgL_dssslzd2keywordszd2;
   obj_t BgL_locz00;
} *BgL_sfunz00_bglt;

typedef struct BgL_cfunz00_bgl {
   header_t header;
   obj_t widening;
   long BgL_arityz00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_predicatezd2ofzd2;
   obj_t BgL_stackzd2allocatorzd2;
   bool_t BgL_topzf3zf3;
   obj_t BgL_thezd2closurezd2;
   obj_t BgL_effectz00;
   obj_t BgL_argszd2typezd2;
   bool_t BgL_macrozf3zf3;
   bool_t BgL_infixzf3zf3;
   obj_t BgL_methodz00;
} *BgL_cfunz00_bglt;

typedef struct BgL_svarz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
} *BgL_svarz00_bglt;

typedef struct BgL_scnstz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_nodez00;
   obj_t BgL_classz00;
   obj_t BgL_locz00;
} *BgL_scnstz00_bglt;

typedef struct BgL_cvarz00_bgl {
   header_t header;
   obj_t widening;
   bool_t BgL_macrozf3zf3;
} *BgL_cvarz00_bglt;

typedef struct BgL_sexitz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_handlerz00;
   bool_t BgL_detachedzf3zf3;
} *BgL_sexitz00_bglt;

typedef struct BgL_feffectz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_readz00;
   obj_t BgL_writez00;
} *BgL_feffectz00_bglt;

typedef struct BgL_nodez00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
} *BgL_nodez00_bglt;

typedef struct BgL_nodezf2effectzf2_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
} *BgL_nodezf2effectzf2_bglt;

typedef struct BgL_atomz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_valuez00;
} *BgL_atomz00_bglt;

typedef struct BgL_varz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_variablez00_bgl * BgL_variablez00;
} *BgL_varz00_bglt;

typedef struct BgL_closurez00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_variablez00_bgl * BgL_variablez00;
} *BgL_closurez00_bglt;

typedef struct BgL_kwotez00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_valuez00;
} *BgL_kwotez00_bglt;

typedef struct BgL_sequencez00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_nodesz00;
} *BgL_sequencez00_bglt;

typedef struct BgL_appz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   struct BgL_varz00_bgl * BgL_funz00;
   obj_t BgL_argsz00;
} *BgL_appz00_bglt;

typedef struct BgL_appzd2lyzd2_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_nodez00_bgl * BgL_funz00;
   struct BgL_nodez00_bgl * BgL_argz00;
} *BgL_appzd2lyzd2_bglt;

typedef struct BgL_funcallz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_nodez00_bgl * BgL_funz00;
   obj_t BgL_argsz00;
   obj_t BgL_strengthz00;
} *BgL_funcallz00_bglt;

typedef struct BgL_externz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
} *BgL_externz00_bglt;

typedef struct BgL_pragmaz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
   obj_t BgL_formatz00;
} *BgL_pragmaz00_bglt;

typedef struct BgL_getfieldz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
   obj_t BgL_fnamez00;
   struct BgL_typez00_bgl * BgL_ftypez00;
   struct BgL_typez00_bgl * BgL_otypez00;
} *BgL_getfieldz00_bglt;

typedef struct BgL_setfieldz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
   obj_t BgL_fnamez00;
   struct BgL_typez00_bgl * BgL_ftypez00;
   struct BgL_typez00_bgl * BgL_otypez00;
} *BgL_setfieldz00_bglt;

typedef struct BgL_newz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
} *BgL_newz00_bglt;

typedef struct BgL_vallocz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
   obj_t BgL_czd2heapzd2formatz00;
   struct BgL_typez00_bgl * BgL_ftypez00;
   struct BgL_typez00_bgl * BgL_otypez00;
} *BgL_vallocz00_bglt;

typedef struct BgL_vrefz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
   obj_t BgL_czd2formatzd2;
   struct BgL_typez00_bgl * BgL_ftypez00;
   struct BgL_typez00_bgl * BgL_otypez00;
   struct BgL_typez00_bgl * BgL_vtypez00;
} *BgL_vrefz00_bglt;

typedef struct BgL_vsetz12z12_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
   obj_t BgL_czd2formatzd2;
   struct BgL_typez00_bgl * BgL_ftypez00;
   struct BgL_typez00_bgl * BgL_otypez00;
   struct BgL_typez00_bgl * BgL_vtypez00;
} *BgL_vsetz12z12_bglt;

typedef struct BgL_vlengthz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
   obj_t BgL_czd2formatzd2;
   struct BgL_typez00_bgl * BgL_vtypez00;
} *BgL_vlengthz00_bglt;

typedef struct BgL_isaz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
   struct BgL_typez00_bgl * BgL_classz00;
} *BgL_isaz00_bglt;

typedef struct BgL_castz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_nodez00_bgl * BgL_argz00;
} *BgL_castz00_bglt;

typedef struct BgL_setqz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_varz00_bgl * BgL_varz00;
   struct BgL_nodez00_bgl * BgL_valuez00;
} *BgL_setqz00_bglt;

typedef struct BgL_conditionalz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   struct BgL_nodez00_bgl * BgL_testz00;
   struct BgL_nodez00_bgl * BgL_truez00;
   struct BgL_nodez00_bgl * BgL_falsez00;
} *BgL_conditionalz00_bglt;

typedef struct BgL_failz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_nodez00_bgl * BgL_procz00;
   struct BgL_nodez00_bgl * BgL_msgz00;
   struct BgL_nodez00_bgl * BgL_objz00;
} *BgL_failz00_bglt;

typedef struct BgL_selectz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   struct BgL_nodez00_bgl * BgL_testz00;
   obj_t BgL_clausesz00;
   struct BgL_typez00_bgl * BgL_itemzd2typezd2;
} *BgL_selectz00_bglt;

typedef struct BgL_letzd2funzd2_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_localsz00;
   struct BgL_nodez00_bgl * BgL_bodyz00;
} *BgL_letzd2funzd2_bglt;

typedef struct BgL_letzd2varzd2_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_bindingsz00;
   struct BgL_nodez00_bgl * BgL_bodyz00;
   bool_t BgL_removablezf3zf3;
} *BgL_letzd2varzd2_bglt;

typedef struct BgL_setzd2exzd2itz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_varz00_bgl * BgL_varz00;
   struct BgL_nodez00_bgl * BgL_bodyz00;
} *BgL_setzd2exzd2itz00_bglt;

typedef struct BgL_jumpzd2exzd2itz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_nodez00_bgl * BgL_exitz00;
   struct BgL_nodez00_bgl * BgL_valuez00;
} *BgL_jumpzd2exzd2itz00_bglt;

typedef struct BgL_makezd2boxzd2_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   struct BgL_nodez00_bgl * BgL_valuez00;
} *BgL_makezd2boxzd2_bglt;

typedef struct BgL_boxzd2refzd2_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   struct BgL_varz00_bgl * BgL_varz00;
} *BgL_boxzd2refzd2_bglt;

typedef struct BgL_boxzd2setz12zc0_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_varz00_bgl * BgL_varz00;
   struct BgL_nodez00_bgl * BgL_valuez00;
} *BgL_boxzd2setz12zc0_bglt;

typedef struct BgL_tclassz00_bgl {
   obj_t BgL_itszd2superzd2;
   obj_t BgL_slotsz00;
   struct BgL_globalz00_bgl * BgL_holderz00;
   obj_t BgL_wideningz00;
   long BgL_depthz00;
   bool_t BgL_finalzf3zf3;
   obj_t BgL_constructorz00;
   obj_t BgL_virtualzd2slotszd2numberz00;
   bool_t BgL_abstractzf3zf3;
   obj_t BgL_widezd2typezd2;
} *BgL_tclassz00_bglt;

typedef struct BgL_jclassz00_bgl {
   obj_t BgL_itszd2superzd2;
   obj_t BgL_slotsz00;
   obj_t BgL_packagez00;
} *BgL_jclassz00_bglt;

typedef struct BgL_wclassz00_bgl {
   obj_t BgL_itszd2classzd2;
} *BgL_wclassz00_bglt;

typedef struct BgL_slotz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_idz00;
   obj_t BgL_namez00;
   obj_t BgL_srcz00;
   obj_t BgL_classzd2ownerzd2;
   obj_t BgL_typez00;
   bool_t BgL_readzd2onlyzf3z21;
   obj_t BgL_defaultzd2valuezd2;
   obj_t BgL_virtualzd2numzd2;
   obj_t BgL_getterz00;
   obj_t BgL_setterz00;
   obj_t BgL_indexedz00;
   obj_t BgL_userzd2infozd2;
} *BgL_slotz00_bglt;

typedef struct BgL_backendz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_languagez00;
   obj_t BgL_namez00;
   obj_t BgL_externzd2variableszd2;
   obj_t BgL_externzd2functionszd2;
   obj_t BgL_externzd2typeszd2;
   obj_t BgL_variablesz00;
   obj_t BgL_functionsz00;
   obj_t BgL_typesz00;
} *BgL_backendz00_bglt;

typedef struct BgL_cvmz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_languagez00;
   obj_t BgL_namez00;
   obj_t BgL_externzd2variableszd2;
   obj_t BgL_externzd2functionszd2;
   obj_t BgL_externzd2typeszd2;
   obj_t BgL_variablesz00;
   obj_t BgL_functionsz00;
   obj_t BgL_typesz00;
} *BgL_cvmz00_bglt;

typedef struct BgL_sawcz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_languagez00;
   obj_t BgL_namez00;
   obj_t BgL_externzd2variableszd2;
   obj_t BgL_externzd2functionszd2;
   obj_t BgL_externzd2typeszd2;
   obj_t BgL_variablesz00;
   obj_t BgL_functionsz00;
   obj_t BgL_typesz00;
} *BgL_sawcz00_bglt;

typedef struct BgL_cgenz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_languagez00;
   obj_t BgL_namez00;
   obj_t BgL_externzd2variableszd2;
   obj_t BgL_externzd2functionszd2;
   obj_t BgL_externzd2typeszd2;
   obj_t BgL_variablesz00;
   obj_t BgL_functionsz00;
   obj_t BgL_typesz00;
} *BgL_cgenz00_bglt;

typedef struct BgL_jvmz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_languagez00;
   obj_t BgL_namez00;
   obj_t BgL_externzd2variableszd2;
   obj_t BgL_externzd2functionszd2;
   obj_t BgL_externzd2typeszd2;
   obj_t BgL_variablesz00;
   obj_t BgL_functionsz00;
   obj_t BgL_typesz00;
   obj_t BgL_qnamez00;
   obj_t BgL_classesz00;
   obj_t BgL_currentzd2classzd2;
   obj_t BgL_declarationsz00;
   obj_t BgL_fieldsz00;
   obj_t BgL_methodsz00;
   obj_t BgL_currentzd2methodzd2;
   obj_t BgL_codez00;
} *BgL_jvmz00_bglt;

typedef struct BgL_dotnetz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_languagez00;
   obj_t BgL_namez00;
   obj_t BgL_externzd2variableszd2;
   obj_t BgL_externzd2functionszd2;
   obj_t BgL_externzd2typeszd2;
   obj_t BgL_variablesz00;
   obj_t BgL_functionsz00;
   obj_t BgL_typesz00;
   obj_t BgL_outz00;
   obj_t BgL_qnamez00;
} *BgL_dotnetz00_bglt;

typedef struct BgL_indexedz00_bgl {
   int BgL_indexz00;
} *BgL_indexedz00_bglt;


extern obj_t BGl_loadzd2fieldzd2zzmsil_outz00(BgL_dotnetz00_bglt, obj_t, obj_t, obj_t);
static obj_t BGl_methodzd2initzd2zzmsil_funcallz00();
BGL_IMPORT obj_t open_input_string(obj_t);
static obj_t BGl__fillzd2indexedz12zc0zzmsil_funcallz00(obj_t, obj_t, obj_t);
extern obj_t BGl_dupz00zzmsil_outz00(BgL_dotnetz00_bglt);
BGL_IMPORT long BGl_classzd2numzd2zz__objectz00(obj_t);
static obj_t BGl__wideningzd2indexedzd2zzmsil_funcallz00(obj_t, obj_t);
static obj_t BGl_compilezd2dispatchzd2zzmsil_funcallz00(BgL_dotnetz00_bglt, obj_t, obj_t);
BGL_IMPORT obj_t BGl_readz00zz__readerz00(obj_t);
BGL_IMPORT bool_t BGl_iszd2azf3z21zz__objectz00(obj_t, obj_t);
BGL_IMPORT obj_t BGl_makezd2listzd2zz__r4_pairs_and_lists_6_3z00(int, obj_t);
BGL_IMPORT obj_t BGl_objectzd2ze3structz31zz__objectz00(BgL_objectz00_bglt);
extern obj_t BGl_storezd2globalzd2zzmsil_outz00(BgL_dotnetz00_bglt, BgL_globalz00_bglt);
extern obj_t BGl_openzd2methodzd2virtualz00zzmsil_outz00(BgL_dotnetz00_bglt, obj_t, obj_t, obj_t);
BGL_IMPORT obj_t BGl_registerzd2classz12zc0zz__objectz00(obj_t, obj_t, obj_t, obj_t, long, obj_t, obj_t, obj_t);
static obj_t BGl_structzb2objectzd2ze3objectzd2indexed3400z51zzmsil_funcallz00(obj_t, obj_t, obj_t);
extern obj_t BGl_castclassz00zzmsil_outz00(BgL_dotnetz00_bglt, BgL_typez00_bglt);
static long BGl_pushedz00zzmsil_funcallz00(obj_t);
extern obj_t BGl_globalz00zzast_varz00;
extern obj_t BGl_loadzd2parzd2zzmsil_outz00(BgL_dotnetz00_bglt, int);
BGL_EXPORTED_DECL obj_t BGl_modulezd2funcallzf2applyz20zzmsil_funcallz00(BgL_dotnetz00_bglt);
static obj_t BGl__allocatezd2indexedzd2zzmsil_funcallz00(obj_t);
BGL_IMPORT obj_t BGl_everyz00zz__r4_pairs_and_lists_6_3z00(obj_t, obj_t);
extern obj_t BGl_declarezd2maxstackzd2zzmsil_outz00(BgL_dotnetz00_bglt, obj_t);
static obj_t BGl_cnstzd2initzd2zzmsil_funcallz00();
extern obj_t BGl_getzd2procedureszd2zzsaw_proceduresz00(obj_t);
static obj_t BGl_importedzd2moduleszd2initz00zzmsil_funcallz00();
BGL_IMPORT obj_t make_struct(obj_t, int, obj_t);
BGL_IMPORT obj_t BGl_addzd2methodz12zc0zz__objectz00(obj_t, obj_t, obj_t);
extern obj_t BGl_storezd2parzd2zzmsil_outz00(BgL_dotnetz00_bglt, int);
extern obj_t BGl_closezd2methodzd2zzmsil_outz00(BgL_dotnetz00_bglt);
static obj_t BGl_compilezd2forzd2applyz00zzmsil_funcallz00(obj_t, obj_t, obj_t);
static obj_t BGl_compilezd2funizd2zzmsil_funcallz00(BgL_dotnetz00_bglt, long, obj_t, obj_t, obj_t);
BGL_IMPORT obj_t BGl_2zb2zb2zz__r4_numbers_6_5z00(obj_t, obj_t);
BGL_IMPORT obj_t BGl_2zd2zd2zz__r4_numbers_6_5z00(obj_t, obj_t);
extern BgL_globalz00_bglt BGl_globalzd2entryzd2zzbackend_cplibz00(BgL_globalz00_bglt);
BGL_IMPORT bool_t BGl_2zd3zd3zz__r4_numbers_6_5z00(obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zzmsil_funcallz00(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_modulezd2initializa7ationz75zztype_envz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzobject_classz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzobject_slotsz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzbackend_backendz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzbackend_libz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzbackend_cplibz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzsaw_proceduresz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzmsil_outz00(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_booleans_6_1z00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_pairs_and_lists_6_3z00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_numbers_6_5z00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_numbers_6_5_fixnumz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_control_features_6_9z00(long, char *);
static obj_t BGl_zc3anonymousza33528ze3z83zzmsil_funcallz00(obj_t, obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL BgL_indexedz00_bglt BGl_makezd2indexedzd2zzmsil_funcallz00(obj_t, obj_t, BgL_typez00_bglt, BgL_valuez00_bglt, obj_t, obj_t, obj_t, long, obj_t, obj_t, bool_t, bool_t, bool_t, obj_t, obj_t, obj_t, int);
static long BGl_getzd2maxzd2zzmsil_funcallz00(obj_t, long);
static obj_t BGl_getzd2labsz72za0zzmsil_funcallz00(long, obj_t, obj_t);
BGL_EXPORTED_DECL bool_t BGl_indexedzf3zf3zzmsil_funcallz00(obj_t);
BGL_EXPORTED_DECL BgL_indexedz00_bglt BGl_wideningzd2indexedzd2zzmsil_funcallz00(int);
BGL_IMPORT bool_t BGl_2ze3zd3z30zz__r4_numbers_6_5z00(obj_t, obj_t);
static obj_t BGl_compilezd2applyzd2zzmsil_funcallz00(BgL_dotnetz00_bglt, obj_t);
extern BgL_typez00_bglt BGl_findzd2typezd2zztype_envz00(obj_t);
extern obj_t BGl_callzd2globalzd2zzmsil_outz00(BgL_dotnetz00_bglt, BgL_globalz00_bglt);
BGL_IMPORT obj_t string_append(obj_t, obj_t);
BGL_IMPORT obj_t BGl_forzd2eachzd2zz__r4_control_features_6_9z00(obj_t, obj_t);
BGL_IMPORT BgL_objectz00_bglt BGl_structzb2objectzd2ze3objectz83zz__objectz00(BgL_objectz00_bglt, obj_t);
static obj_t BGl_zc3anonymousza33679ze3z83zzmsil_funcallz00(obj_t, obj_t, obj_t, obj_t);
extern BgL_globalz00_bglt BGl_makezd2globalzd2zzast_varz00(obj_t, obj_t, BgL_typez00_bglt, BgL_valuez00_bglt, obj_t, obj_t, obj_t, long, obj_t, obj_t, bool_t, bool_t, bool_t, obj_t, obj_t, obj_t);
static obj_t BGl__makezd2indexedzd2zzmsil_funcallz00(obj_t, obj_t, obj_t, obj_t, obj_t, obj_t, obj_t, obj_t, obj_t, obj_t, obj_t, obj_t, obj_t, obj_t, obj_t, obj_t, obj_t, obj_t);
extern obj_t BGl_pushzd2constantzd2zzmsil_outz00(BgL_dotnetz00_bglt, obj_t);
BGL_IMPORT obj_t BGl_integerzd2ze3stringz31zz__r4_numbers_6_5_fixnumz00(long, obj_t);
BGL_EXPORTED_DEF obj_t BGl_indexedz00zzmsil_funcallz00 = BUNSPEC;
extern obj_t BGl_newobjz00zzmsil_outz00(BgL_dotnetz00_bglt, obj_t, obj_t);
extern obj_t BGl_loadzd2globalzd2zzmsil_outz00(BgL_dotnetz00_bglt, BgL_globalz00_bglt);
BGL_EXPORTED_DECL BgL_globalz00_bglt BGl_allocatezd2indexedzd2zzmsil_funcallz00();
extern obj_t BGl_labelz00zzmsil_outz00(BgL_dotnetz00_bglt, obj_t, obj_t);
extern obj_t BGl_callzd2superzd2zzmsil_outz00(BgL_dotnetz00_bglt, obj_t, obj_t, obj_t, obj_t);
static bool_t BGl_neededzf3zf3zzmsil_funcallz00(long, obj_t);
static obj_t BGl__indexedzf3zf3zzmsil_funcallz00(obj_t, obj_t);
extern obj_t BGl_switchz00zzmsil_outz00(BgL_dotnetz00_bglt, obj_t);
extern obj_t BGl_globalzd2arityzd2zzbackend_cplibz00(BgL_globalz00_bglt);
static obj_t BGl_objectzd2initzd2zzmsil_funcallz00();
static obj_t BGl_compilezd2forzd2funcalliz00zzmsil_funcallz00(obj_t, obj_t, obj_t, obj_t);
extern obj_t BGl_returnz00zzmsil_outz00(BgL_dotnetz00_bglt);
static obj_t BGl_requirezd2initializa7ationz75zzmsil_funcallz00 = BUNSPEC;
static obj_t BGl__modulezd2funcallzf2apply4230z20zzmsil_funcallz00(obj_t, obj_t);
BGL_EXPORTED_DECL BgL_indexedz00_bglt BGl_fillzd2indexedz12zc0zzmsil_funcallz00(BgL_indexedz00_bglt, int);
static obj_t BGl_getzd2labszd2zzmsil_funcallz00(long, obj_t, obj_t);
extern obj_t BGl_popz00zzmsil_outz00(BgL_dotnetz00_bglt);
static obj_t BGl_libraryzd2moduleszd2initz00zzmsil_funcallz00();
static obj_t BGl_funcalliz00zzmsil_funcallz00(BgL_dotnetz00_bglt, long, obj_t);
static obj_t BGl_objectzd2ze3structzd2indexed3398ze3zzmsil_funcallz00(obj_t, obj_t);
BGL_IMPORT obj_t BGl_findzd2superzd2classzd2methodzd2zz__objectz00(BgL_objectz00_bglt, obj_t, obj_t);
static obj_t __cnst[ 9 ] ;


DEFINE_EXPORT_PROCEDURE( BGl_indexedzf3zd2envz21zzmsil_funcallz00, BgL_bgl__indexedza7f3za7f3za7za7msil_funcallza7004476za7, BGl__indexedzf3zf3zzmsil_funcallz00, 0L, 1 );
DEFINE_EXPORT_PROCEDURE( BGl_fillzd2indexedz12zd2envz12zzmsil_funcallz00, BgL_bgl__fillza7d2indexedza712za7c0za7za7msil_funcallza7004477z00, BGl__fillzd2indexedz12zc0zzmsil_funcallz00, 0L, 2 );
DEFINE_EXPORT_PROCEDURE( BGl_allocatezd2indexedzd2envz00zzmsil_funcallz00, BgL_bgl__allocateza7d2indexedza7d2za7za7msil_funcallza7004478za7, BGl__allocatezd2indexedzd2zzmsil_funcallz00, 0L, 0 );
BGL_IMPORT obj_t BGl_objectzd2ze3structzd2envze3zz__objectz00;
DEFINE_STATIC_PROCEDURE( BGl_proc4441z00zzmsil_funcallz00, BgL_bgl_objectza7d2za7e3structza7d2indexed3398za7e3za7za7msil_funcallza7004479za7, BGl_objectzd2ze3structzd2indexed3398ze3zzmsil_funcallz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc4442z00zzmsil_funcallz00, BgL_bgl_structza7b2objectza7d2za7e3objectza7d2indexed3400za751za7za7msil_funcallza7004480z00, BGl_structzb2objectzd2ze3objectzd2indexed3400z51zzmsil_funcallz00, 0L, 2 );
DEFINE_STRING( BGl_string4443z00zzmsil_funcallz00, BgL_bgl_string4443za700za7za7msil_funcallza7004481z00, "indexed cdr car pair (obj) (obj obj) index int obj ", 51 );
DEFINE_STRING( BGl_string4440z00zzmsil_funcallz00, BgL_bgl_string4440za700za7za7msil_funcallza7004482z00, "apply", 5 );
DEFINE_STRING( BGl_string4439z00zzmsil_funcallz00, BgL_bgl_string4439za700za7za7msil_funcallza7004483z00, "nil", 3 );
DEFINE_STRING( BGl_string4438z00zzmsil_funcallz00, BgL_bgl_string4438za700za7za7msil_funcallza7004484z00, "bigloo.pair", 11 );
DEFINE_STRING( BGl_string4437z00zzmsil_funcallz00, BgL_bgl_string4437za700za7za7msil_funcallza7004485z00, "L", 1 );
DEFINE_STRING( BGl_string4436z00zzmsil_funcallz00, BgL_bgl_string4436za700za7za7msil_funcallza7004486z00, "err", 3 );
DEFINE_STRING( BGl_string4435z00zzmsil_funcallz00, BgL_bgl_string4435za700za7za7msil_funcallza7004487z00, "", 0 );
DEFINE_STRING( BGl_string4434z00zzmsil_funcallz00, BgL_bgl_string4434za700za7za7msil_funcallza7004488z00, "bigloo.procedure", 16 );
DEFINE_STRING( BGl_string4433z00zzmsil_funcallz00, BgL_bgl_string4433za700za7za7msil_funcallza7004489z00, "funcall", 7 );
BGL_IMPORT obj_t BGl_notzd2envzd2zz__r4_booleans_6_1z00;
DEFINE_EXPORT_PROCEDURE( BGl_wideningzd2indexedzd2envz00zzmsil_funcallz00, BgL_bgl__wideningza7d2indexedza7d2za7za7msil_funcallza7004490za7, BGl__wideningzd2indexedzd2zzmsil_funcallz00, 0L, 1 );
DEFINE_EXPORT_PROCEDURE( BGl_makezd2indexedzd2envz00zzmsil_funcallz00, BgL_bgl__makeza7d2indexedza7d2za7za7msil_funcallza7004491za7, BGl__makezd2indexedzd2zzmsil_funcallz00, 0L, 17 );
DEFINE_EXPORT_PROCEDURE( BGl_modulezd2funcallzf2applyzd2envzf2zzmsil_funcallz00, BgL_bgl__moduleza7d2funcallza7f2apply4230za720za7za7msil_funcallza7004492z00, BGl__modulezd2funcallzf2apply4230z20zzmsil_funcallz00, 0L, 1 );
BGL_IMPORT obj_t BGl_structzb2objectzd2ze3objectzd2envz51zz__objectz00;



/* module-initialization */
BGL_EXPORTED_DEF obj_t BGl_modulezd2initializa7ationz75zzmsil_funcallz00(long BgL_checksumz00_1783, char * BgL_fromz00_1784)
{ AN_OBJECT;
{ 
if(
CBOOL(BGl_requirezd2initializa7ationz75zzmsil_funcallz00))
{ 
BGl_requirezd2initializa7ationz75zzmsil_funcallz00 = 
BBOOL(((bool_t)0)); 
BGl_libraryzd2moduleszd2initz00zzmsil_funcallz00(); 
BGl_cnstzd2initzd2zzmsil_funcallz00(); 
BGl_importedzd2moduleszd2initz00zzmsil_funcallz00(); 
BGl_objectzd2initzd2zzmsil_funcallz00(); 
BGl_methodzd2initzd2zzmsil_funcallz00(); 
return BUNSPEC;}  else 
{ 
return BUNSPEC;} } 
}



/* library-modules-init */
obj_t BGl_libraryzd2moduleszd2initz00zzmsil_funcallz00()
{ AN_OBJECT;
{ /* ./SawMsil/funcall.scm 1 */
BGl_modulezd2initializa7ationz75zz__objectz00(((long)0), "msil_funcall"); 
BGl_modulezd2initializa7ationz75zz__readerz00(((long)0), "msil_funcall"); 
BGl_modulezd2initializa7ationz75zz__r4_pairs_and_lists_6_3z00(((long)0), "msil_funcall"); 
BGl_modulezd2initializa7ationz75zz__r4_numbers_6_5z00(((long)0), "msil_funcall"); 
BGl_modulezd2initializa7ationz75zz__r4_booleans_6_1z00(((long)0), "msil_funcall"); 
BGl_modulezd2initializa7ationz75zz__r4_control_features_6_9z00(((long)0), "msil_funcall"); 
BGl_modulezd2initializa7ationz75zz__r4_numbers_6_5_fixnumz00(((long)0), "msil_funcall"); 
return BUNSPEC;} 
}



/* cnst-init */
obj_t BGl_cnstzd2initzd2zzmsil_funcallz00()
{ AN_OBJECT;
{ /* ./SawMsil/funcall.scm 1 */
{ /* ./SawMsil/funcall.scm 1 */
obj_t BgL_cportz00_1757;
BgL_cportz00_1757 = 
open_input_string(BGl_string4443z00zzmsil_funcallz00); 
{ 
long BgL_iz00_1758;
BgL_iz00_1758 = ((long)8); 
BgL_loopz00_1759:
{ /* ./SawMsil/funcall.scm 1 */
bool_t BgL_test4445z00_1760;
BgL_test4445z00_1760 = 
(BgL_iz00_1758==((long)-1)); 
if(BgL_test4445z00_1760)
{ /* ./SawMsil/funcall.scm 1 */
return BUNSPEC;}  else 
{ /* ./SawMsil/funcall.scm 1 */
{ /* ./SawMsil/funcall.scm 1 */
obj_t BgL_arg4447z00_1761;
{ /* ./SawMsil/funcall.scm 1 */
obj_t BgL_list4450z00_1762;
BgL_list4450z00_1762 = 
MAKE_PAIR(BgL_cportz00_1757, BNIL); 
BgL_arg4447z00_1761 = 
BGl_readz00zz__readerz00(BgL_list4450z00_1762); } 
{ /* ./SawMsil/funcall.scm 1 */
int BgL_auxz00_1805;
BgL_auxz00_1805 = 
(int)(BgL_iz00_1758); 
CNST_TABLE_SET(BgL_auxz00_1805, BgL_arg4447z00_1761); } } 
{ /* ./SawMsil/funcall.scm 1 */
int BgL_auxz00_1763;
{ /* ./SawMsil/funcall.scm 1 */
long BgL_auxz00_1808;
BgL_auxz00_1808 = 
(BgL_iz00_1758-((long)1)); 
BgL_auxz00_1763 = 
(int)(BgL_auxz00_1808); } 
{ 
long BgL_iz00_1811;
BgL_iz00_1811 = 
(long)(BgL_auxz00_1763); 
BgL_iz00_1758 = BgL_iz00_1811; 
goto BgL_loopz00_1759;} } } } } } } 
}



/* module-funcall/apply */
BGL_EXPORTED_DEF obj_t BGl_modulezd2funcallzf2applyz20zzmsil_funcallz00(BgL_dotnetz00_bglt BgL_mez00_1)
{ AN_OBJECT;
{ /* ./SawMsil/funcall.scm 19 */
{ /* ./SawMsil/funcall.scm 20 */
obj_t BgL_pz00_897;
{ /* ./SawMsil/funcall.scm 20 */
obj_t BgL_arg3430z00_909;
{ /* ./SawMsil/funcall.scm 20 */
BgL_backendz00_bglt BgL_obj2989z00_1554;
BgL_obj2989z00_1554 = 
(BgL_backendz00_bglt)(BgL_mez00_1); 
BgL_arg3430z00_909 = 
(((BgL_backendz00_bglt)CREF(BgL_obj2989z00_1554))->BgL_functionsz00); } 
BgL_pz00_897 = 
BGl_getzd2procedureszd2zzsaw_proceduresz00(BgL_arg3430z00_909); } 
{ /* ./SawMsil/funcall.scm 22 */
long BgL_nz00_898;
BgL_nz00_898 = ((long)0); 
{ 
obj_t BgL_l3379z00_899;
BgL_l3379z00_899 = BgL_pz00_897; 
BgL_forzd2each3380zd2_900:
{ /* ./SawMsil/funcall.scm 23 */
bool_t BgL_test3402z00_901;
BgL_test3402z00_901 = 
PAIRP(BgL_l3379z00_899); 
if(BgL_test3402z00_901)
{ /* ./SawMsil/funcall.scm 23 */
{ /* ./SawMsil/funcall.scm 24 */
obj_t BgL_varz00_902;
BgL_varz00_902 = 
CAR(BgL_l3379z00_899); 
{ /* ./SawMsil/funcall.scm 24 */
BgL_globalz00_bglt BgL_obj3381z00_903;
{ 
BgL_globalz00_bglt BgL_auxz00_1819;
BgL_auxz00_1819 = 
(BgL_globalz00_bglt)(BgL_varz00_902); 
BgL_obj3381z00_903 = 
((BgL_globalz00_bglt)BgL_auxz00_1819); } 
{ /* ./SawMsil/funcall.scm 24 */
BgL_indexedz00_bglt BgL_arg3404z00_904;
{ /* ./SawMsil/funcall.scm 24 */
long BgL_arg3407z00_905;
BgL_arg3407z00_905 = BgL_nz00_898; 
{ /* ./SawMsil/funcall.scm 24 */
BgL_indexedz00_bglt BgL_res4223z00_1563;
{ /* ./SawMsil/funcall.scm 24 */
int BgL_index3295z00_1557;
BgL_index3295z00_1557 = 
(int)(BgL_arg3407z00_905); 
{ /* ./SawMsil/funcall.scm 24 */
BgL_indexedz00_bglt BgL_new3296z00_1558;
BgL_new3296z00_1558 = 
((BgL_indexedz00_bglt)BREF( GC_MALLOC (sizeof(struct BgL_indexedz00_bgl)))); 
{ /* ./SawMsil/funcall.scm 24 */
BgL_indexedz00_bglt BgL_res4222z00_1562;
{ /* ./SawMsil/funcall.scm 24 */
BgL_indexedz00_bglt BgL_new3318z00_1559;
BgL_new3318z00_1559 = BgL_new3296z00_1558; 
{ /* ./SawMsil/funcall.scm 24 */
int BgL_index3317z00_1561;
BgL_index3317z00_1561 = BgL_index3295z00_1557; 
((((BgL_indexedz00_bglt)CREF(BgL_new3318z00_1559))->BgL_indexz00) = ((int)BgL_index3317z00_1561), BUNSPEC); 
BgL_res4222z00_1562 = BgL_new3318z00_1559; } } BgL_res4222z00_1562; } 
BgL_res4223z00_1563 = BgL_new3296z00_1558; } } 
BgL_arg3404z00_904 = BgL_res4223z00_1563; } } 
{ /* ./SawMsil/funcall.scm 24 */
obj_t BgL_auxz00_1827;BgL_objectz00_bglt BgL_auxz00_1825;
BgL_auxz00_1827 = 
(obj_t)(BgL_arg3404z00_904); 
BgL_auxz00_1825 = 
(BgL_objectz00_bglt)(BgL_obj3381z00_903); 
BGL_OBJECT_WIDENING_SET(BgL_auxz00_1825, BgL_auxz00_1827); } } 
{ /* ./SawMsil/funcall.scm 24 */
long BgL_arg3410z00_906;
BgL_arg3410z00_906 = 
BGl_classzd2numzd2zz__objectz00(BGl_indexedz00zzmsil_funcallz00); 
{ /* ./SawMsil/funcall.scm 24 */
BgL_objectz00_bglt BgL_objz00_1564;
BgL_objz00_1564 = 
(BgL_objectz00_bglt)(BgL_obj3381z00_903); 
BGL_OBJECT_CLASS_NUM_SET(BgL_objz00_1564, BgL_arg3410z00_906); } } 
{ /* ./SawMsil/funcall.scm 24 */
obj_t BgL_objz00_1566;
BgL_objz00_1566 = 
(obj_t)(BgL_obj3381z00_903); 
BGL_HEAP_DEBUG_MARK_OBJ(BgL_objz00_1566); BUNSPEC; } BgL_obj3381z00_903; } 
{ /* ./SawMsil/funcall.scm 25 */
long BgL_za71za7_1567;
BgL_za71za7_1567 = BgL_nz00_898; 
BgL_nz00_898 = 
(BgL_za71za7_1567+((long)1)); } } 
{ /* ./SawMsil/funcall.scm 23 */
obj_t BgL_arg3417z00_907;
BgL_arg3417z00_907 = 
CDR(BgL_l3379z00_899); 
{ 
obj_t BgL_l3379z00_1837;
BgL_l3379z00_1837 = BgL_arg3417z00_907; 
BgL_l3379z00_899 = BgL_l3379z00_1837; 
goto BgL_forzd2each3380zd2_900;} } }  else 
{ /* ./SawMsil/funcall.scm 23 */((bool_t)1); } } } } 
{ /* ./SawMsil/funcall.scm 27 */
bool_t BgL_test3421z00_908;
BgL_test3421z00_908 = 
NULLP(BgL_pz00_897); 
if(BgL_test3421z00_908)
{ /* ./SawMsil/funcall.scm 27 */
return BFALSE;}  else 
{ /* ./SawMsil/funcall.scm 27 */
BGl_funcalliz00zzmsil_funcallz00(BgL_mez00_1, ((long)0), BgL_pz00_897); 
BGl_funcalliz00zzmsil_funcallz00(BgL_mez00_1, ((long)1), BgL_pz00_897); 
BGl_funcalliz00zzmsil_funcallz00(BgL_mez00_1, ((long)2), BgL_pz00_897); 
BGl_funcalliz00zzmsil_funcallz00(BgL_mez00_1, ((long)3), BgL_pz00_897); 
BGl_funcalliz00zzmsil_funcallz00(BgL_mez00_1, ((long)4), BgL_pz00_897); 
return 
BGl_compilezd2applyzd2zzmsil_funcallz00(BgL_mez00_1, BgL_pz00_897);} } } } 
}



/* _module-funcall/apply4230 */
obj_t BGl__modulezd2funcallzf2apply4230z20zzmsil_funcallz00(obj_t BgL_envz00_1701, obj_t BgL_mez00_1702)
{ AN_OBJECT;
{ /* ./SawMsil/funcall.scm 19 */
return 
BGl_modulezd2funcallzf2applyz20zzmsil_funcallz00(
(BgL_dotnetz00_bglt)(BgL_mez00_1702));} 
}



/* funcalli */
obj_t BGl_funcalliz00zzmsil_funcallz00(BgL_dotnetz00_bglt BgL_mez00_2, long BgL_iz00_3, obj_t BgL_procsz00_4)
{ AN_OBJECT;
{ /* ./SawMsil/funcall.scm 38 */
{ /* ./SawMsil/funcall.scm 45 */
obj_t BgL_needz00_911;
{ /* ./SawMsil/funcall.scm 45 */
bool_t BgL_test3467z00_927;
BgL_test3467z00_927 = 
NULLP(BgL_procsz00_4); 
if(BgL_test3467z00_927)
{ /* ./SawMsil/funcall.scm 45 */
BgL_needz00_911 = BNIL; }  else 
{ /* ./SawMsil/funcall.scm 45 */
obj_t BgL_head3387z00_928;
{ /* ./SawMsil/funcall.scm 45 */
bool_t BgL_arg3488z00_939;
{ /* ./SawMsil/funcall.scm 45 */
obj_t BgL_arg3492z00_941;
BgL_arg3492z00_941 = 
CAR(BgL_procsz00_4); 
BgL_arg3488z00_939 = 
BGl_neededzf3zf3zzmsil_funcallz00(BgL_iz00_3, BgL_arg3492z00_941); } 
{ /* ./SawMsil/funcall.scm 45 */
obj_t BgL_obj1z00_1573;
BgL_obj1z00_1573 = 
BBOOL(BgL_arg3488z00_939); 
BgL_head3387z00_928 = 
MAKE_PAIR(BgL_obj1z00_1573, BNIL); } } 
{ 
obj_t BgL_l3385z00_929;obj_t BgL_tail3388z00_930;
{ /* ./SawMsil/funcall.scm 45 */
obj_t BgL_arg3469z00_932;
BgL_arg3469z00_932 = 
CDR(BgL_procsz00_4); 
BgL_l3385z00_929 = BgL_arg3469z00_932; 
BgL_tail3388z00_930 = BgL_head3387z00_928; 
BgL_map3386z00_931:
{ /* ./SawMsil/funcall.scm 45 */
bool_t BgL_test3472z00_933;
BgL_test3472z00_933 = 
NULLP(BgL_l3385z00_929); 
if(BgL_test3472z00_933)
{ /* ./SawMsil/funcall.scm 45 */
BgL_needz00_911 = BgL_head3387z00_928; }  else 
{ /* ./SawMsil/funcall.scm 45 */
obj_t BgL_newtail3389z00_934;
{ /* ./SawMsil/funcall.scm 45 */
bool_t BgL_arg3479z00_936;
{ /* ./SawMsil/funcall.scm 45 */
obj_t BgL_arg3483z00_938;
BgL_arg3483z00_938 = 
CAR(BgL_l3385z00_929); 
BgL_arg3479z00_936 = 
BGl_neededzf3zf3zzmsil_funcallz00(BgL_iz00_3, BgL_arg3483z00_938); } 
{ /* ./SawMsil/funcall.scm 45 */
obj_t BgL_obj1z00_1578;
BgL_obj1z00_1578 = 
BBOOL(BgL_arg3479z00_936); 
BgL_newtail3389z00_934 = 
MAKE_PAIR(BgL_obj1z00_1578, BNIL); } } 
SET_CDR(BgL_tail3388z00_930, BgL_newtail3389z00_934); 
{ /* ./SawMsil/funcall.scm 45 */
obj_t BgL_arg3475z00_935;
BgL_arg3475z00_935 = 
CDR(BgL_l3385z00_929); 
{ 
obj_t BgL_tail3388z00_1864;obj_t BgL_l3385z00_1863;
BgL_l3385z00_1863 = BgL_arg3475z00_935; 
BgL_tail3388z00_1864 = BgL_newtail3389z00_934; 
BgL_tail3388z00_930 = BgL_tail3388z00_1864; 
BgL_l3385z00_929 = BgL_l3385z00_1863; 
goto BgL_map3386z00_931;} } } } } } } } 
{ /* ./SawMsil/funcall.scm 46 */
bool_t BgL_test3433z00_912;
{ /* ./SawMsil/funcall.scm 46 */
obj_t BgL_list3465z00_925;
BgL_list3465z00_925 = 
MAKE_PAIR(BgL_needz00_911, BNIL); 
{ /* ./SawMsil/funcall.scm 46 */
obj_t BgL_auxz00_1866;
BgL_auxz00_1866 = 
BGl_everyz00zz__r4_pairs_and_lists_6_3z00(BGl_notzd2envzd2zz__r4_booleans_6_1z00, BgL_list3465z00_925); 
BgL_test3433z00_912 = 
CBOOL(BgL_auxz00_1866); } } 
if(BgL_test3433z00_912)
{ /* ./SawMsil/funcall.scm 46 */
return BFALSE;}  else 
{ /* ./SawMsil/funcall.scm 47 */
obj_t BgL_fnamez00_913;
{ /* ./SawMsil/funcall.scm 47 */
obj_t BgL_arg3460z00_923;
BgL_arg3460z00_923 = 
BGl_integerzd2ze3stringz31zz__r4_numbers_6_5_fixnumz00(BgL_iz00_3, BNIL); 
BgL_fnamez00_913 = 
string_append(BGl_string4433z00zzmsil_funcallz00, BgL_arg3460z00_923); } 
{ /* ./SawMsil/funcall.scm 47 */

{ /* ./SawMsil/funcall.scm 48 */
obj_t BgL_arg3436z00_914;obj_t BgL_arg3437z00_915;
BgL_arg3436z00_914 = 
CNST_TABLE_REF(((long)0)); 
{ /* ./SawMsil/funcall.scm 48 */
obj_t BgL_list3440z00_916;
{ /* ./SawMsil/funcall.scm 48 */
obj_t BgL_auxz00_1873;
BgL_auxz00_1873 = 
CNST_TABLE_REF(((long)0)); 
BgL_list3440z00_916 = 
MAKE_PAIR(BgL_auxz00_1873, BNIL); } 
BgL_arg3437z00_915 = 
BGl_makezd2listzd2zz__r4_pairs_and_lists_6_3z00(
(int)(BgL_iz00_3), BgL_list3440z00_916); } 
BGl_openzd2methodzd2virtualz00zzmsil_outz00(BgL_mez00_2, BgL_arg3436z00_914, BgL_fnamez00_913, BgL_arg3437z00_915); } 
{ /* ./SawMsil/funcall.scm 49 */
long BgL_arg3443z00_917;
BgL_arg3443z00_917 = 
(BgL_iz00_3+((long)2)); 
BGl_declarezd2maxstackzd2zzmsil_outz00(BgL_mez00_2, 
BINT(BgL_arg3443z00_917)); } 
{ 
long BgL_iiz00_918;
BgL_iiz00_918 = ((long)0); 
BgL_pushz00_919:
{ /* ./SawMsil/funcall.scm 51 */
bool_t BgL_test3447z00_920;
BgL_test3447z00_920 = 
(BgL_iiz00_918<=BgL_iz00_3); 
if(BgL_test3447z00_920)
{ /* ./SawMsil/funcall.scm 51 */
BGl_loadzd2parzd2zzmsil_outz00(BgL_mez00_2, 
(int)(BgL_iiz00_918)); 
{ /* ./SawMsil/funcall.scm 52 */
long BgL_arg3450z00_921;
BgL_arg3450z00_921 = 
(BgL_iiz00_918+((long)1)); 
{ 
long BgL_iiz00_1887;
BgL_iiz00_1887 = BgL_arg3450z00_921; 
BgL_iiz00_918 = BgL_iiz00_1887; 
goto BgL_pushz00_919;} } }  else 
{ /* ./SawMsil/funcall.scm 51 */((bool_t)0); } } } 
BGl_loadzd2parzd2zzmsil_outz00(BgL_mez00_2, 
(int)(((long)0))); 
BGl_loadzd2fieldzd2zzmsil_outz00(BgL_mez00_2, 
CNST_TABLE_REF(((long)1)), BGl_string4434z00zzmsil_funcallz00, 
CNST_TABLE_REF(((long)2))); 
BGl_compilezd2funizd2zzmsil_funcallz00(BgL_mez00_2, BgL_iz00_3, BgL_needz00_911, BgL_procsz00_4, BgL_fnamez00_913); 
return 
BGl_closezd2methodzd2zzmsil_outz00(BgL_mez00_2);} } } } } 
}



/* needed? */
bool_t BGl_neededzf3zf3zzmsil_funcallz00(long BgL_iz00_1756, obj_t BgL_pz00_942)
{ AN_OBJECT;
{ /* ./SawMsil/funcall.scm 44 */
{ /* ./SawMsil/funcall.scm 40 */
obj_t BgL_arityz00_944;
BgL_arityz00_944 = 
BGl_globalzd2arityzd2zzbackend_cplibz00(
(BgL_globalz00_bglt)(BgL_pz00_942)); 
if(
CBOOL(BgL_arityz00_944))
{ /* ./SawMsil/funcall.scm 42 */
bool_t BgL__ortest_3382z00_945;
{ /* ./SawMsil/funcall.scm 42 */
bool_t BgL_testz00_1899;
{ /* ./SawMsil/funcall.scm 42 */
long BgL_auxz00_1900;
BgL_auxz00_1900 = 
(long)CINT(BgL_arityz00_944); 
BgL_testz00_1899 = 
(BgL_auxz00_1900>=((long)0)); } 
if(BgL_testz00_1899)
{ /* ./SawMsil/funcall.scm 42 */
long BgL_auxz00_1903;
BgL_auxz00_1903 = 
(long)CINT(BgL_arityz00_944); 
BgL__ortest_3382z00_945 = 
(BgL_auxz00_1903==BgL_iz00_1756); }  else 
{ /* ./SawMsil/funcall.scm 42 */
BgL__ortest_3382z00_945 = ((bool_t)0); } } 
if(BgL__ortest_3382z00_945)
{ /* ./SawMsil/funcall.scm 43 */
return BgL__ortest_3382z00_945;}  else 
{ /* ./SawMsil/funcall.scm 43 */
bool_t BgL_testz00_1907;
{ /* ./SawMsil/funcall.scm 43 */
long BgL_auxz00_1908;
BgL_auxz00_1908 = 
(long)CINT(BgL_arityz00_944); 
BgL_testz00_1907 = 
(BgL_auxz00_1908<((long)0)); } 
if(BgL_testz00_1907)
{ /* ./SawMsil/funcall.scm 43 */
obj_t BgL_auxz00_1911;
{ /* ./SawMsil/funcall.scm 43 */
long BgL_auxz00_1912;
BgL_auxz00_1912 = 
(((long)-1)-BgL_iz00_1756); 
BgL_auxz00_1911 = 
BINT(BgL_auxz00_1912); } 
return 
BGl_2ze3zd3z30zz__r4_numbers_6_5z00(BgL_arityz00_944, BgL_auxz00_1911);}  else 
{ /* ./SawMsil/funcall.scm 43 */
return ((bool_t)0);} } }  else 
{ /* ./SawMsil/funcall.scm 41 */
return 
(BgL_iz00_1756<=((long)1));} } } 
}



/* compile-funi */
obj_t BGl_compilezd2funizd2zzmsil_funcallz00(BgL_dotnetz00_bglt BgL_mez00_5, long BgL_iz00_6, obj_t BgL_needz00_7, obj_t BgL_procsz00_8, obj_t BgL_fnamez00_9)
{ AN_OBJECT;
{ /* ./SawMsil/funcall.scm 58 */
{ /* ./SawMsil/funcall.scm 65 */
obj_t BgL_labsz00_952;
BgL_labsz00_952 = 
BGl_getzd2labsz72za0zzmsil_funcallz00(((long)0), BgL_needz00_7, BgL_procsz00_8); 
BGl_switchz00zzmsil_outz00(BgL_mez00_5, BgL_labsz00_952); 
BGl_labelz00zzmsil_outz00(BgL_mez00_5, BGl_string4435z00zzmsil_funcallz00, BGl_string4436z00zzmsil_funcallz00); 
{ /* ./SawMsil/funcall.scm 68 */
obj_t BgL_arg3509z00_953;obj_t BgL_arg3511z00_955;
BgL_arg3509z00_953 = 
CNST_TABLE_REF(((long)0)); 
{ /* ./SawMsil/funcall.scm 68 */
obj_t BgL_list3514z00_956;
{ /* ./SawMsil/funcall.scm 68 */
obj_t BgL_auxz00_1921;
BgL_auxz00_1921 = 
CNST_TABLE_REF(((long)0)); 
BgL_list3514z00_956 = 
MAKE_PAIR(BgL_auxz00_1921, BNIL); } 
BgL_arg3511z00_955 = 
BGl_makezd2listzd2zz__r4_pairs_and_lists_6_3z00(
(int)(BgL_iz00_6), BgL_list3514z00_956); } 
BGl_callzd2superzd2zzmsil_outz00(BgL_mez00_5, BgL_arg3509z00_953, BGl_string4434z00zzmsil_funcallz00, BgL_fnamez00_9, BgL_arg3511z00_955); } 
BGl_returnz00zzmsil_outz00(BgL_mez00_5); 
{ /* ./SawMsil/funcall.scm 70 */
obj_t BgL_zc3anonymousza33528ze3z83_1705;
{ 
int BgL_auxz00_1930;int BgL_auxz00_1928;
BgL_auxz00_1930 = 
(int)(((long)2)); 
BgL_auxz00_1928 = 
(int)(((long)3)); 
BgL_zc3anonymousza33528ze3z83_1705 = 
make_fx_procedure(BGl_zc3anonymousza33528ze3z83zzmsil_funcallz00, BgL_auxz00_1928, BgL_auxz00_1930); } 
{ /* ./SawMsil/funcall.scm 70 */
obj_t BgL_auxz00_1935;int BgL_auxz00_1933;
BgL_auxz00_1935 = 
(obj_t)(BgL_mez00_5); 
BgL_auxz00_1933 = 
(int)(((long)0)); 
PROCEDURE_SET(BgL_zc3anonymousza33528ze3z83_1705, BgL_auxz00_1933, BgL_auxz00_1935); } 
{ /* ./SawMsil/funcall.scm 70 */
obj_t BgL_auxz00_1940;int BgL_auxz00_1938;
BgL_auxz00_1940 = 
BINT(BgL_iz00_6); 
BgL_auxz00_1938 = 
(int)(((long)1)); 
PROCEDURE_SET(BgL_zc3anonymousza33528ze3z83_1705, BgL_auxz00_1938, BgL_auxz00_1940); } 
{ /* ./SawMsil/funcall.scm 70 */
obj_t BgL_list3520z00_958;
{ /* ./SawMsil/funcall.scm 70 */
obj_t BgL_arg3522z00_959;
{ /* ./SawMsil/funcall.scm 70 */
obj_t BgL_arg3525z00_960;
BgL_arg3525z00_960 = 
MAKE_PAIR(BgL_procsz00_8, BNIL); 
BgL_arg3522z00_959 = 
MAKE_PAIR(BgL_labsz00_952, BgL_arg3525z00_960); } 
BgL_list3520z00_958 = 
MAKE_PAIR(BgL_needz00_7, BgL_arg3522z00_959); } 
return 
BGl_forzd2eachzd2zz__r4_control_features_6_9z00(BgL_zc3anonymousza33528ze3z83_1705, BgL_list3520z00_958);} } } } 
}



/* get-labs' */
obj_t BGl_getzd2labsz72za0zzmsil_funcallz00(long BgL_iz00_966, obj_t BgL_nsz00_967, obj_t BgL_psz00_968)
{ AN_OBJECT;
{ /* ./SawMsil/funcall.scm 64 */
{ 
long BgL_iz00_977;
{ /* ./SawMsil/funcall.scm 61 */
bool_t BgL_test3532z00_970;
BgL_test3532z00_970 = 
NULLP(BgL_nsz00_967); 
if(BgL_test3532z00_970)
{ /* ./SawMsil/funcall.scm 61 */
return BNIL;}  else 
{ /* ./SawMsil/funcall.scm 63 */
obj_t BgL_arg3534z00_971;obj_t BgL_arg3535z00_972;
{ /* ./SawMsil/funcall.scm 63 */
bool_t BgL_test3537z00_973;
{ /* ./SawMsil/funcall.scm 63 */
obj_t BgL_auxz00_1949;
BgL_auxz00_1949 = 
CAR(BgL_nsz00_967); 
BgL_test3537z00_973 = 
CBOOL(BgL_auxz00_1949); } 
if(BgL_test3537z00_973)
{ /* ./SawMsil/funcall.scm 63 */
BgL_iz00_977 = BgL_iz00_966; 
{ /* ./SawMsil/funcall.scm 59 */
obj_t BgL_arg3553z00_980;
BgL_arg3553z00_980 = 
BGl_integerzd2ze3stringz31zz__r4_numbers_6_5_fixnumz00(BgL_iz00_977, BNIL); 
BgL_arg3534z00_971 = 
string_append(BGl_string4437z00zzmsil_funcallz00, BgL_arg3553z00_980); } }  else 
{ /* ./SawMsil/funcall.scm 63 */
BgL_arg3534z00_971 = BGl_string4436z00zzmsil_funcallz00; } } 
{ /* ./SawMsil/funcall.scm 64 */
long BgL_arg3541z00_974;obj_t BgL_arg3542z00_975;obj_t BgL_arg3543z00_976;
BgL_arg3541z00_974 = 
(BgL_iz00_966+((long)1)); 
BgL_arg3542z00_975 = 
CDR(BgL_nsz00_967); 
BgL_arg3543z00_976 = 
CDR(BgL_psz00_968); 
BgL_arg3535z00_972 = 
BGl_getzd2labsz72za0zzmsil_funcallz00(BgL_arg3541z00_974, BgL_arg3542z00_975, BgL_arg3543z00_976); } 
return 
MAKE_PAIR(BgL_arg3534z00_971, BgL_arg3535z00_972);} } } } 
}



/* <anonymous:3528> */
obj_t BGl_zc3anonymousza33528ze3z83zzmsil_funcallz00(obj_t BgL_envz00_1706, obj_t BgL_nzf3zf3_1709, obj_t BgL_labz00_1710, obj_t BgL_pz00_1711)
{ AN_OBJECT;
{ /* ./SawMsil/funcall.scm 70 */
{ /* ./SawMsil/funcall.scm 70 */
obj_t BgL_mez00_1707;obj_t BgL_iz00_1708;
{ /* ./SawMsil/funcall.scm 70 */
int BgL_auxz00_1960;
BgL_auxz00_1960 = 
(int)(((long)0)); 
BgL_mez00_1707 = 
PROCEDURE_REF(BgL_envz00_1706, BgL_auxz00_1960); } 
{ /* ./SawMsil/funcall.scm 70 */
int BgL_auxz00_1963;
BgL_auxz00_1963 = 
(int)(((long)1)); 
BgL_iz00_1708 = 
PROCEDURE_REF(BgL_envz00_1706, BgL_auxz00_1963); } 
{ 
obj_t BgL_nzf3zf3_961;obj_t BgL_labz00_962;obj_t BgL_pz00_963;
BgL_nzf3zf3_961 = BgL_nzf3zf3_1709; 
BgL_labz00_962 = BgL_labz00_1710; 
BgL_pz00_963 = BgL_pz00_1711; 
if(
CBOOL(BgL_nzf3zf3_961))
{ /* ./SawMsil/funcall.scm 70 */
return 
BGl_compilezd2forzd2funcalliz00zzmsil_funcallz00(BgL_mez00_1707, BgL_iz00_1708, BgL_labz00_962, BgL_pz00_963);}  else 
{ /* ./SawMsil/funcall.scm 70 */
return BFALSE;} } } } 
}



/* compile-for-funcalli */
obj_t BGl_compilezd2forzd2funcalliz00zzmsil_funcallz00(obj_t BgL_mez00_10, obj_t BgL_iz00_11, obj_t BgL_labz00_12, obj_t BgL_pz00_13)
{ AN_OBJECT;
{ /* ./SawMsil/funcall.scm 76 */
{ /* ./SawMsil/funcall.scm 77 */
obj_t BgL_arityz00_984;
BgL_arityz00_984 = 
BGl_globalzd2arityzd2zzbackend_cplibz00(
(BgL_globalz00_bglt)(BgL_pz00_13)); 
{ 
obj_t BgL_nz00_992;
BGl_labelz00zzmsil_outz00(
(BgL_dotnetz00_bglt)(BgL_mez00_10), BGl_string4435z00zzmsil_funcallz00, BgL_labz00_12); 
{ /* ./SawMsil/funcall.scm 85 */
bool_t BgL_test3558z00_986;
BgL_test3558z00_986 = 
(BgL_arityz00_984==BFALSE); 
if(BgL_test3558z00_986)
{ /* ./SawMsil/funcall.scm 85 */
{ /* ./SawMsil/funcall.scm 86 */
bool_t BgL_test3559z00_987;
{ /* ./SawMsil/funcall.scm 86 */
long BgL_auxz00_1975;
BgL_auxz00_1975 = 
(long)CINT(BgL_iz00_11); 
BgL_test3559z00_987 = 
(BgL_auxz00_1975==((long)0)); } 
if(BgL_test3559z00_987)
{ /* ./SawMsil/funcall.scm 86 */
BGl_popz00zzmsil_outz00(
(BgL_dotnetz00_bglt)(BgL_mez00_10)); 
BGl_loadzd2globalzd2zzmsil_outz00(
(BgL_dotnetz00_bglt)(BgL_mez00_10), 
(BgL_globalz00_bglt)(BgL_pz00_13)); }  else 
{ /* ./SawMsil/funcall.scm 86 */
BGl_storezd2globalzd2zzmsil_outz00(
(BgL_dotnetz00_bglt)(BgL_mez00_10), 
(BgL_globalz00_bglt)(BgL_pz00_13)); } } }  else 
{ /* ./SawMsil/funcall.scm 90 */
bool_t BgL_test3564z00_988;
{ /* ./SawMsil/funcall.scm 90 */
long BgL_auxz00_1987;
BgL_auxz00_1987 = 
(long)CINT(BgL_arityz00_984); 
BgL_test3564z00_988 = 
(BgL_auxz00_1987>=((long)0)); } 
if(BgL_test3564z00_988)
{ /* ./SawMsil/funcall.scm 90 */
{ /* ./SawMsil/funcall.scm 90 */
BgL_globalz00_bglt BgL_arg3566z00_989;
BgL_arg3566z00_989 = 
BGl_globalzd2entryzd2zzbackend_cplibz00(
(BgL_globalz00_bglt)(BgL_pz00_13)); 
BGl_callzd2globalzd2zzmsil_outz00(
(BgL_dotnetz00_bglt)(BgL_mez00_10), BgL_arg3566z00_989); } }  else 
{ /* ./SawMsil/funcall.scm 90 */
BGl_pushzd2constantzd2zzmsil_outz00(
(BgL_dotnetz00_bglt)(BgL_mez00_10), BGl_string4439z00zzmsil_funcallz00); 
{ /* ./SawMsil/funcall.scm 93 */
obj_t BgL_arg3571z00_990;
BgL_arg3571z00_990 = 
BGl_2zb2zb2zz__r4_numbers_6_5z00(BgL_iz00_11, 
BGl_2zb2zb2zz__r4_numbers_6_5z00(
BINT(((long)1)), BgL_arityz00_984)); 
BgL_nz00_992 = BgL_arg3571z00_990; 
BgL_zc3anonymousza33580ze3z83_993:
{ /* ./SawMsil/funcall.scm 79 */
bool_t BgL_test3581z00_994;
BgL_test3581z00_994 = 
BGl_2zd3zd3zz__r4_numbers_6_5z00(BgL_nz00_992, 
BINT(((long)0))); 
if(BgL_test3581z00_994)
{ /* ./SawMsil/funcall.scm 80 */
BgL_globalz00_bglt BgL_arg3583z00_995;
BgL_arg3583z00_995 = 
BGl_globalzd2entryzd2zzbackend_cplibz00(
(BgL_globalz00_bglt)(BgL_pz00_13)); 
BGl_callzd2globalzd2zzmsil_outz00(
(BgL_dotnetz00_bglt)(BgL_mez00_10), BgL_arg3583z00_995); }  else 
{ /* ./SawMsil/funcall.scm 79 */
BGl_newobjz00zzmsil_outz00(
(BgL_dotnetz00_bglt)(BgL_mez00_10), BGl_string4438z00zzmsil_funcallz00, 
CNST_TABLE_REF(((long)3))); 
{ /* ./SawMsil/funcall.scm 82 */
long BgL_arg3589z00_996;
{ /* ./SawMsil/funcall.scm 82 */
long BgL_auxz00_2010;
BgL_auxz00_2010 = 
(long)CINT(BgL_nz00_992); 
BgL_arg3589z00_996 = 
(BgL_auxz00_2010-((long)1)); } 
{ 
obj_t BgL_nz00_2013;
BgL_nz00_2013 = 
BINT(BgL_arg3589z00_996); 
BgL_nz00_992 = BgL_nz00_2013; 
goto BgL_zc3anonymousza33580ze3z83_993;} } } } } } } } 
return 
BGl_returnz00zzmsil_outz00(
(BgL_dotnetz00_bglt)(BgL_mez00_10));} } } 
}



/* compile-apply */
obj_t BGl_compilezd2applyzd2zzmsil_funcallz00(BgL_dotnetz00_bglt BgL_mez00_14, obj_t BgL_procsz00_15)
{ AN_OBJECT;
{ /* ./SawMsil/funcall.scm 99 */
{ /* ./SawMsil/funcall.scm 100 */
obj_t BgL_needz00_998;
{ /* ./SawMsil/funcall.scm 100 */
bool_t BgL_test3608z00_1003;
BgL_test3608z00_1003 = 
NULLP(BgL_procsz00_15); 
if(BgL_test3608z00_1003)
{ /* ./SawMsil/funcall.scm 100 */
BgL_needz00_998 = BNIL; }  else 
{ /* ./SawMsil/funcall.scm 100 */
obj_t BgL_head3392z00_1004;
{ /* ./SawMsil/funcall.scm 100 */
obj_t BgL_arg3629z00_1015;
{ /* ./SawMsil/funcall.scm 100 */
obj_t BgL_arg3633z00_1017;
BgL_arg3633z00_1017 = 
CAR(BgL_procsz00_15); 
BgL_arg3629z00_1015 = 
BGl_globalzd2arityzd2zzbackend_cplibz00(
(BgL_globalz00_bglt)(BgL_arg3633z00_1017)); } 
BgL_head3392z00_1004 = 
MAKE_PAIR(BgL_arg3629z00_1015, BNIL); } 
{ 
obj_t BgL_l3390z00_1005;obj_t BgL_tail3393z00_1006;
{ /* ./SawMsil/funcall.scm 100 */
obj_t BgL_arg3610z00_1008;
BgL_arg3610z00_1008 = 
CDR(BgL_procsz00_15); 
BgL_l3390z00_1005 = BgL_arg3610z00_1008; 
BgL_tail3393z00_1006 = BgL_head3392z00_1004; 
BgL_map3391z00_1007:
{ /* ./SawMsil/funcall.scm 100 */
bool_t BgL_test3613z00_1009;
BgL_test3613z00_1009 = 
NULLP(BgL_l3390z00_1005); 
if(BgL_test3613z00_1009)
{ /* ./SawMsil/funcall.scm 100 */
BgL_needz00_998 = BgL_head3392z00_1004; }  else 
{ /* ./SawMsil/funcall.scm 100 */
obj_t BgL_newtail3394z00_1010;
{ /* ./SawMsil/funcall.scm 100 */
obj_t BgL_arg3620z00_1012;
{ /* ./SawMsil/funcall.scm 100 */
obj_t BgL_arg3624z00_1014;
BgL_arg3624z00_1014 = 
CAR(BgL_l3390z00_1005); 
BgL_arg3620z00_1012 = 
BGl_globalzd2arityzd2zzbackend_cplibz00(
(BgL_globalz00_bglt)(BgL_arg3624z00_1014)); } 
BgL_newtail3394z00_1010 = 
MAKE_PAIR(BgL_arg3620z00_1012, BNIL); } 
SET_CDR(BgL_tail3393z00_1006, BgL_newtail3394z00_1010); 
{ /* ./SawMsil/funcall.scm 100 */
obj_t BgL_arg3616z00_1011;
BgL_arg3616z00_1011 = 
CDR(BgL_l3390z00_1005); 
{ 
obj_t BgL_tail3393z00_2033;obj_t BgL_l3390z00_2032;
BgL_l3390z00_2032 = BgL_arg3616z00_1011; 
BgL_tail3393z00_2033 = BgL_newtail3394z00_1010; 
BgL_tail3393z00_1006 = BgL_tail3393z00_2033; 
BgL_l3390z00_1005 = BgL_l3390z00_2032; 
goto BgL_map3391z00_1007;} } } } } } } } 
{ /* ./SawMsil/funcall.scm 101 */
bool_t BgL_test3594z00_999;
{ /* ./SawMsil/funcall.scm 101 */
obj_t BgL_list3606z00_1001;
BgL_list3606z00_1001 = 
MAKE_PAIR(BgL_needz00_998, BNIL); 
{ /* ./SawMsil/funcall.scm 101 */
obj_t BgL_auxz00_2035;
BgL_auxz00_2035 = 
BGl_everyz00zz__r4_pairs_and_lists_6_3z00(BGl_notzd2envzd2zz__r4_booleans_6_1z00, BgL_list3606z00_1001); 
BgL_test3594z00_999 = 
CBOOL(BgL_auxz00_2035); } } 
if(BgL_test3594z00_999)
{ /* ./SawMsil/funcall.scm 101 */
return BUNSPEC;}  else 
{ /* ./SawMsil/funcall.scm 101 */
BGl_openzd2methodzd2virtualz00zzmsil_outz00(BgL_mez00_14, 
CNST_TABLE_REF(((long)0)), BGl_string4440z00zzmsil_funcallz00, 
CNST_TABLE_REF(((long)4))); 
{ /* ./SawMsil/funcall.scm 103 */
long BgL_arg3597z00_1000;
BgL_arg3597z00_1000 = 
BGl_getzd2maxzd2zzmsil_funcallz00(BgL_procsz00_15, ((long)0)); 
BGl_declarezd2maxstackzd2zzmsil_outz00(BgL_mez00_14, 
BINT(BgL_arg3597z00_1000)); } 
BGl_loadzd2parzd2zzmsil_outz00(BgL_mez00_14, 
(int)(((long)0))); 
BGl_loadzd2parzd2zzmsil_outz00(BgL_mez00_14, 
(int)(((long)0))); 
BGl_loadzd2fieldzd2zzmsil_outz00(BgL_mez00_14, 
CNST_TABLE_REF(((long)1)), BGl_string4434z00zzmsil_funcallz00, 
CNST_TABLE_REF(((long)2))); 
BGl_compilezd2dispatchzd2zzmsil_funcallz00(BgL_mez00_14, BgL_needz00_998, BgL_procsz00_15); 
return 
BGl_closezd2methodzd2zzmsil_outz00(BgL_mez00_14);} } } } 
}



/* get-max */
long BGl_getzd2maxzd2zzmsil_funcallz00(obj_t BgL_lz00_16, long BgL_maxz00_17)
{ AN_OBJECT;
{ /* ./SawMsil/funcall.scm 110 */
BGl_getzd2maxzd2zzmsil_funcallz00:
{ /* ./SawMsil/funcall.scm 111 */
bool_t BgL_test3637z00_1018;
BgL_test3637z00_1018 = 
NULLP(BgL_lz00_16); 
if(BgL_test3637z00_1018)
{ /* ./SawMsil/funcall.scm 111 */
return BgL_maxz00_17;}  else 
{ /* ./SawMsil/funcall.scm 113 */
long BgL_nbpushz00_1019;
{ /* ./SawMsil/funcall.scm 113 */
obj_t BgL_arg3646z00_1023;
BgL_arg3646z00_1023 = 
CAR(BgL_lz00_16); 
BgL_nbpushz00_1019 = 
BGl_pushedz00zzmsil_funcallz00(BgL_arg3646z00_1023); } 
{ /* ./SawMsil/funcall.scm 114 */
obj_t BgL_arg3639z00_1020;long BgL_arg3640z00_1021;
BgL_arg3639z00_1020 = 
CDR(BgL_lz00_16); 
if(
(BgL_nbpushz00_1019>BgL_maxz00_17))
{ /* ./SawMsil/funcall.scm 114 */
BgL_arg3640z00_1021 = BgL_nbpushz00_1019; }  else 
{ /* ./SawMsil/funcall.scm 114 */
BgL_arg3640z00_1021 = BgL_maxz00_17; } 
{ 
long BgL_maxz00_2062;obj_t BgL_lz00_2061;
BgL_lz00_2061 = BgL_arg3639z00_1020; 
BgL_maxz00_2062 = BgL_arg3640z00_1021; 
BgL_maxz00_17 = BgL_maxz00_2062; 
BgL_lz00_16 = BgL_lz00_2061; 
goto BGl_getzd2maxzd2zzmsil_funcallz00;} } } } } 
}



/* pushed */
long BGl_pushedz00zzmsil_funcallz00(obj_t BgL_pz00_18)
{ AN_OBJECT;
{ /* ./SawMsil/funcall.scm 116 */
{ /* ./SawMsil/funcall.scm 117 */
obj_t BgL_arityz00_1024;
BgL_arityz00_1024 = 
BGl_globalzd2arityzd2zzbackend_cplibz00(
(BgL_globalz00_bglt)(BgL_pz00_18)); 
if(
(BgL_arityz00_1024==BFALSE))
{ /* ./SawMsil/funcall.scm 118 */
return ((long)2);}  else 
{ /* ./SawMsil/funcall.scm 119 */
bool_t BgL_testz00_2067;
{ /* ./SawMsil/funcall.scm 119 */
long BgL_auxz00_2068;
BgL_auxz00_2068 = 
(long)CINT(BgL_arityz00_1024); 
BgL_testz00_2067 = 
(BgL_auxz00_2068==((long)0)); } 
if(BgL_testz00_2067)
{ /* ./SawMsil/funcall.scm 119 */
return ((long)2);}  else 
{ /* ./SawMsil/funcall.scm 120 */
bool_t BgL_testz00_2071;
{ /* ./SawMsil/funcall.scm 120 */
long BgL_auxz00_2072;
BgL_auxz00_2072 = 
(long)CINT(BgL_arityz00_1024); 
BgL_testz00_2071 = 
(BgL_auxz00_2072>((long)0)); } 
if(BgL_testz00_2071)
{ /* ./SawMsil/funcall.scm 120 */
{ /* ./SawMsil/funcall.scm 120 */
long BgL_auxz00_2075;
BgL_auxz00_2075 = 
(long)CINT(BgL_arityz00_1024); 
return 
(BgL_auxz00_2075+((long)1));} }  else 
{ /* ./SawMsil/funcall.scm 120 */
{ /* ./SawMsil/funcall.scm 121 */
long BgL_auxz00_2078;
{ /* ./SawMsil/funcall.scm 121 */
long BgL_auxz00_2079;
BgL_auxz00_2079 = 
(long)CINT(BgL_arityz00_1024); 
BgL_auxz00_2078 = 
(((long)-1)-BgL_auxz00_2079); } 
return 
(((long)2)+BgL_auxz00_2078);} } } } } } 
}



/* compile-dispatch */
obj_t BGl_compilezd2dispatchzd2zzmsil_funcallz00(BgL_dotnetz00_bglt BgL_mez00_19, obj_t BgL_needz00_20, obj_t BgL_procsz00_21)
{ AN_OBJECT;
{ /* ./SawMsil/funcall.scm 123 */
{ /* ./SawMsil/funcall.scm 130 */
obj_t BgL_labsz00_1032;
BgL_labsz00_1032 = 
BGl_getzd2labszd2zzmsil_funcallz00(((long)0), BgL_needz00_20, BgL_procsz00_21); 
BGl_switchz00zzmsil_outz00(BgL_mez00_19, BgL_labsz00_1032); 
BGl_labelz00zzmsil_outz00(BgL_mez00_19, BGl_string4435z00zzmsil_funcallz00, BGl_string4436z00zzmsil_funcallz00); 
BGl_loadzd2parzd2zzmsil_outz00(BgL_mez00_19, 
(int)(((long)1))); 
BGl_callzd2superzd2zzmsil_outz00(BgL_mez00_19, 
CNST_TABLE_REF(((long)0)), BGl_string4434z00zzmsil_funcallz00, BGl_string4440z00zzmsil_funcallz00, 
CNST_TABLE_REF(((long)4))); 
BGl_returnz00zzmsil_outz00(BgL_mez00_19); 
{ /* ./SawMsil/funcall.scm 136 */
obj_t BgL_zc3anonymousza33679ze3z83_1712;
{ 
int BgL_auxz00_2094;int BgL_auxz00_2092;
BgL_auxz00_2094 = 
(int)(((long)1)); 
BgL_auxz00_2092 = 
(int)(((long)3)); 
BgL_zc3anonymousza33679ze3z83_1712 = 
make_fx_procedure(BGl_zc3anonymousza33679ze3z83zzmsil_funcallz00, BgL_auxz00_2092, BgL_auxz00_2094); } 
{ /* ./SawMsil/funcall.scm 136 */
obj_t BgL_auxz00_2099;int BgL_auxz00_2097;
BgL_auxz00_2099 = 
(obj_t)(BgL_mez00_19); 
BgL_auxz00_2097 = 
(int)(((long)0)); 
PROCEDURE_SET(BgL_zc3anonymousza33679ze3z83_1712, BgL_auxz00_2097, BgL_auxz00_2099); } 
{ /* ./SawMsil/funcall.scm 136 */
obj_t BgL_list3671z00_1034;
{ /* ./SawMsil/funcall.scm 136 */
obj_t BgL_arg3673z00_1035;
{ /* ./SawMsil/funcall.scm 136 */
obj_t BgL_arg3676z00_1036;
BgL_arg3676z00_1036 = 
MAKE_PAIR(BgL_procsz00_21, BNIL); 
BgL_arg3673z00_1035 = 
MAKE_PAIR(BgL_labsz00_1032, BgL_arg3676z00_1036); } 
BgL_list3671z00_1034 = 
MAKE_PAIR(BgL_needz00_20, BgL_arg3673z00_1035); } 
return 
BGl_forzd2eachzd2zz__r4_control_features_6_9z00(BgL_zc3anonymousza33679ze3z83_1712, BgL_list3671z00_1034);} } } } 
}



/* get-labs */
obj_t BGl_getzd2labszd2zzmsil_funcallz00(long BgL_iz00_1042, obj_t BgL_nsz00_1043, obj_t BgL_psz00_1044)
{ AN_OBJECT;
{ /* ./SawMsil/funcall.scm 129 */
{ 
long BgL_iz00_1053;
{ /* ./SawMsil/funcall.scm 126 */
bool_t BgL_test3683z00_1046;
BgL_test3683z00_1046 = 
NULLP(BgL_nsz00_1043); 
if(BgL_test3683z00_1046)
{ /* ./SawMsil/funcall.scm 126 */
return BNIL;}  else 
{ /* ./SawMsil/funcall.scm 128 */
obj_t BgL_arg3685z00_1047;obj_t BgL_arg3686z00_1048;
{ /* ./SawMsil/funcall.scm 128 */
bool_t BgL_test3688z00_1049;
{ /* ./SawMsil/funcall.scm 128 */
obj_t BgL_auxz00_2108;
BgL_auxz00_2108 = 
CAR(BgL_nsz00_1043); 
BgL_test3688z00_1049 = 
CBOOL(BgL_auxz00_2108); } 
if(BgL_test3688z00_1049)
{ /* ./SawMsil/funcall.scm 128 */
BgL_iz00_1053 = BgL_iz00_1042; 
{ /* ./SawMsil/funcall.scm 124 */
obj_t BgL_arg3704z00_1056;
BgL_arg3704z00_1056 = 
BGl_integerzd2ze3stringz31zz__r4_numbers_6_5_fixnumz00(BgL_iz00_1053, BNIL); 
BgL_arg3685z00_1047 = 
string_append(BGl_string4437z00zzmsil_funcallz00, BgL_arg3704z00_1056); } }  else 
{ /* ./SawMsil/funcall.scm 128 */
BgL_arg3685z00_1047 = BGl_string4436z00zzmsil_funcallz00; } } 
{ /* ./SawMsil/funcall.scm 129 */
long BgL_arg3692z00_1050;obj_t BgL_arg3694z00_1051;obj_t BgL_arg3695z00_1052;
BgL_arg3692z00_1050 = 
(BgL_iz00_1042+((long)1)); 
BgL_arg3694z00_1051 = 
CDR(BgL_nsz00_1043); 
BgL_arg3695z00_1052 = 
CDR(BgL_psz00_1044); 
BgL_arg3686z00_1048 = 
BGl_getzd2labszd2zzmsil_funcallz00(BgL_arg3692z00_1050, BgL_arg3694z00_1051, BgL_arg3695z00_1052); } 
return 
MAKE_PAIR(BgL_arg3685z00_1047, BgL_arg3686z00_1048);} } } } 
}



/* <anonymous:3679> */
obj_t BGl_zc3anonymousza33679ze3z83zzmsil_funcallz00(obj_t BgL_envz00_1713, obj_t BgL_nzf3zf3_1715, obj_t BgL_labz00_1716, obj_t BgL_pz00_1717)
{ AN_OBJECT;
{ /* ./SawMsil/funcall.scm 136 */
{ /* ./SawMsil/funcall.scm 136 */
obj_t BgL_mez00_1714;
{ /* ./SawMsil/funcall.scm 136 */
int BgL_auxz00_2119;
BgL_auxz00_2119 = 
(int)(((long)0)); 
BgL_mez00_1714 = 
PROCEDURE_REF(BgL_envz00_1713, BgL_auxz00_2119); } 
{ 
obj_t BgL_nzf3zf3_1037;obj_t BgL_labz00_1038;obj_t BgL_pz00_1039;
BgL_nzf3zf3_1037 = BgL_nzf3zf3_1715; 
BgL_labz00_1038 = BgL_labz00_1716; 
BgL_pz00_1039 = BgL_pz00_1717; 
if(
CBOOL(BgL_nzf3zf3_1037))
{ /* ./SawMsil/funcall.scm 136 */
return 
BGl_compilezd2forzd2applyz00zzmsil_funcallz00(BgL_mez00_1714, BgL_labz00_1038, BgL_pz00_1039);}  else 
{ /* ./SawMsil/funcall.scm 136 */
return BFALSE;} } } } 
}



/* compile-for-apply */
obj_t BGl_compilezd2forzd2applyz00zzmsil_funcallz00(obj_t BgL_mez00_22, obj_t BgL_labz00_23, obj_t BgL_pz00_24)
{ AN_OBJECT;
{ /* ./SawMsil/funcall.scm 141 */
{ /* ./SawMsil/funcall.scm 142 */
BgL_typez00_bglt BgL_pairz00_1060;BgL_typez00_bglt BgL_objz00_1061;
BgL_pairz00_1060 = 
BGl_findzd2typezd2zztype_envz00(
CNST_TABLE_REF(((long)5))); 
BgL_objz00_1061 = 
BGl_findzd2typezd2zztype_envz00(
CNST_TABLE_REF(((long)0))); 
{ 
obj_t BgL_mez00_1067;obj_t BgL_nz00_1068;bool_t BgL_fixedarityzf3zf3_1069;
{ /* ./SawMsil/funcall.scm 164 */
obj_t BgL_arityz00_1063;
BgL_arityz00_1063 = 
BGl_globalzd2arityzd2zzbackend_cplibz00(
(BgL_globalz00_bglt)(BgL_pz00_24)); 
BGl_labelz00zzmsil_outz00(
(BgL_dotnetz00_bglt)(BgL_mez00_22), BGl_string4435z00zzmsil_funcallz00, BgL_labz00_23); 
{ /* ./SawMsil/funcall.scm 166 */
bool_t BgL_test3709z00_1064;
BgL_test3709z00_1064 = 
BGl_2ze3zd3z30zz__r4_numbers_6_5z00(BgL_arityz00_1063, 
BINT(((long)0))); 
if(BgL_test3709z00_1064)
{ /* ./SawMsil/funcall.scm 166 */
BgL_mez00_1067 = BgL_mez00_22; 
BgL_nz00_1068 = BgL_arityz00_1063; 
BgL_fixedarityzf3zf3_1069 = ((bool_t)1); 
BgL_zc3anonymousza33722ze3z83_1070:
{ /* ./SawMsil/funcall.scm 145 */
bool_t BgL_test3723z00_1071;
{ /* ./SawMsil/funcall.scm 145 */
long BgL_auxz00_2136;
BgL_auxz00_2136 = 
(long)CINT(BgL_nz00_1068); 
BgL_test3723z00_1071 = 
(BgL_auxz00_2136==((long)0)); } 
if(BgL_test3723z00_1071)
{ /* ./SawMsil/funcall.scm 145 */
if(BgL_fixedarityzf3zf3_1069)
{ /* ./SawMsil/funcall.scm 146 */BFALSE; }  else 
{ /* ./SawMsil/funcall.scm 146 */
BGl_loadzd2parzd2zzmsil_outz00(
(BgL_dotnetz00_bglt)(BgL_mez00_1067), 
(int)(((long)1))); } }  else 
{ /* ./SawMsil/funcall.scm 148 */
bool_t BgL_test3725z00_1072;
{ /* ./SawMsil/funcall.scm 148 */
long BgL_auxz00_2144;
BgL_auxz00_2144 = 
(long)CINT(BgL_nz00_1068); 
BgL_test3725z00_1072 = 
(BgL_auxz00_2144==((long)1)); } 
if(BgL_test3725z00_1072)
{ /* ./SawMsil/funcall.scm 148 */
BGl_loadzd2parzd2zzmsil_outz00(
(BgL_dotnetz00_bglt)(BgL_mez00_1067), 
(int)(((long)1))); 
BGl_castclassz00zzmsil_outz00(
(BgL_dotnetz00_bglt)(BgL_mez00_1067), BgL_pairz00_1060); 
BGl_loadzd2fieldzd2zzmsil_outz00(
(BgL_dotnetz00_bglt)(BgL_mez00_1067), 
(obj_t)(BgL_objz00_1061), BGl_string4438z00zzmsil_funcallz00, 
CNST_TABLE_REF(((long)6))); 
if(BgL_fixedarityzf3zf3_1069)
{ /* ./SawMsil/funcall.scm 152 */BFALSE; }  else 
{ /* ./SawMsil/funcall.scm 152 */
BGl_loadzd2parzd2zzmsil_outz00(
(BgL_dotnetz00_bglt)(BgL_mez00_1067), 
(int)(((long)1))); 
BGl_castclassz00zzmsil_outz00(
(BgL_dotnetz00_bglt)(BgL_mez00_1067), BgL_pairz00_1060); 
BGl_loadzd2fieldzd2zzmsil_outz00(
(BgL_dotnetz00_bglt)(BgL_mez00_1067), 
(obj_t)(BgL_objz00_1061), BGl_string4438z00zzmsil_funcallz00, 
CNST_TABLE_REF(((long)7))); } }  else 
{ /* ./SawMsil/funcall.scm 148 */
BGl_loadzd2parzd2zzmsil_outz00(
(BgL_dotnetz00_bglt)(BgL_mez00_1067), 
(int)(((long)1))); 
BGl_castclassz00zzmsil_outz00(
(BgL_dotnetz00_bglt)(BgL_mez00_1067), BgL_pairz00_1060); 
BGl_dupz00zzmsil_outz00(
(BgL_dotnetz00_bglt)(BgL_mez00_1067)); 
BGl_loadzd2fieldzd2zzmsil_outz00(
(BgL_dotnetz00_bglt)(BgL_mez00_1067), 
(obj_t)(BgL_objz00_1061), BGl_string4438z00zzmsil_funcallz00, 
CNST_TABLE_REF(((long)7))); 
BGl_storezd2parzd2zzmsil_outz00(
(BgL_dotnetz00_bglt)(BgL_mez00_1067), 
(int)(((long)1))); 
BGl_loadzd2fieldzd2zzmsil_outz00(
(BgL_dotnetz00_bglt)(BgL_mez00_1067), 
(obj_t)(BgL_objz00_1061), BGl_string4438z00zzmsil_funcallz00, 
CNST_TABLE_REF(((long)6))); 
{ /* ./SawMsil/funcall.scm 163 */
obj_t BgL_arg3739z00_1073;
BgL_arg3739z00_1073 = 
BGl_2zd2zd2zz__r4_numbers_6_5z00(BgL_nz00_1068, 
BINT(((long)1))); 
{ 
obj_t BgL_nz00_2187;
BgL_nz00_2187 = BgL_arg3739z00_1073; 
BgL_nz00_1068 = BgL_nz00_2187; 
goto BgL_zc3anonymousza33722ze3z83_1070;} } } } } }  else 
{ /* ./SawMsil/funcall.scm 168 */
obj_t BgL_arg3712z00_1065;
BgL_arg3712z00_1065 = 
BGl_2zd2zd2zz__r4_numbers_6_5z00(
BINT(((long)-1)), BgL_arityz00_1063); 
{ 
bool_t BgL_fixedarityzf3zf3_2192;obj_t BgL_nz00_2191;obj_t BgL_mez00_2190;
BgL_mez00_2190 = BgL_mez00_22; 
BgL_nz00_2191 = BgL_arg3712z00_1065; 
BgL_fixedarityzf3zf3_2192 = ((bool_t)0); 
BgL_fixedarityzf3zf3_1069 = BgL_fixedarityzf3zf3_2192; 
BgL_nz00_1068 = BgL_nz00_2191; 
BgL_mez00_1067 = BgL_mez00_2190; 
goto BgL_zc3anonymousza33722ze3z83_1070;} } } 
{ /* ./SawMsil/funcall.scm 169 */
BgL_globalz00_bglt BgL_arg3717z00_1066;
BgL_arg3717z00_1066 = 
BGl_globalzd2entryzd2zzbackend_cplibz00(
(BgL_globalz00_bglt)(BgL_pz00_24)); 
BGl_callzd2globalzd2zzmsil_outz00(
(BgL_dotnetz00_bglt)(BgL_mez00_22), BgL_arg3717z00_1066); } 
return 
BGl_returnz00zzmsil_outz00(
(BgL_dotnetz00_bglt)(BgL_mez00_22));} } } } 
}



/* object-init */
obj_t BGl_objectzd2initzd2zzmsil_funcallz00()
{ AN_OBJECT;
{ /* ./SawMsil/funcall.scm 1 */
{ /* ./SawMsil/funcall.scm 12 */
obj_t BgL_arg3747z00_1075;obj_t BgL_arg3748z00_1076;obj_t BgL_arg3752z00_1080;
BgL_arg3747z00_1075 = 
CNST_TABLE_REF(((long)8)); 
BgL_arg3748z00_1076 = BGl_globalz00zzast_varz00; 
{ /* ./SawMsil/funcall.scm 12 */
obj_t BgL_v3395z00_1081;
{ 
int BgL_auxz00_2200;
BgL_auxz00_2200 = 
(int)(((long)0)); 
BgL_v3395z00_1081 = 
create_vector(BgL_auxz00_2200); } 
BgL_arg3752z00_1080 = BgL_v3395z00_1081; } 
BGl_indexedz00zzmsil_funcallz00 = 
BGl_registerzd2classz12zc0zz__objectz00(BgL_arg3747z00_1075, BgL_arg3748z00_1076, BFALSE, BGl_allocatezd2indexedzd2envz00zzmsil_funcallz00, ((long)53374), BNIL, BFALSE, BgL_arg3752z00_1080); } 
return BUNSPEC;} 
}



/* indexed? */
BGL_EXPORTED_DEF bool_t BGl_indexedzf3zf3zzmsil_funcallz00(obj_t BgL_obj3329z00_25)
{ AN_OBJECT;
{ /* ./SawMsil/funcall.scm 12 */
return 
BGl_iszd2azf3z21zz__objectz00(BgL_obj3329z00_25, BGl_indexedz00zzmsil_funcallz00);} 
}



/* _indexed? */
obj_t BGl__indexedzf3zf3zzmsil_funcallz00(obj_t BgL_envz00_1719, obj_t BgL_obj3329z00_1720)
{ AN_OBJECT;
{ /* ./SawMsil/funcall.scm 12 */
{ /* ./SawMsil/funcall.scm 12 */
bool_t BgL_auxz00_2205;
BgL_auxz00_2205 = 
BGl_iszd2azf3z21zz__objectz00(BgL_obj3329z00_1720, BGl_indexedz00zzmsil_funcallz00); 
return 
BBOOL(BgL_auxz00_2205);} } 
}



/* widening-indexed */
BGL_EXPORTED_DEF BgL_indexedz00_bglt BGl_wideningzd2indexedzd2zzmsil_funcallz00(int BgL_index3295z00_29)
{ AN_OBJECT;
{ /* ./SawMsil/funcall.scm 12 */
{ /* ./SawMsil/funcall.scm 12 */
BgL_indexedz00_bglt BgL_new3296z00_1644;
BgL_new3296z00_1644 = 
((BgL_indexedz00_bglt)BREF( GC_MALLOC (sizeof(struct BgL_indexedz00_bgl)))); 
{ /* ./SawMsil/funcall.scm 12 */
BgL_indexedz00_bglt BgL_res4224z00_1648;
{ /* ./SawMsil/funcall.scm 12 */
BgL_indexedz00_bglt BgL_new3318z00_1645;
BgL_new3318z00_1645 = BgL_new3296z00_1644; 
{ /* ./SawMsil/funcall.scm 12 */
int BgL_index3317z00_1647;
BgL_index3317z00_1647 = BgL_index3295z00_29; 
((((BgL_indexedz00_bglt)CREF(BgL_new3318z00_1645))->BgL_indexz00) = ((int)BgL_index3317z00_1647), BUNSPEC); 
BgL_res4224z00_1648 = BgL_new3318z00_1645; } } BgL_res4224z00_1648; } 
return BgL_new3296z00_1644;} } 
}



/* _widening-indexed */
obj_t BGl__wideningzd2indexedzd2zzmsil_funcallz00(obj_t BgL_envz00_1721, obj_t BgL_index3295z00_1722)
{ AN_OBJECT;
{ /* ./SawMsil/funcall.scm 12 */
{ /* ./SawMsil/funcall.scm 12 */
BgL_indexedz00_bglt BgL_auxz00_2210;
BgL_auxz00_2210 = 
BGl_wideningzd2indexedzd2zzmsil_funcallz00(
CINT(BgL_index3295z00_1722)); 
return 
(obj_t)(BgL_auxz00_2210);} } 
}



/* make-indexed */
BGL_EXPORTED_DEF BgL_indexedz00_bglt BGl_makezd2indexedzd2zzmsil_funcallz00(obj_t BgL_id3299z00_30, obj_t BgL_name3300z00_31, BgL_typez00_bglt BgL_type3301z00_32, BgL_valuez00_bglt BgL_value3302z00_33, obj_t BgL_access3303z00_34, obj_t BgL_fastzd2alpha3304zd2_35, obj_t BgL_removable3305z00_36, long BgL_occurrence3306z00_37, obj_t BgL_module3307z00_38, obj_t BgL_import3308z00_39, bool_t BgL_evaluablezf33309zf3_40, bool_t BgL_libraryzf33310zf3_41, bool_t BgL_userzf33311zf3_42, obj_t BgL_pragma3312z00_43, obj_t BgL_src3313z00_44, obj_t BgL_jvmzd2typezd2name3314z00_45, int BgL_index3298z00_46)
{ AN_OBJECT;
{ /* ./SawMsil/funcall.scm 12 */
{ /* ./SawMsil/funcall.scm 12 */
BgL_globalz00_bglt BgL_aux3315z00_1649;
BgL_aux3315z00_1649 = 
BGl_makezd2globalzd2zzast_varz00(BgL_id3299z00_30, BgL_name3300z00_31, BgL_type3301z00_32, BgL_value3302z00_33, BgL_access3303z00_34, BgL_fastzd2alpha3304zd2_35, BgL_removable3305z00_36, BgL_occurrence3306z00_37, BgL_module3307z00_38, BgL_import3308z00_39, BgL_evaluablezf33309zf3_40, BgL_libraryzf33310zf3_41, BgL_userzf33311zf3_42, BgL_pragma3312z00_43, BgL_src3313z00_44, BgL_jvmzd2typezd2name3314z00_45); 
{ /* ./SawMsil/funcall.scm 12 */
long BgL_arg3758z00_1650;
BgL_arg3758z00_1650 = 
BGl_classzd2numzd2zz__objectz00(BGl_indexedz00zzmsil_funcallz00); 
{ /* ./SawMsil/funcall.scm 12 */
BgL_objectz00_bglt BgL_objz00_1653;
BgL_objz00_1653 = 
(BgL_objectz00_bglt)(BgL_aux3315z00_1649); 
BGL_OBJECT_CLASS_NUM_SET(BgL_objz00_1653, BgL_arg3758z00_1650); } } 
{ /* ./SawMsil/funcall.scm 12 */
BgL_indexedz00_bglt BgL_arg3762z00_1651;
{ /* ./SawMsil/funcall.scm 12 */
BgL_indexedz00_bglt BgL_res4226z00_1661;
{ /* ./SawMsil/funcall.scm 12 */
BgL_indexedz00_bglt BgL_new3296z00_1656;
BgL_new3296z00_1656 = 
((BgL_indexedz00_bglt)BREF( GC_MALLOC (sizeof(struct BgL_indexedz00_bgl)))); 
{ /* ./SawMsil/funcall.scm 12 */
BgL_indexedz00_bglt BgL_res4225z00_1660;
{ /* ./SawMsil/funcall.scm 12 */
BgL_indexedz00_bglt BgL_new3318z00_1657;
BgL_new3318z00_1657 = BgL_new3296z00_1656; 
{ /* ./SawMsil/funcall.scm 12 */
int BgL_index3317z00_1659;
BgL_index3317z00_1659 = BgL_index3298z00_46; 
((((BgL_indexedz00_bglt)CREF(BgL_new3318z00_1657))->BgL_indexz00) = ((int)BgL_index3317z00_1659), BUNSPEC); 
BgL_res4225z00_1660 = BgL_new3318z00_1657; } } BgL_res4225z00_1660; } 
BgL_res4226z00_1661 = BgL_new3296z00_1656; } 
BgL_arg3762z00_1651 = BgL_res4226z00_1661; } 
{ /* ./SawMsil/funcall.scm 12 */
obj_t BgL_auxz00_2222;BgL_objectz00_bglt BgL_auxz00_2220;
BgL_auxz00_2222 = 
(obj_t)(BgL_arg3762z00_1651); 
BgL_auxz00_2220 = 
(BgL_objectz00_bglt)(BgL_aux3315z00_1649); 
BGL_OBJECT_WIDENING_SET(BgL_auxz00_2220, BgL_auxz00_2222); } } 
{ /* ./SawMsil/funcall.scm 12 */
BgL_indexedz00_bglt BgL_new3316z00_1652;
{ 
BgL_indexedz00_bglt BgL_auxz00_2225;
BgL_auxz00_2225 = 
(BgL_indexedz00_bglt)(BgL_aux3315z00_1649); 
BgL_new3316z00_1652 = 
((BgL_indexedz00_bglt)BgL_auxz00_2225); } 
{ /* ./SawMsil/funcall.scm 12 */
obj_t BgL_objz00_1662;
BgL_objz00_1662 = 
(obj_t)(BgL_new3316z00_1652); 
BGL_HEAP_DEBUG_MARK_OBJ(BgL_objz00_1662); BUNSPEC; } 
return BgL_new3316z00_1652;} } } 
}



/* _make-indexed */
obj_t BGl__makezd2indexedzd2zzmsil_funcallz00(obj_t BgL_envz00_1723, obj_t BgL_id3299z00_1724, obj_t BgL_name3300z00_1725, obj_t BgL_type3301z00_1726, obj_t BgL_value3302z00_1727, obj_t BgL_access3303z00_1728, obj_t BgL_fastzd2alpha3304zd2_1729, obj_t BgL_removable3305z00_1730, obj_t BgL_occurrence3306z00_1731, obj_t BgL_module3307z00_1732, obj_t BgL_import3308z00_1733, obj_t BgL_evaluablezf33309zf3_1734, obj_t BgL_libraryzf33310zf3_1735, obj_t BgL_userzf33311zf3_1736, obj_t BgL_pragma3312z00_1737, obj_t BgL_src3313z00_1738, obj_t BgL_jvmzd2typezd2name3314z00_1739, obj_t BgL_index3298z00_1740)
{ AN_OBJECT;
{ /* ./SawMsil/funcall.scm 12 */
{ /* ./SawMsil/funcall.scm 12 */
BgL_indexedz00_bglt BgL_auxz00_2230;
BgL_auxz00_2230 = 
BGl_makezd2indexedzd2zzmsil_funcallz00(BgL_id3299z00_1724, BgL_name3300z00_1725, 
(BgL_typez00_bglt)(BgL_type3301z00_1726), 
(BgL_valuez00_bglt)(BgL_value3302z00_1727), BgL_access3303z00_1728, BgL_fastzd2alpha3304zd2_1729, BgL_removable3305z00_1730, 
(long)CINT(BgL_occurrence3306z00_1731), BgL_module3307z00_1732, BgL_import3308z00_1733, 
CBOOL(BgL_evaluablezf33309zf3_1734), 
CBOOL(BgL_libraryzf33310zf3_1735), 
CBOOL(BgL_userzf33311zf3_1736), BgL_pragma3312z00_1737, BgL_src3313z00_1738, BgL_jvmzd2typezd2name3314z00_1739, 
CINT(BgL_index3298z00_1740)); 
return 
(obj_t)(BgL_auxz00_2230);} } 
}



/* fill-indexed! */
BGL_EXPORTED_DEF BgL_indexedz00_bglt BGl_fillzd2indexedz12zc0zzmsil_funcallz00(BgL_indexedz00_bglt BgL_new3318z00_47, int BgL_index3317z00_48)
{ AN_OBJECT;
{ /* ./SawMsil/funcall.scm 12 */
{ /* ./SawMsil/funcall.scm 12 */
int BgL_index3317z00_1769;
BgL_index3317z00_1769 = BgL_index3317z00_48; 
((((BgL_indexedz00_bglt)CREF(BgL_new3318z00_47))->BgL_indexz00) = ((int)BgL_index3317z00_1769), BUNSPEC); 
return BgL_new3318z00_47;} } 
}



/* _fill-indexed! */
obj_t BGl__fillzd2indexedz12zc0zzmsil_funcallz00(obj_t BgL_envz00_1741, obj_t BgL_new3318z00_1742, obj_t BgL_index3317z00_1743)
{ AN_OBJECT;
{ /* ./SawMsil/funcall.scm 12 */
{ /* ./SawMsil/funcall.scm 12 */
BgL_indexedz00_bglt BgL_auxz00_2241;
{ /* ./SawMsil/funcall.scm 12 */
BgL_indexedz00_bglt BgL_res4459z00_1773;
{ /* ./SawMsil/funcall.scm 12 */
BgL_indexedz00_bglt BgL_new3318z00_1770;int BgL_index3317z00_1771;
BgL_new3318z00_1770 = 
(BgL_indexedz00_bglt)(BgL_new3318z00_1742); 
BgL_index3317z00_1771 = 
CINT(BgL_index3317z00_1743); 
{ /* ./SawMsil/funcall.scm 12 */
int BgL_index3317z00_1772;
BgL_index3317z00_1772 = BgL_index3317z00_1771; 
((((BgL_indexedz00_bglt)CREF(BgL_new3318z00_1770))->BgL_indexz00) = ((int)BgL_index3317z00_1772), BUNSPEC); 
BgL_res4459z00_1773 = BgL_new3318z00_1770; } } 
BgL_auxz00_2241 = BgL_res4459z00_1773; } 
return 
(obj_t)(BgL_auxz00_2241);} } 
}



/* allocate-indexed */
BGL_EXPORTED_DEF BgL_globalz00_bglt BGl_allocatezd2indexedzd2zzmsil_funcallz00()
{ AN_OBJECT;
{ /* ./SawMsil/funcall.scm 12 */
{ /* ./SawMsil/funcall.scm 12 */
BgL_globalz00_bglt BgL_new3321z00_1774;
BgL_new3321z00_1774 = 
((BgL_globalz00_bglt)BREF( GC_MALLOC ( sizeof(struct BgL_globalz00_bgl) ))); 
{ /* ./SawMsil/funcall.scm 12 */
long BgL_arg3768z00_1775;
BgL_arg3768z00_1775 = 
BGl_classzd2numzd2zz__objectz00(BGl_indexedz00zzmsil_funcallz00); 
{ /* ./SawMsil/funcall.scm 12 */
BgL_objectz00_bglt BgL_objz00_1776;
BgL_objz00_1776 = 
(BgL_objectz00_bglt)(BgL_new3321z00_1774); 
BGL_OBJECT_CLASS_NUM_SET(BgL_objz00_1776, BgL_arg3768z00_1775); } } 
{ /* ./SawMsil/funcall.scm 12 */
BgL_objectz00_bglt BgL_auxz00_2250;
BgL_auxz00_2250 = 
(BgL_objectz00_bglt)(BgL_new3321z00_1774); 
BGL_OBJECT_WIDENING_SET(BgL_auxz00_2250, BFALSE); } 
{ /* ./SawMsil/funcall.scm 12 */
obj_t BgL_objz00_1777;
BgL_objz00_1777 = 
(obj_t)(BgL_new3321z00_1774); 
BGL_HEAP_DEBUG_MARK_OBJ(BgL_objz00_1777); BUNSPEC; } 
return BgL_new3321z00_1774;} } 
}



/* _allocate-indexed */
obj_t BGl__allocatezd2indexedzd2zzmsil_funcallz00(obj_t BgL_envz00_1718)
{ AN_OBJECT;
{ /* ./SawMsil/funcall.scm 12 */
{ /* ./SawMsil/funcall.scm 12 */
BgL_globalz00_bglt BgL_auxz00_2255;
{ /* ./SawMsil/funcall.scm 12 */
BgL_globalz00_bglt BgL_res4460z00_1782;
{ /* ./SawMsil/funcall.scm 12 */
BgL_globalz00_bglt BgL_new3321z00_1778;
BgL_new3321z00_1778 = 
((BgL_globalz00_bglt)BREF( GC_MALLOC ( sizeof(struct BgL_globalz00_bgl) ))); 
{ /* ./SawMsil/funcall.scm 12 */
long BgL_arg3768z00_1779;
BgL_arg3768z00_1779 = 
BGl_classzd2numzd2zz__objectz00(BGl_indexedz00zzmsil_funcallz00); 
{ /* ./SawMsil/funcall.scm 12 */
BgL_objectz00_bglt BgL_objz00_1780;
BgL_objz00_1780 = 
(BgL_objectz00_bglt)(BgL_new3321z00_1778); 
BGL_OBJECT_CLASS_NUM_SET(BgL_objz00_1780, BgL_arg3768z00_1779); } } 
{ /* ./SawMsil/funcall.scm 12 */
BgL_objectz00_bglt BgL_auxz00_2260;
BgL_auxz00_2260 = 
(BgL_objectz00_bglt)(BgL_new3321z00_1778); 
BGL_OBJECT_WIDENING_SET(BgL_auxz00_2260, BFALSE); } 
{ /* ./SawMsil/funcall.scm 12 */
obj_t BgL_objz00_1781;
BgL_objz00_1781 = 
(obj_t)(BgL_new3321z00_1778); 
BGL_HEAP_DEBUG_MARK_OBJ(BgL_objz00_1781); BUNSPEC; } 
BgL_res4460z00_1782 = BgL_new3321z00_1778; } 
BgL_auxz00_2255 = BgL_res4460z00_1782; } 
return 
(obj_t)(BgL_auxz00_2255);} } 
}



/* method-init */
obj_t BGl_methodzd2initzd2zzmsil_funcallz00()
{ AN_OBJECT;
{ /* ./SawMsil/funcall.scm 1 */
BGl_addzd2methodz12zc0zz__objectz00(BGl_objectzd2ze3structzd2envze3zz__objectz00, BGl_indexedz00zzmsil_funcallz00, BGl_proc4441z00zzmsil_funcallz00); 
return 
BGl_addzd2methodz12zc0zz__objectz00(BGl_structzb2objectzd2ze3objectzd2envz51zz__objectz00, BGl_indexedz00zzmsil_funcallz00, BGl_proc4442z00zzmsil_funcallz00);} 
}



/* struct+object->object-indexed3400 */
obj_t BGl_structzb2objectzd2ze3objectzd2indexed3400z51zzmsil_funcallz00(obj_t BgL_envz00_1751, obj_t BgL_oz00_1752, obj_t BgL_sz00_1753)
{ AN_OBJECT;
{ /* ./SawMsil/funcall.scm 12 */
{ 
BgL_indexedz00_bglt BgL_oz00_1542;obj_t BgL_sz00_1543;
{ /* ./SawMsil/funcall.scm 12 */
BgL_indexedz00_bglt BgL_auxz00_2268;
BgL_oz00_1542 = 
(BgL_indexedz00_bglt)(BgL_oz00_1752); 
BgL_sz00_1543 = BgL_sz00_1753; 
{ 

{ /* ./SawMsil/funcall.scm 12 */
obj_t BgL_old3326z00_1546;obj_t BgL_aux3327z00_1547;
{ /* ./SawMsil/funcall.scm 12 */
obj_t BgL_nextzd2method3399zd2_1552;
BgL_nextzd2method3399zd2_1552 = 
BGl_findzd2superzd2classzd2methodzd2zz__objectz00(
(BgL_objectz00_bglt)(BgL_oz00_1542), BGl_structzb2objectzd2ze3objectzd2envz51zz__objectz00, BGl_indexedz00zzmsil_funcallz00); 
{ /* ./SawMsil/funcall.scm 12 */
bool_t BgL_test4206z00_1553;
BgL_test4206z00_1553 = 
PROCEDUREP(BgL_nextzd2method3399zd2_1552); 
if(BgL_test4206z00_1553)
{ /* ./SawMsil/funcall.scm 12 */
BgL_old3326z00_1546 = 
PROCEDURE_ENTRY(BgL_nextzd2method3399zd2_1552)(BgL_nextzd2method3399zd2_1552, 
(obj_t)(BgL_oz00_1542), BgL_sz00_1543, BEOA); }  else 
{ /* ./SawMsil/funcall.scm 12 */
{ /* ./SawMsil/funcall.scm 12 */
BgL_objectz00_bglt BgL_auxz00_2276;
BgL_auxz00_2276 = 
BGl_structzb2objectzd2ze3objectz83zz__objectz00(
(BgL_objectz00_bglt)(BgL_oz00_1542), BgL_sz00_1543); 
BgL_old3326z00_1546 = 
(obj_t)(BgL_auxz00_2276); } } } } 
{ /* ./SawMsil/funcall.scm 12 */
int BgL_auxz00_2280;
BgL_auxz00_2280 = 
(int)(((long)0)); 
BgL_aux3327z00_1547 = 
STRUCT_REF(BgL_sz00_1543, BgL_auxz00_2280); } 
{ /* ./SawMsil/funcall.scm 12 */
BgL_indexedz00_bglt BgL_new3328z00_1548;
BgL_new3328z00_1548 = 
((BgL_indexedz00_bglt)(BgL_old3326z00_1546)); 
{ /* ./SawMsil/funcall.scm 12 */
long BgL_arg4193z00_1549;
BgL_arg4193z00_1549 = 
BGl_classzd2numzd2zz__objectz00(BGl_indexedz00zzmsil_funcallz00); 
{ /* ./SawMsil/funcall.scm 12 */
BgL_objectz00_bglt BgL_objz00_1688;
BgL_objz00_1688 = 
(BgL_objectz00_bglt)(BgL_new3328z00_1548); 
BGL_OBJECT_CLASS_NUM_SET(BgL_objz00_1688, BgL_arg4193z00_1549); } } 
{ /* ./SawMsil/funcall.scm 12 */
BgL_indexedz00_bglt BgL_arg4197z00_1550;
{ /* ./SawMsil/funcall.scm 12 */
obj_t BgL_arg4200z00_1551;
{ /* ./SawMsil/funcall.scm 12 */
int BgL_auxz00_2287;
BgL_auxz00_2287 = 
(int)(((long)0)); 
BgL_arg4200z00_1551 = 
STRUCT_REF(BgL_aux3327z00_1547, BgL_auxz00_2287); } 
{ /* ./SawMsil/funcall.scm 12 */
BgL_indexedz00_bglt BgL_res4229z00_1698;
{ /* ./SawMsil/funcall.scm 12 */
int BgL_index3295z00_1692;
BgL_index3295z00_1692 = 
CINT(BgL_arg4200z00_1551); 
{ /* ./SawMsil/funcall.scm 12 */
BgL_indexedz00_bglt BgL_new3296z00_1693;
BgL_new3296z00_1693 = 
((BgL_indexedz00_bglt)BREF( GC_MALLOC (sizeof(struct BgL_indexedz00_bgl)))); 
{ /* ./SawMsil/funcall.scm 12 */
BgL_indexedz00_bglt BgL_res4228z00_1697;
{ /* ./SawMsil/funcall.scm 12 */
BgL_indexedz00_bglt BgL_new3318z00_1694;
BgL_new3318z00_1694 = BgL_new3296z00_1693; 
{ /* ./SawMsil/funcall.scm 12 */
int BgL_index3317z00_1696;
BgL_index3317z00_1696 = BgL_index3295z00_1692; 
((((BgL_indexedz00_bglt)CREF(BgL_new3318z00_1694))->BgL_indexz00) = ((int)BgL_index3317z00_1696), BUNSPEC); 
BgL_res4228z00_1697 = BgL_new3318z00_1694; } } BgL_res4228z00_1697; } 
BgL_res4229z00_1698 = BgL_new3296z00_1693; } } 
BgL_arg4197z00_1550 = BgL_res4229z00_1698; } } 
{ /* ./SawMsil/funcall.scm 12 */
obj_t BgL_auxz00_2295;BgL_objectz00_bglt BgL_auxz00_2293;
BgL_auxz00_2295 = 
(obj_t)(BgL_arg4197z00_1550); 
BgL_auxz00_2293 = 
(BgL_objectz00_bglt)(BgL_new3328z00_1548); 
BGL_OBJECT_WIDENING_SET(BgL_auxz00_2293, BgL_auxz00_2295); } } 
{ /* ./SawMsil/funcall.scm 12 */
obj_t BgL_objz00_1699;
BgL_objz00_1699 = 
(obj_t)(BgL_new3328z00_1548); 
BGL_HEAP_DEBUG_MARK_OBJ(BgL_objz00_1699); BUNSPEC; } 
BgL_auxz00_2268 = BgL_new3328z00_1548; } } } 
return 
(obj_t)(BgL_auxz00_2268);} } } 
}



/* object->struct-indexed3398 */
obj_t BGl_objectzd2ze3structzd2indexed3398ze3zzmsil_funcallz00(obj_t BgL_envz00_1754, obj_t BgL_obj3323z00_1755)
{ AN_OBJECT;
{ /* ./SawMsil/funcall.scm 12 */
{ 
BgL_indexedz00_bglt BgL_obj3323z00_1532;
BgL_obj3323z00_1532 = 
(BgL_indexedz00_bglt)(BgL_obj3323z00_1755); 
{ 

{ /* ./SawMsil/funcall.scm 12 */
obj_t BgL_res3324z00_1535;
{ /* ./SawMsil/funcall.scm 12 */
obj_t BgL_nextzd2method3397zd2_1540;
BgL_nextzd2method3397zd2_1540 = 
BGl_findzd2superzd2classzd2methodzd2zz__objectz00(
(BgL_objectz00_bglt)(BgL_obj3323z00_1532), BGl_objectzd2ze3structzd2envze3zz__objectz00, BGl_indexedz00zzmsil_funcallz00); 
{ /* ./SawMsil/funcall.scm 12 */
bool_t BgL_test4186z00_1541;
BgL_test4186z00_1541 = 
PROCEDUREP(BgL_nextzd2method3397zd2_1540); 
if(BgL_test4186z00_1541)
{ /* ./SawMsil/funcall.scm 12 */
BgL_res3324z00_1535 = 
PROCEDURE_ENTRY(BgL_nextzd2method3397zd2_1540)(BgL_nextzd2method3397zd2_1540, 
(obj_t)(BgL_obj3323z00_1532), BEOA); }  else 
{ /* ./SawMsil/funcall.scm 12 */
BgL_res3324z00_1535 = 
BGl_objectzd2ze3structz31zz__objectz00(
(BgL_objectz00_bglt)(BgL_obj3323z00_1532)); } } } 
{ /* ./SawMsil/funcall.scm 12 */
obj_t BgL_aux3325z00_1536;
{ /* ./SawMsil/funcall.scm 12 */
obj_t BgL_keyz00_1669;int BgL_lenz00_1670;
BgL_keyz00_1669 = 
CNST_TABLE_REF(((long)8)); 
BgL_lenz00_1670 = 
(int)(((long)1)); 
BgL_aux3325z00_1536 = 
make_struct(BgL_keyz00_1669, BgL_lenz00_1670, BUNSPEC); } 
{ /* ./SawMsil/funcall.scm 12 */
int BgL_arg4175z00_1538;
{ 
obj_t BgL_auxz00_2314;
{ /* ./SawMsil/funcall.scm 12 */
BgL_objectz00_bglt BgL_auxz00_2315;
BgL_auxz00_2315 = 
(BgL_objectz00_bglt)(BgL_obj3323z00_1532); 
BgL_auxz00_2314 = 
BGL_OBJECT_WIDENING(BgL_auxz00_2315); } 
BgL_arg4175z00_1538 = 
(((BgL_indexedz00_bglt)CREF(BgL_auxz00_2314))->BgL_indexz00); } 
{ /* ./SawMsil/funcall.scm 12 */
int BgL_kz00_1674;obj_t BgL_oz00_1675;
BgL_kz00_1674 = 
(int)(((long)0)); 
BgL_oz00_1675 = 
BINT(BgL_arg4175z00_1538); 
STRUCT_SET(BgL_aux3325z00_1536, BgL_kz00_1674, BgL_oz00_1675); } } 
{ /* ./SawMsil/funcall.scm 12 */
int BgL_kz00_1677;
BgL_kz00_1677 = 
(int)(((long)0)); 
STRUCT_SET(BgL_res3324z00_1535, BgL_kz00_1677, BgL_aux3325z00_1536); } 
{ /* ./SawMsil/funcall.scm 12 */
obj_t BgL_arg4180z00_1539;
BgL_arg4180z00_1539 = 
STRUCT_KEY(BgL_res3324z00_1535); 
STRUCT_KEY_SET(BgL_aux3325z00_1536, BgL_arg4180z00_1539); } 
{ /* ./SawMsil/funcall.scm 12 */
obj_t BgL_kz00_1684;
BgL_kz00_1684 = 
CNST_TABLE_REF(((long)8)); 
STRUCT_KEY_SET(BgL_res3324z00_1535, BgL_kz00_1684); } 
return BgL_res3324z00_1535;} } } } } 
}



/* imported-modules-init */
obj_t BGl_importedzd2moduleszd2initz00zzmsil_funcallz00()
{ AN_OBJECT;
{ /* ./SawMsil/funcall.scm 1 */
BGl_modulezd2initializa7ationz75zztype_typez00(((long)19090), "msil_funcall"); 
BGl_modulezd2initializa7ationz75zzast_varz00(((long)44246), "msil_funcall"); 
BGl_modulezd2initializa7ationz75zzast_nodez00(((long)50868), "msil_funcall"); 
BGl_modulezd2initializa7ationz75zztype_envz00(((long)25186), "msil_funcall"); 
BGl_modulezd2initializa7ationz75zzobject_classz00(((long)30791), "msil_funcall"); 
BGl_modulezd2initializa7ationz75zzobject_slotsz00(((long)44183), "msil_funcall"); 
BGl_modulezd2initializa7ationz75zzbackend_backendz00(((long)3428), "msil_funcall"); 
BGl_modulezd2initializa7ationz75zzbackend_libz00(((long)20030), "msil_funcall"); 
BGl_modulezd2initializa7ationz75zzbackend_cplibz00(((long)26792), "msil_funcall"); 
BGl_modulezd2initializa7ationz75zzsaw_proceduresz00(((long)20315), "msil_funcall"); 
return 
BGl_modulezd2initializa7ationz75zzmsil_outz00(((long)57040), "msil_funcall");} 
}

