/*===========================================================================*/
/*   (SawMill/collapse.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/collapse.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_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_collapsedz00_bgl {
   char dummy;
} *BgL_collapsedz00_bglt;


extern obj_t BGl_substz00zzsaw_libz00(obj_t, obj_t, obj_t);
static obj_t BGl_methodzd2initzd2zzsaw_collapsez00();
BGL_IMPORT obj_t open_input_string(obj_t);
BGL_IMPORT long BGl_classzd2numzd2zz__objectz00(obj_t);
BGL_IMPORT obj_t BGl_readz00zz__readerz00(obj_t);
BGL_IMPORT bool_t BGl_iszd2azf3z21zz__objectz00(obj_t, obj_t);
BGL_IMPORT obj_t BGl_objectzd2ze3structz31zz__objectz00(BgL_objectz00_bglt);
BGL_EXPORTED_DECL obj_t BGl_collapsez00zzsaw_collapsez00(BgL_blockz00_bglt);
BGL_IMPORT obj_t BGl_registerzd2classz12zc0zz__objectz00(obj_t, obj_t, obj_t, obj_t, long, obj_t, obj_t, obj_t);
BGL_IMPORT obj_t BGl_lastzd2pairzd2zz__r4_pairs_and_lists_6_3z00(obj_t);
static obj_t BGl_cnstzd2initzd2zzsaw_collapsez00();
static obj_t BGl_importedzd2moduleszd2initz00zzsaw_collapsez00();
BGL_IMPORT obj_t make_struct(obj_t, int, obj_t);
BGL_IMPORT obj_t BGl_addzd2methodz12zc0zz__objectz00(obj_t, obj_t, obj_t);
static obj_t BGl__collapsez00zzsaw_collapsez00(obj_t, obj_t);
static obj_t BGl_collapsedz00zzsaw_collapsez00 = BUNSPEC;
BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zzsaw_collapsez00(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_modulezd2initializa7ationz75zzsaw_libz00(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 *);
static obj_t BGl_structzb2objectzd2ze3objectzd2collapsed3163z51zzsaw_collapsez00(obj_t, obj_t, obj_t);
extern obj_t BGl_blockz00zzsaw_defsz00;
BGL_IMPORT BgL_objectz00_bglt BGl_structzb2objectzd2ze3objectz83zz__objectz00(BgL_objectz00_bglt, obj_t);
static obj_t BGl_objectzd2ze3structzd2collapsed3161ze3zzsaw_collapsez00(obj_t, obj_t);
static BgL_collapsedz00_bglt BGl_wideningzd2collapsedzd2zzsaw_collapsez00();
static obj_t BGl_objectzd2initzd2zzsaw_collapsez00();
static obj_t BGl_requirezd2initializa7ationz75zzsaw_collapsez00 = BUNSPEC;
static bool_t BGl_dfsz00zzsaw_collapsez00(BgL_blockz00_bglt);
static obj_t BGl__allocatezd2collapsedzd2zzsaw_collapsez00(obj_t);
static obj_t BGl_libraryzd2moduleszd2initz00zzsaw_collapsez00();
BGL_IMPORT obj_t BGl_findzd2superzd2classzd2methodzd2zz__objectz00(BgL_objectz00_bglt, obj_t, obj_t);
static obj_t __cnst[ 1 ] ;


DEFINE_STATIC_PROCEDURE( BGl_allocatezd2collapsedzd2envz00zzsaw_collapsez00, BgL_bgl__allocateza7d2collapsedza7d2za7za7saw_collapseza7004024za7, BGl__allocatezd2collapsedzd2zzsaw_collapsez00, 0L, 0 );
DEFINE_STATIC_PROCEDURE( BGl_proc3994z00zzsaw_collapsez00, BgL_bgl_objectza7d2za7e3structza7d2collapsed3161za7e3za7za7saw_collapseza7004025za7, BGl_objectzd2ze3structzd2collapsed3161ze3zzsaw_collapsez00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc3995z00zzsaw_collapsez00, BgL_bgl_structza7b2objectza7d2za7e3objectza7d2collapsed3163za751za7za7saw_collapseza7004026z00, BGl_structzb2objectzd2ze3objectzd2collapsed3163z51zzsaw_collapsez00, 0L, 2 );
BGL_IMPORT obj_t BGl_objectzd2ze3structzd2envze3zz__objectz00;
DEFINE_EXPORT_PROCEDURE( BGl_collapsezd2envzd2zzsaw_collapsez00, BgL_bgl__collapseza700za7za7saw_collapseza7004027z00, BGl__collapsez00zzsaw_collapsez00, 0L, 1 );
DEFINE_STRING( BGl_string3996z00zzsaw_collapsez00, BgL_bgl_string3996za700za7za7saw_collapseza7004028z00, "collapsed ", 10 );
BGL_IMPORT obj_t BGl_structzb2objectzd2ze3objectzd2envz51zz__objectz00;



/* module-initialization */
BGL_EXPORTED_DEF obj_t BGl_modulezd2initializa7ationz75zzsaw_collapsez00(long BgL_checksumz00_1581, char * BgL_fromz00_1582)
{ AN_OBJECT;
{ 
if(
CBOOL(BGl_requirezd2initializa7ationz75zzsaw_collapsez00))
{ 
BGl_requirezd2initializa7ationz75zzsaw_collapsez00 = 
BBOOL(((bool_t)0)); 
BGl_libraryzd2moduleszd2initz00zzsaw_collapsez00(); 
BGl_cnstzd2initzd2zzsaw_collapsez00(); 
BGl_importedzd2moduleszd2initz00zzsaw_collapsez00(); 
BGl_objectzd2initzd2zzsaw_collapsez00(); 
BGl_methodzd2initzd2zzsaw_collapsez00(); 
return BUNSPEC;}  else 
{ 
return BUNSPEC;} } 
}



