/*===========================================================================*/
/*   (SawMill/expr.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 SawMill/expr.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_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_rtl_regz00_bgl {
   header_t header;
   obj_t widening;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_varz00;
} *BgL_rtl_regz00_bglt;

typedef struct BgL_rtl_funz00_bgl {
   header_t header;
   obj_t widening;
} *BgL_rtl_funz00_bglt;

typedef struct BgL_rtl_lastz00_bgl {
   header_t header;
   obj_t widening;
} *BgL_rtl_lastz00_bglt;

typedef struct BgL_rtl_returnz00_bgl {
   header_t header;
   obj_t widening;
   struct BgL_typez00_bgl * BgL_typez00;
} *BgL_rtl_returnz00_bglt;

typedef struct BgL_rtl_jumpexitz00_bgl {
   header_t header;
   obj_t widening;
} *BgL_rtl_jumpexitz00_bglt;

typedef struct BgL_rtl_failz00_bgl {
   header_t header;
   obj_t widening;
} *BgL_rtl_failz00_bglt;

typedef struct BgL_rtl_notseqz00_bgl {
   header_t header;
   obj_t widening;
} *BgL_rtl_notseqz00_bglt;

typedef struct BgL_rtl_ifz00_bgl {
   header_t header;
   obj_t widening;
} *BgL_rtl_ifz00_bglt;

typedef struct BgL_rtl_selectz00_bgl {
   header_t header;
   obj_t widening;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_patternsz00;
} *BgL_rtl_selectz00_bglt;

typedef struct BgL_rtl_switchz00_bgl {
   header_t header;
   obj_t widening;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_patternsz00;
   obj_t BgL_labelsz00;
} *BgL_rtl_switchz00_bglt;

typedef struct BgL_rtl_ifeqz00_bgl {
   header_t header;
   obj_t widening;
   struct BgL_blockz00_bgl * BgL_thenz00;
} *BgL_rtl_ifeqz00_bglt;

typedef struct BgL_rtl_ifnez00_bgl {
   header_t header;
   obj_t widening;
   struct BgL_blockz00_bgl * BgL_thenz00;
} *BgL_rtl_ifnez00_bglt;

typedef struct BgL_rtl_goz00_bgl {
   header_t header;
   obj_t widening;
   struct BgL_blockz00_bgl * BgL_toz00;
} *BgL_rtl_goz00_bglt;

typedef struct BgL_rtl_purez00_bgl {
   header_t header;
   obj_t widening;
} *BgL_rtl_purez00_bglt;

typedef struct BgL_rtl_nopz00_bgl {
   header_t header;
   obj_t widening;
} *BgL_rtl_nopz00_bglt;

typedef struct BgL_rtl_movz00_bgl {
   header_t header;
   obj_t widening;
} *BgL_rtl_movz00_bglt;

typedef struct BgL_rtl_loadiz00_bgl {
   header_t header;
   obj_t widening;
   struct BgL_atomz00_bgl * BgL_constantz00;
} *BgL_rtl_loadiz00_bglt;

typedef struct BgL_rtl_loadgz00_bgl {
   header_t header;
   obj_t widening;
   struct BgL_globalz00_bgl * BgL_varz00;
} *BgL_rtl_loadgz00_bglt;

typedef struct BgL_rtl_loadfunz00_bgl {
   header_t header;
   obj_t widening;
   struct BgL_globalz00_bgl * BgL_varz00;
} *BgL_rtl_loadfunz00_bglt;

typedef struct BgL_rtl_globalrefz00_bgl {
   header_t header;
   obj_t widening;
   struct BgL_globalz00_bgl * BgL_varz00;
} *BgL_rtl_globalrefz00_bglt;

typedef struct BgL_rtl_getfieldz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_namez00;
   struct BgL_typez00_bgl * BgL_objtypez00;
   struct BgL_typez00_bgl * BgL_typez00;
} *BgL_rtl_getfieldz00_bglt;

typedef struct BgL_rtl_vallocz00_bgl {
   header_t header;
   obj_t widening;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_typez00_bgl * BgL_vtypez00;
} *BgL_rtl_vallocz00_bglt;

typedef struct BgL_rtl_vrefz00_bgl {
   header_t header;
   obj_t widening;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_typez00_bgl * BgL_vtypez00;
} *BgL_rtl_vrefz00_bglt;

typedef struct BgL_rtl_vlengthz00_bgl {
   header_t header;
   obj_t widening;
   struct BgL_typez00_bgl * BgL_typez00;
} *BgL_rtl_vlengthz00_bglt;

typedef struct BgL_rtl_isaz00_bgl {
   header_t header;
   obj_t widening;
   struct BgL_typez00_bgl * BgL_typez00;
} *BgL_rtl_isaz00_bglt;

typedef struct BgL_rtl_makeboxz00_bgl {
   header_t header;
   obj_t widening;
} *BgL_rtl_makeboxz00_bglt;

typedef struct BgL_rtl_boxrefz00_bgl {
   header_t header;
   obj_t widening;
} *BgL_rtl_boxrefz00_bglt;

typedef struct BgL_rtl_effectz00_bgl {
   header_t header;
   obj_t widening;
} *BgL_rtl_effectz00_bglt;

typedef struct BgL_rtl_storegz00_bgl {
   header_t header;
   obj_t widening;
   struct BgL_globalz00_bgl * BgL_varz00;
} *BgL_rtl_storegz00_bglt;

typedef struct BgL_rtl_setfieldz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_namez00;
   struct BgL_typez00_bgl * BgL_objtypez00;
   struct BgL_typez00_bgl * BgL_typez00;
} *BgL_rtl_setfieldz00_bglt;

typedef struct BgL_rtl_vsetz00_bgl {
   header_t header;
   obj_t widening;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_typez00_bgl * BgL_vtypez00;
} *BgL_rtl_vsetz00_bglt;

typedef struct BgL_rtl_boxsetz00_bgl {
   header_t header;
   obj_t widening;
} *BgL_rtl_boxsetz00_bglt;

typedef struct BgL_rtl_newz00_bgl {
   header_t header;
   obj_t widening;
   struct BgL_typez00_bgl * BgL_typez00;
} *BgL_rtl_newz00_bglt;

typedef struct BgL_rtl_callz00_bgl {
   header_t header;
   obj_t widening;
   struct BgL_globalz00_bgl * BgL_varz00;
} *BgL_rtl_callz00_bglt;

typedef struct BgL_rtl_applyz00_bgl {
   header_t header;
   obj_t widening;
} *BgL_rtl_applyz00_bglt;

typedef struct BgL_rtl_lightfuncallz00_bgl {
   header_t header;
   obj_t widening;
} *BgL_rtl_lightfuncallz00_bglt;

typedef struct BgL_rtl_funcallz00_bgl {
   header_t header;
   obj_t widening;
} *BgL_rtl_funcallz00_bglt;

typedef struct BgL_rtl_pragmaz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_formatz00;
} *BgL_rtl_pragmaz00_bglt;

typedef struct BgL_rtl_castz00_bgl {
   header_t header;
   obj_t widening;
   struct BgL_typez00_bgl * BgL_typez00;
} *BgL_rtl_castz00_bglt;

typedef struct BgL_rtl_protectz00_bgl {
   header_t header;
   obj_t widening;
} *BgL_rtl_protectz00_bglt;

typedef struct BgL_rtl_protectedz00_bgl {
   header_t header;
   obj_t widening;
} *BgL_rtl_protectedz00_bglt;

typedef struct BgL_stl_loadrz00_bgl {
   header_t header;
   obj_t widening;
   struct BgL_rtl_regz00_bgl * BgL_regz00;
} *BgL_stl_loadrz00_bglt;

typedef struct BgL_stl_storerz00_bgl {
   header_t header;
   obj_t widening;
   struct BgL_rtl_regz00_bgl * BgL_regz00;
} *BgL_stl_storerz00_bglt;

typedef struct BgL_stl_popz00_bgl {
   header_t header;
   obj_t widening;
} *BgL_stl_popz00_bglt;

typedef struct BgL_rtl_insz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   obj_t BgL_destz00;
   struct BgL_rtl_funz00_bgl * BgL_funz00;
   obj_t BgL_argsz00;
} *BgL_rtl_insz00_bglt;

typedef struct BgL_blockz00_bgl {
   header_t header;
   obj_t widening;
   int BgL_labelz00;
   obj_t BgL_predsz00;
   obj_t BgL_succsz00;
   obj_t BgL_firstz00;
} *BgL_blockz00_bglt;

typedef struct BgL_iregz00_bgl {
   obj_t BgL_indexz00;
   obj_t BgL_statusz00;
   obj_t BgL_inlinezf3zf3;
} *BgL_iregz00_bglt;

typedef struct BgL_inlinedz00_bgl {
   char dummy;
} *BgL_inlinedz00_bglt;


BGL_EXPORTED_DECL obj_t BGl_acceptzd2foldingzf3z21zzsaw_exprz00(BgL_backendz00_bglt, obj_t, obj_t);
static obj_t BGl_methodzd2initzd2zzsaw_exprz00();
static obj_t BGl_effectszd2rtl_call3589zd2zzsaw_exprz00(obj_t, obj_t);
static BgL_feffectz00_bglt BGl_za2noeffectza2z00zzsaw_exprz00;
static obj_t BGl_inlinedz00zzsaw_exprz00 = BUNSPEC;
static obj_t BGl_manuzd2effectzd2zzsaw_exprz00(BgL_globalz00_bglt);
BGL_IMPORT obj_t open_input_string(obj_t);
BGL_IMPORT long BGl_classzd2numzd2zz__objectz00(obj_t);
static obj_t BGl_objectzd2ze3structzd2ireg3595ze3zzsaw_exprz00(obj_t, obj_t);
static BgL_feffectz00_bglt BGl_za2vrefza2z00zzsaw_exprz00;
static obj_t BGl_effectszd2rtl_boxset3573zd2zzsaw_exprz00(obj_t, obj_t);
static obj_t BGl_effectszd2rtl_loadg3563zd2zzsaw_exprz00(obj_t, obj_t);
extern obj_t BGl_rtl_regz00zzsaw_defsz00;
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_objectzd2ze3structz31zz__objectz00(BgL_objectz00_bglt);
BGL_IMPORT obj_t BGl_addzd2genericz12zc0zz__objectz00(obj_t, obj_t);
static obj_t BGl_effectszd2rtl_vref3567zd2zzsaw_exprz00(obj_t, obj_t);
static obj_t BGl_xxz00zzsaw_exprz00(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);
extern obj_t BGl_rtl_protectz00zzsaw_defsz00;
static obj_t BGl_effectszd2rtl_pragma3585zd2zzsaw_exprz00(obj_t, obj_t);
extern obj_t BGl_rtl_applyz00zzsaw_defsz00;
extern obj_t BGl_funz00zzast_varz00;
static obj_t BGl__effectszd2default3560zd2zzsaw_exprz00(obj_t, obj_t);
static BgL_feffectz00_bglt BGl_za2storegza2z00zzsaw_exprz00;
BGL_IMPORT obj_t BGl_putpropz12z12zz__r4_symbols_6_4z00(obj_t, obj_t, obj_t);
static BgL_inlinedz00_bglt BGl_wideningzd2inlinedzd2zzsaw_exprz00();
static obj_t BGl__acceptzd2foldingzf3zd2default3558zf3zzsaw_exprz00(obj_t, obj_t, obj_t, obj_t);
static obj_t BGl__effects4850z00zzsaw_exprz00(obj_t, obj_t);
static BgL_feffectz00_bglt BGl_za2fullza2z00zzsaw_exprz00;
static obj_t BGl_cnstzd2initzd2zzsaw_exprz00();
static obj_t BGl_objectzd2ze3structzd2inlined3591ze3zzsaw_exprz00(obj_t, obj_t);
static obj_t BGl_effectszd2rtl_funcall3583zd2zzsaw_exprz00(obj_t, obj_t);
static BgL_feffectz00_bglt BGl_za2loadgza2z00zzsaw_exprz00;
static obj_t BGl_effectszd2rtl_getfield3575zd2zzsaw_exprz00(obj_t, obj_t);
static obj_t BGl_regzd2ze3iregzf2writezc3zzsaw_exprz00(obj_t, obj_t);
static obj_t BGl_importedzd2moduleszd2initz00zzsaw_exprz00();
BGL_IMPORT obj_t make_struct(obj_t, int, obj_t);
static obj_t BGl_effectszd2rtl_boxref3571zd2zzsaw_exprz00(obj_t, obj_t);
extern obj_t BGl_rtl_getfieldz00zzsaw_defsz00;
BGL_IMPORT obj_t BGl_addzd2methodz12zc0zz__objectz00(obj_t, obj_t, obj_t);
extern obj_t BGl_rtl_lightfuncallz00zzsaw_defsz00;
static bool_t BGl_markzd2localszd2zzsaw_exprz00(obj_t, obj_t);
extern BgL_feffectz00_bglt BGl_makezd2feffectzd2zzast_varz00(obj_t, obj_t);
static BgL_feffectz00_bglt BGl_za2psetza2z00zzsaw_exprz00;
extern obj_t BGl_rtl_insz00zzsaw_defsz00;
extern obj_t BGl_rtl_pragmaz00zzsaw_defsz00;
static obj_t BGl_toplevelzd2initzd2zzsaw_exprz00();
static obj_t BGl_structzb2objectzd2ze3objectzd2inlined3593z51zzsaw_exprz00(obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zzsaw_exprz00(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_modulezd2initializa7ationz75zzbackend_backendz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzsaw_defsz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__objectz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__readerz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_pairs_and_lists_6_3z00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_symbols_6_4z00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_control_features_6_9z00(long, char *);
static obj_t BGl_effectszd2rtl_storeg3565zd2zzsaw_exprz00(obj_t, obj_t);
static obj_t BGl_effectszd2rtl_apply3579zd2zzsaw_exprz00(obj_t, obj_t);
static obj_t BGl_zc3anonymousza33669ze3z83zzsaw_exprz00(obj_t, obj_t);
static obj_t BGl__allocatezd2inlinedzd2zzsaw_exprz00(obj_t);
extern obj_t BGl_rtl_funcallz00zzsaw_defsz00;
static obj_t BGl_effectszd2rtl_lightfuncall3581zd2zzsaw_exprz00(obj_t, obj_t);
static bool_t BGl_matcheffectz00zzsaw_exprz00(obj_t, obj_t);
static obj_t BGl_effectszd2rtl_protect3587zd2zzsaw_exprz00(obj_t, obj_t);
static obj_t BGl__rtl_inszf3zf3zzsaw_exprz00(obj_t, obj_t);
BGL_IMPORT BgL_objectz00_bglt BGl_structzb2objectzd2ze3objectz83zz__objectz00(BgL_objectz00_bglt, obj_t);
static BgL_feffectz00_bglt BGl_za2prefza2z00zzsaw_exprz00;
static bool_t BGl_intersectionzf3zf3zzsaw_exprz00(obj_t, obj_t);
static BgL_feffectz00_bglt BGl_za2boxsetza2z00zzsaw_exprz00;
static obj_t BGl_structzb2objectzd2ze3objectzd2ireg3597z51zzsaw_exprz00(obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_buildzd2treezd2zzsaw_exprz00(BgL_backendz00_bglt, obj_t, obj_t);
BGL_IMPORT obj_t BGl_filterz00zz__r4_control_features_6_9z00(obj_t, obj_t);
BGL_IMPORT obj_t BGl_memqz00zz__r4_pairs_and_lists_6_3z00(obj_t, obj_t);
extern obj_t BGl_rtl_loadgz00zzsaw_defsz00;
extern obj_t BGl_rtl_boxsetz00zzsaw_defsz00;
BGL_IMPORT obj_t BGl_getpropz00zz__r4_symbols_6_4z00(obj_t, obj_t);
static obj_t BGl_iregz00zzsaw_exprz00 = BUNSPEC;
static obj_t BGl_effectsz00zzsaw_exprz00(BgL_rtl_funz00_bglt);
BGL_IMPORT obj_t BGl_anyz00zz__r4_pairs_and_lists_6_3z00(obj_t, obj_t);
static BgL_feffectz00_bglt BGl_za2setfza2z00zzsaw_exprz00;
extern obj_t BGl_rtl_vrefz00zzsaw_defsz00;
static BgL_feffectz00_bglt BGl_za2boxrefza2z00zzsaw_exprz00;
extern obj_t BGl_feffectz00zzast_varz00;
static obj_t BGl_analysez00zzsaw_exprz00(BgL_backendz00_bglt, obj_t, obj_t);
static obj_t BGl__buildzd2tree4848zd2zzsaw_exprz00(obj_t, obj_t, obj_t, obj_t);
extern obj_t BGl_rtl_boxrefz00zzsaw_defsz00;
static obj_t BGl_effectszd2rtl_vset3569zd2zzsaw_exprz00(obj_t, obj_t);
static obj_t BGl_regzd2ze3iregz31zzsaw_exprz00(obj_t, obj_t);
static obj_t BGl_zc3anonymousza33854ze3z83zzsaw_exprz00(obj_t, obj_t);
static obj_t BGl_objectzd2initzd2zzsaw_exprz00();
extern obj_t BGl_rtl_vsetz00zzsaw_defsz00;
extern obj_t BGl_rtl_storegz00zzsaw_defsz00;
static BgL_feffectz00_bglt BGl_za2getfza2z00zzsaw_exprz00;
static obj_t BGl_requirezd2initializa7ationz75zzsaw_exprz00 = BUNSPEC;
static BgL_feffectz00_bglt BGl_za2vsetza2z00zzsaw_exprz00;
static obj_t BGl__acceptzd2foldingzf34852z21zzsaw_exprz00(obj_t, obj_t, obj_t, obj_t);
BGL_IMPORT obj_t BGl_filterz12z12zz__r4_control_features_6_9z00(obj_t, obj_t);
static obj_t BGl__allocatezd2iregzd2zzsaw_exprz00(obj_t);
static obj_t BGl_libraryzd2moduleszd2initz00zzsaw_exprz00();
static obj_t BGl_effectszd2rtl_setfield3577zd2zzsaw_exprz00(obj_t, obj_t);
extern obj_t BGl_rtl_setfieldz00zzsaw_defsz00;
extern obj_t BGl_rtl_callz00zzsaw_defsz00;
BGL_IMPORT obj_t BGl_findzd2superzd2classzd2methodzd2zz__objectz00(BgL_objectz00_bglt, obj_t, obj_t);
static obj_t __cnst[ 24 ] ;


DEFINE_STATIC_PROCEDURE( BGl_rtl_inszf3zd2envz21zzsaw_exprz00, BgL_bgl__rtl_insza7f3za7f3za7za7saw_exprza7005204za7, BGl__rtl_inszf3zf3zzsaw_exprz00, 0L, 1 );
DEFINE_STRING( BGl_string5157z00zzsaw_exprz00, BgL_bgl_string5157za700za7za7saw_exprza7005205z00, "inlined ireg (print (global-id var) \" has no effect\") ko ok written readen reset (output-port) c-write-char output-port c-current-output-port tvector-descr-set! procedure-set! procedure-ref make-fx-procedure foreign c-cons (procedure) top (field) (box) (vector) (memory) ", 271 );
DEFINE_STATIC_GENERIC( BGl_effectszd2envzd2zzsaw_exprz00, BgL_bgl__effects4850za700za7za7saw_exprza7005206z00, BGl__effects4850z00zzsaw_exprz00, 0L, 1 );
BGL_IMPORT obj_t BGl_objectzd2ze3structzd2envze3zz__objectz00;
DEFINE_EXPORT_GENERIC( BGl_acceptzd2foldingzf3zd2envzf3zzsaw_exprz00, BgL_bgl__acceptza7d2foldingza7f34852za721za7za7saw_exprza7005207z00, BGl__acceptzd2foldingzf34852z21zzsaw_exprz00, 0L, 3 );
DEFINE_STATIC_PROCEDURE( BGl_effectszd2default3560zd2envz00zzsaw_exprz00, BgL_bgl__effectsza7d2default3560za7d2za7za7saw_exprza7005208za7, BGl__effectszd2default3560zd2zzsaw_exprz00, 0L, 1 );
DEFINE_EXPORT_PROCEDURE( BGl_buildzd2treezd2envz00zzsaw_exprz00, BgL_bgl__buildza7d2tree4848za7d2za7za7saw_exprza7005209za7, BGl__buildzd2tree4848zd2zzsaw_exprz00, 0L, 3 );
DEFINE_STATIC_PROCEDURE( BGl_allocatezd2iregzd2envz00zzsaw_exprz00, BgL_bgl__allocateza7d2iregza7d2za7za7saw_exprza7005210za7, BGl__allocatezd2iregzd2zzsaw_exprz00, 0L, 0 );
DEFINE_STATIC_PROCEDURE( BGl_proc5138z00zzsaw_exprz00, BgL_bgl_za7c3anonymousza7a33669za7e3za783za7za7saw_exprza7005211za7, BGl_zc3anonymousza33669ze3z83zzsaw_exprz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc5140z00zzsaw_exprz00, BgL_bgl_effectsza7d2rtl_storeg3565za7d2za7za7saw_exprza7005212za7, BGl_effectszd2rtl_storeg3565zd2zzsaw_exprz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc5139z00zzsaw_exprz00, BgL_bgl_effectsza7d2rtl_loadg3563za7d2za7za7saw_exprza7005213za7, BGl_effectszd2rtl_loadg3563zd2zzsaw_exprz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc5141z00zzsaw_exprz00, BgL_bgl_effectsza7d2rtl_vref3567za7d2za7za7saw_exprza7005214za7, BGl_effectszd2rtl_vref3567zd2zzsaw_exprz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc5142z00zzsaw_exprz00, BgL_bgl_effectsza7d2rtl_vset3569za7d2za7za7saw_exprza7005215za7, BGl_effectszd2rtl_vset3569zd2zzsaw_exprz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc5143z00zzsaw_exprz00, BgL_bgl_effectsza7d2rtl_boxref3571za7d2za7za7saw_exprza7005216za7, BGl_effectszd2rtl_boxref3571zd2zzsaw_exprz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc5144z00zzsaw_exprz00, BgL_bgl_effectsza7d2rtl_boxset3573za7d2za7za7saw_exprza7005217za7, BGl_effectszd2rtl_boxset3573zd2zzsaw_exprz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc5145z00zzsaw_exprz00, BgL_bgl_effectsza7d2rtl_getfield3575za7d2za7za7saw_exprza7005218za7, BGl_effectszd2rtl_getfield3575zd2zzsaw_exprz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc5146z00zzsaw_exprz00, BgL_bgl_effectsza7d2rtl_setfield3577za7d2za7za7saw_exprza7005219za7, BGl_effectszd2rtl_setfield3577zd2zzsaw_exprz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc5147z00zzsaw_exprz00, BgL_bgl_effectsza7d2rtl_apply3579za7d2za7za7saw_exprza7005220za7, BGl_effectszd2rtl_apply3579zd2zzsaw_exprz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc5148z00zzsaw_exprz00, BgL_bgl_effectsza7d2rtl_lightfuncall3581za7d2za7za7saw_exprza7005221za7, BGl_effectszd2rtl_lightfuncall3581zd2zzsaw_exprz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc5150z00zzsaw_exprz00, BgL_bgl_effectsza7d2rtl_pragma3585za7d2za7za7saw_exprza7005222za7, BGl_effectszd2rtl_pragma3585zd2zzsaw_exprz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc5149z00zzsaw_exprz00, BgL_bgl_effectsza7d2rtl_funcall3583za7d2za7za7saw_exprza7005223za7, BGl_effectszd2rtl_funcall3583zd2zzsaw_exprz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc5151z00zzsaw_exprz00, BgL_bgl_effectsza7d2rtl_protect3587za7d2za7za7saw_exprza7005224za7, BGl_effectszd2rtl_protect3587zd2zzsaw_exprz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc5152z00zzsaw_exprz00, BgL_bgl_effectsza7d2rtl_call3589za7d2za7za7saw_exprza7005225za7, BGl_effectszd2rtl_call3589zd2zzsaw_exprz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc5153z00zzsaw_exprz00, BgL_bgl_objectza7d2za7e3structza7d2inlined3591za7e3za7za7saw_exprza7005226za7, BGl_objectzd2ze3structzd2inlined3591ze3zzsaw_exprz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc5154z00zzsaw_exprz00, BgL_bgl_structza7b2objectza7d2za7e3objectza7d2inlined3593za751za7za7saw_exprza7005227z00, BGl_structzb2objectzd2ze3objectzd2inlined3593z51zzsaw_exprz00, 0L, 2 );
DEFINE_STATIC_PROCEDURE( BGl_proc5155z00zzsaw_exprz00, BgL_bgl_objectza7d2za7e3structza7d2ireg3595za7e3za7za7saw_exprza7005228za7, BGl_objectzd2ze3structzd2ireg3595ze3zzsaw_exprz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc5156z00zzsaw_exprz00, BgL_bgl_structza7b2objectza7d2za7e3objectza7d2ireg3597za751za7za7saw_exprza7005229z00, BGl_structzb2objectzd2ze3objectzd2ireg3597z51zzsaw_exprz00, 0L, 2 );
DEFINE_STATIC_PROCEDURE( BGl_acceptzd2foldingzf3zd2default3558zd2envz21zzsaw_exprz00, BgL_bgl__acceptza7d2foldingza7f3za7d2default3558za7f3za7za7saw_exprza7005230za7, BGl__acceptzd2foldingzf3zd2default3558zf3zzsaw_exprz00, 0L, 3 );
BGL_IMPORT obj_t BGl_structzb2objectzd2ze3objectzd2envz51zz__objectz00;
DEFINE_STATIC_PROCEDURE( BGl_allocatezd2inlinedzd2envz00zzsaw_exprz00, BgL_bgl__allocateza7d2inlinedza7d2za7za7saw_exprza7005231za7, BGl__allocatezd2inlinedzd2zzsaw_exprz00, 0L, 0 );



/* module-initialization */
BGL_EXPORTED_DEF obj_t BGl_modulezd2initializa7ationz75zzsaw_exprz00(long BgL_checksumz00_2486, char * BgL_fromz00_2487)
{ AN_OBJECT;
{ 
if(
CBOOL(BGl_requirezd2initializa7ationz75zzsaw_exprz00))
{ 
BGl_requirezd2initializa7ationz75zzsaw_exprz00 = 
BBOOL(((bool_t)0)); 
BGl_libraryzd2moduleszd2initz00zzsaw_exprz00(); 
BGl_cnstzd2initzd2zzsaw_exprz00(); 
BGl_importedzd2moduleszd2initz00zzsaw_exprz00(); 
BGl_objectzd2initzd2zzsaw_exprz00(); 
BGl_methodzd2initzd2zzsaw_exprz00(); 
BGl_toplevelzd2initzd2zzsaw_exprz00(); 
return BUNSPEC;}  else 
{ 
return BUNSPEC;} } 
}



