/*===========================================================================*/
/*   (Llib/weakhash.scm)                                                     */
/*   Bigloo (4.7a)                                                           */
/*   Inria -- Sophia Antipolis (c)       Thu Feb 19 09:11:58 AM CET 2026     */
/*===========================================================================*/
/* COMPILATION: (/home/serrano/prgm/project/bigloo/4.7a/bin/bigloo -srfi bigloo-safe -O3 -fcfa-arithmetic -q -lib-dir /home/serrano/prgm/project/bigloo/4.7a/lib/bigloo/4.7a +rm -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_symbol3530z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_symbol3532z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_symbol3451z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_symbol3454z00zz__weakhashz00 = BUNSPEC;
BGL_EXPORTED_DECL obj_t BGl_weakzd2hashtablezd2putz12z12zz__weakhashz00(obj_t, obj_t, obj_t);
static obj_t BGl_symbol3538z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_list3508z00zz__weakhashz00 = BUNSPEC;
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_z62zc3z04anonymousza31749ze3ze5zz__weakhashz00(obj_t, obj_t, 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_symbol3543z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_z62weakzd2hashtablezd2keyzd2listzb0zz__weakhashz00(obj_t, obj_t);
static obj_t BGl_list3515z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_z62zc3z04anonymousza31524ze3ze5zz__weakhashz00(obj_t, obj_t, obj_t, obj_t);
static obj_t BGl_requirezd2initializa7ationz75zz__weakhashz00 = BUNSPEC;
static obj_t BGl_symbol3551z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_list3600z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_symbol3472z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_symbol3474z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_symbol3476z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_traversezd2bucketszd2zz__weakhashz00(obj_t, obj_t, long, obj_t);
static obj_t BGl_list3446z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_list3529z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_z62zc3z04anonymousza31509ze3ze5zz__weakhashz00(obj_t, obj_t, obj_t);
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_symbol3560z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_symbol3563z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_symbol3483z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_symbol3565z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_symbol3486z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_symbol3488z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_list3537z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_removez00zz__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_symbol3492z00zz__weakhashz00 = BUNSPEC;
static bool_t BGl_weakzd2oldzd2hashtablezd2removez12zc0zz__weakhashz00(obj_t, obj_t);
extern bool_t BGl_hashtablezd2weakzd2keyszf3zf3zz__hashz00(obj_t);
static obj_t BGl_symbol3575z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_list3542z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_symbol3494z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_symbol3577z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_toplevelzd2initzd2zz__weakhashz00(void);
static obj_t BGl_z62zc3z04anonymousza31470ze3ze5zz__weakhashz00(obj_t, obj_t, obj_t);
static obj_t BGl_z62zc3z04anonymousza31462ze3ze5zz__weakhashz00(obj_t, obj_t, obj_t);
static obj_t BGl_weakzd2oldzd2hashtablezd2putz12zc0zz__weakhashz00(obj_t, obj_t, obj_t);
static obj_t BGl_keepgoingz00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_symbol3580z00zz__weakhashz00 = BUNSPEC;
extern void bgl_weakptr_ref_set(obj_t, obj_t);
static obj_t BGl_symbol3583z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_list3550z00zz__weakhashz00 = BUNSPEC;
extern obj_t BGl_formatz00zz__r4_output_6_10_3z00(obj_t, obj_t);
static obj_t BGl_list3471z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_symbol3588z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_list3556z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_z62zc3z04anonymousza31544ze3ze5zz__weakhashz00(obj_t, obj_t, obj_t, obj_t);
static obj_t BGl_list3559z00zz__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_importedzd2moduleszd2initz00zz__weakhashz00(void);
static obj_t BGl_list3562z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_list3482z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_symbol3598z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_gczd2rootszd2initz00zz__weakhashz00(void);
static obj_t BGl_list3485z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_z62zc3z04anonymousza31472ze3ze5zz__weakhashz00(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);
extern obj_t bgl_bignum_mul(obj_t, obj_t);
static obj_t BGl_list3570z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_list3490z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_list3491z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_list3574z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_z62zc3z04anonymousza31481ze3ze5zz__weakhashz00(obj_t, obj_t);
static obj_t BGl_z62zc3z04anonymousza31716ze3ze5zz__weakhashz00(obj_t, obj_t, obj_t, obj_t);
static obj_t BGl_list3579z00zz__weakhashz00 = BUNSPEC;
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_list3582z00zz__weakhashz00 = BUNSPEC;
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_list3587z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_z62zc3z04anonymousza31474ze3ze5zz__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);
BGL_EXPORTED_DECL bool_t BGl_weakzd2hashtablezd2containszf3zf3zz__weakhashz00(obj_t, obj_t);
static obj_t BGl_list3597z00zz__weakhashz00 = BUNSPEC;
static bool_t BGl_weakzd2oldzd2hashtablezd2containszf3z21zz__weakhashz00(obj_t, obj_t);
extern obj_t bstring_to_symbol(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_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_z62zc3z04anonymousza31647ze3ze5zz__weakhashz00(obj_t, 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_z62zc3z04anonymousza31511ze3ze5zz__weakhashz00(obj_t, obj_t, obj_t);
static obj_t BGl_z62zc3z04anonymousza31503ze3ze5zz__weakhashz00(obj_t, obj_t, obj_t, obj_t);
static obj_t BGl_z62zc3z04anonymousza31397ze3ze5zz__weakhashz00(obj_t, 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_symbol3509z00zz__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_symbol3516z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_symbol3518z00zz__weakhashz00 = BUNSPEC;
extern obj_t bgl_long_to_bignum(long);
extern long BGl_getzd2hashnumberzd2persistentz00zz__hashz00(obj_t);
extern long BGl_getzd2hashnumberzd2zz__hashz00(obj_t);
static obj_t BGl_symbol3601z00zz__weakhashz00 = BUNSPEC;
static obj_t BGl_weakzd2keyszd2hashtablezd2addz12zc0zz__weakhashz00(obj_t, obj_t, obj_t, obj_t, obj_t);
static obj_t BGl_symbol3442z00zz__weakhashz00 = BUNSPEC;
extern bool_t BGl_hashtablezd2weakzd2datazf3zf3zz__hashz00(obj_t);
static obj_t BGl_symbol3447z00zz__weakhashz00 = BUNSPEC;
static bool_t BGl_oldzd2traversezd2hashz00zz__weakhashz00(obj_t, obj_t);
static obj_t BGl_symbol3449z00zz__weakhashz00 = BUNSPEC;
extern obj_t BGl_errorz00zz__errorz00(obj_t, obj_t, obj_t);
extern obj_t BGl_gcz00zz__biglooz00(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;


BGL_DEFINE_STRING(BGl_string3571z00zz__weakhashz00, BgL_bgl_string3571za700za7za7_3619za7, "&weak-hashtable-update!", 23 );
BGL_DEFINE_STRING(BGl_string3572z00zz__weakhashz00, BgL_bgl_string3572za700za7za7_3620za7, "weak-keys-hashtable-add!", 24 );
BGL_DEFINE_STRING(BGl_string3573z00zz__weakhashz00, BgL_bgl_string3573za700za7za7_3621za7, "weak-keys-hashtable-add!:Wrong number of arguments", 50 );
BGL_DEFINE_STRING(BGl_string3493z00zz__weakhashz00, BgL_bgl_string3493za700za7za7_3622za7, "arg1453", 7 );
DEFINE_EXPORT_BGL_PROCEDURE(BGl_weakzd2hashtablezd2filterz12zd2envzc0zz__weakhashz00, BgL_bgl_za762weakza7d2hashta3623z00, BGl_z62weakzd2hashtablezd2filterz12z70zz__weakhashz00, 0L, BUNSPEC, 2);
BGL_DEFINE_STRING(BGl_string3576z00zz__weakhashz00, BgL_bgl_string3576za700za7za7_3624za7, "obj", 3 );
BGL_DEFINE_STRING(BGl_string3495z00zz__weakhashz00, BgL_bgl_string3495za700za7za7_3625za7, "arg1455", 7 );
BGL_DEFINE_STRING(BGl_string3496z00zz__weakhashz00, BgL_bgl_string3496za700za7za7_3626za7, "weak-hashtable->vector", 22 );
BGL_DEFINE_STRING(BGl_string3578z00zz__weakhashz00, BgL_bgl_string3578za700za7za7_3627za7, "init", 4 );
BGL_DEFINE_STRING(BGl_string3497z00zz__weakhashz00, BgL_bgl_string3497za700za7za7_3628za7, "&weak-hashtable->vector", 23 );
BGL_DEFINE_STRING(BGl_string3498z00zz__weakhashz00, BgL_bgl_string3498za700za7za7_3629za7, "struct", 6 );
BGL_DEFINE_STRING(BGl_string3499z00zz__weakhashz00, BgL_bgl_string3499za700za7za7_3630za7, "<@anonymous:1462>", 17 );
BGL_DEFINE_STRING(BGl_string3581z00zz__weakhashz00, BgL_bgl_string3581za700za7za7_3631za7, "arg1691", 7 );
BGL_DEFINE_STRING(BGl_string3584z00zz__weakhashz00, BgL_bgl_string3584za700za7za7_3632za7, "arg1683", 7 );
BGL_DEFINE_STRING(BGl_string3585z00zz__weakhashz00, BgL_bgl_string3585za700za7za7_3633za7, "weak-old-hashtable-add!", 23 );
BGL_DEFINE_STRING(BGl_string3586z00zz__weakhashz00, BgL_bgl_string3586za700za7za7_3634za7, "weak-old-hashtable-add!:Wrong number of arguments", 49 );
BGL_DEFINE_STRING(BGl_string3589z00zz__weakhashz00, BgL_bgl_string3589za700za7za7_3635za7, "arg1712", 7 );
BGL_DEFINE_STRING(BGl_string3591z00zz__weakhashz00, BgL_bgl_string3591za700za7za7_3636za7, "arg1714", 7 );
BGL_DEFINE_STRING(BGl_string3592z00zz__weakhashz00, BgL_bgl_string3592za700za7za7_3637za7, "<@anonymous:1716>", 17 );
BGL_DEFINE_STRING(BGl_string3593z00zz__weakhashz00, BgL_bgl_string3593za700za7za7_3638za7, "<@anonymous:1716>:Wrong number of arguments", 43 );
BGL_DEFINE_STRING(BGl_string3594z00zz__weakhashz00, BgL_bgl_string3594za700za7za7_3639za7, "&weak-hashtable-add!", 20 );
BGL_DEFINE_STRING(BGl_string3595z00zz__weakhashz00, BgL_bgl_string3595za700za7za7_3640za7, "weak-keys-hashtable-remove!", 27 );
BGL_DEFINE_STRING(BGl_string3596z00zz__weakhashz00, BgL_bgl_string3596za700za7za7_3641za7, "weak-keys-hashtable-remove!:Wrong number of arguments", 53 );
BGL_DEFINE_STRING(BGl_string3599z00zz__weakhashz00, BgL_bgl_string3599za700za7za7_3642za7, "arg1744", 7 );
DEFINE_EXPORT_BGL_PROCEDURE(BGl_weakzd2hashtablezd2clearz12zd2envzc0zz__weakhashz00, BgL_bgl_za762weakza7d2hashta3643z00, BGl_z62weakzd2hashtablezd2clearz12z70zz__weakhashz00, 0L, BUNSPEC, 1);
DEFINE_EXPORT_BGL_PROCEDURE(BGl_weakzd2hashtablezd2ze3vectorzd2envz31zz__weakhashz00, BgL_bgl_za762weakza7d2hashta3644z00, BGl_z62weakzd2hashtablezd2ze3vectorz81zz__weakhashz00, 0L, BUNSPEC, 1);
DEFINE_EXPORT_BGL_PROCEDURE(BGl_weakzd2hashtablezd2mapzd2envzd2zz__weakhashz00, BgL_bgl_za762weakza7d2hashta3645z00, BGl_z62weakzd2hashtablezd2mapz62zz__weakhashz00, 0L, BUNSPEC, 2);
DEFINE_EXPORT_BGL_PROCEDURE(BGl_weakzd2hashtablezd2getzd2envzd2zz__weakhashz00, BgL_bgl_za762weakza7d2hashta3646z00, BGl_z62weakzd2hashtablezd2getz62zz__weakhashz00, 0L, BUNSPEC, 2);
DEFINE_EXPORT_BGL_PROCEDURE(BGl_weakzd2hashtablezd2containszf3zd2envz21zz__weakhashz00, BgL_bgl_za762weakza7d2hashta3647z00, BGl_z62weakzd2hashtablezd2containszf3z91zz__weakhashz00, 0L, BUNSPEC, 2);
DEFINE_EXPORT_BGL_PROCEDURE(BGl_weakzd2hashtablezd2expandz12zd2envzc0zz__weakhashz00, BgL_bgl_za762weakza7d2hashta3648z00, BGl_z62weakzd2hashtablezd2expandz12z70zz__weakhashz00, 0L, BUNSPEC, 1);
DEFINE_EXPORT_BGL_PROCEDURE(BGl_weakzd2hashtablezd2ze3listzd2envz31zz__weakhashz00, BgL_bgl_za762weakza7d2hashta3649z00, BGl_z62weakzd2hashtablezd2ze3listz81zz__weakhashz00, 0L, BUNSPEC, 1);
BGL_DEFINE_STRING(BGl_string3500z00zz__weakhashz00, BgL_bgl_string3500za700za7za7_3650za7, "weak-hashtable->list", 20 );
BGL_DEFINE_STRING(BGl_string3501z00zz__weakhashz00, BgL_bgl_string3501za700za7za7_3651za7, "pair-nil", 8 );
BGL_DEFINE_STRING(BGl_string3502z00zz__weakhashz00, BgL_bgl_string3502za700za7za7_3652za7, "&weak-hashtable->list", 21 );
BGL_DEFINE_STRING(BGl_string3503z00zz__weakhashz00, BgL_bgl_string3503za700za7za7_3653za7, "weak-hashtable-key-list", 23 );
BGL_DEFINE_STRING(BGl_string3504z00zz__weakhashz00, BgL_bgl_string3504za700za7za7_3654za7, "&weak-hashtable-key-list", 24 );
BGL_DEFINE_STRING(BGl_string3505z00zz__weakhashz00, BgL_bgl_string3505za700za7za7_3655za7, "weak-hashtable-map", 18 );
BGL_DEFINE_STRING(BGl_string3506z00zz__weakhashz00, BgL_bgl_string3506za700za7za7_3656za7, "&weak-hashtable-map", 19 );
BGL_DEFINE_STRING(BGl_string3507z00zz__weakhashz00, BgL_bgl_string3507za700za7za7_3657za7, "<@anonymous:1474>:Wrong number of arguments", 43 );
DEFINE_EXPORT_BGL_PROCEDURE(BGl_weakzd2hashtablezd2updatez12zd2envzc0zz__weakhashz00, BgL_bgl_za762weakza7d2hashta3658z00, BGl_z62weakzd2hashtablezd2updatez12z70zz__weakhashz00, 0L, BUNSPEC, 4);
BGL_DEFINE_STRING(BGl_string3510z00zz__weakhashz00, BgL_bgl_string3510za700za7za7_3659za7, "val", 3 );
BGL_DEFINE_STRING(BGl_string3511z00zz__weakhashz00, BgL_bgl_string3511za700za7za7_3660za7, "&weak-hashtable-for-each", 24 );
BGL_DEFINE_STRING(BGl_string3512z00zz__weakhashz00, BgL_bgl_string3512za700za7za7_3661za7, "weak-keys-hashtable-filter!", 27 );
BGL_DEFINE_STRING(BGl_string3513z00zz__weakhashz00, BgL_bgl_string3513za700za7za7_3662za7, "<@anonymous:1481>", 17 );
BGL_DEFINE_STRING(BGl_string3514z00zz__weakhashz00, BgL_bgl_string3514za700za7za7_3663za7, "<@anonymous:1481>:Wrong number of arguments", 43 );
BGL_DEFINE_STRING(BGl_string3517z00zz__weakhashz00, BgL_bgl_string3517za700za7za7_3664za7, "arg1492", 7 );
BGL_DEFINE_STRING(BGl_string3519z00zz__weakhashz00, BgL_bgl_string3519za700za7za7_3665za7, "arg1494", 7 );
BGL_DEFINE_STRING(BGl_string3439z00zz__weakhashz00, BgL_bgl_string3439za700za7za7_3666za7, "/tmp/bigloo/runtime/Llib/hash.sch", 33 );
BGL_DEFINE_STRING(BGl_string3520z00zz__weakhashz00, BgL_bgl_string3520za700za7za7_3667za7, "weak-old-hashtable-filter!", 26 );
BGL_DEFINE_STRING(BGl_string3602z00zz__weakhashz00, BgL_bgl_string3602za700za7za7_3668za7, "arg1742", 7 );
BGL_DEFINE_STRING(BGl_string3521z00zz__weakhashz00, BgL_bgl_string3521za700za7za7_3669za7, "<@anonymous:1503>", 17 );
BGL_DEFINE_STRING(BGl_string3440z00zz__weakhashz00, BgL_bgl_string3440za700za7za7_3670za7, "table-get-hashnumber", 20 );
BGL_DEFINE_STRING(BGl_string3603z00zz__weakhashz00, BgL_bgl_string3603za700za7za7_3671za7, "weak-old-hashtable-remove!", 26 );
BGL_DEFINE_STRING(BGl_string3522z00zz__weakhashz00, BgL_bgl_string3522za700za7za7_3672za7, "<@anonymous:1503>:Wrong number of arguments", 43 );
BGL_DEFINE_STRING(BGl_string3441z00zz__weakhashz00, BgL_bgl_string3441za700za7za7_3673za7, "symbol", 6 );
BGL_DEFINE_STRING(BGl_string3604z00zz__weakhashz00, BgL_bgl_string3604za700za7za7_3674za7, "<@anonymous:1749>", 17 );
BGL_DEFINE_STRING(BGl_string3523z00zz__weakhashz00, BgL_bgl_string3523za700za7za7_3675za7, "&weak-hashtable-filter!", 23 );
BGL_DEFINE_STRING(BGl_string3605z00zz__weakhashz00, BgL_bgl_string3605za700za7za7_3676za7, "<@anonymous:1749>:Wrong number of arguments", 43 );
BGL_DEFINE_STRING(BGl_string3443z00zz__weakhashz00, BgL_bgl_string3443za700za7za7_3677za7, "%hashtable", 10 );
BGL_DEFINE_STRING(BGl_string3606z00zz__weakhashz00, BgL_bgl_string3606za700za7za7_3678za7, "&weak-hashtable-remove!", 23 );
BGL_DEFINE_STRING(BGl_string3444z00zz__weakhashz00, BgL_bgl_string3444za700za7za7_3679za7, "struct-ref:not an instance of", 29 );
BGL_DEFINE_STRING(BGl_string3607z00zz__weakhashz00, BgL_bgl_string3607za700za7za7_3680za7, "weak-keys-hashtable-expand!", 27 );
BGL_DEFINE_STRING(BGl_string3526z00zz__weakhashz00, BgL_bgl_string3526za700za7za7_3681za7, "&weak-hashtable-clear!", 22 );
BGL_DEFINE_STRING(BGl_string3445z00zz__weakhashz00, BgL_bgl_string3445za700za7za7_3682za7, "table-get-hashnumber:Wrong number of arguments", 46 );
BGL_DEFINE_STRING(BGl_string3608z00zz__weakhashz00, BgL_bgl_string3608za700za7za7_3683za7, "<@anonymous:1759>", 17 );
BGL_DEFINE_STRING(BGl_string3527z00zz__weakhashz00, BgL_bgl_string3527za700za7za7_3684za7, "weak-keys-hashtable-contains?", 29 );
BGL_DEFINE_STRING(BGl_string3609z00zz__weakhashz00, BgL_bgl_string3609za700za7za7_3685za7, "<@anonymous:1775>", 17 );
BGL_DEFINE_STRING(BGl_string3528z00zz__weakhashz00, BgL_bgl_string3528za700za7za7_3686za7, "loop:Wrong number of arguments", 30 );
DEFINE_EXPORT_BGL_PROCEDURE(BGl_weakzd2hashtablezd2forzd2eachzd2envz00zz__weakhashz00, BgL_bgl_za762weakza7d2hashta3687z00, BGl_z62weakzd2hashtablezd2forzd2eachzb0zz__weakhashz00, 0L, BUNSPEC, 2);
BGL_DEFINE_STRING(BGl_string3448z00zz__weakhashz00, BgL_bgl_string3448za700za7za7_3688za7, "funcall", 7 );
BGL_DEFINE_STRING(BGl_string3610z00zz__weakhashz00, BgL_bgl_string3610za700za7za7_3689za7, "Hashtable too large (new-len=~a/~a, size=~a)", 44 );
BGL_DEFINE_STRING(BGl_string3611z00zz__weakhashz00, BgL_bgl_string3611za700za7za7_3690za7, "hashtable-put!", 14 );
DEFINE_STATIC_BGL_PROCEDURE(BGl_proc3524z00zz__weakhashz00, BgL_bgl_za762za7c3za704anonymo3691za7, BGl_z62zc3z04anonymousza31509ze3ze5zz__weakhashz00, 0L, BUNSPEC, 2);
BGL_DEFINE_STRING(BGl_string3612z00zz__weakhashz00, BgL_bgl_string3612za700za7za7_3692za7, "weak-old-hashtable-expand!", 26 );
BGL_DEFINE_STRING(BGl_string3531z00zz__weakhashz00, BgL_bgl_string3531za700za7za7_3693za7, "eqt", 3 );
DEFINE_STATIC_BGL_PROCEDURE(BGl_proc3525z00zz__weakhashz00, BgL_bgl_za762za7c3za704anonymo3694za7, BGl_z62zc3z04anonymousza31511ze3ze5zz__weakhashz00, 0L, BUNSPEC, 2);
BGL_DEFINE_STRING(BGl_string3450z00zz__weakhashz00, BgL_bgl_string3450za700za7za7_3695za7, "hashn", 5 );
BGL_DEFINE_STRING(BGl_string3613z00zz__weakhashz00, BgL_bgl_string3613za700za7za7_3696za7, "<@anonymous:1794>", 17 );
BGL_DEFINE_STRING(BGl_string3614z00zz__weakhashz00, BgL_bgl_string3614za700za7za7_3697za7, "<@anonymous:1812>", 17 );
BGL_DEFINE_STRING(BGl_string3533z00zz__weakhashz00, BgL_bgl_string3533za700za7za7_3698za7, "arg1520", 7 );
BGL_DEFINE_STRING(BGl_string3452z00zz__weakhashz00, BgL_bgl_string3452za700za7za7_3699za7, "key", 3 );
BGL_DEFINE_STRING(BGl_string3615z00zz__weakhashz00, BgL_bgl_string3615za700za7za7_3700za7, "<@anonymous:1829>", 17 );
BGL_DEFINE_STRING(BGl_string3534z00zz__weakhashz00, BgL_bgl_string3534za700za7za7_3701za7, "weak-old-hashtable-contains?", 28 );
BGL_DEFINE_STRING(BGl_string3453z00zz__weakhashz00, BgL_bgl_string3453za700za7za7_3702za7, "bint", 4 );
BGL_DEFINE_STRING(BGl_string3616z00zz__weakhashz00, BgL_bgl_string3616za700za7za7_3703za7, "<@anonymous:1845>", 17 );
BGL_DEFINE_STRING(BGl_string3535z00zz__weakhashz00, BgL_bgl_string3535za700za7za7_3704za7, "<@anonymous:1524>", 17 );
BGL_DEFINE_STRING(BGl_string3617z00zz__weakhashz00, BgL_bgl_string3617za700za7za7_3705za7, "&weak-hashtable-expand!", 23 );
BGL_DEFINE_STRING(BGl_string3536z00zz__weakhashz00, BgL_bgl_string3536za700za7za7_3706za7, "<@anonymous:1524>:Wrong number of arguments", 43 );
BGL_DEFINE_STRING(BGl_string3455z00zz__weakhashz00, BgL_bgl_string3455za700za7za7_3707za7, "persistent", 10 );
BGL_DEFINE_STRING(BGl_string3618z00zz__weakhashz00, BgL_bgl_string3618za700za7za7_3708za7, "__weakhash", 10 );
BGL_DEFINE_STRING(BGl_string3456z00zz__weakhashz00, BgL_bgl_string3456za700za7za7_3709za7, "/tmp/bigloo/runtime/Llib/weakhash.scm", 37 );
BGL_DEFINE_STRING(BGl_string3457z00zz__weakhashz00, BgL_bgl_string3457za700za7za7_3710za7, "traverse-buckets", 16 );
BGL_DEFINE_STRING(BGl_string3539z00zz__weakhashz00, BgL_bgl_string3539za700za7za7_3711za7, "bkey", 4 );
BGL_DEFINE_STRING(BGl_string3458z00zz__weakhashz00, BgL_bgl_string3458za700za7za7_3712za7, "vector", 6 );
BGL_DEFINE_STRING(BGl_string3459z00zz__weakhashz00, BgL_bgl_string3459za700za7za7_3713za7, "vector-ref", 10 );
BGL_DEFINE_STRING(BGl_string3540z00zz__weakhashz00, BgL_bgl_string3540za700za7za7_3714za7, "&weak-hashtable-contains?", 25 );
BGL_DEFINE_STRING(BGl_string3541z00zz__weakhashz00, BgL_bgl_string3541za700za7za7_3715za7, "weak-keys-hashtable-get", 23 );
BGL_DEFINE_STRING(BGl_string3460z00zz__weakhashz00, BgL_bgl_string3460za700za7za7_3716za7, "liip", 4 );
BGL_DEFINE_STRING(BGl_string3461z00zz__weakhashz00, BgL_bgl_string3461za700za7za7_3717za7, "pair", 4 );
BGL_DEFINE_STRING(BGl_string3462z00zz__weakhashz00, BgL_bgl_string3462za700za7za7_3718za7, "weakptr", 7 );
BGL_DEFINE_STRING(BGl_string3544z00zz__weakhashz00, BgL_bgl_string3544za700za7za7_3719za7, "arg1540", 7 );
BGL_DEFINE_STRING(BGl_string3463z00zz__weakhashz00, BgL_bgl_string3463za700za7za7_3720za7, "struct-set!:not an instance of", 30 );
BGL_DEFINE_STRING(BGl_string3545z00zz__weakhashz00, BgL_bgl_string3545za700za7za7_3721za7, "weak-old-hashtable-get", 22 );
BGL_DEFINE_STRING(BGl_string3464z00zz__weakhashz00, BgL_bgl_string3464za700za7za7_3722za7, "vector-set!", 11 );
BGL_DEFINE_STRING(BGl_string3546z00zz__weakhashz00, BgL_bgl_string3546za700za7za7_3723za7, "<@anonymous:1544>", 17 );
BGL_DEFINE_STRING(BGl_string3547z00zz__weakhashz00, BgL_bgl_string3547za700za7za7_3724za7, "<@anonymous:1544>:Wrong number of arguments", 43 );
BGL_DEFINE_STRING(BGl_string3466z00zz__weakhashz00, BgL_bgl_string3466za700za7za7_3725za7, "keys-traverse-hash", 18 );
BGL_DEFINE_STRING(BGl_string3548z00zz__weakhashz00, BgL_bgl_string3548za700za7za7_3726za7, "&weak-hashtable-get", 19 );
BGL_DEFINE_STRING(BGl_string3467z00zz__weakhashz00, BgL_bgl_string3467za700za7za7_3727za7, "loop", 4 );
BGL_DEFINE_STRING(BGl_string3549z00zz__weakhashz00, BgL_bgl_string3549za700za7za7_3728za7, "weak-keys-hashtable-put!", 24 );
BGL_DEFINE_STRING(BGl_string3468z00zz__weakhashz00, BgL_bgl_string3468za700za7za7_3729za7, "<@anonymous:1400>", 17 );
BGL_DEFINE_STRING(BGl_string3469z00zz__weakhashz00, BgL_bgl_string3469za700za7za7_3730za7, "procedure", 9 );
BGL_DEFINE_STRING(BGl_string3470z00zz__weakhashz00, BgL_bgl_string3470za700za7za7_3731za7, "<@anonymous:1400>:Wrong number of arguments", 43 );
BGL_DEFINE_STRING(BGl_string3552z00zz__weakhashz00, BgL_bgl_string3552za700za7za7_3732za7, "arg1578", 7 );
DEFINE_STATIC_BGL_PROCEDURE(BGl_proc3465z00zz__weakhashz00, BgL_bgl_za762za7c3za704anonymo3733za7, BGl_z62zc3z04anonymousza31397ze3ze5zz__weakhashz00, 0L, BUNSPEC, 2);
BGL_DEFINE_STRING(BGl_string3553z00zz__weakhashz00, BgL_bgl_string3553za700za7za7_3734za7, "weak-old-hashtable-put!", 23 );
BGL_DEFINE_STRING(BGl_string3554z00zz__weakhashz00, BgL_bgl_string3554za700za7za7_3735za7, "<@anonymous:1598>", 17 );
BGL_DEFINE_STRING(BGl_string3473z00zz__weakhashz00, BgL_bgl_string3473za700za7za7_3736za7, "fun", 3 );
BGL_DEFINE_STRING(BGl_string3555z00zz__weakhashz00, BgL_bgl_string3555za700za7za7_3737za7, "<@anonymous:1598>:Wrong number of arguments", 43 );
BGL_DEFINE_STRING(BGl_string3475z00zz__weakhashz00, BgL_bgl_string3475za700za7za7_3738za7, "arg1404", 7 );
BGL_DEFINE_STRING(BGl_string3557z00zz__weakhashz00, BgL_bgl_string3557za700za7za7_3739za7, "&weak-hashtable-put!", 20 );
BGL_DEFINE_STRING(BGl_string3558z00zz__weakhashz00, BgL_bgl_string3558za700za7za7_3740za7, "weak-keys-hashtable-update!", 27 );
BGL_DEFINE_STRING(BGl_string3477z00zz__weakhashz00, BgL_bgl_string3477za700za7za7_3741za7, "arg1405", 7 );
BGL_DEFINE_STRING(BGl_string3478z00zz__weakhashz00, BgL_bgl_string3478za700za7za7_3742za7, "for-each", 8 );
BGL_DEFINE_STRING(BGl_string3479z00zz__weakhashz00, BgL_bgl_string3479za700za7za7_3743za7, "list", 4 );
DEFINE_EXPORT_BGL_PROCEDURE(BGl_weakzd2hashtablezd2addz12zd2envzc0zz__weakhashz00, BgL_bgl_za762weakza7d2hashta3744z00, BGl_z62weakzd2hashtablezd2addz12z70zz__weakhashz00, 0L, BUNSPEC, 5);
DEFINE_EXPORT_BGL_PROCEDURE(BGl_weakzd2hashtablezd2removez12zd2envzc0zz__weakhashz00, BgL_bgl_za762weakza7d2hashta3745z00, BGl_z62weakzd2hashtablezd2removez12z70zz__weakhashz00, 0L, BUNSPEC, 2);
DEFINE_EXPORT_BGL_PROCEDURE(BGl_weakzd2hashtablezd2putz12zd2envzc0zz__weakhashz00, BgL_bgl_za762weakza7d2hashta3746z00, BGl_z62weakzd2hashtablezd2putz12z70zz__weakhashz00, 0L, BUNSPEC, 3);
BGL_DEFINE_STRING(BGl_string3561z00zz__weakhashz00, BgL_bgl_string3561za700za7za7_3747za7, "arg1630", 7 );
BGL_DEFINE_STRING(BGl_string3480z00zz__weakhashz00, BgL_bgl_string3480za700za7za7_3748za7, "old-traverse-hash", 17 );
BGL_DEFINE_STRING(BGl_string3481z00zz__weakhashz00, BgL_bgl_string3481za700za7za7_3749za7, "liip:Wrong number of arguments", 30 );
BGL_DEFINE_STRING(BGl_string3564z00zz__weakhashz00, BgL_bgl_string3564za700za7za7_3750za7, "proc", 4 );
BGL_DEFINE_STRING(BGl_string3484z00zz__weakhashz00, BgL_bgl_string3484za700za7za7_3751za7, "arg1419", 7 );
BGL_DEFINE_STRING(BGl_string3566z00zz__weakhashz00, BgL_bgl_string3566za700za7za7_3752za7, "arg1626", 7 );
BGL_DEFINE_STRING(BGl_string3567z00zz__weakhashz00, BgL_bgl_string3567za700za7za7_3753za7, "weak-old-hashtable-update!", 26 );
BGL_DEFINE_STRING(BGl_string3568z00zz__weakhashz00, BgL_bgl_string3568za700za7za7_3754za7, "<@anonymous:1647>", 17 );
BGL_DEFINE_STRING(BGl_string3487z00zz__weakhashz00, BgL_bgl_string3487za700za7za7_3755za7, "arg1430", 7 );
BGL_DEFINE_STRING(BGl_string3569z00zz__weakhashz00, BgL_bgl_string3569za700za7za7_3756za7, "<@anonymous:1647>:Wrong number of arguments", 43 );
BGL_DEFINE_STRING(BGl_string3489z00zz__weakhashz00, BgL_bgl_string3489za700za7za7_3757za7, "data", 4 );
DEFINE_EXPORT_BGL_PROCEDURE(BGl_weakzd2hashtablezd2keyzd2listzd2envz00zz__weakhashz00, BgL_bgl_za762weakza7d2hashta3758z00, BGl_z62weakzd2hashtablezd2keyzd2listzb0zz__weakhashz00, 0L, BUNSPEC, 1);

/* contant bindings */
static void bgl_constant_bindings() {
BGL_BIND_PROCEDURE(BGl_weakzd2hashtablezd2keyzd2listzd2envz00zz__weakhashz00, BgL_bgl_za762weakza7d2hashta3758z00);
BGL_BIND_STRING(BGl_string3489z00zz__weakhashz00, BgL_bgl_string3489za700za7za7_3757za7);
BGL_BIND_STRING(BGl_string3569z00zz__weakhashz00, BgL_bgl_string3569za700za7za7_3756za7);
BGL_BIND_STRING(BGl_string3487z00zz__weakhashz00, BgL_bgl_string3487za700za7za7_3755za7);
BGL_BIND_STRING(BGl_string3568z00zz__weakhashz00, BgL_bgl_string3568za700za7za7_3754za7);
BGL_BIND_STRING(BGl_string3567z00zz__weakhashz00, BgL_bgl_string3567za700za7za7_3753za7);
BGL_BIND_STRING(BGl_string3566z00zz__weakhashz00, BgL_bgl_string3566za700za7za7_3752za7);
BGL_BIND_STRING(BGl_string3484z00zz__weakhashz00, BgL_bgl_string3484za700za7za7_3751za7);
BGL_BIND_STRING(BGl_string3564z00zz__weakhashz00, BgL_bgl_string3564za700za7za7_3750za7);
BGL_BIND_STRING(BGl_string3481z00zz__weakhashz00, BgL_bgl_string3481za700za7za7_3749za7);
BGL_BIND_STRING(BGl_string3480z00zz__weakhashz00, BgL_bgl_string3480za700za7za7_3748za7);
BGL_BIND_STRING(BGl_string3561z00zz__weakhashz00, BgL_bgl_string3561za700za7za7_3747za7);
BGL_BIND_PROCEDURE(BGl_weakzd2hashtablezd2putz12zd2envzc0zz__weakhashz00, BgL_bgl_za762weakza7d2hashta3746z00);
BGL_BIND_PROCEDURE(BGl_weakzd2hashtablezd2removez12zd2envzc0zz__weakhashz00, BgL_bgl_za762weakza7d2hashta3745z00);
BGL_BIND_PROCEDURE(BGl_weakzd2hashtablezd2addz12zd2envzc0zz__weakhashz00, BgL_bgl_za762weakza7d2hashta3744z00);
BGL_BIND_STRING(BGl_string3479z00zz__weakhashz00, BgL_bgl_string3479za700za7za7_3743za7);
BGL_BIND_STRING(BGl_string3478z00zz__weakhashz00, BgL_bgl_string3478za700za7za7_3742za7);
BGL_BIND_STRING(BGl_string3477z00zz__weakhashz00, BgL_bgl_string3477za700za7za7_3741za7);
BGL_BIND_STRING(BGl_string3558z00zz__weakhashz00, BgL_bgl_string3558za700za7za7_3740za7);
BGL_BIND_STRING(BGl_string3557z00zz__weakhashz00, BgL_bgl_string3557za700za7za7_3739za7);
BGL_BIND_STRING(BGl_string3475z00zz__weakhashz00, BgL_bgl_string3475za700za7za7_3738za7);
BGL_BIND_STRING(BGl_string3555z00zz__weakhashz00, BgL_bgl_string3555za700za7za7_3737za7);
BGL_BIND_STRING(BGl_string3473z00zz__weakhashz00, BgL_bgl_string3473za700za7za7_3736za7);
BGL_BIND_STRING(BGl_string3554z00zz__weakhashz00, BgL_bgl_string3554za700za7za7_3735za7);
BGL_BIND_STRING(BGl_string3553z00zz__weakhashz00, BgL_bgl_string3553za700za7za7_3734za7);
BGL_BIND_PROCEDURE(BGl_proc3465z00zz__weakhashz00, BgL_bgl_za762za7c3za704anonymo3733za7);
BGL_BIND_STRING(BGl_string3552z00zz__weakhashz00, BgL_bgl_string3552za700za7za7_3732za7);
BGL_BIND_STRING(BGl_string3470z00zz__weakhashz00, BgL_bgl_string3470za700za7za7_3731za7);
BGL_BIND_STRING(BGl_string3469z00zz__weakhashz00, BgL_bgl_string3469za700za7za7_3730za7);
BGL_BIND_STRING(BGl_string3468z00zz__weakhashz00, BgL_bgl_string3468za700za7za7_3729za7);
BGL_BIND_STRING(BGl_string3549z00zz__weakhashz00, BgL_bgl_string3549za700za7za7_3728za7);
BGL_BIND_STRING(BGl_string3467z00zz__weakhashz00, BgL_bgl_string3467za700za7za7_3727za7);
BGL_BIND_STRING(BGl_string3548z00zz__weakhashz00, BgL_bgl_string3548za700za7za7_3726za7);
BGL_BIND_STRING(BGl_string3466z00zz__weakhashz00, BgL_bgl_string3466za700za7za7_3725za7);
BGL_BIND_STRING(BGl_string3547z00zz__weakhashz00, BgL_bgl_string3547za700za7za7_3724za7);
BGL_BIND_STRING(BGl_string3546z00zz__weakhashz00, BgL_bgl_string3546za700za7za7_3723za7);
BGL_BIND_STRING(BGl_string3464z00zz__weakhashz00, BgL_bgl_string3464za700za7za7_3722za7);
BGL_BIND_STRING(BGl_string3545z00zz__weakhashz00, BgL_bgl_string3545za700za7za7_3721za7);
BGL_BIND_STRING(BGl_string3463z00zz__weakhashz00, BgL_bgl_string3463za700za7za7_3720za7);
BGL_BIND_STRING(BGl_string3544z00zz__weakhashz00, BgL_bgl_string3544za700za7za7_3719za7);
BGL_BIND_STRING(BGl_string3462z00zz__weakhashz00, BgL_bgl_string3462za700za7za7_3718za7);
BGL_BIND_STRING(BGl_string3461z00zz__weakhashz00, BgL_bgl_string3461za700za7za7_3717za7);
BGL_BIND_STRING(BGl_string3460z00zz__weakhashz00, BgL_bgl_string3460za700za7za7_3716za7);
BGL_BIND_STRING(BGl_string3541z00zz__weakhashz00, BgL_bgl_string3541za700za7za7_3715za7);
BGL_BIND_STRING(BGl_string3540z00zz__weakhashz00, BgL_bgl_string3540za700za7za7_3714za7);
BGL_BIND_STRING(BGl_string3459z00zz__weakhashz00, BgL_bgl_string3459za700za7za7_3713za7);
BGL_BIND_STRING(BGl_string3458z00zz__weakhashz00, BgL_bgl_string3458za700za7za7_3712za7);
BGL_BIND_STRING(BGl_string3539z00zz__weakhashz00, BgL_bgl_string3539za700za7za7_3711za7);
BGL_BIND_STRING(BGl_string3457z00zz__weakhashz00, BgL_bgl_string3457za700za7za7_3710za7);
BGL_BIND_STRING(BGl_string3456z00zz__weakhashz00, BgL_bgl_string3456za700za7za7_3709za7);
BGL_BIND_STRING(BGl_string3618z00zz__weakhashz00, BgL_bgl_string3618za700za7za7_3708za7);
BGL_BIND_STRING(BGl_string3455z00zz__weakhashz00, BgL_bgl_string3455za700za7za7_3707za7);
BGL_BIND_STRING(BGl_string3536z00zz__weakhashz00, BgL_bgl_string3536za700za7za7_3706za7);
BGL_BIND_STRING(BGl_string3617z00zz__weakhashz00, BgL_bgl_string3617za700za7za7_3705za7);
BGL_BIND_STRING(BGl_string3535z00zz__weakhashz00, BgL_bgl_string3535za700za7za7_3704za7);
BGL_BIND_STRING(BGl_string3616z00zz__weakhashz00, BgL_bgl_string3616za700za7za7_3703za7);
BGL_BIND_STRING(BGl_string3453z00zz__weakhashz00, BgL_bgl_string3453za700za7za7_3702za7);
BGL_BIND_STRING(BGl_string3534z00zz__weakhashz00, BgL_bgl_string3534za700za7za7_3701za7);
BGL_BIND_STRING(BGl_string3615z00zz__weakhashz00, BgL_bgl_string3615za700za7za7_3700za7);
BGL_BIND_STRING(BGl_string3452z00zz__weakhashz00, BgL_bgl_string3452za700za7za7_3699za7);
BGL_BIND_STRING(BGl_string3533z00zz__weakhashz00, BgL_bgl_string3533za700za7za7_3698za7);
BGL_BIND_STRING(BGl_string3614z00zz__weakhashz00, BgL_bgl_string3614za700za7za7_3697za7);
BGL_BIND_STRING(BGl_string3613z00zz__weakhashz00, BgL_bgl_string3613za700za7za7_3696za7);
BGL_BIND_STRING(BGl_string3450z00zz__weakhashz00, BgL_bgl_string3450za700za7za7_3695za7);
BGL_BIND_PROCEDURE(BGl_proc3525z00zz__weakhashz00, BgL_bgl_za762za7c3za704anonymo3694za7);
BGL_BIND_STRING(BGl_string3531z00zz__weakhashz00, BgL_bgl_string3531za700za7za7_3693za7);
BGL_BIND_STRING(BGl_string3612z00zz__weakhashz00, BgL_bgl_string3612za700za7za7_3692za7);
BGL_BIND_PROCEDURE(BGl_proc3524z00zz__weakhashz00, BgL_bgl_za762za7c3za704anonymo3691za7);
BGL_BIND_STRING(BGl_string3611z00zz__weakhashz00, BgL_bgl_string3611za700za7za7_3690za7);
BGL_BIND_STRING(BGl_string3610z00zz__weakhashz00, BgL_bgl_string3610za700za7za7_3689za7);
BGL_BIND_STRING(BGl_string3448z00zz__weakhashz00, BgL_bgl_string3448za700za7za7_3688za7);
BGL_BIND_PROCEDURE(BGl_weakzd2hashtablezd2forzd2eachzd2envz00zz__weakhashz00, BgL_bgl_za762weakza7d2hashta3687z00);
BGL_BIND_STRING(BGl_string3528z00zz__weakhashz00, BgL_bgl_string3528za700za7za7_3686za7);
BGL_BIND_STRING(BGl_string3609z00zz__weakhashz00, BgL_bgl_string3609za700za7za7_3685za7);
BGL_BIND_STRING(BGl_string3527z00zz__weakhashz00, BgL_bgl_string3527za700za7za7_3684za7);
BGL_BIND_STRING(BGl_string3608z00zz__weakhashz00, BgL_bgl_string3608za700za7za7_3683za7);
BGL_BIND_STRING(BGl_string3445z00zz__weakhashz00, BgL_bgl_string3445za700za7za7_3682za7);
BGL_BIND_STRING(BGl_string3526z00zz__weakhashz00, BgL_bgl_string3526za700za7za7_3681za7);
BGL_BIND_STRING(BGl_string3607z00zz__weakhashz00, BgL_bgl_string3607za700za7za7_3680za7);
BGL_BIND_STRING(BGl_string3444z00zz__weakhashz00, BgL_bgl_string3444za700za7za7_3679za7);
BGL_BIND_STRING(BGl_string3606z00zz__weakhashz00, BgL_bgl_string3606za700za7za7_3678za7);
BGL_BIND_STRING(BGl_string3443z00zz__weakhashz00, BgL_bgl_string3443za700za7za7_3677za7);
BGL_BIND_STRING(BGl_string3605z00zz__weakhashz00, BgL_bgl_string3605za700za7za7_3676za7);
BGL_BIND_STRING(BGl_string3523z00zz__weakhashz00, BgL_bgl_string3523za700za7za7_3675za7);
BGL_BIND_STRING(BGl_string3604z00zz__weakhashz00, BgL_bgl_string3604za700za7za7_3674za7);
BGL_BIND_STRING(BGl_string3441z00zz__weakhashz00, BgL_bgl_string3441za700za7za7_3673za7);
BGL_BIND_STRING(BGl_string3522z00zz__weakhashz00, BgL_bgl_string3522za700za7za7_3672za7);
BGL_BIND_STRING(BGl_string3603z00zz__weakhashz00, BgL_bgl_string3603za700za7za7_3671za7);
BGL_BIND_STRING(BGl_string3440z00zz__weakhashz00, BgL_bgl_string3440za700za7za7_3670za7);
BGL_BIND_STRING(BGl_string3521z00zz__weakhashz00, BgL_bgl_string3521za700za7za7_3669za7);
BGL_BIND_STRING(BGl_string3602z00zz__weakhashz00, BgL_bgl_string3602za700za7za7_3668za7);
BGL_BIND_STRING(BGl_string3520z00zz__weakhashz00, BgL_bgl_string3520za700za7za7_3667za7);
BGL_BIND_STRING(BGl_string3439z00zz__weakhashz00, BgL_bgl_string3439za700za7za7_3666za7);
BGL_BIND_STRING(BGl_string3519z00zz__weakhashz00, BgL_bgl_string3519za700za7za7_3665za7);
BGL_BIND_STRING(BGl_string3517z00zz__weakhashz00, BgL_bgl_string3517za700za7za7_3664za7);
BGL_BIND_STRING(BGl_string3514z00zz__weakhashz00, BgL_bgl_string3514za700za7za7_3663za7);
BGL_BIND_STRING(BGl_string3513z00zz__weakhashz00, BgL_bgl_string3513za700za7za7_3662za7);
BGL_BIND_STRING(BGl_string3512z00zz__weakhashz00, BgL_bgl_string3512za700za7za7_3661za7);
BGL_BIND_STRING(BGl_string3511z00zz__weakhashz00, BgL_bgl_string3511za700za7za7_3660za7);
BGL_BIND_STRING(BGl_string3510z00zz__weakhashz00, BgL_bgl_string3510za700za7za7_3659za7);
BGL_BIND_PROCEDURE(BGl_weakzd2hashtablezd2updatez12zd2envzc0zz__weakhashz00, BgL_bgl_za762weakza7d2hashta3658z00);
BGL_BIND_STRING(BGl_string3507z00zz__weakhashz00, BgL_bgl_string3507za700za7za7_3657za7);
BGL_BIND_STRING(BGl_string3506z00zz__weakhashz00, BgL_bgl_string3506za700za7za7_3656za7);
BGL_BIND_STRING(BGl_string3505z00zz__weakhashz00, BgL_bgl_string3505za700za7za7_3655za7);
BGL_BIND_STRING(BGl_string3504z00zz__weakhashz00, BgL_bgl_string3504za700za7za7_3654za7);
BGL_BIND_STRING(BGl_string3503z00zz__weakhashz00, BgL_bgl_string3503za700za7za7_3653za7);
BGL_BIND_STRING(BGl_string3502z00zz__weakhashz00, BgL_bgl_string3502za700za7za7_3652za7);
BGL_BIND_STRING(BGl_string3501z00zz__weakhashz00, BgL_bgl_string3501za700za7za7_3651za7);
BGL_BIND_STRING(BGl_string3500z00zz__weakhashz00, BgL_bgl_string3500za700za7za7_3650za7);
BGL_BIND_PROCEDURE(BGl_weakzd2hashtablezd2ze3listzd2envz31zz__weakhashz00, BgL_bgl_za762weakza7d2hashta3649z00);
BGL_BIND_PROCEDURE(BGl_weakzd2hashtablezd2expandz12zd2envzc0zz__weakhashz00, BgL_bgl_za762weakza7d2hashta3648z00);
BGL_BIND_PROCEDURE(BGl_weakzd2hashtablezd2containszf3zd2envz21zz__weakhashz00, BgL_bgl_za762weakza7d2hashta3647z00);
BGL_BIND_PROCEDURE(BGl_weakzd2hashtablezd2getzd2envzd2zz__weakhashz00, BgL_bgl_za762weakza7d2hashta3646z00);
BGL_BIND_PROCEDURE(BGl_weakzd2hashtablezd2mapzd2envzd2zz__weakhashz00, BgL_bgl_za762weakza7d2hashta3645z00);
BGL_BIND_PROCEDURE(BGl_weakzd2hashtablezd2ze3vectorzd2envz31zz__weakhashz00, BgL_bgl_za762weakza7d2hashta3644z00);
BGL_BIND_PROCEDURE(BGl_weakzd2hashtablezd2clearz12zd2envzc0zz__weakhashz00, BgL_bgl_za762weakza7d2hashta3643z00);
BGL_BIND_STRING(BGl_string3599z00zz__weakhashz00, BgL_bgl_string3599za700za7za7_3642za7);
BGL_BIND_STRING(BGl_string3596z00zz__weakhashz00, BgL_bgl_string3596za700za7za7_3641za7);
BGL_BIND_STRING(BGl_string3595z00zz__weakhashz00, BgL_bgl_string3595za700za7za7_3640za7);
BGL_BIND_STRING(BGl_string3594z00zz__weakhashz00, BgL_bgl_string3594za700za7za7_3639za7);
BGL_BIND_STRING(BGl_string3593z00zz__weakhashz00, BgL_bgl_string3593za700za7za7_3638za7);
BGL_BIND_STRING(BGl_string3592z00zz__weakhashz00, BgL_bgl_string3592za700za7za7_3637za7);
BGL_BIND_STRING(BGl_string3591z00zz__weakhashz00, BgL_bgl_string3591za700za7za7_3636za7);
BGL_BIND_STRING(BGl_string3589z00zz__weakhashz00, BgL_bgl_string3589za700za7za7_3635za7);
BGL_BIND_STRING(BGl_string3586z00zz__weakhashz00, BgL_bgl_string3586za700za7za7_3634za7);
BGL_BIND_STRING(BGl_string3585z00zz__weakhashz00, BgL_bgl_string3585za700za7za7_3633za7);
BGL_BIND_STRING(BGl_string3584z00zz__weakhashz00, BgL_bgl_string3584za700za7za7_3632za7);
BGL_BIND_STRING(BGl_string3581z00zz__weakhashz00, BgL_bgl_string3581za700za7za7_3631za7);
BGL_BIND_STRING(BGl_string3499z00zz__weakhashz00, BgL_bgl_string3499za700za7za7_3630za7);
BGL_BIND_STRING(BGl_string3498z00zz__weakhashz00, BgL_bgl_string3498za700za7za7_3629za7);
BGL_BIND_STRING(BGl_string3497z00zz__weakhashz00, BgL_bgl_string3497za700za7za7_3628za7);
BGL_BIND_STRING(BGl_string3578z00zz__weakhashz00, BgL_bgl_string3578za700za7za7_3627za7);
BGL_BIND_STRING(BGl_string3496z00zz__weakhashz00, BgL_bgl_string3496za700za7za7_3626za7);
BGL_BIND_STRING(BGl_string3495z00zz__weakhashz00, BgL_bgl_string3495za700za7za7_3625za7);
BGL_BIND_STRING(BGl_string3576z00zz__weakhashz00, BgL_bgl_string3576za700za7za7_3624za7);
BGL_BIND_PROCEDURE(BGl_weakzd2hashtablezd2filterz12zd2envzc0zz__weakhashz00, BgL_bgl_za762weakza7d2hashta3623z00);
BGL_BIND_STRING(BGl_string3493z00zz__weakhashz00, BgL_bgl_string3493za700za7za7_3622za7);
BGL_BIND_STRING(BGl_string3573z00zz__weakhashz00, BgL_bgl_string3573za700za7za7_3621za7);
BGL_BIND_STRING(BGl_string3572z00zz__weakhashz00, BgL_bgl_string3572za700za7za7_3620za7);
BGL_BIND_STRING(BGl_string3571z00zz__weakhashz00, BgL_bgl_string3571za700za7za7_3619za7);
}

/* 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_symbol3530z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_symbol3532z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_symbol3451z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_symbol3454z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_symbol3538z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_list3508z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_symbol3543z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_list3515z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_requirezd2initializa7ationz75zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_symbol3551z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_list3600z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_symbol3472z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_symbol3474z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_symbol3476z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_list3446z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_list3529z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_symbol3560z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_symbol3563z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_symbol3483z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_symbol3565z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_symbol3486z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_symbol3488z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_list3537z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_removez00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_symbol3492z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_symbol3575z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_list3542z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_symbol3494z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_symbol3577z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_keepgoingz00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_symbol3580z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_symbol3583z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_list3550z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_list3471z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_symbol3588z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_list3556z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_list3559z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_symbol3590z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_list3562z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_list3482z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_symbol3598z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_list3485z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_list3570z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_list3490z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_list3491z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_list3574z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_list3579z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_list3582z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_list3587z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_list3597z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_symbol3509z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_removestopz00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_symbol3516z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_symbol3518z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_symbol3601z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_symbol3442z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_symbol3447z00zz__weakhashz00) );
ADD_ROOT( (void *)(&BGl_symbol3449z00zz__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_5848, char * BgL_fromz00_5849)
{
{ 
if(
CBOOL(BGl_requirezd2initializa7ationz75zz__weakhashz00))
{ 
BGl_requirezd2initializa7ationz75zz__weakhashz00 = 
BBOOL(((bool_t)0)); 
bgl_constant_bindings(); 
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_symbol3442z00zz__weakhashz00 = 
bstring_to_symbol(BGl_string3443z00zz__weakhashz00); 
BGl_symbol3447z00zz__weakhashz00 = 
bstring_to_symbol(BGl_string3448z00zz__weakhashz00); 
BGl_symbol3449z00zz__weakhashz00 = 
bstring_to_symbol(BGl_string3450z00zz__weakhashz00); 
BGl_symbol3451z00zz__weakhashz00 = 
bstring_to_symbol(BGl_string3452z00zz__weakhashz00); 
BGl_list3446z00zz__weakhashz00 = 
MAKE_YOUNG_PAIR(BGl_symbol3447z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3449z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3449z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3451z00zz__weakhashz00, BNIL)))); 
BGl_symbol3454z00zz__weakhashz00 = 
bstring_to_symbol(BGl_string3455z00zz__weakhashz00); 
BGl_symbol3472z00zz__weakhashz00 = 
bstring_to_symbol(BGl_string3473z00zz__weakhashz00); 
BGl_symbol3474z00zz__weakhashz00 = 
bstring_to_symbol(BGl_string3475z00zz__weakhashz00); 
BGl_symbol3476z00zz__weakhashz00 = 
bstring_to_symbol(BGl_string3477z00zz__weakhashz00); 
BGl_list3471z00zz__weakhashz00 = 
MAKE_YOUNG_PAIR(BGl_symbol3447z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3472z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3472z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3474z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3476z00zz__weakhashz00, BNIL))))); 
BGl_symbol3483z00zz__weakhashz00 = 
bstring_to_symbol(BGl_string3484z00zz__weakhashz00); 
BGl_list3482z00zz__weakhashz00 = 
MAKE_YOUNG_PAIR(BGl_symbol3447z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3472z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3472z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3451z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3483z00zz__weakhashz00, BNIL))))); 
BGl_symbol3486z00zz__weakhashz00 = 
bstring_to_symbol(BGl_string3487z00zz__weakhashz00); 
BGl_symbol3488z00zz__weakhashz00 = 
bstring_to_symbol(BGl_string3489z00zz__weakhashz00); 
BGl_list3485z00zz__weakhashz00 = 
MAKE_YOUNG_PAIR(BGl_symbol3447z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3472z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3472z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3486z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3488z00zz__weakhashz00, BNIL))))); 
BGl_list3490z00zz__weakhashz00 = 
MAKE_YOUNG_PAIR(BGl_symbol3447z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3472z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3472z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3451z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3488z00zz__weakhashz00, BNIL))))); 
BGl_symbol3492z00zz__weakhashz00 = 
bstring_to_symbol(BGl_string3493z00zz__weakhashz00); 
BGl_symbol3494z00zz__weakhashz00 = 
bstring_to_symbol(BGl_string3495z00zz__weakhashz00); 
BGl_list3491z00zz__weakhashz00 = 
MAKE_YOUNG_PAIR(BGl_symbol3447z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3472z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3472z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3492z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3494z00zz__weakhashz00, BNIL))))); 
BGl_symbol3509z00zz__weakhashz00 = 
bstring_to_symbol(BGl_string3510z00zz__weakhashz00); 
BGl_list3508z00zz__weakhashz00 = 
MAKE_YOUNG_PAIR(BGl_symbol3447z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3472z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3472z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3451z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3509z00zz__weakhashz00, BNIL))))); 
BGl_symbol3516z00zz__weakhashz00 = 
bstring_to_symbol(BGl_string3517z00zz__weakhashz00); 
BGl_symbol3518z00zz__weakhashz00 = 
bstring_to_symbol(BGl_string3519z00zz__weakhashz00); 
BGl_list3515z00zz__weakhashz00 = 
MAKE_YOUNG_PAIR(BGl_symbol3447z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3472z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3472z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3516z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3518z00zz__weakhashz00, BNIL))))); 
BGl_symbol3530z00zz__weakhashz00 = 
bstring_to_symbol(BGl_string3531z00zz__weakhashz00); 
BGl_symbol3532z00zz__weakhashz00 = 
bstring_to_symbol(BGl_string3533z00zz__weakhashz00); 
BGl_list3529z00zz__weakhashz00 = 
MAKE_YOUNG_PAIR(BGl_symbol3447z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3530z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3530z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3532z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3451z00zz__weakhashz00, BNIL))))); 
BGl_symbol3538z00zz__weakhashz00 = 
bstring_to_symbol(BGl_string3539z00zz__weakhashz00); 
BGl_list3537z00zz__weakhashz00 = 
MAKE_YOUNG_PAIR(BGl_symbol3447z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3530z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3530z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3451z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3538z00zz__weakhashz00, BNIL))))); 
BGl_symbol3543z00zz__weakhashz00 = 
bstring_to_symbol(BGl_string3544z00zz__weakhashz00); 
BGl_list3542z00zz__weakhashz00 = 
MAKE_YOUNG_PAIR(BGl_symbol3447z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3530z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3530z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3543z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3451z00zz__weakhashz00, BNIL))))); 
BGl_symbol3551z00zz__weakhashz00 = 
bstring_to_symbol(BGl_string3552z00zz__weakhashz00); 
BGl_list3550z00zz__weakhashz00 = 
MAKE_YOUNG_PAIR(BGl_symbol3447z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3530z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3530z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3551z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3451z00zz__weakhashz00, BNIL))))); 
BGl_list3556z00zz__weakhashz00 = 
MAKE_YOUNG_PAIR(BGl_symbol3447z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3530z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3530z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3538z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3451z00zz__weakhashz00, BNIL))))); 
BGl_symbol3560z00zz__weakhashz00 = 
bstring_to_symbol(BGl_string3561z00zz__weakhashz00); 
BGl_list3559z00zz__weakhashz00 = 
MAKE_YOUNG_PAIR(BGl_symbol3447z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3530z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3530z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3560z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3451z00zz__weakhashz00, BNIL))))); 
BGl_symbol3563z00zz__weakhashz00 = 
bstring_to_symbol(BGl_string3564z00zz__weakhashz00); 
BGl_symbol3565z00zz__weakhashz00 = 
bstring_to_symbol(BGl_string3566z00zz__weakhashz00); 
BGl_list3562z00zz__weakhashz00 = 
MAKE_YOUNG_PAIR(BGl_symbol3447z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3563z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3563z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3565z00zz__weakhashz00, BNIL)))); 
BGl_list3570z00zz__weakhashz00 = 
MAKE_YOUNG_PAIR(BGl_symbol3447z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3563z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3563z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3509z00zz__weakhashz00, BNIL)))); 
BGl_symbol3575z00zz__weakhashz00 = 
bstring_to_symbol(BGl_string3576z00zz__weakhashz00); 
BGl_symbol3577z00zz__weakhashz00 = 
bstring_to_symbol(BGl_string3578z00zz__weakhashz00); 
BGl_list3574z00zz__weakhashz00 = 
MAKE_YOUNG_PAIR(BGl_symbol3447z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3563z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3563z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3575z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3577z00zz__weakhashz00, BNIL))))); 
BGl_symbol3580z00zz__weakhashz00 = 
bstring_to_symbol(BGl_string3581z00zz__weakhashz00); 
BGl_list3579z00zz__weakhashz00 = 
MAKE_YOUNG_PAIR(BGl_symbol3447z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3530z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3530z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3580z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3451z00zz__weakhashz00, BNIL))))); 
BGl_symbol3583z00zz__weakhashz00 = 
bstring_to_symbol(BGl_string3584z00zz__weakhashz00); 
BGl_list3582z00zz__weakhashz00 = 
MAKE_YOUNG_PAIR(BGl_symbol3447z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3563z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3563z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3575z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3583z00zz__weakhashz00, BNIL))))); 
BGl_symbol3588z00zz__weakhashz00 = 
bstring_to_symbol(BGl_string3589z00zz__weakhashz00); 
BGl_symbol3590z00zz__weakhashz00 = 
bstring_to_symbol(BGl_string3591z00zz__weakhashz00); 
BGl_list3587z00zz__weakhashz00 = 
MAKE_YOUNG_PAIR(BGl_symbol3447z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3563z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3563z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3588z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3590z00zz__weakhashz00, BNIL))))); 
BGl_symbol3598z00zz__weakhashz00 = 
bstring_to_symbol(BGl_string3599z00zz__weakhashz00); 
BGl_list3597z00zz__weakhashz00 = 
MAKE_YOUNG_PAIR(BGl_symbol3447z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3530z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3530z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3598z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3451z00zz__weakhashz00, BNIL))))); 
BGl_symbol3601z00zz__weakhashz00 = 
bstring_to_symbol(BGl_string3602z00zz__weakhashz00); 
return ( 
BGl_list3600z00zz__weakhashz00 = 
MAKE_YOUNG_PAIR(BGl_symbol3447z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3530z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3530z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3601z00zz__weakhashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3451z00zz__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_1334;
{ /* Llib/hash.sch 15 */
 bool_t BgL_test3760z00_6001;
{ /* Llib/hash.sch 15 */
 obj_t BgL_tmpz00_6002;
{ /* Llib/hash.sch 15 */
 obj_t BgL_res2217z00_2634;
{ /* Llib/hash.sch 15 */
 obj_t BgL_aux2555z00_4828;
BgL_aux2555z00_4828 = 
STRUCT_KEY(BgL_tablez00_37); 
if(
SYMBOLP(BgL_aux2555z00_4828))
{ /* Llib/hash.sch 15 */
BgL_res2217z00_2634 = BgL_aux2555z00_4828; }  else 
{ 
 obj_t BgL_auxz00_6006;
BgL_auxz00_6006 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3439z00zz__weakhashz00, 
BINT(963L), BGl_string3440z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux2555z00_4828); 
FAILURE(BgL_auxz00_6006,BFALSE,BFALSE);} } 
BgL_tmpz00_6002 = BgL_res2217z00_2634; } 
BgL_test3760z00_6001 = 
(BgL_tmpz00_6002==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test3760z00_6001)
{ /* Llib/hash.sch 15 */
 int BgL_tmpz00_6011;
BgL_tmpz00_6011 = 
(int)(4L); 
BgL_hashnz00_1334 = 
UNSAFE_STRUCT_REF(BgL_tablez00_37, BgL_tmpz00_6011); }  else 
{ /* Llib/hash.sch 15 */
BgL_hashnz00_1334 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_37); } } 
if(
PROCEDUREP(BgL_hashnz00_1334))
{ /* Llib/hash.sch 25 */
 obj_t BgL_arg1351z00_1336;
if(
PROCEDURE_CORRECT_ARITYP(BgL_hashnz00_1334, 1))
{ /* Llib/hash.sch 25 */
BgL_arg1351z00_1336 = 
BGL_PROCEDURE_CALL1(BgL_hashnz00_1334, BgL_keyz00_38); }  else 
{ /* Llib/hash.sch 25 */
FAILURE(BGl_string3445z00zz__weakhashz00,BGl_list3446z00zz__weakhashz00,BgL_hashnz00_1334);} 
{ /* Llib/hash.sch 25 */
 long BgL_nz00_2635;
{ /* Llib/hash.sch 25 */
 obj_t BgL_tmpz00_6024;
if(
INTEGERP(BgL_arg1351z00_1336))
{ /* Llib/hash.sch 25 */
BgL_tmpz00_6024 = BgL_arg1351z00_1336
; }  else 
{ 
 obj_t BgL_auxz00_6027;
BgL_auxz00_6027 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3439z00zz__weakhashz00, 
BINT(1434L), BGl_string3440z00zz__weakhashz00, BGl_string3453z00zz__weakhashz00, BgL_arg1351z00_1336); 
FAILURE(BgL_auxz00_6027,BFALSE,BFALSE);} 
BgL_nz00_2635 = 
(long)CINT(BgL_tmpz00_6024); } 
if(
(BgL_nz00_2635<0L))
{ /* Llib/hash.sch 25 */
return 
NEG(BgL_nz00_2635);}  else 
{ /* Llib/hash.sch 25 */
return BgL_nz00_2635;} } }  else 
{ /* Llib/hash.sch 24 */
if(
(BgL_hashnz00_1334==BGl_symbol3454z00zz__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_test3767z00_6039;
{ /* Llib/weakhash.scm 151 */
 obj_t BgL_arg1395z00_1406;
{ /* Llib/weakhash.scm 151 */
 bool_t BgL_test3768z00_6040;
{ /* Llib/weakhash.scm 151 */
 obj_t BgL_tmpz00_6041;
{ /* Llib/weakhash.scm 151 */
 obj_t BgL_res2221z00_2679;
{ /* Llib/weakhash.scm 151 */
 obj_t BgL_aux2559z00_4833;
BgL_aux2559z00_4833 = 
STRUCT_KEY(BgL_tablez00_47); 
if(
SYMBOLP(BgL_aux2559z00_4833))
{ /* Llib/weakhash.scm 151 */
BgL_res2221z00_2679 = BgL_aux2559z00_4833; }  else 
{ 
 obj_t BgL_auxz00_6045;
BgL_auxz00_6045 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5859L), BGl_string3457z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux2559z00_4833); 
FAILURE(BgL_auxz00_6045,BFALSE,BFALSE);} } 
BgL_tmpz00_6041 = BgL_res2221z00_2679; } 
BgL_test3768z00_6040 = 
(BgL_tmpz00_6041==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test3768z00_6040)
{ /* Llib/weakhash.scm 151 */
 int BgL_tmpz00_6050;
BgL_tmpz00_6050 = 
(int)(5L); 
BgL_arg1395z00_1406 = 
UNSAFE_STRUCT_REF(BgL_tablez00_47, BgL_tmpz00_6050); }  else 
{ /* Llib/weakhash.scm 151 */
BgL_arg1395z00_1406 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_47); } } 
{ /* Llib/weakhash.scm 151 */
 long BgL_n2z00_2680;
{ /* Llib/weakhash.scm 151 */
 obj_t BgL_tmpz00_6054;
if(
INTEGERP(BgL_arg1395z00_1406))
{ /* Llib/weakhash.scm 151 */
BgL_tmpz00_6054 = BgL_arg1395z00_1406
; }  else 
{ 
 obj_t BgL_auxz00_6057;
BgL_auxz00_6057 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5881L), BGl_string3457z00zz__weakhashz00, BGl_string3453z00zz__weakhashz00, BgL_arg1395z00_1406); 
FAILURE(BgL_auxz00_6057,BFALSE,BFALSE);} 
BgL_n2z00_2680 = 
(long)CINT(BgL_tmpz00_6054); } 
BgL_test3767z00_6039 = 
(1L==BgL_n2z00_2680); } } 
if(BgL_test3767z00_6039)
{ /* Llib/weakhash.scm 145 */
 obj_t BgL_g1060z00_1347;
{ /* Llib/weakhash.scm 145 */
 obj_t BgL_vectorz00_2681;
if(
VECTORP(BgL_bucketsz00_48))
{ /* Llib/weakhash.scm 145 */
BgL_vectorz00_2681 = BgL_bucketsz00_48; }  else 
{ 
 obj_t BgL_auxz00_6065;
BgL_auxz00_6065 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5685L), BGl_string3457z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_bucketsz00_48); 
FAILURE(BgL_auxz00_6065,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 145 */
 bool_t BgL_test3772z00_6069;
{ /* Llib/weakhash.scm 145 */
 long BgL_tmpz00_6070;
BgL_tmpz00_6070 = 
VECTOR_LENGTH(BgL_vectorz00_2681); 
BgL_test3772z00_6069 = 
BOUND_CHECK(BgL_iz00_49, BgL_tmpz00_6070); } 
if(BgL_test3772z00_6069)
{ /* Llib/weakhash.scm 145 */
BgL_g1060z00_1347 = 
VECTOR_REF(BgL_vectorz00_2681,BgL_iz00_49); }  else 
{ 
 obj_t BgL_auxz00_6074;
BgL_auxz00_6074 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5685L), BGl_string3459z00zz__weakhashz00, BgL_vectorz00_2681, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_2681)), 
(int)(BgL_iz00_49)); 
FAILURE(BgL_auxz00_6074,BFALSE,BFALSE);} } } 
{ 
 obj_t BgL_bucketz00_1349; obj_t BgL_lastzd2bucketzd2_1350;
BgL_bucketz00_1349 = BgL_g1060z00_1347; 
BgL_lastzd2bucketzd2_1350 = BFALSE; 
BgL_zc3z04anonymousza31361ze3z87_1351:
if(
NULLP(BgL_bucketz00_1349))
{ /* Llib/weakhash.scm 145 */
return BGl_keepgoingz00zz__weakhashz00;}  else 
{ /* Llib/weakhash.scm 145 */
 obj_t BgL_retz00_1353;
{ /* Llib/weakhash.scm 153 */
 obj_t BgL_keyz00_1356;
{ /* Llib/weakhash.scm 153 */
 obj_t BgL_arg1366z00_1358;
{ /* Llib/weakhash.scm 153 */
 obj_t BgL_pairz00_2683;
if(
PAIRP(BgL_bucketz00_1349))
{ /* Llib/weakhash.scm 153 */
BgL_pairz00_2683 = BgL_bucketz00_1349; }  else 
{ 
 obj_t BgL_auxz00_6085;
BgL_auxz00_6085 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5939L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_bucketz00_1349); 
FAILURE(BgL_auxz00_6085,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 153 */
 obj_t BgL_pairz00_2686;
{ /* Llib/weakhash.scm 153 */
 obj_t BgL_aux2566z00_4840;
BgL_aux2566z00_4840 = 
CAR(BgL_pairz00_2683); 
if(
PAIRP(BgL_aux2566z00_4840))
{ /* Llib/weakhash.scm 153 */
BgL_pairz00_2686 = BgL_aux2566z00_4840; }  else 
{ 
 obj_t BgL_auxz00_6092;
BgL_auxz00_6092 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5933L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_aux2566z00_4840); 
FAILURE(BgL_auxz00_6092,BFALSE,BFALSE);} } 
BgL_arg1366z00_1358 = 
CAR(BgL_pairz00_2686); } } 
{ /* Llib/weakhash.scm 153 */
 obj_t BgL_objz00_2687;
if(
BGL_WEAKPTRP(BgL_arg1366z00_1358))
{ /* Llib/weakhash.scm 153 */
BgL_objz00_2687 = BgL_arg1366z00_1358; }  else 
{ 
 obj_t BgL_auxz00_6099;
BgL_auxz00_6099 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5945L), BGl_string3460z00zz__weakhashz00, BGl_string3462z00zz__weakhashz00, BgL_arg1366z00_1358); 
FAILURE(BgL_auxz00_6099,BFALSE,BFALSE);} 
BgL_keyz00_1356 = 
bgl_weakptr_data(BgL_objz00_2687); } } 
if(
(BgL_keyz00_1356==BUNSPEC))
{ /* Llib/weakhash.scm 154 */
BgL_retz00_1353 = BGl_removez00zz__weakhashz00; }  else 
{ /* Llib/weakhash.scm 156 */
 obj_t BgL_arg1365z00_1357;
{ /* Llib/weakhash.scm 156 */
 obj_t BgL_pairz00_2688;
if(
PAIRP(BgL_bucketz00_1349))
{ /* Llib/weakhash.scm 156 */
BgL_pairz00_2688 = BgL_bucketz00_1349; }  else 
{ 
 obj_t BgL_auxz00_6108;
BgL_auxz00_6108 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(6025L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_bucketz00_1349); 
FAILURE(BgL_auxz00_6108,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 156 */
 obj_t BgL_pairz00_2691;
{ /* Llib/weakhash.scm 156 */
 obj_t BgL_aux2572z00_4846;
BgL_aux2572z00_4846 = 
CAR(BgL_pairz00_2688); 
if(
PAIRP(BgL_aux2572z00_4846))
{ /* Llib/weakhash.scm 156 */
BgL_pairz00_2691 = BgL_aux2572z00_4846; }  else 
{ 
 obj_t BgL_auxz00_6115;
BgL_auxz00_6115 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(6019L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_aux2572z00_4846); 
FAILURE(BgL_auxz00_6115,BFALSE,BFALSE);} } 
BgL_arg1365z00_1357 = 
CDR(BgL_pairz00_2691); } } 
BgL_retz00_1353 = 
((obj_t (*)(obj_t, obj_t, obj_t, obj_t))PROCEDURE_L_ENTRY(BgL_funz00_50))(BgL_funz00_50, BgL_keyz00_1356, BgL_arg1365z00_1357, BgL_bucketz00_1349); } } 
if(
(BgL_retz00_1353==BGl_keepgoingz00zz__weakhashz00))
{ /* Llib/weakhash.scm 145 */
 obj_t BgL_arg1363z00_1354;
{ /* Llib/weakhash.scm 145 */
 obj_t BgL_pairz00_2692;
if(
PAIRP(BgL_bucketz00_1349))
{ /* Llib/weakhash.scm 145 */
BgL_pairz00_2692 = BgL_bucketz00_1349; }  else 
{ 
 obj_t BgL_auxz00_6130;
BgL_auxz00_6130 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5685L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_bucketz00_1349); 
FAILURE(BgL_auxz00_6130,BFALSE,BFALSE);} 
BgL_arg1363z00_1354 = 
CDR(BgL_pairz00_2692); } 
{ 
 obj_t BgL_lastzd2bucketzd2_6136; obj_t BgL_bucketz00_6135;
BgL_bucketz00_6135 = BgL_arg1363z00_1354; 
BgL_lastzd2bucketzd2_6136 = BgL_bucketz00_1349; 
BgL_lastzd2bucketzd2_1350 = BgL_lastzd2bucketzd2_6136; 
BgL_bucketz00_1349 = BgL_bucketz00_6135; 
goto BgL_zc3z04anonymousza31361ze3z87_1351;} }  else 
{ /* Llib/weakhash.scm 145 */
if(
(BgL_retz00_1353==BGl_removez00zz__weakhashz00))
{ /* Llib/weakhash.scm 145 */
{ /* Llib/weakhash.scm 134 */
 long BgL_arg1355z00_2693;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_arg1356z00_2694;
{ /* Llib/weakhash.scm 134 */
 bool_t BgL_test3783z00_6139;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_tmpz00_6140;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_res2222z00_2700;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_aux2576z00_4850;
BgL_aux2576z00_4850 = 
STRUCT_KEY(BgL_tablez00_47); 
if(
SYMBOLP(BgL_aux2576z00_4850))
{ /* Llib/weakhash.scm 134 */
BgL_res2222z00_2700 = BgL_aux2576z00_4850; }  else 
{ 
 obj_t BgL_auxz00_6144;
BgL_auxz00_6144 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5201L), BGl_string3460z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux2576z00_4850); 
FAILURE(BgL_auxz00_6144,BFALSE,BFALSE);} } 
BgL_tmpz00_6140 = BgL_res2222z00_2700; } 
BgL_test3783z00_6139 = 
(BgL_tmpz00_6140==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test3783z00_6139)
{ /* Llib/weakhash.scm 134 */
 int BgL_tmpz00_6149;
BgL_tmpz00_6149 = 
(int)(0L); 
BgL_arg1356z00_2694 = 
UNSAFE_STRUCT_REF(BgL_tablez00_47, BgL_tmpz00_6149); }  else 
{ /* Llib/weakhash.scm 134 */
BgL_arg1356z00_2694 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_47); } } 
{ /* Llib/weakhash.scm 134 */
 long BgL_za71za7_2701;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_tmpz00_6153;
if(
INTEGERP(BgL_arg1356z00_2694))
{ /* Llib/weakhash.scm 134 */
BgL_tmpz00_6153 = BgL_arg1356z00_2694
; }  else 
{ 
 obj_t BgL_auxz00_6156;
BgL_auxz00_6156 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5223L), BGl_string3460z00zz__weakhashz00, BGl_string3453z00zz__weakhashz00, BgL_arg1356z00_2694); 
FAILURE(BgL_auxz00_6156,BFALSE,BFALSE);} 
BgL_za71za7_2701 = 
(long)CINT(BgL_tmpz00_6153); } 
BgL_arg1355z00_2693 = 
(BgL_za71za7_2701-1L); } } 
{ /* Llib/weakhash.scm 134 */
 bool_t BgL_test3786z00_6162;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_tmpz00_6163;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_res2223z00_2705;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_aux2579z00_4853;
BgL_aux2579z00_4853 = 
STRUCT_KEY(BgL_tablez00_47); 
if(
SYMBOLP(BgL_aux2579z00_4853))
{ /* Llib/weakhash.scm 134 */
BgL_res2223z00_2705 = BgL_aux2579z00_4853; }  else 
{ 
 obj_t BgL_auxz00_6167;
BgL_auxz00_6167 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5168L), BGl_string3460z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux2579z00_4853); 
FAILURE(BgL_auxz00_6167,BFALSE,BFALSE);} } 
BgL_tmpz00_6163 = BgL_res2223z00_2705; } 
BgL_test3786z00_6162 = 
(BgL_tmpz00_6163==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test3786z00_6162)
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_auxz00_6174; int BgL_tmpz00_6172;
BgL_auxz00_6174 = 
BINT(BgL_arg1355z00_2693); 
BgL_tmpz00_6172 = 
(int)(0L); 
UNSAFE_STRUCT_SET(BgL_tablez00_47, BgL_tmpz00_6172, BgL_auxz00_6174); }  else 
{ /* Llib/weakhash.scm 134 */
BGl_errorz00zz__errorz00(BGl_string3463z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_47); } } } 
if(
CBOOL(BgL_lastzd2bucketzd2_1350))
{ /* Llib/weakhash.scm 136 */
 obj_t BgL_arg1357z00_2695;
{ /* Llib/weakhash.scm 136 */
 obj_t BgL_pairz00_2706;
if(
PAIRP(BgL_bucketz00_1349))
{ /* Llib/weakhash.scm 136 */
BgL_pairz00_2706 = BgL_bucketz00_1349; }  else 
{ 
 obj_t BgL_auxz00_6182;
BgL_auxz00_6182 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5282L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_bucketz00_1349); 
FAILURE(BgL_auxz00_6182,BFALSE,BFALSE);} 
BgL_arg1357z00_2695 = 
CDR(BgL_pairz00_2706); } 
{ /* Llib/weakhash.scm 136 */
 obj_t BgL_pairz00_2707;
if(
PAIRP(BgL_lastzd2bucketzd2_1350))
{ /* Llib/weakhash.scm 136 */
BgL_pairz00_2707 = BgL_lastzd2bucketzd2_1350; }  else 
{ 
 obj_t BgL_auxz00_6189;
BgL_auxz00_6189 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5265L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_lastzd2bucketzd2_1350); 
FAILURE(BgL_auxz00_6189,BFALSE,BFALSE);} 
SET_CDR(BgL_pairz00_2707, BgL_arg1357z00_2695); } }  else 
{ /* Llib/weakhash.scm 137 */
 obj_t BgL_arg1358z00_2696;
{ /* Llib/weakhash.scm 137 */
 obj_t BgL_pairz00_2708;
if(
PAIRP(BgL_bucketz00_1349))
{ /* Llib/weakhash.scm 137 */
BgL_pairz00_2708 = BgL_bucketz00_1349; }  else 
{ 
 obj_t BgL_auxz00_6196;
BgL_auxz00_6196 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5326L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_bucketz00_1349); 
FAILURE(BgL_auxz00_6196,BFALSE,BFALSE);} 
BgL_arg1358z00_2696 = 
CDR(BgL_pairz00_2708); } 
{ /* Llib/weakhash.scm 137 */
 obj_t BgL_vectorz00_2709;
if(
VECTORP(BgL_bucketsz00_48))
{ /* Llib/weakhash.scm 137 */
BgL_vectorz00_2709 = BgL_bucketsz00_48; }  else 
{ 
 obj_t BgL_auxz00_6203;
BgL_auxz00_6203 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5311L), BGl_string3460z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_bucketsz00_48); 
FAILURE(BgL_auxz00_6203,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 137 */
 bool_t BgL_test3793z00_6207;
{ /* Llib/weakhash.scm 137 */
 long BgL_tmpz00_6208;
BgL_tmpz00_6208 = 
VECTOR_LENGTH(BgL_vectorz00_2709); 
BgL_test3793z00_6207 = 
BOUND_CHECK(BgL_iz00_49, BgL_tmpz00_6208); } 
if(BgL_test3793z00_6207)
{ /* Llib/weakhash.scm 137 */
VECTOR_SET(BgL_vectorz00_2709,BgL_iz00_49,BgL_arg1358z00_2696); }  else 
{ 
 obj_t BgL_auxz00_6212;
BgL_auxz00_6212 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5298L), BGl_string3464z00zz__weakhashz00, BgL_vectorz00_2709, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_2709)), 
(int)(BgL_iz00_49)); 
FAILURE(BgL_auxz00_6212,BFALSE,BFALSE);} } } } BGl_keepgoingz00zz__weakhashz00; 
{ /* Llib/weakhash.scm 145 */
 obj_t BgL_arg1364z00_1355;
{ /* Llib/weakhash.scm 145 */
 obj_t BgL_pairz00_2711;
if(
PAIRP(BgL_bucketz00_1349))
{ /* Llib/weakhash.scm 145 */
BgL_pairz00_2711 = BgL_bucketz00_1349; }  else 
{ 
 obj_t BgL_auxz00_6221;
BgL_auxz00_6221 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5685L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_bucketz00_1349); 
FAILURE(BgL_auxz00_6221,BFALSE,BFALSE);} 
BgL_arg1364z00_1355 = 
CDR(BgL_pairz00_2711); } 
{ 
 obj_t BgL_bucketz00_6226;
BgL_bucketz00_6226 = BgL_arg1364z00_1355; 
BgL_bucketz00_1349 = BgL_bucketz00_6226; 
goto BgL_zc3z04anonymousza31361ze3z87_1351;} } }  else 
{ /* Llib/weakhash.scm 145 */
if(
(BgL_retz00_1353==BGl_removestopz00zz__weakhashz00))
{ /* Llib/weakhash.scm 145 */
{ /* Llib/weakhash.scm 134 */
 long BgL_arg1355z00_2712;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_arg1356z00_2713;
{ /* Llib/weakhash.scm 134 */
 bool_t BgL_test3796z00_6229;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_tmpz00_6230;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_res2224z00_2719;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_aux2591z00_4865;
BgL_aux2591z00_4865 = 
STRUCT_KEY(BgL_tablez00_47); 
if(
SYMBOLP(BgL_aux2591z00_4865))
{ /* Llib/weakhash.scm 134 */
BgL_res2224z00_2719 = BgL_aux2591z00_4865; }  else 
{ 
 obj_t BgL_auxz00_6234;
BgL_auxz00_6234 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5201L), BGl_string3460z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux2591z00_4865); 
FAILURE(BgL_auxz00_6234,BFALSE,BFALSE);} } 
BgL_tmpz00_6230 = BgL_res2224z00_2719; } 
BgL_test3796z00_6229 = 
(BgL_tmpz00_6230==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test3796z00_6229)
{ /* Llib/weakhash.scm 134 */
 int BgL_tmpz00_6239;
BgL_tmpz00_6239 = 
(int)(0L); 
BgL_arg1356z00_2713 = 
UNSAFE_STRUCT_REF(BgL_tablez00_47, BgL_tmpz00_6239); }  else 
{ /* Llib/weakhash.scm 134 */
BgL_arg1356z00_2713 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_47); } } 
{ /* Llib/weakhash.scm 134 */
 long BgL_za71za7_2720;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_tmpz00_6243;
if(
INTEGERP(BgL_arg1356z00_2713))
{ /* Llib/weakhash.scm 134 */
BgL_tmpz00_6243 = BgL_arg1356z00_2713
; }  else 
{ 
 obj_t BgL_auxz00_6246;
BgL_auxz00_6246 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5223L), BGl_string3460z00zz__weakhashz00, BGl_string3453z00zz__weakhashz00, BgL_arg1356z00_2713); 
FAILURE(BgL_auxz00_6246,BFALSE,BFALSE);} 
BgL_za71za7_2720 = 
(long)CINT(BgL_tmpz00_6243); } 
BgL_arg1355z00_2712 = 
(BgL_za71za7_2720-1L); } } 
{ /* Llib/weakhash.scm 134 */
 bool_t BgL_test3799z00_6252;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_tmpz00_6253;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_res2225z00_2724;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_aux2594z00_4868;
BgL_aux2594z00_4868 = 
STRUCT_KEY(BgL_tablez00_47); 
if(
SYMBOLP(BgL_aux2594z00_4868))
{ /* Llib/weakhash.scm 134 */
BgL_res2225z00_2724 = BgL_aux2594z00_4868; }  else 
{ 
 obj_t BgL_auxz00_6257;
BgL_auxz00_6257 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5168L), BGl_string3460z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux2594z00_4868); 
FAILURE(BgL_auxz00_6257,BFALSE,BFALSE);} } 
BgL_tmpz00_6253 = BgL_res2225z00_2724; } 
BgL_test3799z00_6252 = 
(BgL_tmpz00_6253==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test3799z00_6252)
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_auxz00_6264; int BgL_tmpz00_6262;
BgL_auxz00_6264 = 
BINT(BgL_arg1355z00_2712); 
BgL_tmpz00_6262 = 
(int)(0L); 
UNSAFE_STRUCT_SET(BgL_tablez00_47, BgL_tmpz00_6262, BgL_auxz00_6264); }  else 
{ /* Llib/weakhash.scm 134 */
BGl_errorz00zz__errorz00(BGl_string3463z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_47); } } } 
if(
CBOOL(BgL_lastzd2bucketzd2_1350))
{ /* Llib/weakhash.scm 136 */
 obj_t BgL_arg1357z00_2714;
{ /* Llib/weakhash.scm 136 */
 obj_t BgL_pairz00_2725;
if(
PAIRP(BgL_bucketz00_1349))
{ /* Llib/weakhash.scm 136 */
BgL_pairz00_2725 = BgL_bucketz00_1349; }  else 
{ 
 obj_t BgL_auxz00_6272;
BgL_auxz00_6272 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5282L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_bucketz00_1349); 
FAILURE(BgL_auxz00_6272,BFALSE,BFALSE);} 
BgL_arg1357z00_2714 = 
CDR(BgL_pairz00_2725); } 
{ /* Llib/weakhash.scm 136 */
 obj_t BgL_pairz00_2726;
if(
PAIRP(BgL_lastzd2bucketzd2_1350))
{ /* Llib/weakhash.scm 136 */
BgL_pairz00_2726 = BgL_lastzd2bucketzd2_1350; }  else 
{ 
 obj_t BgL_auxz00_6279;
BgL_auxz00_6279 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5265L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_lastzd2bucketzd2_1350); 
FAILURE(BgL_auxz00_6279,BFALSE,BFALSE);} 
SET_CDR(BgL_pairz00_2726, BgL_arg1357z00_2714); } }  else 
{ /* Llib/weakhash.scm 137 */
 obj_t BgL_arg1358z00_2715;
{ /* Llib/weakhash.scm 137 */
 obj_t BgL_pairz00_2727;
if(
PAIRP(BgL_bucketz00_1349))
{ /* Llib/weakhash.scm 137 */
BgL_pairz00_2727 = BgL_bucketz00_1349; }  else 
{ 
 obj_t BgL_auxz00_6286;
BgL_auxz00_6286 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5326L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_bucketz00_1349); 
FAILURE(BgL_auxz00_6286,BFALSE,BFALSE);} 
BgL_arg1358z00_2715 = 
CDR(BgL_pairz00_2727); } 
{ /* Llib/weakhash.scm 137 */
 obj_t BgL_vectorz00_2728;
if(
VECTORP(BgL_bucketsz00_48))
{ /* Llib/weakhash.scm 137 */
BgL_vectorz00_2728 = BgL_bucketsz00_48; }  else 
{ 
 obj_t BgL_auxz00_6293;
BgL_auxz00_6293 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5311L), BGl_string3460z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_bucketsz00_48); 
FAILURE(BgL_auxz00_6293,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 137 */
 bool_t BgL_test3806z00_6297;
{ /* Llib/weakhash.scm 137 */
 long BgL_tmpz00_6298;
BgL_tmpz00_6298 = 
VECTOR_LENGTH(BgL_vectorz00_2728); 
BgL_test3806z00_6297 = 
BOUND_CHECK(BgL_iz00_49, BgL_tmpz00_6298); } 
if(BgL_test3806z00_6297)
{ /* Llib/weakhash.scm 137 */
VECTOR_SET(BgL_vectorz00_2728,BgL_iz00_49,BgL_arg1358z00_2715); }  else 
{ 
 obj_t BgL_auxz00_6302;
BgL_auxz00_6302 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5298L), BGl_string3464z00zz__weakhashz00, BgL_vectorz00_2728, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_2728)), 
(int)(BgL_iz00_49)); 
FAILURE(BgL_auxz00_6302,BFALSE,BFALSE);} } } } 
return BGl_keepgoingz00zz__weakhashz00;}  else 
{ /* Llib/weakhash.scm 145 */
return BgL_retz00_1353;} } } } } }  else 
{ /* Llib/weakhash.scm 145 */
 bool_t BgL_test3807z00_6309;
{ /* Llib/weakhash.scm 157 */
 obj_t BgL_arg1392z00_1405;
{ /* Llib/weakhash.scm 157 */
 bool_t BgL_test3808z00_6310;
{ /* Llib/weakhash.scm 157 */
 obj_t BgL_tmpz00_6311;
{ /* Llib/weakhash.scm 157 */
 obj_t BgL_res2226z00_2733;
{ /* Llib/weakhash.scm 157 */
 obj_t BgL_aux2604z00_4878;
BgL_aux2604z00_4878 = 
STRUCT_KEY(BgL_tablez00_47); 
if(
SYMBOLP(BgL_aux2604z00_4878))
{ /* Llib/weakhash.scm 157 */
BgL_res2226z00_2733 = BgL_aux2604z00_4878; }  else 
{ 
 obj_t BgL_auxz00_6315;
BgL_auxz00_6315 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(6071L), BGl_string3457z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux2604z00_4878); 
FAILURE(BgL_auxz00_6315,BFALSE,BFALSE);} } 
BgL_tmpz00_6311 = BgL_res2226z00_2733; } 
BgL_test3808z00_6310 = 
(BgL_tmpz00_6311==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test3808z00_6310)
{ /* Llib/weakhash.scm 157 */
 int BgL_tmpz00_6320;
BgL_tmpz00_6320 = 
(int)(5L); 
BgL_arg1392z00_1405 = 
UNSAFE_STRUCT_REF(BgL_tablez00_47, BgL_tmpz00_6320); }  else 
{ /* Llib/weakhash.scm 157 */
BgL_arg1392z00_1405 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_47); } } 
{ /* Llib/weakhash.scm 157 */
 long BgL_n2z00_2734;
{ /* Llib/weakhash.scm 157 */
 obj_t BgL_tmpz00_6324;
if(
INTEGERP(BgL_arg1392z00_1405))
{ /* Llib/weakhash.scm 157 */
BgL_tmpz00_6324 = BgL_arg1392z00_1405
; }  else 
{ 
 obj_t BgL_auxz00_6327;
BgL_auxz00_6327 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(6093L), BGl_string3457z00zz__weakhashz00, BGl_string3453z00zz__weakhashz00, BgL_arg1392z00_1405); 
FAILURE(BgL_auxz00_6327,BFALSE,BFALSE);} 
BgL_n2z00_2734 = 
(long)CINT(BgL_tmpz00_6324); } 
BgL_test3807z00_6309 = 
(2L==BgL_n2z00_2734); } } 
if(BgL_test3807z00_6309)
{ /* Llib/weakhash.scm 145 */
 obj_t BgL_g1061z00_1362;
{ /* Llib/weakhash.scm 145 */
 obj_t BgL_vectorz00_2735;
if(
VECTORP(BgL_bucketsz00_48))
{ /* Llib/weakhash.scm 145 */
BgL_vectorz00_2735 = BgL_bucketsz00_48; }  else 
{ 
 obj_t BgL_auxz00_6335;
BgL_auxz00_6335 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5685L), BGl_string3457z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_bucketsz00_48); 
FAILURE(BgL_auxz00_6335,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 145 */
 bool_t BgL_test3812z00_6339;
{ /* Llib/weakhash.scm 145 */
 long BgL_tmpz00_6340;
BgL_tmpz00_6340 = 
VECTOR_LENGTH(BgL_vectorz00_2735); 
BgL_test3812z00_6339 = 
BOUND_CHECK(BgL_iz00_49, BgL_tmpz00_6340); } 
if(BgL_test3812z00_6339)
{ /* Llib/weakhash.scm 145 */
BgL_g1061z00_1362 = 
VECTOR_REF(BgL_vectorz00_2735,BgL_iz00_49); }  else 
{ 
 obj_t BgL_auxz00_6344;
BgL_auxz00_6344 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5685L), BGl_string3459z00zz__weakhashz00, BgL_vectorz00_2735, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_2735)), 
(int)(BgL_iz00_49)); 
FAILURE(BgL_auxz00_6344,BFALSE,BFALSE);} } } 
{ 
 obj_t BgL_bucketz00_1364; obj_t BgL_lastzd2bucketzd2_1365;
BgL_bucketz00_1364 = BgL_g1061z00_1362; 
BgL_lastzd2bucketzd2_1365 = BFALSE; 
BgL_zc3z04anonymousza31369ze3z87_1366:
if(
NULLP(BgL_bucketz00_1364))
{ /* Llib/weakhash.scm 145 */
return BGl_keepgoingz00zz__weakhashz00;}  else 
{ /* Llib/weakhash.scm 145 */
 obj_t BgL_retz00_1368;
{ /* Llib/weakhash.scm 159 */
 obj_t BgL_dataz00_1371;
{ /* Llib/weakhash.scm 159 */
 obj_t BgL_arg1374z00_1373;
{ /* Llib/weakhash.scm 159 */
 obj_t BgL_pairz00_2737;
if(
PAIRP(BgL_bucketz00_1364))
{ /* Llib/weakhash.scm 159 */
BgL_pairz00_2737 = BgL_bucketz00_1364; }  else 
{ 
 obj_t BgL_auxz00_6355;
BgL_auxz00_6355 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(6152L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_bucketz00_1364); 
FAILURE(BgL_auxz00_6355,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 159 */
 obj_t BgL_pairz00_2740;
{ /* Llib/weakhash.scm 159 */
 obj_t BgL_aux2611z00_4885;
BgL_aux2611z00_4885 = 
CAR(BgL_pairz00_2737); 
if(
PAIRP(BgL_aux2611z00_4885))
{ /* Llib/weakhash.scm 159 */
BgL_pairz00_2740 = BgL_aux2611z00_4885; }  else 
{ 
 obj_t BgL_auxz00_6362;
BgL_auxz00_6362 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(6146L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_aux2611z00_4885); 
FAILURE(BgL_auxz00_6362,BFALSE,BFALSE);} } 
BgL_arg1374z00_1373 = 
CDR(BgL_pairz00_2740); } } 
{ /* Llib/weakhash.scm 159 */
 obj_t BgL_objz00_2741;
if(
BGL_WEAKPTRP(BgL_arg1374z00_1373))
{ /* Llib/weakhash.scm 159 */
BgL_objz00_2741 = BgL_arg1374z00_1373; }  else 
{ 
 obj_t BgL_auxz00_6369;
BgL_auxz00_6369 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(6158L), BGl_string3460z00zz__weakhashz00, BGl_string3462z00zz__weakhashz00, BgL_arg1374z00_1373); 
FAILURE(BgL_auxz00_6369,BFALSE,BFALSE);} 
BgL_dataz00_1371 = 
bgl_weakptr_data(BgL_objz00_2741); } } 
if(
(BgL_dataz00_1371==BUNSPEC))
{ /* Llib/weakhash.scm 160 */
BgL_retz00_1368 = BGl_removez00zz__weakhashz00; }  else 
{ /* Llib/weakhash.scm 162 */
 obj_t BgL_arg1373z00_1372;
{ /* Llib/weakhash.scm 162 */
 obj_t BgL_pairz00_2742;
if(
PAIRP(BgL_bucketz00_1364))
{ /* Llib/weakhash.scm 162 */
BgL_pairz00_2742 = BgL_bucketz00_1364; }  else 
{ 
 obj_t BgL_auxz00_6378;
BgL_auxz00_6378 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(6235L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_bucketz00_1364); 
FAILURE(BgL_auxz00_6378,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 162 */
 obj_t BgL_pairz00_2745;
{ /* Llib/weakhash.scm 162 */
 obj_t BgL_aux2617z00_4891;
BgL_aux2617z00_4891 = 
CAR(BgL_pairz00_2742); 
if(
PAIRP(BgL_aux2617z00_4891))
{ /* Llib/weakhash.scm 162 */
BgL_pairz00_2745 = BgL_aux2617z00_4891; }  else 
{ 
 obj_t BgL_auxz00_6385;
BgL_auxz00_6385 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(6229L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_aux2617z00_4891); 
FAILURE(BgL_auxz00_6385,BFALSE,BFALSE);} } 
BgL_arg1373z00_1372 = 
CAR(BgL_pairz00_2745); } } 
BgL_retz00_1368 = 
((obj_t (*)(obj_t, obj_t, obj_t, obj_t))PROCEDURE_L_ENTRY(BgL_funz00_50))(BgL_funz00_50, BgL_arg1373z00_1372, BgL_dataz00_1371, BgL_bucketz00_1364); } } 
if(
(BgL_retz00_1368==BGl_keepgoingz00zz__weakhashz00))
{ /* Llib/weakhash.scm 145 */
 obj_t BgL_arg1371z00_1369;
{ /* Llib/weakhash.scm 145 */
 obj_t BgL_pairz00_2746;
if(
PAIRP(BgL_bucketz00_1364))
{ /* Llib/weakhash.scm 145 */
BgL_pairz00_2746 = BgL_bucketz00_1364; }  else 
{ 
 obj_t BgL_auxz00_6400;
BgL_auxz00_6400 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5685L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_bucketz00_1364); 
FAILURE(BgL_auxz00_6400,BFALSE,BFALSE);} 
BgL_arg1371z00_1369 = 
CDR(BgL_pairz00_2746); } 
{ 
 obj_t BgL_lastzd2bucketzd2_6406; obj_t BgL_bucketz00_6405;
BgL_bucketz00_6405 = BgL_arg1371z00_1369; 
BgL_lastzd2bucketzd2_6406 = BgL_bucketz00_1364; 
BgL_lastzd2bucketzd2_1365 = BgL_lastzd2bucketzd2_6406; 
BgL_bucketz00_1364 = BgL_bucketz00_6405; 
goto BgL_zc3z04anonymousza31369ze3z87_1366;} }  else 
{ /* Llib/weakhash.scm 145 */
if(
(BgL_retz00_1368==BGl_removez00zz__weakhashz00))
{ /* Llib/weakhash.scm 145 */
{ /* Llib/weakhash.scm 134 */
 long BgL_arg1355z00_2747;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_arg1356z00_2748;
{ /* Llib/weakhash.scm 134 */
 bool_t BgL_test3823z00_6409;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_tmpz00_6410;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_res2227z00_2754;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_aux2621z00_4895;
BgL_aux2621z00_4895 = 
STRUCT_KEY(BgL_tablez00_47); 
if(
SYMBOLP(BgL_aux2621z00_4895))
{ /* Llib/weakhash.scm 134 */
BgL_res2227z00_2754 = BgL_aux2621z00_4895; }  else 
{ 
 obj_t BgL_auxz00_6414;
BgL_auxz00_6414 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5201L), BGl_string3460z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux2621z00_4895); 
FAILURE(BgL_auxz00_6414,BFALSE,BFALSE);} } 
BgL_tmpz00_6410 = BgL_res2227z00_2754; } 
BgL_test3823z00_6409 = 
(BgL_tmpz00_6410==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test3823z00_6409)
{ /* Llib/weakhash.scm 134 */
 int BgL_tmpz00_6419;
BgL_tmpz00_6419 = 
(int)(0L); 
BgL_arg1356z00_2748 = 
UNSAFE_STRUCT_REF(BgL_tablez00_47, BgL_tmpz00_6419); }  else 
{ /* Llib/weakhash.scm 134 */
BgL_arg1356z00_2748 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_47); } } 
{ /* Llib/weakhash.scm 134 */
 long BgL_za71za7_2755;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_tmpz00_6423;
if(
INTEGERP(BgL_arg1356z00_2748))
{ /* Llib/weakhash.scm 134 */
BgL_tmpz00_6423 = BgL_arg1356z00_2748
; }  else 
{ 
 obj_t BgL_auxz00_6426;
BgL_auxz00_6426 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5223L), BGl_string3460z00zz__weakhashz00, BGl_string3453z00zz__weakhashz00, BgL_arg1356z00_2748); 
FAILURE(BgL_auxz00_6426,BFALSE,BFALSE);} 
BgL_za71za7_2755 = 
(long)CINT(BgL_tmpz00_6423); } 
BgL_arg1355z00_2747 = 
(BgL_za71za7_2755-1L); } } 
{ /* Llib/weakhash.scm 134 */
 bool_t BgL_test3826z00_6432;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_tmpz00_6433;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_res2228z00_2759;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_aux2624z00_4898;
BgL_aux2624z00_4898 = 
STRUCT_KEY(BgL_tablez00_47); 
if(
SYMBOLP(BgL_aux2624z00_4898))
{ /* Llib/weakhash.scm 134 */
BgL_res2228z00_2759 = BgL_aux2624z00_4898; }  else 
{ 
 obj_t BgL_auxz00_6437;
BgL_auxz00_6437 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5168L), BGl_string3460z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux2624z00_4898); 
FAILURE(BgL_auxz00_6437,BFALSE,BFALSE);} } 
BgL_tmpz00_6433 = BgL_res2228z00_2759; } 
BgL_test3826z00_6432 = 
(BgL_tmpz00_6433==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test3826z00_6432)
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_auxz00_6444; int BgL_tmpz00_6442;
BgL_auxz00_6444 = 
BINT(BgL_arg1355z00_2747); 
BgL_tmpz00_6442 = 
(int)(0L); 
UNSAFE_STRUCT_SET(BgL_tablez00_47, BgL_tmpz00_6442, BgL_auxz00_6444); }  else 
{ /* Llib/weakhash.scm 134 */
BGl_errorz00zz__errorz00(BGl_string3463z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_47); } } } 
if(
CBOOL(BgL_lastzd2bucketzd2_1365))
{ /* Llib/weakhash.scm 136 */
 obj_t BgL_arg1357z00_2749;
{ /* Llib/weakhash.scm 136 */
 obj_t BgL_pairz00_2760;
if(
PAIRP(BgL_bucketz00_1364))
{ /* Llib/weakhash.scm 136 */
BgL_pairz00_2760 = BgL_bucketz00_1364; }  else 
{ 
 obj_t BgL_auxz00_6452;
BgL_auxz00_6452 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5282L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_bucketz00_1364); 
FAILURE(BgL_auxz00_6452,BFALSE,BFALSE);} 
BgL_arg1357z00_2749 = 
CDR(BgL_pairz00_2760); } 
{ /* Llib/weakhash.scm 136 */
 obj_t BgL_pairz00_2761;
if(
PAIRP(BgL_lastzd2bucketzd2_1365))
{ /* Llib/weakhash.scm 136 */
BgL_pairz00_2761 = BgL_lastzd2bucketzd2_1365; }  else 
{ 
 obj_t BgL_auxz00_6459;
BgL_auxz00_6459 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5265L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_lastzd2bucketzd2_1365); 
FAILURE(BgL_auxz00_6459,BFALSE,BFALSE);} 
SET_CDR(BgL_pairz00_2761, BgL_arg1357z00_2749); } }  else 
{ /* Llib/weakhash.scm 137 */
 obj_t BgL_arg1358z00_2750;
{ /* Llib/weakhash.scm 137 */
 obj_t BgL_pairz00_2762;
if(
PAIRP(BgL_bucketz00_1364))
{ /* Llib/weakhash.scm 137 */
BgL_pairz00_2762 = BgL_bucketz00_1364; }  else 
{ 
 obj_t BgL_auxz00_6466;
BgL_auxz00_6466 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5326L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_bucketz00_1364); 
FAILURE(BgL_auxz00_6466,BFALSE,BFALSE);} 
BgL_arg1358z00_2750 = 
CDR(BgL_pairz00_2762); } 
{ /* Llib/weakhash.scm 137 */
 obj_t BgL_vectorz00_2763;
if(
VECTORP(BgL_bucketsz00_48))
{ /* Llib/weakhash.scm 137 */
BgL_vectorz00_2763 = BgL_bucketsz00_48; }  else 
{ 
 obj_t BgL_auxz00_6473;
BgL_auxz00_6473 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5311L), BGl_string3460z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_bucketsz00_48); 
FAILURE(BgL_auxz00_6473,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 137 */
 bool_t BgL_test3833z00_6477;
{ /* Llib/weakhash.scm 137 */
 long BgL_tmpz00_6478;
BgL_tmpz00_6478 = 
VECTOR_LENGTH(BgL_vectorz00_2763); 
BgL_test3833z00_6477 = 
BOUND_CHECK(BgL_iz00_49, BgL_tmpz00_6478); } 
if(BgL_test3833z00_6477)
{ /* Llib/weakhash.scm 137 */
VECTOR_SET(BgL_vectorz00_2763,BgL_iz00_49,BgL_arg1358z00_2750); }  else 
{ 
 obj_t BgL_auxz00_6482;
BgL_auxz00_6482 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5298L), BGl_string3464z00zz__weakhashz00, BgL_vectorz00_2763, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_2763)), 
(int)(BgL_iz00_49)); 
FAILURE(BgL_auxz00_6482,BFALSE,BFALSE);} } } } BGl_keepgoingz00zz__weakhashz00; 
{ /* Llib/weakhash.scm 145 */
 obj_t BgL_arg1372z00_1370;
{ /* Llib/weakhash.scm 145 */
 obj_t BgL_pairz00_2765;
if(
PAIRP(BgL_bucketz00_1364))
{ /* Llib/weakhash.scm 145 */
BgL_pairz00_2765 = BgL_bucketz00_1364; }  else 
{ 
 obj_t BgL_auxz00_6491;
BgL_auxz00_6491 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5685L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_bucketz00_1364); 
FAILURE(BgL_auxz00_6491,BFALSE,BFALSE);} 
BgL_arg1372z00_1370 = 
CDR(BgL_pairz00_2765); } 
{ 
 obj_t BgL_bucketz00_6496;
BgL_bucketz00_6496 = BgL_arg1372z00_1370; 
BgL_bucketz00_1364 = BgL_bucketz00_6496; 
goto BgL_zc3z04anonymousza31369ze3z87_1366;} } }  else 
{ /* Llib/weakhash.scm 145 */
if(
(BgL_retz00_1368==BGl_removestopz00zz__weakhashz00))
{ /* Llib/weakhash.scm 145 */
{ /* Llib/weakhash.scm 134 */
 long BgL_arg1355z00_2766;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_arg1356z00_2767;
{ /* Llib/weakhash.scm 134 */
 bool_t BgL_test3836z00_6499;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_tmpz00_6500;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_res2229z00_2773;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_aux2636z00_4910;
BgL_aux2636z00_4910 = 
STRUCT_KEY(BgL_tablez00_47); 
if(
SYMBOLP(BgL_aux2636z00_4910))
{ /* Llib/weakhash.scm 134 */
BgL_res2229z00_2773 = BgL_aux2636z00_4910; }  else 
{ 
 obj_t BgL_auxz00_6504;
BgL_auxz00_6504 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5201L), BGl_string3460z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux2636z00_4910); 
FAILURE(BgL_auxz00_6504,BFALSE,BFALSE);} } 
BgL_tmpz00_6500 = BgL_res2229z00_2773; } 
BgL_test3836z00_6499 = 
(BgL_tmpz00_6500==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test3836z00_6499)
{ /* Llib/weakhash.scm 134 */
 int BgL_tmpz00_6509;
BgL_tmpz00_6509 = 
(int)(0L); 
BgL_arg1356z00_2767 = 
UNSAFE_STRUCT_REF(BgL_tablez00_47, BgL_tmpz00_6509); }  else 
{ /* Llib/weakhash.scm 134 */
BgL_arg1356z00_2767 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_47); } } 
{ /* Llib/weakhash.scm 134 */
 long BgL_za71za7_2774;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_tmpz00_6513;
if(
INTEGERP(BgL_arg1356z00_2767))
{ /* Llib/weakhash.scm 134 */
BgL_tmpz00_6513 = BgL_arg1356z00_2767
; }  else 
{ 
 obj_t BgL_auxz00_6516;
BgL_auxz00_6516 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5223L), BGl_string3460z00zz__weakhashz00, BGl_string3453z00zz__weakhashz00, BgL_arg1356z00_2767); 
FAILURE(BgL_auxz00_6516,BFALSE,BFALSE);} 
BgL_za71za7_2774 = 
(long)CINT(BgL_tmpz00_6513); } 
BgL_arg1355z00_2766 = 
(BgL_za71za7_2774-1L); } } 
{ /* Llib/weakhash.scm 134 */
 bool_t BgL_test3839z00_6522;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_tmpz00_6523;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_res2230z00_2778;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_aux2639z00_4913;
BgL_aux2639z00_4913 = 
STRUCT_KEY(BgL_tablez00_47); 
if(
SYMBOLP(BgL_aux2639z00_4913))
{ /* Llib/weakhash.scm 134 */
BgL_res2230z00_2778 = BgL_aux2639z00_4913; }  else 
{ 
 obj_t BgL_auxz00_6527;
BgL_auxz00_6527 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5168L), BGl_string3460z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux2639z00_4913); 
FAILURE(BgL_auxz00_6527,BFALSE,BFALSE);} } 
BgL_tmpz00_6523 = BgL_res2230z00_2778; } 
BgL_test3839z00_6522 = 
(BgL_tmpz00_6523==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test3839z00_6522)
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_auxz00_6534; int BgL_tmpz00_6532;
BgL_auxz00_6534 = 
BINT(BgL_arg1355z00_2766); 
BgL_tmpz00_6532 = 
(int)(0L); 
UNSAFE_STRUCT_SET(BgL_tablez00_47, BgL_tmpz00_6532, BgL_auxz00_6534); }  else 
{ /* Llib/weakhash.scm 134 */
BGl_errorz00zz__errorz00(BGl_string3463z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_47); } } } 
if(
CBOOL(BgL_lastzd2bucketzd2_1365))
{ /* Llib/weakhash.scm 136 */
 obj_t BgL_arg1357z00_2768;
{ /* Llib/weakhash.scm 136 */
 obj_t BgL_pairz00_2779;
if(
PAIRP(BgL_bucketz00_1364))
{ /* Llib/weakhash.scm 136 */
BgL_pairz00_2779 = BgL_bucketz00_1364; }  else 
{ 
 obj_t BgL_auxz00_6542;
BgL_auxz00_6542 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5282L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_bucketz00_1364); 
FAILURE(BgL_auxz00_6542,BFALSE,BFALSE);} 
BgL_arg1357z00_2768 = 
CDR(BgL_pairz00_2779); } 
{ /* Llib/weakhash.scm 136 */
 obj_t BgL_pairz00_2780;
if(
PAIRP(BgL_lastzd2bucketzd2_1365))
{ /* Llib/weakhash.scm 136 */
BgL_pairz00_2780 = BgL_lastzd2bucketzd2_1365; }  else 
{ 
 obj_t BgL_auxz00_6549;
BgL_auxz00_6549 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5265L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_lastzd2bucketzd2_1365); 
FAILURE(BgL_auxz00_6549,BFALSE,BFALSE);} 
SET_CDR(BgL_pairz00_2780, BgL_arg1357z00_2768); } }  else 
{ /* Llib/weakhash.scm 137 */
 obj_t BgL_arg1358z00_2769;
{ /* Llib/weakhash.scm 137 */
 obj_t BgL_pairz00_2781;
if(
PAIRP(BgL_bucketz00_1364))
{ /* Llib/weakhash.scm 137 */
BgL_pairz00_2781 = BgL_bucketz00_1364; }  else 
{ 
 obj_t BgL_auxz00_6556;
BgL_auxz00_6556 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5326L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_bucketz00_1364); 
FAILURE(BgL_auxz00_6556,BFALSE,BFALSE);} 
BgL_arg1358z00_2769 = 
CDR(BgL_pairz00_2781); } 
{ /* Llib/weakhash.scm 137 */
 obj_t BgL_vectorz00_2782;
if(
VECTORP(BgL_bucketsz00_48))
{ /* Llib/weakhash.scm 137 */
BgL_vectorz00_2782 = BgL_bucketsz00_48; }  else 
{ 
 obj_t BgL_auxz00_6563;
BgL_auxz00_6563 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5311L), BGl_string3460z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_bucketsz00_48); 
FAILURE(BgL_auxz00_6563,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 137 */
 bool_t BgL_test3846z00_6567;
{ /* Llib/weakhash.scm 137 */
 long BgL_tmpz00_6568;
BgL_tmpz00_6568 = 
VECTOR_LENGTH(BgL_vectorz00_2782); 
BgL_test3846z00_6567 = 
BOUND_CHECK(BgL_iz00_49, BgL_tmpz00_6568); } 
if(BgL_test3846z00_6567)
{ /* Llib/weakhash.scm 137 */
VECTOR_SET(BgL_vectorz00_2782,BgL_iz00_49,BgL_arg1358z00_2769); }  else 
{ 
 obj_t BgL_auxz00_6572;
BgL_auxz00_6572 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5298L), BGl_string3464z00zz__weakhashz00, BgL_vectorz00_2782, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_2782)), 
(int)(BgL_iz00_49)); 
FAILURE(BgL_auxz00_6572,BFALSE,BFALSE);} } } } 
return BGl_keepgoingz00zz__weakhashz00;}  else 
{ /* Llib/weakhash.scm 145 */
return BgL_retz00_1368;} } } } } }  else 
{ /* Llib/weakhash.scm 145 */
 bool_t BgL_test3847z00_6579;
{ /* Llib/weakhash.scm 163 */
 obj_t BgL_arg1391z00_1404;
{ /* Llib/weakhash.scm 163 */
 bool_t BgL_test3848z00_6580;
{ /* Llib/weakhash.scm 163 */
 obj_t BgL_tmpz00_6581;
{ /* Llib/weakhash.scm 163 */
 obj_t BgL_res2231z00_2787;
{ /* Llib/weakhash.scm 163 */
 obj_t BgL_aux2649z00_4923;
BgL_aux2649z00_4923 = 
STRUCT_KEY(BgL_tablez00_47); 
if(
SYMBOLP(BgL_aux2649z00_4923))
{ /* Llib/weakhash.scm 163 */
BgL_res2231z00_2787 = BgL_aux2649z00_4923; }  else 
{ 
 obj_t BgL_auxz00_6585;
BgL_auxz00_6585 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(6286L), BGl_string3457z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux2649z00_4923); 
FAILURE(BgL_auxz00_6585,BFALSE,BFALSE);} } 
BgL_tmpz00_6581 = BgL_res2231z00_2787; } 
BgL_test3848z00_6580 = 
(BgL_tmpz00_6581==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test3848z00_6580)
{ /* Llib/weakhash.scm 163 */
 int BgL_tmpz00_6590;
BgL_tmpz00_6590 = 
(int)(5L); 
BgL_arg1391z00_1404 = 
UNSAFE_STRUCT_REF(BgL_tablez00_47, BgL_tmpz00_6590); }  else 
{ /* Llib/weakhash.scm 163 */
BgL_arg1391z00_1404 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_47); } } 
{ /* Llib/weakhash.scm 163 */
 long BgL_n2z00_2788;
{ /* Llib/weakhash.scm 163 */
 obj_t BgL_tmpz00_6594;
if(
INTEGERP(BgL_arg1391z00_1404))
{ /* Llib/weakhash.scm 163 */
BgL_tmpz00_6594 = BgL_arg1391z00_1404
; }  else 
{ 
 obj_t BgL_auxz00_6597;
BgL_auxz00_6597 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(6308L), BGl_string3457z00zz__weakhashz00, BGl_string3453z00zz__weakhashz00, BgL_arg1391z00_1404); 
FAILURE(BgL_auxz00_6597,BFALSE,BFALSE);} 
BgL_n2z00_2788 = 
(long)CINT(BgL_tmpz00_6594); } 
BgL_test3847z00_6579 = 
(3L==BgL_n2z00_2788); } } 
if(BgL_test3847z00_6579)
{ /* Llib/weakhash.scm 145 */
 obj_t BgL_g1062z00_1377;
{ /* Llib/weakhash.scm 145 */
 obj_t BgL_vectorz00_2789;
if(
VECTORP(BgL_bucketsz00_48))
{ /* Llib/weakhash.scm 145 */
BgL_vectorz00_2789 = BgL_bucketsz00_48; }  else 
{ 
 obj_t BgL_auxz00_6605;
BgL_auxz00_6605 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5685L), BGl_string3457z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_bucketsz00_48); 
FAILURE(BgL_auxz00_6605,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 145 */
 bool_t BgL_test3852z00_6609;
{ /* Llib/weakhash.scm 145 */
 long BgL_tmpz00_6610;
BgL_tmpz00_6610 = 
VECTOR_LENGTH(BgL_vectorz00_2789); 
BgL_test3852z00_6609 = 
BOUND_CHECK(BgL_iz00_49, BgL_tmpz00_6610); } 
if(BgL_test3852z00_6609)
{ /* Llib/weakhash.scm 145 */
BgL_g1062z00_1377 = 
VECTOR_REF(BgL_vectorz00_2789,BgL_iz00_49); }  else 
{ 
 obj_t BgL_auxz00_6614;
BgL_auxz00_6614 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5685L), BGl_string3459z00zz__weakhashz00, BgL_vectorz00_2789, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_2789)), 
(int)(BgL_iz00_49)); 
FAILURE(BgL_auxz00_6614,BFALSE,BFALSE);} } } 
{ 
 obj_t BgL_bucketz00_1379; obj_t BgL_lastzd2bucketzd2_1380;
BgL_bucketz00_1379 = BgL_g1062z00_1377; 
BgL_lastzd2bucketzd2_1380 = BFALSE; 
BgL_zc3z04anonymousza31378ze3z87_1381:
if(
NULLP(BgL_bucketz00_1379))
{ /* Llib/weakhash.scm 145 */
return BGl_keepgoingz00zz__weakhashz00;}  else 
{ /* Llib/weakhash.scm 145 */
 obj_t BgL_retz00_1383;
{ /* Llib/weakhash.scm 165 */
 obj_t BgL_keyz00_1386; obj_t BgL_dataz00_1387;
{ /* Llib/weakhash.scm 165 */
 obj_t BgL_arg1383z00_1389;
{ /* Llib/weakhash.scm 165 */
 obj_t BgL_pairz00_2791;
if(
PAIRP(BgL_bucketz00_1379))
{ /* Llib/weakhash.scm 165 */
BgL_pairz00_2791 = BgL_bucketz00_1379; }  else 
{ 
 obj_t BgL_auxz00_6625;
BgL_auxz00_6625 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(6370L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_bucketz00_1379); 
FAILURE(BgL_auxz00_6625,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 165 */
 obj_t BgL_pairz00_2794;
{ /* Llib/weakhash.scm 165 */
 obj_t BgL_aux2656z00_4930;
BgL_aux2656z00_4930 = 
CAR(BgL_pairz00_2791); 
if(
PAIRP(BgL_aux2656z00_4930))
{ /* Llib/weakhash.scm 165 */
BgL_pairz00_2794 = BgL_aux2656z00_4930; }  else 
{ 
 obj_t BgL_auxz00_6632;
BgL_auxz00_6632 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(6364L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_aux2656z00_4930); 
FAILURE(BgL_auxz00_6632,BFALSE,BFALSE);} } 
BgL_arg1383z00_1389 = 
CAR(BgL_pairz00_2794); } } 
{ /* Llib/weakhash.scm 165 */
 obj_t BgL_objz00_2795;
if(
BGL_WEAKPTRP(BgL_arg1383z00_1389))
{ /* Llib/weakhash.scm 165 */
BgL_objz00_2795 = BgL_arg1383z00_1389; }  else 
{ 
 obj_t BgL_auxz00_6639;
BgL_auxz00_6639 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(6376L), BGl_string3460z00zz__weakhashz00, BGl_string3462z00zz__weakhashz00, BgL_arg1383z00_1389); 
FAILURE(BgL_auxz00_6639,BFALSE,BFALSE);} 
BgL_keyz00_1386 = 
bgl_weakptr_data(BgL_objz00_2795); } } 
{ /* Llib/weakhash.scm 166 */
 obj_t BgL_arg1384z00_1390;
{ /* Llib/weakhash.scm 166 */
 obj_t BgL_pairz00_2796;
if(
PAIRP(BgL_bucketz00_1379))
{ /* Llib/weakhash.scm 166 */
BgL_pairz00_2796 = BgL_bucketz00_1379; }  else 
{ 
 obj_t BgL_auxz00_6646;
BgL_auxz00_6646 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(6415L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_bucketz00_1379); 
FAILURE(BgL_auxz00_6646,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 166 */
 obj_t BgL_pairz00_2799;
{ /* Llib/weakhash.scm 166 */
 obj_t BgL_aux2662z00_4936;
BgL_aux2662z00_4936 = 
CAR(BgL_pairz00_2796); 
if(
PAIRP(BgL_aux2662z00_4936))
{ /* Llib/weakhash.scm 166 */
BgL_pairz00_2799 = BgL_aux2662z00_4936; }  else 
{ 
 obj_t BgL_auxz00_6653;
BgL_auxz00_6653 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(6409L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_aux2662z00_4936); 
FAILURE(BgL_auxz00_6653,BFALSE,BFALSE);} } 
BgL_arg1384z00_1390 = 
CDR(BgL_pairz00_2799); } } 
{ /* Llib/weakhash.scm 166 */
 obj_t BgL_objz00_2800;
if(
BGL_WEAKPTRP(BgL_arg1384z00_1390))
{ /* Llib/weakhash.scm 166 */
BgL_objz00_2800 = BgL_arg1384z00_1390; }  else 
{ 
 obj_t BgL_auxz00_6660;
BgL_auxz00_6660 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(6421L), BGl_string3460z00zz__weakhashz00, BGl_string3462z00zz__weakhashz00, BgL_arg1384z00_1390); 
FAILURE(BgL_auxz00_6660,BFALSE,BFALSE);} 
BgL_dataz00_1387 = 
bgl_weakptr_data(BgL_objz00_2800); } } 
{ /* Llib/weakhash.scm 167 */
 bool_t BgL_test3860z00_6665;
if(
(BgL_keyz00_1386==BUNSPEC))
{ /* Llib/weakhash.scm 167 */
BgL_test3860z00_6665 = ((bool_t)1)
; }  else 
{ /* Llib/weakhash.scm 167 */
BgL_test3860z00_6665 = 
(BgL_dataz00_1387==BUNSPEC)
; } 
if(BgL_test3860z00_6665)
{ /* Llib/weakhash.scm 167 */
BgL_retz00_1383 = BGl_removez00zz__weakhashz00; }  else 
{ /* Llib/weakhash.scm 167 */
BgL_retz00_1383 = 
((obj_t (*)(obj_t, obj_t, obj_t, obj_t))PROCEDURE_L_ENTRY(BgL_funz00_50))(BgL_funz00_50, BgL_keyz00_1386, BgL_dataz00_1387, BgL_bucketz00_1379); } } } 
if(
(BgL_retz00_1383==BGl_keepgoingz00zz__weakhashz00))
{ /* Llib/weakhash.scm 145 */
 obj_t BgL_arg1380z00_1384;
{ /* Llib/weakhash.scm 145 */
 obj_t BgL_pairz00_2801;
if(
PAIRP(BgL_bucketz00_1379))
{ /* Llib/weakhash.scm 145 */
BgL_pairz00_2801 = BgL_bucketz00_1379; }  else 
{ 
 obj_t BgL_auxz00_6679;
BgL_auxz00_6679 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5685L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_bucketz00_1379); 
FAILURE(BgL_auxz00_6679,BFALSE,BFALSE);} 
BgL_arg1380z00_1384 = 
CDR(BgL_pairz00_2801); } 
{ 
 obj_t BgL_lastzd2bucketzd2_6685; obj_t BgL_bucketz00_6684;
BgL_bucketz00_6684 = BgL_arg1380z00_1384; 
BgL_lastzd2bucketzd2_6685 = BgL_bucketz00_1379; 
BgL_lastzd2bucketzd2_1380 = BgL_lastzd2bucketzd2_6685; 
BgL_bucketz00_1379 = BgL_bucketz00_6684; 
goto BgL_zc3z04anonymousza31378ze3z87_1381;} }  else 
{ /* Llib/weakhash.scm 145 */
if(
(BgL_retz00_1383==BGl_removez00zz__weakhashz00))
{ /* Llib/weakhash.scm 145 */
{ /* Llib/weakhash.scm 134 */
 long BgL_arg1355z00_2802;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_arg1356z00_2803;
{ /* Llib/weakhash.scm 134 */
 bool_t BgL_test3865z00_6688;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_tmpz00_6689;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_res2232z00_2809;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_aux2668z00_4942;
BgL_aux2668z00_4942 = 
STRUCT_KEY(BgL_tablez00_47); 
if(
SYMBOLP(BgL_aux2668z00_4942))
{ /* Llib/weakhash.scm 134 */
BgL_res2232z00_2809 = BgL_aux2668z00_4942; }  else 
{ 
 obj_t BgL_auxz00_6693;
BgL_auxz00_6693 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5201L), BGl_string3460z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux2668z00_4942); 
FAILURE(BgL_auxz00_6693,BFALSE,BFALSE);} } 
BgL_tmpz00_6689 = BgL_res2232z00_2809; } 
BgL_test3865z00_6688 = 
(BgL_tmpz00_6689==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test3865z00_6688)
{ /* Llib/weakhash.scm 134 */
 int BgL_tmpz00_6698;
BgL_tmpz00_6698 = 
(int)(0L); 
BgL_arg1356z00_2803 = 
UNSAFE_STRUCT_REF(BgL_tablez00_47, BgL_tmpz00_6698); }  else 
{ /* Llib/weakhash.scm 134 */
BgL_arg1356z00_2803 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_47); } } 
{ /* Llib/weakhash.scm 134 */
 long BgL_za71za7_2810;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_tmpz00_6702;
if(
INTEGERP(BgL_arg1356z00_2803))
{ /* Llib/weakhash.scm 134 */
BgL_tmpz00_6702 = BgL_arg1356z00_2803
; }  else 
{ 
 obj_t BgL_auxz00_6705;
BgL_auxz00_6705 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5223L), BGl_string3460z00zz__weakhashz00, BGl_string3453z00zz__weakhashz00, BgL_arg1356z00_2803); 
FAILURE(BgL_auxz00_6705,BFALSE,BFALSE);} 
BgL_za71za7_2810 = 
(long)CINT(BgL_tmpz00_6702); } 
BgL_arg1355z00_2802 = 
(BgL_za71za7_2810-1L); } } 
{ /* Llib/weakhash.scm 134 */
 bool_t BgL_test3868z00_6711;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_tmpz00_6712;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_res2233z00_2814;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_aux2671z00_4945;
BgL_aux2671z00_4945 = 
STRUCT_KEY(BgL_tablez00_47); 
if(
SYMBOLP(BgL_aux2671z00_4945))
{ /* Llib/weakhash.scm 134 */
BgL_res2233z00_2814 = BgL_aux2671z00_4945; }  else 
{ 
 obj_t BgL_auxz00_6716;
BgL_auxz00_6716 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5168L), BGl_string3460z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux2671z00_4945); 
FAILURE(BgL_auxz00_6716,BFALSE,BFALSE);} } 
BgL_tmpz00_6712 = BgL_res2233z00_2814; } 
BgL_test3868z00_6711 = 
(BgL_tmpz00_6712==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test3868z00_6711)
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_auxz00_6723; int BgL_tmpz00_6721;
BgL_auxz00_6723 = 
BINT(BgL_arg1355z00_2802); 
BgL_tmpz00_6721 = 
(int)(0L); 
UNSAFE_STRUCT_SET(BgL_tablez00_47, BgL_tmpz00_6721, BgL_auxz00_6723); }  else 
{ /* Llib/weakhash.scm 134 */
BGl_errorz00zz__errorz00(BGl_string3463z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_47); } } } 
if(
CBOOL(BgL_lastzd2bucketzd2_1380))
{ /* Llib/weakhash.scm 136 */
 obj_t BgL_arg1357z00_2804;
{ /* Llib/weakhash.scm 136 */
 obj_t BgL_pairz00_2815;
if(
PAIRP(BgL_bucketz00_1379))
{ /* Llib/weakhash.scm 136 */
BgL_pairz00_2815 = BgL_bucketz00_1379; }  else 
{ 
 obj_t BgL_auxz00_6731;
BgL_auxz00_6731 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5282L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_bucketz00_1379); 
FAILURE(BgL_auxz00_6731,BFALSE,BFALSE);} 
BgL_arg1357z00_2804 = 
CDR(BgL_pairz00_2815); } 
{ /* Llib/weakhash.scm 136 */
 obj_t BgL_pairz00_2816;
if(
PAIRP(BgL_lastzd2bucketzd2_1380))
{ /* Llib/weakhash.scm 136 */
BgL_pairz00_2816 = BgL_lastzd2bucketzd2_1380; }  else 
{ 
 obj_t BgL_auxz00_6738;
BgL_auxz00_6738 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5265L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_lastzd2bucketzd2_1380); 
FAILURE(BgL_auxz00_6738,BFALSE,BFALSE);} 
SET_CDR(BgL_pairz00_2816, BgL_arg1357z00_2804); } }  else 
{ /* Llib/weakhash.scm 137 */
 obj_t BgL_arg1358z00_2805;
{ /* Llib/weakhash.scm 137 */
 obj_t BgL_pairz00_2817;
if(
PAIRP(BgL_bucketz00_1379))
{ /* Llib/weakhash.scm 137 */
BgL_pairz00_2817 = BgL_bucketz00_1379; }  else 
{ 
 obj_t BgL_auxz00_6745;
BgL_auxz00_6745 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5326L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_bucketz00_1379); 
FAILURE(BgL_auxz00_6745,BFALSE,BFALSE);} 
BgL_arg1358z00_2805 = 
CDR(BgL_pairz00_2817); } 
{ /* Llib/weakhash.scm 137 */
 obj_t BgL_vectorz00_2818;
if(
VECTORP(BgL_bucketsz00_48))
{ /* Llib/weakhash.scm 137 */
BgL_vectorz00_2818 = BgL_bucketsz00_48; }  else 
{ 
 obj_t BgL_auxz00_6752;
BgL_auxz00_6752 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5311L), BGl_string3460z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_bucketsz00_48); 
FAILURE(BgL_auxz00_6752,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 137 */
 bool_t BgL_test3875z00_6756;
{ /* Llib/weakhash.scm 137 */
 long BgL_tmpz00_6757;
BgL_tmpz00_6757 = 
VECTOR_LENGTH(BgL_vectorz00_2818); 
BgL_test3875z00_6756 = 
BOUND_CHECK(BgL_iz00_49, BgL_tmpz00_6757); } 
if(BgL_test3875z00_6756)
{ /* Llib/weakhash.scm 137 */
VECTOR_SET(BgL_vectorz00_2818,BgL_iz00_49,BgL_arg1358z00_2805); }  else 
{ 
 obj_t BgL_auxz00_6761;
BgL_auxz00_6761 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5298L), BGl_string3464z00zz__weakhashz00, BgL_vectorz00_2818, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_2818)), 
(int)(BgL_iz00_49)); 
FAILURE(BgL_auxz00_6761,BFALSE,BFALSE);} } } } BGl_keepgoingz00zz__weakhashz00; 
{ /* Llib/weakhash.scm 145 */
 obj_t BgL_arg1381z00_1385;
{ /* Llib/weakhash.scm 145 */
 obj_t BgL_pairz00_2820;
if(
PAIRP(BgL_bucketz00_1379))
{ /* Llib/weakhash.scm 145 */
BgL_pairz00_2820 = BgL_bucketz00_1379; }  else 
{ 
 obj_t BgL_auxz00_6770;
BgL_auxz00_6770 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5685L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_bucketz00_1379); 
FAILURE(BgL_auxz00_6770,BFALSE,BFALSE);} 
BgL_arg1381z00_1385 = 
CDR(BgL_pairz00_2820); } 
{ 
 obj_t BgL_bucketz00_6775;
BgL_bucketz00_6775 = BgL_arg1381z00_1385; 
BgL_bucketz00_1379 = BgL_bucketz00_6775; 
goto BgL_zc3z04anonymousza31378ze3z87_1381;} } }  else 
{ /* Llib/weakhash.scm 145 */
if(
(BgL_retz00_1383==BGl_removestopz00zz__weakhashz00))
{ /* Llib/weakhash.scm 145 */
{ /* Llib/weakhash.scm 134 */
 long BgL_arg1355z00_2821;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_arg1356z00_2822;
{ /* Llib/weakhash.scm 134 */
 bool_t BgL_test3878z00_6778;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_tmpz00_6779;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_res2234z00_2828;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_aux2683z00_4957;
BgL_aux2683z00_4957 = 
STRUCT_KEY(BgL_tablez00_47); 
if(
SYMBOLP(BgL_aux2683z00_4957))
{ /* Llib/weakhash.scm 134 */
BgL_res2234z00_2828 = BgL_aux2683z00_4957; }  else 
{ 
 obj_t BgL_auxz00_6783;
BgL_auxz00_6783 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5201L), BGl_string3460z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux2683z00_4957); 
FAILURE(BgL_auxz00_6783,BFALSE,BFALSE);} } 
BgL_tmpz00_6779 = BgL_res2234z00_2828; } 
BgL_test3878z00_6778 = 
(BgL_tmpz00_6779==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test3878z00_6778)
{ /* Llib/weakhash.scm 134 */
 int BgL_tmpz00_6788;
BgL_tmpz00_6788 = 
(int)(0L); 
BgL_arg1356z00_2822 = 
UNSAFE_STRUCT_REF(BgL_tablez00_47, BgL_tmpz00_6788); }  else 
{ /* Llib/weakhash.scm 134 */
BgL_arg1356z00_2822 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_47); } } 
{ /* Llib/weakhash.scm 134 */
 long BgL_za71za7_2829;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_tmpz00_6792;
if(
INTEGERP(BgL_arg1356z00_2822))
{ /* Llib/weakhash.scm 134 */
BgL_tmpz00_6792 = BgL_arg1356z00_2822
; }  else 
{ 
 obj_t BgL_auxz00_6795;
BgL_auxz00_6795 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5223L), BGl_string3460z00zz__weakhashz00, BGl_string3453z00zz__weakhashz00, BgL_arg1356z00_2822); 
FAILURE(BgL_auxz00_6795,BFALSE,BFALSE);} 
BgL_za71za7_2829 = 
(long)CINT(BgL_tmpz00_6792); } 
BgL_arg1355z00_2821 = 
(BgL_za71za7_2829-1L); } } 
{ /* Llib/weakhash.scm 134 */
 bool_t BgL_test3881z00_6801;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_tmpz00_6802;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_res2235z00_2833;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_aux2686z00_4960;
BgL_aux2686z00_4960 = 
STRUCT_KEY(BgL_tablez00_47); 
if(
SYMBOLP(BgL_aux2686z00_4960))
{ /* Llib/weakhash.scm 134 */
BgL_res2235z00_2833 = BgL_aux2686z00_4960; }  else 
{ 
 obj_t BgL_auxz00_6806;
BgL_auxz00_6806 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5168L), BGl_string3460z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux2686z00_4960); 
FAILURE(BgL_auxz00_6806,BFALSE,BFALSE);} } 
BgL_tmpz00_6802 = BgL_res2235z00_2833; } 
BgL_test3881z00_6801 = 
(BgL_tmpz00_6802==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test3881z00_6801)
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_auxz00_6813; int BgL_tmpz00_6811;
BgL_auxz00_6813 = 
BINT(BgL_arg1355z00_2821); 
BgL_tmpz00_6811 = 
(int)(0L); 
UNSAFE_STRUCT_SET(BgL_tablez00_47, BgL_tmpz00_6811, BgL_auxz00_6813); }  else 
{ /* Llib/weakhash.scm 134 */
BGl_errorz00zz__errorz00(BGl_string3463z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_47); } } } 
if(
CBOOL(BgL_lastzd2bucketzd2_1380))
{ /* Llib/weakhash.scm 136 */
 obj_t BgL_arg1357z00_2823;
{ /* Llib/weakhash.scm 136 */
 obj_t BgL_pairz00_2834;
if(
PAIRP(BgL_bucketz00_1379))
{ /* Llib/weakhash.scm 136 */
BgL_pairz00_2834 = BgL_bucketz00_1379; }  else 
{ 
 obj_t BgL_auxz00_6821;
BgL_auxz00_6821 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5282L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_bucketz00_1379); 
FAILURE(BgL_auxz00_6821,BFALSE,BFALSE);} 
BgL_arg1357z00_2823 = 
CDR(BgL_pairz00_2834); } 
{ /* Llib/weakhash.scm 136 */
 obj_t BgL_pairz00_2835;
if(
PAIRP(BgL_lastzd2bucketzd2_1380))
{ /* Llib/weakhash.scm 136 */
BgL_pairz00_2835 = BgL_lastzd2bucketzd2_1380; }  else 
{ 
 obj_t BgL_auxz00_6828;
BgL_auxz00_6828 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5265L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_lastzd2bucketzd2_1380); 
FAILURE(BgL_auxz00_6828,BFALSE,BFALSE);} 
SET_CDR(BgL_pairz00_2835, BgL_arg1357z00_2823); } }  else 
{ /* Llib/weakhash.scm 137 */
 obj_t BgL_arg1358z00_2824;
{ /* Llib/weakhash.scm 137 */
 obj_t BgL_pairz00_2836;
if(
PAIRP(BgL_bucketz00_1379))
{ /* Llib/weakhash.scm 137 */
BgL_pairz00_2836 = BgL_bucketz00_1379; }  else 
{ 
 obj_t BgL_auxz00_6835;
BgL_auxz00_6835 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5326L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_bucketz00_1379); 
FAILURE(BgL_auxz00_6835,BFALSE,BFALSE);} 
BgL_arg1358z00_2824 = 
CDR(BgL_pairz00_2836); } 
{ /* Llib/weakhash.scm 137 */
 obj_t BgL_vectorz00_2837;
if(
VECTORP(BgL_bucketsz00_48))
{ /* Llib/weakhash.scm 137 */
BgL_vectorz00_2837 = BgL_bucketsz00_48; }  else 
{ 
 obj_t BgL_auxz00_6842;
BgL_auxz00_6842 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5311L), BGl_string3460z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_bucketsz00_48); 
FAILURE(BgL_auxz00_6842,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 137 */
 bool_t BgL_test3888z00_6846;
{ /* Llib/weakhash.scm 137 */
 long BgL_tmpz00_6847;
BgL_tmpz00_6847 = 
VECTOR_LENGTH(BgL_vectorz00_2837); 
BgL_test3888z00_6846 = 
BOUND_CHECK(BgL_iz00_49, BgL_tmpz00_6847); } 
if(BgL_test3888z00_6846)
{ /* Llib/weakhash.scm 137 */
VECTOR_SET(BgL_vectorz00_2837,BgL_iz00_49,BgL_arg1358z00_2824); }  else 
{ 
 obj_t BgL_auxz00_6851;
BgL_auxz00_6851 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5298L), BGl_string3464z00zz__weakhashz00, BgL_vectorz00_2837, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_2837)), 
(int)(BgL_iz00_49)); 
FAILURE(BgL_auxz00_6851,BFALSE,BFALSE);} } } } 
return BGl_keepgoingz00zz__weakhashz00;}  else 
{ /* Llib/weakhash.scm 145 */
return BgL_retz00_1383;} } } } } }  else 
{ /* Llib/weakhash.scm 145 */
 obj_t BgL_g1063z00_1392;
{ /* Llib/weakhash.scm 145 */
 obj_t BgL_vectorz00_2839;
if(
VECTORP(BgL_bucketsz00_48))
{ /* Llib/weakhash.scm 145 */
BgL_vectorz00_2839 = BgL_bucketsz00_48; }  else 
{ 
 obj_t BgL_auxz00_6860;
BgL_auxz00_6860 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5685L), BGl_string3457z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_bucketsz00_48); 
FAILURE(BgL_auxz00_6860,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 145 */
 bool_t BgL_test3890z00_6864;
{ /* Llib/weakhash.scm 145 */
 long BgL_tmpz00_6865;
BgL_tmpz00_6865 = 
VECTOR_LENGTH(BgL_vectorz00_2839); 
BgL_test3890z00_6864 = 
BOUND_CHECK(BgL_iz00_49, BgL_tmpz00_6865); } 
if(BgL_test3890z00_6864)
{ /* Llib/weakhash.scm 145 */
BgL_g1063z00_1392 = 
VECTOR_REF(BgL_vectorz00_2839,BgL_iz00_49); }  else 
{ 
 obj_t BgL_auxz00_6869;
BgL_auxz00_6869 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5685L), BGl_string3459z00zz__weakhashz00, BgL_vectorz00_2839, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_2839)), 
(int)(BgL_iz00_49)); 
FAILURE(BgL_auxz00_6869,BFALSE,BFALSE);} } } 
{ 
 obj_t BgL_bucketz00_1394; obj_t BgL_lastzd2bucketzd2_1395;
BgL_bucketz00_1394 = BgL_g1063z00_1392; 
BgL_lastzd2bucketzd2_1395 = BFALSE; 
BgL_zc3z04anonymousza31385ze3z87_1396:
if(
NULLP(BgL_bucketz00_1394))
{ /* Llib/weakhash.scm 145 */
return BGl_keepgoingz00zz__weakhashz00;}  else 
{ /* Llib/weakhash.scm 145 */
 obj_t BgL_retz00_1398;
{ /* Llib/weakhash.scm 173 */
 obj_t BgL_arg1389z00_1401; obj_t BgL_arg1390z00_1402;
{ /* Llib/weakhash.scm 173 */
 obj_t BgL_pairz00_2841;
if(
PAIRP(BgL_bucketz00_1394))
{ /* Llib/weakhash.scm 173 */
BgL_pairz00_2841 = BgL_bucketz00_1394; }  else 
{ 
 obj_t BgL_auxz00_6880;
BgL_auxz00_6880 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(6593L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_bucketz00_1394); 
FAILURE(BgL_auxz00_6880,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 173 */
 obj_t BgL_pairz00_2844;
{ /* Llib/weakhash.scm 173 */
 obj_t BgL_aux2700z00_4974;
BgL_aux2700z00_4974 = 
CAR(BgL_pairz00_2841); 
if(
PAIRP(BgL_aux2700z00_4974))
{ /* Llib/weakhash.scm 173 */
BgL_pairz00_2844 = BgL_aux2700z00_4974; }  else 
{ 
 obj_t BgL_auxz00_6887;
BgL_auxz00_6887 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(6587L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_aux2700z00_4974); 
FAILURE(BgL_auxz00_6887,BFALSE,BFALSE);} } 
BgL_arg1389z00_1401 = 
CAR(BgL_pairz00_2844); } } 
{ /* Llib/weakhash.scm 173 */
 obj_t BgL_pairz00_2845;
if(
PAIRP(BgL_bucketz00_1394))
{ /* Llib/weakhash.scm 173 */
BgL_pairz00_2845 = BgL_bucketz00_1394; }  else 
{ 
 obj_t BgL_auxz00_6894;
BgL_auxz00_6894 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(6607L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_bucketz00_1394); 
FAILURE(BgL_auxz00_6894,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 173 */
 obj_t BgL_pairz00_2848;
{ /* Llib/weakhash.scm 173 */
 obj_t BgL_aux2704z00_4978;
BgL_aux2704z00_4978 = 
CAR(BgL_pairz00_2845); 
if(
PAIRP(BgL_aux2704z00_4978))
{ /* Llib/weakhash.scm 173 */
BgL_pairz00_2848 = BgL_aux2704z00_4978; }  else 
{ 
 obj_t BgL_auxz00_6901;
BgL_auxz00_6901 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(6601L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_aux2704z00_4978); 
FAILURE(BgL_auxz00_6901,BFALSE,BFALSE);} } 
BgL_arg1390z00_1402 = 
CDR(BgL_pairz00_2848); } } 
BgL_retz00_1398 = 
((obj_t (*)(obj_t, obj_t, obj_t, obj_t))PROCEDURE_L_ENTRY(BgL_funz00_50))(BgL_funz00_50, BgL_arg1389z00_1401, BgL_arg1390z00_1402, BgL_bucketz00_1394); } 
if(
(BgL_retz00_1398==BGl_keepgoingz00zz__weakhashz00))
{ /* Llib/weakhash.scm 145 */
 obj_t BgL_arg1387z00_1399;
{ /* Llib/weakhash.scm 145 */
 obj_t BgL_pairz00_2849;
if(
PAIRP(BgL_bucketz00_1394))
{ /* Llib/weakhash.scm 145 */
BgL_pairz00_2849 = BgL_bucketz00_1394; }  else 
{ 
 obj_t BgL_auxz00_6916;
BgL_auxz00_6916 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5685L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_bucketz00_1394); 
FAILURE(BgL_auxz00_6916,BFALSE,BFALSE);} 
BgL_arg1387z00_1399 = 
CDR(BgL_pairz00_2849); } 
{ 
 obj_t BgL_lastzd2bucketzd2_6922; obj_t BgL_bucketz00_6921;
BgL_bucketz00_6921 = BgL_arg1387z00_1399; 
BgL_lastzd2bucketzd2_6922 = BgL_bucketz00_1394; 
BgL_lastzd2bucketzd2_1395 = BgL_lastzd2bucketzd2_6922; 
BgL_bucketz00_1394 = BgL_bucketz00_6921; 
goto BgL_zc3z04anonymousza31385ze3z87_1396;} }  else 
{ /* Llib/weakhash.scm 145 */
if(
(BgL_retz00_1398==BGl_removez00zz__weakhashz00))
{ /* Llib/weakhash.scm 145 */
{ /* Llib/weakhash.scm 134 */
 long BgL_arg1355z00_2850;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_arg1356z00_2851;
{ /* Llib/weakhash.scm 134 */
 bool_t BgL_test3899z00_6925;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_tmpz00_6926;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_res2236z00_2857;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_aux2708z00_4982;
BgL_aux2708z00_4982 = 
STRUCT_KEY(BgL_tablez00_47); 
if(
SYMBOLP(BgL_aux2708z00_4982))
{ /* Llib/weakhash.scm 134 */
BgL_res2236z00_2857 = BgL_aux2708z00_4982; }  else 
{ 
 obj_t BgL_auxz00_6930;
BgL_auxz00_6930 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5201L), BGl_string3460z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux2708z00_4982); 
FAILURE(BgL_auxz00_6930,BFALSE,BFALSE);} } 
BgL_tmpz00_6926 = BgL_res2236z00_2857; } 
BgL_test3899z00_6925 = 
(BgL_tmpz00_6926==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test3899z00_6925)
{ /* Llib/weakhash.scm 134 */
 int BgL_tmpz00_6935;
BgL_tmpz00_6935 = 
(int)(0L); 
BgL_arg1356z00_2851 = 
UNSAFE_STRUCT_REF(BgL_tablez00_47, BgL_tmpz00_6935); }  else 
{ /* Llib/weakhash.scm 134 */
BgL_arg1356z00_2851 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_47); } } 
{ /* Llib/weakhash.scm 134 */
 long BgL_za71za7_2858;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_tmpz00_6939;
if(
INTEGERP(BgL_arg1356z00_2851))
{ /* Llib/weakhash.scm 134 */
BgL_tmpz00_6939 = BgL_arg1356z00_2851
; }  else 
{ 
 obj_t BgL_auxz00_6942;
BgL_auxz00_6942 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5223L), BGl_string3460z00zz__weakhashz00, BGl_string3453z00zz__weakhashz00, BgL_arg1356z00_2851); 
FAILURE(BgL_auxz00_6942,BFALSE,BFALSE);} 
BgL_za71za7_2858 = 
(long)CINT(BgL_tmpz00_6939); } 
BgL_arg1355z00_2850 = 
(BgL_za71za7_2858-1L); } } 
{ /* Llib/weakhash.scm 134 */
 bool_t BgL_test3902z00_6948;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_tmpz00_6949;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_res2237z00_2862;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_aux2711z00_4985;
BgL_aux2711z00_4985 = 
STRUCT_KEY(BgL_tablez00_47); 
if(
SYMBOLP(BgL_aux2711z00_4985))
{ /* Llib/weakhash.scm 134 */
BgL_res2237z00_2862 = BgL_aux2711z00_4985; }  else 
{ 
 obj_t BgL_auxz00_6953;
BgL_auxz00_6953 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5168L), BGl_string3460z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux2711z00_4985); 
FAILURE(BgL_auxz00_6953,BFALSE,BFALSE);} } 
BgL_tmpz00_6949 = BgL_res2237z00_2862; } 
BgL_test3902z00_6948 = 
(BgL_tmpz00_6949==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test3902z00_6948)
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_auxz00_6960; int BgL_tmpz00_6958;
BgL_auxz00_6960 = 
BINT(BgL_arg1355z00_2850); 
BgL_tmpz00_6958 = 
(int)(0L); 
UNSAFE_STRUCT_SET(BgL_tablez00_47, BgL_tmpz00_6958, BgL_auxz00_6960); }  else 
{ /* Llib/weakhash.scm 134 */
BGl_errorz00zz__errorz00(BGl_string3463z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_47); } } } 
if(
CBOOL(BgL_lastzd2bucketzd2_1395))
{ /* Llib/weakhash.scm 136 */
 obj_t BgL_arg1357z00_2852;
{ /* Llib/weakhash.scm 136 */
 obj_t BgL_pairz00_2863;
if(
PAIRP(BgL_bucketz00_1394))
{ /* Llib/weakhash.scm 136 */
BgL_pairz00_2863 = BgL_bucketz00_1394; }  else 
{ 
 obj_t BgL_auxz00_6968;
BgL_auxz00_6968 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5282L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_bucketz00_1394); 
FAILURE(BgL_auxz00_6968,BFALSE,BFALSE);} 
BgL_arg1357z00_2852 = 
CDR(BgL_pairz00_2863); } 
{ /* Llib/weakhash.scm 136 */
 obj_t BgL_pairz00_2864;
if(
PAIRP(BgL_lastzd2bucketzd2_1395))
{ /* Llib/weakhash.scm 136 */
BgL_pairz00_2864 = BgL_lastzd2bucketzd2_1395; }  else 
{ 
 obj_t BgL_auxz00_6975;
BgL_auxz00_6975 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5265L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_lastzd2bucketzd2_1395); 
FAILURE(BgL_auxz00_6975,BFALSE,BFALSE);} 
SET_CDR(BgL_pairz00_2864, BgL_arg1357z00_2852); } }  else 
{ /* Llib/weakhash.scm 137 */
 obj_t BgL_arg1358z00_2853;
{ /* Llib/weakhash.scm 137 */
 obj_t BgL_pairz00_2865;
if(
PAIRP(BgL_bucketz00_1394))
{ /* Llib/weakhash.scm 137 */
BgL_pairz00_2865 = BgL_bucketz00_1394; }  else 
{ 
 obj_t BgL_auxz00_6982;
BgL_auxz00_6982 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5326L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_bucketz00_1394); 
FAILURE(BgL_auxz00_6982,BFALSE,BFALSE);} 
BgL_arg1358z00_2853 = 
CDR(BgL_pairz00_2865); } 
{ /* Llib/weakhash.scm 137 */
 obj_t BgL_vectorz00_2866;
if(
VECTORP(BgL_bucketsz00_48))
{ /* Llib/weakhash.scm 137 */
BgL_vectorz00_2866 = BgL_bucketsz00_48; }  else 
{ 
 obj_t BgL_auxz00_6989;
BgL_auxz00_6989 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5311L), BGl_string3460z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_bucketsz00_48); 
FAILURE(BgL_auxz00_6989,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 137 */
 bool_t BgL_test3909z00_6993;
{ /* Llib/weakhash.scm 137 */
 long BgL_tmpz00_6994;
BgL_tmpz00_6994 = 
VECTOR_LENGTH(BgL_vectorz00_2866); 
BgL_test3909z00_6993 = 
BOUND_CHECK(BgL_iz00_49, BgL_tmpz00_6994); } 
if(BgL_test3909z00_6993)
{ /* Llib/weakhash.scm 137 */
VECTOR_SET(BgL_vectorz00_2866,BgL_iz00_49,BgL_arg1358z00_2853); }  else 
{ 
 obj_t BgL_auxz00_6998;
BgL_auxz00_6998 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5298L), BGl_string3464z00zz__weakhashz00, BgL_vectorz00_2866, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_2866)), 
(int)(BgL_iz00_49)); 
FAILURE(BgL_auxz00_6998,BFALSE,BFALSE);} } } } BGl_keepgoingz00zz__weakhashz00; 
{ /* Llib/weakhash.scm 145 */
 obj_t BgL_arg1388z00_1400;
{ /* Llib/weakhash.scm 145 */
 obj_t BgL_pairz00_2868;
if(
PAIRP(BgL_bucketz00_1394))
{ /* Llib/weakhash.scm 145 */
BgL_pairz00_2868 = BgL_bucketz00_1394; }  else 
{ 
 obj_t BgL_auxz00_7007;
BgL_auxz00_7007 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5685L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_bucketz00_1394); 
FAILURE(BgL_auxz00_7007,BFALSE,BFALSE);} 
BgL_arg1388z00_1400 = 
CDR(BgL_pairz00_2868); } 
{ 
 obj_t BgL_bucketz00_7012;
BgL_bucketz00_7012 = BgL_arg1388z00_1400; 
BgL_bucketz00_1394 = BgL_bucketz00_7012; 
goto BgL_zc3z04anonymousza31385ze3z87_1396;} } }  else 
{ /* Llib/weakhash.scm 145 */
if(
(BgL_retz00_1398==BGl_removestopz00zz__weakhashz00))
{ /* Llib/weakhash.scm 145 */
{ /* Llib/weakhash.scm 134 */
 long BgL_arg1355z00_2869;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_arg1356z00_2870;
{ /* Llib/weakhash.scm 134 */
 bool_t BgL_test3912z00_7015;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_tmpz00_7016;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_res2238z00_2876;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_aux2723z00_4997;
BgL_aux2723z00_4997 = 
STRUCT_KEY(BgL_tablez00_47); 
if(
SYMBOLP(BgL_aux2723z00_4997))
{ /* Llib/weakhash.scm 134 */
BgL_res2238z00_2876 = BgL_aux2723z00_4997; }  else 
{ 
 obj_t BgL_auxz00_7020;
BgL_auxz00_7020 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5201L), BGl_string3460z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux2723z00_4997); 
FAILURE(BgL_auxz00_7020,BFALSE,BFALSE);} } 
BgL_tmpz00_7016 = BgL_res2238z00_2876; } 
BgL_test3912z00_7015 = 
(BgL_tmpz00_7016==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test3912z00_7015)
{ /* Llib/weakhash.scm 134 */
 int BgL_tmpz00_7025;
BgL_tmpz00_7025 = 
(int)(0L); 
BgL_arg1356z00_2870 = 
UNSAFE_STRUCT_REF(BgL_tablez00_47, BgL_tmpz00_7025); }  else 
{ /* Llib/weakhash.scm 134 */
BgL_arg1356z00_2870 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_47); } } 
{ /* Llib/weakhash.scm 134 */
 long BgL_za71za7_2877;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_tmpz00_7029;
if(
INTEGERP(BgL_arg1356z00_2870))
{ /* Llib/weakhash.scm 134 */
BgL_tmpz00_7029 = BgL_arg1356z00_2870
; }  else 
{ 
 obj_t BgL_auxz00_7032;
BgL_auxz00_7032 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5223L), BGl_string3460z00zz__weakhashz00, BGl_string3453z00zz__weakhashz00, BgL_arg1356z00_2870); 
FAILURE(BgL_auxz00_7032,BFALSE,BFALSE);} 
BgL_za71za7_2877 = 
(long)CINT(BgL_tmpz00_7029); } 
BgL_arg1355z00_2869 = 
(BgL_za71za7_2877-1L); } } 
{ /* Llib/weakhash.scm 134 */
 bool_t BgL_test3915z00_7038;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_tmpz00_7039;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_res2239z00_2881;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_aux2726z00_5000;
BgL_aux2726z00_5000 = 
STRUCT_KEY(BgL_tablez00_47); 
if(
SYMBOLP(BgL_aux2726z00_5000))
{ /* Llib/weakhash.scm 134 */
BgL_res2239z00_2881 = BgL_aux2726z00_5000; }  else 
{ 
 obj_t BgL_auxz00_7043;
BgL_auxz00_7043 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5168L), BGl_string3460z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux2726z00_5000); 
FAILURE(BgL_auxz00_7043,BFALSE,BFALSE);} } 
BgL_tmpz00_7039 = BgL_res2239z00_2881; } 
BgL_test3915z00_7038 = 
(BgL_tmpz00_7039==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test3915z00_7038)
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_auxz00_7050; int BgL_tmpz00_7048;
BgL_auxz00_7050 = 
BINT(BgL_arg1355z00_2869); 
BgL_tmpz00_7048 = 
(int)(0L); 
UNSAFE_STRUCT_SET(BgL_tablez00_47, BgL_tmpz00_7048, BgL_auxz00_7050); }  else 
{ /* Llib/weakhash.scm 134 */
BGl_errorz00zz__errorz00(BGl_string3463z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_47); } } } 
if(
CBOOL(BgL_lastzd2bucketzd2_1395))
{ /* Llib/weakhash.scm 136 */
 obj_t BgL_arg1357z00_2871;
{ /* Llib/weakhash.scm 136 */
 obj_t BgL_pairz00_2882;
if(
PAIRP(BgL_bucketz00_1394))
{ /* Llib/weakhash.scm 136 */
BgL_pairz00_2882 = BgL_bucketz00_1394; }  else 
{ 
 obj_t BgL_auxz00_7058;
BgL_auxz00_7058 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5282L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_bucketz00_1394); 
FAILURE(BgL_auxz00_7058,BFALSE,BFALSE);} 
BgL_arg1357z00_2871 = 
CDR(BgL_pairz00_2882); } 
{ /* Llib/weakhash.scm 136 */
 obj_t BgL_pairz00_2883;
if(
PAIRP(BgL_lastzd2bucketzd2_1395))
{ /* Llib/weakhash.scm 136 */
BgL_pairz00_2883 = BgL_lastzd2bucketzd2_1395; }  else 
{ 
 obj_t BgL_auxz00_7065;
BgL_auxz00_7065 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5265L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_lastzd2bucketzd2_1395); 
FAILURE(BgL_auxz00_7065,BFALSE,BFALSE);} 
SET_CDR(BgL_pairz00_2883, BgL_arg1357z00_2871); } }  else 
{ /* Llib/weakhash.scm 137 */
 obj_t BgL_arg1358z00_2872;
{ /* Llib/weakhash.scm 137 */
 obj_t BgL_pairz00_2884;
if(
PAIRP(BgL_bucketz00_1394))
{ /* Llib/weakhash.scm 137 */
BgL_pairz00_2884 = BgL_bucketz00_1394; }  else 
{ 
 obj_t BgL_auxz00_7072;
BgL_auxz00_7072 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5326L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_bucketz00_1394); 
FAILURE(BgL_auxz00_7072,BFALSE,BFALSE);} 
BgL_arg1358z00_2872 = 
CDR(BgL_pairz00_2884); } 
{ /* Llib/weakhash.scm 137 */
 obj_t BgL_vectorz00_2885;
if(
VECTORP(BgL_bucketsz00_48))
{ /* Llib/weakhash.scm 137 */
BgL_vectorz00_2885 = BgL_bucketsz00_48; }  else 
{ 
 obj_t BgL_auxz00_7079;
BgL_auxz00_7079 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5311L), BGl_string3460z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_bucketsz00_48); 
FAILURE(BgL_auxz00_7079,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 137 */
 bool_t BgL_test3922z00_7083;
{ /* Llib/weakhash.scm 137 */
 long BgL_tmpz00_7084;
BgL_tmpz00_7084 = 
VECTOR_LENGTH(BgL_vectorz00_2885); 
BgL_test3922z00_7083 = 
BOUND_CHECK(BgL_iz00_49, BgL_tmpz00_7084); } 
if(BgL_test3922z00_7083)
{ /* Llib/weakhash.scm 137 */
VECTOR_SET(BgL_vectorz00_2885,BgL_iz00_49,BgL_arg1358z00_2872); }  else 
{ 
 obj_t BgL_auxz00_7088;
BgL_auxz00_7088 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5298L), BGl_string3464z00zz__weakhashz00, BgL_vectorz00_2885, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_2885)), 
(int)(BgL_iz00_49)); 
FAILURE(BgL_auxz00_7088,BFALSE,BFALSE);} } } } 
return BGl_keepgoingz00zz__weakhashz00;}  else 
{ /* Llib/weakhash.scm 145 */
return BgL_retz00_1398;} } } } } } } } } } 

}



/* 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_proc3465z00zz__weakhashz00); 
{ /* Llib/weakhash.scm 191 */
 obj_t BgL_bucketsz00_1412;
{ /* Llib/weakhash.scm 191 */
 bool_t BgL_test3923z00_7096;
{ /* Llib/weakhash.scm 191 */
 obj_t BgL_tmpz00_7097;
{ /* Llib/weakhash.scm 191 */
 obj_t BgL_res2240z00_2890;
{ /* Llib/weakhash.scm 191 */
 obj_t BgL_aux2736z00_5010;
BgL_aux2736z00_5010 = 
STRUCT_KEY(BgL_tablez00_51); 
if(
SYMBOLP(BgL_aux2736z00_5010))
{ /* Llib/weakhash.scm 191 */
BgL_res2240z00_2890 = BgL_aux2736z00_5010; }  else 
{ 
 obj_t BgL_auxz00_7101;
BgL_auxz00_7101 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(7326L), BGl_string3466z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux2736z00_5010); 
FAILURE(BgL_auxz00_7101,BFALSE,BFALSE);} } 
BgL_tmpz00_7097 = BgL_res2240z00_2890; } 
BgL_test3923z00_7096 = 
(BgL_tmpz00_7097==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test3923z00_7096)
{ /* Llib/weakhash.scm 191 */
 int BgL_tmpz00_7106;
BgL_tmpz00_7106 = 
(int)(2L); 
BgL_bucketsz00_1412 = 
UNSAFE_STRUCT_REF(BgL_tablez00_51, BgL_tmpz00_7106); }  else 
{ /* Llib/weakhash.scm 191 */
BgL_bucketsz00_1412 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_51); } } 
{ /* Llib/weakhash.scm 191 */
 long BgL_bucketszd2lenzd2_1413;
{ /* Llib/weakhash.scm 192 */
 obj_t BgL_vectorz00_2891;
if(
VECTORP(BgL_bucketsz00_1412))
{ /* Llib/weakhash.scm 192 */
BgL_vectorz00_2891 = BgL_bucketsz00_1412; }  else 
{ 
 obj_t BgL_auxz00_7112;
BgL_auxz00_7112 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(7385L), BGl_string3466z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_bucketsz00_1412); 
FAILURE(BgL_auxz00_7112,BFALSE,BFALSE);} 
BgL_bucketszd2lenzd2_1413 = 
VECTOR_LENGTH(BgL_vectorz00_2891); } 
{ /* Llib/weakhash.scm 192 */

{ 
 long BgL_iz00_1415;
BgL_iz00_1415 = 0L; 
if(
(BgL_iz00_1415==BgL_bucketszd2lenzd2_1413))
{ /* Llib/weakhash.scm 194 */
return BFALSE;}  else 
{ /* Llib/weakhash.scm 195 */
 obj_t BgL_bucketz00_1418;
{ /* Llib/weakhash.scm 195 */
 obj_t BgL_vectorz00_2894;
if(
VECTORP(BgL_bucketsz00_1412))
{ /* Llib/weakhash.scm 195 */
BgL_vectorz00_2894 = BgL_bucketsz00_1412; }  else 
{ 
 obj_t BgL_auxz00_7121;
BgL_auxz00_7121 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(7481L), BGl_string3467z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_bucketsz00_1412); 
FAILURE(BgL_auxz00_7121,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 195 */
 bool_t BgL_test3928z00_7125;
{ /* Llib/weakhash.scm 195 */
 long BgL_tmpz00_7126;
BgL_tmpz00_7126 = 
VECTOR_LENGTH(BgL_vectorz00_2894); 
BgL_test3928z00_7125 = 
BOUND_CHECK(BgL_iz00_1415, BgL_tmpz00_7126); } 
if(BgL_test3928z00_7125)
{ /* Llib/weakhash.scm 195 */
BgL_bucketz00_1418 = 
VECTOR_REF(BgL_vectorz00_2894,BgL_iz00_1415); }  else 
{ 
 obj_t BgL_auxz00_7130;
BgL_auxz00_7130 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(7469L), BGl_string3459z00zz__weakhashz00, BgL_vectorz00_2894, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_2894)), 
(int)(BgL_iz00_1415)); 
FAILURE(BgL_auxz00_7130,BFALSE,BFALSE);} } } 
{ 
 obj_t BgL_l1113z00_1420;
BgL_l1113z00_1420 = BgL_bucketz00_1418; 
BgL_zc3z04anonymousza31400ze3z87_1421:
if(
PAIRP(BgL_l1113z00_1420))
{ /* Llib/weakhash.scm 196 */
{ /* Llib/weakhash.scm 197 */
 obj_t BgL_pz00_1423;
BgL_pz00_1423 = 
CAR(BgL_l1113z00_1420); 
{ /* Llib/weakhash.scm 197 */
 bool_t BgL_test3930z00_7140;
{ /* Llib/weakhash.scm 197 */
 obj_t BgL_arg1407z00_1428;
{ /* Llib/weakhash.scm 197 */
 obj_t BgL_objz00_2897;
if(
BGL_WEAKPTRP(BgL_pz00_1423))
{ /* Llib/weakhash.scm 197 */
BgL_objz00_2897 = BgL_pz00_1423; }  else 
{ 
 obj_t BgL_auxz00_7143;
BgL_auxz00_7143 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(7558L), BGl_string3468z00zz__weakhashz00, BGl_string3462z00zz__weakhashz00, BgL_pz00_1423); 
FAILURE(BgL_auxz00_7143,BFALSE,BFALSE);} 
BgL_arg1407z00_1428 = 
bgl_weakptr_data(BgL_objz00_2897); } 
BgL_test3930z00_7140 = 
(BgL_arg1407z00_1428==BUNSPEC); } 
if(BgL_test3930z00_7140)
{ /* Llib/weakhash.scm 197 */BFALSE; }  else 
{ /* Llib/weakhash.scm 198 */
 obj_t BgL_arg1404z00_1426; obj_t BgL_arg1405z00_1427;
{ /* Llib/weakhash.scm 198 */
 obj_t BgL_objz00_2898;
if(
BGL_WEAKPTRP(BgL_pz00_1423))
{ /* Llib/weakhash.scm 198 */
BgL_objz00_2898 = BgL_pz00_1423; }  else 
{ 
 obj_t BgL_auxz00_7151;
BgL_auxz00_7151 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(7604L), BGl_string3468z00zz__weakhashz00, BGl_string3462z00zz__weakhashz00, BgL_pz00_1423); 
FAILURE(BgL_auxz00_7151,BFALSE,BFALSE);} 
BgL_arg1404z00_1426 = 
bgl_weakptr_data(BgL_objz00_2898); } 
{ /* Llib/weakhash.scm 198 */
 obj_t BgL_objz00_2899;
if(
BGL_WEAKPTRP(BgL_pz00_1423))
{ /* Llib/weakhash.scm 198 */
BgL_objz00_2899 = BgL_pz00_1423; }  else 
{ 
 obj_t BgL_auxz00_7158;
BgL_auxz00_7158 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(7620L), BGl_string3468z00zz__weakhashz00, BGl_string3462z00zz__weakhashz00, BgL_pz00_1423); 
FAILURE(BgL_auxz00_7158,BFALSE,BFALSE);} 
BgL_arg1405z00_1427 = 
bgl_weakptr_ref(BgL_objz00_2899); } 
{ /* Llib/weakhash.scm 198 */
 obj_t BgL_funz00_5024;
if(
PROCEDUREP(BgL_funz00_52))
{ /* Llib/weakhash.scm 198 */
BgL_funz00_5024 = BgL_funz00_52; }  else 
{ 
 obj_t BgL_auxz00_7165;
BgL_auxz00_7165 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(7585L), BGl_string3468z00zz__weakhashz00, BGl_string3469z00zz__weakhashz00, BgL_funz00_52); 
FAILURE(BgL_auxz00_7165,BFALSE,BFALSE);} 
if(
PROCEDURE_CORRECT_ARITYP(BgL_funz00_5024, 2))
{ /* Llib/weakhash.scm 198 */
(VA_PROCEDUREP( BgL_funz00_5024 ) ? ((obj_t (*)(obj_t, ...))PROCEDURE_ENTRY(BgL_funz00_5024))(BgL_funz00_52, BgL_arg1404z00_1426, BgL_arg1405z00_1427, BEOA) : ((obj_t (*)(obj_t, obj_t, obj_t))PROCEDURE_ENTRY(BgL_funz00_5024))(BgL_funz00_52, BgL_arg1404z00_1426, BgL_arg1405z00_1427) ); }  else 
{ /* Llib/weakhash.scm 198 */
FAILURE(BGl_string3470z00zz__weakhashz00,BGl_list3471z00zz__weakhashz00,BgL_funz00_5024);} } } } } 
{ 
 obj_t BgL_l1113z00_7177;
BgL_l1113z00_7177 = 
CDR(BgL_l1113z00_1420); 
BgL_l1113z00_1420 = BgL_l1113z00_7177; 
goto BgL_zc3z04anonymousza31400ze3z87_1421;} }  else 
{ /* Llib/weakhash.scm 196 */
if(
NULLP(BgL_l1113z00_1420))
{ /* Llib/weakhash.scm 196 */
return BTRUE;}  else 
{ /* Llib/weakhash.scm 196 */
return 
BGl_bigloozd2typezd2errorzf2locationzf2zz__errorz00(BGl_string3478z00zz__weakhashz00, BGl_string3479z00zz__weakhashz00, BgL_l1113z00_1420, BGl_string3456z00zz__weakhashz00, 
BINT(7502L));} } } } } } } } } 

}



/* &<@anonymous:1397> */
obj_t BGl_z62zc3z04anonymousza31397ze3ze5zz__weakhashz00(obj_t BgL_envz00_4472, obj_t BgL_kz00_4473, obj_t BgL_vz00_4474)
{
{ /* 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_test3937z00_7184;
{ /* Llib/weakhash.scm 214 */
 obj_t BgL_arg1459z00_1526;
{ /* Llib/weakhash.scm 214 */
 bool_t BgL_test3938z00_7185;
{ /* Llib/weakhash.scm 214 */
 obj_t BgL_tmpz00_7186;
{ /* Llib/weakhash.scm 214 */
 obj_t BgL_res2241z00_2904;
{ /* Llib/weakhash.scm 214 */
 obj_t BgL_aux2751z00_5026;
BgL_aux2751z00_5026 = 
STRUCT_KEY(BgL_tablez00_53); 
if(
SYMBOLP(BgL_aux2751z00_5026))
{ /* Llib/weakhash.scm 214 */
BgL_res2241z00_2904 = BgL_aux2751z00_5026; }  else 
{ 
 obj_t BgL_auxz00_7190;
BgL_auxz00_7190 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(8215L), BGl_string3480z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux2751z00_5026); 
FAILURE(BgL_auxz00_7190,BFALSE,BFALSE);} } 
BgL_tmpz00_7186 = BgL_res2241z00_2904; } 
BgL_test3938z00_7185 = 
(BgL_tmpz00_7186==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test3938z00_7185)
{ /* Llib/weakhash.scm 214 */
 int BgL_tmpz00_7195;
BgL_tmpz00_7195 = 
(int)(5L); 
BgL_arg1459z00_1526 = 
UNSAFE_STRUCT_REF(BgL_tablez00_53, BgL_tmpz00_7195); }  else 
{ /* Llib/weakhash.scm 214 */
BgL_arg1459z00_1526 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_53); } } 
{ /* Llib/weakhash.scm 214 */
 long BgL_n2z00_2905;
{ /* Llib/weakhash.scm 214 */
 obj_t BgL_tmpz00_7199;
if(
INTEGERP(BgL_arg1459z00_1526))
{ /* Llib/weakhash.scm 214 */
BgL_tmpz00_7199 = BgL_arg1459z00_1526
; }  else 
{ 
 obj_t BgL_auxz00_7202;
BgL_auxz00_7202 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(8237L), BGl_string3480z00zz__weakhashz00, BGl_string3453z00zz__weakhashz00, BgL_arg1459z00_1526); 
FAILURE(BgL_auxz00_7202,BFALSE,BFALSE);} 
BgL_n2z00_2905 = 
(long)CINT(BgL_tmpz00_7199); } 
BgL_test3937z00_7184 = 
(1L==BgL_n2z00_2905); } } 
if(BgL_test3937z00_7184)
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_bucketsz00_1435;
{ /* Llib/weakhash.scm 205 */
 bool_t BgL_test3941z00_7208;
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_tmpz00_7209;
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_res2242z00_2909;
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_aux2754z00_5029;
BgL_aux2754z00_5029 = 
STRUCT_KEY(BgL_tablez00_53); 
if(
SYMBOLP(BgL_aux2754z00_5029))
{ /* Llib/weakhash.scm 205 */
BgL_res2242z00_2909 = BgL_aux2754z00_5029; }  else 
{ 
 obj_t BgL_auxz00_7213;
BgL_auxz00_7213 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(7915L), BGl_string3480z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux2754z00_5029); 
FAILURE(BgL_auxz00_7213,BFALSE,BFALSE);} } 
BgL_tmpz00_7209 = BgL_res2242z00_2909; } 
BgL_test3941z00_7208 = 
(BgL_tmpz00_7209==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test3941z00_7208)
{ /* Llib/weakhash.scm 205 */
 int BgL_tmpz00_7218;
BgL_tmpz00_7218 = 
(int)(2L); 
BgL_bucketsz00_1435 = 
UNSAFE_STRUCT_REF(BgL_tablez00_53, BgL_tmpz00_7218); }  else 
{ /* Llib/weakhash.scm 205 */
BgL_bucketsz00_1435 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_53); } } 
{ /* Llib/weakhash.scm 205 */
 long BgL_bucketszd2lenzd2_1436;
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_vectorz00_2910;
if(
VECTORP(BgL_bucketsz00_1435))
{ /* Llib/weakhash.scm 205 */
BgL_vectorz00_2910 = BgL_bucketsz00_1435; }  else 
{ 
 obj_t BgL_auxz00_7224;
BgL_auxz00_7224 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(7915L), BGl_string3480z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_bucketsz00_1435); 
FAILURE(BgL_auxz00_7224,BFALSE,BFALSE);} 
BgL_bucketszd2lenzd2_1436 = 
VECTOR_LENGTH(BgL_vectorz00_2910); } 
{ /* Llib/weakhash.scm 205 */

{ 
 long BgL_iz00_1438;
BgL_iz00_1438 = 0L; 
BgL_zc3z04anonymousza31412ze3z87_1439:
if(
(BgL_iz00_1438==BgL_bucketszd2lenzd2_1436))
{ /* Llib/weakhash.scm 205 */
return ((bool_t)0);}  else 
{ /* Llib/weakhash.scm 205 */
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_g1064z00_1441;
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_vectorz00_2913;
if(
VECTORP(BgL_bucketsz00_1435))
{ /* Llib/weakhash.scm 205 */
BgL_vectorz00_2913 = BgL_bucketsz00_1435; }  else 
{ 
 obj_t BgL_auxz00_7233;
BgL_auxz00_7233 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(7915L), BGl_string3467z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_bucketsz00_1435); 
FAILURE(BgL_auxz00_7233,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 205 */
 bool_t BgL_test3946z00_7237;
{ /* Llib/weakhash.scm 205 */
 long BgL_tmpz00_7238;
BgL_tmpz00_7238 = 
VECTOR_LENGTH(BgL_vectorz00_2913); 
BgL_test3946z00_7237 = 
BOUND_CHECK(BgL_iz00_1438, BgL_tmpz00_7238); } 
if(BgL_test3946z00_7237)
{ /* Llib/weakhash.scm 205 */
BgL_g1064z00_1441 = 
VECTOR_REF(BgL_vectorz00_2913,BgL_iz00_1438); }  else 
{ 
 obj_t BgL_auxz00_7242;
BgL_auxz00_7242 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(7915L), BGl_string3459z00zz__weakhashz00, BgL_vectorz00_2913, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_2913)), 
(int)(BgL_iz00_1438)); 
FAILURE(BgL_auxz00_7242,BFALSE,BFALSE);} } } 
{ 
 obj_t BgL_bucketz00_1443; obj_t BgL_lastzd2bucketzd2_1444;
BgL_bucketz00_1443 = BgL_g1064z00_1441; 
BgL_lastzd2bucketzd2_1444 = BFALSE; 
BgL_zc3z04anonymousza31414ze3z87_1445:
if(
NULLP(BgL_bucketz00_1443))
{ /* Llib/weakhash.scm 205 */((bool_t)0); }  else 
{ /* Llib/weakhash.scm 216 */
 obj_t BgL_retz00_1447;
{ /* Llib/weakhash.scm 216 */
 obj_t BgL_keyz00_1450;
{ /* Llib/weakhash.scm 216 */
 obj_t BgL_arg1420z00_1452;
{ /* Llib/weakhash.scm 216 */
 obj_t BgL_pairz00_2915;
if(
PAIRP(BgL_bucketz00_1443))
{ /* Llib/weakhash.scm 216 */
BgL_pairz00_2915 = BgL_bucketz00_1443; }  else 
{ 
 obj_t BgL_auxz00_7253;
BgL_auxz00_7253 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(8301L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_bucketz00_1443); 
FAILURE(BgL_auxz00_7253,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 216 */
 obj_t BgL_pairz00_2918;
{ /* Llib/weakhash.scm 216 */
 obj_t BgL_aux2762z00_5037;
BgL_aux2762z00_5037 = 
CAR(BgL_pairz00_2915); 
if(
PAIRP(BgL_aux2762z00_5037))
{ /* Llib/weakhash.scm 216 */
BgL_pairz00_2918 = BgL_aux2762z00_5037; }  else 
{ 
 obj_t BgL_auxz00_7260;
BgL_auxz00_7260 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(8295L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_aux2762z00_5037); 
FAILURE(BgL_auxz00_7260,BFALSE,BFALSE);} } 
BgL_arg1420z00_1452 = 
CAR(BgL_pairz00_2918); } } 
{ /* Llib/weakhash.scm 216 */
 obj_t BgL_objz00_2919;
if(
BGL_WEAKPTRP(BgL_arg1420z00_1452))
{ /* Llib/weakhash.scm 216 */
BgL_objz00_2919 = BgL_arg1420z00_1452; }  else 
{ 
 obj_t BgL_auxz00_7267;
BgL_auxz00_7267 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(8307L), BGl_string3460z00zz__weakhashz00, BGl_string3462z00zz__weakhashz00, BgL_arg1420z00_1452); 
FAILURE(BgL_auxz00_7267,BFALSE,BFALSE);} 
BgL_keyz00_1450 = 
bgl_weakptr_data(BgL_objz00_2919); } } 
if(
(BgL_keyz00_1450==BUNSPEC))
{ /* Llib/weakhash.scm 217 */
BgL_retz00_1447 = BGl_removez00zz__weakhashz00; }  else 
{ /* Llib/weakhash.scm 219 */
 obj_t BgL_arg1419z00_1451;
{ /* Llib/weakhash.scm 219 */
 obj_t BgL_pairz00_2920;
if(
PAIRP(BgL_bucketz00_1443))
{ /* Llib/weakhash.scm 219 */
BgL_pairz00_2920 = BgL_bucketz00_1443; }  else 
{ 
 obj_t BgL_auxz00_7276;
BgL_auxz00_7276 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(8382L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_bucketz00_1443); 
FAILURE(BgL_auxz00_7276,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 219 */
 obj_t BgL_pairz00_2923;
{ /* Llib/weakhash.scm 219 */
 obj_t BgL_aux2768z00_5043;
BgL_aux2768z00_5043 = 
CAR(BgL_pairz00_2920); 
if(
PAIRP(BgL_aux2768z00_5043))
{ /* Llib/weakhash.scm 219 */
BgL_pairz00_2923 = BgL_aux2768z00_5043; }  else 
{ 
 obj_t BgL_auxz00_7283;
BgL_auxz00_7283 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(8376L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_aux2768z00_5043); 
FAILURE(BgL_auxz00_7283,BFALSE,BFALSE);} } 
BgL_arg1419z00_1451 = 
CDR(BgL_pairz00_2923); } } 
{ /* Llib/weakhash.scm 219 */
 obj_t BgL_funz00_5047;
if(
PROCEDUREP(BgL_funz00_54))
{ /* Llib/weakhash.scm 219 */
BgL_funz00_5047 = BgL_funz00_54; }  else 
{ 
 obj_t BgL_auxz00_7290;
BgL_auxz00_7290 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(8367L), BGl_string3460z00zz__weakhashz00, BGl_string3469z00zz__weakhashz00, BgL_funz00_54); 
FAILURE(BgL_auxz00_7290,BFALSE,BFALSE);} 
if(
PROCEDURE_CORRECT_ARITYP(BgL_funz00_5047, 2))
{ /* Llib/weakhash.scm 219 */
BgL_retz00_1447 = 
(VA_PROCEDUREP( BgL_funz00_5047 ) ? ((obj_t (*)(obj_t, ...))PROCEDURE_ENTRY(BgL_funz00_5047))(BgL_funz00_54, BgL_keyz00_1450, BgL_arg1419z00_1451, BEOA) : ((obj_t (*)(obj_t, obj_t, obj_t))PROCEDURE_ENTRY(BgL_funz00_5047))(BgL_funz00_54, BgL_keyz00_1450, BgL_arg1419z00_1451) ); }  else 
{ /* Llib/weakhash.scm 219 */
FAILURE(BGl_string3481z00zz__weakhashz00,BGl_list3482z00zz__weakhashz00,BgL_funz00_5047);} } } } 
if(
(BgL_retz00_1447==BGl_removez00zz__weakhashz00))
{ /* Llib/weakhash.scm 205 */
{ /* Llib/weakhash.scm 134 */
 long BgL_arg1355z00_2924;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_arg1356z00_2925;
{ /* Llib/weakhash.scm 134 */
 bool_t BgL_test3957z00_7304;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_tmpz00_7305;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_res2243z00_2931;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_aux2773z00_5049;
BgL_aux2773z00_5049 = 
STRUCT_KEY(BgL_tablez00_53); 
if(
SYMBOLP(BgL_aux2773z00_5049))
{ /* Llib/weakhash.scm 134 */
BgL_res2243z00_2931 = BgL_aux2773z00_5049; }  else 
{ 
 obj_t BgL_auxz00_7309;
BgL_auxz00_7309 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5201L), BGl_string3460z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux2773z00_5049); 
FAILURE(BgL_auxz00_7309,BFALSE,BFALSE);} } 
BgL_tmpz00_7305 = BgL_res2243z00_2931; } 
BgL_test3957z00_7304 = 
(BgL_tmpz00_7305==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test3957z00_7304)
{ /* Llib/weakhash.scm 134 */
 int BgL_tmpz00_7314;
BgL_tmpz00_7314 = 
(int)(0L); 
BgL_arg1356z00_2925 = 
UNSAFE_STRUCT_REF(BgL_tablez00_53, BgL_tmpz00_7314); }  else 
{ /* Llib/weakhash.scm 134 */
BgL_arg1356z00_2925 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_53); } } 
{ /* Llib/weakhash.scm 134 */
 long BgL_za71za7_2932;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_tmpz00_7318;
if(
INTEGERP(BgL_arg1356z00_2925))
{ /* Llib/weakhash.scm 134 */
BgL_tmpz00_7318 = BgL_arg1356z00_2925
; }  else 
{ 
 obj_t BgL_auxz00_7321;
BgL_auxz00_7321 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5223L), BGl_string3460z00zz__weakhashz00, BGl_string3453z00zz__weakhashz00, BgL_arg1356z00_2925); 
FAILURE(BgL_auxz00_7321,BFALSE,BFALSE);} 
BgL_za71za7_2932 = 
(long)CINT(BgL_tmpz00_7318); } 
BgL_arg1355z00_2924 = 
(BgL_za71za7_2932-1L); } } 
{ /* Llib/weakhash.scm 134 */
 bool_t BgL_test3960z00_7327;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_tmpz00_7328;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_res2244z00_2936;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_aux2776z00_5052;
BgL_aux2776z00_5052 = 
STRUCT_KEY(BgL_tablez00_53); 
if(
SYMBOLP(BgL_aux2776z00_5052))
{ /* Llib/weakhash.scm 134 */
BgL_res2244z00_2936 = BgL_aux2776z00_5052; }  else 
{ 
 obj_t BgL_auxz00_7332;
BgL_auxz00_7332 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5168L), BGl_string3460z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux2776z00_5052); 
FAILURE(BgL_auxz00_7332,BFALSE,BFALSE);} } 
BgL_tmpz00_7328 = BgL_res2244z00_2936; } 
BgL_test3960z00_7327 = 
(BgL_tmpz00_7328==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test3960z00_7327)
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_auxz00_7339; int BgL_tmpz00_7337;
BgL_auxz00_7339 = 
BINT(BgL_arg1355z00_2924); 
BgL_tmpz00_7337 = 
(int)(0L); 
UNSAFE_STRUCT_SET(BgL_tablez00_53, BgL_tmpz00_7337, BgL_auxz00_7339); }  else 
{ /* Llib/weakhash.scm 134 */
BGl_errorz00zz__errorz00(BGl_string3463z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_53); } } } 
if(
CBOOL(BgL_lastzd2bucketzd2_1444))
{ /* Llib/weakhash.scm 136 */
 obj_t BgL_arg1357z00_2926;
{ /* Llib/weakhash.scm 136 */
 obj_t BgL_pairz00_2937;
if(
PAIRP(BgL_bucketz00_1443))
{ /* Llib/weakhash.scm 136 */
BgL_pairz00_2937 = BgL_bucketz00_1443; }  else 
{ 
 obj_t BgL_auxz00_7347;
BgL_auxz00_7347 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5282L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_bucketz00_1443); 
FAILURE(BgL_auxz00_7347,BFALSE,BFALSE);} 
BgL_arg1357z00_2926 = 
CDR(BgL_pairz00_2937); } 
{ /* Llib/weakhash.scm 136 */
 obj_t BgL_pairz00_2938;
if(
PAIRP(BgL_lastzd2bucketzd2_1444))
{ /* Llib/weakhash.scm 136 */
BgL_pairz00_2938 = BgL_lastzd2bucketzd2_1444; }  else 
{ 
 obj_t BgL_auxz00_7354;
BgL_auxz00_7354 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5265L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_lastzd2bucketzd2_1444); 
FAILURE(BgL_auxz00_7354,BFALSE,BFALSE);} 
SET_CDR(BgL_pairz00_2938, BgL_arg1357z00_2926); } }  else 
{ /* Llib/weakhash.scm 137 */
 obj_t BgL_arg1358z00_2927;
{ /* Llib/weakhash.scm 137 */
 obj_t BgL_pairz00_2939;
if(
PAIRP(BgL_bucketz00_1443))
{ /* Llib/weakhash.scm 137 */
BgL_pairz00_2939 = BgL_bucketz00_1443; }  else 
{ 
 obj_t BgL_auxz00_7361;
BgL_auxz00_7361 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5326L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_bucketz00_1443); 
FAILURE(BgL_auxz00_7361,BFALSE,BFALSE);} 
BgL_arg1358z00_2927 = 
CDR(BgL_pairz00_2939); } 
{ /* Llib/weakhash.scm 137 */
 obj_t BgL_vectorz00_2940;
if(
VECTORP(BgL_bucketsz00_1435))
{ /* Llib/weakhash.scm 137 */
BgL_vectorz00_2940 = BgL_bucketsz00_1435; }  else 
{ 
 obj_t BgL_auxz00_7368;
BgL_auxz00_7368 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5311L), BGl_string3460z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_bucketsz00_1435); 
FAILURE(BgL_auxz00_7368,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 137 */
 bool_t BgL_test3967z00_7372;
{ /* Llib/weakhash.scm 137 */
 long BgL_tmpz00_7373;
BgL_tmpz00_7373 = 
VECTOR_LENGTH(BgL_vectorz00_2940); 
BgL_test3967z00_7372 = 
BOUND_CHECK(BgL_iz00_1438, BgL_tmpz00_7373); } 
if(BgL_test3967z00_7372)
{ /* Llib/weakhash.scm 137 */
VECTOR_SET(BgL_vectorz00_2940,BgL_iz00_1438,BgL_arg1358z00_2927); }  else 
{ 
 obj_t BgL_auxz00_7377;
BgL_auxz00_7377 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5298L), BGl_string3464z00zz__weakhashz00, BgL_vectorz00_2940, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_2940)), 
(int)(BgL_iz00_1438)); 
FAILURE(BgL_auxz00_7377,BFALSE,BFALSE);} } } } BGl_keepgoingz00zz__weakhashz00; 
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_arg1416z00_1448;
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_pairz00_2942;
if(
PAIRP(BgL_bucketz00_1443))
{ /* Llib/weakhash.scm 205 */
BgL_pairz00_2942 = BgL_bucketz00_1443; }  else 
{ 
 obj_t BgL_auxz00_7386;
BgL_auxz00_7386 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(7915L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_bucketz00_1443); 
FAILURE(BgL_auxz00_7386,BFALSE,BFALSE);} 
BgL_arg1416z00_1448 = 
CDR(BgL_pairz00_2942); } 
{ 
 obj_t BgL_bucketz00_7391;
BgL_bucketz00_7391 = BgL_arg1416z00_1448; 
BgL_bucketz00_1443 = BgL_bucketz00_7391; 
goto BgL_zc3z04anonymousza31414ze3z87_1445;} } }  else 
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_arg1417z00_1449;
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_pairz00_2943;
if(
PAIRP(BgL_bucketz00_1443))
{ /* Llib/weakhash.scm 205 */
BgL_pairz00_2943 = BgL_bucketz00_1443; }  else 
{ 
 obj_t BgL_auxz00_7394;
BgL_auxz00_7394 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(7915L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_bucketz00_1443); 
FAILURE(BgL_auxz00_7394,BFALSE,BFALSE);} 
BgL_arg1417z00_1449 = 
CDR(BgL_pairz00_2943); } 
{ 
 obj_t BgL_lastzd2bucketzd2_7400; obj_t BgL_bucketz00_7399;
BgL_bucketz00_7399 = BgL_arg1417z00_1449; 
BgL_lastzd2bucketzd2_7400 = BgL_bucketz00_1443; 
BgL_lastzd2bucketzd2_1444 = BgL_lastzd2bucketzd2_7400; 
BgL_bucketz00_1443 = BgL_bucketz00_7399; 
goto BgL_zc3z04anonymousza31414ze3z87_1445;} } } } } 
{ 
 long BgL_iz00_7401;
BgL_iz00_7401 = 
(BgL_iz00_1438+1L); 
BgL_iz00_1438 = BgL_iz00_7401; 
goto BgL_zc3z04anonymousza31412ze3z87_1439;} } } } } }  else 
{ /* Llib/weakhash.scm 205 */
 bool_t BgL_test3970z00_7403;
{ /* Llib/weakhash.scm 220 */
 obj_t BgL_arg1458z00_1525;
{ /* Llib/weakhash.scm 220 */
 bool_t BgL_test3971z00_7404;
{ /* Llib/weakhash.scm 220 */
 obj_t BgL_tmpz00_7405;
{ /* Llib/weakhash.scm 220 */
 obj_t BgL_res2245z00_2948;
{ /* Llib/weakhash.scm 220 */
 obj_t BgL_aux2790z00_5066;
BgL_aux2790z00_5066 = 
STRUCT_KEY(BgL_tablez00_53); 
if(
SYMBOLP(BgL_aux2790z00_5066))
{ /* Llib/weakhash.scm 220 */
BgL_res2245z00_2948 = BgL_aux2790z00_5066; }  else 
{ 
 obj_t BgL_auxz00_7409;
BgL_auxz00_7409 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(8417L), BGl_string3480z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux2790z00_5066); 
FAILURE(BgL_auxz00_7409,BFALSE,BFALSE);} } 
BgL_tmpz00_7405 = BgL_res2245z00_2948; } 
BgL_test3971z00_7404 = 
(BgL_tmpz00_7405==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test3971z00_7404)
{ /* Llib/weakhash.scm 220 */
 int BgL_tmpz00_7414;
BgL_tmpz00_7414 = 
(int)(5L); 
BgL_arg1458z00_1525 = 
UNSAFE_STRUCT_REF(BgL_tablez00_53, BgL_tmpz00_7414); }  else 
{ /* Llib/weakhash.scm 220 */
BgL_arg1458z00_1525 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_53); } } 
{ /* Llib/weakhash.scm 220 */
 long BgL_n2z00_2949;
{ /* Llib/weakhash.scm 220 */
 obj_t BgL_tmpz00_7418;
if(
INTEGERP(BgL_arg1458z00_1525))
{ /* Llib/weakhash.scm 220 */
BgL_tmpz00_7418 = BgL_arg1458z00_1525
; }  else 
{ 
 obj_t BgL_auxz00_7421;
BgL_auxz00_7421 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(8439L), BGl_string3480z00zz__weakhashz00, BGl_string3453z00zz__weakhashz00, BgL_arg1458z00_1525); 
FAILURE(BgL_auxz00_7421,BFALSE,BFALSE);} 
BgL_n2z00_2949 = 
(long)CINT(BgL_tmpz00_7418); } 
BgL_test3970z00_7403 = 
(2L==BgL_n2z00_2949); } } 
if(BgL_test3970z00_7403)
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_bucketsz00_1458;
{ /* Llib/weakhash.scm 205 */
 bool_t BgL_test3974z00_7427;
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_tmpz00_7428;
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_res2246z00_2953;
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_aux2793z00_5069;
BgL_aux2793z00_5069 = 
STRUCT_KEY(BgL_tablez00_53); 
if(
SYMBOLP(BgL_aux2793z00_5069))
{ /* Llib/weakhash.scm 205 */
BgL_res2246z00_2953 = BgL_aux2793z00_5069; }  else 
{ 
 obj_t BgL_auxz00_7432;
BgL_auxz00_7432 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(7915L), BGl_string3480z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux2793z00_5069); 
FAILURE(BgL_auxz00_7432,BFALSE,BFALSE);} } 
BgL_tmpz00_7428 = BgL_res2246z00_2953; } 
BgL_test3974z00_7427 = 
(BgL_tmpz00_7428==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test3974z00_7427)
{ /* Llib/weakhash.scm 205 */
 int BgL_tmpz00_7437;
BgL_tmpz00_7437 = 
(int)(2L); 
BgL_bucketsz00_1458 = 
UNSAFE_STRUCT_REF(BgL_tablez00_53, BgL_tmpz00_7437); }  else 
{ /* Llib/weakhash.scm 205 */
BgL_bucketsz00_1458 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_53); } } 
{ /* Llib/weakhash.scm 205 */
 long BgL_bucketszd2lenzd2_1459;
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_vectorz00_2954;
if(
VECTORP(BgL_bucketsz00_1458))
{ /* Llib/weakhash.scm 205 */
BgL_vectorz00_2954 = BgL_bucketsz00_1458; }  else 
{ 
 obj_t BgL_auxz00_7443;
BgL_auxz00_7443 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(7915L), BGl_string3480z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_bucketsz00_1458); 
FAILURE(BgL_auxz00_7443,BFALSE,BFALSE);} 
BgL_bucketszd2lenzd2_1459 = 
VECTOR_LENGTH(BgL_vectorz00_2954); } 
{ /* Llib/weakhash.scm 205 */

{ 
 long BgL_iz00_1461;
BgL_iz00_1461 = 0L; 
BgL_zc3z04anonymousza31424ze3z87_1462:
if(
(BgL_iz00_1461==BgL_bucketszd2lenzd2_1459))
{ /* Llib/weakhash.scm 205 */
return ((bool_t)0);}  else 
{ /* Llib/weakhash.scm 205 */
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_g1065z00_1464;
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_vectorz00_2957;
if(
VECTORP(BgL_bucketsz00_1458))
{ /* Llib/weakhash.scm 205 */
BgL_vectorz00_2957 = BgL_bucketsz00_1458; }  else 
{ 
 obj_t BgL_auxz00_7452;
BgL_auxz00_7452 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(7915L), BGl_string3467z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_bucketsz00_1458); 
FAILURE(BgL_auxz00_7452,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 205 */
 bool_t BgL_test3979z00_7456;
{ /* Llib/weakhash.scm 205 */
 long BgL_tmpz00_7457;
BgL_tmpz00_7457 = 
VECTOR_LENGTH(BgL_vectorz00_2957); 
BgL_test3979z00_7456 = 
BOUND_CHECK(BgL_iz00_1461, BgL_tmpz00_7457); } 
if(BgL_test3979z00_7456)
{ /* Llib/weakhash.scm 205 */
BgL_g1065z00_1464 = 
VECTOR_REF(BgL_vectorz00_2957,BgL_iz00_1461); }  else 
{ 
 obj_t BgL_auxz00_7461;
BgL_auxz00_7461 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(7915L), BGl_string3459z00zz__weakhashz00, BgL_vectorz00_2957, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_2957)), 
(int)(BgL_iz00_1461)); 
FAILURE(BgL_auxz00_7461,BFALSE,BFALSE);} } } 
{ 
 obj_t BgL_bucketz00_1466; obj_t BgL_lastzd2bucketzd2_1467;
BgL_bucketz00_1466 = BgL_g1065z00_1464; 
BgL_lastzd2bucketzd2_1467 = BFALSE; 
BgL_zc3z04anonymousza31426ze3z87_1468:
if(
NULLP(BgL_bucketz00_1466))
{ /* Llib/weakhash.scm 205 */((bool_t)0); }  else 
{ /* Llib/weakhash.scm 222 */
 obj_t BgL_retz00_1470;
{ /* Llib/weakhash.scm 222 */
 obj_t BgL_dataz00_1473;
{ /* Llib/weakhash.scm 222 */
 obj_t BgL_arg1431z00_1475;
{ /* Llib/weakhash.scm 222 */
 obj_t BgL_pairz00_2959;
if(
PAIRP(BgL_bucketz00_1466))
{ /* Llib/weakhash.scm 222 */
BgL_pairz00_2959 = BgL_bucketz00_1466; }  else 
{ 
 obj_t BgL_auxz00_7472;
BgL_auxz00_7472 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(8504L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_bucketz00_1466); 
FAILURE(BgL_auxz00_7472,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 222 */
 obj_t BgL_pairz00_2962;
{ /* Llib/weakhash.scm 222 */
 obj_t BgL_aux2801z00_5077;
BgL_aux2801z00_5077 = 
CAR(BgL_pairz00_2959); 
if(
PAIRP(BgL_aux2801z00_5077))
{ /* Llib/weakhash.scm 222 */
BgL_pairz00_2962 = BgL_aux2801z00_5077; }  else 
{ 
 obj_t BgL_auxz00_7479;
BgL_auxz00_7479 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(8498L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_aux2801z00_5077); 
FAILURE(BgL_auxz00_7479,BFALSE,BFALSE);} } 
BgL_arg1431z00_1475 = 
CDR(BgL_pairz00_2962); } } 
{ /* Llib/weakhash.scm 222 */
 obj_t BgL_objz00_2963;
if(
BGL_WEAKPTRP(BgL_arg1431z00_1475))
{ /* Llib/weakhash.scm 222 */
BgL_objz00_2963 = BgL_arg1431z00_1475; }  else 
{ 
 obj_t BgL_auxz00_7486;
BgL_auxz00_7486 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(8510L), BGl_string3460z00zz__weakhashz00, BGl_string3462z00zz__weakhashz00, BgL_arg1431z00_1475); 
FAILURE(BgL_auxz00_7486,BFALSE,BFALSE);} 
BgL_dataz00_1473 = 
bgl_weakptr_data(BgL_objz00_2963); } } 
if(
(BgL_dataz00_1473==BUNSPEC))
{ /* Llib/weakhash.scm 223 */
BgL_retz00_1470 = BGl_removez00zz__weakhashz00; }  else 
{ /* Llib/weakhash.scm 225 */
 obj_t BgL_arg1430z00_1474;
{ /* Llib/weakhash.scm 225 */
 obj_t BgL_pairz00_2964;
if(
PAIRP(BgL_bucketz00_1466))
{ /* Llib/weakhash.scm 225 */
BgL_pairz00_2964 = BgL_bucketz00_1466; }  else 
{ 
 obj_t BgL_auxz00_7495;
BgL_auxz00_7495 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(8582L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_bucketz00_1466); 
FAILURE(BgL_auxz00_7495,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 225 */
 obj_t BgL_pairz00_2967;
{ /* Llib/weakhash.scm 225 */
 obj_t BgL_aux2807z00_5083;
BgL_aux2807z00_5083 = 
CAR(BgL_pairz00_2964); 
if(
PAIRP(BgL_aux2807z00_5083))
{ /* Llib/weakhash.scm 225 */
BgL_pairz00_2967 = BgL_aux2807z00_5083; }  else 
{ 
 obj_t BgL_auxz00_7502;
BgL_auxz00_7502 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(8576L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_aux2807z00_5083); 
FAILURE(BgL_auxz00_7502,BFALSE,BFALSE);} } 
BgL_arg1430z00_1474 = 
CAR(BgL_pairz00_2967); } } 
{ /* Llib/weakhash.scm 225 */
 obj_t BgL_funz00_5087;
if(
PROCEDUREP(BgL_funz00_54))
{ /* Llib/weakhash.scm 225 */
BgL_funz00_5087 = BgL_funz00_54; }  else 
{ 
 obj_t BgL_auxz00_7509;
BgL_auxz00_7509 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(8571L), BGl_string3460z00zz__weakhashz00, BGl_string3469z00zz__weakhashz00, BgL_funz00_54); 
FAILURE(BgL_auxz00_7509,BFALSE,BFALSE);} 
if(
PROCEDURE_CORRECT_ARITYP(BgL_funz00_5087, 2))
{ /* Llib/weakhash.scm 225 */
BgL_retz00_1470 = 
(VA_PROCEDUREP( BgL_funz00_5087 ) ? ((obj_t (*)(obj_t, ...))PROCEDURE_ENTRY(BgL_funz00_5087))(BgL_funz00_54, BgL_arg1430z00_1474, BgL_dataz00_1473, BEOA) : ((obj_t (*)(obj_t, obj_t, obj_t))PROCEDURE_ENTRY(BgL_funz00_5087))(BgL_funz00_54, BgL_arg1430z00_1474, BgL_dataz00_1473) ); }  else 
{ /* Llib/weakhash.scm 225 */
FAILURE(BGl_string3481z00zz__weakhashz00,BGl_list3485z00zz__weakhashz00,BgL_funz00_5087);} } } } 
if(
(BgL_retz00_1470==BGl_removez00zz__weakhashz00))
{ /* Llib/weakhash.scm 205 */
{ /* Llib/weakhash.scm 134 */
 long BgL_arg1355z00_2968;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_arg1356z00_2969;
{ /* Llib/weakhash.scm 134 */
 bool_t BgL_test3990z00_7523;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_tmpz00_7524;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_res2247z00_2975;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_aux2812z00_5089;
BgL_aux2812z00_5089 = 
STRUCT_KEY(BgL_tablez00_53); 
if(
SYMBOLP(BgL_aux2812z00_5089))
{ /* Llib/weakhash.scm 134 */
BgL_res2247z00_2975 = BgL_aux2812z00_5089; }  else 
{ 
 obj_t BgL_auxz00_7528;
BgL_auxz00_7528 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5201L), BGl_string3460z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux2812z00_5089); 
FAILURE(BgL_auxz00_7528,BFALSE,BFALSE);} } 
BgL_tmpz00_7524 = BgL_res2247z00_2975; } 
BgL_test3990z00_7523 = 
(BgL_tmpz00_7524==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test3990z00_7523)
{ /* Llib/weakhash.scm 134 */
 int BgL_tmpz00_7533;
BgL_tmpz00_7533 = 
(int)(0L); 
BgL_arg1356z00_2969 = 
UNSAFE_STRUCT_REF(BgL_tablez00_53, BgL_tmpz00_7533); }  else 
{ /* Llib/weakhash.scm 134 */
BgL_arg1356z00_2969 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_53); } } 
{ /* Llib/weakhash.scm 134 */
 long BgL_za71za7_2976;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_tmpz00_7537;
if(
INTEGERP(BgL_arg1356z00_2969))
{ /* Llib/weakhash.scm 134 */
BgL_tmpz00_7537 = BgL_arg1356z00_2969
; }  else 
{ 
 obj_t BgL_auxz00_7540;
BgL_auxz00_7540 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5223L), BGl_string3460z00zz__weakhashz00, BGl_string3453z00zz__weakhashz00, BgL_arg1356z00_2969); 
FAILURE(BgL_auxz00_7540,BFALSE,BFALSE);} 
BgL_za71za7_2976 = 
(long)CINT(BgL_tmpz00_7537); } 
BgL_arg1355z00_2968 = 
(BgL_za71za7_2976-1L); } } 
{ /* Llib/weakhash.scm 134 */
 bool_t BgL_test3993z00_7546;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_tmpz00_7547;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_res2248z00_2980;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_aux2815z00_5092;
BgL_aux2815z00_5092 = 
STRUCT_KEY(BgL_tablez00_53); 
if(
SYMBOLP(BgL_aux2815z00_5092))
{ /* Llib/weakhash.scm 134 */
BgL_res2248z00_2980 = BgL_aux2815z00_5092; }  else 
{ 
 obj_t BgL_auxz00_7551;
BgL_auxz00_7551 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5168L), BGl_string3460z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux2815z00_5092); 
FAILURE(BgL_auxz00_7551,BFALSE,BFALSE);} } 
BgL_tmpz00_7547 = BgL_res2248z00_2980; } 
BgL_test3993z00_7546 = 
(BgL_tmpz00_7547==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test3993z00_7546)
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_auxz00_7558; int BgL_tmpz00_7556;
BgL_auxz00_7558 = 
BINT(BgL_arg1355z00_2968); 
BgL_tmpz00_7556 = 
(int)(0L); 
UNSAFE_STRUCT_SET(BgL_tablez00_53, BgL_tmpz00_7556, BgL_auxz00_7558); }  else 
{ /* Llib/weakhash.scm 134 */
BGl_errorz00zz__errorz00(BGl_string3463z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_53); } } } 
if(
CBOOL(BgL_lastzd2bucketzd2_1467))
{ /* Llib/weakhash.scm 136 */
 obj_t BgL_arg1357z00_2970;
{ /* Llib/weakhash.scm 136 */
 obj_t BgL_pairz00_2981;
if(
PAIRP(BgL_bucketz00_1466))
{ /* Llib/weakhash.scm 136 */
BgL_pairz00_2981 = BgL_bucketz00_1466; }  else 
{ 
 obj_t BgL_auxz00_7566;
BgL_auxz00_7566 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5282L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_bucketz00_1466); 
FAILURE(BgL_auxz00_7566,BFALSE,BFALSE);} 
BgL_arg1357z00_2970 = 
CDR(BgL_pairz00_2981); } 
{ /* Llib/weakhash.scm 136 */
 obj_t BgL_pairz00_2982;
if(
PAIRP(BgL_lastzd2bucketzd2_1467))
{ /* Llib/weakhash.scm 136 */
BgL_pairz00_2982 = BgL_lastzd2bucketzd2_1467; }  else 
{ 
 obj_t BgL_auxz00_7573;
BgL_auxz00_7573 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5265L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_lastzd2bucketzd2_1467); 
FAILURE(BgL_auxz00_7573,BFALSE,BFALSE);} 
SET_CDR(BgL_pairz00_2982, BgL_arg1357z00_2970); } }  else 
{ /* Llib/weakhash.scm 137 */
 obj_t BgL_arg1358z00_2971;
{ /* Llib/weakhash.scm 137 */
 obj_t BgL_pairz00_2983;
if(
PAIRP(BgL_bucketz00_1466))
{ /* Llib/weakhash.scm 137 */
BgL_pairz00_2983 = BgL_bucketz00_1466; }  else 
{ 
 obj_t BgL_auxz00_7580;
BgL_auxz00_7580 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5326L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_bucketz00_1466); 
FAILURE(BgL_auxz00_7580,BFALSE,BFALSE);} 
BgL_arg1358z00_2971 = 
CDR(BgL_pairz00_2983); } 
{ /* Llib/weakhash.scm 137 */
 obj_t BgL_vectorz00_2984;
if(
VECTORP(BgL_bucketsz00_1458))
{ /* Llib/weakhash.scm 137 */
BgL_vectorz00_2984 = BgL_bucketsz00_1458; }  else 
{ 
 obj_t BgL_auxz00_7587;
BgL_auxz00_7587 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5311L), BGl_string3460z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_bucketsz00_1458); 
FAILURE(BgL_auxz00_7587,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 137 */
 bool_t BgL_test4000z00_7591;
{ /* Llib/weakhash.scm 137 */
 long BgL_tmpz00_7592;
BgL_tmpz00_7592 = 
VECTOR_LENGTH(BgL_vectorz00_2984); 
BgL_test4000z00_7591 = 
BOUND_CHECK(BgL_iz00_1461, BgL_tmpz00_7592); } 
if(BgL_test4000z00_7591)
{ /* Llib/weakhash.scm 137 */
VECTOR_SET(BgL_vectorz00_2984,BgL_iz00_1461,BgL_arg1358z00_2971); }  else 
{ 
 obj_t BgL_auxz00_7596;
BgL_auxz00_7596 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5298L), BGl_string3464z00zz__weakhashz00, BgL_vectorz00_2984, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_2984)), 
(int)(BgL_iz00_1461)); 
FAILURE(BgL_auxz00_7596,BFALSE,BFALSE);} } } } BGl_keepgoingz00zz__weakhashz00; 
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_arg1428z00_1471;
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_pairz00_2986;
if(
PAIRP(BgL_bucketz00_1466))
{ /* Llib/weakhash.scm 205 */
BgL_pairz00_2986 = BgL_bucketz00_1466; }  else 
{ 
 obj_t BgL_auxz00_7605;
BgL_auxz00_7605 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(7915L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_bucketz00_1466); 
FAILURE(BgL_auxz00_7605,BFALSE,BFALSE);} 
BgL_arg1428z00_1471 = 
CDR(BgL_pairz00_2986); } 
{ 
 obj_t BgL_bucketz00_7610;
BgL_bucketz00_7610 = BgL_arg1428z00_1471; 
BgL_bucketz00_1466 = BgL_bucketz00_7610; 
goto BgL_zc3z04anonymousza31426ze3z87_1468;} } }  else 
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_arg1429z00_1472;
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_pairz00_2987;
if(
PAIRP(BgL_bucketz00_1466))
{ /* Llib/weakhash.scm 205 */
BgL_pairz00_2987 = BgL_bucketz00_1466; }  else 
{ 
 obj_t BgL_auxz00_7613;
BgL_auxz00_7613 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(7915L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_bucketz00_1466); 
FAILURE(BgL_auxz00_7613,BFALSE,BFALSE);} 
BgL_arg1429z00_1472 = 
CDR(BgL_pairz00_2987); } 
{ 
 obj_t BgL_lastzd2bucketzd2_7619; obj_t BgL_bucketz00_7618;
BgL_bucketz00_7618 = BgL_arg1429z00_1472; 
BgL_lastzd2bucketzd2_7619 = BgL_bucketz00_1466; 
BgL_lastzd2bucketzd2_1467 = BgL_lastzd2bucketzd2_7619; 
BgL_bucketz00_1466 = BgL_bucketz00_7618; 
goto BgL_zc3z04anonymousza31426ze3z87_1468;} } } } } 
{ 
 long BgL_iz00_7620;
BgL_iz00_7620 = 
(BgL_iz00_1461+1L); 
BgL_iz00_1461 = BgL_iz00_7620; 
goto BgL_zc3z04anonymousza31424ze3z87_1462;} } } } } }  else 
{ /* Llib/weakhash.scm 205 */
 bool_t BgL_test4003z00_7622;
{ /* Llib/weakhash.scm 226 */
 obj_t BgL_arg1457z00_1524;
{ /* Llib/weakhash.scm 226 */
 bool_t BgL_test4004z00_7623;
{ /* Llib/weakhash.scm 226 */
 obj_t BgL_tmpz00_7624;
{ /* Llib/weakhash.scm 226 */
 obj_t BgL_res2249z00_2992;
{ /* Llib/weakhash.scm 226 */
 obj_t BgL_aux2829z00_5106;
BgL_aux2829z00_5106 = 
STRUCT_KEY(BgL_tablez00_53); 
if(
SYMBOLP(BgL_aux2829z00_5106))
{ /* Llib/weakhash.scm 226 */
BgL_res2249z00_2992 = BgL_aux2829z00_5106; }  else 
{ 
 obj_t BgL_auxz00_7628;
BgL_auxz00_7628 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(8622L), BGl_string3480z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux2829z00_5106); 
FAILURE(BgL_auxz00_7628,BFALSE,BFALSE);} } 
BgL_tmpz00_7624 = BgL_res2249z00_2992; } 
BgL_test4004z00_7623 = 
(BgL_tmpz00_7624==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4004z00_7623)
{ /* Llib/weakhash.scm 226 */
 int BgL_tmpz00_7633;
BgL_tmpz00_7633 = 
(int)(5L); 
BgL_arg1457z00_1524 = 
UNSAFE_STRUCT_REF(BgL_tablez00_53, BgL_tmpz00_7633); }  else 
{ /* Llib/weakhash.scm 226 */
BgL_arg1457z00_1524 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_53); } } 
{ /* Llib/weakhash.scm 226 */
 long BgL_n2z00_2993;
{ /* Llib/weakhash.scm 226 */
 obj_t BgL_tmpz00_7637;
if(
INTEGERP(BgL_arg1457z00_1524))
{ /* Llib/weakhash.scm 226 */
BgL_tmpz00_7637 = BgL_arg1457z00_1524
; }  else 
{ 
 obj_t BgL_auxz00_7640;
BgL_auxz00_7640 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(8644L), BGl_string3480z00zz__weakhashz00, BGl_string3453z00zz__weakhashz00, BgL_arg1457z00_1524); 
FAILURE(BgL_auxz00_7640,BFALSE,BFALSE);} 
BgL_n2z00_2993 = 
(long)CINT(BgL_tmpz00_7637); } 
BgL_test4003z00_7622 = 
(3L==BgL_n2z00_2993); } } 
if(BgL_test4003z00_7622)
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_bucketsz00_1481;
{ /* Llib/weakhash.scm 205 */
 bool_t BgL_test4007z00_7646;
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_tmpz00_7647;
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_res2250z00_2997;
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_aux2832z00_5109;
BgL_aux2832z00_5109 = 
STRUCT_KEY(BgL_tablez00_53); 
if(
SYMBOLP(BgL_aux2832z00_5109))
{ /* Llib/weakhash.scm 205 */
BgL_res2250z00_2997 = BgL_aux2832z00_5109; }  else 
{ 
 obj_t BgL_auxz00_7651;
BgL_auxz00_7651 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(7915L), BGl_string3480z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux2832z00_5109); 
FAILURE(BgL_auxz00_7651,BFALSE,BFALSE);} } 
BgL_tmpz00_7647 = BgL_res2250z00_2997; } 
BgL_test4007z00_7646 = 
(BgL_tmpz00_7647==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4007z00_7646)
{ /* Llib/weakhash.scm 205 */
 int BgL_tmpz00_7656;
BgL_tmpz00_7656 = 
(int)(2L); 
BgL_bucketsz00_1481 = 
UNSAFE_STRUCT_REF(BgL_tablez00_53, BgL_tmpz00_7656); }  else 
{ /* Llib/weakhash.scm 205 */
BgL_bucketsz00_1481 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_53); } } 
{ /* Llib/weakhash.scm 205 */
 long BgL_bucketszd2lenzd2_1482;
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_vectorz00_2998;
if(
VECTORP(BgL_bucketsz00_1481))
{ /* Llib/weakhash.scm 205 */
BgL_vectorz00_2998 = BgL_bucketsz00_1481; }  else 
{ 
 obj_t BgL_auxz00_7662;
BgL_auxz00_7662 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(7915L), BGl_string3480z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_bucketsz00_1481); 
FAILURE(BgL_auxz00_7662,BFALSE,BFALSE);} 
BgL_bucketszd2lenzd2_1482 = 
VECTOR_LENGTH(BgL_vectorz00_2998); } 
{ /* Llib/weakhash.scm 205 */

{ 
 long BgL_iz00_1484;
BgL_iz00_1484 = 0L; 
BgL_zc3z04anonymousza31435ze3z87_1485:
if(
(BgL_iz00_1484==BgL_bucketszd2lenzd2_1482))
{ /* Llib/weakhash.scm 205 */
return ((bool_t)0);}  else 
{ /* Llib/weakhash.scm 205 */
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_g1066z00_1487;
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_vectorz00_3001;
if(
VECTORP(BgL_bucketsz00_1481))
{ /* Llib/weakhash.scm 205 */
BgL_vectorz00_3001 = BgL_bucketsz00_1481; }  else 
{ 
 obj_t BgL_auxz00_7671;
BgL_auxz00_7671 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(7915L), BGl_string3467z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_bucketsz00_1481); 
FAILURE(BgL_auxz00_7671,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 205 */
 bool_t BgL_test4012z00_7675;
{ /* Llib/weakhash.scm 205 */
 long BgL_tmpz00_7676;
BgL_tmpz00_7676 = 
VECTOR_LENGTH(BgL_vectorz00_3001); 
BgL_test4012z00_7675 = 
BOUND_CHECK(BgL_iz00_1484, BgL_tmpz00_7676); } 
if(BgL_test4012z00_7675)
{ /* Llib/weakhash.scm 205 */
BgL_g1066z00_1487 = 
VECTOR_REF(BgL_vectorz00_3001,BgL_iz00_1484); }  else 
{ 
 obj_t BgL_auxz00_7680;
BgL_auxz00_7680 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(7915L), BGl_string3459z00zz__weakhashz00, BgL_vectorz00_3001, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_3001)), 
(int)(BgL_iz00_1484)); 
FAILURE(BgL_auxz00_7680,BFALSE,BFALSE);} } } 
{ 
 obj_t BgL_bucketz00_1489; obj_t BgL_lastzd2bucketzd2_1490;
BgL_bucketz00_1489 = BgL_g1066z00_1487; 
BgL_lastzd2bucketzd2_1490 = BFALSE; 
BgL_zc3z04anonymousza31437ze3z87_1491:
if(
NULLP(BgL_bucketz00_1489))
{ /* Llib/weakhash.scm 205 */((bool_t)0); }  else 
{ /* Llib/weakhash.scm 228 */
 obj_t BgL_retz00_1493;
{ /* Llib/weakhash.scm 228 */
 obj_t BgL_keyz00_1496; obj_t BgL_dataz00_1497;
{ /* Llib/weakhash.scm 228 */
 obj_t BgL_arg1444z00_1499;
{ /* Llib/weakhash.scm 228 */
 obj_t BgL_pairz00_3003;
if(
PAIRP(BgL_bucketz00_1489))
{ /* Llib/weakhash.scm 228 */
BgL_pairz00_3003 = BgL_bucketz00_1489; }  else 
{ 
 obj_t BgL_auxz00_7691;
BgL_auxz00_7691 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(8712L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_bucketz00_1489); 
FAILURE(BgL_auxz00_7691,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 228 */
 obj_t BgL_pairz00_3006;
{ /* Llib/weakhash.scm 228 */
 obj_t BgL_aux2840z00_5117;
BgL_aux2840z00_5117 = 
CAR(BgL_pairz00_3003); 
if(
PAIRP(BgL_aux2840z00_5117))
{ /* Llib/weakhash.scm 228 */
BgL_pairz00_3006 = BgL_aux2840z00_5117; }  else 
{ 
 obj_t BgL_auxz00_7698;
BgL_auxz00_7698 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(8706L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_aux2840z00_5117); 
FAILURE(BgL_auxz00_7698,BFALSE,BFALSE);} } 
BgL_arg1444z00_1499 = 
CAR(BgL_pairz00_3006); } } 
{ /* Llib/weakhash.scm 228 */
 obj_t BgL_objz00_3007;
if(
BGL_WEAKPTRP(BgL_arg1444z00_1499))
{ /* Llib/weakhash.scm 228 */
BgL_objz00_3007 = BgL_arg1444z00_1499; }  else 
{ 
 obj_t BgL_auxz00_7705;
BgL_auxz00_7705 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(8718L), BGl_string3460z00zz__weakhashz00, BGl_string3462z00zz__weakhashz00, BgL_arg1444z00_1499); 
FAILURE(BgL_auxz00_7705,BFALSE,BFALSE);} 
BgL_keyz00_1496 = 
bgl_weakptr_data(BgL_objz00_3007); } } 
{ /* Llib/weakhash.scm 229 */
 obj_t BgL_arg1445z00_1500;
{ /* Llib/weakhash.scm 229 */
 obj_t BgL_pairz00_3008;
if(
PAIRP(BgL_bucketz00_1489))
{ /* Llib/weakhash.scm 229 */
BgL_pairz00_3008 = BgL_bucketz00_1489; }  else 
{ 
 obj_t BgL_auxz00_7712;
BgL_auxz00_7712 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(8753L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_bucketz00_1489); 
FAILURE(BgL_auxz00_7712,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 229 */
 obj_t BgL_pairz00_3011;
{ /* Llib/weakhash.scm 229 */
 obj_t BgL_aux2846z00_5123;
BgL_aux2846z00_5123 = 
CAR(BgL_pairz00_3008); 
if(
PAIRP(BgL_aux2846z00_5123))
{ /* Llib/weakhash.scm 229 */
BgL_pairz00_3011 = BgL_aux2846z00_5123; }  else 
{ 
 obj_t BgL_auxz00_7719;
BgL_auxz00_7719 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(8747L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_aux2846z00_5123); 
FAILURE(BgL_auxz00_7719,BFALSE,BFALSE);} } 
BgL_arg1445z00_1500 = 
CDR(BgL_pairz00_3011); } } 
{ /* Llib/weakhash.scm 229 */
 obj_t BgL_objz00_3012;
if(
BGL_WEAKPTRP(BgL_arg1445z00_1500))
{ /* Llib/weakhash.scm 229 */
BgL_objz00_3012 = BgL_arg1445z00_1500; }  else 
{ 
 obj_t BgL_auxz00_7726;
BgL_auxz00_7726 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(8759L), BGl_string3460z00zz__weakhashz00, BGl_string3462z00zz__weakhashz00, BgL_arg1445z00_1500); 
FAILURE(BgL_auxz00_7726,BFALSE,BFALSE);} 
BgL_dataz00_1497 = 
bgl_weakptr_data(BgL_objz00_3012); } } 
{ /* Llib/weakhash.scm 230 */
 bool_t BgL_test4020z00_7731;
if(
(BgL_keyz00_1496==BUNSPEC))
{ /* Llib/weakhash.scm 230 */
BgL_test4020z00_7731 = ((bool_t)1)
; }  else 
{ /* Llib/weakhash.scm 230 */
BgL_test4020z00_7731 = 
(BgL_dataz00_1497==BUNSPEC)
; } 
if(BgL_test4020z00_7731)
{ /* Llib/weakhash.scm 230 */
BgL_retz00_1493 = BGl_removez00zz__weakhashz00; }  else 
{ /* Llib/weakhash.scm 233 */
 obj_t BgL_funz00_5129;
if(
PROCEDUREP(BgL_funz00_54))
{ /* Llib/weakhash.scm 233 */
BgL_funz00_5129 = BgL_funz00_54; }  else 
{ 
 obj_t BgL_auxz00_7737;
BgL_auxz00_7737 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(8858L), BGl_string3460z00zz__weakhashz00, BGl_string3469z00zz__weakhashz00, BgL_funz00_54); 
FAILURE(BgL_auxz00_7737,BFALSE,BFALSE);} 
if(
PROCEDURE_CORRECT_ARITYP(BgL_funz00_5129, 2))
{ /* Llib/weakhash.scm 233 */
BgL_retz00_1493 = 
(VA_PROCEDUREP( BgL_funz00_5129 ) ? ((obj_t (*)(obj_t, ...))PROCEDURE_ENTRY(BgL_funz00_5129))(BgL_funz00_54, BgL_keyz00_1496, BgL_dataz00_1497, BEOA) : ((obj_t (*)(obj_t, obj_t, obj_t))PROCEDURE_ENTRY(BgL_funz00_5129))(BgL_funz00_54, BgL_keyz00_1496, BgL_dataz00_1497) ); }  else 
{ /* Llib/weakhash.scm 233 */
FAILURE(BGl_string3481z00zz__weakhashz00,BGl_list3490z00zz__weakhashz00,BgL_funz00_5129);} } } } 
if(
(BgL_retz00_1493==BGl_removez00zz__weakhashz00))
{ /* Llib/weakhash.scm 205 */
{ /* Llib/weakhash.scm 134 */
 long BgL_arg1355z00_3013;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_arg1356z00_3014;
{ /* Llib/weakhash.scm 134 */
 bool_t BgL_test4025z00_7751;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_tmpz00_7752;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_res2251z00_3020;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_aux2853z00_5131;
BgL_aux2853z00_5131 = 
STRUCT_KEY(BgL_tablez00_53); 
if(
SYMBOLP(BgL_aux2853z00_5131))
{ /* Llib/weakhash.scm 134 */
BgL_res2251z00_3020 = BgL_aux2853z00_5131; }  else 
{ 
 obj_t BgL_auxz00_7756;
BgL_auxz00_7756 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5201L), BGl_string3460z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux2853z00_5131); 
FAILURE(BgL_auxz00_7756,BFALSE,BFALSE);} } 
BgL_tmpz00_7752 = BgL_res2251z00_3020; } 
BgL_test4025z00_7751 = 
(BgL_tmpz00_7752==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4025z00_7751)
{ /* Llib/weakhash.scm 134 */
 int BgL_tmpz00_7761;
BgL_tmpz00_7761 = 
(int)(0L); 
BgL_arg1356z00_3014 = 
UNSAFE_STRUCT_REF(BgL_tablez00_53, BgL_tmpz00_7761); }  else 
{ /* Llib/weakhash.scm 134 */
BgL_arg1356z00_3014 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_53); } } 
{ /* Llib/weakhash.scm 134 */
 long BgL_za71za7_3021;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_tmpz00_7765;
if(
INTEGERP(BgL_arg1356z00_3014))
{ /* Llib/weakhash.scm 134 */
BgL_tmpz00_7765 = BgL_arg1356z00_3014
; }  else 
{ 
 obj_t BgL_auxz00_7768;
BgL_auxz00_7768 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5223L), BGl_string3460z00zz__weakhashz00, BGl_string3453z00zz__weakhashz00, BgL_arg1356z00_3014); 
FAILURE(BgL_auxz00_7768,BFALSE,BFALSE);} 
BgL_za71za7_3021 = 
(long)CINT(BgL_tmpz00_7765); } 
BgL_arg1355z00_3013 = 
(BgL_za71za7_3021-1L); } } 
{ /* Llib/weakhash.scm 134 */
 bool_t BgL_test4028z00_7774;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_tmpz00_7775;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_res2252z00_3025;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_aux2856z00_5134;
BgL_aux2856z00_5134 = 
STRUCT_KEY(BgL_tablez00_53); 
if(
SYMBOLP(BgL_aux2856z00_5134))
{ /* Llib/weakhash.scm 134 */
BgL_res2252z00_3025 = BgL_aux2856z00_5134; }  else 
{ 
 obj_t BgL_auxz00_7779;
BgL_auxz00_7779 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5168L), BGl_string3460z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux2856z00_5134); 
FAILURE(BgL_auxz00_7779,BFALSE,BFALSE);} } 
BgL_tmpz00_7775 = BgL_res2252z00_3025; } 
BgL_test4028z00_7774 = 
(BgL_tmpz00_7775==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4028z00_7774)
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_auxz00_7786; int BgL_tmpz00_7784;
BgL_auxz00_7786 = 
BINT(BgL_arg1355z00_3013); 
BgL_tmpz00_7784 = 
(int)(0L); 
UNSAFE_STRUCT_SET(BgL_tablez00_53, BgL_tmpz00_7784, BgL_auxz00_7786); }  else 
{ /* Llib/weakhash.scm 134 */
BGl_errorz00zz__errorz00(BGl_string3463z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_53); } } } 
if(
CBOOL(BgL_lastzd2bucketzd2_1490))
{ /* Llib/weakhash.scm 136 */
 obj_t BgL_arg1357z00_3015;
{ /* Llib/weakhash.scm 136 */
 obj_t BgL_pairz00_3026;
if(
PAIRP(BgL_bucketz00_1489))
{ /* Llib/weakhash.scm 136 */
BgL_pairz00_3026 = BgL_bucketz00_1489; }  else 
{ 
 obj_t BgL_auxz00_7794;
BgL_auxz00_7794 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5282L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_bucketz00_1489); 
FAILURE(BgL_auxz00_7794,BFALSE,BFALSE);} 
BgL_arg1357z00_3015 = 
CDR(BgL_pairz00_3026); } 
{ /* Llib/weakhash.scm 136 */
 obj_t BgL_pairz00_3027;
if(
PAIRP(BgL_lastzd2bucketzd2_1490))
{ /* Llib/weakhash.scm 136 */
BgL_pairz00_3027 = BgL_lastzd2bucketzd2_1490; }  else 
{ 
 obj_t BgL_auxz00_7801;
BgL_auxz00_7801 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5265L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_lastzd2bucketzd2_1490); 
FAILURE(BgL_auxz00_7801,BFALSE,BFALSE);} 
SET_CDR(BgL_pairz00_3027, BgL_arg1357z00_3015); } }  else 
{ /* Llib/weakhash.scm 137 */
 obj_t BgL_arg1358z00_3016;
{ /* Llib/weakhash.scm 137 */
 obj_t BgL_pairz00_3028;
if(
PAIRP(BgL_bucketz00_1489))
{ /* Llib/weakhash.scm 137 */
BgL_pairz00_3028 = BgL_bucketz00_1489; }  else 
{ 
 obj_t BgL_auxz00_7808;
BgL_auxz00_7808 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5326L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_bucketz00_1489); 
FAILURE(BgL_auxz00_7808,BFALSE,BFALSE);} 
BgL_arg1358z00_3016 = 
CDR(BgL_pairz00_3028); } 
{ /* Llib/weakhash.scm 137 */
 obj_t BgL_vectorz00_3029;
if(
VECTORP(BgL_bucketsz00_1481))
{ /* Llib/weakhash.scm 137 */
BgL_vectorz00_3029 = BgL_bucketsz00_1481; }  else 
{ 
 obj_t BgL_auxz00_7815;
BgL_auxz00_7815 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5311L), BGl_string3460z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_bucketsz00_1481); 
FAILURE(BgL_auxz00_7815,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 137 */
 bool_t BgL_test4035z00_7819;
{ /* Llib/weakhash.scm 137 */
 long BgL_tmpz00_7820;
BgL_tmpz00_7820 = 
VECTOR_LENGTH(BgL_vectorz00_3029); 
BgL_test4035z00_7819 = 
BOUND_CHECK(BgL_iz00_1484, BgL_tmpz00_7820); } 
if(BgL_test4035z00_7819)
{ /* Llib/weakhash.scm 137 */
VECTOR_SET(BgL_vectorz00_3029,BgL_iz00_1484,BgL_arg1358z00_3016); }  else 
{ 
 obj_t BgL_auxz00_7824;
BgL_auxz00_7824 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5298L), BGl_string3464z00zz__weakhashz00, BgL_vectorz00_3029, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_3029)), 
(int)(BgL_iz00_1484)); 
FAILURE(BgL_auxz00_7824,BFALSE,BFALSE);} } } } BGl_keepgoingz00zz__weakhashz00; 
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_arg1439z00_1494;
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_pairz00_3031;
if(
PAIRP(BgL_bucketz00_1489))
{ /* Llib/weakhash.scm 205 */
BgL_pairz00_3031 = BgL_bucketz00_1489; }  else 
{ 
 obj_t BgL_auxz00_7833;
BgL_auxz00_7833 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(7915L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_bucketz00_1489); 
FAILURE(BgL_auxz00_7833,BFALSE,BFALSE);} 
BgL_arg1439z00_1494 = 
CDR(BgL_pairz00_3031); } 
{ 
 obj_t BgL_bucketz00_7838;
BgL_bucketz00_7838 = BgL_arg1439z00_1494; 
BgL_bucketz00_1489 = BgL_bucketz00_7838; 
goto BgL_zc3z04anonymousza31437ze3z87_1491;} } }  else 
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_arg1442z00_1495;
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_pairz00_3032;
if(
PAIRP(BgL_bucketz00_1489))
{ /* Llib/weakhash.scm 205 */
BgL_pairz00_3032 = BgL_bucketz00_1489; }  else 
{ 
 obj_t BgL_auxz00_7841;
BgL_auxz00_7841 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(7915L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_bucketz00_1489); 
FAILURE(BgL_auxz00_7841,BFALSE,BFALSE);} 
BgL_arg1442z00_1495 = 
CDR(BgL_pairz00_3032); } 
{ 
 obj_t BgL_lastzd2bucketzd2_7847; obj_t BgL_bucketz00_7846;
BgL_bucketz00_7846 = BgL_arg1442z00_1495; 
BgL_lastzd2bucketzd2_7847 = BgL_bucketz00_1489; 
BgL_lastzd2bucketzd2_1490 = BgL_lastzd2bucketzd2_7847; 
BgL_bucketz00_1489 = BgL_bucketz00_7846; 
goto BgL_zc3z04anonymousza31437ze3z87_1491;} } } } } 
{ 
 long BgL_iz00_7848;
BgL_iz00_7848 = 
(BgL_iz00_1484+1L); 
BgL_iz00_1484 = BgL_iz00_7848; 
goto BgL_zc3z04anonymousza31435ze3z87_1485;} } } } } }  else 
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_bucketsz00_1504;
{ /* Llib/weakhash.scm 205 */
 bool_t BgL_test4038z00_7850;
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_tmpz00_7851;
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_res2253z00_3037;
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_aux2870z00_5148;
BgL_aux2870z00_5148 = 
STRUCT_KEY(BgL_tablez00_53); 
if(
SYMBOLP(BgL_aux2870z00_5148))
{ /* Llib/weakhash.scm 205 */
BgL_res2253z00_3037 = BgL_aux2870z00_5148; }  else 
{ 
 obj_t BgL_auxz00_7855;
BgL_auxz00_7855 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(7915L), BGl_string3480z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux2870z00_5148); 
FAILURE(BgL_auxz00_7855,BFALSE,BFALSE);} } 
BgL_tmpz00_7851 = BgL_res2253z00_3037; } 
BgL_test4038z00_7850 = 
(BgL_tmpz00_7851==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4038z00_7850)
{ /* Llib/weakhash.scm 205 */
 int BgL_tmpz00_7860;
BgL_tmpz00_7860 = 
(int)(2L); 
BgL_bucketsz00_1504 = 
UNSAFE_STRUCT_REF(BgL_tablez00_53, BgL_tmpz00_7860); }  else 
{ /* Llib/weakhash.scm 205 */
BgL_bucketsz00_1504 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_53); } } 
{ /* Llib/weakhash.scm 205 */
 long BgL_bucketszd2lenzd2_1505;
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_vectorz00_3038;
if(
VECTORP(BgL_bucketsz00_1504))
{ /* Llib/weakhash.scm 205 */
BgL_vectorz00_3038 = BgL_bucketsz00_1504; }  else 
{ 
 obj_t BgL_auxz00_7866;
BgL_auxz00_7866 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(7915L), BGl_string3480z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_bucketsz00_1504); 
FAILURE(BgL_auxz00_7866,BFALSE,BFALSE);} 
BgL_bucketszd2lenzd2_1505 = 
VECTOR_LENGTH(BgL_vectorz00_3038); } 
{ /* Llib/weakhash.scm 205 */

{ 
 long BgL_iz00_1507;
BgL_iz00_1507 = 0L; 
BgL_zc3z04anonymousza31447ze3z87_1508:
if(
(BgL_iz00_1507==BgL_bucketszd2lenzd2_1505))
{ /* Llib/weakhash.scm 205 */
return ((bool_t)0);}  else 
{ /* Llib/weakhash.scm 205 */
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_g1067z00_1510;
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_vectorz00_3041;
if(
VECTORP(BgL_bucketsz00_1504))
{ /* Llib/weakhash.scm 205 */
BgL_vectorz00_3041 = BgL_bucketsz00_1504; }  else 
{ 
 obj_t BgL_auxz00_7875;
BgL_auxz00_7875 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(7915L), BGl_string3467z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_bucketsz00_1504); 
FAILURE(BgL_auxz00_7875,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 205 */
 bool_t BgL_test4043z00_7879;
{ /* Llib/weakhash.scm 205 */
 long BgL_tmpz00_7880;
BgL_tmpz00_7880 = 
VECTOR_LENGTH(BgL_vectorz00_3041); 
BgL_test4043z00_7879 = 
BOUND_CHECK(BgL_iz00_1507, BgL_tmpz00_7880); } 
if(BgL_test4043z00_7879)
{ /* Llib/weakhash.scm 205 */
BgL_g1067z00_1510 = 
VECTOR_REF(BgL_vectorz00_3041,BgL_iz00_1507); }  else 
{ 
 obj_t BgL_auxz00_7884;
BgL_auxz00_7884 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(7915L), BGl_string3459z00zz__weakhashz00, BgL_vectorz00_3041, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_3041)), 
(int)(BgL_iz00_1507)); 
FAILURE(BgL_auxz00_7884,BFALSE,BFALSE);} } } 
{ 
 obj_t BgL_bucketz00_1512; obj_t BgL_lastzd2bucketzd2_1513;
BgL_bucketz00_1512 = BgL_g1067z00_1510; 
BgL_lastzd2bucketzd2_1513 = BFALSE; 
BgL_zc3z04anonymousza31449ze3z87_1514:
if(
NULLP(BgL_bucketz00_1512))
{ /* Llib/weakhash.scm 205 */((bool_t)0); }  else 
{ /* Llib/weakhash.scm 236 */
 obj_t BgL_retz00_1516;
{ /* Llib/weakhash.scm 236 */
 obj_t BgL_arg1453z00_1519; obj_t BgL_arg1455z00_1520;
{ /* Llib/weakhash.scm 236 */
 obj_t BgL_pairz00_3043;
if(
PAIRP(BgL_bucketz00_1512))
{ /* Llib/weakhash.scm 236 */
BgL_pairz00_3043 = BgL_bucketz00_1512; }  else 
{ 
 obj_t BgL_auxz00_7895;
BgL_auxz00_7895 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(8924L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_bucketz00_1512); 
FAILURE(BgL_auxz00_7895,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 236 */
 obj_t BgL_pairz00_3046;
{ /* Llib/weakhash.scm 236 */
 obj_t BgL_aux2878z00_5156;
BgL_aux2878z00_5156 = 
CAR(BgL_pairz00_3043); 
if(
PAIRP(BgL_aux2878z00_5156))
{ /* Llib/weakhash.scm 236 */
BgL_pairz00_3046 = BgL_aux2878z00_5156; }  else 
{ 
 obj_t BgL_auxz00_7902;
BgL_auxz00_7902 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(8918L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_aux2878z00_5156); 
FAILURE(BgL_auxz00_7902,BFALSE,BFALSE);} } 
BgL_arg1453z00_1519 = 
CAR(BgL_pairz00_3046); } } 
{ /* Llib/weakhash.scm 236 */
 obj_t BgL_pairz00_3047;
if(
PAIRP(BgL_bucketz00_1512))
{ /* Llib/weakhash.scm 236 */
BgL_pairz00_3047 = BgL_bucketz00_1512; }  else 
{ 
 obj_t BgL_auxz00_7909;
BgL_auxz00_7909 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(8938L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_bucketz00_1512); 
FAILURE(BgL_auxz00_7909,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 236 */
 obj_t BgL_pairz00_3050;
{ /* Llib/weakhash.scm 236 */
 obj_t BgL_aux2882z00_5160;
BgL_aux2882z00_5160 = 
CAR(BgL_pairz00_3047); 
if(
PAIRP(BgL_aux2882z00_5160))
{ /* Llib/weakhash.scm 236 */
BgL_pairz00_3050 = BgL_aux2882z00_5160; }  else 
{ 
 obj_t BgL_auxz00_7916;
BgL_auxz00_7916 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(8932L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_aux2882z00_5160); 
FAILURE(BgL_auxz00_7916,BFALSE,BFALSE);} } 
BgL_arg1455z00_1520 = 
CDR(BgL_pairz00_3050); } } 
{ /* Llib/weakhash.scm 236 */
 obj_t BgL_funz00_5164;
if(
PROCEDUREP(BgL_funz00_54))
{ /* Llib/weakhash.scm 236 */
BgL_funz00_5164 = BgL_funz00_54; }  else 
{ 
 obj_t BgL_auxz00_7923;
BgL_auxz00_7923 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(8913L), BGl_string3460z00zz__weakhashz00, BGl_string3469z00zz__weakhashz00, BgL_funz00_54); 
FAILURE(BgL_auxz00_7923,BFALSE,BFALSE);} 
if(
PROCEDURE_CORRECT_ARITYP(BgL_funz00_5164, 2))
{ /* Llib/weakhash.scm 236 */
BgL_retz00_1516 = 
(VA_PROCEDUREP( BgL_funz00_5164 ) ? ((obj_t (*)(obj_t, ...))PROCEDURE_ENTRY(BgL_funz00_5164))(BgL_funz00_54, BgL_arg1453z00_1519, BgL_arg1455z00_1520, BEOA) : ((obj_t (*)(obj_t, obj_t, obj_t))PROCEDURE_ENTRY(BgL_funz00_5164))(BgL_funz00_54, BgL_arg1453z00_1519, BgL_arg1455z00_1520) ); }  else 
{ /* Llib/weakhash.scm 236 */
FAILURE(BGl_string3481z00zz__weakhashz00,BGl_list3491z00zz__weakhashz00,BgL_funz00_5164);} } } 
if(
(BgL_retz00_1516==BGl_removez00zz__weakhashz00))
{ /* Llib/weakhash.scm 205 */
{ /* Llib/weakhash.scm 134 */
 long BgL_arg1355z00_3051;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_arg1356z00_3052;
{ /* Llib/weakhash.scm 134 */
 bool_t BgL_test4052z00_7937;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_tmpz00_7938;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_res2254z00_3058;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_aux2887z00_5166;
BgL_aux2887z00_5166 = 
STRUCT_KEY(BgL_tablez00_53); 
if(
SYMBOLP(BgL_aux2887z00_5166))
{ /* Llib/weakhash.scm 134 */
BgL_res2254z00_3058 = BgL_aux2887z00_5166; }  else 
{ 
 obj_t BgL_auxz00_7942;
BgL_auxz00_7942 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5201L), BGl_string3460z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux2887z00_5166); 
FAILURE(BgL_auxz00_7942,BFALSE,BFALSE);} } 
BgL_tmpz00_7938 = BgL_res2254z00_3058; } 
BgL_test4052z00_7937 = 
(BgL_tmpz00_7938==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4052z00_7937)
{ /* Llib/weakhash.scm 134 */
 int BgL_tmpz00_7947;
BgL_tmpz00_7947 = 
(int)(0L); 
BgL_arg1356z00_3052 = 
UNSAFE_STRUCT_REF(BgL_tablez00_53, BgL_tmpz00_7947); }  else 
{ /* Llib/weakhash.scm 134 */
BgL_arg1356z00_3052 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_53); } } 
{ /* Llib/weakhash.scm 134 */
 long BgL_za71za7_3059;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_tmpz00_7951;
if(
INTEGERP(BgL_arg1356z00_3052))
{ /* Llib/weakhash.scm 134 */
BgL_tmpz00_7951 = BgL_arg1356z00_3052
; }  else 
{ 
 obj_t BgL_auxz00_7954;
BgL_auxz00_7954 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5223L), BGl_string3460z00zz__weakhashz00, BGl_string3453z00zz__weakhashz00, BgL_arg1356z00_3052); 
FAILURE(BgL_auxz00_7954,BFALSE,BFALSE);} 
BgL_za71za7_3059 = 
(long)CINT(BgL_tmpz00_7951); } 
BgL_arg1355z00_3051 = 
(BgL_za71za7_3059-1L); } } 
{ /* Llib/weakhash.scm 134 */
 bool_t BgL_test4055z00_7960;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_tmpz00_7961;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_res2255z00_3063;
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_aux2890z00_5169;
BgL_aux2890z00_5169 = 
STRUCT_KEY(BgL_tablez00_53); 
if(
SYMBOLP(BgL_aux2890z00_5169))
{ /* Llib/weakhash.scm 134 */
BgL_res2255z00_3063 = BgL_aux2890z00_5169; }  else 
{ 
 obj_t BgL_auxz00_7965;
BgL_auxz00_7965 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5168L), BGl_string3460z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux2890z00_5169); 
FAILURE(BgL_auxz00_7965,BFALSE,BFALSE);} } 
BgL_tmpz00_7961 = BgL_res2255z00_3063; } 
BgL_test4055z00_7960 = 
(BgL_tmpz00_7961==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4055z00_7960)
{ /* Llib/weakhash.scm 134 */
 obj_t BgL_auxz00_7972; int BgL_tmpz00_7970;
BgL_auxz00_7972 = 
BINT(BgL_arg1355z00_3051); 
BgL_tmpz00_7970 = 
(int)(0L); 
UNSAFE_STRUCT_SET(BgL_tablez00_53, BgL_tmpz00_7970, BgL_auxz00_7972); }  else 
{ /* Llib/weakhash.scm 134 */
BGl_errorz00zz__errorz00(BGl_string3463z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_53); } } } 
if(
CBOOL(BgL_lastzd2bucketzd2_1513))
{ /* Llib/weakhash.scm 136 */
 obj_t BgL_arg1357z00_3053;
{ /* Llib/weakhash.scm 136 */
 obj_t BgL_pairz00_3064;
if(
PAIRP(BgL_bucketz00_1512))
{ /* Llib/weakhash.scm 136 */
BgL_pairz00_3064 = BgL_bucketz00_1512; }  else 
{ 
 obj_t BgL_auxz00_7980;
BgL_auxz00_7980 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5282L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_bucketz00_1512); 
FAILURE(BgL_auxz00_7980,BFALSE,BFALSE);} 
BgL_arg1357z00_3053 = 
CDR(BgL_pairz00_3064); } 
{ /* Llib/weakhash.scm 136 */
 obj_t BgL_pairz00_3065;
if(
PAIRP(BgL_lastzd2bucketzd2_1513))
{ /* Llib/weakhash.scm 136 */
BgL_pairz00_3065 = BgL_lastzd2bucketzd2_1513; }  else 
{ 
 obj_t BgL_auxz00_7987;
BgL_auxz00_7987 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5265L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_lastzd2bucketzd2_1513); 
FAILURE(BgL_auxz00_7987,BFALSE,BFALSE);} 
SET_CDR(BgL_pairz00_3065, BgL_arg1357z00_3053); } }  else 
{ /* Llib/weakhash.scm 137 */
 obj_t BgL_arg1358z00_3054;
{ /* Llib/weakhash.scm 137 */
 obj_t BgL_pairz00_3066;
if(
PAIRP(BgL_bucketz00_1512))
{ /* Llib/weakhash.scm 137 */
BgL_pairz00_3066 = BgL_bucketz00_1512; }  else 
{ 
 obj_t BgL_auxz00_7994;
BgL_auxz00_7994 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5326L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_bucketz00_1512); 
FAILURE(BgL_auxz00_7994,BFALSE,BFALSE);} 
BgL_arg1358z00_3054 = 
CDR(BgL_pairz00_3066); } 
{ /* Llib/weakhash.scm 137 */
 obj_t BgL_vectorz00_3067;
if(
VECTORP(BgL_bucketsz00_1504))
{ /* Llib/weakhash.scm 137 */
BgL_vectorz00_3067 = BgL_bucketsz00_1504; }  else 
{ 
 obj_t BgL_auxz00_8001;
BgL_auxz00_8001 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5311L), BGl_string3460z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_bucketsz00_1504); 
FAILURE(BgL_auxz00_8001,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 137 */
 bool_t BgL_test4062z00_8005;
{ /* Llib/weakhash.scm 137 */
 long BgL_tmpz00_8006;
BgL_tmpz00_8006 = 
VECTOR_LENGTH(BgL_vectorz00_3067); 
BgL_test4062z00_8005 = 
BOUND_CHECK(BgL_iz00_1507, BgL_tmpz00_8006); } 
if(BgL_test4062z00_8005)
{ /* Llib/weakhash.scm 137 */
VECTOR_SET(BgL_vectorz00_3067,BgL_iz00_1507,BgL_arg1358z00_3054); }  else 
{ 
 obj_t BgL_auxz00_8010;
BgL_auxz00_8010 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(5298L), BGl_string3464z00zz__weakhashz00, BgL_vectorz00_3067, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_3067)), 
(int)(BgL_iz00_1507)); 
FAILURE(BgL_auxz00_8010,BFALSE,BFALSE);} } } } BGl_keepgoingz00zz__weakhashz00; 
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_arg1451z00_1517;
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_pairz00_3069;
if(
PAIRP(BgL_bucketz00_1512))
{ /* Llib/weakhash.scm 205 */
BgL_pairz00_3069 = BgL_bucketz00_1512; }  else 
{ 
 obj_t BgL_auxz00_8019;
BgL_auxz00_8019 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(7915L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_bucketz00_1512); 
FAILURE(BgL_auxz00_8019,BFALSE,BFALSE);} 
BgL_arg1451z00_1517 = 
CDR(BgL_pairz00_3069); } 
{ 
 obj_t BgL_bucketz00_8024;
BgL_bucketz00_8024 = BgL_arg1451z00_1517; 
BgL_bucketz00_1512 = BgL_bucketz00_8024; 
goto BgL_zc3z04anonymousza31449ze3z87_1514;} } }  else 
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_arg1452z00_1518;
{ /* Llib/weakhash.scm 205 */
 obj_t BgL_pairz00_3070;
if(
PAIRP(BgL_bucketz00_1512))
{ /* Llib/weakhash.scm 205 */
BgL_pairz00_3070 = BgL_bucketz00_1512; }  else 
{ 
 obj_t BgL_auxz00_8027;
BgL_auxz00_8027 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(7915L), BGl_string3460z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_bucketz00_1512); 
FAILURE(BgL_auxz00_8027,BFALSE,BFALSE);} 
BgL_arg1452z00_1518 = 
CDR(BgL_pairz00_3070); } 
{ 
 obj_t BgL_lastzd2bucketzd2_8033; obj_t BgL_bucketz00_8032;
BgL_bucketz00_8032 = BgL_arg1452z00_1518; 
BgL_lastzd2bucketzd2_8033 = BgL_bucketz00_1512; 
BgL_lastzd2bucketzd2_1513 = BgL_lastzd2bucketzd2_8033; 
BgL_bucketz00_1512 = BgL_bucketz00_8032; 
goto BgL_zc3z04anonymousza31449ze3z87_1514;} } } } } 
{ 
 long BgL_iz00_8034;
BgL_iz00_8034 = 
(BgL_iz00_1507+1L); 
BgL_iz00_1507 = BgL_iz00_8034; 
goto BgL_zc3z04anonymousza31447ze3z87_1508;} } } } } } } } } } 

}



/* 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_1528; obj_t BgL_wz00_4484;
BgL_vecz00_1528 = 
make_vector(
BGl_hashtablezd2siza7ez75zz__hashz00(BgL_tablez00_57), BUNSPEC); 
BgL_wz00_4484 = 
BGL_MAKE_UNSAFE_CELL(
BINT(0L)); 
{ /* Llib/weakhash.scm 261 */
 obj_t BgL_zc3z04anonymousza31462ze3z87_4475;
BgL_zc3z04anonymousza31462ze3z87_4475 = 
MAKE_FX_PROCEDURE(BGl_z62zc3z04anonymousza31462ze3ze5zz__weakhashz00, 
(int)(2L), 
(int)(2L)); 
PROCEDURE_SET(BgL_zc3z04anonymousza31462ze3z87_4475, 
(int)(0L), BgL_vecz00_1528); 
PROCEDURE_SET(BgL_zc3z04anonymousza31462ze3z87_4475, 
(int)(1L), 
((obj_t)BgL_wz00_4484)); 
if(
BGl_hashtablezd2weakzd2keyszf3zf3zz__hashz00(BgL_tablez00_57))
{ /* Llib/weakhash.scm 249 */
BGl_keyszd2traversezd2hashz00zz__weakhashz00(BgL_tablez00_57, BgL_zc3z04anonymousza31462ze3z87_4475); }  else 
{ /* Llib/weakhash.scm 249 */
BBOOL(
BGl_oldzd2traversezd2hashz00zz__weakhashz00(BgL_tablez00_57, BgL_zc3z04anonymousza31462ze3z87_4475)); } } 
{ /* Llib/weakhash.scm 263 */
 bool_t BgL_test4066z00_8052;
{ /* Llib/weakhash.scm 263 */
 long BgL_arg1466z00_1537;
BgL_arg1466z00_1537 = 
BGl_hashtablezd2siza7ez75zz__hashz00(BgL_tablez00_57); 
{ /* Llib/weakhash.scm 263 */
 long BgL_n1z00_3079;
{ /* Llib/weakhash.scm 263 */
 obj_t BgL_tmpz00_8054;
{ /* Llib/weakhash.scm 263 */
 obj_t BgL_aux2904z00_5184;
BgL_aux2904z00_5184 = 
BGL_UNSAFE_CELL_REF(BgL_wz00_4484); 
if(
INTEGERP(BgL_aux2904z00_5184))
{ /* Llib/weakhash.scm 263 */
BgL_tmpz00_8054 = BgL_aux2904z00_5184
; }  else 
{ 
 obj_t BgL_auxz00_8057;
BgL_auxz00_8057 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(10032L), BGl_string3496z00zz__weakhashz00, BGl_string3453z00zz__weakhashz00, BgL_aux2904z00_5184); 
FAILURE(BgL_auxz00_8057,BFALSE,BFALSE);} } 
BgL_n1z00_3079 = 
(long)CINT(BgL_tmpz00_8054); } 
BgL_test4066z00_8052 = 
(BgL_n1z00_3079<BgL_arg1466z00_1537); } } 
if(BgL_test4066z00_8052)
{ /* Llib/weakhash.scm 264 */
 long BgL_auxz00_8063;
{ /* Llib/weakhash.scm 264 */
 obj_t BgL_tmpz00_8064;
{ /* Llib/weakhash.scm 264 */
 obj_t BgL_aux2905z00_5185;
BgL_aux2905z00_5185 = 
BGL_UNSAFE_CELL_REF(BgL_wz00_4484); 
if(
INTEGERP(BgL_aux2905z00_5185))
{ /* Llib/weakhash.scm 264 */
BgL_tmpz00_8064 = BgL_aux2905z00_5185
; }  else 
{ 
 obj_t BgL_auxz00_8067;
BgL_auxz00_8067 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(10078L), BGl_string3496z00zz__weakhashz00, BGl_string3453z00zz__weakhashz00, BgL_aux2905z00_5185); 
FAILURE(BgL_auxz00_8067,BFALSE,BFALSE);} } 
BgL_auxz00_8063 = 
(long)CINT(BgL_tmpz00_8064); } 
return 
BGl_copyzd2vectorzd2zz__r4_vectors_6_8z00(BgL_vecz00_1528, BgL_auxz00_8063);}  else 
{ /* Llib/weakhash.scm 263 */
return BgL_vecz00_1528;} } } } 

}



/* &weak-hashtable->vector */
obj_t BGl_z62weakzd2hashtablezd2ze3vectorz81zz__weakhashz00(obj_t BgL_envz00_4476, obj_t BgL_tablez00_4477)
{
{ /* Llib/weakhash.scm 256 */
{ /* Llib/weakhash.scm 257 */
 obj_t BgL_auxz00_8073;
if(
STRUCTP(BgL_tablez00_4477))
{ /* Llib/weakhash.scm 257 */
BgL_auxz00_8073 = BgL_tablez00_4477
; }  else 
{ 
 obj_t BgL_auxz00_8076;
BgL_auxz00_8076 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(9857L), BGl_string3497z00zz__weakhashz00, BGl_string3498z00zz__weakhashz00, BgL_tablez00_4477); 
FAILURE(BgL_auxz00_8076,BFALSE,BFALSE);} 
return 
BGl_weakzd2hashtablezd2ze3vectorze3zz__weakhashz00(BgL_auxz00_8073);} } 

}



/* &<@anonymous:1462> */
obj_t BGl_z62zc3z04anonymousza31462ze3ze5zz__weakhashz00(obj_t BgL_envz00_4478, obj_t BgL_keyz00_4481, obj_t BgL_valz00_4482)
{
{ /* Llib/weakhash.scm 260 */
{ /* Llib/weakhash.scm 261 */
 obj_t BgL_vecz00_4479; obj_t BgL_wz00_4480;
BgL_vecz00_4479 = 
((obj_t)
PROCEDURE_REF(BgL_envz00_4478, 
(int)(0L))); 
BgL_wz00_4480 = 
PROCEDURE_REF(BgL_envz00_4478, 
(int)(1L)); 
{ /* Llib/weakhash.scm 261 */
 obj_t BgL_vectorz00_5775; long BgL_kz00_5776;
if(
VECTORP(BgL_vecz00_4479))
{ /* Llib/weakhash.scm 261 */
BgL_vectorz00_5775 = BgL_vecz00_4479; }  else 
{ 
 obj_t BgL_auxz00_8088;
BgL_auxz00_8088 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(9980L), BGl_string3499z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_vecz00_4479); 
FAILURE(BgL_auxz00_8088,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 261 */
 obj_t BgL_tmpz00_8092;
{ /* Llib/weakhash.scm 261 */
 obj_t BgL_aux2910z00_5777;
BgL_aux2910z00_5777 = 
BGL_UNSAFE_CELL_REF(BgL_wz00_4480); 
if(
INTEGERP(BgL_aux2910z00_5777))
{ /* Llib/weakhash.scm 261 */
BgL_tmpz00_8092 = BgL_aux2910z00_5777
; }  else 
{ 
 obj_t BgL_auxz00_8095;
BgL_auxz00_8095 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(9984L), BGl_string3499z00zz__weakhashz00, BGl_string3453z00zz__weakhashz00, BgL_aux2910z00_5777); 
FAILURE(BgL_auxz00_8095,BFALSE,BFALSE);} } 
BgL_kz00_5776 = 
(long)CINT(BgL_tmpz00_8092); } 
{ /* Llib/weakhash.scm 261 */
 bool_t BgL_test4072z00_8100;
{ /* Llib/weakhash.scm 261 */
 long BgL_tmpz00_8101;
BgL_tmpz00_8101 = 
VECTOR_LENGTH(BgL_vectorz00_5775); 
BgL_test4072z00_8100 = 
BOUND_CHECK(BgL_kz00_5776, BgL_tmpz00_8101); } 
if(BgL_test4072z00_8100)
{ /* Llib/weakhash.scm 261 */
VECTOR_SET(BgL_vectorz00_5775,BgL_kz00_5776,BgL_valz00_4482); }  else 
{ 
 obj_t BgL_auxz00_8105;
BgL_auxz00_8105 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(9967L), BGl_string3464z00zz__weakhashz00, BgL_vectorz00_5775, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_5775)), 
(int)(BgL_kz00_5776)); 
FAILURE(BgL_auxz00_8105,BFALSE,BFALSE);} } } 
{ /* Llib/weakhash.scm 262 */
 obj_t BgL_auxz00_5778;
{ /* Llib/weakhash.scm 261 */
 obj_t BgL_tmpz00_8112;
{ /* Llib/weakhash.scm 262 */
 obj_t BgL_aux2911z00_5779;
BgL_aux2911z00_5779 = 
BGL_UNSAFE_CELL_REF(BgL_wz00_4480); 
if(
INTEGERP(BgL_aux2911z00_5779))
{ /* Llib/weakhash.scm 262 */
BgL_tmpz00_8112 = BgL_aux2911z00_5779
; }  else 
{ 
 obj_t BgL_auxz00_8115;
BgL_auxz00_8115 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(10009L), BGl_string3499z00zz__weakhashz00, BGl_string3453z00zz__weakhashz00, BgL_aux2911z00_5779); 
FAILURE(BgL_auxz00_8115,BFALSE,BFALSE);} } 
BgL_auxz00_5778 = 
ADDFX(BgL_tmpz00_8112, 
BINT(1L)); } 
return 
BGL_UNSAFE_CELL_SET(BgL_wz00_4480, BgL_auxz00_5778);} } } 

}



/* 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_4494;
BgL_resz00_4494 = 
BGL_MAKE_UNSAFE_CELL(BNIL); 
{ /* Llib/weakhash.scm 274 */
 obj_t BgL_zc3z04anonymousza31470ze3z87_4486;
BgL_zc3z04anonymousza31470ze3z87_4486 = 
MAKE_FX_PROCEDURE(BGl_z62zc3z04anonymousza31470ze3ze5zz__weakhashz00, 
(int)(2L), 
(int)(1L)); 
PROCEDURE_SET(BgL_zc3z04anonymousza31470ze3z87_4486, 
(int)(0L), 
((obj_t)BgL_resz00_4494)); 
if(
BGl_hashtablezd2weakzd2keyszf3zf3zz__hashz00(BgL_tablez00_58))
{ /* Llib/weakhash.scm 249 */
BGl_keyszd2traversezd2hashz00zz__weakhashz00(BgL_tablez00_58, BgL_zc3z04anonymousza31470ze3z87_4486); }  else 
{ /* Llib/weakhash.scm 249 */
BBOOL(
BGl_oldzd2traversezd2hashz00zz__weakhashz00(BgL_tablez00_58, BgL_zc3z04anonymousza31470ze3z87_4486)); } } 
{ /* Llib/weakhash.scm 275 */
 obj_t BgL_aux2912z00_5192;
BgL_aux2912z00_5192 = 
BGL_UNSAFE_CELL_REF(BgL_resz00_4494); 
{ /* Llib/weakhash.scm 275 */
 bool_t BgL_test4075z00_8132;
if(
PAIRP(BgL_aux2912z00_5192))
{ /* Llib/weakhash.scm 275 */
BgL_test4075z00_8132 = ((bool_t)1)
; }  else 
{ /* Llib/weakhash.scm 275 */
BgL_test4075z00_8132 = 
NULLP(BgL_aux2912z00_5192)
; } 
if(BgL_test4075z00_8132)
{ /* Llib/weakhash.scm 275 */
return BgL_aux2912z00_5192;}  else 
{ 
 obj_t BgL_auxz00_8136;
BgL_auxz00_8136 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(10465L), BGl_string3500z00zz__weakhashz00, BGl_string3501z00zz__weakhashz00, BgL_aux2912z00_5192); 
FAILURE(BgL_auxz00_8136,BFALSE,BFALSE);} } } } } 

}



/* &weak-hashtable->list */
obj_t BGl_z62weakzd2hashtablezd2ze3listz81zz__weakhashz00(obj_t BgL_envz00_4487, obj_t BgL_tablez00_4488)
{
{ /* Llib/weakhash.scm 270 */
{ /* Llib/weakhash.scm 271 */
 obj_t BgL_auxz00_8140;
if(
STRUCTP(BgL_tablez00_4488))
{ /* Llib/weakhash.scm 271 */
BgL_auxz00_8140 = BgL_tablez00_4488
; }  else 
{ 
 obj_t BgL_auxz00_8143;
BgL_auxz00_8143 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(10362L), BGl_string3502z00zz__weakhashz00, BGl_string3498z00zz__weakhashz00, BgL_tablez00_4488); 
FAILURE(BgL_auxz00_8143,BFALSE,BFALSE);} 
return 
BGl_weakzd2hashtablezd2ze3listze3zz__weakhashz00(BgL_auxz00_8140);} } 

}



/* &<@anonymous:1470> */
obj_t BGl_z62zc3z04anonymousza31470ze3ze5zz__weakhashz00(obj_t BgL_envz00_4489, obj_t BgL_keyz00_4491, obj_t BgL_valz00_4492)
{
{ /* Llib/weakhash.scm 273 */
{ /* Llib/weakhash.scm 274 */
 obj_t BgL_resz00_4490;
BgL_resz00_4490 = 
PROCEDURE_REF(BgL_envz00_4489, 
(int)(0L)); 
{ /* Llib/weakhash.scm 274 */
 obj_t BgL_auxz00_5781;
BgL_auxz00_5781 = 
MAKE_YOUNG_PAIR(BgL_valz00_4492, 
BGL_UNSAFE_CELL_REF(BgL_resz00_4490)); 
return 
BGL_UNSAFE_CELL_SET(BgL_resz00_4490, BgL_auxz00_5781);} } } 

}



/* 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_4504;
BgL_resz00_4504 = 
BGL_MAKE_UNSAFE_CELL(BNIL); 
{ /* Llib/weakhash.scm 284 */
 obj_t BgL_zc3z04anonymousza31472ze3z87_4496;
BgL_zc3z04anonymousza31472ze3z87_4496 = 
MAKE_FX_PROCEDURE(BGl_z62zc3z04anonymousza31472ze3ze5zz__weakhashz00, 
(int)(2L), 
(int)(1L)); 
PROCEDURE_SET(BgL_zc3z04anonymousza31472ze3z87_4496, 
(int)(0L), 
((obj_t)BgL_resz00_4504)); 
if(
BGl_hashtablezd2weakzd2keyszf3zf3zz__hashz00(BgL_tablez00_59))
{ /* Llib/weakhash.scm 249 */
BGl_keyszd2traversezd2hashz00zz__weakhashz00(BgL_tablez00_59, BgL_zc3z04anonymousza31472ze3z87_4496); }  else 
{ /* Llib/weakhash.scm 249 */
BBOOL(
BGl_oldzd2traversezd2hashz00zz__weakhashz00(BgL_tablez00_59, BgL_zc3z04anonymousza31472ze3z87_4496)); } } 
{ /* Llib/weakhash.scm 285 */
 obj_t BgL_aux2916z00_5196;
BgL_aux2916z00_5196 = 
BGL_UNSAFE_CELL_REF(BgL_resz00_4504); 
{ /* Llib/weakhash.scm 285 */
 bool_t BgL_test4079z00_8162;
if(
PAIRP(BgL_aux2916z00_5196))
{ /* Llib/weakhash.scm 285 */
BgL_test4079z00_8162 = ((bool_t)1)
; }  else 
{ /* Llib/weakhash.scm 285 */
BgL_test4079z00_8162 = 
NULLP(BgL_aux2916z00_5196)
; } 
if(BgL_test4079z00_8162)
{ /* Llib/weakhash.scm 285 */
return BgL_aux2916z00_5196;}  else 
{ 
 obj_t BgL_auxz00_8166;
BgL_auxz00_8166 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(10848L), BGl_string3503z00zz__weakhashz00, BGl_string3501z00zz__weakhashz00, BgL_aux2916z00_5196); 
FAILURE(BgL_auxz00_8166,BFALSE,BFALSE);} } } } } 

}



/* &weak-hashtable-key-list */
obj_t BGl_z62weakzd2hashtablezd2keyzd2listzb0zz__weakhashz00(obj_t BgL_envz00_4497, obj_t BgL_tablez00_4498)
{
{ /* Llib/weakhash.scm 280 */
{ /* Llib/weakhash.scm 281 */
 obj_t BgL_auxz00_8170;
if(
STRUCTP(BgL_tablez00_4498))
{ /* Llib/weakhash.scm 281 */
BgL_auxz00_8170 = BgL_tablez00_4498
; }  else 
{ 
 obj_t BgL_auxz00_8173;
BgL_auxz00_8173 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(10745L), BGl_string3504z00zz__weakhashz00, BGl_string3498z00zz__weakhashz00, BgL_tablez00_4498); 
FAILURE(BgL_auxz00_8173,BFALSE,BFALSE);} 
return 
BGl_weakzd2hashtablezd2keyzd2listzd2zz__weakhashz00(BgL_auxz00_8170);} } 

}



/* &<@anonymous:1472> */
obj_t BGl_z62zc3z04anonymousza31472ze3ze5zz__weakhashz00(obj_t BgL_envz00_4499, obj_t BgL_keyz00_4501, obj_t BgL_valz00_4502)
{
{ /* Llib/weakhash.scm 283 */
{ /* Llib/weakhash.scm 284 */
 obj_t BgL_resz00_4500;
BgL_resz00_4500 = 
PROCEDURE_REF(BgL_envz00_4499, 
(int)(0L)); 
{ /* Llib/weakhash.scm 284 */
 obj_t BgL_auxz00_5783;
BgL_auxz00_5783 = 
MAKE_YOUNG_PAIR(BgL_keyz00_4501, 
BGL_UNSAFE_CELL_REF(BgL_resz00_4500)); 
return 
BGL_UNSAFE_CELL_SET(BgL_resz00_4500, BgL_auxz00_5783);} } } 

}



/* 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_4516;
BgL_resz00_4516 = 
BGL_MAKE_UNSAFE_CELL(BNIL); 
{ /* Llib/weakhash.scm 294 */
 obj_t BgL_zc3z04anonymousza31474ze3z87_4506;
BgL_zc3z04anonymousza31474ze3z87_4506 = 
MAKE_FX_PROCEDURE(BGl_z62zc3z04anonymousza31474ze3ze5zz__weakhashz00, 
(int)(2L), 
(int)(2L)); 
PROCEDURE_SET(BgL_zc3z04anonymousza31474ze3z87_4506, 
(int)(0L), BgL_funz00_61); 
PROCEDURE_SET(BgL_zc3z04anonymousza31474ze3z87_4506, 
(int)(1L), 
((obj_t)BgL_resz00_4516)); 
if(
BGl_hashtablezd2weakzd2keyszf3zf3zz__hashz00(BgL_tablez00_60))
{ /* Llib/weakhash.scm 249 */
BGl_keyszd2traversezd2hashz00zz__weakhashz00(BgL_tablez00_60, BgL_zc3z04anonymousza31474ze3z87_4506); }  else 
{ /* Llib/weakhash.scm 249 */
BBOOL(
BGl_oldzd2traversezd2hashz00zz__weakhashz00(BgL_tablez00_60, BgL_zc3z04anonymousza31474ze3z87_4506)); } } 
{ /* Llib/weakhash.scm 295 */
 obj_t BgL_aux2920z00_5200;
BgL_aux2920z00_5200 = 
BGL_UNSAFE_CELL_REF(BgL_resz00_4516); 
{ /* Llib/weakhash.scm 295 */
 bool_t BgL_test4083z00_8194;
if(
PAIRP(BgL_aux2920z00_5200))
{ /* Llib/weakhash.scm 295 */
BgL_test4083z00_8194 = ((bool_t)1)
; }  else 
{ /* Llib/weakhash.scm 295 */
BgL_test4083z00_8194 = 
NULLP(BgL_aux2920z00_5200)
; } 
if(BgL_test4083z00_8194)
{ /* Llib/weakhash.scm 295 */
return BgL_aux2920z00_5200;}  else 
{ 
 obj_t BgL_auxz00_8198;
BgL_auxz00_8198 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(11251L), BGl_string3505z00zz__weakhashz00, BGl_string3501z00zz__weakhashz00, BgL_aux2920z00_5200); 
FAILURE(BgL_auxz00_8198,BFALSE,BFALSE);} } } } } 

}



/* &weak-hashtable-map */
obj_t BGl_z62weakzd2hashtablezd2mapz62zz__weakhashz00(obj_t BgL_envz00_4507, obj_t BgL_tablez00_4508, obj_t BgL_funz00_4509)
{
{ /* Llib/weakhash.scm 290 */
{ /* Llib/weakhash.scm 291 */
 obj_t BgL_auxz00_8209; obj_t BgL_auxz00_8202;
if(
PROCEDUREP(BgL_funz00_4509))
{ /* Llib/weakhash.scm 291 */
BgL_auxz00_8209 = BgL_funz00_4509
; }  else 
{ 
 obj_t BgL_auxz00_8212;
BgL_auxz00_8212 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(11138L), BGl_string3506z00zz__weakhashz00, BGl_string3469z00zz__weakhashz00, BgL_funz00_4509); 
FAILURE(BgL_auxz00_8212,BFALSE,BFALSE);} 
if(
STRUCTP(BgL_tablez00_4508))
{ /* Llib/weakhash.scm 291 */
BgL_auxz00_8202 = BgL_tablez00_4508
; }  else 
{ 
 obj_t BgL_auxz00_8205;
BgL_auxz00_8205 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(11138L), BGl_string3506z00zz__weakhashz00, BGl_string3498z00zz__weakhashz00, BgL_tablez00_4508); 
FAILURE(BgL_auxz00_8205,BFALSE,BFALSE);} 
return 
BGl_weakzd2hashtablezd2mapz00zz__weakhashz00(BgL_auxz00_8202, BgL_auxz00_8209);} } 

}



/* &<@anonymous:1474> */
obj_t BGl_z62zc3z04anonymousza31474ze3ze5zz__weakhashz00(obj_t BgL_envz00_4510, obj_t BgL_keyz00_4513, obj_t BgL_valz00_4514)
{
{ /* Llib/weakhash.scm 293 */
{ /* Llib/weakhash.scm 294 */
 obj_t BgL_funz00_4511; obj_t BgL_resz00_4512;
BgL_funz00_4511 = 
((obj_t)
PROCEDURE_REF(BgL_envz00_4510, 
(int)(0L))); 
BgL_resz00_4512 = 
PROCEDURE_REF(BgL_envz00_4510, 
(int)(1L)); 
{ /* Llib/weakhash.scm 294 */
 obj_t BgL_auxz00_5785;
{ /* Llib/weakhash.scm 294 */
 obj_t BgL_arg1475z00_5786;
if(
PROCEDURE_CORRECT_ARITYP(BgL_funz00_4511, 2))
{ /* Llib/weakhash.scm 294 */
BgL_arg1475z00_5786 = 
BGL_PROCEDURE_CALL2(BgL_funz00_4511, BgL_keyz00_4513, BgL_valz00_4514); }  else 
{ /* Llib/weakhash.scm 294 */
FAILURE(BGl_string3507z00zz__weakhashz00,BGl_list3508z00zz__weakhashz00,BgL_funz00_4511);} 
BgL_auxz00_5785 = 
MAKE_YOUNG_PAIR(BgL_arg1475z00_5786, 
BGL_UNSAFE_CELL_REF(BgL_resz00_4512)); } 
return 
BGL_UNSAFE_CELL_SET(BgL_resz00_4512, BgL_auxz00_5785);} } } 

}



/* 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_4518, obj_t BgL_tablez00_4519, obj_t BgL_funz00_4520)
{
{ /* Llib/weakhash.scm 300 */
{ /* Llib/weakhash.scm 249 */
 obj_t BgL_auxz00_8243; obj_t BgL_auxz00_8236;
if(
PROCEDUREP(BgL_funz00_4520))
{ /* Llib/weakhash.scm 249 */
BgL_auxz00_8243 = BgL_funz00_4520
; }  else 
{ 
 obj_t BgL_auxz00_8246;
BgL_auxz00_8246 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(9474L), BGl_string3511z00zz__weakhashz00, BGl_string3469z00zz__weakhashz00, BgL_funz00_4520); 
FAILURE(BgL_auxz00_8246,BFALSE,BFALSE);} 
if(
STRUCTP(BgL_tablez00_4519))
{ /* Llib/weakhash.scm 249 */
BgL_auxz00_8236 = BgL_tablez00_4519
; }  else 
{ 
 obj_t BgL_auxz00_8239;
BgL_auxz00_8239 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(9474L), BGl_string3511z00zz__weakhashz00, BGl_string3498z00zz__weakhashz00, BgL_tablez00_4519); 
FAILURE(BgL_auxz00_8239,BFALSE,BFALSE);} 
return 
BGl_weakzd2hashtablezd2forzd2eachzd2zz__weakhashz00(BgL_auxz00_8236, BgL_auxz00_8243);} } 

}



/* 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_1559;
{ /* Llib/weakhash.scm 307 */
 bool_t BgL_test4091z00_8251;
{ /* Llib/weakhash.scm 307 */
 obj_t BgL_tmpz00_8252;
{ /* Llib/weakhash.scm 307 */
 obj_t BgL_res2257z00_3098;
{ /* Llib/weakhash.scm 307 */
 obj_t BgL_aux2931z00_5212;
BgL_aux2931z00_5212 = 
STRUCT_KEY(BgL_tablez00_64); 
if(
SYMBOLP(BgL_aux2931z00_5212))
{ /* Llib/weakhash.scm 307 */
BgL_res2257z00_3098 = BgL_aux2931z00_5212; }  else 
{ 
 obj_t BgL_auxz00_8256;
BgL_auxz00_8256 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(11882L), BGl_string3512z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux2931z00_5212); 
FAILURE(BgL_auxz00_8256,BFALSE,BFALSE);} } 
BgL_tmpz00_8252 = BgL_res2257z00_3098; } 
BgL_test4091z00_8251 = 
(BgL_tmpz00_8252==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4091z00_8251)
{ /* Llib/weakhash.scm 307 */
 int BgL_tmpz00_8261;
BgL_tmpz00_8261 = 
(int)(2L); 
BgL_bucketsz00_1559 = 
UNSAFE_STRUCT_REF(BgL_tablez00_64, BgL_tmpz00_8261); }  else 
{ /* Llib/weakhash.scm 307 */
BgL_bucketsz00_1559 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_64); } } 
{ /* Llib/weakhash.scm 307 */
 long BgL_bucketszd2lenzd2_1560;
{ /* Llib/weakhash.scm 308 */
 obj_t BgL_vectorz00_3099;
if(
VECTORP(BgL_bucketsz00_1559))
{ /* Llib/weakhash.scm 308 */
BgL_vectorz00_3099 = BgL_bucketsz00_1559; }  else 
{ 
 obj_t BgL_auxz00_8267;
BgL_auxz00_8267 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(11941L), BGl_string3512z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_bucketsz00_1559); 
FAILURE(BgL_auxz00_8267,BFALSE,BFALSE);} 
BgL_bucketszd2lenzd2_1560 = 
VECTOR_LENGTH(BgL_vectorz00_3099); } 
{ /* Llib/weakhash.scm 308 */

{ 
 long BgL_iz00_1562;
BgL_iz00_1562 = 0L; 
BgL_zc3z04anonymousza31476ze3z87_1563:
if(
(BgL_iz00_1562<BgL_bucketszd2lenzd2_1560))
{ /* Llib/weakhash.scm 311 */
 obj_t BgL_bucketz00_1565; obj_t BgL_countz00_4527;
{ /* Llib/weakhash.scm 311 */
 obj_t BgL_vectorz00_3102;
if(
VECTORP(BgL_bucketsz00_1559))
{ /* Llib/weakhash.scm 311 */
BgL_vectorz00_3102 = BgL_bucketsz00_1559; }  else 
{ 
 obj_t BgL_auxz00_8276;
BgL_auxz00_8276 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(12035L), BGl_string3467z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_bucketsz00_1559); 
FAILURE(BgL_auxz00_8276,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 311 */
 bool_t BgL_test4096z00_8280;
{ /* Llib/weakhash.scm 311 */
 long BgL_tmpz00_8281;
BgL_tmpz00_8281 = 
VECTOR_LENGTH(BgL_vectorz00_3102); 
BgL_test4096z00_8280 = 
BOUND_CHECK(BgL_iz00_1562, BgL_tmpz00_8281); } 
if(BgL_test4096z00_8280)
{ /* Llib/weakhash.scm 311 */
BgL_bucketz00_1565 = 
VECTOR_REF(BgL_vectorz00_3102,BgL_iz00_1562); }  else 
{ 
 obj_t BgL_auxz00_8285;
BgL_auxz00_8285 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(12023L), BGl_string3459z00zz__weakhashz00, BgL_vectorz00_3102, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_3102)), 
(int)(BgL_iz00_1562)); 
FAILURE(BgL_auxz00_8285,BFALSE,BFALSE);} } } 
BgL_countz00_4527 = 
BGL_MAKE_UNSAFE_CELL(
BINT(0L)); 
{ /* Llib/weakhash.scm 315 */
 obj_t BgL_arg1479z00_1567;
{ /* Llib/weakhash.scm 315 */
 obj_t BgL_zc3z04anonymousza31481ze3z87_4521;
BgL_zc3z04anonymousza31481ze3z87_4521 = 
MAKE_FX_PROCEDURE(BGl_z62zc3z04anonymousza31481ze3ze5zz__weakhashz00, 
(int)(1L), 
(int)(2L)); 
PROCEDURE_SET(BgL_zc3z04anonymousza31481ze3z87_4521, 
(int)(0L), 
((obj_t)BgL_countz00_4527)); 
PROCEDURE_SET(BgL_zc3z04anonymousza31481ze3z87_4521, 
(int)(1L), 
((obj_t)BgL_funz00_65)); 
{ /* Llib/weakhash.scm 314 */
 obj_t BgL_auxz00_8302;
{ /* Llib/weakhash.scm 321 */
 bool_t BgL_test4097z00_8303;
if(
PAIRP(BgL_bucketz00_1565))
{ /* Llib/weakhash.scm 321 */
BgL_test4097z00_8303 = ((bool_t)1)
; }  else 
{ /* Llib/weakhash.scm 321 */
BgL_test4097z00_8303 = 
NULLP(BgL_bucketz00_1565)
; } 
if(BgL_test4097z00_8303)
{ /* Llib/weakhash.scm 321 */
BgL_auxz00_8302 = BgL_bucketz00_1565
; }  else 
{ 
 obj_t BgL_auxz00_8307;
BgL_auxz00_8307 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(12307L), BGl_string3467z00zz__weakhashz00, BGl_string3501z00zz__weakhashz00, BgL_bucketz00_1565); 
FAILURE(BgL_auxz00_8307,BFALSE,BFALSE);} } 
BgL_arg1479z00_1567 = 
BGl_filterz12z12zz__r4_control_features_6_9z00(BgL_zc3z04anonymousza31481ze3z87_4521, BgL_auxz00_8302); } } 
{ /* Llib/weakhash.scm 313 */
 obj_t BgL_vectorz00_3108;
if(
VECTORP(BgL_bucketsz00_1559))
{ /* Llib/weakhash.scm 313 */
BgL_vectorz00_3108 = BgL_bucketsz00_1559; }  else 
{ 
 obj_t BgL_auxz00_8314;
BgL_auxz00_8314 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(12083L), BGl_string3467z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_bucketsz00_1559); 
FAILURE(BgL_auxz00_8314,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 313 */
 bool_t BgL_test4100z00_8318;
{ /* Llib/weakhash.scm 313 */
 long BgL_tmpz00_8319;
BgL_tmpz00_8319 = 
VECTOR_LENGTH(BgL_vectorz00_3108); 
BgL_test4100z00_8318 = 
BOUND_CHECK(BgL_iz00_1562, BgL_tmpz00_8319); } 
if(BgL_test4100z00_8318)
{ /* Llib/weakhash.scm 313 */
VECTOR_SET(BgL_vectorz00_3108,BgL_iz00_1562,BgL_arg1479z00_1567); }  else 
{ 
 obj_t BgL_auxz00_8323;
BgL_auxz00_8323 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(12070L), BGl_string3464z00zz__weakhashz00, BgL_vectorz00_3108, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_3108)), 
(int)(BgL_iz00_1562)); 
FAILURE(BgL_auxz00_8323,BFALSE,BFALSE);} } } } 
{ /* Llib/weakhash.scm 322 */
 long BgL_arg1497z00_1586;
{ /* Llib/weakhash.scm 322 */
 obj_t BgL_arg1498z00_1587;
{ /* Llib/weakhash.scm 322 */
 bool_t BgL_test4101z00_8330;
{ /* Llib/weakhash.scm 322 */
 obj_t BgL_tmpz00_8331;
{ /* Llib/weakhash.scm 322 */
 obj_t BgL_res2258z00_3113;
{ /* Llib/weakhash.scm 322 */
 obj_t BgL_aux2941z00_5222;
BgL_aux2941z00_5222 = 
STRUCT_KEY(BgL_tablez00_64); 
if(
SYMBOLP(BgL_aux2941z00_5222))
{ /* Llib/weakhash.scm 322 */
BgL_res2258z00_3113 = BgL_aux2941z00_5222; }  else 
{ 
 obj_t BgL_auxz00_8335;
BgL_auxz00_8335 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(12357L), BGl_string3467z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux2941z00_5222); 
FAILURE(BgL_auxz00_8335,BFALSE,BFALSE);} } 
BgL_tmpz00_8331 = BgL_res2258z00_3113; } 
BgL_test4101z00_8330 = 
(BgL_tmpz00_8331==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4101z00_8330)
{ /* Llib/weakhash.scm 322 */
 int BgL_tmpz00_8340;
BgL_tmpz00_8340 = 
(int)(0L); 
BgL_arg1498z00_1587 = 
UNSAFE_STRUCT_REF(BgL_tablez00_64, BgL_tmpz00_8340); }  else 
{ /* Llib/weakhash.scm 322 */
BgL_arg1498z00_1587 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_64); } } 
{ /* Llib/weakhash.scm 322 */
 long BgL_za71za7_3114; long BgL_za72za7_3115;
{ /* Llib/weakhash.scm 322 */
 obj_t BgL_tmpz00_8344;
if(
INTEGERP(BgL_arg1498z00_1587))
{ /* Llib/weakhash.scm 322 */
BgL_tmpz00_8344 = BgL_arg1498z00_1587
; }  else 
{ 
 obj_t BgL_auxz00_8347;
BgL_auxz00_8347 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(12379L), BGl_string3467z00zz__weakhashz00, BGl_string3453z00zz__weakhashz00, BgL_arg1498z00_1587); 
FAILURE(BgL_auxz00_8347,BFALSE,BFALSE);} 
BgL_za71za7_3114 = 
(long)CINT(BgL_tmpz00_8344); } 
{ /* Llib/weakhash.scm 322 */
 obj_t BgL_tmpz00_8352;
{ /* Llib/weakhash.scm 322 */
 obj_t BgL_aux2944z00_5225;
BgL_aux2944z00_5225 = 
BGL_UNSAFE_CELL_REF(BgL_countz00_4527); 
if(
INTEGERP(BgL_aux2944z00_5225))
{ /* Llib/weakhash.scm 322 */
BgL_tmpz00_8352 = BgL_aux2944z00_5225
; }  else 
{ 
 obj_t BgL_auxz00_8355;
BgL_auxz00_8355 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(12381L), BGl_string3467z00zz__weakhashz00, BGl_string3453z00zz__weakhashz00, BgL_aux2944z00_5225); 
FAILURE(BgL_auxz00_8355,BFALSE,BFALSE);} } 
BgL_za72za7_3115 = 
(long)CINT(BgL_tmpz00_8352); } 
BgL_arg1497z00_1586 = 
(BgL_za71za7_3114-BgL_za72za7_3115); } } 
{ /* Llib/weakhash.scm 322 */
 bool_t BgL_test4105z00_8361;
{ /* Llib/weakhash.scm 322 */
 obj_t BgL_tmpz00_8362;
{ /* Llib/weakhash.scm 322 */
 obj_t BgL_res2259z00_3119;
{ /* Llib/weakhash.scm 322 */
 obj_t BgL_aux2945z00_5226;
BgL_aux2945z00_5226 = 
STRUCT_KEY(BgL_tablez00_64); 
if(
SYMBOLP(BgL_aux2945z00_5226))
{ /* Llib/weakhash.scm 322 */
BgL_res2259z00_3119 = BgL_aux2945z00_5226; }  else 
{ 
 obj_t BgL_auxz00_8366;
BgL_auxz00_8366 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(12324L), BGl_string3467z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux2945z00_5226); 
FAILURE(BgL_auxz00_8366,BFALSE,BFALSE);} } 
BgL_tmpz00_8362 = BgL_res2259z00_3119; } 
BgL_test4105z00_8361 = 
(BgL_tmpz00_8362==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4105z00_8361)
{ /* Llib/weakhash.scm 322 */
 obj_t BgL_auxz00_8373; int BgL_tmpz00_8371;
BgL_auxz00_8373 = 
BINT(BgL_arg1497z00_1586); 
BgL_tmpz00_8371 = 
(int)(0L); 
UNSAFE_STRUCT_SET(BgL_tablez00_64, BgL_tmpz00_8371, BgL_auxz00_8373); }  else 
{ /* Llib/weakhash.scm 322 */
BGl_errorz00zz__errorz00(BGl_string3463z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_64); } } } 
{ 
 long BgL_iz00_8377;
BgL_iz00_8377 = 
(BgL_iz00_1562+1L); 
BgL_iz00_1562 = BgL_iz00_8377; 
goto BgL_zc3z04anonymousza31476ze3z87_1563;} }  else 
{ /* Llib/weakhash.scm 310 */
return ((bool_t)0);} } } } } } 

}



/* &<@anonymous:1481> */
obj_t BGl_z62zc3z04anonymousza31481ze3ze5zz__weakhashz00(obj_t BgL_envz00_4522, obj_t BgL_vz00_4525)
{
{ /* Llib/weakhash.scm 314 */
{ /* Llib/weakhash.scm 315 */
 obj_t BgL_countz00_4523; obj_t BgL_funz00_4524;
BgL_countz00_4523 = 
PROCEDURE_REF(BgL_envz00_4522, 
(int)(0L)); 
BgL_funz00_4524 = 
PROCEDURE_REF(BgL_envz00_4522, 
(int)(1L)); 
{ /* Llib/weakhash.scm 315 */
 bool_t BgL_tmpz00_8383;
{ /* Llib/weakhash.scm 315 */
 bool_t BgL_test4107z00_8384;
{ /* Llib/weakhash.scm 315 */
 bool_t BgL_test4108z00_8385;
{ /* Llib/weakhash.scm 315 */
 obj_t BgL_arg1495z00_5788;
{ /* Llib/weakhash.scm 315 */
 obj_t BgL_objz00_5789;
if(
BGL_WEAKPTRP(BgL_vz00_4525))
{ /* Llib/weakhash.scm 315 */
BgL_objz00_5789 = BgL_vz00_4525; }  else 
{ 
 obj_t BgL_auxz00_8388;
BgL_auxz00_8388 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(12154L), BGl_string3513z00zz__weakhashz00, BGl_string3462z00zz__weakhashz00, BgL_vz00_4525); 
FAILURE(BgL_auxz00_8388,BFALSE,BFALSE);} 
BgL_arg1495z00_5788 = 
bgl_weakptr_data(BgL_objz00_5789); } 
BgL_test4108z00_8385 = 
(BgL_arg1495z00_5788==BUNSPEC); } 
if(BgL_test4108z00_8385)
{ /* Llib/weakhash.scm 315 */
BgL_test4107z00_8384 = ((bool_t)1)
; }  else 
{ /* Llib/weakhash.scm 316 */
 bool_t BgL_test4110z00_8394;
{ /* Llib/weakhash.scm 316 */
 obj_t BgL_arg1492z00_5790; obj_t BgL_arg1494z00_5791;
{ /* Llib/weakhash.scm 316 */
 obj_t BgL_objz00_5792;
if(
BGL_WEAKPTRP(BgL_vz00_4525))
{ /* Llib/weakhash.scm 316 */
BgL_objz00_5792 = BgL_vz00_4525; }  else 
{ 
 obj_t BgL_auxz00_8397;
BgL_auxz00_8397 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(12205L), BGl_string3513z00zz__weakhashz00, BGl_string3462z00zz__weakhashz00, BgL_vz00_4525); 
FAILURE(BgL_auxz00_8397,BFALSE,BFALSE);} 
BgL_arg1492z00_5790 = 
bgl_weakptr_data(BgL_objz00_5792); } 
{ /* Llib/weakhash.scm 316 */
 obj_t BgL_objz00_5793;
if(
BGL_WEAKPTRP(BgL_vz00_4525))
{ /* Llib/weakhash.scm 316 */
BgL_objz00_5793 = BgL_vz00_4525; }  else 
{ 
 obj_t BgL_auxz00_8404;
BgL_auxz00_8404 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(12221L), BGl_string3513z00zz__weakhashz00, BGl_string3462z00zz__weakhashz00, BgL_vz00_4525); 
FAILURE(BgL_auxz00_8404,BFALSE,BFALSE);} 
BgL_arg1494z00_5791 = 
bgl_weakptr_ref(BgL_objz00_5793); } 
{ /* Llib/weakhash.scm 316 */
 obj_t BgL_funz00_5794;
if(
PROCEDUREP(BgL_funz00_4524))
{ /* Llib/weakhash.scm 316 */
BgL_funz00_5794 = BgL_funz00_4524; }  else 
{ 
 obj_t BgL_auxz00_8411;
BgL_auxz00_8411 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(12186L), BGl_string3513z00zz__weakhashz00, BGl_string3469z00zz__weakhashz00, BgL_funz00_4524); 
FAILURE(BgL_auxz00_8411,BFALSE,BFALSE);} 
if(
PROCEDURE_CORRECT_ARITYP(BgL_funz00_5794, 2))
{ /* Llib/weakhash.scm 316 */
BgL_test4110z00_8394 = 
CBOOL(
(VA_PROCEDUREP( BgL_funz00_5794 ) ? ((obj_t (*)(obj_t, ...))PROCEDURE_ENTRY(BgL_funz00_5794))(BgL_funz00_4524, BgL_arg1492z00_5790, BgL_arg1494z00_5791, BEOA) : ((obj_t (*)(obj_t, obj_t, obj_t))PROCEDURE_ENTRY(BgL_funz00_5794))(BgL_funz00_4524, BgL_arg1492z00_5790, BgL_arg1494z00_5791) ))
; }  else 
{ /* Llib/weakhash.scm 316 */
FAILURE(BGl_string3514z00zz__weakhashz00,BGl_list3515z00zz__weakhashz00,BgL_funz00_5794);} } } 
if(BgL_test4110z00_8394)
{ /* Llib/weakhash.scm 316 */
BgL_test4107z00_8384 = ((bool_t)0)
; }  else 
{ /* Llib/weakhash.scm 316 */
BgL_test4107z00_8384 = ((bool_t)1)
; } } } 
if(BgL_test4107z00_8384)
{ /* Llib/weakhash.scm 315 */
{ /* Llib/weakhash.scm 318 */
 obj_t BgL_auxz00_5795;
{ /* Llib/weakhash.scm 315 */
 obj_t BgL_tmpz00_8424;
{ /* Llib/weakhash.scm 318 */
 obj_t BgL_aux2956z00_5796;
BgL_aux2956z00_5796 = 
BGL_UNSAFE_CELL_REF(BgL_countz00_4523); 
if(
INTEGERP(BgL_aux2956z00_5796))
{ /* Llib/weakhash.scm 318 */
BgL_tmpz00_8424 = BgL_aux2956z00_5796
; }  else 
{ 
 obj_t BgL_auxz00_8427;
BgL_auxz00_8427 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(12266L), BGl_string3513z00zz__weakhashz00, BGl_string3453z00zz__weakhashz00, BgL_aux2956z00_5796); 
FAILURE(BgL_auxz00_8427,BFALSE,BFALSE);} } 
BgL_auxz00_5795 = 
ADDFX(BgL_tmpz00_8424, 
BINT(1L)); } 
BGL_UNSAFE_CELL_SET(BgL_countz00_4523, BgL_auxz00_5795); } 
BgL_tmpz00_8383 = ((bool_t)0); }  else 
{ /* Llib/weakhash.scm 315 */
BgL_tmpz00_8383 = ((bool_t)1)
; } } 
return 
BBOOL(BgL_tmpz00_8383);} } } 

}



/* 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_1590;
{ /* Llib/weakhash.scm 329 */
 bool_t BgL_test4116z00_8434;
{ /* Llib/weakhash.scm 329 */
 obj_t BgL_tmpz00_8435;
{ /* Llib/weakhash.scm 329 */
 obj_t BgL_res2260z00_3124;
{ /* Llib/weakhash.scm 329 */
 obj_t BgL_aux2957z00_5239;
BgL_aux2957z00_5239 = 
STRUCT_KEY(BgL_tablez00_66); 
if(
SYMBOLP(BgL_aux2957z00_5239))
{ /* Llib/weakhash.scm 329 */
BgL_res2260z00_3124 = BgL_aux2957z00_5239; }  else 
{ 
 obj_t BgL_auxz00_8439;
BgL_auxz00_8439 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(12727L), BGl_string3520z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux2957z00_5239); 
FAILURE(BgL_auxz00_8439,BFALSE,BFALSE);} } 
BgL_tmpz00_8435 = BgL_res2260z00_3124; } 
BgL_test4116z00_8434 = 
(BgL_tmpz00_8435==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4116z00_8434)
{ /* Llib/weakhash.scm 329 */
 int BgL_tmpz00_8444;
BgL_tmpz00_8444 = 
(int)(2L); 
BgL_bucketsz00_1590 = 
UNSAFE_STRUCT_REF(BgL_tablez00_66, BgL_tmpz00_8444); }  else 
{ /* Llib/weakhash.scm 329 */
BgL_bucketsz00_1590 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_66); } } 
{ /* Llib/weakhash.scm 329 */
 long BgL_bucketszd2lenzd2_1591;
{ /* Llib/weakhash.scm 330 */
 obj_t BgL_vectorz00_3125;
if(
VECTORP(BgL_bucketsz00_1590))
{ /* Llib/weakhash.scm 330 */
BgL_vectorz00_3125 = BgL_bucketsz00_1590; }  else 
{ 
 obj_t BgL_auxz00_8450;
BgL_auxz00_8450 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(12786L), BGl_string3520z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_bucketsz00_1590); 
FAILURE(BgL_auxz00_8450,BFALSE,BFALSE);} 
BgL_bucketszd2lenzd2_1591 = 
VECTOR_LENGTH(BgL_vectorz00_3125); } 
{ /* Llib/weakhash.scm 330 */

{ 
 long BgL_iz00_1593;
BgL_iz00_1593 = 0L; 
BgL_zc3z04anonymousza31500ze3z87_1594:
if(
(BgL_iz00_1593<BgL_bucketszd2lenzd2_1591))
{ /* Llib/weakhash.scm 332 */
{ /* Llib/weakhash.scm 336 */
 obj_t BgL_zc3z04anonymousza31503ze3z87_4529;
{ 
 int BgL_tmpz00_8457;
BgL_tmpz00_8457 = 
(int)(1L); 
BgL_zc3z04anonymousza31503ze3z87_4529 = 
MAKE_L_PROCEDURE(BGl_z62zc3z04anonymousza31503ze3ze5zz__weakhashz00, BgL_tmpz00_8457); } 
PROCEDURE_L_SET(BgL_zc3z04anonymousza31503ze3z87_4529, 
(int)(0L), 
((obj_t)BgL_funz00_67)); 
BGl_traversezd2bucketszd2zz__weakhashz00(BgL_tablez00_66, BgL_bucketsz00_1590, BgL_iz00_1593, BgL_zc3z04anonymousza31503ze3z87_4529); } 
{ 
 long BgL_iz00_8464;
BgL_iz00_8464 = 
(BgL_iz00_1593+1L); 
BgL_iz00_1593 = BgL_iz00_8464; 
goto BgL_zc3z04anonymousza31500ze3z87_1594;} }  else 
{ /* Llib/weakhash.scm 332 */
return ((bool_t)0);} } } } } } 

}



/* &<@anonymous:1503> */
obj_t BGl_z62zc3z04anonymousza31503ze3ze5zz__weakhashz00(obj_t BgL_envz00_4530, obj_t BgL_keyz00_4532, obj_t BgL_valz00_4533, obj_t BgL_bucketz00_4534)
{
{ /* Llib/weakhash.scm 335 */
{ /* Llib/weakhash.scm 336 */
 obj_t BgL_funz00_4531;
BgL_funz00_4531 = 
PROCEDURE_L_REF(BgL_envz00_4530, 
(int)(0L)); 
{ /* Llib/weakhash.scm 336 */
 bool_t BgL_test4120z00_8468;
{ /* Llib/weakhash.scm 336 */
 obj_t BgL_funz00_5797;
if(
PROCEDUREP(BgL_funz00_4531))
{ /* Llib/weakhash.scm 336 */
BgL_funz00_5797 = BgL_funz00_4531; }  else 
{ 
 obj_t BgL_auxz00_8471;
BgL_auxz00_8471 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(12938L), BGl_string3521z00zz__weakhashz00, BGl_string3469z00zz__weakhashz00, BgL_funz00_4531); 
FAILURE(BgL_auxz00_8471,BFALSE,BFALSE);} 
if(
PROCEDURE_CORRECT_ARITYP(BgL_funz00_5797, 2))
{ /* Llib/weakhash.scm 336 */
BgL_test4120z00_8468 = 
CBOOL(
(VA_PROCEDUREP( BgL_funz00_5797 ) ? ((obj_t (*)(obj_t, ...))PROCEDURE_ENTRY(BgL_funz00_5797))(BgL_funz00_4531, BgL_keyz00_4532, BgL_valz00_4533, BEOA) : ((obj_t (*)(obj_t, obj_t, obj_t))PROCEDURE_ENTRY(BgL_funz00_5797))(BgL_funz00_4531, BgL_keyz00_4532, BgL_valz00_4533) ))
; }  else 
{ /* Llib/weakhash.scm 336 */
FAILURE(BGl_string3522z00zz__weakhashz00,BGl_list3508z00zz__weakhashz00,BgL_funz00_5797);} } 
if(BgL_test4120z00_8468)
{ /* 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_4535, obj_t BgL_tablez00_4536, obj_t BgL_funz00_4537)
{
{ /* Llib/weakhash.scm 344 */
{ /* Llib/weakhash.scm 345 */
 obj_t BgL_auxz00_8497; obj_t BgL_auxz00_8490;
if(
PROCEDUREP(BgL_funz00_4537))
{ /* Llib/weakhash.scm 345 */
BgL_auxz00_8497 = BgL_funz00_4537
; }  else 
{ 
 obj_t BgL_auxz00_8500;
BgL_auxz00_8500 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(13294L), BGl_string3523z00zz__weakhashz00, BGl_string3469z00zz__weakhashz00, BgL_funz00_4537); 
FAILURE(BgL_auxz00_8500,BFALSE,BFALSE);} 
if(
STRUCTP(BgL_tablez00_4536))
{ /* Llib/weakhash.scm 345 */
BgL_auxz00_8490 = BgL_tablez00_4536
; }  else 
{ 
 obj_t BgL_auxz00_8493;
BgL_auxz00_8493 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(13294L), BGl_string3523z00zz__weakhashz00, BGl_string3498z00zz__weakhashz00, BgL_tablez00_4536); 
FAILURE(BgL_auxz00_8493,BFALSE,BFALSE);} 
return 
BGl_weakzd2hashtablezd2filterz12z12zz__weakhashz00(BgL_auxz00_8490, BgL_auxz00_8497);} } 

}



/* 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_proc3524z00zz__weakhashz00));}  else 
{ /* Llib/weakhash.scm 353 */
return 
BBOOL(
BGl_weakzd2oldzd2hashtablezd2filterz12zc0zz__weakhashz00(BgL_tablez00_70, BGl_proc3525z00zz__weakhashz00));} } 

}



/* &weak-hashtable-clear! */
obj_t BGl_z62weakzd2hashtablezd2clearz12z70zz__weakhashz00(obj_t BgL_envz00_4540, obj_t BgL_tablez00_4541)
{
{ /* Llib/weakhash.scm 352 */
{ /* Llib/weakhash.scm 353 */
 obj_t BgL_auxz00_8511;
if(
STRUCTP(BgL_tablez00_4541))
{ /* Llib/weakhash.scm 353 */
BgL_auxz00_8511 = BgL_tablez00_4541
; }  else 
{ 
 obj_t BgL_auxz00_8514;
BgL_auxz00_8514 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(13701L), BGl_string3526z00zz__weakhashz00, BGl_string3498z00zz__weakhashz00, BgL_tablez00_4541); 
FAILURE(BgL_auxz00_8514,BFALSE,BFALSE);} 
return 
BGl_weakzd2hashtablezd2clearz12z12zz__weakhashz00(BgL_auxz00_8511);} } 

}



/* &<@anonymous:1509> */
obj_t BGl_z62zc3z04anonymousza31509ze3ze5zz__weakhashz00(obj_t BgL_envz00_4542, obj_t BgL_kz00_4543, obj_t BgL_vz00_4544)
{
{ /* Llib/weakhash.scm 354 */
return 
BBOOL(((bool_t)0));} 

}



/* &<@anonymous:1511> */
obj_t BGl_z62zc3z04anonymousza31511ze3ze5zz__weakhashz00(obj_t BgL_envz00_4545, obj_t BgL_kz00_4546, obj_t BgL_vz00_4547)
{
{ /* 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_1617;
{ /* Llib/weakhash.scm 361 */
 bool_t BgL_test4128z00_8521;
{ /* Llib/weakhash.scm 361 */
 obj_t BgL_tmpz00_8522;
{ /* Llib/weakhash.scm 361 */
 obj_t BgL_res2261z00_3134;
{ /* Llib/weakhash.scm 361 */
 obj_t BgL_aux2970z00_5253;
BgL_aux2970z00_5253 = 
STRUCT_KEY(BgL_tablez00_71); 
if(
SYMBOLP(BgL_aux2970z00_5253))
{ /* Llib/weakhash.scm 361 */
BgL_res2261z00_3134 = BgL_aux2970z00_5253; }  else 
{ 
 obj_t BgL_auxz00_8526;
BgL_auxz00_8526 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(14162L), BGl_string3527z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux2970z00_5253); 
FAILURE(BgL_auxz00_8526,BFALSE,BFALSE);} } 
BgL_tmpz00_8522 = BgL_res2261z00_3134; } 
BgL_test4128z00_8521 = 
(BgL_tmpz00_8522==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4128z00_8521)
{ /* Llib/weakhash.scm 361 */
 int BgL_tmpz00_8531;
BgL_tmpz00_8531 = 
(int)(2L); 
BgL_bucketsz00_1617 = 
UNSAFE_STRUCT_REF(BgL_tablez00_71, BgL_tmpz00_8531); }  else 
{ /* Llib/weakhash.scm 361 */
BgL_bucketsz00_1617 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_71); } } 
{ /* Llib/weakhash.scm 361 */
 long BgL_bucketzd2lenzd2_1618;
{ /* Llib/weakhash.scm 362 */
 obj_t BgL_vectorz00_3135;
if(
VECTORP(BgL_bucketsz00_1617))
{ /* Llib/weakhash.scm 362 */
BgL_vectorz00_3135 = BgL_bucketsz00_1617; }  else 
{ 
 obj_t BgL_auxz00_8537;
BgL_auxz00_8537 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(14220L), BGl_string3527z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_bucketsz00_1617); 
FAILURE(BgL_auxz00_8537,BFALSE,BFALSE);} 
BgL_bucketzd2lenzd2_1618 = 
VECTOR_LENGTH(BgL_vectorz00_3135); } 
{ /* Llib/weakhash.scm 362 */
 long BgL_bucketzd2numzd2_1619;
{ /* Llib/weakhash.scm 363 */
 long BgL_arg1522z00_1632;
BgL_arg1522z00_1632 = 
BGl_tablezd2getzd2hashnumberz00zz__weakhashz00(BgL_tablez00_71, BgL_keyz00_72); 
{ /* Llib/weakhash.scm 363 */
 long BgL_n1z00_3136; long BgL_n2z00_3137;
BgL_n1z00_3136 = BgL_arg1522z00_1632; 
BgL_n2z00_3137 = BgL_bucketzd2lenzd2_1618; 
{ /* Llib/weakhash.scm 363 */
 bool_t BgL_test4131z00_8543;
{ /* Llib/weakhash.scm 363 */
 long BgL_arg2041z00_3139;
BgL_arg2041z00_3139 = 
(((BgL_n1z00_3136) | (BgL_n2z00_3137)) & -2147483648); 
BgL_test4131z00_8543 = 
(BgL_arg2041z00_3139==0L); } 
if(BgL_test4131z00_8543)
{ /* Llib/weakhash.scm 363 */
 int32_t BgL_arg2037z00_3140;
{ /* Llib/weakhash.scm 363 */
 int32_t BgL_arg2038z00_3141; int32_t BgL_arg2039z00_3142;
BgL_arg2038z00_3141 = 
(int32_t)(BgL_n1z00_3136); 
BgL_arg2039z00_3142 = 
(int32_t)(BgL_n2z00_3137); 
BgL_arg2037z00_3140 = 
(BgL_arg2038z00_3141%BgL_arg2039z00_3142); } 
{ /* Llib/weakhash.scm 363 */
 long BgL_arg2142z00_3147;
BgL_arg2142z00_3147 = 
(long)(BgL_arg2037z00_3140); 
BgL_bucketzd2numzd2_1619 = 
(long)(BgL_arg2142z00_3147); } }  else 
{ /* Llib/weakhash.scm 363 */
BgL_bucketzd2numzd2_1619 = 
(BgL_n1z00_3136%BgL_n2z00_3137); } } } } 
{ /* Llib/weakhash.scm 363 */
 obj_t BgL_bucketz00_1620;
{ /* Llib/weakhash.scm 364 */
 obj_t BgL_vectorz00_3149;
if(
VECTORP(BgL_bucketsz00_1617))
{ /* Llib/weakhash.scm 364 */
BgL_vectorz00_3149 = BgL_bucketsz00_1617; }  else 
{ 
 obj_t BgL_auxz00_8554;
BgL_auxz00_8554 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(14327L), BGl_string3527z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_bucketsz00_1617); 
FAILURE(BgL_auxz00_8554,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 364 */
 bool_t BgL_test4133z00_8558;
{ /* Llib/weakhash.scm 364 */
 long BgL_tmpz00_8559;
BgL_tmpz00_8559 = 
VECTOR_LENGTH(BgL_vectorz00_3149); 
BgL_test4133z00_8558 = 
BOUND_CHECK(BgL_bucketzd2numzd2_1619, BgL_tmpz00_8559); } 
if(BgL_test4133z00_8558)
{ /* Llib/weakhash.scm 364 */
BgL_bucketz00_1620 = 
VECTOR_REF(BgL_vectorz00_3149,BgL_bucketzd2numzd2_1619); }  else 
{ 
 obj_t BgL_auxz00_8563;
BgL_auxz00_8563 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(14315L), BGl_string3459z00zz__weakhashz00, BgL_vectorz00_3149, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_3149)), 
(int)(BgL_bucketzd2numzd2_1619)); 
FAILURE(BgL_auxz00_8563,BFALSE,BFALSE);} } } 
{ /* Llib/weakhash.scm 364 */

{ 
 obj_t BgL_bucketz00_1622;
BgL_bucketz00_1622 = BgL_bucketz00_1620; 
BgL_zc3z04anonymousza31512ze3z87_1623:
if(
NULLP(BgL_bucketz00_1622))
{ /* Llib/weakhash.scm 367 */
return ((bool_t)0);}  else 
{ /* Llib/weakhash.scm 369 */
 bool_t BgL_test4135z00_8572;
{ /* Llib/weakhash.scm 369 */
 obj_t BgL_arg1520z00_1629;
{ /* Llib/weakhash.scm 369 */
 obj_t BgL_arg1521z00_1630;
{ /* Llib/weakhash.scm 369 */
 obj_t BgL_pairz00_3151;
if(
PAIRP(BgL_bucketz00_1622))
{ /* Llib/weakhash.scm 369 */
BgL_pairz00_3151 = BgL_bucketz00_1622; }  else 
{ 
 obj_t BgL_auxz00_8575;
BgL_auxz00_8575 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(14471L), BGl_string3467z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_bucketz00_1622); 
FAILURE(BgL_auxz00_8575,BFALSE,BFALSE);} 
BgL_arg1521z00_1630 = 
CAR(BgL_pairz00_3151); } 
{ /* Llib/weakhash.scm 369 */
 obj_t BgL_objz00_3152;
if(
BGL_WEAKPTRP(BgL_arg1521z00_1630))
{ /* Llib/weakhash.scm 369 */
BgL_objz00_3152 = BgL_arg1521z00_1630; }  else 
{ 
 obj_t BgL_auxz00_8582;
BgL_auxz00_8582 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(14477L), BGl_string3467z00zz__weakhashz00, BGl_string3462z00zz__weakhashz00, BgL_arg1521z00_1630); 
FAILURE(BgL_auxz00_8582,BFALSE,BFALSE);} 
BgL_arg1520z00_1629 = 
bgl_weakptr_data(BgL_objz00_3152); } } 
{ /* Llib/weakhash.scm 369 */
 obj_t BgL_eqtz00_3153;
{ /* Llib/weakhash.scm 369 */
 bool_t BgL_test4138z00_8587;
{ /* Llib/weakhash.scm 369 */
 obj_t BgL_tmpz00_8588;
{ /* Llib/weakhash.scm 369 */
 obj_t BgL_res2262z00_3160;
{ /* Llib/weakhash.scm 369 */
 obj_t BgL_aux2980z00_5263;
BgL_aux2980z00_5263 = 
STRUCT_KEY(BgL_tablez00_71); 
if(
SYMBOLP(BgL_aux2980z00_5263))
{ /* Llib/weakhash.scm 369 */
BgL_res2262z00_3160 = BgL_aux2980z00_5263; }  else 
{ 
 obj_t BgL_auxz00_8592;
BgL_auxz00_8592 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(14428L), BGl_string3467z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux2980z00_5263); 
FAILURE(BgL_auxz00_8592,BFALSE,BFALSE);} } 
BgL_tmpz00_8588 = BgL_res2262z00_3160; } 
BgL_test4138z00_8587 = 
(BgL_tmpz00_8588==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4138z00_8587)
{ /* Llib/weakhash.scm 369 */
 int BgL_tmpz00_8597;
BgL_tmpz00_8597 = 
(int)(3L); 
BgL_eqtz00_3153 = 
UNSAFE_STRUCT_REF(BgL_tablez00_71, BgL_tmpz00_8597); }  else 
{ /* Llib/weakhash.scm 369 */
BgL_eqtz00_3153 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_71); } } 
if(
PROCEDUREP(BgL_eqtz00_3153))
{ /* Llib/weakhash.scm 369 */
if(
PROCEDURE_CORRECT_ARITYP(BgL_eqtz00_3153, 2))
{ /* Llib/weakhash.scm 369 */
BgL_test4135z00_8572 = 
CBOOL(
BGL_PROCEDURE_CALL2(BgL_eqtz00_3153, BgL_arg1520z00_1629, BgL_keyz00_72))
; }  else 
{ /* Llib/weakhash.scm 369 */
FAILURE(BGl_string3528z00zz__weakhashz00,BGl_list3529z00zz__weakhashz00,BgL_eqtz00_3153);} }  else 
{ /* Llib/weakhash.scm 369 */
if(
(BgL_arg1520z00_1629==BgL_keyz00_72))
{ /* Llib/weakhash.scm 369 */
BgL_test4135z00_8572 = ((bool_t)1)
; }  else 
{ /* Llib/weakhash.scm 369 */
if(
STRINGP(BgL_arg1520z00_1629))
{ /* Llib/weakhash.scm 369 */
if(
STRINGP(BgL_keyz00_72))
{ /* Llib/weakhash.scm 369 */
 long BgL_l1z00_3163;
BgL_l1z00_3163 = 
STRING_LENGTH(BgL_arg1520z00_1629); 
if(
(BgL_l1z00_3163==
STRING_LENGTH(BgL_keyz00_72)))
{ /* Llib/weakhash.scm 369 */
 int BgL_arg1924z00_3166;
{ /* Llib/weakhash.scm 369 */
 char * BgL_auxz00_8624; char * BgL_tmpz00_8622;
BgL_auxz00_8624 = 
BSTRING_TO_STRING(BgL_keyz00_72); 
BgL_tmpz00_8622 = 
BSTRING_TO_STRING(BgL_arg1520z00_1629); 
BgL_arg1924z00_3166 = 
memcmp(BgL_tmpz00_8622, BgL_auxz00_8624, BgL_l1z00_3163); } 
BgL_test4135z00_8572 = 
(
(long)(BgL_arg1924z00_3166)==0L); }  else 
{ /* Llib/weakhash.scm 369 */
BgL_test4135z00_8572 = ((bool_t)0)
; } }  else 
{ /* Llib/weakhash.scm 369 */
BgL_test4135z00_8572 = ((bool_t)0)
; } }  else 
{ /* Llib/weakhash.scm 369 */
BgL_test4135z00_8572 = ((bool_t)0)
; } } } } } 
if(BgL_test4135z00_8572)
{ /* Llib/weakhash.scm 369 */
return ((bool_t)1);}  else 
{ /* Llib/weakhash.scm 372 */
 obj_t BgL_arg1517z00_1628;
{ /* Llib/weakhash.scm 372 */
 obj_t BgL_pairz00_3172;
if(
PAIRP(BgL_bucketz00_1622))
{ /* Llib/weakhash.scm 372 */
BgL_pairz00_3172 = BgL_bucketz00_1622; }  else 
{ 
 obj_t BgL_auxz00_8631;
BgL_auxz00_8631 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(14523L), BGl_string3467z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_bucketz00_1622); 
FAILURE(BgL_auxz00_8631,BFALSE,BFALSE);} 
BgL_arg1517z00_1628 = 
CDR(BgL_pairz00_3172); } 
{ 
 obj_t BgL_bucketz00_8636;
BgL_bucketz00_8636 = BgL_arg1517z00_1628; 
BgL_bucketz00_1622 = BgL_bucketz00_8636; 
goto BgL_zc3z04anonymousza31512ze3z87_1623;} } } } } } } } } } 

}



/* 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_1633;
{ /* Llib/weakhash.scm 378 */
 bool_t BgL_test4147z00_8637;
{ /* Llib/weakhash.scm 378 */
 obj_t BgL_tmpz00_8638;
{ /* Llib/weakhash.scm 378 */
 obj_t BgL_res2263z00_3176;
{ /* Llib/weakhash.scm 378 */
 obj_t BgL_aux2985z00_5269;
BgL_aux2985z00_5269 = 
STRUCT_KEY(BgL_tablez00_73); 
if(
SYMBOLP(BgL_aux2985z00_5269))
{ /* Llib/weakhash.scm 378 */
BgL_res2263z00_3176 = BgL_aux2985z00_5269; }  else 
{ 
 obj_t BgL_auxz00_8642;
BgL_auxz00_8642 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(14841L), BGl_string3534z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux2985z00_5269); 
FAILURE(BgL_auxz00_8642,BFALSE,BFALSE);} } 
BgL_tmpz00_8638 = BgL_res2263z00_3176; } 
BgL_test4147z00_8637 = 
(BgL_tmpz00_8638==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4147z00_8637)
{ /* Llib/weakhash.scm 378 */
 int BgL_tmpz00_8647;
BgL_tmpz00_8647 = 
(int)(2L); 
BgL_bucketsz00_1633 = 
UNSAFE_STRUCT_REF(BgL_tablez00_73, BgL_tmpz00_8647); }  else 
{ /* Llib/weakhash.scm 378 */
BgL_bucketsz00_1633 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_73); } } 
{ /* Llib/weakhash.scm 378 */
 long BgL_bucketzd2lenzd2_1634;
{ /* Llib/weakhash.scm 379 */
 obj_t BgL_vectorz00_3177;
if(
VECTORP(BgL_bucketsz00_1633))
{ /* Llib/weakhash.scm 379 */
BgL_vectorz00_3177 = BgL_bucketsz00_1633; }  else 
{ 
 obj_t BgL_auxz00_8653;
BgL_auxz00_8653 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(14899L), BGl_string3534z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_bucketsz00_1633); 
FAILURE(BgL_auxz00_8653,BFALSE,BFALSE);} 
BgL_bucketzd2lenzd2_1634 = 
VECTOR_LENGTH(BgL_vectorz00_3177); } 
{ /* Llib/weakhash.scm 379 */
 long BgL_bucketzd2numzd2_1635;
{ /* Llib/weakhash.scm 380 */
 long BgL_arg1526z00_1644;
BgL_arg1526z00_1644 = 
BGl_tablezd2getzd2hashnumberz00zz__weakhashz00(BgL_tablez00_73, BgL_keyz00_74); 
{ /* Llib/weakhash.scm 380 */
 long BgL_n1z00_3178; long BgL_n2z00_3179;
BgL_n1z00_3178 = BgL_arg1526z00_1644; 
BgL_n2z00_3179 = BgL_bucketzd2lenzd2_1634; 
{ /* Llib/weakhash.scm 380 */
 bool_t BgL_test4150z00_8659;
{ /* Llib/weakhash.scm 380 */
 long BgL_arg2041z00_3181;
BgL_arg2041z00_3181 = 
(((BgL_n1z00_3178) | (BgL_n2z00_3179)) & -2147483648); 
BgL_test4150z00_8659 = 
(BgL_arg2041z00_3181==0L); } 
if(BgL_test4150z00_8659)
{ /* Llib/weakhash.scm 380 */
 int32_t BgL_arg2037z00_3182;
{ /* Llib/weakhash.scm 380 */
 int32_t BgL_arg2038z00_3183; int32_t BgL_arg2039z00_3184;
BgL_arg2038z00_3183 = 
(int32_t)(BgL_n1z00_3178); 
BgL_arg2039z00_3184 = 
(int32_t)(BgL_n2z00_3179); 
BgL_arg2037z00_3182 = 
(BgL_arg2038z00_3183%BgL_arg2039z00_3184); } 
{ /* Llib/weakhash.scm 380 */
 long BgL_arg2142z00_3189;
BgL_arg2142z00_3189 = 
(long)(BgL_arg2037z00_3182); 
BgL_bucketzd2numzd2_1635 = 
(long)(BgL_arg2142z00_3189); } }  else 
{ /* Llib/weakhash.scm 380 */
BgL_bucketzd2numzd2_1635 = 
(BgL_n1z00_3178%BgL_n2z00_3179); } } } } 
{ /* Llib/weakhash.scm 380 */
 obj_t BgL_retz00_1636;
{ /* Llib/weakhash.scm 383 */
 obj_t BgL_zc3z04anonymousza31524ze3z87_4548;
{ 
 int BgL_tmpz00_8668;
BgL_tmpz00_8668 = 
(int)(2L); 
BgL_zc3z04anonymousza31524ze3z87_4548 = 
MAKE_L_PROCEDURE(BGl_z62zc3z04anonymousza31524ze3ze5zz__weakhashz00, BgL_tmpz00_8668); } 
PROCEDURE_L_SET(BgL_zc3z04anonymousza31524ze3z87_4548, 
(int)(0L), BgL_tablez00_73); 
PROCEDURE_L_SET(BgL_zc3z04anonymousza31524ze3z87_4548, 
(int)(1L), BgL_keyz00_74); 
BgL_retz00_1636 = 
BGl_traversezd2bucketszd2zz__weakhashz00(BgL_tablez00_73, BgL_bucketsz00_1633, BgL_bucketzd2numzd2_1635, BgL_zc3z04anonymousza31524ze3z87_4548); } 
{ /* Llib/weakhash.scm 381 */

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

}



/* &<@anonymous:1524> */
obj_t BGl_z62zc3z04anonymousza31524ze3ze5zz__weakhashz00(obj_t BgL_envz00_4549, obj_t BgL_bkeyz00_4552, obj_t BgL_valz00_4553, obj_t BgL_bucketz00_4554)
{
{ /* Llib/weakhash.scm 382 */
{ /* Llib/weakhash.scm 383 */
 obj_t BgL_tablez00_4550; obj_t BgL_keyz00_4551;
BgL_tablez00_4550 = 
((obj_t)
PROCEDURE_L_REF(BgL_envz00_4549, 
(int)(0L))); 
BgL_keyz00_4551 = 
PROCEDURE_L_REF(BgL_envz00_4549, 
(int)(1L)); 
{ /* Llib/weakhash.scm 383 */
 bool_t BgL_test4152z00_8683;
{ /* Llib/weakhash.scm 383 */
 obj_t BgL_eqtz00_5798;
{ /* Llib/weakhash.scm 383 */
 bool_t BgL_test4153z00_8684;
{ /* Llib/weakhash.scm 383 */
 obj_t BgL_tmpz00_8685;
{ /* Llib/weakhash.scm 383 */
 obj_t BgL_res2264z00_5799;
{ /* Llib/weakhash.scm 383 */
 obj_t BgL_aux2989z00_5800;
BgL_aux2989z00_5800 = 
STRUCT_KEY(BgL_tablez00_4550); 
if(
SYMBOLP(BgL_aux2989z00_5800))
{ /* Llib/weakhash.scm 383 */
BgL_res2264z00_5799 = BgL_aux2989z00_5800; }  else 
{ 
 obj_t BgL_auxz00_8689;
BgL_auxz00_8689 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(15075L), BGl_string3535z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux2989z00_5800); 
FAILURE(BgL_auxz00_8689,BFALSE,BFALSE);} } 
BgL_tmpz00_8685 = BgL_res2264z00_5799; } 
BgL_test4153z00_8684 = 
(BgL_tmpz00_8685==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4153z00_8684)
{ /* Llib/weakhash.scm 383 */
 int BgL_tmpz00_8694;
BgL_tmpz00_8694 = 
(int)(3L); 
BgL_eqtz00_5798 = 
UNSAFE_STRUCT_REF(BgL_tablez00_4550, BgL_tmpz00_8694); }  else 
{ /* Llib/weakhash.scm 383 */
BgL_eqtz00_5798 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_4550); } } 
if(
PROCEDUREP(BgL_eqtz00_5798))
{ /* Llib/weakhash.scm 383 */
if(
PROCEDURE_CORRECT_ARITYP(BgL_eqtz00_5798, 2))
{ /* Llib/weakhash.scm 383 */
BgL_test4152z00_8683 = 
CBOOL(
BGL_PROCEDURE_CALL2(BgL_eqtz00_5798, BgL_keyz00_4551, BgL_bkeyz00_4552))
; }  else 
{ /* Llib/weakhash.scm 383 */
FAILURE(BGl_string3536z00zz__weakhashz00,BGl_list3537z00zz__weakhashz00,BgL_eqtz00_5798);} }  else 
{ /* Llib/weakhash.scm 383 */
if(
(BgL_keyz00_4551==BgL_bkeyz00_4552))
{ /* Llib/weakhash.scm 383 */
BgL_test4152z00_8683 = ((bool_t)1)
; }  else 
{ /* Llib/weakhash.scm 383 */
if(
STRINGP(BgL_keyz00_4551))
{ /* Llib/weakhash.scm 383 */
if(
STRINGP(BgL_bkeyz00_4552))
{ /* Llib/weakhash.scm 383 */
 long BgL_l1z00_5801;
BgL_l1z00_5801 = 
STRING_LENGTH(BgL_keyz00_4551); 
if(
(BgL_l1z00_5801==
STRING_LENGTH(BgL_bkeyz00_4552)))
{ /* Llib/weakhash.scm 383 */
 int BgL_arg1924z00_5802;
{ /* Llib/weakhash.scm 383 */
 char * BgL_auxz00_8721; char * BgL_tmpz00_8719;
BgL_auxz00_8721 = 
BSTRING_TO_STRING(BgL_bkeyz00_4552); 
BgL_tmpz00_8719 = 
BSTRING_TO_STRING(BgL_keyz00_4551); 
BgL_arg1924z00_5802 = 
memcmp(BgL_tmpz00_8719, BgL_auxz00_8721, BgL_l1z00_5801); } 
BgL_test4152z00_8683 = 
(
(long)(BgL_arg1924z00_5802)==0L); }  else 
{ /* Llib/weakhash.scm 383 */
BgL_test4152z00_8683 = ((bool_t)0)
; } }  else 
{ /* Llib/weakhash.scm 383 */
BgL_test4152z00_8683 = ((bool_t)0)
; } }  else 
{ /* Llib/weakhash.scm 383 */
BgL_test4152z00_8683 = ((bool_t)0)
; } } } } 
if(BgL_test4152z00_8683)
{ /* 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_4555, obj_t BgL_tablez00_4556, obj_t BgL_keyz00_4557)
{
{ /* Llib/weakhash.scm 391 */
{ /* Llib/weakhash.scm 392 */
 bool_t BgL_tmpz00_8730;
{ /* Llib/weakhash.scm 392 */
 obj_t BgL_auxz00_8731;
if(
STRUCTP(BgL_tablez00_4556))
{ /* Llib/weakhash.scm 392 */
BgL_auxz00_8731 = BgL_tablez00_4556
; }  else 
{ 
 obj_t BgL_auxz00_8734;
BgL_auxz00_8734 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(15453L), BGl_string3540z00zz__weakhashz00, BGl_string3498z00zz__weakhashz00, BgL_tablez00_4556); 
FAILURE(BgL_auxz00_8734,BFALSE,BFALSE);} 
BgL_tmpz00_8730 = 
BGl_weakzd2hashtablezd2containszf3zf3zz__weakhashz00(BgL_auxz00_8731, BgL_keyz00_4557); } 
return 
BBOOL(BgL_tmpz00_8730);} } 

}



/* 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_1646;
{ /* Llib/weakhash.scm 400 */
 bool_t BgL_test4163z00_8740;
{ /* Llib/weakhash.scm 400 */
 obj_t BgL_tmpz00_8741;
{ /* Llib/weakhash.scm 400 */
 obj_t BgL_res2265z00_3215;
{ /* Llib/weakhash.scm 400 */
 obj_t BgL_aux2994z00_5279;
BgL_aux2994z00_5279 = 
STRUCT_KEY(BgL_tablez00_77); 
if(
SYMBOLP(BgL_aux2994z00_5279))
{ /* Llib/weakhash.scm 400 */
BgL_res2265z00_3215 = BgL_aux2994z00_5279; }  else 
{ 
 obj_t BgL_auxz00_8745;
BgL_auxz00_8745 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(15884L), BGl_string3541z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux2994z00_5279); 
FAILURE(BgL_auxz00_8745,BFALSE,BFALSE);} } 
BgL_tmpz00_8741 = BgL_res2265z00_3215; } 
BgL_test4163z00_8740 = 
(BgL_tmpz00_8741==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4163z00_8740)
{ /* Llib/weakhash.scm 400 */
 int BgL_tmpz00_8750;
BgL_tmpz00_8750 = 
(int)(2L); 
BgL_bucketsz00_1646 = 
UNSAFE_STRUCT_REF(BgL_tablez00_77, BgL_tmpz00_8750); }  else 
{ /* Llib/weakhash.scm 400 */
BgL_bucketsz00_1646 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_77); } } 
{ /* Llib/weakhash.scm 400 */
 long BgL_bucketzd2lenzd2_1647;
{ /* Llib/weakhash.scm 401 */
 obj_t BgL_vectorz00_3216;
if(
VECTORP(BgL_bucketsz00_1646))
{ /* Llib/weakhash.scm 401 */
BgL_vectorz00_3216 = BgL_bucketsz00_1646; }  else 
{ 
 obj_t BgL_auxz00_8756;
BgL_auxz00_8756 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(15942L), BGl_string3541z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_bucketsz00_1646); 
FAILURE(BgL_auxz00_8756,BFALSE,BFALSE);} 
BgL_bucketzd2lenzd2_1647 = 
VECTOR_LENGTH(BgL_vectorz00_3216); } 
{ /* Llib/weakhash.scm 401 */
 long BgL_bucketzd2numzd2_1648;
{ /* Llib/weakhash.scm 402 */
 long BgL_arg1542z00_1662;
BgL_arg1542z00_1662 = 
BGl_tablezd2getzd2hashnumberz00zz__weakhashz00(BgL_tablez00_77, BgL_keyz00_78); 
{ /* Llib/weakhash.scm 402 */
 long BgL_n1z00_3217; long BgL_n2z00_3218;
BgL_n1z00_3217 = BgL_arg1542z00_1662; 
BgL_n2z00_3218 = BgL_bucketzd2lenzd2_1647; 
{ /* Llib/weakhash.scm 402 */
 bool_t BgL_test4166z00_8762;
{ /* Llib/weakhash.scm 402 */
 long BgL_arg2041z00_3220;
BgL_arg2041z00_3220 = 
(((BgL_n1z00_3217) | (BgL_n2z00_3218)) & -2147483648); 
BgL_test4166z00_8762 = 
(BgL_arg2041z00_3220==0L); } 
if(BgL_test4166z00_8762)
{ /* Llib/weakhash.scm 402 */
 int32_t BgL_arg2037z00_3221;
{ /* Llib/weakhash.scm 402 */
 int32_t BgL_arg2038z00_3222; int32_t BgL_arg2039z00_3223;
BgL_arg2038z00_3222 = 
(int32_t)(BgL_n1z00_3217); 
BgL_arg2039z00_3223 = 
(int32_t)(BgL_n2z00_3218); 
BgL_arg2037z00_3221 = 
(BgL_arg2038z00_3222%BgL_arg2039z00_3223); } 
{ /* Llib/weakhash.scm 402 */
 long BgL_arg2142z00_3228;
BgL_arg2142z00_3228 = 
(long)(BgL_arg2037z00_3221); 
BgL_bucketzd2numzd2_1648 = 
(long)(BgL_arg2142z00_3228); } }  else 
{ /* Llib/weakhash.scm 402 */
BgL_bucketzd2numzd2_1648 = 
(BgL_n1z00_3217%BgL_n2z00_3218); } } } } 
{ /* Llib/weakhash.scm 402 */
 obj_t BgL_bucketz00_1649;
{ /* Llib/weakhash.scm 403 */
 obj_t BgL_vectorz00_3230;
if(
VECTORP(BgL_bucketsz00_1646))
{ /* Llib/weakhash.scm 403 */
BgL_vectorz00_3230 = BgL_bucketsz00_1646; }  else 
{ 
 obj_t BgL_auxz00_8773;
BgL_auxz00_8773 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(16049L), BGl_string3541z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_bucketsz00_1646); 
FAILURE(BgL_auxz00_8773,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 403 */
 bool_t BgL_test4168z00_8777;
{ /* Llib/weakhash.scm 403 */
 long BgL_tmpz00_8778;
BgL_tmpz00_8778 = 
VECTOR_LENGTH(BgL_vectorz00_3230); 
BgL_test4168z00_8777 = 
BOUND_CHECK(BgL_bucketzd2numzd2_1648, BgL_tmpz00_8778); } 
if(BgL_test4168z00_8777)
{ /* Llib/weakhash.scm 403 */
BgL_bucketz00_1649 = 
VECTOR_REF(BgL_vectorz00_3230,BgL_bucketzd2numzd2_1648); }  else 
{ 
 obj_t BgL_auxz00_8782;
BgL_auxz00_8782 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(16037L), BGl_string3459z00zz__weakhashz00, BgL_vectorz00_3230, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_3230)), 
(int)(BgL_bucketzd2numzd2_1648)); 
FAILURE(BgL_auxz00_8782,BFALSE,BFALSE);} } } 
{ /* Llib/weakhash.scm 403 */

{ 
 obj_t BgL_bucketz00_1651;
BgL_bucketz00_1651 = BgL_bucketz00_1649; 
BgL_zc3z04anonymousza31528ze3z87_1652:
if(
NULLP(BgL_bucketz00_1651))
{ /* Llib/weakhash.scm 406 */
return BFALSE;}  else 
{ /* Llib/weakhash.scm 408 */
 bool_t BgL_test4170z00_8791;
{ /* Llib/weakhash.scm 408 */
 obj_t BgL_arg1540z00_1659;
{ /* Llib/weakhash.scm 408 */
 obj_t BgL_arg1541z00_1660;
{ /* Llib/weakhash.scm 408 */
 obj_t BgL_pairz00_3232;
if(
PAIRP(BgL_bucketz00_1651))
{ /* Llib/weakhash.scm 408 */
BgL_pairz00_3232 = BgL_bucketz00_1651; }  else 
{ 
 obj_t BgL_auxz00_8794;
BgL_auxz00_8794 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(16193L), BGl_string3467z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_bucketz00_1651); 
FAILURE(BgL_auxz00_8794,BFALSE,BFALSE);} 
BgL_arg1541z00_1660 = 
CAR(BgL_pairz00_3232); } 
{ /* Llib/weakhash.scm 408 */
 obj_t BgL_objz00_3233;
if(
BGL_WEAKPTRP(BgL_arg1541z00_1660))
{ /* Llib/weakhash.scm 408 */
BgL_objz00_3233 = BgL_arg1541z00_1660; }  else 
{ 
 obj_t BgL_auxz00_8801;
BgL_auxz00_8801 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(16199L), BGl_string3467z00zz__weakhashz00, BGl_string3462z00zz__weakhashz00, BgL_arg1541z00_1660); 
FAILURE(BgL_auxz00_8801,BFALSE,BFALSE);} 
BgL_arg1540z00_1659 = 
bgl_weakptr_data(BgL_objz00_3233); } } 
{ /* Llib/weakhash.scm 408 */
 obj_t BgL_eqtz00_3234;
{ /* Llib/weakhash.scm 408 */
 bool_t BgL_test4173z00_8806;
{ /* Llib/weakhash.scm 408 */
 obj_t BgL_tmpz00_8807;
{ /* Llib/weakhash.scm 408 */
 obj_t BgL_res2266z00_3241;
{ /* Llib/weakhash.scm 408 */
 obj_t BgL_aux3004z00_5289;
BgL_aux3004z00_5289 = 
STRUCT_KEY(BgL_tablez00_77); 
if(
SYMBOLP(BgL_aux3004z00_5289))
{ /* Llib/weakhash.scm 408 */
BgL_res2266z00_3241 = BgL_aux3004z00_5289; }  else 
{ 
 obj_t BgL_auxz00_8811;
BgL_auxz00_8811 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(16150L), BGl_string3467z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3004z00_5289); 
FAILURE(BgL_auxz00_8811,BFALSE,BFALSE);} } 
BgL_tmpz00_8807 = BgL_res2266z00_3241; } 
BgL_test4173z00_8806 = 
(BgL_tmpz00_8807==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4173z00_8806)
{ /* Llib/weakhash.scm 408 */
 int BgL_tmpz00_8816;
BgL_tmpz00_8816 = 
(int)(3L); 
BgL_eqtz00_3234 = 
UNSAFE_STRUCT_REF(BgL_tablez00_77, BgL_tmpz00_8816); }  else 
{ /* Llib/weakhash.scm 408 */
BgL_eqtz00_3234 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_77); } } 
if(
PROCEDUREP(BgL_eqtz00_3234))
{ /* Llib/weakhash.scm 408 */
if(
PROCEDURE_CORRECT_ARITYP(BgL_eqtz00_3234, 2))
{ /* Llib/weakhash.scm 408 */
BgL_test4170z00_8791 = 
CBOOL(
BGL_PROCEDURE_CALL2(BgL_eqtz00_3234, BgL_arg1540z00_1659, BgL_keyz00_78))
; }  else 
{ /* Llib/weakhash.scm 408 */
FAILURE(BGl_string3528z00zz__weakhashz00,BGl_list3542z00zz__weakhashz00,BgL_eqtz00_3234);} }  else 
{ /* Llib/weakhash.scm 408 */
if(
(BgL_arg1540z00_1659==BgL_keyz00_78))
{ /* Llib/weakhash.scm 408 */
BgL_test4170z00_8791 = ((bool_t)1)
; }  else 
{ /* Llib/weakhash.scm 408 */
if(
STRINGP(BgL_arg1540z00_1659))
{ /* Llib/weakhash.scm 408 */
if(
STRINGP(BgL_keyz00_78))
{ /* Llib/weakhash.scm 408 */
 long BgL_l1z00_3244;
BgL_l1z00_3244 = 
STRING_LENGTH(BgL_arg1540z00_1659); 
if(
(BgL_l1z00_3244==
STRING_LENGTH(BgL_keyz00_78)))
{ /* Llib/weakhash.scm 408 */
 int BgL_arg1924z00_3247;
{ /* Llib/weakhash.scm 408 */
 char * BgL_auxz00_8843; char * BgL_tmpz00_8841;
BgL_auxz00_8843 = 
BSTRING_TO_STRING(BgL_keyz00_78); 
BgL_tmpz00_8841 = 
BSTRING_TO_STRING(BgL_arg1540z00_1659); 
BgL_arg1924z00_3247 = 
memcmp(BgL_tmpz00_8841, BgL_auxz00_8843, BgL_l1z00_3244); } 
BgL_test4170z00_8791 = 
(
(long)(BgL_arg1924z00_3247)==0L); }  else 
{ /* Llib/weakhash.scm 408 */
BgL_test4170z00_8791 = ((bool_t)0)
; } }  else 
{ /* Llib/weakhash.scm 408 */
BgL_test4170z00_8791 = ((bool_t)0)
; } }  else 
{ /* Llib/weakhash.scm 408 */
BgL_test4170z00_8791 = ((bool_t)0)
; } } } } } 
if(BgL_test4170z00_8791)
{ /* Llib/weakhash.scm 409 */
 obj_t BgL_arg1537z00_1657;
{ /* Llib/weakhash.scm 409 */
 obj_t BgL_pairz00_3253;
if(
PAIRP(BgL_bucketz00_1651))
{ /* Llib/weakhash.scm 409 */
BgL_pairz00_3253 = BgL_bucketz00_1651; }  else 
{ 
 obj_t BgL_auxz00_8850;
BgL_auxz00_8850 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(16231L), BGl_string3467z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_bucketz00_1651); 
FAILURE(BgL_auxz00_8850,BFALSE,BFALSE);} 
BgL_arg1537z00_1657 = 
CAR(BgL_pairz00_3253); } 
{ /* Llib/weakhash.scm 409 */
 obj_t BgL_objz00_3254;
if(
BGL_WEAKPTRP(BgL_arg1537z00_1657))
{ /* Llib/weakhash.scm 409 */
BgL_objz00_3254 = BgL_arg1537z00_1657; }  else 
{ 
 obj_t BgL_auxz00_8857;
BgL_auxz00_8857 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(16237L), BGl_string3467z00zz__weakhashz00, BGl_string3462z00zz__weakhashz00, BgL_arg1537z00_1657); 
FAILURE(BgL_auxz00_8857,BFALSE,BFALSE);} 
return 
bgl_weakptr_ref(BgL_objz00_3254);} }  else 
{ /* Llib/weakhash.scm 411 */
 obj_t BgL_arg1538z00_1658;
{ /* Llib/weakhash.scm 411 */
 obj_t BgL_pairz00_3255;
if(
PAIRP(BgL_bucketz00_1651))
{ /* Llib/weakhash.scm 411 */
BgL_pairz00_3255 = BgL_bucketz00_1651; }  else 
{ 
 obj_t BgL_auxz00_8864;
BgL_auxz00_8864 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(16269L), BGl_string3467z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_bucketz00_1651); 
FAILURE(BgL_auxz00_8864,BFALSE,BFALSE);} 
BgL_arg1538z00_1658 = 
CDR(BgL_pairz00_3255); } 
{ 
 obj_t BgL_bucketz00_8869;
BgL_bucketz00_8869 = BgL_arg1538z00_1658; 
BgL_bucketz00_1651 = BgL_bucketz00_8869; 
goto BgL_zc3z04anonymousza31528ze3z87_1652;} } } } } } } } } } 

}



/* 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_1663;
{ /* Llib/weakhash.scm 417 */
 bool_t BgL_test4184z00_8870;
{ /* Llib/weakhash.scm 417 */
 obj_t BgL_tmpz00_8871;
{ /* Llib/weakhash.scm 417 */
 obj_t BgL_res2267z00_3259;
{ /* Llib/weakhash.scm 417 */
 obj_t BgL_aux3013z00_5299;
BgL_aux3013z00_5299 = 
STRUCT_KEY(BgL_tablez00_79); 
if(
SYMBOLP(BgL_aux3013z00_5299))
{ /* Llib/weakhash.scm 417 */
BgL_res2267z00_3259 = BgL_aux3013z00_5299; }  else 
{ 
 obj_t BgL_auxz00_8875;
BgL_auxz00_8875 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(16581L), BGl_string3545z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3013z00_5299); 
FAILURE(BgL_auxz00_8875,BFALSE,BFALSE);} } 
BgL_tmpz00_8871 = BgL_res2267z00_3259; } 
BgL_test4184z00_8870 = 
(BgL_tmpz00_8871==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4184z00_8870)
{ /* Llib/weakhash.scm 417 */
 int BgL_tmpz00_8880;
BgL_tmpz00_8880 = 
(int)(2L); 
BgL_bucketsz00_1663 = 
UNSAFE_STRUCT_REF(BgL_tablez00_79, BgL_tmpz00_8880); }  else 
{ /* Llib/weakhash.scm 417 */
BgL_bucketsz00_1663 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_79); } } 
{ /* Llib/weakhash.scm 417 */
 long BgL_bucketzd2lenzd2_1664;
{ /* Llib/weakhash.scm 418 */
 obj_t BgL_vectorz00_3260;
if(
VECTORP(BgL_bucketsz00_1663))
{ /* Llib/weakhash.scm 418 */
BgL_vectorz00_3260 = BgL_bucketsz00_1663; }  else 
{ 
 obj_t BgL_auxz00_8886;
BgL_auxz00_8886 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(16639L), BGl_string3545z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_bucketsz00_1663); 
FAILURE(BgL_auxz00_8886,BFALSE,BFALSE);} 
BgL_bucketzd2lenzd2_1664 = 
VECTOR_LENGTH(BgL_vectorz00_3260); } 
{ /* Llib/weakhash.scm 418 */
 long BgL_bucketzd2numzd2_1665;
{ /* Llib/weakhash.scm 419 */
 long BgL_arg1546z00_1674;
BgL_arg1546z00_1674 = 
BGl_tablezd2getzd2hashnumberz00zz__weakhashz00(BgL_tablez00_79, BgL_keyz00_80); 
{ /* Llib/weakhash.scm 419 */
 long BgL_n1z00_3261; long BgL_n2z00_3262;
BgL_n1z00_3261 = BgL_arg1546z00_1674; 
BgL_n2z00_3262 = BgL_bucketzd2lenzd2_1664; 
{ /* Llib/weakhash.scm 419 */
 bool_t BgL_test4187z00_8892;
{ /* Llib/weakhash.scm 419 */
 long BgL_arg2041z00_3264;
BgL_arg2041z00_3264 = 
(((BgL_n1z00_3261) | (BgL_n2z00_3262)) & -2147483648); 
BgL_test4187z00_8892 = 
(BgL_arg2041z00_3264==0L); } 
if(BgL_test4187z00_8892)
{ /* Llib/weakhash.scm 419 */
 int32_t BgL_arg2037z00_3265;
{ /* Llib/weakhash.scm 419 */
 int32_t BgL_arg2038z00_3266; int32_t BgL_arg2039z00_3267;
BgL_arg2038z00_3266 = 
(int32_t)(BgL_n1z00_3261); 
BgL_arg2039z00_3267 = 
(int32_t)(BgL_n2z00_3262); 
BgL_arg2037z00_3265 = 
(BgL_arg2038z00_3266%BgL_arg2039z00_3267); } 
{ /* Llib/weakhash.scm 419 */
 long BgL_arg2142z00_3272;
BgL_arg2142z00_3272 = 
(long)(BgL_arg2037z00_3265); 
BgL_bucketzd2numzd2_1665 = 
(long)(BgL_arg2142z00_3272); } }  else 
{ /* Llib/weakhash.scm 419 */
BgL_bucketzd2numzd2_1665 = 
(BgL_n1z00_3261%BgL_n2z00_3262); } } } } 
{ /* Llib/weakhash.scm 419 */
 obj_t BgL_retz00_1666;
{ /* Llib/weakhash.scm 422 */
 obj_t BgL_zc3z04anonymousza31544ze3z87_4558;
{ 
 int BgL_tmpz00_8901;
BgL_tmpz00_8901 = 
(int)(2L); 
BgL_zc3z04anonymousza31544ze3z87_4558 = 
MAKE_L_PROCEDURE(BGl_z62zc3z04anonymousza31544ze3ze5zz__weakhashz00, BgL_tmpz00_8901); } 
PROCEDURE_L_SET(BgL_zc3z04anonymousza31544ze3z87_4558, 
(int)(0L), BgL_tablez00_79); 
PROCEDURE_L_SET(BgL_zc3z04anonymousza31544ze3z87_4558, 
(int)(1L), BgL_keyz00_80); 
BgL_retz00_1666 = 
BGl_traversezd2bucketszd2zz__weakhashz00(BgL_tablez00_79, BgL_bucketsz00_1663, BgL_bucketzd2numzd2_1665, BgL_zc3z04anonymousza31544ze3z87_4558); } 
{ /* Llib/weakhash.scm 420 */

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

}



/* &<@anonymous:1544> */
obj_t BGl_z62zc3z04anonymousza31544ze3ze5zz__weakhashz00(obj_t BgL_envz00_4559, obj_t BgL_bkeyz00_4562, obj_t BgL_valz00_4563, obj_t BgL_bucketz00_4564)
{
{ /* Llib/weakhash.scm 421 */
{ /* Llib/weakhash.scm 422 */
 obj_t BgL_tablez00_4560; obj_t BgL_keyz00_4561;
BgL_tablez00_4560 = 
((obj_t)
PROCEDURE_L_REF(BgL_envz00_4559, 
(int)(0L))); 
BgL_keyz00_4561 = 
PROCEDURE_L_REF(BgL_envz00_4559, 
(int)(1L)); 
{ /* Llib/weakhash.scm 422 */
 bool_t BgL_test4189z00_8916;
{ /* Llib/weakhash.scm 422 */
 obj_t BgL_eqtz00_5803;
{ /* Llib/weakhash.scm 422 */
 bool_t BgL_test4190z00_8917;
{ /* Llib/weakhash.scm 422 */
 obj_t BgL_tmpz00_8918;
{ /* Llib/weakhash.scm 422 */
 obj_t BgL_res2268z00_5804;
{ /* Llib/weakhash.scm 422 */
 obj_t BgL_aux3017z00_5805;
BgL_aux3017z00_5805 = 
STRUCT_KEY(BgL_tablez00_4560); 
if(
SYMBOLP(BgL_aux3017z00_5805))
{ /* Llib/weakhash.scm 422 */
BgL_res2268z00_5804 = BgL_aux3017z00_5805; }  else 
{ 
 obj_t BgL_auxz00_8922;
BgL_auxz00_8922 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(16815L), BGl_string3546z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3017z00_5805); 
FAILURE(BgL_auxz00_8922,BFALSE,BFALSE);} } 
BgL_tmpz00_8918 = BgL_res2268z00_5804; } 
BgL_test4190z00_8917 = 
(BgL_tmpz00_8918==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4190z00_8917)
{ /* Llib/weakhash.scm 422 */
 int BgL_tmpz00_8927;
BgL_tmpz00_8927 = 
(int)(3L); 
BgL_eqtz00_5803 = 
UNSAFE_STRUCT_REF(BgL_tablez00_4560, BgL_tmpz00_8927); }  else 
{ /* Llib/weakhash.scm 422 */
BgL_eqtz00_5803 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_4560); } } 
if(
PROCEDUREP(BgL_eqtz00_5803))
{ /* Llib/weakhash.scm 422 */
if(
PROCEDURE_CORRECT_ARITYP(BgL_eqtz00_5803, 2))
{ /* Llib/weakhash.scm 422 */
BgL_test4189z00_8916 = 
CBOOL(
BGL_PROCEDURE_CALL2(BgL_eqtz00_5803, BgL_keyz00_4561, BgL_bkeyz00_4562))
; }  else 
{ /* Llib/weakhash.scm 422 */
FAILURE(BGl_string3547z00zz__weakhashz00,BGl_list3537z00zz__weakhashz00,BgL_eqtz00_5803);} }  else 
{ /* Llib/weakhash.scm 422 */
if(
(BgL_keyz00_4561==BgL_bkeyz00_4562))
{ /* Llib/weakhash.scm 422 */
BgL_test4189z00_8916 = ((bool_t)1)
; }  else 
{ /* Llib/weakhash.scm 422 */
if(
STRINGP(BgL_keyz00_4561))
{ /* Llib/weakhash.scm 422 */
if(
STRINGP(BgL_bkeyz00_4562))
{ /* Llib/weakhash.scm 422 */
 long BgL_l1z00_5806;
BgL_l1z00_5806 = 
STRING_LENGTH(BgL_keyz00_4561); 
if(
(BgL_l1z00_5806==
STRING_LENGTH(BgL_bkeyz00_4562)))
{ /* Llib/weakhash.scm 422 */
 int BgL_arg1924z00_5807;
{ /* Llib/weakhash.scm 422 */
 char * BgL_auxz00_8954; char * BgL_tmpz00_8952;
BgL_auxz00_8954 = 
BSTRING_TO_STRING(BgL_bkeyz00_4562); 
BgL_tmpz00_8952 = 
BSTRING_TO_STRING(BgL_keyz00_4561); 
BgL_arg1924z00_5807 = 
memcmp(BgL_tmpz00_8952, BgL_auxz00_8954, BgL_l1z00_5806); } 
BgL_test4189z00_8916 = 
(
(long)(BgL_arg1924z00_5807)==0L); }  else 
{ /* Llib/weakhash.scm 422 */
BgL_test4189z00_8916 = ((bool_t)0)
; } }  else 
{ /* Llib/weakhash.scm 422 */
BgL_test4189z00_8916 = ((bool_t)0)
; } }  else 
{ /* Llib/weakhash.scm 422 */
BgL_test4189z00_8916 = ((bool_t)0)
; } } } } 
if(BgL_test4189z00_8916)
{ /* Llib/weakhash.scm 422 */
return BgL_valz00_4563;}  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_4565, obj_t BgL_tablez00_4566, obj_t BgL_keyz00_4567)
{
{ /* Llib/weakhash.scm 432 */
{ /* Llib/weakhash.scm 433 */
 obj_t BgL_auxz00_8963;
if(
STRUCTP(BgL_tablez00_4566))
{ /* Llib/weakhash.scm 433 */
BgL_auxz00_8963 = BgL_tablez00_4566
; }  else 
{ 
 obj_t BgL_auxz00_8966;
BgL_auxz00_8966 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(17200L), BGl_string3548z00zz__weakhashz00, BGl_string3498z00zz__weakhashz00, BgL_tablez00_4566); 
FAILURE(BgL_auxz00_8966,BFALSE,BFALSE);} 
return 
BGl_weakzd2hashtablezd2getz00zz__weakhashz00(BgL_auxz00_8963, BgL_keyz00_4567);} } 

}



/* 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_1676;
{ /* Llib/weakhash.scm 441 */
 bool_t BgL_test4200z00_8971;
{ /* Llib/weakhash.scm 441 */
 obj_t BgL_tmpz00_8972;
{ /* Llib/weakhash.scm 441 */
 obj_t BgL_res2269z00_3298;
{ /* Llib/weakhash.scm 441 */
 obj_t BgL_aux3022z00_5309;
BgL_aux3022z00_5309 = 
STRUCT_KEY(BgL_tablez00_83); 
if(
SYMBOLP(BgL_aux3022z00_5309))
{ /* Llib/weakhash.scm 441 */
BgL_res2269z00_3298 = BgL_aux3022z00_5309; }  else 
{ 
 obj_t BgL_auxz00_8976;
BgL_auxz00_8976 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(17632L), BGl_string3549z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3022z00_5309); 
FAILURE(BgL_auxz00_8976,BFALSE,BFALSE);} } 
BgL_tmpz00_8972 = BgL_res2269z00_3298; } 
BgL_test4200z00_8971 = 
(BgL_tmpz00_8972==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4200z00_8971)
{ /* Llib/weakhash.scm 441 */
 int BgL_tmpz00_8981;
BgL_tmpz00_8981 = 
(int)(2L); 
BgL_bucketsz00_1676 = 
UNSAFE_STRUCT_REF(BgL_tablez00_83, BgL_tmpz00_8981); }  else 
{ /* Llib/weakhash.scm 441 */
BgL_bucketsz00_1676 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_83); } } 
{ /* Llib/weakhash.scm 441 */
 long BgL_bucketzd2lenzd2_1677;
{ /* Llib/weakhash.scm 442 */
 obj_t BgL_vectorz00_3299;
if(
VECTORP(BgL_bucketsz00_1676))
{ /* Llib/weakhash.scm 442 */
BgL_vectorz00_3299 = BgL_bucketsz00_1676; }  else 
{ 
 obj_t BgL_auxz00_8987;
BgL_auxz00_8987 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(17690L), BGl_string3549z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_bucketsz00_1676); 
FAILURE(BgL_auxz00_8987,BFALSE,BFALSE);} 
BgL_bucketzd2lenzd2_1677 = 
VECTOR_LENGTH(BgL_vectorz00_3299); } 
{ /* Llib/weakhash.scm 442 */
 long BgL_bucketzd2numzd2_1678;
{ /* Llib/weakhash.scm 443 */
 long BgL_arg1580z00_1708;
BgL_arg1580z00_1708 = 
BGl_tablezd2getzd2hashnumberz00zz__weakhashz00(BgL_tablez00_83, BgL_keyz00_84); 
{ /* Llib/weakhash.scm 443 */
 long BgL_n1z00_3300; long BgL_n2z00_3301;
BgL_n1z00_3300 = BgL_arg1580z00_1708; 
BgL_n2z00_3301 = BgL_bucketzd2lenzd2_1677; 
{ /* Llib/weakhash.scm 443 */
 bool_t BgL_test4203z00_8993;
{ /* Llib/weakhash.scm 443 */
 long BgL_arg2041z00_3303;
BgL_arg2041z00_3303 = 
(((BgL_n1z00_3300) | (BgL_n2z00_3301)) & -2147483648); 
BgL_test4203z00_8993 = 
(BgL_arg2041z00_3303==0L); } 
if(BgL_test4203z00_8993)
{ /* Llib/weakhash.scm 443 */
 int32_t BgL_arg2037z00_3304;
{ /* Llib/weakhash.scm 443 */
 int32_t BgL_arg2038z00_3305; int32_t BgL_arg2039z00_3306;
BgL_arg2038z00_3305 = 
(int32_t)(BgL_n1z00_3300); 
BgL_arg2039z00_3306 = 
(int32_t)(BgL_n2z00_3301); 
BgL_arg2037z00_3304 = 
(BgL_arg2038z00_3305%BgL_arg2039z00_3306); } 
{ /* Llib/weakhash.scm 443 */
 long BgL_arg2142z00_3311;
BgL_arg2142z00_3311 = 
(long)(BgL_arg2037z00_3304); 
BgL_bucketzd2numzd2_1678 = 
(long)(BgL_arg2142z00_3311); } }  else 
{ /* Llib/weakhash.scm 443 */
BgL_bucketzd2numzd2_1678 = 
(BgL_n1z00_3300%BgL_n2z00_3301); } } } } 
{ /* Llib/weakhash.scm 443 */
 obj_t BgL_bucketz00_1679;
{ /* Llib/weakhash.scm 444 */
 obj_t BgL_vectorz00_3313;
if(
VECTORP(BgL_bucketsz00_1676))
{ /* Llib/weakhash.scm 444 */
BgL_vectorz00_3313 = BgL_bucketsz00_1676; }  else 
{ 
 obj_t BgL_auxz00_9004;
BgL_auxz00_9004 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(17800L), BGl_string3549z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_bucketsz00_1676); 
FAILURE(BgL_auxz00_9004,BFALSE,BFALSE);} 
BgL_bucketz00_1679 = 
VECTOR_REF(BgL_vectorz00_3313,BgL_bucketzd2numzd2_1678); } 
{ /* Llib/weakhash.scm 444 */
 obj_t BgL_maxzd2bucketzd2lenz00_1680;
{ /* Llib/weakhash.scm 445 */
 bool_t BgL_test4205z00_9009;
{ /* Llib/weakhash.scm 445 */
 obj_t BgL_tmpz00_9010;
{ /* Llib/weakhash.scm 445 */
 obj_t BgL_res2270z00_3318;
{ /* Llib/weakhash.scm 445 */
 obj_t BgL_aux3028z00_5315;
BgL_aux3028z00_5315 = 
STRUCT_KEY(BgL_tablez00_83); 
if(
SYMBOLP(BgL_aux3028z00_5315))
{ /* Llib/weakhash.scm 445 */
BgL_res2270z00_3318 = BgL_aux3028z00_5315; }  else 
{ 
 obj_t BgL_auxz00_9014;
BgL_auxz00_9014 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(17840L), BGl_string3549z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3028z00_5315); 
FAILURE(BgL_auxz00_9014,BFALSE,BFALSE);} } 
BgL_tmpz00_9010 = BgL_res2270z00_3318; } 
BgL_test4205z00_9009 = 
(BgL_tmpz00_9010==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4205z00_9009)
{ /* Llib/weakhash.scm 445 */
 int BgL_tmpz00_9019;
BgL_tmpz00_9019 = 
(int)(1L); 
BgL_maxzd2bucketzd2lenz00_1680 = 
UNSAFE_STRUCT_REF(BgL_tablez00_83, BgL_tmpz00_9019); }  else 
{ /* Llib/weakhash.scm 445 */
BgL_maxzd2bucketzd2lenz00_1680 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_83); } } 
{ /* Llib/weakhash.scm 445 */

if(
NULLP(BgL_bucketz00_1679))
{ /* Llib/weakhash.scm 446 */
{ /* Llib/weakhash.scm 448 */
 long BgL_arg1549z00_1682;
{ /* Llib/weakhash.scm 448 */
 obj_t BgL_arg1551z00_1683;
{ /* Llib/weakhash.scm 448 */
 bool_t BgL_test4208z00_9025;
{ /* Llib/weakhash.scm 448 */
 obj_t BgL_tmpz00_9026;
{ /* Llib/weakhash.scm 448 */
 obj_t BgL_res2271z00_3322;
{ /* Llib/weakhash.scm 448 */
 obj_t BgL_aux3030z00_5317;
BgL_aux3030z00_5317 = 
STRUCT_KEY(BgL_tablez00_83); 
if(
SYMBOLP(BgL_aux3030z00_5317))
{ /* Llib/weakhash.scm 448 */
BgL_res2271z00_3322 = BgL_aux3030z00_5317; }  else 
{ 
 obj_t BgL_auxz00_9030;
BgL_auxz00_9030 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(17950L), BGl_string3549z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3030z00_5317); 
FAILURE(BgL_auxz00_9030,BFALSE,BFALSE);} } 
BgL_tmpz00_9026 = BgL_res2271z00_3322; } 
BgL_test4208z00_9025 = 
(BgL_tmpz00_9026==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4208z00_9025)
{ /* Llib/weakhash.scm 448 */
 int BgL_tmpz00_9035;
BgL_tmpz00_9035 = 
(int)(0L); 
BgL_arg1551z00_1683 = 
UNSAFE_STRUCT_REF(BgL_tablez00_83, BgL_tmpz00_9035); }  else 
{ /* Llib/weakhash.scm 448 */
BgL_arg1551z00_1683 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_83); } } 
{ /* Llib/weakhash.scm 448 */
 long BgL_za71za7_3323;
{ /* Llib/weakhash.scm 448 */
 obj_t BgL_tmpz00_9039;
if(
INTEGERP(BgL_arg1551z00_1683))
{ /* Llib/weakhash.scm 448 */
BgL_tmpz00_9039 = BgL_arg1551z00_1683
; }  else 
{ 
 obj_t BgL_auxz00_9042;
BgL_auxz00_9042 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(17972L), BGl_string3549z00zz__weakhashz00, BGl_string3453z00zz__weakhashz00, BgL_arg1551z00_1683); 
FAILURE(BgL_auxz00_9042,BFALSE,BFALSE);} 
BgL_za71za7_3323 = 
(long)CINT(BgL_tmpz00_9039); } 
BgL_arg1549z00_1682 = 
(BgL_za71za7_3323+1L); } } 
{ /* Llib/weakhash.scm 448 */
 bool_t BgL_test4211z00_9048;
{ /* Llib/weakhash.scm 448 */
 obj_t BgL_tmpz00_9049;
{ /* Llib/weakhash.scm 448 */
 obj_t BgL_res2272z00_3327;
{ /* Llib/weakhash.scm 448 */
 obj_t BgL_aux3033z00_5320;
BgL_aux3033z00_5320 = 
STRUCT_KEY(BgL_tablez00_83); 
if(
SYMBOLP(BgL_aux3033z00_5320))
{ /* Llib/weakhash.scm 448 */
BgL_res2272z00_3327 = BgL_aux3033z00_5320; }  else 
{ 
 obj_t BgL_auxz00_9053;
BgL_auxz00_9053 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(17917L), BGl_string3549z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3033z00_5320); 
FAILURE(BgL_auxz00_9053,BFALSE,BFALSE);} } 
BgL_tmpz00_9049 = BgL_res2272z00_3327; } 
BgL_test4211z00_9048 = 
(BgL_tmpz00_9049==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4211z00_9048)
{ /* Llib/weakhash.scm 448 */
 obj_t BgL_auxz00_9060; int BgL_tmpz00_9058;
BgL_auxz00_9060 = 
BINT(BgL_arg1549z00_1682); 
BgL_tmpz00_9058 = 
(int)(0L); 
UNSAFE_STRUCT_SET(BgL_tablez00_83, BgL_tmpz00_9058, BgL_auxz00_9060); }  else 
{ /* Llib/weakhash.scm 448 */
BGl_errorz00zz__errorz00(BGl_string3463z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_83); } } } 
{ /* Llib/weakhash.scm 449 */
 obj_t BgL_arg1552z00_1684;
{ /* Llib/weakhash.scm 449 */
 obj_t BgL_arg1554z00_1685;
BgL_arg1554z00_1685 = 
bgl_make_weakptr(BgL_keyz00_84, BgL_objz00_85); 
{ /* Llib/weakhash.scm 449 */
 obj_t BgL_list1555z00_1686;
BgL_list1555z00_1686 = 
MAKE_YOUNG_PAIR(BgL_arg1554z00_1685, BNIL); 
BgL_arg1552z00_1684 = BgL_list1555z00_1686; } } 
{ /* Llib/weakhash.scm 449 */
 obj_t BgL_vectorz00_3329;
if(
VECTORP(BgL_bucketsz00_1676))
{ /* Llib/weakhash.scm 449 */
BgL_vectorz00_3329 = BgL_bucketsz00_1676; }  else 
{ 
 obj_t BgL_auxz00_9068;
BgL_auxz00_9068 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(18000L), BGl_string3549z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_bucketsz00_1676); 
FAILURE(BgL_auxz00_9068,BFALSE,BFALSE);} 
VECTOR_SET(BgL_vectorz00_3329,BgL_bucketzd2numzd2_1678,BgL_arg1552z00_1684); } } 
return BgL_objz00_85;}  else 
{ 
 obj_t BgL_buckz00_1688; long BgL_countz00_1689;
BgL_buckz00_1688 = BgL_bucketz00_1679; 
BgL_countz00_1689 = 0L; 
BgL_zc3z04anonymousza31556ze3z87_1690:
if(
NULLP(BgL_buckz00_1688))
{ /* Llib/weakhash.scm 454 */
{ /* Llib/weakhash.scm 455 */
 long BgL_arg1558z00_1692;
{ /* Llib/weakhash.scm 455 */
 obj_t BgL_arg1559z00_1693;
{ /* Llib/weakhash.scm 455 */
 bool_t BgL_test4215z00_9075;
{ /* Llib/weakhash.scm 455 */
 obj_t BgL_tmpz00_9076;
{ /* Llib/weakhash.scm 455 */
 obj_t BgL_res2274z00_3334;
{ /* Llib/weakhash.scm 455 */
 obj_t BgL_aux3037z00_5324;
BgL_aux3037z00_5324 = 
STRUCT_KEY(BgL_tablez00_83); 
if(
SYMBOLP(BgL_aux3037z00_5324))
{ /* Llib/weakhash.scm 455 */
BgL_res2274z00_3334 = BgL_aux3037z00_5324; }  else 
{ 
 obj_t BgL_auxz00_9080;
BgL_auxz00_9080 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(18171L), BGl_string3467z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3037z00_5324); 
FAILURE(BgL_auxz00_9080,BFALSE,BFALSE);} } 
BgL_tmpz00_9076 = BgL_res2274z00_3334; } 
BgL_test4215z00_9075 = 
(BgL_tmpz00_9076==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4215z00_9075)
{ /* Llib/weakhash.scm 455 */
 int BgL_tmpz00_9085;
BgL_tmpz00_9085 = 
(int)(0L); 
BgL_arg1559z00_1693 = 
UNSAFE_STRUCT_REF(BgL_tablez00_83, BgL_tmpz00_9085); }  else 
{ /* Llib/weakhash.scm 455 */
BgL_arg1559z00_1693 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_83); } } 
{ /* Llib/weakhash.scm 455 */
 long BgL_za71za7_3335;
{ /* Llib/weakhash.scm 455 */
 obj_t BgL_tmpz00_9089;
if(
INTEGERP(BgL_arg1559z00_1693))
{ /* Llib/weakhash.scm 455 */
BgL_tmpz00_9089 = BgL_arg1559z00_1693
; }  else 
{ 
 obj_t BgL_auxz00_9092;
BgL_auxz00_9092 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(18193L), BGl_string3467z00zz__weakhashz00, BGl_string3453z00zz__weakhashz00, BgL_arg1559z00_1693); 
FAILURE(BgL_auxz00_9092,BFALSE,BFALSE);} 
BgL_za71za7_3335 = 
(long)CINT(BgL_tmpz00_9089); } 
BgL_arg1558z00_1692 = 
(BgL_za71za7_3335+1L); } } 
{ /* Llib/weakhash.scm 455 */
 bool_t BgL_test4218z00_9098;
{ /* Llib/weakhash.scm 455 */
 obj_t BgL_tmpz00_9099;
{ /* Llib/weakhash.scm 455 */
 obj_t BgL_res2275z00_3339;
{ /* Llib/weakhash.scm 455 */
 obj_t BgL_aux3040z00_5327;
BgL_aux3040z00_5327 = 
STRUCT_KEY(BgL_tablez00_83); 
if(
SYMBOLP(BgL_aux3040z00_5327))
{ /* Llib/weakhash.scm 455 */
BgL_res2275z00_3339 = BgL_aux3040z00_5327; }  else 
{ 
 obj_t BgL_auxz00_9103;
BgL_auxz00_9103 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(18138L), BGl_string3467z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3040z00_5327); 
FAILURE(BgL_auxz00_9103,BFALSE,BFALSE);} } 
BgL_tmpz00_9099 = BgL_res2275z00_3339; } 
BgL_test4218z00_9098 = 
(BgL_tmpz00_9099==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4218z00_9098)
{ /* Llib/weakhash.scm 455 */
 obj_t BgL_auxz00_9110; int BgL_tmpz00_9108;
BgL_auxz00_9110 = 
BINT(BgL_arg1558z00_1692); 
BgL_tmpz00_9108 = 
(int)(0L); 
UNSAFE_STRUCT_SET(BgL_tablez00_83, BgL_tmpz00_9108, BgL_auxz00_9110); }  else 
{ /* Llib/weakhash.scm 455 */
BGl_errorz00zz__errorz00(BGl_string3463z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_83); } } } 
{ /* Llib/weakhash.scm 457 */
 obj_t BgL_arg1561z00_1694;
BgL_arg1561z00_1694 = 
MAKE_YOUNG_PAIR(
bgl_make_weakptr(BgL_keyz00_84, BgL_objz00_85), BgL_bucketz00_1679); 
{ /* Llib/weakhash.scm 456 */
 obj_t BgL_vectorz00_3340;
if(
VECTORP(BgL_bucketsz00_1676))
{ /* Llib/weakhash.scm 456 */
BgL_vectorz00_3340 = BgL_bucketsz00_1676; }  else 
{ 
 obj_t BgL_auxz00_9118;
BgL_auxz00_9118 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(18218L), BGl_string3467z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_bucketsz00_1676); 
FAILURE(BgL_auxz00_9118,BFALSE,BFALSE);} 
VECTOR_SET(BgL_vectorz00_3340,BgL_bucketzd2numzd2_1678,BgL_arg1561z00_1694); } } 
{ /* Llib/weakhash.scm 458 */
 bool_t BgL_test4221z00_9123;
{ /* Llib/weakhash.scm 458 */
 long BgL_n2z00_3343;
{ /* Llib/weakhash.scm 458 */
 obj_t BgL_tmpz00_9124;
if(
INTEGERP(BgL_maxzd2bucketzd2lenz00_1680))
{ /* Llib/weakhash.scm 458 */
BgL_tmpz00_9124 = BgL_maxzd2bucketzd2lenz00_1680
; }  else 
{ 
 obj_t BgL_auxz00_9127;
BgL_auxz00_9127 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(18301L), BGl_string3467z00zz__weakhashz00, BGl_string3453z00zz__weakhashz00, BgL_maxzd2bucketzd2lenz00_1680); 
FAILURE(BgL_auxz00_9127,BFALSE,BFALSE);} 
BgL_n2z00_3343 = 
(long)CINT(BgL_tmpz00_9124); } 
BgL_test4221z00_9123 = 
(BgL_countz00_1689>BgL_n2z00_3343); } 
if(BgL_test4221z00_9123)
{ /* 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_test4223z00_9134;
{ /* Llib/weakhash.scm 461 */
 obj_t BgL_arg1578z00_1705;
{ /* Llib/weakhash.scm 461 */
 obj_t BgL_arg1579z00_1706;
{ /* Llib/weakhash.scm 461 */
 obj_t BgL_pairz00_3344;
if(
PAIRP(BgL_buckz00_1688))
{ /* Llib/weakhash.scm 461 */
BgL_pairz00_3344 = BgL_buckz00_1688; }  else 
{ 
 obj_t BgL_auxz00_9137;
BgL_auxz00_9137 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(18414L), BGl_string3467z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_buckz00_1688); 
FAILURE(BgL_auxz00_9137,BFALSE,BFALSE);} 
BgL_arg1579z00_1706 = 
CAR(BgL_pairz00_3344); } 
{ /* Llib/weakhash.scm 461 */
 obj_t BgL_objz00_3345;
if(
BGL_WEAKPTRP(BgL_arg1579z00_1706))
{ /* Llib/weakhash.scm 461 */
BgL_objz00_3345 = BgL_arg1579z00_1706; }  else 
{ 
 obj_t BgL_auxz00_9144;
BgL_auxz00_9144 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(18418L), BGl_string3467z00zz__weakhashz00, BGl_string3462z00zz__weakhashz00, BgL_arg1579z00_1706); 
FAILURE(BgL_auxz00_9144,BFALSE,BFALSE);} 
BgL_arg1578z00_1705 = 
bgl_weakptr_data(BgL_objz00_3345); } } 
{ /* Llib/weakhash.scm 461 */
 obj_t BgL_eqtz00_3346;
{ /* Llib/weakhash.scm 461 */
 bool_t BgL_test4226z00_9149;
{ /* Llib/weakhash.scm 461 */
 obj_t BgL_tmpz00_9150;
{ /* Llib/weakhash.scm 461 */
 obj_t BgL_res2276z00_3353;
{ /* Llib/weakhash.scm 461 */
 obj_t BgL_aux3049z00_5336;
BgL_aux3049z00_5336 = 
STRUCT_KEY(BgL_tablez00_83); 
if(
SYMBOLP(BgL_aux3049z00_5336))
{ /* Llib/weakhash.scm 461 */
BgL_res2276z00_3353 = BgL_aux3049z00_5336; }  else 
{ 
 obj_t BgL_auxz00_9154;
BgL_auxz00_9154 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(18371L), BGl_string3467z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3049z00_5336); 
FAILURE(BgL_auxz00_9154,BFALSE,BFALSE);} } 
BgL_tmpz00_9150 = BgL_res2276z00_3353; } 
BgL_test4226z00_9149 = 
(BgL_tmpz00_9150==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4226z00_9149)
{ /* Llib/weakhash.scm 461 */
 int BgL_tmpz00_9159;
BgL_tmpz00_9159 = 
(int)(3L); 
BgL_eqtz00_3346 = 
UNSAFE_STRUCT_REF(BgL_tablez00_83, BgL_tmpz00_9159); }  else 
{ /* Llib/weakhash.scm 461 */
BgL_eqtz00_3346 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_83); } } 
if(
PROCEDUREP(BgL_eqtz00_3346))
{ /* Llib/weakhash.scm 461 */
if(
PROCEDURE_CORRECT_ARITYP(BgL_eqtz00_3346, 2))
{ /* Llib/weakhash.scm 461 */
BgL_test4223z00_9134 = 
CBOOL(
BGL_PROCEDURE_CALL2(BgL_eqtz00_3346, BgL_arg1578z00_1705, BgL_keyz00_84))
; }  else 
{ /* Llib/weakhash.scm 461 */
FAILURE(BGl_string3528z00zz__weakhashz00,BGl_list3550z00zz__weakhashz00,BgL_eqtz00_3346);} }  else 
{ /* Llib/weakhash.scm 461 */
if(
(BgL_arg1578z00_1705==BgL_keyz00_84))
{ /* Llib/weakhash.scm 461 */
BgL_test4223z00_9134 = ((bool_t)1)
; }  else 
{ /* Llib/weakhash.scm 461 */
if(
STRINGP(BgL_arg1578z00_1705))
{ /* Llib/weakhash.scm 461 */
if(
STRINGP(BgL_keyz00_84))
{ /* Llib/weakhash.scm 461 */
 long BgL_l1z00_3356;
BgL_l1z00_3356 = 
STRING_LENGTH(BgL_arg1578z00_1705); 
if(
(BgL_l1z00_3356==
STRING_LENGTH(BgL_keyz00_84)))
{ /* Llib/weakhash.scm 461 */
 int BgL_arg1924z00_3359;
{ /* Llib/weakhash.scm 461 */
 char * BgL_auxz00_9186; char * BgL_tmpz00_9184;
BgL_auxz00_9186 = 
BSTRING_TO_STRING(BgL_keyz00_84); 
BgL_tmpz00_9184 = 
BSTRING_TO_STRING(BgL_arg1578z00_1705); 
BgL_arg1924z00_3359 = 
memcmp(BgL_tmpz00_9184, BgL_auxz00_9186, BgL_l1z00_3356); } 
BgL_test4223z00_9134 = 
(
(long)(BgL_arg1924z00_3359)==0L); }  else 
{ /* Llib/weakhash.scm 461 */
BgL_test4223z00_9134 = ((bool_t)0)
; } }  else 
{ /* Llib/weakhash.scm 461 */
BgL_test4223z00_9134 = ((bool_t)0)
; } }  else 
{ /* Llib/weakhash.scm 461 */
BgL_test4223z00_9134 = ((bool_t)0)
; } } } } } 
if(BgL_test4223z00_9134)
{ /* Llib/weakhash.scm 462 */
 obj_t BgL_oldzd2objzd2_1700;
{ /* Llib/weakhash.scm 462 */
 obj_t BgL_arg1574z00_1702;
{ /* Llib/weakhash.scm 462 */
 obj_t BgL_pairz00_3365;
if(
PAIRP(BgL_buckz00_1688))
{ /* Llib/weakhash.scm 462 */
BgL_pairz00_3365 = BgL_buckz00_1688; }  else 
{ 
 obj_t BgL_auxz00_9193;
BgL_auxz00_9193 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(18462L), BGl_string3467z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_buckz00_1688); 
FAILURE(BgL_auxz00_9193,BFALSE,BFALSE);} 
BgL_arg1574z00_1702 = 
CAR(BgL_pairz00_3365); } 
{ /* Llib/weakhash.scm 462 */
 obj_t BgL_objz00_3366;
if(
BGL_WEAKPTRP(BgL_arg1574z00_1702))
{ /* Llib/weakhash.scm 462 */
BgL_objz00_3366 = BgL_arg1574z00_1702; }  else 
{ 
 obj_t BgL_auxz00_9200;
BgL_auxz00_9200 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(18466L), BGl_string3467z00zz__weakhashz00, BGl_string3462z00zz__weakhashz00, BgL_arg1574z00_1702); 
FAILURE(BgL_auxz00_9200,BFALSE,BFALSE);} 
BgL_oldzd2objzd2_1700 = 
bgl_weakptr_ref(BgL_objz00_3366); } } 
{ /* Llib/weakhash.scm 463 */
 obj_t BgL_arg1573z00_1701;
{ /* Llib/weakhash.scm 463 */
 obj_t BgL_pairz00_3367;
if(
PAIRP(BgL_buckz00_1688))
{ /* Llib/weakhash.scm 463 */
BgL_pairz00_3367 = BgL_buckz00_1688; }  else 
{ 
 obj_t BgL_auxz00_9207;
BgL_auxz00_9207 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(18500L), BGl_string3467z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_buckz00_1688); 
FAILURE(BgL_auxz00_9207,BFALSE,BFALSE);} 
BgL_arg1573z00_1701 = 
CAR(BgL_pairz00_3367); } 
{ /* Llib/weakhash.scm 463 */
 obj_t BgL_ptrz00_3368;
if(
BGL_WEAKPTRP(BgL_arg1573z00_1701))
{ /* Llib/weakhash.scm 463 */
BgL_ptrz00_3368 = BgL_arg1573z00_1701; }  else 
{ 
 obj_t BgL_auxz00_9214;
BgL_auxz00_9214 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(18504L), BGl_string3467z00zz__weakhashz00, BGl_string3462z00zz__weakhashz00, BgL_arg1573z00_1701); 
FAILURE(BgL_auxz00_9214,BFALSE,BFALSE);} 
bgl_weakptr_ref_set(BgL_ptrz00_3368, BgL_objz00_85); BUNSPEC; BUNSPEC; } } 
return BgL_oldzd2objzd2_1700;}  else 
{ /* Llib/weakhash.scm 466 */
 obj_t BgL_arg1575z00_1703; long BgL_arg1577z00_1704;
{ /* Llib/weakhash.scm 466 */
 obj_t BgL_pairz00_3369;
if(
PAIRP(BgL_buckz00_1688))
{ /* Llib/weakhash.scm 466 */
BgL_pairz00_3369 = BgL_buckz00_1688; }  else 
{ 
 obj_t BgL_auxz00_9221;
BgL_auxz00_9221 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(18549L), BGl_string3467z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_buckz00_1688); 
FAILURE(BgL_auxz00_9221,BFALSE,BFALSE);} 
BgL_arg1575z00_1703 = 
CDR(BgL_pairz00_3369); } 
BgL_arg1577z00_1704 = 
(BgL_countz00_1689+1L); 
{ 
 long BgL_countz00_9228; obj_t BgL_buckz00_9227;
BgL_buckz00_9227 = BgL_arg1575z00_1703; 
BgL_countz00_9228 = BgL_arg1577z00_1704; 
BgL_countz00_1689 = BgL_countz00_9228; 
BgL_buckz00_1688 = BgL_buckz00_9227; 
goto BgL_zc3z04anonymousza31556ze3z87_1690;} } } } } } } } } } } 

}



/* 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_1709;
{ /* Llib/weakhash.scm 472 */
 bool_t BgL_test4239z00_9229;
{ /* Llib/weakhash.scm 472 */
 obj_t BgL_tmpz00_9230;
{ /* Llib/weakhash.scm 472 */
 obj_t BgL_res2277z00_3374;
{ /* Llib/weakhash.scm 472 */
 obj_t BgL_aux3062z00_5350;
BgL_aux3062z00_5350 = 
STRUCT_KEY(BgL_tablez00_86); 
if(
SYMBOLP(BgL_aux3062z00_5350))
{ /* Llib/weakhash.scm 472 */
BgL_res2277z00_3374 = BgL_aux3062z00_5350; }  else 
{ 
 obj_t BgL_auxz00_9234;
BgL_auxz00_9234 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(18884L), BGl_string3553z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3062z00_5350); 
FAILURE(BgL_auxz00_9234,BFALSE,BFALSE);} } 
BgL_tmpz00_9230 = BgL_res2277z00_3374; } 
BgL_test4239z00_9229 = 
(BgL_tmpz00_9230==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4239z00_9229)
{ /* Llib/weakhash.scm 472 */
 int BgL_tmpz00_9239;
BgL_tmpz00_9239 = 
(int)(2L); 
BgL_bucketsz00_1709 = 
UNSAFE_STRUCT_REF(BgL_tablez00_86, BgL_tmpz00_9239); }  else 
{ /* Llib/weakhash.scm 472 */
BgL_bucketsz00_1709 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_86); } } 
{ /* Llib/weakhash.scm 472 */
 long BgL_bucketzd2lenzd2_1710;
{ /* Llib/weakhash.scm 473 */
 obj_t BgL_vectorz00_3375;
if(
VECTORP(BgL_bucketsz00_1709))
{ /* Llib/weakhash.scm 473 */
BgL_vectorz00_3375 = BgL_bucketsz00_1709; }  else 
{ 
 obj_t BgL_auxz00_9245;
BgL_auxz00_9245 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(18942L), BGl_string3553z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_bucketsz00_1709); 
FAILURE(BgL_auxz00_9245,BFALSE,BFALSE);} 
BgL_bucketzd2lenzd2_1710 = 
VECTOR_LENGTH(BgL_vectorz00_3375); } 
{ /* Llib/weakhash.scm 473 */
 long BgL_bucketzd2numzd2_1711;
{ /* Llib/weakhash.scm 474 */
 long BgL_arg1604z00_1743;
BgL_arg1604z00_1743 = 
BGl_tablezd2getzd2hashnumberz00zz__weakhashz00(BgL_tablez00_86, BgL_keyz00_87); 
{ /* Llib/weakhash.scm 474 */
 long BgL_n1z00_3376; long BgL_n2z00_3377;
BgL_n1z00_3376 = BgL_arg1604z00_1743; 
BgL_n2z00_3377 = BgL_bucketzd2lenzd2_1710; 
{ /* Llib/weakhash.scm 474 */
 bool_t BgL_test4242z00_9251;
{ /* Llib/weakhash.scm 474 */
 long BgL_arg2041z00_3379;
BgL_arg2041z00_3379 = 
(((BgL_n1z00_3376) | (BgL_n2z00_3377)) & -2147483648); 
BgL_test4242z00_9251 = 
(BgL_arg2041z00_3379==0L); } 
if(BgL_test4242z00_9251)
{ /* Llib/weakhash.scm 474 */
 int32_t BgL_arg2037z00_3380;
{ /* Llib/weakhash.scm 474 */
 int32_t BgL_arg2038z00_3381; int32_t BgL_arg2039z00_3382;
BgL_arg2038z00_3381 = 
(int32_t)(BgL_n1z00_3376); 
BgL_arg2039z00_3382 = 
(int32_t)(BgL_n2z00_3377); 
BgL_arg2037z00_3380 = 
(BgL_arg2038z00_3381%BgL_arg2039z00_3382); } 
{ /* Llib/weakhash.scm 474 */
 long BgL_arg2142z00_3387;
BgL_arg2142z00_3387 = 
(long)(BgL_arg2037z00_3380); 
BgL_bucketzd2numzd2_1711 = 
(long)(BgL_arg2142z00_3387); } }  else 
{ /* Llib/weakhash.scm 474 */
BgL_bucketzd2numzd2_1711 = 
(BgL_n1z00_3376%BgL_n2z00_3377); } } } } 
{ /* Llib/weakhash.scm 474 */
 obj_t BgL_bucketz00_1712;
{ /* Llib/weakhash.scm 475 */
 obj_t BgL_vectorz00_3389;
if(
VECTORP(BgL_bucketsz00_1709))
{ /* Llib/weakhash.scm 475 */
BgL_vectorz00_3389 = BgL_bucketsz00_1709; }  else 
{ 
 obj_t BgL_auxz00_9262;
BgL_auxz00_9262 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(19049L), BGl_string3553z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_bucketsz00_1709); 
FAILURE(BgL_auxz00_9262,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 475 */
 bool_t BgL_test4244z00_9266;
{ /* Llib/weakhash.scm 475 */
 long BgL_tmpz00_9267;
BgL_tmpz00_9267 = 
VECTOR_LENGTH(BgL_vectorz00_3389); 
BgL_test4244z00_9266 = 
BOUND_CHECK(BgL_bucketzd2numzd2_1711, BgL_tmpz00_9267); } 
if(BgL_test4244z00_9266)
{ /* Llib/weakhash.scm 475 */
BgL_bucketz00_1712 = 
VECTOR_REF(BgL_vectorz00_3389,BgL_bucketzd2numzd2_1711); }  else 
{ 
 obj_t BgL_auxz00_9271;
BgL_auxz00_9271 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(19037L), BGl_string3459z00zz__weakhashz00, BgL_vectorz00_3389, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_3389)), 
(int)(BgL_bucketzd2numzd2_1711)); 
FAILURE(BgL_auxz00_9271,BFALSE,BFALSE);} } } 
{ /* Llib/weakhash.scm 475 */
 obj_t BgL_maxzd2bucketzd2lenz00_1713;
{ /* Llib/weakhash.scm 476 */
 bool_t BgL_test4245z00_9278;
{ /* Llib/weakhash.scm 476 */
 obj_t BgL_tmpz00_9279;
{ /* Llib/weakhash.scm 476 */
 obj_t BgL_res2278z00_3394;
{ /* Llib/weakhash.scm 476 */
 obj_t BgL_aux3068z00_5356;
BgL_aux3068z00_5356 = 
STRUCT_KEY(BgL_tablez00_86); 
if(
SYMBOLP(BgL_aux3068z00_5356))
{ /* Llib/weakhash.scm 476 */
BgL_res2278z00_3394 = BgL_aux3068z00_5356; }  else 
{ 
 obj_t BgL_auxz00_9283;
BgL_auxz00_9283 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(19089L), BGl_string3553z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3068z00_5356); 
FAILURE(BgL_auxz00_9283,BFALSE,BFALSE);} } 
BgL_tmpz00_9279 = BgL_res2278z00_3394; } 
BgL_test4245z00_9278 = 
(BgL_tmpz00_9279==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4245z00_9278)
{ /* Llib/weakhash.scm 476 */
 int BgL_tmpz00_9288;
BgL_tmpz00_9288 = 
(int)(1L); 
BgL_maxzd2bucketzd2lenz00_1713 = 
UNSAFE_STRUCT_REF(BgL_tablez00_86, BgL_tmpz00_9288); }  else 
{ /* Llib/weakhash.scm 476 */
BgL_maxzd2bucketzd2lenz00_1713 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_86); } } 
{ /* Llib/weakhash.scm 476 */
 obj_t BgL_countz00_4578;
BgL_countz00_4578 = 
BGL_MAKE_UNSAFE_CELL(
BINT(0L)); 
{ /* Llib/weakhash.scm 477 */
 obj_t BgL_foundz00_1715;
{ /* Llib/weakhash.scm 482 */
 obj_t BgL_zc3z04anonymousza31598ze3z87_4568;
{ 
 int BgL_tmpz00_9293;
BgL_tmpz00_9293 = 
(int)(4L); 
BgL_zc3z04anonymousza31598ze3z87_4568 = 
MAKE_L_PROCEDURE(BGl_z62zc3z04anonymousza31598ze3ze5zz__weakhashz00, BgL_tmpz00_9293); } 
PROCEDURE_L_SET(BgL_zc3z04anonymousza31598ze3z87_4568, 
(int)(0L), 
((obj_t)BgL_countz00_4578)); 
PROCEDURE_L_SET(BgL_zc3z04anonymousza31598ze3z87_4568, 
(int)(1L), BgL_objz00_88); 
PROCEDURE_L_SET(BgL_zc3z04anonymousza31598ze3z87_4568, 
(int)(2L), BgL_tablez00_86); 
PROCEDURE_L_SET(BgL_zc3z04anonymousza31598ze3z87_4568, 
(int)(3L), BgL_keyz00_87); 
BgL_foundz00_1715 = 
BGl_traversezd2bucketszd2zz__weakhashz00(BgL_tablez00_86, BgL_bucketsz00_1709, BgL_bucketzd2numzd2_1711, BgL_zc3z04anonymousza31598ze3z87_4568); } 
{ /* Llib/weakhash.scm 479 */

if(
(BgL_foundz00_1715==BGl_keepgoingz00zz__weakhashz00))
{ /* Llib/weakhash.scm 493 */
{ /* Llib/weakhash.scm 496 */
 long BgL_arg1581z00_1716;
{ /* Llib/weakhash.scm 496 */
 obj_t BgL_arg1582z00_1717;
{ /* Llib/weakhash.scm 496 */
 bool_t BgL_test4248z00_9308;
{ /* Llib/weakhash.scm 496 */
 obj_t BgL_tmpz00_9309;
{ /* Llib/weakhash.scm 496 */
 obj_t BgL_res2280z00_3420;
{ /* Llib/weakhash.scm 496 */
 obj_t BgL_aux3070z00_5358;
BgL_aux3070z00_5358 = 
STRUCT_KEY(BgL_tablez00_86); 
if(
SYMBOLP(BgL_aux3070z00_5358))
{ /* Llib/weakhash.scm 496 */
BgL_res2280z00_3420 = BgL_aux3070z00_5358; }  else 
{ 
 obj_t BgL_auxz00_9313;
BgL_auxz00_9313 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(19678L), BGl_string3553z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3070z00_5358); 
FAILURE(BgL_auxz00_9313,BFALSE,BFALSE);} } 
BgL_tmpz00_9309 = BgL_res2280z00_3420; } 
BgL_test4248z00_9308 = 
(BgL_tmpz00_9309==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4248z00_9308)
{ /* Llib/weakhash.scm 496 */
 int BgL_tmpz00_9318;
BgL_tmpz00_9318 = 
(int)(0L); 
BgL_arg1582z00_1717 = 
UNSAFE_STRUCT_REF(BgL_tablez00_86, BgL_tmpz00_9318); }  else 
{ /* Llib/weakhash.scm 496 */
BgL_arg1582z00_1717 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_86); } } 
{ /* Llib/weakhash.scm 496 */
 long BgL_za71za7_3421;
{ /* Llib/weakhash.scm 496 */
 obj_t BgL_tmpz00_9322;
if(
INTEGERP(BgL_arg1582z00_1717))
{ /* Llib/weakhash.scm 496 */
BgL_tmpz00_9322 = BgL_arg1582z00_1717
; }  else 
{ 
 obj_t BgL_auxz00_9325;
BgL_auxz00_9325 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(19700L), BGl_string3553z00zz__weakhashz00, BGl_string3453z00zz__weakhashz00, BgL_arg1582z00_1717); 
FAILURE(BgL_auxz00_9325,BFALSE,BFALSE);} 
BgL_za71za7_3421 = 
(long)CINT(BgL_tmpz00_9322); } 
BgL_arg1581z00_1716 = 
(BgL_za71za7_3421+1L); } } 
{ /* Llib/weakhash.scm 496 */
 bool_t BgL_test4251z00_9331;
{ /* Llib/weakhash.scm 496 */
 obj_t BgL_tmpz00_9332;
{ /* Llib/weakhash.scm 496 */
 obj_t BgL_res2281z00_3425;
{ /* Llib/weakhash.scm 496 */
 obj_t BgL_aux3073z00_5361;
BgL_aux3073z00_5361 = 
STRUCT_KEY(BgL_tablez00_86); 
if(
SYMBOLP(BgL_aux3073z00_5361))
{ /* Llib/weakhash.scm 496 */
BgL_res2281z00_3425 = BgL_aux3073z00_5361; }  else 
{ 
 obj_t BgL_auxz00_9336;
BgL_auxz00_9336 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(19645L), BGl_string3553z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3073z00_5361); 
FAILURE(BgL_auxz00_9336,BFALSE,BFALSE);} } 
BgL_tmpz00_9332 = BgL_res2281z00_3425; } 
BgL_test4251z00_9331 = 
(BgL_tmpz00_9332==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4251z00_9331)
{ /* Llib/weakhash.scm 496 */
 obj_t BgL_auxz00_9343; int BgL_tmpz00_9341;
BgL_auxz00_9343 = 
BINT(BgL_arg1581z00_1716); 
BgL_tmpz00_9341 = 
(int)(0L); 
UNSAFE_STRUCT_SET(BgL_tablez00_86, BgL_tmpz00_9341, BgL_auxz00_9343); }  else 
{ /* Llib/weakhash.scm 496 */
BGl_errorz00zz__errorz00(BGl_string3463z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_86); } } } 
{ /* Llib/weakhash.scm 498 */
 obj_t BgL_arg1584z00_1718;
{ /* Llib/weakhash.scm 498 */
 obj_t BgL_arg1586z00_1719; obj_t BgL_arg1587z00_1720;
{ /* Llib/weakhash.scm 498 */
 obj_t BgL_arg1588z00_1721; obj_t BgL_arg1592z00_1722;
if(
BGl_hashtablezd2weakzd2keyszf3zf3zz__hashz00(BgL_tablez00_86))
{ /* Llib/weakhash.scm 499 */

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

BgL_arg1592z00_1722 = 
bgl_make_weakptr(BgL_objz00_88, BFALSE); }  else 
{ /* Llib/weakhash.scm 501 */
BgL_arg1592z00_1722 = BgL_objz00_88; } 
BgL_arg1586z00_1719 = 
MAKE_YOUNG_PAIR(BgL_arg1588z00_1721, BgL_arg1592z00_1722); } 
{ /* Llib/weakhash.scm 506 */
 obj_t BgL_arg1595z00_1729;
{ /* Llib/weakhash.scm 506 */
 bool_t BgL_test4255z00_9354;
{ /* Llib/weakhash.scm 506 */
 obj_t BgL_tmpz00_9355;
{ /* Llib/weakhash.scm 506 */
 obj_t BgL_res2282z00_3429;
{ /* Llib/weakhash.scm 506 */
 obj_t BgL_aux3075z00_5363;
BgL_aux3075z00_5363 = 
STRUCT_KEY(BgL_tablez00_86); 
if(
SYMBOLP(BgL_aux3075z00_5363))
{ /* Llib/weakhash.scm 506 */
BgL_res2282z00_3429 = BgL_aux3075z00_5363; }  else 
{ 
 obj_t BgL_auxz00_9359;
BgL_auxz00_9359 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(19999L), BGl_string3553z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3075z00_5363); 
FAILURE(BgL_auxz00_9359,BFALSE,BFALSE);} } 
BgL_tmpz00_9355 = BgL_res2282z00_3429; } 
BgL_test4255z00_9354 = 
(BgL_tmpz00_9355==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4255z00_9354)
{ /* Llib/weakhash.scm 506 */
 int BgL_tmpz00_9364;
BgL_tmpz00_9364 = 
(int)(2L); 
BgL_arg1595z00_1729 = 
UNSAFE_STRUCT_REF(BgL_tablez00_86, BgL_tmpz00_9364); }  else 
{ /* Llib/weakhash.scm 506 */
BgL_arg1595z00_1729 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_86); } } 
{ /* Llib/weakhash.scm 506 */
 obj_t BgL_vectorz00_3430;
if(
VECTORP(BgL_arg1595z00_1729))
{ /* Llib/weakhash.scm 506 */
BgL_vectorz00_3430 = BgL_arg1595z00_1729; }  else 
{ 
 obj_t BgL_auxz00_9370;
BgL_auxz00_9370 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(20024L), BGl_string3553z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_arg1595z00_1729); 
FAILURE(BgL_auxz00_9370,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 506 */
 bool_t BgL_test4258z00_9374;
{ /* Llib/weakhash.scm 506 */
 long BgL_tmpz00_9375;
BgL_tmpz00_9375 = 
VECTOR_LENGTH(BgL_vectorz00_3430); 
BgL_test4258z00_9374 = 
BOUND_CHECK(BgL_bucketzd2numzd2_1711, BgL_tmpz00_9375); } 
if(BgL_test4258z00_9374)
{ /* Llib/weakhash.scm 506 */
BgL_arg1587z00_1720 = 
VECTOR_REF(BgL_vectorz00_3430,BgL_bucketzd2numzd2_1711); }  else 
{ 
 obj_t BgL_auxz00_9379;
BgL_auxz00_9379 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(19987L), BGl_string3459z00zz__weakhashz00, BgL_vectorz00_3430, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_3430)), 
(int)(BgL_bucketzd2numzd2_1711)); 
FAILURE(BgL_auxz00_9379,BFALSE,BFALSE);} } } } 
BgL_arg1584z00_1718 = 
MAKE_YOUNG_PAIR(BgL_arg1586z00_1719, BgL_arg1587z00_1720); } 
{ /* Llib/weakhash.scm 497 */
 obj_t BgL_vectorz00_3432;
if(
VECTORP(BgL_bucketsz00_1709))
{ /* Llib/weakhash.scm 497 */
BgL_vectorz00_3432 = BgL_bucketsz00_1709; }  else 
{ 
 obj_t BgL_auxz00_9389;
BgL_auxz00_9389 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(19725L), BGl_string3553z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_bucketsz00_1709); 
FAILURE(BgL_auxz00_9389,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 497 */
 bool_t BgL_test4260z00_9393;
{ /* Llib/weakhash.scm 497 */
 long BgL_tmpz00_9394;
BgL_tmpz00_9394 = 
VECTOR_LENGTH(BgL_vectorz00_3432); 
BgL_test4260z00_9393 = 
BOUND_CHECK(BgL_bucketzd2numzd2_1711, BgL_tmpz00_9394); } 
if(BgL_test4260z00_9393)
{ /* Llib/weakhash.scm 497 */
VECTOR_SET(BgL_vectorz00_3432,BgL_bucketzd2numzd2_1711,BgL_arg1584z00_1718); }  else 
{ 
 obj_t BgL_auxz00_9398;
BgL_auxz00_9398 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(19712L), BGl_string3464z00zz__weakhashz00, BgL_vectorz00_3432, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_3432)), 
(int)(BgL_bucketzd2numzd2_1711)); 
FAILURE(BgL_auxz00_9398,BFALSE,BFALSE);} } } } 
{ /* Llib/weakhash.scm 508 */
 bool_t BgL_test4261z00_9405;
{ /* Llib/weakhash.scm 508 */
 long BgL_n1z00_3434; long BgL_n2z00_3435;
{ /* Llib/weakhash.scm 508 */
 obj_t BgL_tmpz00_9406;
{ /* Llib/weakhash.scm 508 */
 obj_t BgL_aux3081z00_5369;
BgL_aux3081z00_5369 = 
BGL_UNSAFE_CELL_REF(BgL_countz00_4578); 
if(
INTEGERP(BgL_aux3081z00_5369))
{ /* Llib/weakhash.scm 508 */
BgL_tmpz00_9406 = BgL_aux3081z00_5369
; }  else 
{ 
 obj_t BgL_auxz00_9409;
BgL_auxz00_9409 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(20065L), BGl_string3553z00zz__weakhashz00, BGl_string3453z00zz__weakhashz00, BgL_aux3081z00_5369); 
FAILURE(BgL_auxz00_9409,BFALSE,BFALSE);} } 
BgL_n1z00_3434 = 
(long)CINT(BgL_tmpz00_9406); } 
{ /* Llib/weakhash.scm 508 */
 obj_t BgL_tmpz00_9414;
if(
INTEGERP(BgL_maxzd2bucketzd2lenz00_1713))
{ /* Llib/weakhash.scm 508 */
BgL_tmpz00_9414 = BgL_maxzd2bucketzd2lenz00_1713
; }  else 
{ 
 obj_t BgL_auxz00_9417;
BgL_auxz00_9417 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(20071L), BGl_string3553z00zz__weakhashz00, BGl_string3453z00zz__weakhashz00, BgL_maxzd2bucketzd2lenz00_1713); 
FAILURE(BgL_auxz00_9417,BFALSE,BFALSE);} 
BgL_n2z00_3435 = 
(long)CINT(BgL_tmpz00_9414); } 
BgL_test4261z00_9405 = 
(BgL_n1z00_3434>BgL_n2z00_3435); } 
if(BgL_test4261z00_9405)
{ /* 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_1715;} } } } } } } } } } 

}



/* &<@anonymous:1598> */
obj_t BGl_z62zc3z04anonymousza31598ze3ze5zz__weakhashz00(obj_t BgL_envz00_4569, obj_t BgL_bkeyz00_4574, obj_t BgL_valz00_4575, obj_t BgL_bucketz00_4576)
{
{ /* Llib/weakhash.scm 481 */
{ /* Llib/weakhash.scm 482 */
 obj_t BgL_countz00_4570; obj_t BgL_objz00_4571; obj_t BgL_tablez00_4572; obj_t BgL_keyz00_4573;
BgL_countz00_4570 = 
PROCEDURE_L_REF(BgL_envz00_4569, 
(int)(0L)); 
BgL_objz00_4571 = 
PROCEDURE_L_REF(BgL_envz00_4569, 
(int)(1L)); 
BgL_tablez00_4572 = 
((obj_t)
PROCEDURE_L_REF(BgL_envz00_4569, 
(int)(2L))); 
BgL_keyz00_4573 = 
PROCEDURE_L_REF(BgL_envz00_4569, 
(int)(3L)); 
{ /* Llib/weakhash.scm 482 */
 obj_t BgL_auxz00_5808;
{ /* Llib/weakhash.scm 482 */
 obj_t BgL_tmpz00_9436;
{ /* Llib/weakhash.scm 482 */
 obj_t BgL_aux3083z00_5809;
BgL_aux3083z00_5809 = 
BGL_UNSAFE_CELL_REF(BgL_countz00_4570); 
if(
INTEGERP(BgL_aux3083z00_5809))
{ /* Llib/weakhash.scm 482 */
BgL_tmpz00_9436 = BgL_aux3083z00_5809
; }  else 
{ 
 obj_t BgL_auxz00_9439;
BgL_auxz00_9439 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(19302L), BGl_string3554z00zz__weakhashz00, BGl_string3453z00zz__weakhashz00, BgL_aux3083z00_5809); 
FAILURE(BgL_auxz00_9439,BFALSE,BFALSE);} } 
BgL_auxz00_5808 = 
ADDFX(BgL_tmpz00_9436, 
BINT(1L)); } 
BGL_UNSAFE_CELL_SET(BgL_countz00_4570, BgL_auxz00_5808); } 
{ /* Llib/weakhash.scm 483 */
 bool_t BgL_test4266z00_9445;
{ /* Llib/weakhash.scm 483 */
 obj_t BgL_eqtz00_5810;
{ /* Llib/weakhash.scm 483 */
 bool_t BgL_test4267z00_9446;
{ /* Llib/weakhash.scm 483 */
 obj_t BgL_tmpz00_9447;
{ /* Llib/weakhash.scm 483 */
 obj_t BgL_res2279z00_5811;
{ /* Llib/weakhash.scm 483 */
 obj_t BgL_aux3084z00_5812;
BgL_aux3084z00_5812 = 
STRUCT_KEY(BgL_tablez00_4572); 
if(
SYMBOLP(BgL_aux3084z00_5812))
{ /* Llib/weakhash.scm 483 */
BgL_res2279z00_5811 = BgL_aux3084z00_5812; }  else 
{ 
 obj_t BgL_auxz00_9451;
BgL_auxz00_9451 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(19325L), BGl_string3554z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3084z00_5812); 
FAILURE(BgL_auxz00_9451,BFALSE,BFALSE);} } 
BgL_tmpz00_9447 = BgL_res2279z00_5811; } 
BgL_test4267z00_9446 = 
(BgL_tmpz00_9447==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4267z00_9446)
{ /* Llib/weakhash.scm 483 */
 int BgL_tmpz00_9456;
BgL_tmpz00_9456 = 
(int)(3L); 
BgL_eqtz00_5810 = 
UNSAFE_STRUCT_REF(BgL_tablez00_4572, BgL_tmpz00_9456); }  else 
{ /* Llib/weakhash.scm 483 */
BgL_eqtz00_5810 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_4572); } } 
if(
PROCEDUREP(BgL_eqtz00_5810))
{ /* Llib/weakhash.scm 483 */
if(
PROCEDURE_CORRECT_ARITYP(BgL_eqtz00_5810, 2))
{ /* Llib/weakhash.scm 483 */
BgL_test4266z00_9445 = 
CBOOL(
BGL_PROCEDURE_CALL2(BgL_eqtz00_5810, BgL_bkeyz00_4574, BgL_keyz00_4573))
; }  else 
{ /* Llib/weakhash.scm 483 */
FAILURE(BGl_string3555z00zz__weakhashz00,BGl_list3556z00zz__weakhashz00,BgL_eqtz00_5810);} }  else 
{ /* Llib/weakhash.scm 483 */
if(
(BgL_bkeyz00_4574==BgL_keyz00_4573))
{ /* Llib/weakhash.scm 483 */
BgL_test4266z00_9445 = ((bool_t)1)
; }  else 
{ /* Llib/weakhash.scm 483 */
if(
STRINGP(BgL_bkeyz00_4574))
{ /* Llib/weakhash.scm 483 */
if(
STRINGP(BgL_keyz00_4573))
{ /* Llib/weakhash.scm 483 */
 long BgL_l1z00_5813;
BgL_l1z00_5813 = 
STRING_LENGTH(BgL_bkeyz00_4574); 
if(
(BgL_l1z00_5813==
STRING_LENGTH(BgL_keyz00_4573)))
{ /* Llib/weakhash.scm 483 */
 int BgL_arg1924z00_5814;
{ /* Llib/weakhash.scm 483 */
 char * BgL_auxz00_9483; char * BgL_tmpz00_9481;
BgL_auxz00_9483 = 
BSTRING_TO_STRING(BgL_keyz00_4573); 
BgL_tmpz00_9481 = 
BSTRING_TO_STRING(BgL_bkeyz00_4574); 
BgL_arg1924z00_5814 = 
memcmp(BgL_tmpz00_9481, BgL_auxz00_9483, BgL_l1z00_5813); } 
BgL_test4266z00_9445 = 
(
(long)(BgL_arg1924z00_5814)==0L); }  else 
{ /* Llib/weakhash.scm 483 */
BgL_test4266z00_9445 = ((bool_t)0)
; } }  else 
{ /* Llib/weakhash.scm 483 */
BgL_test4266z00_9445 = ((bool_t)0)
; } }  else 
{ /* Llib/weakhash.scm 483 */
BgL_test4266z00_9445 = ((bool_t)0)
; } } } } 
if(BgL_test4266z00_9445)
{ /* Llib/weakhash.scm 483 */
{ /* Llib/weakhash.scm 485 */
 obj_t BgL_arg1600z00_5815; obj_t BgL_arg1602z00_5816;
{ /* Llib/weakhash.scm 485 */
 obj_t BgL_pairz00_5817;
if(
PAIRP(BgL_bucketz00_4576))
{ /* Llib/weakhash.scm 485 */
BgL_pairz00_5817 = BgL_bucketz00_4576; }  else 
{ 
 obj_t BgL_auxz00_9490;
BgL_auxz00_9490 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(19396L), BGl_string3554z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_bucketz00_4576); 
FAILURE(BgL_auxz00_9490,BFALSE,BFALSE);} 
BgL_arg1600z00_5815 = 
CAR(BgL_pairz00_5817); } 
if(
BGl_hashtablezd2weakzd2datazf3zf3zz__hashz00(BgL_tablez00_4572))
{ /* Llib/weakhash.scm 487 */

BgL_arg1602z00_5816 = 
bgl_make_weakptr(BgL_objz00_4571, BFALSE); }  else 
{ /* Llib/weakhash.scm 486 */
BgL_arg1602z00_5816 = BgL_objz00_4571; } 
{ /* Llib/weakhash.scm 485 */
 obj_t BgL_pairz00_5818;
if(
PAIRP(BgL_arg1600z00_5815))
{ /* Llib/weakhash.scm 485 */
BgL_pairz00_5818 = BgL_arg1600z00_5815; }  else 
{ 
 obj_t BgL_auxz00_9500;
BgL_auxz00_9500 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(19402L), BGl_string3554z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_arg1600z00_5815); 
FAILURE(BgL_auxz00_9500,BFALSE,BFALSE);} 
SET_CDR(BgL_pairz00_5818, BgL_arg1602z00_5816); } } 
return BgL_valz00_4575;}  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_4580, obj_t BgL_tablez00_4581, obj_t BgL_keyz00_4582, obj_t BgL_objz00_4583)
{
{ /* Llib/weakhash.scm 515 */
{ /* Llib/weakhash.scm 516 */
 obj_t BgL_auxz00_9509;
if(
STRUCTP(BgL_tablez00_4581))
{ /* Llib/weakhash.scm 516 */
BgL_auxz00_9509 = BgL_tablez00_4581
; }  else 
{ 
 obj_t BgL_auxz00_9512;
BgL_auxz00_9512 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(20423L), BGl_string3557z00zz__weakhashz00, BGl_string3498z00zz__weakhashz00, BgL_tablez00_4581); 
FAILURE(BgL_auxz00_9512,BFALSE,BFALSE);} 
return 
BGl_weakzd2hashtablezd2putz12z12zz__weakhashz00(BgL_auxz00_9509, BgL_keyz00_4582, BgL_objz00_4583);} } 

}



/* 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_1745;
{ /* Llib/weakhash.scm 524 */
 bool_t BgL_test4280z00_9517;
{ /* Llib/weakhash.scm 524 */
 obj_t BgL_tmpz00_9518;
{ /* Llib/weakhash.scm 524 */
 obj_t BgL_res2283z00_3442;
{ /* Llib/weakhash.scm 524 */
 obj_t BgL_aux3093z00_5382;
BgL_aux3093z00_5382 = 
STRUCT_KEY(BgL_tablez00_92); 
if(
SYMBOLP(BgL_aux3093z00_5382))
{ /* Llib/weakhash.scm 524 */
BgL_res2283z00_3442 = BgL_aux3093z00_5382; }  else 
{ 
 obj_t BgL_auxz00_9522;
BgL_auxz00_9522 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(20876L), BGl_string3558z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3093z00_5382); 
FAILURE(BgL_auxz00_9522,BFALSE,BFALSE);} } 
BgL_tmpz00_9518 = BgL_res2283z00_3442; } 
BgL_test4280z00_9517 = 
(BgL_tmpz00_9518==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4280z00_9517)
{ /* Llib/weakhash.scm 524 */
 int BgL_tmpz00_9527;
BgL_tmpz00_9527 = 
(int)(2L); 
BgL_bucketsz00_1745 = 
UNSAFE_STRUCT_REF(BgL_tablez00_92, BgL_tmpz00_9527); }  else 
{ /* Llib/weakhash.scm 524 */
BgL_bucketsz00_1745 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_92); } } 
{ /* Llib/weakhash.scm 524 */
 long BgL_bucketzd2lenzd2_1746;
{ /* Llib/weakhash.scm 525 */
 obj_t BgL_vectorz00_3443;
if(
VECTORP(BgL_bucketsz00_1745))
{ /* Llib/weakhash.scm 525 */
BgL_vectorz00_3443 = BgL_bucketsz00_1745; }  else 
{ 
 obj_t BgL_auxz00_9533;
BgL_auxz00_9533 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(20934L), BGl_string3558z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_bucketsz00_1745); 
FAILURE(BgL_auxz00_9533,BFALSE,BFALSE);} 
BgL_bucketzd2lenzd2_1746 = 
VECTOR_LENGTH(BgL_vectorz00_3443); } 
{ /* Llib/weakhash.scm 525 */
 long BgL_bucketzd2numzd2_1747;
{ /* Llib/weakhash.scm 526 */
 long BgL_arg1632z00_1778;
BgL_arg1632z00_1778 = 
BGl_tablezd2getzd2hashnumberz00zz__weakhashz00(BgL_tablez00_92, BgL_keyz00_93); 
{ /* Llib/weakhash.scm 526 */
 long BgL_n1z00_3444; long BgL_n2z00_3445;
BgL_n1z00_3444 = BgL_arg1632z00_1778; 
BgL_n2z00_3445 = BgL_bucketzd2lenzd2_1746; 
{ /* Llib/weakhash.scm 526 */
 bool_t BgL_test4283z00_9539;
{ /* Llib/weakhash.scm 526 */
 long BgL_arg2041z00_3447;
BgL_arg2041z00_3447 = 
(((BgL_n1z00_3444) | (BgL_n2z00_3445)) & -2147483648); 
BgL_test4283z00_9539 = 
(BgL_arg2041z00_3447==0L); } 
if(BgL_test4283z00_9539)
{ /* Llib/weakhash.scm 526 */
 int32_t BgL_arg2037z00_3448;
{ /* Llib/weakhash.scm 526 */
 int32_t BgL_arg2038z00_3449; int32_t BgL_arg2039z00_3450;
BgL_arg2038z00_3449 = 
(int32_t)(BgL_n1z00_3444); 
BgL_arg2039z00_3450 = 
(int32_t)(BgL_n2z00_3445); 
BgL_arg2037z00_3448 = 
(BgL_arg2038z00_3449%BgL_arg2039z00_3450); } 
{ /* Llib/weakhash.scm 526 */
 long BgL_arg2142z00_3455;
BgL_arg2142z00_3455 = 
(long)(BgL_arg2037z00_3448); 
BgL_bucketzd2numzd2_1747 = 
(long)(BgL_arg2142z00_3455); } }  else 
{ /* Llib/weakhash.scm 526 */
BgL_bucketzd2numzd2_1747 = 
(BgL_n1z00_3444%BgL_n2z00_3445); } } } } 
{ /* Llib/weakhash.scm 526 */
 obj_t BgL_bucketz00_1748;
{ /* Llib/weakhash.scm 527 */
 obj_t BgL_vectorz00_3457;
if(
VECTORP(BgL_bucketsz00_1745))
{ /* Llib/weakhash.scm 527 */
BgL_vectorz00_3457 = BgL_bucketsz00_1745; }  else 
{ 
 obj_t BgL_auxz00_9550;
BgL_auxz00_9550 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(21044L), BGl_string3558z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_bucketsz00_1745); 
FAILURE(BgL_auxz00_9550,BFALSE,BFALSE);} 
BgL_bucketz00_1748 = 
VECTOR_REF(BgL_vectorz00_3457,BgL_bucketzd2numzd2_1747); } 
{ /* Llib/weakhash.scm 527 */
 obj_t BgL_maxzd2bucketzd2lenz00_1749;
{ /* Llib/weakhash.scm 528 */
 bool_t BgL_test4285z00_9555;
{ /* Llib/weakhash.scm 528 */
 obj_t BgL_tmpz00_9556;
{ /* Llib/weakhash.scm 528 */
 obj_t BgL_res2284z00_3462;
{ /* Llib/weakhash.scm 528 */
 obj_t BgL_aux3099z00_5388;
BgL_aux3099z00_5388 = 
STRUCT_KEY(BgL_tablez00_92); 
if(
SYMBOLP(BgL_aux3099z00_5388))
{ /* Llib/weakhash.scm 528 */
BgL_res2284z00_3462 = BgL_aux3099z00_5388; }  else 
{ 
 obj_t BgL_auxz00_9560;
BgL_auxz00_9560 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(21084L), BGl_string3558z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3099z00_5388); 
FAILURE(BgL_auxz00_9560,BFALSE,BFALSE);} } 
BgL_tmpz00_9556 = BgL_res2284z00_3462; } 
BgL_test4285z00_9555 = 
(BgL_tmpz00_9556==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4285z00_9555)
{ /* Llib/weakhash.scm 528 */
 int BgL_tmpz00_9565;
BgL_tmpz00_9565 = 
(int)(1L); 
BgL_maxzd2bucketzd2lenz00_1749 = 
UNSAFE_STRUCT_REF(BgL_tablez00_92, BgL_tmpz00_9565); }  else 
{ /* Llib/weakhash.scm 528 */
BgL_maxzd2bucketzd2lenz00_1749 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_92); } } 
{ /* Llib/weakhash.scm 528 */

if(
NULLP(BgL_bucketz00_1748))
{ /* Llib/weakhash.scm 529 */
{ /* Llib/weakhash.scm 531 */
 long BgL_arg1608z00_1751;
{ /* Llib/weakhash.scm 531 */
 obj_t BgL_arg1609z00_1752;
{ /* Llib/weakhash.scm 531 */
 bool_t BgL_test4288z00_9571;
{ /* Llib/weakhash.scm 531 */
 obj_t BgL_tmpz00_9572;
{ /* Llib/weakhash.scm 531 */
 obj_t BgL_res2285z00_3466;
{ /* Llib/weakhash.scm 531 */
 obj_t BgL_aux3101z00_5390;
BgL_aux3101z00_5390 = 
STRUCT_KEY(BgL_tablez00_92); 
if(
SYMBOLP(BgL_aux3101z00_5390))
{ /* Llib/weakhash.scm 531 */
BgL_res2285z00_3466 = BgL_aux3101z00_5390; }  else 
{ 
 obj_t BgL_auxz00_9576;
BgL_auxz00_9576 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(21194L), BGl_string3558z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3101z00_5390); 
FAILURE(BgL_auxz00_9576,BFALSE,BFALSE);} } 
BgL_tmpz00_9572 = BgL_res2285z00_3466; } 
BgL_test4288z00_9571 = 
(BgL_tmpz00_9572==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4288z00_9571)
{ /* Llib/weakhash.scm 531 */
 int BgL_tmpz00_9581;
BgL_tmpz00_9581 = 
(int)(0L); 
BgL_arg1609z00_1752 = 
UNSAFE_STRUCT_REF(BgL_tablez00_92, BgL_tmpz00_9581); }  else 
{ /* Llib/weakhash.scm 531 */
BgL_arg1609z00_1752 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_92); } } 
{ /* Llib/weakhash.scm 531 */
 long BgL_za71za7_3467;
{ /* Llib/weakhash.scm 531 */
 obj_t BgL_tmpz00_9585;
if(
INTEGERP(BgL_arg1609z00_1752))
{ /* Llib/weakhash.scm 531 */
BgL_tmpz00_9585 = BgL_arg1609z00_1752
; }  else 
{ 
 obj_t BgL_auxz00_9588;
BgL_auxz00_9588 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(21216L), BGl_string3558z00zz__weakhashz00, BGl_string3453z00zz__weakhashz00, BgL_arg1609z00_1752); 
FAILURE(BgL_auxz00_9588,BFALSE,BFALSE);} 
BgL_za71za7_3467 = 
(long)CINT(BgL_tmpz00_9585); } 
BgL_arg1608z00_1751 = 
(BgL_za71za7_3467+1L); } } 
{ /* Llib/weakhash.scm 531 */
 bool_t BgL_test4291z00_9594;
{ /* Llib/weakhash.scm 531 */
 obj_t BgL_tmpz00_9595;
{ /* Llib/weakhash.scm 531 */
 obj_t BgL_res2286z00_3471;
{ /* Llib/weakhash.scm 531 */
 obj_t BgL_aux3104z00_5393;
BgL_aux3104z00_5393 = 
STRUCT_KEY(BgL_tablez00_92); 
if(
SYMBOLP(BgL_aux3104z00_5393))
{ /* Llib/weakhash.scm 531 */
BgL_res2286z00_3471 = BgL_aux3104z00_5393; }  else 
{ 
 obj_t BgL_auxz00_9599;
BgL_auxz00_9599 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(21161L), BGl_string3558z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3104z00_5393); 
FAILURE(BgL_auxz00_9599,BFALSE,BFALSE);} } 
BgL_tmpz00_9595 = BgL_res2286z00_3471; } 
BgL_test4291z00_9594 = 
(BgL_tmpz00_9595==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4291z00_9594)
{ /* Llib/weakhash.scm 531 */
 obj_t BgL_auxz00_9606; int BgL_tmpz00_9604;
BgL_auxz00_9606 = 
BINT(BgL_arg1608z00_1751); 
BgL_tmpz00_9604 = 
(int)(0L); 
UNSAFE_STRUCT_SET(BgL_tablez00_92, BgL_tmpz00_9604, BgL_auxz00_9606); }  else 
{ /* Llib/weakhash.scm 531 */
BGl_errorz00zz__errorz00(BGl_string3463z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_92); } } } 
{ /* Llib/weakhash.scm 532 */
 obj_t BgL_arg1610z00_1753;
{ /* Llib/weakhash.scm 532 */
 obj_t BgL_arg1612z00_1754;
BgL_arg1612z00_1754 = 
MAKE_YOUNG_PAIR(BgL_keyz00_93, BgL_objz00_95); 
{ /* Llib/weakhash.scm 532 */
 obj_t BgL_list1613z00_1755;
BgL_list1613z00_1755 = 
MAKE_YOUNG_PAIR(BgL_arg1612z00_1754, BNIL); 
BgL_arg1610z00_1753 = BgL_list1613z00_1755; } } 
{ /* Llib/weakhash.scm 532 */
 obj_t BgL_vectorz00_3473;
if(
VECTORP(BgL_bucketsz00_1745))
{ /* Llib/weakhash.scm 532 */
BgL_vectorz00_3473 = BgL_bucketsz00_1745; }  else 
{ 
 obj_t BgL_auxz00_9614;
BgL_auxz00_9614 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(21244L), BGl_string3558z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_bucketsz00_1745); 
FAILURE(BgL_auxz00_9614,BFALSE,BFALSE);} 
VECTOR_SET(BgL_vectorz00_3473,BgL_bucketzd2numzd2_1747,BgL_arg1610z00_1753); } } 
return BgL_objz00_95;}  else 
{ 
 obj_t BgL_buckz00_1757; long BgL_countz00_1758;
BgL_buckz00_1757 = BgL_bucketz00_1748; 
BgL_countz00_1758 = 0L; 
BgL_zc3z04anonymousza31614ze3z87_1759:
if(
NULLP(BgL_buckz00_1757))
{ /* Llib/weakhash.scm 537 */
{ /* Llib/weakhash.scm 538 */
 long BgL_arg1616z00_1761;
{ /* Llib/weakhash.scm 538 */
 obj_t BgL_arg1617z00_1762;
{ /* Llib/weakhash.scm 538 */
 bool_t BgL_test4295z00_9621;
{ /* Llib/weakhash.scm 538 */
 obj_t BgL_tmpz00_9622;
{ /* Llib/weakhash.scm 538 */
 obj_t BgL_res2288z00_3478;
{ /* Llib/weakhash.scm 538 */
 obj_t BgL_aux3108z00_5397;
BgL_aux3108z00_5397 = 
STRUCT_KEY(BgL_tablez00_92); 
if(
SYMBOLP(BgL_aux3108z00_5397))
{ /* Llib/weakhash.scm 538 */
BgL_res2288z00_3478 = BgL_aux3108z00_5397; }  else 
{ 
 obj_t BgL_auxz00_9626;
BgL_auxz00_9626 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(21407L), BGl_string3467z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3108z00_5397); 
FAILURE(BgL_auxz00_9626,BFALSE,BFALSE);} } 
BgL_tmpz00_9622 = BgL_res2288z00_3478; } 
BgL_test4295z00_9621 = 
(BgL_tmpz00_9622==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4295z00_9621)
{ /* Llib/weakhash.scm 538 */
 int BgL_tmpz00_9631;
BgL_tmpz00_9631 = 
(int)(0L); 
BgL_arg1617z00_1762 = 
UNSAFE_STRUCT_REF(BgL_tablez00_92, BgL_tmpz00_9631); }  else 
{ /* Llib/weakhash.scm 538 */
BgL_arg1617z00_1762 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_92); } } 
{ /* Llib/weakhash.scm 538 */
 long BgL_za71za7_3479;
{ /* Llib/weakhash.scm 538 */
 obj_t BgL_tmpz00_9635;
if(
INTEGERP(BgL_arg1617z00_1762))
{ /* Llib/weakhash.scm 538 */
BgL_tmpz00_9635 = BgL_arg1617z00_1762
; }  else 
{ 
 obj_t BgL_auxz00_9638;
BgL_auxz00_9638 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(21429L), BGl_string3467z00zz__weakhashz00, BGl_string3453z00zz__weakhashz00, BgL_arg1617z00_1762); 
FAILURE(BgL_auxz00_9638,BFALSE,BFALSE);} 
BgL_za71za7_3479 = 
(long)CINT(BgL_tmpz00_9635); } 
BgL_arg1616z00_1761 = 
(BgL_za71za7_3479+1L); } } 
{ /* Llib/weakhash.scm 538 */
 bool_t BgL_test4298z00_9644;
{ /* Llib/weakhash.scm 538 */
 obj_t BgL_tmpz00_9645;
{ /* Llib/weakhash.scm 538 */
 obj_t BgL_res2289z00_3483;
{ /* Llib/weakhash.scm 538 */
 obj_t BgL_aux3111z00_5400;
BgL_aux3111z00_5400 = 
STRUCT_KEY(BgL_tablez00_92); 
if(
SYMBOLP(BgL_aux3111z00_5400))
{ /* Llib/weakhash.scm 538 */
BgL_res2289z00_3483 = BgL_aux3111z00_5400; }  else 
{ 
 obj_t BgL_auxz00_9649;
BgL_auxz00_9649 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(21374L), BGl_string3467z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3111z00_5400); 
FAILURE(BgL_auxz00_9649,BFALSE,BFALSE);} } 
BgL_tmpz00_9645 = BgL_res2289z00_3483; } 
BgL_test4298z00_9644 = 
(BgL_tmpz00_9645==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4298z00_9644)
{ /* Llib/weakhash.scm 538 */
 obj_t BgL_auxz00_9656; int BgL_tmpz00_9654;
BgL_auxz00_9656 = 
BINT(BgL_arg1616z00_1761); 
BgL_tmpz00_9654 = 
(int)(0L); 
UNSAFE_STRUCT_SET(BgL_tablez00_92, BgL_tmpz00_9654, BgL_auxz00_9656); }  else 
{ /* Llib/weakhash.scm 538 */
BGl_errorz00zz__errorz00(BGl_string3463z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_92); } } } 
{ /* Llib/weakhash.scm 540 */
 obj_t BgL_arg1619z00_1763;
BgL_arg1619z00_1763 = 
MAKE_YOUNG_PAIR(
bgl_make_weakptr(BgL_keyz00_93, BgL_objz00_95), BgL_bucketz00_1748); 
{ /* Llib/weakhash.scm 539 */
 obj_t BgL_vectorz00_3484;
if(
VECTORP(BgL_bucketsz00_1745))
{ /* Llib/weakhash.scm 539 */
BgL_vectorz00_3484 = BgL_bucketsz00_1745; }  else 
{ 
 obj_t BgL_auxz00_9664;
BgL_auxz00_9664 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(21454L), BGl_string3467z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_bucketsz00_1745); 
FAILURE(BgL_auxz00_9664,BFALSE,BFALSE);} 
VECTOR_SET(BgL_vectorz00_3484,BgL_bucketzd2numzd2_1747,BgL_arg1619z00_1763); } } 
{ /* Llib/weakhash.scm 541 */
 bool_t BgL_test4301z00_9669;
{ /* Llib/weakhash.scm 541 */
 long BgL_n2z00_3487;
{ /* Llib/weakhash.scm 541 */
 obj_t BgL_tmpz00_9670;
if(
INTEGERP(BgL_maxzd2bucketzd2lenz00_1749))
{ /* Llib/weakhash.scm 541 */
BgL_tmpz00_9670 = BgL_maxzd2bucketzd2lenz00_1749
; }  else 
{ 
 obj_t BgL_auxz00_9673;
BgL_auxz00_9673 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(21537L), BGl_string3467z00zz__weakhashz00, BGl_string3453z00zz__weakhashz00, BgL_maxzd2bucketzd2lenz00_1749); 
FAILURE(BgL_auxz00_9673,BFALSE,BFALSE);} 
BgL_n2z00_3487 = 
(long)CINT(BgL_tmpz00_9670); } 
BgL_test4301z00_9669 = 
(BgL_countz00_1758>BgL_n2z00_3487); } 
if(BgL_test4301z00_9669)
{ /* 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_test4303z00_9680;
{ /* Llib/weakhash.scm 544 */
 obj_t BgL_arg1630z00_1775;
{ /* Llib/weakhash.scm 544 */
 obj_t BgL_arg1631z00_1776;
{ /* Llib/weakhash.scm 544 */
 obj_t BgL_pairz00_3488;
if(
PAIRP(BgL_buckz00_1757))
{ /* Llib/weakhash.scm 544 */
BgL_pairz00_3488 = BgL_buckz00_1757; }  else 
{ 
 obj_t BgL_auxz00_9683;
BgL_auxz00_9683 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(21650L), BGl_string3467z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_buckz00_1757); 
FAILURE(BgL_auxz00_9683,BFALSE,BFALSE);} 
BgL_arg1631z00_1776 = 
CAR(BgL_pairz00_3488); } 
{ /* Llib/weakhash.scm 544 */
 obj_t BgL_objz00_3489;
if(
BGL_WEAKPTRP(BgL_arg1631z00_1776))
{ /* Llib/weakhash.scm 544 */
BgL_objz00_3489 = BgL_arg1631z00_1776; }  else 
{ 
 obj_t BgL_auxz00_9690;
BgL_auxz00_9690 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(21654L), BGl_string3467z00zz__weakhashz00, BGl_string3462z00zz__weakhashz00, BgL_arg1631z00_1776); 
FAILURE(BgL_auxz00_9690,BFALSE,BFALSE);} 
BgL_arg1630z00_1775 = 
bgl_weakptr_data(BgL_objz00_3489); } } 
{ /* Llib/weakhash.scm 544 */
 obj_t BgL_eqtz00_3490;
{ /* Llib/weakhash.scm 544 */
 bool_t BgL_test4306z00_9695;
{ /* Llib/weakhash.scm 544 */
 obj_t BgL_tmpz00_9696;
{ /* Llib/weakhash.scm 544 */
 obj_t BgL_res2290z00_3497;
{ /* Llib/weakhash.scm 544 */
 obj_t BgL_aux3120z00_5409;
BgL_aux3120z00_5409 = 
STRUCT_KEY(BgL_tablez00_92); 
if(
SYMBOLP(BgL_aux3120z00_5409))
{ /* Llib/weakhash.scm 544 */
BgL_res2290z00_3497 = BgL_aux3120z00_5409; }  else 
{ 
 obj_t BgL_auxz00_9700;
BgL_auxz00_9700 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(21607L), BGl_string3467z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3120z00_5409); 
FAILURE(BgL_auxz00_9700,BFALSE,BFALSE);} } 
BgL_tmpz00_9696 = BgL_res2290z00_3497; } 
BgL_test4306z00_9695 = 
(BgL_tmpz00_9696==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4306z00_9695)
{ /* Llib/weakhash.scm 544 */
 int BgL_tmpz00_9705;
BgL_tmpz00_9705 = 
(int)(3L); 
BgL_eqtz00_3490 = 
UNSAFE_STRUCT_REF(BgL_tablez00_92, BgL_tmpz00_9705); }  else 
{ /* Llib/weakhash.scm 544 */
BgL_eqtz00_3490 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_92); } } 
if(
PROCEDUREP(BgL_eqtz00_3490))
{ /* Llib/weakhash.scm 544 */
if(
PROCEDURE_CORRECT_ARITYP(BgL_eqtz00_3490, 2))
{ /* Llib/weakhash.scm 544 */
BgL_test4303z00_9680 = 
CBOOL(
BGL_PROCEDURE_CALL2(BgL_eqtz00_3490, BgL_arg1630z00_1775, BgL_keyz00_93))
; }  else 
{ /* Llib/weakhash.scm 544 */
FAILURE(BGl_string3528z00zz__weakhashz00,BGl_list3559z00zz__weakhashz00,BgL_eqtz00_3490);} }  else 
{ /* Llib/weakhash.scm 544 */
if(
(BgL_arg1630z00_1775==BgL_keyz00_93))
{ /* Llib/weakhash.scm 544 */
BgL_test4303z00_9680 = ((bool_t)1)
; }  else 
{ /* Llib/weakhash.scm 544 */
if(
STRINGP(BgL_arg1630z00_1775))
{ /* Llib/weakhash.scm 544 */
if(
STRINGP(BgL_keyz00_93))
{ /* Llib/weakhash.scm 544 */
 long BgL_l1z00_3500;
BgL_l1z00_3500 = 
STRING_LENGTH(BgL_arg1630z00_1775); 
if(
(BgL_l1z00_3500==
STRING_LENGTH(BgL_keyz00_93)))
{ /* Llib/weakhash.scm 544 */
 int BgL_arg1924z00_3503;
{ /* Llib/weakhash.scm 544 */
 char * BgL_auxz00_9732; char * BgL_tmpz00_9730;
BgL_auxz00_9732 = 
BSTRING_TO_STRING(BgL_keyz00_93); 
BgL_tmpz00_9730 = 
BSTRING_TO_STRING(BgL_arg1630z00_1775); 
BgL_arg1924z00_3503 = 
memcmp(BgL_tmpz00_9730, BgL_auxz00_9732, BgL_l1z00_3500); } 
BgL_test4303z00_9680 = 
(
(long)(BgL_arg1924z00_3503)==0L); }  else 
{ /* Llib/weakhash.scm 544 */
BgL_test4303z00_9680 = ((bool_t)0)
; } }  else 
{ /* Llib/weakhash.scm 544 */
BgL_test4303z00_9680 = ((bool_t)0)
; } }  else 
{ /* Llib/weakhash.scm 544 */
BgL_test4303z00_9680 = ((bool_t)0)
; } } } } } 
if(BgL_test4303z00_9680)
{ /* Llib/weakhash.scm 545 */
 obj_t BgL_resz00_1769;
{ /* Llib/weakhash.scm 545 */
 obj_t BgL_arg1626z00_1771;
{ /* Llib/weakhash.scm 545 */
 obj_t BgL_arg1627z00_1772;
{ /* Llib/weakhash.scm 545 */
 obj_t BgL_pairz00_3509;
if(
PAIRP(BgL_buckz00_1757))
{ /* Llib/weakhash.scm 545 */
BgL_pairz00_3509 = BgL_buckz00_1757; }  else 
{ 
 obj_t BgL_auxz00_9739;
BgL_auxz00_9739 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(21700L), BGl_string3467z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_buckz00_1757); 
FAILURE(BgL_auxz00_9739,BFALSE,BFALSE);} 
BgL_arg1627z00_1772 = 
CAR(BgL_pairz00_3509); } 
{ /* Llib/weakhash.scm 545 */
 obj_t BgL_objz00_3510;
if(
BGL_WEAKPTRP(BgL_arg1627z00_1772))
{ /* Llib/weakhash.scm 545 */
BgL_objz00_3510 = BgL_arg1627z00_1772; }  else 
{ 
 obj_t BgL_auxz00_9746;
BgL_auxz00_9746 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(21704L), BGl_string3467z00zz__weakhashz00, BGl_string3462z00zz__weakhashz00, BgL_arg1627z00_1772); 
FAILURE(BgL_auxz00_9746,BFALSE,BFALSE);} 
BgL_arg1626z00_1771 = 
bgl_weakptr_ref(BgL_objz00_3510); } } 
if(
PROCEDURE_CORRECT_ARITYP(BgL_procz00_94, 1))
{ /* Llib/weakhash.scm 545 */
BgL_resz00_1769 = 
BGL_PROCEDURE_CALL1(BgL_procz00_94, BgL_arg1626z00_1771); }  else 
{ /* Llib/weakhash.scm 545 */
FAILURE(BGl_string3528z00zz__weakhashz00,BGl_list3562z00zz__weakhashz00,BgL_procz00_94);} } 
{ /* Llib/weakhash.scm 546 */
 obj_t BgL_arg1625z00_1770;
{ /* Llib/weakhash.scm 546 */
 obj_t BgL_pairz00_3511;
if(
PAIRP(BgL_buckz00_1757))
{ /* Llib/weakhash.scm 546 */
BgL_pairz00_3511 = BgL_buckz00_1757; }  else 
{ 
 obj_t BgL_auxz00_9760;
BgL_auxz00_9760 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(21739L), BGl_string3467z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_buckz00_1757); 
FAILURE(BgL_auxz00_9760,BFALSE,BFALSE);} 
BgL_arg1625z00_1770 = 
CAR(BgL_pairz00_3511); } 
{ /* Llib/weakhash.scm 546 */
 obj_t BgL_ptrz00_3512;
if(
BGL_WEAKPTRP(BgL_arg1625z00_1770))
{ /* Llib/weakhash.scm 546 */
BgL_ptrz00_3512 = BgL_arg1625z00_1770; }  else 
{ 
 obj_t BgL_auxz00_9767;
BgL_auxz00_9767 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(21743L), BGl_string3467z00zz__weakhashz00, BGl_string3462z00zz__weakhashz00, BgL_arg1625z00_1770); 
FAILURE(BgL_auxz00_9767,BFALSE,BFALSE);} 
bgl_weakptr_ref_set(BgL_ptrz00_3512, BgL_resz00_1769); BUNSPEC; BUNSPEC; } } 
return BgL_resz00_1769;}  else 
{ /* Llib/weakhash.scm 549 */
 obj_t BgL_arg1628z00_1773; long BgL_arg1629z00_1774;
{ /* Llib/weakhash.scm 549 */
 obj_t BgL_pairz00_3513;
if(
PAIRP(BgL_buckz00_1757))
{ /* Llib/weakhash.scm 549 */
BgL_pairz00_3513 = BgL_buckz00_1757; }  else 
{ 
 obj_t BgL_auxz00_9774;
BgL_auxz00_9774 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(21784L), BGl_string3467z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_buckz00_1757); 
FAILURE(BgL_auxz00_9774,BFALSE,BFALSE);} 
BgL_arg1628z00_1773 = 
CDR(BgL_pairz00_3513); } 
BgL_arg1629z00_1774 = 
(BgL_countz00_1758+1L); 
{ 
 long BgL_countz00_9781; obj_t BgL_buckz00_9780;
BgL_buckz00_9780 = BgL_arg1628z00_1773; 
BgL_countz00_9781 = BgL_arg1629z00_1774; 
BgL_countz00_1758 = BgL_countz00_9781; 
BgL_buckz00_1757 = BgL_buckz00_9780; 
goto BgL_zc3z04anonymousza31614ze3z87_1759;} } } } } } } } } } } 

}



/* 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_1779;
{ /* Llib/weakhash.scm 555 */
 bool_t BgL_test4320z00_9782;
{ /* Llib/weakhash.scm 555 */
 obj_t BgL_tmpz00_9783;
{ /* Llib/weakhash.scm 555 */
 obj_t BgL_res2291z00_3518;
{ /* Llib/weakhash.scm 555 */
 obj_t BgL_aux3134z00_5425;
BgL_aux3134z00_5425 = 
STRUCT_KEY(BgL_tablez00_96); 
if(
SYMBOLP(BgL_aux3134z00_5425))
{ /* Llib/weakhash.scm 555 */
BgL_res2291z00_3518 = BgL_aux3134z00_5425; }  else 
{ 
 obj_t BgL_auxz00_9787;
BgL_auxz00_9787 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(22136L), BGl_string3567z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3134z00_5425); 
FAILURE(BgL_auxz00_9787,BFALSE,BFALSE);} } 
BgL_tmpz00_9783 = BgL_res2291z00_3518; } 
BgL_test4320z00_9782 = 
(BgL_tmpz00_9783==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4320z00_9782)
{ /* Llib/weakhash.scm 555 */
 int BgL_tmpz00_9792;
BgL_tmpz00_9792 = 
(int)(2L); 
BgL_bucketsz00_1779 = 
UNSAFE_STRUCT_REF(BgL_tablez00_96, BgL_tmpz00_9792); }  else 
{ /* Llib/weakhash.scm 555 */
BgL_bucketsz00_1779 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_96); } } 
{ /* Llib/weakhash.scm 555 */
 long BgL_bucketzd2lenzd2_1780;
{ /* Llib/weakhash.scm 556 */
 obj_t BgL_vectorz00_3519;
if(
VECTORP(BgL_bucketsz00_1779))
{ /* Llib/weakhash.scm 556 */
BgL_vectorz00_3519 = BgL_bucketsz00_1779; }  else 
{ 
 obj_t BgL_auxz00_9798;
BgL_auxz00_9798 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(22194L), BGl_string3567z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_bucketsz00_1779); 
FAILURE(BgL_auxz00_9798,BFALSE,BFALSE);} 
BgL_bucketzd2lenzd2_1780 = 
VECTOR_LENGTH(BgL_vectorz00_3519); } 
{ /* Llib/weakhash.scm 556 */
 long BgL_bucketzd2numzd2_1781;
{ /* Llib/weakhash.scm 557 */
 long BgL_arg1653z00_1814;
BgL_arg1653z00_1814 = 
BGl_tablezd2getzd2hashnumberz00zz__weakhashz00(BgL_tablez00_96, BgL_keyz00_97); 
{ /* Llib/weakhash.scm 557 */
 long BgL_n1z00_3520; long BgL_n2z00_3521;
BgL_n1z00_3520 = BgL_arg1653z00_1814; 
BgL_n2z00_3521 = BgL_bucketzd2lenzd2_1780; 
{ /* Llib/weakhash.scm 557 */
 bool_t BgL_test4323z00_9804;
{ /* Llib/weakhash.scm 557 */
 long BgL_arg2041z00_3523;
BgL_arg2041z00_3523 = 
(((BgL_n1z00_3520) | (BgL_n2z00_3521)) & -2147483648); 
BgL_test4323z00_9804 = 
(BgL_arg2041z00_3523==0L); } 
if(BgL_test4323z00_9804)
{ /* Llib/weakhash.scm 557 */
 int32_t BgL_arg2037z00_3524;
{ /* Llib/weakhash.scm 557 */
 int32_t BgL_arg2038z00_3525; int32_t BgL_arg2039z00_3526;
BgL_arg2038z00_3525 = 
(int32_t)(BgL_n1z00_3520); 
BgL_arg2039z00_3526 = 
(int32_t)(BgL_n2z00_3521); 
BgL_arg2037z00_3524 = 
(BgL_arg2038z00_3525%BgL_arg2039z00_3526); } 
{ /* Llib/weakhash.scm 557 */
 long BgL_arg2142z00_3531;
BgL_arg2142z00_3531 = 
(long)(BgL_arg2037z00_3524); 
BgL_bucketzd2numzd2_1781 = 
(long)(BgL_arg2142z00_3531); } }  else 
{ /* Llib/weakhash.scm 557 */
BgL_bucketzd2numzd2_1781 = 
(BgL_n1z00_3520%BgL_n2z00_3521); } } } } 
{ /* Llib/weakhash.scm 557 */
 obj_t BgL_bucketz00_1782;
{ /* Llib/weakhash.scm 558 */
 obj_t BgL_vectorz00_3533;
if(
VECTORP(BgL_bucketsz00_1779))
{ /* Llib/weakhash.scm 558 */
BgL_vectorz00_3533 = BgL_bucketsz00_1779; }  else 
{ 
 obj_t BgL_auxz00_9815;
BgL_auxz00_9815 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(22301L), BGl_string3567z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_bucketsz00_1779); 
FAILURE(BgL_auxz00_9815,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 558 */
 bool_t BgL_test4325z00_9819;
{ /* Llib/weakhash.scm 558 */
 long BgL_tmpz00_9820;
BgL_tmpz00_9820 = 
VECTOR_LENGTH(BgL_vectorz00_3533); 
BgL_test4325z00_9819 = 
BOUND_CHECK(BgL_bucketzd2numzd2_1781, BgL_tmpz00_9820); } 
if(BgL_test4325z00_9819)
{ /* Llib/weakhash.scm 558 */
BgL_bucketz00_1782 = 
VECTOR_REF(BgL_vectorz00_3533,BgL_bucketzd2numzd2_1781); }  else 
{ 
 obj_t BgL_auxz00_9824;
BgL_auxz00_9824 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(22289L), BGl_string3459z00zz__weakhashz00, BgL_vectorz00_3533, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_3533)), 
(int)(BgL_bucketzd2numzd2_1781)); 
FAILURE(BgL_auxz00_9824,BFALSE,BFALSE);} } } 
{ /* Llib/weakhash.scm 558 */
 obj_t BgL_maxzd2bucketzd2lenz00_1783;
{ /* Llib/weakhash.scm 559 */
 bool_t BgL_test4326z00_9831;
{ /* Llib/weakhash.scm 559 */
 obj_t BgL_tmpz00_9832;
{ /* Llib/weakhash.scm 559 */
 obj_t BgL_res2292z00_3538;
{ /* Llib/weakhash.scm 559 */
 obj_t BgL_aux3140z00_5431;
BgL_aux3140z00_5431 = 
STRUCT_KEY(BgL_tablez00_96); 
if(
SYMBOLP(BgL_aux3140z00_5431))
{ /* Llib/weakhash.scm 559 */
BgL_res2292z00_3538 = BgL_aux3140z00_5431; }  else 
{ 
 obj_t BgL_auxz00_9836;
BgL_auxz00_9836 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(22341L), BGl_string3567z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3140z00_5431); 
FAILURE(BgL_auxz00_9836,BFALSE,BFALSE);} } 
BgL_tmpz00_9832 = BgL_res2292z00_3538; } 
BgL_test4326z00_9831 = 
(BgL_tmpz00_9832==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4326z00_9831)
{ /* Llib/weakhash.scm 559 */
 int BgL_tmpz00_9841;
BgL_tmpz00_9841 = 
(int)(1L); 
BgL_maxzd2bucketzd2lenz00_1783 = 
UNSAFE_STRUCT_REF(BgL_tablez00_96, BgL_tmpz00_9841); }  else 
{ /* Llib/weakhash.scm 559 */
BgL_maxzd2bucketzd2lenz00_1783 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_96); } } 
{ /* Llib/weakhash.scm 559 */
 obj_t BgL_countz00_4594;
BgL_countz00_4594 = 
BGL_MAKE_UNSAFE_CELL(
BINT(0L)); 
{ /* Llib/weakhash.scm 560 */
 obj_t BgL_foundz00_1785;
{ /* Llib/weakhash.scm 565 */
 obj_t BgL_zc3z04anonymousza31647ze3z87_4584;
{ 
 int BgL_tmpz00_9846;
BgL_tmpz00_9846 = 
(int)(4L); 
BgL_zc3z04anonymousza31647ze3z87_4584 = 
MAKE_L_PROCEDURE(BGl_z62zc3z04anonymousza31647ze3ze5zz__weakhashz00, BgL_tmpz00_9846); } 
PROCEDURE_L_SET(BgL_zc3z04anonymousza31647ze3z87_4584, 
(int)(0L), 
((obj_t)BgL_countz00_4594)); 
PROCEDURE_L_SET(BgL_zc3z04anonymousza31647ze3z87_4584, 
(int)(1L), BgL_procz00_98); 
PROCEDURE_L_SET(BgL_zc3z04anonymousza31647ze3z87_4584, 
(int)(2L), BgL_tablez00_96); 
PROCEDURE_L_SET(BgL_zc3z04anonymousza31647ze3z87_4584, 
(int)(3L), BgL_keyz00_97); 
BgL_foundz00_1785 = 
BGl_traversezd2bucketszd2zz__weakhashz00(BgL_tablez00_96, BgL_bucketsz00_1779, BgL_bucketzd2numzd2_1781, BgL_zc3z04anonymousza31647ze3z87_4584); } 
{ /* Llib/weakhash.scm 562 */

if(
(BgL_foundz00_1785==BGl_keepgoingz00zz__weakhashz00))
{ /* Llib/weakhash.scm 576 */
{ /* Llib/weakhash.scm 579 */
 long BgL_arg1633z00_1786;
{ /* Llib/weakhash.scm 579 */
 obj_t BgL_arg1634z00_1787;
{ /* Llib/weakhash.scm 579 */
 bool_t BgL_test4329z00_9861;
{ /* Llib/weakhash.scm 579 */
 obj_t BgL_tmpz00_9862;
{ /* Llib/weakhash.scm 579 */
 obj_t BgL_res2294z00_3564;
{ /* Llib/weakhash.scm 579 */
 obj_t BgL_aux3142z00_5433;
BgL_aux3142z00_5433 = 
STRUCT_KEY(BgL_tablez00_96); 
if(
SYMBOLP(BgL_aux3142z00_5433))
{ /* Llib/weakhash.scm 579 */
BgL_res2294z00_3564 = BgL_aux3142z00_5433; }  else 
{ 
 obj_t BgL_auxz00_9866;
BgL_auxz00_9866 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(22959L), BGl_string3567z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3142z00_5433); 
FAILURE(BgL_auxz00_9866,BFALSE,BFALSE);} } 
BgL_tmpz00_9862 = BgL_res2294z00_3564; } 
BgL_test4329z00_9861 = 
(BgL_tmpz00_9862==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4329z00_9861)
{ /* Llib/weakhash.scm 579 */
 int BgL_tmpz00_9871;
BgL_tmpz00_9871 = 
(int)(0L); 
BgL_arg1634z00_1787 = 
UNSAFE_STRUCT_REF(BgL_tablez00_96, BgL_tmpz00_9871); }  else 
{ /* Llib/weakhash.scm 579 */
BgL_arg1634z00_1787 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_96); } } 
{ /* Llib/weakhash.scm 579 */
 long BgL_za71za7_3565;
{ /* Llib/weakhash.scm 579 */
 obj_t BgL_tmpz00_9875;
if(
INTEGERP(BgL_arg1634z00_1787))
{ /* Llib/weakhash.scm 579 */
BgL_tmpz00_9875 = BgL_arg1634z00_1787
; }  else 
{ 
 obj_t BgL_auxz00_9878;
BgL_auxz00_9878 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(22981L), BGl_string3567z00zz__weakhashz00, BGl_string3453z00zz__weakhashz00, BgL_arg1634z00_1787); 
FAILURE(BgL_auxz00_9878,BFALSE,BFALSE);} 
BgL_za71za7_3565 = 
(long)CINT(BgL_tmpz00_9875); } 
BgL_arg1633z00_1786 = 
(BgL_za71za7_3565+1L); } } 
{ /* Llib/weakhash.scm 579 */
 bool_t BgL_test4332z00_9884;
{ /* Llib/weakhash.scm 579 */
 obj_t BgL_tmpz00_9885;
{ /* Llib/weakhash.scm 579 */
 obj_t BgL_res2295z00_3569;
{ /* Llib/weakhash.scm 579 */
 obj_t BgL_aux3145z00_5436;
BgL_aux3145z00_5436 = 
STRUCT_KEY(BgL_tablez00_96); 
if(
SYMBOLP(BgL_aux3145z00_5436))
{ /* Llib/weakhash.scm 579 */
BgL_res2295z00_3569 = BgL_aux3145z00_5436; }  else 
{ 
 obj_t BgL_auxz00_9889;
BgL_auxz00_9889 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(22926L), BGl_string3567z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3145z00_5436); 
FAILURE(BgL_auxz00_9889,BFALSE,BFALSE);} } 
BgL_tmpz00_9885 = BgL_res2295z00_3569; } 
BgL_test4332z00_9884 = 
(BgL_tmpz00_9885==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4332z00_9884)
{ /* Llib/weakhash.scm 579 */
 obj_t BgL_auxz00_9896; int BgL_tmpz00_9894;
BgL_auxz00_9896 = 
BINT(BgL_arg1633z00_1786); 
BgL_tmpz00_9894 = 
(int)(0L); 
UNSAFE_STRUCT_SET(BgL_tablez00_96, BgL_tmpz00_9894, BgL_auxz00_9896); }  else 
{ /* Llib/weakhash.scm 579 */
BGl_errorz00zz__errorz00(BGl_string3463z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_96); } } } 
{ /* Llib/weakhash.scm 581 */
 obj_t BgL_arg1635z00_1788;
{ /* Llib/weakhash.scm 581 */
 obj_t BgL_arg1636z00_1789; obj_t BgL_arg1637z00_1790;
{ /* Llib/weakhash.scm 581 */
 obj_t BgL_arg1639z00_1791; obj_t BgL_arg1641z00_1792;
if(
BGl_hashtablezd2weakzd2keyszf3zf3zz__hashz00(BgL_tablez00_96))
{ /* Llib/weakhash.scm 582 */

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

BgL_arg1641z00_1792 = 
bgl_make_weakptr(BgL_objz00_99, BFALSE); }  else 
{ /* Llib/weakhash.scm 584 */
BgL_arg1641z00_1792 = BgL_objz00_99; } 
BgL_arg1636z00_1789 = 
MAKE_YOUNG_PAIR(BgL_arg1639z00_1791, BgL_arg1641z00_1792); } 
{ /* Llib/weakhash.scm 589 */
 obj_t BgL_arg1644z00_1799;
{ /* Llib/weakhash.scm 589 */
 bool_t BgL_test4336z00_9907;
{ /* Llib/weakhash.scm 589 */
 obj_t BgL_tmpz00_9908;
{ /* Llib/weakhash.scm 589 */
 obj_t BgL_res2296z00_3573;
{ /* Llib/weakhash.scm 589 */
 obj_t BgL_aux3147z00_5438;
BgL_aux3147z00_5438 = 
STRUCT_KEY(BgL_tablez00_96); 
if(
SYMBOLP(BgL_aux3147z00_5438))
{ /* Llib/weakhash.scm 589 */
BgL_res2296z00_3573 = BgL_aux3147z00_5438; }  else 
{ 
 obj_t BgL_auxz00_9912;
BgL_auxz00_9912 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(23280L), BGl_string3567z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3147z00_5438); 
FAILURE(BgL_auxz00_9912,BFALSE,BFALSE);} } 
BgL_tmpz00_9908 = BgL_res2296z00_3573; } 
BgL_test4336z00_9907 = 
(BgL_tmpz00_9908==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4336z00_9907)
{ /* Llib/weakhash.scm 589 */
 int BgL_tmpz00_9917;
BgL_tmpz00_9917 = 
(int)(2L); 
BgL_arg1644z00_1799 = 
UNSAFE_STRUCT_REF(BgL_tablez00_96, BgL_tmpz00_9917); }  else 
{ /* Llib/weakhash.scm 589 */
BgL_arg1644z00_1799 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_96); } } 
{ /* Llib/weakhash.scm 589 */
 obj_t BgL_vectorz00_3574;
if(
VECTORP(BgL_arg1644z00_1799))
{ /* Llib/weakhash.scm 589 */
BgL_vectorz00_3574 = BgL_arg1644z00_1799; }  else 
{ 
 obj_t BgL_auxz00_9923;
BgL_auxz00_9923 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(23305L), BGl_string3567z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_arg1644z00_1799); 
FAILURE(BgL_auxz00_9923,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 589 */
 bool_t BgL_test4339z00_9927;
{ /* Llib/weakhash.scm 589 */
 long BgL_tmpz00_9928;
BgL_tmpz00_9928 = 
VECTOR_LENGTH(BgL_vectorz00_3574); 
BgL_test4339z00_9927 = 
BOUND_CHECK(BgL_bucketzd2numzd2_1781, BgL_tmpz00_9928); } 
if(BgL_test4339z00_9927)
{ /* Llib/weakhash.scm 589 */
BgL_arg1637z00_1790 = 
VECTOR_REF(BgL_vectorz00_3574,BgL_bucketzd2numzd2_1781); }  else 
{ 
 obj_t BgL_auxz00_9932;
BgL_auxz00_9932 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(23268L), BGl_string3459z00zz__weakhashz00, BgL_vectorz00_3574, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_3574)), 
(int)(BgL_bucketzd2numzd2_1781)); 
FAILURE(BgL_auxz00_9932,BFALSE,BFALSE);} } } } 
BgL_arg1635z00_1788 = 
MAKE_YOUNG_PAIR(BgL_arg1636z00_1789, BgL_arg1637z00_1790); } 
{ /* Llib/weakhash.scm 580 */
 obj_t BgL_vectorz00_3576;
if(
VECTORP(BgL_bucketsz00_1779))
{ /* Llib/weakhash.scm 580 */
BgL_vectorz00_3576 = BgL_bucketsz00_1779; }  else 
{ 
 obj_t BgL_auxz00_9942;
BgL_auxz00_9942 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(23006L), BGl_string3567z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_bucketsz00_1779); 
FAILURE(BgL_auxz00_9942,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 580 */
 bool_t BgL_test4341z00_9946;
{ /* Llib/weakhash.scm 580 */
 long BgL_tmpz00_9947;
BgL_tmpz00_9947 = 
VECTOR_LENGTH(BgL_vectorz00_3576); 
BgL_test4341z00_9946 = 
BOUND_CHECK(BgL_bucketzd2numzd2_1781, BgL_tmpz00_9947); } 
if(BgL_test4341z00_9946)
{ /* Llib/weakhash.scm 580 */
VECTOR_SET(BgL_vectorz00_3576,BgL_bucketzd2numzd2_1781,BgL_arg1635z00_1788); }  else 
{ 
 obj_t BgL_auxz00_9951;
BgL_auxz00_9951 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(22993L), BGl_string3464z00zz__weakhashz00, BgL_vectorz00_3576, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_3576)), 
(int)(BgL_bucketzd2numzd2_1781)); 
FAILURE(BgL_auxz00_9951,BFALSE,BFALSE);} } } } 
{ /* Llib/weakhash.scm 591 */
 bool_t BgL_test4342z00_9958;
{ /* Llib/weakhash.scm 591 */
 long BgL_n1z00_3578; long BgL_n2z00_3579;
{ /* Llib/weakhash.scm 591 */
 obj_t BgL_tmpz00_9959;
{ /* Llib/weakhash.scm 591 */
 obj_t BgL_aux3153z00_5444;
BgL_aux3153z00_5444 = 
BGL_UNSAFE_CELL_REF(BgL_countz00_4594); 
if(
INTEGERP(BgL_aux3153z00_5444))
{ /* Llib/weakhash.scm 591 */
BgL_tmpz00_9959 = BgL_aux3153z00_5444
; }  else 
{ 
 obj_t BgL_auxz00_9962;
BgL_auxz00_9962 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(23344L), BGl_string3567z00zz__weakhashz00, BGl_string3453z00zz__weakhashz00, BgL_aux3153z00_5444); 
FAILURE(BgL_auxz00_9962,BFALSE,BFALSE);} } 
BgL_n1z00_3578 = 
(long)CINT(BgL_tmpz00_9959); } 
{ /* Llib/weakhash.scm 591 */
 obj_t BgL_tmpz00_9967;
if(
INTEGERP(BgL_maxzd2bucketzd2lenz00_1783))
{ /* Llib/weakhash.scm 591 */
BgL_tmpz00_9967 = BgL_maxzd2bucketzd2lenz00_1783
; }  else 
{ 
 obj_t BgL_auxz00_9970;
BgL_auxz00_9970 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(23350L), BGl_string3567z00zz__weakhashz00, BGl_string3453z00zz__weakhashz00, BgL_maxzd2bucketzd2lenz00_1783); 
FAILURE(BgL_auxz00_9970,BFALSE,BFALSE);} 
BgL_n2z00_3579 = 
(long)CINT(BgL_tmpz00_9967); } 
BgL_test4342z00_9958 = 
(BgL_n1z00_3578>BgL_n2z00_3579); } 
if(BgL_test4342z00_9958)
{ /* 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_1785;} } } } } } } } } } 

}



/* &<@anonymous:1647> */
obj_t BGl_z62zc3z04anonymousza31647ze3ze5zz__weakhashz00(obj_t BgL_envz00_4585, obj_t BgL_bkeyz00_4590, obj_t BgL_valz00_4591, obj_t BgL_bucketz00_4592)
{
{ /* Llib/weakhash.scm 564 */
{ /* Llib/weakhash.scm 565 */
 obj_t BgL_countz00_4586; obj_t BgL_procz00_4587; obj_t BgL_tablez00_4588; obj_t BgL_keyz00_4589;
BgL_countz00_4586 = 
PROCEDURE_L_REF(BgL_envz00_4585, 
(int)(0L)); 
BgL_procz00_4587 = 
((obj_t)
PROCEDURE_L_REF(BgL_envz00_4585, 
(int)(1L))); 
BgL_tablez00_4588 = 
((obj_t)
PROCEDURE_L_REF(BgL_envz00_4585, 
(int)(2L))); 
BgL_keyz00_4589 = 
PROCEDURE_L_REF(BgL_envz00_4585, 
(int)(3L)); 
{ /* Llib/weakhash.scm 565 */
 obj_t BgL_auxz00_5819;
{ /* Llib/weakhash.scm 565 */
 obj_t BgL_tmpz00_9990;
{ /* Llib/weakhash.scm 565 */
 obj_t BgL_aux3155z00_5820;
BgL_aux3155z00_5820 = 
BGL_UNSAFE_CELL_REF(BgL_countz00_4586); 
if(
INTEGERP(BgL_aux3155z00_5820))
{ /* Llib/weakhash.scm 565 */
BgL_tmpz00_9990 = BgL_aux3155z00_5820
; }  else 
{ 
 obj_t BgL_auxz00_9993;
BgL_auxz00_9993 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(22554L), BGl_string3568z00zz__weakhashz00, BGl_string3453z00zz__weakhashz00, BgL_aux3155z00_5820); 
FAILURE(BgL_auxz00_9993,BFALSE,BFALSE);} } 
BgL_auxz00_5819 = 
ADDFX(BgL_tmpz00_9990, 
BINT(1L)); } 
BGL_UNSAFE_CELL_SET(BgL_countz00_4586, BgL_auxz00_5819); } 
{ /* Llib/weakhash.scm 566 */
 bool_t BgL_test4347z00_9999;
{ /* Llib/weakhash.scm 566 */
 obj_t BgL_eqtz00_5821;
{ /* Llib/weakhash.scm 566 */
 bool_t BgL_test4348z00_10000;
{ /* Llib/weakhash.scm 566 */
 obj_t BgL_tmpz00_10001;
{ /* Llib/weakhash.scm 566 */
 obj_t BgL_res2293z00_5822;
{ /* Llib/weakhash.scm 566 */
 obj_t BgL_aux3156z00_5823;
BgL_aux3156z00_5823 = 
STRUCT_KEY(BgL_tablez00_4588); 
if(
SYMBOLP(BgL_aux3156z00_5823))
{ /* Llib/weakhash.scm 566 */
BgL_res2293z00_5822 = BgL_aux3156z00_5823; }  else 
{ 
 obj_t BgL_auxz00_10005;
BgL_auxz00_10005 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(22577L), BGl_string3568z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3156z00_5823); 
FAILURE(BgL_auxz00_10005,BFALSE,BFALSE);} } 
BgL_tmpz00_10001 = BgL_res2293z00_5822; } 
BgL_test4348z00_10000 = 
(BgL_tmpz00_10001==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4348z00_10000)
{ /* Llib/weakhash.scm 566 */
 int BgL_tmpz00_10010;
BgL_tmpz00_10010 = 
(int)(3L); 
BgL_eqtz00_5821 = 
UNSAFE_STRUCT_REF(BgL_tablez00_4588, BgL_tmpz00_10010); }  else 
{ /* Llib/weakhash.scm 566 */
BgL_eqtz00_5821 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_4588); } } 
if(
PROCEDUREP(BgL_eqtz00_5821))
{ /* Llib/weakhash.scm 566 */
if(
PROCEDURE_CORRECT_ARITYP(BgL_eqtz00_5821, 2))
{ /* Llib/weakhash.scm 566 */
BgL_test4347z00_9999 = 
CBOOL(
BGL_PROCEDURE_CALL2(BgL_eqtz00_5821, BgL_bkeyz00_4590, BgL_keyz00_4589))
; }  else 
{ /* Llib/weakhash.scm 566 */
FAILURE(BGl_string3569z00zz__weakhashz00,BGl_list3556z00zz__weakhashz00,BgL_eqtz00_5821);} }  else 
{ /* Llib/weakhash.scm 566 */
if(
(BgL_bkeyz00_4590==BgL_keyz00_4589))
{ /* Llib/weakhash.scm 566 */
BgL_test4347z00_9999 = ((bool_t)1)
; }  else 
{ /* Llib/weakhash.scm 566 */
if(
STRINGP(BgL_bkeyz00_4590))
{ /* Llib/weakhash.scm 566 */
if(
STRINGP(BgL_keyz00_4589))
{ /* Llib/weakhash.scm 566 */
 long BgL_l1z00_5824;
BgL_l1z00_5824 = 
STRING_LENGTH(BgL_bkeyz00_4590); 
if(
(BgL_l1z00_5824==
STRING_LENGTH(BgL_keyz00_4589)))
{ /* Llib/weakhash.scm 566 */
 int BgL_arg1924z00_5825;
{ /* Llib/weakhash.scm 566 */
 char * BgL_auxz00_10037; char * BgL_tmpz00_10035;
BgL_auxz00_10037 = 
BSTRING_TO_STRING(BgL_keyz00_4589); 
BgL_tmpz00_10035 = 
BSTRING_TO_STRING(BgL_bkeyz00_4590); 
BgL_arg1924z00_5825 = 
memcmp(BgL_tmpz00_10035, BgL_auxz00_10037, BgL_l1z00_5824); } 
BgL_test4347z00_9999 = 
(
(long)(BgL_arg1924z00_5825)==0L); }  else 
{ /* Llib/weakhash.scm 566 */
BgL_test4347z00_9999 = ((bool_t)0)
; } }  else 
{ /* Llib/weakhash.scm 566 */
BgL_test4347z00_9999 = ((bool_t)0)
; } }  else 
{ /* Llib/weakhash.scm 566 */
BgL_test4347z00_9999 = ((bool_t)0)
; } } } } 
if(BgL_test4347z00_9999)
{ /* Llib/weakhash.scm 567 */
 obj_t BgL_newvalz00_5826;
if(
PROCEDURE_CORRECT_ARITYP(BgL_procz00_4587, 1))
{ /* Llib/weakhash.scm 567 */
BgL_newvalz00_5826 = 
BGL_PROCEDURE_CALL1(BgL_procz00_4587, BgL_valz00_4591); }  else 
{ /* Llib/weakhash.scm 567 */
FAILURE(BGl_string3569z00zz__weakhashz00,BGl_list3570z00zz__weakhashz00,BgL_procz00_4587);} 
{ /* Llib/weakhash.scm 568 */
 obj_t BgL_arg1649z00_5827; obj_t BgL_arg1651z00_5828;
{ /* Llib/weakhash.scm 568 */
 obj_t BgL_pairz00_5829;
if(
PAIRP(BgL_bucketz00_4592))
{ /* Llib/weakhash.scm 568 */
BgL_pairz00_5829 = BgL_bucketz00_4592; }  else 
{ 
 obj_t BgL_auxz00_10051;
BgL_auxz00_10051 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(22668L), BGl_string3568z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_bucketz00_4592); 
FAILURE(BgL_auxz00_10051,BFALSE,BFALSE);} 
BgL_arg1649z00_5827 = 
CAR(BgL_pairz00_5829); } 
if(
BGl_hashtablezd2weakzd2datazf3zf3zz__hashz00(BgL_tablez00_4588))
{ /* Llib/weakhash.scm 570 */

BgL_arg1651z00_5828 = 
bgl_make_weakptr(BgL_newvalz00_5826, BFALSE); }  else 
{ /* Llib/weakhash.scm 569 */
BgL_arg1651z00_5828 = BgL_newvalz00_5826; } 
{ /* Llib/weakhash.scm 568 */
 obj_t BgL_pairz00_5830;
if(
PAIRP(BgL_arg1649z00_5827))
{ /* Llib/weakhash.scm 568 */
BgL_pairz00_5830 = BgL_arg1649z00_5827; }  else 
{ 
 obj_t BgL_auxz00_10061;
BgL_auxz00_10061 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(22674L), BGl_string3568z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_arg1649z00_5827); 
FAILURE(BgL_auxz00_10061,BFALSE,BFALSE);} 
SET_CDR(BgL_pairz00_5830, BgL_arg1651z00_5828); } } 
return BgL_newvalz00_5826;}  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_4596, obj_t BgL_tablez00_4597, obj_t BgL_keyz00_4598, obj_t BgL_procz00_4599, obj_t BgL_objz00_4600)
{
{ /* Llib/weakhash.scm 598 */
{ /* Llib/weakhash.scm 599 */
 obj_t BgL_auxz00_10077; obj_t BgL_auxz00_10070;
if(
PROCEDUREP(BgL_procz00_4599))
{ /* Llib/weakhash.scm 599 */
BgL_auxz00_10077 = BgL_procz00_4599
; }  else 
{ 
 obj_t BgL_auxz00_10080;
BgL_auxz00_10080 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(23717L), BGl_string3571z00zz__weakhashz00, BGl_string3469z00zz__weakhashz00, BgL_procz00_4599); 
FAILURE(BgL_auxz00_10080,BFALSE,BFALSE);} 
if(
STRUCTP(BgL_tablez00_4597))
{ /* Llib/weakhash.scm 599 */
BgL_auxz00_10070 = BgL_tablez00_4597
; }  else 
{ 
 obj_t BgL_auxz00_10073;
BgL_auxz00_10073 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(23717L), BGl_string3571z00zz__weakhashz00, BGl_string3498z00zz__weakhashz00, BgL_tablez00_4597); 
FAILURE(BgL_auxz00_10073,BFALSE,BFALSE);} 
return 
BGl_weakzd2hashtablezd2updatez12z12zz__weakhashz00(BgL_auxz00_10070, BgL_keyz00_4598, BgL_auxz00_10077, BgL_objz00_4600);} } 

}



/* 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_1816;
{ /* Llib/weakhash.scm 607 */
 bool_t BgL_test4363z00_10085;
{ /* Llib/weakhash.scm 607 */
 obj_t BgL_tmpz00_10086;
{ /* Llib/weakhash.scm 607 */
 obj_t BgL_res2297z00_3586;
{ /* Llib/weakhash.scm 607 */
 obj_t BgL_aux3168z00_5461;
BgL_aux3168z00_5461 = 
STRUCT_KEY(BgL_tablez00_104); 
if(
SYMBOLP(BgL_aux3168z00_5461))
{ /* Llib/weakhash.scm 607 */
BgL_res2297z00_3586 = BgL_aux3168z00_5461; }  else 
{ 
 obj_t BgL_auxz00_10090;
BgL_auxz00_10090 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(24188L), BGl_string3572z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3168z00_5461); 
FAILURE(BgL_auxz00_10090,BFALSE,BFALSE);} } 
BgL_tmpz00_10086 = BgL_res2297z00_3586; } 
BgL_test4363z00_10085 = 
(BgL_tmpz00_10086==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4363z00_10085)
{ /* Llib/weakhash.scm 607 */
 int BgL_tmpz00_10095;
BgL_tmpz00_10095 = 
(int)(2L); 
BgL_bucketsz00_1816 = 
UNSAFE_STRUCT_REF(BgL_tablez00_104, BgL_tmpz00_10095); }  else 
{ /* Llib/weakhash.scm 607 */
BgL_bucketsz00_1816 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_104); } } 
{ /* Llib/weakhash.scm 607 */
 long BgL_bucketzd2lenzd2_1817;
{ /* Llib/weakhash.scm 608 */
 obj_t BgL_vectorz00_3587;
if(
VECTORP(BgL_bucketsz00_1816))
{ /* Llib/weakhash.scm 608 */
BgL_vectorz00_3587 = BgL_bucketsz00_1816; }  else 
{ 
 obj_t BgL_auxz00_10101;
BgL_auxz00_10101 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(24246L), BGl_string3572z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_bucketsz00_1816); 
FAILURE(BgL_auxz00_10101,BFALSE,BFALSE);} 
BgL_bucketzd2lenzd2_1817 = 
VECTOR_LENGTH(BgL_vectorz00_3587); } 
{ /* Llib/weakhash.scm 608 */
 long BgL_bucketzd2numzd2_1818;
{ /* Llib/weakhash.scm 609 */
 long BgL_arg1697z00_1851;
BgL_arg1697z00_1851 = 
BGl_tablezd2getzd2hashnumberz00zz__weakhashz00(BgL_tablez00_104, BgL_keyz00_105); 
{ /* Llib/weakhash.scm 609 */
 long BgL_n1z00_3588; long BgL_n2z00_3589;
BgL_n1z00_3588 = BgL_arg1697z00_1851; 
BgL_n2z00_3589 = BgL_bucketzd2lenzd2_1817; 
{ /* Llib/weakhash.scm 609 */
 bool_t BgL_test4366z00_10107;
{ /* Llib/weakhash.scm 609 */
 long BgL_arg2041z00_3591;
BgL_arg2041z00_3591 = 
(((BgL_n1z00_3588) | (BgL_n2z00_3589)) & -2147483648); 
BgL_test4366z00_10107 = 
(BgL_arg2041z00_3591==0L); } 
if(BgL_test4366z00_10107)
{ /* Llib/weakhash.scm 609 */
 int32_t BgL_arg2037z00_3592;
{ /* Llib/weakhash.scm 609 */
 int32_t BgL_arg2038z00_3593; int32_t BgL_arg2039z00_3594;
BgL_arg2038z00_3593 = 
(int32_t)(BgL_n1z00_3588); 
BgL_arg2039z00_3594 = 
(int32_t)(BgL_n2z00_3589); 
BgL_arg2037z00_3592 = 
(BgL_arg2038z00_3593%BgL_arg2039z00_3594); } 
{ /* Llib/weakhash.scm 609 */
 long BgL_arg2142z00_3599;
BgL_arg2142z00_3599 = 
(long)(BgL_arg2037z00_3592); 
BgL_bucketzd2numzd2_1818 = 
(long)(BgL_arg2142z00_3599); } }  else 
{ /* Llib/weakhash.scm 609 */
BgL_bucketzd2numzd2_1818 = 
(BgL_n1z00_3588%BgL_n2z00_3589); } } } } 
{ /* Llib/weakhash.scm 609 */
 obj_t BgL_bucketz00_1819;
{ /* Llib/weakhash.scm 610 */
 obj_t BgL_vectorz00_3601;
if(
VECTORP(BgL_bucketsz00_1816))
{ /* Llib/weakhash.scm 610 */
BgL_vectorz00_3601 = BgL_bucketsz00_1816; }  else 
{ 
 obj_t BgL_auxz00_10118;
BgL_auxz00_10118 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(24356L), BGl_string3572z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_bucketsz00_1816); 
FAILURE(BgL_auxz00_10118,BFALSE,BFALSE);} 
BgL_bucketz00_1819 = 
VECTOR_REF(BgL_vectorz00_3601,BgL_bucketzd2numzd2_1818); } 
{ /* Llib/weakhash.scm 610 */
 obj_t BgL_maxzd2bucketzd2lenz00_1820;
{ /* Llib/weakhash.scm 611 */
 bool_t BgL_test4368z00_10123;
{ /* Llib/weakhash.scm 611 */
 obj_t BgL_tmpz00_10124;
{ /* Llib/weakhash.scm 611 */
 obj_t BgL_res2298z00_3606;
{ /* Llib/weakhash.scm 611 */
 obj_t BgL_aux3174z00_5467;
BgL_aux3174z00_5467 = 
STRUCT_KEY(BgL_tablez00_104); 
if(
SYMBOLP(BgL_aux3174z00_5467))
{ /* Llib/weakhash.scm 611 */
BgL_res2298z00_3606 = BgL_aux3174z00_5467; }  else 
{ 
 obj_t BgL_auxz00_10128;
BgL_auxz00_10128 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(24396L), BGl_string3572z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3174z00_5467); 
FAILURE(BgL_auxz00_10128,BFALSE,BFALSE);} } 
BgL_tmpz00_10124 = BgL_res2298z00_3606; } 
BgL_test4368z00_10123 = 
(BgL_tmpz00_10124==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4368z00_10123)
{ /* Llib/weakhash.scm 611 */
 int BgL_tmpz00_10133;
BgL_tmpz00_10133 = 
(int)(1L); 
BgL_maxzd2bucketzd2lenz00_1820 = 
UNSAFE_STRUCT_REF(BgL_tablez00_104, BgL_tmpz00_10133); }  else 
{ /* Llib/weakhash.scm 611 */
BgL_maxzd2bucketzd2lenz00_1820 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_104); } } 
{ /* Llib/weakhash.scm 611 */

if(
NULLP(BgL_bucketz00_1819))
{ /* Llib/weakhash.scm 613 */
 obj_t BgL_vz00_1822;
if(
PROCEDURE_CORRECT_ARITYP(BgL_procz00_106, 2))
{ /* Llib/weakhash.scm 613 */
BgL_vz00_1822 = 
BGL_PROCEDURE_CALL2(BgL_procz00_106, BgL_objz00_107, BgL_initz00_108); }  else 
{ /* Llib/weakhash.scm 613 */
FAILURE(BGl_string3573z00zz__weakhashz00,BGl_list3574z00zz__weakhashz00,BgL_procz00_106);} 
{ /* Llib/weakhash.scm 614 */
 long BgL_arg1658z00_1823;
{ /* Llib/weakhash.scm 614 */
 obj_t BgL_arg1659z00_1824;
{ /* Llib/weakhash.scm 614 */
 bool_t BgL_test4372z00_10147;
{ /* Llib/weakhash.scm 614 */
 obj_t BgL_tmpz00_10148;
{ /* Llib/weakhash.scm 614 */
 obj_t BgL_res2299z00_3610;
{ /* Llib/weakhash.scm 614 */
 obj_t BgL_aux3177z00_5471;
BgL_aux3177z00_5471 = 
STRUCT_KEY(BgL_tablez00_104); 
if(
SYMBOLP(BgL_aux3177z00_5471))
{ /* Llib/weakhash.scm 614 */
BgL_res2299z00_3610 = BgL_aux3177z00_5471; }  else 
{ 
 obj_t BgL_auxz00_10152;
BgL_auxz00_10152 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(24526L), BGl_string3572z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3177z00_5471); 
FAILURE(BgL_auxz00_10152,BFALSE,BFALSE);} } 
BgL_tmpz00_10148 = BgL_res2299z00_3610; } 
BgL_test4372z00_10147 = 
(BgL_tmpz00_10148==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4372z00_10147)
{ /* Llib/weakhash.scm 614 */
 int BgL_tmpz00_10157;
BgL_tmpz00_10157 = 
(int)(0L); 
BgL_arg1659z00_1824 = 
UNSAFE_STRUCT_REF(BgL_tablez00_104, BgL_tmpz00_10157); }  else 
{ /* Llib/weakhash.scm 614 */
BgL_arg1659z00_1824 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_104); } } 
{ /* Llib/weakhash.scm 614 */
 long BgL_za71za7_3611;
{ /* Llib/weakhash.scm 614 */
 obj_t BgL_tmpz00_10161;
if(
INTEGERP(BgL_arg1659z00_1824))
{ /* Llib/weakhash.scm 614 */
BgL_tmpz00_10161 = BgL_arg1659z00_1824
; }  else 
{ 
 obj_t BgL_auxz00_10164;
BgL_auxz00_10164 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(24548L), BGl_string3572z00zz__weakhashz00, BGl_string3453z00zz__weakhashz00, BgL_arg1659z00_1824); 
FAILURE(BgL_auxz00_10164,BFALSE,BFALSE);} 
BgL_za71za7_3611 = 
(long)CINT(BgL_tmpz00_10161); } 
BgL_arg1658z00_1823 = 
(BgL_za71za7_3611+1L); } } 
{ /* Llib/weakhash.scm 614 */
 bool_t BgL_test4375z00_10170;
{ /* Llib/weakhash.scm 614 */
 obj_t BgL_tmpz00_10171;
{ /* Llib/weakhash.scm 614 */
 obj_t BgL_res2300z00_3615;
{ /* Llib/weakhash.scm 614 */
 obj_t BgL_aux3180z00_5474;
BgL_aux3180z00_5474 = 
STRUCT_KEY(BgL_tablez00_104); 
if(
SYMBOLP(BgL_aux3180z00_5474))
{ /* Llib/weakhash.scm 614 */
BgL_res2300z00_3615 = BgL_aux3180z00_5474; }  else 
{ 
 obj_t BgL_auxz00_10175;
BgL_auxz00_10175 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(24493L), BGl_string3572z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3180z00_5474); 
FAILURE(BgL_auxz00_10175,BFALSE,BFALSE);} } 
BgL_tmpz00_10171 = BgL_res2300z00_3615; } 
BgL_test4375z00_10170 = 
(BgL_tmpz00_10171==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4375z00_10170)
{ /* Llib/weakhash.scm 614 */
 obj_t BgL_auxz00_10182; int BgL_tmpz00_10180;
BgL_auxz00_10182 = 
BINT(BgL_arg1658z00_1823); 
BgL_tmpz00_10180 = 
(int)(0L); 
UNSAFE_STRUCT_SET(BgL_tablez00_104, BgL_tmpz00_10180, BgL_auxz00_10182); }  else 
{ /* Llib/weakhash.scm 614 */
BGl_errorz00zz__errorz00(BGl_string3463z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_104); } } } 
{ /* Llib/weakhash.scm 615 */
 obj_t BgL_arg1660z00_1825;
{ /* Llib/weakhash.scm 615 */
 obj_t BgL_arg1662z00_1826;
BgL_arg1662z00_1826 = 
MAKE_YOUNG_PAIR(BgL_keyz00_105, BgL_vz00_1822); 
{ /* Llib/weakhash.scm 615 */
 obj_t BgL_list1663z00_1827;
BgL_list1663z00_1827 = 
MAKE_YOUNG_PAIR(BgL_arg1662z00_1826, BNIL); 
BgL_arg1660z00_1825 = BgL_list1663z00_1827; } } 
{ /* Llib/weakhash.scm 615 */
 obj_t BgL_vectorz00_3617;
if(
VECTORP(BgL_bucketsz00_1816))
{ /* Llib/weakhash.scm 615 */
BgL_vectorz00_3617 = BgL_bucketsz00_1816; }  else 
{ 
 obj_t BgL_auxz00_10190;
BgL_auxz00_10190 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(24576L), BGl_string3572z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_bucketsz00_1816); 
FAILURE(BgL_auxz00_10190,BFALSE,BFALSE);} 
VECTOR_SET(BgL_vectorz00_3617,BgL_bucketzd2numzd2_1818,BgL_arg1660z00_1825); } } 
return BgL_vz00_1822;}  else 
{ 
 obj_t BgL_buckz00_1829; long BgL_countz00_1830;
BgL_buckz00_1829 = BgL_bucketz00_1819; 
BgL_countz00_1830 = 0L; 
BgL_zc3z04anonymousza31664ze3z87_1831:
if(
NULLP(BgL_buckz00_1829))
{ /* Llib/weakhash.scm 621 */
 obj_t BgL_vz00_1833;
if(
PROCEDURE_CORRECT_ARITYP(BgL_procz00_106, 2))
{ /* Llib/weakhash.scm 621 */
BgL_vz00_1833 = 
BGL_PROCEDURE_CALL2(BgL_procz00_106, BgL_objz00_107, BgL_initz00_108); }  else 
{ /* Llib/weakhash.scm 621 */
FAILURE(BGl_string3528z00zz__weakhashz00,BGl_list3574z00zz__weakhashz00,BgL_procz00_106);} 
{ /* Llib/weakhash.scm 622 */
 long BgL_arg1666z00_1834;
{ /* Llib/weakhash.scm 622 */
 obj_t BgL_arg1667z00_1835;
{ /* Llib/weakhash.scm 622 */
 bool_t BgL_test4380z00_10205;
{ /* Llib/weakhash.scm 622 */
 obj_t BgL_tmpz00_10206;
{ /* Llib/weakhash.scm 622 */
 obj_t BgL_res2302z00_3622;
{ /* Llib/weakhash.scm 622 */
 obj_t BgL_aux3185z00_5480;
BgL_aux3185z00_5480 = 
STRUCT_KEY(BgL_tablez00_104); 
if(
SYMBOLP(BgL_aux3185z00_5480))
{ /* Llib/weakhash.scm 622 */
BgL_res2302z00_3622 = BgL_aux3185z00_5480; }  else 
{ 
 obj_t BgL_auxz00_10210;
BgL_auxz00_10210 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(24768L), BGl_string3467z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3185z00_5480); 
FAILURE(BgL_auxz00_10210,BFALSE,BFALSE);} } 
BgL_tmpz00_10206 = BgL_res2302z00_3622; } 
BgL_test4380z00_10205 = 
(BgL_tmpz00_10206==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4380z00_10205)
{ /* Llib/weakhash.scm 622 */
 int BgL_tmpz00_10215;
BgL_tmpz00_10215 = 
(int)(0L); 
BgL_arg1667z00_1835 = 
UNSAFE_STRUCT_REF(BgL_tablez00_104, BgL_tmpz00_10215); }  else 
{ /* Llib/weakhash.scm 622 */
BgL_arg1667z00_1835 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_104); } } 
{ /* Llib/weakhash.scm 622 */
 long BgL_za71za7_3623;
{ /* Llib/weakhash.scm 622 */
 obj_t BgL_tmpz00_10219;
if(
INTEGERP(BgL_arg1667z00_1835))
{ /* Llib/weakhash.scm 622 */
BgL_tmpz00_10219 = BgL_arg1667z00_1835
; }  else 
{ 
 obj_t BgL_auxz00_10222;
BgL_auxz00_10222 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(24790L), BGl_string3467z00zz__weakhashz00, BGl_string3453z00zz__weakhashz00, BgL_arg1667z00_1835); 
FAILURE(BgL_auxz00_10222,BFALSE,BFALSE);} 
BgL_za71za7_3623 = 
(long)CINT(BgL_tmpz00_10219); } 
BgL_arg1666z00_1834 = 
(BgL_za71za7_3623+1L); } } 
{ /* Llib/weakhash.scm 622 */
 bool_t BgL_test4383z00_10228;
{ /* Llib/weakhash.scm 622 */
 obj_t BgL_tmpz00_10229;
{ /* Llib/weakhash.scm 622 */
 obj_t BgL_res2303z00_3627;
{ /* Llib/weakhash.scm 622 */
 obj_t BgL_aux3188z00_5483;
BgL_aux3188z00_5483 = 
STRUCT_KEY(BgL_tablez00_104); 
if(
SYMBOLP(BgL_aux3188z00_5483))
{ /* Llib/weakhash.scm 622 */
BgL_res2303z00_3627 = BgL_aux3188z00_5483; }  else 
{ 
 obj_t BgL_auxz00_10233;
BgL_auxz00_10233 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(24735L), BGl_string3467z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3188z00_5483); 
FAILURE(BgL_auxz00_10233,BFALSE,BFALSE);} } 
BgL_tmpz00_10229 = BgL_res2303z00_3627; } 
BgL_test4383z00_10228 = 
(BgL_tmpz00_10229==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4383z00_10228)
{ /* Llib/weakhash.scm 622 */
 obj_t BgL_auxz00_10240; int BgL_tmpz00_10238;
BgL_auxz00_10240 = 
BINT(BgL_arg1666z00_1834); 
BgL_tmpz00_10238 = 
(int)(0L); 
UNSAFE_STRUCT_SET(BgL_tablez00_104, BgL_tmpz00_10238, BgL_auxz00_10240); }  else 
{ /* Llib/weakhash.scm 622 */
BGl_errorz00zz__errorz00(BGl_string3463z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_104); } } } 
{ /* Llib/weakhash.scm 624 */
 obj_t BgL_arg1671z00_1836;
BgL_arg1671z00_1836 = 
MAKE_YOUNG_PAIR(
bgl_make_weakptr(BgL_keyz00_105, BgL_vz00_1833), BgL_bucketz00_1819); 
{ /* Llib/weakhash.scm 623 */
 obj_t BgL_vectorz00_3628;
if(
VECTORP(BgL_bucketsz00_1816))
{ /* Llib/weakhash.scm 623 */
BgL_vectorz00_3628 = BgL_bucketsz00_1816; }  else 
{ 
 obj_t BgL_auxz00_10248;
BgL_auxz00_10248 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(24818L), BGl_string3467z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_bucketsz00_1816); 
FAILURE(BgL_auxz00_10248,BFALSE,BFALSE);} 
VECTOR_SET(BgL_vectorz00_3628,BgL_bucketzd2numzd2_1818,BgL_arg1671z00_1836); } } 
{ /* Llib/weakhash.scm 625 */
 bool_t BgL_test4386z00_10253;
{ /* Llib/weakhash.scm 625 */
 long BgL_n2z00_3631;
{ /* Llib/weakhash.scm 625 */
 obj_t BgL_tmpz00_10254;
if(
INTEGERP(BgL_maxzd2bucketzd2lenz00_1820))
{ /* Llib/weakhash.scm 625 */
BgL_tmpz00_10254 = BgL_maxzd2bucketzd2lenz00_1820
; }  else 
{ 
 obj_t BgL_auxz00_10257;
BgL_auxz00_10257 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(24905L), BGl_string3467z00zz__weakhashz00, BGl_string3453z00zz__weakhashz00, BgL_maxzd2bucketzd2lenz00_1820); 
FAILURE(BgL_auxz00_10257,BFALSE,BFALSE);} 
BgL_n2z00_3631 = 
(long)CINT(BgL_tmpz00_10254); } 
BgL_test4386z00_10253 = 
(BgL_countz00_1830>BgL_n2z00_3631); } 
if(BgL_test4386z00_10253)
{ /* Llib/weakhash.scm 625 */
BGl_weakzd2keyszd2hashtablezd2expandz12zc0zz__weakhashz00(BgL_tablez00_104); }  else 
{ /* Llib/weakhash.scm 625 */BFALSE; } } 
return BgL_vz00_1833;}  else 
{ /* Llib/weakhash.scm 628 */
 bool_t BgL_test4388z00_10264;
{ /* Llib/weakhash.scm 628 */
 obj_t BgL_arg1691z00_1848;
{ /* Llib/weakhash.scm 628 */
 obj_t BgL_arg1692z00_1849;
{ /* Llib/weakhash.scm 628 */
 obj_t BgL_pairz00_3632;
if(
PAIRP(BgL_buckz00_1829))
{ /* Llib/weakhash.scm 628 */
BgL_pairz00_3632 = BgL_buckz00_1829; }  else 
{ 
 obj_t BgL_auxz00_10267;
BgL_auxz00_10267 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(25023L), BGl_string3467z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_buckz00_1829); 
FAILURE(BgL_auxz00_10267,BFALSE,BFALSE);} 
BgL_arg1692z00_1849 = 
CAR(BgL_pairz00_3632); } 
{ /* Llib/weakhash.scm 628 */
 obj_t BgL_objz00_3633;
if(
BGL_WEAKPTRP(BgL_arg1692z00_1849))
{ /* Llib/weakhash.scm 628 */
BgL_objz00_3633 = BgL_arg1692z00_1849; }  else 
{ 
 obj_t BgL_auxz00_10274;
BgL_auxz00_10274 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(25027L), BGl_string3467z00zz__weakhashz00, BGl_string3462z00zz__weakhashz00, BgL_arg1692z00_1849); 
FAILURE(BgL_auxz00_10274,BFALSE,BFALSE);} 
BgL_arg1691z00_1848 = 
bgl_weakptr_data(BgL_objz00_3633); } } 
{ /* Llib/weakhash.scm 628 */
 obj_t BgL_eqtz00_3634;
{ /* Llib/weakhash.scm 628 */
 bool_t BgL_test4391z00_10279;
{ /* Llib/weakhash.scm 628 */
 obj_t BgL_tmpz00_10280;
{ /* Llib/weakhash.scm 628 */
 obj_t BgL_res2304z00_3641;
{ /* Llib/weakhash.scm 628 */
 obj_t BgL_aux3197z00_5492;
BgL_aux3197z00_5492 = 
STRUCT_KEY(BgL_tablez00_104); 
if(
SYMBOLP(BgL_aux3197z00_5492))
{ /* Llib/weakhash.scm 628 */
BgL_res2304z00_3641 = BgL_aux3197z00_5492; }  else 
{ 
 obj_t BgL_auxz00_10284;
BgL_auxz00_10284 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(24980L), BGl_string3467z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3197z00_5492); 
FAILURE(BgL_auxz00_10284,BFALSE,BFALSE);} } 
BgL_tmpz00_10280 = BgL_res2304z00_3641; } 
BgL_test4391z00_10279 = 
(BgL_tmpz00_10280==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4391z00_10279)
{ /* Llib/weakhash.scm 628 */
 int BgL_tmpz00_10289;
BgL_tmpz00_10289 = 
(int)(3L); 
BgL_eqtz00_3634 = 
UNSAFE_STRUCT_REF(BgL_tablez00_104, BgL_tmpz00_10289); }  else 
{ /* Llib/weakhash.scm 628 */
BgL_eqtz00_3634 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_104); } } 
if(
PROCEDUREP(BgL_eqtz00_3634))
{ /* Llib/weakhash.scm 628 */
if(
PROCEDURE_CORRECT_ARITYP(BgL_eqtz00_3634, 2))
{ /* Llib/weakhash.scm 628 */
BgL_test4388z00_10264 = 
CBOOL(
BGL_PROCEDURE_CALL2(BgL_eqtz00_3634, BgL_arg1691z00_1848, BgL_keyz00_105))
; }  else 
{ /* Llib/weakhash.scm 628 */
FAILURE(BGl_string3528z00zz__weakhashz00,BGl_list3579z00zz__weakhashz00,BgL_eqtz00_3634);} }  else 
{ /* Llib/weakhash.scm 628 */
if(
(BgL_arg1691z00_1848==BgL_keyz00_105))
{ /* Llib/weakhash.scm 628 */
BgL_test4388z00_10264 = ((bool_t)1)
; }  else 
{ /* Llib/weakhash.scm 628 */
if(
STRINGP(BgL_arg1691z00_1848))
{ /* Llib/weakhash.scm 628 */
if(
STRINGP(BgL_keyz00_105))
{ /* Llib/weakhash.scm 628 */
 long BgL_l1z00_3644;
BgL_l1z00_3644 = 
STRING_LENGTH(BgL_arg1691z00_1848); 
if(
(BgL_l1z00_3644==
STRING_LENGTH(BgL_keyz00_105)))
{ /* Llib/weakhash.scm 628 */
 int BgL_arg1924z00_3647;
{ /* Llib/weakhash.scm 628 */
 char * BgL_auxz00_10316; char * BgL_tmpz00_10314;
BgL_auxz00_10316 = 
BSTRING_TO_STRING(BgL_keyz00_105); 
BgL_tmpz00_10314 = 
BSTRING_TO_STRING(BgL_arg1691z00_1848); 
BgL_arg1924z00_3647 = 
memcmp(BgL_tmpz00_10314, BgL_auxz00_10316, BgL_l1z00_3644); } 
BgL_test4388z00_10264 = 
(
(long)(BgL_arg1924z00_3647)==0L); }  else 
{ /* Llib/weakhash.scm 628 */
BgL_test4388z00_10264 = ((bool_t)0)
; } }  else 
{ /* Llib/weakhash.scm 628 */
BgL_test4388z00_10264 = ((bool_t)0)
; } }  else 
{ /* Llib/weakhash.scm 628 */
BgL_test4388z00_10264 = ((bool_t)0)
; } } } } } 
if(BgL_test4388z00_10264)
{ /* Llib/weakhash.scm 629 */
 obj_t BgL_resz00_1842;
{ /* Llib/weakhash.scm 629 */
 obj_t BgL_arg1683z00_1844;
{ /* Llib/weakhash.scm 629 */
 obj_t BgL_arg1687z00_1845;
{ /* Llib/weakhash.scm 629 */
 obj_t BgL_pairz00_3653;
if(
PAIRP(BgL_buckz00_1829))
{ /* Llib/weakhash.scm 629 */
BgL_pairz00_3653 = BgL_buckz00_1829; }  else 
{ 
 obj_t BgL_auxz00_10323;
BgL_auxz00_10323 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(25077L), BGl_string3467z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_buckz00_1829); 
FAILURE(BgL_auxz00_10323,BFALSE,BFALSE);} 
BgL_arg1687z00_1845 = 
CAR(BgL_pairz00_3653); } 
{ /* Llib/weakhash.scm 629 */
 obj_t BgL_objz00_3654;
if(
BGL_WEAKPTRP(BgL_arg1687z00_1845))
{ /* Llib/weakhash.scm 629 */
BgL_objz00_3654 = BgL_arg1687z00_1845; }  else 
{ 
 obj_t BgL_auxz00_10330;
BgL_auxz00_10330 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(25081L), BGl_string3467z00zz__weakhashz00, BGl_string3462z00zz__weakhashz00, BgL_arg1687z00_1845); 
FAILURE(BgL_auxz00_10330,BFALSE,BFALSE);} 
BgL_arg1683z00_1844 = 
bgl_weakptr_ref(BgL_objz00_3654); } } 
if(
PROCEDURE_CORRECT_ARITYP(BgL_procz00_106, 2))
{ /* Llib/weakhash.scm 629 */
BgL_resz00_1842 = 
BGL_PROCEDURE_CALL2(BgL_procz00_106, BgL_objz00_107, BgL_arg1683z00_1844); }  else 
{ /* Llib/weakhash.scm 629 */
FAILURE(BGl_string3528z00zz__weakhashz00,BGl_list3582z00zz__weakhashz00,BgL_procz00_106);} } 
{ /* Llib/weakhash.scm 630 */
 obj_t BgL_arg1681z00_1843;
{ /* Llib/weakhash.scm 630 */
 obj_t BgL_pairz00_3655;
if(
PAIRP(BgL_buckz00_1829))
{ /* Llib/weakhash.scm 630 */
BgL_pairz00_3655 = BgL_buckz00_1829; }  else 
{ 
 obj_t BgL_auxz00_10345;
BgL_auxz00_10345 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(25116L), BGl_string3467z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_buckz00_1829); 
FAILURE(BgL_auxz00_10345,BFALSE,BFALSE);} 
BgL_arg1681z00_1843 = 
CAR(BgL_pairz00_3655); } 
{ /* Llib/weakhash.scm 630 */
 obj_t BgL_ptrz00_3656;
if(
BGL_WEAKPTRP(BgL_arg1681z00_1843))
{ /* Llib/weakhash.scm 630 */
BgL_ptrz00_3656 = BgL_arg1681z00_1843; }  else 
{ 
 obj_t BgL_auxz00_10352;
BgL_auxz00_10352 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(25120L), BGl_string3467z00zz__weakhashz00, BGl_string3462z00zz__weakhashz00, BgL_arg1681z00_1843); 
FAILURE(BgL_auxz00_10352,BFALSE,BFALSE);} 
bgl_weakptr_ref_set(BgL_ptrz00_3656, BgL_resz00_1842); BUNSPEC; BUNSPEC; } } 
return BgL_resz00_1842;}  else 
{ /* Llib/weakhash.scm 633 */
 obj_t BgL_arg1689z00_1846; long BgL_arg1690z00_1847;
{ /* Llib/weakhash.scm 633 */
 obj_t BgL_pairz00_3657;
if(
PAIRP(BgL_buckz00_1829))
{ /* Llib/weakhash.scm 633 */
BgL_pairz00_3657 = BgL_buckz00_1829; }  else 
{ 
 obj_t BgL_auxz00_10359;
BgL_auxz00_10359 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(25161L), BGl_string3467z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_buckz00_1829); 
FAILURE(BgL_auxz00_10359,BFALSE,BFALSE);} 
BgL_arg1689z00_1846 = 
CDR(BgL_pairz00_3657); } 
BgL_arg1690z00_1847 = 
(BgL_countz00_1830+1L); 
{ 
 long BgL_countz00_10366; obj_t BgL_buckz00_10365;
BgL_buckz00_10365 = BgL_arg1689z00_1846; 
BgL_countz00_10366 = BgL_arg1690z00_1847; 
BgL_countz00_1830 = BgL_countz00_10366; 
BgL_buckz00_1829 = BgL_buckz00_10365; 
goto BgL_zc3z04anonymousza31664ze3z87_1831;} } } } } } } } } } } 

}



/* 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_1852;
{ /* Llib/weakhash.scm 639 */
 bool_t BgL_test4405z00_10367;
{ /* Llib/weakhash.scm 639 */
 obj_t BgL_tmpz00_10368;
{ /* Llib/weakhash.scm 639 */
 obj_t BgL_res2305z00_3662;
{ /* Llib/weakhash.scm 639 */
 obj_t BgL_aux3211z00_5508;
BgL_aux3211z00_5508 = 
STRUCT_KEY(BgL_tablez00_109); 
if(
SYMBOLP(BgL_aux3211z00_5508))
{ /* Llib/weakhash.scm 639 */
BgL_res2305z00_3662 = BgL_aux3211z00_5508; }  else 
{ 
 obj_t BgL_auxz00_10372;
BgL_auxz00_10372 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(25515L), BGl_string3585z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3211z00_5508); 
FAILURE(BgL_auxz00_10372,BFALSE,BFALSE);} } 
BgL_tmpz00_10368 = BgL_res2305z00_3662; } 
BgL_test4405z00_10367 = 
(BgL_tmpz00_10368==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4405z00_10367)
{ /* Llib/weakhash.scm 639 */
 int BgL_tmpz00_10377;
BgL_tmpz00_10377 = 
(int)(2L); 
BgL_bucketsz00_1852 = 
UNSAFE_STRUCT_REF(BgL_tablez00_109, BgL_tmpz00_10377); }  else 
{ /* Llib/weakhash.scm 639 */
BgL_bucketsz00_1852 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_109); } } 
{ /* Llib/weakhash.scm 639 */
 long BgL_bucketzd2lenzd2_1853;
{ /* Llib/weakhash.scm 640 */
 obj_t BgL_vectorz00_3663;
if(
VECTORP(BgL_bucketsz00_1852))
{ /* Llib/weakhash.scm 640 */
BgL_vectorz00_3663 = BgL_bucketsz00_1852; }  else 
{ 
 obj_t BgL_auxz00_10383;
BgL_auxz00_10383 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(25573L), BGl_string3585z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_bucketsz00_1852); 
FAILURE(BgL_auxz00_10383,BFALSE,BFALSE);} 
BgL_bucketzd2lenzd2_1853 = 
VECTOR_LENGTH(BgL_vectorz00_3663); } 
{ /* Llib/weakhash.scm 640 */
 long BgL_bucketzd2numzd2_1854;
{ /* Llib/weakhash.scm 641 */
 long BgL_arg1721z00_1891;
BgL_arg1721z00_1891 = 
BGl_tablezd2getzd2hashnumberz00zz__weakhashz00(BgL_tablez00_109, BgL_keyz00_110); 
{ /* Llib/weakhash.scm 641 */
 long BgL_n1z00_3664; long BgL_n2z00_3665;
BgL_n1z00_3664 = BgL_arg1721z00_1891; 
BgL_n2z00_3665 = BgL_bucketzd2lenzd2_1853; 
{ /* Llib/weakhash.scm 641 */
 bool_t BgL_test4408z00_10389;
{ /* Llib/weakhash.scm 641 */
 long BgL_arg2041z00_3667;
BgL_arg2041z00_3667 = 
(((BgL_n1z00_3664) | (BgL_n2z00_3665)) & -2147483648); 
BgL_test4408z00_10389 = 
(BgL_arg2041z00_3667==0L); } 
if(BgL_test4408z00_10389)
{ /* Llib/weakhash.scm 641 */
 int32_t BgL_arg2037z00_3668;
{ /* Llib/weakhash.scm 641 */
 int32_t BgL_arg2038z00_3669; int32_t BgL_arg2039z00_3670;
BgL_arg2038z00_3669 = 
(int32_t)(BgL_n1z00_3664); 
BgL_arg2039z00_3670 = 
(int32_t)(BgL_n2z00_3665); 
BgL_arg2037z00_3668 = 
(BgL_arg2038z00_3669%BgL_arg2039z00_3670); } 
{ /* Llib/weakhash.scm 641 */
 long BgL_arg2142z00_3675;
BgL_arg2142z00_3675 = 
(long)(BgL_arg2037z00_3668); 
BgL_bucketzd2numzd2_1854 = 
(long)(BgL_arg2142z00_3675); } }  else 
{ /* Llib/weakhash.scm 641 */
BgL_bucketzd2numzd2_1854 = 
(BgL_n1z00_3664%BgL_n2z00_3665); } } } } 
{ /* Llib/weakhash.scm 641 */
 obj_t BgL_bucketz00_1855;
{ /* Llib/weakhash.scm 642 */
 obj_t BgL_vectorz00_3677;
if(
VECTORP(BgL_bucketsz00_1852))
{ /* Llib/weakhash.scm 642 */
BgL_vectorz00_3677 = BgL_bucketsz00_1852; }  else 
{ 
 obj_t BgL_auxz00_10400;
BgL_auxz00_10400 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(25680L), BGl_string3585z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_bucketsz00_1852); 
FAILURE(BgL_auxz00_10400,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 642 */
 bool_t BgL_test4410z00_10404;
{ /* Llib/weakhash.scm 642 */
 long BgL_tmpz00_10405;
BgL_tmpz00_10405 = 
VECTOR_LENGTH(BgL_vectorz00_3677); 
BgL_test4410z00_10404 = 
BOUND_CHECK(BgL_bucketzd2numzd2_1854, BgL_tmpz00_10405); } 
if(BgL_test4410z00_10404)
{ /* Llib/weakhash.scm 642 */
BgL_bucketz00_1855 = 
VECTOR_REF(BgL_vectorz00_3677,BgL_bucketzd2numzd2_1854); }  else 
{ 
 obj_t BgL_auxz00_10409;
BgL_auxz00_10409 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(25668L), BGl_string3459z00zz__weakhashz00, BgL_vectorz00_3677, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_3677)), 
(int)(BgL_bucketzd2numzd2_1854)); 
FAILURE(BgL_auxz00_10409,BFALSE,BFALSE);} } } 
{ /* Llib/weakhash.scm 642 */
 obj_t BgL_maxzd2bucketzd2lenz00_1856;
{ /* Llib/weakhash.scm 643 */
 bool_t BgL_test4411z00_10416;
{ /* Llib/weakhash.scm 643 */
 obj_t BgL_tmpz00_10417;
{ /* Llib/weakhash.scm 643 */
 obj_t BgL_res2306z00_3682;
{ /* Llib/weakhash.scm 643 */
 obj_t BgL_aux3217z00_5514;
BgL_aux3217z00_5514 = 
STRUCT_KEY(BgL_tablez00_109); 
if(
SYMBOLP(BgL_aux3217z00_5514))
{ /* Llib/weakhash.scm 643 */
BgL_res2306z00_3682 = BgL_aux3217z00_5514; }  else 
{ 
 obj_t BgL_auxz00_10421;
BgL_auxz00_10421 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(25720L), BGl_string3585z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3217z00_5514); 
FAILURE(BgL_auxz00_10421,BFALSE,BFALSE);} } 
BgL_tmpz00_10417 = BgL_res2306z00_3682; } 
BgL_test4411z00_10416 = 
(BgL_tmpz00_10417==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4411z00_10416)
{ /* Llib/weakhash.scm 643 */
 int BgL_tmpz00_10426;
BgL_tmpz00_10426 = 
(int)(1L); 
BgL_maxzd2bucketzd2lenz00_1856 = 
UNSAFE_STRUCT_REF(BgL_tablez00_109, BgL_tmpz00_10426); }  else 
{ /* Llib/weakhash.scm 643 */
BgL_maxzd2bucketzd2lenz00_1856 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_109); } } 
{ /* Llib/weakhash.scm 643 */
 obj_t BgL_countz00_4611;
BgL_countz00_4611 = 
BGL_MAKE_UNSAFE_CELL(
BINT(0L)); 
{ /* Llib/weakhash.scm 644 */
 obj_t BgL_foundz00_1858;
{ /* Llib/weakhash.scm 649 */
 obj_t BgL_zc3z04anonymousza31716ze3z87_4601;
{ 
 int BgL_tmpz00_10431;
BgL_tmpz00_10431 = 
(int)(4L); 
BgL_zc3z04anonymousza31716ze3z87_4601 = 
MAKE_L_PROCEDURE(BGl_z62zc3z04anonymousza31716ze3ze5zz__weakhashz00, BgL_tmpz00_10431); } 
PROCEDURE_L_SET(BgL_zc3z04anonymousza31716ze3z87_4601, 
(int)(0L), 
((obj_t)BgL_countz00_4611)); 
PROCEDURE_L_SET(BgL_zc3z04anonymousza31716ze3z87_4601, 
(int)(1L), BgL_procz00_111); 
PROCEDURE_L_SET(BgL_zc3z04anonymousza31716ze3z87_4601, 
(int)(2L), BgL_tablez00_109); 
PROCEDURE_L_SET(BgL_zc3z04anonymousza31716ze3z87_4601, 
(int)(3L), BgL_keyz00_110); 
BgL_foundz00_1858 = 
BGl_traversezd2bucketszd2zz__weakhashz00(BgL_tablez00_109, BgL_bucketsz00_1852, BgL_bucketzd2numzd2_1854, BgL_zc3z04anonymousza31716ze3z87_4601); } 
{ /* Llib/weakhash.scm 646 */

if(
(BgL_foundz00_1858==BGl_keepgoingz00zz__weakhashz00))
{ /* Llib/weakhash.scm 662 */
 obj_t BgL_vz00_1859;
if(
BGl_hashtablezd2weakzd2datazf3zf3zz__hashz00(BgL_tablez00_109))
{ /* Llib/weakhash.scm 663 */
 obj_t BgL_arg1712z00_1872; obj_t BgL_arg1714z00_1873;
{ /* Llib/weakhash.scm 663 */

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

BgL_arg1714z00_1873 = 
bgl_make_weakptr(BgL_initz00_113, BFALSE); } 
if(
PROCEDURE_CORRECT_ARITYP(BgL_procz00_111, 2))
{ /* Llib/weakhash.scm 663 */
BgL_vz00_1859 = 
BGL_PROCEDURE_CALL2(BgL_procz00_111, BgL_arg1712z00_1872, BgL_arg1714z00_1873); }  else 
{ /* Llib/weakhash.scm 663 */
FAILURE(BGl_string3586z00zz__weakhashz00,BGl_list3587z00zz__weakhashz00,BgL_procz00_111);} }  else 
{ /* Llib/weakhash.scm 662 */
if(
PROCEDURE_CORRECT_ARITYP(BgL_procz00_111, 2))
{ /* Llib/weakhash.scm 664 */
BgL_vz00_1859 = 
BGL_PROCEDURE_CALL2(BgL_procz00_111, BgL_objz00_112, BgL_initz00_113); }  else 
{ /* Llib/weakhash.scm 664 */
FAILURE(BGl_string3586z00zz__weakhashz00,BGl_list3574z00zz__weakhashz00,BgL_procz00_111);} } 
{ /* Llib/weakhash.scm 665 */
 long BgL_arg1698z00_1860;
{ /* Llib/weakhash.scm 665 */
 obj_t BgL_arg1702z00_1861;
{ /* Llib/weakhash.scm 665 */
 bool_t BgL_test4417z00_10466;
{ /* Llib/weakhash.scm 665 */
 obj_t BgL_tmpz00_10467;
{ /* Llib/weakhash.scm 665 */
 obj_t BgL_res2308z00_3708;
{ /* Llib/weakhash.scm 665 */
 obj_t BgL_aux3221z00_5520;
BgL_aux3221z00_5520 = 
STRUCT_KEY(BgL_tablez00_109); 
if(
SYMBOLP(BgL_aux3221z00_5520))
{ /* Llib/weakhash.scm 665 */
BgL_res2308z00_3708 = BgL_aux3221z00_5520; }  else 
{ 
 obj_t BgL_auxz00_10471;
BgL_auxz00_10471 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(26456L), BGl_string3585z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3221z00_5520); 
FAILURE(BgL_auxz00_10471,BFALSE,BFALSE);} } 
BgL_tmpz00_10467 = BgL_res2308z00_3708; } 
BgL_test4417z00_10466 = 
(BgL_tmpz00_10467==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4417z00_10466)
{ /* Llib/weakhash.scm 665 */
 int BgL_tmpz00_10476;
BgL_tmpz00_10476 = 
(int)(0L); 
BgL_arg1702z00_1861 = 
UNSAFE_STRUCT_REF(BgL_tablez00_109, BgL_tmpz00_10476); }  else 
{ /* Llib/weakhash.scm 665 */
BgL_arg1702z00_1861 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_109); } } 
{ /* Llib/weakhash.scm 665 */
 long BgL_za71za7_3709;
{ /* Llib/weakhash.scm 665 */
 obj_t BgL_tmpz00_10480;
if(
INTEGERP(BgL_arg1702z00_1861))
{ /* Llib/weakhash.scm 665 */
BgL_tmpz00_10480 = BgL_arg1702z00_1861
; }  else 
{ 
 obj_t BgL_auxz00_10483;
BgL_auxz00_10483 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(26478L), BGl_string3585z00zz__weakhashz00, BGl_string3453z00zz__weakhashz00, BgL_arg1702z00_1861); 
FAILURE(BgL_auxz00_10483,BFALSE,BFALSE);} 
BgL_za71za7_3709 = 
(long)CINT(BgL_tmpz00_10480); } 
BgL_arg1698z00_1860 = 
(BgL_za71za7_3709+1L); } } 
{ /* Llib/weakhash.scm 665 */
 bool_t BgL_test4420z00_10489;
{ /* Llib/weakhash.scm 665 */
 obj_t BgL_tmpz00_10490;
{ /* Llib/weakhash.scm 665 */
 obj_t BgL_res2309z00_3713;
{ /* Llib/weakhash.scm 665 */
 obj_t BgL_aux3224z00_5523;
BgL_aux3224z00_5523 = 
STRUCT_KEY(BgL_tablez00_109); 
if(
SYMBOLP(BgL_aux3224z00_5523))
{ /* Llib/weakhash.scm 665 */
BgL_res2309z00_3713 = BgL_aux3224z00_5523; }  else 
{ 
 obj_t BgL_auxz00_10494;
BgL_auxz00_10494 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(26423L), BGl_string3585z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3224z00_5523); 
FAILURE(BgL_auxz00_10494,BFALSE,BFALSE);} } 
BgL_tmpz00_10490 = BgL_res2309z00_3713; } 
BgL_test4420z00_10489 = 
(BgL_tmpz00_10490==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4420z00_10489)
{ /* Llib/weakhash.scm 665 */
 obj_t BgL_auxz00_10501; int BgL_tmpz00_10499;
BgL_auxz00_10501 = 
BINT(BgL_arg1698z00_1860); 
BgL_tmpz00_10499 = 
(int)(0L); 
UNSAFE_STRUCT_SET(BgL_tablez00_109, BgL_tmpz00_10499, BgL_auxz00_10501); }  else 
{ /* Llib/weakhash.scm 665 */
BGl_errorz00zz__errorz00(BGl_string3463z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_109); } } } 
{ /* Llib/weakhash.scm 667 */
 obj_t BgL_arg1703z00_1862;
{ /* Llib/weakhash.scm 667 */
 obj_t BgL_arg1705z00_1863; obj_t BgL_arg1706z00_1864;
{ /* Llib/weakhash.scm 667 */
 obj_t BgL_arg1707z00_1865;
if(
BGl_hashtablezd2weakzd2keyszf3zf3zz__hashz00(BgL_tablez00_109))
{ /* Llib/weakhash.scm 668 */

BgL_arg1707z00_1865 = 
bgl_make_weakptr(BgL_keyz00_110, BFALSE); }  else 
{ /* Llib/weakhash.scm 667 */
BgL_arg1707z00_1865 = BgL_keyz00_110; } 
BgL_arg1705z00_1863 = 
MAKE_YOUNG_PAIR(BgL_arg1707z00_1865, BgL_vz00_1859); } 
{ /* Llib/weakhash.scm 673 */
 obj_t BgL_arg1709z00_1869;
{ /* Llib/weakhash.scm 673 */
 bool_t BgL_test4423z00_10509;
{ /* Llib/weakhash.scm 673 */
 obj_t BgL_tmpz00_10510;
{ /* Llib/weakhash.scm 673 */
 obj_t BgL_res2310z00_3717;
{ /* Llib/weakhash.scm 673 */
 obj_t BgL_aux3226z00_5525;
BgL_aux3226z00_5525 = 
STRUCT_KEY(BgL_tablez00_109); 
if(
SYMBOLP(BgL_aux3226z00_5525))
{ /* Llib/weakhash.scm 673 */
BgL_res2310z00_3717 = BgL_aux3226z00_5525; }  else 
{ 
 obj_t BgL_auxz00_10514;
BgL_auxz00_10514 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(26706L), BGl_string3585z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3226z00_5525); 
FAILURE(BgL_auxz00_10514,BFALSE,BFALSE);} } 
BgL_tmpz00_10510 = BgL_res2310z00_3717; } 
BgL_test4423z00_10509 = 
(BgL_tmpz00_10510==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4423z00_10509)
{ /* Llib/weakhash.scm 673 */
 int BgL_tmpz00_10519;
BgL_tmpz00_10519 = 
(int)(2L); 
BgL_arg1709z00_1869 = 
UNSAFE_STRUCT_REF(BgL_tablez00_109, BgL_tmpz00_10519); }  else 
{ /* Llib/weakhash.scm 673 */
BgL_arg1709z00_1869 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_109); } } 
{ /* Llib/weakhash.scm 673 */
 obj_t BgL_vectorz00_3718;
if(
VECTORP(BgL_arg1709z00_1869))
{ /* Llib/weakhash.scm 673 */
BgL_vectorz00_3718 = BgL_arg1709z00_1869; }  else 
{ 
 obj_t BgL_auxz00_10525;
BgL_auxz00_10525 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(26731L), BGl_string3585z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_arg1709z00_1869); 
FAILURE(BgL_auxz00_10525,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 673 */
 bool_t BgL_test4426z00_10529;
{ /* Llib/weakhash.scm 673 */
 long BgL_tmpz00_10530;
BgL_tmpz00_10530 = 
VECTOR_LENGTH(BgL_vectorz00_3718); 
BgL_test4426z00_10529 = 
BOUND_CHECK(BgL_bucketzd2numzd2_1854, BgL_tmpz00_10530); } 
if(BgL_test4426z00_10529)
{ /* Llib/weakhash.scm 673 */
BgL_arg1706z00_1864 = 
VECTOR_REF(BgL_vectorz00_3718,BgL_bucketzd2numzd2_1854); }  else 
{ 
 obj_t BgL_auxz00_10534;
BgL_auxz00_10534 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(26694L), BGl_string3459z00zz__weakhashz00, BgL_vectorz00_3718, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_3718)), 
(int)(BgL_bucketzd2numzd2_1854)); 
FAILURE(BgL_auxz00_10534,BFALSE,BFALSE);} } } } 
BgL_arg1703z00_1862 = 
MAKE_YOUNG_PAIR(BgL_arg1705z00_1863, BgL_arg1706z00_1864); } 
{ /* Llib/weakhash.scm 666 */
 obj_t BgL_vectorz00_3720;
if(
VECTORP(BgL_bucketsz00_1852))
{ /* Llib/weakhash.scm 666 */
BgL_vectorz00_3720 = BgL_bucketsz00_1852; }  else 
{ 
 obj_t BgL_auxz00_10544;
BgL_auxz00_10544 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(26503L), BGl_string3585z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_bucketsz00_1852); 
FAILURE(BgL_auxz00_10544,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 666 */
 bool_t BgL_test4428z00_10548;
{ /* Llib/weakhash.scm 666 */
 long BgL_tmpz00_10549;
BgL_tmpz00_10549 = 
VECTOR_LENGTH(BgL_vectorz00_3720); 
BgL_test4428z00_10548 = 
BOUND_CHECK(BgL_bucketzd2numzd2_1854, BgL_tmpz00_10549); } 
if(BgL_test4428z00_10548)
{ /* Llib/weakhash.scm 666 */
VECTOR_SET(BgL_vectorz00_3720,BgL_bucketzd2numzd2_1854,BgL_arg1703z00_1862); }  else 
{ 
 obj_t BgL_auxz00_10553;
BgL_auxz00_10553 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(26490L), BGl_string3464z00zz__weakhashz00, BgL_vectorz00_3720, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_3720)), 
(int)(BgL_bucketzd2numzd2_1854)); 
FAILURE(BgL_auxz00_10553,BFALSE,BFALSE);} } } } 
{ /* Llib/weakhash.scm 675 */
 bool_t BgL_test4429z00_10560;
{ /* Llib/weakhash.scm 675 */
 long BgL_n1z00_3722; long BgL_n2z00_3723;
{ /* Llib/weakhash.scm 675 */
 obj_t BgL_tmpz00_10561;
{ /* Llib/weakhash.scm 675 */
 obj_t BgL_aux3232z00_5531;
BgL_aux3232z00_5531 = 
BGL_UNSAFE_CELL_REF(BgL_countz00_4611); 
if(
INTEGERP(BgL_aux3232z00_5531))
{ /* Llib/weakhash.scm 675 */
BgL_tmpz00_10561 = BgL_aux3232z00_5531
; }  else 
{ 
 obj_t BgL_auxz00_10564;
BgL_auxz00_10564 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(26770L), BGl_string3585z00zz__weakhashz00, BGl_string3453z00zz__weakhashz00, BgL_aux3232z00_5531); 
FAILURE(BgL_auxz00_10564,BFALSE,BFALSE);} } 
BgL_n1z00_3722 = 
(long)CINT(BgL_tmpz00_10561); } 
{ /* Llib/weakhash.scm 675 */
 obj_t BgL_tmpz00_10569;
if(
INTEGERP(BgL_maxzd2bucketzd2lenz00_1856))
{ /* Llib/weakhash.scm 675 */
BgL_tmpz00_10569 = BgL_maxzd2bucketzd2lenz00_1856
; }  else 
{ 
 obj_t BgL_auxz00_10572;
BgL_auxz00_10572 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(26776L), BGl_string3585z00zz__weakhashz00, BGl_string3453z00zz__weakhashz00, BgL_maxzd2bucketzd2lenz00_1856); 
FAILURE(BgL_auxz00_10572,BFALSE,BFALSE);} 
BgL_n2z00_3723 = 
(long)CINT(BgL_tmpz00_10569); } 
BgL_test4429z00_10560 = 
(BgL_n1z00_3722>BgL_n2z00_3723); } 
if(BgL_test4429z00_10560)
{ /* 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_1859;}  else 
{ /* Llib/weakhash.scm 660 */
return BgL_foundz00_1858;} } } } } } } } } } 

}



/* &<@anonymous:1716> */
obj_t BGl_z62zc3z04anonymousza31716ze3ze5zz__weakhashz00(obj_t BgL_envz00_4602, obj_t BgL_bkeyz00_4607, obj_t BgL_valz00_4608, obj_t BgL_bucketz00_4609)
{
{ /* Llib/weakhash.scm 648 */
{ /* Llib/weakhash.scm 649 */
 obj_t BgL_countz00_4603; obj_t BgL_procz00_4604; obj_t BgL_tablez00_4605; obj_t BgL_keyz00_4606;
BgL_countz00_4603 = 
PROCEDURE_L_REF(BgL_envz00_4602, 
(int)(0L)); 
BgL_procz00_4604 = 
((obj_t)
PROCEDURE_L_REF(BgL_envz00_4602, 
(int)(1L))); 
BgL_tablez00_4605 = 
((obj_t)
PROCEDURE_L_REF(BgL_envz00_4602, 
(int)(2L))); 
BgL_keyz00_4606 = 
PROCEDURE_L_REF(BgL_envz00_4602, 
(int)(3L)); 
{ /* Llib/weakhash.scm 649 */
 obj_t BgL_auxz00_5831;
{ /* Llib/weakhash.scm 649 */
 obj_t BgL_tmpz00_10592;
{ /* Llib/weakhash.scm 649 */
 obj_t BgL_aux3234z00_5832;
BgL_aux3234z00_5832 = 
BGL_UNSAFE_CELL_REF(BgL_countz00_4603); 
if(
INTEGERP(BgL_aux3234z00_5832))
{ /* Llib/weakhash.scm 649 */
BgL_tmpz00_10592 = BgL_aux3234z00_5832
; }  else 
{ 
 obj_t BgL_auxz00_10595;
BgL_auxz00_10595 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(25933L), BGl_string3592z00zz__weakhashz00, BGl_string3453z00zz__weakhashz00, BgL_aux3234z00_5832); 
FAILURE(BgL_auxz00_10595,BFALSE,BFALSE);} } 
BgL_auxz00_5831 = 
ADDFX(BgL_tmpz00_10592, 
BINT(1L)); } 
BGL_UNSAFE_CELL_SET(BgL_countz00_4603, BgL_auxz00_5831); } 
{ /* Llib/weakhash.scm 650 */
 bool_t BgL_test4434z00_10601;
{ /* Llib/weakhash.scm 650 */
 obj_t BgL_eqtz00_5833;
{ /* Llib/weakhash.scm 650 */
 bool_t BgL_test4435z00_10602;
{ /* Llib/weakhash.scm 650 */
 obj_t BgL_tmpz00_10603;
{ /* Llib/weakhash.scm 650 */
 obj_t BgL_res2307z00_5834;
{ /* Llib/weakhash.scm 650 */
 obj_t BgL_aux3235z00_5835;
BgL_aux3235z00_5835 = 
STRUCT_KEY(BgL_tablez00_4605); 
if(
SYMBOLP(BgL_aux3235z00_5835))
{ /* Llib/weakhash.scm 650 */
BgL_res2307z00_5834 = BgL_aux3235z00_5835; }  else 
{ 
 obj_t BgL_auxz00_10607;
BgL_auxz00_10607 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(25956L), BGl_string3592z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3235z00_5835); 
FAILURE(BgL_auxz00_10607,BFALSE,BFALSE);} } 
BgL_tmpz00_10603 = BgL_res2307z00_5834; } 
BgL_test4435z00_10602 = 
(BgL_tmpz00_10603==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4435z00_10602)
{ /* Llib/weakhash.scm 650 */
 int BgL_tmpz00_10612;
BgL_tmpz00_10612 = 
(int)(3L); 
BgL_eqtz00_5833 = 
UNSAFE_STRUCT_REF(BgL_tablez00_4605, BgL_tmpz00_10612); }  else 
{ /* Llib/weakhash.scm 650 */
BgL_eqtz00_5833 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_4605); } } 
if(
PROCEDUREP(BgL_eqtz00_5833))
{ /* Llib/weakhash.scm 650 */
if(
PROCEDURE_CORRECT_ARITYP(BgL_eqtz00_5833, 2))
{ /* Llib/weakhash.scm 650 */
BgL_test4434z00_10601 = 
CBOOL(
BGL_PROCEDURE_CALL2(BgL_eqtz00_5833, BgL_bkeyz00_4607, BgL_keyz00_4606))
; }  else 
{ /* Llib/weakhash.scm 650 */
FAILURE(BGl_string3593z00zz__weakhashz00,BGl_list3556z00zz__weakhashz00,BgL_eqtz00_5833);} }  else 
{ /* Llib/weakhash.scm 650 */
if(
(BgL_bkeyz00_4607==BgL_keyz00_4606))
{ /* Llib/weakhash.scm 650 */
BgL_test4434z00_10601 = ((bool_t)1)
; }  else 
{ /* Llib/weakhash.scm 650 */
if(
STRINGP(BgL_bkeyz00_4607))
{ /* Llib/weakhash.scm 650 */
if(
STRINGP(BgL_keyz00_4606))
{ /* Llib/weakhash.scm 650 */
 long BgL_l1z00_5836;
BgL_l1z00_5836 = 
STRING_LENGTH(BgL_bkeyz00_4607); 
if(
(BgL_l1z00_5836==
STRING_LENGTH(BgL_keyz00_4606)))
{ /* Llib/weakhash.scm 650 */
 int BgL_arg1924z00_5837;
{ /* Llib/weakhash.scm 650 */
 char * BgL_auxz00_10639; char * BgL_tmpz00_10637;
BgL_auxz00_10639 = 
BSTRING_TO_STRING(BgL_keyz00_4606); 
BgL_tmpz00_10637 = 
BSTRING_TO_STRING(BgL_bkeyz00_4607); 
BgL_arg1924z00_5837 = 
memcmp(BgL_tmpz00_10637, BgL_auxz00_10639, BgL_l1z00_5836); } 
BgL_test4434z00_10601 = 
(
(long)(BgL_arg1924z00_5837)==0L); }  else 
{ /* Llib/weakhash.scm 650 */
BgL_test4434z00_10601 = ((bool_t)0)
; } }  else 
{ /* Llib/weakhash.scm 650 */
BgL_test4434z00_10601 = ((bool_t)0)
; } }  else 
{ /* Llib/weakhash.scm 650 */
BgL_test4434z00_10601 = ((bool_t)0)
; } } } } 
if(BgL_test4434z00_10601)
{ /* Llib/weakhash.scm 651 */
 obj_t BgL_newvalz00_5838;
if(
PROCEDURE_CORRECT_ARITYP(BgL_procz00_4604, 1))
{ /* Llib/weakhash.scm 651 */
BgL_newvalz00_5838 = 
BGL_PROCEDURE_CALL1(BgL_procz00_4604, BgL_valz00_4608); }  else 
{ /* Llib/weakhash.scm 651 */
FAILURE(BGl_string3593z00zz__weakhashz00,BGl_list3570z00zz__weakhashz00,BgL_procz00_4604);} 
{ /* Llib/weakhash.scm 652 */
 obj_t BgL_arg1718z00_5839; obj_t BgL_arg1719z00_5840;
{ /* Llib/weakhash.scm 652 */
 obj_t BgL_pairz00_5841;
if(
PAIRP(BgL_bucketz00_4609))
{ /* Llib/weakhash.scm 652 */
BgL_pairz00_5841 = BgL_bucketz00_4609; }  else 
{ 
 obj_t BgL_auxz00_10653;
BgL_auxz00_10653 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(26047L), BGl_string3592z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_bucketz00_4609); 
FAILURE(BgL_auxz00_10653,BFALSE,BFALSE);} 
BgL_arg1718z00_5839 = 
CAR(BgL_pairz00_5841); } 
if(
BGl_hashtablezd2weakzd2datazf3zf3zz__hashz00(BgL_tablez00_4605))
{ /* Llib/weakhash.scm 654 */

BgL_arg1719z00_5840 = 
bgl_make_weakptr(BgL_newvalz00_5838, BFALSE); }  else 
{ /* Llib/weakhash.scm 653 */
BgL_arg1719z00_5840 = BgL_newvalz00_5838; } 
{ /* Llib/weakhash.scm 652 */
 obj_t BgL_pairz00_5842;
if(
PAIRP(BgL_arg1718z00_5839))
{ /* Llib/weakhash.scm 652 */
BgL_pairz00_5842 = BgL_arg1718z00_5839; }  else 
{ 
 obj_t BgL_auxz00_10663;
BgL_auxz00_10663 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(26053L), BGl_string3592z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_arg1718z00_5839); 
FAILURE(BgL_auxz00_10663,BFALSE,BFALSE);} 
SET_CDR(BgL_pairz00_5842, BgL_arg1719z00_5840); } } 
return BgL_newvalz00_5838;}  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_4613, obj_t BgL_tablez00_4614, obj_t BgL_keyz00_4615, obj_t BgL_procz00_4616, obj_t BgL_objz00_4617, obj_t BgL_initz00_4618)
{
{ /* Llib/weakhash.scm 682 */
{ /* Llib/weakhash.scm 683 */
 obj_t BgL_auxz00_10679; obj_t BgL_auxz00_10672;
if(
PROCEDUREP(BgL_procz00_4616))
{ /* Llib/weakhash.scm 683 */
BgL_auxz00_10679 = BgL_procz00_4616
; }  else 
{ 
 obj_t BgL_auxz00_10682;
BgL_auxz00_10682 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(27143L), BGl_string3594z00zz__weakhashz00, BGl_string3469z00zz__weakhashz00, BgL_procz00_4616); 
FAILURE(BgL_auxz00_10682,BFALSE,BFALSE);} 
if(
STRUCTP(BgL_tablez00_4614))
{ /* Llib/weakhash.scm 683 */
BgL_auxz00_10672 = BgL_tablez00_4614
; }  else 
{ 
 obj_t BgL_auxz00_10675;
BgL_auxz00_10675 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(27143L), BGl_string3594z00zz__weakhashz00, BGl_string3498z00zz__weakhashz00, BgL_tablez00_4614); 
FAILURE(BgL_auxz00_10675,BFALSE,BFALSE);} 
return 
BGl_weakzd2hashtablezd2addz12z12zz__weakhashz00(BgL_auxz00_10672, BgL_keyz00_4615, BgL_auxz00_10679, BgL_objz00_4617, BgL_initz00_4618);} } 

}



/* 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_1893;
{ /* Llib/weakhash.scm 691 */
 bool_t BgL_test4450z00_10687;
{ /* Llib/weakhash.scm 691 */
 obj_t BgL_tmpz00_10688;
{ /* Llib/weakhash.scm 691 */
 obj_t BgL_res2311z00_3730;
{ /* Llib/weakhash.scm 691 */
 obj_t BgL_aux3247z00_5548;
BgL_aux3247z00_5548 = 
STRUCT_KEY(BgL_tablez00_119); 
if(
SYMBOLP(BgL_aux3247z00_5548))
{ /* Llib/weakhash.scm 691 */
BgL_res2311z00_3730 = BgL_aux3247z00_5548; }  else 
{ 
 obj_t BgL_auxz00_10692;
BgL_auxz00_10692 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(27596L), BGl_string3595z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3247z00_5548); 
FAILURE(BgL_auxz00_10692,BFALSE,BFALSE);} } 
BgL_tmpz00_10688 = BgL_res2311z00_3730; } 
BgL_test4450z00_10687 = 
(BgL_tmpz00_10688==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4450z00_10687)
{ /* Llib/weakhash.scm 691 */
 int BgL_tmpz00_10697;
BgL_tmpz00_10697 = 
(int)(2L); 
BgL_bucketsz00_1893 = 
UNSAFE_STRUCT_REF(BgL_tablez00_119, BgL_tmpz00_10697); }  else 
{ /* Llib/weakhash.scm 691 */
BgL_bucketsz00_1893 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_119); } } 
{ /* Llib/weakhash.scm 691 */
 long BgL_bucketzd2lenzd2_1894;
{ /* Llib/weakhash.scm 692 */
 obj_t BgL_vectorz00_3731;
if(
VECTORP(BgL_bucketsz00_1893))
{ /* Llib/weakhash.scm 692 */
BgL_vectorz00_3731 = BgL_bucketsz00_1893; }  else 
{ 
 obj_t BgL_auxz00_10703;
BgL_auxz00_10703 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(27654L), BGl_string3595z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_bucketsz00_1893); 
FAILURE(BgL_auxz00_10703,BFALSE,BFALSE);} 
BgL_bucketzd2lenzd2_1894 = 
VECTOR_LENGTH(BgL_vectorz00_3731); } 
{ /* Llib/weakhash.scm 692 */
 long BgL_bucketzd2numzd2_1895;
{ /* Llib/weakhash.scm 693 */
 long BgL_arg1747z00_1922;
BgL_arg1747z00_1922 = 
BGl_tablezd2getzd2hashnumberz00zz__weakhashz00(BgL_tablez00_119, BgL_keyz00_120); 
{ /* Llib/weakhash.scm 693 */
 long BgL_n1z00_3732; long BgL_n2z00_3733;
BgL_n1z00_3732 = BgL_arg1747z00_1922; 
BgL_n2z00_3733 = BgL_bucketzd2lenzd2_1894; 
{ /* Llib/weakhash.scm 693 */
 bool_t BgL_test4453z00_10709;
{ /* Llib/weakhash.scm 693 */
 long BgL_arg2041z00_3735;
BgL_arg2041z00_3735 = 
(((BgL_n1z00_3732) | (BgL_n2z00_3733)) & -2147483648); 
BgL_test4453z00_10709 = 
(BgL_arg2041z00_3735==0L); } 
if(BgL_test4453z00_10709)
{ /* Llib/weakhash.scm 693 */
 int32_t BgL_arg2037z00_3736;
{ /* Llib/weakhash.scm 693 */
 int32_t BgL_arg2038z00_3737; int32_t BgL_arg2039z00_3738;
BgL_arg2038z00_3737 = 
(int32_t)(BgL_n1z00_3732); 
BgL_arg2039z00_3738 = 
(int32_t)(BgL_n2z00_3733); 
BgL_arg2037z00_3736 = 
(BgL_arg2038z00_3737%BgL_arg2039z00_3738); } 
{ /* Llib/weakhash.scm 693 */
 long BgL_arg2142z00_3743;
BgL_arg2142z00_3743 = 
(long)(BgL_arg2037z00_3736); 
BgL_bucketzd2numzd2_1895 = 
(long)(BgL_arg2142z00_3743); } }  else 
{ /* Llib/weakhash.scm 693 */
BgL_bucketzd2numzd2_1895 = 
(BgL_n1z00_3732%BgL_n2z00_3733); } } } } 
{ /* Llib/weakhash.scm 693 */
 obj_t BgL_bucketz00_1896;
{ /* Llib/weakhash.scm 694 */
 obj_t BgL_vectorz00_3745;
if(
VECTORP(BgL_bucketsz00_1893))
{ /* Llib/weakhash.scm 694 */
BgL_vectorz00_3745 = BgL_bucketsz00_1893; }  else 
{ 
 obj_t BgL_auxz00_10720;
BgL_auxz00_10720 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(27764L), BGl_string3595z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_bucketsz00_1893); 
FAILURE(BgL_auxz00_10720,BFALSE,BFALSE);} 
BgL_bucketz00_1896 = 
VECTOR_REF(BgL_vectorz00_3745,BgL_bucketzd2numzd2_1895); } 
{ /* Llib/weakhash.scm 694 */

if(
NULLP(BgL_bucketz00_1896))
{ /* Llib/weakhash.scm 696 */
return ((bool_t)0);}  else 
{ /* Llib/weakhash.scm 698 */
 bool_t BgL_test4456z00_10727;
{ /* Llib/weakhash.scm 698 */
 obj_t BgL_arg1744z00_1920;
{ /* Llib/weakhash.scm 698 */
 obj_t BgL_arg1745z00_1921;
{ /* Llib/weakhash.scm 698 */
 obj_t BgL_pairz00_3747;
if(
PAIRP(BgL_bucketz00_1896))
{ /* Llib/weakhash.scm 698 */
BgL_pairz00_3747 = BgL_bucketz00_1896; }  else 
{ 
 obj_t BgL_auxz00_10730;
BgL_auxz00_10730 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(27869L), BGl_string3595z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_bucketz00_1896); 
FAILURE(BgL_auxz00_10730,BFALSE,BFALSE);} 
BgL_arg1745z00_1921 = 
CAR(BgL_pairz00_3747); } 
{ /* Llib/weakhash.scm 698 */
 obj_t BgL_objz00_3748;
if(
BGL_WEAKPTRP(BgL_arg1745z00_1921))
{ /* Llib/weakhash.scm 698 */
BgL_objz00_3748 = BgL_arg1745z00_1921; }  else 
{ 
 obj_t BgL_auxz00_10737;
BgL_auxz00_10737 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(27875L), BGl_string3595z00zz__weakhashz00, BGl_string3462z00zz__weakhashz00, BgL_arg1745z00_1921); 
FAILURE(BgL_auxz00_10737,BFALSE,BFALSE);} 
BgL_arg1744z00_1920 = 
bgl_weakptr_data(BgL_objz00_3748); } } 
{ /* Llib/weakhash.scm 698 */
 obj_t BgL_eqtz00_3749;
{ /* Llib/weakhash.scm 698 */
 bool_t BgL_test4459z00_10742;
{ /* Llib/weakhash.scm 698 */
 obj_t BgL_tmpz00_10743;
{ /* Llib/weakhash.scm 698 */
 obj_t BgL_res2312z00_3756;
{ /* Llib/weakhash.scm 698 */
 obj_t BgL_aux3257z00_5558;
BgL_aux3257z00_5558 = 
STRUCT_KEY(BgL_tablez00_119); 
if(
SYMBOLP(BgL_aux3257z00_5558))
{ /* Llib/weakhash.scm 698 */
BgL_res2312z00_3756 = BgL_aux3257z00_5558; }  else 
{ 
 obj_t BgL_auxz00_10747;
BgL_auxz00_10747 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(27826L), BGl_string3595z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3257z00_5558); 
FAILURE(BgL_auxz00_10747,BFALSE,BFALSE);} } 
BgL_tmpz00_10743 = BgL_res2312z00_3756; } 
BgL_test4459z00_10742 = 
(BgL_tmpz00_10743==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4459z00_10742)
{ /* Llib/weakhash.scm 698 */
 int BgL_tmpz00_10752;
BgL_tmpz00_10752 = 
(int)(3L); 
BgL_eqtz00_3749 = 
UNSAFE_STRUCT_REF(BgL_tablez00_119, BgL_tmpz00_10752); }  else 
{ /* Llib/weakhash.scm 698 */
BgL_eqtz00_3749 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_119); } } 
if(
PROCEDUREP(BgL_eqtz00_3749))
{ /* Llib/weakhash.scm 698 */
if(
PROCEDURE_CORRECT_ARITYP(BgL_eqtz00_3749, 2))
{ /* Llib/weakhash.scm 698 */
BgL_test4456z00_10727 = 
CBOOL(
BGL_PROCEDURE_CALL2(BgL_eqtz00_3749, BgL_arg1744z00_1920, BgL_keyz00_120))
; }  else 
{ /* Llib/weakhash.scm 698 */
FAILURE(BGl_string3596z00zz__weakhashz00,BGl_list3597z00zz__weakhashz00,BgL_eqtz00_3749);} }  else 
{ /* Llib/weakhash.scm 698 */
if(
(BgL_arg1744z00_1920==BgL_keyz00_120))
{ /* Llib/weakhash.scm 698 */
BgL_test4456z00_10727 = ((bool_t)1)
; }  else 
{ /* Llib/weakhash.scm 698 */
if(
STRINGP(BgL_arg1744z00_1920))
{ /* Llib/weakhash.scm 698 */
if(
STRINGP(BgL_keyz00_120))
{ /* Llib/weakhash.scm 698 */
 long BgL_l1z00_3759;
BgL_l1z00_3759 = 
STRING_LENGTH(BgL_arg1744z00_1920); 
if(
(BgL_l1z00_3759==
STRING_LENGTH(BgL_keyz00_120)))
{ /* Llib/weakhash.scm 698 */
 int BgL_arg1924z00_3762;
{ /* Llib/weakhash.scm 698 */
 char * BgL_auxz00_10779; char * BgL_tmpz00_10777;
BgL_auxz00_10779 = 
BSTRING_TO_STRING(BgL_keyz00_120); 
BgL_tmpz00_10777 = 
BSTRING_TO_STRING(BgL_arg1744z00_1920); 
BgL_arg1924z00_3762 = 
memcmp(BgL_tmpz00_10777, BgL_auxz00_10779, BgL_l1z00_3759); } 
BgL_test4456z00_10727 = 
(
(long)(BgL_arg1924z00_3762)==0L); }  else 
{ /* Llib/weakhash.scm 698 */
BgL_test4456z00_10727 = ((bool_t)0)
; } }  else 
{ /* Llib/weakhash.scm 698 */
BgL_test4456z00_10727 = ((bool_t)0)
; } }  else 
{ /* Llib/weakhash.scm 698 */
BgL_test4456z00_10727 = ((bool_t)0)
; } } } } } 
if(BgL_test4456z00_10727)
{ /* Llib/weakhash.scm 698 */
{ /* Llib/weakhash.scm 699 */
 obj_t BgL_arg1727z00_1901;
{ /* Llib/weakhash.scm 699 */
 obj_t BgL_pairz00_3768;
if(
PAIRP(BgL_bucketz00_1896))
{ /* Llib/weakhash.scm 699 */
BgL_pairz00_3768 = BgL_bucketz00_1896; }  else 
{ 
 obj_t BgL_auxz00_10786;
BgL_auxz00_10786 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(27926L), BGl_string3595z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_bucketz00_1896); 
FAILURE(BgL_auxz00_10786,BFALSE,BFALSE);} 
BgL_arg1727z00_1901 = 
CDR(BgL_pairz00_3768); } 
{ /* Llib/weakhash.scm 699 */
 obj_t BgL_vectorz00_3769;
if(
VECTORP(BgL_bucketsz00_1893))
{ /* Llib/weakhash.scm 699 */
BgL_vectorz00_3769 = BgL_bucketsz00_1893; }  else 
{ 
 obj_t BgL_auxz00_10793;
BgL_auxz00_10793 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(27902L), BGl_string3595z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_bucketsz00_1893); 
FAILURE(BgL_auxz00_10793,BFALSE,BFALSE);} 
VECTOR_SET(BgL_vectorz00_3769,BgL_bucketzd2numzd2_1895,BgL_arg1727z00_1901); } } 
{ /* Llib/weakhash.scm 700 */
 long BgL_arg1728z00_1902;
{ /* Llib/weakhash.scm 700 */
 obj_t BgL_arg1729z00_1903;
{ /* Llib/weakhash.scm 700 */
 bool_t BgL_test4469z00_10798;
{ /* Llib/weakhash.scm 700 */
 obj_t BgL_tmpz00_10799;
{ /* Llib/weakhash.scm 700 */
 obj_t BgL_res2313z00_3774;
{ /* Llib/weakhash.scm 700 */
 obj_t BgL_aux3264z00_5566;
BgL_aux3264z00_5566 = 
STRUCT_KEY(BgL_tablez00_119); 
if(
SYMBOLP(BgL_aux3264z00_5566))
{ /* Llib/weakhash.scm 700 */
BgL_res2313z00_3774 = BgL_aux3264z00_5566; }  else 
{ 
 obj_t BgL_auxz00_10803;
BgL_auxz00_10803 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(27971L), BGl_string3595z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3264z00_5566); 
FAILURE(BgL_auxz00_10803,BFALSE,BFALSE);} } 
BgL_tmpz00_10799 = BgL_res2313z00_3774; } 
BgL_test4469z00_10798 = 
(BgL_tmpz00_10799==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4469z00_10798)
{ /* Llib/weakhash.scm 700 */
 int BgL_tmpz00_10808;
BgL_tmpz00_10808 = 
(int)(0L); 
BgL_arg1729z00_1903 = 
UNSAFE_STRUCT_REF(BgL_tablez00_119, BgL_tmpz00_10808); }  else 
{ /* Llib/weakhash.scm 700 */
BgL_arg1729z00_1903 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_119); } } 
{ /* Llib/weakhash.scm 700 */
 long BgL_za71za7_3775;
{ /* Llib/weakhash.scm 700 */
 obj_t BgL_tmpz00_10812;
if(
INTEGERP(BgL_arg1729z00_1903))
{ /* Llib/weakhash.scm 700 */
BgL_tmpz00_10812 = BgL_arg1729z00_1903
; }  else 
{ 
 obj_t BgL_auxz00_10815;
BgL_auxz00_10815 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(27993L), BGl_string3595z00zz__weakhashz00, BGl_string3453z00zz__weakhashz00, BgL_arg1729z00_1903); 
FAILURE(BgL_auxz00_10815,BFALSE,BFALSE);} 
BgL_za71za7_3775 = 
(long)CINT(BgL_tmpz00_10812); } 
BgL_arg1728z00_1902 = 
(BgL_za71za7_3775-1L); } } 
{ /* Llib/weakhash.scm 700 */
 bool_t BgL_test4472z00_10821;
{ /* Llib/weakhash.scm 700 */
 obj_t BgL_tmpz00_10822;
{ /* Llib/weakhash.scm 700 */
 obj_t BgL_res2314z00_3779;
{ /* Llib/weakhash.scm 700 */
 obj_t BgL_aux3267z00_5569;
BgL_aux3267z00_5569 = 
STRUCT_KEY(BgL_tablez00_119); 
if(
SYMBOLP(BgL_aux3267z00_5569))
{ /* Llib/weakhash.scm 700 */
BgL_res2314z00_3779 = BgL_aux3267z00_5569; }  else 
{ 
 obj_t BgL_auxz00_10826;
BgL_auxz00_10826 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(27938L), BGl_string3595z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3267z00_5569); 
FAILURE(BgL_auxz00_10826,BFALSE,BFALSE);} } 
BgL_tmpz00_10822 = BgL_res2314z00_3779; } 
BgL_test4472z00_10821 = 
(BgL_tmpz00_10822==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4472z00_10821)
{ /* Llib/weakhash.scm 700 */
 obj_t BgL_auxz00_10833; int BgL_tmpz00_10831;
BgL_auxz00_10833 = 
BINT(BgL_arg1728z00_1902); 
BgL_tmpz00_10831 = 
(int)(0L); 
UNSAFE_STRUCT_SET(BgL_tablez00_119, BgL_tmpz00_10831, BgL_auxz00_10833); }  else 
{ /* Llib/weakhash.scm 700 */
BGl_errorz00zz__errorz00(BGl_string3463z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_119); } } } 
return ((bool_t)1);}  else 
{ /* Llib/weakhash.scm 703 */
 obj_t BgL_g1068z00_1904;
{ /* Llib/weakhash.scm 703 */
 obj_t BgL_pairz00_3780;
if(
PAIRP(BgL_bucketz00_1896))
{ /* Llib/weakhash.scm 703 */
BgL_pairz00_3780 = BgL_bucketz00_1896; }  else 
{ 
 obj_t BgL_auxz00_10839;
BgL_auxz00_10839 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(28041L), BGl_string3595z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_bucketz00_1896); 
FAILURE(BgL_auxz00_10839,BFALSE,BFALSE);} 
BgL_g1068z00_1904 = 
CDR(BgL_pairz00_3780); } 
{ 
 obj_t BgL_bucketz00_1906; obj_t BgL_prevz00_1907;
BgL_bucketz00_1906 = BgL_g1068z00_1904; 
BgL_prevz00_1907 = BgL_bucketz00_1896; 
BgL_zc3z04anonymousza31730ze3z87_1908:
if(
PAIRP(BgL_bucketz00_1906))
{ /* Llib/weakhash.scm 706 */
 bool_t BgL_test4476z00_10846;
{ /* Llib/weakhash.scm 706 */
 obj_t BgL_arg1742z00_1917;
{ /* Llib/weakhash.scm 706 */
 obj_t BgL_arg1743z00_1918;
BgL_arg1743z00_1918 = 
CAR(BgL_bucketz00_1906); 
{ /* Llib/weakhash.scm 706 */
 obj_t BgL_objz00_3782;
if(
BGL_WEAKPTRP(BgL_arg1743z00_1918))
{ /* Llib/weakhash.scm 706 */
BgL_objz00_3782 = BgL_arg1743z00_1918; }  else 
{ 
 obj_t BgL_auxz00_10850;
BgL_auxz00_10850 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(28153L), BGl_string3467z00zz__weakhashz00, BGl_string3462z00zz__weakhashz00, BgL_arg1743z00_1918); 
FAILURE(BgL_auxz00_10850,BFALSE,BFALSE);} 
BgL_arg1742z00_1917 = 
bgl_weakptr_data(BgL_objz00_3782); } } 
{ /* Llib/weakhash.scm 706 */
 obj_t BgL_eqtz00_3783;
{ /* Llib/weakhash.scm 706 */
 bool_t BgL_test4478z00_10855;
{ /* Llib/weakhash.scm 706 */
 obj_t BgL_tmpz00_10856;
{ /* Llib/weakhash.scm 706 */
 obj_t BgL_res2315z00_3790;
{ /* Llib/weakhash.scm 706 */
 obj_t BgL_aux3273z00_5575;
BgL_aux3273z00_5575 = 
STRUCT_KEY(BgL_tablez00_119); 
if(
SYMBOLP(BgL_aux3273z00_5575))
{ /* Llib/weakhash.scm 706 */
BgL_res2315z00_3790 = BgL_aux3273z00_5575; }  else 
{ 
 obj_t BgL_auxz00_10860;
BgL_auxz00_10860 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(28104L), BGl_string3467z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3273z00_5575); 
FAILURE(BgL_auxz00_10860,BFALSE,BFALSE);} } 
BgL_tmpz00_10856 = BgL_res2315z00_3790; } 
BgL_test4478z00_10855 = 
(BgL_tmpz00_10856==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4478z00_10855)
{ /* Llib/weakhash.scm 706 */
 int BgL_tmpz00_10865;
BgL_tmpz00_10865 = 
(int)(3L); 
BgL_eqtz00_3783 = 
UNSAFE_STRUCT_REF(BgL_tablez00_119, BgL_tmpz00_10865); }  else 
{ /* Llib/weakhash.scm 706 */
BgL_eqtz00_3783 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_119); } } 
if(
PROCEDUREP(BgL_eqtz00_3783))
{ /* Llib/weakhash.scm 706 */
if(
PROCEDURE_CORRECT_ARITYP(BgL_eqtz00_3783, 2))
{ /* Llib/weakhash.scm 706 */
BgL_test4476z00_10846 = 
CBOOL(
BGL_PROCEDURE_CALL2(BgL_eqtz00_3783, BgL_arg1742z00_1917, BgL_keyz00_120))
; }  else 
{ /* Llib/weakhash.scm 706 */
FAILURE(BGl_string3528z00zz__weakhashz00,BGl_list3600z00zz__weakhashz00,BgL_eqtz00_3783);} }  else 
{ /* Llib/weakhash.scm 706 */
if(
(BgL_arg1742z00_1917==BgL_keyz00_120))
{ /* Llib/weakhash.scm 706 */
BgL_test4476z00_10846 = ((bool_t)1)
; }  else 
{ /* Llib/weakhash.scm 706 */
if(
STRINGP(BgL_arg1742z00_1917))
{ /* Llib/weakhash.scm 706 */
if(
STRINGP(BgL_keyz00_120))
{ /* Llib/weakhash.scm 706 */
 long BgL_l1z00_3793;
BgL_l1z00_3793 = 
STRING_LENGTH(BgL_arg1742z00_1917); 
if(
(BgL_l1z00_3793==
STRING_LENGTH(BgL_keyz00_120)))
{ /* Llib/weakhash.scm 706 */
 int BgL_arg1924z00_3796;
{ /* Llib/weakhash.scm 706 */
 char * BgL_auxz00_10892; char * BgL_tmpz00_10890;
BgL_auxz00_10892 = 
BSTRING_TO_STRING(BgL_keyz00_120); 
BgL_tmpz00_10890 = 
BSTRING_TO_STRING(BgL_arg1742z00_1917); 
BgL_arg1924z00_3796 = 
memcmp(BgL_tmpz00_10890, BgL_auxz00_10892, BgL_l1z00_3793); } 
BgL_test4476z00_10846 = 
(
(long)(BgL_arg1924z00_3796)==0L); }  else 
{ /* Llib/weakhash.scm 706 */
BgL_test4476z00_10846 = ((bool_t)0)
; } }  else 
{ /* Llib/weakhash.scm 706 */
BgL_test4476z00_10846 = ((bool_t)0)
; } }  else 
{ /* Llib/weakhash.scm 706 */
BgL_test4476z00_10846 = ((bool_t)0)
; } } } } } 
if(BgL_test4476z00_10846)
{ /* Llib/weakhash.scm 706 */
{ /* Llib/weakhash.scm 708 */
 obj_t BgL_arg1735z00_1913;
BgL_arg1735z00_1913 = 
CDR(BgL_bucketz00_1906); 
{ /* Llib/weakhash.scm 708 */
 obj_t BgL_pairz00_3803;
if(
PAIRP(BgL_prevz00_1907))
{ /* Llib/weakhash.scm 708 */
BgL_pairz00_3803 = BgL_prevz00_1907; }  else 
{ 
 obj_t BgL_auxz00_10900;
BgL_auxz00_10900 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(28188L), BGl_string3467z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_prevz00_1907); 
FAILURE(BgL_auxz00_10900,BFALSE,BFALSE);} 
SET_CDR(BgL_pairz00_3803, BgL_arg1735z00_1913); } } 
{ /* Llib/weakhash.scm 710 */
 long BgL_arg1739z00_1914;
{ /* Llib/weakhash.scm 710 */
 obj_t BgL_arg1740z00_1915;
{ /* Llib/weakhash.scm 710 */
 bool_t BgL_test4487z00_10905;
{ /* Llib/weakhash.scm 710 */
 obj_t BgL_tmpz00_10906;
{ /* Llib/weakhash.scm 710 */
 obj_t BgL_res2316z00_3807;
{ /* Llib/weakhash.scm 710 */
 obj_t BgL_aux3278z00_5581;
BgL_aux3278z00_5581 = 
STRUCT_KEY(BgL_tablez00_119); 
if(
SYMBOLP(BgL_aux3278z00_5581))
{ /* Llib/weakhash.scm 710 */
BgL_res2316z00_3807 = BgL_aux3278z00_5581; }  else 
{ 
 obj_t BgL_auxz00_10910;
BgL_auxz00_10910 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(28249L), BGl_string3467z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3278z00_5581); 
FAILURE(BgL_auxz00_10910,BFALSE,BFALSE);} } 
BgL_tmpz00_10906 = BgL_res2316z00_3807; } 
BgL_test4487z00_10905 = 
(BgL_tmpz00_10906==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4487z00_10905)
{ /* Llib/weakhash.scm 710 */
 int BgL_tmpz00_10915;
BgL_tmpz00_10915 = 
(int)(0L); 
BgL_arg1740z00_1915 = 
UNSAFE_STRUCT_REF(BgL_tablez00_119, BgL_tmpz00_10915); }  else 
{ /* Llib/weakhash.scm 710 */
BgL_arg1740z00_1915 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_119); } } 
{ /* Llib/weakhash.scm 710 */
 long BgL_za71za7_3808;
{ /* Llib/weakhash.scm 710 */
 obj_t BgL_tmpz00_10919;
if(
INTEGERP(BgL_arg1740z00_1915))
{ /* Llib/weakhash.scm 710 */
BgL_tmpz00_10919 = BgL_arg1740z00_1915
; }  else 
{ 
 obj_t BgL_auxz00_10922;
BgL_auxz00_10922 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(28271L), BGl_string3467z00zz__weakhashz00, BGl_string3453z00zz__weakhashz00, BgL_arg1740z00_1915); 
FAILURE(BgL_auxz00_10922,BFALSE,BFALSE);} 
BgL_za71za7_3808 = 
(long)CINT(BgL_tmpz00_10919); } 
BgL_arg1739z00_1914 = 
(BgL_za71za7_3808-1L); } } 
{ /* Llib/weakhash.scm 709 */
 bool_t BgL_test4490z00_10928;
{ /* Llib/weakhash.scm 709 */
 obj_t BgL_tmpz00_10929;
{ /* Llib/weakhash.scm 709 */
 obj_t BgL_res2317z00_3812;
{ /* Llib/weakhash.scm 709 */
 obj_t BgL_aux3281z00_5584;
BgL_aux3281z00_5584 = 
STRUCT_KEY(BgL_tablez00_119); 
if(
SYMBOLP(BgL_aux3281z00_5584))
{ /* Llib/weakhash.scm 709 */
BgL_res2317z00_3812 = BgL_aux3281z00_5584; }  else 
{ 
 obj_t BgL_auxz00_10933;
BgL_auxz00_10933 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(28210L), BGl_string3467z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3281z00_5584); 
FAILURE(BgL_auxz00_10933,BFALSE,BFALSE);} } 
BgL_tmpz00_10929 = BgL_res2317z00_3812; } 
BgL_test4490z00_10928 = 
(BgL_tmpz00_10929==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4490z00_10928)
{ /* Llib/weakhash.scm 709 */
 obj_t BgL_auxz00_10940; int BgL_tmpz00_10938;
BgL_auxz00_10940 = 
BINT(BgL_arg1739z00_1914); 
BgL_tmpz00_10938 = 
(int)(0L); 
UNSAFE_STRUCT_SET(BgL_tablez00_119, BgL_tmpz00_10938, BgL_auxz00_10940); }  else 
{ /* Llib/weakhash.scm 709 */
BGl_errorz00zz__errorz00(BGl_string3463z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_119); } } } 
return ((bool_t)1);}  else 
{ 
 obj_t BgL_prevz00_10946; obj_t BgL_bucketz00_10944;
BgL_bucketz00_10944 = 
CDR(BgL_bucketz00_1906); 
BgL_prevz00_10946 = BgL_bucketz00_1906; 
BgL_prevz00_1907 = BgL_prevz00_10946; 
BgL_bucketz00_1906 = BgL_bucketz00_10944; 
goto BgL_zc3z04anonymousza31730ze3z87_1908;} }  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_1923;
{ /* Llib/weakhash.scm 719 */
 bool_t BgL_test4492z00_10947;
{ /* Llib/weakhash.scm 719 */
 obj_t BgL_tmpz00_10948;
{ /* Llib/weakhash.scm 719 */
 obj_t BgL_res2318z00_3817;
{ /* Llib/weakhash.scm 719 */
 obj_t BgL_aux3283z00_5586;
BgL_aux3283z00_5586 = 
STRUCT_KEY(BgL_tablez00_121); 
if(
SYMBOLP(BgL_aux3283z00_5586))
{ /* Llib/weakhash.scm 719 */
BgL_res2318z00_3817 = BgL_aux3283z00_5586; }  else 
{ 
 obj_t BgL_auxz00_10952;
BgL_auxz00_10952 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(28633L), BGl_string3603z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3283z00_5586); 
FAILURE(BgL_auxz00_10952,BFALSE,BFALSE);} } 
BgL_tmpz00_10948 = BgL_res2318z00_3817; } 
BgL_test4492z00_10947 = 
(BgL_tmpz00_10948==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4492z00_10947)
{ /* Llib/weakhash.scm 719 */
 int BgL_tmpz00_10957;
BgL_tmpz00_10957 = 
(int)(2L); 
BgL_bucketsz00_1923 = 
UNSAFE_STRUCT_REF(BgL_tablez00_121, BgL_tmpz00_10957); }  else 
{ /* Llib/weakhash.scm 719 */
BgL_bucketsz00_1923 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_121); } } 
{ /* Llib/weakhash.scm 719 */
 long BgL_bucketzd2lenzd2_1924;
{ /* Llib/weakhash.scm 720 */
 obj_t BgL_vectorz00_3818;
if(
VECTORP(BgL_bucketsz00_1923))
{ /* Llib/weakhash.scm 720 */
BgL_vectorz00_3818 = BgL_bucketsz00_1923; }  else 
{ 
 obj_t BgL_auxz00_10963;
BgL_auxz00_10963 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(28691L), BGl_string3603z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_bucketsz00_1923); 
FAILURE(BgL_auxz00_10963,BFALSE,BFALSE);} 
BgL_bucketzd2lenzd2_1924 = 
VECTOR_LENGTH(BgL_vectorz00_3818); } 
{ /* Llib/weakhash.scm 720 */
 long BgL_bucketzd2numzd2_1925;
{ /* Llib/weakhash.scm 721 */
 long BgL_arg1754z00_1935;
BgL_arg1754z00_1935 = 
BGl_tablezd2getzd2hashnumberz00zz__weakhashz00(BgL_tablez00_121, BgL_keyz00_122); 
{ /* Llib/weakhash.scm 721 */
 long BgL_n1z00_3819; long BgL_n2z00_3820;
BgL_n1z00_3819 = BgL_arg1754z00_1935; 
BgL_n2z00_3820 = BgL_bucketzd2lenzd2_1924; 
{ /* Llib/weakhash.scm 721 */
 bool_t BgL_test4495z00_10969;
{ /* Llib/weakhash.scm 721 */
 long BgL_arg2041z00_3822;
BgL_arg2041z00_3822 = 
(((BgL_n1z00_3819) | (BgL_n2z00_3820)) & -2147483648); 
BgL_test4495z00_10969 = 
(BgL_arg2041z00_3822==0L); } 
if(BgL_test4495z00_10969)
{ /* Llib/weakhash.scm 721 */
 int32_t BgL_arg2037z00_3823;
{ /* Llib/weakhash.scm 721 */
 int32_t BgL_arg2038z00_3824; int32_t BgL_arg2039z00_3825;
BgL_arg2038z00_3824 = 
(int32_t)(BgL_n1z00_3819); 
BgL_arg2039z00_3825 = 
(int32_t)(BgL_n2z00_3820); 
BgL_arg2037z00_3823 = 
(BgL_arg2038z00_3824%BgL_arg2039z00_3825); } 
{ /* Llib/weakhash.scm 721 */
 long BgL_arg2142z00_3830;
BgL_arg2142z00_3830 = 
(long)(BgL_arg2037z00_3823); 
BgL_bucketzd2numzd2_1925 = 
(long)(BgL_arg2142z00_3830); } }  else 
{ /* Llib/weakhash.scm 721 */
BgL_bucketzd2numzd2_1925 = 
(BgL_n1z00_3819%BgL_n2z00_3820); } } } } 
{ /* Llib/weakhash.scm 721 */
 obj_t BgL_bucketz00_1926;
{ /* Llib/weakhash.scm 722 */
 obj_t BgL_vectorz00_3832;
if(
VECTORP(BgL_bucketsz00_1923))
{ /* Llib/weakhash.scm 722 */
BgL_vectorz00_3832 = BgL_bucketsz00_1923; }  else 
{ 
 obj_t BgL_auxz00_10980;
BgL_auxz00_10980 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(28798L), BGl_string3603z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_bucketsz00_1923); 
FAILURE(BgL_auxz00_10980,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 722 */
 bool_t BgL_test4497z00_10984;
{ /* Llib/weakhash.scm 722 */
 long BgL_tmpz00_10985;
BgL_tmpz00_10985 = 
VECTOR_LENGTH(BgL_vectorz00_3832); 
BgL_test4497z00_10984 = 
BOUND_CHECK(BgL_bucketzd2numzd2_1925, BgL_tmpz00_10985); } 
if(BgL_test4497z00_10984)
{ /* Llib/weakhash.scm 722 */
BgL_bucketz00_1926 = 
VECTOR_REF(BgL_vectorz00_3832,BgL_bucketzd2numzd2_1925); }  else 
{ 
 obj_t BgL_auxz00_10989;
BgL_auxz00_10989 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(28786L), BGl_string3459z00zz__weakhashz00, BgL_vectorz00_3832, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_3832)), 
(int)(BgL_bucketzd2numzd2_1925)); 
FAILURE(BgL_auxz00_10989,BFALSE,BFALSE);} } } 
{ /* Llib/weakhash.scm 722 */
 obj_t BgL_foundz00_1927;
{ /* Llib/weakhash.scm 726 */
 obj_t BgL_zc3z04anonymousza31749ze3z87_4619;
{ 
 int BgL_tmpz00_10996;
BgL_tmpz00_10996 = 
(int)(2L); 
BgL_zc3z04anonymousza31749ze3z87_4619 = 
MAKE_L_PROCEDURE(BGl_z62zc3z04anonymousza31749ze3ze5zz__weakhashz00, BgL_tmpz00_10996); } 
PROCEDURE_L_SET(BgL_zc3z04anonymousza31749ze3z87_4619, 
(int)(0L), BgL_tablez00_121); 
PROCEDURE_L_SET(BgL_zc3z04anonymousza31749ze3z87_4619, 
(int)(1L), BgL_keyz00_122); 
BgL_foundz00_1927 = 
BGl_traversezd2bucketszd2zz__weakhashz00(BgL_tablez00_121, BgL_bucketsz00_1923, BgL_bucketzd2numzd2_1925, BgL_zc3z04anonymousza31749ze3z87_4619); } 
{ /* Llib/weakhash.scm 723 */

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

}



/* &<@anonymous:1749> */
obj_t BGl_z62zc3z04anonymousza31749ze3ze5zz__weakhashz00(obj_t BgL_envz00_4620, obj_t BgL_bkeyz00_4623, obj_t BgL_valz00_4624, obj_t BgL_bucketz00_4625)
{
{ /* Llib/weakhash.scm 725 */
{ /* Llib/weakhash.scm 726 */
 obj_t BgL_tablez00_4621; obj_t BgL_keyz00_4622;
BgL_tablez00_4621 = 
((obj_t)
PROCEDURE_L_REF(BgL_envz00_4620, 
(int)(0L))); 
BgL_keyz00_4622 = 
PROCEDURE_L_REF(BgL_envz00_4620, 
(int)(1L)); 
{ /* Llib/weakhash.scm 726 */
 bool_t BgL_test4499z00_11011;
{ /* Llib/weakhash.scm 726 */
 obj_t BgL_eqtz00_5843;
{ /* Llib/weakhash.scm 726 */
 bool_t BgL_test4500z00_11012;
{ /* Llib/weakhash.scm 726 */
 obj_t BgL_tmpz00_11013;
{ /* Llib/weakhash.scm 726 */
 obj_t BgL_res2319z00_5844;
{ /* Llib/weakhash.scm 726 */
 obj_t BgL_aux3289z00_5845;
BgL_aux3289z00_5845 = 
STRUCT_KEY(BgL_tablez00_4621); 
if(
SYMBOLP(BgL_aux3289z00_5845))
{ /* Llib/weakhash.scm 726 */
BgL_res2319z00_5844 = BgL_aux3289z00_5845; }  else 
{ 
 obj_t BgL_auxz00_11017;
BgL_auxz00_11017 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(28927L), BGl_string3604z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3289z00_5845); 
FAILURE(BgL_auxz00_11017,BFALSE,BFALSE);} } 
BgL_tmpz00_11013 = BgL_res2319z00_5844; } 
BgL_test4500z00_11012 = 
(BgL_tmpz00_11013==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4500z00_11012)
{ /* Llib/weakhash.scm 726 */
 int BgL_tmpz00_11022;
BgL_tmpz00_11022 = 
(int)(3L); 
BgL_eqtz00_5843 = 
UNSAFE_STRUCT_REF(BgL_tablez00_4621, BgL_tmpz00_11022); }  else 
{ /* Llib/weakhash.scm 726 */
BgL_eqtz00_5843 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_4621); } } 
if(
PROCEDUREP(BgL_eqtz00_5843))
{ /* Llib/weakhash.scm 726 */
if(
PROCEDURE_CORRECT_ARITYP(BgL_eqtz00_5843, 2))
{ /* Llib/weakhash.scm 726 */
BgL_test4499z00_11011 = 
CBOOL(
BGL_PROCEDURE_CALL2(BgL_eqtz00_5843, BgL_keyz00_4622, BgL_bkeyz00_4623))
; }  else 
{ /* Llib/weakhash.scm 726 */
FAILURE(BGl_string3605z00zz__weakhashz00,BGl_list3537z00zz__weakhashz00,BgL_eqtz00_5843);} }  else 
{ /* Llib/weakhash.scm 726 */
if(
(BgL_keyz00_4622==BgL_bkeyz00_4623))
{ /* Llib/weakhash.scm 726 */
BgL_test4499z00_11011 = ((bool_t)1)
; }  else 
{ /* Llib/weakhash.scm 726 */
if(
STRINGP(BgL_keyz00_4622))
{ /* Llib/weakhash.scm 726 */
if(
STRINGP(BgL_bkeyz00_4623))
{ /* Llib/weakhash.scm 726 */
 long BgL_l1z00_5846;
BgL_l1z00_5846 = 
STRING_LENGTH(BgL_keyz00_4622); 
if(
(BgL_l1z00_5846==
STRING_LENGTH(BgL_bkeyz00_4623)))
{ /* Llib/weakhash.scm 726 */
 int BgL_arg1924z00_5847;
{ /* Llib/weakhash.scm 726 */
 char * BgL_auxz00_11049; char * BgL_tmpz00_11047;
BgL_auxz00_11049 = 
BSTRING_TO_STRING(BgL_bkeyz00_4623); 
BgL_tmpz00_11047 = 
BSTRING_TO_STRING(BgL_keyz00_4622); 
BgL_arg1924z00_5847 = 
memcmp(BgL_tmpz00_11047, BgL_auxz00_11049, BgL_l1z00_5846); } 
BgL_test4499z00_11011 = 
(
(long)(BgL_arg1924z00_5847)==0L); }  else 
{ /* Llib/weakhash.scm 726 */
BgL_test4499z00_11011 = ((bool_t)0)
; } }  else 
{ /* Llib/weakhash.scm 726 */
BgL_test4499z00_11011 = ((bool_t)0)
; } }  else 
{ /* Llib/weakhash.scm 726 */
BgL_test4499z00_11011 = ((bool_t)0)
; } } } } 
if(BgL_test4499z00_11011)
{ /* 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_4626, obj_t BgL_tablez00_4627, obj_t BgL_keyz00_4628)
{
{ /* Llib/weakhash.scm 734 */
{ /* Llib/weakhash.scm 735 */
 obj_t BgL_auxz00_11060;
if(
STRUCTP(BgL_tablez00_4627))
{ /* Llib/weakhash.scm 735 */
BgL_auxz00_11060 = BgL_tablez00_4627
; }  else 
{ 
 obj_t BgL_auxz00_11063;
BgL_auxz00_11063 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(29319L), BGl_string3606z00zz__weakhashz00, BGl_string3498z00zz__weakhashz00, BgL_tablez00_4627); 
FAILURE(BgL_auxz00_11063,BFALSE,BFALSE);} 
return 
BGl_weakzd2hashtablezd2removez12z12zz__weakhashz00(BgL_auxz00_11060, BgL_keyz00_4628);} } 

}



/* 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_1938;
{ /* Llib/weakhash.scm 746 */
 bool_t BgL_test4510z00_11069;
{ /* Llib/weakhash.scm 746 */
 obj_t BgL_tmpz00_11070;
{ /* Llib/weakhash.scm 746 */
 obj_t BgL_res2320z00_3858;
{ /* Llib/weakhash.scm 746 */
 obj_t BgL_aux3294z00_5598;
BgL_aux3294z00_5598 = 
STRUCT_KEY(BgL_tablez00_125); 
if(
SYMBOLP(BgL_aux3294z00_5598))
{ /* Llib/weakhash.scm 746 */
BgL_res2320z00_3858 = BgL_aux3294z00_5598; }  else 
{ 
 obj_t BgL_auxz00_11074;
BgL_auxz00_11074 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(29786L), BGl_string3607z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3294z00_5598); 
FAILURE(BgL_auxz00_11074,BFALSE,BFALSE);} } 
BgL_tmpz00_11070 = BgL_res2320z00_3858; } 
BgL_test4510z00_11069 = 
(BgL_tmpz00_11070==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4510z00_11069)
{ /* Llib/weakhash.scm 746 */
 int BgL_tmpz00_11079;
BgL_tmpz00_11079 = 
(int)(2L); 
BgL_oldzd2buckszd2_1938 = 
UNSAFE_STRUCT_REF(BgL_tablez00_125, BgL_tmpz00_11079); }  else 
{ /* Llib/weakhash.scm 746 */
BgL_oldzd2buckszd2_1938 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_125); } } 
{ /* Llib/weakhash.scm 746 */
 long BgL_lenz00_1939;
{ /* Llib/weakhash.scm 747 */
 obj_t BgL_vectorz00_3859;
if(
VECTORP(BgL_oldzd2buckszd2_1938))
{ /* Llib/weakhash.scm 747 */
BgL_vectorz00_3859 = BgL_oldzd2buckszd2_1938; }  else 
{ 
 obj_t BgL_auxz00_11085;
BgL_auxz00_11085 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(29837L), BGl_string3607z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_oldzd2buckszd2_1938); 
FAILURE(BgL_auxz00_11085,BFALSE,BFALSE);} 
BgL_lenz00_1939 = 
VECTOR_LENGTH(BgL_vectorz00_3859); } 
{ /* Llib/weakhash.scm 747 */
 obj_t BgL_maxzd2bucketzd2lenz00_1940;
{ /* Llib/weakhash.scm 748 */
 bool_t BgL_test4513z00_11090;
{ /* Llib/weakhash.scm 748 */
 obj_t BgL_tmpz00_11091;
{ /* Llib/weakhash.scm 748 */
 obj_t BgL_res2321z00_3863;
{ /* Llib/weakhash.scm 748 */
 obj_t BgL_aux3298z00_5602;
BgL_aux3298z00_5602 = 
STRUCT_KEY(BgL_tablez00_125); 
if(
SYMBOLP(BgL_aux3298z00_5602))
{ /* Llib/weakhash.scm 748 */
BgL_res2321z00_3863 = BgL_aux3298z00_5602; }  else 
{ 
 obj_t BgL_auxz00_11095;
BgL_auxz00_11095 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(29868L), BGl_string3607z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3298z00_5602); 
FAILURE(BgL_auxz00_11095,BFALSE,BFALSE);} } 
BgL_tmpz00_11091 = BgL_res2321z00_3863; } 
BgL_test4513z00_11090 = 
(BgL_tmpz00_11091==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4513z00_11090)
{ /* Llib/weakhash.scm 748 */
 int BgL_tmpz00_11100;
BgL_tmpz00_11100 = 
(int)(1L); 
BgL_maxzd2bucketzd2lenz00_1940 = 
UNSAFE_STRUCT_REF(BgL_tablez00_125, BgL_tmpz00_11100); }  else 
{ /* Llib/weakhash.scm 748 */
BgL_maxzd2bucketzd2lenz00_1940 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_125); } } 
{ /* Llib/weakhash.scm 748 */

{ 
 long BgL_iz00_1942; long BgL_siza7eza7_1943; bool_t BgL_expandz00_1944;
BgL_iz00_1942 = 0L; 
BgL_siza7eza7_1943 = 0L; 
BgL_expandz00_1944 = ((bool_t)0); 
BgL_zc3z04anonymousza31756ze3z87_1945:
if(
(BgL_iz00_1942<BgL_lenz00_1939))
{ /* Llib/weakhash.scm 754 */
 long BgL_countz00_1947;
BgL_countz00_1947 = 0L; 
{ /* Llib/weakhash.scm 756 */
 obj_t BgL_arg1758z00_1948;
{ /* Llib/weakhash.scm 756 */
 obj_t BgL_hook1119z00_1949;
BgL_hook1119z00_1949 = 
MAKE_YOUNG_PAIR(BFALSE, BNIL); 
{ /* Llib/weakhash.scm 761 */
 obj_t BgL_g1120z00_1950;
{ /* Llib/weakhash.scm 761 */
 obj_t BgL_vectorz00_3866;
if(
VECTORP(BgL_oldzd2buckszd2_1938))
{ /* Llib/weakhash.scm 761 */
BgL_vectorz00_3866 = BgL_oldzd2buckszd2_1938; }  else 
{ 
 obj_t BgL_auxz00_11109;
BgL_auxz00_11109 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(30213L), BGl_string3467z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_oldzd2buckszd2_1938); 
FAILURE(BgL_auxz00_11109,BFALSE,BFALSE);} 
BgL_g1120z00_1950 = 
VECTOR_REF(BgL_vectorz00_3866,BgL_iz00_1942); } 
{ 
 obj_t BgL_l1116z00_1952; obj_t BgL_h1117z00_1953;
BgL_l1116z00_1952 = BgL_g1120z00_1950; 
BgL_h1117z00_1953 = BgL_hook1119z00_1949; 
BgL_zc3z04anonymousza31759ze3z87_1954:
if(
NULLP(BgL_l1116z00_1952))
{ /* Llib/weakhash.scm 761 */
BgL_arg1758z00_1948 = 
CDR(BgL_hook1119z00_1949); }  else 
{ /* Llib/weakhash.scm 761 */
 bool_t BgL_test4518z00_11117;
{ /* Llib/weakhash.scm 757 */
 obj_t BgL_cellz00_1963;
{ /* Llib/weakhash.scm 757 */
 obj_t BgL_pairz00_3869;
if(
PAIRP(BgL_l1116z00_1952))
{ /* Llib/weakhash.scm 757 */
BgL_pairz00_3869 = BgL_l1116z00_1952; }  else 
{ 
 obj_t BgL_auxz00_11120;
BgL_auxz00_11120 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(30071L), BGl_string3608z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_l1116z00_1952); 
FAILURE(BgL_auxz00_11120,BFALSE,BFALSE);} 
BgL_cellz00_1963 = 
CAR(BgL_pairz00_3869); } 
{ /* Llib/weakhash.scm 757 */
 obj_t BgL_keyz00_1964;
{ /* Llib/weakhash.scm 757 */
 obj_t BgL_objz00_3870;
if(
BGL_WEAKPTRP(BgL_cellz00_1963))
{ /* Llib/weakhash.scm 757 */
BgL_objz00_3870 = BgL_cellz00_1963; }  else 
{ 
 obj_t BgL_auxz00_11127;
BgL_auxz00_11127 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(30096L), BGl_string3608z00zz__weakhashz00, BGl_string3462z00zz__weakhashz00, BgL_cellz00_1963); 
FAILURE(BgL_auxz00_11127,BFALSE,BFALSE);} 
BgL_keyz00_1964 = 
bgl_weakptr_data(BgL_objz00_3870); } 
if(
(BgL_keyz00_1964==BUNSPEC))
{ /* Llib/weakhash.scm 758 */
BgL_test4518z00_11117 = ((bool_t)0)
; }  else 
{ /* Llib/weakhash.scm 758 */
BgL_countz00_1947 = 
(BgL_countz00_1947+1L); 
BgL_test4518z00_11117 = 
CBOOL(BgL_keyz00_1964); } } } 
if(BgL_test4518z00_11117)
{ /* Llib/weakhash.scm 761 */
 obj_t BgL_nh1118z00_1959;
{ /* Llib/weakhash.scm 761 */
 obj_t BgL_arg1763z00_1961;
{ /* Llib/weakhash.scm 761 */
 obj_t BgL_pairz00_3872;
if(
PAIRP(BgL_l1116z00_1952))
{ /* Llib/weakhash.scm 761 */
BgL_pairz00_3872 = BgL_l1116z00_1952; }  else 
{ 
 obj_t BgL_auxz00_11138;
BgL_auxz00_11138 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(30198L), BGl_string3608z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_l1116z00_1952); 
FAILURE(BgL_auxz00_11138,BFALSE,BFALSE);} 
BgL_arg1763z00_1961 = 
CAR(BgL_pairz00_3872); } 
BgL_nh1118z00_1959 = 
MAKE_YOUNG_PAIR(BgL_arg1763z00_1961, BNIL); } 
SET_CDR(BgL_h1117z00_1953, BgL_nh1118z00_1959); 
{ /* Llib/weakhash.scm 761 */
 obj_t BgL_arg1762z00_1960;
{ /* Llib/weakhash.scm 761 */
 obj_t BgL_pairz00_3874;
if(
PAIRP(BgL_l1116z00_1952))
{ /* Llib/weakhash.scm 761 */
BgL_pairz00_3874 = BgL_l1116z00_1952; }  else 
{ 
 obj_t BgL_auxz00_11147;
BgL_auxz00_11147 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(30198L), BGl_string3608z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_l1116z00_1952); 
FAILURE(BgL_auxz00_11147,BFALSE,BFALSE);} 
BgL_arg1762z00_1960 = 
CDR(BgL_pairz00_3874); } 
{ 
 obj_t BgL_h1117z00_11153; obj_t BgL_l1116z00_11152;
BgL_l1116z00_11152 = BgL_arg1762z00_1960; 
BgL_h1117z00_11153 = BgL_nh1118z00_1959; 
BgL_h1117z00_1953 = BgL_h1117z00_11153; 
BgL_l1116z00_1952 = BgL_l1116z00_11152; 
goto BgL_zc3z04anonymousza31759ze3z87_1954;} } }  else 
{ /* Llib/weakhash.scm 761 */
 obj_t BgL_arg1764z00_1962;
{ /* Llib/weakhash.scm 761 */
 obj_t BgL_pairz00_3875;
if(
PAIRP(BgL_l1116z00_1952))
{ /* Llib/weakhash.scm 761 */
BgL_pairz00_3875 = BgL_l1116z00_1952; }  else 
{ 
 obj_t BgL_auxz00_11156;
BgL_auxz00_11156 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(30198L), BGl_string3608z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_l1116z00_1952); 
FAILURE(BgL_auxz00_11156,BFALSE,BFALSE);} 
BgL_arg1764z00_1962 = 
CDR(BgL_pairz00_3875); } 
{ 
 obj_t BgL_l1116z00_11161;
BgL_l1116z00_11161 = BgL_arg1764z00_1962; 
BgL_l1116z00_1952 = BgL_l1116z00_11161; 
goto BgL_zc3z04anonymousza31759ze3z87_1954;} } } } } } 
{ /* Llib/weakhash.scm 755 */
 obj_t BgL_vectorz00_3876;
if(
VECTORP(BgL_oldzd2buckszd2_1938))
{ /* Llib/weakhash.scm 755 */
BgL_vectorz00_3876 = BgL_oldzd2buckszd2_1938; }  else 
{ 
 obj_t BgL_auxz00_11164;
BgL_auxz00_11164 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(30022L), BGl_string3467z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_oldzd2buckszd2_1938); 
FAILURE(BgL_auxz00_11164,BFALSE,BFALSE);} 
VECTOR_SET(BgL_vectorz00_3876,BgL_iz00_1942,BgL_arg1758z00_1948); } } 
{ /* Llib/weakhash.scm 762 */
 long BgL_arg1765z00_1966; long BgL_arg1766z00_1967; bool_t BgL_arg1767z00_1968;
BgL_arg1765z00_1966 = 
(BgL_iz00_1942+1L); 
BgL_arg1766z00_1967 = 
(BgL_siza7eza7_1943+BgL_countz00_1947); 
if(BgL_expandz00_1944)
{ /* Llib/weakhash.scm 763 */
BgL_arg1767z00_1968 = BgL_expandz00_1944; }  else 
{ /* Llib/weakhash.scm 763 */
 long BgL_n1z00_3881; long BgL_n2z00_3882;
BgL_n1z00_3881 = BgL_countz00_1947; 
{ /* Llib/weakhash.scm 763 */
 obj_t BgL_tmpz00_11172;
if(
INTEGERP(BgL_maxzd2bucketzd2lenz00_1940))
{ /* Llib/weakhash.scm 763 */
BgL_tmpz00_11172 = BgL_maxzd2bucketzd2lenz00_1940
; }  else 
{ 
 obj_t BgL_auxz00_11175;
BgL_auxz00_11175 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(30290L), BGl_string3467z00zz__weakhashz00, BGl_string3453z00zz__weakhashz00, BgL_maxzd2bucketzd2lenz00_1940); 
FAILURE(BgL_auxz00_11175,BFALSE,BFALSE);} 
BgL_n2z00_3882 = 
(long)CINT(BgL_tmpz00_11172); } 
BgL_arg1767z00_1968 = 
(BgL_n1z00_3881>BgL_n2z00_3882); } 
{ 
 bool_t BgL_expandz00_11183; long BgL_siza7eza7_11182; long BgL_iz00_11181;
BgL_iz00_11181 = BgL_arg1765z00_1966; 
BgL_siza7eza7_11182 = BgL_arg1766z00_1967; 
BgL_expandz00_11183 = BgL_arg1767z00_1968; 
BgL_expandz00_1944 = BgL_expandz00_11183; 
BgL_siza7eza7_1943 = BgL_siza7eza7_11182; 
BgL_iz00_1942 = BgL_iz00_11181; 
goto BgL_zc3z04anonymousza31756ze3z87_1945;} } }  else 
{ /* Llib/weakhash.scm 753 */
if(BgL_expandz00_1944)
{ /* Llib/weakhash.scm 765 */
 long BgL_newzd2lenzd2_1970;
BgL_newzd2lenzd2_1970 = 
(2L*BgL_lenz00_1939); 
{ /* Llib/weakhash.scm 765 */
 obj_t BgL_maxzd2lenzd2_1971;
{ /* Llib/weakhash.scm 766 */
 bool_t BgL_test4529z00_11186;
{ /* Llib/weakhash.scm 766 */
 obj_t BgL_tmpz00_11187;
{ /* Llib/weakhash.scm 766 */
 obj_t BgL_res2322z00_3887;
{ /* Llib/weakhash.scm 766 */
 obj_t BgL_aux3315z00_5619;
BgL_aux3315z00_5619 = 
STRUCT_KEY(BgL_tablez00_125); 
if(
SYMBOLP(BgL_aux3315z00_5619))
{ /* Llib/weakhash.scm 766 */
BgL_res2322z00_3887 = BgL_aux3315z00_5619; }  else 
{ 
 obj_t BgL_auxz00_11191;
BgL_auxz00_11191 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(30373L), BGl_string3467z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3315z00_5619); 
FAILURE(BgL_auxz00_11191,BFALSE,BFALSE);} } 
BgL_tmpz00_11187 = BgL_res2322z00_3887; } 
BgL_test4529z00_11186 = 
(BgL_tmpz00_11187==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4529z00_11186)
{ /* Llib/weakhash.scm 766 */
 int BgL_tmpz00_11196;
BgL_tmpz00_11196 = 
(int)(6L); 
BgL_maxzd2lenzd2_1971 = 
UNSAFE_STRUCT_REF(BgL_tablez00_125, BgL_tmpz00_11196); }  else 
{ /* Llib/weakhash.scm 766 */
BgL_maxzd2lenzd2_1971 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_125); } } 
{ /* Llib/weakhash.scm 766 */

{ /* Llib/weakhash.scm 768 */
 obj_t BgL_nmaxz00_1972;
{ /* Llib/weakhash.scm 768 */
 obj_t BgL_a1121z00_1975;
{ /* Llib/weakhash.scm 768 */
 bool_t BgL_test4531z00_11200;
{ /* Llib/weakhash.scm 768 */
 obj_t BgL_tmpz00_11201;
{ /* Llib/weakhash.scm 768 */
 obj_t BgL_res2323z00_3891;
{ /* Llib/weakhash.scm 768 */
 obj_t BgL_aux3317z00_5621;
BgL_aux3317z00_5621 = 
STRUCT_KEY(BgL_tablez00_125); 
if(
SYMBOLP(BgL_aux3317z00_5621))
{ /* Llib/weakhash.scm 768 */
BgL_res2323z00_3891 = BgL_aux3317z00_5621; }  else 
{ 
 obj_t BgL_auxz00_11205;
BgL_auxz00_11205 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(30454L), BGl_string3467z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3317z00_5621); 
FAILURE(BgL_auxz00_11205,BFALSE,BFALSE);} } 
BgL_tmpz00_11201 = BgL_res2323z00_3891; } 
BgL_test4531z00_11200 = 
(BgL_tmpz00_11201==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4531z00_11200)
{ /* Llib/weakhash.scm 768 */
 int BgL_tmpz00_11210;
BgL_tmpz00_11210 = 
(int)(1L); 
BgL_a1121z00_1975 = 
UNSAFE_STRUCT_REF(BgL_tablez00_125, BgL_tmpz00_11210); }  else 
{ /* Llib/weakhash.scm 768 */
BgL_a1121z00_1975 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_125); } } 
{ /* Llib/weakhash.scm 769 */
 obj_t BgL_b1122z00_1976;
{ /* Llib/weakhash.scm 769 */
 bool_t BgL_test4533z00_11214;
{ /* Llib/weakhash.scm 769 */
 obj_t BgL_tmpz00_11215;
{ /* Llib/weakhash.scm 769 */
 obj_t BgL_res2324z00_3895;
{ /* Llib/weakhash.scm 769 */
 obj_t BgL_aux3319z00_5623;
BgL_aux3319z00_5623 = 
STRUCT_KEY(BgL_tablez00_125); 
if(
SYMBOLP(BgL_aux3319z00_5623))
{ /* Llib/weakhash.scm 769 */
BgL_res2324z00_3895 = BgL_aux3319z00_5623; }  else 
{ 
 obj_t BgL_auxz00_11219;
BgL_auxz00_11219 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(30498L), BGl_string3467z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3319z00_5623); 
FAILURE(BgL_auxz00_11219,BFALSE,BFALSE);} } 
BgL_tmpz00_11215 = BgL_res2324z00_3895; } 
BgL_test4533z00_11214 = 
(BgL_tmpz00_11215==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4533z00_11214)
{ /* Llib/weakhash.scm 769 */
 int BgL_tmpz00_11224;
BgL_tmpz00_11224 = 
(int)(7L); 
BgL_b1122z00_1976 = 
UNSAFE_STRUCT_REF(BgL_tablez00_125, BgL_tmpz00_11224); }  else 
{ /* Llib/weakhash.scm 769 */
BgL_b1122z00_1976 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_125); } } 
{ /* Llib/weakhash.scm 768 */

{ /* Llib/weakhash.scm 768 */
 bool_t BgL_test4535z00_11228;
if(
INTEGERP(BgL_a1121z00_1975))
{ /* Llib/weakhash.scm 768 */
BgL_test4535z00_11228 = 
INTEGERP(BgL_b1122z00_1976)
; }  else 
{ /* Llib/weakhash.scm 768 */
BgL_test4535z00_11228 = ((bool_t)0)
; } 
if(BgL_test4535z00_11228)
{ /* Llib/weakhash.scm 768 */
 obj_t BgL_tmpz00_3898;
BgL_tmpz00_3898 = 
BINT(0L); 
if(
BGL_MULFX_OV(BgL_a1121z00_1975, BgL_b1122z00_1976, BgL_tmpz00_3898))
{ /* Llib/weakhash.scm 768 */
BgL_nmaxz00_1972 = 
bgl_bignum_mul(
bgl_long_to_bignum(
(long)CINT(BgL_a1121z00_1975)), 
bgl_long_to_bignum(
(long)CINT(BgL_b1122z00_1976))); }  else 
{ /* Llib/weakhash.scm 768 */
BgL_nmaxz00_1972 = BgL_tmpz00_3898; } }  else 
{ /* Llib/weakhash.scm 768 */
BgL_nmaxz00_1972 = 
BGl_2za2za2zz__r4_numbers_6_5z00(BgL_a1121z00_1975, BgL_b1122z00_1976); } } } } } 
{ /* Llib/weakhash.scm 771 */
 obj_t BgL_arg1768z00_1973;
if(
REALP(BgL_nmaxz00_1972))
{ /* Llib/weakhash.scm 771 */
BgL_arg1768z00_1973 = 
BINT(
(long)(
REAL_TO_DOUBLE(BgL_nmaxz00_1972))); }  else 
{ /* Llib/weakhash.scm 771 */
BgL_arg1768z00_1973 = BgL_nmaxz00_1972; } 
{ /* Llib/weakhash.scm 770 */
 bool_t BgL_test4539z00_11246;
{ /* Llib/weakhash.scm 770 */
 obj_t BgL_tmpz00_11247;
{ /* Llib/weakhash.scm 770 */
 obj_t BgL_res2325z00_3910;
{ /* Llib/weakhash.scm 770 */
 obj_t BgL_aux3321z00_5625;
BgL_aux3321z00_5625 = 
STRUCT_KEY(BgL_tablez00_125); 
if(
SYMBOLP(BgL_aux3321z00_5625))
{ /* Llib/weakhash.scm 770 */
BgL_res2325z00_3910 = BgL_aux3321z00_5625; }  else 
{ 
 obj_t BgL_auxz00_11251;
BgL_auxz00_11251 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(30542L), BGl_string3467z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3321z00_5625); 
FAILURE(BgL_auxz00_11251,BFALSE,BFALSE);} } 
BgL_tmpz00_11247 = BgL_res2325z00_3910; } 
BgL_test4539z00_11246 = 
(BgL_tmpz00_11247==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4539z00_11246)
{ /* Llib/weakhash.scm 770 */
 int BgL_tmpz00_11256;
BgL_tmpz00_11256 = 
(int)(1L); 
UNSAFE_STRUCT_SET(BgL_tablez00_125, BgL_tmpz00_11256, BgL_arg1768z00_1973); }  else 
{ /* Llib/weakhash.scm 770 */
BGl_errorz00zz__errorz00(BGl_string3463z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_125); } } } } 
{ /* Llib/weakhash.scm 773 */
 bool_t BgL_test4541z00_11260;
{ /* Llib/weakhash.scm 773 */
 bool_t BgL_test4542z00_11261;
{ /* Llib/weakhash.scm 773 */
 long BgL_n1z00_3911;
{ /* Llib/weakhash.scm 773 */
 obj_t BgL_tmpz00_11262;
if(
INTEGERP(BgL_maxzd2lenzd2_1971))
{ /* Llib/weakhash.scm 773 */
BgL_tmpz00_11262 = BgL_maxzd2lenzd2_1971
; }  else 
{ 
 obj_t BgL_auxz00_11265;
BgL_auxz00_11265 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(30682L), BGl_string3467z00zz__weakhashz00, BGl_string3453z00zz__weakhashz00, BgL_maxzd2lenzd2_1971); 
FAILURE(BgL_auxz00_11265,BFALSE,BFALSE);} 
BgL_n1z00_3911 = 
(long)CINT(BgL_tmpz00_11262); } 
BgL_test4542z00_11261 = 
(BgL_n1z00_3911<0L); } 
if(BgL_test4542z00_11261)
{ /* Llib/weakhash.scm 773 */
BgL_test4541z00_11260 = ((bool_t)1)
; }  else 
{ /* Llib/weakhash.scm 773 */
 long BgL_n2z00_3913;
{ /* Llib/weakhash.scm 773 */
 obj_t BgL_tmpz00_11271;
if(
INTEGERP(BgL_maxzd2lenzd2_1971))
{ /* Llib/weakhash.scm 773 */
BgL_tmpz00_11271 = BgL_maxzd2lenzd2_1971
; }  else 
{ 
 obj_t BgL_auxz00_11274;
BgL_auxz00_11274 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(30707L), BGl_string3467z00zz__weakhashz00, BGl_string3453z00zz__weakhashz00, BgL_maxzd2lenzd2_1971); 
FAILURE(BgL_auxz00_11274,BFALSE,BFALSE);} 
BgL_n2z00_3913 = 
(long)CINT(BgL_tmpz00_11271); } 
BgL_test4541z00_11260 = 
(BgL_newzd2lenzd2_1970<=BgL_n2z00_3913); } } 
if(BgL_test4541z00_11260)
{ /* Llib/weakhash.scm 774 */
 obj_t BgL_newzd2buckszd2_1980;
BgL_newzd2buckszd2_1980 = 
make_vector(BgL_newzd2lenzd2_1970, BNIL); 
{ /* Llib/weakhash.scm 775 */
 bool_t BgL_test4545z00_11281;
{ /* Llib/weakhash.scm 775 */
 obj_t BgL_tmpz00_11282;
{ /* Llib/weakhash.scm 775 */
 obj_t BgL_res2326z00_3917;
{ /* Llib/weakhash.scm 775 */
 obj_t BgL_aux3325z00_5629;
BgL_aux3325z00_5629 = 
STRUCT_KEY(BgL_tablez00_125); 
if(
SYMBOLP(BgL_aux3325z00_5629))
{ /* Llib/weakhash.scm 775 */
BgL_res2326z00_3917 = BgL_aux3325z00_5629; }  else 
{ 
 obj_t BgL_auxz00_11286;
BgL_auxz00_11286 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(30777L), BGl_string3467z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3325z00_5629); 
FAILURE(BgL_auxz00_11286,BFALSE,BFALSE);} } 
BgL_tmpz00_11282 = BgL_res2326z00_3917; } 
BgL_test4545z00_11281 = 
(BgL_tmpz00_11282==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4545z00_11281)
{ /* Llib/weakhash.scm 775 */
 int BgL_tmpz00_11291;
BgL_tmpz00_11291 = 
(int)(2L); 
UNSAFE_STRUCT_SET(BgL_tablez00_125, BgL_tmpz00_11291, BgL_newzd2buckszd2_1980); }  else 
{ /* Llib/weakhash.scm 775 */
BGl_errorz00zz__errorz00(BGl_string3463z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_125); } } 
{ 
 long BgL_iz00_1982;
BgL_iz00_1982 = 0L; 
BgL_zc3z04anonymousza31773ze3z87_1983:
if(
(BgL_iz00_1982<BgL_lenz00_1939))
{ /* Llib/weakhash.scm 778 */
{ /* Llib/weakhash.scm 779 */
 obj_t BgL_g1125z00_1985;
{ /* Llib/weakhash.scm 786 */
 obj_t BgL_vectorz00_3920;
if(
VECTORP(BgL_oldzd2buckszd2_1938))
{ /* Llib/weakhash.scm 786 */
BgL_vectorz00_3920 = BgL_oldzd2buckszd2_1938; }  else 
{ 
 obj_t BgL_auxz00_11299;
BgL_auxz00_11299 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(31164L), BGl_string3467z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_oldzd2buckszd2_1938); 
FAILURE(BgL_auxz00_11299,BFALSE,BFALSE);} 
BgL_g1125z00_1985 = 
VECTOR_REF(BgL_vectorz00_3920,BgL_iz00_1982); } 
{ 
 obj_t BgL_l1123z00_1987;
BgL_l1123z00_1987 = BgL_g1125z00_1985; 
BgL_zc3z04anonymousza31775ze3z87_1988:
if(
PAIRP(BgL_l1123z00_1987))
{ /* Llib/weakhash.scm 786 */
{ /* Llib/weakhash.scm 780 */
 obj_t BgL_cellz00_1990;
BgL_cellz00_1990 = 
CAR(BgL_l1123z00_1987); 
{ /* Llib/weakhash.scm 780 */
 obj_t BgL_keyz00_1991;
{ /* Llib/weakhash.scm 780 */
 obj_t BgL_objz00_3923;
if(
BGL_WEAKPTRP(BgL_cellz00_1990))
{ /* Llib/weakhash.scm 780 */
BgL_objz00_3923 = BgL_cellz00_1990; }  else 
{ 
 obj_t BgL_auxz00_11309;
BgL_auxz00_11309 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(30945L), BGl_string3609z00zz__weakhashz00, BGl_string3462z00zz__weakhashz00, BgL_cellz00_1990); 
FAILURE(BgL_auxz00_11309,BFALSE,BFALSE);} 
BgL_keyz00_1991 = 
bgl_weakptr_data(BgL_objz00_3923); } 
{ /* Llib/weakhash.scm 781 */
 long BgL_nz00_1992;
BgL_nz00_1992 = 
BGl_tablezd2getzd2hashnumberz00zz__weakhashz00(BgL_tablez00_125, BgL_keyz00_1991); 
{ /* Llib/weakhash.scm 781 */
 long BgL_hz00_1993;
{ /* Llib/weakhash.scm 783 */
 long BgL_n1z00_3924; long BgL_n2z00_3925;
BgL_n1z00_3924 = BgL_nz00_1992; 
BgL_n2z00_3925 = BgL_newzd2lenzd2_1970; 
{ /* Llib/weakhash.scm 783 */
 bool_t BgL_test4551z00_11315;
{ /* Llib/weakhash.scm 783 */
 long BgL_arg2041z00_3927;
BgL_arg2041z00_3927 = 
(((BgL_n1z00_3924) | (BgL_n2z00_3925)) & -2147483648); 
BgL_test4551z00_11315 = 
(BgL_arg2041z00_3927==0L); } 
if(BgL_test4551z00_11315)
{ /* Llib/weakhash.scm 783 */
 int32_t BgL_arg2037z00_3928;
{ /* Llib/weakhash.scm 783 */
 int32_t BgL_arg2038z00_3929; int32_t BgL_arg2039z00_3930;
BgL_arg2038z00_3929 = 
(int32_t)(BgL_n1z00_3924); 
BgL_arg2039z00_3930 = 
(int32_t)(BgL_n2z00_3925); 
BgL_arg2037z00_3928 = 
(BgL_arg2038z00_3929%BgL_arg2039z00_3930); } 
{ /* Llib/weakhash.scm 783 */
 long BgL_arg2142z00_3935;
BgL_arg2142z00_3935 = 
(long)(BgL_arg2037z00_3928); 
BgL_hz00_1993 = 
(long)(BgL_arg2142z00_3935); } }  else 
{ /* Llib/weakhash.scm 783 */
BgL_hz00_1993 = 
(BgL_n1z00_3924%BgL_n2z00_3925); } } } 
{ /* Llib/weakhash.scm 783 */

{ /* Llib/weakhash.scm 785 */
 obj_t BgL_arg1777z00_1994;
{ /* Llib/weakhash.scm 785 */
 obj_t BgL_arg1778z00_1995;
{ /* Llib/weakhash.scm 785 */
 bool_t BgL_test4552z00_11324;
{ /* Llib/weakhash.scm 785 */
 long BgL_tmpz00_11325;
BgL_tmpz00_11325 = 
VECTOR_LENGTH(BgL_newzd2buckszd2_1980); 
BgL_test4552z00_11324 = 
BOUND_CHECK(BgL_hz00_1993, BgL_tmpz00_11325); } 
if(BgL_test4552z00_11324)
{ /* Llib/weakhash.scm 785 */
BgL_arg1778z00_1995 = 
VECTOR_REF(BgL_newzd2buckszd2_1980,BgL_hz00_1993); }  else 
{ 
 obj_t BgL_auxz00_11329;
BgL_auxz00_11329 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(31114L), BGl_string3459z00zz__weakhashz00, BgL_newzd2buckszd2_1980, 
(int)(
VECTOR_LENGTH(BgL_newzd2buckszd2_1980)), 
(int)(BgL_hz00_1993)); 
FAILURE(BgL_auxz00_11329,BFALSE,BFALSE);} } 
BgL_arg1777z00_1994 = 
MAKE_YOUNG_PAIR(BgL_cellz00_1990, BgL_arg1778z00_1995); } 
VECTOR_SET(BgL_newzd2buckszd2_1980,BgL_hz00_1993,BgL_arg1777z00_1994); } } } } } } 
{ 
 obj_t BgL_l1123z00_11338;
BgL_l1123z00_11338 = 
CDR(BgL_l1123z00_1987); 
BgL_l1123z00_1987 = BgL_l1123z00_11338; 
goto BgL_zc3z04anonymousza31775ze3z87_1988;} }  else 
{ /* Llib/weakhash.scm 786 */
if(
NULLP(BgL_l1123z00_1987))
{ /* Llib/weakhash.scm 786 */BTRUE; }  else 
{ /* Llib/weakhash.scm 786 */
BGl_bigloozd2typezd2errorzf2locationzf2zz__errorz00(BGl_string3478z00zz__weakhashz00, BGl_string3479z00zz__weakhashz00, BgL_l1123z00_1987, BGl_string3456z00zz__weakhashz00, 
BINT(30887L)); } } } } 
{ 
 long BgL_iz00_11344;
BgL_iz00_11344 = 
(BgL_iz00_1982+1L); 
BgL_iz00_1982 = BgL_iz00_11344; 
goto BgL_zc3z04anonymousza31773ze3z87_1983;} }  else 
{ /* Llib/weakhash.scm 789 */
 bool_t BgL_test4554z00_11346;
{ /* Llib/weakhash.scm 789 */
 obj_t BgL_tmpz00_11347;
{ /* Llib/weakhash.scm 789 */
 obj_t BgL_res2327z00_3946;
{ /* Llib/weakhash.scm 789 */
 obj_t BgL_aux3331z00_5635;
BgL_aux3331z00_5635 = 
STRUCT_KEY(BgL_tablez00_125); 
if(
SYMBOLP(BgL_aux3331z00_5635))
{ /* Llib/weakhash.scm 789 */
BgL_res2327z00_3946 = BgL_aux3331z00_5635; }  else 
{ 
 obj_t BgL_auxz00_11351;
BgL_auxz00_11351 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(31228L), BGl_string3467z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3331z00_5635); 
FAILURE(BgL_auxz00_11351,BFALSE,BFALSE);} } 
BgL_tmpz00_11347 = BgL_res2327z00_3946; } 
BgL_test4554z00_11346 = 
(BgL_tmpz00_11347==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4554z00_11346)
{ /* Llib/weakhash.scm 789 */
 obj_t BgL_auxz00_11358; int BgL_tmpz00_11356;
BgL_auxz00_11358 = 
BINT(BgL_siza7eza7_1943); 
BgL_tmpz00_11356 = 
(int)(0L); 
return 
UNSAFE_STRUCT_SET(BgL_tablez00_125, BgL_tmpz00_11356, BgL_auxz00_11358);}  else 
{ /* Llib/weakhash.scm 789 */
return 
BGl_errorz00zz__errorz00(BGl_string3463z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_125);} } } }  else 
{ /* Llib/weakhash.scm 793 */
 obj_t BgL_arg1782z00_2001;
{ /* Llib/weakhash.scm 793 */
 long BgL_arg1783z00_2002;
BgL_arg1783z00_2002 = 
BGl_hashtablezd2siza7ez75zz__hashz00(BgL_tablez00_125); 
{ /* Llib/weakhash.scm 791 */
 obj_t BgL_list1784z00_2003;
{ /* Llib/weakhash.scm 791 */
 obj_t BgL_arg1785z00_2004;
{ /* Llib/weakhash.scm 791 */
 obj_t BgL_arg1786z00_2005;
BgL_arg1786z00_2005 = 
MAKE_YOUNG_PAIR(
BINT(BgL_arg1783z00_2002), BNIL); 
BgL_arg1785z00_2004 = 
MAKE_YOUNG_PAIR(BgL_maxzd2lenzd2_1971, BgL_arg1786z00_2005); } 
BgL_list1784z00_2003 = 
MAKE_YOUNG_PAIR(
BINT(BgL_newzd2lenzd2_1970), BgL_arg1785z00_2004); } 
BgL_arg1782z00_2001 = 
BGl_formatz00zz__r4_output_6_10_3z00(BGl_string3610z00zz__weakhashz00, BgL_list1784z00_2003); } } 
return 
BGl_errorz00zz__errorz00(BGl_string3611z00zz__weakhashz00, BgL_arg1782z00_2001, 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_test4556z00_11370;
{ /* Llib/weakhash.scm 816 */
 obj_t BgL_arg1858z00_2147;
{ /* Llib/weakhash.scm 816 */
 bool_t BgL_test4557z00_11371;
{ /* Llib/weakhash.scm 816 */
 obj_t BgL_tmpz00_11372;
{ /* Llib/weakhash.scm 816 */
 obj_t BgL_res2328z00_3950;
{ /* Llib/weakhash.scm 816 */
 obj_t BgL_aux3333z00_5637;
BgL_aux3333z00_5637 = 
STRUCT_KEY(BgL_tablez00_126); 
if(
SYMBOLP(BgL_aux3333z00_5637))
{ /* Llib/weakhash.scm 816 */
BgL_res2328z00_3950 = BgL_aux3333z00_5637; }  else 
{ 
 obj_t BgL_auxz00_11376;
BgL_auxz00_11376 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(32344L), BGl_string3612z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3333z00_5637); 
FAILURE(BgL_auxz00_11376,BFALSE,BFALSE);} } 
BgL_tmpz00_11372 = BgL_res2328z00_3950; } 
BgL_test4557z00_11371 = 
(BgL_tmpz00_11372==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4557z00_11371)
{ /* Llib/weakhash.scm 816 */
 int BgL_tmpz00_11381;
BgL_tmpz00_11381 = 
(int)(5L); 
BgL_arg1858z00_2147 = 
UNSAFE_STRUCT_REF(BgL_tablez00_126, BgL_tmpz00_11381); }  else 
{ /* Llib/weakhash.scm 816 */
BgL_arg1858z00_2147 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_126); } } 
{ /* Llib/weakhash.scm 816 */
 long BgL_n2z00_3951;
{ /* Llib/weakhash.scm 816 */
 obj_t BgL_tmpz00_11385;
if(
INTEGERP(BgL_arg1858z00_2147))
{ /* Llib/weakhash.scm 816 */
BgL_tmpz00_11385 = BgL_arg1858z00_2147
; }  else 
{ 
 obj_t BgL_auxz00_11388;
BgL_auxz00_11388 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(32366L), BGl_string3612z00zz__weakhashz00, BGl_string3453z00zz__weakhashz00, BgL_arg1858z00_2147); 
FAILURE(BgL_auxz00_11388,BFALSE,BFALSE);} 
BgL_n2z00_3951 = 
(long)CINT(BgL_tmpz00_11385); } 
BgL_test4556z00_11370 = 
(1L==BgL_n2z00_3951); } } 
if(BgL_test4556z00_11370)
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_oldzd2buckszd2_2010;
{ /* Llib/weakhash.scm 800 */
 bool_t BgL_test4560z00_11394;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_tmpz00_11395;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_res2329z00_3955;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_aux3336z00_5640;
BgL_aux3336z00_5640 = 
STRUCT_KEY(BgL_tablez00_126); 
if(
SYMBOLP(BgL_aux3336z00_5640))
{ /* Llib/weakhash.scm 800 */
BgL_res2329z00_3955 = BgL_aux3336z00_5640; }  else 
{ 
 obj_t BgL_auxz00_11399;
BgL_auxz00_11399 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(31705L), BGl_string3612z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3336z00_5640); 
FAILURE(BgL_auxz00_11399,BFALSE,BFALSE);} } 
BgL_tmpz00_11395 = BgL_res2329z00_3955; } 
BgL_test4560z00_11394 = 
(BgL_tmpz00_11395==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4560z00_11394)
{ /* Llib/weakhash.scm 800 */
 int BgL_tmpz00_11404;
BgL_tmpz00_11404 = 
(int)(2L); 
BgL_oldzd2buckszd2_2010 = 
UNSAFE_STRUCT_REF(BgL_tablez00_126, BgL_tmpz00_11404); }  else 
{ /* Llib/weakhash.scm 800 */
BgL_oldzd2buckszd2_2010 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_126); } } 
{ /* Llib/weakhash.scm 800 */
 long BgL_oldzd2buckszd2lenz00_2011;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_vectorz00_3956;
if(
VECTORP(BgL_oldzd2buckszd2_2010))
{ /* Llib/weakhash.scm 800 */
BgL_vectorz00_3956 = BgL_oldzd2buckszd2_2010; }  else 
{ 
 obj_t BgL_auxz00_11410;
BgL_auxz00_11410 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(31705L), BGl_string3612z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_oldzd2buckszd2_2010); 
FAILURE(BgL_auxz00_11410,BFALSE,BFALSE);} 
BgL_oldzd2buckszd2lenz00_2011 = 
VECTOR_LENGTH(BgL_vectorz00_3956); } 
{ /* Llib/weakhash.scm 800 */
 long BgL_newzd2buckszd2lenz00_2012;
BgL_newzd2buckszd2lenz00_2012 = 
(2L*BgL_oldzd2buckszd2lenz00_2011); 
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_newzd2buckszd2_2013;
BgL_newzd2buckszd2_2013 = 
make_vector(BgL_newzd2buckszd2lenz00_2012, BNIL); 
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_countz00_2014;
{ /* Llib/weakhash.scm 800 */
 bool_t BgL_test4563z00_11417;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_tmpz00_11418;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_res2330z00_3961;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_aux3340z00_5644;
BgL_aux3340z00_5644 = 
STRUCT_KEY(BgL_tablez00_126); 
if(
SYMBOLP(BgL_aux3340z00_5644))
{ /* Llib/weakhash.scm 800 */
BgL_res2330z00_3961 = BgL_aux3340z00_5644; }  else 
{ 
 obj_t BgL_auxz00_11422;
BgL_auxz00_11422 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(31705L), BGl_string3612z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3340z00_5644); 
FAILURE(BgL_auxz00_11422,BFALSE,BFALSE);} } 
BgL_tmpz00_11418 = BgL_res2330z00_3961; } 
BgL_test4563z00_11417 = 
(BgL_tmpz00_11418==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4563z00_11417)
{ /* Llib/weakhash.scm 800 */
 int BgL_tmpz00_11427;
BgL_tmpz00_11427 = 
(int)(0L); 
BgL_countz00_2014 = 
UNSAFE_STRUCT_REF(BgL_tablez00_126, BgL_tmpz00_11427); }  else 
{ /* Llib/weakhash.scm 800 */
BgL_countz00_2014 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_126); } } 
{ /* Llib/weakhash.scm 800 */

{ /* Llib/weakhash.scm 800 */
 obj_t BgL_nmaxz00_2015;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_a1126z00_2018;
{ /* Llib/weakhash.scm 800 */
 bool_t BgL_test4565z00_11431;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_tmpz00_11432;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_res2331z00_3965;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_aux3342z00_5646;
BgL_aux3342z00_5646 = 
STRUCT_KEY(BgL_tablez00_126); 
if(
SYMBOLP(BgL_aux3342z00_5646))
{ /* Llib/weakhash.scm 800 */
BgL_res2331z00_3965 = BgL_aux3342z00_5646; }  else 
{ 
 obj_t BgL_auxz00_11436;
BgL_auxz00_11436 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(31705L), BGl_string3612z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3342z00_5646); 
FAILURE(BgL_auxz00_11436,BFALSE,BFALSE);} } 
BgL_tmpz00_11432 = BgL_res2331z00_3965; } 
BgL_test4565z00_11431 = 
(BgL_tmpz00_11432==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4565z00_11431)
{ /* Llib/weakhash.scm 800 */
 int BgL_tmpz00_11441;
BgL_tmpz00_11441 = 
(int)(1L); 
BgL_a1126z00_2018 = 
UNSAFE_STRUCT_REF(BgL_tablez00_126, BgL_tmpz00_11441); }  else 
{ /* Llib/weakhash.scm 800 */
BgL_a1126z00_2018 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_126); } } 
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_b1127z00_2019;
{ /* Llib/weakhash.scm 800 */
 bool_t BgL_test4567z00_11445;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_tmpz00_11446;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_res2332z00_3969;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_aux3344z00_5648;
BgL_aux3344z00_5648 = 
STRUCT_KEY(BgL_tablez00_126); 
if(
SYMBOLP(BgL_aux3344z00_5648))
{ /* Llib/weakhash.scm 800 */
BgL_res2332z00_3969 = BgL_aux3344z00_5648; }  else 
{ 
 obj_t BgL_auxz00_11450;
BgL_auxz00_11450 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(31705L), BGl_string3612z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3344z00_5648); 
FAILURE(BgL_auxz00_11450,BFALSE,BFALSE);} } 
BgL_tmpz00_11446 = BgL_res2332z00_3969; } 
BgL_test4567z00_11445 = 
(BgL_tmpz00_11446==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4567z00_11445)
{ /* Llib/weakhash.scm 800 */
 int BgL_tmpz00_11455;
BgL_tmpz00_11455 = 
(int)(7L); 
BgL_b1127z00_2019 = 
UNSAFE_STRUCT_REF(BgL_tablez00_126, BgL_tmpz00_11455); }  else 
{ /* Llib/weakhash.scm 800 */
BgL_b1127z00_2019 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_126); } } 
{ /* Llib/weakhash.scm 800 */

{ /* Llib/weakhash.scm 800 */
 bool_t BgL_test4569z00_11459;
if(
INTEGERP(BgL_a1126z00_2018))
{ /* Llib/weakhash.scm 800 */
BgL_test4569z00_11459 = 
INTEGERP(BgL_b1127z00_2019)
; }  else 
{ /* Llib/weakhash.scm 800 */
BgL_test4569z00_11459 = ((bool_t)0)
; } 
if(BgL_test4569z00_11459)
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_tmpz00_3972;
BgL_tmpz00_3972 = 
BINT(0L); 
if(
BGL_MULFX_OV(BgL_a1126z00_2018, BgL_b1127z00_2019, BgL_tmpz00_3972))
{ /* Llib/weakhash.scm 800 */
BgL_nmaxz00_2015 = 
bgl_bignum_mul(
bgl_long_to_bignum(
(long)CINT(BgL_a1126z00_2018)), 
bgl_long_to_bignum(
(long)CINT(BgL_b1127z00_2019))); }  else 
{ /* Llib/weakhash.scm 800 */
BgL_nmaxz00_2015 = BgL_tmpz00_3972; } }  else 
{ /* Llib/weakhash.scm 800 */
BgL_nmaxz00_2015 = 
BGl_2za2za2zz__r4_numbers_6_5z00(BgL_a1126z00_2018, BgL_b1127z00_2019); } } } } } 
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_arg1789z00_2016;
if(
REALP(BgL_nmaxz00_2015))
{ /* Llib/weakhash.scm 800 */
BgL_arg1789z00_2016 = 
BINT(
(long)(
REAL_TO_DOUBLE(BgL_nmaxz00_2015))); }  else 
{ /* Llib/weakhash.scm 800 */
BgL_arg1789z00_2016 = BgL_nmaxz00_2015; } 
{ /* Llib/weakhash.scm 800 */
 bool_t BgL_test4573z00_11477;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_tmpz00_11478;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_res2333z00_3984;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_aux3346z00_5650;
BgL_aux3346z00_5650 = 
STRUCT_KEY(BgL_tablez00_126); 
if(
SYMBOLP(BgL_aux3346z00_5650))
{ /* Llib/weakhash.scm 800 */
BgL_res2333z00_3984 = BgL_aux3346z00_5650; }  else 
{ 
 obj_t BgL_auxz00_11482;
BgL_auxz00_11482 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(31705L), BGl_string3612z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3346z00_5650); 
FAILURE(BgL_auxz00_11482,BFALSE,BFALSE);} } 
BgL_tmpz00_11478 = BgL_res2333z00_3984; } 
BgL_test4573z00_11477 = 
(BgL_tmpz00_11478==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4573z00_11477)
{ /* Llib/weakhash.scm 800 */
 int BgL_tmpz00_11487;
BgL_tmpz00_11487 = 
(int)(1L); 
UNSAFE_STRUCT_SET(BgL_tablez00_126, BgL_tmpz00_11487, BgL_arg1789z00_2016); }  else 
{ /* Llib/weakhash.scm 800 */
BGl_errorz00zz__errorz00(BGl_string3463z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_126); } } } } 
{ /* Llib/weakhash.scm 800 */
 bool_t BgL_test4575z00_11491;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_tmpz00_11492;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_res2334z00_3988;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_aux3348z00_5652;
BgL_aux3348z00_5652 = 
STRUCT_KEY(BgL_tablez00_126); 
if(
SYMBOLP(BgL_aux3348z00_5652))
{ /* Llib/weakhash.scm 800 */
BgL_res2334z00_3988 = BgL_aux3348z00_5652; }  else 
{ 
 obj_t BgL_auxz00_11496;
BgL_auxz00_11496 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(31705L), BGl_string3612z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3348z00_5652); 
FAILURE(BgL_auxz00_11496,BFALSE,BFALSE);} } 
BgL_tmpz00_11492 = BgL_res2334z00_3988; } 
BgL_test4575z00_11491 = 
(BgL_tmpz00_11492==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4575z00_11491)
{ /* Llib/weakhash.scm 800 */
 int BgL_tmpz00_11501;
BgL_tmpz00_11501 = 
(int)(2L); 
UNSAFE_STRUCT_SET(BgL_tablez00_126, BgL_tmpz00_11501, BgL_newzd2buckszd2_2013); }  else 
{ /* Llib/weakhash.scm 800 */
BGl_errorz00zz__errorz00(BGl_string3463z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_126); } } 
{ 
 long BgL_iz00_2022;
BgL_iz00_2022 = 0L; 
BgL_zc3z04anonymousza31792ze3z87_2023:
if(
(BgL_iz00_2022<BgL_oldzd2buckszd2lenz00_2011))
{ /* Llib/weakhash.scm 800 */
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_g1130z00_2025;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_vectorz00_3991;
if(
VECTORP(BgL_oldzd2buckszd2_2010))
{ /* Llib/weakhash.scm 800 */
BgL_vectorz00_3991 = BgL_oldzd2buckszd2_2010; }  else 
{ 
 obj_t BgL_auxz00_11509;
BgL_auxz00_11509 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(31705L), BGl_string3467z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_oldzd2buckszd2_2010); 
FAILURE(BgL_auxz00_11509,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 800 */
 bool_t BgL_test4579z00_11513;
{ /* Llib/weakhash.scm 800 */
 long BgL_tmpz00_11514;
BgL_tmpz00_11514 = 
VECTOR_LENGTH(BgL_vectorz00_3991); 
BgL_test4579z00_11513 = 
BOUND_CHECK(BgL_iz00_2022, BgL_tmpz00_11514); } 
if(BgL_test4579z00_11513)
{ /* Llib/weakhash.scm 800 */
BgL_g1130z00_2025 = 
VECTOR_REF(BgL_vectorz00_3991,BgL_iz00_2022); }  else 
{ 
 obj_t BgL_auxz00_11518;
BgL_auxz00_11518 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(31705L), BGl_string3459z00zz__weakhashz00, BgL_vectorz00_3991, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_3991)), 
(int)(BgL_iz00_2022)); 
FAILURE(BgL_auxz00_11518,BFALSE,BFALSE);} } } 
{ 
 obj_t BgL_l1128z00_2027;
BgL_l1128z00_2027 = BgL_g1130z00_2025; 
BgL_zc3z04anonymousza31794ze3z87_2028:
if(
PAIRP(BgL_l1128z00_2027))
{ /* Llib/weakhash.scm 800 */
{ /* Llib/weakhash.scm 818 */
 obj_t BgL_cellz00_2030;
BgL_cellz00_2030 = 
CAR(BgL_l1128z00_2027); 
{ /* Llib/weakhash.scm 818 */
 obj_t BgL_keyz00_2031;
{ /* Llib/weakhash.scm 818 */
 obj_t BgL_arg1800z00_2036;
{ /* Llib/weakhash.scm 818 */
 obj_t BgL_pairz00_3994;
if(
PAIRP(BgL_cellz00_2030))
{ /* Llib/weakhash.scm 818 */
BgL_pairz00_3994 = BgL_cellz00_2030; }  else 
{ 
 obj_t BgL_auxz00_11530;
BgL_auxz00_11530 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(32431L), BGl_string3613z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_cellz00_2030); 
FAILURE(BgL_auxz00_11530,BFALSE,BFALSE);} 
BgL_arg1800z00_2036 = 
CAR(BgL_pairz00_3994); } 
{ /* Llib/weakhash.scm 818 */
 obj_t BgL_objz00_3995;
if(
BGL_WEAKPTRP(BgL_arg1800z00_2036))
{ /* Llib/weakhash.scm 818 */
BgL_objz00_3995 = BgL_arg1800z00_2036; }  else 
{ 
 obj_t BgL_auxz00_11537;
BgL_auxz00_11537 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(32435L), BGl_string3613z00zz__weakhashz00, BGl_string3462z00zz__weakhashz00, BgL_arg1800z00_2036); 
FAILURE(BgL_auxz00_11537,BFALSE,BFALSE);} 
BgL_keyz00_2031 = 
bgl_weakptr_data(BgL_objz00_3995); } } 
if(
(BgL_keyz00_2031==BUNSPEC))
{ 
 obj_t BgL_tmpz00_11544;
{ /* Llib/weakhash.scm 820 */
 obj_t BgL_aux3356z00_5660;
BgL_aux3356z00_5660 = BgL_countz00_2014; 
if(
INTEGERP(BgL_aux3356z00_5660))
{ /* Llib/weakhash.scm 820 */
BgL_tmpz00_11544 = BgL_aux3356z00_5660
; }  else 
{ 
 obj_t BgL_auxz00_11547;
BgL_auxz00_11547 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(32501L), BGl_string3613z00zz__weakhashz00, BGl_string3453z00zz__weakhashz00, BgL_aux3356z00_5660); 
FAILURE(BgL_auxz00_11547,BFALSE,BFALSE);} } 
BgL_countz00_2014 = 
SUBFX(BgL_tmpz00_11544, 
BINT(1L)); }  else 
{ /* Llib/weakhash.scm 821 */
 long BgL_hz00_2032;
{ /* Llib/weakhash.scm 822 */
 long BgL_arg1799z00_2035;
BgL_arg1799z00_2035 = 
BGl_tablezd2getzd2hashnumberz00zz__weakhashz00(BgL_tablez00_126, BgL_keyz00_2031); 
{ /* Llib/weakhash.scm 821 */
 long BgL_n1z00_3997; long BgL_n2z00_3998;
BgL_n1z00_3997 = BgL_arg1799z00_2035; 
BgL_n2z00_3998 = BgL_newzd2buckszd2lenz00_2012; 
{ /* Llib/weakhash.scm 821 */
 bool_t BgL_test4585z00_11554;
{ /* Llib/weakhash.scm 821 */
 long BgL_arg2041z00_4000;
BgL_arg2041z00_4000 = 
(((BgL_n1z00_3997) | (BgL_n2z00_3998)) & -2147483648); 
BgL_test4585z00_11554 = 
(BgL_arg2041z00_4000==0L); } 
if(BgL_test4585z00_11554)
{ /* Llib/weakhash.scm 821 */
 int32_t BgL_arg2037z00_4001;
{ /* Llib/weakhash.scm 821 */
 int32_t BgL_arg2038z00_4002; int32_t BgL_arg2039z00_4003;
BgL_arg2038z00_4002 = 
(int32_t)(BgL_n1z00_3997); 
BgL_arg2039z00_4003 = 
(int32_t)(BgL_n2z00_3998); 
BgL_arg2037z00_4001 = 
(BgL_arg2038z00_4002%BgL_arg2039z00_4003); } 
{ /* Llib/weakhash.scm 821 */
 long BgL_arg2142z00_4008;
BgL_arg2142z00_4008 = 
(long)(BgL_arg2037z00_4001); 
BgL_hz00_2032 = 
(long)(BgL_arg2142z00_4008); } }  else 
{ /* Llib/weakhash.scm 821 */
BgL_hz00_2032 = 
(BgL_n1z00_3997%BgL_n2z00_3998); } } } } 
{ /* Llib/weakhash.scm 827 */
 obj_t BgL_arg1796z00_2033;
{ /* Llib/weakhash.scm 827 */
 obj_t BgL_arg1798z00_2034;
{ /* Llib/weakhash.scm 827 */
 bool_t BgL_test4586z00_11563;
{ /* Llib/weakhash.scm 827 */
 long BgL_tmpz00_11564;
BgL_tmpz00_11564 = 
VECTOR_LENGTH(BgL_newzd2buckszd2_2013); 
BgL_test4586z00_11563 = 
BOUND_CHECK(BgL_hz00_2032, BgL_tmpz00_11564); } 
if(BgL_test4586z00_11563)
{ /* Llib/weakhash.scm 827 */
BgL_arg1798z00_2034 = 
VECTOR_REF(BgL_newzd2buckszd2_2013,BgL_hz00_2032); }  else 
{ 
 obj_t BgL_auxz00_11568;
BgL_auxz00_11568 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(32682L), BGl_string3459z00zz__weakhashz00, BgL_newzd2buckszd2_2013, 
(int)(
VECTOR_LENGTH(BgL_newzd2buckszd2_2013)), 
(int)(BgL_hz00_2032)); 
FAILURE(BgL_auxz00_11568,BFALSE,BFALSE);} } 
BgL_arg1796z00_2033 = 
MAKE_YOUNG_PAIR(BgL_cellz00_2030, BgL_arg1798z00_2034); } 
{ /* Llib/weakhash.scm 824 */
 bool_t BgL_test4587z00_11576;
{ /* Llib/weakhash.scm 824 */
 long BgL_tmpz00_11577;
BgL_tmpz00_11577 = 
VECTOR_LENGTH(BgL_newzd2buckszd2_2013); 
BgL_test4587z00_11576 = 
BOUND_CHECK(BgL_hz00_2032, BgL_tmpz00_11577); } 
if(BgL_test4587z00_11576)
{ /* Llib/weakhash.scm 824 */
VECTOR_SET(BgL_newzd2buckszd2_2013,BgL_hz00_2032,BgL_arg1796z00_2033); }  else 
{ 
 obj_t BgL_auxz00_11581;
BgL_auxz00_11581 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(32620L), BGl_string3464z00zz__weakhashz00, BgL_newzd2buckszd2_2013, 
(int)(
VECTOR_LENGTH(BgL_newzd2buckszd2_2013)), 
(int)(BgL_hz00_2032)); 
FAILURE(BgL_auxz00_11581,BFALSE,BFALSE);} } } } } } 
{ 
 obj_t BgL_l1128z00_11588;
BgL_l1128z00_11588 = 
CDR(BgL_l1128z00_2027); 
BgL_l1128z00_2027 = BgL_l1128z00_11588; 
goto BgL_zc3z04anonymousza31794ze3z87_2028;} }  else 
{ /* Llib/weakhash.scm 800 */
if(
NULLP(BgL_l1128z00_2027))
{ /* Llib/weakhash.scm 800 */BTRUE; }  else 
{ /* Llib/weakhash.scm 800 */
BGl_bigloozd2typezd2errorz00zz__errorz00(BGl_string3478z00zz__weakhashz00, BGl_string3479z00zz__weakhashz00, BgL_l1128z00_2027); } } } } 
{ 
 long BgL_iz00_11593;
BgL_iz00_11593 = 
(BgL_iz00_2022+1L); 
BgL_iz00_2022 = BgL_iz00_11593; 
goto BgL_zc3z04anonymousza31792ze3z87_2023;} }  else 
{ /* Llib/weakhash.scm 800 */((bool_t)0); } } 
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_vz00_4016;
BgL_vz00_4016 = BgL_countz00_2014; 
{ /* Llib/weakhash.scm 800 */
 bool_t BgL_test4589z00_11595;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_tmpz00_11596;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_res2335z00_4020;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_aux3357z00_5661;
BgL_aux3357z00_5661 = 
STRUCT_KEY(BgL_tablez00_126); 
if(
SYMBOLP(BgL_aux3357z00_5661))
{ /* Llib/weakhash.scm 800 */
BgL_res2335z00_4020 = BgL_aux3357z00_5661; }  else 
{ 
 obj_t BgL_auxz00_11600;
BgL_auxz00_11600 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(31705L), BGl_string3612z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3357z00_5661); 
FAILURE(BgL_auxz00_11600,BFALSE,BFALSE);} } 
BgL_tmpz00_11596 = BgL_res2335z00_4020; } 
BgL_test4589z00_11595 = 
(BgL_tmpz00_11596==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4589z00_11595)
{ /* Llib/weakhash.scm 800 */
 int BgL_tmpz00_11605;
BgL_tmpz00_11605 = 
(int)(0L); 
return 
UNSAFE_STRUCT_SET(BgL_tablez00_126, BgL_tmpz00_11605, BgL_vz00_4016);}  else 
{ /* Llib/weakhash.scm 800 */
return 
BGl_errorz00zz__errorz00(BGl_string3463z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_126);} } } } } } } } }  else 
{ /* Llib/weakhash.scm 800 */
 bool_t BgL_test4591z00_11609;
{ /* Llib/weakhash.scm 829 */
 obj_t BgL_arg1857z00_2146;
{ /* Llib/weakhash.scm 829 */
 bool_t BgL_test4592z00_11610;
{ /* Llib/weakhash.scm 829 */
 obj_t BgL_tmpz00_11611;
{ /* Llib/weakhash.scm 829 */
 obj_t BgL_res2336z00_4024;
{ /* Llib/weakhash.scm 829 */
 obj_t BgL_aux3359z00_5663;
BgL_aux3359z00_5663 = 
STRUCT_KEY(BgL_tablez00_126); 
if(
SYMBOLP(BgL_aux3359z00_5663))
{ /* Llib/weakhash.scm 829 */
BgL_res2336z00_4024 = BgL_aux3359z00_5663; }  else 
{ 
 obj_t BgL_auxz00_11615;
BgL_auxz00_11615 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(32750L), BGl_string3612z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3359z00_5663); 
FAILURE(BgL_auxz00_11615,BFALSE,BFALSE);} } 
BgL_tmpz00_11611 = BgL_res2336z00_4024; } 
BgL_test4592z00_11610 = 
(BgL_tmpz00_11611==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4592z00_11610)
{ /* Llib/weakhash.scm 829 */
 int BgL_tmpz00_11620;
BgL_tmpz00_11620 = 
(int)(5L); 
BgL_arg1857z00_2146 = 
UNSAFE_STRUCT_REF(BgL_tablez00_126, BgL_tmpz00_11620); }  else 
{ /* Llib/weakhash.scm 829 */
BgL_arg1857z00_2146 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_126); } } 
{ /* Llib/weakhash.scm 829 */
 long BgL_n2z00_4025;
{ /* Llib/weakhash.scm 829 */
 obj_t BgL_tmpz00_11624;
if(
INTEGERP(BgL_arg1857z00_2146))
{ /* Llib/weakhash.scm 829 */
BgL_tmpz00_11624 = BgL_arg1857z00_2146
; }  else 
{ 
 obj_t BgL_auxz00_11627;
BgL_auxz00_11627 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(32772L), BGl_string3612z00zz__weakhashz00, BGl_string3453z00zz__weakhashz00, BgL_arg1857z00_2146); 
FAILURE(BgL_auxz00_11627,BFALSE,BFALSE);} 
BgL_n2z00_4025 = 
(long)CINT(BgL_tmpz00_11624); } 
BgL_test4591z00_11609 = 
(2L==BgL_n2z00_4025); } } 
if(BgL_test4591z00_11609)
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_oldzd2buckszd2_2044;
{ /* Llib/weakhash.scm 800 */
 bool_t BgL_test4595z00_11633;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_tmpz00_11634;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_res2337z00_4029;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_aux3362z00_5666;
BgL_aux3362z00_5666 = 
STRUCT_KEY(BgL_tablez00_126); 
if(
SYMBOLP(BgL_aux3362z00_5666))
{ /* Llib/weakhash.scm 800 */
BgL_res2337z00_4029 = BgL_aux3362z00_5666; }  else 
{ 
 obj_t BgL_auxz00_11638;
BgL_auxz00_11638 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(31705L), BGl_string3612z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3362z00_5666); 
FAILURE(BgL_auxz00_11638,BFALSE,BFALSE);} } 
BgL_tmpz00_11634 = BgL_res2337z00_4029; } 
BgL_test4595z00_11633 = 
(BgL_tmpz00_11634==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4595z00_11633)
{ /* Llib/weakhash.scm 800 */
 int BgL_tmpz00_11643;
BgL_tmpz00_11643 = 
(int)(2L); 
BgL_oldzd2buckszd2_2044 = 
UNSAFE_STRUCT_REF(BgL_tablez00_126, BgL_tmpz00_11643); }  else 
{ /* Llib/weakhash.scm 800 */
BgL_oldzd2buckszd2_2044 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_126); } } 
{ /* Llib/weakhash.scm 800 */
 long BgL_oldzd2buckszd2lenz00_2045;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_vectorz00_4030;
if(
VECTORP(BgL_oldzd2buckszd2_2044))
{ /* Llib/weakhash.scm 800 */
BgL_vectorz00_4030 = BgL_oldzd2buckszd2_2044; }  else 
{ 
 obj_t BgL_auxz00_11649;
BgL_auxz00_11649 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(31705L), BGl_string3612z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_oldzd2buckszd2_2044); 
FAILURE(BgL_auxz00_11649,BFALSE,BFALSE);} 
BgL_oldzd2buckszd2lenz00_2045 = 
VECTOR_LENGTH(BgL_vectorz00_4030); } 
{ /* Llib/weakhash.scm 800 */
 long BgL_newzd2buckszd2lenz00_2046;
BgL_newzd2buckszd2lenz00_2046 = 
(2L*BgL_oldzd2buckszd2lenz00_2045); 
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_newzd2buckszd2_2047;
BgL_newzd2buckszd2_2047 = 
make_vector(BgL_newzd2buckszd2lenz00_2046, BNIL); 
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_countz00_2048;
{ /* Llib/weakhash.scm 800 */
 bool_t BgL_test4598z00_11656;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_tmpz00_11657;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_res2338z00_4035;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_aux3366z00_5670;
BgL_aux3366z00_5670 = 
STRUCT_KEY(BgL_tablez00_126); 
if(
SYMBOLP(BgL_aux3366z00_5670))
{ /* Llib/weakhash.scm 800 */
BgL_res2338z00_4035 = BgL_aux3366z00_5670; }  else 
{ 
 obj_t BgL_auxz00_11661;
BgL_auxz00_11661 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(31705L), BGl_string3612z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3366z00_5670); 
FAILURE(BgL_auxz00_11661,BFALSE,BFALSE);} } 
BgL_tmpz00_11657 = BgL_res2338z00_4035; } 
BgL_test4598z00_11656 = 
(BgL_tmpz00_11657==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4598z00_11656)
{ /* Llib/weakhash.scm 800 */
 int BgL_tmpz00_11666;
BgL_tmpz00_11666 = 
(int)(0L); 
BgL_countz00_2048 = 
UNSAFE_STRUCT_REF(BgL_tablez00_126, BgL_tmpz00_11666); }  else 
{ /* Llib/weakhash.scm 800 */
BgL_countz00_2048 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_126); } } 
{ /* Llib/weakhash.scm 800 */

{ /* Llib/weakhash.scm 800 */
 obj_t BgL_nmaxz00_2049;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_a1131z00_2052;
{ /* Llib/weakhash.scm 800 */
 bool_t BgL_test4600z00_11670;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_tmpz00_11671;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_res2339z00_4039;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_aux3368z00_5672;
BgL_aux3368z00_5672 = 
STRUCT_KEY(BgL_tablez00_126); 
if(
SYMBOLP(BgL_aux3368z00_5672))
{ /* Llib/weakhash.scm 800 */
BgL_res2339z00_4039 = BgL_aux3368z00_5672; }  else 
{ 
 obj_t BgL_auxz00_11675;
BgL_auxz00_11675 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(31705L), BGl_string3612z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3368z00_5672); 
FAILURE(BgL_auxz00_11675,BFALSE,BFALSE);} } 
BgL_tmpz00_11671 = BgL_res2339z00_4039; } 
BgL_test4600z00_11670 = 
(BgL_tmpz00_11671==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4600z00_11670)
{ /* Llib/weakhash.scm 800 */
 int BgL_tmpz00_11680;
BgL_tmpz00_11680 = 
(int)(1L); 
BgL_a1131z00_2052 = 
UNSAFE_STRUCT_REF(BgL_tablez00_126, BgL_tmpz00_11680); }  else 
{ /* Llib/weakhash.scm 800 */
BgL_a1131z00_2052 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_126); } } 
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_b1132z00_2053;
{ /* Llib/weakhash.scm 800 */
 bool_t BgL_test4602z00_11684;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_tmpz00_11685;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_res2340z00_4043;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_aux3370z00_5674;
BgL_aux3370z00_5674 = 
STRUCT_KEY(BgL_tablez00_126); 
if(
SYMBOLP(BgL_aux3370z00_5674))
{ /* Llib/weakhash.scm 800 */
BgL_res2340z00_4043 = BgL_aux3370z00_5674; }  else 
{ 
 obj_t BgL_auxz00_11689;
BgL_auxz00_11689 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(31705L), BGl_string3612z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3370z00_5674); 
FAILURE(BgL_auxz00_11689,BFALSE,BFALSE);} } 
BgL_tmpz00_11685 = BgL_res2340z00_4043; } 
BgL_test4602z00_11684 = 
(BgL_tmpz00_11685==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4602z00_11684)
{ /* Llib/weakhash.scm 800 */
 int BgL_tmpz00_11694;
BgL_tmpz00_11694 = 
(int)(7L); 
BgL_b1132z00_2053 = 
UNSAFE_STRUCT_REF(BgL_tablez00_126, BgL_tmpz00_11694); }  else 
{ /* Llib/weakhash.scm 800 */
BgL_b1132z00_2053 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_126); } } 
{ /* Llib/weakhash.scm 800 */

{ /* Llib/weakhash.scm 800 */
 bool_t BgL_test4604z00_11698;
if(
INTEGERP(BgL_a1131z00_2052))
{ /* Llib/weakhash.scm 800 */
BgL_test4604z00_11698 = 
INTEGERP(BgL_b1132z00_2053)
; }  else 
{ /* Llib/weakhash.scm 800 */
BgL_test4604z00_11698 = ((bool_t)0)
; } 
if(BgL_test4604z00_11698)
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_tmpz00_4046;
BgL_tmpz00_4046 = 
BINT(0L); 
if(
BGL_MULFX_OV(BgL_a1131z00_2052, BgL_b1132z00_2053, BgL_tmpz00_4046))
{ /* Llib/weakhash.scm 800 */
BgL_nmaxz00_2049 = 
bgl_bignum_mul(
bgl_long_to_bignum(
(long)CINT(BgL_a1131z00_2052)), 
bgl_long_to_bignum(
(long)CINT(BgL_b1132z00_2053))); }  else 
{ /* Llib/weakhash.scm 800 */
BgL_nmaxz00_2049 = BgL_tmpz00_4046; } }  else 
{ /* Llib/weakhash.scm 800 */
BgL_nmaxz00_2049 = 
BGl_2za2za2zz__r4_numbers_6_5z00(BgL_a1131z00_2052, BgL_b1132z00_2053); } } } } } 
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_arg1807z00_2050;
if(
REALP(BgL_nmaxz00_2049))
{ /* Llib/weakhash.scm 800 */
BgL_arg1807z00_2050 = 
BINT(
(long)(
REAL_TO_DOUBLE(BgL_nmaxz00_2049))); }  else 
{ /* Llib/weakhash.scm 800 */
BgL_arg1807z00_2050 = BgL_nmaxz00_2049; } 
{ /* Llib/weakhash.scm 800 */
 bool_t BgL_test4608z00_11716;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_tmpz00_11717;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_res2341z00_4058;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_aux3372z00_5676;
BgL_aux3372z00_5676 = 
STRUCT_KEY(BgL_tablez00_126); 
if(
SYMBOLP(BgL_aux3372z00_5676))
{ /* Llib/weakhash.scm 800 */
BgL_res2341z00_4058 = BgL_aux3372z00_5676; }  else 
{ 
 obj_t BgL_auxz00_11721;
BgL_auxz00_11721 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(31705L), BGl_string3612z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3372z00_5676); 
FAILURE(BgL_auxz00_11721,BFALSE,BFALSE);} } 
BgL_tmpz00_11717 = BgL_res2341z00_4058; } 
BgL_test4608z00_11716 = 
(BgL_tmpz00_11717==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4608z00_11716)
{ /* Llib/weakhash.scm 800 */
 int BgL_tmpz00_11726;
BgL_tmpz00_11726 = 
(int)(1L); 
UNSAFE_STRUCT_SET(BgL_tablez00_126, BgL_tmpz00_11726, BgL_arg1807z00_2050); }  else 
{ /* Llib/weakhash.scm 800 */
BGl_errorz00zz__errorz00(BGl_string3463z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_126); } } } } 
{ /* Llib/weakhash.scm 800 */
 bool_t BgL_test4610z00_11730;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_tmpz00_11731;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_res2342z00_4062;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_aux3374z00_5678;
BgL_aux3374z00_5678 = 
STRUCT_KEY(BgL_tablez00_126); 
if(
SYMBOLP(BgL_aux3374z00_5678))
{ /* Llib/weakhash.scm 800 */
BgL_res2342z00_4062 = BgL_aux3374z00_5678; }  else 
{ 
 obj_t BgL_auxz00_11735;
BgL_auxz00_11735 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(31705L), BGl_string3612z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3374z00_5678); 
FAILURE(BgL_auxz00_11735,BFALSE,BFALSE);} } 
BgL_tmpz00_11731 = BgL_res2342z00_4062; } 
BgL_test4610z00_11730 = 
(BgL_tmpz00_11731==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4610z00_11730)
{ /* Llib/weakhash.scm 800 */
 int BgL_tmpz00_11740;
BgL_tmpz00_11740 = 
(int)(2L); 
UNSAFE_STRUCT_SET(BgL_tablez00_126, BgL_tmpz00_11740, BgL_newzd2buckszd2_2047); }  else 
{ /* Llib/weakhash.scm 800 */
BGl_errorz00zz__errorz00(BGl_string3463z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_126); } } 
{ 
 long BgL_iz00_2056;
BgL_iz00_2056 = 0L; 
BgL_zc3z04anonymousza31810ze3z87_2057:
if(
(BgL_iz00_2056<BgL_oldzd2buckszd2lenz00_2045))
{ /* Llib/weakhash.scm 800 */
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_g1135z00_2059;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_vectorz00_4065;
if(
VECTORP(BgL_oldzd2buckszd2_2044))
{ /* Llib/weakhash.scm 800 */
BgL_vectorz00_4065 = BgL_oldzd2buckszd2_2044; }  else 
{ 
 obj_t BgL_auxz00_11748;
BgL_auxz00_11748 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(31705L), BGl_string3467z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_oldzd2buckszd2_2044); 
FAILURE(BgL_auxz00_11748,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 800 */
 bool_t BgL_test4614z00_11752;
{ /* Llib/weakhash.scm 800 */
 long BgL_tmpz00_11753;
BgL_tmpz00_11753 = 
VECTOR_LENGTH(BgL_vectorz00_4065); 
BgL_test4614z00_11752 = 
BOUND_CHECK(BgL_iz00_2056, BgL_tmpz00_11753); } 
if(BgL_test4614z00_11752)
{ /* Llib/weakhash.scm 800 */
BgL_g1135z00_2059 = 
VECTOR_REF(BgL_vectorz00_4065,BgL_iz00_2056); }  else 
{ 
 obj_t BgL_auxz00_11757;
BgL_auxz00_11757 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(31705L), BGl_string3459z00zz__weakhashz00, BgL_vectorz00_4065, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_4065)), 
(int)(BgL_iz00_2056)); 
FAILURE(BgL_auxz00_11757,BFALSE,BFALSE);} } } 
{ 
 obj_t BgL_l1133z00_2061;
BgL_l1133z00_2061 = BgL_g1135z00_2059; 
BgL_zc3z04anonymousza31812ze3z87_2062:
if(
PAIRP(BgL_l1133z00_2061))
{ /* Llib/weakhash.scm 800 */
{ /* Llib/weakhash.scm 831 */
 obj_t BgL_cellz00_2064;
BgL_cellz00_2064 = 
CAR(BgL_l1133z00_2061); 
{ /* Llib/weakhash.scm 831 */
 obj_t BgL_dataz00_2065;
{ /* Llib/weakhash.scm 831 */
 obj_t BgL_arg1818z00_2071;
{ /* Llib/weakhash.scm 831 */
 obj_t BgL_pairz00_4068;
if(
PAIRP(BgL_cellz00_2064))
{ /* Llib/weakhash.scm 831 */
BgL_pairz00_4068 = BgL_cellz00_2064; }  else 
{ 
 obj_t BgL_auxz00_11769;
BgL_auxz00_11769 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(32837L), BGl_string3614z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_cellz00_2064); 
FAILURE(BgL_auxz00_11769,BFALSE,BFALSE);} 
BgL_arg1818z00_2071 = 
CDR(BgL_pairz00_4068); } 
{ /* Llib/weakhash.scm 831 */
 obj_t BgL_objz00_4069;
if(
BGL_WEAKPTRP(BgL_arg1818z00_2071))
{ /* Llib/weakhash.scm 831 */
BgL_objz00_4069 = BgL_arg1818z00_2071; }  else 
{ 
 obj_t BgL_auxz00_11776;
BgL_auxz00_11776 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(32841L), BGl_string3614z00zz__weakhashz00, BGl_string3462z00zz__weakhashz00, BgL_arg1818z00_2071); 
FAILURE(BgL_auxz00_11776,BFALSE,BFALSE);} 
BgL_dataz00_2065 = 
bgl_weakptr_data(BgL_objz00_4069); } } 
if(
(BgL_dataz00_2065==BUNSPEC))
{ 
 obj_t BgL_tmpz00_11783;
{ /* Llib/weakhash.scm 833 */
 obj_t BgL_aux3382z00_5686;
BgL_aux3382z00_5686 = BgL_countz00_2048; 
if(
INTEGERP(BgL_aux3382z00_5686))
{ /* Llib/weakhash.scm 833 */
BgL_tmpz00_11783 = BgL_aux3382z00_5686
; }  else 
{ 
 obj_t BgL_auxz00_11786;
BgL_auxz00_11786 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(32908L), BGl_string3614z00zz__weakhashz00, BGl_string3453z00zz__weakhashz00, BgL_aux3382z00_5686); 
FAILURE(BgL_auxz00_11786,BFALSE,BFALSE);} } 
BgL_countz00_2048 = 
SUBFX(BgL_tmpz00_11783, 
BINT(1L)); }  else 
{ /* Llib/weakhash.scm 834 */
 long BgL_hz00_2066;
{ /* Llib/weakhash.scm 836 */
 long BgL_arg1816z00_2069;
{ /* Llib/weakhash.scm 836 */
 obj_t BgL_arg1817z00_2070;
{ /* Llib/weakhash.scm 836 */
 obj_t BgL_pairz00_4071;
if(
PAIRP(BgL_cellz00_2064))
{ /* Llib/weakhash.scm 836 */
BgL_pairz00_4071 = BgL_cellz00_2064; }  else 
{ 
 obj_t BgL_auxz00_11794;
BgL_auxz00_11794 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(33001L), BGl_string3614z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_cellz00_2064); 
FAILURE(BgL_auxz00_11794,BFALSE,BFALSE);} 
BgL_arg1817z00_2070 = 
CAR(BgL_pairz00_4071); } 
BgL_arg1816z00_2069 = 
BGl_tablezd2getzd2hashnumberz00zz__weakhashz00(BgL_tablez00_126, BgL_arg1817z00_2070); } 
{ /* Llib/weakhash.scm 834 */
 long BgL_n1z00_4072; long BgL_n2z00_4073;
BgL_n1z00_4072 = BgL_arg1816z00_2069; 
BgL_n2z00_4073 = BgL_newzd2buckszd2lenz00_2046; 
{ /* Llib/weakhash.scm 834 */
 bool_t BgL_test4621z00_11800;
{ /* Llib/weakhash.scm 834 */
 long BgL_arg2041z00_4075;
BgL_arg2041z00_4075 = 
(((BgL_n1z00_4072) | (BgL_n2z00_4073)) & -2147483648); 
BgL_test4621z00_11800 = 
(BgL_arg2041z00_4075==0L); } 
if(BgL_test4621z00_11800)
{ /* Llib/weakhash.scm 834 */
 int32_t BgL_arg2037z00_4076;
{ /* Llib/weakhash.scm 834 */
 int32_t BgL_arg2038z00_4077; int32_t BgL_arg2039z00_4078;
BgL_arg2038z00_4077 = 
(int32_t)(BgL_n1z00_4072); 
BgL_arg2039z00_4078 = 
(int32_t)(BgL_n2z00_4073); 
BgL_arg2037z00_4076 = 
(BgL_arg2038z00_4077%BgL_arg2039z00_4078); } 
{ /* Llib/weakhash.scm 834 */
 long BgL_arg2142z00_4083;
BgL_arg2142z00_4083 = 
(long)(BgL_arg2037z00_4076); 
BgL_hz00_2066 = 
(long)(BgL_arg2142z00_4083); } }  else 
{ /* Llib/weakhash.scm 834 */
BgL_hz00_2066 = 
(BgL_n1z00_4072%BgL_n2z00_4073); } } } } 
{ /* Llib/weakhash.scm 841 */
 obj_t BgL_arg1814z00_2067;
{ /* Llib/weakhash.scm 841 */
 obj_t BgL_arg1815z00_2068;
{ /* Llib/weakhash.scm 841 */
 bool_t BgL_test4622z00_11809;
{ /* Llib/weakhash.scm 841 */
 long BgL_tmpz00_11810;
BgL_tmpz00_11810 = 
VECTOR_LENGTH(BgL_newzd2buckszd2_2047); 
BgL_test4622z00_11809 = 
BOUND_CHECK(BgL_hz00_2066, BgL_tmpz00_11810); } 
if(BgL_test4622z00_11809)
{ /* Llib/weakhash.scm 841 */
BgL_arg1815z00_2068 = 
VECTOR_REF(BgL_newzd2buckszd2_2047,BgL_hz00_2066); }  else 
{ 
 obj_t BgL_auxz00_11814;
BgL_auxz00_11814 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(33107L), BGl_string3459z00zz__weakhashz00, BgL_newzd2buckszd2_2047, 
(int)(
VECTOR_LENGTH(BgL_newzd2buckszd2_2047)), 
(int)(BgL_hz00_2066)); 
FAILURE(BgL_auxz00_11814,BFALSE,BFALSE);} } 
BgL_arg1814z00_2067 = 
MAKE_YOUNG_PAIR(BgL_cellz00_2064, BgL_arg1815z00_2068); } 
{ /* Llib/weakhash.scm 838 */
 bool_t BgL_test4623z00_11822;
{ /* Llib/weakhash.scm 838 */
 long BgL_tmpz00_11823;
BgL_tmpz00_11823 = 
VECTOR_LENGTH(BgL_newzd2buckszd2_2047); 
BgL_test4623z00_11822 = 
BOUND_CHECK(BgL_hz00_2066, BgL_tmpz00_11823); } 
if(BgL_test4623z00_11822)
{ /* Llib/weakhash.scm 838 */
VECTOR_SET(BgL_newzd2buckszd2_2047,BgL_hz00_2066,BgL_arg1814z00_2067); }  else 
{ 
 obj_t BgL_auxz00_11827;
BgL_auxz00_11827 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(33045L), BGl_string3464z00zz__weakhashz00, BgL_newzd2buckszd2_2047, 
(int)(
VECTOR_LENGTH(BgL_newzd2buckszd2_2047)), 
(int)(BgL_hz00_2066)); 
FAILURE(BgL_auxz00_11827,BFALSE,BFALSE);} } } } } } 
{ 
 obj_t BgL_l1133z00_11834;
BgL_l1133z00_11834 = 
CDR(BgL_l1133z00_2061); 
BgL_l1133z00_2061 = BgL_l1133z00_11834; 
goto BgL_zc3z04anonymousza31812ze3z87_2062;} }  else 
{ /* Llib/weakhash.scm 800 */
if(
NULLP(BgL_l1133z00_2061))
{ /* Llib/weakhash.scm 800 */BTRUE; }  else 
{ /* Llib/weakhash.scm 800 */
BGl_bigloozd2typezd2errorz00zz__errorz00(BGl_string3478z00zz__weakhashz00, BGl_string3479z00zz__weakhashz00, BgL_l1133z00_2061); } } } } 
{ 
 long BgL_iz00_11839;
BgL_iz00_11839 = 
(BgL_iz00_2056+1L); 
BgL_iz00_2056 = BgL_iz00_11839; 
goto BgL_zc3z04anonymousza31810ze3z87_2057;} }  else 
{ /* Llib/weakhash.scm 800 */((bool_t)0); } } 
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_vz00_4091;
BgL_vz00_4091 = BgL_countz00_2048; 
{ /* Llib/weakhash.scm 800 */
 bool_t BgL_test4625z00_11841;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_tmpz00_11842;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_res2343z00_4095;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_aux3385z00_5689;
BgL_aux3385z00_5689 = 
STRUCT_KEY(BgL_tablez00_126); 
if(
SYMBOLP(BgL_aux3385z00_5689))
{ /* Llib/weakhash.scm 800 */
BgL_res2343z00_4095 = BgL_aux3385z00_5689; }  else 
{ 
 obj_t BgL_auxz00_11846;
BgL_auxz00_11846 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(31705L), BGl_string3612z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3385z00_5689); 
FAILURE(BgL_auxz00_11846,BFALSE,BFALSE);} } 
BgL_tmpz00_11842 = BgL_res2343z00_4095; } 
BgL_test4625z00_11841 = 
(BgL_tmpz00_11842==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4625z00_11841)
{ /* Llib/weakhash.scm 800 */
 int BgL_tmpz00_11851;
BgL_tmpz00_11851 = 
(int)(0L); 
return 
UNSAFE_STRUCT_SET(BgL_tablez00_126, BgL_tmpz00_11851, BgL_vz00_4091);}  else 
{ /* Llib/weakhash.scm 800 */
return 
BGl_errorz00zz__errorz00(BGl_string3463z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_126);} } } } } } } } }  else 
{ /* Llib/weakhash.scm 800 */
 bool_t BgL_test4627z00_11855;
{ /* Llib/weakhash.scm 843 */
 obj_t BgL_arg1856z00_2145;
{ /* Llib/weakhash.scm 843 */
 bool_t BgL_test4628z00_11856;
{ /* Llib/weakhash.scm 843 */
 obj_t BgL_tmpz00_11857;
{ /* Llib/weakhash.scm 843 */
 obj_t BgL_res2344z00_4099;
{ /* Llib/weakhash.scm 843 */
 obj_t BgL_aux3387z00_5691;
BgL_aux3387z00_5691 = 
STRUCT_KEY(BgL_tablez00_126); 
if(
SYMBOLP(BgL_aux3387z00_5691))
{ /* Llib/weakhash.scm 843 */
BgL_res2344z00_4099 = BgL_aux3387z00_5691; }  else 
{ 
 obj_t BgL_auxz00_11861;
BgL_auxz00_11861 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(33175L), BGl_string3612z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3387z00_5691); 
FAILURE(BgL_auxz00_11861,BFALSE,BFALSE);} } 
BgL_tmpz00_11857 = BgL_res2344z00_4099; } 
BgL_test4628z00_11856 = 
(BgL_tmpz00_11857==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4628z00_11856)
{ /* Llib/weakhash.scm 843 */
 int BgL_tmpz00_11866;
BgL_tmpz00_11866 = 
(int)(5L); 
BgL_arg1856z00_2145 = 
UNSAFE_STRUCT_REF(BgL_tablez00_126, BgL_tmpz00_11866); }  else 
{ /* Llib/weakhash.scm 843 */
BgL_arg1856z00_2145 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_126); } } 
{ /* Llib/weakhash.scm 843 */
 long BgL_n2z00_4100;
{ /* Llib/weakhash.scm 843 */
 obj_t BgL_tmpz00_11870;
if(
INTEGERP(BgL_arg1856z00_2145))
{ /* Llib/weakhash.scm 843 */
BgL_tmpz00_11870 = BgL_arg1856z00_2145
; }  else 
{ 
 obj_t BgL_auxz00_11873;
BgL_auxz00_11873 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(33197L), BGl_string3612z00zz__weakhashz00, BGl_string3453z00zz__weakhashz00, BgL_arg1856z00_2145); 
FAILURE(BgL_auxz00_11873,BFALSE,BFALSE);} 
BgL_n2z00_4100 = 
(long)CINT(BgL_tmpz00_11870); } 
BgL_test4627z00_11855 = 
(3L==BgL_n2z00_4100); } } 
if(BgL_test4627z00_11855)
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_oldzd2buckszd2_2079;
{ /* Llib/weakhash.scm 800 */
 bool_t BgL_test4631z00_11879;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_tmpz00_11880;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_res2345z00_4104;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_aux3390z00_5694;
BgL_aux3390z00_5694 = 
STRUCT_KEY(BgL_tablez00_126); 
if(
SYMBOLP(BgL_aux3390z00_5694))
{ /* Llib/weakhash.scm 800 */
BgL_res2345z00_4104 = BgL_aux3390z00_5694; }  else 
{ 
 obj_t BgL_auxz00_11884;
BgL_auxz00_11884 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(31705L), BGl_string3612z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3390z00_5694); 
FAILURE(BgL_auxz00_11884,BFALSE,BFALSE);} } 
BgL_tmpz00_11880 = BgL_res2345z00_4104; } 
BgL_test4631z00_11879 = 
(BgL_tmpz00_11880==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4631z00_11879)
{ /* Llib/weakhash.scm 800 */
 int BgL_tmpz00_11889;
BgL_tmpz00_11889 = 
(int)(2L); 
BgL_oldzd2buckszd2_2079 = 
UNSAFE_STRUCT_REF(BgL_tablez00_126, BgL_tmpz00_11889); }  else 
{ /* Llib/weakhash.scm 800 */
BgL_oldzd2buckszd2_2079 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_126); } } 
{ /* Llib/weakhash.scm 800 */
 long BgL_oldzd2buckszd2lenz00_2080;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_vectorz00_4105;
if(
VECTORP(BgL_oldzd2buckszd2_2079))
{ /* Llib/weakhash.scm 800 */
BgL_vectorz00_4105 = BgL_oldzd2buckszd2_2079; }  else 
{ 
 obj_t BgL_auxz00_11895;
BgL_auxz00_11895 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(31705L), BGl_string3612z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_oldzd2buckszd2_2079); 
FAILURE(BgL_auxz00_11895,BFALSE,BFALSE);} 
BgL_oldzd2buckszd2lenz00_2080 = 
VECTOR_LENGTH(BgL_vectorz00_4105); } 
{ /* Llib/weakhash.scm 800 */
 long BgL_newzd2buckszd2lenz00_2081;
BgL_newzd2buckszd2lenz00_2081 = 
(2L*BgL_oldzd2buckszd2lenz00_2080); 
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_newzd2buckszd2_2082;
BgL_newzd2buckszd2_2082 = 
make_vector(BgL_newzd2buckszd2lenz00_2081, BNIL); 
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_countz00_2083;
{ /* Llib/weakhash.scm 800 */
 bool_t BgL_test4634z00_11902;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_tmpz00_11903;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_res2346z00_4110;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_aux3394z00_5698;
BgL_aux3394z00_5698 = 
STRUCT_KEY(BgL_tablez00_126); 
if(
SYMBOLP(BgL_aux3394z00_5698))
{ /* Llib/weakhash.scm 800 */
BgL_res2346z00_4110 = BgL_aux3394z00_5698; }  else 
{ 
 obj_t BgL_auxz00_11907;
BgL_auxz00_11907 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(31705L), BGl_string3612z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3394z00_5698); 
FAILURE(BgL_auxz00_11907,BFALSE,BFALSE);} } 
BgL_tmpz00_11903 = BgL_res2346z00_4110; } 
BgL_test4634z00_11902 = 
(BgL_tmpz00_11903==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4634z00_11902)
{ /* Llib/weakhash.scm 800 */
 int BgL_tmpz00_11912;
BgL_tmpz00_11912 = 
(int)(0L); 
BgL_countz00_2083 = 
UNSAFE_STRUCT_REF(BgL_tablez00_126, BgL_tmpz00_11912); }  else 
{ /* Llib/weakhash.scm 800 */
BgL_countz00_2083 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_126); } } 
{ /* Llib/weakhash.scm 800 */

{ /* Llib/weakhash.scm 800 */
 obj_t BgL_nmaxz00_2084;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_a1136z00_2087;
{ /* Llib/weakhash.scm 800 */
 bool_t BgL_test4636z00_11916;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_tmpz00_11917;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_res2347z00_4114;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_aux3396z00_5700;
BgL_aux3396z00_5700 = 
STRUCT_KEY(BgL_tablez00_126); 
if(
SYMBOLP(BgL_aux3396z00_5700))
{ /* Llib/weakhash.scm 800 */
BgL_res2347z00_4114 = BgL_aux3396z00_5700; }  else 
{ 
 obj_t BgL_auxz00_11921;
BgL_auxz00_11921 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(31705L), BGl_string3612z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3396z00_5700); 
FAILURE(BgL_auxz00_11921,BFALSE,BFALSE);} } 
BgL_tmpz00_11917 = BgL_res2347z00_4114; } 
BgL_test4636z00_11916 = 
(BgL_tmpz00_11917==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4636z00_11916)
{ /* Llib/weakhash.scm 800 */
 int BgL_tmpz00_11926;
BgL_tmpz00_11926 = 
(int)(1L); 
BgL_a1136z00_2087 = 
UNSAFE_STRUCT_REF(BgL_tablez00_126, BgL_tmpz00_11926); }  else 
{ /* Llib/weakhash.scm 800 */
BgL_a1136z00_2087 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_126); } } 
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_b1137z00_2088;
{ /* Llib/weakhash.scm 800 */
 bool_t BgL_test4638z00_11930;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_tmpz00_11931;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_res2348z00_4118;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_aux3398z00_5702;
BgL_aux3398z00_5702 = 
STRUCT_KEY(BgL_tablez00_126); 
if(
SYMBOLP(BgL_aux3398z00_5702))
{ /* Llib/weakhash.scm 800 */
BgL_res2348z00_4118 = BgL_aux3398z00_5702; }  else 
{ 
 obj_t BgL_auxz00_11935;
BgL_auxz00_11935 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(31705L), BGl_string3612z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3398z00_5702); 
FAILURE(BgL_auxz00_11935,BFALSE,BFALSE);} } 
BgL_tmpz00_11931 = BgL_res2348z00_4118; } 
BgL_test4638z00_11930 = 
(BgL_tmpz00_11931==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4638z00_11930)
{ /* Llib/weakhash.scm 800 */
 int BgL_tmpz00_11940;
BgL_tmpz00_11940 = 
(int)(7L); 
BgL_b1137z00_2088 = 
UNSAFE_STRUCT_REF(BgL_tablez00_126, BgL_tmpz00_11940); }  else 
{ /* Llib/weakhash.scm 800 */
BgL_b1137z00_2088 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_126); } } 
{ /* Llib/weakhash.scm 800 */

{ /* Llib/weakhash.scm 800 */
 bool_t BgL_test4640z00_11944;
if(
INTEGERP(BgL_a1136z00_2087))
{ /* Llib/weakhash.scm 800 */
BgL_test4640z00_11944 = 
INTEGERP(BgL_b1137z00_2088)
; }  else 
{ /* Llib/weakhash.scm 800 */
BgL_test4640z00_11944 = ((bool_t)0)
; } 
if(BgL_test4640z00_11944)
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_tmpz00_4121;
BgL_tmpz00_4121 = 
BINT(0L); 
if(
BGL_MULFX_OV(BgL_a1136z00_2087, BgL_b1137z00_2088, BgL_tmpz00_4121))
{ /* Llib/weakhash.scm 800 */
BgL_nmaxz00_2084 = 
bgl_bignum_mul(
bgl_long_to_bignum(
(long)CINT(BgL_a1136z00_2087)), 
bgl_long_to_bignum(
(long)CINT(BgL_b1137z00_2088))); }  else 
{ /* Llib/weakhash.scm 800 */
BgL_nmaxz00_2084 = BgL_tmpz00_4121; } }  else 
{ /* Llib/weakhash.scm 800 */
BgL_nmaxz00_2084 = 
BGl_2za2za2zz__r4_numbers_6_5z00(BgL_a1136z00_2087, BgL_b1137z00_2088); } } } } } 
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_arg1824z00_2085;
if(
REALP(BgL_nmaxz00_2084))
{ /* Llib/weakhash.scm 800 */
BgL_arg1824z00_2085 = 
BINT(
(long)(
REAL_TO_DOUBLE(BgL_nmaxz00_2084))); }  else 
{ /* Llib/weakhash.scm 800 */
BgL_arg1824z00_2085 = BgL_nmaxz00_2084; } 
{ /* Llib/weakhash.scm 800 */
 bool_t BgL_test4644z00_11962;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_tmpz00_11963;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_res2349z00_4133;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_aux3400z00_5704;
BgL_aux3400z00_5704 = 
STRUCT_KEY(BgL_tablez00_126); 
if(
SYMBOLP(BgL_aux3400z00_5704))
{ /* Llib/weakhash.scm 800 */
BgL_res2349z00_4133 = BgL_aux3400z00_5704; }  else 
{ 
 obj_t BgL_auxz00_11967;
BgL_auxz00_11967 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(31705L), BGl_string3612z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3400z00_5704); 
FAILURE(BgL_auxz00_11967,BFALSE,BFALSE);} } 
BgL_tmpz00_11963 = BgL_res2349z00_4133; } 
BgL_test4644z00_11962 = 
(BgL_tmpz00_11963==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4644z00_11962)
{ /* Llib/weakhash.scm 800 */
 int BgL_tmpz00_11972;
BgL_tmpz00_11972 = 
(int)(1L); 
UNSAFE_STRUCT_SET(BgL_tablez00_126, BgL_tmpz00_11972, BgL_arg1824z00_2085); }  else 
{ /* Llib/weakhash.scm 800 */
BGl_errorz00zz__errorz00(BGl_string3463z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_126); } } } } 
{ /* Llib/weakhash.scm 800 */
 bool_t BgL_test4646z00_11976;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_tmpz00_11977;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_res2350z00_4137;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_aux3402z00_5706;
BgL_aux3402z00_5706 = 
STRUCT_KEY(BgL_tablez00_126); 
if(
SYMBOLP(BgL_aux3402z00_5706))
{ /* Llib/weakhash.scm 800 */
BgL_res2350z00_4137 = BgL_aux3402z00_5706; }  else 
{ 
 obj_t BgL_auxz00_11981;
BgL_auxz00_11981 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(31705L), BGl_string3612z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3402z00_5706); 
FAILURE(BgL_auxz00_11981,BFALSE,BFALSE);} } 
BgL_tmpz00_11977 = BgL_res2350z00_4137; } 
BgL_test4646z00_11976 = 
(BgL_tmpz00_11977==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4646z00_11976)
{ /* Llib/weakhash.scm 800 */
 int BgL_tmpz00_11986;
BgL_tmpz00_11986 = 
(int)(2L); 
UNSAFE_STRUCT_SET(BgL_tablez00_126, BgL_tmpz00_11986, BgL_newzd2buckszd2_2082); }  else 
{ /* Llib/weakhash.scm 800 */
BGl_errorz00zz__errorz00(BGl_string3463z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_126); } } 
{ 
 long BgL_iz00_2091;
BgL_iz00_2091 = 0L; 
BgL_zc3z04anonymousza31827ze3z87_2092:
if(
(BgL_iz00_2091<BgL_oldzd2buckszd2lenz00_2080))
{ /* Llib/weakhash.scm 800 */
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_g1140z00_2094;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_vectorz00_4140;
if(
VECTORP(BgL_oldzd2buckszd2_2079))
{ /* Llib/weakhash.scm 800 */
BgL_vectorz00_4140 = BgL_oldzd2buckszd2_2079; }  else 
{ 
 obj_t BgL_auxz00_11994;
BgL_auxz00_11994 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(31705L), BGl_string3467z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_oldzd2buckszd2_2079); 
FAILURE(BgL_auxz00_11994,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 800 */
 bool_t BgL_test4650z00_11998;
{ /* Llib/weakhash.scm 800 */
 long BgL_tmpz00_11999;
BgL_tmpz00_11999 = 
VECTOR_LENGTH(BgL_vectorz00_4140); 
BgL_test4650z00_11998 = 
BOUND_CHECK(BgL_iz00_2091, BgL_tmpz00_11999); } 
if(BgL_test4650z00_11998)
{ /* Llib/weakhash.scm 800 */
BgL_g1140z00_2094 = 
VECTOR_REF(BgL_vectorz00_4140,BgL_iz00_2091); }  else 
{ 
 obj_t BgL_auxz00_12003;
BgL_auxz00_12003 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(31705L), BGl_string3459z00zz__weakhashz00, BgL_vectorz00_4140, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_4140)), 
(int)(BgL_iz00_2091)); 
FAILURE(BgL_auxz00_12003,BFALSE,BFALSE);} } } 
{ 
 obj_t BgL_l1138z00_2096;
BgL_l1138z00_2096 = BgL_g1140z00_2094; 
BgL_zc3z04anonymousza31829ze3z87_2097:
if(
PAIRP(BgL_l1138z00_2096))
{ /* Llib/weakhash.scm 800 */
{ /* Llib/weakhash.scm 845 */
 obj_t BgL_cellz00_2099;
BgL_cellz00_2099 = 
CAR(BgL_l1138z00_2096); 
{ /* Llib/weakhash.scm 845 */
 obj_t BgL_keyz00_2100; obj_t BgL_dataz00_2101;
{ /* Llib/weakhash.scm 845 */
 obj_t BgL_arg1835z00_2107;
{ /* Llib/weakhash.scm 845 */
 obj_t BgL_pairz00_4143;
if(
PAIRP(BgL_cellz00_2099))
{ /* Llib/weakhash.scm 845 */
BgL_pairz00_4143 = BgL_cellz00_2099; }  else 
{ 
 obj_t BgL_auxz00_12015;
BgL_auxz00_12015 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(33265L), BGl_string3615z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_cellz00_2099); 
FAILURE(BgL_auxz00_12015,BFALSE,BFALSE);} 
BgL_arg1835z00_2107 = 
CAR(BgL_pairz00_4143); } 
{ /* Llib/weakhash.scm 845 */
 obj_t BgL_objz00_4144;
if(
BGL_WEAKPTRP(BgL_arg1835z00_2107))
{ /* Llib/weakhash.scm 845 */
BgL_objz00_4144 = BgL_arg1835z00_2107; }  else 
{ 
 obj_t BgL_auxz00_12022;
BgL_auxz00_12022 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(33269L), BGl_string3615z00zz__weakhashz00, BGl_string3462z00zz__weakhashz00, BgL_arg1835z00_2107); 
FAILURE(BgL_auxz00_12022,BFALSE,BFALSE);} 
BgL_keyz00_2100 = 
bgl_weakptr_data(BgL_objz00_4144); } } 
{ /* Llib/weakhash.scm 846 */
 obj_t BgL_arg1836z00_2108;
{ /* Llib/weakhash.scm 846 */
 obj_t BgL_pairz00_4145;
if(
PAIRP(BgL_cellz00_2099))
{ /* Llib/weakhash.scm 846 */
BgL_pairz00_4145 = BgL_cellz00_2099; }  else 
{ 
 obj_t BgL_auxz00_12029;
BgL_auxz00_12029 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(33304L), BGl_string3615z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_cellz00_2099); 
FAILURE(BgL_auxz00_12029,BFALSE,BFALSE);} 
BgL_arg1836z00_2108 = 
CDR(BgL_pairz00_4145); } 
{ /* Llib/weakhash.scm 846 */
 obj_t BgL_objz00_4146;
if(
BGL_WEAKPTRP(BgL_arg1836z00_2108))
{ /* Llib/weakhash.scm 846 */
BgL_objz00_4146 = BgL_arg1836z00_2108; }  else 
{ 
 obj_t BgL_auxz00_12036;
BgL_auxz00_12036 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(33308L), BGl_string3615z00zz__weakhashz00, BGl_string3462z00zz__weakhashz00, BgL_arg1836z00_2108); 
FAILURE(BgL_auxz00_12036,BFALSE,BFALSE);} 
BgL_dataz00_2101 = 
bgl_weakptr_data(BgL_objz00_4146); } } 
{ /* Llib/weakhash.scm 847 */
 bool_t BgL_test4656z00_12041;
if(
(BgL_keyz00_2100==BUNSPEC))
{ /* Llib/weakhash.scm 847 */
BgL_test4656z00_12041 = ((bool_t)1)
; }  else 
{ /* Llib/weakhash.scm 847 */
BgL_test4656z00_12041 = 
(BgL_dataz00_2101==BUNSPEC)
; } 
if(BgL_test4656z00_12041)
{ 
 obj_t BgL_tmpz00_12045;
{ /* Llib/weakhash.scm 849 */
 obj_t BgL_aux3414z00_5718;
BgL_aux3414z00_5718 = BgL_countz00_2083; 
if(
INTEGERP(BgL_aux3414z00_5718))
{ /* Llib/weakhash.scm 849 */
BgL_tmpz00_12045 = BgL_aux3414z00_5718
; }  else 
{ 
 obj_t BgL_auxz00_12048;
BgL_auxz00_12048 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(33414L), BGl_string3615z00zz__weakhashz00, BGl_string3453z00zz__weakhashz00, BgL_aux3414z00_5718); 
FAILURE(BgL_auxz00_12048,BFALSE,BFALSE);} } 
BgL_countz00_2083 = 
SUBFX(BgL_tmpz00_12045, 
BINT(1L)); }  else 
{ /* Llib/weakhash.scm 850 */
 long BgL_hz00_2103;
{ /* Llib/weakhash.scm 851 */
 long BgL_arg1834z00_2106;
BgL_arg1834z00_2106 = 
BGl_tablezd2getzd2hashnumberz00zz__weakhashz00(BgL_tablez00_126, BgL_keyz00_2100); 
{ /* Llib/weakhash.scm 850 */
 long BgL_n1z00_4148; long BgL_n2z00_4149;
BgL_n1z00_4148 = BgL_arg1834z00_2106; 
BgL_n2z00_4149 = BgL_newzd2buckszd2lenz00_2081; 
{ /* Llib/weakhash.scm 850 */
 bool_t BgL_test4659z00_12055;
{ /* Llib/weakhash.scm 850 */
 long BgL_arg2041z00_4151;
BgL_arg2041z00_4151 = 
(((BgL_n1z00_4148) | (BgL_n2z00_4149)) & -2147483648); 
BgL_test4659z00_12055 = 
(BgL_arg2041z00_4151==0L); } 
if(BgL_test4659z00_12055)
{ /* Llib/weakhash.scm 850 */
 int32_t BgL_arg2037z00_4152;
{ /* Llib/weakhash.scm 850 */
 int32_t BgL_arg2038z00_4153; int32_t BgL_arg2039z00_4154;
BgL_arg2038z00_4153 = 
(int32_t)(BgL_n1z00_4148); 
BgL_arg2039z00_4154 = 
(int32_t)(BgL_n2z00_4149); 
BgL_arg2037z00_4152 = 
(BgL_arg2038z00_4153%BgL_arg2039z00_4154); } 
{ /* Llib/weakhash.scm 850 */
 long BgL_arg2142z00_4159;
BgL_arg2142z00_4159 = 
(long)(BgL_arg2037z00_4152); 
BgL_hz00_2103 = 
(long)(BgL_arg2142z00_4159); } }  else 
{ /* Llib/weakhash.scm 850 */
BgL_hz00_2103 = 
(BgL_n1z00_4148%BgL_n2z00_4149); } } } } 
{ /* Llib/weakhash.scm 856 */
 obj_t BgL_arg1832z00_2104;
{ /* Llib/weakhash.scm 856 */
 obj_t BgL_arg1833z00_2105;
{ /* Llib/weakhash.scm 856 */
 bool_t BgL_test4660z00_12064;
{ /* Llib/weakhash.scm 856 */
 long BgL_tmpz00_12065;
BgL_tmpz00_12065 = 
VECTOR_LENGTH(BgL_newzd2buckszd2_2082); 
BgL_test4660z00_12064 = 
BOUND_CHECK(BgL_hz00_2103, BgL_tmpz00_12065); } 
if(BgL_test4660z00_12064)
{ /* Llib/weakhash.scm 856 */
BgL_arg1833z00_2105 = 
VECTOR_REF(BgL_newzd2buckszd2_2082,BgL_hz00_2103); }  else 
{ 
 obj_t BgL_auxz00_12069;
BgL_auxz00_12069 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(33595L), BGl_string3459z00zz__weakhashz00, BgL_newzd2buckszd2_2082, 
(int)(
VECTOR_LENGTH(BgL_newzd2buckszd2_2082)), 
(int)(BgL_hz00_2103)); 
FAILURE(BgL_auxz00_12069,BFALSE,BFALSE);} } 
BgL_arg1832z00_2104 = 
MAKE_YOUNG_PAIR(BgL_cellz00_2099, BgL_arg1833z00_2105); } 
{ /* Llib/weakhash.scm 853 */
 bool_t BgL_test4661z00_12077;
{ /* Llib/weakhash.scm 853 */
 long BgL_tmpz00_12078;
BgL_tmpz00_12078 = 
VECTOR_LENGTH(BgL_newzd2buckszd2_2082); 
BgL_test4661z00_12077 = 
BOUND_CHECK(BgL_hz00_2103, BgL_tmpz00_12078); } 
if(BgL_test4661z00_12077)
{ /* Llib/weakhash.scm 853 */
VECTOR_SET(BgL_newzd2buckszd2_2082,BgL_hz00_2103,BgL_arg1832z00_2104); }  else 
{ 
 obj_t BgL_auxz00_12082;
BgL_auxz00_12082 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(33533L), BGl_string3464z00zz__weakhashz00, BgL_newzd2buckszd2_2082, 
(int)(
VECTOR_LENGTH(BgL_newzd2buckszd2_2082)), 
(int)(BgL_hz00_2103)); 
FAILURE(BgL_auxz00_12082,BFALSE,BFALSE);} } } } } } } 
{ 
 obj_t BgL_l1138z00_12089;
BgL_l1138z00_12089 = 
CDR(BgL_l1138z00_2096); 
BgL_l1138z00_2096 = BgL_l1138z00_12089; 
goto BgL_zc3z04anonymousza31829ze3z87_2097;} }  else 
{ /* Llib/weakhash.scm 800 */
if(
NULLP(BgL_l1138z00_2096))
{ /* Llib/weakhash.scm 800 */BTRUE; }  else 
{ /* Llib/weakhash.scm 800 */
BGl_bigloozd2typezd2errorz00zz__errorz00(BGl_string3478z00zz__weakhashz00, BGl_string3479z00zz__weakhashz00, BgL_l1138z00_2096); } } } } 
{ 
 long BgL_iz00_12094;
BgL_iz00_12094 = 
(BgL_iz00_2091+1L); 
BgL_iz00_2091 = BgL_iz00_12094; 
goto BgL_zc3z04anonymousza31827ze3z87_2092;} }  else 
{ /* Llib/weakhash.scm 800 */((bool_t)0); } } 
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_vz00_4167;
BgL_vz00_4167 = BgL_countz00_2083; 
{ /* Llib/weakhash.scm 800 */
 bool_t BgL_test4663z00_12096;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_tmpz00_12097;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_res2351z00_4171;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_aux3415z00_5719;
BgL_aux3415z00_5719 = 
STRUCT_KEY(BgL_tablez00_126); 
if(
SYMBOLP(BgL_aux3415z00_5719))
{ /* Llib/weakhash.scm 800 */
BgL_res2351z00_4171 = BgL_aux3415z00_5719; }  else 
{ 
 obj_t BgL_auxz00_12101;
BgL_auxz00_12101 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(31705L), BGl_string3612z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3415z00_5719); 
FAILURE(BgL_auxz00_12101,BFALSE,BFALSE);} } 
BgL_tmpz00_12097 = BgL_res2351z00_4171; } 
BgL_test4663z00_12096 = 
(BgL_tmpz00_12097==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4663z00_12096)
{ /* Llib/weakhash.scm 800 */
 int BgL_tmpz00_12106;
BgL_tmpz00_12106 = 
(int)(0L); 
return 
UNSAFE_STRUCT_SET(BgL_tablez00_126, BgL_tmpz00_12106, BgL_vz00_4167);}  else 
{ /* Llib/weakhash.scm 800 */
return 
BGl_errorz00zz__errorz00(BGl_string3463z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_126);} } } } } } } } }  else 
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_oldzd2buckszd2_2114;
{ /* Llib/weakhash.scm 800 */
 bool_t BgL_test4665z00_12110;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_tmpz00_12111;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_res2352z00_4175;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_aux3417z00_5721;
BgL_aux3417z00_5721 = 
STRUCT_KEY(BgL_tablez00_126); 
if(
SYMBOLP(BgL_aux3417z00_5721))
{ /* Llib/weakhash.scm 800 */
BgL_res2352z00_4175 = BgL_aux3417z00_5721; }  else 
{ 
 obj_t BgL_auxz00_12115;
BgL_auxz00_12115 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(31705L), BGl_string3612z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3417z00_5721); 
FAILURE(BgL_auxz00_12115,BFALSE,BFALSE);} } 
BgL_tmpz00_12111 = BgL_res2352z00_4175; } 
BgL_test4665z00_12110 = 
(BgL_tmpz00_12111==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4665z00_12110)
{ /* Llib/weakhash.scm 800 */
 int BgL_tmpz00_12120;
BgL_tmpz00_12120 = 
(int)(2L); 
BgL_oldzd2buckszd2_2114 = 
UNSAFE_STRUCT_REF(BgL_tablez00_126, BgL_tmpz00_12120); }  else 
{ /* Llib/weakhash.scm 800 */
BgL_oldzd2buckszd2_2114 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_126); } } 
{ /* Llib/weakhash.scm 800 */
 long BgL_oldzd2buckszd2lenz00_2115;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_vectorz00_4176;
if(
VECTORP(BgL_oldzd2buckszd2_2114))
{ /* Llib/weakhash.scm 800 */
BgL_vectorz00_4176 = BgL_oldzd2buckszd2_2114; }  else 
{ 
 obj_t BgL_auxz00_12126;
BgL_auxz00_12126 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(31705L), BGl_string3612z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_oldzd2buckszd2_2114); 
FAILURE(BgL_auxz00_12126,BFALSE,BFALSE);} 
BgL_oldzd2buckszd2lenz00_2115 = 
VECTOR_LENGTH(BgL_vectorz00_4176); } 
{ /* Llib/weakhash.scm 800 */
 long BgL_newzd2buckszd2lenz00_2116;
BgL_newzd2buckszd2lenz00_2116 = 
(2L*BgL_oldzd2buckszd2lenz00_2115); 
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_newzd2buckszd2_2117;
BgL_newzd2buckszd2_2117 = 
make_vector(BgL_newzd2buckszd2lenz00_2116, BNIL); 
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_countz00_2118;
{ /* Llib/weakhash.scm 800 */
 bool_t BgL_test4668z00_12133;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_tmpz00_12134;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_res2353z00_4181;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_aux3421z00_5725;
BgL_aux3421z00_5725 = 
STRUCT_KEY(BgL_tablez00_126); 
if(
SYMBOLP(BgL_aux3421z00_5725))
{ /* Llib/weakhash.scm 800 */
BgL_res2353z00_4181 = BgL_aux3421z00_5725; }  else 
{ 
 obj_t BgL_auxz00_12138;
BgL_auxz00_12138 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(31705L), BGl_string3612z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3421z00_5725); 
FAILURE(BgL_auxz00_12138,BFALSE,BFALSE);} } 
BgL_tmpz00_12134 = BgL_res2353z00_4181; } 
BgL_test4668z00_12133 = 
(BgL_tmpz00_12134==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4668z00_12133)
{ /* Llib/weakhash.scm 800 */
 int BgL_tmpz00_12143;
BgL_tmpz00_12143 = 
(int)(0L); 
BgL_countz00_2118 = 
UNSAFE_STRUCT_REF(BgL_tablez00_126, BgL_tmpz00_12143); }  else 
{ /* Llib/weakhash.scm 800 */
BgL_countz00_2118 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_126); } } 
{ /* Llib/weakhash.scm 800 */

{ /* Llib/weakhash.scm 800 */
 obj_t BgL_nmaxz00_2119;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_a1141z00_2122;
{ /* Llib/weakhash.scm 800 */
 bool_t BgL_test4671z00_12147;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_tmpz00_12148;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_res2354z00_4185;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_aux3423z00_5727;
BgL_aux3423z00_5727 = 
STRUCT_KEY(BgL_tablez00_126); 
if(
SYMBOLP(BgL_aux3423z00_5727))
{ /* Llib/weakhash.scm 800 */
BgL_res2354z00_4185 = BgL_aux3423z00_5727; }  else 
{ 
 obj_t BgL_auxz00_12152;
BgL_auxz00_12152 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(31705L), BGl_string3612z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3423z00_5727); 
FAILURE(BgL_auxz00_12152,BFALSE,BFALSE);} } 
BgL_tmpz00_12148 = BgL_res2354z00_4185; } 
BgL_test4671z00_12147 = 
(BgL_tmpz00_12148==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4671z00_12147)
{ /* Llib/weakhash.scm 800 */
 int BgL_tmpz00_12157;
BgL_tmpz00_12157 = 
(int)(1L); 
BgL_a1141z00_2122 = 
UNSAFE_STRUCT_REF(BgL_tablez00_126, BgL_tmpz00_12157); }  else 
{ /* Llib/weakhash.scm 800 */
BgL_a1141z00_2122 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_126); } } 
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_b1142z00_2123;
{ /* Llib/weakhash.scm 800 */
 bool_t BgL_test4673z00_12161;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_tmpz00_12162;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_res2355z00_4189;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_aux3425z00_5729;
BgL_aux3425z00_5729 = 
STRUCT_KEY(BgL_tablez00_126); 
if(
SYMBOLP(BgL_aux3425z00_5729))
{ /* Llib/weakhash.scm 800 */
BgL_res2355z00_4189 = BgL_aux3425z00_5729; }  else 
{ 
 obj_t BgL_auxz00_12166;
BgL_auxz00_12166 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(31705L), BGl_string3612z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3425z00_5729); 
FAILURE(BgL_auxz00_12166,BFALSE,BFALSE);} } 
BgL_tmpz00_12162 = BgL_res2355z00_4189; } 
BgL_test4673z00_12161 = 
(BgL_tmpz00_12162==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4673z00_12161)
{ /* Llib/weakhash.scm 800 */
 int BgL_tmpz00_12171;
BgL_tmpz00_12171 = 
(int)(7L); 
BgL_b1142z00_2123 = 
UNSAFE_STRUCT_REF(BgL_tablez00_126, BgL_tmpz00_12171); }  else 
{ /* Llib/weakhash.scm 800 */
BgL_b1142z00_2123 = 
BGl_errorz00zz__errorz00(BGl_string3444z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_126); } } 
{ /* Llib/weakhash.scm 800 */

{ /* Llib/weakhash.scm 800 */
 bool_t BgL_test4675z00_12175;
if(
INTEGERP(BgL_a1141z00_2122))
{ /* Llib/weakhash.scm 800 */
BgL_test4675z00_12175 = 
INTEGERP(BgL_b1142z00_2123)
; }  else 
{ /* Llib/weakhash.scm 800 */
BgL_test4675z00_12175 = ((bool_t)0)
; } 
if(BgL_test4675z00_12175)
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_tmpz00_4192;
BgL_tmpz00_4192 = 
BINT(0L); 
if(
BGL_MULFX_OV(BgL_a1141z00_2122, BgL_b1142z00_2123, BgL_tmpz00_4192))
{ /* Llib/weakhash.scm 800 */
BgL_nmaxz00_2119 = 
bgl_bignum_mul(
bgl_long_to_bignum(
(long)CINT(BgL_a1141z00_2122)), 
bgl_long_to_bignum(
(long)CINT(BgL_b1142z00_2123))); }  else 
{ /* Llib/weakhash.scm 800 */
BgL_nmaxz00_2119 = BgL_tmpz00_4192; } }  else 
{ /* Llib/weakhash.scm 800 */
BgL_nmaxz00_2119 = 
BGl_2za2za2zz__r4_numbers_6_5z00(BgL_a1141z00_2122, BgL_b1142z00_2123); } } } } } 
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_arg1840z00_2120;
if(
REALP(BgL_nmaxz00_2119))
{ /* Llib/weakhash.scm 800 */
BgL_arg1840z00_2120 = 
BINT(
(long)(
REAL_TO_DOUBLE(BgL_nmaxz00_2119))); }  else 
{ /* Llib/weakhash.scm 800 */
BgL_arg1840z00_2120 = BgL_nmaxz00_2119; } 
{ /* Llib/weakhash.scm 800 */
 bool_t BgL_test4679z00_12193;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_tmpz00_12194;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_res2356z00_4204;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_aux3427z00_5731;
BgL_aux3427z00_5731 = 
STRUCT_KEY(BgL_tablez00_126); 
if(
SYMBOLP(BgL_aux3427z00_5731))
{ /* Llib/weakhash.scm 800 */
BgL_res2356z00_4204 = BgL_aux3427z00_5731; }  else 
{ 
 obj_t BgL_auxz00_12198;
BgL_auxz00_12198 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(31705L), BGl_string3612z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3427z00_5731); 
FAILURE(BgL_auxz00_12198,BFALSE,BFALSE);} } 
BgL_tmpz00_12194 = BgL_res2356z00_4204; } 
BgL_test4679z00_12193 = 
(BgL_tmpz00_12194==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4679z00_12193)
{ /* Llib/weakhash.scm 800 */
 int BgL_tmpz00_12203;
BgL_tmpz00_12203 = 
(int)(1L); 
UNSAFE_STRUCT_SET(BgL_tablez00_126, BgL_tmpz00_12203, BgL_arg1840z00_2120); }  else 
{ /* Llib/weakhash.scm 800 */
BGl_errorz00zz__errorz00(BGl_string3463z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_126); } } } } 
{ /* Llib/weakhash.scm 800 */
 bool_t BgL_test4681z00_12207;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_tmpz00_12208;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_res2357z00_4208;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_aux3429z00_5733;
BgL_aux3429z00_5733 = 
STRUCT_KEY(BgL_tablez00_126); 
if(
SYMBOLP(BgL_aux3429z00_5733))
{ /* Llib/weakhash.scm 800 */
BgL_res2357z00_4208 = BgL_aux3429z00_5733; }  else 
{ 
 obj_t BgL_auxz00_12212;
BgL_auxz00_12212 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(31705L), BGl_string3612z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3429z00_5733); 
FAILURE(BgL_auxz00_12212,BFALSE,BFALSE);} } 
BgL_tmpz00_12208 = BgL_res2357z00_4208; } 
BgL_test4681z00_12207 = 
(BgL_tmpz00_12208==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4681z00_12207)
{ /* Llib/weakhash.scm 800 */
 int BgL_tmpz00_12217;
BgL_tmpz00_12217 = 
(int)(2L); 
UNSAFE_STRUCT_SET(BgL_tablez00_126, BgL_tmpz00_12217, BgL_newzd2buckszd2_2117); }  else 
{ /* Llib/weakhash.scm 800 */
BGl_errorz00zz__errorz00(BGl_string3463z00zz__weakhashz00, BGl_string3443z00zz__weakhashz00, BgL_tablez00_126); } } 
{ 
 long BgL_iz00_2126;
BgL_iz00_2126 = 0L; 
BgL_zc3z04anonymousza31843ze3z87_2127:
if(
(BgL_iz00_2126<BgL_oldzd2buckszd2lenz00_2115))
{ /* Llib/weakhash.scm 800 */
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_g1145z00_2129;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_vectorz00_4211;
if(
VECTORP(BgL_oldzd2buckszd2_2114))
{ /* Llib/weakhash.scm 800 */
BgL_vectorz00_4211 = BgL_oldzd2buckszd2_2114; }  else 
{ 
 obj_t BgL_auxz00_12225;
BgL_auxz00_12225 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(31705L), BGl_string3467z00zz__weakhashz00, BGl_string3458z00zz__weakhashz00, BgL_oldzd2buckszd2_2114); 
FAILURE(BgL_auxz00_12225,BFALSE,BFALSE);} 
{ /* Llib/weakhash.scm 800 */
 bool_t BgL_test4685z00_12229;
{ /* Llib/weakhash.scm 800 */
 long BgL_tmpz00_12230;
BgL_tmpz00_12230 = 
VECTOR_LENGTH(BgL_vectorz00_4211); 
BgL_test4685z00_12229 = 
BOUND_CHECK(BgL_iz00_2126, BgL_tmpz00_12230); } 
if(BgL_test4685z00_12229)
{ /* Llib/weakhash.scm 800 */
BgL_g1145z00_2129 = 
VECTOR_REF(BgL_vectorz00_4211,BgL_iz00_2126); }  else 
{ 
 obj_t BgL_auxz00_12234;
BgL_auxz00_12234 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(31705L), BGl_string3459z00zz__weakhashz00, BgL_vectorz00_4211, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_4211)), 
(int)(BgL_iz00_2126)); 
FAILURE(BgL_auxz00_12234,BFALSE,BFALSE);} } } 
{ 
 obj_t BgL_l1143z00_2131;
BgL_l1143z00_2131 = BgL_g1145z00_2129; 
BgL_zc3z04anonymousza31845ze3z87_2132:
if(
PAIRP(BgL_l1143z00_2131))
{ /* Llib/weakhash.scm 800 */
{ /* Llib/weakhash.scm 860 */
 obj_t BgL_cellz00_2134;
BgL_cellz00_2134 = 
CAR(BgL_l1143z00_2131); 
{ /* Llib/weakhash.scm 860 */
 long BgL_hz00_2135;
{ /* Llib/weakhash.scm 862 */
 long BgL_arg1849z00_2138;
{ /* Llib/weakhash.scm 862 */
 obj_t BgL_arg1851z00_2139;
{ /* Llib/weakhash.scm 862 */
 obj_t BgL_pairz00_4214;
if(
PAIRP(BgL_cellz00_2134))
{ /* Llib/weakhash.scm 862 */
BgL_pairz00_4214 = BgL_cellz00_2134; }  else 
{ 
 obj_t BgL_auxz00_12246;
BgL_auxz00_12246 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(33754L), BGl_string3616z00zz__weakhashz00, BGl_string3461z00zz__weakhashz00, BgL_cellz00_2134); 
FAILURE(BgL_auxz00_12246,BFALSE,BFALSE);} 
BgL_arg1851z00_2139 = 
CAR(BgL_pairz00_4214); } 
BgL_arg1849z00_2138 = 
BGl_tablezd2getzd2hashnumberz00zz__weakhashz00(BgL_tablez00_126, BgL_arg1851z00_2139); } 
{ /* Llib/weakhash.scm 860 */
 long BgL_n1z00_4215; long BgL_n2z00_4216;
BgL_n1z00_4215 = BgL_arg1849z00_2138; 
BgL_n2z00_4216 = BgL_newzd2buckszd2lenz00_2116; 
{ /* Llib/weakhash.scm 860 */
 bool_t BgL_test4688z00_12252;
{ /* Llib/weakhash.scm 860 */
 long BgL_arg2041z00_4218;
BgL_arg2041z00_4218 = 
(((BgL_n1z00_4215) | (BgL_n2z00_4216)) & -2147483648); 
BgL_test4688z00_12252 = 
(BgL_arg2041z00_4218==0L); } 
if(BgL_test4688z00_12252)
{ /* Llib/weakhash.scm 860 */
 int32_t BgL_arg2037z00_4219;
{ /* Llib/weakhash.scm 860 */
 int32_t BgL_arg2038z00_4220; int32_t BgL_arg2039z00_4221;
BgL_arg2038z00_4220 = 
(int32_t)(BgL_n1z00_4215); 
BgL_arg2039z00_4221 = 
(int32_t)(BgL_n2z00_4216); 
BgL_arg2037z00_4219 = 
(BgL_arg2038z00_4220%BgL_arg2039z00_4221); } 
{ /* Llib/weakhash.scm 860 */
 long BgL_arg2142z00_4226;
BgL_arg2142z00_4226 = 
(long)(BgL_arg2037z00_4219); 
BgL_hz00_2135 = 
(long)(BgL_arg2142z00_4226); } }  else 
{ /* Llib/weakhash.scm 860 */
BgL_hz00_2135 = 
(BgL_n1z00_4215%BgL_n2z00_4216); } } } } 
{ /* Llib/weakhash.scm 868 */
 obj_t BgL_arg1847z00_2136;
{ /* Llib/weakhash.scm 868 */
 obj_t BgL_arg1848z00_2137;
{ /* Llib/weakhash.scm 868 */
 bool_t BgL_test4689z00_12261;
{ /* Llib/weakhash.scm 868 */
 long BgL_tmpz00_12262;
BgL_tmpz00_12262 = 
VECTOR_LENGTH(BgL_newzd2buckszd2_2117); 
BgL_test4689z00_12261 = 
BOUND_CHECK(BgL_hz00_2135, BgL_tmpz00_12262); } 
if(BgL_test4689z00_12261)
{ /* Llib/weakhash.scm 868 */
BgL_arg1848z00_2137 = 
VECTOR_REF(BgL_newzd2buckszd2_2117,BgL_hz00_2135); }  else 
{ 
 obj_t BgL_auxz00_12266;
BgL_auxz00_12266 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(33856L), BGl_string3459z00zz__weakhashz00, BgL_newzd2buckszd2_2117, 
(int)(
VECTOR_LENGTH(BgL_newzd2buckszd2_2117)), 
(int)(BgL_hz00_2135)); 
FAILURE(BgL_auxz00_12266,BFALSE,BFALSE);} } 
BgL_arg1847z00_2136 = 
MAKE_YOUNG_PAIR(BgL_cellz00_2134, BgL_arg1848z00_2137); } 
{ /* Llib/weakhash.scm 864 */
 bool_t BgL_test4690z00_12274;
{ /* Llib/weakhash.scm 864 */
 long BgL_tmpz00_12275;
BgL_tmpz00_12275 = 
VECTOR_LENGTH(BgL_newzd2buckszd2_2117); 
BgL_test4690z00_12274 = 
BOUND_CHECK(BgL_hz00_2135, BgL_tmpz00_12275); } 
if(BgL_test4690z00_12274)
{ /* Llib/weakhash.scm 864 */
VECTOR_SET(BgL_newzd2buckszd2_2117,BgL_hz00_2135,BgL_arg1847z00_2136); }  else 
{ 
 obj_t BgL_auxz00_12279;
BgL_auxz00_12279 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(33798L), BGl_string3464z00zz__weakhashz00, BgL_newzd2buckszd2_2117, 
(int)(
VECTOR_LENGTH(BgL_newzd2buckszd2_2117)), 
(int)(BgL_hz00_2135)); 
FAILURE(BgL_auxz00_12279,BFALSE,BFALSE);} } } } } 
{ 
 obj_t BgL_l1143z00_12286;
BgL_l1143z00_12286 = 
CDR(BgL_l1143z00_2131); 
BgL_l1143z00_2131 = BgL_l1143z00_12286; 
goto BgL_zc3z04anonymousza31845ze3z87_2132;} }  else 
{ /* Llib/weakhash.scm 800 */
if(
NULLP(BgL_l1143z00_2131))
{ /* Llib/weakhash.scm 800 */BTRUE; }  else 
{ /* Llib/weakhash.scm 800 */
BGl_bigloozd2typezd2errorz00zz__errorz00(BGl_string3478z00zz__weakhashz00, BGl_string3479z00zz__weakhashz00, BgL_l1143z00_2131); } } } } 
{ 
 long BgL_iz00_12291;
BgL_iz00_12291 = 
(BgL_iz00_2126+1L); 
BgL_iz00_2126 = BgL_iz00_12291; 
goto BgL_zc3z04anonymousza31843ze3z87_2127;} }  else 
{ /* Llib/weakhash.scm 800 */((bool_t)0); } } 
{ /* Llib/weakhash.scm 800 */
 bool_t BgL_test4692z00_12293;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_tmpz00_12294;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_res2358z00_4237;
{ /* Llib/weakhash.scm 800 */
 obj_t BgL_aux3435z00_5739;
BgL_aux3435z00_5739 = 
STRUCT_KEY(BgL_tablez00_126); 
if(
SYMBOLP(BgL_aux3435z00_5739))
{ /* Llib/weakhash.scm 800 */
BgL_res2358z00_4237 = BgL_aux3435z00_5739; }  else 
{ 
 obj_t BgL_auxz00_12298;
BgL_auxz00_12298 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(31705L), BGl_string3612z00zz__weakhashz00, BGl_string3441z00zz__weakhashz00, BgL_aux3435z00_5739); 
FAILURE(BgL_auxz00_12298,BFALSE,BFALSE);} } 
BgL_tmpz00_12294 = BgL_res2358z00_4237; } 
BgL_test4692z00_12293 = 
(BgL_tmpz00_12294==BGl_symbol3442z00zz__weakhashz00); } 
if(BgL_test4692z00_12293)
{ /* Llib/weakhash.scm 800 */
 int BgL_tmpz00_12303;
BgL_tmpz00_12303 = 
(int)(0L); 
return 
UNSAFE_STRUCT_SET(BgL_tablez00_126, BgL_tmpz00_12303, BgL_countz00_2118);}  else 
{ /* Llib/weakhash.scm 800 */
return 
BGl_errorz00zz__errorz00(BGl_string3463z00zz__weakhashz00, BGl_string3443z00zz__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_4629, obj_t BgL_tablez00_4630)
{
{ /* Llib/weakhash.scm 876 */
{ /* Llib/weakhash.scm 877 */
 obj_t BgL_auxz00_12311;
if(
STRUCTP(BgL_tablez00_4630))
{ /* Llib/weakhash.scm 877 */
BgL_auxz00_12311 = BgL_tablez00_4630
; }  else 
{ 
 obj_t BgL_auxz00_12314;
BgL_auxz00_12314 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3456z00zz__weakhashz00, 
BINT(34257L), BGl_string3617z00zz__weakhashz00, BGl_string3498z00zz__weakhashz00, BgL_tablez00_4630); 
FAILURE(BgL_auxz00_12314,BFALSE,BFALSE);} 
return 
BGl_weakzd2hashtablezd2expandz12z12zz__weakhashz00(BgL_auxz00_12311);} } 

}



/* 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_string3618z00zz__weakhashz00)); 
BGl_modulezd2initializa7ationz75zz__r4_symbols_6_4z00(115192690L, 
BSTRING_TO_STRING(BGl_string3618z00zz__weakhashz00)); 
BGl_modulezd2initializa7ationz75zz__paramz00(453939141L, 
BSTRING_TO_STRING(BGl_string3618z00zz__weakhashz00)); 
BGl_modulezd2initializa7ationz75zz__hashz00(254893342L, 
BSTRING_TO_STRING(BGl_string3618z00zz__weakhashz00)); 
BGl_modulezd2initializa7ationz75zz__bexitz00(443005284L, 
BSTRING_TO_STRING(BGl_string3618z00zz__weakhashz00)); 
BGl_modulezd2initializa7ationz75zz__objectz00(475449627L, 
BSTRING_TO_STRING(BGl_string3618z00zz__weakhashz00)); 
return 
BGl_modulezd2initializa7ationz75zz__threadz00(149516032L, 
BSTRING_TO_STRING(BGl_string3618z00zz__weakhashz00));} 

}

#ifdef __cplusplus
}
#endif