/* library-modules-init */
obj_t BGl_libraryzd2moduleszd2initz00zzsaw_collapsez00()
{ AN_OBJECT;
{ /* ./SawMill/collapse.scm 1 */
BGl_modulezd2initializa7ationz75zz__objectz00(((long)0), "saw_collapse"); 
BGl_modulezd2initializa7ationz75zz__readerz00(((long)0), "saw_collapse"); 
BGl_modulezd2initializa7ationz75zz__r4_pairs_and_lists_6_3z00(((long)0), "saw_collapse"); 
return BUNSPEC;} 
}



/* cnst-init */
obj_t BGl_cnstzd2initzd2zzsaw_collapsez00()
{ AN_OBJECT;
{ /* ./SawMill/collapse.scm 1 */
{ /* ./SawMill/collapse.scm 1 */
obj_t BgL_cportz00_1565;
BgL_cportz00_1565 = 
open_input_string(BGl_string3996z00zzsaw_collapsez00); 
{ 
long BgL_iz00_1566;
BgL_iz00_1566 = ((long)0); 
BgL_loopz00_1567:
{ /* ./SawMill/collapse.scm 1 */
bool_t BgL_test3998z00_1568;
BgL_test3998z00_1568 = 
(BgL_iz00_1566==((long)-1)); 
if(BgL_test3998z00_1568)
{ /* ./SawMill/collapse.scm 1 */
return BUNSPEC;}  else 
{ /* ./SawMill/collapse.scm 1 */
{ /* ./SawMill/collapse.scm 1 */
obj_t BgL_arg4000z00_1569;
{ /* ./SawMill/collapse.scm 1 */
obj_t BgL_list4003z00_1570;
BgL_list4003z00_1570 = 
MAKE_PAIR(BgL_cportz00_1565, BNIL); 
BgL_arg4000z00_1569 = 
BGl_readz00zz__readerz00(BgL_list4003z00_1570); } 
{ /* ./SawMill/collapse.scm 1 */
int BgL_auxz00_1599;
BgL_auxz00_1599 = 
(int)(BgL_iz00_1566); 
CNST_TABLE_SET(BgL_auxz00_1599, BgL_arg4000z00_1569); } } 
{ /* ./SawMill/collapse.scm 1 */
int BgL_auxz00_1571;
{ /* ./SawMill/collapse.scm 1 */
long BgL_auxz00_1602;
BgL_auxz00_1602 = 
(BgL_iz00_1566-((long)1)); 
BgL_auxz00_1571 = 
(int)(BgL_auxz00_1602); } 
{ 
long BgL_iz00_1605;
BgL_iz00_1605 = 
(long)(BgL_auxz00_1571); 
BgL_iz00_1566 = BgL_iz00_1605; 
goto BgL_loopz00_1567;} } } } } } } 
}