/* library-modules-init */
obj_t BGl_libraryzd2moduleszd2initz00zzsaw_exprz00()
{ AN_OBJECT;
{ /* ./SawMill/expr.scm 1 */
BGl_modulezd2initializa7ationz75zz__objectz00(((long)0), "saw_expr"); 
BGl_modulezd2initializa7ationz75zz__readerz00(((long)0), "saw_expr"); 
BGl_modulezd2initializa7ationz75zz__r4_symbols_6_4z00(((long)0), "saw_expr"); 
BGl_modulezd2initializa7ationz75zz__r4_control_features_6_9z00(((long)0), "saw_expr"); 
BGl_modulezd2initializa7ationz75zz__r4_pairs_and_lists_6_3z00(((long)0), "saw_expr"); 
return BUNSPEC;} 
}



/* cnst-init */
obj_t BGl_cnstzd2initzd2zzsaw_exprz00()
{ AN_OBJECT;
{ /* ./SawMill/expr.scm 1 */
{ /* ./SawMill/expr.scm 1 */
obj_t BgL_cportz00_2428;
BgL_cportz00_2428 = 
open_input_string(BGl_string5157z00zzsaw_exprz00); 
{ 
long BgL_iz00_2429;
BgL_iz00_2429 = ((long)23); 
BgL_loopz00_2430:
{ /* ./SawMill/expr.scm 1 */
bool_t BgL_test5159z00_2431;
BgL_test5159z00_2431 = 
(BgL_iz00_2429==((long)-1)); 
if(BgL_test5159z00_2431)
{ /* ./SawMill/expr.scm 1 */
return BUNSPEC;}  else 
{ /* ./SawMill/expr.scm 1 */
{ /* ./SawMill/expr.scm 1 */
obj_t BgL_arg5161z00_2432;
{ /* ./SawMill/expr.scm 1 */
obj_t BgL_list5164z00_2433;
BgL_list5164z00_2433 = 
MAKE_PAIR(BgL_cportz00_2428, BNIL); 
BgL_arg5161z00_2432 = 
BGl_readz00zz__readerz00(BgL_list5164z00_2433); } 
{ /* ./SawMill/expr.scm 1 */
int BgL_auxz00_2507;
BgL_auxz00_2507 = 
(int)(BgL_iz00_2429); 
CNST_TABLE_SET(BgL_auxz00_2507, BgL_arg5161z00_2432); } } 
{ /* ./SawMill/expr.scm 1 */
int BgL_auxz00_2434;
{ /* ./SawMill/expr.scm 1 */
long BgL_auxz00_2510;
BgL_auxz00_2510 = 
(BgL_iz00_2429-((long)1)); 
BgL_auxz00_2434 = 
(int)(BgL_auxz00_2510); } 
{ 
long BgL_iz00_2513;
BgL_iz00_2513 = 
(long)(BgL_auxz00_2434); 
BgL_iz00_2429 = BgL_iz00_2513; 
goto BgL_loopz00_2430;} } } } } } } 
}



/* toplevel-init */
obj_t BGl_toplevelzd2initzd2zzsaw_exprz00()
{ AN_OBJECT;
{ /* ./SawMill/expr.scm 1 */
BGl_za2noeffectza2z00zzsaw_exprz00 = 
BGl_makezd2feffectzd2zzast_varz00(BNIL, BNIL); 
BGl_za2loadgza2z00zzsaw_exprz00 = 
BGl_makezd2feffectzd2zzast_varz00(
CNST_TABLE_REF(((long)0)), BNIL); 
BGl_za2storegza2z00zzsaw_exprz00 = 
BGl_makezd2feffectzd2zzast_varz00(BNIL, 
CNST_TABLE_REF(((long)0))); 
BGl_za2vrefza2z00zzsaw_exprz00 = 
BGl_makezd2feffectzd2zzast_varz00(
CNST_TABLE_REF(((long)1)), BNIL); 
BGl_za2vsetza2z00zzsaw_exprz00 = 
BGl_makezd2feffectzd2zzast_varz00(BNIL, 
CNST_TABLE_REF(((long)1))); 
BGl_za2boxrefza2z00zzsaw_exprz00 = 
BGl_makezd2feffectzd2zzast_varz00(
CNST_TABLE_REF(((long)2)), BNIL); 
BGl_za2boxsetza2z00zzsaw_exprz00 = 
BGl_makezd2feffectzd2zzast_varz00(BNIL, 
CNST_TABLE_REF(((long)2))); 
BGl_za2getfza2z00zzsaw_exprz00 = 
BGl_makezd2feffectzd2zzast_varz00(
CNST_TABLE_REF(((long)3)), BNIL); 
BGl_za2setfza2z00zzsaw_exprz00 = 
BGl_makezd2feffectzd2zzast_varz00(BNIL, 
CNST_TABLE_REF(((long)3))); 
BGl_za2fullza2z00zzsaw_exprz00 = 
BGl_makezd2feffectzd2zzast_varz00(
CNST_TABLE_REF(((long)4)), 
CNST_TABLE_REF(((long)4))); 
BGl_za2prefza2z00zzsaw_exprz00 = 
BGl_makezd2feffectzd2zzast_varz00(
CNST_TABLE_REF(((long)5)), BNIL); 
BGl_za2psetza2z00zzsaw_exprz00 = 
BGl_makezd2feffectzd2zzast_varz00(BNIL, 
CNST_TABLE_REF(((long)5))); 
{ /* ./SawMill/expr.scm 181 */
obj_t BgL_arg3611z00_1100;obj_t BgL_arg3612z00_1101;BgL_feffectz00_bglt BgL_arg3613z00_1102;
BgL_arg3611z00_1100 = 
CNST_TABLE_REF(((long)6)); 
BgL_arg3612z00_1101 = 
CNST_TABLE_REF(((long)7)); 
BgL_arg3613z00_1102 = 
BGl_makezd2feffectzd2zzast_varz00(BNIL, BNIL); 
BGl_putpropz12z12zz__r4_symbols_6_4z00(BgL_arg3611z00_1100, BgL_arg3612z00_1101, 
(obj_t)(BgL_arg3613z00_1102)); } 
{ /* ./SawMill/expr.scm 182 */
obj_t BgL_arg3617z00_1103;obj_t BgL_arg3618z00_1104;BgL_feffectz00_bglt BgL_arg3619z00_1105;
BgL_arg3617z00_1103 = 
CNST_TABLE_REF(((long)8)); 
BgL_arg3618z00_1104 = 
CNST_TABLE_REF(((long)7)); 
BgL_arg3619z00_1105 = 
BGl_makezd2feffectzd2zzast_varz00(BNIL, BNIL); 
BGl_putpropz12z12zz__r4_symbols_6_4z00(BgL_arg3617z00_1103, BgL_arg3618z00_1104, 
(obj_t)(BgL_arg3619z00_1105)); } 
{ /* ./SawMill/expr.scm 183 */
obj_t BgL_arg3623z00_1106;obj_t BgL_arg3624z00_1107;BgL_feffectz00_bglt BgL_arg3625z00_1108;
BgL_arg3623z00_1106 = 
CNST_TABLE_REF(((long)9)); 
BgL_arg3624z00_1107 = 
CNST_TABLE_REF(((long)7)); 
BgL_arg3625z00_1108 = 
BGl_makezd2feffectzd2zzast_varz00(
CNST_TABLE_REF(((long)5)), BNIL); 
BGl_putpropz12z12zz__r4_symbols_6_4z00(BgL_arg3623z00_1106, BgL_arg3624z00_1107, 
(obj_t)(BgL_arg3625z00_1108)); } 
{ /* ./SawMill/expr.scm 184 */
obj_t BgL_arg3629z00_1109;obj_t BgL_arg3630z00_1110;BgL_feffectz00_bglt BgL_arg3631z00_1111;
BgL_arg3629z00_1109 = 
CNST_TABLE_REF(((long)10)); 
BgL_arg3630z00_1110 = 
CNST_TABLE_REF(((long)7)); 
BgL_arg3631z00_1111 = 
BGl_makezd2feffectzd2zzast_varz00(BNIL, 
CNST_TABLE_REF(((long)5))); 
BGl_putpropz12z12zz__r4_symbols_6_4z00(BgL_arg3629z00_1109, BgL_arg3630z00_1110, 
(obj_t)(BgL_arg3631z00_1111)); } 
{ /* ./SawMill/expr.scm 185 */
obj_t BgL_arg3635z00_1112;obj_t BgL_arg3636z00_1113;BgL_feffectz00_bglt BgL_arg3637z00_1114;
BgL_arg3635z00_1112 = 
CNST_TABLE_REF(((long)11)); 
BgL_arg3636z00_1113 = 
CNST_TABLE_REF(((long)7)); 
BgL_arg3637z00_1114 = 
BGl_makezd2feffectzd2zzast_varz00(BNIL, 
CNST_TABLE_REF(((long)1))); 
BGl_putpropz12z12zz__r4_symbols_6_4z00(BgL_arg3635z00_1112, BgL_arg3636z00_1113, 
(obj_t)(BgL_arg3637z00_1114)); } 
{ /* ./SawMill/expr.scm 186 */
obj_t BgL_arg3641z00_1115;obj_t BgL_arg3642z00_1116;BgL_feffectz00_bglt BgL_arg3643z00_1117;
BgL_arg3641z00_1115 = 
CNST_TABLE_REF(((long)12)); 
BgL_arg3642z00_1116 = 
CNST_TABLE_REF(((long)7)); 
BgL_arg3643z00_1117 = 
BGl_makezd2feffectzd2zzast_varz00(
CNST_TABLE_REF(((long)13)), BNIL); 
BGl_putpropz12z12zz__r4_symbols_6_4z00(BgL_arg3641z00_1115, BgL_arg3642z00_1116, 
(obj_t)(BgL_arg3643z00_1117)); } 
{ /* ./SawMill/expr.scm 187 */
obj_t BgL_arg3647z00_1118;obj_t BgL_arg3648z00_1119;BgL_feffectz00_bglt BgL_arg3650z00_1120;
BgL_arg3647z00_1118 = 
CNST_TABLE_REF(((long)14)); 
BgL_arg3648z00_1119 = 
CNST_TABLE_REF(((long)7)); 
BgL_arg3650z00_1120 = 
BGl_makezd2feffectzd2zzast_varz00(BNIL, 
CNST_TABLE_REF(((long)15))); 
return 
BGl_putpropz12z12zz__r4_symbols_6_4z00(BgL_arg3647z00_1118, BgL_arg3648z00_1119, 
(obj_t)(BgL_arg3650z00_1120));} } 
}



