/*===========================================================================*/
/*   (Cfa/set.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 Cfa/set.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_approxz00_bgl {
   header_t header;
   obj_t widening;
   struct BgL_typez00_bgl * BgL_typez00;
   bool_t BgL_typezd2lockedzf3z21;
   obj_t BgL_allocsz00;
   bool_t BgL_topzf3zf3;
   long BgL_lostzd2stampzd2;
} *BgL_approxz00_bglt;

typedef struct BgL_cfunzf2cinfozf2_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
} *BgL_cfunzf2cinfozf2_bglt;

typedef struct BgL_externzd2sfunzf2cinfoz20_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
} *BgL_externzd2sfunzf2cinfoz20_bglt;

typedef struct BgL_internzd2sfunzf2cinfoz20_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
   long BgL_stampz00;
} *BgL_internzd2sfunzf2cinfoz20_bglt;

typedef struct BgL_scnstzf2cinfozf2_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
} *BgL_scnstzf2cinfozf2_bglt;

typedef struct BgL_prezd2clozd2envz00_bgl {
   char dummy;
} *BgL_prezd2clozd2envz00_bglt;

typedef struct BgL_svarzf2cinfozf2_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
   bool_t BgL_clozd2envzf3z21;
} *BgL_svarzf2cinfozf2_bglt;

typedef struct BgL_cvarzf2cinfozf2_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
} *BgL_cvarzf2cinfozf2_bglt;

typedef struct BgL_sexitzf2cinfozf2_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
} *BgL_sexitzf2cinfozf2_bglt;

typedef struct BgL_reshapedzd2localzd2_bgl {
   obj_t BgL_bindingzd2valuezd2;
} *BgL_reshapedzd2localzd2_bglt;

typedef struct BgL_reshapedzd2globalzd2_bgl {
   char dummy;
} *BgL_reshapedzd2globalzd2_bglt;

typedef struct BgL_atomzf2cinfozf2_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
} *BgL_atomzf2cinfozf2_bglt;

typedef struct BgL_kwotezf2nodezf2_bgl {
   struct BgL_nodez00_bgl * BgL_nodez00;
} *BgL_kwotezf2nodezf2_bglt;

typedef struct BgL_kwotezf2cinfozf2_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
} *BgL_kwotezf2cinfozf2_bglt;

typedef struct BgL_appzd2lyzf2cinfoz20_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
} *BgL_appzd2lyzf2cinfoz20_bglt;

typedef struct BgL_funcallzf2cinfozf2_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
   struct BgL_approxz00_bgl * BgL_vazd2approxzd2;
   bool_t BgL_arityzd2errorzd2noticedzf3zf3;
   bool_t BgL_typezd2errorzd2noticedzf3zf3;
} *BgL_funcallzf2cinfozf2_bglt;

typedef struct BgL_setqzf2cinfozf2_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
} *BgL_setqzf2cinfozf2_bglt;

typedef struct BgL_conditionalzf2cinfozf2_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
} *BgL_conditionalzf2cinfozf2_bglt;

typedef struct BgL_failzf2cinfozf2_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
} *BgL_failzf2cinfozf2_bglt;

typedef struct BgL_selectzf2cinfozf2_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
} *BgL_selectzf2cinfozf2_bglt;

typedef struct BgL_setzd2exzd2itzf2cinfozf2_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
} *BgL_setzd2exzd2itzf2cinfozf2_bglt;

typedef struct BgL_jumpzd2exzd2itzf2cinfozf2_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
} *BgL_jumpzd2exzd2itzf2cinfozf2_bglt;

typedef struct BgL_prezd2makezd2boxz00_bgl {
   char dummy;
} *BgL_prezd2makezd2boxz00_bglt;

typedef struct BgL_makezd2boxzf2cinfoz20_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
} *BgL_makezd2boxzf2cinfoz20_bglt;

typedef struct BgL_makezd2boxzf2ozd2cinfozf2_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
   struct BgL_approxz00_bgl * BgL_valuezd2approxzd2;
} *BgL_makezd2boxzf2ozd2cinfozf2_bglt;

typedef struct BgL_boxzd2setz12zf2cinfoz32_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
} *BgL_boxzd2setz12zf2cinfoz32_bglt;

typedef struct BgL_boxzd2refzf2cinfoz20_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
} *BgL_boxzd2refzf2cinfoz20_bglt;

typedef struct BgL_boxzd2setz12zf2ozd2cinfoze0_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
} *BgL_boxzd2setz12zf2ozd2cinfoze0_bglt;

typedef struct BgL_boxzd2refzf2ozd2cinfozf2_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
} *BgL_boxzd2refzf2ozd2cinfozf2_bglt;

typedef struct BgL_prezd2arithmeticzd2appz00_bgl {
   obj_t BgL_speczd2typeszd2;
} *BgL_prezd2arithmeticzd2appz00_bglt;

typedef struct BgL_arithmeticzd2appzd2_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
   obj_t BgL_speczd2typeszd2;
} *BgL_arithmeticzd2appzd2_bglt;

typedef struct BgL_prezd2makezd2procedurezd2appzd2_bgl {
   struct BgL_variablez00_bgl * BgL_ownerz00;
} *BgL_prezd2makezd2procedurezd2appzd2_bglt;

typedef struct BgL_prezd2procedurezd2refzd2appzd2_bgl {
   char dummy;
} *BgL_prezd2procedurezd2refzd2appzd2_bglt;

typedef struct BgL_prezd2procedurezd2setz12zd2appzc0_bgl {
   char dummy;
} *BgL_prezd2procedurezd2setz12zd2appzc0_bglt;

typedef struct BgL_makezd2procedurezd2appz00_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
   obj_t BgL_valueszd2approxzd2;
   long BgL_lostzd2stampzd2;
   bool_t BgL_xzd2tzf3z21;
   bool_t BgL_xz00;
   bool_t BgL_tz00;
   struct BgL_variablez00_bgl * BgL_ownerz00;
   obj_t BgL_stackzd2stampzd2;
} *BgL_makezd2procedurezd2appz00_bglt;

typedef struct BgL_procedurezd2refzd2appz00_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
} *BgL_procedurezd2refzd2appz00_bglt;

typedef struct BgL_procedurezd2setz12zd2appz12_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
} *BgL_procedurezd2setz12zd2appz12_bglt;

typedef struct BgL_prezd2makezd2vectorzd2appzd2_bgl {
   struct BgL_variablez00_bgl * BgL_ownerz00;
} *BgL_prezd2makezd2vectorzd2appzd2_bglt;

typedef struct BgL_makezd2vectorzd2appz00_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
   struct BgL_approxz00_bgl * BgL_valuezd2approxzd2;
   long BgL_lostzd2stampzd2;
   struct BgL_variablez00_bgl * BgL_ownerz00;
   obj_t BgL_stackzd2stampzd2;
   bool_t BgL_seenzf3zf3;
} *BgL_makezd2vectorzd2appz00_bglt;

typedef struct BgL_prezd2makezd2structzd2appzd2_bgl {
   struct BgL_variablez00_bgl * BgL_ownerz00;
} *BgL_prezd2makezd2structzd2appzd2_bglt;

typedef struct BgL_prezd2structzd2refzd2appzd2_bgl {
   char dummy;
} *BgL_prezd2structzd2refzd2appzd2_bglt;

typedef struct BgL_prezd2structzd2setz12zd2appzc0_bgl {
   char dummy;
} *BgL_prezd2structzd2setz12zd2appzc0_bglt;

typedef struct BgL_makezd2structzd2appz00_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
   struct BgL_approxz00_bgl * BgL_valuezd2approxzd2;
   long BgL_lostzd2stampzd2;
   struct BgL_variablez00_bgl * BgL_ownerz00;
   obj_t BgL_stackzd2stampzd2;
} *BgL_makezd2structzd2appz00_bglt;

typedef struct BgL_structzd2refzd2appz00_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
} *BgL_structzd2refzd2appz00_bglt;

typedef struct BgL_structzd2setz12zd2appz12_bgl {
   struct BgL_approxz00_bgl * BgL_approxz00;
} *BgL_structzd2setz12zd2appz12_bglt;


static obj_t BGl__setzd2unionz12zc0zzcfa_setz00(obj_t, obj_t, obj_t);
static obj_t BGl_methodzd2initzd2zzcfa_setz00();
static obj_t BGl__declarezd2setz12zc0zzcfa_setz00(obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_setzd2ze3listz31zzcfa_setz00(obj_t);
BGL_IMPORT obj_t open_input_string(obj_t);
static obj_t BGl_setzd2unionzd22z12z12zzcfa_setz00(obj_t, obj_t);
BGL_IMPORT obj_t BGl_readz00zz__readerz00(obj_t);
BGL_EXPORTED_DECL obj_t BGl_setzd2ze3vectorz31zzcfa_setz00(obj_t);
static long BGl_maxzd2largezd2siza7eza7zzcfa_setz00;
static obj_t BGl__setzd2extendz12zc0zzcfa_setz00(obj_t, obj_t, obj_t);
static obj_t BGl__setzd2forzd2eachz00zzcfa_setz00(obj_t, obj_t, obj_t);
static obj_t BGl_cnstzd2initzd2zzcfa_setz00();
BGL_EXPORTED_DECL obj_t BGl_setzd2lengthzd2zzcfa_setz00(obj_t);
BGL_EXPORTED_DECL obj_t BGl_setzd2forzd2eachz00zzcfa_setz00(obj_t, obj_t);
static obj_t BGl_importedzd2moduleszd2initz00zzcfa_setz00();
static obj_t BGl__setzd2ze3listz31zzcfa_setz00(obj_t, obj_t);
static obj_t BGl_toplevelzd2initzd2zzcfa_setz00();
BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zzcfa_setz00(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_modulezd2initializa7ationz75zzcfa_infoz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzcfa_info2z00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_shapez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_errorz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzcfa_approxz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__readerz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_vectors_6_8z00(long, char *);
BGL_EXPORTED_DECL obj_t BGl_setzd2extendz12zc0zzcfa_setz00(obj_t, obj_t);
BGL_IMPORT obj_t make_string(int, unsigned char);
static obj_t BGl__setzd2lengthzd2zzcfa_setz00(obj_t, obj_t);
extern obj_t BGl_shapez00zztools_shapez00(obj_t);
static obj_t BGl__setzf3zf3zzcfa_setz00(obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_setzd2unionz12zc0zzcfa_setz00(obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_makezd2setz12zc0zzcfa_setz00(obj_t);
extern obj_t BGl_internalzd2errorzd2zztools_errorz00(obj_t, obj_t, obj_t);
static obj_t BGl__makezd2setz12zc0zzcfa_setz00(obj_t, obj_t);
BGL_IMPORT obj_t create_struct(obj_t, int);
static obj_t BGl__setzd2ze3vectorz31zzcfa_setz00(obj_t, obj_t);
static obj_t BGl_requirezd2initializa7ationz75zzcfa_setz00 = BUNSPEC;
BGL_EXPORTED_DECL obj_t BGl_declarezd2setz12zc0zzcfa_setz00(obj_t);
BGL_IMPORT obj_t BGl_listzd2ze3vectorz31zz__r4_vectors_6_8z00(obj_t);
BGL_EXPORTED_DECL bool_t BGl_setzf3zf3zzcfa_setz00(obj_t);
static obj_t BGl_libraryzd2moduleszd2initz00zzcfa_setz00();
static obj_t __cnst[ 2 ] ;


DEFINE_EXPORT_PROCEDURE( BGl_setzd2lengthzd2envz00zzcfa_setz00, BgL_bgl__setza7d2lengthza7d2za7za7cfa_setza7005244za7, BGl__setzd2lengthzd2zzcfa_setz00, 0L, 1 );
DEFINE_EXPORT_PROCEDURE( BGl_setzd2ze3vectorzd2envze3zzcfa_setz00, BgL_bgl__setza7d2za7e3vectorza731za7za7cfa_setza7005245z00, BGl__setzd2ze3vectorz31zzcfa_setz00, 0L, 1 );
DEFINE_EXPORT_PROCEDURE( BGl_setzd2ze3listzd2envze3zzcfa_setz00, BgL_bgl__setza7d2za7e3listza731za7za7cfa_setza7005246z00, BGl__setzd2ze3listz31zzcfa_setz00, 0L, 1 );
DEFINE_EXPORT_PROCEDURE( BGl_setzd2extendz12zd2envz12zzcfa_setz00, BgL_bgl__setza7d2extendza712za7c0za7za7cfa_setza7005247z00, BGl__setzd2extendz12zc0zzcfa_setz00, 0L, 2 );
DEFINE_EXPORT_PROCEDURE( BGl_makezd2setz12zd2envz12zzcfa_setz00, BgL_bgl__makeza7d2setza712za7c0za7za7cfa_setza7005248z00, BGl__makezd2setz12zc0zzcfa_setz00, 0L, 1 );
DEFINE_EXPORT_PROCEDURE( BGl_setzf3zd2envz21zzcfa_setz00, BgL_bgl__setza7f3za7f3za7za7cfa_setza7005249za7, BGl__setzf3zf3zzcfa_setz00, 0L, 1 );
DEFINE_EXPORT_PROCEDURE( BGl_declarezd2setz12zd2envz12zzcfa_setz00, BgL_bgl__declareza7d2setza712za7c0za7za7cfa_setza7005250z00, BGl__declarezd2setz12zc0zzcfa_setz00, 0L, 1 );
DEFINE_EXPORT_PROCEDURE( BGl_setzd2unionz12zd2envz12zzcfa_setz00, BgL_bgl__setza7d2unionza712za7c0za7za7cfa_setza7005251z00, va_generic_entry, BGl__setzd2unionz12zc0zzcfa_setz00, -2 );
DEFINE_EXPORT_PROCEDURE( BGl_setzd2forzd2eachzd2envzd2zzcfa_setz00, BgL_bgl__setza7d2forza7d2eachza700za7za7cfa_setza7005252z00, BGl__setzd2forzd2eachz00zzcfa_setz00, 0L, 2 );
DEFINE_STRING( BGl_string5218z00zzcfa_setz00, BgL_bgl_string5218za700za7za7cfa_setza7005253z00, "large-set meta-set ", 19 );
DEFINE_STRING( BGl_string5217z00zzcfa_setz00, BgL_bgl_string5217za700za7za7cfa_setza7005254z00, "Incompatible sets", 17 );
DEFINE_STRING( BGl_string5216z00zzcfa_setz00, BgL_bgl_string5216za700za7za7cfa_setza7005255z00, "set-union!", 10 );
DEFINE_STRING( BGl_string5215z00zzcfa_setz00, BgL_bgl_string5215za700za7za7cfa_setza7005256z00, "Not a meta-set", 14 );
DEFINE_STRING( BGl_string5214z00zzcfa_setz00, BgL_bgl_string5214za700za7za7cfa_setza7005257z00, "make-set", 8 );
DEFINE_STRING( BGl_string5213z00zzcfa_setz00, BgL_bgl_string5213za700za7za7cfa_setza7005258z00, "Too many element in set", 23 );
DEFINE_STRING( BGl_string5212z00zzcfa_setz00, BgL_bgl_string5212za700za7za7cfa_setza7005259z00, "define-set!", 11 );



/* module-initialization */
BGL_EXPORTED_DEF obj_t BGl_modulezd2initializa7ationz75zzcfa_setz00(long BgL_checksumz00_1996, char * BgL_fromz00_1997)
{ AN_OBJECT;
{ 
if(
CBOOL(BGl_requirezd2initializa7ationz75zzcfa_setz00))
{ 
BGl_requirezd2initializa7ationz75zzcfa_setz00 = 
BBOOL(((bool_t)0)); 
BGl_libraryzd2moduleszd2initz00zzcfa_setz00(); 
BGl_cnstzd2initzd2zzcfa_setz00(); 
BGl_importedzd2moduleszd2initz00zzcfa_setz00(); 
BGl_toplevelzd2initzd2zzcfa_setz00(); 
return BUNSPEC;}  else 
{ 
return BUNSPEC;} } 
}