/* collapse */
BGL_EXPORTED_DEF obj_t BGl_collapsez00zzsaw_collapsez00(BgL_blockz00_bglt BgL_bz00_1)
{ AN_OBJECT;
{ /* ./SawMill/collapse.scm 13 */
BGl_dfsz00zzsaw_collapsez00(BgL_bz00_1); 
return BUNSPEC;} 
}



/* dfs */
bool_t BGl_dfsz00zzsaw_collapsez00(BgL_blockz00_bglt BgL_bz00_930)
{ AN_OBJECT;
{ /* ./SawMill/collapse.scm 14 */
{ /* ./SawMill/collapse.scm 16 */
BgL_blockz00_bglt BgL_obj3152z00_933;
BgL_obj3152z00_933 = 
((BgL_blockz00_bglt)BgL_bz00_930); 
{ /* ./SawMill/collapse.scm 16 */
BgL_collapsedz00_bglt BgL_arg3166z00_934;
BgL_arg3166z00_934 = 
BGl_wideningzd2collapsedzd2zzsaw_collapsez00(); 
{ /* ./SawMill/collapse.scm 16 */
obj_t BgL_auxz00_1612;BgL_objectz00_bglt BgL_auxz00_1610;
BgL_auxz00_1612 = 
(obj_t)(BgL_arg3166z00_934); 
BgL_auxz00_1610 = 
(BgL_objectz00_bglt)(BgL_obj3152z00_933); 
BGL_OBJECT_WIDENING_SET(BgL_auxz00_1610, BgL_auxz00_1612); } } 
{ /* ./SawMill/collapse.scm 16 */
long BgL_arg3170z00_935;
BgL_arg3170z00_935 = 
BGl_classzd2numzd2zz__objectz00(BGl_collapsedz00zzsaw_collapsez00); 
{ /* ./SawMill/collapse.scm 16 */
BgL_objectz00_bglt BgL_objz00_1493;
BgL_objz00_1493 = 
(BgL_objectz00_bglt)(BgL_obj3152z00_933); 
BGL_OBJECT_CLASS_NUM_SET(BgL_objz00_1493, BgL_arg3170z00_935); } } 
{ /* ./SawMill/collapse.scm 16 */
obj_t BgL_objz00_1495;
BgL_objz00_1495 = 
(obj_t)(BgL_obj3152z00_933); 
BGL_HEAP_DEBUG_MARK_OBJ(BgL_objz00_1495); BUNSPEC; } BgL_obj3152z00_933; } 
{ /* ./SawMill/collapse.scm 17 */
bool_t BgL_test3174z00_936;
{ /* ./SawMill/collapse.scm 17 */
bool_t BgL_testz00_1620;
{ /* ./SawMill/collapse.scm 17 */
obj_t BgL_auxz00_1621;
BgL_auxz00_1621 = 
(((BgL_blockz00_bglt)CREF(BgL_bz00_930))->BgL_predsz00); 
BgL_testz00_1620 = 
PAIRP(BgL_auxz00_1621); } 
if(BgL_testz00_1620)
{ /* ./SawMill/collapse.scm 17 */
obj_t BgL_auxz00_1624;
{ /* ./SawMill/collapse.scm 17 */
obj_t BgL_auxz00_1625;
BgL_auxz00_1625 = 
(((BgL_blockz00_bglt)CREF(BgL_bz00_930))->BgL_predsz00); 
BgL_auxz00_1624 = 
CDR(BgL_auxz00_1625); } 
BgL_test3174z00_936 = 
NULLP(BgL_auxz00_1624); }  else 
{ /* ./SawMill/collapse.scm 17 */
BgL_test3174z00_936 = ((bool_t)0); } } 
if(BgL_test3174z00_936)
{ /* ./SawMill/collapse.scm 18 */
obj_t BgL_pz00_937;
{ /* ./SawMill/collapse.scm 18 */
obj_t BgL_auxz00_1630;
BgL_auxz00_1630 = 
(((BgL_blockz00_bglt)CREF(BgL_bz00_930))->BgL_predsz00); 
BgL_pz00_937 = 
CAR(BgL_auxz00_1630); } 
{ /* ./SawMill/collapse.scm 18 */
obj_t BgL_psz00_938;
{ /* ./SawMill/collapse.scm 18 */
BgL_blockz00_bglt BgL_obj3098z00_1503;
BgL_obj3098z00_1503 = 
(BgL_blockz00_bglt)(BgL_pz00_937); 
BgL_psz00_938 = 
(((BgL_blockz00_bglt)CREF(BgL_obj3098z00_1503))->BgL_succsz00); } 
{ /* ./SawMill/collapse.scm 18 */

{ /* ./SawMill/collapse.scm 19 */
bool_t BgL_test3175z00_939;
{ /* ./SawMill/collapse.scm 19 */
obj_t BgL_auxz00_1635;
BgL_auxz00_1635 = 
CDR(BgL_psz00_938); 
BgL_test3175z00_939 = 
NULLP(BgL_auxz00_1635); } 
if(BgL_test3175z00_939)
{ /* ./SawMill/collapse.scm 19 */
{ /* ./SawMill/collapse.scm 21 */
obj_t BgL_arg3177z00_940;obj_t BgL_arg3178z00_941;
{ /* ./SawMill/collapse.scm 21 */
obj_t BgL_auxz00_1639;
{ /* ./SawMill/collapse.scm 21 */
BgL_blockz00_bglt BgL_obj3101z00_1506;
BgL_obj3101z00_1506 = 
(BgL_blockz00_bglt)(BgL_pz00_937); 
BgL_auxz00_1639 = 
(((BgL_blockz00_bglt)CREF(BgL_obj3101z00_1506))->BgL_firstz00); } 
BgL_arg3177z00_940 = 
BGl_lastzd2pairzd2zz__r4_pairs_and_lists_6_3z00(BgL_auxz00_1639); } 
BgL_arg3178z00_941 = 
(((BgL_blockz00_bglt)CREF(BgL_bz00_930))->BgL_firstz00); 
SET_CDR(BgL_arg3177z00_940, BgL_arg3178z00_941); } 
{ /* ./SawMill/collapse.scm 22 */
obj_t BgL_arg3186z00_943;
BgL_arg3186z00_943 = 
(((BgL_blockz00_bglt)CREF(BgL_bz00_930))->BgL_succsz00); 
{ /* ./SawMill/collapse.scm 22 */
BgL_blockz00_bglt BgL_obj3100z00_1511;obj_t BgL_val3099z00_1512;
BgL_obj3100z00_1511 = 
(BgL_blockz00_bglt)(BgL_pz00_937); 
BgL_val3099z00_1512 = BgL_arg3186z00_943; 
((((BgL_blockz00_bglt)CREF(BgL_obj3100z00_1511))->BgL_succsz00) = ((obj_t)BgL_val3099z00_1512), BUNSPEC); } } 
{ 
obj_t BgL_l3153z00_944;
{ /* ./SawMill/collapse.scm 23 */
obj_t BgL_arg3190z00_946;
BgL_arg3190z00_946 = 
(((BgL_blockz00_bglt)CREF(BgL_bz00_930))->BgL_succsz00); 
BgL_l3153z00_944 = BgL_arg3190z00_946; 
BgL_forzd2each3154zd2_945:
{ /* ./SawMill/collapse.scm 23 */
bool_t BgL_test3193z00_947;
BgL_test3193z00_947 = 
PAIRP(BgL_l3153z00_944); 
if(BgL_test3193z00_947)
{ /* ./SawMill/collapse.scm 23 */
{ /* ./SawMill/collapse.scm 24 */
obj_t BgL_sz00_948;
BgL_sz00_948 = 
CAR(BgL_l3153z00_944); 
{ /* ./SawMill/collapse.scm 25 */
obj_t BgL_arg3195z00_950;
{ /* ./SawMill/collapse.scm 25 */
obj_t BgL_arg3198z00_951;
{ /* ./SawMill/collapse.scm 25 */
BgL_blockz00_bglt BgL_obj3095z00_1516;
BgL_obj3095z00_1516 = 
(BgL_blockz00_bglt)(BgL_sz00_948); 
BgL_arg3198z00_951 = 
(((BgL_blockz00_bglt)CREF(BgL_obj3095z00_1516))->BgL_predsz00); } 
BgL_arg3195z00_950 = 
BGl_substz00zzsaw_libz00(BgL_arg3198z00_951, 
(obj_t)(BgL_bz00_930), BgL_pz00_937); } 
{ /* ./SawMill/collapse.scm 25 */
BgL_blockz00_bglt BgL_obj3097z00_1517;obj_t BgL_val3096z00_1518;
BgL_obj3097z00_1517 = 
(BgL_blockz00_bglt)(BgL_sz00_948); 
BgL_val3096z00_1518 = BgL_arg3195z00_950; 
((((BgL_blockz00_bglt)CREF(BgL_obj3097z00_1517))->BgL_predsz00) = ((obj_t)BgL_val3096z00_1518), BUNSPEC); } } } 
{ /* ./SawMill/collapse.scm 23 */
obj_t BgL_arg3203z00_952;
BgL_arg3203z00_952 = 
CDR(BgL_l3153z00_944); 
{ 
obj_t BgL_l3153z00_1659;
BgL_l3153z00_1659 = BgL_arg3203z00_952; 
BgL_l3153z00_944 = BgL_l3153z00_1659; 
goto BgL_forzd2each3154zd2_945;} } }  else 
{ /* ./SawMill/collapse.scm 23 */((bool_t)1); } } } } }  else 
{ /* ./SawMill/collapse.scm 19 */((bool_t)0); } } } } }  else 
{ /* ./SawMill/collapse.scm 17 */((bool_t)0); } } 
{ 
obj_t BgL_l3157z00_959;
{ /* ./SawMill/collapse.scm 27 */
obj_t BgL_arg3229z00_961;
BgL_arg3229z00_961 = 
(((BgL_blockz00_bglt)CREF(BgL_bz00_930))->BgL_succsz00); 
BgL_l3157z00_959 = BgL_arg3229z00_961; 
BgL_forzd2each3158zd2_960:
{ /* ./SawMill/collapse.scm 27 */
bool_t BgL_test3232z00_962;
BgL_test3232z00_962 = 
PAIRP(BgL_l3157z00_959); 
if(BgL_test3232z00_962)
{ /* ./SawMill/collapse.scm 27 */
{ /* ./SawMill/collapse.scm 28 */
BgL_blockz00_bglt BgL_succz00_963;
{ /* ./SawMill/collapse.scm 28 */
obj_t BgL_auxz00_1663;
BgL_auxz00_1663 = 
CAR(BgL_l3157z00_959); 
BgL_succz00_963 = 
(BgL_blockz00_bglt)(BgL_auxz00_1663); } 
{ /* ./SawMill/collapse.scm 28 */
bool_t BgL_test3233z00_964;
BgL_test3233z00_964 = 
BGl_iszd2azf3z21zz__objectz00(
(obj_t)(BgL_succz00_963), BGl_collapsedz00zzsaw_collapsez00); 
if(BgL_test3233z00_964)
{ /* ./SawMill/collapse.scm 28 */((bool_t)0); }  else 
{ /* ./SawMill/collapse.scm 28 */
BGl_dfsz00zzsaw_collapsez00(BgL_succz00_963); } } } 
{ /* ./SawMill/collapse.scm 27 */
obj_t BgL_arg3238z00_965;
BgL_arg3238z00_965 = 
CDR(BgL_l3157z00_959); 
{ 
obj_t BgL_l3157z00_1671;
BgL_l3157z00_1671 = BgL_arg3238z00_965; 
BgL_l3157z00_959 = BgL_l3157z00_1671; 
goto BgL_forzd2each3158zd2_960;} } }  else 
{ /* ./SawMill/collapse.scm 27 */
return ((bool_t)1);} } } } } 
}