/* build-tree */
BGL_EXPORTED_DEF obj_t BGl_buildzd2treezd2zzsaw_exprz00(BgL_backendz00_bglt BgL_bez00_1, obj_t BgL_paramsz00_2, obj_t BgL_lz00_3)
{ AN_OBJECT;
{ /* ./SawMill/expr.scm 10 */
BGl_markzd2localszd2zzsaw_exprz00(BgL_paramsz00_2, BgL_lz00_3); 
{ 
obj_t BgL_l3513z00_1121;
{ /* ./SawMill/expr.scm 12 */
bool_t BgL_auxz00_2580;
BgL_l3513z00_1121 = BgL_lz00_3; 
BgL_forzd2each3514zd2_1122:
{ /* ./SawMill/expr.scm 12 */
bool_t BgL_test3655z00_1123;
BgL_test3655z00_1123 = 
PAIRP(BgL_l3513z00_1121); 
if(BgL_test3655z00_1123)
{ /* ./SawMill/expr.scm 12 */
{ /* ./SawMill/expr.scm 13 */
obj_t BgL_bz00_1124;
BgL_bz00_1124 = 
CAR(BgL_l3513z00_1121); 
{ /* ./SawMill/expr.scm 13 */
obj_t BgL_lz00_1125;obj_t BgL_movesz00_1126;
{ /* ./SawMill/expr.scm 13 */
BgL_blockz00_bglt BgL_obj3421z00_1986;
BgL_obj3421z00_1986 = 
(BgL_blockz00_bglt)(BgL_bz00_1124); 
BgL_lz00_1125 = 
(((BgL_blockz00_bglt)CREF(BgL_obj3421z00_1986))->BgL_firstz00); } 
BgL_movesz00_1126 = BNIL; 
{ 
obj_t BgL_l3515z00_1127;
BgL_l3515z00_1127 = BgL_lz00_1125; 
BgL_forzd2each3516zd2_1128:
{ /* ./SawMill/expr.scm 14 */
bool_t BgL_test3657z00_1129;
BgL_test3657z00_1129 = 
PAIRP(BgL_l3515z00_1127); 
if(BgL_test3657z00_1129)
{ /* ./SawMill/expr.scm 14 */
{ /* ./SawMill/expr.scm 14 */
obj_t BgL_insz00_1130;
BgL_insz00_1130 = 
CAR(BgL_l3515z00_1127); 
BgL_movesz00_1126 = 
BGl_analysez00zzsaw_exprz00(BgL_bez00_1, BgL_movesz00_1126, BgL_insz00_1130); } 
{ /* ./SawMill/expr.scm 14 */
obj_t BgL_arg3661z00_1131;
BgL_arg3661z00_1131 = 
CDR(BgL_l3515z00_1127); 
{ 
obj_t BgL_l3515z00_2591;
BgL_l3515z00_2591 = BgL_arg3661z00_1131; 
BgL_l3515z00_1127 = BgL_l3515z00_2591; 
goto BgL_forzd2each3516zd2_1128;} } }  else 
{ /* ./SawMill/expr.scm 14 */((bool_t)1); } } } 
{ /* ./SawMill/expr.scm 16 */
obj_t BgL_rz00_1132;
BgL_rz00_1132 = 
BGl_filterz12z12zz__r4_control_features_6_9z00(BGl_proc5138z00zzsaw_exprz00, BgL_lz00_1125); 
{ /* ./SawMill/expr.scm 17 */
BgL_blockz00_bglt BgL_obj3423z00_1992;obj_t BgL_val3422z00_1993;
BgL_obj3423z00_1992 = 
(BgL_blockz00_bglt)(BgL_bz00_1124); 
BgL_val3422z00_1993 = BgL_rz00_1132; 
((((BgL_blockz00_bglt)CREF(BgL_obj3423z00_1992))->BgL_firstz00) = ((obj_t)BgL_val3422z00_1993), BUNSPEC); } } } } 
{ /* ./SawMill/expr.scm 12 */
obj_t BgL_arg3675z00_1138;
BgL_arg3675z00_1138 = 
CDR(BgL_l3513z00_1121); 
{ 
obj_t BgL_l3513z00_2596;
BgL_l3513z00_2596 = BgL_arg3675z00_1138; 
BgL_l3513z00_1121 = BgL_l3513z00_2596; 
goto BgL_forzd2each3514zd2_1122;} } }  else 
{ /* ./SawMill/expr.scm 12 */
BgL_auxz00_2580 = ((bool_t)1); } } 
return 
BBOOL(BgL_auxz00_2580);} } } 
}



/* _build-tree4848 */
obj_t BGl__buildzd2tree4848zd2zzsaw_exprz00(obj_t BgL_envz00_2337, obj_t BgL_bez00_2338, obj_t BgL_paramsz00_2339, obj_t BgL_lz00_2340)
{ AN_OBJECT;
{ /* ./SawMill/expr.scm 10 */
return 
BGl_buildzd2treezd2zzsaw_exprz00(
(BgL_backendz00_bglt)(BgL_bez00_2338), BgL_paramsz00_2339, BgL_lz00_2340);} 
}



/* <anonymous:3669> */
obj_t BGl_zc3anonymousza33669ze3z83zzsaw_exprz00(obj_t BgL_envz00_2341, obj_t BgL_insz00_2342)
{ AN_OBJECT;
{ /* ./SawMill/expr.scm 16 */
{ 
obj_t BgL_insz00_1134;
{ /* ./SawMill/expr.scm 16 */
bool_t BgL_auxz00_2600;
BgL_insz00_1134 = BgL_insz00_2342; 
if(
BGl_iszd2azf3z21zz__objectz00(BgL_insz00_1134, BGl_inlinedz00zzsaw_exprz00))
{ /* ./SawMill/expr.scm 16 */
BgL_auxz00_2600 = ((bool_t)0)
; }  else 
{ /* ./SawMill/expr.scm 16 */
BgL_auxz00_2600 = ((bool_t)1)
; } 
return 
BBOOL(BgL_auxz00_2600);} } } 
}



/* mark-locals */
bool_t BGl_markzd2localszd2zzsaw_exprz00(obj_t BgL_paramsz00_4, obj_t BgL_lz00_5)
{ AN_OBJECT;
{ /* ./SawMill/expr.scm 20 */
{ /* ./SawMill/expr.scm 21 */
obj_t BgL_nz00_1139;
{ /* ./SawMill/expr.scm 21 */
obj_t BgL_cellvalz00_2604;
BgL_cellvalz00_2604 = 
BINT(((long)0)); 
BgL_nz00_1139 = 
MAKE_CELL(BgL_cellvalz00_2604); } 
{ 
BgL_blockz00_bglt BgL_bz00_1155;obj_t BgL_rz00_1177;
{ 
obj_t BgL_l3524z00_1145;
BgL_l3524z00_1145 = BgL_paramsz00_4; 
BgL_forzd2each3525zd2_1146:
{ /* ./SawMill/expr.scm 45 */
bool_t BgL_test3680z00_1147;
BgL_test3680z00_1147 = 
PAIRP(BgL_l3524z00_1145); 
if(BgL_test3680z00_1147)
{ /* ./SawMill/expr.scm 45 */
{ /* ./SawMill/expr.scm 45 */
obj_t BgL_arg3682z00_1148;
BgL_arg3682z00_1148 = 
CAR(BgL_l3524z00_1145); 
BGl_regzd2ze3iregzf2writezc3zzsaw_exprz00(BgL_nz00_1139, BgL_arg3682z00_1148); } 
{ /* ./SawMill/expr.scm 45 */
obj_t BgL_arg3686z00_1149;
BgL_arg3686z00_1149 = 
CDR(BgL_l3524z00_1145); 
{ 
obj_t BgL_l3524z00_2611;
BgL_l3524z00_2611 = BgL_arg3686z00_1149; 
BgL_l3524z00_1145 = BgL_l3524z00_2611; 
goto BgL_forzd2each3525zd2_1146;} } }  else 
{ /* ./SawMill/expr.scm 45 */((bool_t)1); } } } 
{ 
obj_t BgL_l3526z00_1150;
BgL_l3526z00_1150 = BgL_lz00_5; 
BgL_forzd2each3527zd2_1151:
{ /* ./SawMill/expr.scm 46 */
bool_t BgL_test3691z00_1152;
BgL_test3691z00_1152 = 
PAIRP(BgL_l3526z00_1150); 
if(BgL_test3691z00_1152)
{ /* ./SawMill/expr.scm 46 */
{ /* ./SawMill/expr.scm 46 */
obj_t BgL_arg3694z00_1153;
BgL_arg3694z00_1153 = 
CAR(BgL_l3526z00_1150); 
BgL_bz00_1155 = 
(BgL_blockz00_bglt)(BgL_arg3694z00_1153); 
{ 
obj_t BgL_l3518z00_1157;
{ /* ./SawMill/expr.scm 44 */
obj_t BgL_arg3704z00_1159;
BgL_arg3704z00_1159 = 
(((BgL_blockz00_bglt)CREF(BgL_bz00_1155))->BgL_firstz00); 
BgL_l3518z00_1157 = BgL_arg3704z00_1159; 
BgL_forzd2each3519zd2_1158:
{ /* ./SawMill/expr.scm 40 */
bool_t BgL_test3707z00_1160;
BgL_test3707z00_1160 = 
PAIRP(BgL_l3518z00_1157); 
if(BgL_test3707z00_1160)
{ /* ./SawMill/expr.scm 40 */
{ /* ./SawMill/expr.scm 41 */
obj_t BgL_insz00_1161;
BgL_insz00_1161 = 
CAR(BgL_l3518z00_1157); 
{ /* ./SawMill/expr.scm 42 */
bool_t BgL_test3708z00_1163;
{ /* ./SawMill/expr.scm 42 */
BgL_rtl_insz00_bglt BgL_obj3387z00_2004;
BgL_obj3387z00_2004 = 
(BgL_rtl_insz00_bglt)(BgL_insz00_1161); 
{ /* ./SawMill/expr.scm 42 */
obj_t BgL_auxz00_2620;
BgL_auxz00_2620 = 
(((BgL_rtl_insz00_bglt)CREF(BgL_obj3387z00_2004))->BgL_destz00); 
BgL_test3708z00_1163 = 
CBOOL(BgL_auxz00_2620); } } 
if(BgL_test3708z00_1163)
{ /* ./SawMill/expr.scm 42 */
obj_t BgL_arg3710z00_1164;
{ /* ./SawMill/expr.scm 42 */
BgL_rtl_insz00_bglt BgL_obj3387z00_2005;
BgL_obj3387z00_2005 = 
(BgL_rtl_insz00_bglt)(BgL_insz00_1161); 
BgL_arg3710z00_1164 = 
(((BgL_rtl_insz00_bglt)CREF(BgL_obj3387z00_2005))->BgL_destz00); } 
BGl_regzd2ze3iregzf2writezc3zzsaw_exprz00(BgL_nz00_1139, BgL_arg3710z00_1164); }  else 
{ /* ./SawMill/expr.scm 42 */BFALSE; } } 
{ 
obj_t BgL_l3522z00_1165;
{ /* ./SawMill/expr.scm 43 */
obj_t BgL_arg3715z00_1167;
{ /* ./SawMill/expr.scm 43 */
BgL_rtl_insz00_bglt BgL_obj3393z00_2006;
BgL_obj3393z00_2006 = 
(BgL_rtl_insz00_bglt)(BgL_insz00_1161); 
BgL_arg3715z00_1167 = 
(((BgL_rtl_insz00_bglt)CREF(BgL_obj3393z00_2006))->BgL_argsz00); } 
BgL_l3522z00_1165 = BgL_arg3715z00_1167; 
BgL_forzd2each3523zd2_1166:
{ /* ./SawMill/expr.scm 43 */
bool_t BgL_test3718z00_1168;
BgL_test3718z00_1168 = 
PAIRP(BgL_l3522z00_1165); 
if(BgL_test3718z00_1168)
{ /* ./SawMill/expr.scm 43 */
{ /* ./SawMill/expr.scm 43 */
obj_t BgL_arg3720z00_1169;
BgL_arg3720z00_1169 = 
CAR(BgL_l3522z00_1165); 
BgL_rz00_1177 = BgL_arg3720z00_1169; 
{ /* ./SawMill/expr.scm 30 */
obj_t BgL_sz00_1179;
BgL_sz00_1179 = 
BGl_regzd2ze3iregz31zzsaw_exprz00(BgL_nz00_1139, BgL_rz00_1177); 
{ /* ./SawMill/expr.scm 31 */
bool_t BgL_test3744z00_1180;
{ /* ./SawMill/expr.scm 31 */
obj_t BgL_auxz00_2633;
BgL_auxz00_2633 = 
CNST_TABLE_REF(((long)16)); 
BgL_test3744z00_1180 = 
(BgL_sz00_1179==BgL_auxz00_2633); } 
if(BgL_test3744z00_1180)
{ /* ./SawMill/expr.scm 31 */
{ /* ./SawMill/expr.scm 31 */
obj_t BgL_nstatz00_2024;
BgL_nstatz00_2024 = 
CNST_TABLE_REF(((long)17)); 
{ /* ./SawMill/expr.scm 31 */
BgL_iregz00_bglt BgL_obj3473z00_2025;obj_t BgL_val3472z00_2026;
BgL_obj3473z00_2025 = 
(BgL_iregz00_bglt)(BgL_rz00_1177); 
BgL_val3472z00_2026 = BgL_nstatz00_2024; 
{ 
obj_t BgL_auxz00_2639;
{ /* ./SawMill/expr.scm 31 */
BgL_objectz00_bglt BgL_auxz00_2640;
BgL_auxz00_2640 = 
(BgL_objectz00_bglt)(BgL_obj3473z00_2025); 
BgL_auxz00_2639 = 
BGL_OBJECT_WIDENING(BgL_auxz00_2640); } 
((((BgL_iregz00_bglt)CREF(BgL_auxz00_2639))->BgL_statusz00) = ((obj_t)BgL_val3472z00_2026), BUNSPEC); } } } }  else 
{ /* ./SawMill/expr.scm 32 */
bool_t BgL_test3746z00_1181;
{ /* ./SawMill/expr.scm 32 */
obj_t BgL_auxz00_2644;
BgL_auxz00_2644 = 
CNST_TABLE_REF(((long)18)); 
BgL_test3746z00_1181 = 
(BgL_sz00_1179==BgL_auxz00_2644); } 
if(BgL_test3746z00_1181)
{ /* ./SawMill/expr.scm 32 */
{ /* ./SawMill/expr.scm 32 */
obj_t BgL_nstatz00_2028;
BgL_nstatz00_2028 = 
CNST_TABLE_REF(((long)19)); 
{ /* ./SawMill/expr.scm 32 */
BgL_iregz00_bglt BgL_obj3473z00_2029;obj_t BgL_val3472z00_2030;
BgL_obj3473z00_2029 = 
(BgL_iregz00_bglt)(BgL_rz00_1177); 
BgL_val3472z00_2030 = BgL_nstatz00_2028; 
{ 
obj_t BgL_auxz00_2650;
{ /* ./SawMill/expr.scm 32 */
BgL_objectz00_bglt BgL_auxz00_2651;
BgL_auxz00_2651 = 
(BgL_objectz00_bglt)(BgL_obj3473z00_2029); 
BgL_auxz00_2650 = 
BGL_OBJECT_WIDENING(BgL_auxz00_2651); } 
((((BgL_iregz00_bglt)CREF(BgL_auxz00_2650))->BgL_statusz00) = ((obj_t)BgL_val3472z00_2030), BUNSPEC); } } } }  else 
{ /* ./SawMill/expr.scm 32 */
{ /* ./SawMill/expr.scm 33 */
obj_t BgL_nstatz00_2032;
BgL_nstatz00_2032 = 
CNST_TABLE_REF(((long)20)); 
{ /* ./SawMill/expr.scm 33 */
BgL_iregz00_bglt BgL_obj3473z00_2033;obj_t BgL_val3472z00_2034;
BgL_obj3473z00_2033 = 
(BgL_iregz00_bglt)(BgL_rz00_1177); 
BgL_val3472z00_2034 = BgL_nstatz00_2032; 
{ 
obj_t BgL_auxz00_2657;
{ /* ./SawMill/expr.scm 33 */
BgL_objectz00_bglt BgL_auxz00_2658;
BgL_auxz00_2658 = 
(BgL_objectz00_bglt)(BgL_obj3473z00_2033); 
BgL_auxz00_2657 = 
BGL_OBJECT_WIDENING(BgL_auxz00_2658); } 
((((BgL_iregz00_bglt)CREF(BgL_auxz00_2657))->BgL_statusz00) = ((obj_t)BgL_val3472z00_2034), BUNSPEC); } } } } } } } } 
{ /* ./SawMill/expr.scm 43 */
obj_t BgL_arg3724z00_1170;
BgL_arg3724z00_1170 = 
CDR(BgL_l3522z00_1165); 
{ 
obj_t BgL_l3522z00_2663;
BgL_l3522z00_2663 = BgL_arg3724z00_1170; 
BgL_l3522z00_1165 = BgL_l3522z00_2663; 
goto BgL_forzd2each3523zd2_1166;} } }  else 
{ /* ./SawMill/expr.scm 43 */((bool_t)1); } } } } } 
{ /* ./SawMill/expr.scm 40 */
obj_t BgL_arg3730z00_1171;
BgL_arg3730z00_1171 = 
CDR(BgL_l3518z00_1157); 
{ 
obj_t BgL_l3518z00_2665;
BgL_l3518z00_2665 = BgL_arg3730z00_1171; 
BgL_l3518z00_1157 = BgL_l3518z00_2665; 
goto BgL_forzd2each3519zd2_1158;} } }  else 
{ /* ./SawMill/expr.scm 40 */((bool_t)1); } } } } } 
{ /* ./SawMill/expr.scm 46 */
obj_t BgL_arg3698z00_1154;
BgL_arg3698z00_1154 = 
CDR(BgL_l3526z00_1150); 
{ 
obj_t BgL_l3526z00_2668;
BgL_l3526z00_2668 = BgL_arg3698z00_1154; 
BgL_l3526z00_1150 = BgL_l3526z00_2668; 
goto BgL_forzd2each3527zd2_1151;} } }  else 
{ /* ./SawMill/expr.scm 46 */
return ((bool_t)1);} } } } } } 
}