/* library-modules-init */
obj_t BGl_libraryzd2moduleszd2initz00zzcfa_setz00()
{ AN_OBJECT;
{ /* ./Cfa/set.scm 15 */
BGl_modulezd2initializa7ationz75zz__readerz00(((long)0), "cfa_set"); 
BGl_modulezd2initializa7ationz75zz__r4_vectors_6_8z00(((long)0), "cfa_set"); 
return BUNSPEC;} 
}



/* cnst-init */
obj_t BGl_cnstzd2initzd2zzcfa_setz00()
{ AN_OBJECT;
{ /* ./Cfa/set.scm 15 */
{ /* ./Cfa/set.scm 15 */
obj_t BgL_cportz00_1989;
BgL_cportz00_1989 = 
open_input_string(BGl_string5218z00zzcfa_setz00); 
{ 
long BgL_iz00_1990;
BgL_iz00_1990 = ((long)1); 
BgL_loopz00_1991:
{ /* ./Cfa/set.scm 15 */
bool_t BgL_test5220z00_1992;
BgL_test5220z00_1992 = 
(BgL_iz00_1990==((long)-1)); 
if(BgL_test5220z00_1992)
{ /* ./Cfa/set.scm 15 */
return BUNSPEC;}  else 
{ /* ./Cfa/set.scm 15 */
{ /* ./Cfa/set.scm 15 */
obj_t BgL_arg5222z00_1993;
{ /* ./Cfa/set.scm 15 */
obj_t BgL_list5225z00_1994;
BgL_list5225z00_1994 = 
MAKE_PAIR(BgL_cportz00_1989, BNIL); 
BgL_arg5222z00_1993 = 
BGl_readz00zz__readerz00(BgL_list5225z00_1994); } 
{ /* ./Cfa/set.scm 15 */
int BgL_auxz00_2012;
BgL_auxz00_2012 = 
(int)(BgL_iz00_1990); 
CNST_TABLE_SET(BgL_auxz00_2012, BgL_arg5222z00_1993); } } 
{ /* ./Cfa/set.scm 15 */
int BgL_auxz00_1995;
{ /* ./Cfa/set.scm 15 */
long BgL_auxz00_2015;
BgL_auxz00_2015 = 
(BgL_iz00_1990-((long)1)); 
BgL_auxz00_1995 = 
(int)(BgL_auxz00_2015); } 
{ 
long BgL_iz00_2018;
BgL_iz00_2018 = 
(long)(BgL_auxz00_1995); 
BgL_iz00_1990 = BgL_iz00_2018; 
goto BgL_loopz00_1991;} } } } } } } 
}