/* _collapse */
obj_t BGl__collapsez00zzsaw_collapsez00(obj_t BgL_envz00_1550, obj_t BgL_bz00_1551)
{ AN_OBJECT;
{ /* ./SawMill/collapse.scm 13 */
return 
BGl_collapsez00zzsaw_collapsez00(
(BgL_blockz00_bglt)(BgL_bz00_1551));} 
}



/* object-init */
obj_t BGl_objectzd2initzd2zzsaw_collapsez00()
{ AN_OBJECT;
{ /* ./SawMill/collapse.scm 1 */
{ /* ./SawMill/collapse.scm 7 */
obj_t BgL_arg3243z00_966;obj_t BgL_arg3245z00_967;obj_t BgL_arg3249z00_971;
BgL_arg3243z00_966 = 
CNST_TABLE_REF(((long)0)); 
BgL_arg3245z00_967 = BGl_blockz00zzsaw_defsz00; 
{ /* ./SawMill/collapse.scm 7 */
obj_t BgL_v3159z00_972;
{ 
int BgL_auxz00_1675;
BgL_auxz00_1675 = 
(int)(((long)0)); 
BgL_v3159z00_972 = 
create_vector(BgL_auxz00_1675); } 
BgL_arg3249z00_971 = BgL_v3159z00_972; } 
BGl_collapsedz00zzsaw_collapsez00 = 
BGl_registerzd2classz12zc0zz__objectz00(BgL_arg3243z00_966, BgL_arg3245z00_967, BFALSE, BGl_allocatezd2collapsedzd2envz00zzsaw_collapsez00, ((long)32215), BNIL, BFALSE, BgL_arg3249z00_971); } 
return BUNSPEC;} 
}