/* reg->ireg */
obj_t BGl_regzd2ze3iregz31zzsaw_exprz00(obj_t BgL_nz00_2425, obj_t BgL_rz00_1182)
{ AN_OBJECT;
{ /* ./SawMill/expr.scm 28 */
{ /* ./SawMill/expr.scm 24 */
bool_t BgL_test3753z00_1184;
BgL_test3753z00_1184 = 
BGl_iszd2azf3z21zz__objectz00(BgL_rz00_1182, BGl_iregz00zzsaw_exprz00); 
if(BgL_test3753z00_1184)
{ /* ./SawMill/expr.scm 25 */
BgL_iregz00_bglt BgL_obj3471z00_2036;
BgL_obj3471z00_2036 = 
(BgL_iregz00_bglt)(BgL_rz00_1182); 
{ 
obj_t BgL_auxz00_2672;
{ /* ./SawMill/expr.scm 25 */
BgL_objectz00_bglt BgL_auxz00_2673;
BgL_auxz00_2673 = 
(BgL_objectz00_bglt)(BgL_obj3471z00_2036); 
BgL_auxz00_2672 = 
BGL_OBJECT_WIDENING(BgL_auxz00_2673); } 
return 
(((BgL_iregz00_bglt)CREF(BgL_auxz00_2672))->BgL_statusz00);} }  else 
{ /* ./SawMill/expr.scm 24 */
{ /* ./SawMill/expr.scm 26 */
BgL_rtl_regz00_bglt BgL_obj3517z00_1185;
{ 
BgL_rtl_regz00_bglt BgL_auxz00_2677;
BgL_auxz00_2677 = 
(BgL_rtl_regz00_bglt)(BgL_rz00_1182); 
BgL_obj3517z00_1185 = 
((BgL_rtl_regz00_bglt)BgL_auxz00_2677); } 
{ /* ./SawMill/expr.scm 26 */
BgL_iregz00_bglt BgL_arg3756z00_1186;
{ /* ./SawMill/expr.scm 26 */
long BgL_arg3759z00_1187;obj_t BgL_arg3760z00_1188;
{ /* ./SawMill/expr.scm 26 */
obj_t BgL_auxz00_2680;
BgL_auxz00_2680 = 
CELL_REF(BgL_nz00_2425); 
BgL_arg3759z00_1187 = 
(long)CINT(BgL_auxz00_2680); } 
BgL_arg3760z00_1188 = 
CNST_TABLE_REF(((long)16)); 
{ /* ./SawMill/expr.scm 26 */
BgL_iregz00_bglt BgL_res4832z00_2049;
{ /* ./SawMill/expr.scm 26 */
obj_t BgL_index3440z00_2037;
BgL_index3440z00_2037 = 
BINT(BgL_arg3759z00_1187); 
{ /* ./SawMill/expr.scm 26 */
BgL_iregz00_bglt BgL_new3443z00_2040;
BgL_new3443z00_2040 = 
((BgL_iregz00_bglt)BREF( GC_MALLOC (sizeof(struct BgL_iregz00_bgl)))); 
{ /* ./SawMill/expr.scm 26 */
BgL_iregz00_bglt BgL_res4831z00_2048;
{ /* ./SawMill/expr.scm 26 */
BgL_iregz00_bglt BgL_new3455z00_2041;
BgL_new3455z00_2041 = BgL_new3443z00_2040; 
{ /* ./SawMill/expr.scm 26 */
obj_t BgL_index3452z00_2045;obj_t BgL_status3453z00_2046;obj_t BgL_inlinezf33454zf3_2047;
BgL_index3452z00_2045 = BgL_index3440z00_2037; 
BgL_status3453z00_2046 = BgL_arg3760z00_1188; 
BgL_inlinezf33454zf3_2047 = BFALSE; 
((((BgL_iregz00_bglt)CREF(BgL_new3455z00_2041))->BgL_indexz00) = ((obj_t)BgL_index3452z00_2045), BUNSPEC); 
((((BgL_iregz00_bglt)CREF(BgL_new3455z00_2041))->BgL_statusz00) = ((obj_t)BgL_status3453z00_2046), BUNSPEC); 
((((BgL_iregz00_bglt)CREF(BgL_new3455z00_2041))->BgL_inlinezf3zf3) = ((obj_t)BgL_inlinezf33454zf3_2047), BUNSPEC); 
BgL_res4831z00_2048 = BgL_new3455z00_2041; } } BgL_res4831z00_2048; } 
BgL_res4832z00_2049 = BgL_new3443z00_2040; } } 
BgL_arg3756z00_1186 = BgL_res4832z00_2049; } } 
{ /* ./SawMill/expr.scm 26 */
obj_t BgL_auxz00_2690;BgL_objectz00_bglt BgL_auxz00_2688;
BgL_auxz00_2690 = 
(obj_t)(BgL_arg3756z00_1186); 
BgL_auxz00_2688 = 
(BgL_objectz00_bglt)(BgL_obj3517z00_1185); 
BGL_OBJECT_WIDENING_SET(BgL_auxz00_2688, BgL_auxz00_2690); } } 
{ /* ./SawMill/expr.scm 26 */
long BgL_arg3763z00_1189;
BgL_arg3763z00_1189 = 
BGl_classzd2numzd2zz__objectz00(BGl_iregz00zzsaw_exprz00); 
{ /* ./SawMill/expr.scm 26 */
BgL_objectz00_bglt BgL_objz00_2050;
BgL_objz00_2050 = 
(BgL_objectz00_bglt)(BgL_obj3517z00_1185); 
BGL_OBJECT_CLASS_NUM_SET(BgL_objz00_2050, BgL_arg3763z00_1189); } } 
{ /* ./SawMill/expr.scm 26 */
obj_t BgL_objz00_2052;
BgL_objz00_2052 = 
(obj_t)(BgL_obj3517z00_1185); 
BGL_HEAP_DEBUG_MARK_OBJ(BgL_objz00_2052); BUNSPEC; } BgL_obj3517z00_1185; } 
{ /* ./SawMill/expr.scm 27 */
obj_t BgL_auxz00_2426;
{ /* ./SawMill/expr.scm 27 */
long BgL_za71za7_2053;
{ /* ./SawMill/expr.scm 27 */
obj_t BgL_auxz00_2698;
BgL_auxz00_2698 = 
CELL_REF(BgL_nz00_2425); 
BgL_za71za7_2053 = 
(long)CINT(BgL_auxz00_2698); } 
{ /* ./SawMill/expr.scm 27 */
long BgL_auxz00_2700;
BgL_auxz00_2700 = 
(BgL_za71za7_2053+((long)1)); 
BgL_auxz00_2426 = 
BINT(BgL_auxz00_2700); } } 
CELL_SET(BgL_nz00_2425, BgL_auxz00_2426); } 
return 
CNST_TABLE_REF(((long)16));} } } 
}



/* reg->ireg/write */
obj_t BGl_regzd2ze3iregzf2writezc3zzsaw_exprz00(obj_t BgL_nz00_2427, obj_t BgL_rz00_1172)
{ AN_OBJECT;
{ /* ./SawMill/expr.scm 38 */
{ /* ./SawMill/expr.scm 35 */
obj_t BgL_sz00_1174;
BgL_sz00_1174 = 
BGl_regzd2ze3iregz31zzsaw_exprz00(BgL_nz00_2427, BgL_rz00_1172); 
{ /* ./SawMill/expr.scm 36 */
bool_t BgL_test3735z00_1175;
{ /* ./SawMill/expr.scm 36 */
obj_t BgL_auxz00_2705;
BgL_auxz00_2705 = 
CNST_TABLE_REF(((long)16)); 
BgL_test3735z00_1175 = 
(BgL_sz00_1174==BgL_auxz00_2705); } 
if(BgL_test3735z00_1175)
{ /* ./SawMill/expr.scm 36 */
{ /* ./SawMill/expr.scm 36 */
obj_t BgL_nstatz00_2012;
BgL_nstatz00_2012 = 
CNST_TABLE_REF(((long)18)); 
{ /* ./SawMill/expr.scm 36 */
BgL_iregz00_bglt BgL_obj3473z00_2013;obj_t BgL_val3472z00_2014;
BgL_obj3473z00_2013 = 
(BgL_iregz00_bglt)(BgL_rz00_1172); 
BgL_val3472z00_2014 = BgL_nstatz00_2012; 
{ 
obj_t BgL_auxz00_2711;
{ /* ./SawMill/expr.scm 36 */
BgL_objectz00_bglt BgL_auxz00_2712;
BgL_auxz00_2712 = 
(BgL_objectz00_bglt)(BgL_obj3473z00_2013); 
BgL_auxz00_2711 = 
BGL_OBJECT_WIDENING(BgL_auxz00_2712); } 
return 
((((BgL_iregz00_bglt)CREF(BgL_auxz00_2711))->BgL_statusz00) = ((obj_t)BgL_val3472z00_2014), BUNSPEC);} } } }  else 
{ /* ./SawMill/expr.scm 37 */
bool_t BgL_test3737z00_1176;
{ /* ./SawMill/expr.scm 37 */
obj_t BgL_auxz00_2716;
BgL_auxz00_2716 = 
CNST_TABLE_REF(((long)17)); 
BgL_test3737z00_1176 = 
(BgL_sz00_1174==BgL_auxz00_2716); } 
if(BgL_test3737z00_1176)
{ /* ./SawMill/expr.scm 37 */
{ /* ./SawMill/expr.scm 37 */
obj_t BgL_nstatz00_2016;
BgL_nstatz00_2016 = 
CNST_TABLE_REF(((long)19)); 
{ /* ./SawMill/expr.scm 37 */
BgL_iregz00_bglt BgL_obj3473z00_2017;obj_t BgL_val3472z00_2018;
BgL_obj3473z00_2017 = 
(BgL_iregz00_bglt)(BgL_rz00_1172); 
BgL_val3472z00_2018 = BgL_nstatz00_2016; 
{ 
obj_t BgL_auxz00_2722;
{ /* ./SawMill/expr.scm 37 */
BgL_objectz00_bglt BgL_auxz00_2723;
BgL_auxz00_2723 = 
(BgL_objectz00_bglt)(BgL_obj3473z00_2017); 
BgL_auxz00_2722 = 
BGL_OBJECT_WIDENING(BgL_auxz00_2723); } 
return 
((((BgL_iregz00_bglt)CREF(BgL_auxz00_2722))->BgL_statusz00) = ((obj_t)BgL_val3472z00_2018), BUNSPEC);} } } }  else 
{ /* ./SawMill/expr.scm 37 */
{ /* ./SawMill/expr.scm 38 */
obj_t BgL_nstatz00_2020;
BgL_nstatz00_2020 = 
CNST_TABLE_REF(((long)20)); 
{ /* ./SawMill/expr.scm 38 */
BgL_iregz00_bglt BgL_obj3473z00_2021;obj_t BgL_val3472z00_2022;
BgL_obj3473z00_2021 = 
(BgL_iregz00_bglt)(BgL_rz00_1172); 
BgL_val3472z00_2022 = BgL_nstatz00_2020; 
{ 
obj_t BgL_auxz00_2729;
{ /* ./SawMill/expr.scm 38 */
BgL_objectz00_bglt BgL_auxz00_2730;
BgL_auxz00_2730 = 
(BgL_objectz00_bglt)(BgL_obj3473z00_2021); 
BgL_auxz00_2729 = 
BGL_OBJECT_WIDENING(BgL_auxz00_2730); } 
return 
((((BgL_iregz00_bglt)CREF(BgL_auxz00_2729))->BgL_statusz00) = ((obj_t)BgL_val3472z00_2022), BUNSPEC);} } } } } } } } 
}



/* analyse */
obj_t BGl_analysez00zzsaw_exprz00(BgL_backendz00_bglt BgL_bz00_6, obj_t BgL_movingz00_7, obj_t BgL_insz00_8)
{ AN_OBJECT;
{ /* ./SawMill/expr.scm 51 */
{ /* ./SawMill/expr.scm 52 */
obj_t BgL_inszd2effectzd2_1198;obj_t BgL_argsz00_1199;
{ /* ./SawMill/expr.scm 52 */
BgL_rtl_funz00_bglt BgL_arg3843z00_1243;
{ /* ./SawMill/expr.scm 52 */
BgL_rtl_insz00_bglt BgL_obj3390z00_2057;
BgL_obj3390z00_2057 = 
(BgL_rtl_insz00_bglt)(BgL_insz00_8); 
BgL_arg3843z00_1243 = 
(((BgL_rtl_insz00_bglt)CREF(BgL_obj3390z00_2057))->BgL_funz00); } 
{ /* ./SawMill/expr.scm 52 */
obj_t BgL_method3561z00_2059;
{ /* ./SawMill/expr.scm 52 */
BgL_objectz00_bglt BgL_objz00_2060;
BgL_objz00_2060 = 
(BgL_objectz00_bglt)(BgL_arg3843z00_1243); 
{ /* ./SawMill/expr.scm 52 */
long BgL_objzd2classzd2numz00_2061;
BgL_objzd2classzd2numz00_2061 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2060); 
{ /* ./SawMill/expr.scm 52 */
obj_t BgL_arg2017z00_2062;
{ /* ./SawMill/expr.scm 52 */
int BgL_auxz00_2738;
BgL_auxz00_2738 = 
(int)(((long)1)); 
BgL_arg2017z00_2062 = 
PROCEDURE_REF(BGl_effectszd2envzd2zzsaw_exprz00, BgL_auxz00_2738); } 
{ /* ./SawMill/expr.scm 52 */
int BgL_offsetz00_2065;
BgL_offsetz00_2065 = 
(int)(BgL_objzd2classzd2numz00_2061); 
{ /* ./SawMill/expr.scm 52 */
long BgL_offsetz00_2066;
{ /* ./SawMill/expr.scm 52 */
long BgL_auxz00_2742;
BgL_auxz00_2742 = 
(long)(BgL_offsetz00_2065); 
BgL_offsetz00_2066 = 
(BgL_auxz00_2742-OBJECT_TYPE); } 
{ /* ./SawMill/expr.scm 52 */
long BgL_modz00_2067;
{ /* ./SawMill/expr.scm 52 */
int BgL_arg2028z00_2068;
BgL_arg2028z00_2068 = 
(int)(((long)8)); 
{ /* ./SawMill/expr.scm 52 */
long BgL_n2z00_2076;
BgL_n2z00_2076 = 
(long)(BgL_arg2028z00_2068); 
BgL_modz00_2067 = 
(BgL_offsetz00_2066/BgL_n2z00_2076); } } 
{ /* ./SawMill/expr.scm 52 */
long BgL_restz00_2069;
{ /* ./SawMill/expr.scm 52 */
int BgL_arg2024z00_2070;
BgL_arg2024z00_2070 = 
(int)(((long)8)); 
{ /* ./SawMill/expr.scm 52 */
long BgL_n2z00_2079;
BgL_n2z00_2079 = 
(long)(BgL_arg2024z00_2070); 
BgL_restz00_2069 = 
(BgL_offsetz00_2066%BgL_n2z00_2079); } } 
{ /* ./SawMill/expr.scm 52 */

{ /* ./SawMill/expr.scm 52 */
obj_t BgL_bucketz00_2071;
{ /* ./SawMill/expr.scm 52 */
int BgL_kz00_2081;
BgL_kz00_2081 = 
(int)(BgL_modz00_2067); 
BgL_bucketz00_2071 = 
VECTOR_REF(BgL_arg2017z00_2062,BgL_kz00_2081); } 
{ /* ./SawMill/expr.scm 52 */
int BgL_kz00_2083;
BgL_kz00_2083 = 
(int)(BgL_restz00_2069); 
BgL_method3561z00_2059 = 
VECTOR_REF(BgL_bucketz00_2071,BgL_kz00_2083); } } } } } } } } } } 
BgL_inszd2effectzd2_1198 = 
PROCEDURE_ENTRY(BgL_method3561z00_2059)(BgL_method3561z00_2059, 
(obj_t)(BgL_arg3843z00_1243), BEOA); } } 
{ /* ./SawMill/expr.scm 52 */
BgL_rtl_insz00_bglt BgL_obj3393z00_2084;
BgL_obj3393z00_2084 = 
(BgL_rtl_insz00_bglt)(BgL_insz00_8); 
BgL_argsz00_1199 = 
(((BgL_rtl_insz00_bglt)CREF(BgL_obj3393z00_2084))->BgL_argsz00); } 
{ 
obj_t BgL_treez00_1233;obj_t BgL_posz00_1234;obj_t BgL_lz00_1210;obj_t BgL_rz00_1211;
{ /* ./SawMill/expr.scm 70 */
obj_t BgL_rz00_1202;obj_t BgL_dz00_1203;
BgL_lz00_1210 = BgL_movingz00_7; 
BgL_rz00_1211 = BNIL; 
BgL_zc3anonymousza33787ze3z83_1212:
{ /* ./SawMill/expr.scm 60 */
bool_t BgL_test3788z00_1213;
BgL_test3788z00_1213 = 
NULLP(BgL_lz00_1210); 
if(BgL_test3788z00_1213)
{ /* ./SawMill/expr.scm 60 */
BgL_rz00_1202 = BgL_rz00_1211; }  else 
{ /* ./SawMill/expr.scm 61 */
obj_t BgL_testzd2resultzd2_1214;
{ /* ./SawMill/expr.scm 61 */
obj_t BgL_auxz00_2762;
{ /* ./SawMill/expr.scm 61 */
BgL_rtl_insz00_bglt BgL_obj3387z00_2091;
{ /* ./SawMill/expr.scm 61 */
obj_t BgL_auxz00_2763;
BgL_auxz00_2763 = 
CAR(BgL_lz00_1210); 
BgL_obj3387z00_2091 = 
(BgL_rtl_insz00_bglt)(BgL_auxz00_2763); } 
BgL_auxz00_2762 = 
(((BgL_rtl_insz00_bglt)CREF(BgL_obj3387z00_2091))->BgL_destz00); } 
BgL_testzd2resultzd2_1214 = 
BGl_memqz00zz__r4_pairs_and_lists_6_3z00(BgL_auxz00_2762, BgL_argsz00_1199); } 
{ 
obj_t BgL__cdtest_3530z00_1219;
if(
CBOOL(BgL_testzd2resultzd2_1214))
{ /* ./SawMill/expr.scm 61 */
BgL__cdtest_3530z00_1219 = BgL_testzd2resultzd2_1214; 
{ /* ./SawMill/expr.scm 63 */
obj_t BgL_arg3800z00_1222;
BgL_arg3800z00_1222 = 
CAR(BgL_lz00_1210); 
BgL_treez00_1233 = BgL_arg3800z00_1222; 
BgL_posz00_1234 = BgL__cdtest_3530z00_1219; 
{ /* ./SawMill/expr.scm 54 */
bool_t BgL_test3828z00_1236;
{ /* ./SawMill/expr.scm 54 */
obj_t BgL_method3559z00_2105;
{ /* ./SawMill/expr.scm 54 */
BgL_objectz00_bglt BgL_objz00_2106;
BgL_objz00_2106 = 
(BgL_objectz00_bglt)(BgL_bz00_6); 
{ /* ./SawMill/expr.scm 54 */
long BgL_objzd2classzd2numz00_2107;
BgL_objzd2classzd2numz00_2107 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2106); 
{ /* ./SawMill/expr.scm 54 */
obj_t BgL_arg2017z00_2108;
{ /* ./SawMill/expr.scm 54 */
int BgL_auxz00_2773;
BgL_auxz00_2773 = 
(int)(((long)1)); 
BgL_arg2017z00_2108 = 
PROCEDURE_REF(BGl_acceptzd2foldingzf3zd2envzf3zzsaw_exprz00, BgL_auxz00_2773); } 
{ /* ./SawMill/expr.scm 54 */
int BgL_offsetz00_2111;
BgL_offsetz00_2111 = 
(int)(BgL_objzd2classzd2numz00_2107); 
{ /* ./SawMill/expr.scm 54 */
long BgL_offsetz00_2112;
{ /* ./SawMill/expr.scm 54 */
long BgL_auxz00_2777;
BgL_auxz00_2777 = 
(long)(BgL_offsetz00_2111); 
BgL_offsetz00_2112 = 
(BgL_auxz00_2777-OBJECT_TYPE); } 
{ /* ./SawMill/expr.scm 54 */
long BgL_modz00_2113;
{ /* ./SawMill/expr.scm 54 */
int BgL_arg2028z00_2114;
BgL_arg2028z00_2114 = 
(int)(((long)8)); 
{ /* ./SawMill/expr.scm 54 */
long BgL_n2z00_2122;
BgL_n2z00_2122 = 
(long)(BgL_arg2028z00_2114); 
BgL_modz00_2113 = 
(BgL_offsetz00_2112/BgL_n2z00_2122); } } 
{ /* ./SawMill/expr.scm 54 */
long BgL_restz00_2115;
{ /* ./SawMill/expr.scm 54 */
int BgL_arg2024z00_2116;
BgL_arg2024z00_2116 = 
(int)(((long)8)); 
{ /* ./SawMill/expr.scm 54 */
long BgL_n2z00_2125;
BgL_n2z00_2125 = 
(long)(BgL_arg2024z00_2116); 
BgL_restz00_2115 = 
(BgL_offsetz00_2112%BgL_n2z00_2125); } } 
{ /* ./SawMill/expr.scm 54 */

{ /* ./SawMill/expr.scm 54 */
obj_t BgL_bucketz00_2117;
{ /* ./SawMill/expr.scm 54 */
int BgL_kz00_2127;
BgL_kz00_2127 = 
(int)(BgL_modz00_2113); 
BgL_bucketz00_2117 = 
VECTOR_REF(BgL_arg2017z00_2108,BgL_kz00_2127); } 
{ /* ./SawMill/expr.scm 54 */
int BgL_kz00_2129;
BgL_kz00_2129 = 
(int)(BgL_restz00_2115); 
BgL_method3559z00_2105 = 
VECTOR_REF(BgL_bucketz00_2117,BgL_kz00_2129); } } } } } } } } } } 
{ /* ./SawMill/expr.scm 54 */
obj_t BgL_auxz00_2790;
BgL_auxz00_2790 = 
PROCEDURE_ENTRY(BgL_method3559z00_2105)(BgL_method3559z00_2105, 
(obj_t)(BgL_bz00_6), BgL_insz00_8, BgL_treez00_1233, BEOA); 
BgL_test3828z00_1236 = 
CBOOL(BgL_auxz00_2790); } } 
if(BgL_test3828z00_1236)
{ /* ./SawMill/expr.scm 54 */
SET_CAR(BgL_posz00_1234, BgL_treez00_1233); 
{ /* ./SawMill/expr.scm 57 */
bool_t BgL_test3830z00_1237;
BgL_test3830z00_1237 = 
BGl_iszd2azf3z21zz__objectz00(BgL_treez00_1233, BGl_inlinedz00zzsaw_exprz00); 
if(BgL_test3830z00_1237)
{ /* ./SawMill/expr.scm 57 */BFALSE; }  else 
{ /* ./SawMill/expr.scm 57 */
BgL_rtl_insz00_bglt BgL_obj3529z00_1238;
{ 
BgL_rtl_insz00_bglt BgL_auxz00_2799;
BgL_auxz00_2799 = 
(BgL_rtl_insz00_bglt)(BgL_treez00_1233); 
BgL_obj3529z00_1238 = 
((BgL_rtl_insz00_bglt)BgL_auxz00_2799); } 
{ /* ./SawMill/expr.scm 57 */
BgL_inlinedz00_bglt BgL_arg3832z00_1239;
BgL_arg3832z00_1239 = 
BGl_wideningzd2inlinedzd2zzsaw_exprz00(); 
{ /* ./SawMill/expr.scm 57 */
obj_t BgL_auxz00_2805;BgL_objectz00_bglt BgL_auxz00_2803;
BgL_auxz00_2805 = 
(obj_t)(BgL_arg3832z00_1239); 
BgL_auxz00_2803 = 
(BgL_objectz00_bglt)(BgL_obj3529z00_1238); 
BGL_OBJECT_WIDENING_SET(BgL_auxz00_2803, BgL_auxz00_2805); } } 
{ /* ./SawMill/expr.scm 57 */
long BgL_arg3836z00_1240;
BgL_arg3836z00_1240 = 
BGl_classzd2numzd2zz__objectz00(BGl_inlinedz00zzsaw_exprz00); 
{ /* ./SawMill/expr.scm 57 */
BgL_objectz00_bglt BgL_objz00_2133;
BgL_objz00_2133 = 
(BgL_objectz00_bglt)(BgL_obj3529z00_1238); 
BGL_OBJECT_CLASS_NUM_SET(BgL_objz00_2133, BgL_arg3836z00_1240); } } 
{ /* ./SawMill/expr.scm 57 */
obj_t BgL_objz00_2135;
BgL_objz00_2135 = 
(obj_t)(BgL_obj3529z00_1238); 
BGL_HEAP_DEBUG_MARK_OBJ(BgL_objz00_2135); BUNSPEC; } 
(obj_t)(BgL_obj3529z00_1238); } } }  else 
{ /* ./SawMill/expr.scm 54 */BFALSE; } } } 
{ /* ./SawMill/expr.scm 64 */
obj_t BgL_arg3804z00_1223;
BgL_arg3804z00_1223 = 
CDR(BgL_lz00_1210); 
{ 
obj_t BgL_lz00_2815;
BgL_lz00_2815 = BgL_arg3804z00_1223; 
BgL_lz00_1210 = BgL_lz00_2815; 
goto BgL_zc3anonymousza33787ze3z83_1212;} } }  else 
{ /* ./SawMill/expr.scm 61 */
{ /* ./SawMill/expr.scm 65 */
bool_t BgL_test3808z00_1225;
{ /* ./SawMill/expr.scm 65 */
obj_t BgL_arg3823z00_1230;
BgL_arg3823z00_1230 = 
CAR(BgL_lz00_1210); 
{ /* ./SawMill/expr.scm 65 */
obj_t BgL_rz00_2098;
BgL_rz00_2098 = 
BGl_xxz00zzsaw_exprz00(BgL_arg3823z00_1230, BgL_insz00_8, BgL_inszd2effectzd2_1198); 
BgL_test3808z00_1225 = 
CBOOL(BgL_rz00_2098); } } 
if(BgL_test3808z00_1225)
{ /* ./SawMill/expr.scm 65 */
{ /* ./SawMill/expr.scm 67 */
obj_t BgL_arg3810z00_1226;
BgL_arg3810z00_1226 = 
CDR(BgL_lz00_1210); 
{ 
obj_t BgL_lz00_2821;
BgL_lz00_2821 = BgL_arg3810z00_1226; 
BgL_lz00_1210 = BgL_lz00_2821; 
goto BgL_zc3anonymousza33787ze3z83_1212;} } }  else 
{ /* ./SawMill/expr.scm 65 */
{ /* ./SawMill/expr.scm 68 */
obj_t BgL_arg3814z00_1227;obj_t BgL_arg3815z00_1228;
BgL_arg3814z00_1227 = 
CDR(BgL_lz00_1210); 
{ /* ./SawMill/expr.scm 68 */
obj_t BgL_arg3819z00_1229;
BgL_arg3819z00_1229 = 
CAR(BgL_lz00_1210); 
BgL_arg3815z00_1228 = 
MAKE_PAIR(BgL_arg3819z00_1229, BgL_rz00_1211); } 
{ 
obj_t BgL_rz00_2826;obj_t BgL_lz00_2825;
BgL_lz00_2825 = BgL_arg3814z00_1227; 
BgL_rz00_2826 = BgL_arg3815z00_1228; 
BgL_rz00_1211 = BgL_rz00_2826; 
BgL_lz00_1210 = BgL_lz00_2825; 
goto BgL_zc3anonymousza33787ze3z83_1212;} } } } } } } } 
{ /* ./SawMill/expr.scm 70 */
BgL_rtl_insz00_bglt BgL_obj3387z00_2085;
BgL_obj3387z00_2085 = 
(BgL_rtl_insz00_bglt)(BgL_insz00_8); 
BgL_dz00_1203 = 
(((BgL_rtl_insz00_bglt)CREF(BgL_obj3387z00_2085))->BgL_destz00); } 
{ /* ./SawMill/expr.scm 72 */
bool_t BgL_test3771z00_1204;
if(
CBOOL(BgL_dz00_1203))
{ /* ./SawMill/expr.scm 73 */
bool_t BgL_test3773z00_1205;
{ /* ./SawMill/expr.scm 73 */
obj_t BgL_auxz00_2838;obj_t BgL_auxz00_2831;
BgL_auxz00_2838 = 
CNST_TABLE_REF(((long)19)); 
{ /* ./SawMill/expr.scm 73 */
BgL_iregz00_bglt BgL_obj3471z00_2086;
BgL_obj3471z00_2086 = 
(BgL_iregz00_bglt)(BgL_dz00_1203); 
{ 
obj_t BgL_auxz00_2833;
{ /* ./SawMill/expr.scm 73 */
BgL_objectz00_bglt BgL_auxz00_2834;
BgL_auxz00_2834 = 
(BgL_objectz00_bglt)(BgL_obj3471z00_2086); 
BgL_auxz00_2833 = 
BGL_OBJECT_WIDENING(BgL_auxz00_2834); } 
BgL_auxz00_2831 = 
(((BgL_iregz00_bglt)CREF(BgL_auxz00_2833))->BgL_statusz00); } } 
BgL_test3773z00_1205 = 
(BgL_auxz00_2831==BgL_auxz00_2838); } 
if(BgL_test3773z00_1205)
{ /* ./SawMill/expr.scm 74 */
bool_t BgL_test3774z00_1206;
{ /* ./SawMill/expr.scm 74 */
BgL_rtl_funz00_bglt BgL_arg3777z00_1207;
{ /* ./SawMill/expr.scm 74 */
BgL_rtl_insz00_bglt BgL_obj3390z00_2087;
BgL_obj3390z00_2087 = 
(BgL_rtl_insz00_bglt)(BgL_insz00_8); 
BgL_arg3777z00_1207 = 
(((BgL_rtl_insz00_bglt)CREF(BgL_obj3390z00_2087))->BgL_funz00); } 
{ /* ./SawMill/expr.scm 74 */
obj_t BgL_obj3355z00_2088;
BgL_obj3355z00_2088 = 
(obj_t)(BgL_arg3777z00_1207); 
BgL_test3774z00_1206 = 
BGl_iszd2azf3z21zz__objectz00(BgL_obj3355z00_2088, BGl_rtl_protectz00zzsaw_defsz00); } } 
if(BgL_test3774z00_1206)
{ /* ./SawMill/expr.scm 74 */
BgL_test3771z00_1204 = ((bool_t)0); }  else 
{ /* ./SawMill/expr.scm 74 */
BgL_test3771z00_1204 = ((bool_t)1); } }  else 
{ /* ./SawMill/expr.scm 73 */
BgL_test3771z00_1204 = ((bool_t)0); } }  else 
{ /* ./SawMill/expr.scm 72 */
BgL_test3771z00_1204 = ((bool_t)0); } 
if(BgL_test3771z00_1204)
{ /* ./SawMill/expr.scm 72 */
return 
MAKE_PAIR(BgL_insz00_8, BgL_rz00_1202);}  else 
{ /* ./SawMill/expr.scm 72 */
return BgL_rz00_1202;} } } } } } 
}



