/*===========================================================================*/
/*   (Llib/weakhash.scm)                                                     */
/*   Bigloo (4.5b)                                                           */
/*   Inria -- Sophia Antipolis (c)       Fri Dec 22 05:17:06 PM CET 2023     */
/*===========================================================================*/
/* COMPILATION: (/home/serrano/prgm/project/bigloo/bigloo/bin/bigloo -ldopt -L/home/serrano/prgm/project/bigloo/bigloo/libbacktrace/home/serrano/prgm/project/bigloo/bigloo/lib/bigloo/4.5b  -srfi enable-gmp -srfi bigloo-safe -O3 -fcfa-arithmetic -q -lib-dir /home/serrano/prgm/project/bigloo/bigloo/lib/bigloo/4.5b -rm -copt -w -lib-dir /home/serrano/prgm/project/bigloo/bigloo/lib/bigloo/4.5b -O3 -mklib -cc gcc -fsharing -q -unsafev -eval (set! *indent* 4) -stdc -c Llib/weakhash.scm -indent -o objs/obj_s/Llib/weakhash.c) */
/* GC selection */
#define THE_GC BOEHM_GC

/* traces mode */
#define BIGLOO_TRACE 0

/* standard Bigloo include */
#include <bigloo.h>

#ifdef __cplusplus
extern "C" {
#endif
#ifndef BGL_MODULE_TYPE_DEFINITIONS
#define BGL_MODULE_TYPE_DEFINITIONS
#ifndef BGL___WEAKHASH_TYPE_DEFINITIONS
#define BGL___WEAKHASH_TYPE_DEFINITIONS
#endif // BGL___WEAKHASH_TYPE_DEFINITIONS
#endif // BGL_MODULE_TYPE_DEFINITIONS

static obj_t BGl_symbol3532z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_list3504z00zz__weakhashz00 = BUNSPEC;
BGL_EXPORTED_DECL obj_t BGl_weakzd2hashtablezd2putz12z12zz__weakhashz00(obj_t, obj_t, obj_t);
static obj_t BGl_z62zc3z04anonymousza31523ze3ze5zz__weakhashz00(obj_t, obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_weakzd2hashtablezd2getz00zz__weakhashz00(obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_weakzd2hashtablezd2forzd2eachzd2zz__weakhashz00(obj_t, obj_t);
static obj_t BGl_z62weakzd2hashtablezd2forzd2eachzb0zz__weakhashz00(obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_weakzd2hashtablezd2keyzd2listzd2zz__weakhashz00(obj_t);
static obj_t BGl_symbol3540z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_symbol3461z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_symbol3463z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_z62weakzd2hashtablezd2keyzd2listzb0zz__weakhashz00(obj_t, obj_t);
static obj_t BGl_symbol3465z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_symbol3549z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_list3435z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_list3518z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_z62zc3z04anonymousza31508ze3ze5zz__weakhashz00(obj_t, obj_t, obj_t);
static obj_t BGl_requirezd2initializa7ationz75zz__weakhashz00 = BUNSPEC;
static obj_t BGl_symbol3552z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_symbol3472z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_symbol3554z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_symbol3475z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_traversezd2bucketszd2zz__weakhashz00(obj_t, obj_t, long, obj_t);
static obj_t BGl_symbol3477z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_list3526z00zz__weakhashz00 = BUNSPEC;
BGL_EXPORTED_DECL obj_t BGl_weakzd2hashtablezd2updatez12z12zz__weakhashz00(obj_t, obj_t, obj_t, obj_t);
static obj_t BGl_z62weakzd2hashtablezd2getz62zz__weakhashz00(obj_t, obj_t, obj_t);
extern obj_t BGl_typezd2errorzd2zz__errorz00(obj_t, obj_t, obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zz__weakhashz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zz__threadz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zz__objectz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zz__bexitz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zz__hashz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zz__paramz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zz__r4_symbols_6_4z00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zz__errorz00(long, char *);
static obj_t BGl_symbol3481z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_symbol3564z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_list3531z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_symbol3483z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_symbol3566z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_symbol3569z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_removez00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_list3539z00zz__weakhashz00 = BUNSPEC;
extern long BGl_hashtablezd2siza7ez75zz__hashz00(obj_t);
static obj_t BGl_z62zc3z04anonymousza31598ze3ze5zz__weakhashz00(obj_t, obj_t, obj_t, obj_t);
static obj_t BGl_z62weakzd2hashtablezd2clearz12z70zz__weakhashz00(obj_t, obj_t);
static obj_t BGl_weakzd2oldzd2hashtablezd2addz12zc0zz__weakhashz00(obj_t, obj_t, obj_t, obj_t, obj_t);
static obj_t BGl_symbol3572z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_list3460z00zz__weakhashz00 = BUNSPEC;
static bool_t BGl_weakzd2oldzd2hashtablezd2removez12zc0zz__weakhashz00(obj_t, obj_t);
extern bool_t BGl_hashtablezd2weakzd2keyszf3zf3zz__hashz00(obj_t);
static obj_t BGl_symbol3577z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_toplevelzd2initzd2zz__weakhashz00(void);
static obj_t BGl_list3545z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_symbol3579z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_symbol3498z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_list3548z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_weakzd2oldzd2hashtablezd2putz12zc0zz__weakhashz00(obj_t, obj_t, obj_t);
static obj_t BGl_keepgoingz00zz__weakhashz00 = BUNSPEC;
extern void bgl_weakptr_ref_set(obj_t, obj_t);
extern obj_t BGl_formatz00zz__r4_output_6_10_3z00(obj_t, obj_t);
static obj_t BGl_list3551z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_list3471z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_symbol3587z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_list3474z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_list3559z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_list3479z00zz__weakhashz00 = BUNSPEC;
static bool_t BGl_weakzd2keyszd2hashtablezd2containszf3z21zz__weakhashz00(obj_t, obj_t);
static obj_t BGl_cnstzd2initzd2zz__weakhashz00(void);
static obj_t BGl_weakzd2oldzd2hashtablezd2expandz12zc0zz__weakhashz00(obj_t);
static obj_t BGl_genericzd2initzd2zz__weakhashz00(void);
static bool_t BGl_weakzd2oldzd2hashtablezd2filterz12zc0zz__weakhashz00(obj_t, obj_t);
static obj_t BGl_z62weakzd2hashtablezd2removez12z70zz__weakhashz00(obj_t, obj_t, obj_t);
static obj_t BGl_z62weakzd2hashtablezd2ze3vectorz81zz__weakhashz00(obj_t, obj_t);
static bool_t BGl_weakzd2keyszd2hashtablezd2removez12zc0zz__weakhashz00(obj_t, obj_t);
static obj_t BGl_symbol3590z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_list3480z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_importedzd2moduleszd2initz00zz__weakhashz00(void);
static obj_t BGl_list3563z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_gczd2rootszd2initz00zz__weakhashz00(void);
static obj_t BGl_z62zc3z04anonymousza31715ze3ze5zz__weakhashz00(obj_t, obj_t, obj_t, obj_t);
static obj_t BGl_z62zc3z04anonymousza31472ze3ze5zz__weakhashz00(obj_t, obj_t, obj_t);
static obj_t BGl_list3568z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_z62zc3z04anonymousza31545ze3ze5zz__weakhashz00(obj_t, obj_t, obj_t, obj_t);
static obj_t BGl_weakzd2keyszd2hashtablezd2getzd2zz__weakhashz00(obj_t, obj_t);
static obj_t BGl_objectzd2initzd2zz__weakhashz00(void);
extern obj_t BGl_copyzd2vectorzd2zz__r4_vectors_6_8z00(obj_t, long);
extern obj_t BGl_2za2za2zz__r4_numbers_6_5z00(obj_t, obj_t);
static obj_t BGl_list3571z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_list3576z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_list3497z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_z62zc3z04anonymousza31465ze3ze5zz__weakhashz00(obj_t, obj_t, obj_t);
static obj_t BGl_z62weakzd2hashtablezd2expandz12z70zz__weakhashz00(obj_t, obj_t);
static obj_t BGl_weakzd2keyszd2hashtablezd2expandz12zc0zz__weakhashz00(obj_t);
static obj_t BGl_z62weakzd2hashtablezd2filterz12z70zz__weakhashz00(obj_t, obj_t, obj_t);
static obj_t BGl_z62weakzd2hashtablezd2addz12z70zz__weakhashz00(obj_t, obj_t, obj_t, obj_t, obj_t, obj_t);
static bool_t BGl_weakzd2keyszd2hashtablezd2filterz12zc0zz__weakhashz00(obj_t, obj_t);
static obj_t BGl_keyszd2traversezd2hashz00zz__weakhashz00(obj_t, obj_t);
extern obj_t bgl_weakptr_data(obj_t);
extern obj_t bgl_weakptr_ref(obj_t);
BGL_EXPORTED_DECL obj_t BGl_weakzd2hashtablezd2mapz00zz__weakhashz00(obj_t, obj_t);
static obj_t BGl_z62weakzd2hashtablezd2putz12z70zz__weakhashz00(obj_t, obj_t, obj_t, obj_t);
static obj_t BGl_z62weakzd2hashtablezd2ze3listz81zz__weakhashz00(obj_t, obj_t);
static obj_t BGl_list3586z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_list3589z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_z62zc3z04anonymousza31458ze3ze5zz__weakhashz00(obj_t, obj_t, obj_t);
static obj_t BGl_weakzd2oldzd2hashtablezd2getzd2zz__weakhashz00(obj_t, obj_t);
extern obj_t BGl_filterz12z12zz__r4_control_features_6_9z00(obj_t, obj_t);
static obj_t BGl_z62zc3z04anonymousza31500ze3ze5zz__weakhashz00(obj_t, obj_t, obj_t, obj_t);
extern obj_t bstring_to_symbol(obj_t);
BGL_EXPORTED_DECL bool_t BGl_weakzd2hashtablezd2containszf3zf3zz__weakhashz00(obj_t, obj_t);
static obj_t BGl_z62zc3z04anonymousza31645ze3ze5zz__weakhashz00(obj_t, obj_t, obj_t, obj_t);
static bool_t BGl_weakzd2oldzd2hashtablezd2containszf3z21zz__weakhashz00(obj_t, obj_t);
extern obj_t make_vector(long, obj_t);
BGL_EXPORTED_DECL obj_t BGl_weakzd2hashtablezd2ze3listze3zz__weakhashz00(obj_t);
static obj_t BGl_z62weakzd2hashtablezd2mapz62zz__weakhashz00(obj_t, obj_t, obj_t);
static obj_t BGl_z62zc3z04anonymousza31395ze3ze5zz__weakhashz00(obj_t, obj_t, obj_t);
static obj_t BGl_weakzd2oldzd2hashtablezd2updatez12zc0zz__weakhashz00(obj_t, obj_t, obj_t, obj_t);
static obj_t BGl_methodzd2initzd2zz__weakhashz00(void);
extern obj_t BGl_bigloozd2typezd2errorz00zz__errorz00(obj_t, obj_t, obj_t);
extern obj_t bgl_make_weakptr(obj_t, obj_t);
extern obj_t BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(obj_t, obj_t, obj_t, obj_t, int, int);
static obj_t BGl_z62zc3z04anonymousza31469ze3ze5zz__weakhashz00(obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_weakzd2hashtablezd2removez12z12zz__weakhashz00(obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_weakzd2hashtablezd2ze3vectorze3zz__weakhashz00(obj_t);
extern obj_t BGl_bigloozd2typezd2errorzf2locationzf2zz__errorz00(obj_t, obj_t, obj_t, obj_t, obj_t);
static obj_t BGl_z62zc3z04anonymousza31478ze3ze5zz__weakhashz00(obj_t, obj_t);
static obj_t BGl_z62weakzd2hashtablezd2updatez12z70zz__weakhashz00(obj_t, obj_t, obj_t, obj_t, obj_t);
static obj_t BGl_weakzd2keyszd2hashtablezd2updatez12zc0zz__weakhashz00(obj_t, obj_t, obj_t, obj_t);
static obj_t BGl_symbol3505z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_symbol3507z00zz__weakhashz00 = BUNSPEC;
BGL_EXPORTED_DECL obj_t BGl_weakzd2hashtablezd2expandz12z12zz__weakhashz00(obj_t);
static obj_t BGl_removestopz00zz__weakhashz00 = BUNSPEC;
BGL_EXPORTED_DECL obj_t BGl_weakzd2hashtablezd2filterz12z12zz__weakhashz00(obj_t, obj_t);
static obj_t BGl_symbol3431z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_symbol3436z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_symbol3519z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_symbol3438z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_z62zc3z04anonymousza31747ze3ze5zz__weakhashz00(obj_t, obj_t, obj_t, obj_t);
extern long BGl_getzd2hashnumberzd2persistentz00zz__hashz00(obj_t);
extern long BGl_getzd2hashnumberzd2zz__hashz00(obj_t);
static obj_t BGl_symbol3521z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_symbol3440z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_weakzd2keyszd2hashtablezd2addz12zc0zz__weakhashz00(obj_t, obj_t, obj_t, obj_t, obj_t);
static obj_t BGl_symbol3443z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_symbol3527z00zz__weakhashz00 = BUNSPEC;
extern bool_t BGl_hashtablezd2weakzd2datazf3zf3zz__hashz00(obj_t);
static bool_t BGl_oldzd2traversezd2hashz00zz__weakhashz00(obj_t, obj_t);
extern obj_t BGl_errorz00zz__errorz00(obj_t, obj_t, obj_t);
extern obj_t BGl_gcz00zz__biglooz00(obj_t);
static obj_t BGl_z62zc3z04anonymousza31506ze3ze5zz__weakhashz00(obj_t, obj_t, obj_t);
static long BGl_tablezd2getzd2hashnumberz00zz__weakhashz00(obj_t, obj_t);
static obj_t BGl_weakzd2keyszd2hashtablezd2putz12zc0zz__weakhashz00(obj_t, obj_t, obj_t);
static obj_t BGl_z62weakzd2hashtablezd2containszf3z91zz__weakhashz00(obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_weakzd2hashtablezd2clearz12z12zz__weakhashz00(obj_t);
BGL_EXPORTED_DECL obj_t BGl_weakzd2hashtablezd2addz12z12zz__weakhashz00(obj_t, obj_t, obj_t, obj_t, obj_t);
static obj_t *__cnst;


DEFINE_STRING( BGl_string3570z00zz__weakhashz00, BgL_bgl_string3570za700za7za7_3608za7, "arg1689", 7 );
DEFINE_STRING( BGl_string3490z00zz__weakhashz00, BgL_bgl_string3490za700za7za7_3609za7, "pair-nil", 8 );
DEFINE_STRING( BGl_string3491z00zz__weakhashz00, BgL_bgl_string3491za700za7za7_3610za7, "&weak-hashtable->list", 21 );
DEFINE_STRING( BGl_string3573z00zz__weakhashz00, BgL_bgl_string3573za700za7za7_3611za7, "arg1681", 7 );
DEFINE_STRING( BGl_string3492z00zz__weakhashz00, BgL_bgl_string3492za700za7za7_3612za7, "weak-hashtable-key-list", 23 );
DEFINE_STRING( BGl_string3574z00zz__weakhashz00, BgL_bgl_string3574za700za7za7_3613za7, "weak-old-hashtable-add!", 23 );
DEFINE_STRING( BGl_string3493z00zz__weakhashz00, BgL_bgl_string3493za700za7za7_3614za7, "&weak-hashtable-key-list", 24 );
DEFINE_STRING( BGl_string3575z00zz__weakhashz00, BgL_bgl_string3575za700za7za7_3615za7, "weak-old-hashtable-add!:Wrong number of arguments", 49 );
DEFINE_STRING( BGl_string3494z00zz__weakhashz00, BgL_bgl_string3494za700za7za7_3616za7, "weak-hashtable-map", 18 );
DEFINE_EXPORT_BGL_PROCEDURE( BGl_weakzd2hashtablezd2filterz12zd2envzc0zz__weakhashz00, BgL_bgl_za762weakza7d2hashta3617z00, BGl_z62weakzd2hashtablezd2filterz12z70zz__weakhashz00, 0L, BUNSPEC, 2 );
DEFINE_STRING( BGl_string3495z00zz__weakhashz00, BgL_bgl_string3495za700za7za7_3618za7, "&weak-hashtable-map", 19 );
DEFINE_STRING( BGl_string3496z00zz__weakhashz00, BgL_bgl_string3496za700za7za7_3619za7, "<@anonymous:1472>:Wrong number of arguments", 43 );
DEFINE_STRING( BGl_string3578z00zz__weakhashz00, BgL_bgl_string3578za700za7za7_3620za7, "arg1712", 7 );
DEFINE_STRING( BGl_string3499z00zz__weakhashz00, BgL_bgl_string3499za700za7za7_3621za7, "val", 3 );
DEFINE_STRING( BGl_string3580z00zz__weakhashz00, BgL_bgl_string3580za700za7za7_3622za7, "arg1713", 7 );
DEFINE_STRING( BGl_string3581z00zz__weakhashz00, BgL_bgl_string3581za700za7za7_3623za7, "<@anonymous:1715>", 17 );
DEFINE_STRING( BGl_string3582z00zz__weakhashz00, BgL_bgl_string3582za700za7za7_3624za7, "<@anonymous:1715>:Wrong number of arguments", 43 );
DEFINE_STRING( BGl_string3583z00zz__weakhashz00, BgL_bgl_string3583za700za7za7_3625za7, "&weak-hashtable-add!", 20 );
DEFINE_STRING( BGl_string3584z00zz__weakhashz00, BgL_bgl_string3584za700za7za7_3626za7, "weak-keys-hashtable-remove!", 27 );
DEFINE_STRING( BGl_string3585z00zz__weakhashz00, BgL_bgl_string3585za700za7za7_3627za7, "weak-keys-hashtable-remove!:Wrong number of arguments", 53 );
DEFINE_STRING( BGl_string3588z00zz__weakhashz00, BgL_bgl_string3588za700za7za7_3628za7, "arg1743", 7 );
DEFINE_STRING( BGl_string3591z00zz__weakhashz00, BgL_bgl_string3591za700za7za7_3629za7, "arg1741", 7 );
DEFINE_STRING( BGl_string3592z00zz__weakhashz00, BgL_bgl_string3592za700za7za7_3630za7, "weak-old-hashtable-remove!", 26 );
DEFINE_STRING( BGl_string3593z00zz__weakhashz00, BgL_bgl_string3593za700za7za7_3631za7, "<@anonymous:1747>", 17 );
DEFINE_STRING( BGl_string3594z00zz__weakhashz00, BgL_bgl_string3594za700za7za7_3632za7, "<@anonymous:1747>:Wrong number of arguments", 43 );
DEFINE_STRING( BGl_string3595z00zz__weakhashz00, BgL_bgl_string3595za700za7za7_3633za7, "&weak-hashtable-remove!", 23 );
DEFINE_STRING( BGl_string3596z00zz__weakhashz00, BgL_bgl_string3596za700za7za7_3634za7, "weak-keys-hashtable-expand!", 27 );
DEFINE_STRING( BGl_string3597z00zz__weakhashz00, BgL_bgl_string3597za700za7za7_3635za7, "<@anonymous:1754>", 17 );
DEFINE_STRING( BGl_string3598z00zz__weakhashz00, BgL_bgl_string3598za700za7za7_3636za7, "<@anonymous:1770>", 17 );
DEFINE_STRING( BGl_string3599z00zz__weakhashz00, BgL_bgl_string3599za700za7za7_3637za7, "Hashtable too large (new-len=~a/~a, size=~a)", 44 );
DEFINE_EXPORT_BGL_PROCEDURE( BGl_weakzd2hashtablezd2clearz12zd2envzc0zz__weakhashz00, BgL_bgl_za762weakza7d2hashta3638z00, BGl_z62weakzd2hashtablezd2clearz12z70zz__weakhashz00, 0L, BUNSPEC, 1 );
DEFINE_EXPORT_BGL_PROCEDURE( BGl_weakzd2hashtablezd2ze3vectorzd2envz31zz__weakhashz00, BgL_bgl_za762weakza7d2hashta3639z00, BGl_z62weakzd2hashtablezd2ze3vectorz81zz__weakhashz00, 0L, BUNSPEC, 1 );
DEFINE_EXPORT_BGL_PROCEDURE( BGl_weakzd2hashtablezd2mapzd2envzd2zz__weakhashz00, BgL_bgl_za762weakza7d2hashta3640z00, BGl_z62weakzd2hashtablezd2mapz62zz__weakhashz00, 0L, BUNSPEC, 2 );
DEFINE_EXPORT_BGL_PROCEDURE( BGl_weakzd2hashtablezd2getzd2envzd2zz__weakhashz00, BgL_bgl_za762weakza7d2hashta3641z00, BGl_z62weakzd2hashtablezd2getz62zz__weakhashz00, 0L, BUNSPEC, 2 );
DEFINE_EXPORT_BGL_PROCEDURE( BGl_weakzd2hashtablezd2containszf3zd2envz21zz__weakhashz00, BgL_bgl_za762weakza7d2hashta3642z00, BGl_z62weakzd2hashtablezd2containszf3z91zz__weakhashz00, 0L, BUNSPEC, 2 );
DEFINE_EXPORT_BGL_PROCEDURE( BGl_weakzd2hashtablezd2expandz12zd2envzc0zz__weakhashz00, BgL_bgl_za762weakza7d2hashta3643z00, BGl_z62weakzd2hashtablezd2expandz12z70zz__weakhashz00, 0L, BUNSPEC, 1 );
DEFINE_EXPORT_BGL_PROCEDURE( BGl_weakzd2hashtablezd2ze3listzd2envz31zz__weakhashz00, BgL_bgl_za762weakza7d2hashta3644z00, BGl_z62weakzd2hashtablezd2ze3listz81zz__weakhashz00, 0L, BUNSPEC, 1 );
DEFINE_STRING( BGl_string3500z00zz__weakhashz00, BgL_bgl_string3500za700za7za7_3645za7, "&weak-hashtable-for-each", 24 );
DEFINE_STRING( BGl_string3501z00zz__weakhashz00, BgL_bgl_string3501za700za7za7_3646za7, "weak-keys-hashtable-filter!", 27 );
DEFINE_STRING( BGl_string3502z00zz__weakhashz00, BgL_bgl_string3502za700za7za7_3647za7, "<@anonymous:1478>", 17 );
DEFINE_STRING( BGl_string3503z00zz__weakhashz00, BgL_bgl_string3503za700za7za7_3648za7, "<@anonymous:1478>:Wrong number of arguments", 43 );
DEFINE_STRING( BGl_string3506z00zz__weakhashz00, BgL_bgl_string3506za700za7za7_3649za7, "arg1491", 7 );
DEFINE_STRING( BGl_string3508z00zz__weakhashz00, BgL_bgl_string3508za700za7za7_3650za7, "arg1492", 7 );
DEFINE_STRING( BGl_string3509z00zz__weakhashz00, BgL_bgl_string3509za700za7za7_3651za7, "weak-old-hashtable-filter!", 26 );
DEFINE_STRING( BGl_string3428z00zz__weakhashz00, BgL_bgl_string3428za700za7za7_3652za7, "/tmp/bigloo/runtime/Llib/hash.sch", 33 );
DEFINE_EXPORT_BGL_PROCEDURE( BGl_weakzd2hashtablezd2updatez12zd2envzc0zz__weakhashz00, BgL_bgl_za762weakza7d2hashta3653z00, BGl_z62weakzd2hashtablezd2updatez12z70zz__weakhashz00, 0L, BUNSPEC, 4 );
DEFINE_STRING( BGl_string3429z00zz__weakhashz00, BgL_bgl_string3429za700za7za7_3654za7, "table-get-hashnumber", 20 );
DEFINE_STRING( BGl_string3510z00zz__weakhashz00, BgL_bgl_string3510za700za7za7_3655za7, "<@anonymous:1500>", 17 );
DEFINE_STRING( BGl_string3511z00zz__weakhashz00, BgL_bgl_string3511za700za7za7_3656za7, "<@anonymous:1500>:Wrong number of arguments", 43 );
DEFINE_STRING( BGl_string3430z00zz__weakhashz00, BgL_bgl_string3430za700za7za7_3657za7, "symbol", 6 );
DEFINE_STRING( BGl_string3512z00zz__weakhashz00, BgL_bgl_string3512za700za7za7_3658za7, "&weak-hashtable-filter!", 23 );
DEFINE_STRING( BGl_string3432z00zz__weakhashz00, BgL_bgl_string3432za700za7za7_3659za7, "%hashtable", 10 );
DEFINE_STRING( BGl_string3433z00zz__weakhashz00, BgL_bgl_string3433za700za7za7_3660za7, "struct-ref:not an instance of", 29 );
DEFINE_STRING( BGl_string3515z00zz__weakhashz00, BgL_bgl_string3515za700za7za7_3661za7, "&weak-hashtable-clear!", 22 );
DEFINE_STRING( BGl_string3434z00zz__weakhashz00, BgL_bgl_string3434za700za7za7_3662za7, "table-get-hashnumber:Wrong number of arguments", 46 );
DEFINE_STRING( BGl_string3516z00zz__weakhashz00, BgL_bgl_string3516za700za7za7_3663za7, "weak-keys-hashtable-contains?", 29 );
DEFINE_STRING( BGl_string3517z00zz__weakhashz00, BgL_bgl_string3517za700za7za7_3664za7, "loop:Wrong number of arguments", 30 );
DEFINE_STRING( BGl_string3437z00zz__weakhashz00, BgL_bgl_string3437za700za7za7_3665za7, "funcall", 7 );
DEFINE_STRING( BGl_string3439z00zz__weakhashz00, BgL_bgl_string3439za700za7za7_3666za7, "hashn", 5 );
DEFINE_STRING( BGl_string3600z00zz__weakhashz00, BgL_bgl_string3600za700za7za7_3667za7, "hashtable-put!", 14 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc3513z00zz__weakhashz00, BgL_bgl_za762za7c3za704anonymo3668za7, BGl_z62zc3z04anonymousza31506ze3ze5zz__weakhashz00, 0L, BUNSPEC, 2 );
DEFINE_STRING( BGl_string3601z00zz__weakhashz00, BgL_bgl_string3601za700za7za7_3669za7, "weak-old-hashtable-expand!", 26 );
DEFINE_STRING( BGl_string3520z00zz__weakhashz00, BgL_bgl_string3520za700za7za7_3670za7, "eqt", 3 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc3514z00zz__weakhashz00, BgL_bgl_za762za7c3za704anonymo3671za7, BGl_z62zc3z04anonymousza31508ze3ze5zz__weakhashz00, 0L, BUNSPEC, 2 );
DEFINE_STRING( BGl_string3602z00zz__weakhashz00, BgL_bgl_string3602za700za7za7_3672za7, "<@anonymous:1790>", 17 );
DEFINE_STRING( BGl_string3603z00zz__weakhashz00, BgL_bgl_string3603za700za7za7_3673za7, "<@anonymous:1806>", 17 );
DEFINE_STRING( BGl_string3522z00zz__weakhashz00, BgL_bgl_string3522za700za7za7_3674za7, "arg1519", 7 );
DEFINE_STRING( BGl_string3441z00zz__weakhashz00, BgL_bgl_string3441za700za7za7_3675za7, "key", 3 );
DEFINE_STRING( BGl_string3604z00zz__weakhashz00, BgL_bgl_string3604za700za7za7_3676za7, "<@anonymous:1827>", 17 );
DEFINE_STRING( BGl_string3523z00zz__weakhashz00, BgL_bgl_string3523za700za7za7_3677za7, "weak-old-hashtable-contains?", 28 );
DEFINE_STRING( BGl_string3442z00zz__weakhashz00, BgL_bgl_string3442za700za7za7_3678za7, "bint", 4 );
DEFINE_STRING( BGl_string3605z00zz__weakhashz00, BgL_bgl_string3605za700za7za7_3679za7, "<@anonymous:1843>", 17 );
DEFINE_STRING( BGl_string3524z00zz__weakhashz00, BgL_bgl_string3524za700za7za7_3680za7, "<@anonymous:1523>", 17 );
DEFINE_STRING( BGl_string3606z00zz__weakhashz00, BgL_bgl_string3606za700za7za7_3681za7, "&weak-hashtable-expand!", 23 );
DEFINE_STRING( BGl_string3525z00zz__weakhashz00, BgL_bgl_string3525za700za7za7_3682za7, "<@anonymous:1523>:Wrong number of arguments", 43 );
DEFINE_STRING( BGl_string3444z00zz__weakhashz00, BgL_bgl_string3444za700za7za7_3683za7, "persistent", 10 );
DEFINE_STRING( BGl_string3607z00zz__weakhashz00, BgL_bgl_string3607za700za7za7_3684za7, "__weakhash", 10 );
DEFINE_STRING( BGl_string3445z00zz__weakhashz00, BgL_bgl_string3445za700za7za7_3685za7, "/tmp/bigloo/runtime/Llib/weakhash.scm", 37 );
DEFINE_STRING( BGl_string3446z00zz__weakhashz00, BgL_bgl_string3446za700za7za7_3686za7, "traverse-buckets", 16 );
DEFINE_STRING( BGl_string3528z00zz__weakhashz00, BgL_bgl_string3528za700za7za7_3687za7, "bkey", 4 );
DEFINE_STRING( BGl_string3447z00zz__weakhashz00, BgL_bgl_string3447za700za7za7_3688za7, "vector", 6 );
DEFINE_EXPORT_BGL_PROCEDURE( BGl_weakzd2hashtablezd2forzd2eachzd2envz00zz__weakhashz00, BgL_bgl_za762weakza7d2hashta3689z00, BGl_z62weakzd2hashtablezd2forzd2eachzb0zz__weakhashz00, 0L, BUNSPEC, 2 );
DEFINE_STRING( BGl_string3529z00zz__weakhashz00, BgL_bgl_string3529za700za7za7_3690za7, "&weak-hashtable-contains?", 25 );
DEFINE_STRING( BGl_string3448z00zz__weakhashz00, BgL_bgl_string3448za700za7za7_3691za7, "vector-ref", 10 );
DEFINE_STRING( BGl_string3449z00zz__weakhashz00, BgL_bgl_string3449za700za7za7_3692za7, "liip", 4 );
DEFINE_STRING( BGl_string3530z00zz__weakhashz00, BgL_bgl_string3530za700za7za7_3693za7, "weak-keys-hashtable-get", 23 );
DEFINE_STRING( BGl_string3450z00zz__weakhashz00, BgL_bgl_string3450za700za7za7_3694za7, "pair", 4 );
DEFINE_STRING( BGl_string3451z00zz__weakhashz00, BgL_bgl_string3451za700za7za7_3695za7, "weakptr", 7 );
DEFINE_STRING( BGl_string3533z00zz__weakhashz00, BgL_bgl_string3533za700za7za7_3696za7, "arg1536", 7 );
DEFINE_STRING( BGl_string3452z00zz__weakhashz00, BgL_bgl_string3452za700za7za7_3697za7, "struct-set!:not an instance of", 30 );
DEFINE_STRING( BGl_string3534z00zz__weakhashz00, BgL_bgl_string3534za700za7za7_3698za7, "weak-old-hashtable-get", 22 );
DEFINE_STRING( BGl_string3453z00zz__weakhashz00, BgL_bgl_string3453za700za7za7_3699za7, "vector-set!", 11 );
DEFINE_STRING( BGl_string3535z00zz__weakhashz00, BgL_bgl_string3535za700za7za7_3700za7, "<@anonymous:1545>", 17 );
DEFINE_STRING( BGl_string3536z00zz__weakhashz00, BgL_bgl_string3536za700za7za7_3701za7, "<@anonymous:1545>:Wrong number of arguments", 43 );
DEFINE_STRING( BGl_string3455z00zz__weakhashz00, BgL_bgl_string3455za700za7za7_3702za7, "keys-traverse-hash", 18 );
DEFINE_STRING( BGl_string3537z00zz__weakhashz00, BgL_bgl_string3537za700za7za7_3703za7, "&weak-hashtable-get", 19 );
DEFINE_STRING( BGl_string3456z00zz__weakhashz00, BgL_bgl_string3456za700za7za7_3704za7, "loop", 4 );
DEFINE_STRING( BGl_string3538z00zz__weakhashz00, BgL_bgl_string3538za700za7za7_3705za7, "weak-keys-hashtable-put!", 24 );
DEFINE_STRING( BGl_string3457z00zz__weakhashz00, BgL_bgl_string3457za700za7za7_3706za7, "<@anonymous:1398>", 17 );
DEFINE_STRING( BGl_string3458z00zz__weakhashz00, BgL_bgl_string3458za700za7za7_3707za7, "procedure", 9 );
DEFINE_STRING( BGl_string3459z00zz__weakhashz00, BgL_bgl_string3459za700za7za7_3708za7, "<@anonymous:1398>:Wrong number of arguments", 43 );
DEFINE_STRING( BGl_string3541z00zz__weakhashz00, BgL_bgl_string3541za700za7za7_3709za7, "arg1578", 7 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc3454z00zz__weakhashz00, BgL_bgl_za762za7c3za704anonymo3710za7, BGl_z62zc3z04anonymousza31395ze3ze5zz__weakhashz00, 0L, BUNSPEC, 2 );
DEFINE_STRING( BGl_string3542z00zz__weakhashz00, BgL_bgl_string3542za700za7za7_3711za7, "weak-old-hashtable-put!", 23 );
DEFINE_STRING( BGl_string3543z00zz__weakhashz00, BgL_bgl_string3543za700za7za7_3712za7, "<@anonymous:1598>", 17 );
DEFINE_STRING( BGl_string3462z00zz__weakhashz00, BgL_bgl_string3462za700za7za7_3713za7, "fun", 3 );
DEFINE_STRING( BGl_string3544z00zz__weakhashz00, BgL_bgl_string3544za700za7za7_3714za7, "<@anonymous:1598>:Wrong number of arguments", 43 );
DEFINE_STRING( BGl_string3464z00zz__weakhashz00, BgL_bgl_string3464za700za7za7_3715za7, "arg1402", 7 );
DEFINE_STRING( BGl_string3546z00zz__weakhashz00, BgL_bgl_string3546za700za7za7_3716za7, "&weak-hashtable-put!", 20 );
DEFINE_STRING( BGl_string3547z00zz__weakhashz00, BgL_bgl_string3547za700za7za7_3717za7, "weak-keys-hashtable-update!", 27 );
DEFINE_STRING( BGl_string3466z00zz__weakhashz00, BgL_bgl_string3466za700za7za7_3718za7, "arg1403", 7 );
DEFINE_STRING( BGl_string3467z00zz__weakhashz00, BgL_bgl_string3467za700za7za7_3719za7, "for-each", 8 );
DEFINE_STRING( BGl_string3468z00zz__weakhashz00, BgL_bgl_string3468za700za7za7_3720za7, "list", 4 );
DEFINE_STRING( BGl_string3469z00zz__weakhashz00, BgL_bgl_string3469za700za7za7_3721za7, "old-traverse-hash", 17 );
DEFINE_STRING( BGl_string3550z00zz__weakhashz00, BgL_bgl_string3550za700za7za7_3722za7, "arg1628", 7 );
DEFINE_STRING( BGl_string3470z00zz__weakhashz00, BgL_bgl_string3470za700za7za7_3723za7, "liip:Wrong number of arguments", 30 );
DEFINE_STRING( BGl_string3553z00zz__weakhashz00, BgL_bgl_string3553za700za7za7_3724za7, "proc", 4 );
DEFINE_STRING( BGl_string3473z00zz__weakhashz00, BgL_bgl_string3473za700za7za7_3725za7, "arg1416", 7 );
DEFINE_STRING( BGl_string3555z00zz__weakhashz00, BgL_bgl_string3555za700za7za7_3726za7, "arg1623", 7 );
DEFINE_STRING( BGl_string3556z00zz__weakhashz00, BgL_bgl_string3556za700za7za7_3727za7, "weak-old-hashtable-update!", 26 );
DEFINE_STRING( BGl_string3557z00zz__weakhashz00, BgL_bgl_string3557za700za7za7_3728za7, "<@anonymous:1645>", 17 );
DEFINE_STRING( BGl_string3476z00zz__weakhashz00, BgL_bgl_string3476za700za7za7_3729za7, "arg1427", 7 );
DEFINE_STRING( BGl_string3558z00zz__weakhashz00, BgL_bgl_string3558za700za7za7_3730za7, "<@anonymous:1645>:Wrong number of arguments", 43 );
DEFINE_STRING( BGl_string3478z00zz__weakhashz00, BgL_bgl_string3478za700za7za7_3731za7, "data", 4 );
DEFINE_EXPORT_BGL_PROCEDURE( BGl_weakzd2hashtablezd2addz12zd2envzc0zz__weakhashz00, BgL_bgl_za762weakza7d2hashta3732z00, BGl_z62weakzd2hashtablezd2addz12z70zz__weakhashz00, 0L, BUNSPEC, 5 );
DEFINE_EXPORT_BGL_PROCEDURE( BGl_weakzd2hashtablezd2removez12zd2envzc0zz__weakhashz00, BgL_bgl_za762weakza7d2hashta3733z00, BGl_z62weakzd2hashtablezd2removez12z70zz__weakhashz00, 0L, BUNSPEC, 2 );
DEFINE_EXPORT_BGL_PROCEDURE( BGl_weakzd2hashtablezd2putz12zd2envzc0zz__weakhashz00, BgL_bgl_za762weakza7d2hashta3734z00, BGl_z62weakzd2hashtablezd2putz12z70zz__weakhashz00, 0L, BUNSPEC, 3 );
DEFINE_STRING( BGl_string3560z00zz__weakhashz00, BgL_bgl_string3560za700za7za7_3735za7, "&weak-hashtable-update!", 23 );
DEFINE_STRING( BGl_string3561z00zz__weakhashz00, BgL_bgl_string3561za700za7za7_3736za7, "weak-keys-hashtable-add!", 24 );
DEFINE_STRING( BGl_string3562z00zz__weakhashz00, BgL_bgl_string3562za700za7za7_3737za7, "weak-keys-hashtable-add!:Wrong number of arguments", 50 );
DEFINE_STRING( BGl_string3482z00zz__weakhashz00, BgL_bgl_string3482za700za7za7_3738za7, "arg1450", 7 );
DEFINE_STRING( BGl_string3565z00zz__weakhashz00, BgL_bgl_string3565za700za7za7_3739za7, "obj", 3 );
DEFINE_STRING( BGl_string3484z00zz__weakhashz00, BgL_bgl_string3484za700za7za7_3740za7, "arg1451", 7 );
DEFINE_STRING( BGl_string3485z00zz__weakhashz00, BgL_bgl_string3485za700za7za7_3741za7, "weak-hashtable->vector", 22 );
DEFINE_STRING( BGl_string3567z00zz__weakhashz00, BgL_bgl_string3567za700za7za7_3742za7, "init", 4 );
DEFINE_STRING( BGl_string3486z00zz__weakhashz00, BgL_bgl_string3486za700za7za7_3743za7, "&weak-hashtable->vector", 23 );
DEFINE_STRING( BGl_string3487z00zz__weakhashz00, BgL_bgl_string3487za700za7za7_3744za7, "struct", 6 );
DEFINE_STRING( BGl_string3488z00zz__weakhashz00, BgL_bgl_string3488za700za7za7_3745za7, "<@anonymous:1458>", 17 );
DEFINE_STRING( BGl_string3489z00zz__weakhashz00, BgL_bgl_string3489za700za7za7_3746za7, "weak-hashtable->list", 20 );
DEFINE_EXPORT_BGL_PROCEDURE( BGl_weakzd2hashtablezd2keyzd2listzd2envz00zz__weakhashz00, BgL_bgl_za762weakza7d2hashta3747z00, BGl_z62weakzd2hashtablezd2keyzd2listzb0zz__weakhashz00, 0L, BUNSPEC, 1 );

/* GC roots registration */
static obj_t bgl_gc_roots_register() {
#if defined( BGL_GC_ROOTS )
#define ADD_ROOT( addr ) (addr > roots_max ? roots_max = addr : (addr < roots_min ? roots_min = addr : 0))
void *roots_min = (void*)ULONG_MAX, *roots_max = 0;
ADD_ROOT( (void *)(&BGl_symbol3532z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_list3504z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_symbol3540z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_symbol3461z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_symbol3463z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_symbol3465z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_symbol3549z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_list3435z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_list3518z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_requirezd2initializa7ationz75zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_symbol3552z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_symbol3472z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_symbol3554z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_symbol3475z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_symbol3477z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_list3526z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_symbol3481z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_symbol3564z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_list3531z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_symbol3483z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_symbol3566z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_symbol3569z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_removez00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_list3539z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_symbol3572z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_list3460z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_symbol3577z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_list3545z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_symbol3579z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_symbol3498z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_list3548z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_keepgoingz00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_list3551z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_list3471z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_symbol3587z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_list3474z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_list3559z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_list3479z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_symbol3590z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_list3480z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_list3563z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_list3568z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_list3571z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_list3576z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_list3497z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_list3586z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_list3589z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_symbol3505z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_symbol3507z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_removestopz00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_symbol3431z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_symbol3436z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_symbol3519z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_symbol3438z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_symbol3521z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_symbol3440z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_symbol3443z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_symbol3527z00zz__weakhashz00) );
#undef ADD_ROOT
if( roots_max > 0 ) GC_add_roots( roots_min, ((void **)roots_max) + 1 );
#endif
return BUNSPEC;
}



/* module-initialization */
BGL_EXPORTED_DEF obj_t BGl_modulezd2initializa7ationz75zz__weakhashz00(long BgL_checksumz00_5756, char * BgL_fromz00_5757)
{
{ 
if(
CBOOL(BGl_requirezd2initializa7ationz75zz__weakhashz00))
{ 
BGl_requirezd2initializa7ationz75zz__weakhashz00 = 
BBOOL(((bool_t)0)); 
BGl_gczd2rootszd2initz00zz__weakhashz00(); 
BGl_cnstzd2initzd2zz__weakhashz00(); 
BGl_importedzd2moduleszd2initz00zz__weakhashz00(); 
return 
BGl_toplevelzd2initzd2zz__weakhashz00();}  else 
{ 
return BUNSPEC;} } 

}



/* cnst-init */
obj_t BGl_cnstzd2initzd2zz__weakhashz00(void)
{
{ /* Llib/weakhash.scm 18 */
BGl_symbol3431z00zz__weakhashz00 = 
bstring_to_symbol(BGl_string3432z00zz__weakhashz00); 
BGl_symbol3436z00zz__weakhashz00 = 
bstring_to_symbol(BGl_string3437z00zz__weakhashz00); 
BGl_symbol3438z00zz__weakhashz00 = 
bstring_to_symbol(BGl_string3439z00zz__weakhashz00); 
BGl_symbol3440z00zz__weakhashz00 = 
bstring_to_symbol(BGl_string3441z00zz__weakhashz00); 
BGl_list3435z00zz__weakhashz00 = 
MAKE_YOUNG_PAIR(BGl_symbol3436z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3438z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3438z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3440z00zz__weakhashz00, BNIL)))); 
BGl_symbol3443z00zz__weakhashz00 = 
bstring_to_symbol(BGl_string3444z00zz__weakhashz00); 
BGl_symbol3461z00zz__weakhashz00 = 
bstring_to_symbol(BGl_string3462z00zz__weakhashz00); 
BGl_symbol3463z00zz__weakhashz00 = 
bstring_to_symbol(BGl_string3464z00zz__weakhashz00); 
BGl_symbol3465z00zz__weakhashz00 = 
bstring_to_symbol(BGl_string3466z00zz__weakhashz00); 
BGl_list3460z00zz__weakhashz00 = 
MAKE_YOUNG_PAIR(BGl_symbol3436z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3461z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3461z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3463z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3465z00zz__weakhashz00, BNIL))))); 
BGl_symbol3472z00zz__weakhashz00 = 
bstring_to_symbol(BGl_string3473z00zz__weakhashz00); 
BGl_list3471z00zz__weakhashz00 = 
MAKE_YOUNG_PAIR(BGl_symbol3436z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3461z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3461z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3440z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3472z00zz__weakhashz00, BNIL))))); 
BGl_symbol3475z00zz__weakhashz00 = 
bstring_to_symbol(BGl_string3476z00zz__weakhashz00); 
BGl_symbol3477z00zz__weakhashz00 = 
bstring_to_symbol(BGl_string3478z00zz__weakhashz00); 
BGl_list3474z00zz__weakhashz00 = 
MAKE_YOUNG_PAIR(BGl_symbol3436z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3461z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3461z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3475z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3477z00zz__weakhashz00, BNIL))))); 
BGl_list3479z00zz__weakhashz00 = 
MAKE_YOUNG_PAIR(BGl_symbol3436z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3461z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3461z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3440z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3477z00zz__weakhashz00, BNIL))))); 
BGl_symbol3481z00zz__weakhashz00 = 
bstring_to_symbol(BGl_string3482z00zz__weakhashz00); 
BGl_symbol3483z00zz__weakhashz00 = 
bstring_to_symbol(BGl_string3484z00zz__weakhashz00); 
BGl_list3480z00zz__weakhashz00 = 
MAKE_YOUNG_PAIR(BGl_symbol3436z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3461z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3461z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3481z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3483z00zz__weakhashz00, BNIL))))); 
BGl_symbol3498z00zz__weakhashz00 = 
bstring_to_symbol(BGl_string3499z00zz__weakhashz00); 
BGl_list3497z00zz__weakhashz00 = 
MAKE_YOUNG_PAIR(BGl_symbol3436z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3461z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3461z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3440z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3498z00zz__weakhashz00, BNIL))))); 
BGl_symbol3505z00zz__weakhashz00 = 
bstring_to_symbol(BGl_string3506z00zz__weakhashz00); 
BGl_symbol3507z00zz__weakhashz00 = 
bstring_to_symbol(BGl_string3508z00zz__weakhashz00); 
BGl_list3504z00zz__weakhashz00 = 
MAKE_YOUNG_PAIR(BGl_symbol3436z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3461z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3461z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3505z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3507z00zz__weakhashz00, BNIL))))); 
BGl_symbol3519z00zz__weakhashz00 = 
bstring_to_symbol(BGl_string3520z00zz__weakhashz00); 
BGl_symbol3521z00zz__weakhashz00 = 
bstring_to_symbol(BGl_string3522z00zz__weakhashz00); 
BGl_list3518z00zz__weakhashz00 = 
MAKE_YOUNG_PAIR(BGl_symbol3436z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3519z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3519z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3521z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3440z00zz__weakhashz00, BNIL))))); 
BGl_symbol3527z00zz__weakhashz00 = 
bstring_to_symbol(BGl_string3528z00zz__weakhashz00); 
BGl_list3526z00zz__weakhashz00 = 
MAKE_YOUNG_PAIR(BGl_symbol3436z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3519z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3519z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3440z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3527z00zz__weakhashz00, BNIL))))); 
BGl_symbol3532z00zz__weakhashz00 = 
bstring_to_symbol(BGl_string3533z00zz__weakhashz00); 
BGl_list3531z00zz__weakhashz00 = 
MAKE_YOUNG_PAIR(BGl_symbol3436z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3519z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3519z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3532z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3440z00zz__weakhashz00, BNIL))))); 
BGl_symbol3540z00zz__weakhashz00 = 
bstring_to_symbol(BGl_string3541z00zz__weakhashz00); 
BGl_list3539z00zz__weakhashz00 = 
MAKE_YOUNG_PAIR(BGl_symbol3436z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3519z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3519z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3540z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3440z00zz__weakhashz00, BNIL))))); 
BGl_list3545z00zz__weakhashz00 = 
MAKE_YOUNG_PAIR(BGl_symbol3436z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3519z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3519z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3527z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3440z00zz__weakhashz00, BNIL))))); 
BGl_symbol3549z00zz__weakhashz00 = 
bstring_to_symbol(BGl_string3550z00zz__weakhashz00); 
BGl_list3548z00zz__weakhashz00 = 
MAKE_YOUNG_PAIR(BGl_symbol3436z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3519z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3519z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3549z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3440z00zz__weakhashz00, BNIL))))); 
BGl_symbol3552z00zz__weakhashz00 = 
bstring_to_symbol(BGl_string3553z00zz__weakhashz00); 
BGl_symbol3554z00zz__weakhashz00 = 
bstring_to_symbol(BGl_string3555z00zz__weakhashz00); 
BGl_list3551z00zz__weakhashz00 = 
MAKE_YOUNG_PAIR(BGl_symbol3436z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3552z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3552z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3554z00zz__weakhashz00, BNIL)))); 
BGl_list3559z00zz__weakhashz00 = 
MAKE_YOUNG_PAIR(BGl_symbol3436z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3552z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3552z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3498z00zz__weakhashz00, BNIL)))); 
BGl_symbol3564z00zz__weakhashz00 = 
bstring_to_symbol(BGl_string3565z00zz__weakhashz00); 
BGl_symbol3566z00zz__weakhashz00 = 
bstring_to_symbol(BGl_string3567z00zz__weakhashz00); 
BGl_list3563z00zz__weakhashz00 = 
MAKE_YOUNG_PAIR(BGl_symbol3436z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3552z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3552z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3564z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3566z00zz__weakhashz00, BNIL))))); 
BGl_symbol3569z00zz__weakhashz00 = 
bstring_to_symbol(BGl_string3570z00zz__weakhashz00); 
BGl_list3568z00zz__weakhashz00 = 
MAKE_YOUNG_PAIR(BGl_symbol3436z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3519z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3519z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3569z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3440z00zz__weakhashz00, BNIL))))); 
BGl_symbol3572z00zz__weakhashz00 = 
bstring_to_symbol(BGl_string3573z00zz__weakhashz00); 
BGl_list3571z00zz__weakhashz00 = 
MAKE_YOUNG_PAIR(BGl_symbol3436z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3552z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3552z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3564z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3572z00zz__weakhashz00, BNIL))))); 
BGl_symbol3577z00zz__weakhashz00 = 
bstring_to_symbol(BGl_string3578z00zz__weakhashz00); 
BGl_symbol3579z00zz__weakhashz00 = 
bstring_to_symbol(BGl_string3580z00zz__weakhashz00); 
BGl_list3576z00zz__weakhashz00 = 
MAKE_YOUNG_PAIR(BGl_symbol3436z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3552z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3552z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3577z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3579z00zz__weakhashz00, BNIL))))); 
BGl_symbol3587z00zz__weakhashz00 = 
bstring_to_symbol(BGl_string3588z00zz__weakhashz00); 
BGl_list3586z00zz__weakhashz00 = 
MAKE_YOUNG_PAIR(BGl_symbol3436z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3519z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3519z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3587z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3440z00zz__weakhashz00, BNIL))))); 
BGl_symbol3590z00zz__weakhashz00 = 
bstring_to_symbol(BGl_string3591z00zz__weakhashz00); 
return ( 
BGl_list3589z00zz__weakhashz00 = 
MAKE_YOUNG_PAIR(BGl_symbol3436z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3519z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3519z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3590z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3440z00zz__weakhashz00, BNIL))))), BUNSPEC) ;} 

}



/* gc-roots-init */
obj_t BGl_gczd2rootszd2initz00zz__weakhashz00(void)
{
{ /* Llib/weakhash.scm 18 */
return 
bgl_gc_roots_register();} 

}



/* toplevel-init */
obj_t BGl_toplevelzd2initzd2zz__weakhashz00(void)
{
{ /* Llib/weakhash.scm 18 */
BGl_keepgoingz00zz__weakhashz00 = 
MAKE_YOUNG_PAIR(BUNSPEC, BUNSPEC); 
BGl_removez00zz__weakhashz00 = 
MAKE_YOUNG_PAIR(BUNSPEC, BUNSPEC); 
return ( 
BGl_removestopz00zz__weakhashz00 = 
MAKE_YOUNG_PAIR(BUNSPEC, BUNSPEC), BUNSPEC) ;} 

}



/* table-get-hashnumber */
long BGl_tablezd2getzd2hashnumberz00zz__weakhashz00(obj_t BgL_tablez00_37, obj_t BgL_keyz00_38)
{
{ /* Llib/hash.sch 21 */
{ /* Llib/hash.sch 22 */
 obj_t BgL_hashnz00_1328;
{ /* Llib/hash.sch 15 */
 bool_t BgL_test3749z00_5908;
{ /* Llib/hash.sch 15 */
 obj_t BgL_tmpz00_5909;
{ /* Llib/hash.sch 15 */
 obj_t BgL_res2206z00_2622;
{ /* Llib/hash.sch 15 */
 obj_t BgL_aux2544z00_4768;
BgL_aux2544z00_4768 = 
STRUCT_KEY(BgL_tablez00_37); 
if(
SYMBOLP(BgL_aux2544z00_4768))
{ /* Llib/hash.sch 15 */
BgL_res2206z00_2622 = BgL_aux2544z00_4768; }  else 
{ 
 obj_t BgL_auxz00_5913;
BgL_auxz00_5913 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3428z00zz__weakhashz00, 
BINT(963L), BGl_string3429z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux2544z00_4768); 
FAILURE(BgL_auxz00_5913,BFALSE,BFALSE);} } 
BgL_tmpz00_5909 = BgL_res2206z00_2622; } 
BgL_test3749z00_5908 = 
(BgL_tmpz00_5909==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test3749z00_5908)
{ /* Llib/hash.sch 15 */
 int BgL_tmpz00_5918;
BgL_tmpz00_5918 = 
(int)(4L); 
BgL_hashnz00_1328 = 
STRUCT_REF(BgL_tablez00_37, BgL_tmpz00_5918); }  else 
{ /* Llib/hash.sch 15 */
BgL_hashnz00_1328 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_37); } } 
if(
PROCEDUREP(BgL_hashnz00_1328))
{ /* Llib/hash.sch 25 */
 obj_t BgL_arg1349z00_1330;
if(
PROCEDURE_CORRECT_ARITYP(BgL_hashnz00_1328, 1L))
{ /* Llib/hash.sch 25 */
BgL_arg1349z00_1330 = 
(VA_PROCEDUREP( BgL_hashnz00_1328 ) ? ((obj_t (*)(obj_t, ...))PROCEDURE_ENTRY(BgL_hashnz00_1328))(BgL_hashnz00_1328, BgL_keyz00_38, BEOA) : ((obj_t (*)(obj_t, obj_t))PROCEDURE_ENTRY(BgL_hashnz00_1328))(BgL_hashnz00_1328, BgL_keyz00_38) ); }  else 
{ /* Llib/hash.sch 25 */
FAILURE(BGl_string3434z00zz__weakhashz00,BGl_list3435z00zz__weakhashz00,BgL_hashnz00_1328);} 
{ /* Llib/hash.sch 25 */
 long BgL_nz00_2623;
{ /* Llib/hash.sch 25 */
 obj_t BgL_tmpz00_5931;
if(
INTEGERP(BgL_arg1349z00_1330))
{ /* Llib/hash.sch 25 */
BgL_tmpz00_5931 = BgL_arg1349z00_1330
; }  else 
{ 
 obj_t BgL_auxz00_5934;
BgL_auxz00_5934 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3428z00zz__weakhashz00, 
BINT(1434L), BGl_string3429z00zz__weakhashz00, BGl_string3442z00zz__weakhashz00, BgL_arg1349z00_1330); 
FAILURE(BgL_auxz00_5934,BFALSE,BFALSE);} 
BgL_nz00_2623 = 
(long)CINT(BgL_tmpz00_5931); } 
if(
(BgL_nz00_2623<0L))
{ /* Llib/hash.sch 25 */
return 
NEG(BgL_nz00_2623);}  else 
{ /* Llib/hash.sch 25 */
return BgL_nz00_2623;} } }  else 
{ /* Llib/hash.sch 24 */
if(
(BgL_hashnz00_1328==BGl_symbol3443z00zz__weakhashz00))
{ /* Llib/hash.sch 26 */
return 
BGl_getzd2hashnumberzd2persistentz00zz__hashz00(BgL_keyz00_38);}  else 
{ /* Llib/hash.sch 26 */
return 
BGl_getzd2hashnumberzd2zz__hashz00(BgL_keyz00_38);} } } } 

}



/* traverse-buckets */
obj_t BGl_traversezd2bucketszd2zz__weakhashz00(obj_t BgL_tablez00_47, obj_t BgL_bucketsz00_48, long BgL_iz00_49, obj_t BgL_funz00_50)
{
{ /* Llib/weakhash.scm 144 */
{ /* Llib/weakhash.scm 145 */
 bool_t BgL_test3756z00_5946;
{ /* Llib/weakhash.scm 151 */
 obj_t BgL_arg1392z00_1400;
{ /* Llib/weakhash.scm 151 */
 bool_t BgL_test3757z00_5947;
{ /* Llib/weakhash.scm 151 */
 obj_t BgL_tmpz00_5948;
{ /* Llib/weakhash.scm 151 */
 obj_t BgL_res2210z00_2667;
{ /* Llib/weakhash.scm 151 */
 obj_t BgL_aux2548z00_4773;
BgL_aux2548z00_4773 = 
STRUCT_KEY(BgL_tablez00_47); 
if(
SYMBOLP(BgL_aux2548z00_4773))
{ /* Llib/weakhash.scm 151 */
BgL_res2210z00_2667 = BgL_aux2548z00_4773; }  else 
{ 
 obj_t BgL_auxz00_5952;
BgL_auxz00_5952 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5859L), BGl_string3446z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux2548z00_4773); 
FAILURE(BgL_auxz00_5952,BFALSE,BFALSE);} } 
BgL_tmpz00_5948 = BgL_res2210z00_2667; } 
BgL_test3757z00_5947 = 
(BgL_tmpz00_5948==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test3757z00_5947)
{ /* Llib/weakhash.scm 151 */
 int BgL_tmpz00_5957;
BgL_tmpz00_5957 = 
(int)(5L); 
BgL_arg1392z00_1400 = 
STRUCT_REF(BgL_tablez00_47, BgL_tmpz00_5957); }  else 
{ /* Llib/weakhash.scm 151 */
BgL_arg1392z00_1400 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_47); } } 
{ /* Llib/weakhash.scm 151 */
 long BgL_n2z00_2668;
{ /* Llib/weakhash.scm 151 */
 obj_t BgL_tmpz00_5961;
if(
INTEGERP(BgL_arg1392z00_1400))
{ /* Llib/weakhash.scm 151 */
BgL_tmpz00_5961 = BgL_arg1392z00_1400
; }  else 
{ 
 obj_t BgL_auxz00_5964;
BgL_auxz00_5964 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5881L), BGl_string3446z00zz__weakhashz00, BGl_string3442z00zz__weakhashz00, BgL_arg1392z00_1400); 
FAILURE(BgL_auxz00_5964,BFALSE,BFALSE);} 
BgL_n2z00_2668 = 
(long)CINT(BgL_tmpz00_5961); } 
BgL_test3756z00_5946 = 
(1L==BgL_n2z00_2668); } } 
if(BgL_test3756z00_5946)
{ /* Llib/weakhash.scm 145 */
 obj_t BgL_g1060z00_1341;
{ /* Llib/weakhash.scm 145 */
 obj_t BgL_vectorz00_2669;
if(
VECTORP(BgL_bucketsz00_48))
{ /* Llib/weakhash.scm 145 */
BgL_vectorz00_2669 = BgL_bucketsz00_48; }  else 
{ 
 obj_t BgL_auxz00_5972;
BgL_auxz00_5972 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5685L), BGl_string3446z00zz__weakhashz00, BGl_string3447z00zz__weakhashz00, BgL_bucketsz00_48); 
FAILURE(BgL_auxz00_5972,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 145 */
 bool_t BgL_test3761z00_5976;
{ /* Llib/weakhash.scm 145 */
 long BgL_tmpz00_5977;
BgL_tmpz00_5977 = 
VECTOR_LENGTH(BgL_vectorz00_2669); 
BgL_test3761z00_5976 = 
BOUND_CHECK(BgL_iz00_49, BgL_tmpz00_5977); } 
if(BgL_test3761z00_5976)
{ /* Llib/weakhash.scm 145 */
BgL_g1060z00_1341 = 
VECTOR_REF(BgL_vectorz00_2669,BgL_iz00_49); }  else 
{ 
 obj_t BgL_auxz00_5981;
BgL_auxz00_5981 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5685L), BGl_string3448z00zz__weakhashz00, BgL_vectorz00_2669, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_2669)), 
(int)(BgL_iz00_49)); 
FAILURE(BgL_auxz00_5981,BFALSE,BFALSE);} } } 
{ 
 obj_t BgL_bucketz00_1343; obj_t BgL_lastzd2bucketzd2_1344;
BgL_bucketz00_1343 = BgL_g1060z00_1341; 
BgL_lastzd2bucketzd2_1344 = BFALSE; 
BgL_zc3z04anonymousza31359ze3z87_1345:
if(
NULLP(BgL_bucketz00_1343))
{ /* Llib/weakhash.scm 145 */
return BGl_keepgoingz00zz__weakhashz00;}  else 
{ /* Llib/weakhash.scm 145 */
 obj_t BgL_retz00_1347;
{ /* Llib/weakhash.scm 153 */
 obj_t BgL_keyz00_1350;
{ /* Llib/weakhash.scm 153 */
 obj_t BgL_arg1364z00_1352;
{ /* Llib/weakhash.scm 153 */
 obj_t BgL_pairz00_2671;
if(
PAIRP(BgL_bucketz00_1343))
{ /* Llib/weakhash.scm 153 */
BgL_pairz00_2671 = BgL_bucketz00_1343; }  else 
{ 
 obj_t BgL_auxz00_5992;
BgL_auxz00_5992 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5939L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_bucketz00_1343); 
FAILURE(BgL_auxz00_5992,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 153 */
 obj_t BgL_pairz00_2674;
{ /* Llib/weakhash.scm 153 */
 obj_t BgL_aux2555z00_4780;
BgL_aux2555z00_4780 = 
CAR(BgL_pairz00_2671); 
if(
PAIRP(BgL_aux2555z00_4780))
{ /* Llib/weakhash.scm 153 */
BgL_pairz00_2674 = BgL_aux2555z00_4780; }  else 
{ 
 obj_t BgL_auxz00_5999;
BgL_auxz00_5999 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5933L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_aux2555z00_4780); 
FAILURE(BgL_auxz00_5999,BFALSE,BFALSE);} } 
BgL_arg1364z00_1352 = 
CAR(BgL_pairz00_2674); } } 
{ /* Llib/weakhash.scm 153 */
 obj_t BgL_objz00_2675;
if(
BGL_WEAKPTRP(BgL_arg1364z00_1352))
{ /* Llib/weakhash.scm 153 */
BgL_objz00_2675 = BgL_arg1364z00_1352; }  else 
{ 
 obj_t BgL_auxz00_6006;
BgL_auxz00_6006 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5945L), BGl_string3449z00zz__weakhashz00, BGl_string3451z00zz__weakhashz00, BgL_arg1364z00_1352); 
FAILURE(BgL_auxz00_6006,BFALSE,BFALSE);} 
BgL_keyz00_1350 = 
bgl_weakptr_data(BgL_objz00_2675); } } 
if(
(BgL_keyz00_1350==BUNSPEC))
{ /* Llib/weakhash.scm 154 */
BgL_retz00_1347 = BGl_removez00zz__weakhashz00; }  else 
{ /* Llib/weakhash.scm 156 */
 obj_t BgL_arg1363z00_1351;
{ /* Llib/weakhash.scm 156 */
 obj_t BgL_pairz00_2676;
if(
PAIRP(BgL_bucketz00_1343))
{ /* Llib/weakhash.scm 156 */
BgL_pairz00_2676 = BgL_bucketz00_1343; }  else 
{ 
 obj_t BgL_auxz00_6015;
BgL_auxz00_6015 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(6025L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_bucketz00_1343); 
FAILURE(BgL_auxz00_6015,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 156 */
 obj_t BgL_pairz00_2679;
{ /* Llib/weakhash.scm 156 */
 obj_t BgL_aux2561z00_4786;
BgL_aux2561z00_4786 = 
CAR(BgL_pairz00_2676); 
if(
PAIRP(BgL_aux2561z00_4786))
{ /* Llib/weakhash.scm 156 */
BgL_pairz00_2679 = BgL_aux2561z00_4786; }  else 
{ 
 obj_t BgL_auxz00_6022;
BgL_auxz00_6022 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(6019L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_aux2561z00_4786); 
FAILURE(BgL_auxz00_6022,BFALSE,BFALSE);} } 
BgL_arg1363z00_1351 = 
CDR(BgL_pairz00_2679); } } 
BgL_retz00_1347 = 
((obj_t (*)(obj_t, obj_t, obj_t, obj_t))PROCEDURE_L_ENTRY(BgL_funz00_50))(BgL_funz00_50, BgL_keyz00_1350, BgL_arg1363z00_1351, BgL_bucketz00_1343); } } 
if(
(BgL_retz00_1347==BGl_keepgoingz00zz__weakhashz00))
{ /* Llib/weakhash.scm 145 */
 obj_t BgL_arg1361z00_1348;
{ /* Llib/weakhash.scm 145 */
 obj_t BgL_pairz00_2680;
if(
PAIRP(BgL_bucketz00_1343))
{ /* Llib/weakhash.scm 145 */
BgL_pairz00_2680 = BgL_bucketz00_1343; }  else 
{ 
 obj_t BgL_auxz00_6037;
BgL_auxz00_6037 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5685L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_bucketz00_1343); 
FAILURE(BgL_auxz00_6037,BFALSE,BFALSE);} 
BgL_arg1361z00_1348 = 
CDR(BgL_pairz00_2680); } 
{ 
 obj_t BgL_lastzd2bucketzd2_6043; obj_t BgL_bucketz00_6042;
BgL_bucketz00_6042 = BgL_arg1361z00_1348; 
BgL_lastzd2bucketzd2_6043 = BgL_bucketz00_1343; 
BgL_lastzd2bucketzd2_1344 = BgL_lastzd2bucketzd2_6043; 
BgL_bucketz00_1343 = BgL_bucketz00_6042; 
goto BgL_zc3z04anonymousza31359ze3z87_1345;} }  else 
{ /* Llib/weakhash.scm 145 */
if(
(BgL_retz00_1347==BGl_removez00zz__weakhashz00))
{ /* Llib/weakhash.scm 145 */
{ /* Llib/weakhash.scm 134 */
 long BgL_arg1353z00_2681;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_arg1354z00_2682;
{ /* Llib/weakhash.scm 134 */
 bool_t BgL_test3772z00_6046;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_tmpz00_6047;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_res2211z00_2688;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_aux2565z00_4790;
BgL_aux2565z00_4790 = 
STRUCT_KEY(BgL_tablez00_47); 
if(
SYMBOLP(BgL_aux2565z00_4790))
{ /* Llib/weakhash.scm 134 */
BgL_res2211z00_2688 = BgL_aux2565z00_4790; }  else 
{ 
 obj_t BgL_auxz00_6051;
BgL_auxz00_6051 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5201L), BGl_string3449z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux2565z00_4790); 
FAILURE(BgL_auxz00_6051,BFALSE,BFALSE);} } 
BgL_tmpz00_6047 = BgL_res2211z00_2688; } 
BgL_test3772z00_6046 = 
(BgL_tmpz00_6047==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test3772z00_6046)
{ /* Llib/weakhash.scm 134 */
 int BgL_tmpz00_6056;
BgL_tmpz00_6056 = 
(int)(0L); 
BgL_arg1354z00_2682 = 
STRUCT_REF(BgL_tablez00_47, BgL_tmpz00_6056); }  else 
{ /* Llib/weakhash.scm 134 */
BgL_arg1354z00_2682 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_47); } } 
{ /* Llib/weakhash.scm 134 */
 long BgL_za71za7_2689;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_tmpz00_6060;
if(
INTEGERP(BgL_arg1354z00_2682))
{ /* Llib/weakhash.scm 134 */
BgL_tmpz00_6060 = BgL_arg1354z00_2682
; }  else 
{ 
 obj_t BgL_auxz00_6063;
BgL_auxz00_6063 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5223L), BGl_string3449z00zz__weakhashz00, BGl_string3442z00zz__weakhashz00, BgL_arg1354z00_2682); 
FAILURE(BgL_auxz00_6063,BFALSE,BFALSE);} 
BgL_za71za7_2689 = 
(long)CINT(BgL_tmpz00_6060); } 
BgL_arg1353z00_2681 = 
(BgL_za71za7_2689-1L); } } 
{ /* Llib/weakhash.scm 134 */
 bool_t BgL_test3775z00_6069;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_tmpz00_6070;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_res2212z00_2693;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_aux2568z00_4793;
BgL_aux2568z00_4793 = 
STRUCT_KEY(BgL_tablez00_47); 
if(
SYMBOLP(BgL_aux2568z00_4793))
{ /* Llib/weakhash.scm 134 */
BgL_res2212z00_2693 = BgL_aux2568z00_4793; }  else 
{ 
 obj_t BgL_auxz00_6074;
BgL_auxz00_6074 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5168L), BGl_string3449z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux2568z00_4793); 
FAILURE(BgL_auxz00_6074,BFALSE,BFALSE);} } 
BgL_tmpz00_6070 = BgL_res2212z00_2693; } 
BgL_test3775z00_6069 = 
(BgL_tmpz00_6070==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test3775z00_6069)
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_auxz00_6081; int BgL_tmpz00_6079;
BgL_auxz00_6081 = 
BINT(BgL_arg1353z00_2681); 
BgL_tmpz00_6079 = 
(int)(0L); 
STRUCT_SET(BgL_tablez00_47, BgL_tmpz00_6079, BgL_auxz00_6081); }  else 
{ /* Llib/weakhash.scm 134 */
BGl_errorz00zz__errorz00(BGl_string3452z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_47); } } } 
if(
CBOOL(BgL_lastzd2bucketzd2_1344))
{ /* Llib/weakhash.scm 136 */
 obj_t BgL_arg1355z00_2683;
{ /* Llib/weakhash.scm 136 */
 obj_t BgL_pairz00_2694;
if(
PAIRP(BgL_bucketz00_1343))
{ /* Llib/weakhash.scm 136 */
BgL_pairz00_2694 = BgL_bucketz00_1343; }  else 
{ 
 obj_t BgL_auxz00_6089;
BgL_auxz00_6089 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5282L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_bucketz00_1343); 
FAILURE(BgL_auxz00_6089,BFALSE,BFALSE);} 
BgL_arg1355z00_2683 = 
CDR(BgL_pairz00_2694); } 
{ /* Llib/weakhash.scm 136 */
 obj_t BgL_pairz00_2695;
if(
PAIRP(BgL_lastzd2bucketzd2_1344))
{ /* Llib/weakhash.scm 136 */
BgL_pairz00_2695 = BgL_lastzd2bucketzd2_1344; }  else 
{ 
 obj_t BgL_auxz00_6096;
BgL_auxz00_6096 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5265L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_lastzd2bucketzd2_1344); 
FAILURE(BgL_auxz00_6096,BFALSE,BFALSE);} 
SET_CDR(BgL_pairz00_2695, BgL_arg1355z00_2683); } }  else 
{ /* Llib/weakhash.scm 137 */
 obj_t BgL_arg1356z00_2684;
{ /* Llib/weakhash.scm 137 */
 obj_t BgL_pairz00_2696;
if(
PAIRP(BgL_bucketz00_1343))
{ /* Llib/weakhash.scm 137 */
BgL_pairz00_2696 = BgL_bucketz00_1343; }  else 
{ 
 obj_t BgL_auxz00_6103;
BgL_auxz00_6103 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5326L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_bucketz00_1343); 
FAILURE(BgL_auxz00_6103,BFALSE,BFALSE);} 
BgL_arg1356z00_2684 = 
CDR(BgL_pairz00_2696); } 
{ /* Llib/weakhash.scm 137 */
 obj_t BgL_vectorz00_2697;
if(
VECTORP(BgL_bucketsz00_48))
{ /* Llib/weakhash.scm 137 */
BgL_vectorz00_2697 = BgL_bucketsz00_48; }  else 
{ 
 obj_t BgL_auxz00_6110;
BgL_auxz00_6110 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5311L), BGl_string3449z00zz__weakhashz00, BGl_string3447z00zz__weakhashz00, BgL_bucketsz00_48); 
FAILURE(BgL_auxz00_6110,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 137 */
 bool_t BgL_test3782z00_6114;
{ /* Llib/weakhash.scm 137 */
 long BgL_tmpz00_6115;
BgL_tmpz00_6115 = 
VECTOR_LENGTH(BgL_vectorz00_2697); 
BgL_test3782z00_6114 = 
BOUND_CHECK(BgL_iz00_49, BgL_tmpz00_6115); } 
if(BgL_test3782z00_6114)
{ /* Llib/weakhash.scm 137 */
VECTOR_SET(BgL_vectorz00_2697,BgL_iz00_49,BgL_arg1356z00_2684); }  else 
{ 
 obj_t BgL_auxz00_6119;
BgL_auxz00_6119 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5298L), BGl_string3453z00zz__weakhashz00, BgL_vectorz00_2697, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_2697)), 
(int)(BgL_iz00_49)); 
FAILURE(BgL_auxz00_6119,BFALSE,BFALSE);} } } } BGl_keepgoingz00zz__weakhashz00; 
{ /* Llib/weakhash.scm 145 */
 obj_t BgL_arg1362z00_1349;
{ /* Llib/weakhash.scm 145 */
 obj_t BgL_pairz00_2699;
if(
PAIRP(BgL_bucketz00_1343))
{ /* Llib/weakhash.scm 145 */
BgL_pairz00_2699 = BgL_bucketz00_1343; }  else 
{ 
 obj_t BgL_auxz00_6128;
BgL_auxz00_6128 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5685L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_bucketz00_1343); 
FAILURE(BgL_auxz00_6128,BFALSE,BFALSE);} 
BgL_arg1362z00_1349 = 
CDR(BgL_pairz00_2699); } 
{ 
 obj_t BgL_bucketz00_6133;
BgL_bucketz00_6133 = BgL_arg1362z00_1349; 
BgL_bucketz00_1343 = BgL_bucketz00_6133; 
goto BgL_zc3z04anonymousza31359ze3z87_1345;} } }  else 
{ /* Llib/weakhash.scm 145 */
if(
(BgL_retz00_1347==BGl_removestopz00zz__weakhashz00))
{ /* Llib/weakhash.scm 145 */
{ /* Llib/weakhash.scm 134 */
 long BgL_arg1353z00_2700;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_arg1354z00_2701;
{ /* Llib/weakhash.scm 134 */
 bool_t BgL_test3785z00_6136;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_tmpz00_6137;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_res2213z00_2707;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_aux2580z00_4805;
BgL_aux2580z00_4805 = 
STRUCT_KEY(BgL_tablez00_47); 
if(
SYMBOLP(BgL_aux2580z00_4805))
{ /* Llib/weakhash.scm 134 */
BgL_res2213z00_2707 = BgL_aux2580z00_4805; }  else 
{ 
 obj_t BgL_auxz00_6141;
BgL_auxz00_6141 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5201L), BGl_string3449z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux2580z00_4805); 
FAILURE(BgL_auxz00_6141,BFALSE,BFALSE);} } 
BgL_tmpz00_6137 = BgL_res2213z00_2707; } 
BgL_test3785z00_6136 = 
(BgL_tmpz00_6137==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test3785z00_6136)
{ /* Llib/weakhash.scm 134 */
 int BgL_tmpz00_6146;
BgL_tmpz00_6146 = 
(int)(0L); 
BgL_arg1354z00_2701 = 
STRUCT_REF(BgL_tablez00_47, BgL_tmpz00_6146); }  else 
{ /* Llib/weakhash.scm 134 */
BgL_arg1354z00_2701 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_47); } } 
{ /* Llib/weakhash.scm 134 */
 long BgL_za71za7_2708;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_tmpz00_6150;
if(
INTEGERP(BgL_arg1354z00_2701))
{ /* Llib/weakhash.scm 134 */
BgL_tmpz00_6150 = BgL_arg1354z00_2701
; }  else 
{ 
 obj_t BgL_auxz00_6153;
BgL_auxz00_6153 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5223L), BGl_string3449z00zz__weakhashz00, BGl_string3442z00zz__weakhashz00, BgL_arg1354z00_2701); 
FAILURE(BgL_auxz00_6153,BFALSE,BFALSE);} 
BgL_za71za7_2708 = 
(long)CINT(BgL_tmpz00_6150); } 
BgL_arg1353z00_2700 = 
(BgL_za71za7_2708-1L); } } 
{ /* Llib/weakhash.scm 134 */
 bool_t BgL_test3788z00_6159;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_tmpz00_6160;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_res2214z00_2712;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_aux2583z00_4808;
BgL_aux2583z00_4808 = 
STRUCT_KEY(BgL_tablez00_47); 
if(
SYMBOLP(BgL_aux2583z00_4808))
{ /* Llib/weakhash.scm 134 */
BgL_res2214z00_2712 = BgL_aux2583z00_4808; }  else 
{ 
 obj_t BgL_auxz00_6164;
BgL_auxz00_6164 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5168L), BGl_string3449z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux2583z00_4808); 
FAILURE(BgL_auxz00_6164,BFALSE,BFALSE);} } 
BgL_tmpz00_6160 = BgL_res2214z00_2712; } 
BgL_test3788z00_6159 = 
(BgL_tmpz00_6160==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test3788z00_6159)
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_auxz00_6171; int BgL_tmpz00_6169;
BgL_auxz00_6171 = 
BINT(BgL_arg1353z00_2700); 
BgL_tmpz00_6169 = 
(int)(0L); 
STRUCT_SET(BgL_tablez00_47, BgL_tmpz00_6169, BgL_auxz00_6171); }  else 
{ /* Llib/weakhash.scm 134 */
BGl_errorz00zz__errorz00(BGl_string3452z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_47); } } } 
if(
CBOOL(BgL_lastzd2bucketzd2_1344))
{ /* Llib/weakhash.scm 136 */
 obj_t BgL_arg1355z00_2702;
{ /* Llib/weakhash.scm 136 */
 obj_t BgL_pairz00_2713;
if(
PAIRP(BgL_bucketz00_1343))
{ /* Llib/weakhash.scm 136 */
BgL_pairz00_2713 = BgL_bucketz00_1343; }  else 
{ 
 obj_t BgL_auxz00_6179;
BgL_auxz00_6179 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5282L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_bucketz00_1343); 
FAILURE(BgL_auxz00_6179,BFALSE,BFALSE);} 
BgL_arg1355z00_2702 = 
CDR(BgL_pairz00_2713); } 
{ /* Llib/weakhash.scm 136 */
 obj_t BgL_pairz00_2714;
if(
PAIRP(BgL_lastzd2bucketzd2_1344))
{ /* Llib/weakhash.scm 136 */
BgL_pairz00_2714 = BgL_lastzd2bucketzd2_1344; }  else 
{ 
 obj_t BgL_auxz00_6186;
BgL_auxz00_6186 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5265L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_lastzd2bucketzd2_1344); 
FAILURE(BgL_auxz00_6186,BFALSE,BFALSE);} 
SET_CDR(BgL_pairz00_2714, BgL_arg1355z00_2702); } }  else 
{ /* Llib/weakhash.scm 137 */
 obj_t BgL_arg1356z00_2703;
{ /* Llib/weakhash.scm 137 */
 obj_t BgL_pairz00_2715;
if(
PAIRP(BgL_bucketz00_1343))
{ /* Llib/weakhash.scm 137 */
BgL_pairz00_2715 = BgL_bucketz00_1343; }  else 
{ 
 obj_t BgL_auxz00_6193;
BgL_auxz00_6193 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5326L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_bucketz00_1343); 
FAILURE(BgL_auxz00_6193,BFALSE,BFALSE);} 
BgL_arg1356z00_2703 = 
CDR(BgL_pairz00_2715); } 
{ /* Llib/weakhash.scm 137 */
 obj_t BgL_vectorz00_2716;
if(
VECTORP(BgL_bucketsz00_48))
{ /* Llib/weakhash.scm 137 */
BgL_vectorz00_2716 = BgL_bucketsz00_48; }  else 
{ 
 obj_t BgL_auxz00_6200;
BgL_auxz00_6200 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5311L), BGl_string3449z00zz__weakhashz00, BGl_string3447z00zz__weakhashz00, BgL_bucketsz00_48); 
FAILURE(BgL_auxz00_6200,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 137 */
 bool_t BgL_test3795z00_6204;
{ /* Llib/weakhash.scm 137 */
 long BgL_tmpz00_6205;
BgL_tmpz00_6205 = 
VECTOR_LENGTH(BgL_vectorz00_2716); 
BgL_test3795z00_6204 = 
BOUND_CHECK(BgL_iz00_49, BgL_tmpz00_6205); } 
if(BgL_test3795z00_6204)
{ /* Llib/weakhash.scm 137 */
VECTOR_SET(BgL_vectorz00_2716,BgL_iz00_49,BgL_arg1356z00_2703); }  else 
{ 
 obj_t BgL_auxz00_6209;
BgL_auxz00_6209 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5298L), BGl_string3453z00zz__weakhashz00, BgL_vectorz00_2716, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_2716)), 
(int)(BgL_iz00_49)); 
FAILURE(BgL_auxz00_6209,BFALSE,BFALSE);} } } } 
return BGl_keepgoingz00zz__weakhashz00;}  else 
{ /* Llib/weakhash.scm 145 */
return BgL_retz00_1347;} } } } } }  else 
{ /* Llib/weakhash.scm 145 */
 bool_t BgL_test3796z00_6216;
{ /* Llib/weakhash.scm 157 */
 obj_t BgL_arg1391z00_1399;
{ /* Llib/weakhash.scm 157 */
 bool_t BgL_test3797z00_6217;
{ /* Llib/weakhash.scm 157 */
 obj_t BgL_tmpz00_6218;
{ /* Llib/weakhash.scm 157 */
 obj_t BgL_res2215z00_2721;
{ /* Llib/weakhash.scm 157 */
 obj_t BgL_aux2593z00_4818;
BgL_aux2593z00_4818 = 
STRUCT_KEY(BgL_tablez00_47); 
if(
SYMBOLP(BgL_aux2593z00_4818))
{ /* Llib/weakhash.scm 157 */
BgL_res2215z00_2721 = BgL_aux2593z00_4818; }  else 
{ 
 obj_t BgL_auxz00_6222;
BgL_auxz00_6222 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(6071L), BGl_string3446z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux2593z00_4818); 
FAILURE(BgL_auxz00_6222,BFALSE,BFALSE);} } 
BgL_tmpz00_6218 = BgL_res2215z00_2721; } 
BgL_test3797z00_6217 = 
(BgL_tmpz00_6218==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test3797z00_6217)
{ /* Llib/weakhash.scm 157 */
 int BgL_tmpz00_6227;
BgL_tmpz00_6227 = 
(int)(5L); 
BgL_arg1391z00_1399 = 
STRUCT_REF(BgL_tablez00_47, BgL_tmpz00_6227); }  else 
{ /* Llib/weakhash.scm 157 */
BgL_arg1391z00_1399 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_47); } } 
{ /* Llib/weakhash.scm 157 */
 long BgL_n2z00_2722;
{ /* Llib/weakhash.scm 157 */
 obj_t BgL_tmpz00_6231;
if(
INTEGERP(BgL_arg1391z00_1399))
{ /* Llib/weakhash.scm 157 */
BgL_tmpz00_6231 = BgL_arg1391z00_1399
; }  else 
{ 
 obj_t BgL_auxz00_6234;
BgL_auxz00_6234 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(6093L), BGl_string3446z00zz__weakhashz00, BGl_string3442z00zz__weakhashz00, BgL_arg1391z00_1399); 
FAILURE(BgL_auxz00_6234,BFALSE,BFALSE);} 
BgL_n2z00_2722 = 
(long)CINT(BgL_tmpz00_6231); } 
BgL_test3796z00_6216 = 
(2L==BgL_n2z00_2722); } } 
if(BgL_test3796z00_6216)
{ /* Llib/weakhash.scm 145 */
 obj_t BgL_g1061z00_1356;
{ /* Llib/weakhash.scm 145 */
 obj_t BgL_vectorz00_2723;
if(
VECTORP(BgL_bucketsz00_48))
{ /* Llib/weakhash.scm 145 */
BgL_vectorz00_2723 = BgL_bucketsz00_48; }  else 
{ 
 obj_t BgL_auxz00_6242;
BgL_auxz00_6242 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5685L), BGl_string3446z00zz__weakhashz00, BGl_string3447z00zz__weakhashz00, BgL_bucketsz00_48); 
FAILURE(BgL_auxz00_6242,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 145 */
 bool_t BgL_test3801z00_6246;
{ /* Llib/weakhash.scm 145 */
 long BgL_tmpz00_6247;
BgL_tmpz00_6247 = 
VECTOR_LENGTH(BgL_vectorz00_2723); 
BgL_test3801z00_6246 = 
BOUND_CHECK(BgL_iz00_49, BgL_tmpz00_6247); } 
if(BgL_test3801z00_6246)
{ /* Llib/weakhash.scm 145 */
BgL_g1061z00_1356 = 
VECTOR_REF(BgL_vectorz00_2723,BgL_iz00_49); }  else 
{ 
 obj_t BgL_auxz00_6251;
BgL_auxz00_6251 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5685L), BGl_string3448z00zz__weakhashz00, BgL_vectorz00_2723, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_2723)), 
(int)(BgL_iz00_49)); 
FAILURE(BgL_auxz00_6251,BFALSE,BFALSE);} } } 
{ 
 obj_t BgL_bucketz00_1358; obj_t BgL_lastzd2bucketzd2_1359;
BgL_bucketz00_1358 = BgL_g1061z00_1356; 
BgL_lastzd2bucketzd2_1359 = BFALSE; 
BgL_zc3z04anonymousza31367ze3z87_1360:
if(
NULLP(BgL_bucketz00_1358))
{ /* Llib/weakhash.scm 145 */
return BGl_keepgoingz00zz__weakhashz00;}  else 
{ /* Llib/weakhash.scm 145 */
 obj_t BgL_retz00_1362;
{ /* Llib/weakhash.scm 159 */
 obj_t BgL_dataz00_1365;
{ /* Llib/weakhash.scm 159 */
 obj_t BgL_arg1372z00_1367;
{ /* Llib/weakhash.scm 159 */
 obj_t BgL_pairz00_2725;
if(
PAIRP(BgL_bucketz00_1358))
{ /* Llib/weakhash.scm 159 */
BgL_pairz00_2725 = BgL_bucketz00_1358; }  else 
{ 
 obj_t BgL_auxz00_6262;
BgL_auxz00_6262 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(6152L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_bucketz00_1358); 
FAILURE(BgL_auxz00_6262,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 159 */
 obj_t BgL_pairz00_2728;
{ /* Llib/weakhash.scm 159 */
 obj_t BgL_aux2600z00_4825;
BgL_aux2600z00_4825 = 
CAR(BgL_pairz00_2725); 
if(
PAIRP(BgL_aux2600z00_4825))
{ /* Llib/weakhash.scm 159 */
BgL_pairz00_2728 = BgL_aux2600z00_4825; }  else 
{ 
 obj_t BgL_auxz00_6269;
BgL_auxz00_6269 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(6146L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_aux2600z00_4825); 
FAILURE(BgL_auxz00_6269,BFALSE,BFALSE);} } 
BgL_arg1372z00_1367 = 
CDR(BgL_pairz00_2728); } } 
{ /* Llib/weakhash.scm 159 */
 obj_t BgL_objz00_2729;
if(
BGL_WEAKPTRP(BgL_arg1372z00_1367))
{ /* Llib/weakhash.scm 159 */
BgL_objz00_2729 = BgL_arg1372z00_1367; }  else 
{ 
 obj_t BgL_auxz00_6276;
BgL_auxz00_6276 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(6158L), BGl_string3449z00zz__weakhashz00, BGl_string3451z00zz__weakhashz00, BgL_arg1372z00_1367); 
FAILURE(BgL_auxz00_6276,BFALSE,BFALSE);} 
BgL_dataz00_1365 = 
bgl_weakptr_data(BgL_objz00_2729); } } 
if(
(BgL_dataz00_1365==BUNSPEC))
{ /* Llib/weakhash.scm 160 */
BgL_retz00_1362 = BGl_removez00zz__weakhashz00; }  else 
{ /* Llib/weakhash.scm 162 */
 obj_t BgL_arg1371z00_1366;
{ /* Llib/weakhash.scm 162 */
 obj_t BgL_pairz00_2730;
if(
PAIRP(BgL_bucketz00_1358))
{ /* Llib/weakhash.scm 162 */
BgL_pairz00_2730 = BgL_bucketz00_1358; }  else 
{ 
 obj_t BgL_auxz00_6285;
BgL_auxz00_6285 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(6235L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_bucketz00_1358); 
FAILURE(BgL_auxz00_6285,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 162 */
 obj_t BgL_pairz00_2733;
{ /* Llib/weakhash.scm 162 */
 obj_t BgL_aux2606z00_4831;
BgL_aux2606z00_4831 = 
CAR(BgL_pairz00_2730); 
if(
PAIRP(BgL_aux2606z00_4831))
{ /* Llib/weakhash.scm 162 */
BgL_pairz00_2733 = BgL_aux2606z00_4831; }  else 
{ 
 obj_t BgL_auxz00_6292;
BgL_auxz00_6292 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(6229L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_aux2606z00_4831); 
FAILURE(BgL_auxz00_6292,BFALSE,BFALSE);} } 
BgL_arg1371z00_1366 = 
CAR(BgL_pairz00_2733); } } 
BgL_retz00_1362 = 
((obj_t (*)(obj_t, obj_t, obj_t, obj_t))PROCEDURE_L_ENTRY(BgL_funz00_50))(BgL_funz00_50, BgL_arg1371z00_1366, BgL_dataz00_1365, BgL_bucketz00_1358); } } 
if(
(BgL_retz00_1362==BGl_keepgoingz00zz__weakhashz00))
{ /* Llib/weakhash.scm 145 */
 obj_t BgL_arg1369z00_1363;
{ /* Llib/weakhash.scm 145 */
 obj_t BgL_pairz00_2734;
if(
PAIRP(BgL_bucketz00_1358))
{ /* Llib/weakhash.scm 145 */
BgL_pairz00_2734 = BgL_bucketz00_1358; }  else 
{ 
 obj_t BgL_auxz00_6307;
BgL_auxz00_6307 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5685L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_bucketz00_1358); 
FAILURE(BgL_auxz00_6307,BFALSE,BFALSE);} 
BgL_arg1369z00_1363 = 
CDR(BgL_pairz00_2734); } 
{ 
 obj_t BgL_lastzd2bucketzd2_6313; obj_t BgL_bucketz00_6312;
BgL_bucketz00_6312 = BgL_arg1369z00_1363; 
BgL_lastzd2bucketzd2_6313 = BgL_bucketz00_1358; 
BgL_lastzd2bucketzd2_1359 = BgL_lastzd2bucketzd2_6313; 
BgL_bucketz00_1358 = BgL_bucketz00_6312; 
goto BgL_zc3z04anonymousza31367ze3z87_1360;} }  else 
{ /* Llib/weakhash.scm 145 */
if(
(BgL_retz00_1362==BGl_removez00zz__weakhashz00))
{ /* Llib/weakhash.scm 145 */
{ /* Llib/weakhash.scm 134 */
 long BgL_arg1353z00_2735;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_arg1354z00_2736;
{ /* Llib/weakhash.scm 134 */
 bool_t BgL_test3812z00_6316;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_tmpz00_6317;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_res2216z00_2742;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_aux2610z00_4835;
BgL_aux2610z00_4835 = 
STRUCT_KEY(BgL_tablez00_47); 
if(
SYMBOLP(BgL_aux2610z00_4835))
{ /* Llib/weakhash.scm 134 */
BgL_res2216z00_2742 = BgL_aux2610z00_4835; }  else 
{ 
 obj_t BgL_auxz00_6321;
BgL_auxz00_6321 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5201L), BGl_string3449z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux2610z00_4835); 
FAILURE(BgL_auxz00_6321,BFALSE,BFALSE);} } 
BgL_tmpz00_6317 = BgL_res2216z00_2742; } 
BgL_test3812z00_6316 = 
(BgL_tmpz00_6317==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test3812z00_6316)
{ /* Llib/weakhash.scm 134 */
 int BgL_tmpz00_6326;
BgL_tmpz00_6326 = 
(int)(0L); 
BgL_arg1354z00_2736 = 
STRUCT_REF(BgL_tablez00_47, BgL_tmpz00_6326); }  else 
{ /* Llib/weakhash.scm 134 */
BgL_arg1354z00_2736 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_47); } } 
{ /* Llib/weakhash.scm 134 */
 long BgL_za71za7_2743;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_tmpz00_6330;
if(
INTEGERP(BgL_arg1354z00_2736))
{ /* Llib/weakhash.scm 134 */
BgL_tmpz00_6330 = BgL_arg1354z00_2736
; }  else 
{ 
 obj_t BgL_auxz00_6333;
BgL_auxz00_6333 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5223L), BGl_string3449z00zz__weakhashz00, BGl_string3442z00zz__weakhashz00, BgL_arg1354z00_2736); 
FAILURE(BgL_auxz00_6333,BFALSE,BFALSE);} 
BgL_za71za7_2743 = 
(long)CINT(BgL_tmpz00_6330); } 
BgL_arg1353z00_2735 = 
(BgL_za71za7_2743-1L); } } 
{ /* Llib/weakhash.scm 134 */
 bool_t BgL_test3815z00_6339;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_tmpz00_6340;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_res2217z00_2747;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_aux2613z00_4838;
BgL_aux2613z00_4838 = 
STRUCT_KEY(BgL_tablez00_47); 
if(
SYMBOLP(BgL_aux2613z00_4838))
{ /* Llib/weakhash.scm 134 */
BgL_res2217z00_2747 = BgL_aux2613z00_4838; }  else 
{ 
 obj_t BgL_auxz00_6344;
BgL_auxz00_6344 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5168L), BGl_string3449z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux2613z00_4838); 
FAILURE(BgL_auxz00_6344,BFALSE,BFALSE);} } 
BgL_tmpz00_6340 = BgL_res2217z00_2747; } 
BgL_test3815z00_6339 = 
(BgL_tmpz00_6340==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test3815z00_6339)
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_auxz00_6351; int BgL_tmpz00_6349;
BgL_auxz00_6351 = 
BINT(BgL_arg1353z00_2735); 
BgL_tmpz00_6349 = 
(int)(0L); 
STRUCT_SET(BgL_tablez00_47, BgL_tmpz00_6349, BgL_auxz00_6351); }  else 
{ /* Llib/weakhash.scm 134 */
BGl_errorz00zz__errorz00(BGl_string3452z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_47); } } } 
if(
CBOOL(BgL_lastzd2bucketzd2_1359))
{ /* Llib/weakhash.scm 136 */
 obj_t BgL_arg1355z00_2737;
{ /* Llib/weakhash.scm 136 */
 obj_t BgL_pairz00_2748;
if(
PAIRP(BgL_bucketz00_1358))
{ /* Llib/weakhash.scm 136 */
BgL_pairz00_2748 = BgL_bucketz00_1358; }  else 
{ 
 obj_t BgL_auxz00_6359;
BgL_auxz00_6359 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5282L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_bucketz00_1358); 
FAILURE(BgL_auxz00_6359,BFALSE,BFALSE);} 
BgL_arg1355z00_2737 = 
CDR(BgL_pairz00_2748); } 
{ /* Llib/weakhash.scm 136 */
 obj_t BgL_pairz00_2749;
if(
PAIRP(BgL_lastzd2bucketzd2_1359))
{ /* Llib/weakhash.scm 136 */
BgL_pairz00_2749 = BgL_lastzd2bucketzd2_1359; }  else 
{ 
 obj_t BgL_auxz00_6366;
BgL_auxz00_6366 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5265L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_lastzd2bucketzd2_1359); 
FAILURE(BgL_auxz00_6366,BFALSE,BFALSE);} 
SET_CDR(BgL_pairz00_2749, BgL_arg1355z00_2737); } }  else 
{ /* Llib/weakhash.scm 137 */
 obj_t BgL_arg1356z00_2738;
{ /* Llib/weakhash.scm 137 */
 obj_t BgL_pairz00_2750;
if(
PAIRP(BgL_bucketz00_1358))
{ /* Llib/weakhash.scm 137 */
BgL_pairz00_2750 = BgL_bucketz00_1358; }  else 
{ 
 obj_t BgL_auxz00_6373;
BgL_auxz00_6373 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5326L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_bucketz00_1358); 
FAILURE(BgL_auxz00_6373,BFALSE,BFALSE);} 
BgL_arg1356z00_2738 = 
CDR(BgL_pairz00_2750); } 
{ /* Llib/weakhash.scm 137 */
 obj_t BgL_vectorz00_2751;
if(
VECTORP(BgL_bucketsz00_48))
{ /* Llib/weakhash.scm 137 */
BgL_vectorz00_2751 = BgL_bucketsz00_48; }  else 
{ 
 obj_t BgL_auxz00_6380;
BgL_auxz00_6380 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5311L), BGl_string3449z00zz__weakhashz00, BGl_string3447z00zz__weakhashz00, BgL_bucketsz00_48); 
FAILURE(BgL_auxz00_6380,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 137 */
 bool_t BgL_test3822z00_6384;
{ /* Llib/weakhash.scm 137 */
 long BgL_tmpz00_6385;
BgL_tmpz00_6385 = 
VECTOR_LENGTH(BgL_vectorz00_2751); 
BgL_test3822z00_6384 = 
BOUND_CHECK(BgL_iz00_49, BgL_tmpz00_6385); } 
if(BgL_test3822z00_6384)
{ /* Llib/weakhash.scm 137 */
VECTOR_SET(BgL_vectorz00_2751,BgL_iz00_49,BgL_arg1356z00_2738); }  else 
{ 
 obj_t BgL_auxz00_6389;
BgL_auxz00_6389 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5298L), BGl_string3453z00zz__weakhashz00, BgL_vectorz00_2751, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_2751)), 
(int)(BgL_iz00_49)); 
FAILURE(BgL_auxz00_6389,BFALSE,BFALSE);} } } } BGl_keepgoingz00zz__weakhashz00; 
{ /* Llib/weakhash.scm 145 */
 obj_t BgL_arg1370z00_1364;
{ /* Llib/weakhash.scm 145 */
 obj_t BgL_pairz00_2753;
if(
PAIRP(BgL_bucketz00_1358))
{ /* Llib/weakhash.scm 145 */
BgL_pairz00_2753 = BgL_bucketz00_1358; }  else 
{ 
 obj_t BgL_auxz00_6398;
BgL_auxz00_6398 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5685L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_bucketz00_1358); 
FAILURE(BgL_auxz00_6398,BFALSE,BFALSE);} 
BgL_arg1370z00_1364 = 
CDR(BgL_pairz00_2753); } 
{ 
 obj_t BgL_bucketz00_6403;
BgL_bucketz00_6403 = BgL_arg1370z00_1364; 
BgL_bucketz00_1358 = BgL_bucketz00_6403; 
goto BgL_zc3z04anonymousza31367ze3z87_1360;} } }  else 
{ /* Llib/weakhash.scm 145 */
if(
(BgL_retz00_1362==BGl_removestopz00zz__weakhashz00))
{ /* Llib/weakhash.scm 145 */
{ /* Llib/weakhash.scm 134 */
 long BgL_arg1353z00_2754;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_arg1354z00_2755;
{ /* Llib/weakhash.scm 134 */
 bool_t BgL_test3825z00_6406;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_tmpz00_6407;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_res2218z00_2761;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_aux2625z00_4850;
BgL_aux2625z00_4850 = 
STRUCT_KEY(BgL_tablez00_47); 
if(
SYMBOLP(BgL_aux2625z00_4850))
{ /* Llib/weakhash.scm 134 */
BgL_res2218z00_2761 = BgL_aux2625z00_4850; }  else 
{ 
 obj_t BgL_auxz00_6411;
BgL_auxz00_6411 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5201L), BGl_string3449z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux2625z00_4850); 
FAILURE(BgL_auxz00_6411,BFALSE,BFALSE);} } 
BgL_tmpz00_6407 = BgL_res2218z00_2761; } 
BgL_test3825z00_6406 = 
(BgL_tmpz00_6407==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test3825z00_6406)
{ /* Llib/weakhash.scm 134 */
 int BgL_tmpz00_6416;
BgL_tmpz00_6416 = 
(int)(0L); 
BgL_arg1354z00_2755 = 
STRUCT_REF(BgL_tablez00_47, BgL_tmpz00_6416); }  else 
{ /* Llib/weakhash.scm 134 */
BgL_arg1354z00_2755 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_47); } } 
{ /* Llib/weakhash.scm 134 */
 long BgL_za71za7_2762;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_tmpz00_6420;
if(
INTEGERP(BgL_arg1354z00_2755))
{ /* Llib/weakhash.scm 134 */
BgL_tmpz00_6420 = BgL_arg1354z00_2755
; }  else 
{ 
 obj_t BgL_auxz00_6423;
BgL_auxz00_6423 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5223L), BGl_string3449z00zz__weakhashz00, BGl_string3442z00zz__weakhashz00, BgL_arg1354z00_2755); 
FAILURE(BgL_auxz00_6423,BFALSE,BFALSE);} 
BgL_za71za7_2762 = 
(long)CINT(BgL_tmpz00_6420); } 
BgL_arg1353z00_2754 = 
(BgL_za71za7_2762-1L); } } 
{ /* Llib/weakhash.scm 134 */
 bool_t BgL_test3828z00_6429;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_tmpz00_6430;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_res2219z00_2766;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_aux2628z00_4853;
BgL_aux2628z00_4853 = 
STRUCT_KEY(BgL_tablez00_47); 
if(
SYMBOLP(BgL_aux2628z00_4853))
{ /* Llib/weakhash.scm 134 */
BgL_res2219z00_2766 = BgL_aux2628z00_4853; }  else 
{ 
 obj_t BgL_auxz00_6434;
BgL_auxz00_6434 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5168L), BGl_string3449z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux2628z00_4853); 
FAILURE(BgL_auxz00_6434,BFALSE,BFALSE);} } 
BgL_tmpz00_6430 = BgL_res2219z00_2766; } 
BgL_test3828z00_6429 = 
(BgL_tmpz00_6430==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test3828z00_6429)
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_auxz00_6441; int BgL_tmpz00_6439;
BgL_auxz00_6441 = 
BINT(BgL_arg1353z00_2754); 
BgL_tmpz00_6439 = 
(int)(0L); 
STRUCT_SET(BgL_tablez00_47, BgL_tmpz00_6439, BgL_auxz00_6441); }  else 
{ /* Llib/weakhash.scm 134 */
BGl_errorz00zz__errorz00(BGl_string3452z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_47); } } } 
if(
CBOOL(BgL_lastzd2bucketzd2_1359))
{ /* Llib/weakhash.scm 136 */
 obj_t BgL_arg1355z00_2756;
{ /* Llib/weakhash.scm 136 */
 obj_t BgL_pairz00_2767;
if(
PAIRP(BgL_bucketz00_1358))
{ /* Llib/weakhash.scm 136 */
BgL_pairz00_2767 = BgL_bucketz00_1358; }  else 
{ 
 obj_t BgL_auxz00_6449;
BgL_auxz00_6449 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5282L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_bucketz00_1358); 
FAILURE(BgL_auxz00_6449,BFALSE,BFALSE);} 
BgL_arg1355z00_2756 = 
CDR(BgL_pairz00_2767); } 
{ /* Llib/weakhash.scm 136 */
 obj_t BgL_pairz00_2768;
if(
PAIRP(BgL_lastzd2bucketzd2_1359))
{ /* Llib/weakhash.scm 136 */
BgL_pairz00_2768 = BgL_lastzd2bucketzd2_1359; }  else 
{ 
 obj_t BgL_auxz00_6456;
BgL_auxz00_6456 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5265L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_lastzd2bucketzd2_1359); 
FAILURE(BgL_auxz00_6456,BFALSE,BFALSE);} 
SET_CDR(BgL_pairz00_2768, BgL_arg1355z00_2756); } }  else 
{ /* Llib/weakhash.scm 137 */
 obj_t BgL_arg1356z00_2757;
{ /* Llib/weakhash.scm 137 */
 obj_t BgL_pairz00_2769;
if(
PAIRP(BgL_bucketz00_1358))
{ /* Llib/weakhash.scm 137 */
BgL_pairz00_2769 = BgL_bucketz00_1358; }  else 
{ 
 obj_t BgL_auxz00_6463;
BgL_auxz00_6463 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5326L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_bucketz00_1358); 
FAILURE(BgL_auxz00_6463,BFALSE,BFALSE);} 
BgL_arg1356z00_2757 = 
CDR(BgL_pairz00_2769); } 
{ /* Llib/weakhash.scm 137 */
 obj_t BgL_vectorz00_2770;
if(
VECTORP(BgL_bucketsz00_48))
{ /* Llib/weakhash.scm 137 */
BgL_vectorz00_2770 = BgL_bucketsz00_48; }  else 
{ 
 obj_t BgL_auxz00_6470;
BgL_auxz00_6470 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5311L), BGl_string3449z00zz__weakhashz00, BGl_string3447z00zz__weakhashz00, BgL_bucketsz00_48); 
FAILURE(BgL_auxz00_6470,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 137 */
 bool_t BgL_test3835z00_6474;
{ /* Llib/weakhash.scm 137 */
 long BgL_tmpz00_6475;
BgL_tmpz00_6475 = 
VECTOR_LENGTH(BgL_vectorz00_2770); 
BgL_test3835z00_6474 = 
BOUND_CHECK(BgL_iz00_49, BgL_tmpz00_6475); } 
if(BgL_test3835z00_6474)
{ /* Llib/weakhash.scm 137 */
VECTOR_SET(BgL_vectorz00_2770,BgL_iz00_49,BgL_arg1356z00_2757); }  else 
{ 
 obj_t BgL_auxz00_6479;
BgL_auxz00_6479 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5298L), BGl_string3453z00zz__weakhashz00, BgL_vectorz00_2770, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_2770)), 
(int)(BgL_iz00_49)); 
FAILURE(BgL_auxz00_6479,BFALSE,BFALSE);} } } } 
return BGl_keepgoingz00zz__weakhashz00;}  else 
{ /* Llib/weakhash.scm 145 */
return BgL_retz00_1362;} } } } } }  else 
{ /* Llib/weakhash.scm 145 */
 bool_t BgL_test3836z00_6486;
{ /* Llib/weakhash.scm 163 */
 obj_t BgL_arg1390z00_1398;
{ /* Llib/weakhash.scm 163 */
 bool_t BgL_test3837z00_6487;
{ /* Llib/weakhash.scm 163 */
 obj_t BgL_tmpz00_6488;
{ /* Llib/weakhash.scm 163 */
 obj_t BgL_res2220z00_2775;
{ /* Llib/weakhash.scm 163 */
 obj_t BgL_aux2638z00_4863;
BgL_aux2638z00_4863 = 
STRUCT_KEY(BgL_tablez00_47); 
if(
SYMBOLP(BgL_aux2638z00_4863))
{ /* Llib/weakhash.scm 163 */
BgL_res2220z00_2775 = BgL_aux2638z00_4863; }  else 
{ 
 obj_t BgL_auxz00_6492;
BgL_auxz00_6492 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(6286L), BGl_string3446z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux2638z00_4863); 
FAILURE(BgL_auxz00_6492,BFALSE,BFALSE);} } 
BgL_tmpz00_6488 = BgL_res2220z00_2775; } 
BgL_test3837z00_6487 = 
(BgL_tmpz00_6488==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test3837z00_6487)
{ /* Llib/weakhash.scm 163 */
 int BgL_tmpz00_6497;
BgL_tmpz00_6497 = 
(int)(5L); 
BgL_arg1390z00_1398 = 
STRUCT_REF(BgL_tablez00_47, BgL_tmpz00_6497); }  else 
{ /* Llib/weakhash.scm 163 */
BgL_arg1390z00_1398 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_47); } } 
{ /* Llib/weakhash.scm 163 */
 long BgL_n2z00_2776;
{ /* Llib/weakhash.scm 163 */
 obj_t BgL_tmpz00_6501;
if(
INTEGERP(BgL_arg1390z00_1398))
{ /* Llib/weakhash.scm 163 */
BgL_tmpz00_6501 = BgL_arg1390z00_1398
; }  else 
{ 
 obj_t BgL_auxz00_6504;
BgL_auxz00_6504 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(6308L), BGl_string3446z00zz__weakhashz00, BGl_string3442z00zz__weakhashz00, BgL_arg1390z00_1398); 
FAILURE(BgL_auxz00_6504,BFALSE,BFALSE);} 
BgL_n2z00_2776 = 
(long)CINT(BgL_tmpz00_6501); } 
BgL_test3836z00_6486 = 
(3L==BgL_n2z00_2776); } } 
if(BgL_test3836z00_6486)
{ /* Llib/weakhash.scm 145 */
 obj_t BgL_g1062z00_1371;
{ /* Llib/weakhash.scm 145 */
 obj_t BgL_vectorz00_2777;
if(
VECTORP(BgL_bucketsz00_48))
{ /* Llib/weakhash.scm 145 */
BgL_vectorz00_2777 = BgL_bucketsz00_48; }  else 
{ 
 obj_t BgL_auxz00_6512;
BgL_auxz00_6512 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5685L), BGl_string3446z00zz__weakhashz00, BGl_string3447z00zz__weakhashz00, BgL_bucketsz00_48); 
FAILURE(BgL_auxz00_6512,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 145 */
 bool_t BgL_test3841z00_6516;
{ /* Llib/weakhash.scm 145 */
 long BgL_tmpz00_6517;
BgL_tmpz00_6517 = 
VECTOR_LENGTH(BgL_vectorz00_2777); 
BgL_test3841z00_6516 = 
BOUND_CHECK(BgL_iz00_49, BgL_tmpz00_6517); } 
if(BgL_test3841z00_6516)
{ /* Llib/weakhash.scm 145 */
BgL_g1062z00_1371 = 
VECTOR_REF(BgL_vectorz00_2777,BgL_iz00_49); }  else 
{ 
 obj_t BgL_auxz00_6521;
BgL_auxz00_6521 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5685L), BGl_string3448z00zz__weakhashz00, BgL_vectorz00_2777, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_2777)), 
(int)(BgL_iz00_49)); 
FAILURE(BgL_auxz00_6521,BFALSE,BFALSE);} } } 
{ 
 obj_t BgL_bucketz00_1373; obj_t BgL_lastzd2bucketzd2_1374;
BgL_bucketz00_1373 = BgL_g1062z00_1371; 
BgL_lastzd2bucketzd2_1374 = BFALSE; 
BgL_zc3z04anonymousza31375ze3z87_1375:
if(
NULLP(BgL_bucketz00_1373))
{ /* Llib/weakhash.scm 145 */
return BGl_keepgoingz00zz__weakhashz00;}  else 
{ /* Llib/weakhash.scm 145 */
 obj_t BgL_retz00_1377;
{ /* Llib/weakhash.scm 165 */
 obj_t BgL_keyz00_1380; obj_t BgL_dataz00_1381;
{ /* Llib/weakhash.scm 165 */
 obj_t BgL_arg1382z00_1383;
{ /* Llib/weakhash.scm 165 */
 obj_t BgL_pairz00_2779;
if(
PAIRP(BgL_bucketz00_1373))
{ /* Llib/weakhash.scm 165 */
BgL_pairz00_2779 = BgL_bucketz00_1373; }  else 
{ 
 obj_t BgL_auxz00_6532;
BgL_auxz00_6532 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(6370L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_bucketz00_1373); 
FAILURE(BgL_auxz00_6532,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 165 */
 obj_t BgL_pairz00_2782;
{ /* Llib/weakhash.scm 165 */
 obj_t BgL_aux2645z00_4870;
BgL_aux2645z00_4870 = 
CAR(BgL_pairz00_2779); 
if(
PAIRP(BgL_aux2645z00_4870))
{ /* Llib/weakhash.scm 165 */
BgL_pairz00_2782 = BgL_aux2645z00_4870; }  else 
{ 
 obj_t BgL_auxz00_6539;
BgL_auxz00_6539 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(6364L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_aux2645z00_4870); 
FAILURE(BgL_auxz00_6539,BFALSE,BFALSE);} } 
BgL_arg1382z00_1383 = 
CAR(BgL_pairz00_2782); } } 
{ /* Llib/weakhash.scm 165 */
 obj_t BgL_objz00_2783;
if(
BGL_WEAKPTRP(BgL_arg1382z00_1383))
{ /* Llib/weakhash.scm 165 */
BgL_objz00_2783 = BgL_arg1382z00_1383; }  else 
{ 
 obj_t BgL_auxz00_6546;
BgL_auxz00_6546 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(6376L), BGl_string3449z00zz__weakhashz00, BGl_string3451z00zz__weakhashz00, BgL_arg1382z00_1383); 
FAILURE(BgL_auxz00_6546,BFALSE,BFALSE);} 
BgL_keyz00_1380 = 
bgl_weakptr_data(BgL_objz00_2783); } } 
{ /* Llib/weakhash.scm 166 */
 obj_t BgL_arg1383z00_1384;
{ /* Llib/weakhash.scm 166 */
 obj_t BgL_pairz00_2784;
if(
PAIRP(BgL_bucketz00_1373))
{ /* Llib/weakhash.scm 166 */
BgL_pairz00_2784 = BgL_bucketz00_1373; }  else 
{ 
 obj_t BgL_auxz00_6553;
BgL_auxz00_6553 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(6415L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_bucketz00_1373); 
FAILURE(BgL_auxz00_6553,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 166 */
 obj_t BgL_pairz00_2787;
{ /* Llib/weakhash.scm 166 */
 obj_t BgL_aux2651z00_4876;
BgL_aux2651z00_4876 = 
CAR(BgL_pairz00_2784); 
if(
PAIRP(BgL_aux2651z00_4876))
{ /* Llib/weakhash.scm 166 */
BgL_pairz00_2787 = BgL_aux2651z00_4876; }  else 
{ 
 obj_t BgL_auxz00_6560;
BgL_auxz00_6560 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(6409L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_aux2651z00_4876); 
FAILURE(BgL_auxz00_6560,BFALSE,BFALSE);} } 
BgL_arg1383z00_1384 = 
CDR(BgL_pairz00_2787); } } 
{ /* Llib/weakhash.scm 166 */
 obj_t BgL_objz00_2788;
if(
BGL_WEAKPTRP(BgL_arg1383z00_1384))
{ /* Llib/weakhash.scm 166 */
BgL_objz00_2788 = BgL_arg1383z00_1384; }  else 
{ 
 obj_t BgL_auxz00_6567;
BgL_auxz00_6567 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(6421L), BGl_string3449z00zz__weakhashz00, BGl_string3451z00zz__weakhashz00, BgL_arg1383z00_1384); 
FAILURE(BgL_auxz00_6567,BFALSE,BFALSE);} 
BgL_dataz00_1381 = 
bgl_weakptr_data(BgL_objz00_2788); } } 
{ /* Llib/weakhash.scm 167 */
 bool_t BgL_test3849z00_6572;
if(
(BgL_keyz00_1380==BUNSPEC))
{ /* Llib/weakhash.scm 167 */
BgL_test3849z00_6572 = ((bool_t)1)
; }  else 
{ /* Llib/weakhash.scm 167 */
BgL_test3849z00_6572 = 
(BgL_dataz00_1381==BUNSPEC)
; } 
if(BgL_test3849z00_6572)
{ /* Llib/weakhash.scm 167 */
BgL_retz00_1377 = BGl_removez00zz__weakhashz00; }  else 
{ /* Llib/weakhash.scm 167 */
BgL_retz00_1377 = 
((obj_t (*)(obj_t, obj_t, obj_t, obj_t))PROCEDURE_L_ENTRY(BgL_funz00_50))(BgL_funz00_50, BgL_keyz00_1380, BgL_dataz00_1381, BgL_bucketz00_1373); } } } 
if(
(BgL_retz00_1377==BGl_keepgoingz00zz__weakhashz00))
{ /* Llib/weakhash.scm 145 */
 obj_t BgL_arg1377z00_1378;
{ /* Llib/weakhash.scm 145 */
 obj_t BgL_pairz00_2789;
if(
PAIRP(BgL_bucketz00_1373))
{ /* Llib/weakhash.scm 145 */
BgL_pairz00_2789 = BgL_bucketz00_1373; }  else 
{ 
 obj_t BgL_auxz00_6586;
BgL_auxz00_6586 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5685L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_bucketz00_1373); 
FAILURE(BgL_auxz00_6586,BFALSE,BFALSE);} 
BgL_arg1377z00_1378 = 
CDR(BgL_pairz00_2789); } 
{ 
 obj_t BgL_lastzd2bucketzd2_6592; obj_t BgL_bucketz00_6591;
BgL_bucketz00_6591 = BgL_arg1377z00_1378; 
BgL_lastzd2bucketzd2_6592 = BgL_bucketz00_1373; 
BgL_lastzd2bucketzd2_1374 = BgL_lastzd2bucketzd2_6592; 
BgL_bucketz00_1373 = BgL_bucketz00_6591; 
goto BgL_zc3z04anonymousza31375ze3z87_1375;} }  else 
{ /* Llib/weakhash.scm 145 */
if(
(BgL_retz00_1377==BGl_removez00zz__weakhashz00))
{ /* Llib/weakhash.scm 145 */
{ /* Llib/weakhash.scm 134 */
 long BgL_arg1353z00_2790;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_arg1354z00_2791;
{ /* Llib/weakhash.scm 134 */
 bool_t BgL_test3854z00_6595;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_tmpz00_6596;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_res2221z00_2797;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_aux2657z00_4882;
BgL_aux2657z00_4882 = 
STRUCT_KEY(BgL_tablez00_47); 
if(
SYMBOLP(BgL_aux2657z00_4882))
{ /* Llib/weakhash.scm 134 */
BgL_res2221z00_2797 = BgL_aux2657z00_4882; }  else 
{ 
 obj_t BgL_auxz00_6600;
BgL_auxz00_6600 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5201L), BGl_string3449z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux2657z00_4882); 
FAILURE(BgL_auxz00_6600,BFALSE,BFALSE);} } 
BgL_tmpz00_6596 = BgL_res2221z00_2797; } 
BgL_test3854z00_6595 = 
(BgL_tmpz00_6596==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test3854z00_6595)
{ /* Llib/weakhash.scm 134 */
 int BgL_tmpz00_6605;
BgL_tmpz00_6605 = 
(int)(0L); 
BgL_arg1354z00_2791 = 
STRUCT_REF(BgL_tablez00_47, BgL_tmpz00_6605); }  else 
{ /* Llib/weakhash.scm 134 */
BgL_arg1354z00_2791 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_47); } } 
{ /* Llib/weakhash.scm 134 */
 long BgL_za71za7_2798;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_tmpz00_6609;
if(
INTEGERP(BgL_arg1354z00_2791))
{ /* Llib/weakhash.scm 134 */
BgL_tmpz00_6609 = BgL_arg1354z00_2791
; }  else 
{ 
 obj_t BgL_auxz00_6612;
BgL_auxz00_6612 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5223L), BGl_string3449z00zz__weakhashz00, BGl_string3442z00zz__weakhashz00, BgL_arg1354z00_2791); 
FAILURE(BgL_auxz00_6612,BFALSE,BFALSE);} 
BgL_za71za7_2798 = 
(long)CINT(BgL_tmpz00_6609); } 
BgL_arg1353z00_2790 = 
(BgL_za71za7_2798-1L); } } 
{ /* Llib/weakhash.scm 134 */
 bool_t BgL_test3857z00_6618;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_tmpz00_6619;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_res2222z00_2802;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_aux2660z00_4885;
BgL_aux2660z00_4885 = 
STRUCT_KEY(BgL_tablez00_47); 
if(
SYMBOLP(BgL_aux2660z00_4885))
{ /* Llib/weakhash.scm 134 */
BgL_res2222z00_2802 = BgL_aux2660z00_4885; }  else 
{ 
 obj_t BgL_auxz00_6623;
BgL_auxz00_6623 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5168L), BGl_string3449z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux2660z00_4885); 
FAILURE(BgL_auxz00_6623,BFALSE,BFALSE);} } 
BgL_tmpz00_6619 = BgL_res2222z00_2802; } 
BgL_test3857z00_6618 = 
(BgL_tmpz00_6619==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test3857z00_6618)
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_auxz00_6630; int BgL_tmpz00_6628;
BgL_auxz00_6630 = 
BINT(BgL_arg1353z00_2790); 
BgL_tmpz00_6628 = 
(int)(0L); 
STRUCT_SET(BgL_tablez00_47, BgL_tmpz00_6628, BgL_auxz00_6630); }  else 
{ /* Llib/weakhash.scm 134 */
BGl_errorz00zz__errorz00(BGl_string3452z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_47); } } } 
if(
CBOOL(BgL_lastzd2bucketzd2_1374))
{ /* Llib/weakhash.scm 136 */
 obj_t BgL_arg1355z00_2792;
{ /* Llib/weakhash.scm 136 */
 obj_t BgL_pairz00_2803;
if(
PAIRP(BgL_bucketz00_1373))
{ /* Llib/weakhash.scm 136 */
BgL_pairz00_2803 = BgL_bucketz00_1373; }  else 
{ 
 obj_t BgL_auxz00_6638;
BgL_auxz00_6638 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5282L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_bucketz00_1373); 
FAILURE(BgL_auxz00_6638,BFALSE,BFALSE);} 
BgL_arg1355z00_2792 = 
CDR(BgL_pairz00_2803); } 
{ /* Llib/weakhash.scm 136 */
 obj_t BgL_pairz00_2804;
if(
PAIRP(BgL_lastzd2bucketzd2_1374))
{ /* Llib/weakhash.scm 136 */
BgL_pairz00_2804 = BgL_lastzd2bucketzd2_1374; }  else 
{ 
 obj_t BgL_auxz00_6645;
BgL_auxz00_6645 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5265L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_lastzd2bucketzd2_1374); 
FAILURE(BgL_auxz00_6645,BFALSE,BFALSE);} 
SET_CDR(BgL_pairz00_2804, BgL_arg1355z00_2792); } }  else 
{ /* Llib/weakhash.scm 137 */
 obj_t BgL_arg1356z00_2793;
{ /* Llib/weakhash.scm 137 */
 obj_t BgL_pairz00_2805;
if(
PAIRP(BgL_bucketz00_1373))
{ /* Llib/weakhash.scm 137 */
BgL_pairz00_2805 = BgL_bucketz00_1373; }  else 
{ 
 obj_t BgL_auxz00_6652;
BgL_auxz00_6652 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5326L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_bucketz00_1373); 
FAILURE(BgL_auxz00_6652,BFALSE,BFALSE);} 
BgL_arg1356z00_2793 = 
CDR(BgL_pairz00_2805); } 
{ /* Llib/weakhash.scm 137 */
 obj_t BgL_vectorz00_2806;
if(
VECTORP(BgL_bucketsz00_48))
{ /* Llib/weakhash.scm 137 */
BgL_vectorz00_2806 = BgL_bucketsz00_48; }  else 
{ 
 obj_t BgL_auxz00_6659;
BgL_auxz00_6659 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5311L), BGl_string3449z00zz__weakhashz00, BGl_string3447z00zz__weakhashz00, BgL_bucketsz00_48); 
FAILURE(BgL_auxz00_6659,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 137 */
 bool_t BgL_test3864z00_6663;
{ /* Llib/weakhash.scm 137 */
 long BgL_tmpz00_6664;
BgL_tmpz00_6664 = 
VECTOR_LENGTH(BgL_vectorz00_2806); 
BgL_test3864z00_6663 = 
BOUND_CHECK(BgL_iz00_49, BgL_tmpz00_6664); } 
if(BgL_test3864z00_6663)
{ /* Llib/weakhash.scm 137 */
VECTOR_SET(BgL_vectorz00_2806,BgL_iz00_49,BgL_arg1356z00_2793); }  else 
{ 
 obj_t BgL_auxz00_6668;
BgL_auxz00_6668 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5298L), BGl_string3453z00zz__weakhashz00, BgL_vectorz00_2806, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_2806)), 
(int)(BgL_iz00_49)); 
FAILURE(BgL_auxz00_6668,BFALSE,BFALSE);} } } } BGl_keepgoingz00zz__weakhashz00; 
{ /* Llib/weakhash.scm 145 */
 obj_t BgL_arg1379z00_1379;
{ /* Llib/weakhash.scm 145 */
 obj_t BgL_pairz00_2808;
if(
PAIRP(BgL_bucketz00_1373))
{ /* Llib/weakhash.scm 145 */
BgL_pairz00_2808 = BgL_bucketz00_1373; }  else 
{ 
 obj_t BgL_auxz00_6677;
BgL_auxz00_6677 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5685L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_bucketz00_1373); 
FAILURE(BgL_auxz00_6677,BFALSE,BFALSE);} 
BgL_arg1379z00_1379 = 
CDR(BgL_pairz00_2808); } 
{ 
 obj_t BgL_bucketz00_6682;
BgL_bucketz00_6682 = BgL_arg1379z00_1379; 
BgL_bucketz00_1373 = BgL_bucketz00_6682; 
goto BgL_zc3z04anonymousza31375ze3z87_1375;} } }  else 
{ /* Llib/weakhash.scm 145 */
if(
(BgL_retz00_1377==BGl_removestopz00zz__weakhashz00))
{ /* Llib/weakhash.scm 145 */
{ /* Llib/weakhash.scm 134 */
 long BgL_arg1353z00_2809;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_arg1354z00_2810;
{ /* Llib/weakhash.scm 134 */
 bool_t BgL_test3867z00_6685;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_tmpz00_6686;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_res2223z00_2816;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_aux2672z00_4897;
BgL_aux2672z00_4897 = 
STRUCT_KEY(BgL_tablez00_47); 
if(
SYMBOLP(BgL_aux2672z00_4897))
{ /* Llib/weakhash.scm 134 */
BgL_res2223z00_2816 = BgL_aux2672z00_4897; }  else 
{ 
 obj_t BgL_auxz00_6690;
BgL_auxz00_6690 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5201L), BGl_string3449z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux2672z00_4897); 
FAILURE(BgL_auxz00_6690,BFALSE,BFALSE);} } 
BgL_tmpz00_6686 = BgL_res2223z00_2816; } 
BgL_test3867z00_6685 = 
(BgL_tmpz00_6686==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test3867z00_6685)
{ /* Llib/weakhash.scm 134 */
 int BgL_tmpz00_6695;
BgL_tmpz00_6695 = 
(int)(0L); 
BgL_arg1354z00_2810 = 
STRUCT_REF(BgL_tablez00_47, BgL_tmpz00_6695); }  else 
{ /* Llib/weakhash.scm 134 */
BgL_arg1354z00_2810 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_47); } } 
{ /* Llib/weakhash.scm 134 */
 long BgL_za71za7_2817;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_tmpz00_6699;
if(
INTEGERP(BgL_arg1354z00_2810))
{ /* Llib/weakhash.scm 134 */
BgL_tmpz00_6699 = BgL_arg1354z00_2810
; }  else 
{ 
 obj_t BgL_auxz00_6702;
BgL_auxz00_6702 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5223L), BGl_string3449z00zz__weakhashz00, BGl_string3442z00zz__weakhashz00, BgL_arg1354z00_2810); 
FAILURE(BgL_auxz00_6702,BFALSE,BFALSE);} 
BgL_za71za7_2817 = 
(long)CINT(BgL_tmpz00_6699); } 
BgL_arg1353z00_2809 = 
(BgL_za71za7_2817-1L); } } 
{ /* Llib/weakhash.scm 134 */
 bool_t BgL_test3870z00_6708;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_tmpz00_6709;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_res2224z00_2821;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_aux2675z00_4900;
BgL_aux2675z00_4900 = 
STRUCT_KEY(BgL_tablez00_47); 
if(
SYMBOLP(BgL_aux2675z00_4900))
{ /* Llib/weakhash.scm 134 */
BgL_res2224z00_2821 = BgL_aux2675z00_4900; }  else 
{ 
 obj_t BgL_auxz00_6713;
BgL_auxz00_6713 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5168L), BGl_string3449z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux2675z00_4900); 
FAILURE(BgL_auxz00_6713,BFALSE,BFALSE);} } 
BgL_tmpz00_6709 = BgL_res2224z00_2821; } 
BgL_test3870z00_6708 = 
(BgL_tmpz00_6709==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test3870z00_6708)
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_auxz00_6720; int BgL_tmpz00_6718;
BgL_auxz00_6720 = 
BINT(BgL_arg1353z00_2809); 
BgL_tmpz00_6718 = 
(int)(0L); 
STRUCT_SET(BgL_tablez00_47, BgL_tmpz00_6718, BgL_auxz00_6720); }  else 
{ /* Llib/weakhash.scm 134 */
BGl_errorz00zz__errorz00(BGl_string3452z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_47); } } } 
if(
CBOOL(BgL_lastzd2bucketzd2_1374))
{ /* Llib/weakhash.scm 136 */
 obj_t BgL_arg1355z00_2811;
{ /* Llib/weakhash.scm 136 */
 obj_t BgL_pairz00_2822;
if(
PAIRP(BgL_bucketz00_1373))
{ /* Llib/weakhash.scm 136 */
BgL_pairz00_2822 = BgL_bucketz00_1373; }  else 
{ 
 obj_t BgL_auxz00_6728;
BgL_auxz00_6728 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5282L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_bucketz00_1373); 
FAILURE(BgL_auxz00_6728,BFALSE,BFALSE);} 
BgL_arg1355z00_2811 = 
CDR(BgL_pairz00_2822); } 
{ /* Llib/weakhash.scm 136 */
 obj_t BgL_pairz00_2823;
if(
PAIRP(BgL_lastzd2bucketzd2_1374))
{ /* Llib/weakhash.scm 136 */
BgL_pairz00_2823 = BgL_lastzd2bucketzd2_1374; }  else 
{ 
 obj_t BgL_auxz00_6735;
BgL_auxz00_6735 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5265L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_lastzd2bucketzd2_1374); 
FAILURE(BgL_auxz00_6735,BFALSE,BFALSE);} 
SET_CDR(BgL_pairz00_2823, BgL_arg1355z00_2811); } }  else 
{ /* Llib/weakhash.scm 137 */
 obj_t BgL_arg1356z00_2812;
{ /* Llib/weakhash.scm 137 */
 obj_t BgL_pairz00_2824;
if(
PAIRP(BgL_bucketz00_1373))
{ /* Llib/weakhash.scm 137 */
BgL_pairz00_2824 = BgL_bucketz00_1373; }  else 
{ 
 obj_t BgL_auxz00_6742;
BgL_auxz00_6742 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5326L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_bucketz00_1373); 
FAILURE(BgL_auxz00_6742,BFALSE,BFALSE);} 
BgL_arg1356z00_2812 = 
CDR(BgL_pairz00_2824); } 
{ /* Llib/weakhash.scm 137 */
 obj_t BgL_vectorz00_2825;
if(
VECTORP(BgL_bucketsz00_48))
{ /* Llib/weakhash.scm 137 */
BgL_vectorz00_2825 = BgL_bucketsz00_48; }  else 
{ 
 obj_t BgL_auxz00_6749;
BgL_auxz00_6749 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5311L), BGl_string3449z00zz__weakhashz00, BGl_string3447z00zz__weakhashz00, BgL_bucketsz00_48); 
FAILURE(BgL_auxz00_6749,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 137 */
 bool_t BgL_test3877z00_6753;
{ /* Llib/weakhash.scm 137 */
 long BgL_tmpz00_6754;
BgL_tmpz00_6754 = 
VECTOR_LENGTH(BgL_vectorz00_2825); 
BgL_test3877z00_6753 = 
BOUND_CHECK(BgL_iz00_49, BgL_tmpz00_6754); } 
if(BgL_test3877z00_6753)
{ /* Llib/weakhash.scm 137 */
VECTOR_SET(BgL_vectorz00_2825,BgL_iz00_49,BgL_arg1356z00_2812); }  else 
{ 
 obj_t BgL_auxz00_6758;
BgL_auxz00_6758 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5298L), BGl_string3453z00zz__weakhashz00, BgL_vectorz00_2825, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_2825)), 
(int)(BgL_iz00_49)); 
FAILURE(BgL_auxz00_6758,BFALSE,BFALSE);} } } } 
return BGl_keepgoingz00zz__weakhashz00;}  else 
{ /* Llib/weakhash.scm 145 */
return BgL_retz00_1377;} } } } } }  else 
{ /* Llib/weakhash.scm 145 */
 obj_t BgL_g1063z00_1386;
{ /* Llib/weakhash.scm 145 */
 obj_t BgL_vectorz00_2827;
if(
VECTORP(BgL_bucketsz00_48))
{ /* Llib/weakhash.scm 145 */
BgL_vectorz00_2827 = BgL_bucketsz00_48; }  else 
{ 
 obj_t BgL_auxz00_6767;
BgL_auxz00_6767 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5685L), BGl_string3446z00zz__weakhashz00, BGl_string3447z00zz__weakhashz00, BgL_bucketsz00_48); 
FAILURE(BgL_auxz00_6767,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 145 */
 bool_t BgL_test3879z00_6771;
{ /* Llib/weakhash.scm 145 */
 long BgL_tmpz00_6772;
BgL_tmpz00_6772 = 
VECTOR_LENGTH(BgL_vectorz00_2827); 
BgL_test3879z00_6771 = 
BOUND_CHECK(BgL_iz00_49, BgL_tmpz00_6772); } 
if(BgL_test3879z00_6771)
{ /* Llib/weakhash.scm 145 */
BgL_g1063z00_1386 = 
VECTOR_REF(BgL_vectorz00_2827,BgL_iz00_49); }  else 
{ 
 obj_t BgL_auxz00_6776;
BgL_auxz00_6776 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5685L), BGl_string3448z00zz__weakhashz00, BgL_vectorz00_2827, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_2827)), 
(int)(BgL_iz00_49)); 
FAILURE(BgL_auxz00_6776,BFALSE,BFALSE);} } } 
{ 
 obj_t BgL_bucketz00_1388; obj_t BgL_lastzd2bucketzd2_1389;
BgL_bucketz00_1388 = BgL_g1063z00_1386; 
BgL_lastzd2bucketzd2_1389 = BFALSE; 
BgL_zc3z04anonymousza31384ze3z87_1390:
if(
NULLP(BgL_bucketz00_1388))
{ /* Llib/weakhash.scm 145 */
return BGl_keepgoingz00zz__weakhashz00;}  else 
{ /* Llib/weakhash.scm 145 */
 obj_t BgL_retz00_1392;
{ /* Llib/weakhash.scm 173 */
 obj_t BgL_arg1388z00_1395; obj_t BgL_arg1389z00_1396;
{ /* Llib/weakhash.scm 173 */
 obj_t BgL_pairz00_2829;
if(
PAIRP(BgL_bucketz00_1388))
{ /* Llib/weakhash.scm 173 */
BgL_pairz00_2829 = BgL_bucketz00_1388; }  else 
{ 
 obj_t BgL_auxz00_6787;
BgL_auxz00_6787 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(6593L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_bucketz00_1388); 
FAILURE(BgL_auxz00_6787,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 173 */
 obj_t BgL_pairz00_2832;
{ /* Llib/weakhash.scm 173 */
 obj_t BgL_aux2689z00_4914;
BgL_aux2689z00_4914 = 
CAR(BgL_pairz00_2829); 
if(
PAIRP(BgL_aux2689z00_4914))
{ /* Llib/weakhash.scm 173 */
BgL_pairz00_2832 = BgL_aux2689z00_4914; }  else 
{ 
 obj_t BgL_auxz00_6794;
BgL_auxz00_6794 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(6587L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_aux2689z00_4914); 
FAILURE(BgL_auxz00_6794,BFALSE,BFALSE);} } 
BgL_arg1388z00_1395 = 
CAR(BgL_pairz00_2832); } } 
{ /* Llib/weakhash.scm 173 */
 obj_t BgL_pairz00_2833;
if(
PAIRP(BgL_bucketz00_1388))
{ /* Llib/weakhash.scm 173 */
BgL_pairz00_2833 = BgL_bucketz00_1388; }  else 
{ 
 obj_t BgL_auxz00_6801;
BgL_auxz00_6801 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(6607L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_bucketz00_1388); 
FAILURE(BgL_auxz00_6801,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 173 */
 obj_t BgL_pairz00_2836;
{ /* Llib/weakhash.scm 173 */
 obj_t BgL_aux2693z00_4918;
BgL_aux2693z00_4918 = 
CAR(BgL_pairz00_2833); 
if(
PAIRP(BgL_aux2693z00_4918))
{ /* Llib/weakhash.scm 173 */
BgL_pairz00_2836 = BgL_aux2693z00_4918; }  else 
{ 
 obj_t BgL_auxz00_6808;
BgL_auxz00_6808 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(6601L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_aux2693z00_4918); 
FAILURE(BgL_auxz00_6808,BFALSE,BFALSE);} } 
BgL_arg1389z00_1396 = 
CDR(BgL_pairz00_2836); } } 
BgL_retz00_1392 = 
((obj_t (*)(obj_t, obj_t, obj_t, obj_t))PROCEDURE_L_ENTRY(BgL_funz00_50))(BgL_funz00_50, BgL_arg1388z00_1395, BgL_arg1389z00_1396, BgL_bucketz00_1388); } 
if(
(BgL_retz00_1392==BGl_keepgoingz00zz__weakhashz00))
{ /* Llib/weakhash.scm 145 */
 obj_t BgL_arg1386z00_1393;
{ /* Llib/weakhash.scm 145 */
 obj_t BgL_pairz00_2837;
if(
PAIRP(BgL_bucketz00_1388))
{ /* Llib/weakhash.scm 145 */
BgL_pairz00_2837 = BgL_bucketz00_1388; }  else 
{ 
 obj_t BgL_auxz00_6823;
BgL_auxz00_6823 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5685L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_bucketz00_1388); 
FAILURE(BgL_auxz00_6823,BFALSE,BFALSE);} 
BgL_arg1386z00_1393 = 
CDR(BgL_pairz00_2837); } 
{ 
 obj_t BgL_lastzd2bucketzd2_6829; obj_t BgL_bucketz00_6828;
BgL_bucketz00_6828 = BgL_arg1386z00_1393; 
BgL_lastzd2bucketzd2_6829 = BgL_bucketz00_1388; 
BgL_lastzd2bucketzd2_1389 = BgL_lastzd2bucketzd2_6829; 
BgL_bucketz00_1388 = BgL_bucketz00_6828; 
goto BgL_zc3z04anonymousza31384ze3z87_1390;} }  else 
{ /* Llib/weakhash.scm 145 */
if(
(BgL_retz00_1392==BGl_removez00zz__weakhashz00))
{ /* Llib/weakhash.scm 145 */
{ /* Llib/weakhash.scm 134 */
 long BgL_arg1353z00_2838;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_arg1354z00_2839;
{ /* Llib/weakhash.scm 134 */
 bool_t BgL_test3888z00_6832;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_tmpz00_6833;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_res2225z00_2845;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_aux2697z00_4922;
BgL_aux2697z00_4922 = 
STRUCT_KEY(BgL_tablez00_47); 
if(
SYMBOLP(BgL_aux2697z00_4922))
{ /* Llib/weakhash.scm 134 */
BgL_res2225z00_2845 = BgL_aux2697z00_4922; }  else 
{ 
 obj_t BgL_auxz00_6837;
BgL_auxz00_6837 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5201L), BGl_string3449z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux2697z00_4922); 
FAILURE(BgL_auxz00_6837,BFALSE,BFALSE);} } 
BgL_tmpz00_6833 = BgL_res2225z00_2845; } 
BgL_test3888z00_6832 = 
(BgL_tmpz00_6833==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test3888z00_6832)
{ /* Llib/weakhash.scm 134 */
 int BgL_tmpz00_6842;
BgL_tmpz00_6842 = 
(int)(0L); 
BgL_arg1354z00_2839 = 
STRUCT_REF(BgL_tablez00_47, BgL_tmpz00_6842); }  else 
{ /* Llib/weakhash.scm 134 */
BgL_arg1354z00_2839 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_47); } } 
{ /* Llib/weakhash.scm 134 */
 long BgL_za71za7_2846;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_tmpz00_6846;
if(
INTEGERP(BgL_arg1354z00_2839))
{ /* Llib/weakhash.scm 134 */
BgL_tmpz00_6846 = BgL_arg1354z00_2839
; }  else 
{ 
 obj_t BgL_auxz00_6849;
BgL_auxz00_6849 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5223L), BGl_string3449z00zz__weakhashz00, BGl_string3442z00zz__weakhashz00, BgL_arg1354z00_2839); 
FAILURE(BgL_auxz00_6849,BFALSE,BFALSE);} 
BgL_za71za7_2846 = 
(long)CINT(BgL_tmpz00_6846); } 
BgL_arg1353z00_2838 = 
(BgL_za71za7_2846-1L); } } 
{ /* Llib/weakhash.scm 134 */
 bool_t BgL_test3891z00_6855;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_tmpz00_6856;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_res2226z00_2850;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_aux2700z00_4925;
BgL_aux2700z00_4925 = 
STRUCT_KEY(BgL_tablez00_47); 
if(
SYMBOLP(BgL_aux2700z00_4925))
{ /* Llib/weakhash.scm 134 */
BgL_res2226z00_2850 = BgL_aux2700z00_4925; }  else 
{ 
 obj_t BgL_auxz00_6860;
BgL_auxz00_6860 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5168L), BGl_string3449z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux2700z00_4925); 
FAILURE(BgL_auxz00_6860,BFALSE,BFALSE);} } 
BgL_tmpz00_6856 = BgL_res2226z00_2850; } 
BgL_test3891z00_6855 = 
(BgL_tmpz00_6856==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test3891z00_6855)
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_auxz00_6867; int BgL_tmpz00_6865;
BgL_auxz00_6867 = 
BINT(BgL_arg1353z00_2838); 
BgL_tmpz00_6865 = 
(int)(0L); 
STRUCT_SET(BgL_tablez00_47, BgL_tmpz00_6865, BgL_auxz00_6867); }  else 
{ /* Llib/weakhash.scm 134 */
BGl_errorz00zz__errorz00(BGl_string3452z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_47); } } } 
if(
CBOOL(BgL_lastzd2bucketzd2_1389))
{ /* Llib/weakhash.scm 136 */
 obj_t BgL_arg1355z00_2840;
{ /* Llib/weakhash.scm 136 */
 obj_t BgL_pairz00_2851;
if(
PAIRP(BgL_bucketz00_1388))
{ /* Llib/weakhash.scm 136 */
BgL_pairz00_2851 = BgL_bucketz00_1388; }  else 
{ 
 obj_t BgL_auxz00_6875;
BgL_auxz00_6875 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5282L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_bucketz00_1388); 
FAILURE(BgL_auxz00_6875,BFALSE,BFALSE);} 
BgL_arg1355z00_2840 = 
CDR(BgL_pairz00_2851); } 
{ /* Llib/weakhash.scm 136 */
 obj_t BgL_pairz00_2852;
if(
PAIRP(BgL_lastzd2bucketzd2_1389))
{ /* Llib/weakhash.scm 136 */
BgL_pairz00_2852 = BgL_lastzd2bucketzd2_1389; }  else 
{ 
 obj_t BgL_auxz00_6882;
BgL_auxz00_6882 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5265L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_lastzd2bucketzd2_1389); 
FAILURE(BgL_auxz00_6882,BFALSE,BFALSE);} 
SET_CDR(BgL_pairz00_2852, BgL_arg1355z00_2840); } }  else 
{ /* Llib/weakhash.scm 137 */
 obj_t BgL_arg1356z00_2841;
{ /* Llib/weakhash.scm 137 */
 obj_t BgL_pairz00_2853;
if(
PAIRP(BgL_bucketz00_1388))
{ /* Llib/weakhash.scm 137 */
BgL_pairz00_2853 = BgL_bucketz00_1388; }  else 
{ 
 obj_t BgL_auxz00_6889;
BgL_auxz00_6889 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5326L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_bucketz00_1388); 
FAILURE(BgL_auxz00_6889,BFALSE,BFALSE);} 
BgL_arg1356z00_2841 = 
CDR(BgL_pairz00_2853); } 
{ /* Llib/weakhash.scm 137 */
 obj_t BgL_vectorz00_2854;
if(
VECTORP(BgL_bucketsz00_48))
{ /* Llib/weakhash.scm 137 */
BgL_vectorz00_2854 = BgL_bucketsz00_48; }  else 
{ 
 obj_t BgL_auxz00_6896;
BgL_auxz00_6896 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5311L), BGl_string3449z00zz__weakhashz00, BGl_string3447z00zz__weakhashz00, BgL_bucketsz00_48); 
FAILURE(BgL_auxz00_6896,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 137 */
 bool_t BgL_test3898z00_6900;
{ /* Llib/weakhash.scm 137 */
 long BgL_tmpz00_6901;
BgL_tmpz00_6901 = 
VECTOR_LENGTH(BgL_vectorz00_2854); 
BgL_test3898z00_6900 = 
BOUND_CHECK(BgL_iz00_49, BgL_tmpz00_6901); } 
if(BgL_test3898z00_6900)
{ /* Llib/weakhash.scm 137 */
VECTOR_SET(BgL_vectorz00_2854,BgL_iz00_49,BgL_arg1356z00_2841); }  else 
{ 
 obj_t BgL_auxz00_6905;
BgL_auxz00_6905 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5298L), BGl_string3453z00zz__weakhashz00, BgL_vectorz00_2854, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_2854)), 
(int)(BgL_iz00_49)); 
FAILURE(BgL_auxz00_6905,BFALSE,BFALSE);} } } } BGl_keepgoingz00zz__weakhashz00; 
{ /* Llib/weakhash.scm 145 */
 obj_t BgL_arg1387z00_1394;
{ /* Llib/weakhash.scm 145 */
 obj_t BgL_pairz00_2856;
if(
PAIRP(BgL_bucketz00_1388))
{ /* Llib/weakhash.scm 145 */
BgL_pairz00_2856 = BgL_bucketz00_1388; }  else 
{ 
 obj_t BgL_auxz00_6914;
BgL_auxz00_6914 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5685L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_bucketz00_1388); 
FAILURE(BgL_auxz00_6914,BFALSE,BFALSE);} 
BgL_arg1387z00_1394 = 
CDR(BgL_pairz00_2856); } 
{ 
 obj_t BgL_bucketz00_6919;
BgL_bucketz00_6919 = BgL_arg1387z00_1394; 
BgL_bucketz00_1388 = BgL_bucketz00_6919; 
goto BgL_zc3z04anonymousza31384ze3z87_1390;} } }  else 
{ /* Llib/weakhash.scm 145 */
if(
(BgL_retz00_1392==BGl_removestopz00zz__weakhashz00))
{ /* Llib/weakhash.scm 145 */
{ /* Llib/weakhash.scm 134 */
 long BgL_arg1353z00_2857;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_arg1354z00_2858;
{ /* Llib/weakhash.scm 134 */
 bool_t BgL_test3901z00_6922;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_tmpz00_6923;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_res2227z00_2864;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_aux2712z00_4937;
BgL_aux2712z00_4937 = 
STRUCT_KEY(BgL_tablez00_47); 
if(
SYMBOLP(BgL_aux2712z00_4937))
{ /* Llib/weakhash.scm 134 */
BgL_res2227z00_2864 = BgL_aux2712z00_4937; }  else 
{ 
 obj_t BgL_auxz00_6927;
BgL_auxz00_6927 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5201L), BGl_string3449z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux2712z00_4937); 
FAILURE(BgL_auxz00_6927,BFALSE,BFALSE);} } 
BgL_tmpz00_6923 = BgL_res2227z00_2864; } 
BgL_test3901z00_6922 = 
(BgL_tmpz00_6923==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test3901z00_6922)
{ /* Llib/weakhash.scm 134 */
 int BgL_tmpz00_6932;
BgL_tmpz00_6932 = 
(int)(0L); 
BgL_arg1354z00_2858 = 
STRUCT_REF(BgL_tablez00_47, BgL_tmpz00_6932); }  else 
{ /* Llib/weakhash.scm 134 */
BgL_arg1354z00_2858 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_47); } } 
{ /* Llib/weakhash.scm 134 */
 long BgL_za71za7_2865;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_tmpz00_6936;
if(
INTEGERP(BgL_arg1354z00_2858))
{ /* Llib/weakhash.scm 134 */
BgL_tmpz00_6936 = BgL_arg1354z00_2858
; }  else 
{ 
 obj_t BgL_auxz00_6939;
BgL_auxz00_6939 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5223L), BGl_string3449z00zz__weakhashz00, BGl_string3442z00zz__weakhashz00, BgL_arg1354z00_2858); 
FAILURE(BgL_auxz00_6939,BFALSE,BFALSE);} 
BgL_za71za7_2865 = 
(long)CINT(BgL_tmpz00_6936); } 
BgL_arg1353z00_2857 = 
(BgL_za71za7_2865-1L); } } 
{ /* Llib/weakhash.scm 134 */
 bool_t BgL_test3904z00_6945;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_tmpz00_6946;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_res2228z00_2869;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_aux2715z00_4940;
BgL_aux2715z00_4940 = 
STRUCT_KEY(BgL_tablez00_47); 
if(
SYMBOLP(BgL_aux2715z00_4940))
{ /* Llib/weakhash.scm 134 */
BgL_res2228z00_2869 = BgL_aux2715z00_4940; }  else 
{ 
 obj_t BgL_auxz00_6950;
BgL_auxz00_6950 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5168L), BGl_string3449z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux2715z00_4940); 
FAILURE(BgL_auxz00_6950,BFALSE,BFALSE);} } 
BgL_tmpz00_6946 = BgL_res2228z00_2869; } 
BgL_test3904z00_6945 = 
(BgL_tmpz00_6946==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test3904z00_6945)
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_auxz00_6957; int BgL_tmpz00_6955;
BgL_auxz00_6957 = 
BINT(BgL_arg1353z00_2857); 
BgL_tmpz00_6955 = 
(int)(0L); 
STRUCT_SET(BgL_tablez00_47, BgL_tmpz00_6955, BgL_auxz00_6957); }  else 
{ /* Llib/weakhash.scm 134 */
BGl_errorz00zz__errorz00(BGl_string3452z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_47); } } } 
if(
CBOOL(BgL_lastzd2bucketzd2_1389))
{ /* Llib/weakhash.scm 136 */
 obj_t BgL_arg1355z00_2859;
{ /* Llib/weakhash.scm 136 */
 obj_t BgL_pairz00_2870;
if(
PAIRP(BgL_bucketz00_1388))
{ /* Llib/weakhash.scm 136 */
BgL_pairz00_2870 = BgL_bucketz00_1388; }  else 
{ 
 obj_t BgL_auxz00_6965;
BgL_auxz00_6965 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5282L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_bucketz00_1388); 
FAILURE(BgL_auxz00_6965,BFALSE,BFALSE);} 
BgL_arg1355z00_2859 = 
CDR(BgL_pairz00_2870); } 
{ /* Llib/weakhash.scm 136 */
 obj_t BgL_pairz00_2871;
if(
PAIRP(BgL_lastzd2bucketzd2_1389))
{ /* Llib/weakhash.scm 136 */
BgL_pairz00_2871 = BgL_lastzd2bucketzd2_1389; }  else 
{ 
 obj_t BgL_auxz00_6972;
BgL_auxz00_6972 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5265L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_lastzd2bucketzd2_1389); 
FAILURE(BgL_auxz00_6972,BFALSE,BFALSE);} 
SET_CDR(BgL_pairz00_2871, BgL_arg1355z00_2859); } }  else 
{ /* Llib/weakhash.scm 137 */
 obj_t BgL_arg1356z00_2860;
{ /* Llib/weakhash.scm 137 */
 obj_t BgL_pairz00_2872;
if(
PAIRP(BgL_bucketz00_1388))
{ /* Llib/weakhash.scm 137 */
BgL_pairz00_2872 = BgL_bucketz00_1388; }  else 
{ 
 obj_t BgL_auxz00_6979;
BgL_auxz00_6979 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5326L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_bucketz00_1388); 
FAILURE(BgL_auxz00_6979,BFALSE,BFALSE);} 
BgL_arg1356z00_2860 = 
CDR(BgL_pairz00_2872); } 
{ /* Llib/weakhash.scm 137 */
 obj_t BgL_vectorz00_2873;
if(
VECTORP(BgL_bucketsz00_48))
{ /* Llib/weakhash.scm 137 */
BgL_vectorz00_2873 = BgL_bucketsz00_48; }  else 
{ 
 obj_t BgL_auxz00_6986;
BgL_auxz00_6986 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5311L), BGl_string3449z00zz__weakhashz00, BGl_string3447z00zz__weakhashz00, BgL_bucketsz00_48); 
FAILURE(BgL_auxz00_6986,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 137 */
 bool_t BgL_test3911z00_6990;
{ /* Llib/weakhash.scm 137 */
 long BgL_tmpz00_6991;
BgL_tmpz00_6991 = 
VECTOR_LENGTH(BgL_vectorz00_2873); 
BgL_test3911z00_6990 = 
BOUND_CHECK(BgL_iz00_49, BgL_tmpz00_6991); } 
if(BgL_test3911z00_6990)
{ /* Llib/weakhash.scm 137 */
VECTOR_SET(BgL_vectorz00_2873,BgL_iz00_49,BgL_arg1356z00_2860); }  else 
{ 
 obj_t BgL_auxz00_6995;
BgL_auxz00_6995 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5298L), BGl_string3453z00zz__weakhashz00, BgL_vectorz00_2873, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_2873)), 
(int)(BgL_iz00_49)); 
FAILURE(BgL_auxz00_6995,BFALSE,BFALSE);} } } } 
return BGl_keepgoingz00zz__weakhashz00;}  else 
{ /* Llib/weakhash.scm 145 */
return BgL_retz00_1392;} } } } } } } } } } 

}



/* keys-traverse-hash */
obj_t BGl_keyszd2traversezd2hashz00zz__weakhashz00(obj_t BgL_tablez00_51, obj_t BgL_funz00_52)
{
{ /* Llib/weakhash.scm 187 */
BGl_weakzd2keyszd2hashtablezd2filterz12zc0zz__weakhashz00(BgL_tablez00_51, BGl_proc3454z00zz__weakhashz00); 
{ /* Llib/weakhash.scm 191 */
 obj_t BgL_bucketsz00_1406;
{ /* Llib/weakhash.scm 191 */
 bool_t BgL_test3912z00_7003;
{ /* Llib/weakhash.scm 191 */
 obj_t BgL_tmpz00_7004;
{ /* Llib/weakhash.scm 191 */
 obj_t BgL_res2229z00_2878;
{ /* Llib/weakhash.scm 191 */
 obj_t BgL_aux2725z00_4950;
BgL_aux2725z00_4950 = 
STRUCT_KEY(BgL_tablez00_51); 
if(
SYMBOLP(BgL_aux2725z00_4950))
{ /* Llib/weakhash.scm 191 */
BgL_res2229z00_2878 = BgL_aux2725z00_4950; }  else 
{ 
 obj_t BgL_auxz00_7008;
BgL_auxz00_7008 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(7326L), BGl_string3455z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux2725z00_4950); 
FAILURE(BgL_auxz00_7008,BFALSE,BFALSE);} } 
BgL_tmpz00_7004 = BgL_res2229z00_2878; } 
BgL_test3912z00_7003 = 
(BgL_tmpz00_7004==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test3912z00_7003)
{ /* Llib/weakhash.scm 191 */
 int BgL_tmpz00_7013;
BgL_tmpz00_7013 = 
(int)(2L); 
BgL_bucketsz00_1406 = 
STRUCT_REF(BgL_tablez00_51, BgL_tmpz00_7013); }  else 
{ /* Llib/weakhash.scm 191 */
BgL_bucketsz00_1406 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_51); } } 
{ /* Llib/weakhash.scm 191 */
 long BgL_bucketszd2lenzd2_1407;
{ /* Llib/weakhash.scm 192 */
 obj_t BgL_vectorz00_2879;
if(
VECTORP(BgL_bucketsz00_1406))
{ /* Llib/weakhash.scm 192 */
BgL_vectorz00_2879 = BgL_bucketsz00_1406; }  else 
{ 
 obj_t BgL_auxz00_7019;
BgL_auxz00_7019 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(7385L), BGl_string3455z00zz__weakhashz00, BGl_string3447z00zz__weakhashz00, BgL_bucketsz00_1406); 
FAILURE(BgL_auxz00_7019,BFALSE,BFALSE);} 
BgL_bucketszd2lenzd2_1407 = 
VECTOR_LENGTH(BgL_vectorz00_2879); } 
{ /* Llib/weakhash.scm 192 */

{ 
 long BgL_iz00_1409;
BgL_iz00_1409 = 0L; 
if(
(BgL_iz00_1409==BgL_bucketszd2lenzd2_1407))
{ /* Llib/weakhash.scm 194 */
return BFALSE;}  else 
{ /* Llib/weakhash.scm 195 */
 obj_t BgL_bucketz00_1412;
{ /* Llib/weakhash.scm 195 */
 obj_t BgL_vectorz00_2882;
if(
VECTORP(BgL_bucketsz00_1406))
{ /* Llib/weakhash.scm 195 */
BgL_vectorz00_2882 = BgL_bucketsz00_1406; }  else 
{ 
 obj_t BgL_auxz00_7028;
BgL_auxz00_7028 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(7481L), BGl_string3456z00zz__weakhashz00, BGl_string3447z00zz__weakhashz00, BgL_bucketsz00_1406); 
FAILURE(BgL_auxz00_7028,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 195 */
 bool_t BgL_test3917z00_7032;
{ /* Llib/weakhash.scm 195 */
 long BgL_tmpz00_7033;
BgL_tmpz00_7033 = 
VECTOR_LENGTH(BgL_vectorz00_2882); 
BgL_test3917z00_7032 = 
BOUND_CHECK(BgL_iz00_1409, BgL_tmpz00_7033); } 
if(BgL_test3917z00_7032)
{ /* Llib/weakhash.scm 195 */
BgL_bucketz00_1412 = 
VECTOR_REF(BgL_vectorz00_2882,BgL_iz00_1409); }  else 
{ 
 obj_t BgL_auxz00_7037;
BgL_auxz00_7037 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(7469L), BGl_string3448z00zz__weakhashz00, BgL_vectorz00_2882, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_2882)), 
(int)(BgL_iz00_1409)); 
FAILURE(BgL_auxz00_7037,BFALSE,BFALSE);} } } 
{ 
 obj_t BgL_l1113z00_1414;
BgL_l1113z00_1414 = BgL_bucketz00_1412; 
BgL_zc3z04anonymousza31398ze3z87_1415:
if(
PAIRP(BgL_l1113z00_1414))
{ /* Llib/weakhash.scm 196 */
{ /* Llib/weakhash.scm 197 */
 obj_t BgL_pz00_1417;
BgL_pz00_1417 = 
CAR(BgL_l1113z00_1414); 
{ /* Llib/weakhash.scm 197 */
 bool_t BgL_test3919z00_7047;
{ /* Llib/weakhash.scm 197 */
 obj_t BgL_arg1405z00_1422;
{ /* Llib/weakhash.scm 197 */
 obj_t BgL_objz00_2885;
if(
BGL_WEAKPTRP(BgL_pz00_1417))
{ /* Llib/weakhash.scm 197 */
BgL_objz00_2885 = BgL_pz00_1417; }  else 
{ 
 obj_t BgL_auxz00_7050;
BgL_auxz00_7050 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(7558L), BGl_string3457z00zz__weakhashz00, BGl_string3451z00zz__weakhashz00, BgL_pz00_1417); 
FAILURE(BgL_auxz00_7050,BFALSE,BFALSE);} 
BgL_arg1405z00_1422 = 
bgl_weakptr_data(BgL_objz00_2885); } 
BgL_test3919z00_7047 = 
(BgL_arg1405z00_1422==BUNSPEC); } 
if(BgL_test3919z00_7047)
{ /* Llib/weakhash.scm 197 */BFALSE; }  else 
{ /* Llib/weakhash.scm 198 */
 obj_t BgL_arg1402z00_1420; obj_t BgL_arg1403z00_1421;
{ /* Llib/weakhash.scm 198 */
 obj_t BgL_objz00_2886;
if(
BGL_WEAKPTRP(BgL_pz00_1417))
{ /* Llib/weakhash.scm 198 */
BgL_objz00_2886 = BgL_pz00_1417; }  else 
{ 
 obj_t BgL_auxz00_7058;
BgL_auxz00_7058 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(7604L), BGl_string3457z00zz__weakhashz00, BGl_string3451z00zz__weakhashz00, BgL_pz00_1417); 
FAILURE(BgL_auxz00_7058,BFALSE,BFALSE);} 
BgL_arg1402z00_1420 = 
bgl_weakptr_data(BgL_objz00_2886); } 
{ /* Llib/weakhash.scm 198 */
 obj_t BgL_objz00_2887;
if(
BGL_WEAKPTRP(BgL_pz00_1417))
{ /* Llib/weakhash.scm 198 */
BgL_objz00_2887 = BgL_pz00_1417; }  else 
{ 
 obj_t BgL_auxz00_7065;
BgL_auxz00_7065 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(7620L), BGl_string3457z00zz__weakhashz00, BGl_string3451z00zz__weakhashz00, BgL_pz00_1417); 
FAILURE(BgL_auxz00_7065,BFALSE,BFALSE);} 
BgL_arg1403z00_1421 = 
bgl_weakptr_ref(BgL_objz00_2887); } 
{ /* Llib/weakhash.scm 198 */
 obj_t BgL_funz00_4964;
if(
PROCEDUREP(BgL_funz00_52))
{ /* Llib/weakhash.scm 198 */
BgL_funz00_4964 = BgL_funz00_52; }  else 
{ 
 obj_t BgL_auxz00_7072;
BgL_auxz00_7072 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(7585L), BGl_string3457z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_funz00_52); 
FAILURE(BgL_auxz00_7072,BFALSE,BFALSE);} 
if(
PROCEDURE_CORRECT_ARITYP(BgL_funz00_4964, 2L))
{ /* Llib/weakhash.scm 198 */
(VA_PROCEDUREP( BgL_funz00_4964 ) ? ((obj_t (*)(obj_t, ...))PROCEDURE_ENTRY(BgL_funz00_4964))(BgL_funz00_52, BgL_arg1402z00_1420, BgL_arg1403z00_1421, BEOA) : ((obj_t (*)(obj_t, obj_t, obj_t))PROCEDURE_ENTRY(BgL_funz00_4964))(BgL_funz00_52, BgL_arg1402z00_1420, BgL_arg1403z00_1421) ); }  else 
{ /* Llib/weakhash.scm 198 */
FAILURE(BGl_string3459z00zz__weakhashz00,BGl_list3460z00zz__weakhashz00,BgL_funz00_4964);} } } } } 
{ 
 obj_t BgL_l1113z00_7084;
BgL_l1113z00_7084 = 
CDR(BgL_l1113z00_1414); 
BgL_l1113z00_1414 = BgL_l1113z00_7084; 
goto BgL_zc3z04anonymousza31398ze3z87_1415;} }  else 
{ /* Llib/weakhash.scm 196 */
if(
NULLP(BgL_l1113z00_1414))
{ /* Llib/weakhash.scm 196 */
return BTRUE;}  else 
{ /* Llib/weakhash.scm 196 */
return 
BGl_bigloozd2typezd2errorzf2locationzf2zz__errorz00(BGl_string3467z00zz__weakhashz00, BGl_string3468z00zz__weakhashz00, BgL_l1113z00_1414, BGl_string3445z00zz__weakhashz00, 
BINT(7502L));} } } } } } } } } 

}



/* &<@anonymous:1395> */
obj_t BGl_z62zc3z04anonymousza31395ze3ze5zz__weakhashz00(obj_t BgL_envz00_4412, obj_t BgL_kz00_4413, obj_t BgL_vz00_4414)
{
{ /* Llib/weakhash.scm 189 */
return 
BBOOL(((bool_t)1));} 

}



/* old-traverse-hash */
bool_t BGl_oldzd2traversezd2hashz00zz__weakhashz00(obj_t BgL_tablez00_53, obj_t BgL_funz00_54)
{
{ /* Llib/weakhash.scm 204 */
{ /* Llib/weakhash.scm 205 */
 bool_t BgL_test3926z00_7091;
{ /* Llib/weakhash.scm 214 */
 obj_t BgL_arg1455z00_1520;
{ /* Llib/weakhash.scm 214 */
 bool_t BgL_test3927z00_7092;
{ /* Llib/weakhash.scm 214 */
 obj_t BgL_tmpz00_7093;
{ /* Llib/weakhash.scm 214 */
 obj_t BgL_res2230z00_2892;
{ /* Llib/weakhash.scm 214 */
 obj_t BgL_aux2740z00_4966;
BgL_aux2740z00_4966 = 
STRUCT_KEY(BgL_tablez00_53); 
if(
SYMBOLP(BgL_aux2740z00_4966))
{ /* Llib/weakhash.scm 214 */
BgL_res2230z00_2892 = BgL_aux2740z00_4966; }  else 
{ 
 obj_t BgL_auxz00_7097;
BgL_auxz00_7097 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(8215L), BGl_string3469z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux2740z00_4966); 
FAILURE(BgL_auxz00_7097,BFALSE,BFALSE);} } 
BgL_tmpz00_7093 = BgL_res2230z00_2892; } 
BgL_test3927z00_7092 = 
(BgL_tmpz00_7093==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test3927z00_7092)
{ /* Llib/weakhash.scm 214 */
 int BgL_tmpz00_7102;
BgL_tmpz00_7102 = 
(int)(5L); 
BgL_arg1455z00_1520 = 
STRUCT_REF(BgL_tablez00_53, BgL_tmpz00_7102); }  else 
{ /* Llib/weakhash.scm 214 */
BgL_arg1455z00_1520 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_53); } } 
{ /* Llib/weakhash.scm 214 */
 long BgL_n2z00_2893;
{ /* Llib/weakhash.scm 214 */
 obj_t BgL_tmpz00_7106;
if(
INTEGERP(BgL_arg1455z00_1520))
{ /* Llib/weakhash.scm 214 */
BgL_tmpz00_7106 = BgL_arg1455z00_1520
; }  else 
{ 
 obj_t BgL_auxz00_7109;
BgL_auxz00_7109 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(8237L), BGl_string3469z00zz__weakhashz00, BGl_string3442z00zz__weakhashz00, BgL_arg1455z00_1520); 
FAILURE(BgL_auxz00_7109,BFALSE,BFALSE);} 
BgL_n2z00_2893 = 
(long)CINT(BgL_tmpz00_7106); } 
BgL_test3926z00_7091 = 
(1L==BgL_n2z00_2893); } } 
if(BgL_test3926z00_7091)
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_bucketsz00_1429;
{ /* Llib/weakhash.scm 205 */
 bool_t BgL_test3930z00_7115;
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_tmpz00_7116;
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_res2231z00_2897;
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_aux2743z00_4969;
BgL_aux2743z00_4969 = 
STRUCT_KEY(BgL_tablez00_53); 
if(
SYMBOLP(BgL_aux2743z00_4969))
{ /* Llib/weakhash.scm 205 */
BgL_res2231z00_2897 = BgL_aux2743z00_4969; }  else 
{ 
 obj_t BgL_auxz00_7120;
BgL_auxz00_7120 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(7915L), BGl_string3469z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux2743z00_4969); 
FAILURE(BgL_auxz00_7120,BFALSE,BFALSE);} } 
BgL_tmpz00_7116 = BgL_res2231z00_2897; } 
BgL_test3930z00_7115 = 
(BgL_tmpz00_7116==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test3930z00_7115)
{ /* Llib/weakhash.scm 205 */
 int BgL_tmpz00_7125;
BgL_tmpz00_7125 = 
(int)(2L); 
BgL_bucketsz00_1429 = 
STRUCT_REF(BgL_tablez00_53, BgL_tmpz00_7125); }  else 
{ /* Llib/weakhash.scm 205 */
BgL_bucketsz00_1429 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_53); } } 
{ /* Llib/weakhash.scm 205 */
 long BgL_bucketszd2lenzd2_1430;
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_vectorz00_2898;
if(
VECTORP(BgL_bucketsz00_1429))
{ /* Llib/weakhash.scm 205 */
BgL_vectorz00_2898 = BgL_bucketsz00_1429; }  else 
{ 
 obj_t BgL_auxz00_7131;
BgL_auxz00_7131 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(7915L), BGl_string3469z00zz__weakhashz00, BGl_string3447z00zz__weakhashz00, BgL_bucketsz00_1429); 
FAILURE(BgL_auxz00_7131,BFALSE,BFALSE);} 
BgL_bucketszd2lenzd2_1430 = 
VECTOR_LENGTH(BgL_vectorz00_2898); } 
{ /* Llib/weakhash.scm 205 */

{ 
 long BgL_iz00_1432;
BgL_iz00_1432 = 0L; 
BgL_zc3z04anonymousza31410ze3z87_1433:
if(
(BgL_iz00_1432==BgL_bucketszd2lenzd2_1430))
{ /* Llib/weakhash.scm 205 */
return ((bool_t)0);}  else 
{ /* Llib/weakhash.scm 205 */
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_g1064z00_1435;
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_vectorz00_2901;
if(
VECTORP(BgL_bucketsz00_1429))
{ /* Llib/weakhash.scm 205 */
BgL_vectorz00_2901 = BgL_bucketsz00_1429; }  else 
{ 
 obj_t BgL_auxz00_7140;
BgL_auxz00_7140 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(7915L), BGl_string3456z00zz__weakhashz00, BGl_string3447z00zz__weakhashz00, BgL_bucketsz00_1429); 
FAILURE(BgL_auxz00_7140,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 205 */
 bool_t BgL_test3935z00_7144;
{ /* Llib/weakhash.scm 205 */
 long BgL_tmpz00_7145;
BgL_tmpz00_7145 = 
VECTOR_LENGTH(BgL_vectorz00_2901); 
BgL_test3935z00_7144 = 
BOUND_CHECK(BgL_iz00_1432, BgL_tmpz00_7145); } 
if(BgL_test3935z00_7144)
{ /* Llib/weakhash.scm 205 */
BgL_g1064z00_1435 = 
VECTOR_REF(BgL_vectorz00_2901,BgL_iz00_1432); }  else 
{ 
 obj_t BgL_auxz00_7149;
BgL_auxz00_7149 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(7915L), BGl_string3448z00zz__weakhashz00, BgL_vectorz00_2901, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_2901)), 
(int)(BgL_iz00_1432)); 
FAILURE(BgL_auxz00_7149,BFALSE,BFALSE);} } } 
{ 
 obj_t BgL_bucketz00_1437; obj_t BgL_lastzd2bucketzd2_1438;
BgL_bucketz00_1437 = BgL_g1064z00_1435; 
BgL_lastzd2bucketzd2_1438 = BFALSE; 
BgL_zc3z04anonymousza31412ze3z87_1439:
if(
NULLP(BgL_bucketz00_1437))
{ /* Llib/weakhash.scm 205 */((bool_t)0); }  else 
{ /* Llib/weakhash.scm 216 */
 obj_t BgL_retz00_1441;
{ /* Llib/weakhash.scm 216 */
 obj_t BgL_keyz00_1444;
{ /* Llib/weakhash.scm 216 */
 obj_t BgL_arg1417z00_1446;
{ /* Llib/weakhash.scm 216 */
 obj_t BgL_pairz00_2903;
if(
PAIRP(BgL_bucketz00_1437))
{ /* Llib/weakhash.scm 216 */
BgL_pairz00_2903 = BgL_bucketz00_1437; }  else 
{ 
 obj_t BgL_auxz00_7160;
BgL_auxz00_7160 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(8301L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_bucketz00_1437); 
FAILURE(BgL_auxz00_7160,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 216 */
 obj_t BgL_pairz00_2906;
{ /* Llib/weakhash.scm 216 */
 obj_t BgL_aux2751z00_4977;
BgL_aux2751z00_4977 = 
CAR(BgL_pairz00_2903); 
if(
PAIRP(BgL_aux2751z00_4977))
{ /* Llib/weakhash.scm 216 */
BgL_pairz00_2906 = BgL_aux2751z00_4977; }  else 
{ 
 obj_t BgL_auxz00_7167;
BgL_auxz00_7167 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(8295L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_aux2751z00_4977); 
FAILURE(BgL_auxz00_7167,BFALSE,BFALSE);} } 
BgL_arg1417z00_1446 = 
CAR(BgL_pairz00_2906); } } 
{ /* Llib/weakhash.scm 216 */
 obj_t BgL_objz00_2907;
if(
BGL_WEAKPTRP(BgL_arg1417z00_1446))
{ /* Llib/weakhash.scm 216 */
BgL_objz00_2907 = BgL_arg1417z00_1446; }  else 
{ 
 obj_t BgL_auxz00_7174;
BgL_auxz00_7174 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(8307L), BGl_string3449z00zz__weakhashz00, BGl_string3451z00zz__weakhashz00, BgL_arg1417z00_1446); 
FAILURE(BgL_auxz00_7174,BFALSE,BFALSE);} 
BgL_keyz00_1444 = 
bgl_weakptr_data(BgL_objz00_2907); } } 
if(
(BgL_keyz00_1444==BUNSPEC))
{ /* Llib/weakhash.scm 217 */
BgL_retz00_1441 = BGl_removez00zz__weakhashz00; }  else 
{ /* Llib/weakhash.scm 219 */
 obj_t BgL_arg1416z00_1445;
{ /* Llib/weakhash.scm 219 */
 obj_t BgL_pairz00_2908;
if(
PAIRP(BgL_bucketz00_1437))
{ /* Llib/weakhash.scm 219 */
BgL_pairz00_2908 = BgL_bucketz00_1437; }  else 
{ 
 obj_t BgL_auxz00_7183;
BgL_auxz00_7183 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(8382L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_bucketz00_1437); 
FAILURE(BgL_auxz00_7183,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 219 */
 obj_t BgL_pairz00_2911;
{ /* Llib/weakhash.scm 219 */
 obj_t BgL_aux2757z00_4983;
BgL_aux2757z00_4983 = 
CAR(BgL_pairz00_2908); 
if(
PAIRP(BgL_aux2757z00_4983))
{ /* Llib/weakhash.scm 219 */
BgL_pairz00_2911 = BgL_aux2757z00_4983; }  else 
{ 
 obj_t BgL_auxz00_7190;
BgL_auxz00_7190 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(8376L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_aux2757z00_4983); 
FAILURE(BgL_auxz00_7190,BFALSE,BFALSE);} } 
BgL_arg1416z00_1445 = 
CDR(BgL_pairz00_2911); } } 
{ /* Llib/weakhash.scm 219 */
 obj_t BgL_funz00_4987;
if(
PROCEDUREP(BgL_funz00_54))
{ /* Llib/weakhash.scm 219 */
BgL_funz00_4987 = BgL_funz00_54; }  else 
{ 
 obj_t BgL_auxz00_7197;
BgL_auxz00_7197 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(8367L), BGl_string3449z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_funz00_54); 
FAILURE(BgL_auxz00_7197,BFALSE,BFALSE);} 
if(
PROCEDURE_CORRECT_ARITYP(BgL_funz00_4987, 2L))
{ /* Llib/weakhash.scm 219 */
BgL_retz00_1441 = 
(VA_PROCEDUREP( BgL_funz00_4987 ) ? ((obj_t (*)(obj_t, ...))PROCEDURE_ENTRY(BgL_funz00_4987))(BgL_funz00_54, BgL_keyz00_1444, BgL_arg1416z00_1445, BEOA) : ((obj_t (*)(obj_t, obj_t, obj_t))PROCEDURE_ENTRY(BgL_funz00_4987))(BgL_funz00_54, BgL_keyz00_1444, BgL_arg1416z00_1445) ); }  else 
{ /* Llib/weakhash.scm 219 */
FAILURE(BGl_string3470z00zz__weakhashz00,BGl_list3471z00zz__weakhashz00,BgL_funz00_4987);} } } } 
if(
(BgL_retz00_1441==BGl_removez00zz__weakhashz00))
{ /* Llib/weakhash.scm 205 */
{ /* Llib/weakhash.scm 134 */
 long BgL_arg1353z00_2912;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_arg1354z00_2913;
{ /* Llib/weakhash.scm 134 */
 bool_t BgL_test3946z00_7211;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_tmpz00_7212;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_res2232z00_2919;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_aux2762z00_4989;
BgL_aux2762z00_4989 = 
STRUCT_KEY(BgL_tablez00_53); 
if(
SYMBOLP(BgL_aux2762z00_4989))
{ /* Llib/weakhash.scm 134 */
BgL_res2232z00_2919 = BgL_aux2762z00_4989; }  else 
{ 
 obj_t BgL_auxz00_7216;
BgL_auxz00_7216 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5201L), BGl_string3449z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux2762z00_4989); 
FAILURE(BgL_auxz00_7216,BFALSE,BFALSE);} } 
BgL_tmpz00_7212 = BgL_res2232z00_2919; } 
BgL_test3946z00_7211 = 
(BgL_tmpz00_7212==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test3946z00_7211)
{ /* Llib/weakhash.scm 134 */
 int BgL_tmpz00_7221;
BgL_tmpz00_7221 = 
(int)(0L); 
BgL_arg1354z00_2913 = 
STRUCT_REF(BgL_tablez00_53, BgL_tmpz00_7221); }  else 
{ /* Llib/weakhash.scm 134 */
BgL_arg1354z00_2913 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_53); } } 
{ /* Llib/weakhash.scm 134 */
 long BgL_za71za7_2920;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_tmpz00_7225;
if(
INTEGERP(BgL_arg1354z00_2913))
{ /* Llib/weakhash.scm 134 */
BgL_tmpz00_7225 = BgL_arg1354z00_2913
; }  else 
{ 
 obj_t BgL_auxz00_7228;
BgL_auxz00_7228 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5223L), BGl_string3449z00zz__weakhashz00, BGl_string3442z00zz__weakhashz00, BgL_arg1354z00_2913); 
FAILURE(BgL_auxz00_7228,BFALSE,BFALSE);} 
BgL_za71za7_2920 = 
(long)CINT(BgL_tmpz00_7225); } 
BgL_arg1353z00_2912 = 
(BgL_za71za7_2920-1L); } } 
{ /* Llib/weakhash.scm 134 */
 bool_t BgL_test3949z00_7234;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_tmpz00_7235;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_res2233z00_2924;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_aux2765z00_4992;
BgL_aux2765z00_4992 = 
STRUCT_KEY(BgL_tablez00_53); 
if(
SYMBOLP(BgL_aux2765z00_4992))
{ /* Llib/weakhash.scm 134 */
BgL_res2233z00_2924 = BgL_aux2765z00_4992; }  else 
{ 
 obj_t BgL_auxz00_7239;
BgL_auxz00_7239 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5168L), BGl_string3449z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux2765z00_4992); 
FAILURE(BgL_auxz00_7239,BFALSE,BFALSE);} } 
BgL_tmpz00_7235 = BgL_res2233z00_2924; } 
BgL_test3949z00_7234 = 
(BgL_tmpz00_7235==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test3949z00_7234)
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_auxz00_7246; int BgL_tmpz00_7244;
BgL_auxz00_7246 = 
BINT(BgL_arg1353z00_2912); 
BgL_tmpz00_7244 = 
(int)(0L); 
STRUCT_SET(BgL_tablez00_53, BgL_tmpz00_7244, BgL_auxz00_7246); }  else 
{ /* Llib/weakhash.scm 134 */
BGl_errorz00zz__errorz00(BGl_string3452z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_53); } } } 
if(
CBOOL(BgL_lastzd2bucketzd2_1438))
{ /* Llib/weakhash.scm 136 */
 obj_t BgL_arg1355z00_2914;
{ /* Llib/weakhash.scm 136 */
 obj_t BgL_pairz00_2925;
if(
PAIRP(BgL_bucketz00_1437))
{ /* Llib/weakhash.scm 136 */
BgL_pairz00_2925 = BgL_bucketz00_1437; }  else 
{ 
 obj_t BgL_auxz00_7254;
BgL_auxz00_7254 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5282L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_bucketz00_1437); 
FAILURE(BgL_auxz00_7254,BFALSE,BFALSE);} 
BgL_arg1355z00_2914 = 
CDR(BgL_pairz00_2925); } 
{ /* Llib/weakhash.scm 136 */
 obj_t BgL_pairz00_2926;
if(
PAIRP(BgL_lastzd2bucketzd2_1438))
{ /* Llib/weakhash.scm 136 */
BgL_pairz00_2926 = BgL_lastzd2bucketzd2_1438; }  else 
{ 
 obj_t BgL_auxz00_7261;
BgL_auxz00_7261 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5265L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_lastzd2bucketzd2_1438); 
FAILURE(BgL_auxz00_7261,BFALSE,BFALSE);} 
SET_CDR(BgL_pairz00_2926, BgL_arg1355z00_2914); } }  else 
{ /* Llib/weakhash.scm 137 */
 obj_t BgL_arg1356z00_2915;
{ /* Llib/weakhash.scm 137 */
 obj_t BgL_pairz00_2927;
if(
PAIRP(BgL_bucketz00_1437))
{ /* Llib/weakhash.scm 137 */
BgL_pairz00_2927 = BgL_bucketz00_1437; }  else 
{ 
 obj_t BgL_auxz00_7268;
BgL_auxz00_7268 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5326L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_bucketz00_1437); 
FAILURE(BgL_auxz00_7268,BFALSE,BFALSE);} 
BgL_arg1356z00_2915 = 
CDR(BgL_pairz00_2927); } 
{ /* Llib/weakhash.scm 137 */
 obj_t BgL_vectorz00_2928;
if(
VECTORP(BgL_bucketsz00_1429))
{ /* Llib/weakhash.scm 137 */
BgL_vectorz00_2928 = BgL_bucketsz00_1429; }  else 
{ 
 obj_t BgL_auxz00_7275;
BgL_auxz00_7275 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5311L), BGl_string3449z00zz__weakhashz00, BGl_string3447z00zz__weakhashz00, BgL_bucketsz00_1429); 
FAILURE(BgL_auxz00_7275,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 137 */
 bool_t BgL_test3956z00_7279;
{ /* Llib/weakhash.scm 137 */
 long BgL_tmpz00_7280;
BgL_tmpz00_7280 = 
VECTOR_LENGTH(BgL_vectorz00_2928); 
BgL_test3956z00_7279 = 
BOUND_CHECK(BgL_iz00_1432, BgL_tmpz00_7280); } 
if(BgL_test3956z00_7279)
{ /* Llib/weakhash.scm 137 */
VECTOR_SET(BgL_vectorz00_2928,BgL_iz00_1432,BgL_arg1356z00_2915); }  else 
{ 
 obj_t BgL_auxz00_7284;
BgL_auxz00_7284 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5298L), BGl_string3453z00zz__weakhashz00, BgL_vectorz00_2928, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_2928)), 
(int)(BgL_iz00_1432)); 
FAILURE(BgL_auxz00_7284,BFALSE,BFALSE);} } } } BGl_keepgoingz00zz__weakhashz00; 
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_arg1414z00_1442;
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_pairz00_2930;
if(
PAIRP(BgL_bucketz00_1437))
{ /* Llib/weakhash.scm 205 */
BgL_pairz00_2930 = BgL_bucketz00_1437; }  else 
{ 
 obj_t BgL_auxz00_7293;
BgL_auxz00_7293 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(7915L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_bucketz00_1437); 
FAILURE(BgL_auxz00_7293,BFALSE,BFALSE);} 
BgL_arg1414z00_1442 = 
CDR(BgL_pairz00_2930); } 
{ 
 obj_t BgL_bucketz00_7298;
BgL_bucketz00_7298 = BgL_arg1414z00_1442; 
BgL_bucketz00_1437 = BgL_bucketz00_7298; 
goto BgL_zc3z04anonymousza31412ze3z87_1439;} } }  else 
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_arg1415z00_1443;
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_pairz00_2931;
if(
PAIRP(BgL_bucketz00_1437))
{ /* Llib/weakhash.scm 205 */
BgL_pairz00_2931 = BgL_bucketz00_1437; }  else 
{ 
 obj_t BgL_auxz00_7301;
BgL_auxz00_7301 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(7915L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_bucketz00_1437); 
FAILURE(BgL_auxz00_7301,BFALSE,BFALSE);} 
BgL_arg1415z00_1443 = 
CDR(BgL_pairz00_2931); } 
{ 
 obj_t BgL_lastzd2bucketzd2_7307; obj_t BgL_bucketz00_7306;
BgL_bucketz00_7306 = BgL_arg1415z00_1443; 
BgL_lastzd2bucketzd2_7307 = BgL_bucketz00_1437; 
BgL_lastzd2bucketzd2_1438 = BgL_lastzd2bucketzd2_7307; 
BgL_bucketz00_1437 = BgL_bucketz00_7306; 
goto BgL_zc3z04anonymousza31412ze3z87_1439;} } } } } 
{ 
 long BgL_iz00_7308;
BgL_iz00_7308 = 
(BgL_iz00_1432+1L); 
BgL_iz00_1432 = BgL_iz00_7308; 
goto BgL_zc3z04anonymousza31410ze3z87_1433;} } } } } }  else 
{ /* Llib/weakhash.scm 205 */
 bool_t BgL_test3959z00_7310;
{ /* Llib/weakhash.scm 220 */
 obj_t BgL_arg1454z00_1519;
{ /* Llib/weakhash.scm 220 */
 bool_t BgL_test3960z00_7311;
{ /* Llib/weakhash.scm 220 */
 obj_t BgL_tmpz00_7312;
{ /* Llib/weakhash.scm 220 */
 obj_t BgL_res2234z00_2936;
{ /* Llib/weakhash.scm 220 */
 obj_t BgL_aux2779z00_5006;
BgL_aux2779z00_5006 = 
STRUCT_KEY(BgL_tablez00_53); 
if(
SYMBOLP(BgL_aux2779z00_5006))
{ /* Llib/weakhash.scm 220 */
BgL_res2234z00_2936 = BgL_aux2779z00_5006; }  else 
{ 
 obj_t BgL_auxz00_7316;
BgL_auxz00_7316 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(8417L), BGl_string3469z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux2779z00_5006); 
FAILURE(BgL_auxz00_7316,BFALSE,BFALSE);} } 
BgL_tmpz00_7312 = BgL_res2234z00_2936; } 
BgL_test3960z00_7311 = 
(BgL_tmpz00_7312==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test3960z00_7311)
{ /* Llib/weakhash.scm 220 */
 int BgL_tmpz00_7321;
BgL_tmpz00_7321 = 
(int)(5L); 
BgL_arg1454z00_1519 = 
STRUCT_REF(BgL_tablez00_53, BgL_tmpz00_7321); }  else 
{ /* Llib/weakhash.scm 220 */
BgL_arg1454z00_1519 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_53); } } 
{ /* Llib/weakhash.scm 220 */
 long BgL_n2z00_2937;
{ /* Llib/weakhash.scm 220 */
 obj_t BgL_tmpz00_7325;
if(
INTEGERP(BgL_arg1454z00_1519))
{ /* Llib/weakhash.scm 220 */
BgL_tmpz00_7325 = BgL_arg1454z00_1519
; }  else 
{ 
 obj_t BgL_auxz00_7328;
BgL_auxz00_7328 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(8439L), BGl_string3469z00zz__weakhashz00, BGl_string3442z00zz__weakhashz00, BgL_arg1454z00_1519); 
FAILURE(BgL_auxz00_7328,BFALSE,BFALSE);} 
BgL_n2z00_2937 = 
(long)CINT(BgL_tmpz00_7325); } 
BgL_test3959z00_7310 = 
(2L==BgL_n2z00_2937); } } 
if(BgL_test3959z00_7310)
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_bucketsz00_1452;
{ /* Llib/weakhash.scm 205 */
 bool_t BgL_test3963z00_7334;
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_tmpz00_7335;
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_res2235z00_2941;
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_aux2782z00_5009;
BgL_aux2782z00_5009 = 
STRUCT_KEY(BgL_tablez00_53); 
if(
SYMBOLP(BgL_aux2782z00_5009))
{ /* Llib/weakhash.scm 205 */
BgL_res2235z00_2941 = BgL_aux2782z00_5009; }  else 
{ 
 obj_t BgL_auxz00_7339;
BgL_auxz00_7339 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(7915L), BGl_string3469z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux2782z00_5009); 
FAILURE(BgL_auxz00_7339,BFALSE,BFALSE);} } 
BgL_tmpz00_7335 = BgL_res2235z00_2941; } 
BgL_test3963z00_7334 = 
(BgL_tmpz00_7335==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test3963z00_7334)
{ /* Llib/weakhash.scm 205 */
 int BgL_tmpz00_7344;
BgL_tmpz00_7344 = 
(int)(2L); 
BgL_bucketsz00_1452 = 
STRUCT_REF(BgL_tablez00_53, BgL_tmpz00_7344); }  else 
{ /* Llib/weakhash.scm 205 */
BgL_bucketsz00_1452 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_53); } } 
{ /* Llib/weakhash.scm 205 */
 long BgL_bucketszd2lenzd2_1453;
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_vectorz00_2942;
if(
VECTORP(BgL_bucketsz00_1452))
{ /* Llib/weakhash.scm 205 */
BgL_vectorz00_2942 = BgL_bucketsz00_1452; }  else 
{ 
 obj_t BgL_auxz00_7350;
BgL_auxz00_7350 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(7915L), BGl_string3469z00zz__weakhashz00, BGl_string3447z00zz__weakhashz00, BgL_bucketsz00_1452); 
FAILURE(BgL_auxz00_7350,BFALSE,BFALSE);} 
BgL_bucketszd2lenzd2_1453 = 
VECTOR_LENGTH(BgL_vectorz00_2942); } 
{ /* Llib/weakhash.scm 205 */

{ 
 long BgL_iz00_1455;
BgL_iz00_1455 = 0L; 
BgL_zc3z04anonymousza31421ze3z87_1456:
if(
(BgL_iz00_1455==BgL_bucketszd2lenzd2_1453))
{ /* Llib/weakhash.scm 205 */
return ((bool_t)0);}  else 
{ /* Llib/weakhash.scm 205 */
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_g1065z00_1458;
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_vectorz00_2945;
if(
VECTORP(BgL_bucketsz00_1452))
{ /* Llib/weakhash.scm 205 */
BgL_vectorz00_2945 = BgL_bucketsz00_1452; }  else 
{ 
 obj_t BgL_auxz00_7359;
BgL_auxz00_7359 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(7915L), BGl_string3456z00zz__weakhashz00, BGl_string3447z00zz__weakhashz00, BgL_bucketsz00_1452); 
FAILURE(BgL_auxz00_7359,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 205 */
 bool_t BgL_test3968z00_7363;
{ /* Llib/weakhash.scm 205 */
 long BgL_tmpz00_7364;
BgL_tmpz00_7364 = 
VECTOR_LENGTH(BgL_vectorz00_2945); 
BgL_test3968z00_7363 = 
BOUND_CHECK(BgL_iz00_1455, BgL_tmpz00_7364); } 
if(BgL_test3968z00_7363)
{ /* Llib/weakhash.scm 205 */
BgL_g1065z00_1458 = 
VECTOR_REF(BgL_vectorz00_2945,BgL_iz00_1455); }  else 
{ 
 obj_t BgL_auxz00_7368;
BgL_auxz00_7368 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(7915L), BGl_string3448z00zz__weakhashz00, BgL_vectorz00_2945, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_2945)), 
(int)(BgL_iz00_1455)); 
FAILURE(BgL_auxz00_7368,BFALSE,BFALSE);} } } 
{ 
 obj_t BgL_bucketz00_1460; obj_t BgL_lastzd2bucketzd2_1461;
BgL_bucketz00_1460 = BgL_g1065z00_1458; 
BgL_lastzd2bucketzd2_1461 = BFALSE; 
BgL_zc3z04anonymousza31423ze3z87_1462:
if(
NULLP(BgL_bucketz00_1460))
{ /* Llib/weakhash.scm 205 */((bool_t)0); }  else 
{ /* Llib/weakhash.scm 222 */
 obj_t BgL_retz00_1464;
{ /* Llib/weakhash.scm 222 */
 obj_t BgL_dataz00_1467;
{ /* Llib/weakhash.scm 222 */
 obj_t BgL_arg1430z00_1469;
{ /* Llib/weakhash.scm 222 */
 obj_t BgL_pairz00_2947;
if(
PAIRP(BgL_bucketz00_1460))
{ /* Llib/weakhash.scm 222 */
BgL_pairz00_2947 = BgL_bucketz00_1460; }  else 
{ 
 obj_t BgL_auxz00_7379;
BgL_auxz00_7379 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(8504L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_bucketz00_1460); 
FAILURE(BgL_auxz00_7379,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 222 */
 obj_t BgL_pairz00_2950;
{ /* Llib/weakhash.scm 222 */
 obj_t BgL_aux2790z00_5017;
BgL_aux2790z00_5017 = 
CAR(BgL_pairz00_2947); 
if(
PAIRP(BgL_aux2790z00_5017))
{ /* Llib/weakhash.scm 222 */
BgL_pairz00_2950 = BgL_aux2790z00_5017; }  else 
{ 
 obj_t BgL_auxz00_7386;
BgL_auxz00_7386 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(8498L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_aux2790z00_5017); 
FAILURE(BgL_auxz00_7386,BFALSE,BFALSE);} } 
BgL_arg1430z00_1469 = 
CDR(BgL_pairz00_2950); } } 
{ /* Llib/weakhash.scm 222 */
 obj_t BgL_objz00_2951;
if(
BGL_WEAKPTRP(BgL_arg1430z00_1469))
{ /* Llib/weakhash.scm 222 */
BgL_objz00_2951 = BgL_arg1430z00_1469; }  else 
{ 
 obj_t BgL_auxz00_7393;
BgL_auxz00_7393 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(8510L), BGl_string3449z00zz__weakhashz00, BGl_string3451z00zz__weakhashz00, BgL_arg1430z00_1469); 
FAILURE(BgL_auxz00_7393,BFALSE,BFALSE);} 
BgL_dataz00_1467 = 
bgl_weakptr_data(BgL_objz00_2951); } } 
if(
(BgL_dataz00_1467==BUNSPEC))
{ /* Llib/weakhash.scm 223 */
BgL_retz00_1464 = BGl_removez00zz__weakhashz00; }  else 
{ /* Llib/weakhash.scm 225 */
 obj_t BgL_arg1427z00_1468;
{ /* Llib/weakhash.scm 225 */
 obj_t BgL_pairz00_2952;
if(
PAIRP(BgL_bucketz00_1460))
{ /* Llib/weakhash.scm 225 */
BgL_pairz00_2952 = BgL_bucketz00_1460; }  else 
{ 
 obj_t BgL_auxz00_7402;
BgL_auxz00_7402 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(8582L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_bucketz00_1460); 
FAILURE(BgL_auxz00_7402,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 225 */
 obj_t BgL_pairz00_2955;
{ /* Llib/weakhash.scm 225 */
 obj_t BgL_aux2796z00_5023;
BgL_aux2796z00_5023 = 
CAR(BgL_pairz00_2952); 
if(
PAIRP(BgL_aux2796z00_5023))
{ /* Llib/weakhash.scm 225 */
BgL_pairz00_2955 = BgL_aux2796z00_5023; }  else 
{ 
 obj_t BgL_auxz00_7409;
BgL_auxz00_7409 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(8576L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_aux2796z00_5023); 
FAILURE(BgL_auxz00_7409,BFALSE,BFALSE);} } 
BgL_arg1427z00_1468 = 
CAR(BgL_pairz00_2955); } } 
{ /* Llib/weakhash.scm 225 */
 obj_t BgL_funz00_5027;
if(
PROCEDUREP(BgL_funz00_54))
{ /* Llib/weakhash.scm 225 */
BgL_funz00_5027 = BgL_funz00_54; }  else 
{ 
 obj_t BgL_auxz00_7416;
BgL_auxz00_7416 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(8571L), BGl_string3449z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_funz00_54); 
FAILURE(BgL_auxz00_7416,BFALSE,BFALSE);} 
if(
PROCEDURE_CORRECT_ARITYP(BgL_funz00_5027, 2L))
{ /* Llib/weakhash.scm 225 */
BgL_retz00_1464 = 
(VA_PROCEDUREP( BgL_funz00_5027 ) ? ((obj_t (*)(obj_t, ...))PROCEDURE_ENTRY(BgL_funz00_5027))(BgL_funz00_54, BgL_arg1427z00_1468, BgL_dataz00_1467, BEOA) : ((obj_t (*)(obj_t, obj_t, obj_t))PROCEDURE_ENTRY(BgL_funz00_5027))(BgL_funz00_54, BgL_arg1427z00_1468, BgL_dataz00_1467) ); }  else 
{ /* Llib/weakhash.scm 225 */
FAILURE(BGl_string3470z00zz__weakhashz00,BGl_list3474z00zz__weakhashz00,BgL_funz00_5027);} } } } 
if(
(BgL_retz00_1464==BGl_removez00zz__weakhashz00))
{ /* Llib/weakhash.scm 205 */
{ /* Llib/weakhash.scm 134 */
 long BgL_arg1353z00_2956;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_arg1354z00_2957;
{ /* Llib/weakhash.scm 134 */
 bool_t BgL_test3979z00_7430;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_tmpz00_7431;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_res2236z00_2963;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_aux2801z00_5029;
BgL_aux2801z00_5029 = 
STRUCT_KEY(BgL_tablez00_53); 
if(
SYMBOLP(BgL_aux2801z00_5029))
{ /* Llib/weakhash.scm 134 */
BgL_res2236z00_2963 = BgL_aux2801z00_5029; }  else 
{ 
 obj_t BgL_auxz00_7435;
BgL_auxz00_7435 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5201L), BGl_string3449z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux2801z00_5029); 
FAILURE(BgL_auxz00_7435,BFALSE,BFALSE);} } 
BgL_tmpz00_7431 = BgL_res2236z00_2963; } 
BgL_test3979z00_7430 = 
(BgL_tmpz00_7431==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test3979z00_7430)
{ /* Llib/weakhash.scm 134 */
 int BgL_tmpz00_7440;
BgL_tmpz00_7440 = 
(int)(0L); 
BgL_arg1354z00_2957 = 
STRUCT_REF(BgL_tablez00_53, BgL_tmpz00_7440); }  else 
{ /* Llib/weakhash.scm 134 */
BgL_arg1354z00_2957 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_53); } } 
{ /* Llib/weakhash.scm 134 */
 long BgL_za71za7_2964;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_tmpz00_7444;
if(
INTEGERP(BgL_arg1354z00_2957))
{ /* Llib/weakhash.scm 134 */
BgL_tmpz00_7444 = BgL_arg1354z00_2957
; }  else 
{ 
 obj_t BgL_auxz00_7447;
BgL_auxz00_7447 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5223L), BGl_string3449z00zz__weakhashz00, BGl_string3442z00zz__weakhashz00, BgL_arg1354z00_2957); 
FAILURE(BgL_auxz00_7447,BFALSE,BFALSE);} 
BgL_za71za7_2964 = 
(long)CINT(BgL_tmpz00_7444); } 
BgL_arg1353z00_2956 = 
(BgL_za71za7_2964-1L); } } 
{ /* Llib/weakhash.scm 134 */
 bool_t BgL_test3982z00_7453;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_tmpz00_7454;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_res2237z00_2968;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_aux2804z00_5032;
BgL_aux2804z00_5032 = 
STRUCT_KEY(BgL_tablez00_53); 
if(
SYMBOLP(BgL_aux2804z00_5032))
{ /* Llib/weakhash.scm 134 */
BgL_res2237z00_2968 = BgL_aux2804z00_5032; }  else 
{ 
 obj_t BgL_auxz00_7458;
BgL_auxz00_7458 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5168L), BGl_string3449z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux2804z00_5032); 
FAILURE(BgL_auxz00_7458,BFALSE,BFALSE);} } 
BgL_tmpz00_7454 = BgL_res2237z00_2968; } 
BgL_test3982z00_7453 = 
(BgL_tmpz00_7454==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test3982z00_7453)
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_auxz00_7465; int BgL_tmpz00_7463;
BgL_auxz00_7465 = 
BINT(BgL_arg1353z00_2956); 
BgL_tmpz00_7463 = 
(int)(0L); 
STRUCT_SET(BgL_tablez00_53, BgL_tmpz00_7463, BgL_auxz00_7465); }  else 
{ /* Llib/weakhash.scm 134 */
BGl_errorz00zz__errorz00(BGl_string3452z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_53); } } } 
if(
CBOOL(BgL_lastzd2bucketzd2_1461))
{ /* Llib/weakhash.scm 136 */
 obj_t BgL_arg1355z00_2958;
{ /* Llib/weakhash.scm 136 */
 obj_t BgL_pairz00_2969;
if(
PAIRP(BgL_bucketz00_1460))
{ /* Llib/weakhash.scm 136 */
BgL_pairz00_2969 = BgL_bucketz00_1460; }  else 
{ 
 obj_t BgL_auxz00_7473;
BgL_auxz00_7473 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5282L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_bucketz00_1460); 
FAILURE(BgL_auxz00_7473,BFALSE,BFALSE);} 
BgL_arg1355z00_2958 = 
CDR(BgL_pairz00_2969); } 
{ /* Llib/weakhash.scm 136 */
 obj_t BgL_pairz00_2970;
if(
PAIRP(BgL_lastzd2bucketzd2_1461))
{ /* Llib/weakhash.scm 136 */
BgL_pairz00_2970 = BgL_lastzd2bucketzd2_1461; }  else 
{ 
 obj_t BgL_auxz00_7480;
BgL_auxz00_7480 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5265L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_lastzd2bucketzd2_1461); 
FAILURE(BgL_auxz00_7480,BFALSE,BFALSE);} 
SET_CDR(BgL_pairz00_2970, BgL_arg1355z00_2958); } }  else 
{ /* Llib/weakhash.scm 137 */
 obj_t BgL_arg1356z00_2959;
{ /* Llib/weakhash.scm 137 */
 obj_t BgL_pairz00_2971;
if(
PAIRP(BgL_bucketz00_1460))
{ /* Llib/weakhash.scm 137 */
BgL_pairz00_2971 = BgL_bucketz00_1460; }  else 
{ 
 obj_t BgL_auxz00_7487;
BgL_auxz00_7487 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5326L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_bucketz00_1460); 
FAILURE(BgL_auxz00_7487,BFALSE,BFALSE);} 
BgL_arg1356z00_2959 = 
CDR(BgL_pairz00_2971); } 
{ /* Llib/weakhash.scm 137 */
 obj_t BgL_vectorz00_2972;
if(
VECTORP(BgL_bucketsz00_1452))
{ /* Llib/weakhash.scm 137 */
BgL_vectorz00_2972 = BgL_bucketsz00_1452; }  else 
{ 
 obj_t BgL_auxz00_7494;
BgL_auxz00_7494 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5311L), BGl_string3449z00zz__weakhashz00, BGl_string3447z00zz__weakhashz00, BgL_bucketsz00_1452); 
FAILURE(BgL_auxz00_7494,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 137 */
 bool_t BgL_test3989z00_7498;
{ /* Llib/weakhash.scm 137 */
 long BgL_tmpz00_7499;
BgL_tmpz00_7499 = 
VECTOR_LENGTH(BgL_vectorz00_2972); 
BgL_test3989z00_7498 = 
BOUND_CHECK(BgL_iz00_1455, BgL_tmpz00_7499); } 
if(BgL_test3989z00_7498)
{ /* Llib/weakhash.scm 137 */
VECTOR_SET(BgL_vectorz00_2972,BgL_iz00_1455,BgL_arg1356z00_2959); }  else 
{ 
 obj_t BgL_auxz00_7503;
BgL_auxz00_7503 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5298L), BGl_string3453z00zz__weakhashz00, BgL_vectorz00_2972, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_2972)), 
(int)(BgL_iz00_1455)); 
FAILURE(BgL_auxz00_7503,BFALSE,BFALSE);} } } } BGl_keepgoingz00zz__weakhashz00; 
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_arg1425z00_1465;
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_pairz00_2974;
if(
PAIRP(BgL_bucketz00_1460))
{ /* Llib/weakhash.scm 205 */
BgL_pairz00_2974 = BgL_bucketz00_1460; }  else 
{ 
 obj_t BgL_auxz00_7512;
BgL_auxz00_7512 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(7915L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_bucketz00_1460); 
FAILURE(BgL_auxz00_7512,BFALSE,BFALSE);} 
BgL_arg1425z00_1465 = 
CDR(BgL_pairz00_2974); } 
{ 
 obj_t BgL_bucketz00_7517;
BgL_bucketz00_7517 = BgL_arg1425z00_1465; 
BgL_bucketz00_1460 = BgL_bucketz00_7517; 
goto BgL_zc3z04anonymousza31423ze3z87_1462;} } }  else 
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_arg1426z00_1466;
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_pairz00_2975;
if(
PAIRP(BgL_bucketz00_1460))
{ /* Llib/weakhash.scm 205 */
BgL_pairz00_2975 = BgL_bucketz00_1460; }  else 
{ 
 obj_t BgL_auxz00_7520;
BgL_auxz00_7520 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(7915L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_bucketz00_1460); 
FAILURE(BgL_auxz00_7520,BFALSE,BFALSE);} 
BgL_arg1426z00_1466 = 
CDR(BgL_pairz00_2975); } 
{ 
 obj_t BgL_lastzd2bucketzd2_7526; obj_t BgL_bucketz00_7525;
BgL_bucketz00_7525 = BgL_arg1426z00_1466; 
BgL_lastzd2bucketzd2_7526 = BgL_bucketz00_1460; 
BgL_lastzd2bucketzd2_1461 = BgL_lastzd2bucketzd2_7526; 
BgL_bucketz00_1460 = BgL_bucketz00_7525; 
goto BgL_zc3z04anonymousza31423ze3z87_1462;} } } } } 
{ 
 long BgL_iz00_7527;
BgL_iz00_7527 = 
(BgL_iz00_1455+1L); 
BgL_iz00_1455 = BgL_iz00_7527; 
goto BgL_zc3z04anonymousza31421ze3z87_1456;} } } } } }  else 
{ /* Llib/weakhash.scm 205 */
 bool_t BgL_test3992z00_7529;
{ /* Llib/weakhash.scm 226 */
 obj_t BgL_arg1453z00_1518;
{ /* Llib/weakhash.scm 226 */
 bool_t BgL_test3993z00_7530;
{ /* Llib/weakhash.scm 226 */
 obj_t BgL_tmpz00_7531;
{ /* Llib/weakhash.scm 226 */
 obj_t BgL_res2238z00_2980;
{ /* Llib/weakhash.scm 226 */
 obj_t BgL_aux2818z00_5046;
BgL_aux2818z00_5046 = 
STRUCT_KEY(BgL_tablez00_53); 
if(
SYMBOLP(BgL_aux2818z00_5046))
{ /* Llib/weakhash.scm 226 */
BgL_res2238z00_2980 = BgL_aux2818z00_5046; }  else 
{ 
 obj_t BgL_auxz00_7535;
BgL_auxz00_7535 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(8622L), BGl_string3469z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux2818z00_5046); 
FAILURE(BgL_auxz00_7535,BFALSE,BFALSE);} } 
BgL_tmpz00_7531 = BgL_res2238z00_2980; } 
BgL_test3993z00_7530 = 
(BgL_tmpz00_7531==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test3993z00_7530)
{ /* Llib/weakhash.scm 226 */
 int BgL_tmpz00_7540;
BgL_tmpz00_7540 = 
(int)(5L); 
BgL_arg1453z00_1518 = 
STRUCT_REF(BgL_tablez00_53, BgL_tmpz00_7540); }  else 
{ /* Llib/weakhash.scm 226 */
BgL_arg1453z00_1518 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_53); } } 
{ /* Llib/weakhash.scm 226 */
 long BgL_n2z00_2981;
{ /* Llib/weakhash.scm 226 */
 obj_t BgL_tmpz00_7544;
if(
INTEGERP(BgL_arg1453z00_1518))
{ /* Llib/weakhash.scm 226 */
BgL_tmpz00_7544 = BgL_arg1453z00_1518
; }  else 
{ 
 obj_t BgL_auxz00_7547;
BgL_auxz00_7547 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(8644L), BGl_string3469z00zz__weakhashz00, BGl_string3442z00zz__weakhashz00, BgL_arg1453z00_1518); 
FAILURE(BgL_auxz00_7547,BFALSE,BFALSE);} 
BgL_n2z00_2981 = 
(long)CINT(BgL_tmpz00_7544); } 
BgL_test3992z00_7529 = 
(3L==BgL_n2z00_2981); } } 
if(BgL_test3992z00_7529)
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_bucketsz00_1475;
{ /* Llib/weakhash.scm 205 */
 bool_t BgL_test3996z00_7553;
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_tmpz00_7554;
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_res2239z00_2985;
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_aux2821z00_5049;
BgL_aux2821z00_5049 = 
STRUCT_KEY(BgL_tablez00_53); 
if(
SYMBOLP(BgL_aux2821z00_5049))
{ /* Llib/weakhash.scm 205 */
BgL_res2239z00_2985 = BgL_aux2821z00_5049; }  else 
{ 
 obj_t BgL_auxz00_7558;
BgL_auxz00_7558 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(7915L), BGl_string3469z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux2821z00_5049); 
FAILURE(BgL_auxz00_7558,BFALSE,BFALSE);} } 
BgL_tmpz00_7554 = BgL_res2239z00_2985; } 
BgL_test3996z00_7553 = 
(BgL_tmpz00_7554==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test3996z00_7553)
{ /* Llib/weakhash.scm 205 */
 int BgL_tmpz00_7563;
BgL_tmpz00_7563 = 
(int)(2L); 
BgL_bucketsz00_1475 = 
STRUCT_REF(BgL_tablez00_53, BgL_tmpz00_7563); }  else 
{ /* Llib/weakhash.scm 205 */
BgL_bucketsz00_1475 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_53); } } 
{ /* Llib/weakhash.scm 205 */
 long BgL_bucketszd2lenzd2_1476;
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_vectorz00_2986;
if(
VECTORP(BgL_bucketsz00_1475))
{ /* Llib/weakhash.scm 205 */
BgL_vectorz00_2986 = BgL_bucketsz00_1475; }  else 
{ 
 obj_t BgL_auxz00_7569;
BgL_auxz00_7569 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(7915L), BGl_string3469z00zz__weakhashz00, BGl_string3447z00zz__weakhashz00, BgL_bucketsz00_1475); 
FAILURE(BgL_auxz00_7569,BFALSE,BFALSE);} 
BgL_bucketszd2lenzd2_1476 = 
VECTOR_LENGTH(BgL_vectorz00_2986); } 
{ /* Llib/weakhash.scm 205 */

{ 
 long BgL_iz00_1478;
BgL_iz00_1478 = 0L; 
BgL_zc3z04anonymousza31434ze3z87_1479:
if(
(BgL_iz00_1478==BgL_bucketszd2lenzd2_1476))
{ /* Llib/weakhash.scm 205 */
return ((bool_t)0);}  else 
{ /* Llib/weakhash.scm 205 */
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_g1066z00_1481;
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_vectorz00_2989;
if(
VECTORP(BgL_bucketsz00_1475))
{ /* Llib/weakhash.scm 205 */
BgL_vectorz00_2989 = BgL_bucketsz00_1475; }  else 
{ 
 obj_t BgL_auxz00_7578;
BgL_auxz00_7578 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(7915L), BGl_string3456z00zz__weakhashz00, BGl_string3447z00zz__weakhashz00, BgL_bucketsz00_1475); 
FAILURE(BgL_auxz00_7578,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 205 */
 bool_t BgL_test4001z00_7582;
{ /* Llib/weakhash.scm 205 */
 long BgL_tmpz00_7583;
BgL_tmpz00_7583 = 
VECTOR_LENGTH(BgL_vectorz00_2989); 
BgL_test4001z00_7582 = 
BOUND_CHECK(BgL_iz00_1478, BgL_tmpz00_7583); } 
if(BgL_test4001z00_7582)
{ /* Llib/weakhash.scm 205 */
BgL_g1066z00_1481 = 
VECTOR_REF(BgL_vectorz00_2989,BgL_iz00_1478); }  else 
{ 
 obj_t BgL_auxz00_7587;
BgL_auxz00_7587 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(7915L), BGl_string3448z00zz__weakhashz00, BgL_vectorz00_2989, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_2989)), 
(int)(BgL_iz00_1478)); 
FAILURE(BgL_auxz00_7587,BFALSE,BFALSE);} } } 
{ 
 obj_t BgL_bucketz00_1483; obj_t BgL_lastzd2bucketzd2_1484;
BgL_bucketz00_1483 = BgL_g1066z00_1481; 
BgL_lastzd2bucketzd2_1484 = BFALSE; 
BgL_zc3z04anonymousza31436ze3z87_1485:
if(
NULLP(BgL_bucketz00_1483))
{ /* Llib/weakhash.scm 205 */((bool_t)0); }  else 
{ /* Llib/weakhash.scm 228 */
 obj_t BgL_retz00_1487;
{ /* Llib/weakhash.scm 228 */
 obj_t BgL_keyz00_1490; obj_t BgL_dataz00_1491;
{ /* Llib/weakhash.scm 228 */
 obj_t BgL_arg1441z00_1493;
{ /* Llib/weakhash.scm 228 */
 obj_t BgL_pairz00_2991;
if(
PAIRP(BgL_bucketz00_1483))
{ /* Llib/weakhash.scm 228 */
BgL_pairz00_2991 = BgL_bucketz00_1483; }  else 
{ 
 obj_t BgL_auxz00_7598;
BgL_auxz00_7598 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(8712L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_bucketz00_1483); 
FAILURE(BgL_auxz00_7598,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 228 */
 obj_t BgL_pairz00_2994;
{ /* Llib/weakhash.scm 228 */
 obj_t BgL_aux2829z00_5057;
BgL_aux2829z00_5057 = 
CAR(BgL_pairz00_2991); 
if(
PAIRP(BgL_aux2829z00_5057))
{ /* Llib/weakhash.scm 228 */
BgL_pairz00_2994 = BgL_aux2829z00_5057; }  else 
{ 
 obj_t BgL_auxz00_7605;
BgL_auxz00_7605 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(8706L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_aux2829z00_5057); 
FAILURE(BgL_auxz00_7605,BFALSE,BFALSE);} } 
BgL_arg1441z00_1493 = 
CAR(BgL_pairz00_2994); } } 
{ /* Llib/weakhash.scm 228 */
 obj_t BgL_objz00_2995;
if(
BGL_WEAKPTRP(BgL_arg1441z00_1493))
{ /* Llib/weakhash.scm 228 */
BgL_objz00_2995 = BgL_arg1441z00_1493; }  else 
{ 
 obj_t BgL_auxz00_7612;
BgL_auxz00_7612 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(8718L), BGl_string3449z00zz__weakhashz00, BGl_string3451z00zz__weakhashz00, BgL_arg1441z00_1493); 
FAILURE(BgL_auxz00_7612,BFALSE,BFALSE);} 
BgL_keyz00_1490 = 
bgl_weakptr_data(BgL_objz00_2995); } } 
{ /* Llib/weakhash.scm 229 */
 obj_t BgL_arg1442z00_1494;
{ /* Llib/weakhash.scm 229 */
 obj_t BgL_pairz00_2996;
if(
PAIRP(BgL_bucketz00_1483))
{ /* Llib/weakhash.scm 229 */
BgL_pairz00_2996 = BgL_bucketz00_1483; }  else 
{ 
 obj_t BgL_auxz00_7619;
BgL_auxz00_7619 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(8753L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_bucketz00_1483); 
FAILURE(BgL_auxz00_7619,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 229 */
 obj_t BgL_pairz00_2999;
{ /* Llib/weakhash.scm 229 */
 obj_t BgL_aux2835z00_5063;
BgL_aux2835z00_5063 = 
CAR(BgL_pairz00_2996); 
if(
PAIRP(BgL_aux2835z00_5063))
{ /* Llib/weakhash.scm 229 */
BgL_pairz00_2999 = BgL_aux2835z00_5063; }  else 
{ 
 obj_t BgL_auxz00_7626;
BgL_auxz00_7626 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(8747L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_aux2835z00_5063); 
FAILURE(BgL_auxz00_7626,BFALSE,BFALSE);} } 
BgL_arg1442z00_1494 = 
CDR(BgL_pairz00_2999); } } 
{ /* Llib/weakhash.scm 229 */
 obj_t BgL_objz00_3000;
if(
BGL_WEAKPTRP(BgL_arg1442z00_1494))
{ /* Llib/weakhash.scm 229 */
BgL_objz00_3000 = BgL_arg1442z00_1494; }  else 
{ 
 obj_t BgL_auxz00_7633;
BgL_auxz00_7633 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(8759L), BGl_string3449z00zz__weakhashz00, BGl_string3451z00zz__weakhashz00, BgL_arg1442z00_1494); 
FAILURE(BgL_auxz00_7633,BFALSE,BFALSE);} 
BgL_dataz00_1491 = 
bgl_weakptr_data(BgL_objz00_3000); } } 
{ /* Llib/weakhash.scm 230 */
 bool_t BgL_test4009z00_7638;
if(
(BgL_keyz00_1490==BUNSPEC))
{ /* Llib/weakhash.scm 230 */
BgL_test4009z00_7638 = ((bool_t)1)
; }  else 
{ /* Llib/weakhash.scm 230 */
BgL_test4009z00_7638 = 
(BgL_dataz00_1491==BUNSPEC)
; } 
if(BgL_test4009z00_7638)
{ /* Llib/weakhash.scm 230 */
BgL_retz00_1487 = BGl_removez00zz__weakhashz00; }  else 
{ /* Llib/weakhash.scm 233 */
 obj_t BgL_funz00_5069;
if(
PROCEDUREP(BgL_funz00_54))
{ /* Llib/weakhash.scm 233 */
BgL_funz00_5069 = BgL_funz00_54; }  else 
{ 
 obj_t BgL_auxz00_7644;
BgL_auxz00_7644 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(8858L), BGl_string3449z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_funz00_54); 
FAILURE(BgL_auxz00_7644,BFALSE,BFALSE);} 
if(
PROCEDURE_CORRECT_ARITYP(BgL_funz00_5069, 2L))
{ /* Llib/weakhash.scm 233 */
BgL_retz00_1487 = 
(VA_PROCEDUREP( BgL_funz00_5069 ) ? ((obj_t (*)(obj_t, ...))PROCEDURE_ENTRY(BgL_funz00_5069))(BgL_funz00_54, BgL_keyz00_1490, BgL_dataz00_1491, BEOA) : ((obj_t (*)(obj_t, obj_t, obj_t))PROCEDURE_ENTRY(BgL_funz00_5069))(BgL_funz00_54, BgL_keyz00_1490, BgL_dataz00_1491) ); }  else 
{ /* Llib/weakhash.scm 233 */
FAILURE(BGl_string3470z00zz__weakhashz00,BGl_list3479z00zz__weakhashz00,BgL_funz00_5069);} } } } 
if(
(BgL_retz00_1487==BGl_removez00zz__weakhashz00))
{ /* Llib/weakhash.scm 205 */
{ /* Llib/weakhash.scm 134 */
 long BgL_arg1353z00_3001;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_arg1354z00_3002;
{ /* Llib/weakhash.scm 134 */
 bool_t BgL_test4014z00_7658;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_tmpz00_7659;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_res2240z00_3008;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_aux2842z00_5071;
BgL_aux2842z00_5071 = 
STRUCT_KEY(BgL_tablez00_53); 
if(
SYMBOLP(BgL_aux2842z00_5071))
{ /* Llib/weakhash.scm 134 */
BgL_res2240z00_3008 = BgL_aux2842z00_5071; }  else 
{ 
 obj_t BgL_auxz00_7663;
BgL_auxz00_7663 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5201L), BGl_string3449z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux2842z00_5071); 
FAILURE(BgL_auxz00_7663,BFALSE,BFALSE);} } 
BgL_tmpz00_7659 = BgL_res2240z00_3008; } 
BgL_test4014z00_7658 = 
(BgL_tmpz00_7659==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4014z00_7658)
{ /* Llib/weakhash.scm 134 */
 int BgL_tmpz00_7668;
BgL_tmpz00_7668 = 
(int)(0L); 
BgL_arg1354z00_3002 = 
STRUCT_REF(BgL_tablez00_53, BgL_tmpz00_7668); }  else 
{ /* Llib/weakhash.scm 134 */
BgL_arg1354z00_3002 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_53); } } 
{ /* Llib/weakhash.scm 134 */
 long BgL_za71za7_3009;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_tmpz00_7672;
if(
INTEGERP(BgL_arg1354z00_3002))
{ /* Llib/weakhash.scm 134 */
BgL_tmpz00_7672 = BgL_arg1354z00_3002
; }  else 
{ 
 obj_t BgL_auxz00_7675;
BgL_auxz00_7675 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5223L), BGl_string3449z00zz__weakhashz00, BGl_string3442z00zz__weakhashz00, BgL_arg1354z00_3002); 
FAILURE(BgL_auxz00_7675,BFALSE,BFALSE);} 
BgL_za71za7_3009 = 
(long)CINT(BgL_tmpz00_7672); } 
BgL_arg1353z00_3001 = 
(BgL_za71za7_3009-1L); } } 
{ /* Llib/weakhash.scm 134 */
 bool_t BgL_test4017z00_7681;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_tmpz00_7682;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_res2241z00_3013;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_aux2845z00_5074;
BgL_aux2845z00_5074 = 
STRUCT_KEY(BgL_tablez00_53); 
if(
SYMBOLP(BgL_aux2845z00_5074))
{ /* Llib/weakhash.scm 134 */
BgL_res2241z00_3013 = BgL_aux2845z00_5074; }  else 
{ 
 obj_t BgL_auxz00_7686;
BgL_auxz00_7686 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5168L), BGl_string3449z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux2845z00_5074); 
FAILURE(BgL_auxz00_7686,BFALSE,BFALSE);} } 
BgL_tmpz00_7682 = BgL_res2241z00_3013; } 
BgL_test4017z00_7681 = 
(BgL_tmpz00_7682==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4017z00_7681)
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_auxz00_7693; int BgL_tmpz00_7691;
BgL_auxz00_7693 = 
BINT(BgL_arg1353z00_3001); 
BgL_tmpz00_7691 = 
(int)(0L); 
STRUCT_SET(BgL_tablez00_53, BgL_tmpz00_7691, BgL_auxz00_7693); }  else 
{ /* Llib/weakhash.scm 134 */
BGl_errorz00zz__errorz00(BGl_string3452z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_53); } } } 
if(
CBOOL(BgL_lastzd2bucketzd2_1484))
{ /* Llib/weakhash.scm 136 */
 obj_t BgL_arg1355z00_3003;
{ /* Llib/weakhash.scm 136 */
 obj_t BgL_pairz00_3014;
if(
PAIRP(BgL_bucketz00_1483))
{ /* Llib/weakhash.scm 136 */
BgL_pairz00_3014 = BgL_bucketz00_1483; }  else 
{ 
 obj_t BgL_auxz00_7701;
BgL_auxz00_7701 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5282L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_bucketz00_1483); 
FAILURE(BgL_auxz00_7701,BFALSE,BFALSE);} 
BgL_arg1355z00_3003 = 
CDR(BgL_pairz00_3014); } 
{ /* Llib/weakhash.scm 136 */
 obj_t BgL_pairz00_3015;
if(
PAIRP(BgL_lastzd2bucketzd2_1484))
{ /* Llib/weakhash.scm 136 */
BgL_pairz00_3015 = BgL_lastzd2bucketzd2_1484; }  else 
{ 
 obj_t BgL_auxz00_7708;
BgL_auxz00_7708 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5265L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_lastzd2bucketzd2_1484); 
FAILURE(BgL_auxz00_7708,BFALSE,BFALSE);} 
SET_CDR(BgL_pairz00_3015, BgL_arg1355z00_3003); } }  else 
{ /* Llib/weakhash.scm 137 */
 obj_t BgL_arg1356z00_3004;
{ /* Llib/weakhash.scm 137 */
 obj_t BgL_pairz00_3016;
if(
PAIRP(BgL_bucketz00_1483))
{ /* Llib/weakhash.scm 137 */
BgL_pairz00_3016 = BgL_bucketz00_1483; }  else 
{ 
 obj_t BgL_auxz00_7715;
BgL_auxz00_7715 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5326L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_bucketz00_1483); 
FAILURE(BgL_auxz00_7715,BFALSE,BFALSE);} 
BgL_arg1356z00_3004 = 
CDR(BgL_pairz00_3016); } 
{ /* Llib/weakhash.scm 137 */
 obj_t BgL_vectorz00_3017;
if(
VECTORP(BgL_bucketsz00_1475))
{ /* Llib/weakhash.scm 137 */
BgL_vectorz00_3017 = BgL_bucketsz00_1475; }  else 
{ 
 obj_t BgL_auxz00_7722;
BgL_auxz00_7722 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5311L), BGl_string3449z00zz__weakhashz00, BGl_string3447z00zz__weakhashz00, BgL_bucketsz00_1475); 
FAILURE(BgL_auxz00_7722,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 137 */
 bool_t BgL_test4024z00_7726;
{ /* Llib/weakhash.scm 137 */
 long BgL_tmpz00_7727;
BgL_tmpz00_7727 = 
VECTOR_LENGTH(BgL_vectorz00_3017); 
BgL_test4024z00_7726 = 
BOUND_CHECK(BgL_iz00_1478, BgL_tmpz00_7727); } 
if(BgL_test4024z00_7726)
{ /* Llib/weakhash.scm 137 */
VECTOR_SET(BgL_vectorz00_3017,BgL_iz00_1478,BgL_arg1356z00_3004); }  else 
{ 
 obj_t BgL_auxz00_7731;
BgL_auxz00_7731 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5298L), BGl_string3453z00zz__weakhashz00, BgL_vectorz00_3017, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_3017)), 
(int)(BgL_iz00_1478)); 
FAILURE(BgL_auxz00_7731,BFALSE,BFALSE);} } } } BGl_keepgoingz00zz__weakhashz00; 
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_arg1438z00_1488;
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_pairz00_3019;
if(
PAIRP(BgL_bucketz00_1483))
{ /* Llib/weakhash.scm 205 */
BgL_pairz00_3019 = BgL_bucketz00_1483; }  else 
{ 
 obj_t BgL_auxz00_7740;
BgL_auxz00_7740 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(7915L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_bucketz00_1483); 
FAILURE(BgL_auxz00_7740,BFALSE,BFALSE);} 
BgL_arg1438z00_1488 = 
CDR(BgL_pairz00_3019); } 
{ 
 obj_t BgL_bucketz00_7745;
BgL_bucketz00_7745 = BgL_arg1438z00_1488; 
BgL_bucketz00_1483 = BgL_bucketz00_7745; 
goto BgL_zc3z04anonymousza31436ze3z87_1485;} } }  else 
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_arg1439z00_1489;
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_pairz00_3020;
if(
PAIRP(BgL_bucketz00_1483))
{ /* Llib/weakhash.scm 205 */
BgL_pairz00_3020 = BgL_bucketz00_1483; }  else 
{ 
 obj_t BgL_auxz00_7748;
BgL_auxz00_7748 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(7915L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_bucketz00_1483); 
FAILURE(BgL_auxz00_7748,BFALSE,BFALSE);} 
BgL_arg1439z00_1489 = 
CDR(BgL_pairz00_3020); } 
{ 
 obj_t BgL_lastzd2bucketzd2_7754; obj_t BgL_bucketz00_7753;
BgL_bucketz00_7753 = BgL_arg1439z00_1489; 
BgL_lastzd2bucketzd2_7754 = BgL_bucketz00_1483; 
BgL_lastzd2bucketzd2_1484 = BgL_lastzd2bucketzd2_7754; 
BgL_bucketz00_1483 = BgL_bucketz00_7753; 
goto BgL_zc3z04anonymousza31436ze3z87_1485;} } } } } 
{ 
 long BgL_iz00_7755;
BgL_iz00_7755 = 
(BgL_iz00_1478+1L); 
BgL_iz00_1478 = BgL_iz00_7755; 
goto BgL_zc3z04anonymousza31434ze3z87_1479;} } } } } }  else 
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_bucketsz00_1498;
{ /* Llib/weakhash.scm 205 */
 bool_t BgL_test4027z00_7757;
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_tmpz00_7758;
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_res2242z00_3025;
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_aux2859z00_5088;
BgL_aux2859z00_5088 = 
STRUCT_KEY(BgL_tablez00_53); 
if(
SYMBOLP(BgL_aux2859z00_5088))
{ /* Llib/weakhash.scm 205 */
BgL_res2242z00_3025 = BgL_aux2859z00_5088; }  else 
{ 
 obj_t BgL_auxz00_7762;
BgL_auxz00_7762 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(7915L), BGl_string3469z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux2859z00_5088); 
FAILURE(BgL_auxz00_7762,BFALSE,BFALSE);} } 
BgL_tmpz00_7758 = BgL_res2242z00_3025; } 
BgL_test4027z00_7757 = 
(BgL_tmpz00_7758==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4027z00_7757)
{ /* Llib/weakhash.scm 205 */
 int BgL_tmpz00_7767;
BgL_tmpz00_7767 = 
(int)(2L); 
BgL_bucketsz00_1498 = 
STRUCT_REF(BgL_tablez00_53, BgL_tmpz00_7767); }  else 
{ /* Llib/weakhash.scm 205 */
BgL_bucketsz00_1498 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_53); } } 
{ /* Llib/weakhash.scm 205 */
 long BgL_bucketszd2lenzd2_1499;
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_vectorz00_3026;
if(
VECTORP(BgL_bucketsz00_1498))
{ /* Llib/weakhash.scm 205 */
BgL_vectorz00_3026 = BgL_bucketsz00_1498; }  else 
{ 
 obj_t BgL_auxz00_7773;
BgL_auxz00_7773 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(7915L), BGl_string3469z00zz__weakhashz00, BGl_string3447z00zz__weakhashz00, BgL_bucketsz00_1498); 
FAILURE(BgL_auxz00_7773,BFALSE,BFALSE);} 
BgL_bucketszd2lenzd2_1499 = 
VECTOR_LENGTH(BgL_vectorz00_3026); } 
{ /* Llib/weakhash.scm 205 */

{ 
 long BgL_iz00_1501;
BgL_iz00_1501 = 0L; 
BgL_zc3z04anonymousza31444ze3z87_1502:
if(
(BgL_iz00_1501==BgL_bucketszd2lenzd2_1499))
{ /* Llib/weakhash.scm 205 */
return ((bool_t)0);}  else 
{ /* Llib/weakhash.scm 205 */
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_g1067z00_1504;
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_vectorz00_3029;
if(
VECTORP(BgL_bucketsz00_1498))
{ /* Llib/weakhash.scm 205 */
BgL_vectorz00_3029 = BgL_bucketsz00_1498; }  else 
{ 
 obj_t BgL_auxz00_7782;
BgL_auxz00_7782 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(7915L), BGl_string3456z00zz__weakhashz00, BGl_string3447z00zz__weakhashz00, BgL_bucketsz00_1498); 
FAILURE(BgL_auxz00_7782,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 205 */
 bool_t BgL_test4032z00_7786;
{ /* Llib/weakhash.scm 205 */
 long BgL_tmpz00_7787;
BgL_tmpz00_7787 = 
VECTOR_LENGTH(BgL_vectorz00_3029); 
BgL_test4032z00_7786 = 
BOUND_CHECK(BgL_iz00_1501, BgL_tmpz00_7787); } 
if(BgL_test4032z00_7786)
{ /* Llib/weakhash.scm 205 */
BgL_g1067z00_1504 = 
VECTOR_REF(BgL_vectorz00_3029,BgL_iz00_1501); }  else 
{ 
 obj_t BgL_auxz00_7791;
BgL_auxz00_7791 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(7915L), BGl_string3448z00zz__weakhashz00, BgL_vectorz00_3029, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_3029)), 
(int)(BgL_iz00_1501)); 
FAILURE(BgL_auxz00_7791,BFALSE,BFALSE);} } } 
{ 
 obj_t BgL_bucketz00_1506; obj_t BgL_lastzd2bucketzd2_1507;
BgL_bucketz00_1506 = BgL_g1067z00_1504; 
BgL_lastzd2bucketzd2_1507 = BFALSE; 
BgL_zc3z04anonymousza31446ze3z87_1508:
if(
NULLP(BgL_bucketz00_1506))
{ /* Llib/weakhash.scm 205 */((bool_t)0); }  else 
{ /* Llib/weakhash.scm 236 */
 obj_t BgL_retz00_1510;
{ /* Llib/weakhash.scm 236 */
 obj_t BgL_arg1450z00_1513; obj_t BgL_arg1451z00_1514;
{ /* Llib/weakhash.scm 236 */
 obj_t BgL_pairz00_3031;
if(
PAIRP(BgL_bucketz00_1506))
{ /* Llib/weakhash.scm 236 */
BgL_pairz00_3031 = BgL_bucketz00_1506; }  else 
{ 
 obj_t BgL_auxz00_7802;
BgL_auxz00_7802 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(8924L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_bucketz00_1506); 
FAILURE(BgL_auxz00_7802,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 236 */
 obj_t BgL_pairz00_3034;
{ /* Llib/weakhash.scm 236 */
 obj_t BgL_aux2867z00_5096;
BgL_aux2867z00_5096 = 
CAR(BgL_pairz00_3031); 
if(
PAIRP(BgL_aux2867z00_5096))
{ /* Llib/weakhash.scm 236 */
BgL_pairz00_3034 = BgL_aux2867z00_5096; }  else 
{ 
 obj_t BgL_auxz00_7809;
BgL_auxz00_7809 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(8918L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_aux2867z00_5096); 
FAILURE(BgL_auxz00_7809,BFALSE,BFALSE);} } 
BgL_arg1450z00_1513 = 
CAR(BgL_pairz00_3034); } } 
{ /* Llib/weakhash.scm 236 */
 obj_t BgL_pairz00_3035;
if(
PAIRP(BgL_bucketz00_1506))
{ /* Llib/weakhash.scm 236 */
BgL_pairz00_3035 = BgL_bucketz00_1506; }  else 
{ 
 obj_t BgL_auxz00_7816;
BgL_auxz00_7816 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(8938L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_bucketz00_1506); 
FAILURE(BgL_auxz00_7816,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 236 */
 obj_t BgL_pairz00_3038;
{ /* Llib/weakhash.scm 236 */
 obj_t BgL_aux2871z00_5100;
BgL_aux2871z00_5100 = 
CAR(BgL_pairz00_3035); 
if(
PAIRP(BgL_aux2871z00_5100))
{ /* Llib/weakhash.scm 236 */
BgL_pairz00_3038 = BgL_aux2871z00_5100; }  else 
{ 
 obj_t BgL_auxz00_7823;
BgL_auxz00_7823 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(8932L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_aux2871z00_5100); 
FAILURE(BgL_auxz00_7823,BFALSE,BFALSE);} } 
BgL_arg1451z00_1514 = 
CDR(BgL_pairz00_3038); } } 
{ /* Llib/weakhash.scm 236 */
 obj_t BgL_funz00_5104;
if(
PROCEDUREP(BgL_funz00_54))
{ /* Llib/weakhash.scm 236 */
BgL_funz00_5104 = BgL_funz00_54; }  else 
{ 
 obj_t BgL_auxz00_7830;
BgL_auxz00_7830 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(8913L), BGl_string3449z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_funz00_54); 
FAILURE(BgL_auxz00_7830,BFALSE,BFALSE);} 
if(
PROCEDURE_CORRECT_ARITYP(BgL_funz00_5104, 2L))
{ /* Llib/weakhash.scm 236 */
BgL_retz00_1510 = 
(VA_PROCEDUREP( BgL_funz00_5104 ) ? ((obj_t (*)(obj_t, ...))PROCEDURE_ENTRY(BgL_funz00_5104))(BgL_funz00_54, BgL_arg1450z00_1513, BgL_arg1451z00_1514, BEOA) : ((obj_t (*)(obj_t, obj_t, obj_t))PROCEDURE_ENTRY(BgL_funz00_5104))(BgL_funz00_54, BgL_arg1450z00_1513, BgL_arg1451z00_1514) ); }  else 
{ /* Llib/weakhash.scm 236 */
FAILURE(BGl_string3470z00zz__weakhashz00,BGl_list3480z00zz__weakhashz00,BgL_funz00_5104);} } } 
if(
(BgL_retz00_1510==BGl_removez00zz__weakhashz00))
{ /* Llib/weakhash.scm 205 */
{ /* Llib/weakhash.scm 134 */
 long BgL_arg1353z00_3039;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_arg1354z00_3040;
{ /* Llib/weakhash.scm 134 */
 bool_t BgL_test4041z00_7844;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_tmpz00_7845;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_res2243z00_3046;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_aux2876z00_5106;
BgL_aux2876z00_5106 = 
STRUCT_KEY(BgL_tablez00_53); 
if(
SYMBOLP(BgL_aux2876z00_5106))
{ /* Llib/weakhash.scm 134 */
BgL_res2243z00_3046 = BgL_aux2876z00_5106; }  else 
{ 
 obj_t BgL_auxz00_7849;
BgL_auxz00_7849 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5201L), BGl_string3449z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux2876z00_5106); 
FAILURE(BgL_auxz00_7849,BFALSE,BFALSE);} } 
BgL_tmpz00_7845 = BgL_res2243z00_3046; } 
BgL_test4041z00_7844 = 
(BgL_tmpz00_7845==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4041z00_7844)
{ /* Llib/weakhash.scm 134 */
 int BgL_tmpz00_7854;
BgL_tmpz00_7854 = 
(int)(0L); 
BgL_arg1354z00_3040 = 
STRUCT_REF(BgL_tablez00_53, BgL_tmpz00_7854); }  else 
{ /* Llib/weakhash.scm 134 */
BgL_arg1354z00_3040 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_53); } } 
{ /* Llib/weakhash.scm 134 */
 long BgL_za71za7_3047;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_tmpz00_7858;
if(
INTEGERP(BgL_arg1354z00_3040))
{ /* Llib/weakhash.scm 134 */
BgL_tmpz00_7858 = BgL_arg1354z00_3040
; }  else 
{ 
 obj_t BgL_auxz00_7861;
BgL_auxz00_7861 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5223L), BGl_string3449z00zz__weakhashz00, BGl_string3442z00zz__weakhashz00, BgL_arg1354z00_3040); 
FAILURE(BgL_auxz00_7861,BFALSE,BFALSE);} 
BgL_za71za7_3047 = 
(long)CINT(BgL_tmpz00_7858); } 
BgL_arg1353z00_3039 = 
(BgL_za71za7_3047-1L); } } 
{ /* Llib/weakhash.scm 134 */
 bool_t BgL_test4044z00_7867;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_tmpz00_7868;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_res2244z00_3051;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_aux2879z00_5109;
BgL_aux2879z00_5109 = 
STRUCT_KEY(BgL_tablez00_53); 
if(
SYMBOLP(BgL_aux2879z00_5109))
{ /* Llib/weakhash.scm 134 */
BgL_res2244z00_3051 = BgL_aux2879z00_5109; }  else 
{ 
 obj_t BgL_auxz00_7872;
BgL_auxz00_7872 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5168L), BGl_string3449z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux2879z00_5109); 
FAILURE(BgL_auxz00_7872,BFALSE,BFALSE);} } 
BgL_tmpz00_7868 = BgL_res2244z00_3051; } 
BgL_test4044z00_7867 = 
(BgL_tmpz00_7868==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4044z00_7867)
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_auxz00_7879; int BgL_tmpz00_7877;
BgL_auxz00_7879 = 
BINT(BgL_arg1353z00_3039); 
BgL_tmpz00_7877 = 
(int)(0L); 
STRUCT_SET(BgL_tablez00_53, BgL_tmpz00_7877, BgL_auxz00_7879); }  else 
{ /* Llib/weakhash.scm 134 */
BGl_errorz00zz__errorz00(BGl_string3452z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_53); } } } 
if(
CBOOL(BgL_lastzd2bucketzd2_1507))
{ /* Llib/weakhash.scm 136 */
 obj_t BgL_arg1355z00_3041;
{ /* Llib/weakhash.scm 136 */
 obj_t BgL_pairz00_3052;
if(
PAIRP(BgL_bucketz00_1506))
{ /* Llib/weakhash.scm 136 */
BgL_pairz00_3052 = BgL_bucketz00_1506; }  else 
{ 
 obj_t BgL_auxz00_7887;
BgL_auxz00_7887 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5282L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_bucketz00_1506); 
FAILURE(BgL_auxz00_7887,BFALSE,BFALSE);} 
BgL_arg1355z00_3041 = 
CDR(BgL_pairz00_3052); } 
{ /* Llib/weakhash.scm 136 */
 obj_t BgL_pairz00_3053;
if(
PAIRP(BgL_lastzd2bucketzd2_1507))
{ /* Llib/weakhash.scm 136 */
BgL_pairz00_3053 = BgL_lastzd2bucketzd2_1507; }  else 
{ 
 obj_t BgL_auxz00_7894;
BgL_auxz00_7894 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5265L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_lastzd2bucketzd2_1507); 
FAILURE(BgL_auxz00_7894,BFALSE,BFALSE);} 
SET_CDR(BgL_pairz00_3053, BgL_arg1355z00_3041); } }  else 
{ /* Llib/weakhash.scm 137 */
 obj_t BgL_arg1356z00_3042;
{ /* Llib/weakhash.scm 137 */
 obj_t BgL_pairz00_3054;
if(
PAIRP(BgL_bucketz00_1506))
{ /* Llib/weakhash.scm 137 */
BgL_pairz00_3054 = BgL_bucketz00_1506; }  else 
{ 
 obj_t BgL_auxz00_7901;
BgL_auxz00_7901 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5326L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_bucketz00_1506); 
FAILURE(BgL_auxz00_7901,BFALSE,BFALSE);} 
BgL_arg1356z00_3042 = 
CDR(BgL_pairz00_3054); } 
{ /* Llib/weakhash.scm 137 */
 obj_t BgL_vectorz00_3055;
if(
VECTORP(BgL_bucketsz00_1498))
{ /* Llib/weakhash.scm 137 */
BgL_vectorz00_3055 = BgL_bucketsz00_1498; }  else 
{ 
 obj_t BgL_auxz00_7908;
BgL_auxz00_7908 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5311L), BGl_string3449z00zz__weakhashz00, BGl_string3447z00zz__weakhashz00, BgL_bucketsz00_1498); 
FAILURE(BgL_auxz00_7908,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 137 */
 bool_t BgL_test4051z00_7912;
{ /* Llib/weakhash.scm 137 */
 long BgL_tmpz00_7913;
BgL_tmpz00_7913 = 
VECTOR_LENGTH(BgL_vectorz00_3055); 
BgL_test4051z00_7912 = 
BOUND_CHECK(BgL_iz00_1501, BgL_tmpz00_7913); } 
if(BgL_test4051z00_7912)
{ /* Llib/weakhash.scm 137 */
VECTOR_SET(BgL_vectorz00_3055,BgL_iz00_1501,BgL_arg1356z00_3042); }  else 
{ 
 obj_t BgL_auxz00_7917;
BgL_auxz00_7917 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(5298L), BGl_string3453z00zz__weakhashz00, BgL_vectorz00_3055, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_3055)), 
(int)(BgL_iz00_1501)); 
FAILURE(BgL_auxz00_7917,BFALSE,BFALSE);} } } } BGl_keepgoingz00zz__weakhashz00; 
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_arg1448z00_1511;
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_pairz00_3057;
if(
PAIRP(BgL_bucketz00_1506))
{ /* Llib/weakhash.scm 205 */
BgL_pairz00_3057 = BgL_bucketz00_1506; }  else 
{ 
 obj_t BgL_auxz00_7926;
BgL_auxz00_7926 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(7915L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_bucketz00_1506); 
FAILURE(BgL_auxz00_7926,BFALSE,BFALSE);} 
BgL_arg1448z00_1511 = 
CDR(BgL_pairz00_3057); } 
{ 
 obj_t BgL_bucketz00_7931;
BgL_bucketz00_7931 = BgL_arg1448z00_1511; 
BgL_bucketz00_1506 = BgL_bucketz00_7931; 
goto BgL_zc3z04anonymousza31446ze3z87_1508;} } }  else 
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_arg1449z00_1512;
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_pairz00_3058;
if(
PAIRP(BgL_bucketz00_1506))
{ /* Llib/weakhash.scm 205 */
BgL_pairz00_3058 = BgL_bucketz00_1506; }  else 
{ 
 obj_t BgL_auxz00_7934;
BgL_auxz00_7934 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(7915L), BGl_string3449z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_bucketz00_1506); 
FAILURE(BgL_auxz00_7934,BFALSE,BFALSE);} 
BgL_arg1449z00_1512 = 
CDR(BgL_pairz00_3058); } 
{ 
 obj_t BgL_lastzd2bucketzd2_7940; obj_t BgL_bucketz00_7939;
BgL_bucketz00_7939 = BgL_arg1449z00_1512; 
BgL_lastzd2bucketzd2_7940 = BgL_bucketz00_1506; 
BgL_lastzd2bucketzd2_1507 = BgL_lastzd2bucketzd2_7940; 
BgL_bucketz00_1506 = BgL_bucketz00_7939; 
goto BgL_zc3z04anonymousza31446ze3z87_1508;} } } } } 
{ 
 long BgL_iz00_7941;
BgL_iz00_7941 = 
(BgL_iz00_1501+1L); 
BgL_iz00_1501 = BgL_iz00_7941; 
goto BgL_zc3z04anonymousza31444ze3z87_1502;} } } } } } } } } } 

}



/* weak-hashtable->vector */
BGL_EXPORTED_DEF obj_t BGl_weakzd2hashtablezd2ze3vectorze3zz__weakhashz00(obj_t BgL_tablez00_57)
{
{ /* Llib/weakhash.scm 256 */
{ /* Llib/weakhash.scm 257 */
 obj_t BgL_vecz00_1522; obj_t BgL_wz00_4424;
BgL_vecz00_1522 = 
make_vector(
BGl_hashtablezd2siza7ez75zz__hashz00(BgL_tablez00_57), BUNSPEC); 
BgL_wz00_4424 = 
MAKE_CELL(
BINT(0L)); 
{ /* Llib/weakhash.scm 261 */
 obj_t BgL_zc3z04anonymousza31458ze3z87_4415;
BgL_zc3z04anonymousza31458ze3z87_4415 = 
MAKE_FX_PROCEDURE(BGl_z62zc3z04anonymousza31458ze3ze5zz__weakhashz00, 
(int)(2L), 
(int)(2L)); 
PROCEDURE_SET(BgL_zc3z04anonymousza31458ze3z87_4415, 
(int)(0L), BgL_vecz00_1522); 
PROCEDURE_SET(BgL_zc3z04anonymousza31458ze3z87_4415, 
(int)(1L), 
((obj_t)BgL_wz00_4424)); 
if(
BGl_hashtablezd2weakzd2keyszf3zf3zz__hashz00(BgL_tablez00_57))
{ /* Llib/weakhash.scm 249 */
BGl_keyszd2traversezd2hashz00zz__weakhashz00(BgL_tablez00_57, BgL_zc3z04anonymousza31458ze3z87_4415); }  else 
{ /* Llib/weakhash.scm 249 */
BBOOL(
BGl_oldzd2traversezd2hashz00zz__weakhashz00(BgL_tablez00_57, BgL_zc3z04anonymousza31458ze3z87_4415)); } } 
{ /* Llib/weakhash.scm 263 */
 bool_t BgL_test4055z00_7959;
{ /* Llib/weakhash.scm 263 */
 long BgL_arg1461z00_1531;
BgL_arg1461z00_1531 = 
BGl_hashtablezd2siza7ez75zz__hashz00(BgL_tablez00_57); 
{ /* Llib/weakhash.scm 263 */
 long BgL_n1z00_3067;
{ /* Llib/weakhash.scm 263 */
 obj_t BgL_tmpz00_7961;
{ /* Llib/weakhash.scm 263 */
 obj_t BgL_aux2893z00_5124;
BgL_aux2893z00_5124 = 
CELL_REF(BgL_wz00_4424); 
if(
INTEGERP(BgL_aux2893z00_5124))
{ /* Llib/weakhash.scm 263 */
BgL_tmpz00_7961 = BgL_aux2893z00_5124
; }  else 
{ 
 obj_t BgL_auxz00_7964;
BgL_auxz00_7964 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(10032L), BGl_string3485z00zz__weakhashz00, BGl_string3442z00zz__weakhashz00, BgL_aux2893z00_5124); 
FAILURE(BgL_auxz00_7964,BFALSE,BFALSE);} } 
BgL_n1z00_3067 = 
(long)CINT(BgL_tmpz00_7961); } 
BgL_test4055z00_7959 = 
(BgL_n1z00_3067<BgL_arg1461z00_1531); } } 
if(BgL_test4055z00_7959)
{ /* Llib/weakhash.scm 264 */
 long BgL_auxz00_7970;
{ /* Llib/weakhash.scm 264 */
 obj_t BgL_tmpz00_7971;
{ /* Llib/weakhash.scm 264 */
 obj_t BgL_aux2894z00_5125;
BgL_aux2894z00_5125 = 
CELL_REF(BgL_wz00_4424); 
if(
INTEGERP(BgL_aux2894z00_5125))
{ /* Llib/weakhash.scm 264 */
BgL_tmpz00_7971 = BgL_aux2894z00_5125
; }  else 
{ 
 obj_t BgL_auxz00_7974;
BgL_auxz00_7974 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(10078L), BGl_string3485z00zz__weakhashz00, BGl_string3442z00zz__weakhashz00, BgL_aux2894z00_5125); 
FAILURE(BgL_auxz00_7974,BFALSE,BFALSE);} } 
BgL_auxz00_7970 = 
(long)CINT(BgL_tmpz00_7971); } 
return 
BGl_copyzd2vectorzd2zz__r4_vectors_6_8z00(BgL_vecz00_1522, BgL_auxz00_7970);}  else 
{ /* Llib/weakhash.scm 263 */
return BgL_vecz00_1522;} } } } 

}



/* &weak-hashtable->vector */
obj_t BGl_z62weakzd2hashtablezd2ze3vectorz81zz__weakhashz00(obj_t BgL_envz00_4416, obj_t BgL_tablez00_4417)
{
{ /* Llib/weakhash.scm 256 */
{ /* Llib/weakhash.scm 257 */
 obj_t BgL_auxz00_7980;
if(
STRUCTP(BgL_tablez00_4417))
{ /* Llib/weakhash.scm 257 */
BgL_auxz00_7980 = BgL_tablez00_4417
; }  else 
{ 
 obj_t BgL_auxz00_7983;
BgL_auxz00_7983 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(9857L), BGl_string3486z00zz__weakhashz00, BGl_string3487z00zz__weakhashz00, BgL_tablez00_4417); 
FAILURE(BgL_auxz00_7983,BFALSE,BFALSE);} 
return 
BGl_weakzd2hashtablezd2ze3vectorze3zz__weakhashz00(BgL_auxz00_7980);} } 

}



/* &<@anonymous:1458> */
obj_t BGl_z62zc3z04anonymousza31458ze3ze5zz__weakhashz00(obj_t BgL_envz00_4418, obj_t BgL_keyz00_4421, obj_t BgL_valz00_4422)
{
{ /* Llib/weakhash.scm 260 */
{ /* Llib/weakhash.scm 261 */
 obj_t BgL_vecz00_4419; obj_t BgL_wz00_4420;
BgL_vecz00_4419 = 
((obj_t)
PROCEDURE_REF(BgL_envz00_4418, 
(int)(0L))); 
BgL_wz00_4420 = 
PROCEDURE_REF(BgL_envz00_4418, 
(int)(1L)); 
{ /* Llib/weakhash.scm 261 */
 obj_t BgL_vectorz00_5683; long BgL_kz00_5684;
if(
VECTORP(BgL_vecz00_4419))
{ /* Llib/weakhash.scm 261 */
BgL_vectorz00_5683 = BgL_vecz00_4419; }  else 
{ 
 obj_t BgL_auxz00_7995;
BgL_auxz00_7995 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(9980L), BGl_string3488z00zz__weakhashz00, BGl_string3447z00zz__weakhashz00, BgL_vecz00_4419); 
FAILURE(BgL_auxz00_7995,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 261 */
 obj_t BgL_tmpz00_7999;
{ /* Llib/weakhash.scm 261 */
 obj_t BgL_aux2899z00_5685;
BgL_aux2899z00_5685 = 
CELL_REF(BgL_wz00_4420); 
if(
INTEGERP(BgL_aux2899z00_5685))
{ /* Llib/weakhash.scm 261 */
BgL_tmpz00_7999 = BgL_aux2899z00_5685
; }  else 
{ 
 obj_t BgL_auxz00_8002;
BgL_auxz00_8002 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(9984L), BGl_string3488z00zz__weakhashz00, BGl_string3442z00zz__weakhashz00, BgL_aux2899z00_5685); 
FAILURE(BgL_auxz00_8002,BFALSE,BFALSE);} } 
BgL_kz00_5684 = 
(long)CINT(BgL_tmpz00_7999); } 
{ /* Llib/weakhash.scm 261 */
 bool_t BgL_test4061z00_8007;
{ /* Llib/weakhash.scm 261 */
 long BgL_tmpz00_8008;
BgL_tmpz00_8008 = 
VECTOR_LENGTH(BgL_vectorz00_5683); 
BgL_test4061z00_8007 = 
BOUND_CHECK(BgL_kz00_5684, BgL_tmpz00_8008); } 
if(BgL_test4061z00_8007)
{ /* Llib/weakhash.scm 261 */
VECTOR_SET(BgL_vectorz00_5683,BgL_kz00_5684,BgL_valz00_4422); }  else 
{ 
 obj_t BgL_auxz00_8012;
BgL_auxz00_8012 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(9967L), BGl_string3453z00zz__weakhashz00, BgL_vectorz00_5683, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_5683)), 
(int)(BgL_kz00_5684)); 
FAILURE(BgL_auxz00_8012,BFALSE,BFALSE);} } } 
{ /* Llib/weakhash.scm 262 */
 obj_t BgL_auxz00_5686;
{ /* Llib/weakhash.scm 261 */
 obj_t BgL_tmpz00_8019;
{ /* Llib/weakhash.scm 262 */
 obj_t BgL_aux2900z00_5687;
BgL_aux2900z00_5687 = 
CELL_REF(BgL_wz00_4420); 
if(
INTEGERP(BgL_aux2900z00_5687))
{ /* Llib/weakhash.scm 262 */
BgL_tmpz00_8019 = BgL_aux2900z00_5687
; }  else 
{ 
 obj_t BgL_auxz00_8022;
BgL_auxz00_8022 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(10009L), BGl_string3488z00zz__weakhashz00, BGl_string3442z00zz__weakhashz00, BgL_aux2900z00_5687); 
FAILURE(BgL_auxz00_8022,BFALSE,BFALSE);} } 
BgL_auxz00_5686 = 
ADDFX(BgL_tmpz00_8019, 
BINT(1L)); } 
return 
CELL_SET(BgL_wz00_4420, BgL_auxz00_5686);} } } 

}



/* weak-hashtable->list */
BGL_EXPORTED_DEF obj_t BGl_weakzd2hashtablezd2ze3listze3zz__weakhashz00(obj_t BgL_tablez00_58)
{
{ /* Llib/weakhash.scm 270 */
{ /* Llib/weakhash.scm 271 */
 obj_t BgL_resz00_4434;
BgL_resz00_4434 = 
MAKE_CELL(BNIL); 
{ /* Llib/weakhash.scm 274 */
 obj_t BgL_zc3z04anonymousza31465ze3z87_4426;
BgL_zc3z04anonymousza31465ze3z87_4426 = 
MAKE_FX_PROCEDURE(BGl_z62zc3z04anonymousza31465ze3ze5zz__weakhashz00, 
(int)(2L), 
(int)(1L)); 
PROCEDURE_SET(BgL_zc3z04anonymousza31465ze3z87_4426, 
(int)(0L), 
((obj_t)BgL_resz00_4434)); 
if(
BGl_hashtablezd2weakzd2keyszf3zf3zz__hashz00(BgL_tablez00_58))
{ /* Llib/weakhash.scm 249 */
BGl_keyszd2traversezd2hashz00zz__weakhashz00(BgL_tablez00_58, BgL_zc3z04anonymousza31465ze3z87_4426); }  else 
{ /* Llib/weakhash.scm 249 */
BBOOL(
BGl_oldzd2traversezd2hashz00zz__weakhashz00(BgL_tablez00_58, BgL_zc3z04anonymousza31465ze3z87_4426)); } } 
{ /* Llib/weakhash.scm 275 */
 obj_t BgL_aux2901z00_5132;
BgL_aux2901z00_5132 = 
CELL_REF(BgL_resz00_4434); 
{ /* Llib/weakhash.scm 275 */
 bool_t BgL_test4064z00_8039;
if(
PAIRP(BgL_aux2901z00_5132))
{ /* Llib/weakhash.scm 275 */
BgL_test4064z00_8039 = ((bool_t)1)
; }  else 
{ /* Llib/weakhash.scm 275 */
BgL_test4064z00_8039 = 
NULLP(BgL_aux2901z00_5132)
; } 
if(BgL_test4064z00_8039)
{ /* Llib/weakhash.scm 275 */
return BgL_aux2901z00_5132;}  else 
{ 
 obj_t BgL_auxz00_8043;
BgL_auxz00_8043 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(10465L), BGl_string3489z00zz__weakhashz00, BGl_string3490z00zz__weakhashz00, BgL_aux2901z00_5132); 
FAILURE(BgL_auxz00_8043,BFALSE,BFALSE);} } } } } 

}



/* &weak-hashtable->list */
obj_t BGl_z62weakzd2hashtablezd2ze3listz81zz__weakhashz00(obj_t BgL_envz00_4427, obj_t BgL_tablez00_4428)
{
{ /* Llib/weakhash.scm 270 */
{ /* Llib/weakhash.scm 271 */
 obj_t BgL_auxz00_8047;
if(
STRUCTP(BgL_tablez00_4428))
{ /* Llib/weakhash.scm 271 */
BgL_auxz00_8047 = BgL_tablez00_4428
; }  else 
{ 
 obj_t BgL_auxz00_8050;
BgL_auxz00_8050 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(10362L), BGl_string3491z00zz__weakhashz00, BGl_string3487z00zz__weakhashz00, BgL_tablez00_4428); 
FAILURE(BgL_auxz00_8050,BFALSE,BFALSE);} 
return 
BGl_weakzd2hashtablezd2ze3listze3zz__weakhashz00(BgL_auxz00_8047);} } 

}



/* &<@anonymous:1465> */
obj_t BGl_z62zc3z04anonymousza31465ze3ze5zz__weakhashz00(obj_t BgL_envz00_4429, obj_t BgL_keyz00_4431, obj_t BgL_valz00_4432)
{
{ /* Llib/weakhash.scm 273 */
{ /* Llib/weakhash.scm 274 */
 obj_t BgL_resz00_4430;
BgL_resz00_4430 = 
PROCEDURE_REF(BgL_envz00_4429, 
(int)(0L)); 
{ /* Llib/weakhash.scm 274 */
 obj_t BgL_auxz00_5689;
BgL_auxz00_5689 = 
MAKE_YOUNG_PAIR(BgL_valz00_4432, 
CELL_REF(BgL_resz00_4430)); 
return 
CELL_SET(BgL_resz00_4430, BgL_auxz00_5689);} } } 

}



/* weak-hashtable-key-list */
BGL_EXPORTED_DEF obj_t BGl_weakzd2hashtablezd2keyzd2listzd2zz__weakhashz00(obj_t BgL_tablez00_59)
{
{ /* Llib/weakhash.scm 280 */
{ /* Llib/weakhash.scm 281 */
 obj_t BgL_resz00_4444;
BgL_resz00_4444 = 
MAKE_CELL(BNIL); 
{ /* Llib/weakhash.scm 284 */
 obj_t BgL_zc3z04anonymousza31469ze3z87_4436;
BgL_zc3z04anonymousza31469ze3z87_4436 = 
MAKE_FX_PROCEDURE(BGl_z62zc3z04anonymousza31469ze3ze5zz__weakhashz00, 
(int)(2L), 
(int)(1L)); 
PROCEDURE_SET(BgL_zc3z04anonymousza31469ze3z87_4436, 
(int)(0L), 
((obj_t)BgL_resz00_4444)); 
if(
BGl_hashtablezd2weakzd2keyszf3zf3zz__hashz00(BgL_tablez00_59))
{ /* Llib/weakhash.scm 249 */
BGl_keyszd2traversezd2hashz00zz__weakhashz00(BgL_tablez00_59, BgL_zc3z04anonymousza31469ze3z87_4436); }  else 
{ /* Llib/weakhash.scm 249 */
BBOOL(
BGl_oldzd2traversezd2hashz00zz__weakhashz00(BgL_tablez00_59, BgL_zc3z04anonymousza31469ze3z87_4436)); } } 
{ /* Llib/weakhash.scm 285 */
 obj_t BgL_aux2905z00_5136;
BgL_aux2905z00_5136 = 
CELL_REF(BgL_resz00_4444); 
{ /* Llib/weakhash.scm 285 */
 bool_t BgL_test4068z00_8069;
if(
PAIRP(BgL_aux2905z00_5136))
{ /* Llib/weakhash.scm 285 */
BgL_test4068z00_8069 = ((bool_t)1)
; }  else 
{ /* Llib/weakhash.scm 285 */
BgL_test4068z00_8069 = 
NULLP(BgL_aux2905z00_5136)
; } 
if(BgL_test4068z00_8069)
{ /* Llib/weakhash.scm 285 */
return BgL_aux2905z00_5136;}  else 
{ 
 obj_t BgL_auxz00_8073;
BgL_auxz00_8073 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(10848L), BGl_string3492z00zz__weakhashz00, BGl_string3490z00zz__weakhashz00, BgL_aux2905z00_5136); 
FAILURE(BgL_auxz00_8073,BFALSE,BFALSE);} } } } } 

}



/* &weak-hashtable-key-list */
obj_t BGl_z62weakzd2hashtablezd2keyzd2listzb0zz__weakhashz00(obj_t BgL_envz00_4437, obj_t BgL_tablez00_4438)
{
{ /* Llib/weakhash.scm 280 */
{ /* Llib/weakhash.scm 281 */
 obj_t BgL_auxz00_8077;
if(
STRUCTP(BgL_tablez00_4438))
{ /* Llib/weakhash.scm 281 */
BgL_auxz00_8077 = BgL_tablez00_4438
; }  else 
{ 
 obj_t BgL_auxz00_8080;
BgL_auxz00_8080 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(10745L), BGl_string3493z00zz__weakhashz00, BGl_string3487z00zz__weakhashz00, BgL_tablez00_4438); 
FAILURE(BgL_auxz00_8080,BFALSE,BFALSE);} 
return 
BGl_weakzd2hashtablezd2keyzd2listzd2zz__weakhashz00(BgL_auxz00_8077);} } 

}



/* &<@anonymous:1469> */
obj_t BGl_z62zc3z04anonymousza31469ze3ze5zz__weakhashz00(obj_t BgL_envz00_4439, obj_t BgL_keyz00_4441, obj_t BgL_valz00_4442)
{
{ /* Llib/weakhash.scm 283 */
{ /* Llib/weakhash.scm 284 */
 obj_t BgL_resz00_4440;
BgL_resz00_4440 = 
PROCEDURE_REF(BgL_envz00_4439, 
(int)(0L)); 
{ /* Llib/weakhash.scm 284 */
 obj_t BgL_auxz00_5691;
BgL_auxz00_5691 = 
MAKE_YOUNG_PAIR(BgL_keyz00_4441, 
CELL_REF(BgL_resz00_4440)); 
return 
CELL_SET(BgL_resz00_4440, BgL_auxz00_5691);} } } 

}



/* weak-hashtable-map */
BGL_EXPORTED_DEF obj_t BGl_weakzd2hashtablezd2mapz00zz__weakhashz00(obj_t BgL_tablez00_60, obj_t BgL_funz00_61)
{
{ /* Llib/weakhash.scm 290 */
{ /* Llib/weakhash.scm 291 */
 obj_t BgL_resz00_4456;
BgL_resz00_4456 = 
MAKE_CELL(BNIL); 
{ /* Llib/weakhash.scm 294 */
 obj_t BgL_zc3z04anonymousza31472ze3z87_4446;
BgL_zc3z04anonymousza31472ze3z87_4446 = 
MAKE_FX_PROCEDURE(BGl_z62zc3z04anonymousza31472ze3ze5zz__weakhashz00, 
(int)(2L), 
(int)(2L)); 
PROCEDURE_SET(BgL_zc3z04anonymousza31472ze3z87_4446, 
(int)(0L), BgL_funz00_61); 
PROCEDURE_SET(BgL_zc3z04anonymousza31472ze3z87_4446, 
(int)(1L), 
((obj_t)BgL_resz00_4456)); 
if(
BGl_hashtablezd2weakzd2keyszf3zf3zz__hashz00(BgL_tablez00_60))
{ /* Llib/weakhash.scm 249 */
BGl_keyszd2traversezd2hashz00zz__weakhashz00(BgL_tablez00_60, BgL_zc3z04anonymousza31472ze3z87_4446); }  else 
{ /* Llib/weakhash.scm 249 */
BBOOL(
BGl_oldzd2traversezd2hashz00zz__weakhashz00(BgL_tablez00_60, BgL_zc3z04anonymousza31472ze3z87_4446)); } } 
{ /* Llib/weakhash.scm 295 */
 obj_t BgL_aux2909z00_5140;
BgL_aux2909z00_5140 = 
CELL_REF(BgL_resz00_4456); 
{ /* Llib/weakhash.scm 295 */
 bool_t BgL_test4072z00_8101;
if(
PAIRP(BgL_aux2909z00_5140))
{ /* Llib/weakhash.scm 295 */
BgL_test4072z00_8101 = ((bool_t)1)
; }  else 
{ /* Llib/weakhash.scm 295 */
BgL_test4072z00_8101 = 
NULLP(BgL_aux2909z00_5140)
; } 
if(BgL_test4072z00_8101)
{ /* Llib/weakhash.scm 295 */
return BgL_aux2909z00_5140;}  else 
{ 
 obj_t BgL_auxz00_8105;
BgL_auxz00_8105 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(11251L), BGl_string3494z00zz__weakhashz00, BGl_string3490z00zz__weakhashz00, BgL_aux2909z00_5140); 
FAILURE(BgL_auxz00_8105,BFALSE,BFALSE);} } } } } 

}



/* &weak-hashtable-map */
obj_t BGl_z62weakzd2hashtablezd2mapz62zz__weakhashz00(obj_t BgL_envz00_4447, obj_t BgL_tablez00_4448, obj_t BgL_funz00_4449)
{
{ /* Llib/weakhash.scm 290 */
{ /* Llib/weakhash.scm 291 */
 obj_t BgL_auxz00_8116; obj_t BgL_auxz00_8109;
if(
PROCEDUREP(BgL_funz00_4449))
{ /* Llib/weakhash.scm 291 */
BgL_auxz00_8116 = BgL_funz00_4449
; }  else 
{ 
 obj_t BgL_auxz00_8119;
BgL_auxz00_8119 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(11138L), BGl_string3495z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_funz00_4449); 
FAILURE(BgL_auxz00_8119,BFALSE,BFALSE);} 
if(
STRUCTP(BgL_tablez00_4448))
{ /* Llib/weakhash.scm 291 */
BgL_auxz00_8109 = BgL_tablez00_4448
; }  else 
{ 
 obj_t BgL_auxz00_8112;
BgL_auxz00_8112 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(11138L), BGl_string3495z00zz__weakhashz00, BGl_string3487z00zz__weakhashz00, BgL_tablez00_4448); 
FAILURE(BgL_auxz00_8112,BFALSE,BFALSE);} 
return 
BGl_weakzd2hashtablezd2mapz00zz__weakhashz00(BgL_auxz00_8109, BgL_auxz00_8116);} } 

}



/* &<@anonymous:1472> */
obj_t BGl_z62zc3z04anonymousza31472ze3ze5zz__weakhashz00(obj_t BgL_envz00_4450, obj_t BgL_keyz00_4453, obj_t BgL_valz00_4454)
{
{ /* Llib/weakhash.scm 293 */
{ /* Llib/weakhash.scm 294 */
 obj_t BgL_funz00_4451; obj_t BgL_resz00_4452;
BgL_funz00_4451 = 
((obj_t)
PROCEDURE_REF(BgL_envz00_4450, 
(int)(0L))); 
BgL_resz00_4452 = 
PROCEDURE_REF(BgL_envz00_4450, 
(int)(1L)); 
{ /* Llib/weakhash.scm 294 */
 obj_t BgL_auxz00_5693;
{ /* Llib/weakhash.scm 294 */
 obj_t BgL_arg1473z00_5694;
if(
PROCEDURE_CORRECT_ARITYP(BgL_funz00_4451, 2L))
{ /* Llib/weakhash.scm 294 */
BgL_arg1473z00_5694 = 
(VA_PROCEDUREP( BgL_funz00_4451 ) ? ((obj_t (*)(obj_t, ...))PROCEDURE_ENTRY(BgL_funz00_4451))(BgL_funz00_4451, BgL_keyz00_4453, BgL_valz00_4454, BEOA) : ((obj_t (*)(obj_t, obj_t, obj_t))PROCEDURE_ENTRY(BgL_funz00_4451))(BgL_funz00_4451, BgL_keyz00_4453, BgL_valz00_4454) ); }  else 
{ /* Llib/weakhash.scm 294 */
FAILURE(BGl_string3496z00zz__weakhashz00,BGl_list3497z00zz__weakhashz00,BgL_funz00_4451);} 
BgL_auxz00_5693 = 
MAKE_YOUNG_PAIR(BgL_arg1473z00_5694, 
CELL_REF(BgL_resz00_4452)); } 
return 
CELL_SET(BgL_resz00_4452, BgL_auxz00_5693);} } } 

}



/* weak-hashtable-for-each */
BGL_EXPORTED_DEF obj_t BGl_weakzd2hashtablezd2forzd2eachzd2zz__weakhashz00(obj_t BgL_tablez00_62, obj_t BgL_funz00_63)
{
{ /* Llib/weakhash.scm 300 */
if(
BGl_hashtablezd2weakzd2keyszf3zf3zz__hashz00(BgL_tablez00_62))
{ /* Llib/weakhash.scm 249 */
return 
BGl_keyszd2traversezd2hashz00zz__weakhashz00(BgL_tablez00_62, BgL_funz00_63);}  else 
{ /* Llib/weakhash.scm 249 */
return 
BBOOL(
BGl_oldzd2traversezd2hashz00zz__weakhashz00(BgL_tablez00_62, BgL_funz00_63));} } 

}



/* &weak-hashtable-for-each */
obj_t BGl_z62weakzd2hashtablezd2forzd2eachzb0zz__weakhashz00(obj_t BgL_envz00_4458, obj_t BgL_tablez00_4459, obj_t BgL_funz00_4460)
{
{ /* Llib/weakhash.scm 300 */
{ /* Llib/weakhash.scm 249 */
 obj_t BgL_auxz00_8150; obj_t BgL_auxz00_8143;
if(
PROCEDUREP(BgL_funz00_4460))
{ /* Llib/weakhash.scm 249 */
BgL_auxz00_8150 = BgL_funz00_4460
; }  else 
{ 
 obj_t BgL_auxz00_8153;
BgL_auxz00_8153 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(9474L), BGl_string3500z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_funz00_4460); 
FAILURE(BgL_auxz00_8153,BFALSE,BFALSE);} 
if(
STRUCTP(BgL_tablez00_4459))
{ /* Llib/weakhash.scm 249 */
BgL_auxz00_8143 = BgL_tablez00_4459
; }  else 
{ 
 obj_t BgL_auxz00_8146;
BgL_auxz00_8146 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(9474L), BGl_string3500z00zz__weakhashz00, BGl_string3487z00zz__weakhashz00, BgL_tablez00_4459); 
FAILURE(BgL_auxz00_8146,BFALSE,BFALSE);} 
return 
BGl_weakzd2hashtablezd2forzd2eachzd2zz__weakhashz00(BgL_auxz00_8143, BgL_auxz00_8150);} } 

}



/* weak-keys-hashtable-filter! */
bool_t BGl_weakzd2keyszd2hashtablezd2filterz12zc0zz__weakhashz00(obj_t BgL_tablez00_64, obj_t BgL_funz00_65)
{
{ /* Llib/weakhash.scm 306 */
{ /* Llib/weakhash.scm 307 */
 obj_t BgL_bucketsz00_1553;
{ /* Llib/weakhash.scm 307 */
 bool_t BgL_test4080z00_8158;
{ /* Llib/weakhash.scm 307 */
 obj_t BgL_tmpz00_8159;
{ /* Llib/weakhash.scm 307 */
 obj_t BgL_res2246z00_3086;
{ /* Llib/weakhash.scm 307 */
 obj_t BgL_aux2920z00_5152;
BgL_aux2920z00_5152 = 
STRUCT_KEY(BgL_tablez00_64); 
if(
SYMBOLP(BgL_aux2920z00_5152))
{ /* Llib/weakhash.scm 307 */
BgL_res2246z00_3086 = BgL_aux2920z00_5152; }  else 
{ 
 obj_t BgL_auxz00_8163;
BgL_auxz00_8163 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(11882L), BGl_string3501z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux2920z00_5152); 
FAILURE(BgL_auxz00_8163,BFALSE,BFALSE);} } 
BgL_tmpz00_8159 = BgL_res2246z00_3086; } 
BgL_test4080z00_8158 = 
(BgL_tmpz00_8159==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4080z00_8158)
{ /* Llib/weakhash.scm 307 */
 int BgL_tmpz00_8168;
BgL_tmpz00_8168 = 
(int)(2L); 
BgL_bucketsz00_1553 = 
STRUCT_REF(BgL_tablez00_64, BgL_tmpz00_8168); }  else 
{ /* Llib/weakhash.scm 307 */
BgL_bucketsz00_1553 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_64); } } 
{ /* Llib/weakhash.scm 307 */
 long BgL_bucketszd2lenzd2_1554;
{ /* Llib/weakhash.scm 308 */
 obj_t BgL_vectorz00_3087;
if(
VECTORP(BgL_bucketsz00_1553))
{ /* Llib/weakhash.scm 308 */
BgL_vectorz00_3087 = BgL_bucketsz00_1553; }  else 
{ 
 obj_t BgL_auxz00_8174;
BgL_auxz00_8174 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(11941L), BGl_string3501z00zz__weakhashz00, BGl_string3447z00zz__weakhashz00, BgL_bucketsz00_1553); 
FAILURE(BgL_auxz00_8174,BFALSE,BFALSE);} 
BgL_bucketszd2lenzd2_1554 = 
VECTOR_LENGTH(BgL_vectorz00_3087); } 
{ /* Llib/weakhash.scm 308 */

{ 
 long BgL_iz00_1556;
BgL_iz00_1556 = 0L; 
BgL_zc3z04anonymousza31474ze3z87_1557:
if(
(BgL_iz00_1556<BgL_bucketszd2lenzd2_1554))
{ /* Llib/weakhash.scm 311 */
 obj_t BgL_bucketz00_1559; obj_t BgL_countz00_4467;
{ /* Llib/weakhash.scm 311 */
 obj_t BgL_vectorz00_3090;
if(
VECTORP(BgL_bucketsz00_1553))
{ /* Llib/weakhash.scm 311 */
BgL_vectorz00_3090 = BgL_bucketsz00_1553; }  else 
{ 
 obj_t BgL_auxz00_8183;
BgL_auxz00_8183 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(12035L), BGl_string3456z00zz__weakhashz00, BGl_string3447z00zz__weakhashz00, BgL_bucketsz00_1553); 
FAILURE(BgL_auxz00_8183,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 311 */
 bool_t BgL_test4085z00_8187;
{ /* Llib/weakhash.scm 311 */
 long BgL_tmpz00_8188;
BgL_tmpz00_8188 = 
VECTOR_LENGTH(BgL_vectorz00_3090); 
BgL_test4085z00_8187 = 
BOUND_CHECK(BgL_iz00_1556, BgL_tmpz00_8188); } 
if(BgL_test4085z00_8187)
{ /* Llib/weakhash.scm 311 */
BgL_bucketz00_1559 = 
VECTOR_REF(BgL_vectorz00_3090,BgL_iz00_1556); }  else 
{ 
 obj_t BgL_auxz00_8192;
BgL_auxz00_8192 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(12023L), BGl_string3448z00zz__weakhashz00, BgL_vectorz00_3090, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_3090)), 
(int)(BgL_iz00_1556)); 
FAILURE(BgL_auxz00_8192,BFALSE,BFALSE);} } } 
BgL_countz00_4467 = 
MAKE_CELL(
BINT(0L)); 
{ /* Llib/weakhash.scm 315 */
 obj_t BgL_arg1476z00_1561;
{ /* Llib/weakhash.scm 315 */
 obj_t BgL_zc3z04anonymousza31478ze3z87_4461;
BgL_zc3z04anonymousza31478ze3z87_4461 = 
MAKE_FX_PROCEDURE(BGl_z62zc3z04anonymousza31478ze3ze5zz__weakhashz00, 
(int)(1L), 
(int)(2L)); 
PROCEDURE_SET(BgL_zc3z04anonymousza31478ze3z87_4461, 
(int)(0L), 
((obj_t)BgL_countz00_4467)); 
PROCEDURE_SET(BgL_zc3z04anonymousza31478ze3z87_4461, 
(int)(1L), 
((obj_t)BgL_funz00_65)); 
{ /* Llib/weakhash.scm 314 */
 obj_t BgL_auxz00_8209;
{ /* Llib/weakhash.scm 321 */
 bool_t BgL_test4086z00_8210;
if(
PAIRP(BgL_bucketz00_1559))
{ /* Llib/weakhash.scm 321 */
BgL_test4086z00_8210 = ((bool_t)1)
; }  else 
{ /* Llib/weakhash.scm 321 */
BgL_test4086z00_8210 = 
NULLP(BgL_bucketz00_1559)
; } 
if(BgL_test4086z00_8210)
{ /* Llib/weakhash.scm 321 */
BgL_auxz00_8209 = BgL_bucketz00_1559
; }  else 
{ 
 obj_t BgL_auxz00_8214;
BgL_auxz00_8214 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(12307L), BGl_string3456z00zz__weakhashz00, BGl_string3490z00zz__weakhashz00, BgL_bucketz00_1559); 
FAILURE(BgL_auxz00_8214,BFALSE,BFALSE);} } 
BgL_arg1476z00_1561 = 
BGl_filterz12z12zz__r4_control_features_6_9z00(BgL_zc3z04anonymousza31478ze3z87_4461, BgL_auxz00_8209); } } 
{ /* Llib/weakhash.scm 313 */
 obj_t BgL_vectorz00_3096;
if(
VECTORP(BgL_bucketsz00_1553))
{ /* Llib/weakhash.scm 313 */
BgL_vectorz00_3096 = BgL_bucketsz00_1553; }  else 
{ 
 obj_t BgL_auxz00_8221;
BgL_auxz00_8221 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(12083L), BGl_string3456z00zz__weakhashz00, BGl_string3447z00zz__weakhashz00, BgL_bucketsz00_1553); 
FAILURE(BgL_auxz00_8221,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 313 */
 bool_t BgL_test4089z00_8225;
{ /* Llib/weakhash.scm 313 */
 long BgL_tmpz00_8226;
BgL_tmpz00_8226 = 
VECTOR_LENGTH(BgL_vectorz00_3096); 
BgL_test4089z00_8225 = 
BOUND_CHECK(BgL_iz00_1556, BgL_tmpz00_8226); } 
if(BgL_test4089z00_8225)
{ /* Llib/weakhash.scm 313 */
VECTOR_SET(BgL_vectorz00_3096,BgL_iz00_1556,BgL_arg1476z00_1561); }  else 
{ 
 obj_t BgL_auxz00_8230;
BgL_auxz00_8230 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(12070L), BGl_string3453z00zz__weakhashz00, BgL_vectorz00_3096, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_3096)), 
(int)(BgL_iz00_1556)); 
FAILURE(BgL_auxz00_8230,BFALSE,BFALSE);} } } } 
{ /* Llib/weakhash.scm 322 */
 long BgL_arg1494z00_1580;
{ /* Llib/weakhash.scm 322 */
 obj_t BgL_arg1495z00_1581;
{ /* Llib/weakhash.scm 322 */
 bool_t BgL_test4090z00_8237;
{ /* Llib/weakhash.scm 322 */
 obj_t BgL_tmpz00_8238;
{ /* Llib/weakhash.scm 322 */
 obj_t BgL_res2247z00_3101;
{ /* Llib/weakhash.scm 322 */
 obj_t BgL_aux2930z00_5162;
BgL_aux2930z00_5162 = 
STRUCT_KEY(BgL_tablez00_64); 
if(
SYMBOLP(BgL_aux2930z00_5162))
{ /* Llib/weakhash.scm 322 */
BgL_res2247z00_3101 = BgL_aux2930z00_5162; }  else 
{ 
 obj_t BgL_auxz00_8242;
BgL_auxz00_8242 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(12357L), BGl_string3456z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux2930z00_5162); 
FAILURE(BgL_auxz00_8242,BFALSE,BFALSE);} } 
BgL_tmpz00_8238 = BgL_res2247z00_3101; } 
BgL_test4090z00_8237 = 
(BgL_tmpz00_8238==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4090z00_8237)
{ /* Llib/weakhash.scm 322 */
 int BgL_tmpz00_8247;
BgL_tmpz00_8247 = 
(int)(0L); 
BgL_arg1495z00_1581 = 
STRUCT_REF(BgL_tablez00_64, BgL_tmpz00_8247); }  else 
{ /* Llib/weakhash.scm 322 */
BgL_arg1495z00_1581 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_64); } } 
{ /* Llib/weakhash.scm 322 */
 long BgL_za71za7_3102; long BgL_za72za7_3103;
{ /* Llib/weakhash.scm 322 */
 obj_t BgL_tmpz00_8251;
if(
INTEGERP(BgL_arg1495z00_1581))
{ /* Llib/weakhash.scm 322 */
BgL_tmpz00_8251 = BgL_arg1495z00_1581
; }  else 
{ 
 obj_t BgL_auxz00_8254;
BgL_auxz00_8254 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(12379L), BGl_string3456z00zz__weakhashz00, BGl_string3442z00zz__weakhashz00, BgL_arg1495z00_1581); 
FAILURE(BgL_auxz00_8254,BFALSE,BFALSE);} 
BgL_za71za7_3102 = 
(long)CINT(BgL_tmpz00_8251); } 
{ /* Llib/weakhash.scm 322 */
 obj_t BgL_tmpz00_8259;
{ /* Llib/weakhash.scm 322 */
 obj_t BgL_aux2933z00_5165;
BgL_aux2933z00_5165 = 
CELL_REF(BgL_countz00_4467); 
if(
INTEGERP(BgL_aux2933z00_5165))
{ /* Llib/weakhash.scm 322 */
BgL_tmpz00_8259 = BgL_aux2933z00_5165
; }  else 
{ 
 obj_t BgL_auxz00_8262;
BgL_auxz00_8262 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(12381L), BGl_string3456z00zz__weakhashz00, BGl_string3442z00zz__weakhashz00, BgL_aux2933z00_5165); 
FAILURE(BgL_auxz00_8262,BFALSE,BFALSE);} } 
BgL_za72za7_3103 = 
(long)CINT(BgL_tmpz00_8259); } 
BgL_arg1494z00_1580 = 
(BgL_za71za7_3102-BgL_za72za7_3103); } } 
{ /* Llib/weakhash.scm 322 */
 bool_t BgL_test4094z00_8268;
{ /* Llib/weakhash.scm 322 */
 obj_t BgL_tmpz00_8269;
{ /* Llib/weakhash.scm 322 */
 obj_t BgL_res2248z00_3107;
{ /* Llib/weakhash.scm 322 */
 obj_t BgL_aux2934z00_5166;
BgL_aux2934z00_5166 = 
STRUCT_KEY(BgL_tablez00_64); 
if(
SYMBOLP(BgL_aux2934z00_5166))
{ /* Llib/weakhash.scm 322 */
BgL_res2248z00_3107 = BgL_aux2934z00_5166; }  else 
{ 
 obj_t BgL_auxz00_8273;
BgL_auxz00_8273 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(12324L), BGl_string3456z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux2934z00_5166); 
FAILURE(BgL_auxz00_8273,BFALSE,BFALSE);} } 
BgL_tmpz00_8269 = BgL_res2248z00_3107; } 
BgL_test4094z00_8268 = 
(BgL_tmpz00_8269==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4094z00_8268)
{ /* Llib/weakhash.scm 322 */
 obj_t BgL_auxz00_8280; int BgL_tmpz00_8278;
BgL_auxz00_8280 = 
BINT(BgL_arg1494z00_1580); 
BgL_tmpz00_8278 = 
(int)(0L); 
STRUCT_SET(BgL_tablez00_64, BgL_tmpz00_8278, BgL_auxz00_8280); }  else 
{ /* Llib/weakhash.scm 322 */
BGl_errorz00zz__errorz00(BGl_string3452z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_64); } } } 
{ 
 long BgL_iz00_8284;
BgL_iz00_8284 = 
(BgL_iz00_1556+1L); 
BgL_iz00_1556 = BgL_iz00_8284; 
goto BgL_zc3z04anonymousza31474ze3z87_1557;} }  else 
{ /* Llib/weakhash.scm 310 */
return ((bool_t)0);} } } } } } 

}



/* &<@anonymous:1478> */
obj_t BGl_z62zc3z04anonymousza31478ze3ze5zz__weakhashz00(obj_t BgL_envz00_4462, obj_t BgL_vz00_4465)
{
{ /* Llib/weakhash.scm 314 */
{ /* Llib/weakhash.scm 315 */
 obj_t BgL_countz00_4463; obj_t BgL_funz00_4464;
BgL_countz00_4463 = 
PROCEDURE_REF(BgL_envz00_4462, 
(int)(0L)); 
BgL_funz00_4464 = 
PROCEDURE_REF(BgL_envz00_4462, 
(int)(1L)); 
{ /* Llib/weakhash.scm 315 */
 bool_t BgL_tmpz00_8290;
{ /* Llib/weakhash.scm 315 */
 bool_t BgL_test4096z00_8291;
{ /* Llib/weakhash.scm 315 */
 bool_t BgL_test4097z00_8292;
{ /* Llib/weakhash.scm 315 */
 obj_t BgL_arg1493z00_5696;
{ /* Llib/weakhash.scm 315 */
 obj_t BgL_objz00_5697;
if(
BGL_WEAKPTRP(BgL_vz00_4465))
{ /* Llib/weakhash.scm 315 */
BgL_objz00_5697 = BgL_vz00_4465; }  else 
{ 
 obj_t BgL_auxz00_8295;
BgL_auxz00_8295 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(12154L), BGl_string3502z00zz__weakhashz00, BGl_string3451z00zz__weakhashz00, BgL_vz00_4465); 
FAILURE(BgL_auxz00_8295,BFALSE,BFALSE);} 
BgL_arg1493z00_5696 = 
bgl_weakptr_data(BgL_objz00_5697); } 
BgL_test4097z00_8292 = 
(BgL_arg1493z00_5696==BUNSPEC); } 
if(BgL_test4097z00_8292)
{ /* Llib/weakhash.scm 315 */
BgL_test4096z00_8291 = ((bool_t)1)
; }  else 
{ /* Llib/weakhash.scm 316 */
 bool_t BgL_test4099z00_8301;
{ /* Llib/weakhash.scm 316 */
 obj_t BgL_arg1491z00_5698; obj_t BgL_arg1492z00_5699;
{ /* Llib/weakhash.scm 316 */
 obj_t BgL_objz00_5700;
if(
BGL_WEAKPTRP(BgL_vz00_4465))
{ /* Llib/weakhash.scm 316 */
BgL_objz00_5700 = BgL_vz00_4465; }  else 
{ 
 obj_t BgL_auxz00_8304;
BgL_auxz00_8304 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(12205L), BGl_string3502z00zz__weakhashz00, BGl_string3451z00zz__weakhashz00, BgL_vz00_4465); 
FAILURE(BgL_auxz00_8304,BFALSE,BFALSE);} 
BgL_arg1491z00_5698 = 
bgl_weakptr_data(BgL_objz00_5700); } 
{ /* Llib/weakhash.scm 316 */
 obj_t BgL_objz00_5701;
if(
BGL_WEAKPTRP(BgL_vz00_4465))
{ /* Llib/weakhash.scm 316 */
BgL_objz00_5701 = BgL_vz00_4465; }  else 
{ 
 obj_t BgL_auxz00_8311;
BgL_auxz00_8311 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(12221L), BGl_string3502z00zz__weakhashz00, BGl_string3451z00zz__weakhashz00, BgL_vz00_4465); 
FAILURE(BgL_auxz00_8311,BFALSE,BFALSE);} 
BgL_arg1492z00_5699 = 
bgl_weakptr_ref(BgL_objz00_5701); } 
{ /* Llib/weakhash.scm 316 */
 obj_t BgL_funz00_5702;
if(
PROCEDUREP(BgL_funz00_4464))
{ /* Llib/weakhash.scm 316 */
BgL_funz00_5702 = BgL_funz00_4464; }  else 
{ 
 obj_t BgL_auxz00_8318;
BgL_auxz00_8318 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(12186L), BGl_string3502z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_funz00_4464); 
FAILURE(BgL_auxz00_8318,BFALSE,BFALSE);} 
if(
PROCEDURE_CORRECT_ARITYP(BgL_funz00_5702, 2L))
{ /* Llib/weakhash.scm 316 */
BgL_test4099z00_8301 = 
CBOOL(
(VA_PROCEDUREP( BgL_funz00_5702 ) ? ((obj_t (*)(obj_t, ...))PROCEDURE_ENTRY(BgL_funz00_5702))(BgL_funz00_4464, BgL_arg1491z00_5698, BgL_arg1492z00_5699, BEOA) : ((obj_t (*)(obj_t, obj_t, obj_t))PROCEDURE_ENTRY(BgL_funz00_5702))(BgL_funz00_4464, BgL_arg1491z00_5698, BgL_arg1492z00_5699) ))
; }  else 
{ /* Llib/weakhash.scm 316 */
FAILURE(BGl_string3503z00zz__weakhashz00,BGl_list3504z00zz__weakhashz00,BgL_funz00_5702);} } } 
if(BgL_test4099z00_8301)
{ /* Llib/weakhash.scm 316 */
BgL_test4096z00_8291 = ((bool_t)0)
; }  else 
{ /* Llib/weakhash.scm 316 */
BgL_test4096z00_8291 = ((bool_t)1)
; } } } 
if(BgL_test4096z00_8291)
{ /* Llib/weakhash.scm 315 */
{ /* Llib/weakhash.scm 318 */
 obj_t BgL_auxz00_5703;
{ /* Llib/weakhash.scm 315 */
 obj_t BgL_tmpz00_8331;
{ /* Llib/weakhash.scm 318 */
 obj_t BgL_aux2945z00_5704;
BgL_aux2945z00_5704 = 
CELL_REF(BgL_countz00_4463); 
if(
INTEGERP(BgL_aux2945z00_5704))
{ /* Llib/weakhash.scm 318 */
BgL_tmpz00_8331 = BgL_aux2945z00_5704
; }  else 
{ 
 obj_t BgL_auxz00_8334;
BgL_auxz00_8334 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(12266L), BGl_string3502z00zz__weakhashz00, BGl_string3442z00zz__weakhashz00, BgL_aux2945z00_5704); 
FAILURE(BgL_auxz00_8334,BFALSE,BFALSE);} } 
BgL_auxz00_5703 = 
ADDFX(BgL_tmpz00_8331, 
BINT(1L)); } 
CELL_SET(BgL_countz00_4463, BgL_auxz00_5703); } 
BgL_tmpz00_8290 = ((bool_t)0); }  else 
{ /* Llib/weakhash.scm 315 */
BgL_tmpz00_8290 = ((bool_t)1)
; } } 
return 
BBOOL(BgL_tmpz00_8290);} } } 

}



/* weak-old-hashtable-filter! */
bool_t BGl_weakzd2oldzd2hashtablezd2filterz12zc0zz__weakhashz00(obj_t BgL_tablez00_66, obj_t BgL_funz00_67)
{
{ /* Llib/weakhash.scm 328 */
{ /* Llib/weakhash.scm 329 */
 obj_t BgL_bucketsz00_1584;
{ /* Llib/weakhash.scm 329 */
 bool_t BgL_test4105z00_8341;
{ /* Llib/weakhash.scm 329 */
 obj_t BgL_tmpz00_8342;
{ /* Llib/weakhash.scm 329 */
 obj_t BgL_res2249z00_3112;
{ /* Llib/weakhash.scm 329 */
 obj_t BgL_aux2946z00_5179;
BgL_aux2946z00_5179 = 
STRUCT_KEY(BgL_tablez00_66); 
if(
SYMBOLP(BgL_aux2946z00_5179))
{ /* Llib/weakhash.scm 329 */
BgL_res2249z00_3112 = BgL_aux2946z00_5179; }  else 
{ 
 obj_t BgL_auxz00_8346;
BgL_auxz00_8346 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(12727L), BGl_string3509z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux2946z00_5179); 
FAILURE(BgL_auxz00_8346,BFALSE,BFALSE);} } 
BgL_tmpz00_8342 = BgL_res2249z00_3112; } 
BgL_test4105z00_8341 = 
(BgL_tmpz00_8342==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4105z00_8341)
{ /* Llib/weakhash.scm 329 */
 int BgL_tmpz00_8351;
BgL_tmpz00_8351 = 
(int)(2L); 
BgL_bucketsz00_1584 = 
STRUCT_REF(BgL_tablez00_66, BgL_tmpz00_8351); }  else 
{ /* Llib/weakhash.scm 329 */
BgL_bucketsz00_1584 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_66); } } 
{ /* Llib/weakhash.scm 329 */
 long BgL_bucketszd2lenzd2_1585;
{ /* Llib/weakhash.scm 330 */
 obj_t BgL_vectorz00_3113;
if(
VECTORP(BgL_bucketsz00_1584))
{ /* Llib/weakhash.scm 330 */
BgL_vectorz00_3113 = BgL_bucketsz00_1584; }  else 
{ 
 obj_t BgL_auxz00_8357;
BgL_auxz00_8357 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(12786L), BGl_string3509z00zz__weakhashz00, BGl_string3447z00zz__weakhashz00, BgL_bucketsz00_1584); 
FAILURE(BgL_auxz00_8357,BFALSE,BFALSE);} 
BgL_bucketszd2lenzd2_1585 = 
VECTOR_LENGTH(BgL_vectorz00_3113); } 
{ /* Llib/weakhash.scm 330 */

{ 
 long BgL_iz00_1587;
BgL_iz00_1587 = 0L; 
BgL_zc3z04anonymousza31497ze3z87_1588:
if(
(BgL_iz00_1587<BgL_bucketszd2lenzd2_1585))
{ /* Llib/weakhash.scm 332 */
{ /* Llib/weakhash.scm 336 */
 obj_t BgL_zc3z04anonymousza31500ze3z87_4469;
{ 
 int BgL_tmpz00_8364;
BgL_tmpz00_8364 = 
(int)(1L); 
BgL_zc3z04anonymousza31500ze3z87_4469 = 
MAKE_L_PROCEDURE(BGl_z62zc3z04anonymousza31500ze3ze5zz__weakhashz00, BgL_tmpz00_8364); } 
PROCEDURE_L_SET(BgL_zc3z04anonymousza31500ze3z87_4469, 
(int)(0L), 
((obj_t)BgL_funz00_67)); 
BGl_traversezd2bucketszd2zz__weakhashz00(BgL_tablez00_66, BgL_bucketsz00_1584, BgL_iz00_1587, BgL_zc3z04anonymousza31500ze3z87_4469); } 
{ 
 long BgL_iz00_8371;
BgL_iz00_8371 = 
(BgL_iz00_1587+1L); 
BgL_iz00_1587 = BgL_iz00_8371; 
goto BgL_zc3z04anonymousza31497ze3z87_1588;} }  else 
{ /* Llib/weakhash.scm 332 */
return ((bool_t)0);} } } } } } 

}



/* &<@anonymous:1500> */
obj_t BGl_z62zc3z04anonymousza31500ze3ze5zz__weakhashz00(obj_t BgL_envz00_4470, obj_t BgL_keyz00_4472, obj_t BgL_valz00_4473, obj_t BgL_bucketz00_4474)
{
{ /* Llib/weakhash.scm 335 */
{ /* Llib/weakhash.scm 336 */
 obj_t BgL_funz00_4471;
BgL_funz00_4471 = 
PROCEDURE_L_REF(BgL_envz00_4470, 
(int)(0L)); 
{ /* Llib/weakhash.scm 336 */
 bool_t BgL_test4109z00_8375;
{ /* Llib/weakhash.scm 336 */
 obj_t BgL_funz00_5705;
if(
PROCEDUREP(BgL_funz00_4471))
{ /* Llib/weakhash.scm 336 */
BgL_funz00_5705 = BgL_funz00_4471; }  else 
{ 
 obj_t BgL_auxz00_8378;
BgL_auxz00_8378 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(12938L), BGl_string3510z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_funz00_4471); 
FAILURE(BgL_auxz00_8378,BFALSE,BFALSE);} 
if(
PROCEDURE_CORRECT_ARITYP(BgL_funz00_5705, 2L))
{ /* Llib/weakhash.scm 336 */
BgL_test4109z00_8375 = 
CBOOL(
(VA_PROCEDUREP( BgL_funz00_5705 ) ? ((obj_t (*)(obj_t, ...))PROCEDURE_ENTRY(BgL_funz00_5705))(BgL_funz00_4471, BgL_keyz00_4472, BgL_valz00_4473, BEOA) : ((obj_t (*)(obj_t, obj_t, obj_t))PROCEDURE_ENTRY(BgL_funz00_5705))(BgL_funz00_4471, BgL_keyz00_4472, BgL_valz00_4473) ))
; }  else 
{ /* Llib/weakhash.scm 336 */
FAILURE(BGl_string3511z00zz__weakhashz00,BGl_list3497z00zz__weakhashz00,BgL_funz00_5705);} } 
if(BgL_test4109z00_8375)
{ /* Llib/weakhash.scm 336 */
return BGl_keepgoingz00zz__weakhashz00;}  else 
{ /* Llib/weakhash.scm 336 */
return BGl_removez00zz__weakhashz00;} } } } 

}



/* weak-hashtable-filter! */
BGL_EXPORTED_DEF obj_t BGl_weakzd2hashtablezd2filterz12z12zz__weakhashz00(obj_t BgL_tablez00_68, obj_t BgL_funz00_69)
{
{ /* Llib/weakhash.scm 344 */
if(
BGl_hashtablezd2weakzd2keyszf3zf3zz__hashz00(BgL_tablez00_68))
{ /* Llib/weakhash.scm 345 */
return 
BBOOL(
BGl_weakzd2keyszd2hashtablezd2filterz12zc0zz__weakhashz00(BgL_tablez00_68, BgL_funz00_69));}  else 
{ /* Llib/weakhash.scm 345 */
return 
BBOOL(
BGl_weakzd2oldzd2hashtablezd2filterz12zc0zz__weakhashz00(BgL_tablez00_68, BgL_funz00_69));} } 

}



/* &weak-hashtable-filter! */
obj_t BGl_z62weakzd2hashtablezd2filterz12z70zz__weakhashz00(obj_t BgL_envz00_4475, obj_t BgL_tablez00_4476, obj_t BgL_funz00_4477)
{
{ /* Llib/weakhash.scm 344 */
{ /* Llib/weakhash.scm 345 */
 obj_t BgL_auxz00_8404; obj_t BgL_auxz00_8397;
if(
PROCEDUREP(BgL_funz00_4477))
{ /* Llib/weakhash.scm 345 */
BgL_auxz00_8404 = BgL_funz00_4477
; }  else 
{ 
 obj_t BgL_auxz00_8407;
BgL_auxz00_8407 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(13294L), BGl_string3512z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_funz00_4477); 
FAILURE(BgL_auxz00_8407,BFALSE,BFALSE);} 
if(
STRUCTP(BgL_tablez00_4476))
{ /* Llib/weakhash.scm 345 */
BgL_auxz00_8397 = BgL_tablez00_4476
; }  else 
{ 
 obj_t BgL_auxz00_8400;
BgL_auxz00_8400 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(13294L), BGl_string3512z00zz__weakhashz00, BGl_string3487z00zz__weakhashz00, BgL_tablez00_4476); 
FAILURE(BgL_auxz00_8400,BFALSE,BFALSE);} 
return 
BGl_weakzd2hashtablezd2filterz12z12zz__weakhashz00(BgL_auxz00_8397, BgL_auxz00_8404);} } 

}



/* weak-hashtable-clear! */
BGL_EXPORTED_DEF obj_t BGl_weakzd2hashtablezd2clearz12z12zz__weakhashz00(obj_t BgL_tablez00_70)
{
{ /* Llib/weakhash.scm 352 */
if(
BGl_hashtablezd2weakzd2keyszf3zf3zz__hashz00(BgL_tablez00_70))
{ /* Llib/weakhash.scm 353 */
return 
BBOOL(
BGl_weakzd2keyszd2hashtablezd2filterz12zc0zz__weakhashz00(BgL_tablez00_70, BGl_proc3513z00zz__weakhashz00));}  else 
{ /* Llib/weakhash.scm 353 */
return 
BBOOL(
BGl_weakzd2oldzd2hashtablezd2filterz12zc0zz__weakhashz00(BgL_tablez00_70, BGl_proc3514z00zz__weakhashz00));} } 

}



/* &weak-hashtable-clear! */
obj_t BGl_z62weakzd2hashtablezd2clearz12z70zz__weakhashz00(obj_t BgL_envz00_4480, obj_t BgL_tablez00_4481)
{
{ /* Llib/weakhash.scm 352 */
{ /* Llib/weakhash.scm 353 */
 obj_t BgL_auxz00_8418;
if(
STRUCTP(BgL_tablez00_4481))
{ /* Llib/weakhash.scm 353 */
BgL_auxz00_8418 = BgL_tablez00_4481
; }  else 
{ 
 obj_t BgL_auxz00_8421;
BgL_auxz00_8421 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(13701L), BGl_string3515z00zz__weakhashz00, BGl_string3487z00zz__weakhashz00, BgL_tablez00_4481); 
FAILURE(BgL_auxz00_8421,BFALSE,BFALSE);} 
return 
BGl_weakzd2hashtablezd2clearz12z12zz__weakhashz00(BgL_auxz00_8418);} } 

}



/* &<@anonymous:1506> */
obj_t BGl_z62zc3z04anonymousza31506ze3ze5zz__weakhashz00(obj_t BgL_envz00_4482, obj_t BgL_kz00_4483, obj_t BgL_vz00_4484)
{
{ /* Llib/weakhash.scm 354 */
return 
BBOOL(((bool_t)0));} 

}



/* &<@anonymous:1508> */
obj_t BGl_z62zc3z04anonymousza31508ze3ze5zz__weakhashz00(obj_t BgL_envz00_4485, obj_t BgL_kz00_4486, obj_t BgL_vz00_4487)
{
{ /* Llib/weakhash.scm 355 */
return 
BBOOL(((bool_t)0));} 

}



/* weak-keys-hashtable-contains? */
bool_t BGl_weakzd2keyszd2hashtablezd2containszf3z21zz__weakhashz00(obj_t BgL_tablez00_71, obj_t BgL_keyz00_72)
{
{ /* Llib/weakhash.scm 360 */
{ /* Llib/weakhash.scm 361 */
 obj_t BgL_bucketsz00_1611;
{ /* Llib/weakhash.scm 361 */
 bool_t BgL_test4117z00_8428;
{ /* Llib/weakhash.scm 361 */
 obj_t BgL_tmpz00_8429;
{ /* Llib/weakhash.scm 361 */
 obj_t BgL_res2250z00_3122;
{ /* Llib/weakhash.scm 361 */
 obj_t BgL_aux2959z00_5193;
BgL_aux2959z00_5193 = 
STRUCT_KEY(BgL_tablez00_71); 
if(
SYMBOLP(BgL_aux2959z00_5193))
{ /* Llib/weakhash.scm 361 */
BgL_res2250z00_3122 = BgL_aux2959z00_5193; }  else 
{ 
 obj_t BgL_auxz00_8433;
BgL_auxz00_8433 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(14162L), BGl_string3516z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux2959z00_5193); 
FAILURE(BgL_auxz00_8433,BFALSE,BFALSE);} } 
BgL_tmpz00_8429 = BgL_res2250z00_3122; } 
BgL_test4117z00_8428 = 
(BgL_tmpz00_8429==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4117z00_8428)
{ /* Llib/weakhash.scm 361 */
 int BgL_tmpz00_8438;
BgL_tmpz00_8438 = 
(int)(2L); 
BgL_bucketsz00_1611 = 
STRUCT_REF(BgL_tablez00_71, BgL_tmpz00_8438); }  else 
{ /* Llib/weakhash.scm 361 */
BgL_bucketsz00_1611 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_71); } } 
{ /* Llib/weakhash.scm 361 */
 long BgL_bucketzd2lenzd2_1612;
{ /* Llib/weakhash.scm 362 */
 obj_t BgL_vectorz00_3123;
if(
VECTORP(BgL_bucketsz00_1611))
{ /* Llib/weakhash.scm 362 */
BgL_vectorz00_3123 = BgL_bucketsz00_1611; }  else 
{ 
 obj_t BgL_auxz00_8444;
BgL_auxz00_8444 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(14220L), BGl_string3516z00zz__weakhashz00, BGl_string3447z00zz__weakhashz00, BgL_bucketsz00_1611); 
FAILURE(BgL_auxz00_8444,BFALSE,BFALSE);} 
BgL_bucketzd2lenzd2_1612 = 
VECTOR_LENGTH(BgL_vectorz00_3123); } 
{ /* Llib/weakhash.scm 362 */
 long BgL_bucketzd2numzd2_1613;
{ /* Llib/weakhash.scm 363 */
 long BgL_arg1521z00_1626;
BgL_arg1521z00_1626 = 
BGl_tablezd2getzd2hashnumberz00zz__weakhashz00(BgL_tablez00_71, BgL_keyz00_72); 
{ /* Llib/weakhash.scm 363 */
 long BgL_n1z00_3124; long BgL_n2z00_3125;
BgL_n1z00_3124 = BgL_arg1521z00_1626; 
BgL_n2z00_3125 = BgL_bucketzd2lenzd2_1612; 
{ /* Llib/weakhash.scm 363 */
 bool_t BgL_test4120z00_8450;
{ /* Llib/weakhash.scm 363 */
 long BgL_arg2034z00_3127;
BgL_arg2034z00_3127 = 
(((BgL_n1z00_3124) | (BgL_n2z00_3125)) & -2147483648); 
BgL_test4120z00_8450 = 
(BgL_arg2034z00_3127==0L); } 
if(BgL_test4120z00_8450)
{ /* Llib/weakhash.scm 363 */
 int32_t BgL_arg2031z00_3128;
{ /* Llib/weakhash.scm 363 */
 int32_t BgL_arg2032z00_3129; int32_t BgL_arg2033z00_3130;
BgL_arg2032z00_3129 = 
(int32_t)(BgL_n1z00_3124); 
BgL_arg2033z00_3130 = 
(int32_t)(BgL_n2z00_3125); 
BgL_arg2031z00_3128 = 
(BgL_arg2032z00_3129%BgL_arg2033z00_3130); } 
{ /* Llib/weakhash.scm 363 */
 long BgL_arg2142z00_3135;
BgL_arg2142z00_3135 = 
(long)(BgL_arg2031z00_3128); 
BgL_bucketzd2numzd2_1613 = 
(long)(BgL_arg2142z00_3135); } }  else 
{ /* Llib/weakhash.scm 363 */
BgL_bucketzd2numzd2_1613 = 
(BgL_n1z00_3124%BgL_n2z00_3125); } } } } 
{ /* Llib/weakhash.scm 363 */
 obj_t BgL_bucketz00_1614;
{ /* Llib/weakhash.scm 364 */
 obj_t BgL_vectorz00_3137;
if(
VECTORP(BgL_bucketsz00_1611))
{ /* Llib/weakhash.scm 364 */
BgL_vectorz00_3137 = BgL_bucketsz00_1611; }  else 
{ 
 obj_t BgL_auxz00_8461;
BgL_auxz00_8461 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(14327L), BGl_string3516z00zz__weakhashz00, BGl_string3447z00zz__weakhashz00, BgL_bucketsz00_1611); 
FAILURE(BgL_auxz00_8461,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 364 */
 bool_t BgL_test4122z00_8465;
{ /* Llib/weakhash.scm 364 */
 long BgL_tmpz00_8466;
BgL_tmpz00_8466 = 
VECTOR_LENGTH(BgL_vectorz00_3137); 
BgL_test4122z00_8465 = 
BOUND_CHECK(BgL_bucketzd2numzd2_1613, BgL_tmpz00_8466); } 
if(BgL_test4122z00_8465)
{ /* Llib/weakhash.scm 364 */
BgL_bucketz00_1614 = 
VECTOR_REF(BgL_vectorz00_3137,BgL_bucketzd2numzd2_1613); }  else 
{ 
 obj_t BgL_auxz00_8470;
BgL_auxz00_8470 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(14315L), BGl_string3448z00zz__weakhashz00, BgL_vectorz00_3137, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_3137)), 
(int)(BgL_bucketzd2numzd2_1613)); 
FAILURE(BgL_auxz00_8470,BFALSE,BFALSE);} } } 
{ /* Llib/weakhash.scm 364 */

{ 
 obj_t BgL_bucketz00_1616;
BgL_bucketz00_1616 = BgL_bucketz00_1614; 
BgL_zc3z04anonymousza31509ze3z87_1617:
if(
NULLP(BgL_bucketz00_1616))
{ /* Llib/weakhash.scm 367 */
return ((bool_t)0);}  else 
{ /* Llib/weakhash.scm 369 */
 bool_t BgL_test4124z00_8479;
{ /* Llib/weakhash.scm 369 */
 obj_t BgL_arg1519z00_1623;
{ /* Llib/weakhash.scm 369 */
 obj_t BgL_arg1520z00_1624;
{ /* Llib/weakhash.scm 369 */
 obj_t BgL_pairz00_3139;
if(
PAIRP(BgL_bucketz00_1616))
{ /* Llib/weakhash.scm 369 */
BgL_pairz00_3139 = BgL_bucketz00_1616; }  else 
{ 
 obj_t BgL_auxz00_8482;
BgL_auxz00_8482 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(14471L), BGl_string3456z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_bucketz00_1616); 
FAILURE(BgL_auxz00_8482,BFALSE,BFALSE);} 
BgL_arg1520z00_1624 = 
CAR(BgL_pairz00_3139); } 
{ /* Llib/weakhash.scm 369 */
 obj_t BgL_objz00_3140;
if(
BGL_WEAKPTRP(BgL_arg1520z00_1624))
{ /* Llib/weakhash.scm 369 */
BgL_objz00_3140 = BgL_arg1520z00_1624; }  else 
{ 
 obj_t BgL_auxz00_8489;
BgL_auxz00_8489 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(14477L), BGl_string3456z00zz__weakhashz00, BGl_string3451z00zz__weakhashz00, BgL_arg1520z00_1624); 
FAILURE(BgL_auxz00_8489,BFALSE,BFALSE);} 
BgL_arg1519z00_1623 = 
bgl_weakptr_data(BgL_objz00_3140); } } 
{ /* Llib/weakhash.scm 369 */
 obj_t BgL_eqtz00_3141;
{ /* Llib/weakhash.scm 369 */
 bool_t BgL_test4127z00_8494;
{ /* Llib/weakhash.scm 369 */
 obj_t BgL_tmpz00_8495;
{ /* Llib/weakhash.scm 369 */
 obj_t BgL_res2251z00_3148;
{ /* Llib/weakhash.scm 369 */
 obj_t BgL_aux2969z00_5203;
BgL_aux2969z00_5203 = 
STRUCT_KEY(BgL_tablez00_71); 
if(
SYMBOLP(BgL_aux2969z00_5203))
{ /* Llib/weakhash.scm 369 */
BgL_res2251z00_3148 = BgL_aux2969z00_5203; }  else 
{ 
 obj_t BgL_auxz00_8499;
BgL_auxz00_8499 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(14428L), BGl_string3456z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux2969z00_5203); 
FAILURE(BgL_auxz00_8499,BFALSE,BFALSE);} } 
BgL_tmpz00_8495 = BgL_res2251z00_3148; } 
BgL_test4127z00_8494 = 
(BgL_tmpz00_8495==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4127z00_8494)
{ /* Llib/weakhash.scm 369 */
 int BgL_tmpz00_8504;
BgL_tmpz00_8504 = 
(int)(3L); 
BgL_eqtz00_3141 = 
STRUCT_REF(BgL_tablez00_71, BgL_tmpz00_8504); }  else 
{ /* Llib/weakhash.scm 369 */
BgL_eqtz00_3141 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_71); } } 
if(
PROCEDUREP(BgL_eqtz00_3141))
{ /* Llib/weakhash.scm 369 */
if(
PROCEDURE_CORRECT_ARITYP(BgL_eqtz00_3141, 2L))
{ /* Llib/weakhash.scm 369 */
BgL_test4124z00_8479 = 
CBOOL(
(VA_PROCEDUREP( BgL_eqtz00_3141 ) ? ((obj_t (*)(obj_t, ...))PROCEDURE_ENTRY(BgL_eqtz00_3141))(BgL_eqtz00_3141, BgL_arg1519z00_1623, BgL_keyz00_72, BEOA) : ((obj_t (*)(obj_t, obj_t, obj_t))PROCEDURE_ENTRY(BgL_eqtz00_3141))(BgL_eqtz00_3141, BgL_arg1519z00_1623, BgL_keyz00_72) ))
; }  else 
{ /* Llib/weakhash.scm 369 */
FAILURE(BGl_string3517z00zz__weakhashz00,BGl_list3518z00zz__weakhashz00,BgL_eqtz00_3141);} }  else 
{ /* Llib/weakhash.scm 369 */
if(
(BgL_arg1519z00_1623==BgL_keyz00_72))
{ /* Llib/weakhash.scm 369 */
BgL_test4124z00_8479 = ((bool_t)1)
; }  else 
{ /* Llib/weakhash.scm 369 */
if(
STRINGP(BgL_arg1519z00_1623))
{ /* Llib/weakhash.scm 369 */
if(
STRINGP(BgL_keyz00_72))
{ /* Llib/weakhash.scm 369 */
 long BgL_l1z00_3151;
BgL_l1z00_3151 = 
STRING_LENGTH(BgL_arg1519z00_1623); 
if(
(BgL_l1z00_3151==
STRING_LENGTH(BgL_keyz00_72)))
{ /* Llib/weakhash.scm 369 */
 int BgL_arg1926z00_3154;
{ /* Llib/weakhash.scm 369 */
 char * BgL_auxz00_8531; char * BgL_tmpz00_8529;
BgL_auxz00_8531 = 
BSTRING_TO_STRING(BgL_keyz00_72); 
BgL_tmpz00_8529 = 
BSTRING_TO_STRING(BgL_arg1519z00_1623); 
BgL_arg1926z00_3154 = 
memcmp(BgL_tmpz00_8529, BgL_auxz00_8531, BgL_l1z00_3151); } 
BgL_test4124z00_8479 = 
(
(long)(BgL_arg1926z00_3154)==0L); }  else 
{ /* Llib/weakhash.scm 369 */
BgL_test4124z00_8479 = ((bool_t)0)
; } }  else 
{ /* Llib/weakhash.scm 369 */
BgL_test4124z00_8479 = ((bool_t)0)
; } }  else 
{ /* Llib/weakhash.scm 369 */
BgL_test4124z00_8479 = ((bool_t)0)
; } } } } } 
if(BgL_test4124z00_8479)
{ /* Llib/weakhash.scm 369 */
return ((bool_t)1);}  else 
{ /* Llib/weakhash.scm 372 */
 obj_t BgL_arg1518z00_1622;
{ /* Llib/weakhash.scm 372 */
 obj_t BgL_pairz00_3160;
if(
PAIRP(BgL_bucketz00_1616))
{ /* Llib/weakhash.scm 372 */
BgL_pairz00_3160 = BgL_bucketz00_1616; }  else 
{ 
 obj_t BgL_auxz00_8538;
BgL_auxz00_8538 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(14523L), BGl_string3456z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_bucketz00_1616); 
FAILURE(BgL_auxz00_8538,BFALSE,BFALSE);} 
BgL_arg1518z00_1622 = 
CDR(BgL_pairz00_3160); } 
{ 
 obj_t BgL_bucketz00_8543;
BgL_bucketz00_8543 = BgL_arg1518z00_1622; 
BgL_bucketz00_1616 = BgL_bucketz00_8543; 
goto BgL_zc3z04anonymousza31509ze3z87_1617;} } } } } } } } } } 

}



/* weak-old-hashtable-contains? */
bool_t BGl_weakzd2oldzd2hashtablezd2containszf3z21zz__weakhashz00(obj_t BgL_tablez00_73, obj_t BgL_keyz00_74)
{
{ /* Llib/weakhash.scm 377 */
{ /* Llib/weakhash.scm 378 */
 obj_t BgL_bucketsz00_1627;
{ /* Llib/weakhash.scm 378 */
 bool_t BgL_test4136z00_8544;
{ /* Llib/weakhash.scm 378 */
 obj_t BgL_tmpz00_8545;
{ /* Llib/weakhash.scm 378 */
 obj_t BgL_res2252z00_3164;
{ /* Llib/weakhash.scm 378 */
 obj_t BgL_aux2974z00_5209;
BgL_aux2974z00_5209 = 
STRUCT_KEY(BgL_tablez00_73); 
if(
SYMBOLP(BgL_aux2974z00_5209))
{ /* Llib/weakhash.scm 378 */
BgL_res2252z00_3164 = BgL_aux2974z00_5209; }  else 
{ 
 obj_t BgL_auxz00_8549;
BgL_auxz00_8549 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(14841L), BGl_string3523z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux2974z00_5209); 
FAILURE(BgL_auxz00_8549,BFALSE,BFALSE);} } 
BgL_tmpz00_8545 = BgL_res2252z00_3164; } 
BgL_test4136z00_8544 = 
(BgL_tmpz00_8545==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4136z00_8544)
{ /* Llib/weakhash.scm 378 */
 int BgL_tmpz00_8554;
BgL_tmpz00_8554 = 
(int)(2L); 
BgL_bucketsz00_1627 = 
STRUCT_REF(BgL_tablez00_73, BgL_tmpz00_8554); }  else 
{ /* Llib/weakhash.scm 378 */
BgL_bucketsz00_1627 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_73); } } 
{ /* Llib/weakhash.scm 378 */
 long BgL_bucketzd2lenzd2_1628;
{ /* Llib/weakhash.scm 379 */
 obj_t BgL_vectorz00_3165;
if(
VECTORP(BgL_bucketsz00_1627))
{ /* Llib/weakhash.scm 379 */
BgL_vectorz00_3165 = BgL_bucketsz00_1627; }  else 
{ 
 obj_t BgL_auxz00_8560;
BgL_auxz00_8560 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(14899L), BGl_string3523z00zz__weakhashz00, BGl_string3447z00zz__weakhashz00, BgL_bucketsz00_1627); 
FAILURE(BgL_auxz00_8560,BFALSE,BFALSE);} 
BgL_bucketzd2lenzd2_1628 = 
VECTOR_LENGTH(BgL_vectorz00_3165); } 
{ /* Llib/weakhash.scm 379 */
 long BgL_bucketzd2numzd2_1629;
{ /* Llib/weakhash.scm 380 */
 long BgL_arg1525z00_1638;
BgL_arg1525z00_1638 = 
BGl_tablezd2getzd2hashnumberz00zz__weakhashz00(BgL_tablez00_73, BgL_keyz00_74); 
{ /* Llib/weakhash.scm 380 */
 long BgL_n1z00_3166; long BgL_n2z00_3167;
BgL_n1z00_3166 = BgL_arg1525z00_1638; 
BgL_n2z00_3167 = BgL_bucketzd2lenzd2_1628; 
{ /* Llib/weakhash.scm 380 */
 bool_t BgL_test4139z00_8566;
{ /* Llib/weakhash.scm 380 */
 long BgL_arg2034z00_3169;
BgL_arg2034z00_3169 = 
(((BgL_n1z00_3166) | (BgL_n2z00_3167)) & -2147483648); 
BgL_test4139z00_8566 = 
(BgL_arg2034z00_3169==0L); } 
if(BgL_test4139z00_8566)
{ /* Llib/weakhash.scm 380 */
 int32_t BgL_arg2031z00_3170;
{ /* Llib/weakhash.scm 380 */
 int32_t BgL_arg2032z00_3171; int32_t BgL_arg2033z00_3172;
BgL_arg2032z00_3171 = 
(int32_t)(BgL_n1z00_3166); 
BgL_arg2033z00_3172 = 
(int32_t)(BgL_n2z00_3167); 
BgL_arg2031z00_3170 = 
(BgL_arg2032z00_3171%BgL_arg2033z00_3172); } 
{ /* Llib/weakhash.scm 380 */
 long BgL_arg2142z00_3177;
BgL_arg2142z00_3177 = 
(long)(BgL_arg2031z00_3170); 
BgL_bucketzd2numzd2_1629 = 
(long)(BgL_arg2142z00_3177); } }  else 
{ /* Llib/weakhash.scm 380 */
BgL_bucketzd2numzd2_1629 = 
(BgL_n1z00_3166%BgL_n2z00_3167); } } } } 
{ /* Llib/weakhash.scm 380 */
 obj_t BgL_retz00_1630;
{ /* Llib/weakhash.scm 383 */
 obj_t BgL_zc3z04anonymousza31523ze3z87_4488;
{ 
 int BgL_tmpz00_8575;
BgL_tmpz00_8575 = 
(int)(2L); 
BgL_zc3z04anonymousza31523ze3z87_4488 = 
MAKE_L_PROCEDURE(BGl_z62zc3z04anonymousza31523ze3ze5zz__weakhashz00, BgL_tmpz00_8575); } 
PROCEDURE_L_SET(BgL_zc3z04anonymousza31523ze3z87_4488, 
(int)(0L), BgL_tablez00_73); 
PROCEDURE_L_SET(BgL_zc3z04anonymousza31523ze3z87_4488, 
(int)(1L), BgL_keyz00_74); 
BgL_retz00_1630 = 
BGl_traversezd2bucketszd2zz__weakhashz00(BgL_tablez00_73, BgL_bucketsz00_1627, BgL_bucketzd2numzd2_1629, BgL_zc3z04anonymousza31523ze3z87_4488); } 
{ /* Llib/weakhash.scm 381 */

if(
(BgL_retz00_1630==BGl_keepgoingz00zz__weakhashz00))
{ /* Llib/weakhash.scm 386 */
return ((bool_t)0);}  else 
{ /* Llib/weakhash.scm 386 */
return ((bool_t)1);} } } } } } } 

}



/* &<@anonymous:1523> */
obj_t BGl_z62zc3z04anonymousza31523ze3ze5zz__weakhashz00(obj_t BgL_envz00_4489, obj_t BgL_bkeyz00_4492, obj_t BgL_valz00_4493, obj_t BgL_bucketz00_4494)
{
{ /* Llib/weakhash.scm 382 */
{ /* Llib/weakhash.scm 383 */
 obj_t BgL_tablez00_4490; obj_t BgL_keyz00_4491;
BgL_tablez00_4490 = 
((obj_t)
PROCEDURE_L_REF(BgL_envz00_4489, 
(int)(0L))); 
BgL_keyz00_4491 = 
PROCEDURE_L_REF(BgL_envz00_4489, 
(int)(1L)); 
{ /* Llib/weakhash.scm 383 */
 bool_t BgL_test4141z00_8590;
{ /* Llib/weakhash.scm 383 */
 obj_t BgL_eqtz00_5706;
{ /* Llib/weakhash.scm 383 */
 bool_t BgL_test4142z00_8591;
{ /* Llib/weakhash.scm 383 */
 obj_t BgL_tmpz00_8592;
{ /* Llib/weakhash.scm 383 */
 obj_t BgL_res2253z00_5707;
{ /* Llib/weakhash.scm 383 */
 obj_t BgL_aux2978z00_5708;
BgL_aux2978z00_5708 = 
STRUCT_KEY(BgL_tablez00_4490); 
if(
SYMBOLP(BgL_aux2978z00_5708))
{ /* Llib/weakhash.scm 383 */
BgL_res2253z00_5707 = BgL_aux2978z00_5708; }  else 
{ 
 obj_t BgL_auxz00_8596;
BgL_auxz00_8596 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(15075L), BGl_string3524z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux2978z00_5708); 
FAILURE(BgL_auxz00_8596,BFALSE,BFALSE);} } 
BgL_tmpz00_8592 = BgL_res2253z00_5707; } 
BgL_test4142z00_8591 = 
(BgL_tmpz00_8592==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4142z00_8591)
{ /* Llib/weakhash.scm 383 */
 int BgL_tmpz00_8601;
BgL_tmpz00_8601 = 
(int)(3L); 
BgL_eqtz00_5706 = 
STRUCT_REF(BgL_tablez00_4490, BgL_tmpz00_8601); }  else 
{ /* Llib/weakhash.scm 383 */
BgL_eqtz00_5706 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_4490); } } 
if(
PROCEDUREP(BgL_eqtz00_5706))
{ /* Llib/weakhash.scm 383 */
if(
PROCEDURE_CORRECT_ARITYP(BgL_eqtz00_5706, 2L))
{ /* Llib/weakhash.scm 383 */
BgL_test4141z00_8590 = 
CBOOL(
(VA_PROCEDUREP( BgL_eqtz00_5706 ) ? ((obj_t (*)(obj_t, ...))PROCEDURE_ENTRY(BgL_eqtz00_5706))(BgL_eqtz00_5706, BgL_keyz00_4491, BgL_bkeyz00_4492, BEOA) : ((obj_t (*)(obj_t, obj_t, obj_t))PROCEDURE_ENTRY(BgL_eqtz00_5706))(BgL_eqtz00_5706, BgL_keyz00_4491, BgL_bkeyz00_4492) ))
; }  else 
{ /* Llib/weakhash.scm 383 */
FAILURE(BGl_string3525z00zz__weakhashz00,BGl_list3526z00zz__weakhashz00,BgL_eqtz00_5706);} }  else 
{ /* Llib/weakhash.scm 383 */
if(
(BgL_keyz00_4491==BgL_bkeyz00_4492))
{ /* Llib/weakhash.scm 383 */
BgL_test4141z00_8590 = ((bool_t)1)
; }  else 
{ /* Llib/weakhash.scm 383 */
if(
STRINGP(BgL_keyz00_4491))
{ /* Llib/weakhash.scm 383 */
if(
STRINGP(BgL_bkeyz00_4492))
{ /* Llib/weakhash.scm 383 */
 long BgL_l1z00_5709;
BgL_l1z00_5709 = 
STRING_LENGTH(BgL_keyz00_4491); 
if(
(BgL_l1z00_5709==
STRING_LENGTH(BgL_bkeyz00_4492)))
{ /* Llib/weakhash.scm 383 */
 int BgL_arg1926z00_5710;
{ /* Llib/weakhash.scm 383 */
 char * BgL_auxz00_8628; char * BgL_tmpz00_8626;
BgL_auxz00_8628 = 
BSTRING_TO_STRING(BgL_bkeyz00_4492); 
BgL_tmpz00_8626 = 
BSTRING_TO_STRING(BgL_keyz00_4491); 
BgL_arg1926z00_5710 = 
memcmp(BgL_tmpz00_8626, BgL_auxz00_8628, BgL_l1z00_5709); } 
BgL_test4141z00_8590 = 
(
(long)(BgL_arg1926z00_5710)==0L); }  else 
{ /* Llib/weakhash.scm 383 */
BgL_test4141z00_8590 = ((bool_t)0)
; } }  else 
{ /* Llib/weakhash.scm 383 */
BgL_test4141z00_8590 = ((bool_t)0)
; } }  else 
{ /* Llib/weakhash.scm 383 */
BgL_test4141z00_8590 = ((bool_t)0)
; } } } } 
if(BgL_test4141z00_8590)
{ /* Llib/weakhash.scm 383 */
return BTRUE;}  else 
{ /* Llib/weakhash.scm 383 */
return BGl_keepgoingz00zz__weakhashz00;} } } } 

}



/* weak-hashtable-contains? */
BGL_EXPORTED_DEF bool_t BGl_weakzd2hashtablezd2containszf3zf3zz__weakhashz00(obj_t BgL_tablez00_75, obj_t BgL_keyz00_76)
{
{ /* Llib/weakhash.scm 391 */
if(
BGl_hashtablezd2weakzd2keyszf3zf3zz__hashz00(BgL_tablez00_75))
{ /* Llib/weakhash.scm 392 */
BGL_TAIL return 
BGl_weakzd2keyszd2hashtablezd2containszf3z21zz__weakhashz00(BgL_tablez00_75, BgL_keyz00_76);}  else 
{ /* Llib/weakhash.scm 392 */
BGL_TAIL return 
BGl_weakzd2oldzd2hashtablezd2containszf3z21zz__weakhashz00(BgL_tablez00_75, BgL_keyz00_76);} } 

}



/* &weak-hashtable-contains? */
obj_t BGl_z62weakzd2hashtablezd2containszf3z91zz__weakhashz00(obj_t BgL_envz00_4495, obj_t BgL_tablez00_4496, obj_t BgL_keyz00_4497)
{
{ /* Llib/weakhash.scm 391 */
{ /* Llib/weakhash.scm 392 */
 bool_t BgL_tmpz00_8637;
{ /* Llib/weakhash.scm 392 */
 obj_t BgL_auxz00_8638;
if(
STRUCTP(BgL_tablez00_4496))
{ /* Llib/weakhash.scm 392 */
BgL_auxz00_8638 = BgL_tablez00_4496
; }  else 
{ 
 obj_t BgL_auxz00_8641;
BgL_auxz00_8641 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(15453L), BGl_string3529z00zz__weakhashz00, BGl_string3487z00zz__weakhashz00, BgL_tablez00_4496); 
FAILURE(BgL_auxz00_8641,BFALSE,BFALSE);} 
BgL_tmpz00_8637 = 
BGl_weakzd2hashtablezd2containszf3zf3zz__weakhashz00(BgL_auxz00_8638, BgL_keyz00_4497); } 
return 
BBOOL(BgL_tmpz00_8637);} } 

}



/* weak-keys-hashtable-get */
obj_t BGl_weakzd2keyszd2hashtablezd2getzd2zz__weakhashz00(obj_t BgL_tablez00_77, obj_t BgL_keyz00_78)
{
{ /* Llib/weakhash.scm 399 */
{ /* Llib/weakhash.scm 400 */
 obj_t BgL_bucketsz00_1640;
{ /* Llib/weakhash.scm 400 */
 bool_t BgL_test4152z00_8647;
{ /* Llib/weakhash.scm 400 */
 obj_t BgL_tmpz00_8648;
{ /* Llib/weakhash.scm 400 */
 obj_t BgL_res2254z00_3203;
{ /* Llib/weakhash.scm 400 */
 obj_t BgL_aux2983z00_5219;
BgL_aux2983z00_5219 = 
STRUCT_KEY(BgL_tablez00_77); 
if(
SYMBOLP(BgL_aux2983z00_5219))
{ /* Llib/weakhash.scm 400 */
BgL_res2254z00_3203 = BgL_aux2983z00_5219; }  else 
{ 
 obj_t BgL_auxz00_8652;
BgL_auxz00_8652 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(15884L), BGl_string3530z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux2983z00_5219); 
FAILURE(BgL_auxz00_8652,BFALSE,BFALSE);} } 
BgL_tmpz00_8648 = BgL_res2254z00_3203; } 
BgL_test4152z00_8647 = 
(BgL_tmpz00_8648==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4152z00_8647)
{ /* Llib/weakhash.scm 400 */
 int BgL_tmpz00_8657;
BgL_tmpz00_8657 = 
(int)(2L); 
BgL_bucketsz00_1640 = 
STRUCT_REF(BgL_tablez00_77, BgL_tmpz00_8657); }  else 
{ /* Llib/weakhash.scm 400 */
BgL_bucketsz00_1640 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_77); } } 
{ /* Llib/weakhash.scm 400 */
 long BgL_bucketzd2lenzd2_1641;
{ /* Llib/weakhash.scm 401 */
 obj_t BgL_vectorz00_3204;
if(
VECTORP(BgL_bucketsz00_1640))
{ /* Llib/weakhash.scm 401 */
BgL_vectorz00_3204 = BgL_bucketsz00_1640; }  else 
{ 
 obj_t BgL_auxz00_8663;
BgL_auxz00_8663 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(15942L), BGl_string3530z00zz__weakhashz00, BGl_string3447z00zz__weakhashz00, BgL_bucketsz00_1640); 
FAILURE(BgL_auxz00_8663,BFALSE,BFALSE);} 
BgL_bucketzd2lenzd2_1641 = 
VECTOR_LENGTH(BgL_vectorz00_3204); } 
{ /* Llib/weakhash.scm 401 */
 long BgL_bucketzd2numzd2_1642;
{ /* Llib/weakhash.scm 402 */
 long BgL_arg1542z00_1656;
BgL_arg1542z00_1656 = 
BGl_tablezd2getzd2hashnumberz00zz__weakhashz00(BgL_tablez00_77, BgL_keyz00_78); 
{ /* Llib/weakhash.scm 402 */
 long BgL_n1z00_3205; long BgL_n2z00_3206;
BgL_n1z00_3205 = BgL_arg1542z00_1656; 
BgL_n2z00_3206 = BgL_bucketzd2lenzd2_1641; 
{ /* Llib/weakhash.scm 402 */
 bool_t BgL_test4155z00_8669;
{ /* Llib/weakhash.scm 402 */
 long BgL_arg2034z00_3208;
BgL_arg2034z00_3208 = 
(((BgL_n1z00_3205) | (BgL_n2z00_3206)) & -2147483648); 
BgL_test4155z00_8669 = 
(BgL_arg2034z00_3208==0L); } 
if(BgL_test4155z00_8669)
{ /* Llib/weakhash.scm 402 */
 int32_t BgL_arg2031z00_3209;
{ /* Llib/weakhash.scm 402 */
 int32_t BgL_arg2032z00_3210; int32_t BgL_arg2033z00_3211;
BgL_arg2032z00_3210 = 
(int32_t)(BgL_n1z00_3205); 
BgL_arg2033z00_3211 = 
(int32_t)(BgL_n2z00_3206); 
BgL_arg2031z00_3209 = 
(BgL_arg2032z00_3210%BgL_arg2033z00_3211); } 
{ /* Llib/weakhash.scm 402 */
 long BgL_arg2142z00_3216;
BgL_arg2142z00_3216 = 
(long)(BgL_arg2031z00_3209); 
BgL_bucketzd2numzd2_1642 = 
(long)(BgL_arg2142z00_3216); } }  else 
{ /* Llib/weakhash.scm 402 */
BgL_bucketzd2numzd2_1642 = 
(BgL_n1z00_3205%BgL_n2z00_3206); } } } } 
{ /* Llib/weakhash.scm 402 */
 obj_t BgL_bucketz00_1643;
{ /* Llib/weakhash.scm 403 */
 obj_t BgL_vectorz00_3218;
if(
VECTORP(BgL_bucketsz00_1640))
{ /* Llib/weakhash.scm 403 */
BgL_vectorz00_3218 = BgL_bucketsz00_1640; }  else 
{ 
 obj_t BgL_auxz00_8680;
BgL_auxz00_8680 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(16049L), BGl_string3530z00zz__weakhashz00, BGl_string3447z00zz__weakhashz00, BgL_bucketsz00_1640); 
FAILURE(BgL_auxz00_8680,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 403 */
 bool_t BgL_test4157z00_8684;
{ /* Llib/weakhash.scm 403 */
 long BgL_tmpz00_8685;
BgL_tmpz00_8685 = 
VECTOR_LENGTH(BgL_vectorz00_3218); 
BgL_test4157z00_8684 = 
BOUND_CHECK(BgL_bucketzd2numzd2_1642, BgL_tmpz00_8685); } 
if(BgL_test4157z00_8684)
{ /* Llib/weakhash.scm 403 */
BgL_bucketz00_1643 = 
VECTOR_REF(BgL_vectorz00_3218,BgL_bucketzd2numzd2_1642); }  else 
{ 
 obj_t BgL_auxz00_8689;
BgL_auxz00_8689 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(16037L), BGl_string3448z00zz__weakhashz00, BgL_vectorz00_3218, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_3218)), 
(int)(BgL_bucketzd2numzd2_1642)); 
FAILURE(BgL_auxz00_8689,BFALSE,BFALSE);} } } 
{ /* Llib/weakhash.scm 403 */

{ 
 obj_t BgL_bucketz00_1645;
BgL_bucketz00_1645 = BgL_bucketz00_1643; 
BgL_zc3z04anonymousza31527ze3z87_1646:
if(
NULLP(BgL_bucketz00_1645))
{ /* Llib/weakhash.scm 406 */
return BFALSE;}  else 
{ /* Llib/weakhash.scm 408 */
 bool_t BgL_test4159z00_8698;
{ /* Llib/weakhash.scm 408 */
 obj_t BgL_arg1536z00_1653;
{ /* Llib/weakhash.scm 408 */
 obj_t BgL_arg1541z00_1654;
{ /* Llib/weakhash.scm 408 */
 obj_t BgL_pairz00_3220;
if(
PAIRP(BgL_bucketz00_1645))
{ /* Llib/weakhash.scm 408 */
BgL_pairz00_3220 = BgL_bucketz00_1645; }  else 
{ 
 obj_t BgL_auxz00_8701;
BgL_auxz00_8701 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(16193L), BGl_string3456z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_bucketz00_1645); 
FAILURE(BgL_auxz00_8701,BFALSE,BFALSE);} 
BgL_arg1541z00_1654 = 
CAR(BgL_pairz00_3220); } 
{ /* Llib/weakhash.scm 408 */
 obj_t BgL_objz00_3221;
if(
BGL_WEAKPTRP(BgL_arg1541z00_1654))
{ /* Llib/weakhash.scm 408 */
BgL_objz00_3221 = BgL_arg1541z00_1654; }  else 
{ 
 obj_t BgL_auxz00_8708;
BgL_auxz00_8708 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(16199L), BGl_string3456z00zz__weakhashz00, BGl_string3451z00zz__weakhashz00, BgL_arg1541z00_1654); 
FAILURE(BgL_auxz00_8708,BFALSE,BFALSE);} 
BgL_arg1536z00_1653 = 
bgl_weakptr_data(BgL_objz00_3221); } } 
{ /* Llib/weakhash.scm 408 */
 obj_t BgL_eqtz00_3222;
{ /* Llib/weakhash.scm 408 */
 bool_t BgL_test4162z00_8713;
{ /* Llib/weakhash.scm 408 */
 obj_t BgL_tmpz00_8714;
{ /* Llib/weakhash.scm 408 */
 obj_t BgL_res2255z00_3229;
{ /* Llib/weakhash.scm 408 */
 obj_t BgL_aux2993z00_5229;
BgL_aux2993z00_5229 = 
STRUCT_KEY(BgL_tablez00_77); 
if(
SYMBOLP(BgL_aux2993z00_5229))
{ /* Llib/weakhash.scm 408 */
BgL_res2255z00_3229 = BgL_aux2993z00_5229; }  else 
{ 
 obj_t BgL_auxz00_8718;
BgL_auxz00_8718 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(16150L), BGl_string3456z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux2993z00_5229); 
FAILURE(BgL_auxz00_8718,BFALSE,BFALSE);} } 
BgL_tmpz00_8714 = BgL_res2255z00_3229; } 
BgL_test4162z00_8713 = 
(BgL_tmpz00_8714==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4162z00_8713)
{ /* Llib/weakhash.scm 408 */
 int BgL_tmpz00_8723;
BgL_tmpz00_8723 = 
(int)(3L); 
BgL_eqtz00_3222 = 
STRUCT_REF(BgL_tablez00_77, BgL_tmpz00_8723); }  else 
{ /* Llib/weakhash.scm 408 */
BgL_eqtz00_3222 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_77); } } 
if(
PROCEDUREP(BgL_eqtz00_3222))
{ /* Llib/weakhash.scm 408 */
if(
PROCEDURE_CORRECT_ARITYP(BgL_eqtz00_3222, 2L))
{ /* Llib/weakhash.scm 408 */
BgL_test4159z00_8698 = 
CBOOL(
(VA_PROCEDUREP( BgL_eqtz00_3222 ) ? ((obj_t (*)(obj_t, ...))PROCEDURE_ENTRY(BgL_eqtz00_3222))(BgL_eqtz00_3222, BgL_arg1536z00_1653, BgL_keyz00_78, BEOA) : ((obj_t (*)(obj_t, obj_t, obj_t))PROCEDURE_ENTRY(BgL_eqtz00_3222))(BgL_eqtz00_3222, BgL_arg1536z00_1653, BgL_keyz00_78) ))
; }  else 
{ /* Llib/weakhash.scm 408 */
FAILURE(BGl_string3517z00zz__weakhashz00,BGl_list3531z00zz__weakhashz00,BgL_eqtz00_3222);} }  else 
{ /* Llib/weakhash.scm 408 */
if(
(BgL_arg1536z00_1653==BgL_keyz00_78))
{ /* Llib/weakhash.scm 408 */
BgL_test4159z00_8698 = ((bool_t)1)
; }  else 
{ /* Llib/weakhash.scm 408 */
if(
STRINGP(BgL_arg1536z00_1653))
{ /* Llib/weakhash.scm 408 */
if(
STRINGP(BgL_keyz00_78))
{ /* Llib/weakhash.scm 408 */
 long BgL_l1z00_3232;
BgL_l1z00_3232 = 
STRING_LENGTH(BgL_arg1536z00_1653); 
if(
(BgL_l1z00_3232==
STRING_LENGTH(BgL_keyz00_78)))
{ /* Llib/weakhash.scm 408 */
 int BgL_arg1926z00_3235;
{ /* Llib/weakhash.scm 408 */
 char * BgL_auxz00_8750; char * BgL_tmpz00_8748;
BgL_auxz00_8750 = 
BSTRING_TO_STRING(BgL_keyz00_78); 
BgL_tmpz00_8748 = 
BSTRING_TO_STRING(BgL_arg1536z00_1653); 
BgL_arg1926z00_3235 = 
memcmp(BgL_tmpz00_8748, BgL_auxz00_8750, BgL_l1z00_3232); } 
BgL_test4159z00_8698 = 
(
(long)(BgL_arg1926z00_3235)==0L); }  else 
{ /* Llib/weakhash.scm 408 */
BgL_test4159z00_8698 = ((bool_t)0)
; } }  else 
{ /* Llib/weakhash.scm 408 */
BgL_test4159z00_8698 = ((bool_t)0)
; } }  else 
{ /* Llib/weakhash.scm 408 */
BgL_test4159z00_8698 = ((bool_t)0)
; } } } } } 
if(BgL_test4159z00_8698)
{ /* Llib/weakhash.scm 409 */
 obj_t BgL_arg1534z00_1651;
{ /* Llib/weakhash.scm 409 */
 obj_t BgL_pairz00_3241;
if(
PAIRP(BgL_bucketz00_1645))
{ /* Llib/weakhash.scm 409 */
BgL_pairz00_3241 = BgL_bucketz00_1645; }  else 
{ 
 obj_t BgL_auxz00_8757;
BgL_auxz00_8757 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(16231L), BGl_string3456z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_bucketz00_1645); 
FAILURE(BgL_auxz00_8757,BFALSE,BFALSE);} 
BgL_arg1534z00_1651 = 
CAR(BgL_pairz00_3241); } 
{ /* Llib/weakhash.scm 409 */
 obj_t BgL_objz00_3242;
if(
BGL_WEAKPTRP(BgL_arg1534z00_1651))
{ /* Llib/weakhash.scm 409 */
BgL_objz00_3242 = BgL_arg1534z00_1651; }  else 
{ 
 obj_t BgL_auxz00_8764;
BgL_auxz00_8764 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(16237L), BGl_string3456z00zz__weakhashz00, BGl_string3451z00zz__weakhashz00, BgL_arg1534z00_1651); 
FAILURE(BgL_auxz00_8764,BFALSE,BFALSE);} 
return 
bgl_weakptr_ref(BgL_objz00_3242);} }  else 
{ /* Llib/weakhash.scm 411 */
 obj_t BgL_arg1535z00_1652;
{ /* Llib/weakhash.scm 411 */
 obj_t BgL_pairz00_3243;
if(
PAIRP(BgL_bucketz00_1645))
{ /* Llib/weakhash.scm 411 */
BgL_pairz00_3243 = BgL_bucketz00_1645; }  else 
{ 
 obj_t BgL_auxz00_8771;
BgL_auxz00_8771 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(16269L), BGl_string3456z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_bucketz00_1645); 
FAILURE(BgL_auxz00_8771,BFALSE,BFALSE);} 
BgL_arg1535z00_1652 = 
CDR(BgL_pairz00_3243); } 
{ 
 obj_t BgL_bucketz00_8776;
BgL_bucketz00_8776 = BgL_arg1535z00_1652; 
BgL_bucketz00_1645 = BgL_bucketz00_8776; 
goto BgL_zc3z04anonymousza31527ze3z87_1646;} } } } } } } } } } 

}



/* weak-old-hashtable-get */
obj_t BGl_weakzd2oldzd2hashtablezd2getzd2zz__weakhashz00(obj_t BgL_tablez00_79, obj_t BgL_keyz00_80)
{
{ /* Llib/weakhash.scm 416 */
{ /* Llib/weakhash.scm 417 */
 obj_t BgL_bucketsz00_1657;
{ /* Llib/weakhash.scm 417 */
 bool_t BgL_test4173z00_8777;
{ /* Llib/weakhash.scm 417 */
 obj_t BgL_tmpz00_8778;
{ /* Llib/weakhash.scm 417 */
 obj_t BgL_res2256z00_3247;
{ /* Llib/weakhash.scm 417 */
 obj_t BgL_aux3002z00_5239;
BgL_aux3002z00_5239 = 
STRUCT_KEY(BgL_tablez00_79); 
if(
SYMBOLP(BgL_aux3002z00_5239))
{ /* Llib/weakhash.scm 417 */
BgL_res2256z00_3247 = BgL_aux3002z00_5239; }  else 
{ 
 obj_t BgL_auxz00_8782;
BgL_auxz00_8782 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(16581L), BGl_string3534z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3002z00_5239); 
FAILURE(BgL_auxz00_8782,BFALSE,BFALSE);} } 
BgL_tmpz00_8778 = BgL_res2256z00_3247; } 
BgL_test4173z00_8777 = 
(BgL_tmpz00_8778==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4173z00_8777)
{ /* Llib/weakhash.scm 417 */
 int BgL_tmpz00_8787;
BgL_tmpz00_8787 = 
(int)(2L); 
BgL_bucketsz00_1657 = 
STRUCT_REF(BgL_tablez00_79, BgL_tmpz00_8787); }  else 
{ /* Llib/weakhash.scm 417 */
BgL_bucketsz00_1657 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_79); } } 
{ /* Llib/weakhash.scm 417 */
 long BgL_bucketzd2lenzd2_1658;
{ /* Llib/weakhash.scm 418 */
 obj_t BgL_vectorz00_3248;
if(
VECTORP(BgL_bucketsz00_1657))
{ /* Llib/weakhash.scm 418 */
BgL_vectorz00_3248 = BgL_bucketsz00_1657; }  else 
{ 
 obj_t BgL_auxz00_8793;
BgL_auxz00_8793 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(16639L), BGl_string3534z00zz__weakhashz00, BGl_string3447z00zz__weakhashz00, BgL_bucketsz00_1657); 
FAILURE(BgL_auxz00_8793,BFALSE,BFALSE);} 
BgL_bucketzd2lenzd2_1658 = 
VECTOR_LENGTH(BgL_vectorz00_3248); } 
{ /* Llib/weakhash.scm 418 */
 long BgL_bucketzd2numzd2_1659;
{ /* Llib/weakhash.scm 419 */
 long BgL_arg1547z00_1668;
BgL_arg1547z00_1668 = 
BGl_tablezd2getzd2hashnumberz00zz__weakhashz00(BgL_tablez00_79, BgL_keyz00_80); 
{ /* Llib/weakhash.scm 419 */
 long BgL_n1z00_3249; long BgL_n2z00_3250;
BgL_n1z00_3249 = BgL_arg1547z00_1668; 
BgL_n2z00_3250 = BgL_bucketzd2lenzd2_1658; 
{ /* Llib/weakhash.scm 419 */
 bool_t BgL_test4176z00_8799;
{ /* Llib/weakhash.scm 419 */
 long BgL_arg2034z00_3252;
BgL_arg2034z00_3252 = 
(((BgL_n1z00_3249) | (BgL_n2z00_3250)) & -2147483648); 
BgL_test4176z00_8799 = 
(BgL_arg2034z00_3252==0L); } 
if(BgL_test4176z00_8799)
{ /* Llib/weakhash.scm 419 */
 int32_t BgL_arg2031z00_3253;
{ /* Llib/weakhash.scm 419 */
 int32_t BgL_arg2032z00_3254; int32_t BgL_arg2033z00_3255;
BgL_arg2032z00_3254 = 
(int32_t)(BgL_n1z00_3249); 
BgL_arg2033z00_3255 = 
(int32_t)(BgL_n2z00_3250); 
BgL_arg2031z00_3253 = 
(BgL_arg2032z00_3254%BgL_arg2033z00_3255); } 
{ /* Llib/weakhash.scm 419 */
 long BgL_arg2142z00_3260;
BgL_arg2142z00_3260 = 
(long)(BgL_arg2031z00_3253); 
BgL_bucketzd2numzd2_1659 = 
(long)(BgL_arg2142z00_3260); } }  else 
{ /* Llib/weakhash.scm 419 */
BgL_bucketzd2numzd2_1659 = 
(BgL_n1z00_3249%BgL_n2z00_3250); } } } } 
{ /* Llib/weakhash.scm 419 */
 obj_t BgL_retz00_1660;
{ /* Llib/weakhash.scm 422 */
 obj_t BgL_zc3z04anonymousza31545ze3z87_4498;
{ 
 int BgL_tmpz00_8808;
BgL_tmpz00_8808 = 
(int)(2L); 
BgL_zc3z04anonymousza31545ze3z87_4498 = 
MAKE_L_PROCEDURE(BGl_z62zc3z04anonymousza31545ze3ze5zz__weakhashz00, BgL_tmpz00_8808); } 
PROCEDURE_L_SET(BgL_zc3z04anonymousza31545ze3z87_4498, 
(int)(0L), BgL_tablez00_79); 
PROCEDURE_L_SET(BgL_zc3z04anonymousza31545ze3z87_4498, 
(int)(1L), BgL_keyz00_80); 
BgL_retz00_1660 = 
BGl_traversezd2bucketszd2zz__weakhashz00(BgL_tablez00_79, BgL_bucketsz00_1657, BgL_bucketzd2numzd2_1659, BgL_zc3z04anonymousza31545ze3z87_4498); } 
{ /* Llib/weakhash.scm 420 */

if(
(BgL_retz00_1660==BGl_keepgoingz00zz__weakhashz00))
{ /* Llib/weakhash.scm 425 */
return BFALSE;}  else 
{ /* Llib/weakhash.scm 425 */
return BgL_retz00_1660;} } } } } } } 

}



/* &<@anonymous:1545> */
obj_t BGl_z62zc3z04anonymousza31545ze3ze5zz__weakhashz00(obj_t BgL_envz00_4499, obj_t BgL_bkeyz00_4502, obj_t BgL_valz00_4503, obj_t BgL_bucketz00_4504)
{
{ /* Llib/weakhash.scm 421 */
{ /* Llib/weakhash.scm 422 */
 obj_t BgL_tablez00_4500; obj_t BgL_keyz00_4501;
BgL_tablez00_4500 = 
((obj_t)
PROCEDURE_L_REF(BgL_envz00_4499, 
(int)(0L))); 
BgL_keyz00_4501 = 
PROCEDURE_L_REF(BgL_envz00_4499, 
(int)(1L)); 
{ /* Llib/weakhash.scm 422 */
 bool_t BgL_test4178z00_8823;
{ /* Llib/weakhash.scm 422 */
 obj_t BgL_eqtz00_5711;
{ /* Llib/weakhash.scm 422 */
 bool_t BgL_test4179z00_8824;
{ /* Llib/weakhash.scm 422 */
 obj_t BgL_tmpz00_8825;
{ /* Llib/weakhash.scm 422 */
 obj_t BgL_res2257z00_5712;
{ /* Llib/weakhash.scm 422 */
 obj_t BgL_aux3006z00_5713;
BgL_aux3006z00_5713 = 
STRUCT_KEY(BgL_tablez00_4500); 
if(
SYMBOLP(BgL_aux3006z00_5713))
{ /* Llib/weakhash.scm 422 */
BgL_res2257z00_5712 = BgL_aux3006z00_5713; }  else 
{ 
 obj_t BgL_auxz00_8829;
BgL_auxz00_8829 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(16815L), BGl_string3535z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3006z00_5713); 
FAILURE(BgL_auxz00_8829,BFALSE,BFALSE);} } 
BgL_tmpz00_8825 = BgL_res2257z00_5712; } 
BgL_test4179z00_8824 = 
(BgL_tmpz00_8825==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4179z00_8824)
{ /* Llib/weakhash.scm 422 */
 int BgL_tmpz00_8834;
BgL_tmpz00_8834 = 
(int)(3L); 
BgL_eqtz00_5711 = 
STRUCT_REF(BgL_tablez00_4500, BgL_tmpz00_8834); }  else 
{ /* Llib/weakhash.scm 422 */
BgL_eqtz00_5711 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_4500); } } 
if(
PROCEDUREP(BgL_eqtz00_5711))
{ /* Llib/weakhash.scm 422 */
if(
PROCEDURE_CORRECT_ARITYP(BgL_eqtz00_5711, 2L))
{ /* Llib/weakhash.scm 422 */
BgL_test4178z00_8823 = 
CBOOL(
(VA_PROCEDUREP( BgL_eqtz00_5711 ) ? ((obj_t (*)(obj_t, ...))PROCEDURE_ENTRY(BgL_eqtz00_5711))(BgL_eqtz00_5711, BgL_keyz00_4501, BgL_bkeyz00_4502, BEOA) : ((obj_t (*)(obj_t, obj_t, obj_t))PROCEDURE_ENTRY(BgL_eqtz00_5711))(BgL_eqtz00_5711, BgL_keyz00_4501, BgL_bkeyz00_4502) ))
; }  else 
{ /* Llib/weakhash.scm 422 */
FAILURE(BGl_string3536z00zz__weakhashz00,BGl_list3526z00zz__weakhashz00,BgL_eqtz00_5711);} }  else 
{ /* Llib/weakhash.scm 422 */
if(
(BgL_keyz00_4501==BgL_bkeyz00_4502))
{ /* Llib/weakhash.scm 422 */
BgL_test4178z00_8823 = ((bool_t)1)
; }  else 
{ /* Llib/weakhash.scm 422 */
if(
STRINGP(BgL_keyz00_4501))
{ /* Llib/weakhash.scm 422 */
if(
STRINGP(BgL_bkeyz00_4502))
{ /* Llib/weakhash.scm 422 */
 long BgL_l1z00_5714;
BgL_l1z00_5714 = 
STRING_LENGTH(BgL_keyz00_4501); 
if(
(BgL_l1z00_5714==
STRING_LENGTH(BgL_bkeyz00_4502)))
{ /* Llib/weakhash.scm 422 */
 int BgL_arg1926z00_5715;
{ /* Llib/weakhash.scm 422 */
 char * BgL_auxz00_8861; char * BgL_tmpz00_8859;
BgL_auxz00_8861 = 
BSTRING_TO_STRING(BgL_bkeyz00_4502); 
BgL_tmpz00_8859 = 
BSTRING_TO_STRING(BgL_keyz00_4501); 
BgL_arg1926z00_5715 = 
memcmp(BgL_tmpz00_8859, BgL_auxz00_8861, BgL_l1z00_5714); } 
BgL_test4178z00_8823 = 
(
(long)(BgL_arg1926z00_5715)==0L); }  else 
{ /* Llib/weakhash.scm 422 */
BgL_test4178z00_8823 = ((bool_t)0)
; } }  else 
{ /* Llib/weakhash.scm 422 */
BgL_test4178z00_8823 = ((bool_t)0)
; } }  else 
{ /* Llib/weakhash.scm 422 */
BgL_test4178z00_8823 = ((bool_t)0)
; } } } } 
if(BgL_test4178z00_8823)
{ /* Llib/weakhash.scm 422 */
return BgL_valz00_4503;}  else 
{ /* Llib/weakhash.scm 422 */
return BGl_keepgoingz00zz__weakhashz00;} } } } 

}



/* weak-hashtable-get */
BGL_EXPORTED_DEF obj_t BGl_weakzd2hashtablezd2getz00zz__weakhashz00(obj_t BgL_tablez00_81, obj_t BgL_keyz00_82)
{
{ /* Llib/weakhash.scm 432 */
if(
BGl_hashtablezd2weakzd2keyszf3zf3zz__hashz00(BgL_tablez00_81))
{ /* Llib/weakhash.scm 433 */
BGL_TAIL return 
BGl_weakzd2keyszd2hashtablezd2getzd2zz__weakhashz00(BgL_tablez00_81, BgL_keyz00_82);}  else 
{ /* Llib/weakhash.scm 433 */
BGL_TAIL return 
BGl_weakzd2oldzd2hashtablezd2getzd2zz__weakhashz00(BgL_tablez00_81, BgL_keyz00_82);} } 

}



/* &weak-hashtable-get */
obj_t BGl_z62weakzd2hashtablezd2getz62zz__weakhashz00(obj_t BgL_envz00_4505, obj_t BgL_tablez00_4506, obj_t BgL_keyz00_4507)
{
{ /* Llib/weakhash.scm 432 */
{ /* Llib/weakhash.scm 433 */
 obj_t BgL_auxz00_8870;
if(
STRUCTP(BgL_tablez00_4506))
{ /* Llib/weakhash.scm 433 */
BgL_auxz00_8870 = BgL_tablez00_4506
; }  else 
{ 
 obj_t BgL_auxz00_8873;
BgL_auxz00_8873 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(17200L), BGl_string3537z00zz__weakhashz00, BGl_string3487z00zz__weakhashz00, BgL_tablez00_4506); 
FAILURE(BgL_auxz00_8873,BFALSE,BFALSE);} 
return 
BGl_weakzd2hashtablezd2getz00zz__weakhashz00(BgL_auxz00_8870, BgL_keyz00_4507);} } 

}



/* weak-keys-hashtable-put! */
obj_t BGl_weakzd2keyszd2hashtablezd2putz12zc0zz__weakhashz00(obj_t BgL_tablez00_83, obj_t BgL_keyz00_84, obj_t BgL_objz00_85)
{
{ /* Llib/weakhash.scm 440 */
{ /* Llib/weakhash.scm 441 */
 obj_t BgL_bucketsz00_1670;
{ /* Llib/weakhash.scm 441 */
 bool_t BgL_test4189z00_8878;
{ /* Llib/weakhash.scm 441 */
 obj_t BgL_tmpz00_8879;
{ /* Llib/weakhash.scm 441 */
 obj_t BgL_res2258z00_3286;
{ /* Llib/weakhash.scm 441 */
 obj_t BgL_aux3011z00_5249;
BgL_aux3011z00_5249 = 
STRUCT_KEY(BgL_tablez00_83); 
if(
SYMBOLP(BgL_aux3011z00_5249))
{ /* Llib/weakhash.scm 441 */
BgL_res2258z00_3286 = BgL_aux3011z00_5249; }  else 
{ 
 obj_t BgL_auxz00_8883;
BgL_auxz00_8883 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(17632L), BGl_string3538z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3011z00_5249); 
FAILURE(BgL_auxz00_8883,BFALSE,BFALSE);} } 
BgL_tmpz00_8879 = BgL_res2258z00_3286; } 
BgL_test4189z00_8878 = 
(BgL_tmpz00_8879==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4189z00_8878)
{ /* Llib/weakhash.scm 441 */
 int BgL_tmpz00_8888;
BgL_tmpz00_8888 = 
(int)(2L); 
BgL_bucketsz00_1670 = 
STRUCT_REF(BgL_tablez00_83, BgL_tmpz00_8888); }  else 
{ /* Llib/weakhash.scm 441 */
BgL_bucketsz00_1670 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_83); } } 
{ /* Llib/weakhash.scm 441 */
 long BgL_bucketzd2lenzd2_1671;
{ /* Llib/weakhash.scm 442 */
 obj_t BgL_vectorz00_3287;
if(
VECTORP(BgL_bucketsz00_1670))
{ /* Llib/weakhash.scm 442 */
BgL_vectorz00_3287 = BgL_bucketsz00_1670; }  else 
{ 
 obj_t BgL_auxz00_8894;
BgL_auxz00_8894 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(17690L), BGl_string3538z00zz__weakhashz00, BGl_string3447z00zz__weakhashz00, BgL_bucketsz00_1670); 
FAILURE(BgL_auxz00_8894,BFALSE,BFALSE);} 
BgL_bucketzd2lenzd2_1671 = 
VECTOR_LENGTH(BgL_vectorz00_3287); } 
{ /* Llib/weakhash.scm 442 */
 long BgL_bucketzd2numzd2_1672;
{ /* Llib/weakhash.scm 443 */
 long BgL_arg1581z00_1702;
BgL_arg1581z00_1702 = 
BGl_tablezd2getzd2hashnumberz00zz__weakhashz00(BgL_tablez00_83, BgL_keyz00_84); 
{ /* Llib/weakhash.scm 443 */
 long BgL_n1z00_3288; long BgL_n2z00_3289;
BgL_n1z00_3288 = BgL_arg1581z00_1702; 
BgL_n2z00_3289 = BgL_bucketzd2lenzd2_1671; 
{ /* Llib/weakhash.scm 443 */
 bool_t BgL_test4192z00_8900;
{ /* Llib/weakhash.scm 443 */
 long BgL_arg2034z00_3291;
BgL_arg2034z00_3291 = 
(((BgL_n1z00_3288) | (BgL_n2z00_3289)) & -2147483648); 
BgL_test4192z00_8900 = 
(BgL_arg2034z00_3291==0L); } 
if(BgL_test4192z00_8900)
{ /* Llib/weakhash.scm 443 */
 int32_t BgL_arg2031z00_3292;
{ /* Llib/weakhash.scm 443 */
 int32_t BgL_arg2032z00_3293; int32_t BgL_arg2033z00_3294;
BgL_arg2032z00_3293 = 
(int32_t)(BgL_n1z00_3288); 
BgL_arg2033z00_3294 = 
(int32_t)(BgL_n2z00_3289); 
BgL_arg2031z00_3292 = 
(BgL_arg2032z00_3293%BgL_arg2033z00_3294); } 
{ /* Llib/weakhash.scm 443 */
 long BgL_arg2142z00_3299;
BgL_arg2142z00_3299 = 
(long)(BgL_arg2031z00_3292); 
BgL_bucketzd2numzd2_1672 = 
(long)(BgL_arg2142z00_3299); } }  else 
{ /* Llib/weakhash.scm 443 */
BgL_bucketzd2numzd2_1672 = 
(BgL_n1z00_3288%BgL_n2z00_3289); } } } } 
{ /* Llib/weakhash.scm 443 */
 obj_t BgL_bucketz00_1673;
{ /* Llib/weakhash.scm 444 */
 obj_t BgL_vectorz00_3301;
if(
VECTORP(BgL_bucketsz00_1670))
{ /* Llib/weakhash.scm 444 */
BgL_vectorz00_3301 = BgL_bucketsz00_1670; }  else 
{ 
 obj_t BgL_auxz00_8911;
BgL_auxz00_8911 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(17800L), BGl_string3538z00zz__weakhashz00, BGl_string3447z00zz__weakhashz00, BgL_bucketsz00_1670); 
FAILURE(BgL_auxz00_8911,BFALSE,BFALSE);} 
BgL_bucketz00_1673 = 
VECTOR_REF(BgL_vectorz00_3301,BgL_bucketzd2numzd2_1672); } 
{ /* Llib/weakhash.scm 444 */
 obj_t BgL_maxzd2bucketzd2lenz00_1674;
{ /* Llib/weakhash.scm 445 */
 bool_t BgL_test4194z00_8916;
{ /* Llib/weakhash.scm 445 */
 obj_t BgL_tmpz00_8917;
{ /* Llib/weakhash.scm 445 */
 obj_t BgL_res2259z00_3306;
{ /* Llib/weakhash.scm 445 */
 obj_t BgL_aux3017z00_5255;
BgL_aux3017z00_5255 = 
STRUCT_KEY(BgL_tablez00_83); 
if(
SYMBOLP(BgL_aux3017z00_5255))
{ /* Llib/weakhash.scm 445 */
BgL_res2259z00_3306 = BgL_aux3017z00_5255; }  else 
{ 
 obj_t BgL_auxz00_8921;
BgL_auxz00_8921 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(17840L), BGl_string3538z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3017z00_5255); 
FAILURE(BgL_auxz00_8921,BFALSE,BFALSE);} } 
BgL_tmpz00_8917 = BgL_res2259z00_3306; } 
BgL_test4194z00_8916 = 
(BgL_tmpz00_8917==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4194z00_8916)
{ /* Llib/weakhash.scm 445 */
 int BgL_tmpz00_8926;
BgL_tmpz00_8926 = 
(int)(1L); 
BgL_maxzd2bucketzd2lenz00_1674 = 
STRUCT_REF(BgL_tablez00_83, BgL_tmpz00_8926); }  else 
{ /* Llib/weakhash.scm 445 */
BgL_maxzd2bucketzd2lenz00_1674 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_83); } } 
{ /* Llib/weakhash.scm 445 */

if(
NULLP(BgL_bucketz00_1673))
{ /* Llib/weakhash.scm 446 */
{ /* Llib/weakhash.scm 448 */
 long BgL_arg1550z00_1676;
{ /* Llib/weakhash.scm 448 */
 obj_t BgL_arg1552z00_1677;
{ /* Llib/weakhash.scm 448 */
 bool_t BgL_test4197z00_8932;
{ /* Llib/weakhash.scm 448 */
 obj_t BgL_tmpz00_8933;
{ /* Llib/weakhash.scm 448 */
 obj_t BgL_res2260z00_3310;
{ /* Llib/weakhash.scm 448 */
 obj_t BgL_aux3019z00_5257;
BgL_aux3019z00_5257 = 
STRUCT_KEY(BgL_tablez00_83); 
if(
SYMBOLP(BgL_aux3019z00_5257))
{ /* Llib/weakhash.scm 448 */
BgL_res2260z00_3310 = BgL_aux3019z00_5257; }  else 
{ 
 obj_t BgL_auxz00_8937;
BgL_auxz00_8937 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(17950L), BGl_string3538z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3019z00_5257); 
FAILURE(BgL_auxz00_8937,BFALSE,BFALSE);} } 
BgL_tmpz00_8933 = BgL_res2260z00_3310; } 
BgL_test4197z00_8932 = 
(BgL_tmpz00_8933==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4197z00_8932)
{ /* Llib/weakhash.scm 448 */
 int BgL_tmpz00_8942;
BgL_tmpz00_8942 = 
(int)(0L); 
BgL_arg1552z00_1677 = 
STRUCT_REF(BgL_tablez00_83, BgL_tmpz00_8942); }  else 
{ /* Llib/weakhash.scm 448 */
BgL_arg1552z00_1677 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_83); } } 
{ /* Llib/weakhash.scm 448 */
 long BgL_za71za7_3311;
{ /* Llib/weakhash.scm 448 */
 obj_t BgL_tmpz00_8946;
if(
INTEGERP(BgL_arg1552z00_1677))
{ /* Llib/weakhash.scm 448 */
BgL_tmpz00_8946 = BgL_arg1552z00_1677
; }  else 
{ 
 obj_t BgL_auxz00_8949;
BgL_auxz00_8949 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(17972L), BGl_string3538z00zz__weakhashz00, BGl_string3442z00zz__weakhashz00, BgL_arg1552z00_1677); 
FAILURE(BgL_auxz00_8949,BFALSE,BFALSE);} 
BgL_za71za7_3311 = 
(long)CINT(BgL_tmpz00_8946); } 
BgL_arg1550z00_1676 = 
(BgL_za71za7_3311+1L); } } 
{ /* Llib/weakhash.scm 448 */
 bool_t BgL_test4200z00_8955;
{ /* Llib/weakhash.scm 448 */
 obj_t BgL_tmpz00_8956;
{ /* Llib/weakhash.scm 448 */
 obj_t BgL_res2261z00_3315;
{ /* Llib/weakhash.scm 448 */
 obj_t BgL_aux3022z00_5260;
BgL_aux3022z00_5260 = 
STRUCT_KEY(BgL_tablez00_83); 
if(
SYMBOLP(BgL_aux3022z00_5260))
{ /* Llib/weakhash.scm 448 */
BgL_res2261z00_3315 = BgL_aux3022z00_5260; }  else 
{ 
 obj_t BgL_auxz00_8960;
BgL_auxz00_8960 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(17917L), BGl_string3538z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3022z00_5260); 
FAILURE(BgL_auxz00_8960,BFALSE,BFALSE);} } 
BgL_tmpz00_8956 = BgL_res2261z00_3315; } 
BgL_test4200z00_8955 = 
(BgL_tmpz00_8956==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4200z00_8955)
{ /* Llib/weakhash.scm 448 */
 obj_t BgL_auxz00_8967; int BgL_tmpz00_8965;
BgL_auxz00_8967 = 
BINT(BgL_arg1550z00_1676); 
BgL_tmpz00_8965 = 
(int)(0L); 
STRUCT_SET(BgL_tablez00_83, BgL_tmpz00_8965, BgL_auxz00_8967); }  else 
{ /* Llib/weakhash.scm 448 */
BGl_errorz00zz__errorz00(BGl_string3452z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_83); } } } 
{ /* Llib/weakhash.scm 449 */
 obj_t BgL_arg1553z00_1678;
{ /* Llib/weakhash.scm 449 */
 obj_t BgL_arg1554z00_1679;
BgL_arg1554z00_1679 = 
bgl_make_weakptr(BgL_keyz00_84, BgL_objz00_85); 
{ /* Llib/weakhash.scm 449 */
 obj_t BgL_list1555z00_1680;
BgL_list1555z00_1680 = 
MAKE_YOUNG_PAIR(BgL_arg1554z00_1679, BNIL); 
BgL_arg1553z00_1678 = BgL_list1555z00_1680; } } 
{ /* Llib/weakhash.scm 449 */
 obj_t BgL_vectorz00_3317;
if(
VECTORP(BgL_bucketsz00_1670))
{ /* Llib/weakhash.scm 449 */
BgL_vectorz00_3317 = BgL_bucketsz00_1670; }  else 
{ 
 obj_t BgL_auxz00_8975;
BgL_auxz00_8975 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(18000L), BGl_string3538z00zz__weakhashz00, BGl_string3447z00zz__weakhashz00, BgL_bucketsz00_1670); 
FAILURE(BgL_auxz00_8975,BFALSE,BFALSE);} 
VECTOR_SET(BgL_vectorz00_3317,BgL_bucketzd2numzd2_1672,BgL_arg1553z00_1678); } } 
return BgL_objz00_85;}  else 
{ 
 obj_t BgL_buckz00_1682; long BgL_countz00_1683;
BgL_buckz00_1682 = BgL_bucketz00_1673; 
BgL_countz00_1683 = 0L; 
BgL_zc3z04anonymousza31556ze3z87_1684:
if(
NULLP(BgL_buckz00_1682))
{ /* Llib/weakhash.scm 454 */
{ /* Llib/weakhash.scm 455 */
 long BgL_arg1558z00_1686;
{ /* Llib/weakhash.scm 455 */
 obj_t BgL_arg1559z00_1687;
{ /* Llib/weakhash.scm 455 */
 bool_t BgL_test4204z00_8982;
{ /* Llib/weakhash.scm 455 */
 obj_t BgL_tmpz00_8983;
{ /* Llib/weakhash.scm 455 */
 obj_t BgL_res2263z00_3322;
{ /* Llib/weakhash.scm 455 */
 obj_t BgL_aux3026z00_5264;
BgL_aux3026z00_5264 = 
STRUCT_KEY(BgL_tablez00_83); 
if(
SYMBOLP(BgL_aux3026z00_5264))
{ /* Llib/weakhash.scm 455 */
BgL_res2263z00_3322 = BgL_aux3026z00_5264; }  else 
{ 
 obj_t BgL_auxz00_8987;
BgL_auxz00_8987 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(18171L), BGl_string3456z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3026z00_5264); 
FAILURE(BgL_auxz00_8987,BFALSE,BFALSE);} } 
BgL_tmpz00_8983 = BgL_res2263z00_3322; } 
BgL_test4204z00_8982 = 
(BgL_tmpz00_8983==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4204z00_8982)
{ /* Llib/weakhash.scm 455 */
 int BgL_tmpz00_8992;
BgL_tmpz00_8992 = 
(int)(0L); 
BgL_arg1559z00_1687 = 
STRUCT_REF(BgL_tablez00_83, BgL_tmpz00_8992); }  else 
{ /* Llib/weakhash.scm 455 */
BgL_arg1559z00_1687 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_83); } } 
{ /* Llib/weakhash.scm 455 */
 long BgL_za71za7_3323;
{ /* Llib/weakhash.scm 455 */
 obj_t BgL_tmpz00_8996;
if(
INTEGERP(BgL_arg1559z00_1687))
{ /* Llib/weakhash.scm 455 */
BgL_tmpz00_8996 = BgL_arg1559z00_1687
; }  else 
{ 
 obj_t BgL_auxz00_8999;
BgL_auxz00_8999 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(18193L), BGl_string3456z00zz__weakhashz00, BGl_string3442z00zz__weakhashz00, BgL_arg1559z00_1687); 
FAILURE(BgL_auxz00_8999,BFALSE,BFALSE);} 
BgL_za71za7_3323 = 
(long)CINT(BgL_tmpz00_8996); } 
BgL_arg1558z00_1686 = 
(BgL_za71za7_3323+1L); } } 
{ /* Llib/weakhash.scm 455 */
 bool_t BgL_test4207z00_9005;
{ /* Llib/weakhash.scm 455 */
 obj_t BgL_tmpz00_9006;
{ /* Llib/weakhash.scm 455 */
 obj_t BgL_res2264z00_3327;
{ /* Llib/weakhash.scm 455 */
 obj_t BgL_aux3029z00_5267;
BgL_aux3029z00_5267 = 
STRUCT_KEY(BgL_tablez00_83); 
if(
SYMBOLP(BgL_aux3029z00_5267))
{ /* Llib/weakhash.scm 455 */
BgL_res2264z00_3327 = BgL_aux3029z00_5267; }  else 
{ 
 obj_t BgL_auxz00_9010;
BgL_auxz00_9010 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(18138L), BGl_string3456z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3029z00_5267); 
FAILURE(BgL_auxz00_9010,BFALSE,BFALSE);} } 
BgL_tmpz00_9006 = BgL_res2264z00_3327; } 
BgL_test4207z00_9005 = 
(BgL_tmpz00_9006==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4207z00_9005)
{ /* Llib/weakhash.scm 455 */
 obj_t BgL_auxz00_9017; int BgL_tmpz00_9015;
BgL_auxz00_9017 = 
BINT(BgL_arg1558z00_1686); 
BgL_tmpz00_9015 = 
(int)(0L); 
STRUCT_SET(BgL_tablez00_83, BgL_tmpz00_9015, BgL_auxz00_9017); }  else 
{ /* Llib/weakhash.scm 455 */
BGl_errorz00zz__errorz00(BGl_string3452z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_83); } } } 
{ /* Llib/weakhash.scm 457 */
 obj_t BgL_arg1560z00_1688;
BgL_arg1560z00_1688 = 
MAKE_YOUNG_PAIR(
bgl_make_weakptr(BgL_keyz00_84, BgL_objz00_85), BgL_bucketz00_1673); 
{ /* Llib/weakhash.scm 456 */
 obj_t BgL_vectorz00_3328;
if(
VECTORP(BgL_bucketsz00_1670))
{ /* Llib/weakhash.scm 456 */
BgL_vectorz00_3328 = BgL_bucketsz00_1670; }  else 
{ 
 obj_t BgL_auxz00_9025;
BgL_auxz00_9025 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(18218L), BGl_string3456z00zz__weakhashz00, BGl_string3447z00zz__weakhashz00, BgL_bucketsz00_1670); 
FAILURE(BgL_auxz00_9025,BFALSE,BFALSE);} 
VECTOR_SET(BgL_vectorz00_3328,BgL_bucketzd2numzd2_1672,BgL_arg1560z00_1688); } } 
{ /* Llib/weakhash.scm 458 */
 bool_t BgL_test4210z00_9030;
{ /* Llib/weakhash.scm 458 */
 long BgL_n2z00_3331;
{ /* Llib/weakhash.scm 458 */
 obj_t BgL_tmpz00_9031;
if(
INTEGERP(BgL_maxzd2bucketzd2lenz00_1674))
{ /* Llib/weakhash.scm 458 */
BgL_tmpz00_9031 = BgL_maxzd2bucketzd2lenz00_1674
; }  else 
{ 
 obj_t BgL_auxz00_9034;
BgL_auxz00_9034 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(18301L), BGl_string3456z00zz__weakhashz00, BGl_string3442z00zz__weakhashz00, BgL_maxzd2bucketzd2lenz00_1674); 
FAILURE(BgL_auxz00_9034,BFALSE,BFALSE);} 
BgL_n2z00_3331 = 
(long)CINT(BgL_tmpz00_9031); } 
BgL_test4210z00_9030 = 
(BgL_countz00_1683>BgL_n2z00_3331); } 
if(BgL_test4210z00_9030)
{ /* Llib/weakhash.scm 458 */
BGl_weakzd2keyszd2hashtablezd2expandz12zc0zz__weakhashz00(BgL_tablez00_83); }  else 
{ /* Llib/weakhash.scm 458 */BFALSE; } } 
return BgL_objz00_85;}  else 
{ /* Llib/weakhash.scm 461 */
 bool_t BgL_test4212z00_9041;
{ /* Llib/weakhash.scm 461 */
 obj_t BgL_arg1578z00_1699;
{ /* Llib/weakhash.scm 461 */
 obj_t BgL_arg1579z00_1700;
{ /* Llib/weakhash.scm 461 */
 obj_t BgL_pairz00_3332;
if(
PAIRP(BgL_buckz00_1682))
{ /* Llib/weakhash.scm 461 */
BgL_pairz00_3332 = BgL_buckz00_1682; }  else 
{ 
 obj_t BgL_auxz00_9044;
BgL_auxz00_9044 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(18414L), BGl_string3456z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_buckz00_1682); 
FAILURE(BgL_auxz00_9044,BFALSE,BFALSE);} 
BgL_arg1579z00_1700 = 
CAR(BgL_pairz00_3332); } 
{ /* Llib/weakhash.scm 461 */
 obj_t BgL_objz00_3333;
if(
BGL_WEAKPTRP(BgL_arg1579z00_1700))
{ /* Llib/weakhash.scm 461 */
BgL_objz00_3333 = BgL_arg1579z00_1700; }  else 
{ 
 obj_t BgL_auxz00_9051;
BgL_auxz00_9051 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(18418L), BGl_string3456z00zz__weakhashz00, BGl_string3451z00zz__weakhashz00, BgL_arg1579z00_1700); 
FAILURE(BgL_auxz00_9051,BFALSE,BFALSE);} 
BgL_arg1578z00_1699 = 
bgl_weakptr_data(BgL_objz00_3333); } } 
{ /* Llib/weakhash.scm 461 */
 obj_t BgL_eqtz00_3334;
{ /* Llib/weakhash.scm 461 */
 bool_t BgL_test4215z00_9056;
{ /* Llib/weakhash.scm 461 */
 obj_t BgL_tmpz00_9057;
{ /* Llib/weakhash.scm 461 */
 obj_t BgL_res2265z00_3341;
{ /* Llib/weakhash.scm 461 */
 obj_t BgL_aux3038z00_5276;
BgL_aux3038z00_5276 = 
STRUCT_KEY(BgL_tablez00_83); 
if(
SYMBOLP(BgL_aux3038z00_5276))
{ /* Llib/weakhash.scm 461 */
BgL_res2265z00_3341 = BgL_aux3038z00_5276; }  else 
{ 
 obj_t BgL_auxz00_9061;
BgL_auxz00_9061 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(18371L), BGl_string3456z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3038z00_5276); 
FAILURE(BgL_auxz00_9061,BFALSE,BFALSE);} } 
BgL_tmpz00_9057 = BgL_res2265z00_3341; } 
BgL_test4215z00_9056 = 
(BgL_tmpz00_9057==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4215z00_9056)
{ /* Llib/weakhash.scm 461 */
 int BgL_tmpz00_9066;
BgL_tmpz00_9066 = 
(int)(3L); 
BgL_eqtz00_3334 = 
STRUCT_REF(BgL_tablez00_83, BgL_tmpz00_9066); }  else 
{ /* Llib/weakhash.scm 461 */
BgL_eqtz00_3334 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_83); } } 
if(
PROCEDUREP(BgL_eqtz00_3334))
{ /* Llib/weakhash.scm 461 */
if(
PROCEDURE_CORRECT_ARITYP(BgL_eqtz00_3334, 2L))
{ /* Llib/weakhash.scm 461 */
BgL_test4212z00_9041 = 
CBOOL(
(VA_PROCEDUREP( BgL_eqtz00_3334 ) ? ((obj_t (*)(obj_t, ...))PROCEDURE_ENTRY(BgL_eqtz00_3334))(BgL_eqtz00_3334, BgL_arg1578z00_1699, BgL_keyz00_84, BEOA) : ((obj_t (*)(obj_t, obj_t, obj_t))PROCEDURE_ENTRY(BgL_eqtz00_3334))(BgL_eqtz00_3334, BgL_arg1578z00_1699, BgL_keyz00_84) ))
; }  else 
{ /* Llib/weakhash.scm 461 */
FAILURE(BGl_string3517z00zz__weakhashz00,BGl_list3539z00zz__weakhashz00,BgL_eqtz00_3334);} }  else 
{ /* Llib/weakhash.scm 461 */
if(
(BgL_arg1578z00_1699==BgL_keyz00_84))
{ /* Llib/weakhash.scm 461 */
BgL_test4212z00_9041 = ((bool_t)1)
; }  else 
{ /* Llib/weakhash.scm 461 */
if(
STRINGP(BgL_arg1578z00_1699))
{ /* Llib/weakhash.scm 461 */
if(
STRINGP(BgL_keyz00_84))
{ /* Llib/weakhash.scm 461 */
 long BgL_l1z00_3344;
BgL_l1z00_3344 = 
STRING_LENGTH(BgL_arg1578z00_1699); 
if(
(BgL_l1z00_3344==
STRING_LENGTH(BgL_keyz00_84)))
{ /* Llib/weakhash.scm 461 */
 int BgL_arg1926z00_3347;
{ /* Llib/weakhash.scm 461 */
 char * BgL_auxz00_9093; char * BgL_tmpz00_9091;
BgL_auxz00_9093 = 
BSTRING_TO_STRING(BgL_keyz00_84); 
BgL_tmpz00_9091 = 
BSTRING_TO_STRING(BgL_arg1578z00_1699); 
BgL_arg1926z00_3347 = 
memcmp(BgL_tmpz00_9091, BgL_auxz00_9093, BgL_l1z00_3344); } 
BgL_test4212z00_9041 = 
(
(long)(BgL_arg1926z00_3347)==0L); }  else 
{ /* Llib/weakhash.scm 461 */
BgL_test4212z00_9041 = ((bool_t)0)
; } }  else 
{ /* Llib/weakhash.scm 461 */
BgL_test4212z00_9041 = ((bool_t)0)
; } }  else 
{ /* Llib/weakhash.scm 461 */
BgL_test4212z00_9041 = ((bool_t)0)
; } } } } } 
if(BgL_test4212z00_9041)
{ /* Llib/weakhash.scm 462 */
 obj_t BgL_oldzd2objzd2_1694;
{ /* Llib/weakhash.scm 462 */
 obj_t BgL_arg1575z00_1696;
{ /* Llib/weakhash.scm 462 */
 obj_t BgL_pairz00_3353;
if(
PAIRP(BgL_buckz00_1682))
{ /* Llib/weakhash.scm 462 */
BgL_pairz00_3353 = BgL_buckz00_1682; }  else 
{ 
 obj_t BgL_auxz00_9100;
BgL_auxz00_9100 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(18462L), BGl_string3456z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_buckz00_1682); 
FAILURE(BgL_auxz00_9100,BFALSE,BFALSE);} 
BgL_arg1575z00_1696 = 
CAR(BgL_pairz00_3353); } 
{ /* Llib/weakhash.scm 462 */
 obj_t BgL_objz00_3354;
if(
BGL_WEAKPTRP(BgL_arg1575z00_1696))
{ /* Llib/weakhash.scm 462 */
BgL_objz00_3354 = BgL_arg1575z00_1696; }  else 
{ 
 obj_t BgL_auxz00_9107;
BgL_auxz00_9107 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(18466L), BGl_string3456z00zz__weakhashz00, BGl_string3451z00zz__weakhashz00, BgL_arg1575z00_1696); 
FAILURE(BgL_auxz00_9107,BFALSE,BFALSE);} 
BgL_oldzd2objzd2_1694 = 
bgl_weakptr_ref(BgL_objz00_3354); } } 
{ /* Llib/weakhash.scm 463 */
 obj_t BgL_arg1569z00_1695;
{ /* Llib/weakhash.scm 463 */
 obj_t BgL_pairz00_3355;
if(
PAIRP(BgL_buckz00_1682))
{ /* Llib/weakhash.scm 463 */
BgL_pairz00_3355 = BgL_buckz00_1682; }  else 
{ 
 obj_t BgL_auxz00_9114;
BgL_auxz00_9114 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(18500L), BGl_string3456z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_buckz00_1682); 
FAILURE(BgL_auxz00_9114,BFALSE,BFALSE);} 
BgL_arg1569z00_1695 = 
CAR(BgL_pairz00_3355); } 
{ /* Llib/weakhash.scm 463 */
 obj_t BgL_ptrz00_3356;
if(
BGL_WEAKPTRP(BgL_arg1569z00_1695))
{ /* Llib/weakhash.scm 463 */
BgL_ptrz00_3356 = BgL_arg1569z00_1695; }  else 
{ 
 obj_t BgL_auxz00_9121;
BgL_auxz00_9121 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(18504L), BGl_string3456z00zz__weakhashz00, BGl_string3451z00zz__weakhashz00, BgL_arg1569z00_1695); 
FAILURE(BgL_auxz00_9121,BFALSE,BFALSE);} 
bgl_weakptr_ref_set(BgL_ptrz00_3356, BgL_objz00_85); BUNSPEC; BUNSPEC; } } 
return BgL_oldzd2objzd2_1694;}  else 
{ /* Llib/weakhash.scm 466 */
 obj_t BgL_arg1576z00_1697; long BgL_arg1577z00_1698;
{ /* Llib/weakhash.scm 466 */
 obj_t BgL_pairz00_3357;
if(
PAIRP(BgL_buckz00_1682))
{ /* Llib/weakhash.scm 466 */
BgL_pairz00_3357 = BgL_buckz00_1682; }  else 
{ 
 obj_t BgL_auxz00_9128;
BgL_auxz00_9128 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(18549L), BGl_string3456z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_buckz00_1682); 
FAILURE(BgL_auxz00_9128,BFALSE,BFALSE);} 
BgL_arg1576z00_1697 = 
CDR(BgL_pairz00_3357); } 
BgL_arg1577z00_1698 = 
(BgL_countz00_1683+1L); 
{ 
 long BgL_countz00_9135; obj_t BgL_buckz00_9134;
BgL_buckz00_9134 = BgL_arg1576z00_1697; 
BgL_countz00_9135 = BgL_arg1577z00_1698; 
BgL_countz00_1683 = BgL_countz00_9135; 
BgL_buckz00_1682 = BgL_buckz00_9134; 
goto BgL_zc3z04anonymousza31556ze3z87_1684;} } } } } } } } } } } 

}



/* weak-old-hashtable-put! */
obj_t BGl_weakzd2oldzd2hashtablezd2putz12zc0zz__weakhashz00(obj_t BgL_tablez00_86, obj_t BgL_keyz00_87, obj_t BgL_objz00_88)
{
{ /* Llib/weakhash.scm 471 */
{ /* Llib/weakhash.scm 472 */
 obj_t BgL_bucketsz00_1703;
{ /* Llib/weakhash.scm 472 */
 bool_t BgL_test4228z00_9136;
{ /* Llib/weakhash.scm 472 */
 obj_t BgL_tmpz00_9137;
{ /* Llib/weakhash.scm 472 */
 obj_t BgL_res2266z00_3362;
{ /* Llib/weakhash.scm 472 */
 obj_t BgL_aux3051z00_5290;
BgL_aux3051z00_5290 = 
STRUCT_KEY(BgL_tablez00_86); 
if(
SYMBOLP(BgL_aux3051z00_5290))
{ /* Llib/weakhash.scm 472 */
BgL_res2266z00_3362 = BgL_aux3051z00_5290; }  else 
{ 
 obj_t BgL_auxz00_9141;
BgL_auxz00_9141 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(18884L), BGl_string3542z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3051z00_5290); 
FAILURE(BgL_auxz00_9141,BFALSE,BFALSE);} } 
BgL_tmpz00_9137 = BgL_res2266z00_3362; } 
BgL_test4228z00_9136 = 
(BgL_tmpz00_9137==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4228z00_9136)
{ /* Llib/weakhash.scm 472 */
 int BgL_tmpz00_9146;
BgL_tmpz00_9146 = 
(int)(2L); 
BgL_bucketsz00_1703 = 
STRUCT_REF(BgL_tablez00_86, BgL_tmpz00_9146); }  else 
{ /* Llib/weakhash.scm 472 */
BgL_bucketsz00_1703 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_86); } } 
{ /* Llib/weakhash.scm 472 */
 long BgL_bucketzd2lenzd2_1704;
{ /* Llib/weakhash.scm 473 */
 obj_t BgL_vectorz00_3363;
if(
VECTORP(BgL_bucketsz00_1703))
{ /* Llib/weakhash.scm 473 */
BgL_vectorz00_3363 = BgL_bucketsz00_1703; }  else 
{ 
 obj_t BgL_auxz00_9152;
BgL_auxz00_9152 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(18942L), BGl_string3542z00zz__weakhashz00, BGl_string3447z00zz__weakhashz00, BgL_bucketsz00_1703); 
FAILURE(BgL_auxz00_9152,BFALSE,BFALSE);} 
BgL_bucketzd2lenzd2_1704 = 
VECTOR_LENGTH(BgL_vectorz00_3363); } 
{ /* Llib/weakhash.scm 473 */
 long BgL_bucketzd2numzd2_1705;
{ /* Llib/weakhash.scm 474 */
 long BgL_arg1604z00_1737;
BgL_arg1604z00_1737 = 
BGl_tablezd2getzd2hashnumberz00zz__weakhashz00(BgL_tablez00_86, BgL_keyz00_87); 
{ /* Llib/weakhash.scm 474 */
 long BgL_n1z00_3364; long BgL_n2z00_3365;
BgL_n1z00_3364 = BgL_arg1604z00_1737; 
BgL_n2z00_3365 = BgL_bucketzd2lenzd2_1704; 
{ /* Llib/weakhash.scm 474 */
 bool_t BgL_test4231z00_9158;
{ /* Llib/weakhash.scm 474 */
 long BgL_arg2034z00_3367;
BgL_arg2034z00_3367 = 
(((BgL_n1z00_3364) | (BgL_n2z00_3365)) & -2147483648); 
BgL_test4231z00_9158 = 
(BgL_arg2034z00_3367==0L); } 
if(BgL_test4231z00_9158)
{ /* Llib/weakhash.scm 474 */
 int32_t BgL_arg2031z00_3368;
{ /* Llib/weakhash.scm 474 */
 int32_t BgL_arg2032z00_3369; int32_t BgL_arg2033z00_3370;
BgL_arg2032z00_3369 = 
(int32_t)(BgL_n1z00_3364); 
BgL_arg2033z00_3370 = 
(int32_t)(BgL_n2z00_3365); 
BgL_arg2031z00_3368 = 
(BgL_arg2032z00_3369%BgL_arg2033z00_3370); } 
{ /* Llib/weakhash.scm 474 */
 long BgL_arg2142z00_3375;
BgL_arg2142z00_3375 = 
(long)(BgL_arg2031z00_3368); 
BgL_bucketzd2numzd2_1705 = 
(long)(BgL_arg2142z00_3375); } }  else 
{ /* Llib/weakhash.scm 474 */
BgL_bucketzd2numzd2_1705 = 
(BgL_n1z00_3364%BgL_n2z00_3365); } } } } 
{ /* Llib/weakhash.scm 474 */
 obj_t BgL_bucketz00_1706;
{ /* Llib/weakhash.scm 475 */
 obj_t BgL_vectorz00_3377;
if(
VECTORP(BgL_bucketsz00_1703))
{ /* Llib/weakhash.scm 475 */
BgL_vectorz00_3377 = BgL_bucketsz00_1703; }  else 
{ 
 obj_t BgL_auxz00_9169;
BgL_auxz00_9169 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(19049L), BGl_string3542z00zz__weakhashz00, BGl_string3447z00zz__weakhashz00, BgL_bucketsz00_1703); 
FAILURE(BgL_auxz00_9169,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 475 */
 bool_t BgL_test4233z00_9173;
{ /* Llib/weakhash.scm 475 */
 long BgL_tmpz00_9174;
BgL_tmpz00_9174 = 
VECTOR_LENGTH(BgL_vectorz00_3377); 
BgL_test4233z00_9173 = 
BOUND_CHECK(BgL_bucketzd2numzd2_1705, BgL_tmpz00_9174); } 
if(BgL_test4233z00_9173)
{ /* Llib/weakhash.scm 475 */
BgL_bucketz00_1706 = 
VECTOR_REF(BgL_vectorz00_3377,BgL_bucketzd2numzd2_1705); }  else 
{ 
 obj_t BgL_auxz00_9178;
BgL_auxz00_9178 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(19037L), BGl_string3448z00zz__weakhashz00, BgL_vectorz00_3377, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_3377)), 
(int)(BgL_bucketzd2numzd2_1705)); 
FAILURE(BgL_auxz00_9178,BFALSE,BFALSE);} } } 
{ /* Llib/weakhash.scm 475 */
 obj_t BgL_maxzd2bucketzd2lenz00_1707;
{ /* Llib/weakhash.scm 476 */
 bool_t BgL_test4234z00_9185;
{ /* Llib/weakhash.scm 476 */
 obj_t BgL_tmpz00_9186;
{ /* Llib/weakhash.scm 476 */
 obj_t BgL_res2267z00_3382;
{ /* Llib/weakhash.scm 476 */
 obj_t BgL_aux3057z00_5296;
BgL_aux3057z00_5296 = 
STRUCT_KEY(BgL_tablez00_86); 
if(
SYMBOLP(BgL_aux3057z00_5296))
{ /* Llib/weakhash.scm 476 */
BgL_res2267z00_3382 = BgL_aux3057z00_5296; }  else 
{ 
 obj_t BgL_auxz00_9190;
BgL_auxz00_9190 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(19089L), BGl_string3542z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3057z00_5296); 
FAILURE(BgL_auxz00_9190,BFALSE,BFALSE);} } 
BgL_tmpz00_9186 = BgL_res2267z00_3382; } 
BgL_test4234z00_9185 = 
(BgL_tmpz00_9186==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4234z00_9185)
{ /* Llib/weakhash.scm 476 */
 int BgL_tmpz00_9195;
BgL_tmpz00_9195 = 
(int)(1L); 
BgL_maxzd2bucketzd2lenz00_1707 = 
STRUCT_REF(BgL_tablez00_86, BgL_tmpz00_9195); }  else 
{ /* Llib/weakhash.scm 476 */
BgL_maxzd2bucketzd2lenz00_1707 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_86); } } 
{ /* Llib/weakhash.scm 476 */
 obj_t BgL_countz00_4518;
BgL_countz00_4518 = 
MAKE_CELL(
BINT(0L)); 
{ /* Llib/weakhash.scm 477 */
 obj_t BgL_foundz00_1709;
{ /* Llib/weakhash.scm 482 */
 obj_t BgL_zc3z04anonymousza31598ze3z87_4508;
{ 
 int BgL_tmpz00_9200;
BgL_tmpz00_9200 = 
(int)(4L); 
BgL_zc3z04anonymousza31598ze3z87_4508 = 
MAKE_L_PROCEDURE(BGl_z62zc3z04anonymousza31598ze3ze5zz__weakhashz00, BgL_tmpz00_9200); } 
PROCEDURE_L_SET(BgL_zc3z04anonymousza31598ze3z87_4508, 
(int)(0L), 
((obj_t)BgL_countz00_4518)); 
PROCEDURE_L_SET(BgL_zc3z04anonymousza31598ze3z87_4508, 
(int)(1L), BgL_objz00_88); 
PROCEDURE_L_SET(BgL_zc3z04anonymousza31598ze3z87_4508, 
(int)(2L), BgL_tablez00_86); 
PROCEDURE_L_SET(BgL_zc3z04anonymousza31598ze3z87_4508, 
(int)(3L), BgL_keyz00_87); 
BgL_foundz00_1709 = 
BGl_traversezd2bucketszd2zz__weakhashz00(BgL_tablez00_86, BgL_bucketsz00_1703, BgL_bucketzd2numzd2_1705, BgL_zc3z04anonymousza31598ze3z87_4508); } 
{ /* Llib/weakhash.scm 479 */

if(
(BgL_foundz00_1709==BGl_keepgoingz00zz__weakhashz00))
{ /* Llib/weakhash.scm 493 */
{ /* Llib/weakhash.scm 496 */
 long BgL_arg1582z00_1710;
{ /* Llib/weakhash.scm 496 */
 obj_t BgL_arg1583z00_1711;
{ /* Llib/weakhash.scm 496 */
 bool_t BgL_test4237z00_9215;
{ /* Llib/weakhash.scm 496 */
 obj_t BgL_tmpz00_9216;
{ /* Llib/weakhash.scm 496 */
 obj_t BgL_res2269z00_3408;
{ /* Llib/weakhash.scm 496 */
 obj_t BgL_aux3059z00_5298;
BgL_aux3059z00_5298 = 
STRUCT_KEY(BgL_tablez00_86); 
if(
SYMBOLP(BgL_aux3059z00_5298))
{ /* Llib/weakhash.scm 496 */
BgL_res2269z00_3408 = BgL_aux3059z00_5298; }  else 
{ 
 obj_t BgL_auxz00_9220;
BgL_auxz00_9220 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(19678L), BGl_string3542z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3059z00_5298); 
FAILURE(BgL_auxz00_9220,BFALSE,BFALSE);} } 
BgL_tmpz00_9216 = BgL_res2269z00_3408; } 
BgL_test4237z00_9215 = 
(BgL_tmpz00_9216==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4237z00_9215)
{ /* Llib/weakhash.scm 496 */
 int BgL_tmpz00_9225;
BgL_tmpz00_9225 = 
(int)(0L); 
BgL_arg1583z00_1711 = 
STRUCT_REF(BgL_tablez00_86, BgL_tmpz00_9225); }  else 
{ /* Llib/weakhash.scm 496 */
BgL_arg1583z00_1711 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_86); } } 
{ /* Llib/weakhash.scm 496 */
 long BgL_za71za7_3409;
{ /* Llib/weakhash.scm 496 */
 obj_t BgL_tmpz00_9229;
if(
INTEGERP(BgL_arg1583z00_1711))
{ /* Llib/weakhash.scm 496 */
BgL_tmpz00_9229 = BgL_arg1583z00_1711
; }  else 
{ 
 obj_t BgL_auxz00_9232;
BgL_auxz00_9232 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(19700L), BGl_string3542z00zz__weakhashz00, BGl_string3442z00zz__weakhashz00, BgL_arg1583z00_1711); 
FAILURE(BgL_auxz00_9232,BFALSE,BFALSE);} 
BgL_za71za7_3409 = 
(long)CINT(BgL_tmpz00_9229); } 
BgL_arg1582z00_1710 = 
(BgL_za71za7_3409+1L); } } 
{ /* Llib/weakhash.scm 496 */
 bool_t BgL_test4240z00_9238;
{ /* Llib/weakhash.scm 496 */
 obj_t BgL_tmpz00_9239;
{ /* Llib/weakhash.scm 496 */
 obj_t BgL_res2270z00_3413;
{ /* Llib/weakhash.scm 496 */
 obj_t BgL_aux3062z00_5301;
BgL_aux3062z00_5301 = 
STRUCT_KEY(BgL_tablez00_86); 
if(
SYMBOLP(BgL_aux3062z00_5301))
{ /* Llib/weakhash.scm 496 */
BgL_res2270z00_3413 = BgL_aux3062z00_5301; }  else 
{ 
 obj_t BgL_auxz00_9243;
BgL_auxz00_9243 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(19645L), BGl_string3542z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3062z00_5301); 
FAILURE(BgL_auxz00_9243,BFALSE,BFALSE);} } 
BgL_tmpz00_9239 = BgL_res2270z00_3413; } 
BgL_test4240z00_9238 = 
(BgL_tmpz00_9239==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4240z00_9238)
{ /* Llib/weakhash.scm 496 */
 obj_t BgL_auxz00_9250; int BgL_tmpz00_9248;
BgL_auxz00_9250 = 
BINT(BgL_arg1582z00_1710); 
BgL_tmpz00_9248 = 
(int)(0L); 
STRUCT_SET(BgL_tablez00_86, BgL_tmpz00_9248, BgL_auxz00_9250); }  else 
{ /* Llib/weakhash.scm 496 */
BGl_errorz00zz__errorz00(BGl_string3452z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_86); } } } 
{ /* Llib/weakhash.scm 498 */
 obj_t BgL_arg1584z00_1712;
{ /* Llib/weakhash.scm 498 */
 obj_t BgL_arg1586z00_1713; obj_t BgL_arg1587z00_1714;
{ /* Llib/weakhash.scm 498 */
 obj_t BgL_arg1589z00_1715; obj_t BgL_arg1590z00_1716;
if(
BGl_hashtablezd2weakzd2keyszf3zf3zz__hashz00(BgL_tablez00_86))
{ /* Llib/weakhash.scm 499 */

BgL_arg1589z00_1715 = 
bgl_make_weakptr(BgL_keyz00_87, BFALSE); }  else 
{ /* Llib/weakhash.scm 498 */
BgL_arg1589z00_1715 = BgL_keyz00_87; } 
if(
BGl_hashtablezd2weakzd2datazf3zf3zz__hashz00(BgL_tablez00_86))
{ /* Llib/weakhash.scm 502 */

BgL_arg1590z00_1716 = 
bgl_make_weakptr(BgL_objz00_88, BFALSE); }  else 
{ /* Llib/weakhash.scm 501 */
BgL_arg1590z00_1716 = BgL_objz00_88; } 
BgL_arg1586z00_1713 = 
MAKE_YOUNG_PAIR(BgL_arg1589z00_1715, BgL_arg1590z00_1716); } 
{ /* Llib/weakhash.scm 506 */
 obj_t BgL_arg1595z00_1723;
{ /* Llib/weakhash.scm 506 */
 bool_t BgL_test4244z00_9261;
{ /* Llib/weakhash.scm 506 */
 obj_t BgL_tmpz00_9262;
{ /* Llib/weakhash.scm 506 */
 obj_t BgL_res2271z00_3417;
{ /* Llib/weakhash.scm 506 */
 obj_t BgL_aux3064z00_5303;
BgL_aux3064z00_5303 = 
STRUCT_KEY(BgL_tablez00_86); 
if(
SYMBOLP(BgL_aux3064z00_5303))
{ /* Llib/weakhash.scm 506 */
BgL_res2271z00_3417 = BgL_aux3064z00_5303; }  else 
{ 
 obj_t BgL_auxz00_9266;
BgL_auxz00_9266 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(19999L), BGl_string3542z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3064z00_5303); 
FAILURE(BgL_auxz00_9266,BFALSE,BFALSE);} } 
BgL_tmpz00_9262 = BgL_res2271z00_3417; } 
BgL_test4244z00_9261 = 
(BgL_tmpz00_9262==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4244z00_9261)
{ /* Llib/weakhash.scm 506 */
 int BgL_tmpz00_9271;
BgL_tmpz00_9271 = 
(int)(2L); 
BgL_arg1595z00_1723 = 
STRUCT_REF(BgL_tablez00_86, BgL_tmpz00_9271); }  else 
{ /* Llib/weakhash.scm 506 */
BgL_arg1595z00_1723 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_86); } } 
{ /* Llib/weakhash.scm 506 */
 obj_t BgL_vectorz00_3418;
if(
VECTORP(BgL_arg1595z00_1723))
{ /* Llib/weakhash.scm 506 */
BgL_vectorz00_3418 = BgL_arg1595z00_1723; }  else 
{ 
 obj_t BgL_auxz00_9277;
BgL_auxz00_9277 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(20024L), BGl_string3542z00zz__weakhashz00, BGl_string3447z00zz__weakhashz00, BgL_arg1595z00_1723); 
FAILURE(BgL_auxz00_9277,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 506 */
 bool_t BgL_test4247z00_9281;
{ /* Llib/weakhash.scm 506 */
 long BgL_tmpz00_9282;
BgL_tmpz00_9282 = 
VECTOR_LENGTH(BgL_vectorz00_3418); 
BgL_test4247z00_9281 = 
BOUND_CHECK(BgL_bucketzd2numzd2_1705, BgL_tmpz00_9282); } 
if(BgL_test4247z00_9281)
{ /* Llib/weakhash.scm 506 */
BgL_arg1587z00_1714 = 
VECTOR_REF(BgL_vectorz00_3418,BgL_bucketzd2numzd2_1705); }  else 
{ 
 obj_t BgL_auxz00_9286;
BgL_auxz00_9286 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(19987L), BGl_string3448z00zz__weakhashz00, BgL_vectorz00_3418, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_3418)), 
(int)(BgL_bucketzd2numzd2_1705)); 
FAILURE(BgL_auxz00_9286,BFALSE,BFALSE);} } } } 
BgL_arg1584z00_1712 = 
MAKE_YOUNG_PAIR(BgL_arg1586z00_1713, BgL_arg1587z00_1714); } 
{ /* Llib/weakhash.scm 497 */
 obj_t BgL_vectorz00_3420;
if(
VECTORP(BgL_bucketsz00_1703))
{ /* Llib/weakhash.scm 497 */
BgL_vectorz00_3420 = BgL_bucketsz00_1703; }  else 
{ 
 obj_t BgL_auxz00_9296;
BgL_auxz00_9296 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(19725L), BGl_string3542z00zz__weakhashz00, BGl_string3447z00zz__weakhashz00, BgL_bucketsz00_1703); 
FAILURE(BgL_auxz00_9296,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 497 */
 bool_t BgL_test4249z00_9300;
{ /* Llib/weakhash.scm 497 */
 long BgL_tmpz00_9301;
BgL_tmpz00_9301 = 
VECTOR_LENGTH(BgL_vectorz00_3420); 
BgL_test4249z00_9300 = 
BOUND_CHECK(BgL_bucketzd2numzd2_1705, BgL_tmpz00_9301); } 
if(BgL_test4249z00_9300)
{ /* Llib/weakhash.scm 497 */
VECTOR_SET(BgL_vectorz00_3420,BgL_bucketzd2numzd2_1705,BgL_arg1584z00_1712); }  else 
{ 
 obj_t BgL_auxz00_9305;
BgL_auxz00_9305 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(19712L), BGl_string3453z00zz__weakhashz00, BgL_vectorz00_3420, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_3420)), 
(int)(BgL_bucketzd2numzd2_1705)); 
FAILURE(BgL_auxz00_9305,BFALSE,BFALSE);} } } } 
{ /* Llib/weakhash.scm 508 */
 bool_t BgL_test4250z00_9312;
{ /* Llib/weakhash.scm 508 */
 long BgL_n1z00_3422; long BgL_n2z00_3423;
{ /* Llib/weakhash.scm 508 */
 obj_t BgL_tmpz00_9313;
{ /* Llib/weakhash.scm 508 */
 obj_t BgL_aux3070z00_5309;
BgL_aux3070z00_5309 = 
CELL_REF(BgL_countz00_4518); 
if(
INTEGERP(BgL_aux3070z00_5309))
{ /* Llib/weakhash.scm 508 */
BgL_tmpz00_9313 = BgL_aux3070z00_5309
; }  else 
{ 
 obj_t BgL_auxz00_9316;
BgL_auxz00_9316 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(20065L), BGl_string3542z00zz__weakhashz00, BGl_string3442z00zz__weakhashz00, BgL_aux3070z00_5309); 
FAILURE(BgL_auxz00_9316,BFALSE,BFALSE);} } 
BgL_n1z00_3422 = 
(long)CINT(BgL_tmpz00_9313); } 
{ /* Llib/weakhash.scm 508 */
 obj_t BgL_tmpz00_9321;
if(
INTEGERP(BgL_maxzd2bucketzd2lenz00_1707))
{ /* Llib/weakhash.scm 508 */
BgL_tmpz00_9321 = BgL_maxzd2bucketzd2lenz00_1707
; }  else 
{ 
 obj_t BgL_auxz00_9324;
BgL_auxz00_9324 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(20071L), BGl_string3542z00zz__weakhashz00, BGl_string3442z00zz__weakhashz00, BgL_maxzd2bucketzd2lenz00_1707); 
FAILURE(BgL_auxz00_9324,BFALSE,BFALSE);} 
BgL_n2z00_3423 = 
(long)CINT(BgL_tmpz00_9321); } 
BgL_test4250z00_9312 = 
(BgL_n1z00_3422>BgL_n2z00_3423); } 
if(BgL_test4250z00_9312)
{ /* Llib/weakhash.scm 508 */
if(
BGl_hashtablezd2weakzd2keyszf3zf3zz__hashz00(BgL_tablez00_86))
{ /* Llib/weakhash.scm 877 */
BGl_weakzd2keyszd2hashtablezd2expandz12zc0zz__weakhashz00(BgL_tablez00_86); }  else 
{ /* Llib/weakhash.scm 877 */
BGl_weakzd2oldzd2hashtablezd2expandz12zc0zz__weakhashz00(BgL_tablez00_86); } }  else 
{ /* Llib/weakhash.scm 508 */BFALSE; } } 
return BgL_objz00_88;}  else 
{ /* Llib/weakhash.scm 493 */
return BgL_foundz00_1709;} } } } } } } } } } 

}



/* &<@anonymous:1598> */
obj_t BGl_z62zc3z04anonymousza31598ze3ze5zz__weakhashz00(obj_t BgL_envz00_4509, obj_t BgL_bkeyz00_4514, obj_t BgL_valz00_4515, obj_t BgL_bucketz00_4516)
{
{ /* Llib/weakhash.scm 481 */
{ /* Llib/weakhash.scm 482 */
 obj_t BgL_countz00_4510; obj_t BgL_objz00_4511; obj_t BgL_tablez00_4512; obj_t BgL_keyz00_4513;
BgL_countz00_4510 = 
PROCEDURE_L_REF(BgL_envz00_4509, 
(int)(0L)); 
BgL_objz00_4511 = 
PROCEDURE_L_REF(BgL_envz00_4509, 
(int)(1L)); 
BgL_tablez00_4512 = 
((obj_t)
PROCEDURE_L_REF(BgL_envz00_4509, 
(int)(2L))); 
BgL_keyz00_4513 = 
PROCEDURE_L_REF(BgL_envz00_4509, 
(int)(3L)); 
{ /* Llib/weakhash.scm 482 */
 obj_t BgL_auxz00_5716;
{ /* Llib/weakhash.scm 482 */
 obj_t BgL_tmpz00_9343;
{ /* Llib/weakhash.scm 482 */
 obj_t BgL_aux3072z00_5717;
BgL_aux3072z00_5717 = 
CELL_REF(BgL_countz00_4510); 
if(
INTEGERP(BgL_aux3072z00_5717))
{ /* Llib/weakhash.scm 482 */
BgL_tmpz00_9343 = BgL_aux3072z00_5717
; }  else 
{ 
 obj_t BgL_auxz00_9346;
BgL_auxz00_9346 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(19302L), BGl_string3543z00zz__weakhashz00, BGl_string3442z00zz__weakhashz00, BgL_aux3072z00_5717); 
FAILURE(BgL_auxz00_9346,BFALSE,BFALSE);} } 
BgL_auxz00_5716 = 
ADDFX(BgL_tmpz00_9343, 
BINT(1L)); } 
CELL_SET(BgL_countz00_4510, BgL_auxz00_5716); } 
{ /* Llib/weakhash.scm 483 */
 bool_t BgL_test4255z00_9352;
{ /* Llib/weakhash.scm 483 */
 obj_t BgL_eqtz00_5718;
{ /* Llib/weakhash.scm 483 */
 bool_t BgL_test4256z00_9353;
{ /* Llib/weakhash.scm 483 */
 obj_t BgL_tmpz00_9354;
{ /* Llib/weakhash.scm 483 */
 obj_t BgL_res2268z00_5719;
{ /* Llib/weakhash.scm 483 */
 obj_t BgL_aux3073z00_5720;
BgL_aux3073z00_5720 = 
STRUCT_KEY(BgL_tablez00_4512); 
if(
SYMBOLP(BgL_aux3073z00_5720))
{ /* Llib/weakhash.scm 483 */
BgL_res2268z00_5719 = BgL_aux3073z00_5720; }  else 
{ 
 obj_t BgL_auxz00_9358;
BgL_auxz00_9358 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(19325L), BGl_string3543z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3073z00_5720); 
FAILURE(BgL_auxz00_9358,BFALSE,BFALSE);} } 
BgL_tmpz00_9354 = BgL_res2268z00_5719; } 
BgL_test4256z00_9353 = 
(BgL_tmpz00_9354==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4256z00_9353)
{ /* Llib/weakhash.scm 483 */
 int BgL_tmpz00_9363;
BgL_tmpz00_9363 = 
(int)(3L); 
BgL_eqtz00_5718 = 
STRUCT_REF(BgL_tablez00_4512, BgL_tmpz00_9363); }  else 
{ /* Llib/weakhash.scm 483 */
BgL_eqtz00_5718 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_4512); } } 
if(
PROCEDUREP(BgL_eqtz00_5718))
{ /* Llib/weakhash.scm 483 */
if(
PROCEDURE_CORRECT_ARITYP(BgL_eqtz00_5718, 2L))
{ /* Llib/weakhash.scm 483 */
BgL_test4255z00_9352 = 
CBOOL(
(VA_PROCEDUREP( BgL_eqtz00_5718 ) ? ((obj_t (*)(obj_t, ...))PROCEDURE_ENTRY(BgL_eqtz00_5718))(BgL_eqtz00_5718, BgL_bkeyz00_4514, BgL_keyz00_4513, BEOA) : ((obj_t (*)(obj_t, obj_t, obj_t))PROCEDURE_ENTRY(BgL_eqtz00_5718))(BgL_eqtz00_5718, BgL_bkeyz00_4514, BgL_keyz00_4513) ))
; }  else 
{ /* Llib/weakhash.scm 483 */
FAILURE(BGl_string3544z00zz__weakhashz00,BGl_list3545z00zz__weakhashz00,BgL_eqtz00_5718);} }  else 
{ /* Llib/weakhash.scm 483 */
if(
(BgL_bkeyz00_4514==BgL_keyz00_4513))
{ /* Llib/weakhash.scm 483 */
BgL_test4255z00_9352 = ((bool_t)1)
; }  else 
{ /* Llib/weakhash.scm 483 */
if(
STRINGP(BgL_bkeyz00_4514))
{ /* Llib/weakhash.scm 483 */
if(
STRINGP(BgL_keyz00_4513))
{ /* Llib/weakhash.scm 483 */
 long BgL_l1z00_5721;
BgL_l1z00_5721 = 
STRING_LENGTH(BgL_bkeyz00_4514); 
if(
(BgL_l1z00_5721==
STRING_LENGTH(BgL_keyz00_4513)))
{ /* Llib/weakhash.scm 483 */
 int BgL_arg1926z00_5722;
{ /* Llib/weakhash.scm 483 */
 char * BgL_auxz00_9390; char * BgL_tmpz00_9388;
BgL_auxz00_9390 = 
BSTRING_TO_STRING(BgL_keyz00_4513); 
BgL_tmpz00_9388 = 
BSTRING_TO_STRING(BgL_bkeyz00_4514); 
BgL_arg1926z00_5722 = 
memcmp(BgL_tmpz00_9388, BgL_auxz00_9390, BgL_l1z00_5721); } 
BgL_test4255z00_9352 = 
(
(long)(BgL_arg1926z00_5722)==0L); }  else 
{ /* Llib/weakhash.scm 483 */
BgL_test4255z00_9352 = ((bool_t)0)
; } }  else 
{ /* Llib/weakhash.scm 483 */
BgL_test4255z00_9352 = ((bool_t)0)
; } }  else 
{ /* Llib/weakhash.scm 483 */
BgL_test4255z00_9352 = ((bool_t)0)
; } } } } 
if(BgL_test4255z00_9352)
{ /* Llib/weakhash.scm 483 */
{ /* Llib/weakhash.scm 485 */
 obj_t BgL_arg1600z00_5723; obj_t BgL_arg1602z00_5724;
{ /* Llib/weakhash.scm 485 */
 obj_t BgL_pairz00_5725;
if(
PAIRP(BgL_bucketz00_4516))
{ /* Llib/weakhash.scm 485 */
BgL_pairz00_5725 = BgL_bucketz00_4516; }  else 
{ 
 obj_t BgL_auxz00_9397;
BgL_auxz00_9397 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(19396L), BGl_string3543z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_bucketz00_4516); 
FAILURE(BgL_auxz00_9397,BFALSE,BFALSE);} 
BgL_arg1600z00_5723 = 
CAR(BgL_pairz00_5725); } 
if(
BGl_hashtablezd2weakzd2datazf3zf3zz__hashz00(BgL_tablez00_4512))
{ /* Llib/weakhash.scm 487 */

BgL_arg1602z00_5724 = 
bgl_make_weakptr(BgL_objz00_4511, BFALSE); }  else 
{ /* Llib/weakhash.scm 486 */
BgL_arg1602z00_5724 = BgL_objz00_4511; } 
{ /* Llib/weakhash.scm 485 */
 obj_t BgL_pairz00_5726;
if(
PAIRP(BgL_arg1600z00_5723))
{ /* Llib/weakhash.scm 485 */
BgL_pairz00_5726 = BgL_arg1600z00_5723; }  else 
{ 
 obj_t BgL_auxz00_9407;
BgL_auxz00_9407 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(19402L), BGl_string3543z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_arg1600z00_5723); 
FAILURE(BgL_auxz00_9407,BFALSE,BFALSE);} 
SET_CDR(BgL_pairz00_5726, BgL_arg1602z00_5724); } } 
return BgL_valz00_4515;}  else 
{ /* Llib/weakhash.scm 483 */
return BGl_keepgoingz00zz__weakhashz00;} } } } 

}



/* weak-hashtable-put! */
BGL_EXPORTED_DEF obj_t BGl_weakzd2hashtablezd2putz12z12zz__weakhashz00(obj_t BgL_tablez00_89, obj_t BgL_keyz00_90, obj_t BgL_objz00_91)
{
{ /* Llib/weakhash.scm 515 */
if(
BGl_hashtablezd2weakzd2keyszf3zf3zz__hashz00(BgL_tablez00_89))
{ /* Llib/weakhash.scm 516 */
BGL_TAIL return 
BGl_weakzd2keyszd2hashtablezd2putz12zc0zz__weakhashz00(BgL_tablez00_89, BgL_keyz00_90, BgL_objz00_91);}  else 
{ /* Llib/weakhash.scm 516 */
BGL_TAIL return 
BGl_weakzd2oldzd2hashtablezd2putz12zc0zz__weakhashz00(BgL_tablez00_89, BgL_keyz00_90, BgL_objz00_91);} } 

}



/* &weak-hashtable-put! */
obj_t BGl_z62weakzd2hashtablezd2putz12z70zz__weakhashz00(obj_t BgL_envz00_4520, obj_t BgL_tablez00_4521, obj_t BgL_keyz00_4522, obj_t BgL_objz00_4523)
{
{ /* Llib/weakhash.scm 515 */
{ /* Llib/weakhash.scm 516 */
 obj_t BgL_auxz00_9416;
if(
STRUCTP(BgL_tablez00_4521))
{ /* Llib/weakhash.scm 516 */
BgL_auxz00_9416 = BgL_tablez00_4521
; }  else 
{ 
 obj_t BgL_auxz00_9419;
BgL_auxz00_9419 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(20423L), BGl_string3546z00zz__weakhashz00, BGl_string3487z00zz__weakhashz00, BgL_tablez00_4521); 
FAILURE(BgL_auxz00_9419,BFALSE,BFALSE);} 
return 
BGl_weakzd2hashtablezd2putz12z12zz__weakhashz00(BgL_auxz00_9416, BgL_keyz00_4522, BgL_objz00_4523);} } 

}



/* weak-keys-hashtable-update! */
obj_t BGl_weakzd2keyszd2hashtablezd2updatez12zc0zz__weakhashz00(obj_t BgL_tablez00_92, obj_t BgL_keyz00_93, obj_t BgL_procz00_94, obj_t BgL_objz00_95)
{
{ /* Llib/weakhash.scm 523 */
{ /* Llib/weakhash.scm 524 */
 obj_t BgL_bucketsz00_1739;
{ /* Llib/weakhash.scm 524 */
 bool_t BgL_test4269z00_9424;
{ /* Llib/weakhash.scm 524 */
 obj_t BgL_tmpz00_9425;
{ /* Llib/weakhash.scm 524 */
 obj_t BgL_res2272z00_3430;
{ /* Llib/weakhash.scm 524 */
 obj_t BgL_aux3082z00_5322;
BgL_aux3082z00_5322 = 
STRUCT_KEY(BgL_tablez00_92); 
if(
SYMBOLP(BgL_aux3082z00_5322))
{ /* Llib/weakhash.scm 524 */
BgL_res2272z00_3430 = BgL_aux3082z00_5322; }  else 
{ 
 obj_t BgL_auxz00_9429;
BgL_auxz00_9429 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(20876L), BGl_string3547z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3082z00_5322); 
FAILURE(BgL_auxz00_9429,BFALSE,BFALSE);} } 
BgL_tmpz00_9425 = BgL_res2272z00_3430; } 
BgL_test4269z00_9424 = 
(BgL_tmpz00_9425==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4269z00_9424)
{ /* Llib/weakhash.scm 524 */
 int BgL_tmpz00_9434;
BgL_tmpz00_9434 = 
(int)(2L); 
BgL_bucketsz00_1739 = 
STRUCT_REF(BgL_tablez00_92, BgL_tmpz00_9434); }  else 
{ /* Llib/weakhash.scm 524 */
BgL_bucketsz00_1739 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_92); } } 
{ /* Llib/weakhash.scm 524 */
 long BgL_bucketzd2lenzd2_1740;
{ /* Llib/weakhash.scm 525 */
 obj_t BgL_vectorz00_3431;
if(
VECTORP(BgL_bucketsz00_1739))
{ /* Llib/weakhash.scm 525 */
BgL_vectorz00_3431 = BgL_bucketsz00_1739; }  else 
{ 
 obj_t BgL_auxz00_9440;
BgL_auxz00_9440 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(20934L), BGl_string3547z00zz__weakhashz00, BGl_string3447z00zz__weakhashz00, BgL_bucketsz00_1739); 
FAILURE(BgL_auxz00_9440,BFALSE,BFALSE);} 
BgL_bucketzd2lenzd2_1740 = 
VECTOR_LENGTH(BgL_vectorz00_3431); } 
{ /* Llib/weakhash.scm 525 */
 long BgL_bucketzd2numzd2_1741;
{ /* Llib/weakhash.scm 526 */
 long BgL_arg1630z00_1772;
BgL_arg1630z00_1772 = 
BGl_tablezd2getzd2hashnumberz00zz__weakhashz00(BgL_tablez00_92, BgL_keyz00_93); 
{ /* Llib/weakhash.scm 526 */
 long BgL_n1z00_3432; long BgL_n2z00_3433;
BgL_n1z00_3432 = BgL_arg1630z00_1772; 
BgL_n2z00_3433 = BgL_bucketzd2lenzd2_1740; 
{ /* Llib/weakhash.scm 526 */
 bool_t BgL_test4272z00_9446;
{ /* Llib/weakhash.scm 526 */
 long BgL_arg2034z00_3435;
BgL_arg2034z00_3435 = 
(((BgL_n1z00_3432) | (BgL_n2z00_3433)) & -2147483648); 
BgL_test4272z00_9446 = 
(BgL_arg2034z00_3435==0L); } 
if(BgL_test4272z00_9446)
{ /* Llib/weakhash.scm 526 */
 int32_t BgL_arg2031z00_3436;
{ /* Llib/weakhash.scm 526 */
 int32_t BgL_arg2032z00_3437; int32_t BgL_arg2033z00_3438;
BgL_arg2032z00_3437 = 
(int32_t)(BgL_n1z00_3432); 
BgL_arg2033z00_3438 = 
(int32_t)(BgL_n2z00_3433); 
BgL_arg2031z00_3436 = 
(BgL_arg2032z00_3437%BgL_arg2033z00_3438); } 
{ /* Llib/weakhash.scm 526 */
 long BgL_arg2142z00_3443;
BgL_arg2142z00_3443 = 
(long)(BgL_arg2031z00_3436); 
BgL_bucketzd2numzd2_1741 = 
(long)(BgL_arg2142z00_3443); } }  else 
{ /* Llib/weakhash.scm 526 */
BgL_bucketzd2numzd2_1741 = 
(BgL_n1z00_3432%BgL_n2z00_3433); } } } } 
{ /* Llib/weakhash.scm 526 */
 obj_t BgL_bucketz00_1742;
{ /* Llib/weakhash.scm 527 */
 obj_t BgL_vectorz00_3445;
if(
VECTORP(BgL_bucketsz00_1739))
{ /* Llib/weakhash.scm 527 */
BgL_vectorz00_3445 = BgL_bucketsz00_1739; }  else 
{ 
 obj_t BgL_auxz00_9457;
BgL_auxz00_9457 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(21044L), BGl_string3547z00zz__weakhashz00, BGl_string3447z00zz__weakhashz00, BgL_bucketsz00_1739); 
FAILURE(BgL_auxz00_9457,BFALSE,BFALSE);} 
BgL_bucketz00_1742 = 
VECTOR_REF(BgL_vectorz00_3445,BgL_bucketzd2numzd2_1741); } 
{ /* Llib/weakhash.scm 527 */
 obj_t BgL_maxzd2bucketzd2lenz00_1743;
{ /* Llib/weakhash.scm 528 */
 bool_t BgL_test4274z00_9462;
{ /* Llib/weakhash.scm 528 */
 obj_t BgL_tmpz00_9463;
{ /* Llib/weakhash.scm 528 */
 obj_t BgL_res2273z00_3450;
{ /* Llib/weakhash.scm 528 */
 obj_t BgL_aux3088z00_5328;
BgL_aux3088z00_5328 = 
STRUCT_KEY(BgL_tablez00_92); 
if(
SYMBOLP(BgL_aux3088z00_5328))
{ /* Llib/weakhash.scm 528 */
BgL_res2273z00_3450 = BgL_aux3088z00_5328; }  else 
{ 
 obj_t BgL_auxz00_9467;
BgL_auxz00_9467 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(21084L), BGl_string3547z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3088z00_5328); 
FAILURE(BgL_auxz00_9467,BFALSE,BFALSE);} } 
BgL_tmpz00_9463 = BgL_res2273z00_3450; } 
BgL_test4274z00_9462 = 
(BgL_tmpz00_9463==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4274z00_9462)
{ /* Llib/weakhash.scm 528 */
 int BgL_tmpz00_9472;
BgL_tmpz00_9472 = 
(int)(1L); 
BgL_maxzd2bucketzd2lenz00_1743 = 
STRUCT_REF(BgL_tablez00_92, BgL_tmpz00_9472); }  else 
{ /* Llib/weakhash.scm 528 */
BgL_maxzd2bucketzd2lenz00_1743 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_92); } } 
{ /* Llib/weakhash.scm 528 */

if(
NULLP(BgL_bucketz00_1742))
{ /* Llib/weakhash.scm 529 */
{ /* Llib/weakhash.scm 531 */
 long BgL_arg1607z00_1745;
{ /* Llib/weakhash.scm 531 */
 obj_t BgL_arg1608z00_1746;
{ /* Llib/weakhash.scm 531 */
 bool_t BgL_test4277z00_9478;
{ /* Llib/weakhash.scm 531 */
 obj_t BgL_tmpz00_9479;
{ /* Llib/weakhash.scm 531 */
 obj_t BgL_res2274z00_3454;
{ /* Llib/weakhash.scm 531 */
 obj_t BgL_aux3090z00_5330;
BgL_aux3090z00_5330 = 
STRUCT_KEY(BgL_tablez00_92); 
if(
SYMBOLP(BgL_aux3090z00_5330))
{ /* Llib/weakhash.scm 531 */
BgL_res2274z00_3454 = BgL_aux3090z00_5330; }  else 
{ 
 obj_t BgL_auxz00_9483;
BgL_auxz00_9483 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(21194L), BGl_string3547z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3090z00_5330); 
FAILURE(BgL_auxz00_9483,BFALSE,BFALSE);} } 
BgL_tmpz00_9479 = BgL_res2274z00_3454; } 
BgL_test4277z00_9478 = 
(BgL_tmpz00_9479==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4277z00_9478)
{ /* Llib/weakhash.scm 531 */
 int BgL_tmpz00_9488;
BgL_tmpz00_9488 = 
(int)(0L); 
BgL_arg1608z00_1746 = 
STRUCT_REF(BgL_tablez00_92, BgL_tmpz00_9488); }  else 
{ /* Llib/weakhash.scm 531 */
BgL_arg1608z00_1746 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_92); } } 
{ /* Llib/weakhash.scm 531 */
 long BgL_za71za7_3455;
{ /* Llib/weakhash.scm 531 */
 obj_t BgL_tmpz00_9492;
if(
INTEGERP(BgL_arg1608z00_1746))
{ /* Llib/weakhash.scm 531 */
BgL_tmpz00_9492 = BgL_arg1608z00_1746
; }  else 
{ 
 obj_t BgL_auxz00_9495;
BgL_auxz00_9495 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(21216L), BGl_string3547z00zz__weakhashz00, BGl_string3442z00zz__weakhashz00, BgL_arg1608z00_1746); 
FAILURE(BgL_auxz00_9495,BFALSE,BFALSE);} 
BgL_za71za7_3455 = 
(long)CINT(BgL_tmpz00_9492); } 
BgL_arg1607z00_1745 = 
(BgL_za71za7_3455+1L); } } 
{ /* Llib/weakhash.scm 531 */
 bool_t BgL_test4280z00_9501;
{ /* Llib/weakhash.scm 531 */
 obj_t BgL_tmpz00_9502;
{ /* Llib/weakhash.scm 531 */
 obj_t BgL_res2275z00_3459;
{ /* Llib/weakhash.scm 531 */
 obj_t BgL_aux3093z00_5333;
BgL_aux3093z00_5333 = 
STRUCT_KEY(BgL_tablez00_92); 
if(
SYMBOLP(BgL_aux3093z00_5333))
{ /* Llib/weakhash.scm 531 */
BgL_res2275z00_3459 = BgL_aux3093z00_5333; }  else 
{ 
 obj_t BgL_auxz00_9506;
BgL_auxz00_9506 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(21161L), BGl_string3547z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3093z00_5333); 
FAILURE(BgL_auxz00_9506,BFALSE,BFALSE);} } 
BgL_tmpz00_9502 = BgL_res2275z00_3459; } 
BgL_test4280z00_9501 = 
(BgL_tmpz00_9502==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4280z00_9501)
{ /* Llib/weakhash.scm 531 */
 obj_t BgL_auxz00_9513; int BgL_tmpz00_9511;
BgL_auxz00_9513 = 
BINT(BgL_arg1607z00_1745); 
BgL_tmpz00_9511 = 
(int)(0L); 
STRUCT_SET(BgL_tablez00_92, BgL_tmpz00_9511, BgL_auxz00_9513); }  else 
{ /* Llib/weakhash.scm 531 */
BGl_errorz00zz__errorz00(BGl_string3452z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_92); } } } 
{ /* Llib/weakhash.scm 532 */
 obj_t BgL_arg1609z00_1747;
{ /* Llib/weakhash.scm 532 */
 obj_t BgL_arg1610z00_1748;
BgL_arg1610z00_1748 = 
MAKE_YOUNG_PAIR(BgL_keyz00_93, BgL_objz00_95); 
{ /* Llib/weakhash.scm 532 */
 obj_t BgL_list1611z00_1749;
BgL_list1611z00_1749 = 
MAKE_YOUNG_PAIR(BgL_arg1610z00_1748, BNIL); 
BgL_arg1609z00_1747 = BgL_list1611z00_1749; } } 
{ /* Llib/weakhash.scm 532 */
 obj_t BgL_vectorz00_3461;
if(
VECTORP(BgL_bucketsz00_1739))
{ /* Llib/weakhash.scm 532 */
BgL_vectorz00_3461 = BgL_bucketsz00_1739; }  else 
{ 
 obj_t BgL_auxz00_9521;
BgL_auxz00_9521 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(21244L), BGl_string3547z00zz__weakhashz00, BGl_string3447z00zz__weakhashz00, BgL_bucketsz00_1739); 
FAILURE(BgL_auxz00_9521,BFALSE,BFALSE);} 
VECTOR_SET(BgL_vectorz00_3461,BgL_bucketzd2numzd2_1741,BgL_arg1609z00_1747); } } 
return BgL_objz00_95;}  else 
{ 
 obj_t BgL_buckz00_1751; long BgL_countz00_1752;
BgL_buckz00_1751 = BgL_bucketz00_1742; 
BgL_countz00_1752 = 0L; 
BgL_zc3z04anonymousza31612ze3z87_1753:
if(
NULLP(BgL_buckz00_1751))
{ /* Llib/weakhash.scm 537 */
{ /* Llib/weakhash.scm 538 */
 long BgL_arg1614z00_1755;
{ /* Llib/weakhash.scm 538 */
 obj_t BgL_arg1615z00_1756;
{ /* Llib/weakhash.scm 538 */
 bool_t BgL_test4284z00_9528;
{ /* Llib/weakhash.scm 538 */
 obj_t BgL_tmpz00_9529;
{ /* Llib/weakhash.scm 538 */
 obj_t BgL_res2277z00_3466;
{ /* Llib/weakhash.scm 538 */
 obj_t BgL_aux3097z00_5337;
BgL_aux3097z00_5337 = 
STRUCT_KEY(BgL_tablez00_92); 
if(
SYMBOLP(BgL_aux3097z00_5337))
{ /* Llib/weakhash.scm 538 */
BgL_res2277z00_3466 = BgL_aux3097z00_5337; }  else 
{ 
 obj_t BgL_auxz00_9533;
BgL_auxz00_9533 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(21407L), BGl_string3456z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3097z00_5337); 
FAILURE(BgL_auxz00_9533,BFALSE,BFALSE);} } 
BgL_tmpz00_9529 = BgL_res2277z00_3466; } 
BgL_test4284z00_9528 = 
(BgL_tmpz00_9529==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4284z00_9528)
{ /* Llib/weakhash.scm 538 */
 int BgL_tmpz00_9538;
BgL_tmpz00_9538 = 
(int)(0L); 
BgL_arg1615z00_1756 = 
STRUCT_REF(BgL_tablez00_92, BgL_tmpz00_9538); }  else 
{ /* Llib/weakhash.scm 538 */
BgL_arg1615z00_1756 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_92); } } 
{ /* Llib/weakhash.scm 538 */
 long BgL_za71za7_3467;
{ /* Llib/weakhash.scm 538 */
 obj_t BgL_tmpz00_9542;
if(
INTEGERP(BgL_arg1615z00_1756))
{ /* Llib/weakhash.scm 538 */
BgL_tmpz00_9542 = BgL_arg1615z00_1756
; }  else 
{ 
 obj_t BgL_auxz00_9545;
BgL_auxz00_9545 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(21429L), BGl_string3456z00zz__weakhashz00, BGl_string3442z00zz__weakhashz00, BgL_arg1615z00_1756); 
FAILURE(BgL_auxz00_9545,BFALSE,BFALSE);} 
BgL_za71za7_3467 = 
(long)CINT(BgL_tmpz00_9542); } 
BgL_arg1614z00_1755 = 
(BgL_za71za7_3467+1L); } } 
{ /* Llib/weakhash.scm 538 */
 bool_t BgL_test4287z00_9551;
{ /* Llib/weakhash.scm 538 */
 obj_t BgL_tmpz00_9552;
{ /* Llib/weakhash.scm 538 */
 obj_t BgL_res2278z00_3471;
{ /* Llib/weakhash.scm 538 */
 obj_t BgL_aux3100z00_5340;
BgL_aux3100z00_5340 = 
STRUCT_KEY(BgL_tablez00_92); 
if(
SYMBOLP(BgL_aux3100z00_5340))
{ /* Llib/weakhash.scm 538 */
BgL_res2278z00_3471 = BgL_aux3100z00_5340; }  else 
{ 
 obj_t BgL_auxz00_9556;
BgL_auxz00_9556 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(21374L), BGl_string3456z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3100z00_5340); 
FAILURE(BgL_auxz00_9556,BFALSE,BFALSE);} } 
BgL_tmpz00_9552 = BgL_res2278z00_3471; } 
BgL_test4287z00_9551 = 
(BgL_tmpz00_9552==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4287z00_9551)
{ /* Llib/weakhash.scm 538 */
 obj_t BgL_auxz00_9563; int BgL_tmpz00_9561;
BgL_auxz00_9563 = 
BINT(BgL_arg1614z00_1755); 
BgL_tmpz00_9561 = 
(int)(0L); 
STRUCT_SET(BgL_tablez00_92, BgL_tmpz00_9561, BgL_auxz00_9563); }  else 
{ /* Llib/weakhash.scm 538 */
BGl_errorz00zz__errorz00(BGl_string3452z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_92); } } } 
{ /* Llib/weakhash.scm 540 */
 obj_t BgL_arg1616z00_1757;
BgL_arg1616z00_1757 = 
MAKE_YOUNG_PAIR(
bgl_make_weakptr(BgL_keyz00_93, BgL_objz00_95), BgL_bucketz00_1742); 
{ /* Llib/weakhash.scm 539 */
 obj_t BgL_vectorz00_3472;
if(
VECTORP(BgL_bucketsz00_1739))
{ /* Llib/weakhash.scm 539 */
BgL_vectorz00_3472 = BgL_bucketsz00_1739; }  else 
{ 
 obj_t BgL_auxz00_9571;
BgL_auxz00_9571 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(21454L), BGl_string3456z00zz__weakhashz00, BGl_string3447z00zz__weakhashz00, BgL_bucketsz00_1739); 
FAILURE(BgL_auxz00_9571,BFALSE,BFALSE);} 
VECTOR_SET(BgL_vectorz00_3472,BgL_bucketzd2numzd2_1741,BgL_arg1616z00_1757); } } 
{ /* Llib/weakhash.scm 541 */
 bool_t BgL_test4290z00_9576;
{ /* Llib/weakhash.scm 541 */
 long BgL_n2z00_3475;
{ /* Llib/weakhash.scm 541 */
 obj_t BgL_tmpz00_9577;
if(
INTEGERP(BgL_maxzd2bucketzd2lenz00_1743))
{ /* Llib/weakhash.scm 541 */
BgL_tmpz00_9577 = BgL_maxzd2bucketzd2lenz00_1743
; }  else 
{ 
 obj_t BgL_auxz00_9580;
BgL_auxz00_9580 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(21537L), BGl_string3456z00zz__weakhashz00, BGl_string3442z00zz__weakhashz00, BgL_maxzd2bucketzd2lenz00_1743); 
FAILURE(BgL_auxz00_9580,BFALSE,BFALSE);} 
BgL_n2z00_3475 = 
(long)CINT(BgL_tmpz00_9577); } 
BgL_test4290z00_9576 = 
(BgL_countz00_1752>BgL_n2z00_3475); } 
if(BgL_test4290z00_9576)
{ /* Llib/weakhash.scm 541 */
BGl_weakzd2keyszd2hashtablezd2expandz12zc0zz__weakhashz00(BgL_tablez00_92); }  else 
{ /* Llib/weakhash.scm 541 */BFALSE; } } 
return BgL_objz00_95;}  else 
{ /* Llib/weakhash.scm 544 */
 bool_t BgL_test4292z00_9587;
{ /* Llib/weakhash.scm 544 */
 obj_t BgL_arg1628z00_1769;
{ /* Llib/weakhash.scm 544 */
 obj_t BgL_arg1629z00_1770;
{ /* Llib/weakhash.scm 544 */
 obj_t BgL_pairz00_3476;
if(
PAIRP(BgL_buckz00_1751))
{ /* Llib/weakhash.scm 544 */
BgL_pairz00_3476 = BgL_buckz00_1751; }  else 
{ 
 obj_t BgL_auxz00_9590;
BgL_auxz00_9590 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(21650L), BGl_string3456z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_buckz00_1751); 
FAILURE(BgL_auxz00_9590,BFALSE,BFALSE);} 
BgL_arg1629z00_1770 = 
CAR(BgL_pairz00_3476); } 
{ /* Llib/weakhash.scm 544 */
 obj_t BgL_objz00_3477;
if(
BGL_WEAKPTRP(BgL_arg1629z00_1770))
{ /* Llib/weakhash.scm 544 */
BgL_objz00_3477 = BgL_arg1629z00_1770; }  else 
{ 
 obj_t BgL_auxz00_9597;
BgL_auxz00_9597 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(21654L), BGl_string3456z00zz__weakhashz00, BGl_string3451z00zz__weakhashz00, BgL_arg1629z00_1770); 
FAILURE(BgL_auxz00_9597,BFALSE,BFALSE);} 
BgL_arg1628z00_1769 = 
bgl_weakptr_data(BgL_objz00_3477); } } 
{ /* Llib/weakhash.scm 544 */
 obj_t BgL_eqtz00_3478;
{ /* Llib/weakhash.scm 544 */
 bool_t BgL_test4295z00_9602;
{ /* Llib/weakhash.scm 544 */
 obj_t BgL_tmpz00_9603;
{ /* Llib/weakhash.scm 544 */
 obj_t BgL_res2279z00_3485;
{ /* Llib/weakhash.scm 544 */
 obj_t BgL_aux3109z00_5349;
BgL_aux3109z00_5349 = 
STRUCT_KEY(BgL_tablez00_92); 
if(
SYMBOLP(BgL_aux3109z00_5349))
{ /* Llib/weakhash.scm 544 */
BgL_res2279z00_3485 = BgL_aux3109z00_5349; }  else 
{ 
 obj_t BgL_auxz00_9607;
BgL_auxz00_9607 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(21607L), BGl_string3456z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3109z00_5349); 
FAILURE(BgL_auxz00_9607,BFALSE,BFALSE);} } 
BgL_tmpz00_9603 = BgL_res2279z00_3485; } 
BgL_test4295z00_9602 = 
(BgL_tmpz00_9603==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4295z00_9602)
{ /* Llib/weakhash.scm 544 */
 int BgL_tmpz00_9612;
BgL_tmpz00_9612 = 
(int)(3L); 
BgL_eqtz00_3478 = 
STRUCT_REF(BgL_tablez00_92, BgL_tmpz00_9612); }  else 
{ /* Llib/weakhash.scm 544 */
BgL_eqtz00_3478 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_92); } } 
if(
PROCEDUREP(BgL_eqtz00_3478))
{ /* Llib/weakhash.scm 544 */
if(
PROCEDURE_CORRECT_ARITYP(BgL_eqtz00_3478, 2L))
{ /* Llib/weakhash.scm 544 */
BgL_test4292z00_9587 = 
CBOOL(
(VA_PROCEDUREP( BgL_eqtz00_3478 ) ? ((obj_t (*)(obj_t, ...))PROCEDURE_ENTRY(BgL_eqtz00_3478))(BgL_eqtz00_3478, BgL_arg1628z00_1769, BgL_keyz00_93, BEOA) : ((obj_t (*)(obj_t, obj_t, obj_t))PROCEDURE_ENTRY(BgL_eqtz00_3478))(BgL_eqtz00_3478, BgL_arg1628z00_1769, BgL_keyz00_93) ))
; }  else 
{ /* Llib/weakhash.scm 544 */
FAILURE(BGl_string3517z00zz__weakhashz00,BGl_list3548z00zz__weakhashz00,BgL_eqtz00_3478);} }  else 
{ /* Llib/weakhash.scm 544 */
if(
(BgL_arg1628z00_1769==BgL_keyz00_93))
{ /* Llib/weakhash.scm 544 */
BgL_test4292z00_9587 = ((bool_t)1)
; }  else 
{ /* Llib/weakhash.scm 544 */
if(
STRINGP(BgL_arg1628z00_1769))
{ /* Llib/weakhash.scm 544 */
if(
STRINGP(BgL_keyz00_93))
{ /* Llib/weakhash.scm 544 */
 long BgL_l1z00_3488;
BgL_l1z00_3488 = 
STRING_LENGTH(BgL_arg1628z00_1769); 
if(
(BgL_l1z00_3488==
STRING_LENGTH(BgL_keyz00_93)))
{ /* Llib/weakhash.scm 544 */
 int BgL_arg1926z00_3491;
{ /* Llib/weakhash.scm 544 */
 char * BgL_auxz00_9639; char * BgL_tmpz00_9637;
BgL_auxz00_9639 = 
BSTRING_TO_STRING(BgL_keyz00_93); 
BgL_tmpz00_9637 = 
BSTRING_TO_STRING(BgL_arg1628z00_1769); 
BgL_arg1926z00_3491 = 
memcmp(BgL_tmpz00_9637, BgL_auxz00_9639, BgL_l1z00_3488); } 
BgL_test4292z00_9587 = 
(
(long)(BgL_arg1926z00_3491)==0L); }  else 
{ /* Llib/weakhash.scm 544 */
BgL_test4292z00_9587 = ((bool_t)0)
; } }  else 
{ /* Llib/weakhash.scm 544 */
BgL_test4292z00_9587 = ((bool_t)0)
; } }  else 
{ /* Llib/weakhash.scm 544 */
BgL_test4292z00_9587 = ((bool_t)0)
; } } } } } 
if(BgL_test4292z00_9587)
{ /* Llib/weakhash.scm 545 */
 obj_t BgL_resz00_1763;
{ /* Llib/weakhash.scm 545 */
 obj_t BgL_arg1623z00_1765;
{ /* Llib/weakhash.scm 545 */
 obj_t BgL_arg1625z00_1766;
{ /* Llib/weakhash.scm 545 */
 obj_t BgL_pairz00_3497;
if(
PAIRP(BgL_buckz00_1751))
{ /* Llib/weakhash.scm 545 */
BgL_pairz00_3497 = BgL_buckz00_1751; }  else 
{ 
 obj_t BgL_auxz00_9646;
BgL_auxz00_9646 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(21700L), BGl_string3456z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_buckz00_1751); 
FAILURE(BgL_auxz00_9646,BFALSE,BFALSE);} 
BgL_arg1625z00_1766 = 
CAR(BgL_pairz00_3497); } 
{ /* Llib/weakhash.scm 545 */
 obj_t BgL_objz00_3498;
if(
BGL_WEAKPTRP(BgL_arg1625z00_1766))
{ /* Llib/weakhash.scm 545 */
BgL_objz00_3498 = BgL_arg1625z00_1766; }  else 
{ 
 obj_t BgL_auxz00_9653;
BgL_auxz00_9653 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(21704L), BGl_string3456z00zz__weakhashz00, BGl_string3451z00zz__weakhashz00, BgL_arg1625z00_1766); 
FAILURE(BgL_auxz00_9653,BFALSE,BFALSE);} 
BgL_arg1623z00_1765 = 
bgl_weakptr_ref(BgL_objz00_3498); } } 
if(
PROCEDURE_CORRECT_ARITYP(BgL_procz00_94, 1L))
{ /* Llib/weakhash.scm 545 */
BgL_resz00_1763 = 
(VA_PROCEDUREP( BgL_procz00_94 ) ? ((obj_t (*)(obj_t, ...))PROCEDURE_ENTRY(BgL_procz00_94))(BgL_procz00_94, BgL_arg1623z00_1765, BEOA) : ((obj_t (*)(obj_t, obj_t))PROCEDURE_ENTRY(BgL_procz00_94))(BgL_procz00_94, BgL_arg1623z00_1765) ); }  else 
{ /* Llib/weakhash.scm 545 */
FAILURE(BGl_string3517z00zz__weakhashz00,BGl_list3551z00zz__weakhashz00,BgL_procz00_94);} } 
{ /* Llib/weakhash.scm 546 */
 obj_t BgL_arg1622z00_1764;
{ /* Llib/weakhash.scm 546 */
 obj_t BgL_pairz00_3499;
if(
PAIRP(BgL_buckz00_1751))
{ /* Llib/weakhash.scm 546 */
BgL_pairz00_3499 = BgL_buckz00_1751; }  else 
{ 
 obj_t BgL_auxz00_9667;
BgL_auxz00_9667 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(21739L), BGl_string3456z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_buckz00_1751); 
FAILURE(BgL_auxz00_9667,BFALSE,BFALSE);} 
BgL_arg1622z00_1764 = 
CAR(BgL_pairz00_3499); } 
{ /* Llib/weakhash.scm 546 */
 obj_t BgL_ptrz00_3500;
if(
BGL_WEAKPTRP(BgL_arg1622z00_1764))
{ /* Llib/weakhash.scm 546 */
BgL_ptrz00_3500 = BgL_arg1622z00_1764; }  else 
{ 
 obj_t BgL_auxz00_9674;
BgL_auxz00_9674 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(21743L), BGl_string3456z00zz__weakhashz00, BGl_string3451z00zz__weakhashz00, BgL_arg1622z00_1764); 
FAILURE(BgL_auxz00_9674,BFALSE,BFALSE);} 
bgl_weakptr_ref_set(BgL_ptrz00_3500, BgL_resz00_1763); BUNSPEC; BUNSPEC; } } 
return BgL_resz00_1763;}  else 
{ /* Llib/weakhash.scm 549 */
 obj_t BgL_arg1626z00_1767; long BgL_arg1627z00_1768;
{ /* Llib/weakhash.scm 549 */
 obj_t BgL_pairz00_3501;
if(
PAIRP(BgL_buckz00_1751))
{ /* Llib/weakhash.scm 549 */
BgL_pairz00_3501 = BgL_buckz00_1751; }  else 
{ 
 obj_t BgL_auxz00_9681;
BgL_auxz00_9681 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(21784L), BGl_string3456z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_buckz00_1751); 
FAILURE(BgL_auxz00_9681,BFALSE,BFALSE);} 
BgL_arg1626z00_1767 = 
CDR(BgL_pairz00_3501); } 
BgL_arg1627z00_1768 = 
(BgL_countz00_1752+1L); 
{ 
 long BgL_countz00_9688; obj_t BgL_buckz00_9687;
BgL_buckz00_9687 = BgL_arg1626z00_1767; 
BgL_countz00_9688 = BgL_arg1627z00_1768; 
BgL_countz00_1752 = BgL_countz00_9688; 
BgL_buckz00_1751 = BgL_buckz00_9687; 
goto BgL_zc3z04anonymousza31612ze3z87_1753;} } } } } } } } } } } 

}



/* weak-old-hashtable-update! */
obj_t BGl_weakzd2oldzd2hashtablezd2updatez12zc0zz__weakhashz00(obj_t BgL_tablez00_96, obj_t BgL_keyz00_97, obj_t BgL_procz00_98, obj_t BgL_objz00_99)
{
{ /* Llib/weakhash.scm 554 */
{ /* Llib/weakhash.scm 555 */
 obj_t BgL_bucketsz00_1773;
{ /* Llib/weakhash.scm 555 */
 bool_t BgL_test4309z00_9689;
{ /* Llib/weakhash.scm 555 */
 obj_t BgL_tmpz00_9690;
{ /* Llib/weakhash.scm 555 */
 obj_t BgL_res2280z00_3506;
{ /* Llib/weakhash.scm 555 */
 obj_t BgL_aux3123z00_5365;
BgL_aux3123z00_5365 = 
STRUCT_KEY(BgL_tablez00_96); 
if(
SYMBOLP(BgL_aux3123z00_5365))
{ /* Llib/weakhash.scm 555 */
BgL_res2280z00_3506 = BgL_aux3123z00_5365; }  else 
{ 
 obj_t BgL_auxz00_9694;
BgL_auxz00_9694 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(22136L), BGl_string3556z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3123z00_5365); 
FAILURE(BgL_auxz00_9694,BFALSE,BFALSE);} } 
BgL_tmpz00_9690 = BgL_res2280z00_3506; } 
BgL_test4309z00_9689 = 
(BgL_tmpz00_9690==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4309z00_9689)
{ /* Llib/weakhash.scm 555 */
 int BgL_tmpz00_9699;
BgL_tmpz00_9699 = 
(int)(2L); 
BgL_bucketsz00_1773 = 
STRUCT_REF(BgL_tablez00_96, BgL_tmpz00_9699); }  else 
{ /* Llib/weakhash.scm 555 */
BgL_bucketsz00_1773 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_96); } } 
{ /* Llib/weakhash.scm 555 */
 long BgL_bucketzd2lenzd2_1774;
{ /* Llib/weakhash.scm 556 */
 obj_t BgL_vectorz00_3507;
if(
VECTORP(BgL_bucketsz00_1773))
{ /* Llib/weakhash.scm 556 */
BgL_vectorz00_3507 = BgL_bucketsz00_1773; }  else 
{ 
 obj_t BgL_auxz00_9705;
BgL_auxz00_9705 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(22194L), BGl_string3556z00zz__weakhashz00, BGl_string3447z00zz__weakhashz00, BgL_bucketsz00_1773); 
FAILURE(BgL_auxz00_9705,BFALSE,BFALSE);} 
BgL_bucketzd2lenzd2_1774 = 
VECTOR_LENGTH(BgL_vectorz00_3507); } 
{ /* Llib/weakhash.scm 556 */
 long BgL_bucketzd2numzd2_1775;
{ /* Llib/weakhash.scm 557 */
 long BgL_arg1654z00_1808;
BgL_arg1654z00_1808 = 
BGl_tablezd2getzd2hashnumberz00zz__weakhashz00(BgL_tablez00_96, BgL_keyz00_97); 
{ /* Llib/weakhash.scm 557 */
 long BgL_n1z00_3508; long BgL_n2z00_3509;
BgL_n1z00_3508 = BgL_arg1654z00_1808; 
BgL_n2z00_3509 = BgL_bucketzd2lenzd2_1774; 
{ /* Llib/weakhash.scm 557 */
 bool_t BgL_test4312z00_9711;
{ /* Llib/weakhash.scm 557 */
 long BgL_arg2034z00_3511;
BgL_arg2034z00_3511 = 
(((BgL_n1z00_3508) | (BgL_n2z00_3509)) & -2147483648); 
BgL_test4312z00_9711 = 
(BgL_arg2034z00_3511==0L); } 
if(BgL_test4312z00_9711)
{ /* Llib/weakhash.scm 557 */
 int32_t BgL_arg2031z00_3512;
{ /* Llib/weakhash.scm 557 */
 int32_t BgL_arg2032z00_3513; int32_t BgL_arg2033z00_3514;
BgL_arg2032z00_3513 = 
(int32_t)(BgL_n1z00_3508); 
BgL_arg2033z00_3514 = 
(int32_t)(BgL_n2z00_3509); 
BgL_arg2031z00_3512 = 
(BgL_arg2032z00_3513%BgL_arg2033z00_3514); } 
{ /* Llib/weakhash.scm 557 */
 long BgL_arg2142z00_3519;
BgL_arg2142z00_3519 = 
(long)(BgL_arg2031z00_3512); 
BgL_bucketzd2numzd2_1775 = 
(long)(BgL_arg2142z00_3519); } }  else 
{ /* Llib/weakhash.scm 557 */
BgL_bucketzd2numzd2_1775 = 
(BgL_n1z00_3508%BgL_n2z00_3509); } } } } 
{ /* Llib/weakhash.scm 557 */
 obj_t BgL_bucketz00_1776;
{ /* Llib/weakhash.scm 558 */
 obj_t BgL_vectorz00_3521;
if(
VECTORP(BgL_bucketsz00_1773))
{ /* Llib/weakhash.scm 558 */
BgL_vectorz00_3521 = BgL_bucketsz00_1773; }  else 
{ 
 obj_t BgL_auxz00_9722;
BgL_auxz00_9722 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(22301L), BGl_string3556z00zz__weakhashz00, BGl_string3447z00zz__weakhashz00, BgL_bucketsz00_1773); 
FAILURE(BgL_auxz00_9722,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 558 */
 bool_t BgL_test4314z00_9726;
{ /* Llib/weakhash.scm 558 */
 long BgL_tmpz00_9727;
BgL_tmpz00_9727 = 
VECTOR_LENGTH(BgL_vectorz00_3521); 
BgL_test4314z00_9726 = 
BOUND_CHECK(BgL_bucketzd2numzd2_1775, BgL_tmpz00_9727); } 
if(BgL_test4314z00_9726)
{ /* Llib/weakhash.scm 558 */
BgL_bucketz00_1776 = 
VECTOR_REF(BgL_vectorz00_3521,BgL_bucketzd2numzd2_1775); }  else 
{ 
 obj_t BgL_auxz00_9731;
BgL_auxz00_9731 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(22289L), BGl_string3448z00zz__weakhashz00, BgL_vectorz00_3521, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_3521)), 
(int)(BgL_bucketzd2numzd2_1775)); 
FAILURE(BgL_auxz00_9731,BFALSE,BFALSE);} } } 
{ /* Llib/weakhash.scm 558 */
 obj_t BgL_maxzd2bucketzd2lenz00_1777;
{ /* Llib/weakhash.scm 559 */
 bool_t BgL_test4315z00_9738;
{ /* Llib/weakhash.scm 559 */
 obj_t BgL_tmpz00_9739;
{ /* Llib/weakhash.scm 559 */
 obj_t BgL_res2281z00_3526;
{ /* Llib/weakhash.scm 559 */
 obj_t BgL_aux3129z00_5371;
BgL_aux3129z00_5371 = 
STRUCT_KEY(BgL_tablez00_96); 
if(
SYMBOLP(BgL_aux3129z00_5371))
{ /* Llib/weakhash.scm 559 */
BgL_res2281z00_3526 = BgL_aux3129z00_5371; }  else 
{ 
 obj_t BgL_auxz00_9743;
BgL_auxz00_9743 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(22341L), BGl_string3556z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3129z00_5371); 
FAILURE(BgL_auxz00_9743,BFALSE,BFALSE);} } 
BgL_tmpz00_9739 = BgL_res2281z00_3526; } 
BgL_test4315z00_9738 = 
(BgL_tmpz00_9739==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4315z00_9738)
{ /* Llib/weakhash.scm 559 */
 int BgL_tmpz00_9748;
BgL_tmpz00_9748 = 
(int)(1L); 
BgL_maxzd2bucketzd2lenz00_1777 = 
STRUCT_REF(BgL_tablez00_96, BgL_tmpz00_9748); }  else 
{ /* Llib/weakhash.scm 559 */
BgL_maxzd2bucketzd2lenz00_1777 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_96); } } 
{ /* Llib/weakhash.scm 559 */
 obj_t BgL_countz00_4534;
BgL_countz00_4534 = 
MAKE_CELL(
BINT(0L)); 
{ /* Llib/weakhash.scm 560 */
 obj_t BgL_foundz00_1779;
{ /* Llib/weakhash.scm 565 */
 obj_t BgL_zc3z04anonymousza31645ze3z87_4524;
{ 
 int BgL_tmpz00_9753;
BgL_tmpz00_9753 = 
(int)(4L); 
BgL_zc3z04anonymousza31645ze3z87_4524 = 
MAKE_L_PROCEDURE(BGl_z62zc3z04anonymousza31645ze3ze5zz__weakhashz00, BgL_tmpz00_9753); } 
PROCEDURE_L_SET(BgL_zc3z04anonymousza31645ze3z87_4524, 
(int)(0L), 
((obj_t)BgL_countz00_4534)); 
PROCEDURE_L_SET(BgL_zc3z04anonymousza31645ze3z87_4524, 
(int)(1L), BgL_procz00_98); 
PROCEDURE_L_SET(BgL_zc3z04anonymousza31645ze3z87_4524, 
(int)(2L), BgL_tablez00_96); 
PROCEDURE_L_SET(BgL_zc3z04anonymousza31645ze3z87_4524, 
(int)(3L), BgL_keyz00_97); 
BgL_foundz00_1779 = 
BGl_traversezd2bucketszd2zz__weakhashz00(BgL_tablez00_96, BgL_bucketsz00_1773, BgL_bucketzd2numzd2_1775, BgL_zc3z04anonymousza31645ze3z87_4524); } 
{ /* Llib/weakhash.scm 562 */

if(
(BgL_foundz00_1779==BGl_keepgoingz00zz__weakhashz00))
{ /* Llib/weakhash.scm 576 */
{ /* Llib/weakhash.scm 579 */
 long BgL_arg1632z00_1780;
{ /* Llib/weakhash.scm 579 */
 obj_t BgL_arg1633z00_1781;
{ /* Llib/weakhash.scm 579 */
 bool_t BgL_test4318z00_9768;
{ /* Llib/weakhash.scm 579 */
 obj_t BgL_tmpz00_9769;
{ /* Llib/weakhash.scm 579 */
 obj_t BgL_res2283z00_3552;
{ /* Llib/weakhash.scm 579 */
 obj_t BgL_aux3131z00_5373;
BgL_aux3131z00_5373 = 
STRUCT_KEY(BgL_tablez00_96); 
if(
SYMBOLP(BgL_aux3131z00_5373))
{ /* Llib/weakhash.scm 579 */
BgL_res2283z00_3552 = BgL_aux3131z00_5373; }  else 
{ 
 obj_t BgL_auxz00_9773;
BgL_auxz00_9773 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(22959L), BGl_string3556z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3131z00_5373); 
FAILURE(BgL_auxz00_9773,BFALSE,BFALSE);} } 
BgL_tmpz00_9769 = BgL_res2283z00_3552; } 
BgL_test4318z00_9768 = 
(BgL_tmpz00_9769==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4318z00_9768)
{ /* Llib/weakhash.scm 579 */
 int BgL_tmpz00_9778;
BgL_tmpz00_9778 = 
(int)(0L); 
BgL_arg1633z00_1781 = 
STRUCT_REF(BgL_tablez00_96, BgL_tmpz00_9778); }  else 
{ /* Llib/weakhash.scm 579 */
BgL_arg1633z00_1781 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_96); } } 
{ /* Llib/weakhash.scm 579 */
 long BgL_za71za7_3553;
{ /* Llib/weakhash.scm 579 */
 obj_t BgL_tmpz00_9782;
if(
INTEGERP(BgL_arg1633z00_1781))
{ /* Llib/weakhash.scm 579 */
BgL_tmpz00_9782 = BgL_arg1633z00_1781
; }  else 
{ 
 obj_t BgL_auxz00_9785;
BgL_auxz00_9785 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(22981L), BGl_string3556z00zz__weakhashz00, BGl_string3442z00zz__weakhashz00, BgL_arg1633z00_1781); 
FAILURE(BgL_auxz00_9785,BFALSE,BFALSE);} 
BgL_za71za7_3553 = 
(long)CINT(BgL_tmpz00_9782); } 
BgL_arg1632z00_1780 = 
(BgL_za71za7_3553+1L); } } 
{ /* Llib/weakhash.scm 579 */
 bool_t BgL_test4321z00_9791;
{ /* Llib/weakhash.scm 579 */
 obj_t BgL_tmpz00_9792;
{ /* Llib/weakhash.scm 579 */
 obj_t BgL_res2284z00_3557;
{ /* Llib/weakhash.scm 579 */
 obj_t BgL_aux3134z00_5376;
BgL_aux3134z00_5376 = 
STRUCT_KEY(BgL_tablez00_96); 
if(
SYMBOLP(BgL_aux3134z00_5376))
{ /* Llib/weakhash.scm 579 */
BgL_res2284z00_3557 = BgL_aux3134z00_5376; }  else 
{ 
 obj_t BgL_auxz00_9796;
BgL_auxz00_9796 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(22926L), BGl_string3556z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3134z00_5376); 
FAILURE(BgL_auxz00_9796,BFALSE,BFALSE);} } 
BgL_tmpz00_9792 = BgL_res2284z00_3557; } 
BgL_test4321z00_9791 = 
(BgL_tmpz00_9792==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4321z00_9791)
{ /* Llib/weakhash.scm 579 */
 obj_t BgL_auxz00_9803; int BgL_tmpz00_9801;
BgL_auxz00_9803 = 
BINT(BgL_arg1632z00_1780); 
BgL_tmpz00_9801 = 
(int)(0L); 
STRUCT_SET(BgL_tablez00_96, BgL_tmpz00_9801, BgL_auxz00_9803); }  else 
{ /* Llib/weakhash.scm 579 */
BGl_errorz00zz__errorz00(BGl_string3452z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_96); } } } 
{ /* Llib/weakhash.scm 581 */
 obj_t BgL_arg1634z00_1782;
{ /* Llib/weakhash.scm 581 */
 obj_t BgL_arg1635z00_1783; obj_t BgL_arg1636z00_1784;
{ /* Llib/weakhash.scm 581 */
 obj_t BgL_arg1637z00_1785; obj_t BgL_arg1638z00_1786;
if(
BGl_hashtablezd2weakzd2keyszf3zf3zz__hashz00(BgL_tablez00_96))
{ /* Llib/weakhash.scm 582 */

BgL_arg1637z00_1785 = 
bgl_make_weakptr(BgL_keyz00_97, BFALSE); }  else 
{ /* Llib/weakhash.scm 581 */
BgL_arg1637z00_1785 = BgL_keyz00_97; } 
if(
BGl_hashtablezd2weakzd2datazf3zf3zz__hashz00(BgL_tablez00_96))
{ /* Llib/weakhash.scm 585 */

BgL_arg1638z00_1786 = 
bgl_make_weakptr(BgL_objz00_99, BFALSE); }  else 
{ /* Llib/weakhash.scm 584 */
BgL_arg1638z00_1786 = BgL_objz00_99; } 
BgL_arg1635z00_1783 = 
MAKE_YOUNG_PAIR(BgL_arg1637z00_1785, BgL_arg1638z00_1786); } 
{ /* Llib/weakhash.scm 589 */
 obj_t BgL_arg1642z00_1793;
{ /* Llib/weakhash.scm 589 */
 bool_t BgL_test4325z00_9814;
{ /* Llib/weakhash.scm 589 */
 obj_t BgL_tmpz00_9815;
{ /* Llib/weakhash.scm 589 */
 obj_t BgL_res2285z00_3561;
{ /* Llib/weakhash.scm 589 */
 obj_t BgL_aux3136z00_5378;
BgL_aux3136z00_5378 = 
STRUCT_KEY(BgL_tablez00_96); 
if(
SYMBOLP(BgL_aux3136z00_5378))
{ /* Llib/weakhash.scm 589 */
BgL_res2285z00_3561 = BgL_aux3136z00_5378; }  else 
{ 
 obj_t BgL_auxz00_9819;
BgL_auxz00_9819 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(23280L), BGl_string3556z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3136z00_5378); 
FAILURE(BgL_auxz00_9819,BFALSE,BFALSE);} } 
BgL_tmpz00_9815 = BgL_res2285z00_3561; } 
BgL_test4325z00_9814 = 
(BgL_tmpz00_9815==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4325z00_9814)
{ /* Llib/weakhash.scm 589 */
 int BgL_tmpz00_9824;
BgL_tmpz00_9824 = 
(int)(2L); 
BgL_arg1642z00_1793 = 
STRUCT_REF(BgL_tablez00_96, BgL_tmpz00_9824); }  else 
{ /* Llib/weakhash.scm 589 */
BgL_arg1642z00_1793 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_96); } } 
{ /* Llib/weakhash.scm 589 */
 obj_t BgL_vectorz00_3562;
if(
VECTORP(BgL_arg1642z00_1793))
{ /* Llib/weakhash.scm 589 */
BgL_vectorz00_3562 = BgL_arg1642z00_1793; }  else 
{ 
 obj_t BgL_auxz00_9830;
BgL_auxz00_9830 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(23305L), BGl_string3556z00zz__weakhashz00, BGl_string3447z00zz__weakhashz00, BgL_arg1642z00_1793); 
FAILURE(BgL_auxz00_9830,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 589 */
 bool_t BgL_test4328z00_9834;
{ /* Llib/weakhash.scm 589 */
 long BgL_tmpz00_9835;
BgL_tmpz00_9835 = 
VECTOR_LENGTH(BgL_vectorz00_3562); 
BgL_test4328z00_9834 = 
BOUND_CHECK(BgL_bucketzd2numzd2_1775, BgL_tmpz00_9835); } 
if(BgL_test4328z00_9834)
{ /* Llib/weakhash.scm 589 */
BgL_arg1636z00_1784 = 
VECTOR_REF(BgL_vectorz00_3562,BgL_bucketzd2numzd2_1775); }  else 
{ 
 obj_t BgL_auxz00_9839;
BgL_auxz00_9839 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(23268L), BGl_string3448z00zz__weakhashz00, BgL_vectorz00_3562, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_3562)), 
(int)(BgL_bucketzd2numzd2_1775)); 
FAILURE(BgL_auxz00_9839,BFALSE,BFALSE);} } } } 
BgL_arg1634z00_1782 = 
MAKE_YOUNG_PAIR(BgL_arg1635z00_1783, BgL_arg1636z00_1784); } 
{ /* Llib/weakhash.scm 580 */
 obj_t BgL_vectorz00_3564;
if(
VECTORP(BgL_bucketsz00_1773))
{ /* Llib/weakhash.scm 580 */
BgL_vectorz00_3564 = BgL_bucketsz00_1773; }  else 
{ 
 obj_t BgL_auxz00_9849;
BgL_auxz00_9849 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(23006L), BGl_string3556z00zz__weakhashz00, BGl_string3447z00zz__weakhashz00, BgL_bucketsz00_1773); 
FAILURE(BgL_auxz00_9849,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 580 */
 bool_t BgL_test4330z00_9853;
{ /* Llib/weakhash.scm 580 */
 long BgL_tmpz00_9854;
BgL_tmpz00_9854 = 
VECTOR_LENGTH(BgL_vectorz00_3564); 
BgL_test4330z00_9853 = 
BOUND_CHECK(BgL_bucketzd2numzd2_1775, BgL_tmpz00_9854); } 
if(BgL_test4330z00_9853)
{ /* Llib/weakhash.scm 580 */
VECTOR_SET(BgL_vectorz00_3564,BgL_bucketzd2numzd2_1775,BgL_arg1634z00_1782); }  else 
{ 
 obj_t BgL_auxz00_9858;
BgL_auxz00_9858 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(22993L), BGl_string3453z00zz__weakhashz00, BgL_vectorz00_3564, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_3564)), 
(int)(BgL_bucketzd2numzd2_1775)); 
FAILURE(BgL_auxz00_9858,BFALSE,BFALSE);} } } } 
{ /* Llib/weakhash.scm 591 */
 bool_t BgL_test4331z00_9865;
{ /* Llib/weakhash.scm 591 */
 long BgL_n1z00_3566; long BgL_n2z00_3567;
{ /* Llib/weakhash.scm 591 */
 obj_t BgL_tmpz00_9866;
{ /* Llib/weakhash.scm 591 */
 obj_t BgL_aux3142z00_5384;
BgL_aux3142z00_5384 = 
CELL_REF(BgL_countz00_4534); 
if(
INTEGERP(BgL_aux3142z00_5384))
{ /* Llib/weakhash.scm 591 */
BgL_tmpz00_9866 = BgL_aux3142z00_5384
; }  else 
{ 
 obj_t BgL_auxz00_9869;
BgL_auxz00_9869 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(23344L), BGl_string3556z00zz__weakhashz00, BGl_string3442z00zz__weakhashz00, BgL_aux3142z00_5384); 
FAILURE(BgL_auxz00_9869,BFALSE,BFALSE);} } 
BgL_n1z00_3566 = 
(long)CINT(BgL_tmpz00_9866); } 
{ /* Llib/weakhash.scm 591 */
 obj_t BgL_tmpz00_9874;
if(
INTEGERP(BgL_maxzd2bucketzd2lenz00_1777))
{ /* Llib/weakhash.scm 591 */
BgL_tmpz00_9874 = BgL_maxzd2bucketzd2lenz00_1777
; }  else 
{ 
 obj_t BgL_auxz00_9877;
BgL_auxz00_9877 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(23350L), BGl_string3556z00zz__weakhashz00, BGl_string3442z00zz__weakhashz00, BgL_maxzd2bucketzd2lenz00_1777); 
FAILURE(BgL_auxz00_9877,BFALSE,BFALSE);} 
BgL_n2z00_3567 = 
(long)CINT(BgL_tmpz00_9874); } 
BgL_test4331z00_9865 = 
(BgL_n1z00_3566>BgL_n2z00_3567); } 
if(BgL_test4331z00_9865)
{ /* Llib/weakhash.scm 591 */
if(
BGl_hashtablezd2weakzd2keyszf3zf3zz__hashz00(BgL_tablez00_96))
{ /* Llib/weakhash.scm 877 */
BGl_weakzd2keyszd2hashtablezd2expandz12zc0zz__weakhashz00(BgL_tablez00_96); }  else 
{ /* Llib/weakhash.scm 877 */
BGl_weakzd2oldzd2hashtablezd2expandz12zc0zz__weakhashz00(BgL_tablez00_96); } }  else 
{ /* Llib/weakhash.scm 591 */BFALSE; } } 
return BgL_objz00_99;}  else 
{ /* Llib/weakhash.scm 576 */
return BgL_foundz00_1779;} } } } } } } } } } 

}



/* &<@anonymous:1645> */
obj_t BGl_z62zc3z04anonymousza31645ze3ze5zz__weakhashz00(obj_t BgL_envz00_4525, obj_t BgL_bkeyz00_4530, obj_t BgL_valz00_4531, obj_t BgL_bucketz00_4532)
{
{ /* Llib/weakhash.scm 564 */
{ /* Llib/weakhash.scm 565 */
 obj_t BgL_countz00_4526; obj_t BgL_procz00_4527; obj_t BgL_tablez00_4528; obj_t BgL_keyz00_4529;
BgL_countz00_4526 = 
PROCEDURE_L_REF(BgL_envz00_4525, 
(int)(0L)); 
BgL_procz00_4527 = 
((obj_t)
PROCEDURE_L_REF(BgL_envz00_4525, 
(int)(1L))); 
BgL_tablez00_4528 = 
((obj_t)
PROCEDURE_L_REF(BgL_envz00_4525, 
(int)(2L))); 
BgL_keyz00_4529 = 
PROCEDURE_L_REF(BgL_envz00_4525, 
(int)(3L)); 
{ /* Llib/weakhash.scm 565 */
 obj_t BgL_auxz00_5727;
{ /* Llib/weakhash.scm 565 */
 obj_t BgL_tmpz00_9897;
{ /* Llib/weakhash.scm 565 */
 obj_t BgL_aux3144z00_5728;
BgL_aux3144z00_5728 = 
CELL_REF(BgL_countz00_4526); 
if(
INTEGERP(BgL_aux3144z00_5728))
{ /* Llib/weakhash.scm 565 */
BgL_tmpz00_9897 = BgL_aux3144z00_5728
; }  else 
{ 
 obj_t BgL_auxz00_9900;
BgL_auxz00_9900 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(22554L), BGl_string3557z00zz__weakhashz00, BGl_string3442z00zz__weakhashz00, BgL_aux3144z00_5728); 
FAILURE(BgL_auxz00_9900,BFALSE,BFALSE);} } 
BgL_auxz00_5727 = 
ADDFX(BgL_tmpz00_9897, 
BINT(1L)); } 
CELL_SET(BgL_countz00_4526, BgL_auxz00_5727); } 
{ /* Llib/weakhash.scm 566 */
 bool_t BgL_test4336z00_9906;
{ /* Llib/weakhash.scm 566 */
 obj_t BgL_eqtz00_5729;
{ /* Llib/weakhash.scm 566 */
 bool_t BgL_test4337z00_9907;
{ /* Llib/weakhash.scm 566 */
 obj_t BgL_tmpz00_9908;
{ /* Llib/weakhash.scm 566 */
 obj_t BgL_res2282z00_5730;
{ /* Llib/weakhash.scm 566 */
 obj_t BgL_aux3145z00_5731;
BgL_aux3145z00_5731 = 
STRUCT_KEY(BgL_tablez00_4528); 
if(
SYMBOLP(BgL_aux3145z00_5731))
{ /* Llib/weakhash.scm 566 */
BgL_res2282z00_5730 = BgL_aux3145z00_5731; }  else 
{ 
 obj_t BgL_auxz00_9912;
BgL_auxz00_9912 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(22577L), BGl_string3557z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3145z00_5731); 
FAILURE(BgL_auxz00_9912,BFALSE,BFALSE);} } 
BgL_tmpz00_9908 = BgL_res2282z00_5730; } 
BgL_test4337z00_9907 = 
(BgL_tmpz00_9908==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4337z00_9907)
{ /* Llib/weakhash.scm 566 */
 int BgL_tmpz00_9917;
BgL_tmpz00_9917 = 
(int)(3L); 
BgL_eqtz00_5729 = 
STRUCT_REF(BgL_tablez00_4528, BgL_tmpz00_9917); }  else 
{ /* Llib/weakhash.scm 566 */
BgL_eqtz00_5729 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_4528); } } 
if(
PROCEDUREP(BgL_eqtz00_5729))
{ /* Llib/weakhash.scm 566 */
if(
PROCEDURE_CORRECT_ARITYP(BgL_eqtz00_5729, 2L))
{ /* Llib/weakhash.scm 566 */
BgL_test4336z00_9906 = 
CBOOL(
(VA_PROCEDUREP( BgL_eqtz00_5729 ) ? ((obj_t (*)(obj_t, ...))PROCEDURE_ENTRY(BgL_eqtz00_5729))(BgL_eqtz00_5729, BgL_bkeyz00_4530, BgL_keyz00_4529, BEOA) : ((obj_t (*)(obj_t, obj_t, obj_t))PROCEDURE_ENTRY(BgL_eqtz00_5729))(BgL_eqtz00_5729, BgL_bkeyz00_4530, BgL_keyz00_4529) ))
; }  else 
{ /* Llib/weakhash.scm 566 */
FAILURE(BGl_string3558z00zz__weakhashz00,BGl_list3545z00zz__weakhashz00,BgL_eqtz00_5729);} }  else 
{ /* Llib/weakhash.scm 566 */
if(
(BgL_bkeyz00_4530==BgL_keyz00_4529))
{ /* Llib/weakhash.scm 566 */
BgL_test4336z00_9906 = ((bool_t)1)
; }  else 
{ /* Llib/weakhash.scm 566 */
if(
STRINGP(BgL_bkeyz00_4530))
{ /* Llib/weakhash.scm 566 */
if(
STRINGP(BgL_keyz00_4529))
{ /* Llib/weakhash.scm 566 */
 long BgL_l1z00_5732;
BgL_l1z00_5732 = 
STRING_LENGTH(BgL_bkeyz00_4530); 
if(
(BgL_l1z00_5732==
STRING_LENGTH(BgL_keyz00_4529)))
{ /* Llib/weakhash.scm 566 */
 int BgL_arg1926z00_5733;
{ /* Llib/weakhash.scm 566 */
 char * BgL_auxz00_9944; char * BgL_tmpz00_9942;
BgL_auxz00_9944 = 
BSTRING_TO_STRING(BgL_keyz00_4529); 
BgL_tmpz00_9942 = 
BSTRING_TO_STRING(BgL_bkeyz00_4530); 
BgL_arg1926z00_5733 = 
memcmp(BgL_tmpz00_9942, BgL_auxz00_9944, BgL_l1z00_5732); } 
BgL_test4336z00_9906 = 
(
(long)(BgL_arg1926z00_5733)==0L); }  else 
{ /* Llib/weakhash.scm 566 */
BgL_test4336z00_9906 = ((bool_t)0)
; } }  else 
{ /* Llib/weakhash.scm 566 */
BgL_test4336z00_9906 = ((bool_t)0)
; } }  else 
{ /* Llib/weakhash.scm 566 */
BgL_test4336z00_9906 = ((bool_t)0)
; } } } } 
if(BgL_test4336z00_9906)
{ /* Llib/weakhash.scm 567 */
 obj_t BgL_newvalz00_5734;
if(
PROCEDURE_CORRECT_ARITYP(BgL_procz00_4527, 1L))
{ /* Llib/weakhash.scm 567 */
BgL_newvalz00_5734 = 
(VA_PROCEDUREP( BgL_procz00_4527 ) ? ((obj_t (*)(obj_t, ...))PROCEDURE_ENTRY(BgL_procz00_4527))(BgL_procz00_4527, BgL_valz00_4531, BEOA) : ((obj_t (*)(obj_t, obj_t))PROCEDURE_ENTRY(BgL_procz00_4527))(BgL_procz00_4527, BgL_valz00_4531) ); }  else 
{ /* Llib/weakhash.scm 567 */
FAILURE(BGl_string3558z00zz__weakhashz00,BGl_list3559z00zz__weakhashz00,BgL_procz00_4527);} 
{ /* Llib/weakhash.scm 568 */
 obj_t BgL_arg1649z00_5735; obj_t BgL_arg1651z00_5736;
{ /* Llib/weakhash.scm 568 */
 obj_t BgL_pairz00_5737;
if(
PAIRP(BgL_bucketz00_4532))
{ /* Llib/weakhash.scm 568 */
BgL_pairz00_5737 = BgL_bucketz00_4532; }  else 
{ 
 obj_t BgL_auxz00_9958;
BgL_auxz00_9958 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(22668L), BGl_string3557z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_bucketz00_4532); 
FAILURE(BgL_auxz00_9958,BFALSE,BFALSE);} 
BgL_arg1649z00_5735 = 
CAR(BgL_pairz00_5737); } 
if(
BGl_hashtablezd2weakzd2datazf3zf3zz__hashz00(BgL_tablez00_4528))
{ /* Llib/weakhash.scm 570 */

BgL_arg1651z00_5736 = 
bgl_make_weakptr(BgL_newvalz00_5734, BFALSE); }  else 
{ /* Llib/weakhash.scm 569 */
BgL_arg1651z00_5736 = BgL_newvalz00_5734; } 
{ /* Llib/weakhash.scm 568 */
 obj_t BgL_pairz00_5738;
if(
PAIRP(BgL_arg1649z00_5735))
{ /* Llib/weakhash.scm 568 */
BgL_pairz00_5738 = BgL_arg1649z00_5735; }  else 
{ 
 obj_t BgL_auxz00_9968;
BgL_auxz00_9968 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(22674L), BGl_string3557z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_arg1649z00_5735); 
FAILURE(BgL_auxz00_9968,BFALSE,BFALSE);} 
SET_CDR(BgL_pairz00_5738, BgL_arg1651z00_5736); } } 
return BgL_newvalz00_5734;}  else 
{ /* Llib/weakhash.scm 566 */
return BGl_keepgoingz00zz__weakhashz00;} } } } 

}



/* weak-hashtable-update! */
BGL_EXPORTED_DEF obj_t BGl_weakzd2hashtablezd2updatez12z12zz__weakhashz00(obj_t BgL_tablez00_100, obj_t BgL_keyz00_101, obj_t BgL_procz00_102, obj_t BgL_objz00_103)
{
{ /* Llib/weakhash.scm 598 */
if(
BGl_hashtablezd2weakzd2keyszf3zf3zz__hashz00(BgL_tablez00_100))
{ /* Llib/weakhash.scm 599 */
BGL_TAIL return 
BGl_weakzd2keyszd2hashtablezd2updatez12zc0zz__weakhashz00(BgL_tablez00_100, BgL_keyz00_101, BgL_procz00_102, BgL_objz00_103);}  else 
{ /* Llib/weakhash.scm 599 */
BGL_TAIL return 
BGl_weakzd2oldzd2hashtablezd2updatez12zc0zz__weakhashz00(BgL_tablez00_100, BgL_keyz00_101, BgL_procz00_102, BgL_objz00_103);} } 

}



/* &weak-hashtable-update! */
obj_t BGl_z62weakzd2hashtablezd2updatez12z70zz__weakhashz00(obj_t BgL_envz00_4536, obj_t BgL_tablez00_4537, obj_t BgL_keyz00_4538, obj_t BgL_procz00_4539, obj_t BgL_objz00_4540)
{
{ /* Llib/weakhash.scm 598 */
{ /* Llib/weakhash.scm 599 */
 obj_t BgL_auxz00_9984; obj_t BgL_auxz00_9977;
if(
PROCEDUREP(BgL_procz00_4539))
{ /* Llib/weakhash.scm 599 */
BgL_auxz00_9984 = BgL_procz00_4539
; }  else 
{ 
 obj_t BgL_auxz00_9987;
BgL_auxz00_9987 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(23717L), BGl_string3560z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_procz00_4539); 
FAILURE(BgL_auxz00_9987,BFALSE,BFALSE);} 
if(
STRUCTP(BgL_tablez00_4537))
{ /* Llib/weakhash.scm 599 */
BgL_auxz00_9977 = BgL_tablez00_4537
; }  else 
{ 
 obj_t BgL_auxz00_9980;
BgL_auxz00_9980 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(23717L), BGl_string3560z00zz__weakhashz00, BGl_string3487z00zz__weakhashz00, BgL_tablez00_4537); 
FAILURE(BgL_auxz00_9980,BFALSE,BFALSE);} 
return 
BGl_weakzd2hashtablezd2updatez12z12zz__weakhashz00(BgL_auxz00_9977, BgL_keyz00_4538, BgL_auxz00_9984, BgL_objz00_4540);} } 

}



/* weak-keys-hashtable-add! */
obj_t BGl_weakzd2keyszd2hashtablezd2addz12zc0zz__weakhashz00(obj_t BgL_tablez00_104, obj_t BgL_keyz00_105, obj_t BgL_procz00_106, obj_t BgL_objz00_107, obj_t BgL_initz00_108)
{
{ /* Llib/weakhash.scm 606 */
{ /* Llib/weakhash.scm 607 */
 obj_t BgL_bucketsz00_1810;
{ /* Llib/weakhash.scm 607 */
 bool_t BgL_test4352z00_9992;
{ /* Llib/weakhash.scm 607 */
 obj_t BgL_tmpz00_9993;
{ /* Llib/weakhash.scm 607 */
 obj_t BgL_res2286z00_3574;
{ /* Llib/weakhash.scm 607 */
 obj_t BgL_aux3157z00_5401;
BgL_aux3157z00_5401 = 
STRUCT_KEY(BgL_tablez00_104); 
if(
SYMBOLP(BgL_aux3157z00_5401))
{ /* Llib/weakhash.scm 607 */
BgL_res2286z00_3574 = BgL_aux3157z00_5401; }  else 
{ 
 obj_t BgL_auxz00_9997;
BgL_auxz00_9997 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(24188L), BGl_string3561z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3157z00_5401); 
FAILURE(BgL_auxz00_9997,BFALSE,BFALSE);} } 
BgL_tmpz00_9993 = BgL_res2286z00_3574; } 
BgL_test4352z00_9992 = 
(BgL_tmpz00_9993==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4352z00_9992)
{ /* Llib/weakhash.scm 607 */
 int BgL_tmpz00_10002;
BgL_tmpz00_10002 = 
(int)(2L); 
BgL_bucketsz00_1810 = 
STRUCT_REF(BgL_tablez00_104, BgL_tmpz00_10002); }  else 
{ /* Llib/weakhash.scm 607 */
BgL_bucketsz00_1810 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_104); } } 
{ /* Llib/weakhash.scm 607 */
 long BgL_bucketzd2lenzd2_1811;
{ /* Llib/weakhash.scm 608 */
 obj_t BgL_vectorz00_3575;
if(
VECTORP(BgL_bucketsz00_1810))
{ /* Llib/weakhash.scm 608 */
BgL_vectorz00_3575 = BgL_bucketsz00_1810; }  else 
{ 
 obj_t BgL_auxz00_10008;
BgL_auxz00_10008 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(24246L), BGl_string3561z00zz__weakhashz00, BGl_string3447z00zz__weakhashz00, BgL_bucketsz00_1810); 
FAILURE(BgL_auxz00_10008,BFALSE,BFALSE);} 
BgL_bucketzd2lenzd2_1811 = 
VECTOR_LENGTH(BgL_vectorz00_3575); } 
{ /* Llib/weakhash.scm 608 */
 long BgL_bucketzd2numzd2_1812;
{ /* Llib/weakhash.scm 609 */
 long BgL_arg1693z00_1845;
BgL_arg1693z00_1845 = 
BGl_tablezd2getzd2hashnumberz00zz__weakhashz00(BgL_tablez00_104, BgL_keyz00_105); 
{ /* Llib/weakhash.scm 609 */
 long BgL_n1z00_3576; long BgL_n2z00_3577;
BgL_n1z00_3576 = BgL_arg1693z00_1845; 
BgL_n2z00_3577 = BgL_bucketzd2lenzd2_1811; 
{ /* Llib/weakhash.scm 609 */
 bool_t BgL_test4355z00_10014;
{ /* Llib/weakhash.scm 609 */
 long BgL_arg2034z00_3579;
BgL_arg2034z00_3579 = 
(((BgL_n1z00_3576) | (BgL_n2z00_3577)) & -2147483648); 
BgL_test4355z00_10014 = 
(BgL_arg2034z00_3579==0L); } 
if(BgL_test4355z00_10014)
{ /* Llib/weakhash.scm 609 */
 int32_t BgL_arg2031z00_3580;
{ /* Llib/weakhash.scm 609 */
 int32_t BgL_arg2032z00_3581; int32_t BgL_arg2033z00_3582;
BgL_arg2032z00_3581 = 
(int32_t)(BgL_n1z00_3576); 
BgL_arg2033z00_3582 = 
(int32_t)(BgL_n2z00_3577); 
BgL_arg2031z00_3580 = 
(BgL_arg2032z00_3581%BgL_arg2033z00_3582); } 
{ /* Llib/weakhash.scm 609 */
 long BgL_arg2142z00_3587;
BgL_arg2142z00_3587 = 
(long)(BgL_arg2031z00_3580); 
BgL_bucketzd2numzd2_1812 = 
(long)(BgL_arg2142z00_3587); } }  else 
{ /* Llib/weakhash.scm 609 */
BgL_bucketzd2numzd2_1812 = 
(BgL_n1z00_3576%BgL_n2z00_3577); } } } } 
{ /* Llib/weakhash.scm 609 */
 obj_t BgL_bucketz00_1813;
{ /* Llib/weakhash.scm 610 */
 obj_t BgL_vectorz00_3589;
if(
VECTORP(BgL_bucketsz00_1810))
{ /* Llib/weakhash.scm 610 */
BgL_vectorz00_3589 = BgL_bucketsz00_1810; }  else 
{ 
 obj_t BgL_auxz00_10025;
BgL_auxz00_10025 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(24356L), BGl_string3561z00zz__weakhashz00, BGl_string3447z00zz__weakhashz00, BgL_bucketsz00_1810); 
FAILURE(BgL_auxz00_10025,BFALSE,BFALSE);} 
BgL_bucketz00_1813 = 
VECTOR_REF(BgL_vectorz00_3589,BgL_bucketzd2numzd2_1812); } 
{ /* Llib/weakhash.scm 610 */
 obj_t BgL_maxzd2bucketzd2lenz00_1814;
{ /* Llib/weakhash.scm 611 */
 bool_t BgL_test4357z00_10030;
{ /* Llib/weakhash.scm 611 */
 obj_t BgL_tmpz00_10031;
{ /* Llib/weakhash.scm 611 */
 obj_t BgL_res2287z00_3594;
{ /* Llib/weakhash.scm 611 */
 obj_t BgL_aux3163z00_5407;
BgL_aux3163z00_5407 = 
STRUCT_KEY(BgL_tablez00_104); 
if(
SYMBOLP(BgL_aux3163z00_5407))
{ /* Llib/weakhash.scm 611 */
BgL_res2287z00_3594 = BgL_aux3163z00_5407; }  else 
{ 
 obj_t BgL_auxz00_10035;
BgL_auxz00_10035 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(24396L), BGl_string3561z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3163z00_5407); 
FAILURE(BgL_auxz00_10035,BFALSE,BFALSE);} } 
BgL_tmpz00_10031 = BgL_res2287z00_3594; } 
BgL_test4357z00_10030 = 
(BgL_tmpz00_10031==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4357z00_10030)
{ /* Llib/weakhash.scm 611 */
 int BgL_tmpz00_10040;
BgL_tmpz00_10040 = 
(int)(1L); 
BgL_maxzd2bucketzd2lenz00_1814 = 
STRUCT_REF(BgL_tablez00_104, BgL_tmpz00_10040); }  else 
{ /* Llib/weakhash.scm 611 */
BgL_maxzd2bucketzd2lenz00_1814 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_104); } } 
{ /* Llib/weakhash.scm 611 */

if(
NULLP(BgL_bucketz00_1813))
{ /* Llib/weakhash.scm 613 */
 obj_t BgL_vz00_1816;
if(
PROCEDURE_CORRECT_ARITYP(BgL_procz00_106, 2L))
{ /* Llib/weakhash.scm 613 */
BgL_vz00_1816 = 
(VA_PROCEDUREP( BgL_procz00_106 ) ? ((obj_t (*)(obj_t, ...))PROCEDURE_ENTRY(BgL_procz00_106))(BgL_procz00_106, BgL_objz00_107, BgL_initz00_108, BEOA) : ((obj_t (*)(obj_t, obj_t, obj_t))PROCEDURE_ENTRY(BgL_procz00_106))(BgL_procz00_106, BgL_objz00_107, BgL_initz00_108) ); }  else 
{ /* Llib/weakhash.scm 613 */
FAILURE(BGl_string3562z00zz__weakhashz00,BGl_list3563z00zz__weakhashz00,BgL_procz00_106);} 
{ /* Llib/weakhash.scm 614 */
 long BgL_arg1658z00_1817;
{ /* Llib/weakhash.scm 614 */
 obj_t BgL_arg1659z00_1818;
{ /* Llib/weakhash.scm 614 */
 bool_t BgL_test4361z00_10054;
{ /* Llib/weakhash.scm 614 */
 obj_t BgL_tmpz00_10055;
{ /* Llib/weakhash.scm 614 */
 obj_t BgL_res2288z00_3598;
{ /* Llib/weakhash.scm 614 */
 obj_t BgL_aux3166z00_5411;
BgL_aux3166z00_5411 = 
STRUCT_KEY(BgL_tablez00_104); 
if(
SYMBOLP(BgL_aux3166z00_5411))
{ /* Llib/weakhash.scm 614 */
BgL_res2288z00_3598 = BgL_aux3166z00_5411; }  else 
{ 
 obj_t BgL_auxz00_10059;
BgL_auxz00_10059 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(24526L), BGl_string3561z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3166z00_5411); 
FAILURE(BgL_auxz00_10059,BFALSE,BFALSE);} } 
BgL_tmpz00_10055 = BgL_res2288z00_3598; } 
BgL_test4361z00_10054 = 
(BgL_tmpz00_10055==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4361z00_10054)
{ /* Llib/weakhash.scm 614 */
 int BgL_tmpz00_10064;
BgL_tmpz00_10064 = 
(int)(0L); 
BgL_arg1659z00_1818 = 
STRUCT_REF(BgL_tablez00_104, BgL_tmpz00_10064); }  else 
{ /* Llib/weakhash.scm 614 */
BgL_arg1659z00_1818 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_104); } } 
{ /* Llib/weakhash.scm 614 */
 long BgL_za71za7_3599;
{ /* Llib/weakhash.scm 614 */
 obj_t BgL_tmpz00_10068;
if(
INTEGERP(BgL_arg1659z00_1818))
{ /* Llib/weakhash.scm 614 */
BgL_tmpz00_10068 = BgL_arg1659z00_1818
; }  else 
{ 
 obj_t BgL_auxz00_10071;
BgL_auxz00_10071 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(24548L), BGl_string3561z00zz__weakhashz00, BGl_string3442z00zz__weakhashz00, BgL_arg1659z00_1818); 
FAILURE(BgL_auxz00_10071,BFALSE,BFALSE);} 
BgL_za71za7_3599 = 
(long)CINT(BgL_tmpz00_10068); } 
BgL_arg1658z00_1817 = 
(BgL_za71za7_3599+1L); } } 
{ /* Llib/weakhash.scm 614 */
 bool_t BgL_test4364z00_10077;
{ /* Llib/weakhash.scm 614 */
 obj_t BgL_tmpz00_10078;
{ /* Llib/weakhash.scm 614 */
 obj_t BgL_res2289z00_3603;
{ /* Llib/weakhash.scm 614 */
 obj_t BgL_aux3169z00_5414;
BgL_aux3169z00_5414 = 
STRUCT_KEY(BgL_tablez00_104); 
if(
SYMBOLP(BgL_aux3169z00_5414))
{ /* Llib/weakhash.scm 614 */
BgL_res2289z00_3603 = BgL_aux3169z00_5414; }  else 
{ 
 obj_t BgL_auxz00_10082;
BgL_auxz00_10082 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(24493L), BGl_string3561z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3169z00_5414); 
FAILURE(BgL_auxz00_10082,BFALSE,BFALSE);} } 
BgL_tmpz00_10078 = BgL_res2289z00_3603; } 
BgL_test4364z00_10077 = 
(BgL_tmpz00_10078==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4364z00_10077)
{ /* Llib/weakhash.scm 614 */
 obj_t BgL_auxz00_10089; int BgL_tmpz00_10087;
BgL_auxz00_10089 = 
BINT(BgL_arg1658z00_1817); 
BgL_tmpz00_10087 = 
(int)(0L); 
STRUCT_SET(BgL_tablez00_104, BgL_tmpz00_10087, BgL_auxz00_10089); }  else 
{ /* Llib/weakhash.scm 614 */
BGl_errorz00zz__errorz00(BGl_string3452z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_104); } } } 
{ /* Llib/weakhash.scm 615 */
 obj_t BgL_arg1661z00_1819;
{ /* Llib/weakhash.scm 615 */
 obj_t BgL_arg1662z00_1820;
BgL_arg1662z00_1820 = 
MAKE_YOUNG_PAIR(BgL_keyz00_105, BgL_vz00_1816); 
{ /* Llib/weakhash.scm 615 */
 obj_t BgL_list1663z00_1821;
BgL_list1663z00_1821 = 
MAKE_YOUNG_PAIR(BgL_arg1662z00_1820, BNIL); 
BgL_arg1661z00_1819 = BgL_list1663z00_1821; } } 
{ /* Llib/weakhash.scm 615 */
 obj_t BgL_vectorz00_3605;
if(
VECTORP(BgL_bucketsz00_1810))
{ /* Llib/weakhash.scm 615 */
BgL_vectorz00_3605 = BgL_bucketsz00_1810; }  else 
{ 
 obj_t BgL_auxz00_10097;
BgL_auxz00_10097 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(24576L), BGl_string3561z00zz__weakhashz00, BGl_string3447z00zz__weakhashz00, BgL_bucketsz00_1810); 
FAILURE(BgL_auxz00_10097,BFALSE,BFALSE);} 
VECTOR_SET(BgL_vectorz00_3605,BgL_bucketzd2numzd2_1812,BgL_arg1661z00_1819); } } 
return BgL_vz00_1816;}  else 
{ 
 obj_t BgL_buckz00_1823; long BgL_countz00_1824;
BgL_buckz00_1823 = BgL_bucketz00_1813; 
BgL_countz00_1824 = 0L; 
BgL_zc3z04anonymousza31664ze3z87_1825:
if(
NULLP(BgL_buckz00_1823))
{ /* Llib/weakhash.scm 621 */
 obj_t BgL_vz00_1827;
if(
PROCEDURE_CORRECT_ARITYP(BgL_procz00_106, 2L))
{ /* Llib/weakhash.scm 621 */
BgL_vz00_1827 = 
(VA_PROCEDUREP( BgL_procz00_106 ) ? ((obj_t (*)(obj_t, ...))PROCEDURE_ENTRY(BgL_procz00_106))(BgL_procz00_106, BgL_objz00_107, BgL_initz00_108, BEOA) : ((obj_t (*)(obj_t, obj_t, obj_t))PROCEDURE_ENTRY(BgL_procz00_106))(BgL_procz00_106, BgL_objz00_107, BgL_initz00_108) ); }  else 
{ /* Llib/weakhash.scm 621 */
FAILURE(BGl_string3517z00zz__weakhashz00,BGl_list3563z00zz__weakhashz00,BgL_procz00_106);} 
{ /* Llib/weakhash.scm 622 */
 long BgL_arg1668z00_1828;
{ /* Llib/weakhash.scm 622 */
 obj_t BgL_arg1669z00_1829;
{ /* Llib/weakhash.scm 622 */
 bool_t BgL_test4369z00_10112;
{ /* Llib/weakhash.scm 622 */
 obj_t BgL_tmpz00_10113;
{ /* Llib/weakhash.scm 622 */
 obj_t BgL_res2291z00_3610;
{ /* Llib/weakhash.scm 622 */
 obj_t BgL_aux3174z00_5420;
BgL_aux3174z00_5420 = 
STRUCT_KEY(BgL_tablez00_104); 
if(
SYMBOLP(BgL_aux3174z00_5420))
{ /* Llib/weakhash.scm 622 */
BgL_res2291z00_3610 = BgL_aux3174z00_5420; }  else 
{ 
 obj_t BgL_auxz00_10117;
BgL_auxz00_10117 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(24768L), BGl_string3456z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3174z00_5420); 
FAILURE(BgL_auxz00_10117,BFALSE,BFALSE);} } 
BgL_tmpz00_10113 = BgL_res2291z00_3610; } 
BgL_test4369z00_10112 = 
(BgL_tmpz00_10113==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4369z00_10112)
{ /* Llib/weakhash.scm 622 */
 int BgL_tmpz00_10122;
BgL_tmpz00_10122 = 
(int)(0L); 
BgL_arg1669z00_1829 = 
STRUCT_REF(BgL_tablez00_104, BgL_tmpz00_10122); }  else 
{ /* Llib/weakhash.scm 622 */
BgL_arg1669z00_1829 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_104); } } 
{ /* Llib/weakhash.scm 622 */
 long BgL_za71za7_3611;
{ /* Llib/weakhash.scm 622 */
 obj_t BgL_tmpz00_10126;
if(
INTEGERP(BgL_arg1669z00_1829))
{ /* Llib/weakhash.scm 622 */
BgL_tmpz00_10126 = BgL_arg1669z00_1829
; }  else 
{ 
 obj_t BgL_auxz00_10129;
BgL_auxz00_10129 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(24790L), BGl_string3456z00zz__weakhashz00, BGl_string3442z00zz__weakhashz00, BgL_arg1669z00_1829); 
FAILURE(BgL_auxz00_10129,BFALSE,BFALSE);} 
BgL_za71za7_3611 = 
(long)CINT(BgL_tmpz00_10126); } 
BgL_arg1668z00_1828 = 
(BgL_za71za7_3611+1L); } } 
{ /* Llib/weakhash.scm 622 */
 bool_t BgL_test4372z00_10135;
{ /* Llib/weakhash.scm 622 */
 obj_t BgL_tmpz00_10136;
{ /* Llib/weakhash.scm 622 */
 obj_t BgL_res2292z00_3615;
{ /* Llib/weakhash.scm 622 */
 obj_t BgL_aux3177z00_5423;
BgL_aux3177z00_5423 = 
STRUCT_KEY(BgL_tablez00_104); 
if(
SYMBOLP(BgL_aux3177z00_5423))
{ /* Llib/weakhash.scm 622 */
BgL_res2292z00_3615 = BgL_aux3177z00_5423; }  else 
{ 
 obj_t BgL_auxz00_10140;
BgL_auxz00_10140 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(24735L), BGl_string3456z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3177z00_5423); 
FAILURE(BgL_auxz00_10140,BFALSE,BFALSE);} } 
BgL_tmpz00_10136 = BgL_res2292z00_3615; } 
BgL_test4372z00_10135 = 
(BgL_tmpz00_10136==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4372z00_10135)
{ /* Llib/weakhash.scm 622 */
 obj_t BgL_auxz00_10147; int BgL_tmpz00_10145;
BgL_auxz00_10147 = 
BINT(BgL_arg1668z00_1828); 
BgL_tmpz00_10145 = 
(int)(0L); 
STRUCT_SET(BgL_tablez00_104, BgL_tmpz00_10145, BgL_auxz00_10147); }  else 
{ /* Llib/weakhash.scm 622 */
BGl_errorz00zz__errorz00(BGl_string3452z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_104); } } } 
{ /* Llib/weakhash.scm 624 */
 obj_t BgL_arg1670z00_1830;
BgL_arg1670z00_1830 = 
MAKE_YOUNG_PAIR(
bgl_make_weakptr(BgL_keyz00_105, BgL_vz00_1827), BgL_bucketz00_1813); 
{ /* Llib/weakhash.scm 623 */
 obj_t BgL_vectorz00_3616;
if(
VECTORP(BgL_bucketsz00_1810))
{ /* Llib/weakhash.scm 623 */
BgL_vectorz00_3616 = BgL_bucketsz00_1810; }  else 
{ 
 obj_t BgL_auxz00_10155;
BgL_auxz00_10155 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(24818L), BGl_string3456z00zz__weakhashz00, BGl_string3447z00zz__weakhashz00, BgL_bucketsz00_1810); 
FAILURE(BgL_auxz00_10155,BFALSE,BFALSE);} 
VECTOR_SET(BgL_vectorz00_3616,BgL_bucketzd2numzd2_1812,BgL_arg1670z00_1830); } } 
{ /* Llib/weakhash.scm 625 */
 bool_t BgL_test4375z00_10160;
{ /* Llib/weakhash.scm 625 */
 long BgL_n2z00_3619;
{ /* Llib/weakhash.scm 625 */
 obj_t BgL_tmpz00_10161;
if(
INTEGERP(BgL_maxzd2bucketzd2lenz00_1814))
{ /* Llib/weakhash.scm 625 */
BgL_tmpz00_10161 = BgL_maxzd2bucketzd2lenz00_1814
; }  else 
{ 
 obj_t BgL_auxz00_10164;
BgL_auxz00_10164 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(24905L), BGl_string3456z00zz__weakhashz00, BGl_string3442z00zz__weakhashz00, BgL_maxzd2bucketzd2lenz00_1814); 
FAILURE(BgL_auxz00_10164,BFALSE,BFALSE);} 
BgL_n2z00_3619 = 
(long)CINT(BgL_tmpz00_10161); } 
BgL_test4375z00_10160 = 
(BgL_countz00_1824>BgL_n2z00_3619); } 
if(BgL_test4375z00_10160)
{ /* Llib/weakhash.scm 625 */
BGl_weakzd2keyszd2hashtablezd2expandz12zc0zz__weakhashz00(BgL_tablez00_104); }  else 
{ /* Llib/weakhash.scm 625 */BFALSE; } } 
return BgL_vz00_1827;}  else 
{ /* Llib/weakhash.scm 628 */
 bool_t BgL_test4377z00_10171;
{ /* Llib/weakhash.scm 628 */
 obj_t BgL_arg1689z00_1842;
{ /* Llib/weakhash.scm 628 */
 obj_t BgL_arg1690z00_1843;
{ /* Llib/weakhash.scm 628 */
 obj_t BgL_pairz00_3620;
if(
PAIRP(BgL_buckz00_1823))
{ /* Llib/weakhash.scm 628 */
BgL_pairz00_3620 = BgL_buckz00_1823; }  else 
{ 
 obj_t BgL_auxz00_10174;
BgL_auxz00_10174 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(25023L), BGl_string3456z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_buckz00_1823); 
FAILURE(BgL_auxz00_10174,BFALSE,BFALSE);} 
BgL_arg1690z00_1843 = 
CAR(BgL_pairz00_3620); } 
{ /* Llib/weakhash.scm 628 */
 obj_t BgL_objz00_3621;
if(
BGL_WEAKPTRP(BgL_arg1690z00_1843))
{ /* Llib/weakhash.scm 628 */
BgL_objz00_3621 = BgL_arg1690z00_1843; }  else 
{ 
 obj_t BgL_auxz00_10181;
BgL_auxz00_10181 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(25027L), BGl_string3456z00zz__weakhashz00, BGl_string3451z00zz__weakhashz00, BgL_arg1690z00_1843); 
FAILURE(BgL_auxz00_10181,BFALSE,BFALSE);} 
BgL_arg1689z00_1842 = 
bgl_weakptr_data(BgL_objz00_3621); } } 
{ /* Llib/weakhash.scm 628 */
 obj_t BgL_eqtz00_3622;
{ /* Llib/weakhash.scm 628 */
 bool_t BgL_test4380z00_10186;
{ /* Llib/weakhash.scm 628 */
 obj_t BgL_tmpz00_10187;
{ /* Llib/weakhash.scm 628 */
 obj_t BgL_res2293z00_3629;
{ /* Llib/weakhash.scm 628 */
 obj_t BgL_aux3186z00_5432;
BgL_aux3186z00_5432 = 
STRUCT_KEY(BgL_tablez00_104); 
if(
SYMBOLP(BgL_aux3186z00_5432))
{ /* Llib/weakhash.scm 628 */
BgL_res2293z00_3629 = BgL_aux3186z00_5432; }  else 
{ 
 obj_t BgL_auxz00_10191;
BgL_auxz00_10191 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(24980L), BGl_string3456z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3186z00_5432); 
FAILURE(BgL_auxz00_10191,BFALSE,BFALSE);} } 
BgL_tmpz00_10187 = BgL_res2293z00_3629; } 
BgL_test4380z00_10186 = 
(BgL_tmpz00_10187==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4380z00_10186)
{ /* Llib/weakhash.scm 628 */
 int BgL_tmpz00_10196;
BgL_tmpz00_10196 = 
(int)(3L); 
BgL_eqtz00_3622 = 
STRUCT_REF(BgL_tablez00_104, BgL_tmpz00_10196); }  else 
{ /* Llib/weakhash.scm 628 */
BgL_eqtz00_3622 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_104); } } 
if(
PROCEDUREP(BgL_eqtz00_3622))
{ /* Llib/weakhash.scm 628 */
if(
PROCEDURE_CORRECT_ARITYP(BgL_eqtz00_3622, 2L))
{ /* Llib/weakhash.scm 628 */
BgL_test4377z00_10171 = 
CBOOL(
(VA_PROCEDUREP( BgL_eqtz00_3622 ) ? ((obj_t (*)(obj_t, ...))PROCEDURE_ENTRY(BgL_eqtz00_3622))(BgL_eqtz00_3622, BgL_arg1689z00_1842, BgL_keyz00_105, BEOA) : ((obj_t (*)(obj_t, obj_t, obj_t))PROCEDURE_ENTRY(BgL_eqtz00_3622))(BgL_eqtz00_3622, BgL_arg1689z00_1842, BgL_keyz00_105) ))
; }  else 
{ /* Llib/weakhash.scm 628 */
FAILURE(BGl_string3517z00zz__weakhashz00,BGl_list3568z00zz__weakhashz00,BgL_eqtz00_3622);} }  else 
{ /* Llib/weakhash.scm 628 */
if(
(BgL_arg1689z00_1842==BgL_keyz00_105))
{ /* Llib/weakhash.scm 628 */
BgL_test4377z00_10171 = ((bool_t)1)
; }  else 
{ /* Llib/weakhash.scm 628 */
if(
STRINGP(BgL_arg1689z00_1842))
{ /* Llib/weakhash.scm 628 */
if(
STRINGP(BgL_keyz00_105))
{ /* Llib/weakhash.scm 628 */
 long BgL_l1z00_3632;
BgL_l1z00_3632 = 
STRING_LENGTH(BgL_arg1689z00_1842); 
if(
(BgL_l1z00_3632==
STRING_LENGTH(BgL_keyz00_105)))
{ /* Llib/weakhash.scm 628 */
 int BgL_arg1926z00_3635;
{ /* Llib/weakhash.scm 628 */
 char * BgL_auxz00_10223; char * BgL_tmpz00_10221;
BgL_auxz00_10223 = 
BSTRING_TO_STRING(BgL_keyz00_105); 
BgL_tmpz00_10221 = 
BSTRING_TO_STRING(BgL_arg1689z00_1842); 
BgL_arg1926z00_3635 = 
memcmp(BgL_tmpz00_10221, BgL_auxz00_10223, BgL_l1z00_3632); } 
BgL_test4377z00_10171 = 
(
(long)(BgL_arg1926z00_3635)==0L); }  else 
{ /* Llib/weakhash.scm 628 */
BgL_test4377z00_10171 = ((bool_t)0)
; } }  else 
{ /* Llib/weakhash.scm 628 */
BgL_test4377z00_10171 = ((bool_t)0)
; } }  else 
{ /* Llib/weakhash.scm 628 */
BgL_test4377z00_10171 = ((bool_t)0)
; } } } } } 
if(BgL_test4377z00_10171)
{ /* Llib/weakhash.scm 629 */
 obj_t BgL_resz00_1836;
{ /* Llib/weakhash.scm 629 */
 obj_t BgL_arg1681z00_1838;
{ /* Llib/weakhash.scm 629 */
 obj_t BgL_arg1684z00_1839;
{ /* Llib/weakhash.scm 629 */
 obj_t BgL_pairz00_3641;
if(
PAIRP(BgL_buckz00_1823))
{ /* Llib/weakhash.scm 629 */
BgL_pairz00_3641 = BgL_buckz00_1823; }  else 
{ 
 obj_t BgL_auxz00_10230;
BgL_auxz00_10230 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(25077L), BGl_string3456z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_buckz00_1823); 
FAILURE(BgL_auxz00_10230,BFALSE,BFALSE);} 
BgL_arg1684z00_1839 = 
CAR(BgL_pairz00_3641); } 
{ /* Llib/weakhash.scm 629 */
 obj_t BgL_objz00_3642;
if(
BGL_WEAKPTRP(BgL_arg1684z00_1839))
{ /* Llib/weakhash.scm 629 */
BgL_objz00_3642 = BgL_arg1684z00_1839; }  else 
{ 
 obj_t BgL_auxz00_10237;
BgL_auxz00_10237 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(25081L), BGl_string3456z00zz__weakhashz00, BGl_string3451z00zz__weakhashz00, BgL_arg1684z00_1839); 
FAILURE(BgL_auxz00_10237,BFALSE,BFALSE);} 
BgL_arg1681z00_1838 = 
bgl_weakptr_ref(BgL_objz00_3642); } } 
if(
PROCEDURE_CORRECT_ARITYP(BgL_procz00_106, 2L))
{ /* Llib/weakhash.scm 629 */
BgL_resz00_1836 = 
(VA_PROCEDUREP( BgL_procz00_106 ) ? ((obj_t (*)(obj_t, ...))PROCEDURE_ENTRY(BgL_procz00_106))(BgL_procz00_106, BgL_objz00_107, BgL_arg1681z00_1838, BEOA) : ((obj_t (*)(obj_t, obj_t, obj_t))PROCEDURE_ENTRY(BgL_procz00_106))(BgL_procz00_106, BgL_objz00_107, BgL_arg1681z00_1838) ); }  else 
{ /* Llib/weakhash.scm 629 */
FAILURE(BGl_string3517z00zz__weakhashz00,BGl_list3571z00zz__weakhashz00,BgL_procz00_106);} } 
{ /* Llib/weakhash.scm 630 */
 obj_t BgL_arg1678z00_1837;
{ /* Llib/weakhash.scm 630 */
 obj_t BgL_pairz00_3643;
if(
PAIRP(BgL_buckz00_1823))
{ /* Llib/weakhash.scm 630 */
BgL_pairz00_3643 = BgL_buckz00_1823; }  else 
{ 
 obj_t BgL_auxz00_10252;
BgL_auxz00_10252 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(25116L), BGl_string3456z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_buckz00_1823); 
FAILURE(BgL_auxz00_10252,BFALSE,BFALSE);} 
BgL_arg1678z00_1837 = 
CAR(BgL_pairz00_3643); } 
{ /* Llib/weakhash.scm 630 */
 obj_t BgL_ptrz00_3644;
if(
BGL_WEAKPTRP(BgL_arg1678z00_1837))
{ /* Llib/weakhash.scm 630 */
BgL_ptrz00_3644 = BgL_arg1678z00_1837; }  else 
{ 
 obj_t BgL_auxz00_10259;
BgL_auxz00_10259 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(25120L), BGl_string3456z00zz__weakhashz00, BGl_string3451z00zz__weakhashz00, BgL_arg1678z00_1837); 
FAILURE(BgL_auxz00_10259,BFALSE,BFALSE);} 
bgl_weakptr_ref_set(BgL_ptrz00_3644, BgL_resz00_1836); BUNSPEC; BUNSPEC; } } 
return BgL_resz00_1836;}  else 
{ /* Llib/weakhash.scm 633 */
 obj_t BgL_arg1685z00_1840; long BgL_arg1686z00_1841;
{ /* Llib/weakhash.scm 633 */
 obj_t BgL_pairz00_3645;
if(
PAIRP(BgL_buckz00_1823))
{ /* Llib/weakhash.scm 633 */
BgL_pairz00_3645 = BgL_buckz00_1823; }  else 
{ 
 obj_t BgL_auxz00_10266;
BgL_auxz00_10266 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(25161L), BGl_string3456z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_buckz00_1823); 
FAILURE(BgL_auxz00_10266,BFALSE,BFALSE);} 
BgL_arg1685z00_1840 = 
CDR(BgL_pairz00_3645); } 
BgL_arg1686z00_1841 = 
(BgL_countz00_1824+1L); 
{ 
 long BgL_countz00_10273; obj_t BgL_buckz00_10272;
BgL_buckz00_10272 = BgL_arg1685z00_1840; 
BgL_countz00_10273 = BgL_arg1686z00_1841; 
BgL_countz00_1824 = BgL_countz00_10273; 
BgL_buckz00_1823 = BgL_buckz00_10272; 
goto BgL_zc3z04anonymousza31664ze3z87_1825;} } } } } } } } } } } 

}



/* weak-old-hashtable-add! */
obj_t BGl_weakzd2oldzd2hashtablezd2addz12zc0zz__weakhashz00(obj_t BgL_tablez00_109, obj_t BgL_keyz00_110, obj_t BgL_procz00_111, obj_t BgL_objz00_112, obj_t BgL_initz00_113)
{
{ /* Llib/weakhash.scm 638 */
{ /* Llib/weakhash.scm 639 */
 obj_t BgL_bucketsz00_1846;
{ /* Llib/weakhash.scm 639 */
 bool_t BgL_test4394z00_10274;
{ /* Llib/weakhash.scm 639 */
 obj_t BgL_tmpz00_10275;
{ /* Llib/weakhash.scm 639 */
 obj_t BgL_res2294z00_3650;
{ /* Llib/weakhash.scm 639 */
 obj_t BgL_aux3200z00_5448;
BgL_aux3200z00_5448 = 
STRUCT_KEY(BgL_tablez00_109); 
if(
SYMBOLP(BgL_aux3200z00_5448))
{ /* Llib/weakhash.scm 639 */
BgL_res2294z00_3650 = BgL_aux3200z00_5448; }  else 
{ 
 obj_t BgL_auxz00_10279;
BgL_auxz00_10279 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(25515L), BGl_string3574z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3200z00_5448); 
FAILURE(BgL_auxz00_10279,BFALSE,BFALSE);} } 
BgL_tmpz00_10275 = BgL_res2294z00_3650; } 
BgL_test4394z00_10274 = 
(BgL_tmpz00_10275==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4394z00_10274)
{ /* Llib/weakhash.scm 639 */
 int BgL_tmpz00_10284;
BgL_tmpz00_10284 = 
(int)(2L); 
BgL_bucketsz00_1846 = 
STRUCT_REF(BgL_tablez00_109, BgL_tmpz00_10284); }  else 
{ /* Llib/weakhash.scm 639 */
BgL_bucketsz00_1846 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_109); } } 
{ /* Llib/weakhash.scm 639 */
 long BgL_bucketzd2lenzd2_1847;
{ /* Llib/weakhash.scm 640 */
 obj_t BgL_vectorz00_3651;
if(
VECTORP(BgL_bucketsz00_1846))
{ /* Llib/weakhash.scm 640 */
BgL_vectorz00_3651 = BgL_bucketsz00_1846; }  else 
{ 
 obj_t BgL_auxz00_10290;
BgL_auxz00_10290 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(25573L), BGl_string3574z00zz__weakhashz00, BGl_string3447z00zz__weakhashz00, BgL_bucketsz00_1846); 
FAILURE(BgL_auxz00_10290,BFALSE,BFALSE);} 
BgL_bucketzd2lenzd2_1847 = 
VECTOR_LENGTH(BgL_vectorz00_3651); } 
{ /* Llib/weakhash.scm 640 */
 long BgL_bucketzd2numzd2_1848;
{ /* Llib/weakhash.scm 641 */
 long BgL_arg1720z00_1885;
BgL_arg1720z00_1885 = 
BGl_tablezd2getzd2hashnumberz00zz__weakhashz00(BgL_tablez00_109, BgL_keyz00_110); 
{ /* Llib/weakhash.scm 641 */
 long BgL_n1z00_3652; long BgL_n2z00_3653;
BgL_n1z00_3652 = BgL_arg1720z00_1885; 
BgL_n2z00_3653 = BgL_bucketzd2lenzd2_1847; 
{ /* Llib/weakhash.scm 641 */
 bool_t BgL_test4397z00_10296;
{ /* Llib/weakhash.scm 641 */
 long BgL_arg2034z00_3655;
BgL_arg2034z00_3655 = 
(((BgL_n1z00_3652) | (BgL_n2z00_3653)) & -2147483648); 
BgL_test4397z00_10296 = 
(BgL_arg2034z00_3655==0L); } 
if(BgL_test4397z00_10296)
{ /* Llib/weakhash.scm 641 */
 int32_t BgL_arg2031z00_3656;
{ /* Llib/weakhash.scm 641 */
 int32_t BgL_arg2032z00_3657; int32_t BgL_arg2033z00_3658;
BgL_arg2032z00_3657 = 
(int32_t)(BgL_n1z00_3652); 
BgL_arg2033z00_3658 = 
(int32_t)(BgL_n2z00_3653); 
BgL_arg2031z00_3656 = 
(BgL_arg2032z00_3657%BgL_arg2033z00_3658); } 
{ /* Llib/weakhash.scm 641 */
 long BgL_arg2142z00_3663;
BgL_arg2142z00_3663 = 
(long)(BgL_arg2031z00_3656); 
BgL_bucketzd2numzd2_1848 = 
(long)(BgL_arg2142z00_3663); } }  else 
{ /* Llib/weakhash.scm 641 */
BgL_bucketzd2numzd2_1848 = 
(BgL_n1z00_3652%BgL_n2z00_3653); } } } } 
{ /* Llib/weakhash.scm 641 */
 obj_t BgL_bucketz00_1849;
{ /* Llib/weakhash.scm 642 */
 obj_t BgL_vectorz00_3665;
if(
VECTORP(BgL_bucketsz00_1846))
{ /* Llib/weakhash.scm 642 */
BgL_vectorz00_3665 = BgL_bucketsz00_1846; }  else 
{ 
 obj_t BgL_auxz00_10307;
BgL_auxz00_10307 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(25680L), BGl_string3574z00zz__weakhashz00, BGl_string3447z00zz__weakhashz00, BgL_bucketsz00_1846); 
FAILURE(BgL_auxz00_10307,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 642 */
 bool_t BgL_test4399z00_10311;
{ /* Llib/weakhash.scm 642 */
 long BgL_tmpz00_10312;
BgL_tmpz00_10312 = 
VECTOR_LENGTH(BgL_vectorz00_3665); 
BgL_test4399z00_10311 = 
BOUND_CHECK(BgL_bucketzd2numzd2_1848, BgL_tmpz00_10312); } 
if(BgL_test4399z00_10311)
{ /* Llib/weakhash.scm 642 */
BgL_bucketz00_1849 = 
VECTOR_REF(BgL_vectorz00_3665,BgL_bucketzd2numzd2_1848); }  else 
{ 
 obj_t BgL_auxz00_10316;
BgL_auxz00_10316 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(25668L), BGl_string3448z00zz__weakhashz00, BgL_vectorz00_3665, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_3665)), 
(int)(BgL_bucketzd2numzd2_1848)); 
FAILURE(BgL_auxz00_10316,BFALSE,BFALSE);} } } 
{ /* Llib/weakhash.scm 642 */
 obj_t BgL_maxzd2bucketzd2lenz00_1850;
{ /* Llib/weakhash.scm 643 */
 bool_t BgL_test4400z00_10323;
{ /* Llib/weakhash.scm 643 */
 obj_t BgL_tmpz00_10324;
{ /* Llib/weakhash.scm 643 */
 obj_t BgL_res2295z00_3670;
{ /* Llib/weakhash.scm 643 */
 obj_t BgL_aux3206z00_5454;
BgL_aux3206z00_5454 = 
STRUCT_KEY(BgL_tablez00_109); 
if(
SYMBOLP(BgL_aux3206z00_5454))
{ /* Llib/weakhash.scm 643 */
BgL_res2295z00_3670 = BgL_aux3206z00_5454; }  else 
{ 
 obj_t BgL_auxz00_10328;
BgL_auxz00_10328 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(25720L), BGl_string3574z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3206z00_5454); 
FAILURE(BgL_auxz00_10328,BFALSE,BFALSE);} } 
BgL_tmpz00_10324 = BgL_res2295z00_3670; } 
BgL_test4400z00_10323 = 
(BgL_tmpz00_10324==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4400z00_10323)
{ /* Llib/weakhash.scm 643 */
 int BgL_tmpz00_10333;
BgL_tmpz00_10333 = 
(int)(1L); 
BgL_maxzd2bucketzd2lenz00_1850 = 
STRUCT_REF(BgL_tablez00_109, BgL_tmpz00_10333); }  else 
{ /* Llib/weakhash.scm 643 */
BgL_maxzd2bucketzd2lenz00_1850 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_109); } } 
{ /* Llib/weakhash.scm 643 */
 obj_t BgL_countz00_4551;
BgL_countz00_4551 = 
MAKE_CELL(
BINT(0L)); 
{ /* Llib/weakhash.scm 644 */
 obj_t BgL_foundz00_1852;
{ /* Llib/weakhash.scm 649 */
 obj_t BgL_zc3z04anonymousza31715ze3z87_4541;
{ 
 int BgL_tmpz00_10338;
BgL_tmpz00_10338 = 
(int)(4L); 
BgL_zc3z04anonymousza31715ze3z87_4541 = 
MAKE_L_PROCEDURE(BGl_z62zc3z04anonymousza31715ze3ze5zz__weakhashz00, BgL_tmpz00_10338); } 
PROCEDURE_L_SET(BgL_zc3z04anonymousza31715ze3z87_4541, 
(int)(0L), 
((obj_t)BgL_countz00_4551)); 
PROCEDURE_L_SET(BgL_zc3z04anonymousza31715ze3z87_4541, 
(int)(1L), BgL_procz00_111); 
PROCEDURE_L_SET(BgL_zc3z04anonymousza31715ze3z87_4541, 
(int)(2L), BgL_tablez00_109); 
PROCEDURE_L_SET(BgL_zc3z04anonymousza31715ze3z87_4541, 
(int)(3L), BgL_keyz00_110); 
BgL_foundz00_1852 = 
BGl_traversezd2bucketszd2zz__weakhashz00(BgL_tablez00_109, BgL_bucketsz00_1846, BgL_bucketzd2numzd2_1848, BgL_zc3z04anonymousza31715ze3z87_4541); } 
{ /* Llib/weakhash.scm 646 */

if(
(BgL_foundz00_1852==BGl_keepgoingz00zz__weakhashz00))
{ /* Llib/weakhash.scm 662 */
 obj_t BgL_vz00_1853;
if(
BGl_hashtablezd2weakzd2datazf3zf3zz__hashz00(BgL_tablez00_109))
{ /* Llib/weakhash.scm 663 */
 obj_t BgL_arg1712z00_1866; obj_t BgL_arg1713z00_1867;
{ /* Llib/weakhash.scm 663 */

BgL_arg1712z00_1866 = 
bgl_make_weakptr(BgL_objz00_112, BFALSE); } 
{ /* Llib/weakhash.scm 663 */

BgL_arg1713z00_1867 = 
bgl_make_weakptr(BgL_initz00_113, BFALSE); } 
if(
PROCEDURE_CORRECT_ARITYP(BgL_procz00_111, 2L))
{ /* Llib/weakhash.scm 663 */
BgL_vz00_1853 = 
(VA_PROCEDUREP( BgL_procz00_111 ) ? ((obj_t (*)(obj_t, ...))PROCEDURE_ENTRY(BgL_procz00_111))(BgL_procz00_111, BgL_arg1712z00_1866, BgL_arg1713z00_1867, BEOA) : ((obj_t (*)(obj_t, obj_t, obj_t))PROCEDURE_ENTRY(BgL_procz00_111))(BgL_procz00_111, BgL_arg1712z00_1866, BgL_arg1713z00_1867) ); }  else 
{ /* Llib/weakhash.scm 663 */
FAILURE(BGl_string3575z00zz__weakhashz00,BGl_list3576z00zz__weakhashz00,BgL_procz00_111);} }  else 
{ /* Llib/weakhash.scm 662 */
if(
PROCEDURE_CORRECT_ARITYP(BgL_procz00_111, 2L))
{ /* Llib/weakhash.scm 664 */
BgL_vz00_1853 = 
(VA_PROCEDUREP( BgL_procz00_111 ) ? ((obj_t (*)(obj_t, ...))PROCEDURE_ENTRY(BgL_procz00_111))(BgL_procz00_111, BgL_objz00_112, BgL_initz00_113, BEOA) : ((obj_t (*)(obj_t, obj_t, obj_t))PROCEDURE_ENTRY(BgL_procz00_111))(BgL_procz00_111, BgL_objz00_112, BgL_initz00_113) ); }  else 
{ /* Llib/weakhash.scm 664 */
FAILURE(BGl_string3575z00zz__weakhashz00,BGl_list3563z00zz__weakhashz00,BgL_procz00_111);} } 
{ /* Llib/weakhash.scm 665 */
 long BgL_arg1695z00_1854;
{ /* Llib/weakhash.scm 665 */
 obj_t BgL_arg1696z00_1855;
{ /* Llib/weakhash.scm 665 */
 bool_t BgL_test4406z00_10373;
{ /* Llib/weakhash.scm 665 */
 obj_t BgL_tmpz00_10374;
{ /* Llib/weakhash.scm 665 */
 obj_t BgL_res2297z00_3696;
{ /* Llib/weakhash.scm 665 */
 obj_t BgL_aux3210z00_5460;
BgL_aux3210z00_5460 = 
STRUCT_KEY(BgL_tablez00_109); 
if(
SYMBOLP(BgL_aux3210z00_5460))
{ /* Llib/weakhash.scm 665 */
BgL_res2297z00_3696 = BgL_aux3210z00_5460; }  else 
{ 
 obj_t BgL_auxz00_10378;
BgL_auxz00_10378 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(26456L), BGl_string3574z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3210z00_5460); 
FAILURE(BgL_auxz00_10378,BFALSE,BFALSE);} } 
BgL_tmpz00_10374 = BgL_res2297z00_3696; } 
BgL_test4406z00_10373 = 
(BgL_tmpz00_10374==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4406z00_10373)
{ /* Llib/weakhash.scm 665 */
 int BgL_tmpz00_10383;
BgL_tmpz00_10383 = 
(int)(0L); 
BgL_arg1696z00_1855 = 
STRUCT_REF(BgL_tablez00_109, BgL_tmpz00_10383); }  else 
{ /* Llib/weakhash.scm 665 */
BgL_arg1696z00_1855 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_109); } } 
{ /* Llib/weakhash.scm 665 */
 long BgL_za71za7_3697;
{ /* Llib/weakhash.scm 665 */
 obj_t BgL_tmpz00_10387;
if(
INTEGERP(BgL_arg1696z00_1855))
{ /* Llib/weakhash.scm 665 */
BgL_tmpz00_10387 = BgL_arg1696z00_1855
; }  else 
{ 
 obj_t BgL_auxz00_10390;
BgL_auxz00_10390 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(26478L), BGl_string3574z00zz__weakhashz00, BGl_string3442z00zz__weakhashz00, BgL_arg1696z00_1855); 
FAILURE(BgL_auxz00_10390,BFALSE,BFALSE);} 
BgL_za71za7_3697 = 
(long)CINT(BgL_tmpz00_10387); } 
BgL_arg1695z00_1854 = 
(BgL_za71za7_3697+1L); } } 
{ /* Llib/weakhash.scm 665 */
 bool_t BgL_test4409z00_10396;
{ /* Llib/weakhash.scm 665 */
 obj_t BgL_tmpz00_10397;
{ /* Llib/weakhash.scm 665 */
 obj_t BgL_res2298z00_3701;
{ /* Llib/weakhash.scm 665 */
 obj_t BgL_aux3213z00_5463;
BgL_aux3213z00_5463 = 
STRUCT_KEY(BgL_tablez00_109); 
if(
SYMBOLP(BgL_aux3213z00_5463))
{ /* Llib/weakhash.scm 665 */
BgL_res2298z00_3701 = BgL_aux3213z00_5463; }  else 
{ 
 obj_t BgL_auxz00_10401;
BgL_auxz00_10401 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(26423L), BGl_string3574z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3213z00_5463); 
FAILURE(BgL_auxz00_10401,BFALSE,BFALSE);} } 
BgL_tmpz00_10397 = BgL_res2298z00_3701; } 
BgL_test4409z00_10396 = 
(BgL_tmpz00_10397==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4409z00_10396)
{ /* Llib/weakhash.scm 665 */
 obj_t BgL_auxz00_10408; int BgL_tmpz00_10406;
BgL_auxz00_10408 = 
BINT(BgL_arg1695z00_1854); 
BgL_tmpz00_10406 = 
(int)(0L); 
STRUCT_SET(BgL_tablez00_109, BgL_tmpz00_10406, BgL_auxz00_10408); }  else 
{ /* Llib/weakhash.scm 665 */
BGl_errorz00zz__errorz00(BGl_string3452z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_109); } } } 
{ /* Llib/weakhash.scm 667 */
 obj_t BgL_arg1698z00_1856;
{ /* Llib/weakhash.scm 667 */
 obj_t BgL_arg1703z00_1857; obj_t BgL_arg1704z00_1858;
{ /* Llib/weakhash.scm 667 */
 obj_t BgL_arg1706z00_1859;
if(
BGl_hashtablezd2weakzd2keyszf3zf3zz__hashz00(BgL_tablez00_109))
{ /* Llib/weakhash.scm 668 */

BgL_arg1706z00_1859 = 
bgl_make_weakptr(BgL_keyz00_110, BFALSE); }  else 
{ /* Llib/weakhash.scm 667 */
BgL_arg1706z00_1859 = BgL_keyz00_110; } 
BgL_arg1703z00_1857 = 
MAKE_YOUNG_PAIR(BgL_arg1706z00_1859, BgL_vz00_1853); } 
{ /* Llib/weakhash.scm 673 */
 obj_t BgL_arg1708z00_1863;
{ /* Llib/weakhash.scm 673 */
 bool_t BgL_test4412z00_10416;
{ /* Llib/weakhash.scm 673 */
 obj_t BgL_tmpz00_10417;
{ /* Llib/weakhash.scm 673 */
 obj_t BgL_res2299z00_3705;
{ /* Llib/weakhash.scm 673 */
 obj_t BgL_aux3215z00_5465;
BgL_aux3215z00_5465 = 
STRUCT_KEY(BgL_tablez00_109); 
if(
SYMBOLP(BgL_aux3215z00_5465))
{ /* Llib/weakhash.scm 673 */
BgL_res2299z00_3705 = BgL_aux3215z00_5465; }  else 
{ 
 obj_t BgL_auxz00_10421;
BgL_auxz00_10421 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(26706L), BGl_string3574z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3215z00_5465); 
FAILURE(BgL_auxz00_10421,BFALSE,BFALSE);} } 
BgL_tmpz00_10417 = BgL_res2299z00_3705; } 
BgL_test4412z00_10416 = 
(BgL_tmpz00_10417==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4412z00_10416)
{ /* Llib/weakhash.scm 673 */
 int BgL_tmpz00_10426;
BgL_tmpz00_10426 = 
(int)(2L); 
BgL_arg1708z00_1863 = 
STRUCT_REF(BgL_tablez00_109, BgL_tmpz00_10426); }  else 
{ /* Llib/weakhash.scm 673 */
BgL_arg1708z00_1863 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_109); } } 
{ /* Llib/weakhash.scm 673 */
 obj_t BgL_vectorz00_3706;
if(
VECTORP(BgL_arg1708z00_1863))
{ /* Llib/weakhash.scm 673 */
BgL_vectorz00_3706 = BgL_arg1708z00_1863; }  else 
{ 
 obj_t BgL_auxz00_10432;
BgL_auxz00_10432 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(26731L), BGl_string3574z00zz__weakhashz00, BGl_string3447z00zz__weakhashz00, BgL_arg1708z00_1863); 
FAILURE(BgL_auxz00_10432,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 673 */
 bool_t BgL_test4415z00_10436;
{ /* Llib/weakhash.scm 673 */
 long BgL_tmpz00_10437;
BgL_tmpz00_10437 = 
VECTOR_LENGTH(BgL_vectorz00_3706); 
BgL_test4415z00_10436 = 
BOUND_CHECK(BgL_bucketzd2numzd2_1848, BgL_tmpz00_10437); } 
if(BgL_test4415z00_10436)
{ /* Llib/weakhash.scm 673 */
BgL_arg1704z00_1858 = 
VECTOR_REF(BgL_vectorz00_3706,BgL_bucketzd2numzd2_1848); }  else 
{ 
 obj_t BgL_auxz00_10441;
BgL_auxz00_10441 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(26694L), BGl_string3448z00zz__weakhashz00, BgL_vectorz00_3706, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_3706)), 
(int)(BgL_bucketzd2numzd2_1848)); 
FAILURE(BgL_auxz00_10441,BFALSE,BFALSE);} } } } 
BgL_arg1698z00_1856 = 
MAKE_YOUNG_PAIR(BgL_arg1703z00_1857, BgL_arg1704z00_1858); } 
{ /* Llib/weakhash.scm 666 */
 obj_t BgL_vectorz00_3708;
if(
VECTORP(BgL_bucketsz00_1846))
{ /* Llib/weakhash.scm 666 */
BgL_vectorz00_3708 = BgL_bucketsz00_1846; }  else 
{ 
 obj_t BgL_auxz00_10451;
BgL_auxz00_10451 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(26503L), BGl_string3574z00zz__weakhashz00, BGl_string3447z00zz__weakhashz00, BgL_bucketsz00_1846); 
FAILURE(BgL_auxz00_10451,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 666 */
 bool_t BgL_test4417z00_10455;
{ /* Llib/weakhash.scm 666 */
 long BgL_tmpz00_10456;
BgL_tmpz00_10456 = 
VECTOR_LENGTH(BgL_vectorz00_3708); 
BgL_test4417z00_10455 = 
BOUND_CHECK(BgL_bucketzd2numzd2_1848, BgL_tmpz00_10456); } 
if(BgL_test4417z00_10455)
{ /* Llib/weakhash.scm 666 */
VECTOR_SET(BgL_vectorz00_3708,BgL_bucketzd2numzd2_1848,BgL_arg1698z00_1856); }  else 
{ 
 obj_t BgL_auxz00_10460;
BgL_auxz00_10460 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(26490L), BGl_string3453z00zz__weakhashz00, BgL_vectorz00_3708, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_3708)), 
(int)(BgL_bucketzd2numzd2_1848)); 
FAILURE(BgL_auxz00_10460,BFALSE,BFALSE);} } } } 
{ /* Llib/weakhash.scm 675 */
 bool_t BgL_test4418z00_10467;
{ /* Llib/weakhash.scm 675 */
 long BgL_n1z00_3710; long BgL_n2z00_3711;
{ /* Llib/weakhash.scm 675 */
 obj_t BgL_tmpz00_10468;
{ /* Llib/weakhash.scm 675 */
 obj_t BgL_aux3221z00_5471;
BgL_aux3221z00_5471 = 
CELL_REF(BgL_countz00_4551); 
if(
INTEGERP(BgL_aux3221z00_5471))
{ /* Llib/weakhash.scm 675 */
BgL_tmpz00_10468 = BgL_aux3221z00_5471
; }  else 
{ 
 obj_t BgL_auxz00_10471;
BgL_auxz00_10471 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(26770L), BGl_string3574z00zz__weakhashz00, BGl_string3442z00zz__weakhashz00, BgL_aux3221z00_5471); 
FAILURE(BgL_auxz00_10471,BFALSE,BFALSE);} } 
BgL_n1z00_3710 = 
(long)CINT(BgL_tmpz00_10468); } 
{ /* Llib/weakhash.scm 675 */
 obj_t BgL_tmpz00_10476;
if(
INTEGERP(BgL_maxzd2bucketzd2lenz00_1850))
{ /* Llib/weakhash.scm 675 */
BgL_tmpz00_10476 = BgL_maxzd2bucketzd2lenz00_1850
; }  else 
{ 
 obj_t BgL_auxz00_10479;
BgL_auxz00_10479 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(26776L), BGl_string3574z00zz__weakhashz00, BGl_string3442z00zz__weakhashz00, BgL_maxzd2bucketzd2lenz00_1850); 
FAILURE(BgL_auxz00_10479,BFALSE,BFALSE);} 
BgL_n2z00_3711 = 
(long)CINT(BgL_tmpz00_10476); } 
BgL_test4418z00_10467 = 
(BgL_n1z00_3710>BgL_n2z00_3711); } 
if(BgL_test4418z00_10467)
{ /* Llib/weakhash.scm 675 */
if(
BGl_hashtablezd2weakzd2keyszf3zf3zz__hashz00(BgL_tablez00_109))
{ /* Llib/weakhash.scm 877 */
BGl_weakzd2keyszd2hashtablezd2expandz12zc0zz__weakhashz00(BgL_tablez00_109); }  else 
{ /* Llib/weakhash.scm 877 */
BGl_weakzd2oldzd2hashtablezd2expandz12zc0zz__weakhashz00(BgL_tablez00_109); } }  else 
{ /* Llib/weakhash.scm 675 */BFALSE; } } 
return BgL_vz00_1853;}  else 
{ /* Llib/weakhash.scm 660 */
return BgL_foundz00_1852;} } } } } } } } } } 

}



/* &<@anonymous:1715> */
obj_t BGl_z62zc3z04anonymousza31715ze3ze5zz__weakhashz00(obj_t BgL_envz00_4542, obj_t BgL_bkeyz00_4547, obj_t BgL_valz00_4548, obj_t BgL_bucketz00_4549)
{
{ /* Llib/weakhash.scm 648 */
{ /* Llib/weakhash.scm 649 */
 obj_t BgL_countz00_4543; obj_t BgL_procz00_4544; obj_t BgL_tablez00_4545; obj_t BgL_keyz00_4546;
BgL_countz00_4543 = 
PROCEDURE_L_REF(BgL_envz00_4542, 
(int)(0L)); 
BgL_procz00_4544 = 
((obj_t)
PROCEDURE_L_REF(BgL_envz00_4542, 
(int)(1L))); 
BgL_tablez00_4545 = 
((obj_t)
PROCEDURE_L_REF(BgL_envz00_4542, 
(int)(2L))); 
BgL_keyz00_4546 = 
PROCEDURE_L_REF(BgL_envz00_4542, 
(int)(3L)); 
{ /* Llib/weakhash.scm 649 */
 obj_t BgL_auxz00_5739;
{ /* Llib/weakhash.scm 649 */
 obj_t BgL_tmpz00_10499;
{ /* Llib/weakhash.scm 649 */
 obj_t BgL_aux3223z00_5740;
BgL_aux3223z00_5740 = 
CELL_REF(BgL_countz00_4543); 
if(
INTEGERP(BgL_aux3223z00_5740))
{ /* Llib/weakhash.scm 649 */
BgL_tmpz00_10499 = BgL_aux3223z00_5740
; }  else 
{ 
 obj_t BgL_auxz00_10502;
BgL_auxz00_10502 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(25933L), BGl_string3581z00zz__weakhashz00, BGl_string3442z00zz__weakhashz00, BgL_aux3223z00_5740); 
FAILURE(BgL_auxz00_10502,BFALSE,BFALSE);} } 
BgL_auxz00_5739 = 
ADDFX(BgL_tmpz00_10499, 
BINT(1L)); } 
CELL_SET(BgL_countz00_4543, BgL_auxz00_5739); } 
{ /* Llib/weakhash.scm 650 */
 bool_t BgL_test4423z00_10508;
{ /* Llib/weakhash.scm 650 */
 obj_t BgL_eqtz00_5741;
{ /* Llib/weakhash.scm 650 */
 bool_t BgL_test4424z00_10509;
{ /* Llib/weakhash.scm 650 */
 obj_t BgL_tmpz00_10510;
{ /* Llib/weakhash.scm 650 */
 obj_t BgL_res2296z00_5742;
{ /* Llib/weakhash.scm 650 */
 obj_t BgL_aux3224z00_5743;
BgL_aux3224z00_5743 = 
STRUCT_KEY(BgL_tablez00_4545); 
if(
SYMBOLP(BgL_aux3224z00_5743))
{ /* Llib/weakhash.scm 650 */
BgL_res2296z00_5742 = BgL_aux3224z00_5743; }  else 
{ 
 obj_t BgL_auxz00_10514;
BgL_auxz00_10514 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(25956L), BGl_string3581z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3224z00_5743); 
FAILURE(BgL_auxz00_10514,BFALSE,BFALSE);} } 
BgL_tmpz00_10510 = BgL_res2296z00_5742; } 
BgL_test4424z00_10509 = 
(BgL_tmpz00_10510==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4424z00_10509)
{ /* Llib/weakhash.scm 650 */
 int BgL_tmpz00_10519;
BgL_tmpz00_10519 = 
(int)(3L); 
BgL_eqtz00_5741 = 
STRUCT_REF(BgL_tablez00_4545, BgL_tmpz00_10519); }  else 
{ /* Llib/weakhash.scm 650 */
BgL_eqtz00_5741 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_4545); } } 
if(
PROCEDUREP(BgL_eqtz00_5741))
{ /* Llib/weakhash.scm 650 */
if(
PROCEDURE_CORRECT_ARITYP(BgL_eqtz00_5741, 2L))
{ /* Llib/weakhash.scm 650 */
BgL_test4423z00_10508 = 
CBOOL(
(VA_PROCEDUREP( BgL_eqtz00_5741 ) ? ((obj_t (*)(obj_t, ...))PROCEDURE_ENTRY(BgL_eqtz00_5741))(BgL_eqtz00_5741, BgL_bkeyz00_4547, BgL_keyz00_4546, BEOA) : ((obj_t (*)(obj_t, obj_t, obj_t))PROCEDURE_ENTRY(BgL_eqtz00_5741))(BgL_eqtz00_5741, BgL_bkeyz00_4547, BgL_keyz00_4546) ))
; }  else 
{ /* Llib/weakhash.scm 650 */
FAILURE(BGl_string3582z00zz__weakhashz00,BGl_list3545z00zz__weakhashz00,BgL_eqtz00_5741);} }  else 
{ /* Llib/weakhash.scm 650 */
if(
(BgL_bkeyz00_4547==BgL_keyz00_4546))
{ /* Llib/weakhash.scm 650 */
BgL_test4423z00_10508 = ((bool_t)1)
; }  else 
{ /* Llib/weakhash.scm 650 */
if(
STRINGP(BgL_bkeyz00_4547))
{ /* Llib/weakhash.scm 650 */
if(
STRINGP(BgL_keyz00_4546))
{ /* Llib/weakhash.scm 650 */
 long BgL_l1z00_5744;
BgL_l1z00_5744 = 
STRING_LENGTH(BgL_bkeyz00_4547); 
if(
(BgL_l1z00_5744==
STRING_LENGTH(BgL_keyz00_4546)))
{ /* Llib/weakhash.scm 650 */
 int BgL_arg1926z00_5745;
{ /* Llib/weakhash.scm 650 */
 char * BgL_auxz00_10546; char * BgL_tmpz00_10544;
BgL_auxz00_10546 = 
BSTRING_TO_STRING(BgL_keyz00_4546); 
BgL_tmpz00_10544 = 
BSTRING_TO_STRING(BgL_bkeyz00_4547); 
BgL_arg1926z00_5745 = 
memcmp(BgL_tmpz00_10544, BgL_auxz00_10546, BgL_l1z00_5744); } 
BgL_test4423z00_10508 = 
(
(long)(BgL_arg1926z00_5745)==0L); }  else 
{ /* Llib/weakhash.scm 650 */
BgL_test4423z00_10508 = ((bool_t)0)
; } }  else 
{ /* Llib/weakhash.scm 650 */
BgL_test4423z00_10508 = ((bool_t)0)
; } }  else 
{ /* Llib/weakhash.scm 650 */
BgL_test4423z00_10508 = ((bool_t)0)
; } } } } 
if(BgL_test4423z00_10508)
{ /* Llib/weakhash.scm 651 */
 obj_t BgL_newvalz00_5746;
if(
PROCEDURE_CORRECT_ARITYP(BgL_procz00_4544, 1L))
{ /* Llib/weakhash.scm 651 */
BgL_newvalz00_5746 = 
(VA_PROCEDUREP( BgL_procz00_4544 ) ? ((obj_t (*)(obj_t, ...))PROCEDURE_ENTRY(BgL_procz00_4544))(BgL_procz00_4544, BgL_valz00_4548, BEOA) : ((obj_t (*)(obj_t, obj_t))PROCEDURE_ENTRY(BgL_procz00_4544))(BgL_procz00_4544, BgL_valz00_4548) ); }  else 
{ /* Llib/weakhash.scm 651 */
FAILURE(BGl_string3582z00zz__weakhashz00,BGl_list3559z00zz__weakhashz00,BgL_procz00_4544);} 
{ /* Llib/weakhash.scm 652 */
 obj_t BgL_arg1717z00_5747; obj_t BgL_arg1718z00_5748;
{ /* Llib/weakhash.scm 652 */
 obj_t BgL_pairz00_5749;
if(
PAIRP(BgL_bucketz00_4549))
{ /* Llib/weakhash.scm 652 */
BgL_pairz00_5749 = BgL_bucketz00_4549; }  else 
{ 
 obj_t BgL_auxz00_10560;
BgL_auxz00_10560 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(26047L), BGl_string3581z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_bucketz00_4549); 
FAILURE(BgL_auxz00_10560,BFALSE,BFALSE);} 
BgL_arg1717z00_5747 = 
CAR(BgL_pairz00_5749); } 
if(
BGl_hashtablezd2weakzd2datazf3zf3zz__hashz00(BgL_tablez00_4545))
{ /* Llib/weakhash.scm 654 */

BgL_arg1718z00_5748 = 
bgl_make_weakptr(BgL_newvalz00_5746, BFALSE); }  else 
{ /* Llib/weakhash.scm 653 */
BgL_arg1718z00_5748 = BgL_newvalz00_5746; } 
{ /* Llib/weakhash.scm 652 */
 obj_t BgL_pairz00_5750;
if(
PAIRP(BgL_arg1717z00_5747))
{ /* Llib/weakhash.scm 652 */
BgL_pairz00_5750 = BgL_arg1717z00_5747; }  else 
{ 
 obj_t BgL_auxz00_10570;
BgL_auxz00_10570 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(26053L), BGl_string3581z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_arg1717z00_5747); 
FAILURE(BgL_auxz00_10570,BFALSE,BFALSE);} 
SET_CDR(BgL_pairz00_5750, BgL_arg1718z00_5748); } } 
return BgL_newvalz00_5746;}  else 
{ /* Llib/weakhash.scm 650 */
return BGl_keepgoingz00zz__weakhashz00;} } } } 

}



/* weak-hashtable-add! */
BGL_EXPORTED_DEF obj_t BGl_weakzd2hashtablezd2addz12z12zz__weakhashz00(obj_t BgL_tablez00_114, obj_t BgL_keyz00_115, obj_t BgL_procz00_116, obj_t BgL_objz00_117, obj_t BgL_initz00_118)
{
{ /* Llib/weakhash.scm 682 */
if(
BGl_hashtablezd2weakzd2keyszf3zf3zz__hashz00(BgL_tablez00_114))
{ /* Llib/weakhash.scm 683 */
BGL_TAIL return 
BGl_weakzd2keyszd2hashtablezd2addz12zc0zz__weakhashz00(BgL_tablez00_114, BgL_keyz00_115, BgL_procz00_116, BgL_objz00_117, BgL_initz00_118);}  else 
{ /* Llib/weakhash.scm 683 */
BGL_TAIL return 
BGl_weakzd2oldzd2hashtablezd2addz12zc0zz__weakhashz00(BgL_tablez00_114, BgL_keyz00_115, BgL_procz00_116, BgL_objz00_117, BgL_initz00_118);} } 

}



/* &weak-hashtable-add! */
obj_t BGl_z62weakzd2hashtablezd2addz12z70zz__weakhashz00(obj_t BgL_envz00_4553, obj_t BgL_tablez00_4554, obj_t BgL_keyz00_4555, obj_t BgL_procz00_4556, obj_t BgL_objz00_4557, obj_t BgL_initz00_4558)
{
{ /* Llib/weakhash.scm 682 */
{ /* Llib/weakhash.scm 683 */
 obj_t BgL_auxz00_10586; obj_t BgL_auxz00_10579;
if(
PROCEDUREP(BgL_procz00_4556))
{ /* Llib/weakhash.scm 683 */
BgL_auxz00_10586 = BgL_procz00_4556
; }  else 
{ 
 obj_t BgL_auxz00_10589;
BgL_auxz00_10589 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(27143L), BGl_string3583z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_procz00_4556); 
FAILURE(BgL_auxz00_10589,BFALSE,BFALSE);} 
if(
STRUCTP(BgL_tablez00_4554))
{ /* Llib/weakhash.scm 683 */
BgL_auxz00_10579 = BgL_tablez00_4554
; }  else 
{ 
 obj_t BgL_auxz00_10582;
BgL_auxz00_10582 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(27143L), BGl_string3583z00zz__weakhashz00, BGl_string3487z00zz__weakhashz00, BgL_tablez00_4554); 
FAILURE(BgL_auxz00_10582,BFALSE,BFALSE);} 
return 
BGl_weakzd2hashtablezd2addz12z12zz__weakhashz00(BgL_auxz00_10579, BgL_keyz00_4555, BgL_auxz00_10586, BgL_objz00_4557, BgL_initz00_4558);} } 

}



/* weak-keys-hashtable-remove! */
bool_t BGl_weakzd2keyszd2hashtablezd2removez12zc0zz__weakhashz00(obj_t BgL_tablez00_119, obj_t BgL_keyz00_120)
{
{ /* Llib/weakhash.scm 690 */
{ /* Llib/weakhash.scm 691 */
 obj_t BgL_bucketsz00_1887;
{ /* Llib/weakhash.scm 691 */
 bool_t BgL_test4439z00_10594;
{ /* Llib/weakhash.scm 691 */
 obj_t BgL_tmpz00_10595;
{ /* Llib/weakhash.scm 691 */
 obj_t BgL_res2300z00_3718;
{ /* Llib/weakhash.scm 691 */
 obj_t BgL_aux3236z00_5488;
BgL_aux3236z00_5488 = 
STRUCT_KEY(BgL_tablez00_119); 
if(
SYMBOLP(BgL_aux3236z00_5488))
{ /* Llib/weakhash.scm 691 */
BgL_res2300z00_3718 = BgL_aux3236z00_5488; }  else 
{ 
 obj_t BgL_auxz00_10599;
BgL_auxz00_10599 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(27596L), BGl_string3584z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3236z00_5488); 
FAILURE(BgL_auxz00_10599,BFALSE,BFALSE);} } 
BgL_tmpz00_10595 = BgL_res2300z00_3718; } 
BgL_test4439z00_10594 = 
(BgL_tmpz00_10595==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4439z00_10594)
{ /* Llib/weakhash.scm 691 */
 int BgL_tmpz00_10604;
BgL_tmpz00_10604 = 
(int)(2L); 
BgL_bucketsz00_1887 = 
STRUCT_REF(BgL_tablez00_119, BgL_tmpz00_10604); }  else 
{ /* Llib/weakhash.scm 691 */
BgL_bucketsz00_1887 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_119); } } 
{ /* Llib/weakhash.scm 691 */
 long BgL_bucketzd2lenzd2_1888;
{ /* Llib/weakhash.scm 692 */
 obj_t BgL_vectorz00_3719;
if(
VECTORP(BgL_bucketsz00_1887))
{ /* Llib/weakhash.scm 692 */
BgL_vectorz00_3719 = BgL_bucketsz00_1887; }  else 
{ 
 obj_t BgL_auxz00_10610;
BgL_auxz00_10610 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(27654L), BGl_string3584z00zz__weakhashz00, BGl_string3447z00zz__weakhashz00, BgL_bucketsz00_1887); 
FAILURE(BgL_auxz00_10610,BFALSE,BFALSE);} 
BgL_bucketzd2lenzd2_1888 = 
VECTOR_LENGTH(BgL_vectorz00_3719); } 
{ /* Llib/weakhash.scm 692 */
 long BgL_bucketzd2numzd2_1889;
{ /* Llib/weakhash.scm 693 */
 long BgL_arg1745z00_1916;
BgL_arg1745z00_1916 = 
BGl_tablezd2getzd2hashnumberz00zz__weakhashz00(BgL_tablez00_119, BgL_keyz00_120); 
{ /* Llib/weakhash.scm 693 */
 long BgL_n1z00_3720; long BgL_n2z00_3721;
BgL_n1z00_3720 = BgL_arg1745z00_1916; 
BgL_n2z00_3721 = BgL_bucketzd2lenzd2_1888; 
{ /* Llib/weakhash.scm 693 */
 bool_t BgL_test4442z00_10616;
{ /* Llib/weakhash.scm 693 */
 long BgL_arg2034z00_3723;
BgL_arg2034z00_3723 = 
(((BgL_n1z00_3720) | (BgL_n2z00_3721)) & -2147483648); 
BgL_test4442z00_10616 = 
(BgL_arg2034z00_3723==0L); } 
if(BgL_test4442z00_10616)
{ /* Llib/weakhash.scm 693 */
 int32_t BgL_arg2031z00_3724;
{ /* Llib/weakhash.scm 693 */
 int32_t BgL_arg2032z00_3725; int32_t BgL_arg2033z00_3726;
BgL_arg2032z00_3725 = 
(int32_t)(BgL_n1z00_3720); 
BgL_arg2033z00_3726 = 
(int32_t)(BgL_n2z00_3721); 
BgL_arg2031z00_3724 = 
(BgL_arg2032z00_3725%BgL_arg2033z00_3726); } 
{ /* Llib/weakhash.scm 693 */
 long BgL_arg2142z00_3731;
BgL_arg2142z00_3731 = 
(long)(BgL_arg2031z00_3724); 
BgL_bucketzd2numzd2_1889 = 
(long)(BgL_arg2142z00_3731); } }  else 
{ /* Llib/weakhash.scm 693 */
BgL_bucketzd2numzd2_1889 = 
(BgL_n1z00_3720%BgL_n2z00_3721); } } } } 
{ /* Llib/weakhash.scm 693 */
 obj_t BgL_bucketz00_1890;
{ /* Llib/weakhash.scm 694 */
 obj_t BgL_vectorz00_3733;
if(
VECTORP(BgL_bucketsz00_1887))
{ /* Llib/weakhash.scm 694 */
BgL_vectorz00_3733 = BgL_bucketsz00_1887; }  else 
{ 
 obj_t BgL_auxz00_10627;
BgL_auxz00_10627 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(27764L), BGl_string3584z00zz__weakhashz00, BGl_string3447z00zz__weakhashz00, BgL_bucketsz00_1887); 
FAILURE(BgL_auxz00_10627,BFALSE,BFALSE);} 
BgL_bucketz00_1890 = 
VECTOR_REF(BgL_vectorz00_3733,BgL_bucketzd2numzd2_1889); } 
{ /* Llib/weakhash.scm 694 */

if(
NULLP(BgL_bucketz00_1890))
{ /* Llib/weakhash.scm 696 */
return ((bool_t)0);}  else 
{ /* Llib/weakhash.scm 698 */
 bool_t BgL_test4445z00_10634;
{ /* Llib/weakhash.scm 698 */
 obj_t BgL_arg1743z00_1914;
{ /* Llib/weakhash.scm 698 */
 obj_t BgL_arg1744z00_1915;
{ /* Llib/weakhash.scm 698 */
 obj_t BgL_pairz00_3735;
if(
PAIRP(BgL_bucketz00_1890))
{ /* Llib/weakhash.scm 698 */
BgL_pairz00_3735 = BgL_bucketz00_1890; }  else 
{ 
 obj_t BgL_auxz00_10637;
BgL_auxz00_10637 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(27869L), BGl_string3584z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_bucketz00_1890); 
FAILURE(BgL_auxz00_10637,BFALSE,BFALSE);} 
BgL_arg1744z00_1915 = 
CAR(BgL_pairz00_3735); } 
{ /* Llib/weakhash.scm 698 */
 obj_t BgL_objz00_3736;
if(
BGL_WEAKPTRP(BgL_arg1744z00_1915))
{ /* Llib/weakhash.scm 698 */
BgL_objz00_3736 = BgL_arg1744z00_1915; }  else 
{ 
 obj_t BgL_auxz00_10644;
BgL_auxz00_10644 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(27875L), BGl_string3584z00zz__weakhashz00, BGl_string3451z00zz__weakhashz00, BgL_arg1744z00_1915); 
FAILURE(BgL_auxz00_10644,BFALSE,BFALSE);} 
BgL_arg1743z00_1914 = 
bgl_weakptr_data(BgL_objz00_3736); } } 
{ /* Llib/weakhash.scm 698 */
 obj_t BgL_eqtz00_3737;
{ /* Llib/weakhash.scm 698 */
 bool_t BgL_test4448z00_10649;
{ /* Llib/weakhash.scm 698 */
 obj_t BgL_tmpz00_10650;
{ /* Llib/weakhash.scm 698 */
 obj_t BgL_res2301z00_3744;
{ /* Llib/weakhash.scm 698 */
 obj_t BgL_aux3246z00_5498;
BgL_aux3246z00_5498 = 
STRUCT_KEY(BgL_tablez00_119); 
if(
SYMBOLP(BgL_aux3246z00_5498))
{ /* Llib/weakhash.scm 698 */
BgL_res2301z00_3744 = BgL_aux3246z00_5498; }  else 
{ 
 obj_t BgL_auxz00_10654;
BgL_auxz00_10654 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(27826L), BGl_string3584z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3246z00_5498); 
FAILURE(BgL_auxz00_10654,BFALSE,BFALSE);} } 
BgL_tmpz00_10650 = BgL_res2301z00_3744; } 
BgL_test4448z00_10649 = 
(BgL_tmpz00_10650==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4448z00_10649)
{ /* Llib/weakhash.scm 698 */
 int BgL_tmpz00_10659;
BgL_tmpz00_10659 = 
(int)(3L); 
BgL_eqtz00_3737 = 
STRUCT_REF(BgL_tablez00_119, BgL_tmpz00_10659); }  else 
{ /* Llib/weakhash.scm 698 */
BgL_eqtz00_3737 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_119); } } 
if(
PROCEDUREP(BgL_eqtz00_3737))
{ /* Llib/weakhash.scm 698 */
if(
PROCEDURE_CORRECT_ARITYP(BgL_eqtz00_3737, 2L))
{ /* Llib/weakhash.scm 698 */
BgL_test4445z00_10634 = 
CBOOL(
(VA_PROCEDUREP( BgL_eqtz00_3737 ) ? ((obj_t (*)(obj_t, ...))PROCEDURE_ENTRY(BgL_eqtz00_3737))(BgL_eqtz00_3737, BgL_arg1743z00_1914, BgL_keyz00_120, BEOA) : ((obj_t (*)(obj_t, obj_t, obj_t))PROCEDURE_ENTRY(BgL_eqtz00_3737))(BgL_eqtz00_3737, BgL_arg1743z00_1914, BgL_keyz00_120) ))
; }  else 
{ /* Llib/weakhash.scm 698 */
FAILURE(BGl_string3585z00zz__weakhashz00,BGl_list3586z00zz__weakhashz00,BgL_eqtz00_3737);} }  else 
{ /* Llib/weakhash.scm 698 */
if(
(BgL_arg1743z00_1914==BgL_keyz00_120))
{ /* Llib/weakhash.scm 698 */
BgL_test4445z00_10634 = ((bool_t)1)
; }  else 
{ /* Llib/weakhash.scm 698 */
if(
STRINGP(BgL_arg1743z00_1914))
{ /* Llib/weakhash.scm 698 */
if(
STRINGP(BgL_keyz00_120))
{ /* Llib/weakhash.scm 698 */
 long BgL_l1z00_3747;
BgL_l1z00_3747 = 
STRING_LENGTH(BgL_arg1743z00_1914); 
if(
(BgL_l1z00_3747==
STRING_LENGTH(BgL_keyz00_120)))
{ /* Llib/weakhash.scm 698 */
 int BgL_arg1926z00_3750;
{ /* Llib/weakhash.scm 698 */
 char * BgL_auxz00_10686; char * BgL_tmpz00_10684;
BgL_auxz00_10686 = 
BSTRING_TO_STRING(BgL_keyz00_120); 
BgL_tmpz00_10684 = 
BSTRING_TO_STRING(BgL_arg1743z00_1914); 
BgL_arg1926z00_3750 = 
memcmp(BgL_tmpz00_10684, BgL_auxz00_10686, BgL_l1z00_3747); } 
BgL_test4445z00_10634 = 
(
(long)(BgL_arg1926z00_3750)==0L); }  else 
{ /* Llib/weakhash.scm 698 */
BgL_test4445z00_10634 = ((bool_t)0)
; } }  else 
{ /* Llib/weakhash.scm 698 */
BgL_test4445z00_10634 = ((bool_t)0)
; } }  else 
{ /* Llib/weakhash.scm 698 */
BgL_test4445z00_10634 = ((bool_t)0)
; } } } } } 
if(BgL_test4445z00_10634)
{ /* Llib/weakhash.scm 698 */
{ /* Llib/weakhash.scm 699 */
 obj_t BgL_arg1726z00_1895;
{ /* Llib/weakhash.scm 699 */
 obj_t BgL_pairz00_3756;
if(
PAIRP(BgL_bucketz00_1890))
{ /* Llib/weakhash.scm 699 */
BgL_pairz00_3756 = BgL_bucketz00_1890; }  else 
{ 
 obj_t BgL_auxz00_10693;
BgL_auxz00_10693 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(27926L), BGl_string3584z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_bucketz00_1890); 
FAILURE(BgL_auxz00_10693,BFALSE,BFALSE);} 
BgL_arg1726z00_1895 = 
CDR(BgL_pairz00_3756); } 
{ /* Llib/weakhash.scm 699 */
 obj_t BgL_vectorz00_3757;
if(
VECTORP(BgL_bucketsz00_1887))
{ /* Llib/weakhash.scm 699 */
BgL_vectorz00_3757 = BgL_bucketsz00_1887; }  else 
{ 
 obj_t BgL_auxz00_10700;
BgL_auxz00_10700 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(27902L), BGl_string3584z00zz__weakhashz00, BGl_string3447z00zz__weakhashz00, BgL_bucketsz00_1887); 
FAILURE(BgL_auxz00_10700,BFALSE,BFALSE);} 
VECTOR_SET(BgL_vectorz00_3757,BgL_bucketzd2numzd2_1889,BgL_arg1726z00_1895); } } 
{ /* Llib/weakhash.scm 700 */
 long BgL_arg1727z00_1896;
{ /* Llib/weakhash.scm 700 */
 obj_t BgL_arg1729z00_1897;
{ /* Llib/weakhash.scm 700 */
 bool_t BgL_test4458z00_10705;
{ /* Llib/weakhash.scm 700 */
 obj_t BgL_tmpz00_10706;
{ /* Llib/weakhash.scm 700 */
 obj_t BgL_res2302z00_3762;
{ /* Llib/weakhash.scm 700 */
 obj_t BgL_aux3253z00_5506;
BgL_aux3253z00_5506 = 
STRUCT_KEY(BgL_tablez00_119); 
if(
SYMBOLP(BgL_aux3253z00_5506))
{ /* Llib/weakhash.scm 700 */
BgL_res2302z00_3762 = BgL_aux3253z00_5506; }  else 
{ 
 obj_t BgL_auxz00_10710;
BgL_auxz00_10710 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(27971L), BGl_string3584z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3253z00_5506); 
FAILURE(BgL_auxz00_10710,BFALSE,BFALSE);} } 
BgL_tmpz00_10706 = BgL_res2302z00_3762; } 
BgL_test4458z00_10705 = 
(BgL_tmpz00_10706==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4458z00_10705)
{ /* Llib/weakhash.scm 700 */
 int BgL_tmpz00_10715;
BgL_tmpz00_10715 = 
(int)(0L); 
BgL_arg1729z00_1897 = 
STRUCT_REF(BgL_tablez00_119, BgL_tmpz00_10715); }  else 
{ /* Llib/weakhash.scm 700 */
BgL_arg1729z00_1897 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_119); } } 
{ /* Llib/weakhash.scm 700 */
 long BgL_za71za7_3763;
{ /* Llib/weakhash.scm 700 */
 obj_t BgL_tmpz00_10719;
if(
INTEGERP(BgL_arg1729z00_1897))
{ /* Llib/weakhash.scm 700 */
BgL_tmpz00_10719 = BgL_arg1729z00_1897
; }  else 
{ 
 obj_t BgL_auxz00_10722;
BgL_auxz00_10722 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(27993L), BGl_string3584z00zz__weakhashz00, BGl_string3442z00zz__weakhashz00, BgL_arg1729z00_1897); 
FAILURE(BgL_auxz00_10722,BFALSE,BFALSE);} 
BgL_za71za7_3763 = 
(long)CINT(BgL_tmpz00_10719); } 
BgL_arg1727z00_1896 = 
(BgL_za71za7_3763-1L); } } 
{ /* Llib/weakhash.scm 700 */
 bool_t BgL_test4461z00_10728;
{ /* Llib/weakhash.scm 700 */
 obj_t BgL_tmpz00_10729;
{ /* Llib/weakhash.scm 700 */
 obj_t BgL_res2303z00_3767;
{ /* Llib/weakhash.scm 700 */
 obj_t BgL_aux3256z00_5509;
BgL_aux3256z00_5509 = 
STRUCT_KEY(BgL_tablez00_119); 
if(
SYMBOLP(BgL_aux3256z00_5509))
{ /* Llib/weakhash.scm 700 */
BgL_res2303z00_3767 = BgL_aux3256z00_5509; }  else 
{ 
 obj_t BgL_auxz00_10733;
BgL_auxz00_10733 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(27938L), BGl_string3584z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3256z00_5509); 
FAILURE(BgL_auxz00_10733,BFALSE,BFALSE);} } 
BgL_tmpz00_10729 = BgL_res2303z00_3767; } 
BgL_test4461z00_10728 = 
(BgL_tmpz00_10729==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4461z00_10728)
{ /* Llib/weakhash.scm 700 */
 obj_t BgL_auxz00_10740; int BgL_tmpz00_10738;
BgL_auxz00_10740 = 
BINT(BgL_arg1727z00_1896); 
BgL_tmpz00_10738 = 
(int)(0L); 
STRUCT_SET(BgL_tablez00_119, BgL_tmpz00_10738, BgL_auxz00_10740); }  else 
{ /* Llib/weakhash.scm 700 */
BGl_errorz00zz__errorz00(BGl_string3452z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_119); } } } 
return ((bool_t)1);}  else 
{ /* Llib/weakhash.scm 703 */
 obj_t BgL_g1068z00_1898;
{ /* Llib/weakhash.scm 703 */
 obj_t BgL_pairz00_3768;
if(
PAIRP(BgL_bucketz00_1890))
{ /* Llib/weakhash.scm 703 */
BgL_pairz00_3768 = BgL_bucketz00_1890; }  else 
{ 
 obj_t BgL_auxz00_10746;
BgL_auxz00_10746 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(28041L), BGl_string3584z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_bucketz00_1890); 
FAILURE(BgL_auxz00_10746,BFALSE,BFALSE);} 
BgL_g1068z00_1898 = 
CDR(BgL_pairz00_3768); } 
{ 
 obj_t BgL_bucketz00_1900; obj_t BgL_prevz00_1901;
BgL_bucketz00_1900 = BgL_g1068z00_1898; 
BgL_prevz00_1901 = BgL_bucketz00_1890; 
BgL_zc3z04anonymousza31730ze3z87_1902:
if(
PAIRP(BgL_bucketz00_1900))
{ /* Llib/weakhash.scm 706 */
 bool_t BgL_test4465z00_10753;
{ /* Llib/weakhash.scm 706 */
 obj_t BgL_arg1741z00_1911;
{ /* Llib/weakhash.scm 706 */
 obj_t BgL_arg1742z00_1912;
BgL_arg1742z00_1912 = 
CAR(BgL_bucketz00_1900); 
{ /* Llib/weakhash.scm 706 */
 obj_t BgL_objz00_3770;
if(
BGL_WEAKPTRP(BgL_arg1742z00_1912))
{ /* Llib/weakhash.scm 706 */
BgL_objz00_3770 = BgL_arg1742z00_1912; }  else 
{ 
 obj_t BgL_auxz00_10757;
BgL_auxz00_10757 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(28153L), BGl_string3456z00zz__weakhashz00, BGl_string3451z00zz__weakhashz00, BgL_arg1742z00_1912); 
FAILURE(BgL_auxz00_10757,BFALSE,BFALSE);} 
BgL_arg1741z00_1911 = 
bgl_weakptr_data(BgL_objz00_3770); } } 
{ /* Llib/weakhash.scm 706 */
 obj_t BgL_eqtz00_3771;
{ /* Llib/weakhash.scm 706 */
 bool_t BgL_test4467z00_10762;
{ /* Llib/weakhash.scm 706 */
 obj_t BgL_tmpz00_10763;
{ /* Llib/weakhash.scm 706 */
 obj_t BgL_res2304z00_3778;
{ /* Llib/weakhash.scm 706 */
 obj_t BgL_aux3262z00_5515;
BgL_aux3262z00_5515 = 
STRUCT_KEY(BgL_tablez00_119); 
if(
SYMBOLP(BgL_aux3262z00_5515))
{ /* Llib/weakhash.scm 706 */
BgL_res2304z00_3778 = BgL_aux3262z00_5515; }  else 
{ 
 obj_t BgL_auxz00_10767;
BgL_auxz00_10767 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(28104L), BGl_string3456z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3262z00_5515); 
FAILURE(BgL_auxz00_10767,BFALSE,BFALSE);} } 
BgL_tmpz00_10763 = BgL_res2304z00_3778; } 
BgL_test4467z00_10762 = 
(BgL_tmpz00_10763==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4467z00_10762)
{ /* Llib/weakhash.scm 706 */
 int BgL_tmpz00_10772;
BgL_tmpz00_10772 = 
(int)(3L); 
BgL_eqtz00_3771 = 
STRUCT_REF(BgL_tablez00_119, BgL_tmpz00_10772); }  else 
{ /* Llib/weakhash.scm 706 */
BgL_eqtz00_3771 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_119); } } 
if(
PROCEDUREP(BgL_eqtz00_3771))
{ /* Llib/weakhash.scm 706 */
if(
PROCEDURE_CORRECT_ARITYP(BgL_eqtz00_3771, 2L))
{ /* Llib/weakhash.scm 706 */
BgL_test4465z00_10753 = 
CBOOL(
(VA_PROCEDUREP( BgL_eqtz00_3771 ) ? ((obj_t (*)(obj_t, ...))PROCEDURE_ENTRY(BgL_eqtz00_3771))(BgL_eqtz00_3771, BgL_arg1741z00_1911, BgL_keyz00_120, BEOA) : ((obj_t (*)(obj_t, obj_t, obj_t))PROCEDURE_ENTRY(BgL_eqtz00_3771))(BgL_eqtz00_3771, BgL_arg1741z00_1911, BgL_keyz00_120) ))
; }  else 
{ /* Llib/weakhash.scm 706 */
FAILURE(BGl_string3517z00zz__weakhashz00,BGl_list3589z00zz__weakhashz00,BgL_eqtz00_3771);} }  else 
{ /* Llib/weakhash.scm 706 */
if(
(BgL_arg1741z00_1911==BgL_keyz00_120))
{ /* Llib/weakhash.scm 706 */
BgL_test4465z00_10753 = ((bool_t)1)
; }  else 
{ /* Llib/weakhash.scm 706 */
if(
STRINGP(BgL_arg1741z00_1911))
{ /* Llib/weakhash.scm 706 */
if(
STRINGP(BgL_keyz00_120))
{ /* Llib/weakhash.scm 706 */
 long BgL_l1z00_3781;
BgL_l1z00_3781 = 
STRING_LENGTH(BgL_arg1741z00_1911); 
if(
(BgL_l1z00_3781==
STRING_LENGTH(BgL_keyz00_120)))
{ /* Llib/weakhash.scm 706 */
 int BgL_arg1926z00_3784;
{ /* Llib/weakhash.scm 706 */
 char * BgL_auxz00_10799; char * BgL_tmpz00_10797;
BgL_auxz00_10799 = 
BSTRING_TO_STRING(BgL_keyz00_120); 
BgL_tmpz00_10797 = 
BSTRING_TO_STRING(BgL_arg1741z00_1911); 
BgL_arg1926z00_3784 = 
memcmp(BgL_tmpz00_10797, BgL_auxz00_10799, BgL_l1z00_3781); } 
BgL_test4465z00_10753 = 
(
(long)(BgL_arg1926z00_3784)==0L); }  else 
{ /* Llib/weakhash.scm 706 */
BgL_test4465z00_10753 = ((bool_t)0)
; } }  else 
{ /* Llib/weakhash.scm 706 */
BgL_test4465z00_10753 = ((bool_t)0)
; } }  else 
{ /* Llib/weakhash.scm 706 */
BgL_test4465z00_10753 = ((bool_t)0)
; } } } } } 
if(BgL_test4465z00_10753)
{ /* Llib/weakhash.scm 706 */
{ /* Llib/weakhash.scm 708 */
 obj_t BgL_arg1735z00_1907;
BgL_arg1735z00_1907 = 
CDR(BgL_bucketz00_1900); 
{ /* Llib/weakhash.scm 708 */
 obj_t BgL_pairz00_3791;
if(
PAIRP(BgL_prevz00_1901))
{ /* Llib/weakhash.scm 708 */
BgL_pairz00_3791 = BgL_prevz00_1901; }  else 
{ 
 obj_t BgL_auxz00_10807;
BgL_auxz00_10807 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(28188L), BGl_string3456z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_prevz00_1901); 
FAILURE(BgL_auxz00_10807,BFALSE,BFALSE);} 
SET_CDR(BgL_pairz00_3791, BgL_arg1735z00_1907); } } 
{ /* Llib/weakhash.scm 710 */
 long BgL_arg1736z00_1908;
{ /* Llib/weakhash.scm 710 */
 obj_t BgL_arg1738z00_1909;
{ /* Llib/weakhash.scm 710 */
 bool_t BgL_test4476z00_10812;
{ /* Llib/weakhash.scm 710 */
 obj_t BgL_tmpz00_10813;
{ /* Llib/weakhash.scm 710 */
 obj_t BgL_res2305z00_3795;
{ /* Llib/weakhash.scm 710 */
 obj_t BgL_aux3267z00_5521;
BgL_aux3267z00_5521 = 
STRUCT_KEY(BgL_tablez00_119); 
if(
SYMBOLP(BgL_aux3267z00_5521))
{ /* Llib/weakhash.scm 710 */
BgL_res2305z00_3795 = BgL_aux3267z00_5521; }  else 
{ 
 obj_t BgL_auxz00_10817;
BgL_auxz00_10817 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(28249L), BGl_string3456z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3267z00_5521); 
FAILURE(BgL_auxz00_10817,BFALSE,BFALSE);} } 
BgL_tmpz00_10813 = BgL_res2305z00_3795; } 
BgL_test4476z00_10812 = 
(BgL_tmpz00_10813==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4476z00_10812)
{ /* Llib/weakhash.scm 710 */
 int BgL_tmpz00_10822;
BgL_tmpz00_10822 = 
(int)(0L); 
BgL_arg1738z00_1909 = 
STRUCT_REF(BgL_tablez00_119, BgL_tmpz00_10822); }  else 
{ /* Llib/weakhash.scm 710 */
BgL_arg1738z00_1909 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_119); } } 
{ /* Llib/weakhash.scm 710 */
 long BgL_za71za7_3796;
{ /* Llib/weakhash.scm 710 */
 obj_t BgL_tmpz00_10826;
if(
INTEGERP(BgL_arg1738z00_1909))
{ /* Llib/weakhash.scm 710 */
BgL_tmpz00_10826 = BgL_arg1738z00_1909
; }  else 
{ 
 obj_t BgL_auxz00_10829;
BgL_auxz00_10829 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(28271L), BGl_string3456z00zz__weakhashz00, BGl_string3442z00zz__weakhashz00, BgL_arg1738z00_1909); 
FAILURE(BgL_auxz00_10829,BFALSE,BFALSE);} 
BgL_za71za7_3796 = 
(long)CINT(BgL_tmpz00_10826); } 
BgL_arg1736z00_1908 = 
(BgL_za71za7_3796-1L); } } 
{ /* Llib/weakhash.scm 709 */
 bool_t BgL_test4479z00_10835;
{ /* Llib/weakhash.scm 709 */
 obj_t BgL_tmpz00_10836;
{ /* Llib/weakhash.scm 709 */
 obj_t BgL_res2306z00_3800;
{ /* Llib/weakhash.scm 709 */
 obj_t BgL_aux3270z00_5524;
BgL_aux3270z00_5524 = 
STRUCT_KEY(BgL_tablez00_119); 
if(
SYMBOLP(BgL_aux3270z00_5524))
{ /* Llib/weakhash.scm 709 */
BgL_res2306z00_3800 = BgL_aux3270z00_5524; }  else 
{ 
 obj_t BgL_auxz00_10840;
BgL_auxz00_10840 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(28210L), BGl_string3456z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3270z00_5524); 
FAILURE(BgL_auxz00_10840,BFALSE,BFALSE);} } 
BgL_tmpz00_10836 = BgL_res2306z00_3800; } 
BgL_test4479z00_10835 = 
(BgL_tmpz00_10836==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4479z00_10835)
{ /* Llib/weakhash.scm 709 */
 obj_t BgL_auxz00_10847; int BgL_tmpz00_10845;
BgL_auxz00_10847 = 
BINT(BgL_arg1736z00_1908); 
BgL_tmpz00_10845 = 
(int)(0L); 
STRUCT_SET(BgL_tablez00_119, BgL_tmpz00_10845, BgL_auxz00_10847); }  else 
{ /* Llib/weakhash.scm 709 */
BGl_errorz00zz__errorz00(BGl_string3452z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_119); } } } 
return ((bool_t)1);}  else 
{ 
 obj_t BgL_prevz00_10853; obj_t BgL_bucketz00_10851;
BgL_bucketz00_10851 = 
CDR(BgL_bucketz00_1900); 
BgL_prevz00_10853 = BgL_bucketz00_1900; 
BgL_prevz00_1901 = BgL_prevz00_10853; 
BgL_bucketz00_1900 = BgL_bucketz00_10851; 
goto BgL_zc3z04anonymousza31730ze3z87_1902;} }  else 
{ /* Llib/weakhash.scm 705 */
return ((bool_t)0);} } } } } } } } } } 

}



/* weak-old-hashtable-remove! */
bool_t BGl_weakzd2oldzd2hashtablezd2removez12zc0zz__weakhashz00(obj_t BgL_tablez00_121, obj_t BgL_keyz00_122)
{
{ /* Llib/weakhash.scm 718 */
{ /* Llib/weakhash.scm 719 */
 obj_t BgL_bucketsz00_1917;
{ /* Llib/weakhash.scm 719 */
 bool_t BgL_test4481z00_10854;
{ /* Llib/weakhash.scm 719 */
 obj_t BgL_tmpz00_10855;
{ /* Llib/weakhash.scm 719 */
 obj_t BgL_res2307z00_3805;
{ /* Llib/weakhash.scm 719 */
 obj_t BgL_aux3272z00_5526;
BgL_aux3272z00_5526 = 
STRUCT_KEY(BgL_tablez00_121); 
if(
SYMBOLP(BgL_aux3272z00_5526))
{ /* Llib/weakhash.scm 719 */
BgL_res2307z00_3805 = BgL_aux3272z00_5526; }  else 
{ 
 obj_t BgL_auxz00_10859;
BgL_auxz00_10859 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(28633L), BGl_string3592z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3272z00_5526); 
FAILURE(BgL_auxz00_10859,BFALSE,BFALSE);} } 
BgL_tmpz00_10855 = BgL_res2307z00_3805; } 
BgL_test4481z00_10854 = 
(BgL_tmpz00_10855==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4481z00_10854)
{ /* Llib/weakhash.scm 719 */
 int BgL_tmpz00_10864;
BgL_tmpz00_10864 = 
(int)(2L); 
BgL_bucketsz00_1917 = 
STRUCT_REF(BgL_tablez00_121, BgL_tmpz00_10864); }  else 
{ /* Llib/weakhash.scm 719 */
BgL_bucketsz00_1917 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_121); } } 
{ /* Llib/weakhash.scm 719 */
 long BgL_bucketzd2lenzd2_1918;
{ /* Llib/weakhash.scm 720 */
 obj_t BgL_vectorz00_3806;
if(
VECTORP(BgL_bucketsz00_1917))
{ /* Llib/weakhash.scm 720 */
BgL_vectorz00_3806 = BgL_bucketsz00_1917; }  else 
{ 
 obj_t BgL_auxz00_10870;
BgL_auxz00_10870 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(28691L), BGl_string3592z00zz__weakhashz00, BGl_string3447z00zz__weakhashz00, BgL_bucketsz00_1917); 
FAILURE(BgL_auxz00_10870,BFALSE,BFALSE);} 
BgL_bucketzd2lenzd2_1918 = 
VECTOR_LENGTH(BgL_vectorz00_3806); } 
{ /* Llib/weakhash.scm 720 */
 long BgL_bucketzd2numzd2_1919;
{ /* Llib/weakhash.scm 721 */
 long BgL_arg1749z00_1929;
BgL_arg1749z00_1929 = 
BGl_tablezd2getzd2hashnumberz00zz__weakhashz00(BgL_tablez00_121, BgL_keyz00_122); 
{ /* Llib/weakhash.scm 721 */
 long BgL_n1z00_3807; long BgL_n2z00_3808;
BgL_n1z00_3807 = BgL_arg1749z00_1929; 
BgL_n2z00_3808 = BgL_bucketzd2lenzd2_1918; 
{ /* Llib/weakhash.scm 721 */
 bool_t BgL_test4484z00_10876;
{ /* Llib/weakhash.scm 721 */
 long BgL_arg2034z00_3810;
BgL_arg2034z00_3810 = 
(((BgL_n1z00_3807) | (BgL_n2z00_3808)) & -2147483648); 
BgL_test4484z00_10876 = 
(BgL_arg2034z00_3810==0L); } 
if(BgL_test4484z00_10876)
{ /* Llib/weakhash.scm 721 */
 int32_t BgL_arg2031z00_3811;
{ /* Llib/weakhash.scm 721 */
 int32_t BgL_arg2032z00_3812; int32_t BgL_arg2033z00_3813;
BgL_arg2032z00_3812 = 
(int32_t)(BgL_n1z00_3807); 
BgL_arg2033z00_3813 = 
(int32_t)(BgL_n2z00_3808); 
BgL_arg2031z00_3811 = 
(BgL_arg2032z00_3812%BgL_arg2033z00_3813); } 
{ /* Llib/weakhash.scm 721 */
 long BgL_arg2142z00_3818;
BgL_arg2142z00_3818 = 
(long)(BgL_arg2031z00_3811); 
BgL_bucketzd2numzd2_1919 = 
(long)(BgL_arg2142z00_3818); } }  else 
{ /* Llib/weakhash.scm 721 */
BgL_bucketzd2numzd2_1919 = 
(BgL_n1z00_3807%BgL_n2z00_3808); } } } } 
{ /* Llib/weakhash.scm 721 */
 obj_t BgL_bucketz00_1920;
{ /* Llib/weakhash.scm 722 */
 obj_t BgL_vectorz00_3820;
if(
VECTORP(BgL_bucketsz00_1917))
{ /* Llib/weakhash.scm 722 */
BgL_vectorz00_3820 = BgL_bucketsz00_1917; }  else 
{ 
 obj_t BgL_auxz00_10887;
BgL_auxz00_10887 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(28798L), BGl_string3592z00zz__weakhashz00, BGl_string3447z00zz__weakhashz00, BgL_bucketsz00_1917); 
FAILURE(BgL_auxz00_10887,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 722 */
 bool_t BgL_test4486z00_10891;
{ /* Llib/weakhash.scm 722 */
 long BgL_tmpz00_10892;
BgL_tmpz00_10892 = 
VECTOR_LENGTH(BgL_vectorz00_3820); 
BgL_test4486z00_10891 = 
BOUND_CHECK(BgL_bucketzd2numzd2_1919, BgL_tmpz00_10892); } 
if(BgL_test4486z00_10891)
{ /* Llib/weakhash.scm 722 */
BgL_bucketz00_1920 = 
VECTOR_REF(BgL_vectorz00_3820,BgL_bucketzd2numzd2_1919); }  else 
{ 
 obj_t BgL_auxz00_10896;
BgL_auxz00_10896 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(28786L), BGl_string3448z00zz__weakhashz00, BgL_vectorz00_3820, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_3820)), 
(int)(BgL_bucketzd2numzd2_1919)); 
FAILURE(BgL_auxz00_10896,BFALSE,BFALSE);} } } 
{ /* Llib/weakhash.scm 722 */
 obj_t BgL_foundz00_1921;
{ /* Llib/weakhash.scm 726 */
 obj_t BgL_zc3z04anonymousza31747ze3z87_4559;
{ 
 int BgL_tmpz00_10903;
BgL_tmpz00_10903 = 
(int)(2L); 
BgL_zc3z04anonymousza31747ze3z87_4559 = 
MAKE_L_PROCEDURE(BGl_z62zc3z04anonymousza31747ze3ze5zz__weakhashz00, BgL_tmpz00_10903); } 
PROCEDURE_L_SET(BgL_zc3z04anonymousza31747ze3z87_4559, 
(int)(0L), BgL_tablez00_121); 
PROCEDURE_L_SET(BgL_zc3z04anonymousza31747ze3z87_4559, 
(int)(1L), BgL_keyz00_122); 
BgL_foundz00_1921 = 
BGl_traversezd2bucketszd2zz__weakhashz00(BgL_tablez00_121, BgL_bucketsz00_1917, BgL_bucketzd2numzd2_1919, BgL_zc3z04anonymousza31747ze3z87_4559); } 
{ /* Llib/weakhash.scm 723 */

if(
(BgL_foundz00_1921==BGl_keepgoingz00zz__weakhashz00))
{ /* Llib/weakhash.scm 729 */
return ((bool_t)0);}  else 
{ /* Llib/weakhash.scm 729 */
return ((bool_t)1);} } } } } } } } 

}



/* &<@anonymous:1747> */
obj_t BGl_z62zc3z04anonymousza31747ze3ze5zz__weakhashz00(obj_t BgL_envz00_4560, obj_t BgL_bkeyz00_4563, obj_t BgL_valz00_4564, obj_t BgL_bucketz00_4565)
{
{ /* Llib/weakhash.scm 725 */
{ /* Llib/weakhash.scm 726 */
 obj_t BgL_tablez00_4561; obj_t BgL_keyz00_4562;
BgL_tablez00_4561 = 
((obj_t)
PROCEDURE_L_REF(BgL_envz00_4560, 
(int)(0L))); 
BgL_keyz00_4562 = 
PROCEDURE_L_REF(BgL_envz00_4560, 
(int)(1L)); 
{ /* Llib/weakhash.scm 726 */
 bool_t BgL_test4488z00_10918;
{ /* Llib/weakhash.scm 726 */
 obj_t BgL_eqtz00_5751;
{ /* Llib/weakhash.scm 726 */
 bool_t BgL_test4489z00_10919;
{ /* Llib/weakhash.scm 726 */
 obj_t BgL_tmpz00_10920;
{ /* Llib/weakhash.scm 726 */
 obj_t BgL_res2308z00_5752;
{ /* Llib/weakhash.scm 726 */
 obj_t BgL_aux3278z00_5753;
BgL_aux3278z00_5753 = 
STRUCT_KEY(BgL_tablez00_4561); 
if(
SYMBOLP(BgL_aux3278z00_5753))
{ /* Llib/weakhash.scm 726 */
BgL_res2308z00_5752 = BgL_aux3278z00_5753; }  else 
{ 
 obj_t BgL_auxz00_10924;
BgL_auxz00_10924 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(28927L), BGl_string3593z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3278z00_5753); 
FAILURE(BgL_auxz00_10924,BFALSE,BFALSE);} } 
BgL_tmpz00_10920 = BgL_res2308z00_5752; } 
BgL_test4489z00_10919 = 
(BgL_tmpz00_10920==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4489z00_10919)
{ /* Llib/weakhash.scm 726 */
 int BgL_tmpz00_10929;
BgL_tmpz00_10929 = 
(int)(3L); 
BgL_eqtz00_5751 = 
STRUCT_REF(BgL_tablez00_4561, BgL_tmpz00_10929); }  else 
{ /* Llib/weakhash.scm 726 */
BgL_eqtz00_5751 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_4561); } } 
if(
PROCEDUREP(BgL_eqtz00_5751))
{ /* Llib/weakhash.scm 726 */
if(
PROCEDURE_CORRECT_ARITYP(BgL_eqtz00_5751, 2L))
{ /* Llib/weakhash.scm 726 */
BgL_test4488z00_10918 = 
CBOOL(
(VA_PROCEDUREP( BgL_eqtz00_5751 ) ? ((obj_t (*)(obj_t, ...))PROCEDURE_ENTRY(BgL_eqtz00_5751))(BgL_eqtz00_5751, BgL_keyz00_4562, BgL_bkeyz00_4563, BEOA) : ((obj_t (*)(obj_t, obj_t, obj_t))PROCEDURE_ENTRY(BgL_eqtz00_5751))(BgL_eqtz00_5751, BgL_keyz00_4562, BgL_bkeyz00_4563) ))
; }  else 
{ /* Llib/weakhash.scm 726 */
FAILURE(BGl_string3594z00zz__weakhashz00,BGl_list3526z00zz__weakhashz00,BgL_eqtz00_5751);} }  else 
{ /* Llib/weakhash.scm 726 */
if(
(BgL_keyz00_4562==BgL_bkeyz00_4563))
{ /* Llib/weakhash.scm 726 */
BgL_test4488z00_10918 = ((bool_t)1)
; }  else 
{ /* Llib/weakhash.scm 726 */
if(
STRINGP(BgL_keyz00_4562))
{ /* Llib/weakhash.scm 726 */
if(
STRINGP(BgL_bkeyz00_4563))
{ /* Llib/weakhash.scm 726 */
 long BgL_l1z00_5754;
BgL_l1z00_5754 = 
STRING_LENGTH(BgL_keyz00_4562); 
if(
(BgL_l1z00_5754==
STRING_LENGTH(BgL_bkeyz00_4563)))
{ /* Llib/weakhash.scm 726 */
 int BgL_arg1926z00_5755;
{ /* Llib/weakhash.scm 726 */
 char * BgL_auxz00_10956; char * BgL_tmpz00_10954;
BgL_auxz00_10956 = 
BSTRING_TO_STRING(BgL_bkeyz00_4563); 
BgL_tmpz00_10954 = 
BSTRING_TO_STRING(BgL_keyz00_4562); 
BgL_arg1926z00_5755 = 
memcmp(BgL_tmpz00_10954, BgL_auxz00_10956, BgL_l1z00_5754); } 
BgL_test4488z00_10918 = 
(
(long)(BgL_arg1926z00_5755)==0L); }  else 
{ /* Llib/weakhash.scm 726 */
BgL_test4488z00_10918 = ((bool_t)0)
; } }  else 
{ /* Llib/weakhash.scm 726 */
BgL_test4488z00_10918 = ((bool_t)0)
; } }  else 
{ /* Llib/weakhash.scm 726 */
BgL_test4488z00_10918 = ((bool_t)0)
; } } } } 
if(BgL_test4488z00_10918)
{ /* Llib/weakhash.scm 726 */
return BGl_removestopz00zz__weakhashz00;}  else 
{ /* Llib/weakhash.scm 726 */
return BGl_keepgoingz00zz__weakhashz00;} } } } 

}



/* weak-hashtable-remove! */
BGL_EXPORTED_DEF obj_t BGl_weakzd2hashtablezd2removez12z12zz__weakhashz00(obj_t BgL_tablez00_123, obj_t BgL_keyz00_124)
{
{ /* Llib/weakhash.scm 734 */
if(
BGl_hashtablezd2weakzd2keyszf3zf3zz__hashz00(BgL_tablez00_123))
{ /* Llib/weakhash.scm 735 */
return 
BBOOL(
BGl_weakzd2keyszd2hashtablezd2removez12zc0zz__weakhashz00(BgL_tablez00_123, BgL_keyz00_124));}  else 
{ /* Llib/weakhash.scm 735 */
return 
BBOOL(
BGl_weakzd2oldzd2hashtablezd2removez12zc0zz__weakhashz00(BgL_tablez00_123, BgL_keyz00_124));} } 

}



/* &weak-hashtable-remove! */
obj_t BGl_z62weakzd2hashtablezd2removez12z70zz__weakhashz00(obj_t BgL_envz00_4566, obj_t BgL_tablez00_4567, obj_t BgL_keyz00_4568)
{
{ /* Llib/weakhash.scm 734 */
{ /* Llib/weakhash.scm 735 */
 obj_t BgL_auxz00_10967;
if(
STRUCTP(BgL_tablez00_4567))
{ /* Llib/weakhash.scm 735 */
BgL_auxz00_10967 = BgL_tablez00_4567
; }  else 
{ 
 obj_t BgL_auxz00_10970;
BgL_auxz00_10970 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(29319L), BGl_string3595z00zz__weakhashz00, BGl_string3487z00zz__weakhashz00, BgL_tablez00_4567); 
FAILURE(BgL_auxz00_10970,BFALSE,BFALSE);} 
return 
BGl_weakzd2hashtablezd2removez12z12zz__weakhashz00(BgL_auxz00_10967, BgL_keyz00_4568);} } 

}



/* weak-keys-hashtable-expand! */
obj_t BGl_weakzd2keyszd2hashtablezd2expandz12zc0zz__weakhashz00(obj_t BgL_tablez00_125)
{
{ /* Llib/weakhash.scm 742 */
BGl_gcz00zz__biglooz00(BTRUE); 
{ /* Llib/weakhash.scm 746 */
 obj_t BgL_oldzd2buckszd2_1932;
{ /* Llib/weakhash.scm 746 */
 bool_t BgL_test4499z00_10976;
{ /* Llib/weakhash.scm 746 */
 obj_t BgL_tmpz00_10977;
{ /* Llib/weakhash.scm 746 */
 obj_t BgL_res2309z00_3846;
{ /* Llib/weakhash.scm 746 */
 obj_t BgL_aux3283z00_5538;
BgL_aux3283z00_5538 = 
STRUCT_KEY(BgL_tablez00_125); 
if(
SYMBOLP(BgL_aux3283z00_5538))
{ /* Llib/weakhash.scm 746 */
BgL_res2309z00_3846 = BgL_aux3283z00_5538; }  else 
{ 
 obj_t BgL_auxz00_10981;
BgL_auxz00_10981 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(29786L), BGl_string3596z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3283z00_5538); 
FAILURE(BgL_auxz00_10981,BFALSE,BFALSE);} } 
BgL_tmpz00_10977 = BgL_res2309z00_3846; } 
BgL_test4499z00_10976 = 
(BgL_tmpz00_10977==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4499z00_10976)
{ /* Llib/weakhash.scm 746 */
 int BgL_tmpz00_10986;
BgL_tmpz00_10986 = 
(int)(2L); 
BgL_oldzd2buckszd2_1932 = 
STRUCT_REF(BgL_tablez00_125, BgL_tmpz00_10986); }  else 
{ /* Llib/weakhash.scm 746 */
BgL_oldzd2buckszd2_1932 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_125); } } 
{ /* Llib/weakhash.scm 746 */
 long BgL_lenz00_1933;
{ /* Llib/weakhash.scm 747 */
 obj_t BgL_vectorz00_3847;
if(
VECTORP(BgL_oldzd2buckszd2_1932))
{ /* Llib/weakhash.scm 747 */
BgL_vectorz00_3847 = BgL_oldzd2buckszd2_1932; }  else 
{ 
 obj_t BgL_auxz00_10992;
BgL_auxz00_10992 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(29837L), BGl_string3596z00zz__weakhashz00, BGl_string3447z00zz__weakhashz00, BgL_oldzd2buckszd2_1932); 
FAILURE(BgL_auxz00_10992,BFALSE,BFALSE);} 
BgL_lenz00_1933 = 
VECTOR_LENGTH(BgL_vectorz00_3847); } 
{ /* Llib/weakhash.scm 747 */
 obj_t BgL_maxzd2bucketzd2lenz00_1934;
{ /* Llib/weakhash.scm 748 */
 bool_t BgL_test4502z00_10997;
{ /* Llib/weakhash.scm 748 */
 obj_t BgL_tmpz00_10998;
{ /* Llib/weakhash.scm 748 */
 obj_t BgL_res2310z00_3851;
{ /* Llib/weakhash.scm 748 */
 obj_t BgL_aux3287z00_5542;
BgL_aux3287z00_5542 = 
STRUCT_KEY(BgL_tablez00_125); 
if(
SYMBOLP(BgL_aux3287z00_5542))
{ /* Llib/weakhash.scm 748 */
BgL_res2310z00_3851 = BgL_aux3287z00_5542; }  else 
{ 
 obj_t BgL_auxz00_11002;
BgL_auxz00_11002 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(29868L), BGl_string3596z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3287z00_5542); 
FAILURE(BgL_auxz00_11002,BFALSE,BFALSE);} } 
BgL_tmpz00_10998 = BgL_res2310z00_3851; } 
BgL_test4502z00_10997 = 
(BgL_tmpz00_10998==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4502z00_10997)
{ /* Llib/weakhash.scm 748 */
 int BgL_tmpz00_11007;
BgL_tmpz00_11007 = 
(int)(1L); 
BgL_maxzd2bucketzd2lenz00_1934 = 
STRUCT_REF(BgL_tablez00_125, BgL_tmpz00_11007); }  else 
{ /* Llib/weakhash.scm 748 */
BgL_maxzd2bucketzd2lenz00_1934 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_125); } } 
{ /* Llib/weakhash.scm 748 */

{ 
 long BgL_iz00_1936; long BgL_siza7eza7_1937; bool_t BgL_expandz00_1938;
BgL_iz00_1936 = 0L; 
BgL_siza7eza7_1937 = 0L; 
BgL_expandz00_1938 = ((bool_t)0); 
BgL_zc3z04anonymousza31751ze3z87_1939:
if(
(BgL_iz00_1936<BgL_lenz00_1933))
{ /* Llib/weakhash.scm 754 */
 long BgL_countz00_1941;
BgL_countz00_1941 = 0L; 
{ /* Llib/weakhash.scm 756 */
 obj_t BgL_arg1753z00_1942;
{ /* Llib/weakhash.scm 756 */
 obj_t BgL_hook1119z00_1943;
BgL_hook1119z00_1943 = 
MAKE_YOUNG_PAIR(BFALSE, BNIL); 
{ /* Llib/weakhash.scm 761 */
 obj_t BgL_g1120z00_1944;
{ /* Llib/weakhash.scm 761 */
 obj_t BgL_vectorz00_3854;
if(
VECTORP(BgL_oldzd2buckszd2_1932))
{ /* Llib/weakhash.scm 761 */
BgL_vectorz00_3854 = BgL_oldzd2buckszd2_1932; }  else 
{ 
 obj_t BgL_auxz00_11016;
BgL_auxz00_11016 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(30213L), BGl_string3456z00zz__weakhashz00, BGl_string3447z00zz__weakhashz00, BgL_oldzd2buckszd2_1932); 
FAILURE(BgL_auxz00_11016,BFALSE,BFALSE);} 
BgL_g1120z00_1944 = 
VECTOR_REF(BgL_vectorz00_3854,BgL_iz00_1936); } 
{ 
 obj_t BgL_l1116z00_1946; obj_t BgL_h1117z00_1947;
BgL_l1116z00_1946 = BgL_g1120z00_1944; 
BgL_h1117z00_1947 = BgL_hook1119z00_1943; 
BgL_zc3z04anonymousza31754ze3z87_1948:
if(
NULLP(BgL_l1116z00_1946))
{ /* Llib/weakhash.scm 761 */
BgL_arg1753z00_1942 = 
CDR(BgL_hook1119z00_1943); }  else 
{ /* Llib/weakhash.scm 761 */
 bool_t BgL_test4507z00_11024;
{ /* Llib/weakhash.scm 757 */
 obj_t BgL_cellz00_1957;
{ /* Llib/weakhash.scm 757 */
 obj_t BgL_pairz00_3857;
if(
PAIRP(BgL_l1116z00_1946))
{ /* Llib/weakhash.scm 757 */
BgL_pairz00_3857 = BgL_l1116z00_1946; }  else 
{ 
 obj_t BgL_auxz00_11027;
BgL_auxz00_11027 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(30071L), BGl_string3597z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_l1116z00_1946); 
FAILURE(BgL_auxz00_11027,BFALSE,BFALSE);} 
BgL_cellz00_1957 = 
CAR(BgL_pairz00_3857); } 
{ /* Llib/weakhash.scm 757 */
 obj_t BgL_keyz00_1958;
{ /* Llib/weakhash.scm 757 */
 obj_t BgL_objz00_3858;
if(
BGL_WEAKPTRP(BgL_cellz00_1957))
{ /* Llib/weakhash.scm 757 */
BgL_objz00_3858 = BgL_cellz00_1957; }  else 
{ 
 obj_t BgL_auxz00_11034;
BgL_auxz00_11034 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(30096L), BGl_string3597z00zz__weakhashz00, BGl_string3451z00zz__weakhashz00, BgL_cellz00_1957); 
FAILURE(BgL_auxz00_11034,BFALSE,BFALSE);} 
BgL_keyz00_1958 = 
bgl_weakptr_data(BgL_objz00_3858); } 
if(
(BgL_keyz00_1958==BUNSPEC))
{ /* Llib/weakhash.scm 758 */
BgL_test4507z00_11024 = ((bool_t)0)
; }  else 
{ /* Llib/weakhash.scm 758 */
BgL_countz00_1941 = 
(BgL_countz00_1941+1L); 
BgL_test4507z00_11024 = 
CBOOL(BgL_keyz00_1958); } } } 
if(BgL_test4507z00_11024)
{ /* Llib/weakhash.scm 761 */
 obj_t BgL_nh1118z00_1953;
{ /* Llib/weakhash.scm 761 */
 obj_t BgL_arg1758z00_1955;
{ /* Llib/weakhash.scm 761 */
 obj_t BgL_pairz00_3860;
if(
PAIRP(BgL_l1116z00_1946))
{ /* Llib/weakhash.scm 761 */
BgL_pairz00_3860 = BgL_l1116z00_1946; }  else 
{ 
 obj_t BgL_auxz00_11045;
BgL_auxz00_11045 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(30198L), BGl_string3597z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_l1116z00_1946); 
FAILURE(BgL_auxz00_11045,BFALSE,BFALSE);} 
BgL_arg1758z00_1955 = 
CAR(BgL_pairz00_3860); } 
BgL_nh1118z00_1953 = 
MAKE_YOUNG_PAIR(BgL_arg1758z00_1955, BNIL); } 
SET_CDR(BgL_h1117z00_1947, BgL_nh1118z00_1953); 
{ /* Llib/weakhash.scm 761 */
 obj_t BgL_arg1757z00_1954;
{ /* Llib/weakhash.scm 761 */
 obj_t BgL_pairz00_3862;
if(
PAIRP(BgL_l1116z00_1946))
{ /* Llib/weakhash.scm 761 */
BgL_pairz00_3862 = BgL_l1116z00_1946; }  else 
{ 
 obj_t BgL_auxz00_11054;
BgL_auxz00_11054 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(30198L), BGl_string3597z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_l1116z00_1946); 
FAILURE(BgL_auxz00_11054,BFALSE,BFALSE);} 
BgL_arg1757z00_1954 = 
CDR(BgL_pairz00_3862); } 
{ 
 obj_t BgL_h1117z00_11060; obj_t BgL_l1116z00_11059;
BgL_l1116z00_11059 = BgL_arg1757z00_1954; 
BgL_h1117z00_11060 = BgL_nh1118z00_1953; 
BgL_h1117z00_1947 = BgL_h1117z00_11060; 
BgL_l1116z00_1946 = BgL_l1116z00_11059; 
goto BgL_zc3z04anonymousza31754ze3z87_1948;} } }  else 
{ /* Llib/weakhash.scm 761 */
 obj_t BgL_arg1759z00_1956;
{ /* Llib/weakhash.scm 761 */
 obj_t BgL_pairz00_3863;
if(
PAIRP(BgL_l1116z00_1946))
{ /* Llib/weakhash.scm 761 */
BgL_pairz00_3863 = BgL_l1116z00_1946; }  else 
{ 
 obj_t BgL_auxz00_11063;
BgL_auxz00_11063 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(30198L), BGl_string3597z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_l1116z00_1946); 
FAILURE(BgL_auxz00_11063,BFALSE,BFALSE);} 
BgL_arg1759z00_1956 = 
CDR(BgL_pairz00_3863); } 
{ 
 obj_t BgL_l1116z00_11068;
BgL_l1116z00_11068 = BgL_arg1759z00_1956; 
BgL_l1116z00_1946 = BgL_l1116z00_11068; 
goto BgL_zc3z04anonymousza31754ze3z87_1948;} } } } } } 
{ /* Llib/weakhash.scm 755 */
 obj_t BgL_vectorz00_3864;
if(
VECTORP(BgL_oldzd2buckszd2_1932))
{ /* Llib/weakhash.scm 755 */
BgL_vectorz00_3864 = BgL_oldzd2buckszd2_1932; }  else 
{ 
 obj_t BgL_auxz00_11071;
BgL_auxz00_11071 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(30022L), BGl_string3456z00zz__weakhashz00, BGl_string3447z00zz__weakhashz00, BgL_oldzd2buckszd2_1932); 
FAILURE(BgL_auxz00_11071,BFALSE,BFALSE);} 
VECTOR_SET(BgL_vectorz00_3864,BgL_iz00_1936,BgL_arg1753z00_1942); } } 
{ /* Llib/weakhash.scm 762 */
 long BgL_arg1760z00_1960; long BgL_arg1761z00_1961; bool_t BgL_arg1762z00_1962;
BgL_arg1760z00_1960 = 
(BgL_iz00_1936+1L); 
BgL_arg1761z00_1961 = 
(BgL_siza7eza7_1937+BgL_countz00_1941); 
if(BgL_expandz00_1938)
{ /* Llib/weakhash.scm 763 */
BgL_arg1762z00_1962 = BgL_expandz00_1938; }  else 
{ /* Llib/weakhash.scm 763 */
 long BgL_n1z00_3869; long BgL_n2z00_3870;
BgL_n1z00_3869 = BgL_countz00_1941; 
{ /* Llib/weakhash.scm 763 */
 obj_t BgL_tmpz00_11079;
if(
INTEGERP(BgL_maxzd2bucketzd2lenz00_1934))
{ /* Llib/weakhash.scm 763 */
BgL_tmpz00_11079 = BgL_maxzd2bucketzd2lenz00_1934
; }  else 
{ 
 obj_t BgL_auxz00_11082;
BgL_auxz00_11082 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(30290L), BGl_string3456z00zz__weakhashz00, BGl_string3442z00zz__weakhashz00, BgL_maxzd2bucketzd2lenz00_1934); 
FAILURE(BgL_auxz00_11082,BFALSE,BFALSE);} 
BgL_n2z00_3870 = 
(long)CINT(BgL_tmpz00_11079); } 
BgL_arg1762z00_1962 = 
(BgL_n1z00_3869>BgL_n2z00_3870); } 
{ 
 bool_t BgL_expandz00_11090; long BgL_siza7eza7_11089; long BgL_iz00_11088;
BgL_iz00_11088 = BgL_arg1760z00_1960; 
BgL_siza7eza7_11089 = BgL_arg1761z00_1961; 
BgL_expandz00_11090 = BgL_arg1762z00_1962; 
BgL_expandz00_1938 = BgL_expandz00_11090; 
BgL_siza7eza7_1937 = BgL_siza7eza7_11089; 
BgL_iz00_1936 = BgL_iz00_11088; 
goto BgL_zc3z04anonymousza31751ze3z87_1939;} } }  else 
{ /* Llib/weakhash.scm 753 */
if(BgL_expandz00_1938)
{ /* Llib/weakhash.scm 765 */
 long BgL_newzd2lenzd2_1964;
BgL_newzd2lenzd2_1964 = 
(2L*BgL_lenz00_1933); 
{ /* Llib/weakhash.scm 765 */
 obj_t BgL_maxzd2lenzd2_1965;
{ /* Llib/weakhash.scm 766 */
 bool_t BgL_test4518z00_11093;
{ /* Llib/weakhash.scm 766 */
 obj_t BgL_tmpz00_11094;
{ /* Llib/weakhash.scm 766 */
 obj_t BgL_res2311z00_3875;
{ /* Llib/weakhash.scm 766 */
 obj_t BgL_aux3304z00_5559;
BgL_aux3304z00_5559 = 
STRUCT_KEY(BgL_tablez00_125); 
if(
SYMBOLP(BgL_aux3304z00_5559))
{ /* Llib/weakhash.scm 766 */
BgL_res2311z00_3875 = BgL_aux3304z00_5559; }  else 
{ 
 obj_t BgL_auxz00_11098;
BgL_auxz00_11098 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(30373L), BGl_string3456z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3304z00_5559); 
FAILURE(BgL_auxz00_11098,BFALSE,BFALSE);} } 
BgL_tmpz00_11094 = BgL_res2311z00_3875; } 
BgL_test4518z00_11093 = 
(BgL_tmpz00_11094==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4518z00_11093)
{ /* Llib/weakhash.scm 766 */
 int BgL_tmpz00_11103;
BgL_tmpz00_11103 = 
(int)(6L); 
BgL_maxzd2lenzd2_1965 = 
STRUCT_REF(BgL_tablez00_125, BgL_tmpz00_11103); }  else 
{ /* Llib/weakhash.scm 766 */
BgL_maxzd2lenzd2_1965 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_125); } } 
{ /* Llib/weakhash.scm 766 */

{ /* Llib/weakhash.scm 768 */
 obj_t BgL_nmaxz00_1966;
{ /* Llib/weakhash.scm 768 */
 obj_t BgL_a1121z00_1969;
{ /* Llib/weakhash.scm 768 */
 bool_t BgL_test4520z00_11107;
{ /* Llib/weakhash.scm 768 */
 obj_t BgL_tmpz00_11108;
{ /* Llib/weakhash.scm 768 */
 obj_t BgL_res2312z00_3879;
{ /* Llib/weakhash.scm 768 */
 obj_t BgL_aux3306z00_5561;
BgL_aux3306z00_5561 = 
STRUCT_KEY(BgL_tablez00_125); 
if(
SYMBOLP(BgL_aux3306z00_5561))
{ /* Llib/weakhash.scm 768 */
BgL_res2312z00_3879 = BgL_aux3306z00_5561; }  else 
{ 
 obj_t BgL_auxz00_11112;
BgL_auxz00_11112 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(30454L), BGl_string3456z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3306z00_5561); 
FAILURE(BgL_auxz00_11112,BFALSE,BFALSE);} } 
BgL_tmpz00_11108 = BgL_res2312z00_3879; } 
BgL_test4520z00_11107 = 
(BgL_tmpz00_11108==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4520z00_11107)
{ /* Llib/weakhash.scm 768 */
 int BgL_tmpz00_11117;
BgL_tmpz00_11117 = 
(int)(1L); 
BgL_a1121z00_1969 = 
STRUCT_REF(BgL_tablez00_125, BgL_tmpz00_11117); }  else 
{ /* Llib/weakhash.scm 768 */
BgL_a1121z00_1969 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_125); } } 
{ /* Llib/weakhash.scm 769 */
 obj_t BgL_b1122z00_1970;
{ /* Llib/weakhash.scm 769 */
 bool_t BgL_test4522z00_11121;
{ /* Llib/weakhash.scm 769 */
 obj_t BgL_tmpz00_11122;
{ /* Llib/weakhash.scm 769 */
 obj_t BgL_res2313z00_3883;
{ /* Llib/weakhash.scm 769 */
 obj_t BgL_aux3308z00_5563;
BgL_aux3308z00_5563 = 
STRUCT_KEY(BgL_tablez00_125); 
if(
SYMBOLP(BgL_aux3308z00_5563))
{ /* Llib/weakhash.scm 769 */
BgL_res2313z00_3883 = BgL_aux3308z00_5563; }  else 
{ 
 obj_t BgL_auxz00_11126;
BgL_auxz00_11126 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(30498L), BGl_string3456z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3308z00_5563); 
FAILURE(BgL_auxz00_11126,BFALSE,BFALSE);} } 
BgL_tmpz00_11122 = BgL_res2313z00_3883; } 
BgL_test4522z00_11121 = 
(BgL_tmpz00_11122==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4522z00_11121)
{ /* Llib/weakhash.scm 769 */
 int BgL_tmpz00_11131;
BgL_tmpz00_11131 = 
(int)(7L); 
BgL_b1122z00_1970 = 
STRUCT_REF(BgL_tablez00_125, BgL_tmpz00_11131); }  else 
{ /* Llib/weakhash.scm 769 */
BgL_b1122z00_1970 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_125); } } 
{ /* Llib/weakhash.scm 768 */

{ /* Llib/weakhash.scm 768 */
 bool_t BgL_test4524z00_11135;
if(
INTEGERP(BgL_a1121z00_1969))
{ /* Llib/weakhash.scm 768 */
BgL_test4524z00_11135 = 
INTEGERP(BgL_b1122z00_1970)
; }  else 
{ /* Llib/weakhash.scm 768 */
BgL_test4524z00_11135 = ((bool_t)0)
; } 
if(BgL_test4524z00_11135)
{ /* Llib/weakhash.scm 768 */
BgL_nmaxz00_1966 = 
BINT(
(
(long)CINT(BgL_a1121z00_1969)*
(long)CINT(BgL_b1122z00_1970))); }  else 
{ /* Llib/weakhash.scm 768 */
BgL_nmaxz00_1966 = 
BGl_2za2za2zz__r4_numbers_6_5z00(BgL_a1121z00_1969, BgL_b1122z00_1970); } } } } } 
{ /* Llib/weakhash.scm 771 */
 obj_t BgL_arg1763z00_1967;
if(
REALP(BgL_nmaxz00_1966))
{ /* Llib/weakhash.scm 771 */
BgL_arg1763z00_1967 = 
BINT(
(long)(
REAL_TO_DOUBLE(BgL_nmaxz00_1966))); }  else 
{ /* Llib/weakhash.scm 771 */
BgL_arg1763z00_1967 = BgL_nmaxz00_1966; } 
{ /* Llib/weakhash.scm 770 */
 bool_t BgL_test4527z00_11149;
{ /* Llib/weakhash.scm 770 */
 obj_t BgL_tmpz00_11150;
{ /* Llib/weakhash.scm 770 */
 obj_t BgL_res2314z00_3890;
{ /* Llib/weakhash.scm 770 */
 obj_t BgL_aux3310z00_5565;
BgL_aux3310z00_5565 = 
STRUCT_KEY(BgL_tablez00_125); 
if(
SYMBOLP(BgL_aux3310z00_5565))
{ /* Llib/weakhash.scm 770 */
BgL_res2314z00_3890 = BgL_aux3310z00_5565; }  else 
{ 
 obj_t BgL_auxz00_11154;
BgL_auxz00_11154 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(30542L), BGl_string3456z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3310z00_5565); 
FAILURE(BgL_auxz00_11154,BFALSE,BFALSE);} } 
BgL_tmpz00_11150 = BgL_res2314z00_3890; } 
BgL_test4527z00_11149 = 
(BgL_tmpz00_11150==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4527z00_11149)
{ /* Llib/weakhash.scm 770 */
 int BgL_tmpz00_11159;
BgL_tmpz00_11159 = 
(int)(1L); 
STRUCT_SET(BgL_tablez00_125, BgL_tmpz00_11159, BgL_arg1763z00_1967); }  else 
{ /* Llib/weakhash.scm 770 */
BGl_errorz00zz__errorz00(BGl_string3452z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_125); } } } } 
{ /* Llib/weakhash.scm 773 */
 bool_t BgL_test4529z00_11163;
{ /* Llib/weakhash.scm 773 */
 bool_t BgL_test4530z00_11164;
{ /* Llib/weakhash.scm 773 */
 long BgL_n1z00_3891;
{ /* Llib/weakhash.scm 773 */
 obj_t BgL_tmpz00_11165;
if(
INTEGERP(BgL_maxzd2lenzd2_1965))
{ /* Llib/weakhash.scm 773 */
BgL_tmpz00_11165 = BgL_maxzd2lenzd2_1965
; }  else 
{ 
 obj_t BgL_auxz00_11168;
BgL_auxz00_11168 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(30682L), BGl_string3456z00zz__weakhashz00, BGl_string3442z00zz__weakhashz00, BgL_maxzd2lenzd2_1965); 
FAILURE(BgL_auxz00_11168,BFALSE,BFALSE);} 
BgL_n1z00_3891 = 
(long)CINT(BgL_tmpz00_11165); } 
BgL_test4530z00_11164 = 
(BgL_n1z00_3891<0L); } 
if(BgL_test4530z00_11164)
{ /* Llib/weakhash.scm 773 */
BgL_test4529z00_11163 = ((bool_t)1)
; }  else 
{ /* Llib/weakhash.scm 773 */
 long BgL_n2z00_3893;
{ /* Llib/weakhash.scm 773 */
 obj_t BgL_tmpz00_11174;
if(
INTEGERP(BgL_maxzd2lenzd2_1965))
{ /* Llib/weakhash.scm 773 */
BgL_tmpz00_11174 = BgL_maxzd2lenzd2_1965
; }  else 
{ 
 obj_t BgL_auxz00_11177;
BgL_auxz00_11177 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(30707L), BGl_string3456z00zz__weakhashz00, BGl_string3442z00zz__weakhashz00, BgL_maxzd2lenzd2_1965); 
FAILURE(BgL_auxz00_11177,BFALSE,BFALSE);} 
BgL_n2z00_3893 = 
(long)CINT(BgL_tmpz00_11174); } 
BgL_test4529z00_11163 = 
(BgL_newzd2lenzd2_1964<=BgL_n2z00_3893); } } 
if(BgL_test4529z00_11163)
{ /* Llib/weakhash.scm 774 */
 obj_t BgL_newzd2buckszd2_1974;
BgL_newzd2buckszd2_1974 = 
make_vector(BgL_newzd2lenzd2_1964, BNIL); 
{ /* Llib/weakhash.scm 775 */
 bool_t BgL_test4533z00_11184;
{ /* Llib/weakhash.scm 775 */
 obj_t BgL_tmpz00_11185;
{ /* Llib/weakhash.scm 775 */
 obj_t BgL_res2315z00_3897;
{ /* Llib/weakhash.scm 775 */
 obj_t BgL_aux3314z00_5569;
BgL_aux3314z00_5569 = 
STRUCT_KEY(BgL_tablez00_125); 
if(
SYMBOLP(BgL_aux3314z00_5569))
{ /* Llib/weakhash.scm 775 */
BgL_res2315z00_3897 = BgL_aux3314z00_5569; }  else 
{ 
 obj_t BgL_auxz00_11189;
BgL_auxz00_11189 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(30777L), BGl_string3456z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3314z00_5569); 
FAILURE(BgL_auxz00_11189,BFALSE,BFALSE);} } 
BgL_tmpz00_11185 = BgL_res2315z00_3897; } 
BgL_test4533z00_11184 = 
(BgL_tmpz00_11185==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4533z00_11184)
{ /* Llib/weakhash.scm 775 */
 int BgL_tmpz00_11194;
BgL_tmpz00_11194 = 
(int)(2L); 
STRUCT_SET(BgL_tablez00_125, BgL_tmpz00_11194, BgL_newzd2buckszd2_1974); }  else 
{ /* Llib/weakhash.scm 775 */
BGl_errorz00zz__errorz00(BGl_string3452z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_125); } } 
{ 
 long BgL_iz00_1976;
BgL_iz00_1976 = 0L; 
BgL_zc3z04anonymousza31768ze3z87_1977:
if(
(BgL_iz00_1976<BgL_lenz00_1933))
{ /* Llib/weakhash.scm 778 */
{ /* Llib/weakhash.scm 779 */
 obj_t BgL_g1125z00_1979;
{ /* Llib/weakhash.scm 786 */
 obj_t BgL_vectorz00_3900;
if(
VECTORP(BgL_oldzd2buckszd2_1932))
{ /* Llib/weakhash.scm 786 */
BgL_vectorz00_3900 = BgL_oldzd2buckszd2_1932; }  else 
{ 
 obj_t BgL_auxz00_11202;
BgL_auxz00_11202 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(31164L), BGl_string3456z00zz__weakhashz00, BGl_string3447z00zz__weakhashz00, BgL_oldzd2buckszd2_1932); 
FAILURE(BgL_auxz00_11202,BFALSE,BFALSE);} 
BgL_g1125z00_1979 = 
VECTOR_REF(BgL_vectorz00_3900,BgL_iz00_1976); } 
{ 
 obj_t BgL_l1123z00_1981;
BgL_l1123z00_1981 = BgL_g1125z00_1979; 
BgL_zc3z04anonymousza31770ze3z87_1982:
if(
PAIRP(BgL_l1123z00_1981))
{ /* Llib/weakhash.scm 786 */
{ /* Llib/weakhash.scm 780 */
 obj_t BgL_cellz00_1984;
BgL_cellz00_1984 = 
CAR(BgL_l1123z00_1981); 
{ /* Llib/weakhash.scm 780 */
 obj_t BgL_keyz00_1985;
{ /* Llib/weakhash.scm 780 */
 obj_t BgL_objz00_3903;
if(
BGL_WEAKPTRP(BgL_cellz00_1984))
{ /* Llib/weakhash.scm 780 */
BgL_objz00_3903 = BgL_cellz00_1984; }  else 
{ 
 obj_t BgL_auxz00_11212;
BgL_auxz00_11212 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(30945L), BGl_string3598z00zz__weakhashz00, BGl_string3451z00zz__weakhashz00, BgL_cellz00_1984); 
FAILURE(BgL_auxz00_11212,BFALSE,BFALSE);} 
BgL_keyz00_1985 = 
bgl_weakptr_data(BgL_objz00_3903); } 
{ /* Llib/weakhash.scm 781 */
 long BgL_nz00_1986;
BgL_nz00_1986 = 
BGl_tablezd2getzd2hashnumberz00zz__weakhashz00(BgL_tablez00_125, BgL_keyz00_1985); 
{ /* Llib/weakhash.scm 781 */
 long BgL_hz00_1987;
{ /* Llib/weakhash.scm 783 */
 long BgL_n1z00_3904; long BgL_n2z00_3905;
BgL_n1z00_3904 = BgL_nz00_1986; 
BgL_n2z00_3905 = BgL_newzd2lenzd2_1964; 
{ /* Llib/weakhash.scm 783 */
 bool_t BgL_test4539z00_11218;
{ /* Llib/weakhash.scm 783 */
 long BgL_arg2034z00_3907;
BgL_arg2034z00_3907 = 
(((BgL_n1z00_3904) | (BgL_n2z00_3905)) & -2147483648); 
BgL_test4539z00_11218 = 
(BgL_arg2034z00_3907==0L); } 
if(BgL_test4539z00_11218)
{ /* Llib/weakhash.scm 783 */
 int32_t BgL_arg2031z00_3908;
{ /* Llib/weakhash.scm 783 */
 int32_t BgL_arg2032z00_3909; int32_t BgL_arg2033z00_3910;
BgL_arg2032z00_3909 = 
(int32_t)(BgL_n1z00_3904); 
BgL_arg2033z00_3910 = 
(int32_t)(BgL_n2z00_3905); 
BgL_arg2031z00_3908 = 
(BgL_arg2032z00_3909%BgL_arg2033z00_3910); } 
{ /* Llib/weakhash.scm 783 */
 long BgL_arg2142z00_3915;
BgL_arg2142z00_3915 = 
(long)(BgL_arg2031z00_3908); 
BgL_hz00_1987 = 
(long)(BgL_arg2142z00_3915); } }  else 
{ /* Llib/weakhash.scm 783 */
BgL_hz00_1987 = 
(BgL_n1z00_3904%BgL_n2z00_3905); } } } 
{ /* Llib/weakhash.scm 783 */

{ /* Llib/weakhash.scm 785 */
 obj_t BgL_arg1773z00_1988;
{ /* Llib/weakhash.scm 785 */
 obj_t BgL_arg1774z00_1989;
{ /* Llib/weakhash.scm 785 */
 bool_t BgL_test4540z00_11227;
{ /* Llib/weakhash.scm 785 */
 long BgL_tmpz00_11228;
BgL_tmpz00_11228 = 
VECTOR_LENGTH(BgL_newzd2buckszd2_1974); 
BgL_test4540z00_11227 = 
BOUND_CHECK(BgL_hz00_1987, BgL_tmpz00_11228); } 
if(BgL_test4540z00_11227)
{ /* Llib/weakhash.scm 785 */
BgL_arg1774z00_1989 = 
VECTOR_REF(BgL_newzd2buckszd2_1974,BgL_hz00_1987); }  else 
{ 
 obj_t BgL_auxz00_11232;
BgL_auxz00_11232 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(31114L), BGl_string3448z00zz__weakhashz00, BgL_newzd2buckszd2_1974, 
(int)(
VECTOR_LENGTH(BgL_newzd2buckszd2_1974)), 
(int)(BgL_hz00_1987)); 
FAILURE(BgL_auxz00_11232,BFALSE,BFALSE);} } 
BgL_arg1773z00_1988 = 
MAKE_YOUNG_PAIR(BgL_cellz00_1984, BgL_arg1774z00_1989); } 
VECTOR_SET(BgL_newzd2buckszd2_1974,BgL_hz00_1987,BgL_arg1773z00_1988); } } } } } } 
{ 
 obj_t BgL_l1123z00_11241;
BgL_l1123z00_11241 = 
CDR(BgL_l1123z00_1981); 
BgL_l1123z00_1981 = BgL_l1123z00_11241; 
goto BgL_zc3z04anonymousza31770ze3z87_1982;} }  else 
{ /* Llib/weakhash.scm 786 */
if(
NULLP(BgL_l1123z00_1981))
{ /* Llib/weakhash.scm 786 */BTRUE; }  else 
{ /* Llib/weakhash.scm 786 */
BGl_bigloozd2typezd2errorzf2locationzf2zz__errorz00(BGl_string3467z00zz__weakhashz00, BGl_string3468z00zz__weakhashz00, BgL_l1123z00_1981, BGl_string3445z00zz__weakhashz00, 
BINT(30887L)); } } } } 
{ 
 long BgL_iz00_11247;
BgL_iz00_11247 = 
(BgL_iz00_1976+1L); 
BgL_iz00_1976 = BgL_iz00_11247; 
goto BgL_zc3z04anonymousza31768ze3z87_1977;} }  else 
{ /* Llib/weakhash.scm 789 */
 bool_t BgL_test4542z00_11249;
{ /* Llib/weakhash.scm 789 */
 obj_t BgL_tmpz00_11250;
{ /* Llib/weakhash.scm 789 */
 obj_t BgL_res2316z00_3926;
{ /* Llib/weakhash.scm 789 */
 obj_t BgL_aux3320z00_5575;
BgL_aux3320z00_5575 = 
STRUCT_KEY(BgL_tablez00_125); 
if(
SYMBOLP(BgL_aux3320z00_5575))
{ /* Llib/weakhash.scm 789 */
BgL_res2316z00_3926 = BgL_aux3320z00_5575; }  else 
{ 
 obj_t BgL_auxz00_11254;
BgL_auxz00_11254 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(31228L), BGl_string3456z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3320z00_5575); 
FAILURE(BgL_auxz00_11254,BFALSE,BFALSE);} } 
BgL_tmpz00_11250 = BgL_res2316z00_3926; } 
BgL_test4542z00_11249 = 
(BgL_tmpz00_11250==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4542z00_11249)
{ /* Llib/weakhash.scm 789 */
 obj_t BgL_auxz00_11261; int BgL_tmpz00_11259;
BgL_auxz00_11261 = 
BINT(BgL_siza7eza7_1937); 
BgL_tmpz00_11259 = 
(int)(0L); 
return 
STRUCT_SET(BgL_tablez00_125, BgL_tmpz00_11259, BgL_auxz00_11261);}  else 
{ /* Llib/weakhash.scm 789 */
return 
BGl_errorz00zz__errorz00(BGl_string3452z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_125);} } } }  else 
{ /* Llib/weakhash.scm 793 */
 obj_t BgL_arg1778z00_1995;
{ /* Llib/weakhash.scm 793 */
 long BgL_arg1779z00_1996;
BgL_arg1779z00_1996 = 
BGl_hashtablezd2siza7ez75zz__hashz00(BgL_tablez00_125); 
{ /* Llib/weakhash.scm 791 */
 obj_t BgL_list1780z00_1997;
{ /* Llib/weakhash.scm 791 */
 obj_t BgL_arg1781z00_1998;
{ /* Llib/weakhash.scm 791 */
 obj_t BgL_arg1782z00_1999;
BgL_arg1782z00_1999 = 
MAKE_YOUNG_PAIR(
BINT(BgL_arg1779z00_1996), BNIL); 
BgL_arg1781z00_1998 = 
MAKE_YOUNG_PAIR(BgL_maxzd2lenzd2_1965, BgL_arg1782z00_1999); } 
BgL_list1780z00_1997 = 
MAKE_YOUNG_PAIR(
BINT(BgL_newzd2lenzd2_1964), BgL_arg1781z00_1998); } 
BgL_arg1778z00_1995 = 
BGl_formatz00zz__r4_output_6_10_3z00(BGl_string3599z00zz__weakhashz00, BgL_list1780z00_1997); } } 
return 
BGl_errorz00zz__errorz00(BGl_string3600z00zz__weakhashz00, BgL_arg1778z00_1995, BgL_tablez00_125);} } } } }  else 
{ /* Llib/weakhash.scm 764 */
return BFALSE;} } } } } } } } 

}



/* weak-old-hashtable-expand! */
obj_t BGl_weakzd2oldzd2hashtablezd2expandz12zc0zz__weakhashz00(obj_t BgL_tablez00_126)
{
{ /* Llib/weakhash.scm 799 */
{ /* Llib/weakhash.scm 800 */
 bool_t BgL_test4544z00_11273;
{ /* Llib/weakhash.scm 816 */
 obj_t BgL_arg1856z00_2141;
{ /* Llib/weakhash.scm 816 */
 bool_t BgL_test4545z00_11274;
{ /* Llib/weakhash.scm 816 */
 obj_t BgL_tmpz00_11275;
{ /* Llib/weakhash.scm 816 */
 obj_t BgL_res2317z00_3930;
{ /* Llib/weakhash.scm 816 */
 obj_t BgL_aux3322z00_5577;
BgL_aux3322z00_5577 = 
STRUCT_KEY(BgL_tablez00_126); 
if(
SYMBOLP(BgL_aux3322z00_5577))
{ /* Llib/weakhash.scm 816 */
BgL_res2317z00_3930 = BgL_aux3322z00_5577; }  else 
{ 
 obj_t BgL_auxz00_11279;
BgL_auxz00_11279 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(32344L), BGl_string3601z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3322z00_5577); 
FAILURE(BgL_auxz00_11279,BFALSE,BFALSE);} } 
BgL_tmpz00_11275 = BgL_res2317z00_3930; } 
BgL_test4545z00_11274 = 
(BgL_tmpz00_11275==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4545z00_11274)
{ /* Llib/weakhash.scm 816 */
 int BgL_tmpz00_11284;
BgL_tmpz00_11284 = 
(int)(5L); 
BgL_arg1856z00_2141 = 
STRUCT_REF(BgL_tablez00_126, BgL_tmpz00_11284); }  else 
{ /* Llib/weakhash.scm 816 */
BgL_arg1856z00_2141 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_126); } } 
{ /* Llib/weakhash.scm 816 */
 long BgL_n2z00_3931;
{ /* Llib/weakhash.scm 816 */
 obj_t BgL_tmpz00_11288;
if(
INTEGERP(BgL_arg1856z00_2141))
{ /* Llib/weakhash.scm 816 */
BgL_tmpz00_11288 = BgL_arg1856z00_2141
; }  else 
{ 
 obj_t BgL_auxz00_11291;
BgL_auxz00_11291 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(32366L), BGl_string3601z00zz__weakhashz00, BGl_string3442z00zz__weakhashz00, BgL_arg1856z00_2141); 
FAILURE(BgL_auxz00_11291,BFALSE,BFALSE);} 
BgL_n2z00_3931 = 
(long)CINT(BgL_tmpz00_11288); } 
BgL_test4544z00_11273 = 
(1L==BgL_n2z00_3931); } } 
if(BgL_test4544z00_11273)
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_oldzd2buckszd2_2004;
{ /* Llib/weakhash.scm 800 */
 bool_t BgL_test4548z00_11297;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_tmpz00_11298;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_res2318z00_3935;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_aux3325z00_5580;
BgL_aux3325z00_5580 = 
STRUCT_KEY(BgL_tablez00_126); 
if(
SYMBOLP(BgL_aux3325z00_5580))
{ /* Llib/weakhash.scm 800 */
BgL_res2318z00_3935 = BgL_aux3325z00_5580; }  else 
{ 
 obj_t BgL_auxz00_11302;
BgL_auxz00_11302 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(31705L), BGl_string3601z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3325z00_5580); 
FAILURE(BgL_auxz00_11302,BFALSE,BFALSE);} } 
BgL_tmpz00_11298 = BgL_res2318z00_3935; } 
BgL_test4548z00_11297 = 
(BgL_tmpz00_11298==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4548z00_11297)
{ /* Llib/weakhash.scm 800 */
 int BgL_tmpz00_11307;
BgL_tmpz00_11307 = 
(int)(2L); 
BgL_oldzd2buckszd2_2004 = 
STRUCT_REF(BgL_tablez00_126, BgL_tmpz00_11307); }  else 
{ /* Llib/weakhash.scm 800 */
BgL_oldzd2buckszd2_2004 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_126); } } 
{ /* Llib/weakhash.scm 800 */
 long BgL_oldzd2buckszd2lenz00_2005;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_vectorz00_3936;
if(
VECTORP(BgL_oldzd2buckszd2_2004))
{ /* Llib/weakhash.scm 800 */
BgL_vectorz00_3936 = BgL_oldzd2buckszd2_2004; }  else 
{ 
 obj_t BgL_auxz00_11313;
BgL_auxz00_11313 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(31705L), BGl_string3601z00zz__weakhashz00, BGl_string3447z00zz__weakhashz00, BgL_oldzd2buckszd2_2004); 
FAILURE(BgL_auxz00_11313,BFALSE,BFALSE);} 
BgL_oldzd2buckszd2lenz00_2005 = 
VECTOR_LENGTH(BgL_vectorz00_3936); } 
{ /* Llib/weakhash.scm 800 */
 long BgL_newzd2buckszd2lenz00_2006;
BgL_newzd2buckszd2lenz00_2006 = 
(2L*BgL_oldzd2buckszd2lenz00_2005); 
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_newzd2buckszd2_2007;
BgL_newzd2buckszd2_2007 = 
make_vector(BgL_newzd2buckszd2lenz00_2006, BNIL); 
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_countz00_2008;
{ /* Llib/weakhash.scm 800 */
 bool_t BgL_test4551z00_11320;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_tmpz00_11321;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_res2319z00_3941;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_aux3329z00_5584;
BgL_aux3329z00_5584 = 
STRUCT_KEY(BgL_tablez00_126); 
if(
SYMBOLP(BgL_aux3329z00_5584))
{ /* Llib/weakhash.scm 800 */
BgL_res2319z00_3941 = BgL_aux3329z00_5584; }  else 
{ 
 obj_t BgL_auxz00_11325;
BgL_auxz00_11325 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(31705L), BGl_string3601z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3329z00_5584); 
FAILURE(BgL_auxz00_11325,BFALSE,BFALSE);} } 
BgL_tmpz00_11321 = BgL_res2319z00_3941; } 
BgL_test4551z00_11320 = 
(BgL_tmpz00_11321==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4551z00_11320)
{ /* Llib/weakhash.scm 800 */
 int BgL_tmpz00_11330;
BgL_tmpz00_11330 = 
(int)(0L); 
BgL_countz00_2008 = 
STRUCT_REF(BgL_tablez00_126, BgL_tmpz00_11330); }  else 
{ /* Llib/weakhash.scm 800 */
BgL_countz00_2008 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_126); } } 
{ /* Llib/weakhash.scm 800 */

{ /* Llib/weakhash.scm 800 */
 obj_t BgL_nmaxz00_2009;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_a1126z00_2012;
{ /* Llib/weakhash.scm 800 */
 bool_t BgL_test4553z00_11334;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_tmpz00_11335;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_res2320z00_3945;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_aux3331z00_5586;
BgL_aux3331z00_5586 = 
STRUCT_KEY(BgL_tablez00_126); 
if(
SYMBOLP(BgL_aux3331z00_5586))
{ /* Llib/weakhash.scm 800 */
BgL_res2320z00_3945 = BgL_aux3331z00_5586; }  else 
{ 
 obj_t BgL_auxz00_11339;
BgL_auxz00_11339 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(31705L), BGl_string3601z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3331z00_5586); 
FAILURE(BgL_auxz00_11339,BFALSE,BFALSE);} } 
BgL_tmpz00_11335 = BgL_res2320z00_3945; } 
BgL_test4553z00_11334 = 
(BgL_tmpz00_11335==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4553z00_11334)
{ /* Llib/weakhash.scm 800 */
 int BgL_tmpz00_11344;
BgL_tmpz00_11344 = 
(int)(1L); 
BgL_a1126z00_2012 = 
STRUCT_REF(BgL_tablez00_126, BgL_tmpz00_11344); }  else 
{ /* Llib/weakhash.scm 800 */
BgL_a1126z00_2012 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_126); } } 
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_b1127z00_2013;
{ /* Llib/weakhash.scm 800 */
 bool_t BgL_test4556z00_11348;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_tmpz00_11349;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_res2321z00_3949;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_aux3333z00_5588;
BgL_aux3333z00_5588 = 
STRUCT_KEY(BgL_tablez00_126); 
if(
SYMBOLP(BgL_aux3333z00_5588))
{ /* Llib/weakhash.scm 800 */
BgL_res2321z00_3949 = BgL_aux3333z00_5588; }  else 
{ 
 obj_t BgL_auxz00_11353;
BgL_auxz00_11353 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(31705L), BGl_string3601z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3333z00_5588); 
FAILURE(BgL_auxz00_11353,BFALSE,BFALSE);} } 
BgL_tmpz00_11349 = BgL_res2321z00_3949; } 
BgL_test4556z00_11348 = 
(BgL_tmpz00_11349==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4556z00_11348)
{ /* Llib/weakhash.scm 800 */
 int BgL_tmpz00_11358;
BgL_tmpz00_11358 = 
(int)(7L); 
BgL_b1127z00_2013 = 
STRUCT_REF(BgL_tablez00_126, BgL_tmpz00_11358); }  else 
{ /* Llib/weakhash.scm 800 */
BgL_b1127z00_2013 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_126); } } 
{ /* Llib/weakhash.scm 800 */

{ /* Llib/weakhash.scm 800 */
 bool_t BgL_test4558z00_11362;
if(
INTEGERP(BgL_a1126z00_2012))
{ /* Llib/weakhash.scm 800 */
BgL_test4558z00_11362 = 
INTEGERP(BgL_b1127z00_2013)
; }  else 
{ /* Llib/weakhash.scm 800 */
BgL_test4558z00_11362 = ((bool_t)0)
; } 
if(BgL_test4558z00_11362)
{ /* Llib/weakhash.scm 800 */
BgL_nmaxz00_2009 = 
BINT(
(
(long)CINT(BgL_a1126z00_2012)*
(long)CINT(BgL_b1127z00_2013))); }  else 
{ /* Llib/weakhash.scm 800 */
BgL_nmaxz00_2009 = 
BGl_2za2za2zz__r4_numbers_6_5z00(BgL_a1126z00_2012, BgL_b1127z00_2013); } } } } } 
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_arg1785z00_2010;
if(
REALP(BgL_nmaxz00_2009))
{ /* Llib/weakhash.scm 800 */
BgL_arg1785z00_2010 = 
BINT(
(long)(
REAL_TO_DOUBLE(BgL_nmaxz00_2009))); }  else 
{ /* Llib/weakhash.scm 800 */
BgL_arg1785z00_2010 = BgL_nmaxz00_2009; } 
{ /* Llib/weakhash.scm 800 */
 bool_t BgL_test4561z00_11376;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_tmpz00_11377;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_res2322z00_3956;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_aux3335z00_5590;
BgL_aux3335z00_5590 = 
STRUCT_KEY(BgL_tablez00_126); 
if(
SYMBOLP(BgL_aux3335z00_5590))
{ /* Llib/weakhash.scm 800 */
BgL_res2322z00_3956 = BgL_aux3335z00_5590; }  else 
{ 
 obj_t BgL_auxz00_11381;
BgL_auxz00_11381 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(31705L), BGl_string3601z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3335z00_5590); 
FAILURE(BgL_auxz00_11381,BFALSE,BFALSE);} } 
BgL_tmpz00_11377 = BgL_res2322z00_3956; } 
BgL_test4561z00_11376 = 
(BgL_tmpz00_11377==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4561z00_11376)
{ /* Llib/weakhash.scm 800 */
 int BgL_tmpz00_11386;
BgL_tmpz00_11386 = 
(int)(1L); 
STRUCT_SET(BgL_tablez00_126, BgL_tmpz00_11386, BgL_arg1785z00_2010); }  else 
{ /* Llib/weakhash.scm 800 */
BGl_errorz00zz__errorz00(BGl_string3452z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_126); } } } } 
{ /* Llib/weakhash.scm 800 */
 bool_t BgL_test4563z00_11390;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_tmpz00_11391;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_res2323z00_3960;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_aux3337z00_5592;
BgL_aux3337z00_5592 = 
STRUCT_KEY(BgL_tablez00_126); 
if(
SYMBOLP(BgL_aux3337z00_5592))
{ /* Llib/weakhash.scm 800 */
BgL_res2323z00_3960 = BgL_aux3337z00_5592; }  else 
{ 
 obj_t BgL_auxz00_11395;
BgL_auxz00_11395 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(31705L), BGl_string3601z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3337z00_5592); 
FAILURE(BgL_auxz00_11395,BFALSE,BFALSE);} } 
BgL_tmpz00_11391 = BgL_res2323z00_3960; } 
BgL_test4563z00_11390 = 
(BgL_tmpz00_11391==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4563z00_11390)
{ /* Llib/weakhash.scm 800 */
 int BgL_tmpz00_11400;
BgL_tmpz00_11400 = 
(int)(2L); 
STRUCT_SET(BgL_tablez00_126, BgL_tmpz00_11400, BgL_newzd2buckszd2_2007); }  else 
{ /* Llib/weakhash.scm 800 */
BGl_errorz00zz__errorz00(BGl_string3452z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_126); } } 
{ 
 long BgL_iz00_2016;
BgL_iz00_2016 = 0L; 
BgL_zc3z04anonymousza31788ze3z87_2017:
if(
(BgL_iz00_2016<BgL_oldzd2buckszd2lenz00_2005))
{ /* Llib/weakhash.scm 800 */
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_g1130z00_2019;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_vectorz00_3963;
if(
VECTORP(BgL_oldzd2buckszd2_2004))
{ /* Llib/weakhash.scm 800 */
BgL_vectorz00_3963 = BgL_oldzd2buckszd2_2004; }  else 
{ 
 obj_t BgL_auxz00_11408;
BgL_auxz00_11408 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(31705L), BGl_string3456z00zz__weakhashz00, BGl_string3447z00zz__weakhashz00, BgL_oldzd2buckszd2_2004); 
FAILURE(BgL_auxz00_11408,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 800 */
 bool_t BgL_test4567z00_11412;
{ /* Llib/weakhash.scm 800 */
 long BgL_tmpz00_11413;
BgL_tmpz00_11413 = 
VECTOR_LENGTH(BgL_vectorz00_3963); 
BgL_test4567z00_11412 = 
BOUND_CHECK(BgL_iz00_2016, BgL_tmpz00_11413); } 
if(BgL_test4567z00_11412)
{ /* Llib/weakhash.scm 800 */
BgL_g1130z00_2019 = 
VECTOR_REF(BgL_vectorz00_3963,BgL_iz00_2016); }  else 
{ 
 obj_t BgL_auxz00_11417;
BgL_auxz00_11417 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(31705L), BGl_string3448z00zz__weakhashz00, BgL_vectorz00_3963, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_3963)), 
(int)(BgL_iz00_2016)); 
FAILURE(BgL_auxz00_11417,BFALSE,BFALSE);} } } 
{ 
 obj_t BgL_l1128z00_2021;
BgL_l1128z00_2021 = BgL_g1130z00_2019; 
BgL_zc3z04anonymousza31790ze3z87_2022:
if(
PAIRP(BgL_l1128z00_2021))
{ /* Llib/weakhash.scm 800 */
{ /* Llib/weakhash.scm 818 */
 obj_t BgL_cellz00_2024;
BgL_cellz00_2024 = 
CAR(BgL_l1128z00_2021); 
{ /* Llib/weakhash.scm 818 */
 obj_t BgL_keyz00_2025;
{ /* Llib/weakhash.scm 818 */
 obj_t BgL_arg1795z00_2030;
{ /* Llib/weakhash.scm 818 */
 obj_t BgL_pairz00_3966;
if(
PAIRP(BgL_cellz00_2024))
{ /* Llib/weakhash.scm 818 */
BgL_pairz00_3966 = BgL_cellz00_2024; }  else 
{ 
 obj_t BgL_auxz00_11429;
BgL_auxz00_11429 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(32431L), BGl_string3602z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_cellz00_2024); 
FAILURE(BgL_auxz00_11429,BFALSE,BFALSE);} 
BgL_arg1795z00_2030 = 
CAR(BgL_pairz00_3966); } 
{ /* Llib/weakhash.scm 818 */
 obj_t BgL_objz00_3967;
if(
BGL_WEAKPTRP(BgL_arg1795z00_2030))
{ /* Llib/weakhash.scm 818 */
BgL_objz00_3967 = BgL_arg1795z00_2030; }  else 
{ 
 obj_t BgL_auxz00_11436;
BgL_auxz00_11436 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(32435L), BGl_string3602z00zz__weakhashz00, BGl_string3451z00zz__weakhashz00, BgL_arg1795z00_2030); 
FAILURE(BgL_auxz00_11436,BFALSE,BFALSE);} 
BgL_keyz00_2025 = 
bgl_weakptr_data(BgL_objz00_3967); } } 
if(
(BgL_keyz00_2025==BUNSPEC))
{ 
 obj_t BgL_tmpz00_11443;
{ /* Llib/weakhash.scm 820 */
 obj_t BgL_aux3345z00_5600;
BgL_aux3345z00_5600 = BgL_countz00_2008; 
if(
INTEGERP(BgL_aux3345z00_5600))
{ /* Llib/weakhash.scm 820 */
BgL_tmpz00_11443 = BgL_aux3345z00_5600
; }  else 
{ 
 obj_t BgL_auxz00_11446;
BgL_auxz00_11446 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(32501L), BGl_string3602z00zz__weakhashz00, BGl_string3442z00zz__weakhashz00, BgL_aux3345z00_5600); 
FAILURE(BgL_auxz00_11446,BFALSE,BFALSE);} } 
BgL_countz00_2008 = 
SUBFX(BgL_tmpz00_11443, 
BINT(1L)); }  else 
{ /* Llib/weakhash.scm 821 */
 long BgL_hz00_2026;
{ /* Llib/weakhash.scm 822 */
 long BgL_arg1794z00_2029;
BgL_arg1794z00_2029 = 
BGl_tablezd2getzd2hashnumberz00zz__weakhashz00(BgL_tablez00_126, BgL_keyz00_2025); 
{ /* Llib/weakhash.scm 821 */
 long BgL_n1z00_3969; long BgL_n2z00_3970;
BgL_n1z00_3969 = BgL_arg1794z00_2029; 
BgL_n2z00_3970 = BgL_newzd2buckszd2lenz00_2006; 
{ /* Llib/weakhash.scm 821 */
 bool_t BgL_test4573z00_11453;
{ /* Llib/weakhash.scm 821 */
 long BgL_arg2034z00_3972;
BgL_arg2034z00_3972 = 
(((BgL_n1z00_3969) | (BgL_n2z00_3970)) & -2147483648); 
BgL_test4573z00_11453 = 
(BgL_arg2034z00_3972==0L); } 
if(BgL_test4573z00_11453)
{ /* Llib/weakhash.scm 821 */
 int32_t BgL_arg2031z00_3973;
{ /* Llib/weakhash.scm 821 */
 int32_t BgL_arg2032z00_3974; int32_t BgL_arg2033z00_3975;
BgL_arg2032z00_3974 = 
(int32_t)(BgL_n1z00_3969); 
BgL_arg2033z00_3975 = 
(int32_t)(BgL_n2z00_3970); 
BgL_arg2031z00_3973 = 
(BgL_arg2032z00_3974%BgL_arg2033z00_3975); } 
{ /* Llib/weakhash.scm 821 */
 long BgL_arg2142z00_3980;
BgL_arg2142z00_3980 = 
(long)(BgL_arg2031z00_3973); 
BgL_hz00_2026 = 
(long)(BgL_arg2142z00_3980); } }  else 
{ /* Llib/weakhash.scm 821 */
BgL_hz00_2026 = 
(BgL_n1z00_3969%BgL_n2z00_3970); } } } } 
{ /* Llib/weakhash.scm 827 */
 obj_t BgL_arg1792z00_2027;
{ /* Llib/weakhash.scm 827 */
 obj_t BgL_arg1793z00_2028;
{ /* Llib/weakhash.scm 827 */
 bool_t BgL_test4574z00_11462;
{ /* Llib/weakhash.scm 827 */
 long BgL_tmpz00_11463;
BgL_tmpz00_11463 = 
VECTOR_LENGTH(BgL_newzd2buckszd2_2007); 
BgL_test4574z00_11462 = 
BOUND_CHECK(BgL_hz00_2026, BgL_tmpz00_11463); } 
if(BgL_test4574z00_11462)
{ /* Llib/weakhash.scm 827 */
BgL_arg1793z00_2028 = 
VECTOR_REF(BgL_newzd2buckszd2_2007,BgL_hz00_2026); }  else 
{ 
 obj_t BgL_auxz00_11467;
BgL_auxz00_11467 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(32682L), BGl_string3448z00zz__weakhashz00, BgL_newzd2buckszd2_2007, 
(int)(
VECTOR_LENGTH(BgL_newzd2buckszd2_2007)), 
(int)(BgL_hz00_2026)); 
FAILURE(BgL_auxz00_11467,BFALSE,BFALSE);} } 
BgL_arg1792z00_2027 = 
MAKE_YOUNG_PAIR(BgL_cellz00_2024, BgL_arg1793z00_2028); } 
{ /* Llib/weakhash.scm 824 */
 bool_t BgL_test4575z00_11475;
{ /* Llib/weakhash.scm 824 */
 long BgL_tmpz00_11476;
BgL_tmpz00_11476 = 
VECTOR_LENGTH(BgL_newzd2buckszd2_2007); 
BgL_test4575z00_11475 = 
BOUND_CHECK(BgL_hz00_2026, BgL_tmpz00_11476); } 
if(BgL_test4575z00_11475)
{ /* Llib/weakhash.scm 824 */
VECTOR_SET(BgL_newzd2buckszd2_2007,BgL_hz00_2026,BgL_arg1792z00_2027); }  else 
{ 
 obj_t BgL_auxz00_11480;
BgL_auxz00_11480 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(32620L), BGl_string3453z00zz__weakhashz00, BgL_newzd2buckszd2_2007, 
(int)(
VECTOR_LENGTH(BgL_newzd2buckszd2_2007)), 
(int)(BgL_hz00_2026)); 
FAILURE(BgL_auxz00_11480,BFALSE,BFALSE);} } } } } } 
{ 
 obj_t BgL_l1128z00_11487;
BgL_l1128z00_11487 = 
CDR(BgL_l1128z00_2021); 
BgL_l1128z00_2021 = BgL_l1128z00_11487; 
goto BgL_zc3z04anonymousza31790ze3z87_2022;} }  else 
{ /* Llib/weakhash.scm 800 */
if(
NULLP(BgL_l1128z00_2021))
{ /* Llib/weakhash.scm 800 */BTRUE; }  else 
{ /* Llib/weakhash.scm 800 */
BGl_bigloozd2typezd2errorz00zz__errorz00(BGl_string3467z00zz__weakhashz00, BGl_string3468z00zz__weakhashz00, BgL_l1128z00_2021); } } } } 
{ 
 long BgL_iz00_11492;
BgL_iz00_11492 = 
(BgL_iz00_2016+1L); 
BgL_iz00_2016 = BgL_iz00_11492; 
goto BgL_zc3z04anonymousza31788ze3z87_2017;} }  else 
{ /* Llib/weakhash.scm 800 */((bool_t)0); } } 
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_vz00_3988;
BgL_vz00_3988 = BgL_countz00_2008; 
{ /* Llib/weakhash.scm 800 */
 bool_t BgL_test4577z00_11494;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_tmpz00_11495;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_res2324z00_3992;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_aux3346z00_5601;
BgL_aux3346z00_5601 = 
STRUCT_KEY(BgL_tablez00_126); 
if(
SYMBOLP(BgL_aux3346z00_5601))
{ /* Llib/weakhash.scm 800 */
BgL_res2324z00_3992 = BgL_aux3346z00_5601; }  else 
{ 
 obj_t BgL_auxz00_11499;
BgL_auxz00_11499 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(31705L), BGl_string3601z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3346z00_5601); 
FAILURE(BgL_auxz00_11499,BFALSE,BFALSE);} } 
BgL_tmpz00_11495 = BgL_res2324z00_3992; } 
BgL_test4577z00_11494 = 
(BgL_tmpz00_11495==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4577z00_11494)
{ /* Llib/weakhash.scm 800 */
 int BgL_tmpz00_11504;
BgL_tmpz00_11504 = 
(int)(0L); 
return 
STRUCT_SET(BgL_tablez00_126, BgL_tmpz00_11504, BgL_vz00_3988);}  else 
{ /* Llib/weakhash.scm 800 */
return 
BGl_errorz00zz__errorz00(BGl_string3452z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_126);} } } } } } } } }  else 
{ /* Llib/weakhash.scm 800 */
 bool_t BgL_test4579z00_11508;
{ /* Llib/weakhash.scm 829 */
 obj_t BgL_arg1855z00_2140;
{ /* Llib/weakhash.scm 829 */
 bool_t BgL_test4580z00_11509;
{ /* Llib/weakhash.scm 829 */
 obj_t BgL_tmpz00_11510;
{ /* Llib/weakhash.scm 829 */
 obj_t BgL_res2325z00_3996;
{ /* Llib/weakhash.scm 829 */
 obj_t BgL_aux3348z00_5603;
BgL_aux3348z00_5603 = 
STRUCT_KEY(BgL_tablez00_126); 
if(
SYMBOLP(BgL_aux3348z00_5603))
{ /* Llib/weakhash.scm 829 */
BgL_res2325z00_3996 = BgL_aux3348z00_5603; }  else 
{ 
 obj_t BgL_auxz00_11514;
BgL_auxz00_11514 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(32750L), BGl_string3601z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3348z00_5603); 
FAILURE(BgL_auxz00_11514,BFALSE,BFALSE);} } 
BgL_tmpz00_11510 = BgL_res2325z00_3996; } 
BgL_test4580z00_11509 = 
(BgL_tmpz00_11510==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4580z00_11509)
{ /* Llib/weakhash.scm 829 */
 int BgL_tmpz00_11519;
BgL_tmpz00_11519 = 
(int)(5L); 
BgL_arg1855z00_2140 = 
STRUCT_REF(BgL_tablez00_126, BgL_tmpz00_11519); }  else 
{ /* Llib/weakhash.scm 829 */
BgL_arg1855z00_2140 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_126); } } 
{ /* Llib/weakhash.scm 829 */
 long BgL_n2z00_3997;
{ /* Llib/weakhash.scm 829 */
 obj_t BgL_tmpz00_11523;
if(
INTEGERP(BgL_arg1855z00_2140))
{ /* Llib/weakhash.scm 829 */
BgL_tmpz00_11523 = BgL_arg1855z00_2140
; }  else 
{ 
 obj_t BgL_auxz00_11526;
BgL_auxz00_11526 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(32772L), BGl_string3601z00zz__weakhashz00, BGl_string3442z00zz__weakhashz00, BgL_arg1855z00_2140); 
FAILURE(BgL_auxz00_11526,BFALSE,BFALSE);} 
BgL_n2z00_3997 = 
(long)CINT(BgL_tmpz00_11523); } 
BgL_test4579z00_11508 = 
(2L==BgL_n2z00_3997); } } 
if(BgL_test4579z00_11508)
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_oldzd2buckszd2_2038;
{ /* Llib/weakhash.scm 800 */
 bool_t BgL_test4583z00_11532;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_tmpz00_11533;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_res2326z00_4001;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_aux3351z00_5606;
BgL_aux3351z00_5606 = 
STRUCT_KEY(BgL_tablez00_126); 
if(
SYMBOLP(BgL_aux3351z00_5606))
{ /* Llib/weakhash.scm 800 */
BgL_res2326z00_4001 = BgL_aux3351z00_5606; }  else 
{ 
 obj_t BgL_auxz00_11537;
BgL_auxz00_11537 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(31705L), BGl_string3601z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3351z00_5606); 
FAILURE(BgL_auxz00_11537,BFALSE,BFALSE);} } 
BgL_tmpz00_11533 = BgL_res2326z00_4001; } 
BgL_test4583z00_11532 = 
(BgL_tmpz00_11533==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4583z00_11532)
{ /* Llib/weakhash.scm 800 */
 int BgL_tmpz00_11542;
BgL_tmpz00_11542 = 
(int)(2L); 
BgL_oldzd2buckszd2_2038 = 
STRUCT_REF(BgL_tablez00_126, BgL_tmpz00_11542); }  else 
{ /* Llib/weakhash.scm 800 */
BgL_oldzd2buckszd2_2038 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_126); } } 
{ /* Llib/weakhash.scm 800 */
 long BgL_oldzd2buckszd2lenz00_2039;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_vectorz00_4002;
if(
VECTORP(BgL_oldzd2buckszd2_2038))
{ /* Llib/weakhash.scm 800 */
BgL_vectorz00_4002 = BgL_oldzd2buckszd2_2038; }  else 
{ 
 obj_t BgL_auxz00_11548;
BgL_auxz00_11548 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(31705L), BGl_string3601z00zz__weakhashz00, BGl_string3447z00zz__weakhashz00, BgL_oldzd2buckszd2_2038); 
FAILURE(BgL_auxz00_11548,BFALSE,BFALSE);} 
BgL_oldzd2buckszd2lenz00_2039 = 
VECTOR_LENGTH(BgL_vectorz00_4002); } 
{ /* Llib/weakhash.scm 800 */
 long BgL_newzd2buckszd2lenz00_2040;
BgL_newzd2buckszd2lenz00_2040 = 
(2L*BgL_oldzd2buckszd2lenz00_2039); 
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_newzd2buckszd2_2041;
BgL_newzd2buckszd2_2041 = 
make_vector(BgL_newzd2buckszd2lenz00_2040, BNIL); 
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_countz00_2042;
{ /* Llib/weakhash.scm 800 */
 bool_t BgL_test4586z00_11555;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_tmpz00_11556;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_res2327z00_4007;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_aux3355z00_5610;
BgL_aux3355z00_5610 = 
STRUCT_KEY(BgL_tablez00_126); 
if(
SYMBOLP(BgL_aux3355z00_5610))
{ /* Llib/weakhash.scm 800 */
BgL_res2327z00_4007 = BgL_aux3355z00_5610; }  else 
{ 
 obj_t BgL_auxz00_11560;
BgL_auxz00_11560 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(31705L), BGl_string3601z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3355z00_5610); 
FAILURE(BgL_auxz00_11560,BFALSE,BFALSE);} } 
BgL_tmpz00_11556 = BgL_res2327z00_4007; } 
BgL_test4586z00_11555 = 
(BgL_tmpz00_11556==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4586z00_11555)
{ /* Llib/weakhash.scm 800 */
 int BgL_tmpz00_11565;
BgL_tmpz00_11565 = 
(int)(0L); 
BgL_countz00_2042 = 
STRUCT_REF(BgL_tablez00_126, BgL_tmpz00_11565); }  else 
{ /* Llib/weakhash.scm 800 */
BgL_countz00_2042 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_126); } } 
{ /* Llib/weakhash.scm 800 */

{ /* Llib/weakhash.scm 800 */
 obj_t BgL_nmaxz00_2043;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_a1131z00_2046;
{ /* Llib/weakhash.scm 800 */
 bool_t BgL_test4588z00_11569;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_tmpz00_11570;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_res2328z00_4011;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_aux3357z00_5612;
BgL_aux3357z00_5612 = 
STRUCT_KEY(BgL_tablez00_126); 
if(
SYMBOLP(BgL_aux3357z00_5612))
{ /* Llib/weakhash.scm 800 */
BgL_res2328z00_4011 = BgL_aux3357z00_5612; }  else 
{ 
 obj_t BgL_auxz00_11574;
BgL_auxz00_11574 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(31705L), BGl_string3601z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3357z00_5612); 
FAILURE(BgL_auxz00_11574,BFALSE,BFALSE);} } 
BgL_tmpz00_11570 = BgL_res2328z00_4011; } 
BgL_test4588z00_11569 = 
(BgL_tmpz00_11570==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4588z00_11569)
{ /* Llib/weakhash.scm 800 */
 int BgL_tmpz00_11579;
BgL_tmpz00_11579 = 
(int)(1L); 
BgL_a1131z00_2046 = 
STRUCT_REF(BgL_tablez00_126, BgL_tmpz00_11579); }  else 
{ /* Llib/weakhash.scm 800 */
BgL_a1131z00_2046 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_126); } } 
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_b1132z00_2047;
{ /* Llib/weakhash.scm 800 */
 bool_t BgL_test4590z00_11583;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_tmpz00_11584;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_res2329z00_4015;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_aux3359z00_5614;
BgL_aux3359z00_5614 = 
STRUCT_KEY(BgL_tablez00_126); 
if(
SYMBOLP(BgL_aux3359z00_5614))
{ /* Llib/weakhash.scm 800 */
BgL_res2329z00_4015 = BgL_aux3359z00_5614; }  else 
{ 
 obj_t BgL_auxz00_11588;
BgL_auxz00_11588 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(31705L), BGl_string3601z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3359z00_5614); 
FAILURE(BgL_auxz00_11588,BFALSE,BFALSE);} } 
BgL_tmpz00_11584 = BgL_res2329z00_4015; } 
BgL_test4590z00_11583 = 
(BgL_tmpz00_11584==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4590z00_11583)
{ /* Llib/weakhash.scm 800 */
 int BgL_tmpz00_11593;
BgL_tmpz00_11593 = 
(int)(7L); 
BgL_b1132z00_2047 = 
STRUCT_REF(BgL_tablez00_126, BgL_tmpz00_11593); }  else 
{ /* Llib/weakhash.scm 800 */
BgL_b1132z00_2047 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_126); } } 
{ /* Llib/weakhash.scm 800 */

{ /* Llib/weakhash.scm 800 */
 bool_t BgL_test4592z00_11597;
if(
INTEGERP(BgL_a1131z00_2046))
{ /* Llib/weakhash.scm 800 */
BgL_test4592z00_11597 = 
INTEGERP(BgL_b1132z00_2047)
; }  else 
{ /* Llib/weakhash.scm 800 */
BgL_test4592z00_11597 = ((bool_t)0)
; } 
if(BgL_test4592z00_11597)
{ /* Llib/weakhash.scm 800 */
BgL_nmaxz00_2043 = 
BINT(
(
(long)CINT(BgL_a1131z00_2046)*
(long)CINT(BgL_b1132z00_2047))); }  else 
{ /* Llib/weakhash.scm 800 */
BgL_nmaxz00_2043 = 
BGl_2za2za2zz__r4_numbers_6_5z00(BgL_a1131z00_2046, BgL_b1132z00_2047); } } } } } 
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_arg1801z00_2044;
if(
REALP(BgL_nmaxz00_2043))
{ /* Llib/weakhash.scm 800 */
BgL_arg1801z00_2044 = 
BINT(
(long)(
REAL_TO_DOUBLE(BgL_nmaxz00_2043))); }  else 
{ /* Llib/weakhash.scm 800 */
BgL_arg1801z00_2044 = BgL_nmaxz00_2043; } 
{ /* Llib/weakhash.scm 800 */
 bool_t BgL_test4595z00_11611;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_tmpz00_11612;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_res2330z00_4022;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_aux3361z00_5616;
BgL_aux3361z00_5616 = 
STRUCT_KEY(BgL_tablez00_126); 
if(
SYMBOLP(BgL_aux3361z00_5616))
{ /* Llib/weakhash.scm 800 */
BgL_res2330z00_4022 = BgL_aux3361z00_5616; }  else 
{ 
 obj_t BgL_auxz00_11616;
BgL_auxz00_11616 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(31705L), BGl_string3601z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3361z00_5616); 
FAILURE(BgL_auxz00_11616,BFALSE,BFALSE);} } 
BgL_tmpz00_11612 = BgL_res2330z00_4022; } 
BgL_test4595z00_11611 = 
(BgL_tmpz00_11612==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4595z00_11611)
{ /* Llib/weakhash.scm 800 */
 int BgL_tmpz00_11621;
BgL_tmpz00_11621 = 
(int)(1L); 
STRUCT_SET(BgL_tablez00_126, BgL_tmpz00_11621, BgL_arg1801z00_2044); }  else 
{ /* Llib/weakhash.scm 800 */
BGl_errorz00zz__errorz00(BGl_string3452z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_126); } } } } 
{ /* Llib/weakhash.scm 800 */
 bool_t BgL_test4597z00_11625;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_tmpz00_11626;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_res2331z00_4026;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_aux3363z00_5618;
BgL_aux3363z00_5618 = 
STRUCT_KEY(BgL_tablez00_126); 
if(
SYMBOLP(BgL_aux3363z00_5618))
{ /* Llib/weakhash.scm 800 */
BgL_res2331z00_4026 = BgL_aux3363z00_5618; }  else 
{ 
 obj_t BgL_auxz00_11630;
BgL_auxz00_11630 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(31705L), BGl_string3601z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3363z00_5618); 
FAILURE(BgL_auxz00_11630,BFALSE,BFALSE);} } 
BgL_tmpz00_11626 = BgL_res2331z00_4026; } 
BgL_test4597z00_11625 = 
(BgL_tmpz00_11626==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4597z00_11625)
{ /* Llib/weakhash.scm 800 */
 int BgL_tmpz00_11635;
BgL_tmpz00_11635 = 
(int)(2L); 
STRUCT_SET(BgL_tablez00_126, BgL_tmpz00_11635, BgL_newzd2buckszd2_2041); }  else 
{ /* Llib/weakhash.scm 800 */
BGl_errorz00zz__errorz00(BGl_string3452z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_126); } } 
{ 
 long BgL_iz00_2050;
BgL_iz00_2050 = 0L; 
BgL_zc3z04anonymousza31804ze3z87_2051:
if(
(BgL_iz00_2050<BgL_oldzd2buckszd2lenz00_2039))
{ /* Llib/weakhash.scm 800 */
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_g1135z00_2053;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_vectorz00_4029;
if(
VECTORP(BgL_oldzd2buckszd2_2038))
{ /* Llib/weakhash.scm 800 */
BgL_vectorz00_4029 = BgL_oldzd2buckszd2_2038; }  else 
{ 
 obj_t BgL_auxz00_11643;
BgL_auxz00_11643 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(31705L), BGl_string3456z00zz__weakhashz00, BGl_string3447z00zz__weakhashz00, BgL_oldzd2buckszd2_2038); 
FAILURE(BgL_auxz00_11643,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 800 */
 bool_t BgL_test4601z00_11647;
{ /* Llib/weakhash.scm 800 */
 long BgL_tmpz00_11648;
BgL_tmpz00_11648 = 
VECTOR_LENGTH(BgL_vectorz00_4029); 
BgL_test4601z00_11647 = 
BOUND_CHECK(BgL_iz00_2050, BgL_tmpz00_11648); } 
if(BgL_test4601z00_11647)
{ /* Llib/weakhash.scm 800 */
BgL_g1135z00_2053 = 
VECTOR_REF(BgL_vectorz00_4029,BgL_iz00_2050); }  else 
{ 
 obj_t BgL_auxz00_11652;
BgL_auxz00_11652 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(31705L), BGl_string3448z00zz__weakhashz00, BgL_vectorz00_4029, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_4029)), 
(int)(BgL_iz00_2050)); 
FAILURE(BgL_auxz00_11652,BFALSE,BFALSE);} } } 
{ 
 obj_t BgL_l1133z00_2055;
BgL_l1133z00_2055 = BgL_g1135z00_2053; 
BgL_zc3z04anonymousza31806ze3z87_2056:
if(
PAIRP(BgL_l1133z00_2055))
{ /* Llib/weakhash.scm 800 */
{ /* Llib/weakhash.scm 831 */
 obj_t BgL_cellz00_2058;
BgL_cellz00_2058 = 
CAR(BgL_l1133z00_2055); 
{ /* Llib/weakhash.scm 831 */
 obj_t BgL_dataz00_2059;
{ /* Llib/weakhash.scm 831 */
 obj_t BgL_arg1814z00_2065;
{ /* Llib/weakhash.scm 831 */
 obj_t BgL_pairz00_4032;
if(
PAIRP(BgL_cellz00_2058))
{ /* Llib/weakhash.scm 831 */
BgL_pairz00_4032 = BgL_cellz00_2058; }  else 
{ 
 obj_t BgL_auxz00_11664;
BgL_auxz00_11664 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(32837L), BGl_string3603z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_cellz00_2058); 
FAILURE(BgL_auxz00_11664,BFALSE,BFALSE);} 
BgL_arg1814z00_2065 = 
CDR(BgL_pairz00_4032); } 
{ /* Llib/weakhash.scm 831 */
 obj_t BgL_objz00_4033;
if(
BGL_WEAKPTRP(BgL_arg1814z00_2065))
{ /* Llib/weakhash.scm 831 */
BgL_objz00_4033 = BgL_arg1814z00_2065; }  else 
{ 
 obj_t BgL_auxz00_11671;
BgL_auxz00_11671 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(32841L), BGl_string3603z00zz__weakhashz00, BGl_string3451z00zz__weakhashz00, BgL_arg1814z00_2065); 
FAILURE(BgL_auxz00_11671,BFALSE,BFALSE);} 
BgL_dataz00_2059 = 
bgl_weakptr_data(BgL_objz00_4033); } } 
if(
(BgL_dataz00_2059==BUNSPEC))
{ 
 obj_t BgL_tmpz00_11678;
{ /* Llib/weakhash.scm 833 */
 obj_t BgL_aux3371z00_5626;
BgL_aux3371z00_5626 = BgL_countz00_2042; 
if(
INTEGERP(BgL_aux3371z00_5626))
{ /* Llib/weakhash.scm 833 */
BgL_tmpz00_11678 = BgL_aux3371z00_5626
; }  else 
{ 
 obj_t BgL_auxz00_11681;
BgL_auxz00_11681 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(32908L), BGl_string3603z00zz__weakhashz00, BGl_string3442z00zz__weakhashz00, BgL_aux3371z00_5626); 
FAILURE(BgL_auxz00_11681,BFALSE,BFALSE);} } 
BgL_countz00_2042 = 
SUBFX(BgL_tmpz00_11678, 
BINT(1L)); }  else 
{ /* Llib/weakhash.scm 834 */
 long BgL_hz00_2060;
{ /* Llib/weakhash.scm 836 */
 long BgL_arg1810z00_2063;
{ /* Llib/weakhash.scm 836 */
 obj_t BgL_arg1812z00_2064;
{ /* Llib/weakhash.scm 836 */
 obj_t BgL_pairz00_4035;
if(
PAIRP(BgL_cellz00_2058))
{ /* Llib/weakhash.scm 836 */
BgL_pairz00_4035 = BgL_cellz00_2058; }  else 
{ 
 obj_t BgL_auxz00_11689;
BgL_auxz00_11689 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(33001L), BGl_string3603z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_cellz00_2058); 
FAILURE(BgL_auxz00_11689,BFALSE,BFALSE);} 
BgL_arg1812z00_2064 = 
CAR(BgL_pairz00_4035); } 
BgL_arg1810z00_2063 = 
BGl_tablezd2getzd2hashnumberz00zz__weakhashz00(BgL_tablez00_126, BgL_arg1812z00_2064); } 
{ /* Llib/weakhash.scm 834 */
 long BgL_n1z00_4036; long BgL_n2z00_4037;
BgL_n1z00_4036 = BgL_arg1810z00_2063; 
BgL_n2z00_4037 = BgL_newzd2buckszd2lenz00_2040; 
{ /* Llib/weakhash.scm 834 */
 bool_t BgL_test4608z00_11695;
{ /* Llib/weakhash.scm 834 */
 long BgL_arg2034z00_4039;
BgL_arg2034z00_4039 = 
(((BgL_n1z00_4036) | (BgL_n2z00_4037)) & -2147483648); 
BgL_test4608z00_11695 = 
(BgL_arg2034z00_4039==0L); } 
if(BgL_test4608z00_11695)
{ /* Llib/weakhash.scm 834 */
 int32_t BgL_arg2031z00_4040;
{ /* Llib/weakhash.scm 834 */
 int32_t BgL_arg2032z00_4041; int32_t BgL_arg2033z00_4042;
BgL_arg2032z00_4041 = 
(int32_t)(BgL_n1z00_4036); 
BgL_arg2033z00_4042 = 
(int32_t)(BgL_n2z00_4037); 
BgL_arg2031z00_4040 = 
(BgL_arg2032z00_4041%BgL_arg2033z00_4042); } 
{ /* Llib/weakhash.scm 834 */
 long BgL_arg2142z00_4047;
BgL_arg2142z00_4047 = 
(long)(BgL_arg2031z00_4040); 
BgL_hz00_2060 = 
(long)(BgL_arg2142z00_4047); } }  else 
{ /* Llib/weakhash.scm 834 */
BgL_hz00_2060 = 
(BgL_n1z00_4036%BgL_n2z00_4037); } } } } 
{ /* Llib/weakhash.scm 841 */
 obj_t BgL_arg1808z00_2061;
{ /* Llib/weakhash.scm 841 */
 obj_t BgL_arg1809z00_2062;
{ /* Llib/weakhash.scm 841 */
 bool_t BgL_test4609z00_11704;
{ /* Llib/weakhash.scm 841 */
 long BgL_tmpz00_11705;
BgL_tmpz00_11705 = 
VECTOR_LENGTH(BgL_newzd2buckszd2_2041); 
BgL_test4609z00_11704 = 
BOUND_CHECK(BgL_hz00_2060, BgL_tmpz00_11705); } 
if(BgL_test4609z00_11704)
{ /* Llib/weakhash.scm 841 */
BgL_arg1809z00_2062 = 
VECTOR_REF(BgL_newzd2buckszd2_2041,BgL_hz00_2060); }  else 
{ 
 obj_t BgL_auxz00_11709;
BgL_auxz00_11709 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(33107L), BGl_string3448z00zz__weakhashz00, BgL_newzd2buckszd2_2041, 
(int)(
VECTOR_LENGTH(BgL_newzd2buckszd2_2041)), 
(int)(BgL_hz00_2060)); 
FAILURE(BgL_auxz00_11709,BFALSE,BFALSE);} } 
BgL_arg1808z00_2061 = 
MAKE_YOUNG_PAIR(BgL_cellz00_2058, BgL_arg1809z00_2062); } 
{ /* Llib/weakhash.scm 838 */
 bool_t BgL_test4610z00_11717;
{ /* Llib/weakhash.scm 838 */
 long BgL_tmpz00_11718;
BgL_tmpz00_11718 = 
VECTOR_LENGTH(BgL_newzd2buckszd2_2041); 
BgL_test4610z00_11717 = 
BOUND_CHECK(BgL_hz00_2060, BgL_tmpz00_11718); } 
if(BgL_test4610z00_11717)
{ /* Llib/weakhash.scm 838 */
VECTOR_SET(BgL_newzd2buckszd2_2041,BgL_hz00_2060,BgL_arg1808z00_2061); }  else 
{ 
 obj_t BgL_auxz00_11722;
BgL_auxz00_11722 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(33045L), BGl_string3453z00zz__weakhashz00, BgL_newzd2buckszd2_2041, 
(int)(
VECTOR_LENGTH(BgL_newzd2buckszd2_2041)), 
(int)(BgL_hz00_2060)); 
FAILURE(BgL_auxz00_11722,BFALSE,BFALSE);} } } } } } 
{ 
 obj_t BgL_l1133z00_11729;
BgL_l1133z00_11729 = 
CDR(BgL_l1133z00_2055); 
BgL_l1133z00_2055 = BgL_l1133z00_11729; 
goto BgL_zc3z04anonymousza31806ze3z87_2056;} }  else 
{ /* Llib/weakhash.scm 800 */
if(
NULLP(BgL_l1133z00_2055))
{ /* Llib/weakhash.scm 800 */BTRUE; }  else 
{ /* Llib/weakhash.scm 800 */
BGl_bigloozd2typezd2errorz00zz__errorz00(BGl_string3467z00zz__weakhashz00, BGl_string3468z00zz__weakhashz00, BgL_l1133z00_2055); } } } } 
{ 
 long BgL_iz00_11734;
BgL_iz00_11734 = 
(BgL_iz00_2050+1L); 
BgL_iz00_2050 = BgL_iz00_11734; 
goto BgL_zc3z04anonymousza31804ze3z87_2051;} }  else 
{ /* Llib/weakhash.scm 800 */((bool_t)0); } } 
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_vz00_4055;
BgL_vz00_4055 = BgL_countz00_2042; 
{ /* Llib/weakhash.scm 800 */
 bool_t BgL_test4612z00_11736;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_tmpz00_11737;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_res2332z00_4059;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_aux3374z00_5629;
BgL_aux3374z00_5629 = 
STRUCT_KEY(BgL_tablez00_126); 
if(
SYMBOLP(BgL_aux3374z00_5629))
{ /* Llib/weakhash.scm 800 */
BgL_res2332z00_4059 = BgL_aux3374z00_5629; }  else 
{ 
 obj_t BgL_auxz00_11741;
BgL_auxz00_11741 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(31705L), BGl_string3601z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3374z00_5629); 
FAILURE(BgL_auxz00_11741,BFALSE,BFALSE);} } 
BgL_tmpz00_11737 = BgL_res2332z00_4059; } 
BgL_test4612z00_11736 = 
(BgL_tmpz00_11737==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4612z00_11736)
{ /* Llib/weakhash.scm 800 */
 int BgL_tmpz00_11746;
BgL_tmpz00_11746 = 
(int)(0L); 
return 
STRUCT_SET(BgL_tablez00_126, BgL_tmpz00_11746, BgL_vz00_4055);}  else 
{ /* Llib/weakhash.scm 800 */
return 
BGl_errorz00zz__errorz00(BGl_string3452z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_126);} } } } } } } } }  else 
{ /* Llib/weakhash.scm 800 */
 bool_t BgL_test4614z00_11750;
{ /* Llib/weakhash.scm 843 */
 obj_t BgL_arg1854z00_2139;
{ /* Llib/weakhash.scm 843 */
 bool_t BgL_test4615z00_11751;
{ /* Llib/weakhash.scm 843 */
 obj_t BgL_tmpz00_11752;
{ /* Llib/weakhash.scm 843 */
 obj_t BgL_res2333z00_4063;
{ /* Llib/weakhash.scm 843 */
 obj_t BgL_aux3376z00_5631;
BgL_aux3376z00_5631 = 
STRUCT_KEY(BgL_tablez00_126); 
if(
SYMBOLP(BgL_aux3376z00_5631))
{ /* Llib/weakhash.scm 843 */
BgL_res2333z00_4063 = BgL_aux3376z00_5631; }  else 
{ 
 obj_t BgL_auxz00_11756;
BgL_auxz00_11756 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(33175L), BGl_string3601z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3376z00_5631); 
FAILURE(BgL_auxz00_11756,BFALSE,BFALSE);} } 
BgL_tmpz00_11752 = BgL_res2333z00_4063; } 
BgL_test4615z00_11751 = 
(BgL_tmpz00_11752==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4615z00_11751)
{ /* Llib/weakhash.scm 843 */
 int BgL_tmpz00_11761;
BgL_tmpz00_11761 = 
(int)(5L); 
BgL_arg1854z00_2139 = 
STRUCT_REF(BgL_tablez00_126, BgL_tmpz00_11761); }  else 
{ /* Llib/weakhash.scm 843 */
BgL_arg1854z00_2139 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_126); } } 
{ /* Llib/weakhash.scm 843 */
 long BgL_n2z00_4064;
{ /* Llib/weakhash.scm 843 */
 obj_t BgL_tmpz00_11765;
if(
INTEGERP(BgL_arg1854z00_2139))
{ /* Llib/weakhash.scm 843 */
BgL_tmpz00_11765 = BgL_arg1854z00_2139
; }  else 
{ 
 obj_t BgL_auxz00_11768;
BgL_auxz00_11768 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(33197L), BGl_string3601z00zz__weakhashz00, BGl_string3442z00zz__weakhashz00, BgL_arg1854z00_2139); 
FAILURE(BgL_auxz00_11768,BFALSE,BFALSE);} 
BgL_n2z00_4064 = 
(long)CINT(BgL_tmpz00_11765); } 
BgL_test4614z00_11750 = 
(3L==BgL_n2z00_4064); } } 
if(BgL_test4614z00_11750)
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_oldzd2buckszd2_2073;
{ /* Llib/weakhash.scm 800 */
 bool_t BgL_test4618z00_11774;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_tmpz00_11775;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_res2334z00_4068;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_aux3379z00_5634;
BgL_aux3379z00_5634 = 
STRUCT_KEY(BgL_tablez00_126); 
if(
SYMBOLP(BgL_aux3379z00_5634))
{ /* Llib/weakhash.scm 800 */
BgL_res2334z00_4068 = BgL_aux3379z00_5634; }  else 
{ 
 obj_t BgL_auxz00_11779;
BgL_auxz00_11779 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(31705L), BGl_string3601z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3379z00_5634); 
FAILURE(BgL_auxz00_11779,BFALSE,BFALSE);} } 
BgL_tmpz00_11775 = BgL_res2334z00_4068; } 
BgL_test4618z00_11774 = 
(BgL_tmpz00_11775==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4618z00_11774)
{ /* Llib/weakhash.scm 800 */
 int BgL_tmpz00_11784;
BgL_tmpz00_11784 = 
(int)(2L); 
BgL_oldzd2buckszd2_2073 = 
STRUCT_REF(BgL_tablez00_126, BgL_tmpz00_11784); }  else 
{ /* Llib/weakhash.scm 800 */
BgL_oldzd2buckszd2_2073 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_126); } } 
{ /* Llib/weakhash.scm 800 */
 long BgL_oldzd2buckszd2lenz00_2074;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_vectorz00_4069;
if(
VECTORP(BgL_oldzd2buckszd2_2073))
{ /* Llib/weakhash.scm 800 */
BgL_vectorz00_4069 = BgL_oldzd2buckszd2_2073; }  else 
{ 
 obj_t BgL_auxz00_11790;
BgL_auxz00_11790 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(31705L), BGl_string3601z00zz__weakhashz00, BGl_string3447z00zz__weakhashz00, BgL_oldzd2buckszd2_2073); 
FAILURE(BgL_auxz00_11790,BFALSE,BFALSE);} 
BgL_oldzd2buckszd2lenz00_2074 = 
VECTOR_LENGTH(BgL_vectorz00_4069); } 
{ /* Llib/weakhash.scm 800 */
 long BgL_newzd2buckszd2lenz00_2075;
BgL_newzd2buckszd2lenz00_2075 = 
(2L*BgL_oldzd2buckszd2lenz00_2074); 
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_newzd2buckszd2_2076;
BgL_newzd2buckszd2_2076 = 
make_vector(BgL_newzd2buckszd2lenz00_2075, BNIL); 
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_countz00_2077;
{ /* Llib/weakhash.scm 800 */
 bool_t BgL_test4621z00_11797;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_tmpz00_11798;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_res2335z00_4074;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_aux3383z00_5638;
BgL_aux3383z00_5638 = 
STRUCT_KEY(BgL_tablez00_126); 
if(
SYMBOLP(BgL_aux3383z00_5638))
{ /* Llib/weakhash.scm 800 */
BgL_res2335z00_4074 = BgL_aux3383z00_5638; }  else 
{ 
 obj_t BgL_auxz00_11802;
BgL_auxz00_11802 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(31705L), BGl_string3601z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3383z00_5638); 
FAILURE(BgL_auxz00_11802,BFALSE,BFALSE);} } 
BgL_tmpz00_11798 = BgL_res2335z00_4074; } 
BgL_test4621z00_11797 = 
(BgL_tmpz00_11798==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4621z00_11797)
{ /* Llib/weakhash.scm 800 */
 int BgL_tmpz00_11807;
BgL_tmpz00_11807 = 
(int)(0L); 
BgL_countz00_2077 = 
STRUCT_REF(BgL_tablez00_126, BgL_tmpz00_11807); }  else 
{ /* Llib/weakhash.scm 800 */
BgL_countz00_2077 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_126); } } 
{ /* Llib/weakhash.scm 800 */

{ /* Llib/weakhash.scm 800 */
 obj_t BgL_nmaxz00_2078;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_a1136z00_2081;
{ /* Llib/weakhash.scm 800 */
 bool_t BgL_test4623z00_11811;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_tmpz00_11812;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_res2336z00_4078;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_aux3385z00_5640;
BgL_aux3385z00_5640 = 
STRUCT_KEY(BgL_tablez00_126); 
if(
SYMBOLP(BgL_aux3385z00_5640))
{ /* Llib/weakhash.scm 800 */
BgL_res2336z00_4078 = BgL_aux3385z00_5640; }  else 
{ 
 obj_t BgL_auxz00_11816;
BgL_auxz00_11816 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(31705L), BGl_string3601z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3385z00_5640); 
FAILURE(BgL_auxz00_11816,BFALSE,BFALSE);} } 
BgL_tmpz00_11812 = BgL_res2336z00_4078; } 
BgL_test4623z00_11811 = 
(BgL_tmpz00_11812==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4623z00_11811)
{ /* Llib/weakhash.scm 800 */
 int BgL_tmpz00_11821;
BgL_tmpz00_11821 = 
(int)(1L); 
BgL_a1136z00_2081 = 
STRUCT_REF(BgL_tablez00_126, BgL_tmpz00_11821); }  else 
{ /* Llib/weakhash.scm 800 */
BgL_a1136z00_2081 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_126); } } 
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_b1137z00_2082;
{ /* Llib/weakhash.scm 800 */
 bool_t BgL_test4625z00_11825;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_tmpz00_11826;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_res2337z00_4082;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_aux3387z00_5642;
BgL_aux3387z00_5642 = 
STRUCT_KEY(BgL_tablez00_126); 
if(
SYMBOLP(BgL_aux3387z00_5642))
{ /* Llib/weakhash.scm 800 */
BgL_res2337z00_4082 = BgL_aux3387z00_5642; }  else 
{ 
 obj_t BgL_auxz00_11830;
BgL_auxz00_11830 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(31705L), BGl_string3601z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3387z00_5642); 
FAILURE(BgL_auxz00_11830,BFALSE,BFALSE);} } 
BgL_tmpz00_11826 = BgL_res2337z00_4082; } 
BgL_test4625z00_11825 = 
(BgL_tmpz00_11826==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4625z00_11825)
{ /* Llib/weakhash.scm 800 */
 int BgL_tmpz00_11835;
BgL_tmpz00_11835 = 
(int)(7L); 
BgL_b1137z00_2082 = 
STRUCT_REF(BgL_tablez00_126, BgL_tmpz00_11835); }  else 
{ /* Llib/weakhash.scm 800 */
BgL_b1137z00_2082 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_126); } } 
{ /* Llib/weakhash.scm 800 */

{ /* Llib/weakhash.scm 800 */
 bool_t BgL_test4627z00_11839;
if(
INTEGERP(BgL_a1136z00_2081))
{ /* Llib/weakhash.scm 800 */
BgL_test4627z00_11839 = 
INTEGERP(BgL_b1137z00_2082)
; }  else 
{ /* Llib/weakhash.scm 800 */
BgL_test4627z00_11839 = ((bool_t)0)
; } 
if(BgL_test4627z00_11839)
{ /* Llib/weakhash.scm 800 */
BgL_nmaxz00_2078 = 
BINT(
(
(long)CINT(BgL_a1136z00_2081)*
(long)CINT(BgL_b1137z00_2082))); }  else 
{ /* Llib/weakhash.scm 800 */
BgL_nmaxz00_2078 = 
BGl_2za2za2zz__r4_numbers_6_5z00(BgL_a1136z00_2081, BgL_b1137z00_2082); } } } } } 
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_arg1822z00_2079;
if(
REALP(BgL_nmaxz00_2078))
{ /* Llib/weakhash.scm 800 */
BgL_arg1822z00_2079 = 
BINT(
(long)(
REAL_TO_DOUBLE(BgL_nmaxz00_2078))); }  else 
{ /* Llib/weakhash.scm 800 */
BgL_arg1822z00_2079 = BgL_nmaxz00_2078; } 
{ /* Llib/weakhash.scm 800 */
 bool_t BgL_test4630z00_11853;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_tmpz00_11854;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_res2338z00_4089;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_aux3389z00_5644;
BgL_aux3389z00_5644 = 
STRUCT_KEY(BgL_tablez00_126); 
if(
SYMBOLP(BgL_aux3389z00_5644))
{ /* Llib/weakhash.scm 800 */
BgL_res2338z00_4089 = BgL_aux3389z00_5644; }  else 
{ 
 obj_t BgL_auxz00_11858;
BgL_auxz00_11858 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(31705L), BGl_string3601z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3389z00_5644); 
FAILURE(BgL_auxz00_11858,BFALSE,BFALSE);} } 
BgL_tmpz00_11854 = BgL_res2338z00_4089; } 
BgL_test4630z00_11853 = 
(BgL_tmpz00_11854==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4630z00_11853)
{ /* Llib/weakhash.scm 800 */
 int BgL_tmpz00_11863;
BgL_tmpz00_11863 = 
(int)(1L); 
STRUCT_SET(BgL_tablez00_126, BgL_tmpz00_11863, BgL_arg1822z00_2079); }  else 
{ /* Llib/weakhash.scm 800 */
BGl_errorz00zz__errorz00(BGl_string3452z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_126); } } } } 
{ /* Llib/weakhash.scm 800 */
 bool_t BgL_test4632z00_11867;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_tmpz00_11868;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_res2339z00_4093;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_aux3391z00_5646;
BgL_aux3391z00_5646 = 
STRUCT_KEY(BgL_tablez00_126); 
if(
SYMBOLP(BgL_aux3391z00_5646))
{ /* Llib/weakhash.scm 800 */
BgL_res2339z00_4093 = BgL_aux3391z00_5646; }  else 
{ 
 obj_t BgL_auxz00_11872;
BgL_auxz00_11872 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(31705L), BGl_string3601z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3391z00_5646); 
FAILURE(BgL_auxz00_11872,BFALSE,BFALSE);} } 
BgL_tmpz00_11868 = BgL_res2339z00_4093; } 
BgL_test4632z00_11867 = 
(BgL_tmpz00_11868==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4632z00_11867)
{ /* Llib/weakhash.scm 800 */
 int BgL_tmpz00_11877;
BgL_tmpz00_11877 = 
(int)(2L); 
STRUCT_SET(BgL_tablez00_126, BgL_tmpz00_11877, BgL_newzd2buckszd2_2076); }  else 
{ /* Llib/weakhash.scm 800 */
BGl_errorz00zz__errorz00(BGl_string3452z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_126); } } 
{ 
 long BgL_iz00_2085;
BgL_iz00_2085 = 0L; 
BgL_zc3z04anonymousza31825ze3z87_2086:
if(
(BgL_iz00_2085<BgL_oldzd2buckszd2lenz00_2074))
{ /* Llib/weakhash.scm 800 */
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_g1140z00_2088;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_vectorz00_4096;
if(
VECTORP(BgL_oldzd2buckszd2_2073))
{ /* Llib/weakhash.scm 800 */
BgL_vectorz00_4096 = BgL_oldzd2buckszd2_2073; }  else 
{ 
 obj_t BgL_auxz00_11885;
BgL_auxz00_11885 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(31705L), BGl_string3456z00zz__weakhashz00, BGl_string3447z00zz__weakhashz00, BgL_oldzd2buckszd2_2073); 
FAILURE(BgL_auxz00_11885,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 800 */
 bool_t BgL_test4636z00_11889;
{ /* Llib/weakhash.scm 800 */
 long BgL_tmpz00_11890;
BgL_tmpz00_11890 = 
VECTOR_LENGTH(BgL_vectorz00_4096); 
BgL_test4636z00_11889 = 
BOUND_CHECK(BgL_iz00_2085, BgL_tmpz00_11890); } 
if(BgL_test4636z00_11889)
{ /* Llib/weakhash.scm 800 */
BgL_g1140z00_2088 = 
VECTOR_REF(BgL_vectorz00_4096,BgL_iz00_2085); }  else 
{ 
 obj_t BgL_auxz00_11894;
BgL_auxz00_11894 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(31705L), BGl_string3448z00zz__weakhashz00, BgL_vectorz00_4096, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_4096)), 
(int)(BgL_iz00_2085)); 
FAILURE(BgL_auxz00_11894,BFALSE,BFALSE);} } } 
{ 
 obj_t BgL_l1138z00_2090;
BgL_l1138z00_2090 = BgL_g1140z00_2088; 
BgL_zc3z04anonymousza31827ze3z87_2091:
if(
PAIRP(BgL_l1138z00_2090))
{ /* Llib/weakhash.scm 800 */
{ /* Llib/weakhash.scm 845 */
 obj_t BgL_cellz00_2093;
BgL_cellz00_2093 = 
CAR(BgL_l1138z00_2090); 
{ /* Llib/weakhash.scm 845 */
 obj_t BgL_keyz00_2094; obj_t BgL_dataz00_2095;
{ /* Llib/weakhash.scm 845 */
 obj_t BgL_arg1833z00_2101;
{ /* Llib/weakhash.scm 845 */
 obj_t BgL_pairz00_4099;
if(
PAIRP(BgL_cellz00_2093))
{ /* Llib/weakhash.scm 845 */
BgL_pairz00_4099 = BgL_cellz00_2093; }  else 
{ 
 obj_t BgL_auxz00_11906;
BgL_auxz00_11906 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(33265L), BGl_string3604z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_cellz00_2093); 
FAILURE(BgL_auxz00_11906,BFALSE,BFALSE);} 
BgL_arg1833z00_2101 = 
CAR(BgL_pairz00_4099); } 
{ /* Llib/weakhash.scm 845 */
 obj_t BgL_objz00_4100;
if(
BGL_WEAKPTRP(BgL_arg1833z00_2101))
{ /* Llib/weakhash.scm 845 */
BgL_objz00_4100 = BgL_arg1833z00_2101; }  else 
{ 
 obj_t BgL_auxz00_11913;
BgL_auxz00_11913 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(33269L), BGl_string3604z00zz__weakhashz00, BGl_string3451z00zz__weakhashz00, BgL_arg1833z00_2101); 
FAILURE(BgL_auxz00_11913,BFALSE,BFALSE);} 
BgL_keyz00_2094 = 
bgl_weakptr_data(BgL_objz00_4100); } } 
{ /* Llib/weakhash.scm 846 */
 obj_t BgL_arg1834z00_2102;
{ /* Llib/weakhash.scm 846 */
 obj_t BgL_pairz00_4101;
if(
PAIRP(BgL_cellz00_2093))
{ /* Llib/weakhash.scm 846 */
BgL_pairz00_4101 = BgL_cellz00_2093; }  else 
{ 
 obj_t BgL_auxz00_11920;
BgL_auxz00_11920 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(33304L), BGl_string3604z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_cellz00_2093); 
FAILURE(BgL_auxz00_11920,BFALSE,BFALSE);} 
BgL_arg1834z00_2102 = 
CDR(BgL_pairz00_4101); } 
{ /* Llib/weakhash.scm 846 */
 obj_t BgL_objz00_4102;
if(
BGL_WEAKPTRP(BgL_arg1834z00_2102))
{ /* Llib/weakhash.scm 846 */
BgL_objz00_4102 = BgL_arg1834z00_2102; }  else 
{ 
 obj_t BgL_auxz00_11927;
BgL_auxz00_11927 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(33308L), BGl_string3604z00zz__weakhashz00, BGl_string3451z00zz__weakhashz00, BgL_arg1834z00_2102); 
FAILURE(BgL_auxz00_11927,BFALSE,BFALSE);} 
BgL_dataz00_2095 = 
bgl_weakptr_data(BgL_objz00_4102); } } 
{ /* Llib/weakhash.scm 847 */
 bool_t BgL_test4642z00_11932;
if(
(BgL_keyz00_2094==BUNSPEC))
{ /* Llib/weakhash.scm 847 */
BgL_test4642z00_11932 = ((bool_t)1)
; }  else 
{ /* Llib/weakhash.scm 847 */
BgL_test4642z00_11932 = 
(BgL_dataz00_2095==BUNSPEC)
; } 
if(BgL_test4642z00_11932)
{ 
 obj_t BgL_tmpz00_11936;
{ /* Llib/weakhash.scm 849 */
 obj_t BgL_aux3403z00_5658;
BgL_aux3403z00_5658 = BgL_countz00_2077; 
if(
INTEGERP(BgL_aux3403z00_5658))
{ /* Llib/weakhash.scm 849 */
BgL_tmpz00_11936 = BgL_aux3403z00_5658
; }  else 
{ 
 obj_t BgL_auxz00_11939;
BgL_auxz00_11939 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(33414L), BGl_string3604z00zz__weakhashz00, BGl_string3442z00zz__weakhashz00, BgL_aux3403z00_5658); 
FAILURE(BgL_auxz00_11939,BFALSE,BFALSE);} } 
BgL_countz00_2077 = 
SUBFX(BgL_tmpz00_11936, 
BINT(1L)); }  else 
{ /* Llib/weakhash.scm 850 */
 long BgL_hz00_2097;
{ /* Llib/weakhash.scm 851 */
 long BgL_arg1832z00_2100;
BgL_arg1832z00_2100 = 
BGl_tablezd2getzd2hashnumberz00zz__weakhashz00(BgL_tablez00_126, BgL_keyz00_2094); 
{ /* Llib/weakhash.scm 850 */
 long BgL_n1z00_4104; long BgL_n2z00_4105;
BgL_n1z00_4104 = BgL_arg1832z00_2100; 
BgL_n2z00_4105 = BgL_newzd2buckszd2lenz00_2075; 
{ /* Llib/weakhash.scm 850 */
 bool_t BgL_test4645z00_11946;
{ /* Llib/weakhash.scm 850 */
 long BgL_arg2034z00_4107;
BgL_arg2034z00_4107 = 
(((BgL_n1z00_4104) | (BgL_n2z00_4105)) & -2147483648); 
BgL_test4645z00_11946 = 
(BgL_arg2034z00_4107==0L); } 
if(BgL_test4645z00_11946)
{ /* Llib/weakhash.scm 850 */
 int32_t BgL_arg2031z00_4108;
{ /* Llib/weakhash.scm 850 */
 int32_t BgL_arg2032z00_4109; int32_t BgL_arg2033z00_4110;
BgL_arg2032z00_4109 = 
(int32_t)(BgL_n1z00_4104); 
BgL_arg2033z00_4110 = 
(int32_t)(BgL_n2z00_4105); 
BgL_arg2031z00_4108 = 
(BgL_arg2032z00_4109%BgL_arg2033z00_4110); } 
{ /* Llib/weakhash.scm 850 */
 long BgL_arg2142z00_4115;
BgL_arg2142z00_4115 = 
(long)(BgL_arg2031z00_4108); 
BgL_hz00_2097 = 
(long)(BgL_arg2142z00_4115); } }  else 
{ /* Llib/weakhash.scm 850 */
BgL_hz00_2097 = 
(BgL_n1z00_4104%BgL_n2z00_4105); } } } } 
{ /* Llib/weakhash.scm 856 */
 obj_t BgL_arg1830z00_2098;
{ /* Llib/weakhash.scm 856 */
 obj_t BgL_arg1831z00_2099;
{ /* Llib/weakhash.scm 856 */
 bool_t BgL_test4646z00_11955;
{ /* Llib/weakhash.scm 856 */
 long BgL_tmpz00_11956;
BgL_tmpz00_11956 = 
VECTOR_LENGTH(BgL_newzd2buckszd2_2076); 
BgL_test4646z00_11955 = 
BOUND_CHECK(BgL_hz00_2097, BgL_tmpz00_11956); } 
if(BgL_test4646z00_11955)
{ /* Llib/weakhash.scm 856 */
BgL_arg1831z00_2099 = 
VECTOR_REF(BgL_newzd2buckszd2_2076,BgL_hz00_2097); }  else 
{ 
 obj_t BgL_auxz00_11960;
BgL_auxz00_11960 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(33595L), BGl_string3448z00zz__weakhashz00, BgL_newzd2buckszd2_2076, 
(int)(
VECTOR_LENGTH(BgL_newzd2buckszd2_2076)), 
(int)(BgL_hz00_2097)); 
FAILURE(BgL_auxz00_11960,BFALSE,BFALSE);} } 
BgL_arg1830z00_2098 = 
MAKE_YOUNG_PAIR(BgL_cellz00_2093, BgL_arg1831z00_2099); } 
{ /* Llib/weakhash.scm 853 */
 bool_t BgL_test4647z00_11968;
{ /* Llib/weakhash.scm 853 */
 long BgL_tmpz00_11969;
BgL_tmpz00_11969 = 
VECTOR_LENGTH(BgL_newzd2buckszd2_2076); 
BgL_test4647z00_11968 = 
BOUND_CHECK(BgL_hz00_2097, BgL_tmpz00_11969); } 
if(BgL_test4647z00_11968)
{ /* Llib/weakhash.scm 853 */
VECTOR_SET(BgL_newzd2buckszd2_2076,BgL_hz00_2097,BgL_arg1830z00_2098); }  else 
{ 
 obj_t BgL_auxz00_11973;
BgL_auxz00_11973 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(33533L), BGl_string3453z00zz__weakhashz00, BgL_newzd2buckszd2_2076, 
(int)(
VECTOR_LENGTH(BgL_newzd2buckszd2_2076)), 
(int)(BgL_hz00_2097)); 
FAILURE(BgL_auxz00_11973,BFALSE,BFALSE);} } } } } } } 
{ 
 obj_t BgL_l1138z00_11980;
BgL_l1138z00_11980 = 
CDR(BgL_l1138z00_2090); 
BgL_l1138z00_2090 = BgL_l1138z00_11980; 
goto BgL_zc3z04anonymousza31827ze3z87_2091;} }  else 
{ /* Llib/weakhash.scm 800 */
if(
NULLP(BgL_l1138z00_2090))
{ /* Llib/weakhash.scm 800 */BTRUE; }  else 
{ /* Llib/weakhash.scm 800 */
BGl_bigloozd2typezd2errorz00zz__errorz00(BGl_string3467z00zz__weakhashz00, BGl_string3468z00zz__weakhashz00, BgL_l1138z00_2090); } } } } 
{ 
 long BgL_iz00_11985;
BgL_iz00_11985 = 
(BgL_iz00_2085+1L); 
BgL_iz00_2085 = BgL_iz00_11985; 
goto BgL_zc3z04anonymousza31825ze3z87_2086;} }  else 
{ /* Llib/weakhash.scm 800 */((bool_t)0); } } 
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_vz00_4123;
BgL_vz00_4123 = BgL_countz00_2077; 
{ /* Llib/weakhash.scm 800 */
 bool_t BgL_test4649z00_11987;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_tmpz00_11988;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_res2340z00_4127;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_aux3404z00_5659;
BgL_aux3404z00_5659 = 
STRUCT_KEY(BgL_tablez00_126); 
if(
SYMBOLP(BgL_aux3404z00_5659))
{ /* Llib/weakhash.scm 800 */
BgL_res2340z00_4127 = BgL_aux3404z00_5659; }  else 
{ 
 obj_t BgL_auxz00_11992;
BgL_auxz00_11992 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(31705L), BGl_string3601z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3404z00_5659); 
FAILURE(BgL_auxz00_11992,BFALSE,BFALSE);} } 
BgL_tmpz00_11988 = BgL_res2340z00_4127; } 
BgL_test4649z00_11987 = 
(BgL_tmpz00_11988==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4649z00_11987)
{ /* Llib/weakhash.scm 800 */
 int BgL_tmpz00_11997;
BgL_tmpz00_11997 = 
(int)(0L); 
return 
STRUCT_SET(BgL_tablez00_126, BgL_tmpz00_11997, BgL_vz00_4123);}  else 
{ /* Llib/weakhash.scm 800 */
return 
BGl_errorz00zz__errorz00(BGl_string3452z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_126);} } } } } } } } }  else 
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_oldzd2buckszd2_2108;
{ /* Llib/weakhash.scm 800 */
 bool_t BgL_test4651z00_12001;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_tmpz00_12002;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_res2341z00_4131;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_aux3406z00_5661;
BgL_aux3406z00_5661 = 
STRUCT_KEY(BgL_tablez00_126); 
if(
SYMBOLP(BgL_aux3406z00_5661))
{ /* Llib/weakhash.scm 800 */
BgL_res2341z00_4131 = BgL_aux3406z00_5661; }  else 
{ 
 obj_t BgL_auxz00_12006;
BgL_auxz00_12006 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(31705L), BGl_string3601z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3406z00_5661); 
FAILURE(BgL_auxz00_12006,BFALSE,BFALSE);} } 
BgL_tmpz00_12002 = BgL_res2341z00_4131; } 
BgL_test4651z00_12001 = 
(BgL_tmpz00_12002==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4651z00_12001)
{ /* Llib/weakhash.scm 800 */
 int BgL_tmpz00_12011;
BgL_tmpz00_12011 = 
(int)(2L); 
BgL_oldzd2buckszd2_2108 = 
STRUCT_REF(BgL_tablez00_126, BgL_tmpz00_12011); }  else 
{ /* Llib/weakhash.scm 800 */
BgL_oldzd2buckszd2_2108 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_126); } } 
{ /* Llib/weakhash.scm 800 */
 long BgL_oldzd2buckszd2lenz00_2109;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_vectorz00_4132;
if(
VECTORP(BgL_oldzd2buckszd2_2108))
{ /* Llib/weakhash.scm 800 */
BgL_vectorz00_4132 = BgL_oldzd2buckszd2_2108; }  else 
{ 
 obj_t BgL_auxz00_12017;
BgL_auxz00_12017 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(31705L), BGl_string3601z00zz__weakhashz00, BGl_string3447z00zz__weakhashz00, BgL_oldzd2buckszd2_2108); 
FAILURE(BgL_auxz00_12017,BFALSE,BFALSE);} 
BgL_oldzd2buckszd2lenz00_2109 = 
VECTOR_LENGTH(BgL_vectorz00_4132); } 
{ /* Llib/weakhash.scm 800 */
 long BgL_newzd2buckszd2lenz00_2110;
BgL_newzd2buckszd2lenz00_2110 = 
(2L*BgL_oldzd2buckszd2lenz00_2109); 
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_newzd2buckszd2_2111;
BgL_newzd2buckszd2_2111 = 
make_vector(BgL_newzd2buckszd2lenz00_2110, BNIL); 
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_countz00_2112;
{ /* Llib/weakhash.scm 800 */
 bool_t BgL_test4654z00_12024;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_tmpz00_12025;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_res2342z00_4137;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_aux3410z00_5665;
BgL_aux3410z00_5665 = 
STRUCT_KEY(BgL_tablez00_126); 
if(
SYMBOLP(BgL_aux3410z00_5665))
{ /* Llib/weakhash.scm 800 */
BgL_res2342z00_4137 = BgL_aux3410z00_5665; }  else 
{ 
 obj_t BgL_auxz00_12029;
BgL_auxz00_12029 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(31705L), BGl_string3601z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3410z00_5665); 
FAILURE(BgL_auxz00_12029,BFALSE,BFALSE);} } 
BgL_tmpz00_12025 = BgL_res2342z00_4137; } 
BgL_test4654z00_12024 = 
(BgL_tmpz00_12025==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4654z00_12024)
{ /* Llib/weakhash.scm 800 */
 int BgL_tmpz00_12034;
BgL_tmpz00_12034 = 
(int)(0L); 
BgL_countz00_2112 = 
STRUCT_REF(BgL_tablez00_126, BgL_tmpz00_12034); }  else 
{ /* Llib/weakhash.scm 800 */
BgL_countz00_2112 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_126); } } 
{ /* Llib/weakhash.scm 800 */

{ /* Llib/weakhash.scm 800 */
 obj_t BgL_nmaxz00_2113;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_a1141z00_2116;
{ /* Llib/weakhash.scm 800 */
 bool_t BgL_test4656z00_12038;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_tmpz00_12039;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_res2343z00_4141;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_aux3412z00_5667;
BgL_aux3412z00_5667 = 
STRUCT_KEY(BgL_tablez00_126); 
if(
SYMBOLP(BgL_aux3412z00_5667))
{ /* Llib/weakhash.scm 800 */
BgL_res2343z00_4141 = BgL_aux3412z00_5667; }  else 
{ 
 obj_t BgL_auxz00_12043;
BgL_auxz00_12043 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(31705L), BGl_string3601z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3412z00_5667); 
FAILURE(BgL_auxz00_12043,BFALSE,BFALSE);} } 
BgL_tmpz00_12039 = BgL_res2343z00_4141; } 
BgL_test4656z00_12038 = 
(BgL_tmpz00_12039==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4656z00_12038)
{ /* Llib/weakhash.scm 800 */
 int BgL_tmpz00_12048;
BgL_tmpz00_12048 = 
(int)(1L); 
BgL_a1141z00_2116 = 
STRUCT_REF(BgL_tablez00_126, BgL_tmpz00_12048); }  else 
{ /* Llib/weakhash.scm 800 */
BgL_a1141z00_2116 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_126); } } 
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_b1142z00_2117;
{ /* Llib/weakhash.scm 800 */
 bool_t BgL_test4658z00_12052;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_tmpz00_12053;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_res2344z00_4145;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_aux3414z00_5669;
BgL_aux3414z00_5669 = 
STRUCT_KEY(BgL_tablez00_126); 
if(
SYMBOLP(BgL_aux3414z00_5669))
{ /* Llib/weakhash.scm 800 */
BgL_res2344z00_4145 = BgL_aux3414z00_5669; }  else 
{ 
 obj_t BgL_auxz00_12057;
BgL_auxz00_12057 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(31705L), BGl_string3601z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3414z00_5669); 
FAILURE(BgL_auxz00_12057,BFALSE,BFALSE);} } 
BgL_tmpz00_12053 = BgL_res2344z00_4145; } 
BgL_test4658z00_12052 = 
(BgL_tmpz00_12053==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4658z00_12052)
{ /* Llib/weakhash.scm 800 */
 int BgL_tmpz00_12062;
BgL_tmpz00_12062 = 
(int)(7L); 
BgL_b1142z00_2117 = 
STRUCT_REF(BgL_tablez00_126, BgL_tmpz00_12062); }  else 
{ /* Llib/weakhash.scm 800 */
BgL_b1142z00_2117 = 
BGl_errorz00zz__errorz00(BGl_string3433z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_126); } } 
{ /* Llib/weakhash.scm 800 */

{ /* Llib/weakhash.scm 800 */
 bool_t BgL_test4660z00_12066;
if(
INTEGERP(BgL_a1141z00_2116))
{ /* Llib/weakhash.scm 800 */
BgL_test4660z00_12066 = 
INTEGERP(BgL_b1142z00_2117)
; }  else 
{ /* Llib/weakhash.scm 800 */
BgL_test4660z00_12066 = ((bool_t)0)
; } 
if(BgL_test4660z00_12066)
{ /* Llib/weakhash.scm 800 */
BgL_nmaxz00_2113 = 
BINT(
(
(long)CINT(BgL_a1141z00_2116)*
(long)CINT(BgL_b1142z00_2117))); }  else 
{ /* Llib/weakhash.scm 800 */
BgL_nmaxz00_2113 = 
BGl_2za2za2zz__r4_numbers_6_5z00(BgL_a1141z00_2116, BgL_b1142z00_2117); } } } } } 
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_arg1838z00_2114;
if(
REALP(BgL_nmaxz00_2113))
{ /* Llib/weakhash.scm 800 */
BgL_arg1838z00_2114 = 
BINT(
(long)(
REAL_TO_DOUBLE(BgL_nmaxz00_2113))); }  else 
{ /* Llib/weakhash.scm 800 */
BgL_arg1838z00_2114 = BgL_nmaxz00_2113; } 
{ /* Llib/weakhash.scm 800 */
 bool_t BgL_test4663z00_12080;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_tmpz00_12081;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_res2345z00_4152;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_aux3416z00_5671;
BgL_aux3416z00_5671 = 
STRUCT_KEY(BgL_tablez00_126); 
if(
SYMBOLP(BgL_aux3416z00_5671))
{ /* Llib/weakhash.scm 800 */
BgL_res2345z00_4152 = BgL_aux3416z00_5671; }  else 
{ 
 obj_t BgL_auxz00_12085;
BgL_auxz00_12085 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(31705L), BGl_string3601z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3416z00_5671); 
FAILURE(BgL_auxz00_12085,BFALSE,BFALSE);} } 
BgL_tmpz00_12081 = BgL_res2345z00_4152; } 
BgL_test4663z00_12080 = 
(BgL_tmpz00_12081==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4663z00_12080)
{ /* Llib/weakhash.scm 800 */
 int BgL_tmpz00_12090;
BgL_tmpz00_12090 = 
(int)(1L); 
STRUCT_SET(BgL_tablez00_126, BgL_tmpz00_12090, BgL_arg1838z00_2114); }  else 
{ /* Llib/weakhash.scm 800 */
BGl_errorz00zz__errorz00(BGl_string3452z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_126); } } } } 
{ /* Llib/weakhash.scm 800 */
 bool_t BgL_test4665z00_12094;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_tmpz00_12095;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_res2346z00_4156;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_aux3418z00_5673;
BgL_aux3418z00_5673 = 
STRUCT_KEY(BgL_tablez00_126); 
if(
SYMBOLP(BgL_aux3418z00_5673))
{ /* Llib/weakhash.scm 800 */
BgL_res2346z00_4156 = BgL_aux3418z00_5673; }  else 
{ 
 obj_t BgL_auxz00_12099;
BgL_auxz00_12099 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(31705L), BGl_string3601z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3418z00_5673); 
FAILURE(BgL_auxz00_12099,BFALSE,BFALSE);} } 
BgL_tmpz00_12095 = BgL_res2346z00_4156; } 
BgL_test4665z00_12094 = 
(BgL_tmpz00_12095==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4665z00_12094)
{ /* Llib/weakhash.scm 800 */
 int BgL_tmpz00_12104;
BgL_tmpz00_12104 = 
(int)(2L); 
STRUCT_SET(BgL_tablez00_126, BgL_tmpz00_12104, BgL_newzd2buckszd2_2111); }  else 
{ /* Llib/weakhash.scm 800 */
BGl_errorz00zz__errorz00(BGl_string3452z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_126); } } 
{ 
 long BgL_iz00_2120;
BgL_iz00_2120 = 0L; 
BgL_zc3z04anonymousza31841ze3z87_2121:
if(
(BgL_iz00_2120<BgL_oldzd2buckszd2lenz00_2109))
{ /* Llib/weakhash.scm 800 */
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_g1145z00_2123;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_vectorz00_4159;
if(
VECTORP(BgL_oldzd2buckszd2_2108))
{ /* Llib/weakhash.scm 800 */
BgL_vectorz00_4159 = BgL_oldzd2buckszd2_2108; }  else 
{ 
 obj_t BgL_auxz00_12112;
BgL_auxz00_12112 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(31705L), BGl_string3456z00zz__weakhashz00, BGl_string3447z00zz__weakhashz00, BgL_oldzd2buckszd2_2108); 
FAILURE(BgL_auxz00_12112,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 800 */
 bool_t BgL_test4669z00_12116;
{ /* Llib/weakhash.scm 800 */
 long BgL_tmpz00_12117;
BgL_tmpz00_12117 = 
VECTOR_LENGTH(BgL_vectorz00_4159); 
BgL_test4669z00_12116 = 
BOUND_CHECK(BgL_iz00_2120, BgL_tmpz00_12117); } 
if(BgL_test4669z00_12116)
{ /* Llib/weakhash.scm 800 */
BgL_g1145z00_2123 = 
VECTOR_REF(BgL_vectorz00_4159,BgL_iz00_2120); }  else 
{ 
 obj_t BgL_auxz00_12121;
BgL_auxz00_12121 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(31705L), BGl_string3448z00zz__weakhashz00, BgL_vectorz00_4159, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_4159)), 
(int)(BgL_iz00_2120)); 
FAILURE(BgL_auxz00_12121,BFALSE,BFALSE);} } } 
{ 
 obj_t BgL_l1143z00_2125;
BgL_l1143z00_2125 = BgL_g1145z00_2123; 
BgL_zc3z04anonymousza31843ze3z87_2126:
if(
PAIRP(BgL_l1143z00_2125))
{ /* Llib/weakhash.scm 800 */
{ /* Llib/weakhash.scm 860 */
 obj_t BgL_cellz00_2128;
BgL_cellz00_2128 = 
CAR(BgL_l1143z00_2125); 
{ /* Llib/weakhash.scm 860 */
 long BgL_hz00_2129;
{ /* Llib/weakhash.scm 862 */
 long BgL_arg1848z00_2132;
{ /* Llib/weakhash.scm 862 */
 obj_t BgL_arg1850z00_2133;
{ /* Llib/weakhash.scm 862 */
 obj_t BgL_pairz00_4162;
if(
PAIRP(BgL_cellz00_2128))
{ /* Llib/weakhash.scm 862 */
BgL_pairz00_4162 = BgL_cellz00_2128; }  else 
{ 
 obj_t BgL_auxz00_12133;
BgL_auxz00_12133 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(33754L), BGl_string3605z00zz__weakhashz00, BGl_string3450z00zz__weakhashz00, BgL_cellz00_2128); 
FAILURE(BgL_auxz00_12133,BFALSE,BFALSE);} 
BgL_arg1850z00_2133 = 
CAR(BgL_pairz00_4162); } 
BgL_arg1848z00_2132 = 
BGl_tablezd2getzd2hashnumberz00zz__weakhashz00(BgL_tablez00_126, BgL_arg1850z00_2133); } 
{ /* Llib/weakhash.scm 860 */
 long BgL_n1z00_4163; long BgL_n2z00_4164;
BgL_n1z00_4163 = BgL_arg1848z00_2132; 
BgL_n2z00_4164 = BgL_newzd2buckszd2lenz00_2110; 
{ /* Llib/weakhash.scm 860 */
 bool_t BgL_test4672z00_12139;
{ /* Llib/weakhash.scm 860 */
 long BgL_arg2034z00_4166;
BgL_arg2034z00_4166 = 
(((BgL_n1z00_4163) | (BgL_n2z00_4164)) & -2147483648); 
BgL_test4672z00_12139 = 
(BgL_arg2034z00_4166==0L); } 
if(BgL_test4672z00_12139)
{ /* Llib/weakhash.scm 860 */
 int32_t BgL_arg2031z00_4167;
{ /* Llib/weakhash.scm 860 */
 int32_t BgL_arg2032z00_4168; int32_t BgL_arg2033z00_4169;
BgL_arg2032z00_4168 = 
(int32_t)(BgL_n1z00_4163); 
BgL_arg2033z00_4169 = 
(int32_t)(BgL_n2z00_4164); 
BgL_arg2031z00_4167 = 
(BgL_arg2032z00_4168%BgL_arg2033z00_4169); } 
{ /* Llib/weakhash.scm 860 */
 long BgL_arg2142z00_4174;
BgL_arg2142z00_4174 = 
(long)(BgL_arg2031z00_4167); 
BgL_hz00_2129 = 
(long)(BgL_arg2142z00_4174); } }  else 
{ /* Llib/weakhash.scm 860 */
BgL_hz00_2129 = 
(BgL_n1z00_4163%BgL_n2z00_4164); } } } } 
{ /* Llib/weakhash.scm 868 */
 obj_t BgL_arg1845z00_2130;
{ /* Llib/weakhash.scm 868 */
 obj_t BgL_arg1846z00_2131;
{ /* Llib/weakhash.scm 868 */
 bool_t BgL_test4673z00_12148;
{ /* Llib/weakhash.scm 868 */
 long BgL_tmpz00_12149;
BgL_tmpz00_12149 = 
VECTOR_LENGTH(BgL_newzd2buckszd2_2111); 
BgL_test4673z00_12148 = 
BOUND_CHECK(BgL_hz00_2129, BgL_tmpz00_12149); } 
if(BgL_test4673z00_12148)
{ /* Llib/weakhash.scm 868 */
BgL_arg1846z00_2131 = 
VECTOR_REF(BgL_newzd2buckszd2_2111,BgL_hz00_2129); }  else 
{ 
 obj_t BgL_auxz00_12153;
BgL_auxz00_12153 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(33856L), BGl_string3448z00zz__weakhashz00, BgL_newzd2buckszd2_2111, 
(int)(
VECTOR_LENGTH(BgL_newzd2buckszd2_2111)), 
(int)(BgL_hz00_2129)); 
FAILURE(BgL_auxz00_12153,BFALSE,BFALSE);} } 
BgL_arg1845z00_2130 = 
MAKE_YOUNG_PAIR(BgL_cellz00_2128, BgL_arg1846z00_2131); } 
{ /* Llib/weakhash.scm 864 */
 bool_t BgL_test4674z00_12161;
{ /* Llib/weakhash.scm 864 */
 long BgL_tmpz00_12162;
BgL_tmpz00_12162 = 
VECTOR_LENGTH(BgL_newzd2buckszd2_2111); 
BgL_test4674z00_12161 = 
BOUND_CHECK(BgL_hz00_2129, BgL_tmpz00_12162); } 
if(BgL_test4674z00_12161)
{ /* Llib/weakhash.scm 864 */
VECTOR_SET(BgL_newzd2buckszd2_2111,BgL_hz00_2129,BgL_arg1845z00_2130); }  else 
{ 
 obj_t BgL_auxz00_12166;
BgL_auxz00_12166 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(33798L), BGl_string3453z00zz__weakhashz00, BgL_newzd2buckszd2_2111, 
(int)(
VECTOR_LENGTH(BgL_newzd2buckszd2_2111)), 
(int)(BgL_hz00_2129)); 
FAILURE(BgL_auxz00_12166,BFALSE,BFALSE);} } } } } 
{ 
 obj_t BgL_l1143z00_12173;
BgL_l1143z00_12173 = 
CDR(BgL_l1143z00_2125); 
BgL_l1143z00_2125 = BgL_l1143z00_12173; 
goto BgL_zc3z04anonymousza31843ze3z87_2126;} }  else 
{ /* Llib/weakhash.scm 800 */
if(
NULLP(BgL_l1143z00_2125))
{ /* Llib/weakhash.scm 800 */BTRUE; }  else 
{ /* Llib/weakhash.scm 800 */
BGl_bigloozd2typezd2errorz00zz__errorz00(BGl_string3467z00zz__weakhashz00, BGl_string3468z00zz__weakhashz00, BgL_l1143z00_2125); } } } } 
{ 
 long BgL_iz00_12178;
BgL_iz00_12178 = 
(BgL_iz00_2120+1L); 
BgL_iz00_2120 = BgL_iz00_12178; 
goto BgL_zc3z04anonymousza31841ze3z87_2121;} }  else 
{ /* Llib/weakhash.scm 800 */((bool_t)0); } } 
{ /* Llib/weakhash.scm 800 */
 bool_t BgL_test4676z00_12180;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_tmpz00_12181;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_res2347z00_4185;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_aux3424z00_5679;
BgL_aux3424z00_5679 = 
STRUCT_KEY(BgL_tablez00_126); 
if(
SYMBOLP(BgL_aux3424z00_5679))
{ /* Llib/weakhash.scm 800 */
BgL_res2347z00_4185 = BgL_aux3424z00_5679; }  else 
{ 
 obj_t BgL_auxz00_12185;
BgL_auxz00_12185 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(31705L), BGl_string3601z00zz__weakhashz00, BGl_string3430z00zz__weakhashz00, BgL_aux3424z00_5679); 
FAILURE(BgL_auxz00_12185,BFALSE,BFALSE);} } 
BgL_tmpz00_12181 = BgL_res2347z00_4185; } 
BgL_test4676z00_12180 = 
(BgL_tmpz00_12181==BGl_symbol3431z00zz__weakhashz00); } 
if(BgL_test4676z00_12180)
{ /* Llib/weakhash.scm 800 */
 int BgL_tmpz00_12190;
BgL_tmpz00_12190 = 
(int)(0L); 
return 
STRUCT_SET(BgL_tablez00_126, BgL_tmpz00_12190, BgL_countz00_2112);}  else 
{ /* Llib/weakhash.scm 800 */
return 
BGl_errorz00zz__errorz00(BGl_string3452z00zz__weakhashz00, BGl_string3432z00zz__weakhashz00, BgL_tablez00_126);} } } } } } } } } } } } 

}



/* weak-hashtable-expand! */
BGL_EXPORTED_DEF obj_t BGl_weakzd2hashtablezd2expandz12z12zz__weakhashz00(obj_t BgL_tablez00_127)
{
{ /* Llib/weakhash.scm 876 */
if(
BGl_hashtablezd2weakzd2keyszf3zf3zz__hashz00(BgL_tablez00_127))
{ /* Llib/weakhash.scm 877 */
BGL_TAIL return 
BGl_weakzd2keyszd2hashtablezd2expandz12zc0zz__weakhashz00(BgL_tablez00_127);}  else 
{ /* Llib/weakhash.scm 877 */
BGL_TAIL return 
BGl_weakzd2oldzd2hashtablezd2expandz12zc0zz__weakhashz00(BgL_tablez00_127);} } 

}



/* &weak-hashtable-expand! */
obj_t BGl_z62weakzd2hashtablezd2expandz12z70zz__weakhashz00(obj_t BgL_envz00_4569, obj_t BgL_tablez00_4570)
{
{ /* Llib/weakhash.scm 876 */
{ /* Llib/weakhash.scm 877 */
 obj_t BgL_auxz00_12198;
if(
STRUCTP(BgL_tablez00_4570))
{ /* Llib/weakhash.scm 877 */
BgL_auxz00_12198 = BgL_tablez00_4570
; }  else 
{ 
 obj_t BgL_auxz00_12201;
BgL_auxz00_12201 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3445z00zz__weakhashz00, 
BINT(34257L), BGl_string3606z00zz__weakhashz00, BGl_string3487z00zz__weakhashz00, BgL_tablez00_4570); 
FAILURE(BgL_auxz00_12201,BFALSE,BFALSE);} 
return 
BGl_weakzd2hashtablezd2expandz12z12zz__weakhashz00(BgL_auxz00_12198);} } 

}



/* object-init */
obj_t BGl_objectzd2initzd2zz__weakhashz00(void)
{
{ /* Llib/weakhash.scm 18 */
return BUNSPEC;} 

}



/* generic-init */
obj_t BGl_genericzd2initzd2zz__weakhashz00(void)
{
{ /* Llib/weakhash.scm 18 */
return BUNSPEC;} 

}



/* method-init */
obj_t BGl_methodzd2initzd2zz__weakhashz00(void)
{
{ /* Llib/weakhash.scm 18 */
return BUNSPEC;} 

}



/* imported-modules-init */
obj_t BGl_importedzd2moduleszd2initz00zz__weakhashz00(void)
{
{ /* Llib/weakhash.scm 18 */
BGl_modulezd2initializa7ationz75zz__errorz00(88804785L, 
BSTRING_TO_STRING(BGl_string3607z00zz__weakhashz00)); 
BGl_modulezd2initializa7ationz75zz__r4_symbols_6_4z00(460262918L, 
BSTRING_TO_STRING(BGl_string3607z00zz__weakhashz00)); 
BGl_modulezd2initializa7ationz75zz__paramz00(453939141L, 
BSTRING_TO_STRING(BGl_string3607z00zz__weakhashz00)); 
BGl_modulezd2initializa7ationz75zz__hashz00(482391669L, 
BSTRING_TO_STRING(BGl_string3607z00zz__weakhashz00)); 
BGl_modulezd2initializa7ationz75zz__bexitz00(43287392L, 
BSTRING_TO_STRING(BGl_string3607z00zz__weakhashz00)); 
BGl_modulezd2initializa7ationz75zz__objectz00(475449627L, 
BSTRING_TO_STRING(BGl_string3607z00zz__weakhashz00)); 
return 
BGl_modulezd2initializa7ationz75zz__threadz00(149516032L, 
BSTRING_TO_STRING(BGl_string3607z00zz__weakhashz00));} 

}

#ifdef __cplusplus
}
#endif