/* widening-collapsed */
BgL_collapsedz00_bglt BGl_wideningzd2collapsedzd2zzsaw_collapsez00()
{ AN_OBJECT;
{ /* ./SawMill/collapse.scm 7 */
{ /* ./SawMill/collapse.scm 7 */
BgL_collapsedz00_bglt BgL_new3120z00_973;
BgL_new3120z00_973 = 
((BgL_collapsedz00_bglt)BREF( GC_MALLOC (sizeof(struct BgL_collapsedz00_bgl)))); 
return BgL_new3120z00_973;} } 
}



/* _allocate-collapsed */
obj_t BGl__allocatezd2collapsedzd2zzsaw_collapsez00(obj_t BgL_envz00_1552)
{ AN_OBJECT;
{ /* ./SawMill/collapse.scm 7 */
{ /* ./SawMill/collapse.scm 7 */
BgL_blockz00_bglt BgL_auxz00_1680;
{ /* ./SawMill/collapse.scm 7 */
BgL_blockz00_bglt BgL_res4012z00_1580;
{ /* ./SawMill/collapse.scm 7 */
BgL_blockz00_bglt BgL_new3130z00_1576;
BgL_new3130z00_1576 = 
((BgL_blockz00_bglt)BREF( GC_MALLOC ( sizeof(struct BgL_blockz00_bgl) ))); 
{ /* ./SawMill/collapse.scm 7 */
long BgL_arg3265z00_1577;
BgL_arg3265z00_1577 = 
BGl_classzd2numzd2zz__objectz00(BGl_collapsedz00zzsaw_collapsez00); 
{ /* ./SawMill/collapse.scm 7 */
BgL_objectz00_bglt BgL_objz00_1578;
BgL_objz00_1578 = 
(BgL_objectz00_bglt)(BgL_new3130z00_1576); 
BGL_OBJECT_CLASS_NUM_SET(BgL_objz00_1578, BgL_arg3265z00_1577); } } 
{ /* ./SawMill/collapse.scm 7 */
BgL_objectz00_bglt BgL_auxz00_1685;
BgL_auxz00_1685 = 
(BgL_objectz00_bglt)(BgL_new3130z00_1576); 
BGL_OBJECT_WIDENING_SET(BgL_auxz00_1685, BFALSE); } 
{ /* ./SawMill/collapse.scm 7 */
obj_t BgL_objz00_1579;
BgL_objz00_1579 = 
(obj_t)(BgL_new3130z00_1576); 
BGL_HEAP_DEBUG_MARK_OBJ(BgL_objz00_1579); BUNSPEC; } 
BgL_res4012z00_1580 = BgL_new3130z00_1576; } 
BgL_auxz00_1680 = BgL_res4012z00_1580; } 
return 
(obj_t)(BgL_auxz00_1680);} } 
}