/* toplevel-init */
obj_t BGl_toplevelzd2initzd2zzcfa_setz00()
{ AN_OBJECT;
{ /* ./Cfa/set.scm 15 */
return ( 
BGl_maxzd2largezd2siza7eza7zzcfa_setz00 = ((long)10000), BUNSPEC) ;} 
}



/* declare-set! */
BGL_EXPORTED_DEF obj_t BGl_declarezd2setz12zc0zzcfa_setz00(obj_t BgL_tablez00_21)
{ AN_OBJECT;
{ /* ./Cfa/set.scm 49 */
{ /* ./Cfa/set.scm 50 */
int BgL_cardinalz00_981;
BgL_cardinalz00_981 = 
VECTOR_LENGTH(BgL_tablez00_21); 
{ /* ./Cfa/set.scm 50 */
long BgL_quotientz00_982;
{ /* ./Cfa/set.scm 51 */
long BgL_n1z00_1687;
BgL_n1z00_1687 = 
(long)(BgL_cardinalz00_981); 
BgL_quotientz00_982 = 
(BgL_n1z00_1687/((long)8)); } 
{ /* ./Cfa/set.scm 51 */
long BgL_remainderz00_983;
{ /* ./Cfa/set.scm 52 */
long BgL_n1z00_1689;
BgL_n1z00_1689 = 
(long)(BgL_cardinalz00_981); 
BgL_remainderz00_983 = 
(BgL_n1z00_1689%((long)8)); } 
{ /* ./Cfa/set.scm 52 */
long BgL_siza7eza7_984;
if(
(BgL_remainderz00_983==((long)0)))
{ /* ./Cfa/set.scm 54 */
BgL_siza7eza7_984 = 
(BgL_quotientz00_982+((long)1)); }  else 
{ /* ./Cfa/set.scm 54 */
BgL_siza7eza7_984 = 
(BgL_quotientz00_982+((long)2)); } 
{ /* ./Cfa/set.scm 53 */

{ /* ./Cfa/set.scm 59 */
bool_t BgL_test4144z00_985;
{ /* ./Cfa/set.scm 59 */
long BgL_auxz00_2029;
BgL_auxz00_2029 = 
(long)(BgL_cardinalz00_981); 
BgL_test4144z00_985 = 
(BgL_auxz00_2029>=((long)10000)); } 
if(BgL_test4144z00_985)
{ /* ./Cfa/set.scm 59 */
{ /* ./Cfa/set.scm 60 */
obj_t BgL_arg4148z00_988;
BgL_arg4148z00_988 = 
BGl_shapez00zztools_shapez00(BgL_tablez00_21); 
return 
BGl_internalzd2errorzd2zztools_errorz00(BGl_string5212z00zzcfa_setz00, BGl_string5213z00zzcfa_setz00, BgL_arg4148z00_988);} }  else 
{ /* ./Cfa/set.scm 59 */
{ 
long BgL_iz00_989;long BgL_quotientz00_990;long BgL_maskz00_991;
BgL_iz00_989 = ((long)0); 
BgL_quotientz00_990 = ((long)0); 
BgL_maskz00_991 = ((long)1); 
BgL_loopz00_992:
{ /* ./Cfa/set.scm 68 */
bool_t BgL_test4152z00_993;
{ /* ./Cfa/set.scm 68 */
long BgL_auxz00_2035;
BgL_auxz00_2035 = 
(long)(BgL_cardinalz00_981); 
BgL_test4152z00_993 = 
(BgL_iz00_989==BgL_auxz00_2035); } 
if(BgL_test4152z00_993)
{ /* ./Cfa/set.scm 68 */
{ /* ./Cfa/set.scm 69 */
obj_t BgL_newz00_1703;
{ /* ./Cfa/set.scm 69 */
int BgL_auxz00_2041;obj_t BgL_auxz00_2039;
BgL_auxz00_2041 = 
(int)(((long)2)); 
BgL_auxz00_2039 = 
CNST_TABLE_REF(((long)0)); 
BgL_newz00_1703 = 
create_struct(BgL_auxz00_2039, BgL_auxz00_2041); } 
{ /* ./Cfa/set.scm 69 */
int BgL_kz00_1707;obj_t BgL_oz00_1708;
BgL_kz00_1707 = 
(int)(((long)1)); 
BgL_oz00_1708 = 
BINT(BgL_siza7eza7_984); 
STRUCT_SET(BgL_newz00_1703, BgL_kz00_1707, BgL_oz00_1708); } 
{ /* ./Cfa/set.scm 69 */
int BgL_kz00_1712;
BgL_kz00_1712 = 
(int)(((long)0)); 
STRUCT_SET(BgL_newz00_1703, BgL_kz00_1712, BgL_tablez00_21); } 
return BgL_newz00_1703;} }  else 
{ /* ./Cfa/set.scm 70 */
bool_t BgL_test4154z00_994;
BgL_test4154z00_994 = 
(BgL_maskz00_991==((long)256)); 
if(BgL_test4154z00_994)
{ /* ./Cfa/set.scm 70 */
{ /* ./Cfa/set.scm 71 */
long BgL_arg4156z00_995;
BgL_arg4156z00_995 = 
(BgL_quotientz00_990+((long)1)); 
{ 
long BgL_maskz00_2053;long BgL_quotientz00_2052;
BgL_quotientz00_2052 = BgL_arg4156z00_995; 
BgL_maskz00_2053 = ((long)1); 
BgL_maskz00_991 = BgL_maskz00_2053; 
BgL_quotientz00_990 = BgL_quotientz00_2052; 
goto BgL_loopz00_992;} } }  else 
{ /* ./Cfa/set.scm 70 */
{ /* ./Cfa/set.scm 73 */
obj_t BgL_arg4161z00_997;obj_t BgL_arg4162z00_998;
{ /* ./Cfa/set.scm 73 */
int BgL_kz00_1719;
BgL_kz00_1719 = 
(int)(BgL_iz00_989); 
BgL_arg4161z00_997 = 
VECTOR_REF(BgL_tablez00_21,BgL_kz00_1719); } 
{ /* ./Cfa/set.scm 73 */
obj_t BgL_auxz00_2058;obj_t BgL_auxz00_2056;
BgL_auxz00_2058 = 
BINT(BgL_maskz00_991); 
BgL_auxz00_2056 = 
BINT(BgL_quotientz00_990); 
BgL_arg4162z00_998 = 
MAKE_PAIR(BgL_auxz00_2056, BgL_auxz00_2058); } 
{ /* ./Cfa/set.scm 73 */
BgL_nodezf2effectzf2_bglt BgL_nodez00_1720;
BgL_nodez00_1720 = 
(BgL_nodezf2effectzf2_bglt)(BgL_arg4161z00_997); 
{ /* ./Cfa/set.scm 73 */
BgL_nodezf2effectzf2_bglt BgL_obj1583z00_1722;obj_t BgL_val1582z00_1723;
BgL_obj1583z00_1722 = BgL_nodez00_1720; 
BgL_val1582z00_1723 = BgL_arg4162z00_998; 
((((BgL_nodezf2effectzf2_bglt)CREF(BgL_obj1583z00_1722))->BgL_keyz00) = ((obj_t)BgL_val1582z00_1723), BUNSPEC); } } } 
{ /* ./Cfa/set.scm 74 */
long BgL_arg4167z00_999;long BgL_arg4168z00_1000;
BgL_arg4167z00_999 = 
(BgL_iz00_989+((long)1)); 
BgL_arg4168z00_1000 = 
(BgL_maskz00_991*((long)2)); 
{ 
long BgL_maskz00_2066;long BgL_iz00_2065;
BgL_iz00_2065 = BgL_arg4167z00_999; 
BgL_maskz00_2066 = BgL_arg4168z00_1000; 
BgL_maskz00_991 = BgL_maskz00_2066; 
BgL_iz00_989 = BgL_iz00_2065; 
goto BgL_loopz00_992;} } } } } } } } } } } } } } 
}