/* xx */
obj_t BGl_xxz00zzsaw_exprz00(obj_t BgL_moverz00_18, obj_t BgL_insz00_19, obj_t BgL_inszd2effectszd2_20)
{ AN_OBJECT;
{ /* ./SawMill/expr.scm 89 */
{ /* ./SawMill/expr.scm 90 */
obj_t BgL__ortest_3531z00_1245;
{ /* ./SawMill/expr.scm 90 */
obj_t BgL_auxz00_2852;obj_t BgL_auxz00_2849;
{ /* ./SawMill/expr.scm 90 */
BgL_rtl_insz00_bglt BgL_obj3393z00_2138;
BgL_obj3393z00_2138 = 
(BgL_rtl_insz00_bglt)(BgL_moverz00_18); 
BgL_auxz00_2852 = 
(((BgL_rtl_insz00_bglt)CREF(BgL_obj3393z00_2138))->BgL_argsz00); } 
{ /* ./SawMill/expr.scm 90 */
BgL_rtl_insz00_bglt BgL_obj3387z00_2137;
BgL_obj3387z00_2137 = 
(BgL_rtl_insz00_bglt)(BgL_insz00_19); 
BgL_auxz00_2849 = 
(((BgL_rtl_insz00_bglt)CREF(BgL_obj3387z00_2137))->BgL_destz00); } 
BgL__ortest_3531z00_1245 = 
BGl_memqz00zz__r4_pairs_and_lists_6_3z00(BgL_auxz00_2849, BgL_auxz00_2852); } 
if(
CBOOL(BgL__ortest_3531z00_1245))
{ /* ./SawMill/expr.scm 90 */
return BgL__ortest_3531z00_1245;}  else 
{ /* ./SawMill/expr.scm 91 */
bool_t BgL__ortest_3532z00_1246;
{ /* ./SawMill/expr.scm 91 */
obj_t BgL_arg3861z00_1254;
{ /* ./SawMill/expr.scm 91 */
BgL_rtl_funz00_bglt BgL_arg3864z00_1255;
{ /* ./SawMill/expr.scm 91 */
BgL_rtl_insz00_bglt BgL_obj3390z00_2139;
BgL_obj3390z00_2139 = 
(BgL_rtl_insz00_bglt)(BgL_moverz00_18); 
BgL_arg3864z00_1255 = 
(((BgL_rtl_insz00_bglt)CREF(BgL_obj3390z00_2139))->BgL_funz00); } 
{ /* ./SawMill/expr.scm 91 */
obj_t BgL_method3561z00_2141;
{ /* ./SawMill/expr.scm 91 */
BgL_objectz00_bglt BgL_objz00_2142;
BgL_objz00_2142 = 
(BgL_objectz00_bglt)(BgL_arg3864z00_1255); 
{ /* ./SawMill/expr.scm 91 */
long BgL_objzd2classzd2numz00_2143;
BgL_objzd2classzd2numz00_2143 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2142); 
{ /* ./SawMill/expr.scm 91 */
obj_t BgL_arg2017z00_2144;
{ /* ./SawMill/expr.scm 91 */
int BgL_auxz00_2862;
BgL_auxz00_2862 = 
(int)(((long)1)); 
BgL_arg2017z00_2144 = 
PROCEDURE_REF(BGl_effectszd2envzd2zzsaw_exprz00, BgL_auxz00_2862); } 
{ /* ./SawMill/expr.scm 91 */
int BgL_offsetz00_2147;
BgL_offsetz00_2147 = 
(int)(BgL_objzd2classzd2numz00_2143); 
{ /* ./SawMill/expr.scm 91 */
long BgL_offsetz00_2148;
{ /* ./SawMill/expr.scm 91 */
long BgL_auxz00_2866;
BgL_auxz00_2866 = 
(long)(BgL_offsetz00_2147); 
BgL_offsetz00_2148 = 
(BgL_auxz00_2866-OBJECT_TYPE); } 
{ /* ./SawMill/expr.scm 91 */
long BgL_modz00_2149;
{ /* ./SawMill/expr.scm 91 */
int BgL_arg2028z00_2150;
BgL_arg2028z00_2150 = 
(int)(((long)8)); 
{ /* ./SawMill/expr.scm 91 */
long BgL_n2z00_2158;
BgL_n2z00_2158 = 
(long)(BgL_arg2028z00_2150); 
BgL_modz00_2149 = 
(BgL_offsetz00_2148/BgL_n2z00_2158); } } 
{ /* ./SawMill/expr.scm 91 */
long BgL_restz00_2151;
{ /* ./SawMill/expr.scm 91 */
int BgL_arg2024z00_2152;
BgL_arg2024z00_2152 = 
(int)(((long)8)); 
{ /* ./SawMill/expr.scm 91 */
long BgL_n2z00_2161;
BgL_n2z00_2161 = 
(long)(BgL_arg2024z00_2152); 
BgL_restz00_2151 = 
(BgL_offsetz00_2148%BgL_n2z00_2161); } } 
{ /* ./SawMill/expr.scm 91 */

{ /* ./SawMill/expr.scm 91 */
obj_t BgL_bucketz00_2153;
{ /* ./SawMill/expr.scm 91 */
int BgL_kz00_2163;
BgL_kz00_2163 = 
(int)(BgL_modz00_2149); 
BgL_bucketz00_2153 = 
VECTOR_REF(BgL_arg2017z00_2144,BgL_kz00_2163); } 
{ /* ./SawMill/expr.scm 91 */
int BgL_kz00_2165;
BgL_kz00_2165 = 
(int)(BgL_restz00_2151); 
BgL_method3561z00_2141 = 
VECTOR_REF(BgL_bucketz00_2153,BgL_kz00_2165); } } } } } } } } } } 
BgL_arg3861z00_1254 = 
PROCEDURE_ENTRY(BgL_method3561z00_2141)(BgL_method3561z00_2141, 
(obj_t)(BgL_arg3864z00_1255), BEOA); } } 
BgL__ortest_3532z00_1246 = 
BGl_matcheffectz00zzsaw_exprz00(BgL_arg3861z00_1254, BgL_inszd2effectszd2_20); } 
if(BgL__ortest_3532z00_1246)
{ /* ./SawMill/expr.scm 91 */
return 
BBOOL(BgL__ortest_3532z00_1246);}  else 
{ /* ./SawMill/expr.scm 92 */
obj_t BgL_arg3850z00_1248;
{ /* ./SawMill/expr.scm 93 */
obj_t BgL_arg3857z00_1252;
{ /* ./SawMill/expr.scm 93 */
BgL_rtl_insz00_bglt BgL_obj3393z00_2166;
BgL_obj3393z00_2166 = 
(BgL_rtl_insz00_bglt)(BgL_moverz00_18); 
BgL_arg3857z00_1252 = 
(((BgL_rtl_insz00_bglt)CREF(BgL_obj3393z00_2166))->BgL_argsz00); } 
BgL_arg3850z00_1248 = 
BGl_filterz00zz__r4_control_features_6_9z00(BGl_rtl_inszf3zd2envz21zzsaw_exprz00, BgL_arg3857z00_1252); } 
{ /* ./SawMill/expr.scm 92 */
obj_t BgL_zc3anonymousza33854ze3z83_2349;
{ 
int BgL_auxz00_2890;int BgL_auxz00_2888;
BgL_auxz00_2890 = 
(int)(((long)2)); 
BgL_auxz00_2888 = 
(int)(((long)1)); 
BgL_zc3anonymousza33854ze3z83_2349 = 
make_fx_procedure(BGl_zc3anonymousza33854ze3z83zzsaw_exprz00, BgL_auxz00_2888, BgL_auxz00_2890); } 
{ /* ./SawMill/expr.scm 92 */
int BgL_auxz00_2893;
BgL_auxz00_2893 = 
(int)(((long)0)); 
PROCEDURE_SET(BgL_zc3anonymousza33854ze3z83_2349, BgL_auxz00_2893, BgL_insz00_19); } 
{ /* ./SawMill/expr.scm 92 */
int BgL_auxz00_2896;
BgL_auxz00_2896 = 
(int)(((long)1)); 
PROCEDURE_SET(BgL_zc3anonymousza33854ze3z83_2349, BgL_auxz00_2896, BgL_inszd2effectszd2_20); } 
{ /* ./SawMill/expr.scm 92 */
obj_t BgL_list3852z00_1249;
BgL_list3852z00_1249 = 
MAKE_PAIR(BgL_arg3850z00_1248, BNIL); 
return 
BGl_anyz00zz__r4_pairs_and_lists_6_3z00(BgL_zc3anonymousza33854ze3z83_2349, BgL_list3852z00_1249);} } } } } } 
}



/* <anonymous:3854> */
obj_t BGl_zc3anonymousza33854ze3z83zzsaw_exprz00(obj_t BgL_envz00_2350, obj_t BgL_subz00_2353)
{ AN_OBJECT;
{ /* ./SawMill/expr.scm 92 */
{ /* ./SawMill/expr.scm 92 */
obj_t BgL_insz00_2351;obj_t BgL_inszd2effectszd2_2352;
{ /* ./SawMill/expr.scm 92 */
int BgL_auxz00_2901;
BgL_auxz00_2901 = 
(int)(((long)0)); 
BgL_insz00_2351 = 
PROCEDURE_REF(BgL_envz00_2350, BgL_auxz00_2901); } 
{ /* ./SawMill/expr.scm 92 */
int BgL_auxz00_2904;
BgL_auxz00_2904 = 
(int)(((long)1)); 
BgL_inszd2effectszd2_2352 = 
PROCEDURE_REF(BgL_envz00_2350, BgL_auxz00_2904); } 
{ 
obj_t BgL_subz00_1250;
BgL_subz00_1250 = BgL_subz00_2353; 
{ /* ./SawMill/expr.scm 92 */
obj_t BgL_rz00_2170;
BgL_rz00_2170 = 
BGl_xxz00zzsaw_exprz00(BgL_subz00_1250, BgL_insz00_2351, BgL_inszd2effectszd2_2352); 
return BgL_rz00_2170;} } } } 
}