/* method-init */
obj_t BGl_methodzd2initzd2zzsaw_collapsez00()
{ AN_OBJECT;
{ /* ./SawMill/collapse.scm 1 */
BGl_addzd2methodz12zc0zz__objectz00(BGl_objectzd2ze3structzd2envze3zz__objectz00, BGl_collapsedz00zzsaw_collapsez00, BGl_proc3994z00zzsaw_collapsez00); 
return 
BGl_addzd2methodz12zc0zz__objectz00(BGl_structzb2objectzd2ze3objectzd2envz51zz__objectz00, BGl_collapsedz00zzsaw_collapsez00, BGl_proc3995z00zzsaw_collapsez00);} 
}



/* struct+object->object-collapsed3163 */
obj_t BGl_structzb2objectzd2ze3objectzd2collapsed3163z51zzsaw_collapsez00(obj_t BgL_envz00_1560, obj_t BgL_oz00_1561, obj_t BgL_sz00_1562)
{ AN_OBJECT;
{ /* ./SawMill/collapse.scm 7 */
{ 
BgL_collapsedz00_bglt BgL_oz00_1482;obj_t BgL_sz00_1483;
{ /* ./SawMill/collapse.scm 7 */
BgL_collapsedz00_bglt BgL_auxz00_1693;
BgL_oz00_1482 = 
(BgL_collapsedz00_bglt)(BgL_oz00_1561); 
BgL_sz00_1483 = BgL_sz00_1562; 
{ 

{ /* ./SawMill/collapse.scm 7 */
obj_t BgL_old3134z00_1486;
{ /* ./SawMill/collapse.scm 7 */
obj_t BgL_nextzd2method3162zd2_1491;
BgL_nextzd2method3162zd2_1491 = 
BGl_findzd2superzd2classzd2methodzd2zz__objectz00(
(BgL_objectz00_bglt)(BgL_oz00_1482), BGl_structzb2objectzd2ze3objectzd2envz51zz__objectz00, BGl_collapsedz00zzsaw_collapsez00); 
{ /* ./SawMill/collapse.scm 7 */
bool_t BgL_test3935z00_1492;
BgL_test3935z00_1492 = 
PROCEDUREP(BgL_nextzd2method3162zd2_1491); 
if(BgL_test3935z00_1492)
{ /* ./SawMill/collapse.scm 7 */
BgL_old3134z00_1486 = 
PROCEDURE_ENTRY(BgL_nextzd2method3162zd2_1491)(BgL_nextzd2method3162zd2_1491, 
(obj_t)(BgL_oz00_1482), BgL_sz00_1483, BEOA); }  else 
{ /* ./SawMill/collapse.scm 7 */
{ /* ./SawMill/collapse.scm 7 */
BgL_objectz00_bglt BgL_auxz00_1701;
BgL_auxz00_1701 = 
BGl_structzb2objectzd2ze3objectz83zz__objectz00(
(BgL_objectz00_bglt)(BgL_oz00_1482), BgL_sz00_1483); 
BgL_old3134z00_1486 = 
(obj_t)(BgL_auxz00_1701); } } } } 
{ /* ./SawMill/collapse.scm 7 */
BgL_collapsedz00_bglt BgL_new3136z00_1488;
BgL_new3136z00_1488 = 
((BgL_collapsedz00_bglt)(BgL_old3134z00_1486)); 
{ /* ./SawMill/collapse.scm 7 */
long BgL_arg3925z00_1489;
BgL_arg3925z00_1489 = 
BGl_classzd2numzd2zz__objectz00(BGl_collapsedz00zzsaw_collapsez00); 
{ /* ./SawMill/collapse.scm 7 */
BgL_objectz00_bglt BgL_objz00_1546;
BgL_objz00_1546 = 
(BgL_objectz00_bglt)(BgL_new3136z00_1488); 
BGL_OBJECT_CLASS_NUM_SET(BgL_objz00_1546, BgL_arg3925z00_1489); } } 
{ /* ./SawMill/collapse.scm 7 */
BgL_collapsedz00_bglt BgL_arg3929z00_1490;
BgL_arg3929z00_1490 = 
BGl_wideningzd2collapsedzd2zzsaw_collapsez00(); 
{ /* ./SawMill/collapse.scm 7 */
obj_t BgL_auxz00_1712;BgL_objectz00_bglt BgL_auxz00_1710;
BgL_auxz00_1712 = 
(obj_t)(BgL_arg3929z00_1490); 
BgL_auxz00_1710 = 
(BgL_objectz00_bglt)(BgL_new3136z00_1488); 
BGL_OBJECT_WIDENING_SET(BgL_auxz00_1710, BgL_auxz00_1712); } } 
{ /* ./SawMill/collapse.scm 7 */
obj_t BgL_objz00_1548;
BgL_objz00_1548 = 
(obj_t)(BgL_new3136z00_1488); 
BGL_HEAP_DEBUG_MARK_OBJ(BgL_objz00_1548); BUNSPEC; } 
BgL_auxz00_1693 = BgL_new3136z00_1488; } } } 
return 
(obj_t)(BgL_auxz00_1693);} } } 
}