/* _declare-set! */
obj_t BGl__declarezd2setz12zc0zzcfa_setz00(obj_t BgL_envz00_1966, obj_t BgL_tablez00_1967)
{ AN_OBJECT;
{ /* ./Cfa/set.scm 49 */
return 
BGl_declarezd2setz12zc0zzcfa_setz00(BgL_tablez00_1967);} 
}



/* make-set! */
BGL_EXPORTED_DEF obj_t BGl_makezd2setz12zc0zzcfa_setz00(obj_t BgL_metazd2setzd2_22)
{ AN_OBJECT;
{ /* ./Cfa/set.scm 79 */
{ /* ./Cfa/set.scm 81 */
bool_t BgL_test4182z00_1002;
if(
STRUCTP(BgL_metazd2setzd2_22))
{ /* ./Cfa/set.scm 81 */
obj_t BgL_auxz00_2072;obj_t BgL_auxz00_2070;
BgL_auxz00_2072 = 
CNST_TABLE_REF(((long)0)); 
BgL_auxz00_2070 = 
STRUCT_KEY(BgL_metazd2setzd2_22); 
BgL_test4182z00_1002 = 
(BgL_auxz00_2070==BgL_auxz00_2072); }  else 
{ /* ./Cfa/set.scm 81 */
BgL_test4182z00_1002 = ((bool_t)0); } 
if(BgL_test4182z00_1002)
{ /* ./Cfa/set.scm 81 */
{ /* ./Cfa/set.scm 84 */
obj_t BgL_arg4184z00_1003;
{ /* ./Cfa/set.scm 84 */
obj_t BgL_arg4187z00_1004;
{ /* ./Cfa/set.scm 84 */
int BgL_auxz00_2076;
BgL_auxz00_2076 = 
(int)(((long)1)); 
BgL_arg4187z00_1004 = 
STRUCT_REF(BgL_metazd2setzd2_22, BgL_auxz00_2076); } 
{ /* ./Cfa/set.scm 84 */
obj_t BgL_list4189z00_1005;
{ /* ./Cfa/set.scm 84 */
obj_t BgL_auxz00_2079;
BgL_auxz00_2079 = 
BCHAR(((unsigned char)'\000')); 
BgL_list4189z00_1005 = 
MAKE_PAIR(BgL_auxz00_2079, BNIL); } 
{ /* ./Cfa/set.scm 84 */
obj_t BgL_res5128z00_1744;
{ /* ./Cfa/set.scm 84 */
int BgL_kz00_1738;
BgL_kz00_1738 = 
CINT(BgL_arg4187z00_1004); 
{ /* ./Cfa/set.scm 84 */
obj_t BgL_arg1236z00_1741;
BgL_arg1236z00_1741 = 
CAR(BgL_list4189z00_1005); 
{ /* ./Cfa/set.scm 84 */
unsigned char BgL_auxz00_2084;
BgL_auxz00_2084 = 
(unsigned char)CCHAR(BgL_arg1236z00_1741); 
BgL_res5128z00_1744 = 
make_string(BgL_kz00_1738, BgL_auxz00_2084); } } } 
BgL_arg4184z00_1003 = BgL_res5128z00_1744; } } } 
{ /* ./Cfa/set.scm 84 */
obj_t BgL_newz00_1747;
{ /* ./Cfa/set.scm 84 */
int BgL_auxz00_2089;obj_t BgL_auxz00_2087;
BgL_auxz00_2089 = 
(int)(((long)2)); 
BgL_auxz00_2087 = 
CNST_TABLE_REF(((long)1)); 
BgL_newz00_1747 = 
create_struct(BgL_auxz00_2087, BgL_auxz00_2089); } 
{ /* ./Cfa/set.scm 84 */
int BgL_kz00_1751;
BgL_kz00_1751 = 
(int)(((long)1)); 
STRUCT_SET(BgL_newz00_1747, BgL_kz00_1751, BgL_metazd2setzd2_22); } 
{ /* ./Cfa/set.scm 84 */
int BgL_kz00_1756;
BgL_kz00_1756 = 
(int)(((long)0)); 
STRUCT_SET(BgL_newz00_1747, BgL_kz00_1756, BgL_arg4184z00_1003); } 
return BgL_newz00_1747;} } }  else 
{ /* ./Cfa/set.scm 81 */
{ /* ./Cfa/set.scm 82 */
obj_t BgL_arg4195z00_1008;
BgL_arg4195z00_1008 = 
BGl_shapez00zztools_shapez00(BgL_metazd2setzd2_22); 
return 
BGl_internalzd2errorzd2zztools_errorz00(BGl_string5214z00zzcfa_setz00, BGl_string5215z00zzcfa_setz00, BgL_arg4195z00_1008);} } } } 
}



/* _make-set! */
obj_t BGl__makezd2setz12zc0zzcfa_setz00(obj_t BgL_envz00_1968, obj_t BgL_metazd2setzd2_1969)
{ AN_OBJECT;
{ /* ./Cfa/set.scm 79 */
return 
BGl_makezd2setz12zc0zzcfa_setz00(BgL_metazd2setzd2_1969);} 
}



/* set? */
BGL_EXPORTED_DEF bool_t BGl_setzf3zf3zzcfa_setz00(obj_t BgL_objz00_23)
{ AN_OBJECT;
{ /* ./Cfa/set.scm 90 */
if(
STRUCTP(BgL_objz00_23))
{ /* ./Cfa/set.scm 91 */
obj_t BgL_auxz00_2103;obj_t BgL_auxz00_2101;
BgL_auxz00_2103 = 
CNST_TABLE_REF(((long)1)); 
BgL_auxz00_2101 = 
STRUCT_KEY(BgL_objz00_23); 
return 
(BgL_auxz00_2101==BgL_auxz00_2103);}  else 
{ /* ./Cfa/set.scm 91 */
return ((bool_t)0);} } 
}



/* _set? */
obj_t BGl__setzf3zf3zzcfa_setz00(obj_t BgL_envz00_1970, obj_t BgL_objz00_1971)
{ AN_OBJECT;
{ /* ./Cfa/set.scm 90 */
{ /* ./Cfa/set.scm 91 */
bool_t BgL_auxz00_2106;
BgL_auxz00_2106 = 
BGl_setzf3zf3zzcfa_setz00(BgL_objz00_1971); 
return 
BBOOL(BgL_auxz00_2106);} } 
}