/* matcheffect */
bool_t BGl_matcheffectz00zzsaw_exprz00(obj_t BgL_f1z00_21, obj_t BgL_f2z00_22)
{ AN_OBJECT;
{ /* ./SawMill/expr.scm 111 */
{ /* ./SawMill/expr.scm 122 */
obj_t BgL_w1z00_1260;obj_t BgL_w2z00_1261;
{ /* ./SawMill/expr.scm 122 */
BgL_feffectz00_bglt BgL_obj1547z00_2171;
BgL_obj1547z00_2171 = 
(BgL_feffectz00_bglt)(BgL_f1z00_21); 
BgL_w1z00_1260 = 
(((BgL_feffectz00_bglt)CREF(BgL_obj1547z00_2171))->BgL_writez00); } 
{ /* ./SawMill/expr.scm 122 */
BgL_feffectz00_bglt BgL_obj1547z00_2172;
BgL_obj1547z00_2172 = 
(BgL_feffectz00_bglt)(BgL_f2z00_22); 
BgL_w2z00_1261 = 
(((BgL_feffectz00_bglt)CREF(BgL_obj1547z00_2172))->BgL_writez00); } 
{ /* ./SawMill/expr.scm 123 */
bool_t BgL__ortest_3533z00_1262;
BgL__ortest_3533z00_1262 = 
BGl_intersectionzf3zf3zzsaw_exprz00(BgL_w1z00_1260, BgL_w2z00_1261); 
if(BgL__ortest_3533z00_1262)
{ /* ./SawMill/expr.scm 123 */
return BgL__ortest_3533z00_1262;}  else 
{ /* ./SawMill/expr.scm 124 */
bool_t BgL__ortest_3534z00_1263;
{ /* ./SawMill/expr.scm 124 */
obj_t BgL_auxz00_2914;
{ /* ./SawMill/expr.scm 124 */
BgL_feffectz00_bglt BgL_obj1544z00_2173;
BgL_obj1544z00_2173 = 
(BgL_feffectz00_bglt)(BgL_f1z00_21); 
BgL_auxz00_2914 = 
(((BgL_feffectz00_bglt)CREF(BgL_obj1544z00_2173))->BgL_readz00); } 
BgL__ortest_3534z00_1263 = 
BGl_intersectionzf3zf3zzsaw_exprz00(BgL_auxz00_2914, BgL_w2z00_1261); } 
if(BgL__ortest_3534z00_1263)
{ /* ./SawMill/expr.scm 124 */
return BgL__ortest_3534z00_1263;}  else 
{ /* ./SawMill/expr.scm 125 */
obj_t BgL_auxz00_2919;
{ /* ./SawMill/expr.scm 125 */
BgL_feffectz00_bglt BgL_obj1544z00_2174;
BgL_obj1544z00_2174 = 
(BgL_feffectz00_bglt)(BgL_f2z00_22); 
BgL_auxz00_2919 = 
(((BgL_feffectz00_bglt)CREF(BgL_obj1544z00_2174))->BgL_readz00); } 
return 
BGl_intersectionzf3zf3zzsaw_exprz00(BgL_auxz00_2919, BgL_w1z00_1260);} } } } } 
}



/* intersection? */
bool_t BGl_intersectionzf3zf3zzsaw_exprz00(obj_t BgL_l1z00_1266, obj_t BgL_l2z00_1267)
{ AN_OBJECT;
{ /* ./SawMill/expr.scm 121 */
{ 
obj_t BgL_l1z00_1273;obj_t BgL_l2z00_1274;
if(
NULLP(BgL_l1z00_1266))
{ /* ./SawMill/expr.scm 117 */
return ((bool_t)0);}  else 
{ /* ./SawMill/expr.scm 117 */
if(
NULLP(BgL_l2z00_1267))
{ /* ./SawMill/expr.scm 118 */
return ((bool_t)0);}  else 
{ /* ./SawMill/expr.scm 119 */
bool_t BgL_testz00_2927;
{ /* ./SawMill/expr.scm 119 */
obj_t BgL_auxz00_2928;
BgL_auxz00_2928 = 
CNST_TABLE_REF(((long)4)); 
BgL_testz00_2927 = 
(BgL_l1z00_1266==BgL_auxz00_2928); } 
if(BgL_testz00_2927)
{ /* ./SawMill/expr.scm 119 */
return ((bool_t)1);}  else 
{ /* ./SawMill/expr.scm 120 */
bool_t BgL_testz00_2931;
{ /* ./SawMill/expr.scm 120 */
obj_t BgL_auxz00_2932;
BgL_auxz00_2932 = 
CNST_TABLE_REF(((long)4)); 
BgL_testz00_2931 = 
(BgL_l2z00_1267==BgL_auxz00_2932); } 
if(BgL_testz00_2931)
{ /* ./SawMill/expr.scm 120 */
return ((bool_t)1);}  else 
{ /* ./SawMill/expr.scm 120 */
BgL_l1z00_1273 = BgL_l1z00_1266; 
BgL_l2z00_1274 = BgL_l2z00_1267; 
BgL_zc3anonymousza33895ze3z83_1275:
if(
NULLP(BgL_l1z00_1273))
{ /* ./SawMill/expr.scm 113 */
return ((bool_t)0);}  else 
{ /* ./SawMill/expr.scm 114 */
bool_t BgL_testz00_2937;
{ /* ./SawMill/expr.scm 114 */
obj_t BgL_auxz00_2938;
BgL_auxz00_2938 = 
BGl_memqz00zz__r4_pairs_and_lists_6_3z00(
CAR(BgL_l1z00_1273), BgL_l2z00_1274); 
BgL_testz00_2937 = 
CBOOL(BgL_auxz00_2938); } 
if(BgL_testz00_2937)
{ /* ./SawMill/expr.scm 114 */
return ((bool_t)1);}  else 
{ /* ./SawMill/expr.scm 114 */
{ 
obj_t BgL_l1z00_2942;
BgL_l1z00_2942 = 
CDR(BgL_l1z00_1273); 
BgL_l1z00_1273 = BgL_l1z00_2942; 
goto BgL_zc3anonymousza33895ze3z83_1275;} } } } } } } } } 
}



/* manu-effect */
obj_t BGl_manuzd2effectzd2zzsaw_exprz00(BgL_globalz00_bglt BgL_varz00_40)
{ AN_OBJECT;
{ /* ./SawMill/expr.scm 164 */
{ /* ./SawMill/expr.scm 165 */
BgL_valuez00_bglt BgL_funz00_1284;
{ /* ./SawMill/expr.scm 165 */
BgL_variablez00_bglt BgL_obj1100z00_2184;
BgL_obj1100z00_2184 = 
(BgL_variablez00_bglt)(BgL_varz00_40); 
BgL_funz00_1284 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1100z00_2184))->BgL_valuez00); } 
{ /* ./SawMill/expr.scm 166 */
bool_t BgL_test3913z00_1285;
{ /* ./SawMill/expr.scm 166 */
obj_t BgL_obj1344z00_2185;
BgL_obj1344z00_2185 = 
(obj_t)(BgL_funz00_1284); 
BgL_test3913z00_1285 = 
BGl_iszd2azf3z21zz__objectz00(BgL_obj1344z00_2185, BGl_funz00zzast_varz00); } 
if(BgL_test3913z00_1285)
{ /* ./SawMill/expr.scm 167 */
obj_t BgL_effectz00_1286;
{ /* ./SawMill/expr.scm 167 */
BgL_funz00_bglt BgL_obj1317z00_2186;
BgL_obj1317z00_2186 = 
(BgL_funz00_bglt)(BgL_funz00_1284); 
BgL_effectz00_1286 = 
(((BgL_funz00_bglt)CREF(BgL_obj1317z00_2186))->BgL_effectz00); } 
{ /* ./SawMill/expr.scm 168 */
bool_t BgL_test3914z00_1287;
BgL_test3914z00_1287 = 
BGl_iszd2azf3z21zz__objectz00(BgL_effectz00_1286, BGl_feffectz00zzast_varz00); 
if(BgL_test3914z00_1287)
{ /* ./SawMill/expr.scm 168 */
return BgL_effectz00_1286;}  else 
{ /* ./SawMill/expr.scm 168 */
CNST_TABLE_REF(((long)21)); 
return 
(obj_t)(BGl_za2fullza2z00zzsaw_exprz00);} } }  else 
{ /* ./SawMill/expr.scm 166 */
return 
(obj_t)(BGl_za2fullza2z00zzsaw_exprz00);} } } } 
}



/* object-init */
obj_t BGl_objectzd2initzd2zzsaw_exprz00()
{ AN_OBJECT;
{ /* ./SawMill/expr.scm 1 */
{ /* ./SawMill/expr.scm 7 */
obj_t BgL_arg3920z00_1288;obj_t BgL_arg3921z00_1289;obj_t BgL_arg3925z00_1293;
BgL_arg3920z00_1288 = 
CNST_TABLE_REF(((long)22)); 
BgL_arg3921z00_1289 = BGl_rtl_regz00zzsaw_defsz00; 
{ /* ./SawMill/expr.scm 7 */
obj_t BgL_v3556z00_1294;
{ 
int BgL_auxz00_2957;
BgL_auxz00_2957 = 
(int)(((long)0)); 
BgL_v3556z00_1294 = 
create_vector(BgL_auxz00_2957); } 
BgL_arg3925z00_1293 = BgL_v3556z00_1294; } 
BGl_iregz00zzsaw_exprz00 = 
BGl_registerzd2classz12zc0zz__objectz00(BgL_arg3920z00_1288, BgL_arg3921z00_1289, BFALSE, BGl_allocatezd2iregzd2envz00zzsaw_exprz00, ((long)18261), BNIL, BFALSE, BgL_arg3925z00_1293); } 
{ /* ./SawMill/expr.scm 8 */
obj_t BgL_arg3929z00_1295;obj_t BgL_arg3930z00_1296;obj_t BgL_arg3934z00_1300;
BgL_arg3929z00_1295 = 
CNST_TABLE_REF(((long)23)); 
BgL_arg3930z00_1296 = BGl_rtl_insz00zzsaw_defsz00; 
{ /* ./SawMill/expr.scm 8 */
obj_t BgL_v3557z00_1301;
{ 
int BgL_auxz00_2962;
BgL_auxz00_2962 = 
(int)(((long)0)); 
BgL_v3557z00_1301 = 
create_vector(BgL_auxz00_2962); } 
BgL_arg3934z00_1300 = BgL_v3557z00_1301; } 
BGl_inlinedz00zzsaw_exprz00 = 
BGl_registerzd2classz12zc0zz__objectz00(BgL_arg3929z00_1295, BgL_arg3930z00_1296, BFALSE, BGl_allocatezd2inlinedzd2envz00zzsaw_exprz00, ((long)46115), BNIL, BFALSE, BgL_arg3934z00_1300); } 
return BUNSPEC;} 
}



/* widening-inlined */
BgL_inlinedz00_bglt BGl_wideningzd2inlinedzd2zzsaw_exprz00()
{ AN_OBJECT;
{ /* ./SawMill/expr.scm 8 */
{ /* ./SawMill/expr.scm 8 */
BgL_inlinedz00_bglt BgL_new3483z00_1302;
BgL_new3483z00_1302 = 
((BgL_inlinedz00_bglt)BREF( GC_MALLOC (sizeof(struct BgL_inlinedz00_bgl)))); 
return BgL_new3483z00_1302;} } 
}



/* _allocate-inlined */
obj_t BGl__allocatezd2inlinedzd2zzsaw_exprz00(obj_t BgL_envz00_2357)
{ AN_OBJECT;
{ /* ./SawMill/expr.scm 8 */
{ /* ./SawMill/expr.scm 8 */
BgL_rtl_insz00_bglt BgL_auxz00_2967;
{ /* ./SawMill/expr.scm 8 */
BgL_rtl_insz00_bglt BgL_res5173z00_2443;
{ /* ./SawMill/expr.scm 8 */
BgL_rtl_insz00_bglt BgL_new3493z00_2439;
BgL_new3493z00_2439 = 
((BgL_rtl_insz00_bglt)BREF( GC_MALLOC ( sizeof(struct BgL_rtl_insz00_bgl) ))); 
{ /* ./SawMill/expr.scm 8 */
long BgL_arg3950z00_2440;
BgL_arg3950z00_2440 = 
BGl_classzd2numzd2zz__objectz00(BGl_inlinedz00zzsaw_exprz00); 
{ /* ./SawMill/expr.scm 8 */
BgL_objectz00_bglt BgL_objz00_2441;
BgL_objz00_2441 = 
(BgL_objectz00_bglt)(BgL_new3493z00_2439); 
BGL_OBJECT_CLASS_NUM_SET(BgL_objz00_2441, BgL_arg3950z00_2440); } } 
{ /* ./SawMill/expr.scm 8 */
BgL_objectz00_bglt BgL_auxz00_2972;
BgL_auxz00_2972 = 
(BgL_objectz00_bglt)(BgL_new3493z00_2439); 
BGL_OBJECT_WIDENING_SET(BgL_auxz00_2972, BFALSE); } 
{ /* ./SawMill/expr.scm 8 */
obj_t BgL_objz00_2442;
BgL_objz00_2442 = 
(obj_t)(BgL_new3493z00_2439); 
BGL_HEAP_DEBUG_MARK_OBJ(BgL_objz00_2442); BUNSPEC; } 
BgL_res5173z00_2443 = BgL_new3493z00_2439; } 
BgL_auxz00_2967 = BgL_res5173z00_2443; } 
return 
(obj_t)(BgL_auxz00_2967);} } 
}



/* _allocate-ireg */
obj_t BGl__allocatezd2iregzd2zzsaw_exprz00(obj_t BgL_envz00_2356)
{ AN_OBJECT;
{ /* ./SawMill/expr.scm 7 */
{ /* ./SawMill/expr.scm 7 */
BgL_rtl_regz00_bglt BgL_auxz00_2978;
{ /* ./SawMill/expr.scm 7 */
BgL_rtl_regz00_bglt BgL_res5174z00_2452;
{ /* ./SawMill/expr.scm 7 */
BgL_rtl_regz00_bglt BgL_new3460z00_2448;
BgL_new3460z00_2448 = 
((BgL_rtl_regz00_bglt)BREF( GC_MALLOC ( sizeof(struct BgL_rtl_regz00_bgl) ))); 
{ /* ./SawMill/expr.scm 7 */
long BgL_arg3968z00_2449;
BgL_arg3968z00_2449 = 
BGl_classzd2numzd2zz__objectz00(BGl_iregz00zzsaw_exprz00); 
{ /* ./SawMill/expr.scm 7 */
BgL_objectz00_bglt BgL_objz00_2450;
BgL_objz00_2450 = 
(BgL_objectz00_bglt)(BgL_new3460z00_2448); 
BGL_OBJECT_CLASS_NUM_SET(BgL_objz00_2450, BgL_arg3968z00_2449); } } 
{ /* ./SawMill/expr.scm 7 */
BgL_objectz00_bglt BgL_auxz00_2983;
BgL_auxz00_2983 = 
(BgL_objectz00_bglt)(BgL_new3460z00_2448); 
BGL_OBJECT_WIDENING_SET(BgL_auxz00_2983, BFALSE); } 
{ /* ./SawMill/expr.scm 7 */
obj_t BgL_objz00_2451;
BgL_objz00_2451 = 
(obj_t)(BgL_new3460z00_2448); 
BGL_HEAP_DEBUG_MARK_OBJ(BgL_objz00_2451); BUNSPEC; } 
BgL_res5174z00_2452 = BgL_new3460z00_2448; } 
BgL_auxz00_2978 = BgL_res5174z00_2452; } 
return 
(obj_t)(BgL_auxz00_2978);} } 
}



/* _rtl_ins? */
obj_t BGl__rtl_inszf3zf3zzsaw_exprz00(obj_t BgL_envz00_2354, obj_t BgL_obj3411z00_2355)
{ AN_OBJECT;
{ /* ./SawMill/defs.scm 59 */
{ /* ./SawMill/defs.scm 59 */
bool_t BgL_auxz00_2989;
BgL_auxz00_2989 = 
BGl_iszd2azf3z21zz__objectz00(BgL_obj3411z00_2355, BGl_rtl_insz00zzsaw_defsz00); 
return 
BBOOL(BgL_auxz00_2989);} } 
}



/* method-init */
obj_t BGl_methodzd2initzd2zzsaw_exprz00()
{ AN_OBJECT;
{ /* ./SawMill/expr.scm 1 */
BGl_addzd2genericz12zc0zz__objectz00(BGl_acceptzd2foldingzf3zd2envzf3zzsaw_exprz00, BGl_acceptzd2foldingzf3zd2default3558zd2envz21zzsaw_exprz00); 
BGl_addzd2genericz12zc0zz__objectz00(BGl_effectszd2envzd2zzsaw_exprz00, BGl_effectszd2default3560zd2envz00zzsaw_exprz00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_effectszd2envzd2zzsaw_exprz00, BGl_rtl_loadgz00zzsaw_defsz00, BGl_proc5139z00zzsaw_exprz00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_effectszd2envzd2zzsaw_exprz00, BGl_rtl_storegz00zzsaw_defsz00, BGl_proc5140z00zzsaw_exprz00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_effectszd2envzd2zzsaw_exprz00, BGl_rtl_vrefz00zzsaw_defsz00, BGl_proc5141z00zzsaw_exprz00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_effectszd2envzd2zzsaw_exprz00, BGl_rtl_vsetz00zzsaw_defsz00, BGl_proc5142z00zzsaw_exprz00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_effectszd2envzd2zzsaw_exprz00, BGl_rtl_boxrefz00zzsaw_defsz00, BGl_proc5143z00zzsaw_exprz00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_effectszd2envzd2zzsaw_exprz00, BGl_rtl_boxsetz00zzsaw_defsz00, BGl_proc5144z00zzsaw_exprz00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_effectszd2envzd2zzsaw_exprz00, BGl_rtl_getfieldz00zzsaw_defsz00, BGl_proc5145z00zzsaw_exprz00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_effectszd2envzd2zzsaw_exprz00, BGl_rtl_setfieldz00zzsaw_defsz00, BGl_proc5146z00zzsaw_exprz00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_effectszd2envzd2zzsaw_exprz00, BGl_rtl_applyz00zzsaw_defsz00, BGl_proc5147z00zzsaw_exprz00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_effectszd2envzd2zzsaw_exprz00, BGl_rtl_lightfuncallz00zzsaw_defsz00, BGl_proc5148z00zzsaw_exprz00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_effectszd2envzd2zzsaw_exprz00, BGl_rtl_funcallz00zzsaw_defsz00, BGl_proc5149z00zzsaw_exprz00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_effectszd2envzd2zzsaw_exprz00, BGl_rtl_pragmaz00zzsaw_defsz00, BGl_proc5150z00zzsaw_exprz00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_effectszd2envzd2zzsaw_exprz00, BGl_rtl_protectz00zzsaw_defsz00, BGl_proc5151z00zzsaw_exprz00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_effectszd2envzd2zzsaw_exprz00, BGl_rtl_callz00zzsaw_defsz00, BGl_proc5152z00zzsaw_exprz00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_objectzd2ze3structzd2envze3zz__objectz00, BGl_inlinedz00zzsaw_exprz00, BGl_proc5153z00zzsaw_exprz00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_structzb2objectzd2ze3objectzd2envz51zz__objectz00, BGl_inlinedz00zzsaw_exprz00, BGl_proc5154z00zzsaw_exprz00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_objectzd2ze3structzd2envze3zz__objectz00, BGl_iregz00zzsaw_exprz00, BGl_proc5155z00zzsaw_exprz00); 
return 
BGl_addzd2methodz12zc0zz__objectz00(BGl_structzb2objectzd2ze3objectzd2envz51zz__objectz00, BGl_iregz00zzsaw_exprz00, BGl_proc5156z00zzsaw_exprz00);} 
}