/* object->struct-collapsed3161 */
obj_t BGl_objectzd2ze3structzd2collapsed3161ze3zzsaw_collapsez00(obj_t BgL_envz00_1563, obj_t BgL_obj3131z00_1564)
{ AN_OBJECT;
{ /* ./SawMill/collapse.scm 7 */
{ 
BgL_collapsedz00_bglt BgL_obj3131z00_1474;
BgL_obj3131z00_1474 = 
(BgL_collapsedz00_bglt)(BgL_obj3131z00_1564); 
{ 

{ /* ./SawMill/collapse.scm 7 */
obj_t BgL_res3132z00_1477;
{ /* ./SawMill/collapse.scm 7 */
obj_t BgL_nextzd2method3160zd2_1480;
BgL_nextzd2method3160zd2_1480 = 
BGl_findzd2superzd2classzd2methodzd2zz__objectz00(
(BgL_objectz00_bglt)(BgL_obj3131z00_1474), BGl_objectzd2ze3structzd2envze3zz__objectz00, BGl_collapsedz00zzsaw_collapsez00); 
{ /* ./SawMill/collapse.scm 7 */
bool_t BgL_test3918z00_1481;
BgL_test3918z00_1481 = 
PROCEDUREP(BgL_nextzd2method3160zd2_1480); 
if(BgL_test3918z00_1481)
{ /* ./SawMill/collapse.scm 7 */
BgL_res3132z00_1477 = 
PROCEDURE_ENTRY(BgL_nextzd2method3160zd2_1480)(BgL_nextzd2method3160zd2_1480, 
(obj_t)(BgL_obj3131z00_1474), BEOA); }  else 
{ /* ./SawMill/collapse.scm 7 */
BgL_res3132z00_1477 = 
BGl_objectzd2ze3structz31zz__objectz00(
(BgL_objectz00_bglt)(BgL_obj3131z00_1474)); } } } 
{ /* ./SawMill/collapse.scm 7 */
obj_t BgL_aux3133z00_1478;
{ /* ./SawMill/collapse.scm 7 */
obj_t BgL_keyz00_1531;int BgL_lenz00_1532;
BgL_keyz00_1531 = 
CNST_TABLE_REF(((long)0)); 
BgL_lenz00_1532 = 
(int)(((long)0)); 
BgL_aux3133z00_1478 = 
make_struct(BgL_keyz00_1531, BgL_lenz00_1532, BUNSPEC); } 
{ /* ./SawMill/collapse.scm 7 */
int BgL_kz00_1535;
BgL_kz00_1535 = 
(int)(((long)0)); 
STRUCT_SET(BgL_res3132z00_1477, BgL_kz00_1535, BgL_aux3133z00_1478); } 
{ /* ./SawMill/collapse.scm 7 */
obj_t BgL_arg3912z00_1479;
BgL_arg3912z00_1479 = 
STRUCT_KEY(BgL_res3132z00_1477); 
STRUCT_KEY_SET(BgL_aux3133z00_1478, BgL_arg3912z00_1479); } 
{ /* ./SawMill/collapse.scm 7 */
obj_t BgL_kz00_1542;
BgL_kz00_1542 = 
CNST_TABLE_REF(((long)0)); 
STRUCT_KEY_SET(BgL_res3132z00_1477, BgL_kz00_1542); } 
return BgL_res3132z00_1477;} } } } } 
}



/* imported-modules-init */
obj_t BGl_importedzd2moduleszd2initz00zzsaw_collapsez00()
{ AN_OBJECT;
{ /* ./SawMill/collapse.scm 1 */
BGl_modulezd2initializa7ationz75zztype_typez00(((long)19090), "saw_collapse"); 
BGl_modulezd2initializa7ationz75zzast_varz00(((long)44246), "saw_collapse"); 
BGl_modulezd2initializa7ationz75zzast_nodez00(((long)50868), "saw_collapse"); 
BGl_modulezd2initializa7ationz75zzsaw_libz00(((long)22284), "saw_collapse"); 
return 
BGl_modulezd2initializa7ationz75zzsaw_defsz00(((long)12736), "saw_collapse");} 
}