/* set-extend! */
BGL_EXPORTED_DEF obj_t BGl_setzd2extendz12zc0zzcfa_setz00(obj_t BgL_setz00_24, obj_t BgL_objz00_25)
{ AN_OBJECT;
{ /* ./Cfa/set.scm 96 */
{ /* ./Cfa/set.scm 97 */
obj_t BgL_keyz00_1009;
{ /* ./Cfa/set.scm 97 */
BgL_nodezf2effectzf2_bglt BgL_nodez00_1765;
BgL_nodez00_1765 = 
(BgL_nodezf2effectzf2_bglt)(BgL_objz00_25); 
BgL_keyz00_1009 = 
(((BgL_nodezf2effectzf2_bglt)CREF(BgL_nodez00_1765))->BgL_keyz00); } 
{ /* ./Cfa/set.scm 97 */
obj_t BgL_thezd2setzd2_1010;
{ /* ./Cfa/set.scm 98 */
int BgL_auxz00_2111;
BgL_auxz00_2111 = 
(int)(((long)0)); 
BgL_thezd2setzd2_1010 = 
STRUCT_REF(BgL_setz00_24, BgL_auxz00_2111); } 
{ /* ./Cfa/set.scm 98 */
obj_t BgL_quotientz00_1011;
BgL_quotientz00_1011 = 
CAR(BgL_keyz00_1009); 
{ /* ./Cfa/set.scm 99 */
obj_t BgL_maskz00_1012;
BgL_maskz00_1012 = 
CDR(BgL_keyz00_1009); 
{ /* ./Cfa/set.scm 100 */

{ /* ./Cfa/set.scm 103 */
unsigned char BgL_arg4201z00_1013;
{ /* ./Cfa/set.scm 103 */
unsigned char BgL_auxz00_2120;unsigned char BgL_auxz00_2116;
{ /* ./Cfa/set.scm 104 */
int BgL_auxz00_2121;
BgL_auxz00_2121 = 
CINT(BgL_quotientz00_1011); 
BgL_auxz00_2120 = 
STRING_REF(BgL_thezd2setzd2_1010, BgL_auxz00_2121); } 
{ /* ./Cfa/set.scm 103 */
long BgL_auxz00_2117;
BgL_auxz00_2117 = 
(long)CINT(BgL_maskz00_1012); 
BgL_auxz00_2116 = 
(BgL_auxz00_2117); } 
BgL_arg4201z00_1013 = 
(BgL_auxz00_2116|BgL_auxz00_2120); } 
{ /* ./Cfa/set.scm 101 */
int BgL_kz00_1778;
BgL_kz00_1778 = 
CINT(BgL_quotientz00_1011); 
STRING_SET(BgL_thezd2setzd2_1010, BgL_kz00_1778, BgL_arg4201z00_1013); } } 
return BUNSPEC;} } } } } } 
}



/* _set-extend! */
obj_t BGl__setzd2extendz12zc0zzcfa_setz00(obj_t BgL_envz00_1972, obj_t BgL_setz00_1973, obj_t BgL_objz00_1974)
{ AN_OBJECT;
{ /* ./Cfa/set.scm 96 */
return 
BGl_setzd2extendz12zc0zzcfa_setz00(BgL_setz00_1973, BgL_objz00_1974);} 
}



/* set-union-2! */
obj_t BGl_setzd2unionzd22z12z12zzcfa_setz00(obj_t BgL_dstz00_28, obj_t BgL_srcz00_29)
{ AN_OBJECT;
{ /* ./Cfa/set.scm 123 */
{ 

{ /* ./Cfa/set.scm 140 */
bool_t BgL_test4228z00_1025;
if(
STRUCTP(BgL_srcz00_29))
{ /* ./Cfa/set.scm 140 */
obj_t BgL_auxz00_2132;obj_t BgL_auxz00_2130;
BgL_auxz00_2132 = 
CNST_TABLE_REF(((long)1)); 
BgL_auxz00_2130 = 
STRUCT_KEY(BgL_srcz00_29); 
BgL_test4228z00_1025 = 
(BgL_auxz00_2130==BgL_auxz00_2132); }  else 
{ /* ./Cfa/set.scm 140 */
BgL_test4228z00_1025 = ((bool_t)0); } 
if(BgL_test4228z00_1025)
{ /* ./Cfa/set.scm 142 */
bool_t BgL_test4229z00_1026;
{ /* ./Cfa/set.scm 142 */
long BgL_auxz00_2144;long BgL_auxz00_2136;
{ /* ./Cfa/set.scm 143 */
int BgL_auxz00_2145;
{ /* ./Cfa/set.scm 143 */
obj_t BgL_auxz00_2146;
{ /* ./Cfa/set.scm 143 */
int BgL_auxz00_2147;
BgL_auxz00_2147 = 
(int)(((long)0)); 
BgL_auxz00_2146 = 
STRUCT_REF(BgL_srcz00_29, BgL_auxz00_2147); } 
BgL_auxz00_2145 = 
STRING_LENGTH(BgL_auxz00_2146); } 
BgL_auxz00_2144 = 
(long)(BgL_auxz00_2145); } 
{ /* ./Cfa/set.scm 142 */
int BgL_auxz00_2137;
{ /* ./Cfa/set.scm 142 */
obj_t BgL_auxz00_2138;
{ /* ./Cfa/set.scm 142 */
int BgL_auxz00_2139;
BgL_auxz00_2139 = 
(int)(((long)0)); 
BgL_auxz00_2138 = 
STRUCT_REF(BgL_dstz00_28, BgL_auxz00_2139); } 
BgL_auxz00_2137 = 
STRING_LENGTH(BgL_auxz00_2138); } 
BgL_auxz00_2136 = 
(long)(BgL_auxz00_2137); } 
BgL_test4229z00_1026 = 
(BgL_auxz00_2136==BgL_auxz00_2144); } 
if(BgL_test4229z00_1026)
{ /* ./Cfa/set.scm 145 */
bool_t BgL_auxz00_2154;
{ /* ./Cfa/set.scm 125 */
obj_t BgL_thezd2dstzd2_1038;obj_t BgL_thezd2srczd2_1039;
{ /* ./Cfa/set.scm 125 */
int BgL_auxz00_2155;
BgL_auxz00_2155 = 
(int)(((long)0)); 
BgL_thezd2dstzd2_1038 = 
STRUCT_REF(BgL_dstz00_28, BgL_auxz00_2155); } 
{ /* ./Cfa/set.scm 126 */
int BgL_auxz00_2158;
BgL_auxz00_2158 = 
(int)(((long)0)); 
BgL_thezd2srczd2_1039 = 
STRUCT_REF(BgL_srcz00_29, BgL_auxz00_2158); } 
{ 
long BgL_iz00_1040;bool_t BgL_resz00_1041;
{ /* ./Cfa/set.scm 127 */
long BgL_arg4258z00_1043;
{ /* ./Cfa/set.scm 127 */
long BgL_auxz00_2161;
{ /* ./Cfa/set.scm 127 */
obj_t BgL_auxz00_2162;
{ /* ./Cfa/set.scm 127 */
int BgL_auxz00_2167;obj_t BgL_auxz00_2163;
BgL_auxz00_2167 = 
(int)(((long)1)); 
{ /* ./Cfa/set.scm 127 */
int BgL_auxz00_2164;
BgL_auxz00_2164 = 
(int)(((long)1)); 
BgL_auxz00_2163 = 
STRUCT_REF(BgL_dstz00_28, BgL_auxz00_2164); } 
BgL_auxz00_2162 = 
STRUCT_REF(BgL_auxz00_2163, BgL_auxz00_2167); } 
BgL_auxz00_2161 = 
(long)CINT(BgL_auxz00_2162); } 
BgL_arg4258z00_1043 = 
(BgL_auxz00_2161-((long)1)); } 
BgL_iz00_1040 = BgL_arg4258z00_1043; 
BgL_resz00_1041 = ((bool_t)0); 
BgL_loopz00_1042:
{ /* ./Cfa/set.scm 130 */
bool_t BgL_test4268z00_1047;
BgL_test4268z00_1047 = 
(BgL_iz00_1040==((long)-1)); 
if(BgL_test4268z00_1047)
{ /* ./Cfa/set.scm 130 */
BgL_auxz00_2154 = BgL_resz00_1041
; }  else 
{ /* ./Cfa/set.scm 132 */
unsigned char BgL_oldz00_1048;unsigned char BgL_newz00_1049;
{ /* ./Cfa/set.scm 132 */
int BgL_auxz00_2174;
BgL_auxz00_2174 = 
(int)(BgL_iz00_1040); 
BgL_oldz00_1048 = 
STRING_REF(BgL_thezd2dstzd2_1038, BgL_auxz00_2174); } 
{ /* ./Cfa/set.scm 133 */
unsigned char BgL_auxz00_2181;unsigned char BgL_auxz00_2177;
{ /* ./Cfa/set.scm 134 */
int BgL_auxz00_2182;
BgL_auxz00_2182 = 
(int)(BgL_iz00_1040); 
BgL_auxz00_2181 = 
STRING_REF(BgL_thezd2srczd2_1039, BgL_auxz00_2182); } 
{ /* ./Cfa/set.scm 133 */
int BgL_auxz00_2178;
BgL_auxz00_2178 = 
(int)(BgL_iz00_1040); 
BgL_auxz00_2177 = 
STRING_REF(BgL_thezd2dstzd2_1038, BgL_auxz00_2178); } 
BgL_newz00_1049 = 
(BgL_auxz00_2177|BgL_auxz00_2181); } 
{ /* ./Cfa/set.scm 135 */
bool_t BgL_test4269z00_1050;
BgL_test4269z00_1050 = 
(BgL_newz00_1049==BgL_oldz00_1048); 
if(BgL_test4269z00_1050)
{ /* ./Cfa/set.scm 136 */
long BgL_arg4271z00_1051;
BgL_arg4271z00_1051 = 
(BgL_iz00_1040-((long)1)); 
{ 
long BgL_iz00_2189;
BgL_iz00_2189 = BgL_arg4271z00_1051; 
BgL_iz00_1040 = BgL_iz00_2189; 
goto BgL_loopz00_1042;} }  else 
{ /* ./Cfa/set.scm 135 */
{ /* ./Cfa/set.scm 138 */
int BgL_kz00_1848;
BgL_kz00_1848 = 
(int)(BgL_iz00_1040); 
STRING_SET(BgL_thezd2dstzd2_1038, BgL_kz00_1848, BgL_newz00_1049); } 
{ /* ./Cfa/set.scm 139 */
long BgL_arg4276z00_1052;
BgL_arg4276z00_1052 = 
(BgL_iz00_1040-((long)1)); 
{ 
bool_t BgL_resz00_2194;long BgL_iz00_2193;
BgL_iz00_2193 = BgL_arg4276z00_1052; 
BgL_resz00_2194 = ((bool_t)1); 
BgL_resz00_1041 = BgL_resz00_2194; 
BgL_iz00_1040 = BgL_iz00_2193; 
goto BgL_loopz00_1042;} } } } } } } } } 
return 
BBOOL(BgL_auxz00_2154);}  else 
{ /* ./Cfa/set.scm 144 */
obj_t BgL_arg4234z00_1029;
BgL_arg4234z00_1029 = 
BGl_shapez00zztools_shapez00(BgL_srcz00_29); 
return 
BGl_internalzd2errorzd2zztools_errorz00(BGl_string5216z00zzcfa_setz00, BGl_string5217z00zzcfa_setz00, BgL_arg4234z00_1029);} }  else 
{ /* ./Cfa/set.scm 141 */
obj_t BgL_arg4252z00_1036;
BgL_arg4252z00_1036 = 
BGl_shapez00zztools_shapez00(BgL_srcz00_29); 
return 
BGl_internalzd2errorzd2zztools_errorz00(BGl_string5216z00zzcfa_setz00, BGl_string5217z00zzcfa_setz00, BgL_arg4252z00_1036);} } } } 
}