/* struct+object->object-ireg3597 */
obj_t BGl_structzb2objectzd2ze3objectzd2ireg3597z51zzsaw_exprz00(obj_t BgL_envz00_2381, obj_t BgL_oz00_2382, obj_t BgL_sz00_2383)
{ AN_OBJECT;
{ /* ./SawMill/expr.scm 7 */
{ 
BgL_iregz00_bglt BgL_oz00_1968;obj_t BgL_sz00_1969;
{ /* ./SawMill/expr.scm 7 */
BgL_iregz00_bglt BgL_auxz00_3012;
BgL_oz00_1968 = 
(BgL_iregz00_bglt)(BgL_oz00_2382); 
BgL_sz00_1969 = BgL_sz00_2383; 
{ 

{ /* ./SawMill/expr.scm 7 */
obj_t BgL_old3464z00_1972;obj_t BgL_aux3465z00_1973;
{ /* ./SawMill/expr.scm 7 */
obj_t BgL_nextzd2method3596zd2_1980;
BgL_nextzd2method3596zd2_1980 = 
BGl_findzd2superzd2classzd2methodzd2zz__objectz00(
(BgL_objectz00_bglt)(BgL_oz00_1968), BGl_structzb2objectzd2ze3objectzd2envz51zz__objectz00, BGl_iregz00zzsaw_exprz00); 
{ /* ./SawMill/expr.scm 7 */
bool_t BgL_test4817z00_1981;
BgL_test4817z00_1981 = 
PROCEDUREP(BgL_nextzd2method3596zd2_1980); 
if(BgL_test4817z00_1981)
{ /* ./SawMill/expr.scm 7 */
BgL_old3464z00_1972 = 
PROCEDURE_ENTRY(BgL_nextzd2method3596zd2_1980)(BgL_nextzd2method3596zd2_1980, 
(obj_t)(BgL_oz00_1968), BgL_sz00_1969, BEOA); }  else 
{ /* ./SawMill/expr.scm 7 */
{ /* ./SawMill/expr.scm 7 */
BgL_objectz00_bglt BgL_auxz00_3020;
BgL_auxz00_3020 = 
BGl_structzb2objectzd2ze3objectz83zz__objectz00(
(BgL_objectz00_bglt)(BgL_oz00_1968), BgL_sz00_1969); 
BgL_old3464z00_1972 = 
(obj_t)(BgL_auxz00_3020); } } } } 
{ /* ./SawMill/expr.scm 7 */
int BgL_auxz00_3024;
BgL_auxz00_3024 = 
(int)(((long)0)); 
BgL_aux3465z00_1973 = 
STRUCT_REF(BgL_sz00_1969, BgL_auxz00_3024); } 
{ /* ./SawMill/expr.scm 7 */
BgL_iregz00_bglt BgL_new3466z00_1974;
BgL_new3466z00_1974 = 
((BgL_iregz00_bglt)(BgL_old3464z00_1972)); 
{ /* ./SawMill/expr.scm 7 */
long BgL_arg4800z00_1975;
BgL_arg4800z00_1975 = 
BGl_classzd2numzd2zz__objectz00(BGl_iregz00zzsaw_exprz00); 
{ /* ./SawMill/expr.scm 7 */
BgL_objectz00_bglt BgL_objz00_2263;
BgL_objz00_2263 = 
(BgL_objectz00_bglt)(BgL_new3466z00_1974); 
BGL_OBJECT_CLASS_NUM_SET(BgL_objz00_2263, BgL_arg4800z00_1975); } } 
{ /* ./SawMill/expr.scm 7 */
BgL_iregz00_bglt BgL_arg4804z00_1976;
{ /* ./SawMill/expr.scm 7 */
obj_t BgL_arg4807z00_1977;obj_t BgL_arg4808z00_1978;obj_t BgL_arg4809z00_1979;
{ /* ./SawMill/expr.scm 7 */
int BgL_auxz00_3031;
BgL_auxz00_3031 = 
(int)(((long)0)); 
BgL_arg4807z00_1977 = 
STRUCT_REF(BgL_aux3465z00_1973, BgL_auxz00_3031); } 
{ /* ./SawMill/expr.scm 7 */
int BgL_auxz00_3034;
BgL_auxz00_3034 = 
(int)(((long)1)); 
BgL_arg4808z00_1978 = 
STRUCT_REF(BgL_aux3465z00_1973, BgL_auxz00_3034); } 
{ /* ./SawMill/expr.scm 7 */
int BgL_auxz00_3037;
BgL_auxz00_3037 = 
(int)(((long)2)); 
BgL_arg4809z00_1979 = 
STRUCT_REF(BgL_aux3465z00_1973, BgL_auxz00_3037); } 
{ /* ./SawMill/expr.scm 7 */
BgL_iregz00_bglt BgL_res4843z00_2283;
{ /* ./SawMill/expr.scm 7 */
BgL_iregz00_bglt BgL_new3443z00_2274;
BgL_new3443z00_2274 = 
((BgL_iregz00_bglt)BREF( GC_MALLOC (sizeof(struct BgL_iregz00_bgl)))); 
{ /* ./SawMill/expr.scm 7 */
BgL_iregz00_bglt BgL_res4842z00_2282;
{ /* ./SawMill/expr.scm 7 */
BgL_iregz00_bglt BgL_new3455z00_2275;
BgL_new3455z00_2275 = BgL_new3443z00_2274; 
{ /* ./SawMill/expr.scm 7 */
obj_t BgL_index3452z00_2279;obj_t BgL_status3453z00_2280;obj_t BgL_inlinezf33454zf3_2281;
BgL_index3452z00_2279 = BgL_arg4807z00_1977; 
BgL_status3453z00_2280 = BgL_arg4808z00_1978; 
BgL_inlinezf33454zf3_2281 = BgL_arg4809z00_1979; 
((((BgL_iregz00_bglt)CREF(BgL_new3455z00_2275))->BgL_indexz00) = ((obj_t)BgL_index3452z00_2279), BUNSPEC); 
((((BgL_iregz00_bglt)CREF(BgL_new3455z00_2275))->BgL_statusz00) = ((obj_t)BgL_status3453z00_2280), BUNSPEC); 
((((BgL_iregz00_bglt)CREF(BgL_new3455z00_2275))->BgL_inlinezf3zf3) = ((obj_t)BgL_inlinezf33454zf3_2281), BUNSPEC); 
BgL_res4842z00_2282 = BgL_new3455z00_2275; } } BgL_res4842z00_2282; } 
BgL_res4843z00_2283 = BgL_new3443z00_2274; } 
BgL_arg4804z00_1976 = BgL_res4843z00_2283; } } 
{ /* ./SawMill/expr.scm 7 */
obj_t BgL_auxz00_3046;BgL_objectz00_bglt BgL_auxz00_3044;
BgL_auxz00_3046 = 
(obj_t)(BgL_arg4804z00_1976); 
BgL_auxz00_3044 = 
(BgL_objectz00_bglt)(BgL_new3466z00_1974); 
BGL_OBJECT_WIDENING_SET(BgL_auxz00_3044, BgL_auxz00_3046); } } 
{ /* ./SawMill/expr.scm 7 */
obj_t BgL_objz00_2284;
BgL_objz00_2284 = 
(obj_t)(BgL_new3466z00_1974); 
BGL_HEAP_DEBUG_MARK_OBJ(BgL_objz00_2284); BUNSPEC; } 
BgL_auxz00_3012 = BgL_new3466z00_1974; } } } 
return 
(obj_t)(BgL_auxz00_3012);} } } 
}



/* object->struct-ireg3595 */
obj_t BGl_objectzd2ze3structzd2ireg3595ze3zzsaw_exprz00(obj_t BgL_envz00_2384, obj_t BgL_obj3461z00_2385)
{ AN_OBJECT;
{ /* ./SawMill/expr.scm 7 */
{ 
BgL_iregz00_bglt BgL_obj3461z00_1954;
BgL_obj3461z00_1954 = 
(BgL_iregz00_bglt)(BgL_obj3461z00_2385); 
{ 

{ /* ./SawMill/expr.scm 7 */
obj_t BgL_res3462z00_1957;
{ /* ./SawMill/expr.scm 7 */
obj_t BgL_nextzd2method3594zd2_1966;
BgL_nextzd2method3594zd2_1966 = 
BGl_findzd2superzd2classzd2methodzd2zz__objectz00(
(BgL_objectz00_bglt)(BgL_obj3461z00_1954), BGl_objectzd2ze3structzd2envze3zz__objectz00, BGl_iregz00zzsaw_exprz00); 
{ /* ./SawMill/expr.scm 7 */
bool_t BgL_test4793z00_1967;
BgL_test4793z00_1967 = 
PROCEDUREP(BgL_nextzd2method3594zd2_1966); 
if(BgL_test4793z00_1967)
{ /* ./SawMill/expr.scm 7 */
BgL_res3462z00_1957 = 
PROCEDURE_ENTRY(BgL_nextzd2method3594zd2_1966)(BgL_nextzd2method3594zd2_1966, 
(obj_t)(BgL_obj3461z00_1954), BEOA); }  else 
{ /* ./SawMill/expr.scm 7 */
BgL_res3462z00_1957 = 
BGl_objectzd2ze3structz31zz__objectz00(
(BgL_objectz00_bglt)(BgL_obj3461z00_1954)); } } } 
{ /* ./SawMill/expr.scm 7 */
obj_t BgL_aux3463z00_1958;
{ /* ./SawMill/expr.scm 7 */
obj_t BgL_keyz00_2236;int BgL_lenz00_2237;
BgL_keyz00_2236 = 
CNST_TABLE_REF(((long)22)); 
BgL_lenz00_2237 = 
(int)(((long)3)); 
BgL_aux3463z00_1958 = 
make_struct(BgL_keyz00_2236, BgL_lenz00_2237, BUNSPEC); } 
{ /* ./SawMill/expr.scm 7 */
obj_t BgL_arg4772z00_1960;
{ 
obj_t BgL_auxz00_3065;
{ /* ./SawMill/expr.scm 7 */
BgL_objectz00_bglt BgL_auxz00_3066;
BgL_auxz00_3066 = 
(BgL_objectz00_bglt)(BgL_obj3461z00_1954); 
BgL_auxz00_3065 = 
BGL_OBJECT_WIDENING(BgL_auxz00_3066); } 
BgL_arg4772z00_1960 = 
(((BgL_iregz00_bglt)CREF(BgL_auxz00_3065))->BgL_indexz00); } 
{ /* ./SawMill/expr.scm 7 */
int BgL_kz00_2241;
BgL_kz00_2241 = 
(int)(((long)0)); 
STRUCT_SET(BgL_aux3463z00_1958, BgL_kz00_2241, BgL_arg4772z00_1960); } } 
{ /* ./SawMill/expr.scm 7 */
obj_t BgL_arg4777z00_1962;
{ 
obj_t BgL_auxz00_3072;
{ /* ./SawMill/expr.scm 7 */
BgL_objectz00_bglt BgL_auxz00_3073;
BgL_auxz00_3073 = 
(BgL_objectz00_bglt)(BgL_obj3461z00_1954); 
BgL_auxz00_3072 = 
BGL_OBJECT_WIDENING(BgL_auxz00_3073); } 
BgL_arg4777z00_1962 = 
(((BgL_iregz00_bglt)CREF(BgL_auxz00_3072))->BgL_statusz00); } 
{ /* ./SawMill/expr.scm 7 */
int BgL_kz00_2245;
BgL_kz00_2245 = 
(int)(((long)1)); 
STRUCT_SET(BgL_aux3463z00_1958, BgL_kz00_2245, BgL_arg4777z00_1962); } } 
{ /* ./SawMill/expr.scm 7 */
obj_t BgL_arg4782z00_1964;
{ 
obj_t BgL_auxz00_3079;
{ /* ./SawMill/expr.scm 7 */
BgL_objectz00_bglt BgL_auxz00_3080;
BgL_auxz00_3080 = 
(BgL_objectz00_bglt)(BgL_obj3461z00_1954); 
BgL_auxz00_3079 = 
BGL_OBJECT_WIDENING(BgL_auxz00_3080); } 
BgL_arg4782z00_1964 = 
(((BgL_iregz00_bglt)CREF(BgL_auxz00_3079))->BgL_inlinezf3zf3); } 
{ /* ./SawMill/expr.scm 7 */
int BgL_kz00_2249;
BgL_kz00_2249 = 
(int)(((long)2)); 
STRUCT_SET(BgL_aux3463z00_1958, BgL_kz00_2249, BgL_arg4782z00_1964); } } 
{ /* ./SawMill/expr.scm 7 */
int BgL_kz00_2252;
BgL_kz00_2252 = 
(int)(((long)0)); 
STRUCT_SET(BgL_res3462z00_1957, BgL_kz00_2252, BgL_aux3463z00_1958); } 
{ /* ./SawMill/expr.scm 7 */
obj_t BgL_arg4787z00_1965;
BgL_arg4787z00_1965 = 
STRUCT_KEY(BgL_res3462z00_1957); 
STRUCT_KEY_SET(BgL_aux3463z00_1958, BgL_arg4787z00_1965); } 
{ /* ./SawMill/expr.scm 7 */
obj_t BgL_kz00_2259;
BgL_kz00_2259 = 
CNST_TABLE_REF(((long)22)); 
STRUCT_KEY_SET(BgL_res3462z00_1957, BgL_kz00_2259); } 
return BgL_res3462z00_1957;} } } } } 
}



/* struct+object->object-inlined3593 */
obj_t BGl_structzb2objectzd2ze3objectzd2inlined3593z51zzsaw_exprz00(obj_t BgL_envz00_2386, obj_t BgL_oz00_2387, obj_t BgL_sz00_2388)
{ AN_OBJECT;
{ /* ./SawMill/expr.scm 8 */
{ 
BgL_inlinedz00_bglt BgL_oz00_1943;obj_t BgL_sz00_1944;
{ /* ./SawMill/expr.scm 8 */
BgL_inlinedz00_bglt BgL_auxz00_3093;
BgL_oz00_1943 = 
(BgL_inlinedz00_bglt)(BgL_oz00_2387); 
BgL_sz00_1944 = BgL_sz00_2388; 
{ 

{ /* ./SawMill/expr.scm 8 */
obj_t BgL_old3497z00_1947;
{ /* ./SawMill/expr.scm 8 */
obj_t BgL_nextzd2method3592zd2_1952;
BgL_nextzd2method3592zd2_1952 = 
BGl_findzd2superzd2classzd2methodzd2zz__objectz00(
(BgL_objectz00_bglt)(BgL_oz00_1943), BGl_structzb2objectzd2ze3objectzd2envz51zz__objectz00, BGl_inlinedz00zzsaw_exprz00); 
{ /* ./SawMill/expr.scm 8 */
bool_t BgL_test4764z00_1953;
BgL_test4764z00_1953 = 
PROCEDUREP(BgL_nextzd2method3592zd2_1952); 
if(BgL_test4764z00_1953)
{ /* ./SawMill/expr.scm 8 */
BgL_old3497z00_1947 = 
PROCEDURE_ENTRY(BgL_nextzd2method3592zd2_1952)(BgL_nextzd2method3592zd2_1952, 
(obj_t)(BgL_oz00_1943), BgL_sz00_1944, BEOA); }  else 
{ /* ./SawMill/expr.scm 8 */
{ /* ./SawMill/expr.scm 8 */
BgL_objectz00_bglt BgL_auxz00_3101;
BgL_auxz00_3101 = 
BGl_structzb2objectzd2ze3objectz83zz__objectz00(
(BgL_objectz00_bglt)(BgL_oz00_1943), BgL_sz00_1944); 
BgL_old3497z00_1947 = 
(obj_t)(BgL_auxz00_3101); } } } } 
{ /* ./SawMill/expr.scm 8 */
BgL_inlinedz00_bglt BgL_new3499z00_1949;
BgL_new3499z00_1949 = 
((BgL_inlinedz00_bglt)(BgL_old3497z00_1947)); 
{ /* ./SawMill/expr.scm 8 */
long BgL_arg4754z00_1950;
BgL_arg4754z00_1950 = 
BGl_classzd2numzd2zz__objectz00(BGl_inlinedz00zzsaw_exprz00); 
{ /* ./SawMill/expr.scm 8 */
BgL_objectz00_bglt BgL_objz00_2232;
BgL_objz00_2232 = 
(BgL_objectz00_bglt)(BgL_new3499z00_1949); 
BGL_OBJECT_CLASS_NUM_SET(BgL_objz00_2232, BgL_arg4754z00_1950); } } 
{ /* ./SawMill/expr.scm 8 */
BgL_inlinedz00_bglt BgL_arg4758z00_1951;
BgL_arg4758z00_1951 = 
BGl_wideningzd2inlinedzd2zzsaw_exprz00(); 
{ /* ./SawMill/expr.scm 8 */
obj_t BgL_auxz00_3112;BgL_objectz00_bglt BgL_auxz00_3110;
BgL_auxz00_3112 = 
(obj_t)(BgL_arg4758z00_1951); 
BgL_auxz00_3110 = 
(BgL_objectz00_bglt)(BgL_new3499z00_1949); 
BGL_OBJECT_WIDENING_SET(BgL_auxz00_3110, BgL_auxz00_3112); } } 
{ /* ./SawMill/expr.scm 8 */
obj_t BgL_objz00_2234;
BgL_objz00_2234 = 
(obj_t)(BgL_new3499z00_1949); 
BGL_HEAP_DEBUG_MARK_OBJ(BgL_objz00_2234); BUNSPEC; } 
BgL_auxz00_3093 = BgL_new3499z00_1949; } } } 
return 
(obj_t)(BgL_auxz00_3093);} } } 
}



/* object->struct-inlined3591 */
obj_t BGl_objectzd2ze3structzd2inlined3591ze3zzsaw_exprz00(obj_t BgL_envz00_2389, obj_t BgL_obj3494z00_2390)
{ AN_OBJECT;
{ /* ./SawMill/expr.scm 8 */
{ 
BgL_inlinedz00_bglt BgL_obj3494z00_1935;
BgL_obj3494z00_1935 = 
(BgL_inlinedz00_bglt)(BgL_obj3494z00_2390); 
{ 

{ /* ./SawMill/expr.scm 8 */
obj_t BgL_res3495z00_1938;
{ /* ./SawMill/expr.scm 8 */
obj_t BgL_nextzd2method3590zd2_1941;
BgL_nextzd2method3590zd2_1941 = 
BGl_findzd2superzd2classzd2methodzd2zz__objectz00(
(BgL_objectz00_bglt)(BgL_obj3494z00_1935), BGl_objectzd2ze3structzd2envze3zz__objectz00, BGl_inlinedz00zzsaw_exprz00); 
{ /* ./SawMill/expr.scm 8 */
bool_t BgL_test4747z00_1942;
BgL_test4747z00_1942 = 
PROCEDUREP(BgL_nextzd2method3590zd2_1941); 
if(BgL_test4747z00_1942)
{ /* ./SawMill/expr.scm 8 */
BgL_res3495z00_1938 = 
PROCEDURE_ENTRY(BgL_nextzd2method3590zd2_1941)(BgL_nextzd2method3590zd2_1941, 
(obj_t)(BgL_obj3494z00_1935), BEOA); }  else 
{ /* ./SawMill/expr.scm 8 */
BgL_res3495z00_1938 = 
BGl_objectzd2ze3structz31zz__objectz00(
(BgL_objectz00_bglt)(BgL_obj3494z00_1935)); } } } 
{ /* ./SawMill/expr.scm 8 */
obj_t BgL_aux3496z00_1939;
{ /* ./SawMill/expr.scm 8 */
obj_t BgL_keyz00_2217;int BgL_lenz00_2218;
BgL_keyz00_2217 = 
CNST_TABLE_REF(((long)23)); 
BgL_lenz00_2218 = 
(int)(((long)0)); 
BgL_aux3496z00_1939 = 
make_struct(BgL_keyz00_2217, BgL_lenz00_2218, BUNSPEC); } 
{ /* ./SawMill/expr.scm 8 */
int BgL_kz00_2221;
BgL_kz00_2221 = 
(int)(((long)0)); 
STRUCT_SET(BgL_res3495z00_1938, BgL_kz00_2221, BgL_aux3496z00_1939); } 
{ /* ./SawMill/expr.scm 8 */
obj_t BgL_arg4741z00_1940;
BgL_arg4741z00_1940 = 
STRUCT_KEY(BgL_res3495z00_1938); 
STRUCT_KEY_SET(BgL_aux3496z00_1939, BgL_arg4741z00_1940); } 
{ /* ./SawMill/expr.scm 8 */
obj_t BgL_kz00_2228;
BgL_kz00_2228 = 
CNST_TABLE_REF(((long)23)); 
STRUCT_KEY_SET(BgL_res3495z00_1938, BgL_kz00_2228); } 
return BgL_res3495z00_1938;} } } } } 
}



/* effects-rtl_call3589 */
obj_t BGl_effectszd2rtl_call3589zd2zzsaw_exprz00(obj_t BgL_envz00_2391, obj_t BgL_funz00_2392)
{ AN_OBJECT;
{ /* ./SawMill/expr.scm 156 */
{ 
BgL_rtl_callz00_bglt BgL_funz00_1928;
BgL_funz00_1928 = 
(BgL_rtl_callz00_bglt)(BgL_funz00_2392); 
{ /* ./SawMill/expr.scm 157 */
BgL_globalz00_bglt BgL_varz00_1931;
BgL_varz00_1931 = 
(((BgL_rtl_callz00_bglt)CREF(BgL_funz00_1928))->BgL_varz00); 
{ /* ./SawMill/expr.scm 158 */
obj_t BgL__ortest_3545z00_1932;
{ /* ./SawMill/expr.scm 158 */
obj_t BgL_auxz00_3139;
{ /* ./SawMill/expr.scm 158 */
BgL_variablez00_bglt BgL_obj1093z00_2215;
BgL_obj1093z00_2215 = 
(BgL_variablez00_bglt)(BgL_varz00_1931); 
BgL_auxz00_3139 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1093z00_2215))->BgL_idz00); } 
BgL__ortest_3545z00_1932 = 
BGl_getpropz00zz__r4_symbols_6_4z00(BgL_auxz00_3139, 
(((BgL_globalz00_bglt)CREF(BgL_varz00_1931))->BgL_modulez00)); } 
if(
CBOOL(BgL__ortest_3545z00_1932))
{ /* ./SawMill/expr.scm 158 */
return BgL__ortest_3545z00_1932;}  else 
{ /* ./SawMill/expr.scm 158 */
return 
BGl_manuzd2effectzd2zzsaw_exprz00(BgL_varz00_1931);} } } } } 
}



/* effects-rtl_protect3587 */
obj_t BGl_effectszd2rtl_protect3587zd2zzsaw_exprz00(obj_t BgL_envz00_2393, obj_t BgL_funz00_2394)
{ AN_OBJECT;
{ /* ./SawMill/expr.scm 154 */
{ /* ./SawMill/expr.scm 154 */
BgL_feffectz00_bglt BgL_auxz00_3148;
BgL_auxz00_3148 = BGl_za2fullza2z00zzsaw_exprz00; 
return 
(obj_t)(BgL_auxz00_3148);} } 
}



/* effects-rtl_pragma3585 */
obj_t BGl_effectszd2rtl_pragma3585zd2zzsaw_exprz00(obj_t BgL_envz00_2395, obj_t BgL_funz00_2396)
{ AN_OBJECT;
{ /* ./SawMill/expr.scm 153 */
{ /* ./SawMill/expr.scm 153 */
BgL_feffectz00_bglt BgL_auxz00_3150;
BgL_auxz00_3150 = BGl_za2fullza2z00zzsaw_exprz00; 
return 
(obj_t)(BgL_auxz00_3150);} } 
}



/* effects-rtl_funcall3583 */
obj_t BGl_effectszd2rtl_funcall3583zd2zzsaw_exprz00(obj_t BgL_envz00_2397, obj_t BgL_funz00_2398)
{ AN_OBJECT;
{ /* ./SawMill/expr.scm 152 */
{ /* ./SawMill/expr.scm 152 */
BgL_feffectz00_bglt BgL_auxz00_3152;
BgL_auxz00_3152 = BGl_za2fullza2z00zzsaw_exprz00; 
return 
(obj_t)(BgL_auxz00_3152);} } 
}



/* effects-rtl_lightfuncall3581 */
obj_t BGl_effectszd2rtl_lightfuncall3581zd2zzsaw_exprz00(obj_t BgL_envz00_2399, obj_t BgL_funz00_2400)
{ AN_OBJECT;
{ /* ./SawMill/expr.scm 151 */
{ /* ./SawMill/expr.scm 151 */
BgL_feffectz00_bglt BgL_auxz00_3154;
BgL_auxz00_3154 = BGl_za2fullza2z00zzsaw_exprz00; 
return 
(obj_t)(BgL_auxz00_3154);} } 
}



/* effects-rtl_apply3579 */
obj_t BGl_effectszd2rtl_apply3579zd2zzsaw_exprz00(obj_t BgL_envz00_2401, obj_t BgL_funz00_2402)
{ AN_OBJECT;
{ /* ./SawMill/expr.scm 150 */
{ /* ./SawMill/expr.scm 150 */
BgL_feffectz00_bglt BgL_auxz00_3156;
BgL_auxz00_3156 = BGl_za2fullza2z00zzsaw_exprz00; 
return 
(obj_t)(BgL_auxz00_3156);} } 
}



/* effects-rtl_setfield3577 */
obj_t BGl_effectszd2rtl_setfield3577zd2zzsaw_exprz00(obj_t BgL_envz00_2403, obj_t BgL_funz00_2404)
{ AN_OBJECT;
{ /* ./SawMill/expr.scm 149 */
{ /* ./SawMill/expr.scm 149 */
BgL_feffectz00_bglt BgL_auxz00_3158;
BgL_auxz00_3158 = BGl_za2setfza2z00zzsaw_exprz00; 
return 
(obj_t)(BgL_auxz00_3158);} } 
}



/* effects-rtl_getfield3575 */
obj_t BGl_effectszd2rtl_getfield3575zd2zzsaw_exprz00(obj_t BgL_envz00_2405, obj_t BgL_funz00_2406)
{ AN_OBJECT;
{ /* ./SawMill/expr.scm 148 */
{ /* ./SawMill/expr.scm 148 */
BgL_feffectz00_bglt BgL_auxz00_3160;
BgL_auxz00_3160 = BGl_za2getfza2z00zzsaw_exprz00; 
return 
(obj_t)(BgL_auxz00_3160);} } 
}



/* effects-rtl_boxset3573 */
obj_t BGl_effectszd2rtl_boxset3573zd2zzsaw_exprz00(obj_t BgL_envz00_2407, obj_t BgL_funz00_2408)
{ AN_OBJECT;
{ /* ./SawMill/expr.scm 147 */
{ /* ./SawMill/expr.scm 147 */
BgL_feffectz00_bglt BgL_auxz00_3162;
BgL_auxz00_3162 = BGl_za2boxsetza2z00zzsaw_exprz00; 
return 
(obj_t)(BgL_auxz00_3162);} } 
}



/* effects-rtl_boxref3571 */
obj_t BGl_effectszd2rtl_boxref3571zd2zzsaw_exprz00(obj_t BgL_envz00_2409, obj_t BgL_funz00_2410)
{ AN_OBJECT;
{ /* ./SawMill/expr.scm 146 */
{ /* ./SawMill/expr.scm 146 */
BgL_feffectz00_bglt BgL_auxz00_3164;
BgL_auxz00_3164 = BGl_za2boxrefza2z00zzsaw_exprz00; 
return 
(obj_t)(BgL_auxz00_3164);} } 
}



/* effects-rtl_vset3569 */
obj_t BGl_effectszd2rtl_vset3569zd2zzsaw_exprz00(obj_t BgL_envz00_2411, obj_t BgL_funz00_2412)
{ AN_OBJECT;
{ /* ./SawMill/expr.scm 145 */
{ /* ./SawMill/expr.scm 145 */
BgL_feffectz00_bglt BgL_auxz00_3166;
BgL_auxz00_3166 = BGl_za2vsetza2z00zzsaw_exprz00; 
return 
(obj_t)(BgL_auxz00_3166);} } 
}



/* effects-rtl_vref3567 */
obj_t BGl_effectszd2rtl_vref3567zd2zzsaw_exprz00(obj_t BgL_envz00_2413, obj_t BgL_funz00_2414)
{ AN_OBJECT;
{ /* ./SawMill/expr.scm 144 */
{ /* ./SawMill/expr.scm 144 */
BgL_feffectz00_bglt BgL_auxz00_3168;
BgL_auxz00_3168 = BGl_za2vrefza2z00zzsaw_exprz00; 
return 
(obj_t)(BgL_auxz00_3168);} } 
}



/* effects-rtl_storeg3565 */
obj_t BGl_effectszd2rtl_storeg3565zd2zzsaw_exprz00(obj_t BgL_envz00_2415, obj_t BgL_funz00_2416)
{ AN_OBJECT;
{ /* ./SawMill/expr.scm 143 */
{ /* ./SawMill/expr.scm 143 */
BgL_feffectz00_bglt BgL_auxz00_3170;
BgL_auxz00_3170 = BGl_za2storegza2z00zzsaw_exprz00; 
return 
(obj_t)(BgL_auxz00_3170);} } 
}



/* effects-rtl_loadg3563 */
obj_t BGl_effectszd2rtl_loadg3563zd2zzsaw_exprz00(obj_t BgL_envz00_2417, obj_t BgL_funz00_2418)
{ AN_OBJECT;
{ /* ./SawMill/expr.scm 142 */
{ /* ./SawMill/expr.scm 142 */
BgL_feffectz00_bglt BgL_auxz00_3172;
BgL_auxz00_3172 = BGl_za2loadgza2z00zzsaw_exprz00; 
return 
(obj_t)(BgL_auxz00_3172);} } 
}



/* accept-folding? */
BGL_EXPORTED_DEF obj_t BGl_acceptzd2foldingzf3z21zzsaw_exprz00(BgL_backendz00_bglt BgL_bz00_9, obj_t BgL_insz00_10, obj_t BgL_treez00_11)
{ AN_OBJECT;
{ /* ./SawMill/expr.scm 79 */
{ /* ./SawMill/expr.scm 79 */
obj_t BgL_method3559z00_2286;
{ /* ./SawMill/expr.scm 79 */
BgL_objectz00_bglt BgL_objz00_2287;
BgL_objz00_2287 = 
(BgL_objectz00_bglt)(BgL_bz00_9); 
{ /* ./SawMill/expr.scm 79 */
long BgL_objzd2classzd2numz00_2288;
BgL_objzd2classzd2numz00_2288 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2287); 
{ /* ./SawMill/expr.scm 79 */
obj_t BgL_arg2017z00_2289;
{ /* ./SawMill/expr.scm 79 */
int BgL_auxz00_3176;
BgL_auxz00_3176 = 
(int)(((long)1)); 
BgL_arg2017z00_2289 = 
PROCEDURE_REF(BGl_acceptzd2foldingzf3zd2envzf3zzsaw_exprz00, BgL_auxz00_3176); } 
{ /* ./SawMill/expr.scm 79 */
int BgL_offsetz00_2292;
BgL_offsetz00_2292 = 
(int)(BgL_objzd2classzd2numz00_2288); 
{ /* ./SawMill/expr.scm 79 */
long BgL_offsetz00_2293;
{ /* ./SawMill/expr.scm 79 */
long BgL_auxz00_3180;
BgL_auxz00_3180 = 
(long)(BgL_offsetz00_2292); 
BgL_offsetz00_2293 = 
(BgL_auxz00_3180-OBJECT_TYPE); } 
{ /* ./SawMill/expr.scm 79 */
long BgL_modz00_2294;
{ /* ./SawMill/expr.scm 79 */
int BgL_arg2028z00_2295;
BgL_arg2028z00_2295 = 
(int)(((long)8)); 
{ /* ./SawMill/expr.scm 79 */
long BgL_n2z00_2303;
BgL_n2z00_2303 = 
(long)(BgL_arg2028z00_2295); 
BgL_modz00_2294 = 
(BgL_offsetz00_2293/BgL_n2z00_2303); } } 
{ /* ./SawMill/expr.scm 79 */
long BgL_restz00_2296;
{ /* ./SawMill/expr.scm 79 */
int BgL_arg2024z00_2297;
BgL_arg2024z00_2297 = 
(int)(((long)8)); 
{ /* ./SawMill/expr.scm 79 */
long BgL_n2z00_2306;
BgL_n2z00_2306 = 
(long)(BgL_arg2024z00_2297); 
BgL_restz00_2296 = 
(BgL_offsetz00_2293%BgL_n2z00_2306); } } 
{ /* ./SawMill/expr.scm 79 */

{ /* ./SawMill/expr.scm 79 */
obj_t BgL_bucketz00_2298;
{ /* ./SawMill/expr.scm 79 */
int BgL_kz00_2308;
BgL_kz00_2308 = 
(int)(BgL_modz00_2294); 
BgL_bucketz00_2298 = 
VECTOR_REF(BgL_arg2017z00_2289,BgL_kz00_2308); } 
{ /* ./SawMill/expr.scm 79 */
int BgL_kz00_2310;
BgL_kz00_2310 = 
(int)(BgL_restz00_2296); 
BgL_method3559z00_2286 = 
VECTOR_REF(BgL_bucketz00_2298,BgL_kz00_2310); } } } } } } } } } } 
return 
PROCEDURE_ENTRY(BgL_method3559z00_2286)(BgL_method3559z00_2286, 
(obj_t)(BgL_bz00_9), BgL_insz00_10, BgL_treez00_11, BEOA);} } 
}



/* _accept-folding?4852 */
obj_t BGl__acceptzd2foldingzf34852z21zzsaw_exprz00(obj_t BgL_envz00_2345, obj_t BgL_bz00_2346, obj_t BgL_insz00_2347, obj_t BgL_treez00_2348)
{ AN_OBJECT;
{ /* ./SawMill/expr.scm 79 */
return 
BGl_acceptzd2foldingzf3z21zzsaw_exprz00(
(BgL_backendz00_bglt)(BgL_bz00_2346), BgL_insz00_2347, BgL_treez00_2348);} 
}



/* _accept-folding?-default3558 */
obj_t BGl__acceptzd2foldingzf3zd2default3558zf3zzsaw_exprz00(obj_t BgL_envz00_2419, obj_t BgL_bz00_2420, obj_t BgL_insz00_2421, obj_t BgL_treez00_2422)
{ AN_OBJECT;
{ /* ./SawMill/expr.scm 1 */
{ /* ./SawMill/expr.scm 80 */
bool_t BgL_auxz00_3198;
BgL_auxz00_3198 = ((bool_t)1); 
return 
BBOOL(BgL_auxz00_3198);} } 
}



/* effects */
obj_t BGl_effectsz00zzsaw_exprz00(BgL_rtl_funz00_bglt BgL_funz00_23)
{ AN_OBJECT;
{ /* ./SawMill/expr.scm 141 */
{ /* ./SawMill/expr.scm 141 */
obj_t BgL_method3561z00_2311;
{ /* ./SawMill/expr.scm 141 */
BgL_objectz00_bglt BgL_objz00_2312;
BgL_objz00_2312 = 
(BgL_objectz00_bglt)(BgL_funz00_23); 
{ /* ./SawMill/expr.scm 141 */
long BgL_objzd2classzd2numz00_2313;
BgL_objzd2classzd2numz00_2313 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2312); 
{ /* ./SawMill/expr.scm 141 */
obj_t BgL_arg2017z00_2314;
{ /* ./SawMill/expr.scm 141 */
int BgL_auxz00_3202;
BgL_auxz00_3202 = 
(int)(((long)1)); 
BgL_arg2017z00_2314 = 
PROCEDURE_REF(BGl_effectszd2envzd2zzsaw_exprz00, BgL_auxz00_3202); } 
{ /* ./SawMill/expr.scm 141 */
int BgL_offsetz00_2317;
BgL_offsetz00_2317 = 
(int)(BgL_objzd2classzd2numz00_2313); 
{ /* ./SawMill/expr.scm 141 */
long BgL_offsetz00_2318;
{ /* ./SawMill/expr.scm 141 */
long BgL_auxz00_3206;
BgL_auxz00_3206 = 
(long)(BgL_offsetz00_2317); 
BgL_offsetz00_2318 = 
(BgL_auxz00_3206-OBJECT_TYPE); } 
{ /* ./SawMill/expr.scm 141 */
long BgL_modz00_2319;
{ /* ./SawMill/expr.scm 141 */
int BgL_arg2028z00_2320;
BgL_arg2028z00_2320 = 
(int)(((long)8)); 
{ /* ./SawMill/expr.scm 141 */
long BgL_n2z00_2328;
BgL_n2z00_2328 = 
(long)(BgL_arg2028z00_2320); 
BgL_modz00_2319 = 
(BgL_offsetz00_2318/BgL_n2z00_2328); } } 
{ /* ./SawMill/expr.scm 141 */
long BgL_restz00_2321;
{ /* ./SawMill/expr.scm 141 */
int BgL_arg2024z00_2322;
BgL_arg2024z00_2322 = 
(int)(((long)8)); 
{ /* ./SawMill/expr.scm 141 */
long BgL_n2z00_2331;
BgL_n2z00_2331 = 
(long)(BgL_arg2024z00_2322); 
BgL_restz00_2321 = 
(BgL_offsetz00_2318%BgL_n2z00_2331); } } 
{ /* ./SawMill/expr.scm 141 */

{ /* ./SawMill/expr.scm 141 */
obj_t BgL_bucketz00_2323;
{ /* ./SawMill/expr.scm 141 */
int BgL_kz00_2333;
BgL_kz00_2333 = 
(int)(BgL_modz00_2319); 
BgL_bucketz00_2323 = 
VECTOR_REF(BgL_arg2017z00_2314,BgL_kz00_2333); } 
{ /* ./SawMill/expr.scm 141 */
int BgL_kz00_2335;
BgL_kz00_2335 = 
(int)(BgL_restz00_2321); 
BgL_method3561z00_2311 = 
VECTOR_REF(BgL_bucketz00_2323,BgL_kz00_2335); } } } } } } } } } } 
return 
PROCEDURE_ENTRY(BgL_method3561z00_2311)(BgL_method3561z00_2311, 
(obj_t)(BgL_funz00_23), BEOA);} } 
}



/* _effects4850 */
obj_t BGl__effects4850z00zzsaw_exprz00(obj_t BgL_envz00_2343, obj_t BgL_funz00_2344)
{ AN_OBJECT;
{ /* ./SawMill/expr.scm 141 */
return 
BGl_effectsz00zzsaw_exprz00(
(BgL_rtl_funz00_bglt)(BgL_funz00_2344));} 
}



/* _effects-default3560 */
obj_t BGl__effectszd2default3560zd2zzsaw_exprz00(obj_t BgL_envz00_2423, obj_t BgL_funz00_2424)
{ AN_OBJECT;
{ /* ./SawMill/expr.scm 1 */
{ /* ./SawMill/expr.scm 141 */
BgL_feffectz00_bglt BgL_auxz00_3224;
BgL_auxz00_3224 = BGl_za2noeffectza2z00zzsaw_exprz00; 
return 
(obj_t)(BgL_auxz00_3224);} } 
}



/* imported-modules-init */
obj_t BGl_importedzd2moduleszd2initz00zzsaw_exprz00()
{ AN_OBJECT;
{ /* ./SawMill/expr.scm 1 */
BGl_modulezd2initializa7ationz75zztype_typez00(((long)19090), "saw_expr"); 
BGl_modulezd2initializa7ationz75zzast_varz00(((long)44246), "saw_expr"); 
BGl_modulezd2initializa7ationz75zzast_nodez00(((long)50868), "saw_expr"); 
BGl_modulezd2initializa7ationz75zzbackend_backendz00(((long)3428), "saw_expr"); 
return 
BGl_modulezd2initializa7ationz75zzsaw_defsz00(((long)12736), "saw_expr");} 
}