/* set-union! */
BGL_EXPORTED_DEF obj_t BGl_setzd2unionz12zc0zzcfa_setz00(obj_t BgL_dstz00_30, obj_t BgL_srcza2za2_31)
{ AN_OBJECT;
{ /* ./Cfa/set.scm 153 */
{ /* ./Cfa/set.scm 155 */
bool_t BgL_test4290z00_1056;
BgL_test4290z00_1056 = 
NULLP(BgL_srcza2za2_31); 
if(BgL_test4290z00_1056)
{ /* ./Cfa/set.scm 155 */
return BgL_dstz00_30;}  else 
{ /* ./Cfa/set.scm 157 */
bool_t BgL_test4291z00_1057;
{ /* ./Cfa/set.scm 157 */
obj_t BgL_auxz00_2202;
BgL_auxz00_2202 = 
CDR(BgL_srcza2za2_31); 
BgL_test4291z00_1057 = 
NULLP(BgL_auxz00_2202); } 
if(BgL_test4291z00_1057)
{ /* ./Cfa/set.scm 157 */
{ /* ./Cfa/set.scm 158 */
obj_t BgL_arg4293z00_1058;
BgL_arg4293z00_1058 = 
CAR(BgL_srcza2za2_31); 
return 
BGl_setzd2unionzd22z12z12zzcfa_setz00(BgL_dstz00_30, BgL_arg4293z00_1058);} }  else 
{ /* ./Cfa/set.scm 157 */
{ 
obj_t BgL_srcza2za2_1059;obj_t BgL_resz00_1060;
BgL_srcza2za2_1059 = BgL_srcza2za2_31; 
BgL_resz00_1060 = BFALSE; 
BgL_loopz00_1061:
{ /* ./Cfa/set.scm 162 */
bool_t BgL_test4297z00_1062;
BgL_test4297z00_1062 = 
NULLP(BgL_srcza2za2_1059); 
if(BgL_test4297z00_1062)
{ /* ./Cfa/set.scm 162 */
return BgL_resz00_1060;}  else 
{ /* ./Cfa/set.scm 164 */
obj_t BgL_arg4299z00_1063;obj_t BgL_arg4300z00_1064;
BgL_arg4299z00_1063 = 
CDR(BgL_srcza2za2_1059); 
{ /* ./Cfa/set.scm 165 */
obj_t BgL__ortest_4082z00_1065;
{ /* ./Cfa/set.scm 165 */
obj_t BgL_arg4304z00_1066;
BgL_arg4304z00_1066 = 
CAR(BgL_srcza2za2_1059); 
BgL__ortest_4082z00_1065 = 
BGl_setzd2unionzd22z12z12zzcfa_setz00(BgL_dstz00_30, BgL_arg4304z00_1066); } 
if(
CBOOL(BgL__ortest_4082z00_1065))
{ /* ./Cfa/set.scm 165 */
BgL_arg4300z00_1064 = BgL__ortest_4082z00_1065; }  else 
{ /* ./Cfa/set.scm 165 */
BgL_arg4300z00_1064 = BgL_resz00_1060; } } 
{ 
obj_t BgL_resz00_2216;obj_t BgL_srcza2za2_2215;
BgL_srcza2za2_2215 = BgL_arg4299z00_1063; 
BgL_resz00_2216 = BgL_arg4300z00_1064; 
BgL_resz00_1060 = BgL_resz00_2216; 
BgL_srcza2za2_1059 = BgL_srcza2za2_2215; 
goto BgL_loopz00_1061;} } } } } } } } 
}



/* _set-union! */
obj_t BGl__setzd2unionz12zc0zzcfa_setz00(obj_t BgL_envz00_1975, obj_t BgL_dstz00_1976, obj_t BgL_srcza2za2_1977)
{ AN_OBJECT;
{ /* ./Cfa/set.scm 153 */
return 
BGl_setzd2unionz12zc0zzcfa_setz00(BgL_dstz00_1976, BgL_srcza2za2_1977);} 
}



/* set-for-each */
BGL_EXPORTED_DEF obj_t BGl_setzd2forzd2eachz00zzcfa_setz00(obj_t BgL_procz00_32, obj_t BgL_setz00_33)
{ AN_OBJECT;
{ /* ./Cfa/set.scm 170 */
{ 

{ /* ./Cfa/set.scm 172 */
obj_t BgL_metaz00_1070;
{ /* ./Cfa/set.scm 172 */
int BgL_auxz00_2218;
BgL_auxz00_2218 = 
(int)(((long)1)); 
BgL_metaz00_1070 = 
STRUCT_REF(BgL_setz00_33, BgL_auxz00_2218); } 
{ /* ./Cfa/set.scm 172 */
obj_t BgL_tablez00_1071;
{ /* ./Cfa/set.scm 173 */
int BgL_auxz00_2221;
BgL_auxz00_2221 = 
(int)(((long)0)); 
BgL_tablez00_1071 = 
STRUCT_REF(BgL_metaz00_1070, BgL_auxz00_2221); } 
{ /* ./Cfa/set.scm 173 */

{ 
long BgL_iz00_1072;
{ /* ./Cfa/set.scm 174 */
long BgL_arg4316z00_1074;
{ /* ./Cfa/set.scm 174 */
int BgL_arg4319z00_1075;
BgL_arg4319z00_1075 = 
VECTOR_LENGTH(BgL_tablez00_1071); 
{ /* ./Cfa/set.scm 174 */
long BgL_auxz00_2225;
BgL_auxz00_2225 = 
(long)(BgL_arg4319z00_1075); 
BgL_arg4316z00_1074 = 
(BgL_auxz00_2225-((long)1)); } } 
BgL_iz00_1072 = BgL_arg4316z00_1074; 
BgL_loopz00_1073:
{ /* ./Cfa/set.scm 176 */
bool_t BgL_test4323z00_1077;
BgL_test4323z00_1077 = 
(BgL_iz00_1072==((long)-1)); 
if(BgL_test4323z00_1077)
{ /* ./Cfa/set.scm 176 */
return BUNSPEC;}  else 
{ /* ./Cfa/set.scm 178 */
bool_t BgL_test4324z00_1078;
{ /* ./Cfa/set.scm 178 */
obj_t BgL_arg4338z00_1082;
{ /* ./Cfa/set.scm 178 */
int BgL_kz00_1871;
BgL_kz00_1871 = 
(int)(BgL_iz00_1072); 
BgL_arg4338z00_1082 = 
VECTOR_REF(BgL_tablez00_1071,BgL_kz00_1871); } 
{ /* ./Cfa/set.scm 178 */
obj_t BgL_keyz00_1874;
{ /* ./Cfa/set.scm 178 */
BgL_nodezf2effectzf2_bglt BgL_nodez00_1882;
BgL_nodez00_1882 = 
(BgL_nodezf2effectzf2_bglt)(BgL_arg4338z00_1082); 
BgL_keyz00_1874 = 
(((BgL_nodezf2effectzf2_bglt)CREF(BgL_nodez00_1882))->BgL_keyz00); } 
{ /* ./Cfa/set.scm 178 */

{ /* ./Cfa/set.scm 178 */
long BgL_auxz00_2234;
{ /* ./Cfa/set.scm 178 */
long BgL_auxz00_2239;long BgL_auxz00_2235;
{ /* ./Cfa/set.scm 178 */
unsigned char BgL_auxz00_2240;
{ /* ./Cfa/set.scm 178 */
int BgL_auxz00_2245;obj_t BgL_auxz00_2241;
{ /* ./Cfa/set.scm 178 */
obj_t BgL_auxz00_2246;
BgL_auxz00_2246 = 
CAR(BgL_keyz00_1874); 
BgL_auxz00_2245 = 
CINT(BgL_auxz00_2246); } 
{ /* ./Cfa/set.scm 178 */
int BgL_auxz00_2242;
BgL_auxz00_2242 = 
(int)(((long)0)); 
BgL_auxz00_2241 = 
STRUCT_REF(BgL_setz00_33, BgL_auxz00_2242); } 
BgL_auxz00_2240 = 
STRING_REF(BgL_auxz00_2241, BgL_auxz00_2245); } 
BgL_auxz00_2239 = 
(BgL_auxz00_2240); } 
{ /* ./Cfa/set.scm 178 */
obj_t BgL_auxz00_2236;
BgL_auxz00_2236 = 
CDR(BgL_keyz00_1874); 
BgL_auxz00_2235 = 
(long)CINT(BgL_auxz00_2236); } 
BgL_auxz00_2234 = 
(BgL_auxz00_2235 & BgL_auxz00_2239); } 
BgL_test4324z00_1078 = 
(BgL_auxz00_2234>((long)0)); } } } } 
if(BgL_test4324z00_1078)
{ /* ./Cfa/set.scm 178 */
{ /* ./Cfa/set.scm 179 */
obj_t BgL_arg4326z00_1079;
{ /* ./Cfa/set.scm 179 */
int BgL_kz00_1897;
BgL_kz00_1897 = 
(int)(BgL_iz00_1072); 
BgL_arg4326z00_1079 = 
VECTOR_REF(BgL_tablez00_1071,BgL_kz00_1897); } 
PROCEDURE_ENTRY(BgL_procz00_32)(BgL_procz00_32, BgL_arg4326z00_1079, BEOA); } 
{ /* ./Cfa/set.scm 180 */
long BgL_arg4330z00_1080;
BgL_arg4330z00_1080 = 
(BgL_iz00_1072-((long)1)); 
{ 
long BgL_iz00_2259;
BgL_iz00_2259 = BgL_arg4330z00_1080; 
BgL_iz00_1072 = BgL_iz00_2259; 
goto BgL_loopz00_1073;} } }  else 
{ /* ./Cfa/set.scm 178 */
{ /* ./Cfa/set.scm 182 */
long BgL_arg4334z00_1081;
BgL_arg4334z00_1081 = 
(BgL_iz00_1072-((long)1)); 
{ 
long BgL_iz00_2261;
BgL_iz00_2261 = BgL_arg4334z00_1081; 
BgL_iz00_1072 = BgL_iz00_2261; 
goto BgL_loopz00_1073;} } } } } } } } } } } } 
}



/* _set-for-each */
obj_t BGl__setzd2forzd2eachz00zzcfa_setz00(obj_t BgL_envz00_1978, obj_t BgL_procz00_1979, obj_t BgL_setz00_1980)
{ AN_OBJECT;
{ /* ./Cfa/set.scm 170 */
return 
BGl_setzd2forzd2eachz00zzcfa_setz00(BgL_procz00_1979, BgL_setz00_1980);} 
}



/* set-length */
BGL_EXPORTED_DEF obj_t BGl_setzd2lengthzd2zzcfa_setz00(obj_t BgL_setz00_34)
{ AN_OBJECT;
{ /* ./Cfa/set.scm 188 */
{ 

{ /* ./Cfa/set.scm 204 */
long BgL_auxz00_2263;
{ /* ./Cfa/set.scm 190 */
obj_t BgL_thezd2setzd2_1086;
{ /* ./Cfa/set.scm 190 */
int BgL_auxz00_2264;
BgL_auxz00_2264 = 
(int)(((long)0)); 
BgL_thezd2setzd2_1086 = 
STRUCT_REF(BgL_setz00_34, BgL_auxz00_2264); } 
{ /* ./Cfa/set.scm 190 */
int BgL_thezd2lenzd2_1087;
BgL_thezd2lenzd2_1087 = 
STRING_LENGTH(BgL_thezd2setzd2_1086); 
{ /* ./Cfa/set.scm 191 */

{ 
long BgL_offsetz00_1088;long BgL_numz00_1089;
BgL_offsetz00_1088 = ((long)0); 
BgL_numz00_1089 = ((long)0); 
BgL_loopz00_1090:
{ /* ./Cfa/set.scm 194 */
bool_t BgL_testz00_2268;
{ /* ./Cfa/set.scm 194 */
long BgL_auxz00_2269;
BgL_auxz00_2269 = 
(long)(BgL_thezd2lenzd2_1087); 
BgL_testz00_2268 = 
(BgL_offsetz00_1088==BgL_auxz00_2269); } 
if(BgL_testz00_2268)
{ /* ./Cfa/set.scm 194 */
BgL_auxz00_2263 = BgL_numz00_1089
; }  else 
{ 
long BgL_charz00_1092;long BgL_numz00_1093;
{ /* ./Cfa/set.scm 196 */
unsigned char BgL_auxz00_2285;
{ /* ./Cfa/set.scm 196 */
int BgL_auxz00_2286;
BgL_auxz00_2286 = 
(int)(BgL_offsetz00_1088); 
BgL_auxz00_2285 = 
STRING_REF(BgL_thezd2setzd2_1086, BgL_auxz00_2286); } 
BgL_charz00_1092 = 
(BgL_auxz00_2285); } 
BgL_numz00_1093 = BgL_numz00_1089; 
BgL_liipz00_1094:
if(
(BgL_charz00_1092==((long)0)))
{ /* ./Cfa/set.scm 199 */
{ 
long BgL_numz00_2276;long BgL_offsetz00_2274;
BgL_offsetz00_2274 = 
(((long)1)+BgL_offsetz00_1088); 
BgL_numz00_2276 = BgL_numz00_1093; 
BgL_numz00_1089 = BgL_numz00_2276; 
BgL_offsetz00_1088 = BgL_offsetz00_2274; 
goto BgL_loopz00_1090;} }  else 
{ /* ./Cfa/set.scm 199 */
{ 
long BgL_numz00_2281;long BgL_charz00_2277;
{ /* ./Cfa/set.scm 202 */
int BgL_auxz00_2278;
BgL_auxz00_2278 = 
(int)(((long)1)); 
BgL_charz00_2277 = 
(BgL_charz00_1092 >> BgL_auxz00_2278); } 
{ /* ./Cfa/set.scm 203 */
long BgL_auxz00_2282;
BgL_auxz00_2282 = 
(BgL_charz00_1092 & ((long)1)); 
BgL_numz00_2281 = 
(BgL_numz00_1093+BgL_auxz00_2282); } 
BgL_numz00_1093 = BgL_numz00_2281; 
BgL_charz00_1092 = BgL_charz00_2277; 
goto BgL_liipz00_1094;} } } } } } } } 
return 
BINT(BgL_auxz00_2263);} } } 
}



/* _set-length */
obj_t BGl__setzd2lengthzd2zzcfa_setz00(obj_t BgL_envz00_1981, obj_t BgL_setz00_1982)
{ AN_OBJECT;
{ /* ./Cfa/set.scm 188 */
return 
BGl_setzd2lengthzd2zzcfa_setz00(BgL_setz00_1982);} 
}



/* set->list */
BGL_EXPORTED_DEF obj_t BGl_setzd2ze3listz31zzcfa_setz00(obj_t BgL_setz00_35)
{ AN_OBJECT;
{ /* ./Cfa/set.scm 209 */
{ /* ./Cfa/set.scm 210 */
obj_t BgL_metaz00_1103;
{ /* ./Cfa/set.scm 210 */
int BgL_auxz00_2292;
BgL_auxz00_2292 = 
(int)(((long)1)); 
BgL_metaz00_1103 = 
STRUCT_REF(BgL_setz00_35, BgL_auxz00_2292); } 
{ /* ./Cfa/set.scm 211 */
obj_t BgL_tablez00_1104;
{ /* ./Cfa/set.scm 211 */
int BgL_auxz00_2295;
BgL_auxz00_2295 = 
(int)(((long)0)); 
BgL_tablez00_1104 = 
STRUCT_REF(BgL_metaz00_1103, BgL_auxz00_2295); } 
{ /* ./Cfa/set.scm 211 */
int BgL_siza7eza7_1105;
BgL_siza7eza7_1105 = 
VECTOR_LENGTH(BgL_tablez00_1104); 
{ /* ./Cfa/set.scm 212 */

{ 
long BgL_iz00_1106;obj_t BgL_lz00_1107;
BgL_iz00_1106 = ((long)0); 
BgL_lz00_1107 = BNIL; 
BgL_loopz00_1108:
{ /* ./Cfa/set.scm 216 */
bool_t BgL_test4374z00_1109;
{ /* ./Cfa/set.scm 216 */
long BgL_auxz00_2299;
BgL_auxz00_2299 = 
(long)(BgL_siza7eza7_1105); 
BgL_test4374z00_1109 = 
(BgL_iz00_1106==BgL_auxz00_2299); } 
if(BgL_test4374z00_1109)
{ /* ./Cfa/set.scm 216 */
return BgL_lz00_1107;}  else 
{ /* ./Cfa/set.scm 218 */
bool_t BgL_test4375z00_1110;
{ /* ./Cfa/set.scm 218 */
obj_t BgL_arg4390z00_1115;
{ /* ./Cfa/set.scm 218 */
int BgL_kz00_1931;
BgL_kz00_1931 = 
(int)(BgL_iz00_1106); 
BgL_arg4390z00_1115 = 
VECTOR_REF(BgL_tablez00_1104,BgL_kz00_1931); } 
{ /* ./Cfa/set.scm 218 */
obj_t BgL_keyz00_1934;
{ /* ./Cfa/set.scm 218 */
BgL_nodezf2effectzf2_bglt BgL_nodez00_1942;
BgL_nodez00_1942 = 
(BgL_nodezf2effectzf2_bglt)(BgL_arg4390z00_1115); 
BgL_keyz00_1934 = 
(((BgL_nodezf2effectzf2_bglt)CREF(BgL_nodez00_1942))->BgL_keyz00); } 
{ /* ./Cfa/set.scm 218 */

{ /* ./Cfa/set.scm 218 */
long BgL_auxz00_2307;
{ /* ./Cfa/set.scm 218 */
long BgL_auxz00_2312;long BgL_auxz00_2308;
{ /* ./Cfa/set.scm 218 */
unsigned char BgL_auxz00_2313;
{ /* ./Cfa/set.scm 218 */
int BgL_auxz00_2318;obj_t BgL_auxz00_2314;
{ /* ./Cfa/set.scm 218 */
obj_t BgL_auxz00_2319;
BgL_auxz00_2319 = 
CAR(BgL_keyz00_1934); 
BgL_auxz00_2318 = 
CINT(BgL_auxz00_2319); } 
{ /* ./Cfa/set.scm 218 */
int BgL_auxz00_2315;
BgL_auxz00_2315 = 
(int)(((long)0)); 
BgL_auxz00_2314 = 
STRUCT_REF(BgL_setz00_35, BgL_auxz00_2315); } 
BgL_auxz00_2313 = 
STRING_REF(BgL_auxz00_2314, BgL_auxz00_2318); } 
BgL_auxz00_2312 = 
(BgL_auxz00_2313); } 
{ /* ./Cfa/set.scm 218 */
obj_t BgL_auxz00_2309;
BgL_auxz00_2309 = 
CDR(BgL_keyz00_1934); 
BgL_auxz00_2308 = 
(long)CINT(BgL_auxz00_2309); } 
BgL_auxz00_2307 = 
(BgL_auxz00_2308 & BgL_auxz00_2312); } 
BgL_test4375z00_1110 = 
(BgL_auxz00_2307>((long)0)); } } } } 
if(BgL_test4375z00_1110)
{ /* ./Cfa/set.scm 218 */
{ /* ./Cfa/set.scm 219 */
long BgL_arg4377z00_1111;obj_t BgL_arg4378z00_1112;
BgL_arg4377z00_1111 = 
(BgL_iz00_1106+((long)1)); 
{ /* ./Cfa/set.scm 219 */
obj_t BgL_arg4382z00_1113;
{ /* ./Cfa/set.scm 219 */
int BgL_kz00_1959;
BgL_kz00_1959 = 
(int)(BgL_iz00_1106); 
BgL_arg4382z00_1113 = 
VECTOR_REF(BgL_tablez00_1104,BgL_kz00_1959); } 
BgL_arg4378z00_1112 = 
MAKE_PAIR(BgL_arg4382z00_1113, BgL_lz00_1107); } 
{ 
obj_t BgL_lz00_2332;long BgL_iz00_2331;
BgL_iz00_2331 = BgL_arg4377z00_1111; 
BgL_lz00_2332 = BgL_arg4378z00_1112; 
BgL_lz00_1107 = BgL_lz00_2332; 
BgL_iz00_1106 = BgL_iz00_2331; 
goto BgL_loopz00_1108;} } }  else 
{ /* ./Cfa/set.scm 218 */
{ /* ./Cfa/set.scm 221 */
long BgL_arg4386z00_1114;
BgL_arg4386z00_1114 = 
(BgL_iz00_1106+((long)1)); 
{ 
long BgL_iz00_2334;
BgL_iz00_2334 = BgL_arg4386z00_1114; 
BgL_iz00_1106 = BgL_iz00_2334; 
goto BgL_loopz00_1108;} } } } } } } } } } } 
}



/* _set->list */
obj_t BGl__setzd2ze3listz31zzcfa_setz00(obj_t BgL_envz00_1983, obj_t BgL_setz00_1984)
{ AN_OBJECT;
{ /* ./Cfa/set.scm 209 */
return 
BGl_setzd2ze3listz31zzcfa_setz00(BgL_setz00_1984);} 
}



/* set->vector */
BGL_EXPORTED_DEF obj_t BGl_setzd2ze3vectorz31zzcfa_setz00(obj_t BgL_setz00_36)
{ AN_OBJECT;
{ /* ./Cfa/set.scm 226 */
{ /* ./Cfa/set.scm 227 */
obj_t BgL_arg4398z00_1962;
BgL_arg4398z00_1962 = 
BGl_setzd2ze3listz31zzcfa_setz00(BgL_setz00_36); 
return 
BGl_listzd2ze3vectorz31zz__r4_vectors_6_8z00(BgL_arg4398z00_1962);} } 
}



/* _set->vector */
obj_t BGl__setzd2ze3vectorz31zzcfa_setz00(obj_t BgL_envz00_1985, obj_t BgL_setz00_1986)
{ AN_OBJECT;
{ /* ./Cfa/set.scm 226 */
return 
BGl_setzd2ze3vectorz31zzcfa_setz00(BgL_setz00_1986);} 
}



/* method-init */
obj_t BGl_methodzd2initzd2zzcfa_setz00()
{ AN_OBJECT;
{ /* ./Cfa/set.scm 15 */
return BUNSPEC;} 
}



/* imported-modules-init */
obj_t BGl_importedzd2moduleszd2initz00zzcfa_setz00()
{ AN_OBJECT;
{ /* ./Cfa/set.scm 15 */
BGl_modulezd2initializa7ationz75zztype_typez00(((long)19090), "cfa_set"); 
BGl_modulezd2initializa7ationz75zzast_varz00(((long)44246), "cfa_set"); 
BGl_modulezd2initializa7ationz75zzast_nodez00(((long)50868), "cfa_set"); 
BGl_modulezd2initializa7ationz75zzcfa_infoz00(((long)2565), "cfa_set"); 
BGl_modulezd2initializa7ationz75zzcfa_info2z00(((long)0), "cfa_set"); 
BGl_modulezd2initializa7ationz75zztools_shapez00(((long)30833), "cfa_set"); 
BGl_modulezd2initializa7ationz75zztools_errorz00(((long)25566), "cfa_set"); 
return 
BGl_modulezd2initializa7ationz75zzcfa_approxz00(((long)43477), "cfa_set");} 
}

