/*===========================================================================*/
/*   (Llib/hash.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/hash.scm -indent -o objs/obj_s/Llib/hash.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___HASH_TYPE_DEFINITIONS
#define BGL___HASH_TYPE_DEFINITIONS

/* object type definitions */

#endif // BGL___HASH_TYPE_DEFINITIONS
#endif // BGL_MODULE_TYPE_DEFINITIONS

static obj_t BGl_plainzd2hashtablezd2getz00zz__hashz00(obj_t, obj_t);
extern obj_t BGl_weakzd2hashtablezd2putz12z12zz__weakhashz00(obj_t, obj_t, obj_t);
static obj_t BGl_symbol4185z00zz__hashz00 = BUNSPEC;
static obj_t BGl_symbol4188z00zz__hashz00 = BUNSPEC;
static obj_t BGl_z62openzd2stringzd2hashtablezd2addz12za2zz__hashz00(obj_t, obj_t, obj_t, obj_t, obj_t, obj_t);
static bool_t BGl_plainzd2hashtablezd2containszf3zf3zz__hashz00(obj_t, obj_t);
static obj_t BGl_list3989z00zz__hashz00 = BUNSPEC;
extern long bgl_symbol_hash_number_persistent(obj_t);
BGL_EXPORTED_DECL obj_t BGl_openzd2stringzd2hashtablezd2getzd2zz__hashz00(obj_t, obj_t);
static obj_t BGl_z62openzd2stringzd2hashtablezd2putz12za2zz__hashz00(obj_t, obj_t, obj_t, obj_t);
static obj_t BGl_z62openzd2stringzd2hashtablezd2forzd2eachz62zz__hashz00(obj_t, obj_t, obj_t);
static obj_t BGl_symbol4194z00zz__hashz00 = BUNSPEC;
static obj_t BGl_symbol4197z00zz__hashz00 = BUNSPEC;
static obj_t BGl_search1162ze70ze7zz__hashz00(long, obj_t, obj_t, long);
static obj_t BGl_requirezd2initializa7ationz75zz__hashz00 = BUNSPEC;
static long BGl_defaultzd2maxzd2bucketzd2lengthzd2zz__hashz00 = 0L;
static obj_t BGl_plainzd2hashtablezd2updatez12z12zz__hashz00(obj_t, obj_t, obj_t, obj_t);
extern obj_t BGl_weakzd2hashtablezd2updatez12z12zz__weakhashz00(obj_t, obj_t, obj_t, obj_t);
extern obj_t BGl_typezd2errorzd2zz__errorz00(obj_t, obj_t, obj_t, obj_t, obj_t);
extern long bgl_string_hash_persistent(char *, int, int);
extern long bgl_keyword_hash_number(obj_t);
BGL_EXPORTED_DECL long BGl_stringzd2hashzd2numberz00zz__hashz00(obj_t);
static obj_t BGl_z62hashtablezd2collisionszb0zz__hashz00(obj_t, obj_t);
static obj_t BGl_toplevelzd2initzd2zz__hashz00(void);
static obj_t BGl_z62createzd2hashtablezd2openzd2stringzb0zz__hashz00(obj_t);
static obj_t BGl_z62openzd2stringzd2hashtablezd2mapzb0zz__hashz00(obj_t, obj_t, obj_t);
extern obj_t BGl_formatz00zz__r4_output_6_10_3z00(obj_t, obj_t);
static obj_t BGl_z62getzd2pointerzd2hashnumberz62zz__hashz00(obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_hashtablezd2collisionszd2zz__hashz00(obj_t);
static obj_t BGl_genericzd2initzd2zz__hashz00(void);
static bool_t BGl_hashtablezd2weakzf3z21zz__hashz00(obj_t);
static obj_t BGl_objectzd2initzd2zz__hashz00(void);
extern obj_t BGl_2za2za2zz__r4_numbers_6_5z00(obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_openzd2stringzd2hashtablezd2forzd2eachz00zz__hashz00(obj_t, obj_t);
static obj_t BGl_z62stringzd2hashtablezd2getz62zz__hashz00(obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL bool_t BGl_hashtablezd2removez12zc0zz__hashz00(obj_t, obj_t);
extern obj_t bgl_bignum_mul(obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_hashtablezd2ze3vectorz31zz__hashz00(obj_t);
BGL_EXPORTED_DECL obj_t BGl_createzd2hashtablezd2zz__hashz00(obj_t, obj_t, obj_t, obj_t, obj_t, obj_t, obj_t, obj_t);
static obj_t BGl_openzd2stringzd2hashtablezd2keyzd2listz00zz__hashz00(obj_t);
extern obj_t BGl_memqz00zz__r4_pairs_and_lists_6_3z00(obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_stringzd2hashtablezd2putz12z12zz__hashz00(obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_hashtablezd2mapzd2zz__hashz00(obj_t, obj_t);
static obj_t BGl_plainzd2hashtablezd2mapz00zz__hashz00(obj_t, obj_t);
extern obj_t string_append_3(obj_t, obj_t, obj_t);
static obj_t BGl_z62openzd2stringzd2hashtablezd2removez12za2zz__hashz00(obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_openzd2stringzd2hashtablezd2mapzd2zz__hashz00(obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_stringzd2hashtablezd2getz00zz__hashz00(obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_hashtablezd2filterz12zc0zz__hashz00(obj_t, obj_t);
static obj_t BGl_z62hashtablezd2forzd2eachz62zz__hashz00(obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL bool_t BGl_hashtablezf3zf3zz__hashz00(obj_t);
extern bool_t BGl_weakzd2hashtablezd2containszf3zf3zz__weakhashz00(obj_t, obj_t);
extern long bgl_foreign_hash_number(obj_t);
static obj_t BGl_z62hashtablezd2keyzd2listz62zz__hashz00(obj_t, obj_t);
extern obj_t bstring_to_symbol(obj_t);
extern obj_t make_vector(long, obj_t);
static obj_t BGl_z62hashtablezd2updatez12za2zz__hashz00(obj_t, obj_t, obj_t, obj_t, obj_t);
static obj_t BGl_list4013z00zz__hashz00 = BUNSPEC;
extern obj_t BGl_weakzd2hashtablezd2ze3listze3zz__weakhashz00(obj_t);
static obj_t BGl_z62openzd2stringzd2hashtablezd2filterz12za2zz__hashz00(obj_t, obj_t, obj_t);
static obj_t BGl_z62zc3z04anonymousza31420ze3ze5zz__hashz00(obj_t, obj_t);
static obj_t BGl_z62getzd2hashnumberzd2persistentz62zz__hashz00(obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_z42openzd2stringzd2hashtablezd2getz90zz__hashz00(obj_t, char *);
BGL_EXPORTED_DECL obj_t BGl_openzd2stringzd2hashtablezd2updatez12zc0zz__hashz00(obj_t, obj_t, obj_t, obj_t);
static obj_t BGl_methodzd2initzd2zz__hashz00(void);
static obj_t BGl_list4105z00zz__hashz00 = BUNSPEC;
static obj_t BGl_openzd2stringzd2hashtablezd2putzf2hashz12z32zz__hashz00(obj_t, obj_t, obj_t, obj_t);
static bool_t BGl_plainzd2hashtablezd2removez12z12zz__hashz00(obj_t, obj_t);
static obj_t BGl_plainzd2hashtablezd2ze3vectorze3zz__hashz00(obj_t);
static obj_t BGl_z62hashtablezf3z91zz__hashz00(obj_t, obj_t);
extern obj_t BGl_weakzd2hashtablezd2removez12z12zz__weakhashz00(obj_t, obj_t);
static obj_t BGl_z62stringzd2hashtablezd2putz12z70zz__hashz00(obj_t, obj_t, obj_t, obj_t);
extern obj_t BGl_weakzd2hashtablezd2ze3vectorze3zz__weakhashz00(obj_t);
static obj_t BGl_list4114z00zz__hashz00 = BUNSPEC;
extern obj_t BGl_bigloozd2typezd2errorzf2locationzf2zz__errorz00(obj_t, obj_t, obj_t, obj_t, obj_t);
static obj_t BGl_plainzd2hashtablezd2collisionsz00zz__hashz00(obj_t);
static obj_t BGl_plainzd2hashtablezd2expandz12z12zz__hashz00(obj_t);
extern obj_t obj_to_string(obj_t, obj_t);
static obj_t BGl_z62makezd2hashtablezb0zz__hashz00(obj_t, obj_t);
static obj_t BGl_plainzd2hashtablezd2filterz12z12zz__hashz00(obj_t, obj_t);
static obj_t BGl_z62z42openzd2stringzd2hashtablezd2getzf2zz__hashz00(obj_t, obj_t, obj_t);
static obj_t BGl_list4124z00zz__hashz00 = BUNSPEC;
static obj_t BGl_list4205z00zz__hashz00 = BUNSPEC;
static obj_t BGl_list4208z00zz__hashz00 = BUNSPEC;
extern long bgl_string_hash(char *, int, int);
static obj_t BGl_z62hashtablezd2weakzd2datazf3z91zz__hashz00(obj_t, obj_t);
static obj_t BGl_symbol3985z00zz__hashz00 = BUNSPEC;
extern obj_t BGl_weakzd2hashtablezd2filterz12z12zz__weakhashz00(obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_openzd2stringzd2hashtablezd2containszf3z21zz__hashz00(obj_t, obj_t);
static obj_t BGl_z62hashtablezd2siza7ez17zz__hashz00(obj_t, obj_t);
static obj_t BGl_z62openzd2stringzd2hashtablezd2containszf3z43zz__hashz00(obj_t, obj_t, obj_t);
extern obj_t bgl_long_to_bignum(long);
static obj_t BGl_symbol3990z00zz__hashz00 = BUNSPEC;
static obj_t BGl_list4138z00zz__hashz00 = BUNSPEC;
static obj_t BGl_symbol3992z00zz__hashz00 = BUNSPEC;
static obj_t BGl_symbol3994z00zz__hashz00 = BUNSPEC;
static obj_t BGl_symbol3997z00zz__hashz00 = BUNSPEC;
BGL_EXPORTED_DECL long BGl_getzd2hashnumberzd2persistentz00zz__hashz00(obj_t);
BGL_EXPORTED_DECL bool_t BGl_hashtablezd2weakzd2datazf3zf3zz__hashz00(obj_t);
static obj_t BGl_list4223z00zz__hashz00 = BUNSPEC;
extern obj_t BGl_errorz00zz__errorz00(obj_t, obj_t, obj_t);
extern bool_t BGl_eqvzf3zf3zz__r4_equivalence_6_2z00(obj_t, obj_t);
static obj_t BGl_list4146z00zz__hashz00 = BUNSPEC;
static bool_t BGl_hashtablezd2openzd2stringzf3zf3zz__hashz00(obj_t);
BGL_EXPORTED_DECL obj_t BGl_hashtablezd2ze3listz31zz__hashz00(obj_t);
static obj_t BGl_z62hashtablezd2ze3listz53zz__hashz00(obj_t, obj_t);
extern long bgl_symbol_hash_number(obj_t);
BGL_EXPORTED_DECL obj_t BGl_hashtablezd2clearz12zc0zz__hashz00(obj_t);
extern long bgl_pointer_hashnumber(obj_t, long);
extern obj_t BGl_weakzd2hashtablezd2getz00zz__weakhashz00(obj_t, obj_t);
static obj_t BGl_list4079z00zz__hashz00 = BUNSPEC;
extern obj_t BGl_weakzd2hashtablezd2forzd2eachzd2zz__weakhashz00(obj_t, obj_t);
extern obj_t BGl_weakzd2hashtablezd2keyzd2listzd2zz__weakhashz00(obj_t);
static obj_t BGl_list4162z00zz__hashz00 = BUNSPEC;
extern obj_t bstring_to_keyword(obj_t);
static obj_t BGl_list4168z00zz__hashz00 = BUNSPEC;
static obj_t BGl_list4089z00zz__hashz00 = BUNSPEC;
static obj_t BGl_plainzd2hashtablezd2ze3listze3zz__hashz00(obj_t);
static obj_t BGl_list4175z00zz__hashz00 = BUNSPEC;
static obj_t BGl_keyword4014z00zz__hashz00 = BUNSPEC;
static obj_t BGl_z62hashtablezd2weakzd2keyszf3z91zz__hashz00(obj_t, obj_t);
static obj_t BGl_list4096z00zz__hashz00 = BUNSPEC;
static obj_t BGl_keyword4016z00zz__hashz00 = BUNSPEC;
static obj_t BGl_list4178z00zz__hashz00 = BUNSPEC;
static obj_t BGl_keyword4018z00zz__hashz00 = BUNSPEC;
BGL_EXPORTED_DECL obj_t BGl_makezd2hashtablezd2zz__hashz00(obj_t);
static bool_t BGl_openzd2stringzd2hashtablezd2rehashz12zc0zz__hashz00(obj_t);
BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zz__hashz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zz__weakhashz00(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_z62hashtablezd2containszf3z43zz__hashz00(obj_t, obj_t, obj_t);
static obj_t BGl_plainzd2hashtablezd2clearz12z12zz__hashz00(obj_t);
static obj_t BGl_keyword4020z00zz__hashz00 = BUNSPEC;
static obj_t BGl_keyword4022z00zz__hashz00 = BUNSPEC;
static obj_t BGl_list4184z00zz__hashz00 = BUNSPEC;
static obj_t BGl_z62hashtablezd2removez12za2zz__hashz00(obj_t, obj_t, obj_t);
static obj_t BGl_keyword4024z00zz__hashz00 = BUNSPEC;
static obj_t BGl_z62hashtablezd2ze3vectorz53zz__hashz00(obj_t, obj_t);
static obj_t BGl_keyword4025z00zz__hashz00 = BUNSPEC;
static obj_t BGl_list4187z00zz__hashz00 = BUNSPEC;
static obj_t BGl_keyword4027z00zz__hashz00 = BUNSPEC;
BGL_EXPORTED_DECL long BGl_hashtablezd2siza7ez75zz__hashz00(obj_t);
static obj_t BGl_z62hashtablezd2getzb0zz__hashz00(obj_t, obj_t, obj_t);
extern obj_t BGl_vectorzd2fillz12zc0zz__r4_vectors_6_8z00(obj_t, obj_t, long, long);
BGL_EXPORTED_DECL bool_t BGl_hashtablezd2weakzd2keyszf3zf3zz__hashz00(obj_t);
static obj_t BGl_z62hashtablezd2addz12za2zz__hashz00(obj_t, obj_t, obj_t, obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_openzd2stringzd2hashtablezd2removez12zc0zz__hashz00(obj_t, obj_t);
static obj_t BGl_openzd2stringzd2hashtablezd2ze3vectorz31zz__hashz00(obj_t);
static obj_t BGl_list4193z00zz__hashz00 = BUNSPEC;
extern obj_t BGl_integerzd2ze3stringz31zz__r4_numbers_6_5_fixnumz00(long, long);
static obj_t BGl_list4196z00zz__hashz00 = BUNSPEC;
static obj_t BGl_z62hashtablezd2putz12za2zz__hashz00(obj_t, obj_t, obj_t, obj_t);
extern long bgl_obj_hash_number(obj_t);
static obj_t BGl_z62hashtablezd2filterz12za2zz__hashz00(obj_t, obj_t, obj_t);
extern obj_t create_struct(obj_t, int);
static obj_t BGl_cnstzd2initzd2zz__hashz00(void);
static long BGl_objzd2hashze70z35zz__hashz00(obj_t);
extern long bgl_list_length(obj_t);
BGL_EXPORTED_DECL obj_t BGl_openzd2stringzd2hashtablezd2filterz12zc0zz__hashz00(obj_t, obj_t);
static obj_t BGl_symbol4009z00zz__hashz00 = BUNSPEC;
static obj_t BGl_z62stringzd2hashzd2numberz62zz__hashz00(obj_t, obj_t);
static obj_t BGl_z62hashtablezd2clearz12za2zz__hashz00(obj_t, obj_t);
static obj_t BGl_importedzd2moduleszd2initz00zz__hashz00(void);
static obj_t BGl_gczd2rootszd2initz00zz__hashz00(void);
BGL_EXPORTED_DECL obj_t BGl_createzd2hashtablezd2openzd2stringzd2zz__hashz00(void);
static obj_t BGl_openzd2stringzd2hashtablezd2ze3listz31zz__hashz00(obj_t);
BGL_EXPORTED_DECL obj_t BGl_hashtablezd2forzd2eachz00zz__hashz00(obj_t, obj_t);
extern obj_t BGl_homogeneouszd2vectorzd2infoz00zz__srfi4z00(obj_t);
BGL_EXPORTED_DECL obj_t BGl_hashtablezd2keyzd2listz00zz__hashz00(obj_t);
static obj_t BGl_symbol4106z00zz__hashz00 = BUNSPEC;
static obj_t BGl_symbol4108z00zz__hashz00 = BUNSPEC;
static obj_t BGl_symbol4029z00zz__hashz00 = BUNSPEC;
static obj_t BGl__stringzd2hashzd2zz__hashz00(obj_t, obj_t);
extern obj_t BGl_weakzd2hashtablezd2mapz00zz__weakhashz00(obj_t, obj_t);
static obj_t BGl_z62getzd2hashnumberzb0zz__hashz00(obj_t, obj_t);
static obj_t BGl_symbol4034z00zz__hashz00 = BUNSPEC;
static obj_t BGl_symbol4115z00zz__hashz00 = BUNSPEC;
static obj_t BGl_symbol4036z00zz__hashz00 = BUNSPEC;
static obj_t BGl_symbol4117z00zz__hashz00 = BUNSPEC;
static obj_t BGl_symbol4038z00zz__hashz00 = BUNSPEC;
extern obj_t BGl_filterz12z12zz__r4_control_features_6_9z00(obj_t, obj_t);
extern long bgl_keyword_hash_number_persistent(obj_t);
static obj_t BGl_z62zc3z04anonymousza31629ze3ze5zz__hashz00(obj_t, obj_t);
static obj_t BGl_symbol4040z00zz__hashz00 = BUNSPEC;
static obj_t BGl_symbol4042z00zz__hashz00 = BUNSPEC;
static obj_t BGl_symbol4125z00zz__hashz00 = BUNSPEC;
static obj_t BGl_symbol4206z00zz__hashz00 = BUNSPEC;
BGL_EXPORTED_DECL obj_t BGl_hashtablezd2addz12zc0zz__hashz00(obj_t, obj_t, obj_t, obj_t, obj_t);
static obj_t BGl_openzd2stringzd2hashtablezd2clearz12zc0zz__hashz00(obj_t);
static obj_t BGl_symbol4127z00zz__hashz00 = BUNSPEC;
static obj_t BGl_symbol4209z00zz__hashz00 = BUNSPEC;
BGL_EXPORTED_DECL obj_t BGl_hashtablezd2putz12zc0zz__hashz00(obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL bool_t BGl_hashtablezd2containszf3z21zz__hashz00(obj_t, obj_t);
static obj_t BGl_plainzd2hashtablezd2addz12z12zz__hashz00(obj_t, obj_t, obj_t, obj_t, obj_t);
static obj_t BGl_symbol4139z00zz__hashz00 = BUNSPEC;
BGL_EXPORTED_DECL long BGl_getzd2pointerzd2hashnumberz00zz__hashz00(obj_t, long);
BGL_EXPORTED_DECL long BGl_stringzd2hashzd2zz__hashz00(obj_t, obj_t, obj_t);
extern obj_t BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(obj_t, obj_t, obj_t, obj_t, int, int);
static obj_t BGl_plainzd2hashtablezd2putz12z12zz__hashz00(obj_t, obj_t, obj_t);
static long BGl_defaultzd2hashtablezd2bucketzd2lengthzd2zz__hashz00 = 0L;
static obj_t BGl_z62hashtablezd2mapzb0zz__hashz00(obj_t, obj_t, obj_t);
static obj_t BGl_symbol4220z00zz__hashz00 = BUNSPEC;
static bool_t BGl_plainzd2hashtablezd2forzd2eachzd2zz__hashz00(obj_t, obj_t);
static obj_t BGl_symbol4141z00zz__hashz00 = BUNSPEC;
static obj_t BGl_symbol4224z00zz__hashz00 = BUNSPEC;
static obj_t BGl_symbol4226z00zz__hashz00 = BUNSPEC;
static obj_t BGl_symbol4147z00zz__hashz00 = BUNSPEC;
static obj_t BGl_plainzd2hashtablezd2keyzd2listzd2zz__hashz00(obj_t);
extern long bgl_date_to_seconds(obj_t);
static obj_t BGl_symbol4232z00zz__hashz00 = BUNSPEC;
static obj_t BGl_z62openzd2stringzd2hashtablezd2getzb0zz__hashz00(obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_hashtablezd2updatez12zc0zz__hashz00(obj_t, obj_t, obj_t, obj_t);
static obj_t BGl_openzd2stringzd2hashtablezd2siza7ezd2incz12zb5zz__hashz00(obj_t);
static obj_t BGl_symbol4080z00zz__hashz00 = BUNSPEC;
static obj_t BGl_symbol4082z00zz__hashz00 = BUNSPEC;
static obj_t BGl_symbol4163z00zz__hashz00 = BUNSPEC;
BGL_EXPORTED_DECL obj_t BGl_openzd2stringzd2hashtablezd2addz12zc0zz__hashz00(obj_t, obj_t, obj_t, obj_t, obj_t);
static obj_t BGl_symbol4084z00zz__hashz00 = BUNSPEC;
static obj_t BGl_symbol4169z00zz__hashz00 = BUNSPEC;
BGL_EXPORTED_DECL obj_t BGl_openzd2stringzd2hashtablezd2putz12zc0zz__hashz00(obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL long BGl_getzd2hashnumberzd2zz__hashz00(obj_t);
static obj_t BGl_symbol4090z00zz__hashz00 = BUNSPEC;
static obj_t BGl_symbol4171z00zz__hashz00 = BUNSPEC;
static obj_t BGl_symbol4092z00zz__hashz00 = BUNSPEC;
static obj_t BGl_z62openzd2stringzd2hashtablezd2updatez12za2zz__hashz00(obj_t, obj_t, obj_t, obj_t, obj_t);
static obj_t BGl_symbol4176z00zz__hashz00 = BUNSPEC;
static obj_t BGl_symbol4097z00zz__hashz00 = BUNSPEC;
static obj_t BGl_symbol4179z00zz__hashz00 = BUNSPEC;
static obj_t BGl__createzd2hashtablezd2zz__hashz00(obj_t, obj_t);
static obj_t BGl_symbol4099z00zz__hashz00 = BUNSPEC;
static long BGl_tablezd2getzd2hashnumberz00zz__hashz00(obj_t, obj_t);
extern long BGl_objectzd2hashnumberzd2zz__objectz00(BgL_objectz00_bglt);
extern obj_t BGl_weakzd2hashtablezd2clearz12z12zz__weakhashz00(obj_t);
extern obj_t BGl_weakzd2hashtablezd2addz12z12zz__weakhashz00(obj_t, obj_t, obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_hashtablezd2getzd2zz__hashz00(obj_t, obj_t);
static obj_t *__cnst;


BGL_DEFINE_REAL(BGl_real4006z00zz__hashz00, BgL_bgl_real4006za700za7za7__h4239za7, 1.2);
DEFINE_EXPORT_BGL_PROCEDURE(BGl_openzd2stringzd2hashtablezd2filterz12zd2envz12zz__hashz00, BgL_bgl_za762openza7d2string4240z00, BGl_z62openzd2stringzd2hashtablezd2filterz12za2zz__hashz00, 0L, BUNSPEC, 2);
extern obj_t BGl_listzd2envzd2zz__r4_pairs_and_lists_6_3z00;
BGL_DEFINE_STRING(BGl_string4000z00zz__hashz00, BgL_bgl_string4000za700za7za7_4241za7, "Illegal default bucket length", 29 );
BGL_DEFINE_STRING(BGl_string4001z00zz__hashz00, BgL_bgl_string4001za700za7za7_4242za7, "Illegal max bucket length", 25 );
BGL_DEFINE_STRING(BGl_string4002z00zz__hashz00, BgL_bgl_string4002za700za7za7_4243za7, "Illegal equality test", 21 );
BGL_DEFINE_STRING(BGl_string4003z00zz__hashz00, BgL_bgl_string4003za700za7za7_4244za7, "Illegal hashnumber function", 27 );
BGL_DEFINE_STRING(BGl_string4004z00zz__hashz00, BgL_bgl_string4004za700za7za7_4245za7, "/tmp/bigloo/runtime/Llib/hash.scm", 33 );
BGL_DEFINE_STRING(BGl_string4005z00zz__hashz00, BgL_bgl_string4005za700za7za7_4246za7, "struct-set!:not an instance of", 30 );
DEFINE_EXPORT_BGL_PROCEDURE(BGl_hashtablezd2keyzd2listzd2envzd2zz__hashz00, BgL_bgl_za762hashtableza7d2k4247z00, BGl_z62hashtablezd2keyzd2listz62zz__hashz00, 0L, BUNSPEC, 1);
BGL_DEFINE_STRING(BGl_string4007z00zz__hashz00, BgL_bgl_string4007za700za7za7_4248za7, "_create-hashtable", 17 );
BGL_DEFINE_STRING(BGl_string4008z00zz__hashz00, BgL_bgl_string4008za700za7za7_4249za7, "vector", 6 );
DEFINE_EXPORT_BGL_PROCEDURE(BGl_hashtablezd2siza7ezd2envza7zz__hashz00, BgL_bgl_za762hashtableza7d2s4250z00, BGl_z62hashtablezd2siza7ez17zz__hashz00, 0L, BUNSPEC, 1);
DEFINE_EXPORT_BGL_PROCEDURE(BGl_hashtablezd2mapzd2envz00zz__hashz00, BgL_bgl_za762hashtableza7d2m4251z00, BGl_z62hashtablezd2mapzb0zz__hashz00, 0L, BUNSPEC, 2);
DEFINE_EXPORT_BGL_PROCEDURE(BGl_stringzd2hashtablezd2putz12zd2envzc0zz__hashz00, BgL_bgl_za762stringza7d2hash4252z00, BGl_z62stringzd2hashtablezd2putz12z70zz__hashz00, 0L, BUNSPEC, 3);
DEFINE_EXPORT_BGL_PROCEDURE(BGl_hashtablezd2getzd2envz00zz__hashz00, BgL_bgl_za762hashtableza7d2g4253z00, BGl_z62hashtablezd2getzb0zz__hashz00, 0L, BUNSPEC, 2);
BGL_DEFINE_STRING(BGl_string4010z00zz__hashz00, BgL_bgl_string4010za700za7za7_4254za7, "none", 4 );
BGL_DEFINE_STRING(BGl_string4011z00zz__hashz00, BgL_bgl_string4011za700za7za7_4255za7, "check1163", 9 );
BGL_DEFINE_STRING(BGl_string4012z00zz__hashz00, BgL_bgl_string4012za700za7za7_4256za7, "vector-ref", 10 );
BGL_DEFINE_STRING(BGl_string4015z00zz__hashz00, BgL_bgl_string4015za700za7za7_4257za7, "bucket-expansion", 16 );
BGL_DEFINE_STRING(BGl_string4017z00zz__hashz00, BgL_bgl_string4017za700za7za7_4258za7, "eqtest", 6 );
BGL_DEFINE_STRING(BGl_string4019z00zz__hashz00, BgL_bgl_string4019za700za7za7_4259za7, "hash", 4 );
extern obj_t BGl_stringzd3zf3zd2envzf2zz__r4_strings_6_7z00;
BGL_DEFINE_STRING(BGl_string4100z00zz__hashz00, BgL_bgl_string4100za700za7za7_4260za7, "arg1587", 7 );
BGL_DEFINE_STRING(BGl_string4101z00zz__hashz00, BgL_bgl_string4101za700za7za7_4261za7, "&open-string-hashtable-for-each", 31 );
BGL_DEFINE_STRING(BGl_string4021z00zz__hashz00, BgL_bgl_string4021za700za7za7_4262za7, "max-bucket-length", 17 );
BGL_DEFINE_STRING(BGl_string4102z00zz__hashz00, BgL_bgl_string4102za700za7za7_4263za7, "plain-hashtable-for-each", 24 );
BGL_DEFINE_STRING(BGl_string4103z00zz__hashz00, BgL_bgl_string4103za700za7za7_4264za7, "<@anonymous:1596>", 17 );
BGL_DEFINE_STRING(BGl_string4023z00zz__hashz00, BgL_bgl_string4023za700za7za7_4265za7, "max-length", 10 );
BGL_DEFINE_STRING(BGl_string4104z00zz__hashz00, BgL_bgl_string4104za700za7za7_4266za7, "<@anonymous:1596>:Wrong number of arguments", 43 );
BGL_DEFINE_STRING(BGl_string4026z00zz__hashz00, BgL_bgl_string4026za700za7za7_4267za7, "size", 4 );
BGL_DEFINE_STRING(BGl_string4107z00zz__hashz00, BgL_bgl_string4107za700za7za7_4268za7, "arg1598", 7 );
BGL_DEFINE_STRING(BGl_string4028z00zz__hashz00, BgL_bgl_string4028za700za7za7_4269za7, "weak", 4 );
BGL_DEFINE_STRING(BGl_string4109z00zz__hashz00, BgL_bgl_string4109za700za7za7_4270za7, "arg1599", 7 );
DEFINE_EXPORT_BGL_PROCEDURE(BGl_hashtablezd2collisionszd2envz00zz__hashz00, BgL_bgl_za762hashtableza7d2c4271z00, BGl_z62hashtablezd2collisionszb0zz__hashz00, 0L, BUNSPEC, 1);
DEFINE_EXPORT_BGL_PROCEDURE(BGl_hashtablezd2addz12zd2envz12zz__hashz00, BgL_bgl_za762hashtableza7d2a4272z00, BGl_z62hashtablezd2addz12za2zz__hashz00, 0L, BUNSPEC, 5);
BGL_DEFINE_STRING(BGl_string4110z00zz__hashz00, BgL_bgl_string4110za700za7za7_4273za7, "for-each", 8 );
BGL_DEFINE_STRING(BGl_string4030z00zz__hashz00, BgL_bgl_string4030za700za7za7_4274za7, "create-hashtable", 16 );
BGL_DEFINE_STRING(BGl_string4111z00zz__hashz00, BgL_bgl_string4111za700za7za7_4275za7, "list", 4 );
BGL_DEFINE_STRING(BGl_string4031z00zz__hashz00, BgL_bgl_string4031za700za7za7_4276za7, "Illegal keyword argument", 24 );
BGL_DEFINE_STRING(BGl_string4112z00zz__hashz00, BgL_bgl_string4112za700za7za7_4277za7, "&hashtable-filter!", 18 );
BGL_DEFINE_STRING(BGl_string4032z00zz__hashz00, BgL_bgl_string4032za700za7za7_4278za7, "search1162~0", 12 );
BGL_DEFINE_STRING(BGl_string4113z00zz__hashz00, BgL_bgl_string4113za700za7za7_4279za7, "open-string-hashtable-filter!", 29 );
BGL_DEFINE_STRING(BGl_string4033z00zz__hashz00, BgL_bgl_string4033za700za7za7_4280za7, "wrong number of arguments: [0..8] expected, provided", 52 );
BGL_DEFINE_STRING(BGl_string4035z00zz__hashz00, BgL_bgl_string4035za700za7za7_4281za7, "keys", 4 );
BGL_DEFINE_STRING(BGl_string4116z00zz__hashz00, BgL_bgl_string4116za700za7za7_4282za7, "arg1617", 7 );
BGL_DEFINE_STRING(BGl_string4037z00zz__hashz00, BgL_bgl_string4037za700za7za7_4283za7, "data", 4 );
BGL_DEFINE_STRING(BGl_string4118z00zz__hashz00, BgL_bgl_string4118za700za7za7_4284za7, "arg1619", 7 );
BGL_DEFINE_STRING(BGl_string4119z00zz__hashz00, BgL_bgl_string4119za700za7za7_4285za7, "&open-string-hashtable-filter!", 30 );
BGL_DEFINE_STRING(BGl_string4039z00zz__hashz00, BgL_bgl_string4039za700za7za7_4286za7, "both", 4 );
DEFINE_EXPORT_BGL_PROCEDURE(BGl_hashtablezd2putz12zd2envz12zz__hashz00, BgL_bgl_za762hashtableza7d2p4287z00, BGl_z62hashtablezd2putz12za2zz__hashz00, 0L, BUNSPEC, 3);
DEFINE_EXPORT_BGL_PROCEDURE(BGl_getzd2hashnumberzd2envz00zz__hashz00, BgL_bgl_za762getza7d2hashnum4288z00, BGl_z62getzd2hashnumberzb0zz__hashz00, 0L, BUNSPEC, 1);
BGL_DEFINE_STRING(BGl_string4200z00zz__hashz00, BgL_bgl_string4200za700za7za7_4289za7, "&hashtable-remove!", 18 );
DEFINE_EXPORT_BGL_PROCEDURE(BGl_hashtablezd2removez12zd2envz12zz__hashz00, BgL_bgl_za762hashtableza7d2r4290z00, BGl_z62hashtablezd2removez12za2zz__hashz00, 0L, BUNSPEC, 2);
BGL_DEFINE_STRING(BGl_string4120z00zz__hashz00, BgL_bgl_string4120za700za7za7_4291za7, "plain-hashtable-filter!", 23 );
BGL_DEFINE_STRING(BGl_string4201z00zz__hashz00, BgL_bgl_string4201za700za7za7_4292za7, "open-string-hashtable-remove!", 29 );
BGL_DEFINE_STRING(BGl_string4121z00zz__hashz00, BgL_bgl_string4121za700za7za7_4293za7, "pair-nil", 8 );
BGL_DEFINE_STRING(BGl_string4202z00zz__hashz00, BgL_bgl_string4202za700za7za7_4294za7, "&open-string-hashtable-remove!", 30 );
BGL_DEFINE_STRING(BGl_string4041z00zz__hashz00, BgL_bgl_string4041za700za7za7_4295za7, "open-string", 11 );
BGL_DEFINE_STRING(BGl_string4122z00zz__hashz00, BgL_bgl_string4122za700za7za7_4296za7, "<@anonymous:1629>", 17 );
BGL_DEFINE_STRING(BGl_string4203z00zz__hashz00, BgL_bgl_string4203za700za7za7_4297za7, "plain-hashtable-remove!", 23 );
BGL_DEFINE_STRING(BGl_string4123z00zz__hashz00, BgL_bgl_string4123za700za7za7_4298za7, "<@anonymous:1629>:Wrong number of arguments", 43 );
BGL_DEFINE_STRING(BGl_string4204z00zz__hashz00, BgL_bgl_string4204za700za7za7_4299za7, "plain-hashtable-remove!:Wrong number of arguments", 49 );
BGL_DEFINE_STRING(BGl_string4043z00zz__hashz00, BgL_bgl_string4043za700za7za7_4300za7, "string", 6 );
BGL_DEFINE_STRING(BGl_string4044z00zz__hashz00, BgL_bgl_string4044za700za7za7_4301za7, "Illegal weak argument", 21 );
BGL_DEFINE_STRING(BGl_string4045z00zz__hashz00, BgL_bgl_string4045za700za7za7_4302za7, "Persistent hashtable cannot use custom hash function", 52 );
BGL_DEFINE_STRING(BGl_string4126z00zz__hashz00, BgL_bgl_string4126za700za7za7_4303za7, "arg1630", 7 );
BGL_DEFINE_STRING(BGl_string4207z00zz__hashz00, BgL_bgl_string4207za700za7za7_4304za7, "arg1943", 7 );
BGL_DEFINE_STRING(BGl_string4046z00zz__hashz00, BgL_bgl_string4046za700za7za7_4305za7, "Cannot provide eqtest for string hashtable", 42 );
BGL_DEFINE_STRING(BGl_string4047z00zz__hashz00, BgL_bgl_string4047za700za7za7_4306za7, "Cannot provide hash for string hashtable", 40 );
BGL_DEFINE_STRING(BGl_string4128z00zz__hashz00, BgL_bgl_string4128za700za7za7_4307za7, "arg1631", 7 );
BGL_DEFINE_STRING(BGl_string4129z00zz__hashz00, BgL_bgl_string4129za700za7za7_4308za7, "&hashtable-clear!", 17 );
BGL_DEFINE_STRING(BGl_string4049z00zz__hashz00, BgL_bgl_string4049za700za7za7_4309za7, "<@anonymous:1420>", 17 );
BGL_DEFINE_STRING(BGl_string4210z00zz__hashz00, BgL_bgl_string4210za700za7za7_4310za7, "arg1942", 7 );
BGL_DEFINE_STRING(BGl_string4130z00zz__hashz00, BgL_bgl_string4130za700za7za7_4311za7, "open-string-hashtable-clear!", 28 );
BGL_DEFINE_STRING(BGl_string4211z00zz__hashz00, BgL_bgl_string4211za700za7za7_4312za7, "plain-hashtable-expand!", 23 );
BGL_DEFINE_STRING(BGl_string4050z00zz__hashz00, BgL_bgl_string4050za700za7za7_4313za7, "bstring", 7 );
BGL_DEFINE_STRING(BGl_string4131z00zz__hashz00, BgL_bgl_string4131za700za7za7_4314za7, "/tmp/bigloo/runtime/Ieee/vector.scm", 35 );
BGL_DEFINE_STRING(BGl_string4212z00zz__hashz00, BgL_bgl_string4212za700za7za7_4315za7, "<@anonymous:1953>", 17 );
BGL_DEFINE_STRING(BGl_string4051z00zz__hashz00, BgL_bgl_string4051za700za7za7_4316za7, "create-hashtable-open-string", 28 );
BGL_DEFINE_STRING(BGl_string4132z00zz__hashz00, BgL_bgl_string4132za700za7za7_4317za7, "plain-hashtable-clear!", 22 );
BGL_DEFINE_STRING(BGl_string4213z00zz__hashz00, BgL_bgl_string4213za700za7za7_4318za7, "Hashtable too large (new-len=~a/~a, size=~a)", 44 );
BGL_DEFINE_STRING(BGl_string4052z00zz__hashz00, BgL_bgl_string4052za700za7za7_4319za7, "hashtable?", 10 );
BGL_DEFINE_STRING(BGl_string4133z00zz__hashz00, BgL_bgl_string4133za700za7za7_4320za7, "hashtable-contains?", 19 );
BGL_DEFINE_STRING(BGl_string4214z00zz__hashz00, BgL_bgl_string4214za700za7za7_4321za7, "&hashtable-collisions", 21 );
BGL_DEFINE_STRING(BGl_string4053z00zz__hashz00, BgL_bgl_string4053za700za7za7_4322za7, "hashtable-weak?", 15 );
BGL_DEFINE_STRING(BGl_string4134z00zz__hashz00, BgL_bgl_string4134za700za7za7_4323za7, "&hashtable-contains?", 20 );
BGL_DEFINE_STRING(BGl_string4215z00zz__hashz00, BgL_bgl_string4215za700za7za7_4324za7, "plain-hashtable-collisions", 26 );
DEFINE_STATIC_BGL_PROCEDURE(BGl_proc4048z00zz__hashz00, BgL_bgl_za762za7c3za704anonymo4325za7, BGl_z62zc3z04anonymousza31420ze3ze5zz__hashz00, 0L, BUNSPEC, 1);
BGL_DEFINE_STRING(BGl_string4054z00zz__hashz00, BgL_bgl_string4054za700za7za7_4326za7, "hashtable-open-string?", 22 );
BGL_DEFINE_STRING(BGl_string4135z00zz__hashz00, BgL_bgl_string4135za700za7za7_4327za7, "open-string-hashtable-contains?", 31 );
BGL_DEFINE_STRING(BGl_string4216z00zz__hashz00, BgL_bgl_string4216za700za7za7_4328za7, "get-hashnumber", 14 );
BGL_DEFINE_STRING(BGl_string4055z00zz__hashz00, BgL_bgl_string4055za700za7za7_4329za7, "hashtable-weak-keys?", 20 );
BGL_DEFINE_STRING(BGl_string4136z00zz__hashz00, BgL_bgl_string4136za700za7za7_4330za7, "&open-string-hashtable-contains?", 32 );
BGL_DEFINE_STRING(BGl_string4217z00zz__hashz00, BgL_bgl_string4217za700za7za7_4331za7, "real", 4 );
BGL_DEFINE_STRING(BGl_string4056z00zz__hashz00, BgL_bgl_string4056za700za7za7_4332za7, "&hashtable-weak-keys?", 21 );
BGL_DEFINE_STRING(BGl_string4137z00zz__hashz00, BgL_bgl_string4137za700za7za7_4333za7, "plain-hashtable-contains?", 25 );
BGL_DEFINE_STRING(BGl_string4218z00zz__hashz00, BgL_bgl_string4218za700za7za7_4334za7, "index out of range [0..", 23 );
BGL_DEFINE_STRING(BGl_string4057z00zz__hashz00, BgL_bgl_string4057za700za7za7_4335za7, "struct", 6 );
BGL_DEFINE_STRING(BGl_string4219z00zz__hashz00, BgL_bgl_string4219za700za7za7_4336za7, "]", 1 );
BGL_DEFINE_STRING(BGl_string4058z00zz__hashz00, BgL_bgl_string4058za700za7za7_4337za7, "hashtable-weak-data?", 20 );
BGL_DEFINE_STRING(BGl_string4059z00zz__hashz00, BgL_bgl_string4059za700za7za7_4338za7, "&hashtable-weak-data?", 21 );
DEFINE_EXPORT_BGL_PROCEDURE(BGl_hashtablezd2filterz12zd2envz12zz__hashz00, BgL_bgl_za762hashtableza7d2f4339z00, BGl_z62hashtablezd2filterz12za2zz__hashz00, 0L, BUNSPEC, 2);
BGL_DEFINE_STRING(BGl_string4140z00zz__hashz00, BgL_bgl_string4140za700za7za7_4340za7, "eqt", 3 );
BGL_DEFINE_STRING(BGl_string4221z00zz__hashz00, BgL_bgl_string4221za700za7za7_4341za7, "ucs2-string-ref", 15 );
BGL_DEFINE_STRING(BGl_string4060z00zz__hashz00, BgL_bgl_string4060za700za7za7_4342za7, "hashtable-size", 14 );
BGL_DEFINE_STRING(BGl_string4222z00zz__hashz00, BgL_bgl_string4222za700za7za7_4343za7, "bucs2", 5 );
BGL_DEFINE_STRING(BGl_string4061z00zz__hashz00, BgL_bgl_string4061za700za7za7_4344za7, "&hashtable-size", 15 );
BGL_DEFINE_STRING(BGl_string4142z00zz__hashz00, BgL_bgl_string4142za700za7za7_4345za7, "arg1671", 7 );
BGL_DEFINE_STRING(BGl_string4062z00zz__hashz00, BgL_bgl_string4062za700za7za7_4346za7, "&hashtable->vector", 18 );
BGL_DEFINE_STRING(BGl_string4143z00zz__hashz00, BgL_bgl_string4143za700za7za7_4347za7, "hashtable-get", 13 );
BGL_DEFINE_STRING(BGl_string4063z00zz__hashz00, BgL_bgl_string4063za700za7za7_4348za7, "open-string-hashtable->vector", 29 );
BGL_DEFINE_STRING(BGl_string4144z00zz__hashz00, BgL_bgl_string4144za700za7za7_4349za7, "&hashtable-get", 14 );
BGL_DEFINE_STRING(BGl_string4225z00zz__hashz00, BgL_bgl_string4225za700za7za7_4350za7, "get", 3 );
BGL_DEFINE_STRING(BGl_string4064z00zz__hashz00, BgL_bgl_string4064za700za7za7_4351za7, "loop", 4 );
BGL_DEFINE_STRING(BGl_string4145z00zz__hashz00, BgL_bgl_string4145za700za7za7_4352za7, "plain-hashtable-get", 19 );
BGL_DEFINE_STRING(BGl_string4065z00zz__hashz00, BgL_bgl_string4065za700za7za7_4353za7, "vector-set!", 11 );
BGL_DEFINE_STRING(BGl_string4227z00zz__hashz00, BgL_bgl_string4227za700za7za7_4354za7, "i", 1 );
BGL_DEFINE_STRING(BGl_string4066z00zz__hashz00, BgL_bgl_string4066za700za7za7_4355za7, "plain-hashtable->vector", 23 );
BGL_DEFINE_STRING(BGl_string4228z00zz__hashz00, BgL_bgl_string4228za700za7za7_4356za7, "obj-hash~0", 10 );
BGL_DEFINE_STRING(BGl_string4067z00zz__hashz00, BgL_bgl_string4067za700za7za7_4357za7, "liip", 4 );
BGL_DEFINE_STRING(BGl_string4148z00zz__hashz00, BgL_bgl_string4148za700za7za7_4358za7, "arg1687", 7 );
BGL_DEFINE_STRING(BGl_string4229z00zz__hashz00, BgL_bgl_string4229za700za7za7_4359za7, "&get-pointer-hashnumber", 23 );
BGL_DEFINE_STRING(BGl_string4068z00zz__hashz00, BgL_bgl_string4068za700za7za7_4360za7, "pair", 4 );
BGL_DEFINE_STRING(BGl_string4149z00zz__hashz00, BgL_bgl_string4149za700za7za7_4361za7, "string-hashtable-get", 20 );
BGL_DEFINE_STRING(BGl_string4069z00zz__hashz00, BgL_bgl_string4069za700za7za7_4362za7, "&hashtable->list", 16 );
BGL_DEFINE_STRING(BGl_string4230z00zz__hashz00, BgL_bgl_string4230za700za7za7_4363za7, "_string-hash", 12 );
BGL_DEFINE_STRING(BGl_string4231z00zz__hashz00, BgL_bgl_string4231za700za7za7_4364za7, "case_else1176", 13 );
BGL_DEFINE_STRING(BGl_string4150z00zz__hashz00, BgL_bgl_string4150za700za7za7_4365za7, "&string-hashtable-get", 21 );
BGL_DEFINE_STRING(BGl_string4070z00zz__hashz00, BgL_bgl_string4070za700za7za7_4366za7, "open-string-hashtable->list", 27 );
BGL_DEFINE_STRING(BGl_string4151z00zz__hashz00, BgL_bgl_string4151za700za7za7_4367za7, "open-string-hashtable-get", 25 );
BGL_DEFINE_STRING(BGl_string4233z00zz__hashz00, BgL_bgl_string4233za700za7za7_4368za7, "string-hash", 11 );
BGL_DEFINE_STRING(BGl_string4071z00zz__hashz00, BgL_bgl_string4071za700za7za7_4369za7, "plain-hashtable->list", 21 );
BGL_DEFINE_STRING(BGl_string4152z00zz__hashz00, BgL_bgl_string4152za700za7za7_4370za7, "&open-string-hashtable-get", 26 );
BGL_DEFINE_STRING(BGl_string4234z00zz__hashz00, BgL_bgl_string4234za700za7za7_4371za7, "wrong number of arguments: [1..3] expected, provided", 52 );
BGL_DEFINE_STRING(BGl_string4072z00zz__hashz00, BgL_bgl_string4072za700za7za7_4372za7, "&hashtable-key-list", 19 );
BGL_DEFINE_STRING(BGl_string4153z00zz__hashz00, BgL_bgl_string4153za700za7za7_4373za7, "$open-string-hashtable-get", 26 );
BGL_DEFINE_STRING(BGl_string4235z00zz__hashz00, BgL_bgl_string4235za700za7za7_4374za7, "&string-hash-number", 19 );
BGL_DEFINE_STRING(BGl_string4073z00zz__hashz00, BgL_bgl_string4073za700za7za7_4375za7, "open-string-hashtable-key-list", 30 );
BGL_DEFINE_STRING(BGl_string4154z00zz__hashz00, BgL_bgl_string4154za700za7za7_4376za7, "&$open-string-hashtable-get", 27 );
BGL_DEFINE_STRING(BGl_string4236z00zz__hashz00, BgL_bgl_string4236za700za7za7_4377za7, "open-string-hashtable-rehash!", 29 );
BGL_DEFINE_STRING(BGl_string4074z00zz__hashz00, BgL_bgl_string4074za700za7za7_4378za7, "plain-hashtable-key-list", 24 );
BGL_DEFINE_STRING(BGl_string4155z00zz__hashz00, BgL_bgl_string4155za700za7za7_4379za7, "hashtable-put!", 14 );
BGL_DEFINE_STRING(BGl_string4237z00zz__hashz00, BgL_bgl_string4237za700za7za7_4380za7, "open-string-hashtable-size-inc!", 31 );
BGL_DEFINE_STRING(BGl_string4075z00zz__hashz00, BgL_bgl_string4075za700za7za7_4381za7, "&hashtable-map", 14 );
BGL_DEFINE_STRING(BGl_string4156z00zz__hashz00, BgL_bgl_string4156za700za7za7_4382za7, "&hashtable-put!", 15 );
BGL_DEFINE_STRING(BGl_string4238z00zz__hashz00, BgL_bgl_string4238za700za7za7_4383za7, "__hash", 6 );
BGL_DEFINE_STRING(BGl_string4076z00zz__hashz00, BgL_bgl_string4076za700za7za7_4384za7, "procedure", 9 );
BGL_DEFINE_STRING(BGl_string4157z00zz__hashz00, BgL_bgl_string4157za700za7za7_4385za7, "&open-string-hashtable-put!", 27 );
BGL_DEFINE_STRING(BGl_string4077z00zz__hashz00, BgL_bgl_string4077za700za7za7_4386za7, "open-string-hashtable-map", 25 );
BGL_DEFINE_STRING(BGl_string4158z00zz__hashz00, BgL_bgl_string4158za700za7za7_4387za7, "open-string-hashtable-put/hash!", 31 );
BGL_DEFINE_STRING(BGl_string4078z00zz__hashz00, BgL_bgl_string4078za700za7za7_4388za7, "loop:Wrong number of arguments", 30 );
BGL_DEFINE_STRING(BGl_string4159z00zz__hashz00, BgL_bgl_string4159za700za7za7_4389za7, "string-hashtable-put!", 21 );
DEFINE_EXPORT_BGL_PROCEDURE(BGl_z42openzd2stringzd2hashtablezd2getzd2envz42zz__hashz00, BgL_bgl_za762za742openza7d2str4390za7, BGl_z62z42openzd2stringzd2hashtablezd2getzf2zz__hashz00, 0L, BUNSPEC, 2);
DEFINE_EXPORT_BGL_PROCEDURE(BGl_openzd2stringzd2hashtablezd2updatez12zd2envz12zz__hashz00, BgL_bgl_za762openza7d2string4391z00, BGl_z62openzd2stringzd2hashtablezd2updatez12za2zz__hashz00, 0L, BUNSPEC, 4);
DEFINE_EXPORT_BGL_PROCEDURE(BGl_openzd2stringzd2hashtablezd2forzd2eachzd2envzd2zz__hashz00, BgL_bgl_za762openza7d2string4392z00, BGl_z62openzd2stringzd2hashtablezd2forzd2eachz62zz__hashz00, 0L, BUNSPEC, 2);
DEFINE_EXPORT_BGL_PROCEDURE(BGl_hashtablezd2weakzd2datazf3zd2envz21zz__hashz00, BgL_bgl_za762hashtableza7d2w4393z00, BGl_z62hashtablezd2weakzd2datazf3z91zz__hashz00, 0L, BUNSPEC, 1);
BGL_DEFINE_STRING(BGl_string4160z00zz__hashz00, BgL_bgl_string4160za700za7za7_4394za7, "&string-hashtable-put!", 22 );
BGL_DEFINE_STRING(BGl_string4161z00zz__hashz00, BgL_bgl_string4161za700za7za7_4395za7, "plain-hashtable-put!", 20 );
BGL_DEFINE_STRING(BGl_string4081z00zz__hashz00, BgL_bgl_string4081za700za7za7_4396za7, "fun", 3 );
BGL_DEFINE_STRING(BGl_string4083z00zz__hashz00, BgL_bgl_string4083za700za7za7_4397za7, "arg1554", 7 );
BGL_DEFINE_STRING(BGl_string4164z00zz__hashz00, BgL_bgl_string4164za700za7za7_4398za7, "arg1809", 7 );
BGL_DEFINE_STRING(BGl_string4165z00zz__hashz00, BgL_bgl_string4165za700za7za7_4399za7, "hashtable-update!", 17 );
BGL_DEFINE_STRING(BGl_string4085z00zz__hashz00, BgL_bgl_string4085za700za7za7_4400za7, "arg1555", 7 );
BGL_DEFINE_STRING(BGl_string4166z00zz__hashz00, BgL_bgl_string4166za700za7za7_4401za7, "&hashtable-update!", 18 );
BGL_DEFINE_STRING(BGl_string4086z00zz__hashz00, BgL_bgl_string4086za700za7za7_4402za7, "&open-string-hashtable-map", 26 );
BGL_DEFINE_STRING(BGl_string4167z00zz__hashz00, BgL_bgl_string4167za700za7za7_4403za7, "open-string-hashtable-update!", 29 );
BGL_DEFINE_STRING(BGl_string4087z00zz__hashz00, BgL_bgl_string4087za700za7za7_4404za7, "plain-hashtable-map", 19 );
BGL_DEFINE_STRING(BGl_string4088z00zz__hashz00, BgL_bgl_string4088za700za7za7_4405za7, "liip:Wrong number of arguments", 30 );
BGL_DEFINE_STRING(BGl_string4170z00zz__hashz00, BgL_bgl_string4170za700za7za7_4406za7, "proc", 4 );
BGL_DEFINE_STRING(BGl_string4091z00zz__hashz00, BgL_bgl_string4091za700za7za7_4407za7, "arg1575", 7 );
BGL_DEFINE_STRING(BGl_string4172z00zz__hashz00, BgL_bgl_string4172za700za7za7_4408za7, "oval", 4 );
BGL_DEFINE_STRING(BGl_string4173z00zz__hashz00, BgL_bgl_string4173za700za7za7_4409za7, "&open-string-hashtable-update!", 30 );
BGL_DEFINE_STRING(BGl_string4093z00zz__hashz00, BgL_bgl_string4093za700za7za7_4410za7, "arg1577", 7 );
BGL_DEFINE_STRING(BGl_string4174z00zz__hashz00, BgL_bgl_string4174za700za7za7_4411za7, "plain-hashtable-update!", 23 );
BGL_DEFINE_STRING(BGl_string4094z00zz__hashz00, BgL_bgl_string4094za700za7za7_4412za7, "&hashtable-for-each", 19 );
BGL_DEFINE_STRING(BGl_string4095z00zz__hashz00, BgL_bgl_string4095za700za7za7_4413za7, "open-string-hashtable-for-each", 30 );
BGL_DEFINE_STRING(BGl_string4177z00zz__hashz00, BgL_bgl_string4177za700za7za7_4414za7, "arg1858", 7 );
BGL_DEFINE_STRING(BGl_string4098z00zz__hashz00, BgL_bgl_string4098za700za7za7_4415za7, "arg1586", 7 );
BGL_DEFINE_STRING(BGl_string4180z00zz__hashz00, BgL_bgl_string4180za700za7za7_4416za7, "arg1854", 7 );
BGL_DEFINE_STRING(BGl_string4181z00zz__hashz00, BgL_bgl_string4181za700za7za7_4417za7, "hashtable-add!", 14 );
BGL_DEFINE_STRING(BGl_string4182z00zz__hashz00, BgL_bgl_string4182za700za7za7_4418za7, "&hashtable-add!", 15 );
BGL_DEFINE_STRING(BGl_string4183z00zz__hashz00, BgL_bgl_string4183za700za7za7_4419za7, "open-string-hashtable-add!", 26 );
BGL_DEFINE_STRING(BGl_string4186z00zz__hashz00, BgL_bgl_string4186za700za7za7_4420za7, "init", 4 );
BGL_DEFINE_STRING(BGl_string4189z00zz__hashz00, BgL_bgl_string4189za700za7za7_4421za7, "obj", 3 );
BGL_DEFINE_STRING(BGl_string4190z00zz__hashz00, BgL_bgl_string4190za700za7za7_4422za7, "&open-string-hashtable-add!", 27 );
BGL_DEFINE_STRING(BGl_string4191z00zz__hashz00, BgL_bgl_string4191za700za7za7_4423za7, "plain-hashtable-add!", 20 );
BGL_DEFINE_STRING(BGl_string4192z00zz__hashz00, BgL_bgl_string4192za700za7za7_4424za7, "plain-hashtable-add!:Wrong number of arguments", 46 );
BGL_DEFINE_STRING(BGl_string4195z00zz__hashz00, BgL_bgl_string4195za700za7za7_4425za7, "arg1908", 7 );
extern obj_t BGl_eqzf3zd2envz21zz__r4_equivalence_6_2z00;
DEFINE_EXPORT_BGL_PROCEDURE(BGl_makezd2hashtablezd2envz00zz__hashz00, BgL_bgl_za762makeza7d2hashta4426z00, va_generic_entry, BGl_z62makezd2hashtablezb0zz__hashz00, BUNSPEC, -1);
BGL_DEFINE_STRING(BGl_string4198z00zz__hashz00, BgL_bgl_string4198za700za7za7_4427za7, "arg1905", 7 );
DEFINE_EXPORT_BGL_PROCEDURE(BGl_getzd2hashnumberzd2persistentzd2envzd2zz__hashz00, BgL_bgl_za762getza7d2hashnum4428z00, BGl_z62getzd2hashnumberzd2persistentz62zz__hashz00, 0L, BUNSPEC, 1);
BGL_DEFINE_STRING(BGl_string4199z00zz__hashz00, BgL_bgl_string4199za700za7za7_4429za7, "hashtable-remove!", 17 );
DEFINE_EXPORT_BGL_PROCEDURE(BGl_hashtablezd2forzd2eachzd2envzd2zz__hashz00, BgL_bgl_za762hashtableza7d2f4430z00, BGl_z62hashtablezd2forzd2eachz62zz__hashz00, 0L, BUNSPEC, 2);
DEFINE_EXPORT_BGL_PROCEDURE(BGl_hashtablezd2ze3vectorzd2envze3zz__hashz00, BgL_bgl_za762hashtableza7d2za74431za7, BGl_z62hashtablezd2ze3vectorz53zz__hashz00, 0L, BUNSPEC, 1);
DEFINE_EXPORT_BGL_PROCEDURE(BGl_openzd2stringzd2hashtablezd2mapzd2envz00zz__hashz00, BgL_bgl_za762openza7d2string4432z00, BGl_z62openzd2stringzd2hashtablezd2mapzb0zz__hashz00, 0L, BUNSPEC, 2);
DEFINE_EXPORT_BGL_PROCEDURE(BGl_openzd2stringzd2hashtablezd2getzd2envz00zz__hashz00, BgL_bgl_za762openza7d2string4433z00, BGl_z62openzd2stringzd2hashtablezd2getzb0zz__hashz00, 0L, BUNSPEC, 2);
DEFINE_EXPORT_BGL_PROCEDURE(BGl_hashtablezd2updatez12zd2envz12zz__hashz00, BgL_bgl_za762hashtableza7d2u4434z00, BGl_z62hashtablezd2updatez12za2zz__hashz00, 0L, BUNSPEC, 4);
DEFINE_EXPORT_BGL_PROCEDURE(BGl_hashtablezd2clearz12zd2envz12zz__hashz00, BgL_bgl_za762hashtableza7d2c4435z00, BGl_z62hashtablezd2clearz12za2zz__hashz00, 0L, BUNSPEC, 1);
DEFINE_EXPORT_BGL_PROCEDURE(BGl_hashtablezf3zd2envz21zz__hashz00, BgL_bgl_za762hashtableza7f3za74436za7, BGl_z62hashtablezf3z91zz__hashz00, 0L, BUNSPEC, 1);
DEFINE_EXPORT_BGL_PROCEDURE(BGl_openzd2stringzd2hashtablezd2containszf3zd2envzf3zz__hashz00, BgL_bgl_za762openza7d2string4437z00, BGl_z62openzd2stringzd2hashtablezd2containszf3z43zz__hashz00, 0L, BUNSPEC, 2);
DEFINE_EXPORT_BGL_PROCEDURE(BGl_openzd2stringzd2hashtablezd2addz12zd2envz12zz__hashz00, BgL_bgl_za762openza7d2string4438z00, BGl_z62openzd2stringzd2hashtablezd2addz12za2zz__hashz00, 0L, BUNSPEC, 5);
DEFINE_EXPORT_BGL_PROCEDURE(BGl_createzd2hashtablezd2openzd2stringzd2envz00zz__hashz00, BgL_bgl_za762createza7d2hash4439z00, BGl_z62createzd2hashtablezd2openzd2stringzb0zz__hashz00, 0L, BUNSPEC, 0);
DEFINE_EXPORT_BGL_PROCEDURE(BGl_openzd2stringzd2hashtablezd2putz12zd2envz12zz__hashz00, BgL_bgl_za762openza7d2string4440z00, BGl_z62openzd2stringzd2hashtablezd2putz12za2zz__hashz00, 0L, BUNSPEC, 3);
DEFINE_EXPORT_BGL_PROCEDURE(BGl_hashtablezd2containszf3zd2envzf3zz__hashz00, BgL_bgl_za762hashtableza7d2c4441z00, BGl_z62hashtablezd2containszf3z43zz__hashz00, 0L, BUNSPEC, 2);
DEFINE_EXPORT_BGL_PROCEDURE(BGl_hashtablezd2weakzd2keyszf3zd2envz21zz__hashz00, BgL_bgl_za762hashtableza7d2w4442z00, BGl_z62hashtablezd2weakzd2keyszf3z91zz__hashz00, 0L, BUNSPEC, 1);
BGL_DEFINE_STRING(BGl_string3982z00zz__hashz00, BgL_bgl_string3982za700za7za7_4443za7, "/tmp/bigloo/runtime/Llib/hash.sch", 33 );
BGL_DEFINE_STRING(BGl_string3983z00zz__hashz00, BgL_bgl_string3983za700za7za7_4444za7, "table-get-hashnumber", 20 );
BGL_DEFINE_STRING(BGl_string3984z00zz__hashz00, BgL_bgl_string3984za700za7za7_4445za7, "symbol", 6 );
BGL_DEFINE_STRING(BGl_string3986z00zz__hashz00, BgL_bgl_string3986za700za7za7_4446za7, "%hashtable", 10 );
BGL_DEFINE_STRING(BGl_string3987z00zz__hashz00, BgL_bgl_string3987za700za7za7_4447za7, "struct-ref:not an instance of", 29 );
BGL_DEFINE_STRING(BGl_string3988z00zz__hashz00, BgL_bgl_string3988za700za7za7_4448za7, "table-get-hashnumber:Wrong number of arguments", 46 );
DEFINE_EXPORT_BGL_PROCEDURE(BGl_getzd2pointerzd2hashnumberzd2envzd2zz__hashz00, BgL_bgl_za762getza7d2pointer4449z00, BGl_z62getzd2pointerzd2hashnumberz62zz__hashz00, 0L, BUNSPEC, 2);
DEFINE_EXPORT_BGL_PROCEDURE(BGl_stringzd2hashzd2envz00zz__hashz00, BgL_bgl__stringza7d2hashza7d4450z00, opt_generic_entry, BGl__stringzd2hashzd2zz__hashz00, BFALSE, -1);
DEFINE_EXPORT_BGL_PROCEDURE(BGl_createzd2hashtablezd2envz00zz__hashz00, BgL_bgl__createza7d2hashta4451za7, opt_generic_entry, BGl__createzd2hashtablezd2zz__hashz00, BFALSE, -1);
DEFINE_EXPORT_BGL_PROCEDURE(BGl_hashtablezd2ze3listzd2envze3zz__hashz00, BgL_bgl_za762hashtableza7d2za74452za7, BGl_z62hashtablezd2ze3listz53zz__hashz00, 0L, BUNSPEC, 1);
BGL_DEFINE_STRING(BGl_string3991z00zz__hashz00, BgL_bgl_string3991za700za7za7_4453za7, "funcall", 7 );
BGL_DEFINE_STRING(BGl_string3993z00zz__hashz00, BgL_bgl_string3993za700za7za7_4454za7, "hashn", 5 );
BGL_DEFINE_STRING(BGl_string3995z00zz__hashz00, BgL_bgl_string3995za700za7za7_4455za7, "key", 3 );
BGL_DEFINE_STRING(BGl_string3996z00zz__hashz00, BgL_bgl_string3996za700za7za7_4456za7, "bint", 4 );
DEFINE_EXPORT_BGL_PROCEDURE(BGl_stringzd2hashzd2numberzd2envzd2zz__hashz00, BgL_bgl_za762stringza7d2hash4457z00, BGl_z62stringzd2hashzd2numberz62zz__hashz00, 0L, BUNSPEC, 1);
BGL_DEFINE_STRING(BGl_string3998z00zz__hashz00, BgL_bgl_string3998za700za7za7_4458za7, "persistent", 10 );
BGL_DEFINE_STRING(BGl_string3999z00zz__hashz00, BgL_bgl_string3999za700za7za7_4459za7, "make-hashtable", 14 );
DEFINE_EXPORT_BGL_PROCEDURE(BGl_stringzd2hashtablezd2getzd2envzd2zz__hashz00, BgL_bgl_za762stringza7d2hash4460z00, BGl_z62stringzd2hashtablezd2getz62zz__hashz00, 0L, BUNSPEC, 2);
DEFINE_EXPORT_BGL_PROCEDURE(BGl_openzd2stringzd2hashtablezd2removez12zd2envz12zz__hashz00, BgL_bgl_za762openza7d2string4461z00, BGl_z62openzd2stringzd2hashtablezd2removez12za2zz__hashz00, 0L, BUNSPEC, 2);

/* contant bindings */
static void bgl_constant_bindings() {
BGL_BIND_PROCEDURE(BGl_openzd2stringzd2hashtablezd2removez12zd2envz12zz__hashz00, BgL_bgl_za762openza7d2string4461z00);
BGL_BIND_PROCEDURE(BGl_stringzd2hashtablezd2getzd2envzd2zz__hashz00, BgL_bgl_za762stringza7d2hash4460z00);
BGL_BIND_STRING(BGl_string3999z00zz__hashz00, BgL_bgl_string3999za700za7za7_4459za7);
BGL_BIND_STRING(BGl_string3998z00zz__hashz00, BgL_bgl_string3998za700za7za7_4458za7);
BGL_BIND_PROCEDURE(BGl_stringzd2hashzd2numberzd2envzd2zz__hashz00, BgL_bgl_za762stringza7d2hash4457z00);
BGL_BIND_STRING(BGl_string3996z00zz__hashz00, BgL_bgl_string3996za700za7za7_4456za7);
BGL_BIND_STRING(BGl_string3995z00zz__hashz00, BgL_bgl_string3995za700za7za7_4455za7);
BGL_BIND_STRING(BGl_string3993z00zz__hashz00, BgL_bgl_string3993za700za7za7_4454za7);
BGL_BIND_STRING(BGl_string3991z00zz__hashz00, BgL_bgl_string3991za700za7za7_4453za7);
BGL_BIND_PROCEDURE(BGl_hashtablezd2ze3listzd2envze3zz__hashz00, BgL_bgl_za762hashtableza7d2za74452za7);
BGL_BIND_PROCEDURE(BGl_createzd2hashtablezd2envz00zz__hashz00, BgL_bgl__createza7d2hashta4451za7);
BGL_BIND_PROCEDURE(BGl_stringzd2hashzd2envz00zz__hashz00, BgL_bgl__stringza7d2hashza7d4450z00);
BGL_BIND_PROCEDURE(BGl_getzd2pointerzd2hashnumberzd2envzd2zz__hashz00, BgL_bgl_za762getza7d2pointer4449z00);
BGL_BIND_STRING(BGl_string3988z00zz__hashz00, BgL_bgl_string3988za700za7za7_4448za7);
BGL_BIND_STRING(BGl_string3987z00zz__hashz00, BgL_bgl_string3987za700za7za7_4447za7);
BGL_BIND_STRING(BGl_string3986z00zz__hashz00, BgL_bgl_string3986za700za7za7_4446za7);
BGL_BIND_STRING(BGl_string3984z00zz__hashz00, BgL_bgl_string3984za700za7za7_4445za7);
BGL_BIND_STRING(BGl_string3983z00zz__hashz00, BgL_bgl_string3983za700za7za7_4444za7);
BGL_BIND_STRING(BGl_string3982z00zz__hashz00, BgL_bgl_string3982za700za7za7_4443za7);
BGL_BIND_PROCEDURE(BGl_hashtablezd2weakzd2keyszf3zd2envz21zz__hashz00, BgL_bgl_za762hashtableza7d2w4442z00);
BGL_BIND_PROCEDURE(BGl_hashtablezd2containszf3zd2envzf3zz__hashz00, BgL_bgl_za762hashtableza7d2c4441z00);
BGL_BIND_PROCEDURE(BGl_openzd2stringzd2hashtablezd2putz12zd2envz12zz__hashz00, BgL_bgl_za762openza7d2string4440z00);
BGL_BIND_PROCEDURE(BGl_createzd2hashtablezd2openzd2stringzd2envz00zz__hashz00, BgL_bgl_za762createza7d2hash4439z00);
BGL_BIND_PROCEDURE(BGl_openzd2stringzd2hashtablezd2addz12zd2envz12zz__hashz00, BgL_bgl_za762openza7d2string4438z00);
BGL_BIND_PROCEDURE(BGl_openzd2stringzd2hashtablezd2containszf3zd2envzf3zz__hashz00, BgL_bgl_za762openza7d2string4437z00);
BGL_BIND_PROCEDURE(BGl_hashtablezf3zd2envz21zz__hashz00, BgL_bgl_za762hashtableza7f3za74436za7);
BGL_BIND_PROCEDURE(BGl_hashtablezd2clearz12zd2envz12zz__hashz00, BgL_bgl_za762hashtableza7d2c4435z00);
BGL_BIND_PROCEDURE(BGl_hashtablezd2updatez12zd2envz12zz__hashz00, BgL_bgl_za762hashtableza7d2u4434z00);
BGL_BIND_PROCEDURE(BGl_openzd2stringzd2hashtablezd2getzd2envz00zz__hashz00, BgL_bgl_za762openza7d2string4433z00);
BGL_BIND_PROCEDURE(BGl_openzd2stringzd2hashtablezd2mapzd2envz00zz__hashz00, BgL_bgl_za762openza7d2string4432z00);
BGL_BIND_PROCEDURE(BGl_hashtablezd2ze3vectorzd2envze3zz__hashz00, BgL_bgl_za762hashtableza7d2za74431za7);
BGL_BIND_PROCEDURE(BGl_hashtablezd2forzd2eachzd2envzd2zz__hashz00, BgL_bgl_za762hashtableza7d2f4430z00);
BGL_BIND_STRING(BGl_string4199z00zz__hashz00, BgL_bgl_string4199za700za7za7_4429za7);
BGL_BIND_PROCEDURE(BGl_getzd2hashnumberzd2persistentzd2envzd2zz__hashz00, BgL_bgl_za762getza7d2hashnum4428z00);
BGL_BIND_STRING(BGl_string4198z00zz__hashz00, BgL_bgl_string4198za700za7za7_4427za7);
BGL_BIND_PROCEDURE(BGl_makezd2hashtablezd2envz00zz__hashz00, BgL_bgl_za762makeza7d2hashta4426z00);
BGL_BIND_STRING(BGl_string4195z00zz__hashz00, BgL_bgl_string4195za700za7za7_4425za7);
BGL_BIND_STRING(BGl_string4192z00zz__hashz00, BgL_bgl_string4192za700za7za7_4424za7);
BGL_BIND_STRING(BGl_string4191z00zz__hashz00, BgL_bgl_string4191za700za7za7_4423za7);
BGL_BIND_STRING(BGl_string4190z00zz__hashz00, BgL_bgl_string4190za700za7za7_4422za7);
BGL_BIND_STRING(BGl_string4189z00zz__hashz00, BgL_bgl_string4189za700za7za7_4421za7);
BGL_BIND_STRING(BGl_string4186z00zz__hashz00, BgL_bgl_string4186za700za7za7_4420za7);
BGL_BIND_STRING(BGl_string4183z00zz__hashz00, BgL_bgl_string4183za700za7za7_4419za7);
BGL_BIND_STRING(BGl_string4182z00zz__hashz00, BgL_bgl_string4182za700za7za7_4418za7);
BGL_BIND_STRING(BGl_string4181z00zz__hashz00, BgL_bgl_string4181za700za7za7_4417za7);
BGL_BIND_STRING(BGl_string4180z00zz__hashz00, BgL_bgl_string4180za700za7za7_4416za7);
BGL_BIND_STRING(BGl_string4098z00zz__hashz00, BgL_bgl_string4098za700za7za7_4415za7);
BGL_BIND_STRING(BGl_string4177z00zz__hashz00, BgL_bgl_string4177za700za7za7_4414za7);
BGL_BIND_STRING(BGl_string4095z00zz__hashz00, BgL_bgl_string4095za700za7za7_4413za7);
BGL_BIND_STRING(BGl_string4094z00zz__hashz00, BgL_bgl_string4094za700za7za7_4412za7);
BGL_BIND_STRING(BGl_string4174z00zz__hashz00, BgL_bgl_string4174za700za7za7_4411za7);
BGL_BIND_STRING(BGl_string4093z00zz__hashz00, BgL_bgl_string4093za700za7za7_4410za7);
BGL_BIND_STRING(BGl_string4173z00zz__hashz00, BgL_bgl_string4173za700za7za7_4409za7);
BGL_BIND_STRING(BGl_string4172z00zz__hashz00, BgL_bgl_string4172za700za7za7_4408za7);
BGL_BIND_STRING(BGl_string4091z00zz__hashz00, BgL_bgl_string4091za700za7za7_4407za7);
BGL_BIND_STRING(BGl_string4170z00zz__hashz00, BgL_bgl_string4170za700za7za7_4406za7);
BGL_BIND_STRING(BGl_string4088z00zz__hashz00, BgL_bgl_string4088za700za7za7_4405za7);
BGL_BIND_STRING(BGl_string4087z00zz__hashz00, BgL_bgl_string4087za700za7za7_4404za7);
BGL_BIND_STRING(BGl_string4167z00zz__hashz00, BgL_bgl_string4167za700za7za7_4403za7);
BGL_BIND_STRING(BGl_string4086z00zz__hashz00, BgL_bgl_string4086za700za7za7_4402za7);
BGL_BIND_STRING(BGl_string4166z00zz__hashz00, BgL_bgl_string4166za700za7za7_4401za7);
BGL_BIND_STRING(BGl_string4085z00zz__hashz00, BgL_bgl_string4085za700za7za7_4400za7);
BGL_BIND_STRING(BGl_string4165z00zz__hashz00, BgL_bgl_string4165za700za7za7_4399za7);
BGL_BIND_STRING(BGl_string4164z00zz__hashz00, BgL_bgl_string4164za700za7za7_4398za7);
BGL_BIND_STRING(BGl_string4083z00zz__hashz00, BgL_bgl_string4083za700za7za7_4397za7);
BGL_BIND_STRING(BGl_string4081z00zz__hashz00, BgL_bgl_string4081za700za7za7_4396za7);
BGL_BIND_STRING(BGl_string4161z00zz__hashz00, BgL_bgl_string4161za700za7za7_4395za7);
BGL_BIND_STRING(BGl_string4160z00zz__hashz00, BgL_bgl_string4160za700za7za7_4394za7);
BGL_BIND_PROCEDURE(BGl_hashtablezd2weakzd2datazf3zd2envz21zz__hashz00, BgL_bgl_za762hashtableza7d2w4393z00);
BGL_BIND_PROCEDURE(BGl_openzd2stringzd2hashtablezd2forzd2eachzd2envzd2zz__hashz00, BgL_bgl_za762openza7d2string4392z00);
BGL_BIND_PROCEDURE(BGl_openzd2stringzd2hashtablezd2updatez12zd2envz12zz__hashz00, BgL_bgl_za762openza7d2string4391z00);
BGL_BIND_PROCEDURE(BGl_z42openzd2stringzd2hashtablezd2getzd2envz42zz__hashz00, BgL_bgl_za762za742openza7d2str4390za7);
BGL_BIND_STRING(BGl_string4159z00zz__hashz00, BgL_bgl_string4159za700za7za7_4389za7);
BGL_BIND_STRING(BGl_string4078z00zz__hashz00, BgL_bgl_string4078za700za7za7_4388za7);
BGL_BIND_STRING(BGl_string4158z00zz__hashz00, BgL_bgl_string4158za700za7za7_4387za7);
BGL_BIND_STRING(BGl_string4077z00zz__hashz00, BgL_bgl_string4077za700za7za7_4386za7);
BGL_BIND_STRING(BGl_string4157z00zz__hashz00, BgL_bgl_string4157za700za7za7_4385za7);
BGL_BIND_STRING(BGl_string4076z00zz__hashz00, BgL_bgl_string4076za700za7za7_4384za7);
BGL_BIND_STRING(BGl_string4238z00zz__hashz00, BgL_bgl_string4238za700za7za7_4383za7);
BGL_BIND_STRING(BGl_string4156z00zz__hashz00, BgL_bgl_string4156za700za7za7_4382za7);
BGL_BIND_STRING(BGl_string4075z00zz__hashz00, BgL_bgl_string4075za700za7za7_4381za7);
BGL_BIND_STRING(BGl_string4237z00zz__hashz00, BgL_bgl_string4237za700za7za7_4380za7);
BGL_BIND_STRING(BGl_string4155z00zz__hashz00, BgL_bgl_string4155za700za7za7_4379za7);
BGL_BIND_STRING(BGl_string4074z00zz__hashz00, BgL_bgl_string4074za700za7za7_4378za7);
BGL_BIND_STRING(BGl_string4236z00zz__hashz00, BgL_bgl_string4236za700za7za7_4377za7);
BGL_BIND_STRING(BGl_string4154z00zz__hashz00, BgL_bgl_string4154za700za7za7_4376za7);
BGL_BIND_STRING(BGl_string4073z00zz__hashz00, BgL_bgl_string4073za700za7za7_4375za7);
BGL_BIND_STRING(BGl_string4235z00zz__hashz00, BgL_bgl_string4235za700za7za7_4374za7);
BGL_BIND_STRING(BGl_string4153z00zz__hashz00, BgL_bgl_string4153za700za7za7_4373za7);
BGL_BIND_STRING(BGl_string4072z00zz__hashz00, BgL_bgl_string4072za700za7za7_4372za7);
BGL_BIND_STRING(BGl_string4234z00zz__hashz00, BgL_bgl_string4234za700za7za7_4371za7);
BGL_BIND_STRING(BGl_string4152z00zz__hashz00, BgL_bgl_string4152za700za7za7_4370za7);
BGL_BIND_STRING(BGl_string4071z00zz__hashz00, BgL_bgl_string4071za700za7za7_4369za7);
BGL_BIND_STRING(BGl_string4233z00zz__hashz00, BgL_bgl_string4233za700za7za7_4368za7);
BGL_BIND_STRING(BGl_string4151z00zz__hashz00, BgL_bgl_string4151za700za7za7_4367za7);
BGL_BIND_STRING(BGl_string4070z00zz__hashz00, BgL_bgl_string4070za700za7za7_4366za7);
BGL_BIND_STRING(BGl_string4150z00zz__hashz00, BgL_bgl_string4150za700za7za7_4365za7);
BGL_BIND_STRING(BGl_string4231z00zz__hashz00, BgL_bgl_string4231za700za7za7_4364za7);
BGL_BIND_STRING(BGl_string4230z00zz__hashz00, BgL_bgl_string4230za700za7za7_4363za7);
BGL_BIND_STRING(BGl_string4069z00zz__hashz00, BgL_bgl_string4069za700za7za7_4362za7);
BGL_BIND_STRING(BGl_string4149z00zz__hashz00, BgL_bgl_string4149za700za7za7_4361za7);
BGL_BIND_STRING(BGl_string4068z00zz__hashz00, BgL_bgl_string4068za700za7za7_4360za7);
BGL_BIND_STRING(BGl_string4229z00zz__hashz00, BgL_bgl_string4229za700za7za7_4359za7);
BGL_BIND_STRING(BGl_string4148z00zz__hashz00, BgL_bgl_string4148za700za7za7_4358za7);
BGL_BIND_STRING(BGl_string4067z00zz__hashz00, BgL_bgl_string4067za700za7za7_4357za7);
BGL_BIND_STRING(BGl_string4228z00zz__hashz00, BgL_bgl_string4228za700za7za7_4356za7);
BGL_BIND_STRING(BGl_string4066z00zz__hashz00, BgL_bgl_string4066za700za7za7_4355za7);
BGL_BIND_STRING(BGl_string4227z00zz__hashz00, BgL_bgl_string4227za700za7za7_4354za7);
BGL_BIND_STRING(BGl_string4065z00zz__hashz00, BgL_bgl_string4065za700za7za7_4353za7);
BGL_BIND_STRING(BGl_string4145z00zz__hashz00, BgL_bgl_string4145za700za7za7_4352za7);
BGL_BIND_STRING(BGl_string4064z00zz__hashz00, BgL_bgl_string4064za700za7za7_4351za7);
BGL_BIND_STRING(BGl_string4225z00zz__hashz00, BgL_bgl_string4225za700za7za7_4350za7);
BGL_BIND_STRING(BGl_string4144z00zz__hashz00, BgL_bgl_string4144za700za7za7_4349za7);
BGL_BIND_STRING(BGl_string4063z00zz__hashz00, BgL_bgl_string4063za700za7za7_4348za7);
BGL_BIND_STRING(BGl_string4143z00zz__hashz00, BgL_bgl_string4143za700za7za7_4347za7);
BGL_BIND_STRING(BGl_string4062z00zz__hashz00, BgL_bgl_string4062za700za7za7_4346za7);
BGL_BIND_STRING(BGl_string4142z00zz__hashz00, BgL_bgl_string4142za700za7za7_4345za7);
BGL_BIND_STRING(BGl_string4061z00zz__hashz00, BgL_bgl_string4061za700za7za7_4344za7);
BGL_BIND_STRING(BGl_string4222z00zz__hashz00, BgL_bgl_string4222za700za7za7_4343za7);
BGL_BIND_STRING(BGl_string4060z00zz__hashz00, BgL_bgl_string4060za700za7za7_4342za7);
BGL_BIND_STRING(BGl_string4221z00zz__hashz00, BgL_bgl_string4221za700za7za7_4341za7);
BGL_BIND_STRING(BGl_string4140z00zz__hashz00, BgL_bgl_string4140za700za7za7_4340za7);
BGL_BIND_PROCEDURE(BGl_hashtablezd2filterz12zd2envz12zz__hashz00, BgL_bgl_za762hashtableza7d2f4339z00);
BGL_BIND_STRING(BGl_string4059z00zz__hashz00, BgL_bgl_string4059za700za7za7_4338za7);
BGL_BIND_STRING(BGl_string4058z00zz__hashz00, BgL_bgl_string4058za700za7za7_4337za7);
BGL_BIND_STRING(BGl_string4219z00zz__hashz00, BgL_bgl_string4219za700za7za7_4336za7);
BGL_BIND_STRING(BGl_string4057z00zz__hashz00, BgL_bgl_string4057za700za7za7_4335za7);
BGL_BIND_STRING(BGl_string4218z00zz__hashz00, BgL_bgl_string4218za700za7za7_4334za7);
BGL_BIND_STRING(BGl_string4137z00zz__hashz00, BgL_bgl_string4137za700za7za7_4333za7);
BGL_BIND_STRING(BGl_string4056z00zz__hashz00, BgL_bgl_string4056za700za7za7_4332za7);
BGL_BIND_STRING(BGl_string4217z00zz__hashz00, BgL_bgl_string4217za700za7za7_4331za7);
BGL_BIND_STRING(BGl_string4136z00zz__hashz00, BgL_bgl_string4136za700za7za7_4330za7);
BGL_BIND_STRING(BGl_string4055z00zz__hashz00, BgL_bgl_string4055za700za7za7_4329za7);
BGL_BIND_STRING(BGl_string4216z00zz__hashz00, BgL_bgl_string4216za700za7za7_4328za7);
BGL_BIND_STRING(BGl_string4135z00zz__hashz00, BgL_bgl_string4135za700za7za7_4327za7);
BGL_BIND_STRING(BGl_string4054z00zz__hashz00, BgL_bgl_string4054za700za7za7_4326za7);
BGL_BIND_PROCEDURE(BGl_proc4048z00zz__hashz00, BgL_bgl_za762za7c3za704anonymo4325za7);
BGL_BIND_STRING(BGl_string4215z00zz__hashz00, BgL_bgl_string4215za700za7za7_4324za7);
BGL_BIND_STRING(BGl_string4134z00zz__hashz00, BgL_bgl_string4134za700za7za7_4323za7);
BGL_BIND_STRING(BGl_string4053z00zz__hashz00, BgL_bgl_string4053za700za7za7_4322za7);
BGL_BIND_STRING(BGl_string4214z00zz__hashz00, BgL_bgl_string4214za700za7za7_4321za7);
BGL_BIND_STRING(BGl_string4133z00zz__hashz00, BgL_bgl_string4133za700za7za7_4320za7);
BGL_BIND_STRING(BGl_string4052z00zz__hashz00, BgL_bgl_string4052za700za7za7_4319za7);
BGL_BIND_STRING(BGl_string4213z00zz__hashz00, BgL_bgl_string4213za700za7za7_4318za7);
BGL_BIND_STRING(BGl_string4132z00zz__hashz00, BgL_bgl_string4132za700za7za7_4317za7);
BGL_BIND_STRING(BGl_string4051z00zz__hashz00, BgL_bgl_string4051za700za7za7_4316za7);
BGL_BIND_STRING(BGl_string4212z00zz__hashz00, BgL_bgl_string4212za700za7za7_4315za7);
BGL_BIND_STRING(BGl_string4131z00zz__hashz00, BgL_bgl_string4131za700za7za7_4314za7);
BGL_BIND_STRING(BGl_string4050z00zz__hashz00, BgL_bgl_string4050za700za7za7_4313za7);
BGL_BIND_STRING(BGl_string4211z00zz__hashz00, BgL_bgl_string4211za700za7za7_4312za7);
BGL_BIND_STRING(BGl_string4130z00zz__hashz00, BgL_bgl_string4130za700za7za7_4311za7);
BGL_BIND_STRING(BGl_string4210z00zz__hashz00, BgL_bgl_string4210za700za7za7_4310za7);
BGL_BIND_STRING(BGl_string4049z00zz__hashz00, BgL_bgl_string4049za700za7za7_4309za7);
BGL_BIND_STRING(BGl_string4129z00zz__hashz00, BgL_bgl_string4129za700za7za7_4308za7);
BGL_BIND_STRING(BGl_string4128z00zz__hashz00, BgL_bgl_string4128za700za7za7_4307za7);
BGL_BIND_STRING(BGl_string4047z00zz__hashz00, BgL_bgl_string4047za700za7za7_4306za7);
BGL_BIND_STRING(BGl_string4046z00zz__hashz00, BgL_bgl_string4046za700za7za7_4305za7);
BGL_BIND_STRING(BGl_string4207z00zz__hashz00, BgL_bgl_string4207za700za7za7_4304za7);
BGL_BIND_STRING(BGl_string4126z00zz__hashz00, BgL_bgl_string4126za700za7za7_4303za7);
BGL_BIND_STRING(BGl_string4045z00zz__hashz00, BgL_bgl_string4045za700za7za7_4302za7);
BGL_BIND_STRING(BGl_string4044z00zz__hashz00, BgL_bgl_string4044za700za7za7_4301za7);
BGL_BIND_STRING(BGl_string4043z00zz__hashz00, BgL_bgl_string4043za700za7za7_4300za7);
BGL_BIND_STRING(BGl_string4204z00zz__hashz00, BgL_bgl_string4204za700za7za7_4299za7);
BGL_BIND_STRING(BGl_string4123z00zz__hashz00, BgL_bgl_string4123za700za7za7_4298za7);
BGL_BIND_STRING(BGl_string4203z00zz__hashz00, BgL_bgl_string4203za700za7za7_4297za7);
BGL_BIND_STRING(BGl_string4122z00zz__hashz00, BgL_bgl_string4122za700za7za7_4296za7);
BGL_BIND_STRING(BGl_string4041z00zz__hashz00, BgL_bgl_string4041za700za7za7_4295za7);
BGL_BIND_STRING(BGl_string4202z00zz__hashz00, BgL_bgl_string4202za700za7za7_4294za7);
BGL_BIND_STRING(BGl_string4121z00zz__hashz00, BgL_bgl_string4121za700za7za7_4293za7);
BGL_BIND_STRING(BGl_string4201z00zz__hashz00, BgL_bgl_string4201za700za7za7_4292za7);
BGL_BIND_STRING(BGl_string4120z00zz__hashz00, BgL_bgl_string4120za700za7za7_4291za7);
BGL_BIND_PROCEDURE(BGl_hashtablezd2removez12zd2envz12zz__hashz00, BgL_bgl_za762hashtableza7d2r4290z00);
BGL_BIND_STRING(BGl_string4200z00zz__hashz00, BgL_bgl_string4200za700za7za7_4289za7);
BGL_BIND_PROCEDURE(BGl_getzd2hashnumberzd2envz00zz__hashz00, BgL_bgl_za762getza7d2hashnum4288z00);
BGL_BIND_PROCEDURE(BGl_hashtablezd2putz12zd2envz12zz__hashz00, BgL_bgl_za762hashtableza7d2p4287z00);
BGL_BIND_STRING(BGl_string4039z00zz__hashz00, BgL_bgl_string4039za700za7za7_4286za7);
BGL_BIND_STRING(BGl_string4119z00zz__hashz00, BgL_bgl_string4119za700za7za7_4285za7);
BGL_BIND_STRING(BGl_string4118z00zz__hashz00, BgL_bgl_string4118za700za7za7_4284za7);
BGL_BIND_STRING(BGl_string4037z00zz__hashz00, BgL_bgl_string4037za700za7za7_4283za7);
BGL_BIND_STRING(BGl_string4116z00zz__hashz00, BgL_bgl_string4116za700za7za7_4282za7);
BGL_BIND_STRING(BGl_string4035z00zz__hashz00, BgL_bgl_string4035za700za7za7_4281za7);
BGL_BIND_STRING(BGl_string4033z00zz__hashz00, BgL_bgl_string4033za700za7za7_4280za7);
BGL_BIND_STRING(BGl_string4113z00zz__hashz00, BgL_bgl_string4113za700za7za7_4279za7);
BGL_BIND_STRING(BGl_string4032z00zz__hashz00, BgL_bgl_string4032za700za7za7_4278za7);
BGL_BIND_STRING(BGl_string4112z00zz__hashz00, BgL_bgl_string4112za700za7za7_4277za7);
BGL_BIND_STRING(BGl_string4031z00zz__hashz00, BgL_bgl_string4031za700za7za7_4276za7);
BGL_BIND_STRING(BGl_string4111z00zz__hashz00, BgL_bgl_string4111za700za7za7_4275za7);
BGL_BIND_STRING(BGl_string4030z00zz__hashz00, BgL_bgl_string4030za700za7za7_4274za7);
BGL_BIND_STRING(BGl_string4110z00zz__hashz00, BgL_bgl_string4110za700za7za7_4273za7);
BGL_BIND_PROCEDURE(BGl_hashtablezd2addz12zd2envz12zz__hashz00, BgL_bgl_za762hashtableza7d2a4272z00);
BGL_BIND_PROCEDURE(BGl_hashtablezd2collisionszd2envz00zz__hashz00, BgL_bgl_za762hashtableza7d2c4271z00);
BGL_BIND_STRING(BGl_string4109z00zz__hashz00, BgL_bgl_string4109za700za7za7_4270za7);
BGL_BIND_STRING(BGl_string4028z00zz__hashz00, BgL_bgl_string4028za700za7za7_4269za7);
BGL_BIND_STRING(BGl_string4107z00zz__hashz00, BgL_bgl_string4107za700za7za7_4268za7);
BGL_BIND_STRING(BGl_string4026z00zz__hashz00, BgL_bgl_string4026za700za7za7_4267za7);
BGL_BIND_STRING(BGl_string4104z00zz__hashz00, BgL_bgl_string4104za700za7za7_4266za7);
BGL_BIND_STRING(BGl_string4023z00zz__hashz00, BgL_bgl_string4023za700za7za7_4265za7);
BGL_BIND_STRING(BGl_string4103z00zz__hashz00, BgL_bgl_string4103za700za7za7_4264za7);
BGL_BIND_STRING(BGl_string4102z00zz__hashz00, BgL_bgl_string4102za700za7za7_4263za7);
BGL_BIND_STRING(BGl_string4021z00zz__hashz00, BgL_bgl_string4021za700za7za7_4262za7);
BGL_BIND_STRING(BGl_string4101z00zz__hashz00, BgL_bgl_string4101za700za7za7_4261za7);
BGL_BIND_STRING(BGl_string4100z00zz__hashz00, BgL_bgl_string4100za700za7za7_4260za7);
BGL_BIND_STRING(BGl_string4019z00zz__hashz00, BgL_bgl_string4019za700za7za7_4259za7);
BGL_BIND_STRING(BGl_string4017z00zz__hashz00, BgL_bgl_string4017za700za7za7_4258za7);
BGL_BIND_STRING(BGl_string4015z00zz__hashz00, BgL_bgl_string4015za700za7za7_4257za7);
BGL_BIND_STRING(BGl_string4012z00zz__hashz00, BgL_bgl_string4012za700za7za7_4256za7);
BGL_BIND_STRING(BGl_string4011z00zz__hashz00, BgL_bgl_string4011za700za7za7_4255za7);
BGL_BIND_STRING(BGl_string4010z00zz__hashz00, BgL_bgl_string4010za700za7za7_4254za7);
BGL_BIND_PROCEDURE(BGl_hashtablezd2getzd2envz00zz__hashz00, BgL_bgl_za762hashtableza7d2g4253z00);
BGL_BIND_PROCEDURE(BGl_stringzd2hashtablezd2putz12zd2envzc0zz__hashz00, BgL_bgl_za762stringza7d2hash4252z00);
BGL_BIND_PROCEDURE(BGl_hashtablezd2mapzd2envz00zz__hashz00, BgL_bgl_za762hashtableza7d2m4251z00);
BGL_BIND_PROCEDURE(BGl_hashtablezd2siza7ezd2envza7zz__hashz00, BgL_bgl_za762hashtableza7d2s4250z00);
BGL_BIND_STRING(BGl_string4008z00zz__hashz00, BgL_bgl_string4008za700za7za7_4249za7);
BGL_BIND_STRING(BGl_string4007z00zz__hashz00, BgL_bgl_string4007za700za7za7_4248za7);
BGL_BIND_PROCEDURE(BGl_hashtablezd2keyzd2listzd2envzd2zz__hashz00, BgL_bgl_za762hashtableza7d2k4247z00);
BGL_BIND_STRING(BGl_string4005z00zz__hashz00, BgL_bgl_string4005za700za7za7_4246za7);
BGL_BIND_STRING(BGl_string4004z00zz__hashz00, BgL_bgl_string4004za700za7za7_4245za7);
BGL_BIND_STRING(BGl_string4003z00zz__hashz00, BgL_bgl_string4003za700za7za7_4244za7);
BGL_BIND_STRING(BGl_string4002z00zz__hashz00, BgL_bgl_string4002za700za7za7_4243za7);
BGL_BIND_STRING(BGl_string4001z00zz__hashz00, BgL_bgl_string4001za700za7za7_4242za7);
BGL_BIND_STRING(BGl_string4000z00zz__hashz00, BgL_bgl_string4000za700za7za7_4241za7);
BGL_BIND_PROCEDURE(BGl_openzd2stringzd2hashtablezd2filterz12zd2envz12zz__hashz00, BgL_bgl_za762openza7d2string4240z00);
BGL_BIND_REAL(BGl_real4006z00zz__hashz00, BgL_bgl_real4006za700za7za7__h4239za7);
}

/* 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_symbol4185z00zz__hashz00) );
ADD_ROOT( (void *)(&BGl_symbol4188z00zz__hashz00) );
ADD_ROOT( (void *)(&BGl_list3989z00zz__hashz00) );
ADD_ROOT( (void *)(&BGl_symbol4194z00zz__hashz00) );
ADD_ROOT( (void *)(&BGl_symbol4197z00zz__hashz00) );
ADD_ROOT( (void *)(&BGl_requirezd2initializa7ationz75zz__hashz00) );
ADD_ROOT( (void *)(&BGl_list4013z00zz__hashz00) );
ADD_ROOT( (void *)(&BGl_list4105z00zz__hashz00) );
ADD_ROOT( (void *)(&BGl_list4114z00zz__hashz00) );
ADD_ROOT( (void *)(&BGl_list4124z00zz__hashz00) );
ADD_ROOT( (void *)(&BGl_list4205z00zz__hashz00) );
ADD_ROOT( (void *)(&BGl_list4208z00zz__hashz00) );
ADD_ROOT( (void *)(&BGl_symbol3985z00zz__hashz00) );
ADD_ROOT( (void *)(&BGl_symbol3990z00zz__hashz00) );
ADD_ROOT( (void *)(&BGl_list4138z00zz__hashz00) );
ADD_ROOT( (void *)(&BGl_symbol3992z00zz__hashz00) );
ADD_ROOT( (void *)(&BGl_symbol3994z00zz__hashz00) );
ADD_ROOT( (void *)(&BGl_symbol3997z00zz__hashz00) );
ADD_ROOT( (void *)(&BGl_list4223z00zz__hashz00) );
ADD_ROOT( (void *)(&BGl_list4146z00zz__hashz00) );
ADD_ROOT( (void *)(&BGl_list4079z00zz__hashz00) );
ADD_ROOT( (void *)(&BGl_list4162z00zz__hashz00) );
ADD_ROOT( (void *)(&BGl_list4168z00zz__hashz00) );
ADD_ROOT( (void *)(&BGl_list4089z00zz__hashz00) );
ADD_ROOT( (void *)(&BGl_list4175z00zz__hashz00) );
ADD_ROOT( (void *)(&BGl_keyword4014z00zz__hashz00) );
ADD_ROOT( (void *)(&BGl_list4096z00zz__hashz00) );
ADD_ROOT( (void *)(&BGl_keyword4016z00zz__hashz00) );
ADD_ROOT( (void *)(&BGl_list4178z00zz__hashz00) );
ADD_ROOT( (void *)(&BGl_keyword4018z00zz__hashz00) );
ADD_ROOT( (void *)(&BGl_keyword4020z00zz__hashz00) );
ADD_ROOT( (void *)(&BGl_keyword4022z00zz__hashz00) );
ADD_ROOT( (void *)(&BGl_list4184z00zz__hashz00) );
ADD_ROOT( (void *)(&BGl_keyword4024z00zz__hashz00) );
ADD_ROOT( (void *)(&BGl_keyword4025z00zz__hashz00) );
ADD_ROOT( (void *)(&BGl_list4187z00zz__hashz00) );
ADD_ROOT( (void *)(&BGl_keyword4027z00zz__hashz00) );
ADD_ROOT( (void *)(&BGl_list4193z00zz__hashz00) );
ADD_ROOT( (void *)(&BGl_list4196z00zz__hashz00) );
ADD_ROOT( (void *)(&BGl_symbol4009z00zz__hashz00) );
ADD_ROOT( (void *)(&BGl_symbol4106z00zz__hashz00) );
ADD_ROOT( (void *)(&BGl_symbol4108z00zz__hashz00) );
ADD_ROOT( (void *)(&BGl_symbol4029z00zz__hashz00) );
ADD_ROOT( (void *)(&BGl_symbol4034z00zz__hashz00) );
ADD_ROOT( (void *)(&BGl_symbol4115z00zz__hashz00) );
ADD_ROOT( (void *)(&BGl_symbol4036z00zz__hashz00) );
ADD_ROOT( (void *)(&BGl_symbol4117z00zz__hashz00) );
ADD_ROOT( (void *)(&BGl_symbol4038z00zz__hashz00) );
ADD_ROOT( (void *)(&BGl_symbol4040z00zz__hashz00) );
ADD_ROOT( (void *)(&BGl_symbol4042z00zz__hashz00) );
ADD_ROOT( (void *)(&BGl_symbol4125z00zz__hashz00) );
ADD_ROOT( (void *)(&BGl_symbol4206z00zz__hashz00) );
ADD_ROOT( (void *)(&BGl_symbol4127z00zz__hashz00) );
ADD_ROOT( (void *)(&BGl_symbol4209z00zz__hashz00) );
ADD_ROOT( (void *)(&BGl_symbol4139z00zz__hashz00) );
ADD_ROOT( (void *)(&BGl_symbol4220z00zz__hashz00) );
ADD_ROOT( (void *)(&BGl_symbol4141z00zz__hashz00) );
ADD_ROOT( (void *)(&BGl_symbol4224z00zz__hashz00) );
ADD_ROOT( (void *)(&BGl_symbol4226z00zz__hashz00) );
ADD_ROOT( (void *)(&BGl_symbol4147z00zz__hashz00) );
ADD_ROOT( (void *)(&BGl_symbol4232z00zz__hashz00) );
ADD_ROOT( (void *)(&BGl_symbol4080z00zz__hashz00) );
ADD_ROOT( (void *)(&BGl_symbol4082z00zz__hashz00) );
ADD_ROOT( (void *)(&BGl_symbol4163z00zz__hashz00) );
ADD_ROOT( (void *)(&BGl_symbol4084z00zz__hashz00) );
ADD_ROOT( (void *)(&BGl_symbol4169z00zz__hashz00) );
ADD_ROOT( (void *)(&BGl_symbol4090z00zz__hashz00) );
ADD_ROOT( (void *)(&BGl_symbol4171z00zz__hashz00) );
ADD_ROOT( (void *)(&BGl_symbol4092z00zz__hashz00) );
ADD_ROOT( (void *)(&BGl_symbol4176z00zz__hashz00) );
ADD_ROOT( (void *)(&BGl_symbol4097z00zz__hashz00) );
ADD_ROOT( (void *)(&BGl_symbol4179z00zz__hashz00) );
ADD_ROOT( (void *)(&BGl_symbol4099z00zz__hashz00) );
#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__hashz00(long BgL_checksumz00_6946, char * BgL_fromz00_6947)
{
{ 
if(
CBOOL(BGl_requirezd2initializa7ationz75zz__hashz00))
{ 
BGl_requirezd2initializa7ationz75zz__hashz00 = 
BBOOL(((bool_t)0)); 
bgl_constant_bindings(); 
BGl_gczd2rootszd2initz00zz__hashz00(); 
BGl_cnstzd2initzd2zz__hashz00(); 
BGl_importedzd2moduleszd2initz00zz__hashz00(); 
return 
BGl_toplevelzd2initzd2zz__hashz00();}  else 
{ 
return BUNSPEC;} } 

}



/* cnst-init */
obj_t BGl_cnstzd2initzd2zz__hashz00(void)
{
{ /* Llib/hash.scm 18 */
BGl_symbol3985z00zz__hashz00 = 
bstring_to_symbol(BGl_string3986z00zz__hashz00); 
BGl_symbol3990z00zz__hashz00 = 
bstring_to_symbol(BGl_string3991z00zz__hashz00); 
BGl_symbol3992z00zz__hashz00 = 
bstring_to_symbol(BGl_string3993z00zz__hashz00); 
BGl_symbol3994z00zz__hashz00 = 
bstring_to_symbol(BGl_string3995z00zz__hashz00); 
BGl_list3989z00zz__hashz00 = 
MAKE_YOUNG_PAIR(BGl_symbol3990z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3992z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3992z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3994z00zz__hashz00, BNIL)))); 
BGl_symbol3997z00zz__hashz00 = 
bstring_to_symbol(BGl_string3998z00zz__hashz00); 
BGl_symbol4009z00zz__hashz00 = 
bstring_to_symbol(BGl_string4010z00zz__hashz00); 
BGl_keyword4014z00zz__hashz00 = 
bstring_to_keyword(BGl_string4015z00zz__hashz00); 
BGl_keyword4016z00zz__hashz00 = 
bstring_to_keyword(BGl_string4017z00zz__hashz00); 
BGl_keyword4018z00zz__hashz00 = 
bstring_to_keyword(BGl_string4019z00zz__hashz00); 
BGl_keyword4020z00zz__hashz00 = 
bstring_to_keyword(BGl_string4021z00zz__hashz00); 
BGl_keyword4022z00zz__hashz00 = 
bstring_to_keyword(BGl_string4023z00zz__hashz00); 
BGl_keyword4024z00zz__hashz00 = 
bstring_to_keyword(BGl_string3998z00zz__hashz00); 
BGl_keyword4025z00zz__hashz00 = 
bstring_to_keyword(BGl_string4026z00zz__hashz00); 
BGl_keyword4027z00zz__hashz00 = 
bstring_to_keyword(BGl_string4028z00zz__hashz00); 
BGl_list4013z00zz__hashz00 = 
MAKE_YOUNG_PAIR(BGl_keyword4014z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_keyword4016z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_keyword4018z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_keyword4020z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_keyword4022z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_keyword4024z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_keyword4025z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_keyword4027z00zz__hashz00, BNIL)))))))); 
BGl_symbol4029z00zz__hashz00 = 
bstring_to_symbol(BGl_string4030z00zz__hashz00); 
BGl_symbol4034z00zz__hashz00 = 
bstring_to_symbol(BGl_string4035z00zz__hashz00); 
BGl_symbol4036z00zz__hashz00 = 
bstring_to_symbol(BGl_string4037z00zz__hashz00); 
BGl_symbol4038z00zz__hashz00 = 
bstring_to_symbol(BGl_string4039z00zz__hashz00); 
BGl_symbol4040z00zz__hashz00 = 
bstring_to_symbol(BGl_string4041z00zz__hashz00); 
BGl_symbol4042z00zz__hashz00 = 
bstring_to_symbol(BGl_string4043z00zz__hashz00); 
BGl_symbol4080z00zz__hashz00 = 
bstring_to_symbol(BGl_string4081z00zz__hashz00); 
BGl_symbol4082z00zz__hashz00 = 
bstring_to_symbol(BGl_string4083z00zz__hashz00); 
BGl_symbol4084z00zz__hashz00 = 
bstring_to_symbol(BGl_string4085z00zz__hashz00); 
BGl_list4079z00zz__hashz00 = 
MAKE_YOUNG_PAIR(BGl_symbol3990z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_symbol4080z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_symbol4080z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_symbol4082z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_symbol4084z00zz__hashz00, BNIL))))); 
BGl_symbol4090z00zz__hashz00 = 
bstring_to_symbol(BGl_string4091z00zz__hashz00); 
BGl_symbol4092z00zz__hashz00 = 
bstring_to_symbol(BGl_string4093z00zz__hashz00); 
BGl_list4089z00zz__hashz00 = 
MAKE_YOUNG_PAIR(BGl_symbol3990z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_symbol4080z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_symbol4080z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_symbol4090z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_symbol4092z00zz__hashz00, BNIL))))); 
BGl_symbol4097z00zz__hashz00 = 
bstring_to_symbol(BGl_string4098z00zz__hashz00); 
BGl_symbol4099z00zz__hashz00 = 
bstring_to_symbol(BGl_string4100z00zz__hashz00); 
BGl_list4096z00zz__hashz00 = 
MAKE_YOUNG_PAIR(BGl_symbol3990z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_symbol4080z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_symbol4080z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_symbol4097z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_symbol4099z00zz__hashz00, BNIL))))); 
BGl_symbol4106z00zz__hashz00 = 
bstring_to_symbol(BGl_string4107z00zz__hashz00); 
BGl_symbol4108z00zz__hashz00 = 
bstring_to_symbol(BGl_string4109z00zz__hashz00); 
BGl_list4105z00zz__hashz00 = 
MAKE_YOUNG_PAIR(BGl_symbol3990z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_symbol4080z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_symbol4080z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_symbol4106z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_symbol4108z00zz__hashz00, BNIL))))); 
BGl_symbol4115z00zz__hashz00 = 
bstring_to_symbol(BGl_string4116z00zz__hashz00); 
BGl_symbol4117z00zz__hashz00 = 
bstring_to_symbol(BGl_string4118z00zz__hashz00); 
BGl_list4114z00zz__hashz00 = 
MAKE_YOUNG_PAIR(BGl_symbol3990z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_symbol4080z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_symbol4080z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_symbol4115z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_symbol4117z00zz__hashz00, BNIL))))); 
BGl_symbol4125z00zz__hashz00 = 
bstring_to_symbol(BGl_string4126z00zz__hashz00); 
BGl_symbol4127z00zz__hashz00 = 
bstring_to_symbol(BGl_string4128z00zz__hashz00); 
BGl_list4124z00zz__hashz00 = 
MAKE_YOUNG_PAIR(BGl_symbol3990z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_symbol4080z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_symbol4080z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_symbol4125z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_symbol4127z00zz__hashz00, BNIL))))); 
BGl_symbol4139z00zz__hashz00 = 
bstring_to_symbol(BGl_string4140z00zz__hashz00); 
BGl_symbol4141z00zz__hashz00 = 
bstring_to_symbol(BGl_string4142z00zz__hashz00); 
BGl_list4138z00zz__hashz00 = 
MAKE_YOUNG_PAIR(BGl_symbol3990z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_symbol4139z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_symbol4139z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_symbol4141z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3994z00zz__hashz00, BNIL))))); 
BGl_symbol4147z00zz__hashz00 = 
bstring_to_symbol(BGl_string4148z00zz__hashz00); 
BGl_list4146z00zz__hashz00 = 
MAKE_YOUNG_PAIR(BGl_symbol3990z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_symbol4139z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_symbol4139z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_symbol4147z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3994z00zz__hashz00, BNIL))))); 
BGl_symbol4163z00zz__hashz00 = 
bstring_to_symbol(BGl_string4164z00zz__hashz00); 
BGl_list4162z00zz__hashz00 = 
MAKE_YOUNG_PAIR(BGl_symbol3990z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_symbol4139z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_symbol4139z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_symbol4163z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3994z00zz__hashz00, BNIL))))); 
BGl_symbol4169z00zz__hashz00 = 
bstring_to_symbol(BGl_string4170z00zz__hashz00); 
BGl_symbol4171z00zz__hashz00 = 
bstring_to_symbol(BGl_string4172z00zz__hashz00); 
BGl_list4168z00zz__hashz00 = 
MAKE_YOUNG_PAIR(BGl_symbol3990z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_symbol4169z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_symbol4169z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_symbol4171z00zz__hashz00, BNIL)))); 
BGl_symbol4176z00zz__hashz00 = 
bstring_to_symbol(BGl_string4177z00zz__hashz00); 
BGl_list4175z00zz__hashz00 = 
MAKE_YOUNG_PAIR(BGl_symbol3990z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_symbol4139z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_symbol4139z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_symbol4176z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3994z00zz__hashz00, BNIL))))); 
BGl_symbol4179z00zz__hashz00 = 
bstring_to_symbol(BGl_string4180z00zz__hashz00); 
BGl_list4178z00zz__hashz00 = 
MAKE_YOUNG_PAIR(BGl_symbol3990z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_symbol4169z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_symbol4169z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_symbol4179z00zz__hashz00, BNIL)))); 
BGl_symbol4185z00zz__hashz00 = 
bstring_to_symbol(BGl_string4186z00zz__hashz00); 
BGl_list4184z00zz__hashz00 = 
MAKE_YOUNG_PAIR(BGl_symbol3990z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_symbol4169z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_symbol4169z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_symbol4171z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_symbol4185z00zz__hashz00, BNIL))))); 
BGl_symbol4188z00zz__hashz00 = 
bstring_to_symbol(BGl_string4189z00zz__hashz00); 
BGl_list4187z00zz__hashz00 = 
MAKE_YOUNG_PAIR(BGl_symbol3990z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_symbol4169z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_symbol4169z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_symbol4188z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_symbol4185z00zz__hashz00, BNIL))))); 
BGl_symbol4194z00zz__hashz00 = 
bstring_to_symbol(BGl_string4195z00zz__hashz00); 
BGl_list4193z00zz__hashz00 = 
MAKE_YOUNG_PAIR(BGl_symbol3990z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_symbol4139z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_symbol4139z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_symbol4194z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3994z00zz__hashz00, BNIL))))); 
BGl_symbol4197z00zz__hashz00 = 
bstring_to_symbol(BGl_string4198z00zz__hashz00); 
BGl_list4196z00zz__hashz00 = 
MAKE_YOUNG_PAIR(BGl_symbol3990z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_symbol4169z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_symbol4169z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_symbol4188z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_symbol4197z00zz__hashz00, BNIL))))); 
BGl_symbol4206z00zz__hashz00 = 
bstring_to_symbol(BGl_string4207z00zz__hashz00); 
BGl_list4205z00zz__hashz00 = 
MAKE_YOUNG_PAIR(BGl_symbol3990z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_symbol4139z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_symbol4139z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_symbol4206z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3994z00zz__hashz00, BNIL))))); 
BGl_symbol4209z00zz__hashz00 = 
bstring_to_symbol(BGl_string4210z00zz__hashz00); 
BGl_list4208z00zz__hashz00 = 
MAKE_YOUNG_PAIR(BGl_symbol3990z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_symbol4139z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_symbol4139z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_symbol4209z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3994z00zz__hashz00, BNIL))))); 
BGl_symbol4220z00zz__hashz00 = 
bstring_to_symbol(BGl_string4221z00zz__hashz00); 
BGl_symbol4224z00zz__hashz00 = 
bstring_to_symbol(BGl_string4225z00zz__hashz00); 
BGl_symbol4226z00zz__hashz00 = 
bstring_to_symbol(BGl_string4227z00zz__hashz00); 
BGl_list4223z00zz__hashz00 = 
MAKE_YOUNG_PAIR(BGl_symbol3990z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_symbol4224z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_symbol4224z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_symbol3994z00zz__hashz00, 
MAKE_YOUNG_PAIR(BGl_symbol4226z00zz__hashz00, BNIL))))); 
return ( 
BGl_symbol4232z00zz__hashz00 = 
bstring_to_symbol(BGl_string4233z00zz__hashz00), BUNSPEC) ;} 

}



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

}



/* toplevel-init */
obj_t BGl_toplevelzd2initzd2zz__hashz00(void)
{
{ /* Llib/hash.scm 18 */
BGl_defaultzd2hashtablezd2bucketzd2lengthzd2zz__hashz00 = 128L; 
return ( 
BGl_defaultzd2maxzd2bucketzd2lengthzd2zz__hashz00 = 10L, BUNSPEC) ;} 

}



/* table-get-hashnumber */
long BGl_tablezd2getzd2hashnumberz00zz__hashz00(obj_t BgL_tablez00_37, obj_t BgL_keyz00_38)
{
{ /* Llib/hash.sch 21 */
{ /* Llib/hash.sch 22 */
 obj_t BgL_hashnz00_1579;
{ /* Llib/hash.sch 15 */
 bool_t BgL_test4463z00_7113;
{ /* Llib/hash.sch 15 */
 obj_t BgL_tmpz00_7114;
{ /* Llib/hash.sch 15 */
 obj_t BgL_res2561z00_3256;
{ /* Llib/hash.sch 15 */
 obj_t BgL_aux3000z00_5876;
BgL_aux3000z00_5876 = 
STRUCT_KEY(BgL_tablez00_37); 
if(
SYMBOLP(BgL_aux3000z00_5876))
{ /* Llib/hash.sch 15 */
BgL_res2561z00_3256 = BgL_aux3000z00_5876; }  else 
{ 
 obj_t BgL_auxz00_7118;
BgL_auxz00_7118 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3982z00zz__hashz00, 
BINT(963L), BGl_string3983z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3000z00_5876); 
FAILURE(BgL_auxz00_7118,BFALSE,BFALSE);} } 
BgL_tmpz00_7114 = BgL_res2561z00_3256; } 
BgL_test4463z00_7113 = 
(BgL_tmpz00_7114==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4463z00_7113)
{ /* Llib/hash.sch 15 */
 int BgL_tmpz00_7123;
BgL_tmpz00_7123 = 
(int)(4L); 
BgL_hashnz00_1579 = 
UNSAFE_STRUCT_REF(BgL_tablez00_37, BgL_tmpz00_7123); }  else 
{ /* Llib/hash.sch 15 */
BgL_hashnz00_1579 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_37); } } 
if(
PROCEDUREP(BgL_hashnz00_1579))
{ /* Llib/hash.sch 25 */
 obj_t BgL_arg1368z00_1581;
if(
PROCEDURE_CORRECT_ARITYP(BgL_hashnz00_1579, 1))
{ /* Llib/hash.sch 25 */
BgL_arg1368z00_1581 = 
BGL_PROCEDURE_CALL1(BgL_hashnz00_1579, BgL_keyz00_38); }  else 
{ /* Llib/hash.sch 25 */
FAILURE(BGl_string3988z00zz__hashz00,BGl_list3989z00zz__hashz00,BgL_hashnz00_1579);} 
{ /* Llib/hash.sch 25 */
 long BgL_nz00_3257;
{ /* Llib/hash.sch 25 */
 obj_t BgL_tmpz00_7136;
if(
INTEGERP(BgL_arg1368z00_1581))
{ /* Llib/hash.sch 25 */
BgL_tmpz00_7136 = BgL_arg1368z00_1581
; }  else 
{ 
 obj_t BgL_auxz00_7139;
BgL_auxz00_7139 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string3982z00zz__hashz00, 
BINT(1434L), BGl_string3983z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_arg1368z00_1581); 
FAILURE(BgL_auxz00_7139,BFALSE,BFALSE);} 
BgL_nz00_3257 = 
(long)CINT(BgL_tmpz00_7136); } 
if(
(BgL_nz00_3257<0L))
{ /* Llib/hash.sch 25 */
return 
NEG(BgL_nz00_3257);}  else 
{ /* Llib/hash.sch 25 */
return BgL_nz00_3257;} } }  else 
{ /* Llib/hash.sch 24 */
if(
(BgL_hashnz00_1579==BGl_symbol3997z00zz__hashz00))
{ /* Llib/hash.sch 26 */
return 
BGl_objzd2hashze70z35zz__hashz00(BgL_keyz00_38);}  else 
{ /* Llib/hash.sch 26 */
return 
BGl_getzd2hashnumberzd2zz__hashz00(BgL_keyz00_38);} } } } 

}



/* make-hashtable */
BGL_EXPORTED_DEF obj_t BGl_makezd2hashtablezd2zz__hashz00(obj_t BgL_argsz00_42)
{
{ /* Llib/hash.scm 167 */
{ /* Llib/hash.scm 168 */
 obj_t BgL_siza7eza7_1586;
if(
PAIRP(BgL_argsz00_42))
{ /* Llib/hash.scm 169 */
 obj_t BgL_siza7eza7_1618;
BgL_siza7eza7_1618 = 
CAR(BgL_argsz00_42); 
BgL_argsz00_42 = 
CDR(BgL_argsz00_42); 
{ /* Llib/hash.scm 172 */
 bool_t BgL_test4471z00_7155;
if(
INTEGERP(BgL_siza7eza7_1618))
{ /* Llib/hash.scm 172 */
BgL_test4471z00_7155 = 
(
(long)CINT(BgL_siza7eza7_1618)>=1L)
; }  else 
{ /* Llib/hash.scm 172 */
BgL_test4471z00_7155 = ((bool_t)0)
; } 
if(BgL_test4471z00_7155)
{ /* Llib/hash.scm 172 */
BgL_siza7eza7_1586 = BgL_siza7eza7_1618; }  else 
{ /* Llib/hash.scm 172 */
if(
(BgL_siza7eza7_1618==BUNSPEC))
{ /* Llib/hash.scm 174 */
BgL_siza7eza7_1586 = 
BINT(128L); }  else 
{ /* Llib/hash.scm 174 */
BgL_siza7eza7_1586 = 
BGl_errorz00zz__errorz00(BGl_string3999z00zz__hashz00, BGl_string4000z00zz__hashz00, BgL_siza7eza7_1618); } } } }  else 
{ /* Llib/hash.scm 168 */
BgL_siza7eza7_1586 = 
BINT(128L); } 
{ /* Llib/hash.scm 168 */
 obj_t BgL_mblenz00_1587;
if(
PAIRP(BgL_argsz00_42))
{ /* Llib/hash.scm 182 */
 obj_t BgL_mblenz00_1613;
BgL_mblenz00_1613 = 
CAR(BgL_argsz00_42); 
BgL_argsz00_42 = 
CDR(BgL_argsz00_42); 
{ /* Llib/hash.scm 185 */
 bool_t BgL_test4475z00_7169;
if(
INTEGERP(BgL_mblenz00_1613))
{ /* Llib/hash.scm 185 */
BgL_test4475z00_7169 = 
(
(long)CINT(BgL_mblenz00_1613)>=1L)
; }  else 
{ /* Llib/hash.scm 185 */
BgL_test4475z00_7169 = ((bool_t)0)
; } 
if(BgL_test4475z00_7169)
{ /* Llib/hash.scm 185 */
BgL_mblenz00_1587 = BgL_mblenz00_1613; }  else 
{ /* Llib/hash.scm 185 */
if(
(BgL_mblenz00_1613==BUNSPEC))
{ /* Llib/hash.scm 187 */
BgL_mblenz00_1587 = 
BINT(10L); }  else 
{ /* Llib/hash.scm 187 */
BgL_mblenz00_1587 = 
BGl_errorz00zz__errorz00(BGl_string3999z00zz__hashz00, BGl_string4001z00zz__hashz00, BgL_mblenz00_1613); } } } }  else 
{ /* Llib/hash.scm 181 */
BgL_mblenz00_1587 = 
BINT(10L); } 
{ /* Llib/hash.scm 181 */
 obj_t BgL_eqtestz00_1588;
if(
PAIRP(BgL_argsz00_42))
{ /* Llib/hash.scm 195 */
 obj_t BgL_eqtestz00_1608;
BgL_eqtestz00_1608 = 
CAR(BgL_argsz00_42); 
BgL_argsz00_42 = 
CDR(BgL_argsz00_42); 
{ /* Llib/hash.scm 198 */
 bool_t BgL_test4479z00_7183;
if(
PROCEDUREP(BgL_eqtestz00_1608))
{ /* Llib/hash.scm 198 */
BgL_test4479z00_7183 = 
PROCEDURE_CORRECT_ARITYP(BgL_eqtestz00_1608, 
(int)(2L))
; }  else 
{ /* Llib/hash.scm 198 */
BgL_test4479z00_7183 = ((bool_t)0)
; } 
if(BgL_test4479z00_7183)
{ /* Llib/hash.scm 198 */
BgL_eqtestz00_1588 = BgL_eqtestz00_1608; }  else 
{ /* Llib/hash.scm 198 */
if(
(BgL_eqtestz00_1608==BUNSPEC))
{ /* Llib/hash.scm 200 */
BgL_eqtestz00_1588 = BFALSE; }  else 
{ /* Llib/hash.scm 200 */
BgL_eqtestz00_1588 = 
BGl_errorz00zz__errorz00(BGl_string3999z00zz__hashz00, BGl_string4002z00zz__hashz00, BgL_eqtestz00_1608); } } } }  else 
{ /* Llib/hash.scm 194 */
BgL_eqtestz00_1588 = BFALSE; } 
{ /* Llib/hash.scm 194 */
 obj_t BgL_hashnz00_1589;
if(
PAIRP(BgL_argsz00_42))
{ /* Llib/hash.scm 208 */
 obj_t BgL_hnz00_1603;
BgL_hnz00_1603 = 
CAR(BgL_argsz00_42); 
BgL_argsz00_42 = 
CDR(BgL_argsz00_42); 
{ /* Llib/hash.scm 211 */
 bool_t BgL_test4483z00_7195;
if(
PROCEDUREP(BgL_hnz00_1603))
{ /* Llib/hash.scm 211 */
BgL_test4483z00_7195 = 
PROCEDURE_CORRECT_ARITYP(BgL_hnz00_1603, 
(int)(1L))
; }  else 
{ /* Llib/hash.scm 211 */
BgL_test4483z00_7195 = ((bool_t)0)
; } 
if(BgL_test4483z00_7195)
{ /* Llib/hash.scm 211 */
BgL_hashnz00_1589 = BgL_hnz00_1603; }  else 
{ /* Llib/hash.scm 211 */
if(
(BgL_hnz00_1603==BUNSPEC))
{ /* Llib/hash.scm 213 */
BgL_hashnz00_1589 = BFALSE; }  else 
{ /* Llib/hash.scm 213 */
BgL_hashnz00_1589 = 
BGl_errorz00zz__errorz00(BGl_string3999z00zz__hashz00, BGl_string4003z00zz__hashz00, BgL_hnz00_1603); } } } }  else 
{ /* Llib/hash.scm 207 */
BgL_hashnz00_1589 = BFALSE; } 
{ /* Llib/hash.scm 207 */
 long BgL_wkkz00_1590;
if(
PAIRP(BgL_argsz00_42))
{ /* Llib/hash.scm 221 */
 obj_t BgL_wkkz00_1600;
BgL_wkkz00_1600 = 
CAR(BgL_argsz00_42); 
BgL_argsz00_42 = 
CDR(BgL_argsz00_42); 
{ /* Llib/hash.scm 223 */
 bool_t BgL_test4487z00_7207;
if(
(BgL_wkkz00_1600==BUNSPEC))
{ /* Llib/hash.scm 223 */
BgL_test4487z00_7207 = ((bool_t)0)
; }  else 
{ /* Llib/hash.scm 223 */
BgL_test4487z00_7207 = 
CBOOL(BgL_wkkz00_1600)
; } 
if(BgL_test4487z00_7207)
{ /* Llib/hash.scm 223 */
BgL_wkkz00_1590 = 1L; }  else 
{ /* Llib/hash.scm 223 */
BgL_wkkz00_1590 = 0L; } } }  else 
{ /* Llib/hash.scm 220 */
BgL_wkkz00_1590 = 0L; } 
{ /* Llib/hash.scm 220 */
 long BgL_wkdz00_1591;
if(
PAIRP(BgL_argsz00_42))
{ /* Llib/hash.scm 228 */
 obj_t BgL_wkdz00_1597;
BgL_wkdz00_1597 = 
CAR(BgL_argsz00_42); 
{ /* Llib/hash.scm 229 */
 bool_t BgL_test4490z00_7214;
if(
(BgL_wkdz00_1597==BUNSPEC))
{ /* Llib/hash.scm 229 */
BgL_test4490z00_7214 = ((bool_t)0)
; }  else 
{ /* Llib/hash.scm 229 */
BgL_test4490z00_7214 = 
CBOOL(BgL_wkdz00_1597)
; } 
if(BgL_test4490z00_7214)
{ /* Llib/hash.scm 229 */
BgL_wkdz00_1591 = 2L; }  else 
{ /* Llib/hash.scm 229 */
BgL_wkdz00_1591 = 0L; } } }  else 
{ /* Llib/hash.scm 227 */
BgL_wkdz00_1591 = 0L; } 
{ /* Llib/hash.scm 227 */
 long BgL_wkz00_1592;
BgL_wkz00_1592 = 
(BgL_wkkz00_1590 | BgL_wkdz00_1591); 
{ /* Llib/hash.scm 233 */

if(
(
BINT(BgL_wkz00_1592)==
BINT(8L)))
{ /* Llib/hash.scm 235 */
 obj_t BgL_arg1372z00_1593;
{ /* Llib/hash.scm 235 */
 long BgL_arg1373z00_1594;
{ /* Llib/hash.scm 235 */
 long BgL_za72za7_3301;
{ /* Llib/hash.scm 235 */
 obj_t BgL_tmpz00_7223;
if(
INTEGERP(BgL_siza7eza7_1586))
{ /* Llib/hash.scm 235 */
BgL_tmpz00_7223 = BgL_siza7eza7_1586
; }  else 
{ 
 obj_t BgL_auxz00_7226;
BgL_auxz00_7226 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(8627L), BGl_string3999z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_siza7eza7_1586); 
FAILURE(BgL_auxz00_7226,BFALSE,BFALSE);} 
BgL_za72za7_3301 = 
(long)CINT(BgL_tmpz00_7223); } 
BgL_arg1373z00_1594 = 
(3L*BgL_za72za7_3301); } 
BgL_arg1372z00_1593 = 
make_vector(BgL_arg1373z00_1594, BFALSE); } 
{ /* Llib/hash.scm 235 */
 obj_t BgL_newz00_3302;
BgL_newz00_3302 = 
create_struct(BGl_symbol3985z00zz__hashz00, 
(int)(8L)); 
{ /* Llib/hash.scm 235 */
 bool_t BgL_test4494z00_7235;
{ /* Llib/hash.scm 235 */
 obj_t BgL_tmpz00_7236;
{ /* Llib/hash.scm 235 */
 obj_t BgL_res2563z00_3306;
{ /* Llib/hash.scm 235 */
 obj_t BgL_aux3005z00_5882;
BgL_aux3005z00_5882 = 
STRUCT_KEY(BgL_newz00_3302); 
if(
SYMBOLP(BgL_aux3005z00_5882))
{ /* Llib/hash.scm 235 */
BgL_res2563z00_3306 = BgL_aux3005z00_5882; }  else 
{ 
 obj_t BgL_auxz00_7240;
BgL_auxz00_7240 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(8588L), BGl_string3999z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3005z00_5882); 
FAILURE(BgL_auxz00_7240,BFALSE,BFALSE);} } 
BgL_tmpz00_7236 = BgL_res2563z00_3306; } 
BgL_test4494z00_7235 = 
(BgL_tmpz00_7236==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4494z00_7235)
{ /* Llib/hash.scm 235 */
 obj_t BgL_auxz00_7247; int BgL_tmpz00_7245;
BgL_auxz00_7247 = 
BINT(0L); 
BgL_tmpz00_7245 = 
(int)(7L); 
UNSAFE_STRUCT_SET(BgL_newz00_3302, BgL_tmpz00_7245, BgL_auxz00_7247); }  else 
{ /* Llib/hash.scm 235 */
BGl_errorz00zz__errorz00(BGl_string4005z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_newz00_3302); } } 
{ /* Llib/hash.scm 235 */
 bool_t BgL_test4496z00_7251;
{ /* Llib/hash.scm 235 */
 obj_t BgL_tmpz00_7252;
{ /* Llib/hash.scm 235 */
 obj_t BgL_res2564z00_3310;
{ /* Llib/hash.scm 235 */
 obj_t BgL_aux3007z00_5884;
BgL_aux3007z00_5884 = 
STRUCT_KEY(BgL_newz00_3302); 
if(
SYMBOLP(BgL_aux3007z00_5884))
{ /* Llib/hash.scm 235 */
BgL_res2564z00_3310 = BgL_aux3007z00_5884; }  else 
{ 
 obj_t BgL_auxz00_7256;
BgL_auxz00_7256 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(8588L), BGl_string3999z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3007z00_5884); 
FAILURE(BgL_auxz00_7256,BFALSE,BFALSE);} } 
BgL_tmpz00_7252 = BgL_res2564z00_3310; } 
BgL_test4496z00_7251 = 
(BgL_tmpz00_7252==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4496z00_7251)
{ /* Llib/hash.scm 235 */
 obj_t BgL_auxz00_7263; int BgL_tmpz00_7261;
BgL_auxz00_7263 = 
BINT(0L); 
BgL_tmpz00_7261 = 
(int)(6L); 
UNSAFE_STRUCT_SET(BgL_newz00_3302, BgL_tmpz00_7261, BgL_auxz00_7263); }  else 
{ /* Llib/hash.scm 235 */
BGl_errorz00zz__errorz00(BGl_string4005z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_newz00_3302); } } 
{ /* Llib/hash.scm 235 */
 bool_t BgL_test4498z00_7267;
{ /* Llib/hash.scm 235 */
 obj_t BgL_tmpz00_7268;
{ /* Llib/hash.scm 235 */
 obj_t BgL_res2565z00_3314;
{ /* Llib/hash.scm 235 */
 obj_t BgL_aux3009z00_5886;
BgL_aux3009z00_5886 = 
STRUCT_KEY(BgL_newz00_3302); 
if(
SYMBOLP(BgL_aux3009z00_5886))
{ /* Llib/hash.scm 235 */
BgL_res2565z00_3314 = BgL_aux3009z00_5886; }  else 
{ 
 obj_t BgL_auxz00_7272;
BgL_auxz00_7272 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(8588L), BGl_string3999z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3009z00_5886); 
FAILURE(BgL_auxz00_7272,BFALSE,BFALSE);} } 
BgL_tmpz00_7268 = BgL_res2565z00_3314; } 
BgL_test4498z00_7267 = 
(BgL_tmpz00_7268==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4498z00_7267)
{ /* Llib/hash.scm 235 */
 obj_t BgL_auxz00_7279; int BgL_tmpz00_7277;
BgL_auxz00_7279 = 
BINT(BgL_wkz00_1592); 
BgL_tmpz00_7277 = 
(int)(5L); 
UNSAFE_STRUCT_SET(BgL_newz00_3302, BgL_tmpz00_7277, BgL_auxz00_7279); }  else 
{ /* Llib/hash.scm 235 */
BGl_errorz00zz__errorz00(BGl_string4005z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_newz00_3302); } } 
{ /* Llib/hash.scm 235 */
 bool_t BgL_test4500z00_7283;
{ /* Llib/hash.scm 235 */
 obj_t BgL_tmpz00_7284;
{ /* Llib/hash.scm 235 */
 obj_t BgL_res2566z00_3318;
{ /* Llib/hash.scm 235 */
 obj_t BgL_aux3011z00_5888;
BgL_aux3011z00_5888 = 
STRUCT_KEY(BgL_newz00_3302); 
if(
SYMBOLP(BgL_aux3011z00_5888))
{ /* Llib/hash.scm 235 */
BgL_res2566z00_3318 = BgL_aux3011z00_5888; }  else 
{ 
 obj_t BgL_auxz00_7288;
BgL_auxz00_7288 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(8588L), BGl_string3999z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3011z00_5888); 
FAILURE(BgL_auxz00_7288,BFALSE,BFALSE);} } 
BgL_tmpz00_7284 = BgL_res2566z00_3318; } 
BgL_test4500z00_7283 = 
(BgL_tmpz00_7284==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4500z00_7283)
{ /* Llib/hash.scm 235 */
 int BgL_tmpz00_7293;
BgL_tmpz00_7293 = 
(int)(4L); 
UNSAFE_STRUCT_SET(BgL_newz00_3302, BgL_tmpz00_7293, BGl_listzd2envzd2zz__r4_pairs_and_lists_6_3z00); }  else 
{ /* Llib/hash.scm 235 */
BGl_errorz00zz__errorz00(BGl_string4005z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_newz00_3302); } } 
{ /* Llib/hash.scm 235 */
 bool_t BgL_test4502z00_7297;
{ /* Llib/hash.scm 235 */
 obj_t BgL_tmpz00_7298;
{ /* Llib/hash.scm 235 */
 obj_t BgL_res2567z00_3322;
{ /* Llib/hash.scm 235 */
 obj_t BgL_aux3013z00_5890;
BgL_aux3013z00_5890 = 
STRUCT_KEY(BgL_newz00_3302); 
if(
SYMBOLP(BgL_aux3013z00_5890))
{ /* Llib/hash.scm 235 */
BgL_res2567z00_3322 = BgL_aux3013z00_5890; }  else 
{ 
 obj_t BgL_auxz00_7302;
BgL_auxz00_7302 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(8588L), BGl_string3999z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3013z00_5890); 
FAILURE(BgL_auxz00_7302,BFALSE,BFALSE);} } 
BgL_tmpz00_7298 = BgL_res2567z00_3322; } 
BgL_test4502z00_7297 = 
(BgL_tmpz00_7298==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4502z00_7297)
{ /* Llib/hash.scm 235 */
 int BgL_tmpz00_7307;
BgL_tmpz00_7307 = 
(int)(3L); 
UNSAFE_STRUCT_SET(BgL_newz00_3302, BgL_tmpz00_7307, BGl_eqzf3zd2envz21zz__r4_equivalence_6_2z00); }  else 
{ /* Llib/hash.scm 235 */
BGl_errorz00zz__errorz00(BGl_string4005z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_newz00_3302); } } 
{ /* Llib/hash.scm 235 */
 bool_t BgL_test4504z00_7311;
{ /* Llib/hash.scm 235 */
 obj_t BgL_tmpz00_7312;
{ /* Llib/hash.scm 235 */
 obj_t BgL_res2568z00_3326;
{ /* Llib/hash.scm 235 */
 obj_t BgL_aux3015z00_5892;
BgL_aux3015z00_5892 = 
STRUCT_KEY(BgL_newz00_3302); 
if(
SYMBOLP(BgL_aux3015z00_5892))
{ /* Llib/hash.scm 235 */
BgL_res2568z00_3326 = BgL_aux3015z00_5892; }  else 
{ 
 obj_t BgL_auxz00_7316;
BgL_auxz00_7316 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(8588L), BGl_string3999z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3015z00_5892); 
FAILURE(BgL_auxz00_7316,BFALSE,BFALSE);} } 
BgL_tmpz00_7312 = BgL_res2568z00_3326; } 
BgL_test4504z00_7311 = 
(BgL_tmpz00_7312==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4504z00_7311)
{ /* Llib/hash.scm 235 */
 int BgL_tmpz00_7321;
BgL_tmpz00_7321 = 
(int)(2L); 
UNSAFE_STRUCT_SET(BgL_newz00_3302, BgL_tmpz00_7321, BgL_arg1372z00_1593); }  else 
{ /* Llib/hash.scm 235 */
BGl_errorz00zz__errorz00(BGl_string4005z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_newz00_3302); } } 
{ /* Llib/hash.scm 235 */
 bool_t BgL_test4506z00_7325;
{ /* Llib/hash.scm 235 */
 obj_t BgL_tmpz00_7326;
{ /* Llib/hash.scm 235 */
 obj_t BgL_res2569z00_3330;
{ /* Llib/hash.scm 235 */
 obj_t BgL_aux3017z00_5894;
BgL_aux3017z00_5894 = 
STRUCT_KEY(BgL_newz00_3302); 
if(
SYMBOLP(BgL_aux3017z00_5894))
{ /* Llib/hash.scm 235 */
BgL_res2569z00_3330 = BgL_aux3017z00_5894; }  else 
{ 
 obj_t BgL_auxz00_7330;
BgL_auxz00_7330 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(8588L), BGl_string3999z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3017z00_5894); 
FAILURE(BgL_auxz00_7330,BFALSE,BFALSE);} } 
BgL_tmpz00_7326 = BgL_res2569z00_3330; } 
BgL_test4506z00_7325 = 
(BgL_tmpz00_7326==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4506z00_7325)
{ /* Llib/hash.scm 235 */
 int BgL_tmpz00_7335;
BgL_tmpz00_7335 = 
(int)(1L); 
UNSAFE_STRUCT_SET(BgL_newz00_3302, BgL_tmpz00_7335, BgL_siza7eza7_1586); }  else 
{ /* Llib/hash.scm 235 */
BGl_errorz00zz__errorz00(BGl_string4005z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_newz00_3302); } } 
{ /* Llib/hash.scm 235 */
 bool_t BgL_test4508z00_7339;
{ /* Llib/hash.scm 235 */
 obj_t BgL_tmpz00_7340;
{ /* Llib/hash.scm 235 */
 obj_t BgL_res2570z00_3334;
{ /* Llib/hash.scm 235 */
 obj_t BgL_aux3019z00_5896;
BgL_aux3019z00_5896 = 
STRUCT_KEY(BgL_newz00_3302); 
if(
SYMBOLP(BgL_aux3019z00_5896))
{ /* Llib/hash.scm 235 */
BgL_res2570z00_3334 = BgL_aux3019z00_5896; }  else 
{ 
 obj_t BgL_auxz00_7344;
BgL_auxz00_7344 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(8588L), BGl_string3999z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3019z00_5896); 
FAILURE(BgL_auxz00_7344,BFALSE,BFALSE);} } 
BgL_tmpz00_7340 = BgL_res2570z00_3334; } 
BgL_test4508z00_7339 = 
(BgL_tmpz00_7340==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4508z00_7339)
{ /* Llib/hash.scm 235 */
 obj_t BgL_auxz00_7351; int BgL_tmpz00_7349;
BgL_auxz00_7351 = 
BINT(0L); 
BgL_tmpz00_7349 = 
(int)(0L); 
UNSAFE_STRUCT_SET(BgL_newz00_3302, BgL_tmpz00_7349, BgL_auxz00_7351); }  else 
{ /* Llib/hash.scm 235 */
BGl_errorz00zz__errorz00(BGl_string4005z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_newz00_3302); } } 
return BgL_newz00_3302;} }  else 
{ /* Llib/hash.scm 236 */
 obj_t BgL_arg1374z00_1595;
{ /* Llib/hash.scm 236 */
 long BgL_tmpz00_7355;
{ /* Llib/hash.scm 236 */
 obj_t BgL_tmpz00_7356;
if(
INTEGERP(BgL_siza7eza7_1586))
{ /* Llib/hash.scm 236 */
BgL_tmpz00_7356 = BgL_siza7eza7_1586
; }  else 
{ 
 obj_t BgL_auxz00_7359;
BgL_auxz00_7359 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(8677L), BGl_string3999z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_siza7eza7_1586); 
FAILURE(BgL_auxz00_7359,BFALSE,BFALSE);} 
BgL_tmpz00_7355 = 
(long)CINT(BgL_tmpz00_7356); } 
BgL_arg1374z00_1595 = 
make_vector(BgL_tmpz00_7355, BNIL); } 
{ /* Llib/hash.scm 236 */
 obj_t BgL_newz00_3335;
BgL_newz00_3335 = 
create_struct(BGl_symbol3985z00zz__hashz00, 
(int)(8L)); 
{ /* Llib/hash.scm 236 */
 bool_t BgL_test4511z00_7367;
{ /* Llib/hash.scm 236 */
 obj_t BgL_tmpz00_7368;
{ /* Llib/hash.scm 236 */
 obj_t BgL_res2571z00_3339;
{ /* Llib/hash.scm 236 */
 obj_t BgL_aux3022z00_5899;
BgL_aux3022z00_5899 = 
STRUCT_KEY(BgL_newz00_3335); 
if(
SYMBOLP(BgL_aux3022z00_5899))
{ /* Llib/hash.scm 236 */
BgL_res2571z00_3339 = BgL_aux3022z00_5899; }  else 
{ 
 obj_t BgL_auxz00_7372;
BgL_auxz00_7372 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(8657L), BGl_string3999z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3022z00_5899); 
FAILURE(BgL_auxz00_7372,BFALSE,BFALSE);} } 
BgL_tmpz00_7368 = BgL_res2571z00_3339; } 
BgL_test4511z00_7367 = 
(BgL_tmpz00_7368==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4511z00_7367)
{ /* Llib/hash.scm 236 */
 int BgL_tmpz00_7377;
BgL_tmpz00_7377 = 
(int)(7L); 
UNSAFE_STRUCT_SET(BgL_newz00_3335, BgL_tmpz00_7377, BGL_REAL_CNST( BGl_real4006z00zz__hashz00)); }  else 
{ /* Llib/hash.scm 236 */
BGl_errorz00zz__errorz00(BGl_string4005z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_newz00_3335); } } 
{ /* Llib/hash.scm 236 */
 bool_t BgL_test4513z00_7381;
{ /* Llib/hash.scm 236 */
 obj_t BgL_tmpz00_7382;
{ /* Llib/hash.scm 236 */
 obj_t BgL_res2572z00_3343;
{ /* Llib/hash.scm 236 */
 obj_t BgL_aux3024z00_5901;
BgL_aux3024z00_5901 = 
STRUCT_KEY(BgL_newz00_3335); 
if(
SYMBOLP(BgL_aux3024z00_5901))
{ /* Llib/hash.scm 236 */
BgL_res2572z00_3343 = BgL_aux3024z00_5901; }  else 
{ 
 obj_t BgL_auxz00_7386;
BgL_auxz00_7386 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(8657L), BGl_string3999z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3024z00_5901); 
FAILURE(BgL_auxz00_7386,BFALSE,BFALSE);} } 
BgL_tmpz00_7382 = BgL_res2572z00_3343; } 
BgL_test4513z00_7381 = 
(BgL_tmpz00_7382==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4513z00_7381)
{ /* Llib/hash.scm 236 */
 obj_t BgL_auxz00_7393; int BgL_tmpz00_7391;
BgL_auxz00_7393 = 
BINT((-1L)); 
BgL_tmpz00_7391 = 
(int)(6L); 
UNSAFE_STRUCT_SET(BgL_newz00_3335, BgL_tmpz00_7391, BgL_auxz00_7393); }  else 
{ /* Llib/hash.scm 236 */
BGl_errorz00zz__errorz00(BGl_string4005z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_newz00_3335); } } 
{ /* Llib/hash.scm 236 */
 bool_t BgL_test4515z00_7397;
{ /* Llib/hash.scm 236 */
 obj_t BgL_tmpz00_7398;
{ /* Llib/hash.scm 236 */
 obj_t BgL_res2573z00_3347;
{ /* Llib/hash.scm 236 */
 obj_t BgL_aux3026z00_5903;
BgL_aux3026z00_5903 = 
STRUCT_KEY(BgL_newz00_3335); 
if(
SYMBOLP(BgL_aux3026z00_5903))
{ /* Llib/hash.scm 236 */
BgL_res2573z00_3347 = BgL_aux3026z00_5903; }  else 
{ 
 obj_t BgL_auxz00_7402;
BgL_auxz00_7402 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(8657L), BGl_string3999z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3026z00_5903); 
FAILURE(BgL_auxz00_7402,BFALSE,BFALSE);} } 
BgL_tmpz00_7398 = BgL_res2573z00_3347; } 
BgL_test4515z00_7397 = 
(BgL_tmpz00_7398==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4515z00_7397)
{ /* Llib/hash.scm 236 */
 obj_t BgL_auxz00_7409; int BgL_tmpz00_7407;
BgL_auxz00_7409 = 
BINT(BgL_wkz00_1592); 
BgL_tmpz00_7407 = 
(int)(5L); 
UNSAFE_STRUCT_SET(BgL_newz00_3335, BgL_tmpz00_7407, BgL_auxz00_7409); }  else 
{ /* Llib/hash.scm 236 */
BGl_errorz00zz__errorz00(BGl_string4005z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_newz00_3335); } } 
{ /* Llib/hash.scm 236 */
 bool_t BgL_test4517z00_7413;
{ /* Llib/hash.scm 236 */
 obj_t BgL_tmpz00_7414;
{ /* Llib/hash.scm 236 */
 obj_t BgL_res2574z00_3351;
{ /* Llib/hash.scm 236 */
 obj_t BgL_aux3028z00_5905;
BgL_aux3028z00_5905 = 
STRUCT_KEY(BgL_newz00_3335); 
if(
SYMBOLP(BgL_aux3028z00_5905))
{ /* Llib/hash.scm 236 */
BgL_res2574z00_3351 = BgL_aux3028z00_5905; }  else 
{ 
 obj_t BgL_auxz00_7418;
BgL_auxz00_7418 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(8657L), BGl_string3999z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3028z00_5905); 
FAILURE(BgL_auxz00_7418,BFALSE,BFALSE);} } 
BgL_tmpz00_7414 = BgL_res2574z00_3351; } 
BgL_test4517z00_7413 = 
(BgL_tmpz00_7414==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4517z00_7413)
{ /* Llib/hash.scm 236 */
 int BgL_tmpz00_7423;
BgL_tmpz00_7423 = 
(int)(4L); 
UNSAFE_STRUCT_SET(BgL_newz00_3335, BgL_tmpz00_7423, BgL_hashnz00_1589); }  else 
{ /* Llib/hash.scm 236 */
BGl_errorz00zz__errorz00(BGl_string4005z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_newz00_3335); } } 
{ /* Llib/hash.scm 236 */
 bool_t BgL_test4519z00_7427;
{ /* Llib/hash.scm 236 */
 obj_t BgL_tmpz00_7428;
{ /* Llib/hash.scm 236 */
 obj_t BgL_res2575z00_3355;
{ /* Llib/hash.scm 236 */
 obj_t BgL_aux3030z00_5907;
BgL_aux3030z00_5907 = 
STRUCT_KEY(BgL_newz00_3335); 
if(
SYMBOLP(BgL_aux3030z00_5907))
{ /* Llib/hash.scm 236 */
BgL_res2575z00_3355 = BgL_aux3030z00_5907; }  else 
{ 
 obj_t BgL_auxz00_7432;
BgL_auxz00_7432 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(8657L), BGl_string3999z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3030z00_5907); 
FAILURE(BgL_auxz00_7432,BFALSE,BFALSE);} } 
BgL_tmpz00_7428 = BgL_res2575z00_3355; } 
BgL_test4519z00_7427 = 
(BgL_tmpz00_7428==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4519z00_7427)
{ /* Llib/hash.scm 236 */
 int BgL_tmpz00_7437;
BgL_tmpz00_7437 = 
(int)(3L); 
UNSAFE_STRUCT_SET(BgL_newz00_3335, BgL_tmpz00_7437, BgL_eqtestz00_1588); }  else 
{ /* Llib/hash.scm 236 */
BGl_errorz00zz__errorz00(BGl_string4005z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_newz00_3335); } } 
{ /* Llib/hash.scm 236 */
 bool_t BgL_test4521z00_7441;
{ /* Llib/hash.scm 236 */
 obj_t BgL_tmpz00_7442;
{ /* Llib/hash.scm 236 */
 obj_t BgL_res2576z00_3359;
{ /* Llib/hash.scm 236 */
 obj_t BgL_aux3032z00_5909;
BgL_aux3032z00_5909 = 
STRUCT_KEY(BgL_newz00_3335); 
if(
SYMBOLP(BgL_aux3032z00_5909))
{ /* Llib/hash.scm 236 */
BgL_res2576z00_3359 = BgL_aux3032z00_5909; }  else 
{ 
 obj_t BgL_auxz00_7446;
BgL_auxz00_7446 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(8657L), BGl_string3999z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3032z00_5909); 
FAILURE(BgL_auxz00_7446,BFALSE,BFALSE);} } 
BgL_tmpz00_7442 = BgL_res2576z00_3359; } 
BgL_test4521z00_7441 = 
(BgL_tmpz00_7442==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4521z00_7441)
{ /* Llib/hash.scm 236 */
 int BgL_tmpz00_7451;
BgL_tmpz00_7451 = 
(int)(2L); 
UNSAFE_STRUCT_SET(BgL_newz00_3335, BgL_tmpz00_7451, BgL_arg1374z00_1595); }  else 
{ /* Llib/hash.scm 236 */
BGl_errorz00zz__errorz00(BGl_string4005z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_newz00_3335); } } 
{ /* Llib/hash.scm 236 */
 bool_t BgL_test4523z00_7455;
{ /* Llib/hash.scm 236 */
 obj_t BgL_tmpz00_7456;
{ /* Llib/hash.scm 236 */
 obj_t BgL_res2577z00_3363;
{ /* Llib/hash.scm 236 */
 obj_t BgL_aux3034z00_5911;
BgL_aux3034z00_5911 = 
STRUCT_KEY(BgL_newz00_3335); 
if(
SYMBOLP(BgL_aux3034z00_5911))
{ /* Llib/hash.scm 236 */
BgL_res2577z00_3363 = BgL_aux3034z00_5911; }  else 
{ 
 obj_t BgL_auxz00_7460;
BgL_auxz00_7460 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(8657L), BGl_string3999z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3034z00_5911); 
FAILURE(BgL_auxz00_7460,BFALSE,BFALSE);} } 
BgL_tmpz00_7456 = BgL_res2577z00_3363; } 
BgL_test4523z00_7455 = 
(BgL_tmpz00_7456==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4523z00_7455)
{ /* Llib/hash.scm 236 */
 int BgL_tmpz00_7465;
BgL_tmpz00_7465 = 
(int)(1L); 
UNSAFE_STRUCT_SET(BgL_newz00_3335, BgL_tmpz00_7465, BgL_mblenz00_1587); }  else 
{ /* Llib/hash.scm 236 */
BGl_errorz00zz__errorz00(BGl_string4005z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_newz00_3335); } } 
{ /* Llib/hash.scm 236 */
 bool_t BgL_test4525z00_7469;
{ /* Llib/hash.scm 236 */
 obj_t BgL_tmpz00_7470;
{ /* Llib/hash.scm 236 */
 obj_t BgL_res2578z00_3367;
{ /* Llib/hash.scm 236 */
 obj_t BgL_aux3036z00_5913;
BgL_aux3036z00_5913 = 
STRUCT_KEY(BgL_newz00_3335); 
if(
SYMBOLP(BgL_aux3036z00_5913))
{ /* Llib/hash.scm 236 */
BgL_res2578z00_3367 = BgL_aux3036z00_5913; }  else 
{ 
 obj_t BgL_auxz00_7474;
BgL_auxz00_7474 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(8657L), BGl_string3999z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3036z00_5913); 
FAILURE(BgL_auxz00_7474,BFALSE,BFALSE);} } 
BgL_tmpz00_7470 = BgL_res2578z00_3367; } 
BgL_test4525z00_7469 = 
(BgL_tmpz00_7470==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4525z00_7469)
{ /* Llib/hash.scm 236 */
 obj_t BgL_auxz00_7481; int BgL_tmpz00_7479;
BgL_auxz00_7481 = 
BINT(0L); 
BgL_tmpz00_7479 = 
(int)(0L); 
UNSAFE_STRUCT_SET(BgL_newz00_3335, BgL_tmpz00_7479, BgL_auxz00_7481); }  else 
{ /* Llib/hash.scm 236 */
BGl_errorz00zz__errorz00(BGl_string4005z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_newz00_3335); } } 
return BgL_newz00_3335;} } } } } } } } } } } 

}



/* &make-hashtable */
obj_t BGl_z62makezd2hashtablezb0zz__hashz00(obj_t BgL_envz00_5492, obj_t BgL_argsz00_5493)
{
{ /* Llib/hash.scm 167 */
return 
BGl_makezd2hashtablezd2zz__hashz00(BgL_argsz00_5493);} 

}



/* _create-hashtable */
obj_t BGl__createzd2hashtablezd2zz__hashz00(obj_t BgL_env1160z00_52, obj_t BgL_opt1159z00_51)
{
{ /* Llib/hash.scm 241 */
{ /* Llib/hash.scm 241 */
 long BgL_l1161z00_1622;
{ /* Llib/hash.scm 241 */
 obj_t BgL_vectorz00_3368;
if(
VECTORP(BgL_opt1159z00_51))
{ /* Llib/hash.scm 241 */
BgL_vectorz00_3368 = BgL_opt1159z00_51; }  else 
{ 
 obj_t BgL_auxz00_7488;
BgL_auxz00_7488 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(8950L), BGl_string4007z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_opt1159z00_51); 
FAILURE(BgL_auxz00_7488,BFALSE,BFALSE);} 
BgL_l1161z00_1622 = 
VECTOR_LENGTH(BgL_vectorz00_3368); } 
{ /* Llib/hash.scm 241 */

{ /* Llib/hash.scm 241 */
 obj_t BgL_bucketzd2expansionzd2_1626;
BgL_bucketzd2expansionzd2_1626 = BGL_REAL_CNST( BGl_real4006z00zz__hashz00); 
{ /* Llib/hash.scm 241 */
 obj_t BgL_eqtestz00_1627;
BgL_eqtestz00_1627 = BFALSE; 
{ /* Llib/hash.scm 241 */
 obj_t BgL_hashz00_1628;
BgL_hashz00_1628 = BFALSE; 
{ /* Llib/hash.scm 241 */
 obj_t BgL_maxzd2bucketzd2lengthz00_1629;
BgL_maxzd2bucketzd2lengthz00_1629 = 
BINT(10L); 
{ /* Llib/hash.scm 241 */
 obj_t BgL_maxzd2lengthzd2_1630;
BgL_maxzd2lengthzd2_1630 = 
BINT(16384L); 
{ /* Llib/hash.scm 241 */
 obj_t BgL_persistentz00_1631;
BgL_persistentz00_1631 = BFALSE; 
{ /* Llib/hash.scm 241 */
 obj_t BgL_siza7eza7_1632;
BgL_siza7eza7_1632 = 
BINT(128L); 
{ /* Llib/hash.scm 246 */
 obj_t BgL_weakz00_1633;
BgL_weakz00_1633 = BGl_symbol4009z00zz__hashz00; 
{ /* Llib/hash.scm 241 */

{ 
 long BgL_iz00_1634;
BgL_iz00_1634 = 0L; 
BgL_check1163z00_1635:
if(
(BgL_iz00_1634==BgL_l1161z00_1622))
{ /* Llib/hash.scm 241 */BNIL; }  else 
{ /* Llib/hash.scm 241 */
 bool_t BgL_test4529z00_7498;
{ /* Llib/hash.scm 241 */
 obj_t BgL_arg1397z00_1641;
{ /* Llib/hash.scm 241 */
 obj_t BgL_vectorz00_3378;
if(
VECTORP(BgL_opt1159z00_51))
{ /* Llib/hash.scm 241 */
BgL_vectorz00_3378 = BgL_opt1159z00_51; }  else 
{ 
 obj_t BgL_auxz00_7501;
BgL_auxz00_7501 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(8950L), BGl_string4011z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_opt1159z00_51); 
FAILURE(BgL_auxz00_7501,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 241 */
 bool_t BgL_test4531z00_7505;
{ /* Llib/hash.scm 241 */
 long BgL_tmpz00_7506;
BgL_tmpz00_7506 = 
VECTOR_LENGTH(BgL_vectorz00_3378); 
BgL_test4531z00_7505 = 
BOUND_CHECK(BgL_iz00_1634, BgL_tmpz00_7506); } 
if(BgL_test4531z00_7505)
{ /* Llib/hash.scm 241 */
BgL_arg1397z00_1641 = 
VECTOR_REF(BgL_vectorz00_3378,BgL_iz00_1634); }  else 
{ 
 obj_t BgL_auxz00_7510;
BgL_auxz00_7510 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(8950L), BGl_string4012z00zz__hashz00, BgL_vectorz00_3378, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_3378)), 
(int)(BgL_iz00_1634)); 
FAILURE(BgL_auxz00_7510,BFALSE,BFALSE);} } } 
BgL_test4529z00_7498 = 
CBOOL(
BGl_memqz00zz__r4_pairs_and_lists_6_3z00(BgL_arg1397z00_1641, BGl_list4013z00zz__hashz00)); } 
if(BgL_test4529z00_7498)
{ 
 long BgL_iz00_7519;
BgL_iz00_7519 = 
(BgL_iz00_1634+2L); 
BgL_iz00_1634 = BgL_iz00_7519; 
goto BgL_check1163z00_1635;}  else 
{ /* Llib/hash.scm 241 */
 obj_t BgL_arg1396z00_1640;
{ /* Llib/hash.scm 241 */
 obj_t BgL_vectorz00_3381;
if(
VECTORP(BgL_opt1159z00_51))
{ /* Llib/hash.scm 241 */
BgL_vectorz00_3381 = BgL_opt1159z00_51; }  else 
{ 
 obj_t BgL_auxz00_7523;
BgL_auxz00_7523 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(8950L), BGl_string4011z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_opt1159z00_51); 
FAILURE(BgL_auxz00_7523,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 241 */
 bool_t BgL_test4533z00_7527;
{ /* Llib/hash.scm 241 */
 long BgL_tmpz00_7528;
BgL_tmpz00_7528 = 
VECTOR_LENGTH(BgL_vectorz00_3381); 
BgL_test4533z00_7527 = 
BOUND_CHECK(BgL_iz00_1634, BgL_tmpz00_7528); } 
if(BgL_test4533z00_7527)
{ /* Llib/hash.scm 241 */
BgL_arg1396z00_1640 = 
VECTOR_REF(BgL_vectorz00_3381,BgL_iz00_1634); }  else 
{ 
 obj_t BgL_auxz00_7532;
BgL_auxz00_7532 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(8950L), BGl_string4012z00zz__hashz00, BgL_vectorz00_3381, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_3381)), 
(int)(BgL_iz00_1634)); 
FAILURE(BgL_auxz00_7532,BFALSE,BFALSE);} } } 
BGl_errorz00zz__errorz00(BGl_symbol4029z00zz__hashz00, BGl_string4031z00zz__hashz00, BgL_arg1396z00_1640); } } } 
{ /* Llib/hash.scm 241 */
 obj_t BgL_index1165z00_1642;
BgL_index1165z00_1642 = 
BGl_search1162ze70ze7zz__hashz00(BgL_l1161z00_1622, BgL_opt1159z00_51, BGl_keyword4014z00zz__hashz00, 0L); 
{ /* Llib/hash.scm 241 */
 bool_t BgL_test4534z00_7541;
{ /* Llib/hash.scm 241 */
 long BgL_n1z00_3383;
{ /* Llib/hash.scm 241 */
 obj_t BgL_tmpz00_7542;
if(
INTEGERP(BgL_index1165z00_1642))
{ /* Llib/hash.scm 241 */
BgL_tmpz00_7542 = BgL_index1165z00_1642
; }  else 
{ 
 obj_t BgL_auxz00_7545;
BgL_auxz00_7545 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(8950L), BGl_string4007z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_index1165z00_1642); 
FAILURE(BgL_auxz00_7545,BFALSE,BFALSE);} 
BgL_n1z00_3383 = 
(long)CINT(BgL_tmpz00_7542); } 
BgL_test4534z00_7541 = 
(BgL_n1z00_3383>=0L); } 
if(BgL_test4534z00_7541)
{ 
 long BgL_auxz00_7558; obj_t BgL_auxz00_7551;
{ /* Llib/hash.scm 241 */
 obj_t BgL_tmpz00_7559;
if(
INTEGERP(BgL_index1165z00_1642))
{ /* Llib/hash.scm 241 */
BgL_tmpz00_7559 = BgL_index1165z00_1642
; }  else 
{ 
 obj_t BgL_auxz00_7562;
BgL_auxz00_7562 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(8950L), BGl_string4007z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_index1165z00_1642); 
FAILURE(BgL_auxz00_7562,BFALSE,BFALSE);} 
BgL_auxz00_7558 = 
(long)CINT(BgL_tmpz00_7559); } 
if(
VECTORP(BgL_opt1159z00_51))
{ /* Llib/hash.scm 241 */
BgL_auxz00_7551 = BgL_opt1159z00_51
; }  else 
{ 
 obj_t BgL_auxz00_7554;
BgL_auxz00_7554 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(8950L), BGl_string4007z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_opt1159z00_51); 
FAILURE(BgL_auxz00_7554,BFALSE,BFALSE);} 
BgL_bucketzd2expansionzd2_1626 = 
VECTOR_REF(BgL_auxz00_7551,BgL_auxz00_7558); }  else 
{ /* Llib/hash.scm 241 */BFALSE; } } } 
{ /* Llib/hash.scm 241 */
 obj_t BgL_index1166z00_1644;
BgL_index1166z00_1644 = 
BGl_search1162ze70ze7zz__hashz00(BgL_l1161z00_1622, BgL_opt1159z00_51, BGl_keyword4016z00zz__hashz00, 0L); 
{ /* Llib/hash.scm 241 */
 bool_t BgL_test4538z00_7569;
{ /* Llib/hash.scm 241 */
 long BgL_n1z00_3384;
{ /* Llib/hash.scm 241 */
 obj_t BgL_tmpz00_7570;
if(
INTEGERP(BgL_index1166z00_1644))
{ /* Llib/hash.scm 241 */
BgL_tmpz00_7570 = BgL_index1166z00_1644
; }  else 
{ 
 obj_t BgL_auxz00_7573;
BgL_auxz00_7573 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(8950L), BGl_string4007z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_index1166z00_1644); 
FAILURE(BgL_auxz00_7573,BFALSE,BFALSE);} 
BgL_n1z00_3384 = 
(long)CINT(BgL_tmpz00_7570); } 
BgL_test4538z00_7569 = 
(BgL_n1z00_3384>=0L); } 
if(BgL_test4538z00_7569)
{ 
 long BgL_auxz00_7586; obj_t BgL_auxz00_7579;
{ /* Llib/hash.scm 241 */
 obj_t BgL_tmpz00_7587;
if(
INTEGERP(BgL_index1166z00_1644))
{ /* Llib/hash.scm 241 */
BgL_tmpz00_7587 = BgL_index1166z00_1644
; }  else 
{ 
 obj_t BgL_auxz00_7590;
BgL_auxz00_7590 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(8950L), BGl_string4007z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_index1166z00_1644); 
FAILURE(BgL_auxz00_7590,BFALSE,BFALSE);} 
BgL_auxz00_7586 = 
(long)CINT(BgL_tmpz00_7587); } 
if(
VECTORP(BgL_opt1159z00_51))
{ /* Llib/hash.scm 241 */
BgL_auxz00_7579 = BgL_opt1159z00_51
; }  else 
{ 
 obj_t BgL_auxz00_7582;
BgL_auxz00_7582 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(8950L), BGl_string4007z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_opt1159z00_51); 
FAILURE(BgL_auxz00_7582,BFALSE,BFALSE);} 
BgL_eqtestz00_1627 = 
VECTOR_REF(BgL_auxz00_7579,BgL_auxz00_7586); }  else 
{ /* Llib/hash.scm 241 */BFALSE; } } } 
{ /* Llib/hash.scm 241 */
 obj_t BgL_index1167z00_1646;
BgL_index1167z00_1646 = 
BGl_search1162ze70ze7zz__hashz00(BgL_l1161z00_1622, BgL_opt1159z00_51, BGl_keyword4018z00zz__hashz00, 0L); 
{ /* Llib/hash.scm 241 */
 bool_t BgL_test4542z00_7597;
{ /* Llib/hash.scm 241 */
 long BgL_n1z00_3385;
{ /* Llib/hash.scm 241 */
 obj_t BgL_tmpz00_7598;
if(
INTEGERP(BgL_index1167z00_1646))
{ /* Llib/hash.scm 241 */
BgL_tmpz00_7598 = BgL_index1167z00_1646
; }  else 
{ 
 obj_t BgL_auxz00_7601;
BgL_auxz00_7601 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(8950L), BGl_string4007z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_index1167z00_1646); 
FAILURE(BgL_auxz00_7601,BFALSE,BFALSE);} 
BgL_n1z00_3385 = 
(long)CINT(BgL_tmpz00_7598); } 
BgL_test4542z00_7597 = 
(BgL_n1z00_3385>=0L); } 
if(BgL_test4542z00_7597)
{ 
 long BgL_auxz00_7614; obj_t BgL_auxz00_7607;
{ /* Llib/hash.scm 241 */
 obj_t BgL_tmpz00_7615;
if(
INTEGERP(BgL_index1167z00_1646))
{ /* Llib/hash.scm 241 */
BgL_tmpz00_7615 = BgL_index1167z00_1646
; }  else 
{ 
 obj_t BgL_auxz00_7618;
BgL_auxz00_7618 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(8950L), BGl_string4007z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_index1167z00_1646); 
FAILURE(BgL_auxz00_7618,BFALSE,BFALSE);} 
BgL_auxz00_7614 = 
(long)CINT(BgL_tmpz00_7615); } 
if(
VECTORP(BgL_opt1159z00_51))
{ /* Llib/hash.scm 241 */
BgL_auxz00_7607 = BgL_opt1159z00_51
; }  else 
{ 
 obj_t BgL_auxz00_7610;
BgL_auxz00_7610 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(8950L), BGl_string4007z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_opt1159z00_51); 
FAILURE(BgL_auxz00_7610,BFALSE,BFALSE);} 
BgL_hashz00_1628 = 
VECTOR_REF(BgL_auxz00_7607,BgL_auxz00_7614); }  else 
{ /* Llib/hash.scm 241 */BFALSE; } } } 
{ /* Llib/hash.scm 241 */
 obj_t BgL_index1168z00_1648;
BgL_index1168z00_1648 = 
BGl_search1162ze70ze7zz__hashz00(BgL_l1161z00_1622, BgL_opt1159z00_51, BGl_keyword4020z00zz__hashz00, 0L); 
{ /* Llib/hash.scm 241 */
 bool_t BgL_test4546z00_7625;
{ /* Llib/hash.scm 241 */
 long BgL_n1z00_3386;
{ /* Llib/hash.scm 241 */
 obj_t BgL_tmpz00_7626;
if(
INTEGERP(BgL_index1168z00_1648))
{ /* Llib/hash.scm 241 */
BgL_tmpz00_7626 = BgL_index1168z00_1648
; }  else 
{ 
 obj_t BgL_auxz00_7629;
BgL_auxz00_7629 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(8950L), BGl_string4007z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_index1168z00_1648); 
FAILURE(BgL_auxz00_7629,BFALSE,BFALSE);} 
BgL_n1z00_3386 = 
(long)CINT(BgL_tmpz00_7626); } 
BgL_test4546z00_7625 = 
(BgL_n1z00_3386>=0L); } 
if(BgL_test4546z00_7625)
{ 
 long BgL_auxz00_7642; obj_t BgL_auxz00_7635;
{ /* Llib/hash.scm 241 */
 obj_t BgL_tmpz00_7643;
if(
INTEGERP(BgL_index1168z00_1648))
{ /* Llib/hash.scm 241 */
BgL_tmpz00_7643 = BgL_index1168z00_1648
; }  else 
{ 
 obj_t BgL_auxz00_7646;
BgL_auxz00_7646 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(8950L), BGl_string4007z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_index1168z00_1648); 
FAILURE(BgL_auxz00_7646,BFALSE,BFALSE);} 
BgL_auxz00_7642 = 
(long)CINT(BgL_tmpz00_7643); } 
if(
VECTORP(BgL_opt1159z00_51))
{ /* Llib/hash.scm 241 */
BgL_auxz00_7635 = BgL_opt1159z00_51
; }  else 
{ 
 obj_t BgL_auxz00_7638;
BgL_auxz00_7638 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(8950L), BGl_string4007z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_opt1159z00_51); 
FAILURE(BgL_auxz00_7638,BFALSE,BFALSE);} 
BgL_maxzd2bucketzd2lengthz00_1629 = 
VECTOR_REF(BgL_auxz00_7635,BgL_auxz00_7642); }  else 
{ /* Llib/hash.scm 241 */BFALSE; } } } 
{ /* Llib/hash.scm 241 */
 obj_t BgL_index1169z00_1650;
BgL_index1169z00_1650 = 
BGl_search1162ze70ze7zz__hashz00(BgL_l1161z00_1622, BgL_opt1159z00_51, BGl_keyword4022z00zz__hashz00, 0L); 
{ /* Llib/hash.scm 241 */
 bool_t BgL_test4550z00_7653;
{ /* Llib/hash.scm 241 */
 long BgL_n1z00_3387;
{ /* Llib/hash.scm 241 */
 obj_t BgL_tmpz00_7654;
if(
INTEGERP(BgL_index1169z00_1650))
{ /* Llib/hash.scm 241 */
BgL_tmpz00_7654 = BgL_index1169z00_1650
; }  else 
{ 
 obj_t BgL_auxz00_7657;
BgL_auxz00_7657 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(8950L), BGl_string4007z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_index1169z00_1650); 
FAILURE(BgL_auxz00_7657,BFALSE,BFALSE);} 
BgL_n1z00_3387 = 
(long)CINT(BgL_tmpz00_7654); } 
BgL_test4550z00_7653 = 
(BgL_n1z00_3387>=0L); } 
if(BgL_test4550z00_7653)
{ 
 long BgL_auxz00_7670; obj_t BgL_auxz00_7663;
{ /* Llib/hash.scm 241 */
 obj_t BgL_tmpz00_7671;
if(
INTEGERP(BgL_index1169z00_1650))
{ /* Llib/hash.scm 241 */
BgL_tmpz00_7671 = BgL_index1169z00_1650
; }  else 
{ 
 obj_t BgL_auxz00_7674;
BgL_auxz00_7674 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(8950L), BGl_string4007z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_index1169z00_1650); 
FAILURE(BgL_auxz00_7674,BFALSE,BFALSE);} 
BgL_auxz00_7670 = 
(long)CINT(BgL_tmpz00_7671); } 
if(
VECTORP(BgL_opt1159z00_51))
{ /* Llib/hash.scm 241 */
BgL_auxz00_7663 = BgL_opt1159z00_51
; }  else 
{ 
 obj_t BgL_auxz00_7666;
BgL_auxz00_7666 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(8950L), BGl_string4007z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_opt1159z00_51); 
FAILURE(BgL_auxz00_7666,BFALSE,BFALSE);} 
BgL_maxzd2lengthzd2_1630 = 
VECTOR_REF(BgL_auxz00_7663,BgL_auxz00_7670); }  else 
{ /* Llib/hash.scm 241 */BFALSE; } } } 
{ /* Llib/hash.scm 241 */
 obj_t BgL_index1170z00_1652;
BgL_index1170z00_1652 = 
BGl_search1162ze70ze7zz__hashz00(BgL_l1161z00_1622, BgL_opt1159z00_51, BGl_keyword4024z00zz__hashz00, 0L); 
{ /* Llib/hash.scm 241 */
 bool_t BgL_test4554z00_7681;
{ /* Llib/hash.scm 241 */
 long BgL_n1z00_3388;
{ /* Llib/hash.scm 241 */
 obj_t BgL_tmpz00_7682;
if(
INTEGERP(BgL_index1170z00_1652))
{ /* Llib/hash.scm 241 */
BgL_tmpz00_7682 = BgL_index1170z00_1652
; }  else 
{ 
 obj_t BgL_auxz00_7685;
BgL_auxz00_7685 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(8950L), BGl_string4007z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_index1170z00_1652); 
FAILURE(BgL_auxz00_7685,BFALSE,BFALSE);} 
BgL_n1z00_3388 = 
(long)CINT(BgL_tmpz00_7682); } 
BgL_test4554z00_7681 = 
(BgL_n1z00_3388>=0L); } 
if(BgL_test4554z00_7681)
{ 
 long BgL_auxz00_7698; obj_t BgL_auxz00_7691;
{ /* Llib/hash.scm 241 */
 obj_t BgL_tmpz00_7699;
if(
INTEGERP(BgL_index1170z00_1652))
{ /* Llib/hash.scm 241 */
BgL_tmpz00_7699 = BgL_index1170z00_1652
; }  else 
{ 
 obj_t BgL_auxz00_7702;
BgL_auxz00_7702 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(8950L), BGl_string4007z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_index1170z00_1652); 
FAILURE(BgL_auxz00_7702,BFALSE,BFALSE);} 
BgL_auxz00_7698 = 
(long)CINT(BgL_tmpz00_7699); } 
if(
VECTORP(BgL_opt1159z00_51))
{ /* Llib/hash.scm 241 */
BgL_auxz00_7691 = BgL_opt1159z00_51
; }  else 
{ 
 obj_t BgL_auxz00_7694;
BgL_auxz00_7694 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(8950L), BGl_string4007z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_opt1159z00_51); 
FAILURE(BgL_auxz00_7694,BFALSE,BFALSE);} 
BgL_persistentz00_1631 = 
VECTOR_REF(BgL_auxz00_7691,BgL_auxz00_7698); }  else 
{ /* Llib/hash.scm 241 */BFALSE; } } } 
{ /* Llib/hash.scm 241 */
 obj_t BgL_index1171z00_1654;
BgL_index1171z00_1654 = 
BGl_search1162ze70ze7zz__hashz00(BgL_l1161z00_1622, BgL_opt1159z00_51, BGl_keyword4025z00zz__hashz00, 0L); 
{ /* Llib/hash.scm 241 */
 bool_t BgL_test4558z00_7709;
{ /* Llib/hash.scm 241 */
 long BgL_n1z00_3389;
{ /* Llib/hash.scm 241 */
 obj_t BgL_tmpz00_7710;
if(
INTEGERP(BgL_index1171z00_1654))
{ /* Llib/hash.scm 241 */
BgL_tmpz00_7710 = BgL_index1171z00_1654
; }  else 
{ 
 obj_t BgL_auxz00_7713;
BgL_auxz00_7713 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(8950L), BGl_string4007z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_index1171z00_1654); 
FAILURE(BgL_auxz00_7713,BFALSE,BFALSE);} 
BgL_n1z00_3389 = 
(long)CINT(BgL_tmpz00_7710); } 
BgL_test4558z00_7709 = 
(BgL_n1z00_3389>=0L); } 
if(BgL_test4558z00_7709)
{ 
 long BgL_auxz00_7726; obj_t BgL_auxz00_7719;
{ /* Llib/hash.scm 241 */
 obj_t BgL_tmpz00_7727;
if(
INTEGERP(BgL_index1171z00_1654))
{ /* Llib/hash.scm 241 */
BgL_tmpz00_7727 = BgL_index1171z00_1654
; }  else 
{ 
 obj_t BgL_auxz00_7730;
BgL_auxz00_7730 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(8950L), BGl_string4007z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_index1171z00_1654); 
FAILURE(BgL_auxz00_7730,BFALSE,BFALSE);} 
BgL_auxz00_7726 = 
(long)CINT(BgL_tmpz00_7727); } 
if(
VECTORP(BgL_opt1159z00_51))
{ /* Llib/hash.scm 241 */
BgL_auxz00_7719 = BgL_opt1159z00_51
; }  else 
{ 
 obj_t BgL_auxz00_7722;
BgL_auxz00_7722 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(8950L), BGl_string4007z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_opt1159z00_51); 
FAILURE(BgL_auxz00_7722,BFALSE,BFALSE);} 
BgL_siza7eza7_1632 = 
VECTOR_REF(BgL_auxz00_7719,BgL_auxz00_7726); }  else 
{ /* Llib/hash.scm 241 */BFALSE; } } } 
{ /* Llib/hash.scm 241 */
 obj_t BgL_index1172z00_1656;
BgL_index1172z00_1656 = 
BGl_search1162ze70ze7zz__hashz00(BgL_l1161z00_1622, BgL_opt1159z00_51, BGl_keyword4027z00zz__hashz00, 0L); 
{ /* Llib/hash.scm 241 */
 bool_t BgL_test4562z00_7737;
{ /* Llib/hash.scm 241 */
 long BgL_n1z00_3390;
{ /* Llib/hash.scm 241 */
 obj_t BgL_tmpz00_7738;
if(
INTEGERP(BgL_index1172z00_1656))
{ /* Llib/hash.scm 241 */
BgL_tmpz00_7738 = BgL_index1172z00_1656
; }  else 
{ 
 obj_t BgL_auxz00_7741;
BgL_auxz00_7741 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(8950L), BGl_string4007z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_index1172z00_1656); 
FAILURE(BgL_auxz00_7741,BFALSE,BFALSE);} 
BgL_n1z00_3390 = 
(long)CINT(BgL_tmpz00_7738); } 
BgL_test4562z00_7737 = 
(BgL_n1z00_3390>=0L); } 
if(BgL_test4562z00_7737)
{ 
 long BgL_auxz00_7754; obj_t BgL_auxz00_7747;
{ /* Llib/hash.scm 241 */
 obj_t BgL_tmpz00_7755;
if(
INTEGERP(BgL_index1172z00_1656))
{ /* Llib/hash.scm 241 */
BgL_tmpz00_7755 = BgL_index1172z00_1656
; }  else 
{ 
 obj_t BgL_auxz00_7758;
BgL_auxz00_7758 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(8950L), BGl_string4007z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_index1172z00_1656); 
FAILURE(BgL_auxz00_7758,BFALSE,BFALSE);} 
BgL_auxz00_7754 = 
(long)CINT(BgL_tmpz00_7755); } 
if(
VECTORP(BgL_opt1159z00_51))
{ /* Llib/hash.scm 241 */
BgL_auxz00_7747 = BgL_opt1159z00_51
; }  else 
{ 
 obj_t BgL_auxz00_7750;
BgL_auxz00_7750 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(8950L), BGl_string4007z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_opt1159z00_51); 
FAILURE(BgL_auxz00_7750,BFALSE,BFALSE);} 
BgL_weakz00_1633 = 
VECTOR_REF(BgL_auxz00_7747,BgL_auxz00_7754); }  else 
{ /* Llib/hash.scm 241 */BFALSE; } } } 
{ /* Llib/hash.scm 241 */
 obj_t BgL_bucketzd2expansionzd2_1658;
BgL_bucketzd2expansionzd2_1658 = BgL_bucketzd2expansionzd2_1626; 
{ /* Llib/hash.scm 241 */
 obj_t BgL_eqtestz00_1659;
BgL_eqtestz00_1659 = BgL_eqtestz00_1627; 
{ /* Llib/hash.scm 241 */
 obj_t BgL_hashz00_1660;
BgL_hashz00_1660 = BgL_hashz00_1628; 
{ /* Llib/hash.scm 241 */
 obj_t BgL_maxzd2bucketzd2lengthz00_1661;
BgL_maxzd2bucketzd2lengthz00_1661 = BgL_maxzd2bucketzd2lengthz00_1629; 
{ /* Llib/hash.scm 241 */
 obj_t BgL_maxzd2lengthzd2_1662;
BgL_maxzd2lengthzd2_1662 = BgL_maxzd2lengthzd2_1630; 
{ /* Llib/hash.scm 241 */
 obj_t BgL_persistentz00_1663;
BgL_persistentz00_1663 = BgL_persistentz00_1631; 
{ /* Llib/hash.scm 241 */
 obj_t BgL_siza7eza7_1664;
BgL_siza7eza7_1664 = BgL_siza7eza7_1632; 
return 
BGl_createzd2hashtablezd2zz__hashz00(BgL_bucketzd2expansionzd2_1658, BgL_eqtestz00_1659, BgL_hashz00_1660, BgL_maxzd2bucketzd2lengthz00_1661, BgL_maxzd2lengthzd2_1662, BgL_persistentz00_1663, BgL_siza7eza7_1664, BgL_weakz00_1633);} } } } } } } } } } } } } } } } } } } 

}



/* search1162~0 */
obj_t BGl_search1162ze70ze7zz__hashz00(long BgL_l1161z00_5614, obj_t BgL_opt1159z00_5613, obj_t BgL_k1z00_1623, long BgL_iz00_1624)
{
{ /* Llib/hash.scm 241 */
BGl_search1162ze70ze7zz__hashz00:
if(
(BgL_iz00_1624==BgL_l1161z00_5614))
{ /* Llib/hash.scm 241 */
return 
BINT((-1L));}  else 
{ /* Llib/hash.scm 241 */
if(
(BgL_iz00_1624==
(BgL_l1161z00_5614-1L)))
{ /* Llib/hash.scm 241 */
 long BgL_arg1409z00_1669;
{ 
 obj_t BgL_auxz00_7771;
if(
VECTORP(BgL_opt1159z00_5613))
{ /* Llib/hash.scm 241 */
BgL_auxz00_7771 = BgL_opt1159z00_5613
; }  else 
{ 
 obj_t BgL_auxz00_7774;
BgL_auxz00_7774 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(8950L), BGl_string4032z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_opt1159z00_5613); 
FAILURE(BgL_auxz00_7774,BFALSE,BFALSE);} 
BgL_arg1409z00_1669 = 
VECTOR_LENGTH(BgL_auxz00_7771); } 
return 
BGl_errorz00zz__errorz00(BGl_symbol4029z00zz__hashz00, BGl_string4033z00zz__hashz00, 
BINT(BgL_arg1409z00_1669));}  else 
{ /* Llib/hash.scm 241 */
 obj_t BgL_vz00_1670;
{ 
 obj_t BgL_auxz00_7781;
if(
VECTORP(BgL_opt1159z00_5613))
{ /* Llib/hash.scm 241 */
BgL_auxz00_7781 = BgL_opt1159z00_5613
; }  else 
{ 
 obj_t BgL_auxz00_7784;
BgL_auxz00_7784 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(8950L), BGl_string4032z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_opt1159z00_5613); 
FAILURE(BgL_auxz00_7784,BFALSE,BFALSE);} 
BgL_vz00_1670 = 
VECTOR_REF(BgL_auxz00_7781,BgL_iz00_1624); } 
if(
(BgL_vz00_1670==BgL_k1z00_1623))
{ /* Llib/hash.scm 241 */
return 
BINT(
(BgL_iz00_1624+1L));}  else 
{ 
 long BgL_iz00_7793;
BgL_iz00_7793 = 
(BgL_iz00_1624+2L); 
BgL_iz00_1624 = BgL_iz00_7793; 
goto BGl_search1162ze70ze7zz__hashz00;} } } } 

}



/* create-hashtable */
BGL_EXPORTED_DEF obj_t BGl_createzd2hashtablezd2zz__hashz00(obj_t BgL_bucketzd2expansionzd2_43, obj_t BgL_eqtestz00_44, obj_t BgL_hashz00_45, obj_t BgL_maxzd2bucketzd2lengthz00_46, obj_t BgL_maxzd2lengthzd2_47, obj_t BgL_persistentz00_48, obj_t BgL_siza7eza7_49, obj_t BgL_weakz00_50)
{
{ /* Llib/hash.scm 241 */
{ /* Llib/hash.scm 250 */
 long BgL_wkz00_1673;
{ /* Llib/hash.scm 250 */
 bool_t BgL_test4571z00_7795;
if(
(BgL_weakz00_50==BGl_symbol4034z00zz__hashz00))
{ /* Llib/hash.scm 250 */
BgL_test4571z00_7795 = ((bool_t)1)
; }  else 
{ /* Llib/hash.scm 250 */
BgL_test4571z00_7795 = 
(BgL_weakz00_50==
BINT(1L))
; } 
if(BgL_test4571z00_7795)
{ /* Llib/hash.scm 250 */
BgL_wkz00_1673 = 1L; }  else 
{ /* Llib/hash.scm 250 */
 bool_t BgL_test4573z00_7800;
if(
(BgL_weakz00_50==BGl_symbol4036z00zz__hashz00))
{ /* Llib/hash.scm 250 */
BgL_test4573z00_7800 = ((bool_t)1)
; }  else 
{ /* Llib/hash.scm 250 */
BgL_test4573z00_7800 = 
(BgL_weakz00_50==
BINT(2L))
; } 
if(BgL_test4573z00_7800)
{ /* Llib/hash.scm 250 */
BgL_wkz00_1673 = 2L; }  else 
{ /* Llib/hash.scm 250 */
 bool_t BgL_test4575z00_7805;
if(
(BgL_weakz00_50==BGl_symbol4038z00zz__hashz00))
{ /* Llib/hash.scm 250 */
BgL_test4575z00_7805 = ((bool_t)1)
; }  else 
{ /* Llib/hash.scm 250 */
BgL_test4575z00_7805 = 
(BgL_weakz00_50==
BINT(3L))
; } 
if(BgL_test4575z00_7805)
{ /* Llib/hash.scm 250 */
BgL_wkz00_1673 = 3L; }  else 
{ /* Llib/hash.scm 250 */
 bool_t BgL_test4577z00_7810;
if(
(BgL_weakz00_50==BGl_symbol4009z00zz__hashz00))
{ /* Llib/hash.scm 250 */
BgL_test4577z00_7810 = ((bool_t)1)
; }  else 
{ /* Llib/hash.scm 250 */
BgL_test4577z00_7810 = 
(BgL_weakz00_50==
BINT(0L))
; } 
if(BgL_test4577z00_7810)
{ /* Llib/hash.scm 250 */
BgL_wkz00_1673 = 0L; }  else 
{ /* Llib/hash.scm 250 */
 bool_t BgL_test4579z00_7815;
if(
(BgL_weakz00_50==BGl_symbol4040z00zz__hashz00))
{ /* Llib/hash.scm 250 */
BgL_test4579z00_7815 = ((bool_t)1)
; }  else 
{ /* Llib/hash.scm 250 */
BgL_test4579z00_7815 = 
(BgL_weakz00_50==
BINT(8L))
; } 
if(BgL_test4579z00_7815)
{ /* Llib/hash.scm 250 */
BgL_wkz00_1673 = 8L; }  else 
{ /* Llib/hash.scm 250 */
 bool_t BgL_test4581z00_7820;
if(
(BgL_weakz00_50==BGl_symbol4042z00zz__hashz00))
{ /* Llib/hash.scm 250 */
BgL_test4581z00_7820 = ((bool_t)1)
; }  else 
{ /* Llib/hash.scm 250 */
BgL_test4581z00_7820 = 
(BgL_weakz00_50==
BINT(4L))
; } 
if(BgL_test4581z00_7820)
{ /* Llib/hash.scm 250 */
BgL_wkz00_1673 = 4L; }  else 
{ /* Llib/hash.scm 250 */
if(
BGl_eqvzf3zf3zz__r4_equivalence_6_2z00(BgL_weakz00_50, BTRUE))
{ /* Llib/hash.scm 250 */
BgL_wkz00_1673 = 2L; }  else 
{ /* Llib/hash.scm 250 */
if(
BGl_eqvzf3zf3zz__r4_equivalence_6_2z00(BgL_weakz00_50, BFALSE))
{ /* Llib/hash.scm 250 */
BgL_wkz00_1673 = 0L; }  else 
{ /* Llib/hash.scm 262 */
 obj_t BgL_tmpz00_7829;
{ /* Llib/hash.scm 262 */
 obj_t BgL_aux3080z00_5957;
BgL_aux3080z00_5957 = 
BGl_errorz00zz__errorz00(BGl_string4030z00zz__hashz00, BGl_string4044z00zz__hashz00, BgL_weakz00_50); 
if(
INTEGERP(BgL_aux3080z00_5957))
{ /* Llib/hash.scm 262 */
BgL_tmpz00_7829 = BgL_aux3080z00_5957
; }  else 
{ 
 obj_t BgL_auxz00_7833;
BgL_auxz00_7833 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(9614L), BGl_string4030z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_aux3080z00_5957); 
FAILURE(BgL_auxz00_7833,BFALSE,BFALSE);} } 
BgL_wkz00_1673 = 
(long)CINT(BgL_tmpz00_7829); } } } } } } } } } 
if(
CBOOL(BgL_persistentz00_48))
{ /* Llib/hash.scm 265 */
if(
CBOOL(BgL_hashz00_45))
{ /* Llib/hash.scm 266 */
BGl_errorz00zz__errorz00(BGl_string4030z00zz__hashz00, BGl_string4045z00zz__hashz00, BgL_hashz00_45); }  else 
{ /* Llib/hash.scm 266 */
BgL_hashz00_45 = BGl_symbol3997z00zz__hashz00; } }  else 
{ /* Llib/hash.scm 265 */BFALSE; } 
{ /* Llib/hash.scm 271 */
 bool_t BgL_test4588z00_7843;
if(
(BgL_wkz00_1673==8L))
{ /* Llib/hash.scm 271 */
BgL_test4588z00_7843 = ((bool_t)1)
; }  else 
{ /* Llib/hash.scm 271 */
BgL_test4588z00_7843 = 
(BgL_wkz00_1673==4L)
; } 
if(BgL_test4588z00_7843)
{ /* Llib/hash.scm 271 */
if(
CBOOL(BgL_eqtestz00_44))
{ /* Llib/hash.scm 273 */
return 
BGl_errorz00zz__errorz00(BGl_string4030z00zz__hashz00, BGl_string4046z00zz__hashz00, BgL_eqtestz00_44);}  else 
{ /* Llib/hash.scm 273 */
if(
CBOOL(BgL_hashz00_45))
{ /* Llib/hash.scm 276 */
return 
BGl_errorz00zz__errorz00(BGl_string4030z00zz__hashz00, BGl_string4047z00zz__hashz00, BgL_hashz00_45);}  else 
{ /* Llib/hash.scm 276 */
if(
(BgL_wkz00_1673==8L))
{ /* Llib/hash.scm 280 */
 obj_t BgL_arg1415z00_1677;
{ /* Llib/hash.scm 280 */
 long BgL_arg1416z00_1678;
{ /* Llib/hash.scm 280 */
 long BgL_za72za7_3400;
{ /* Llib/hash.scm 280 */
 obj_t BgL_tmpz00_7855;
if(
INTEGERP(BgL_siza7eza7_49))
{ /* Llib/hash.scm 280 */
BgL_tmpz00_7855 = BgL_siza7eza7_49
; }  else 
{ 
 obj_t BgL_auxz00_7858;
BgL_auxz00_7858 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(10215L), BGl_string4030z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_siza7eza7_49); 
FAILURE(BgL_auxz00_7858,BFALSE,BFALSE);} 
BgL_za72za7_3400 = 
(long)CINT(BgL_tmpz00_7855); } 
BgL_arg1416z00_1678 = 
(3L*BgL_za72za7_3400); } 
BgL_arg1415z00_1677 = 
make_vector(BgL_arg1416z00_1678, BFALSE); } 
{ /* Llib/hash.scm 280 */
 obj_t BgL_newz00_3401;
BgL_newz00_3401 = 
create_struct(BGl_symbol3985z00zz__hashz00, 
(int)(8L)); 
{ /* Llib/hash.scm 280 */
 bool_t BgL_test4594z00_7867;
{ /* Llib/hash.scm 280 */
 obj_t BgL_tmpz00_7868;
{ /* Llib/hash.scm 280 */
 obj_t BgL_res2579z00_3405;
{ /* Llib/hash.scm 280 */
 obj_t BgL_aux3082z00_5959;
BgL_aux3082z00_5959 = 
STRUCT_KEY(BgL_newz00_3401); 
if(
SYMBOLP(BgL_aux3082z00_5959))
{ /* Llib/hash.scm 280 */
BgL_res2579z00_3405 = BgL_aux3082z00_5959; }  else 
{ 
 obj_t BgL_auxz00_7872;
BgL_auxz00_7872 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(10176L), BGl_string4030z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3082z00_5959); 
FAILURE(BgL_auxz00_7872,BFALSE,BFALSE);} } 
BgL_tmpz00_7868 = BgL_res2579z00_3405; } 
BgL_test4594z00_7867 = 
(BgL_tmpz00_7868==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4594z00_7867)
{ /* Llib/hash.scm 280 */
 obj_t BgL_auxz00_7879; int BgL_tmpz00_7877;
BgL_auxz00_7879 = 
BINT(0L); 
BgL_tmpz00_7877 = 
(int)(7L); 
UNSAFE_STRUCT_SET(BgL_newz00_3401, BgL_tmpz00_7877, BgL_auxz00_7879); }  else 
{ /* Llib/hash.scm 280 */
BGl_errorz00zz__errorz00(BGl_string4005z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_newz00_3401); } } 
{ /* Llib/hash.scm 280 */
 bool_t BgL_test4596z00_7883;
{ /* Llib/hash.scm 280 */
 obj_t BgL_tmpz00_7884;
{ /* Llib/hash.scm 280 */
 obj_t BgL_res2580z00_3409;
{ /* Llib/hash.scm 280 */
 obj_t BgL_aux3084z00_5961;
BgL_aux3084z00_5961 = 
STRUCT_KEY(BgL_newz00_3401); 
if(
SYMBOLP(BgL_aux3084z00_5961))
{ /* Llib/hash.scm 280 */
BgL_res2580z00_3409 = BgL_aux3084z00_5961; }  else 
{ 
 obj_t BgL_auxz00_7888;
BgL_auxz00_7888 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(10176L), BGl_string4030z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3084z00_5961); 
FAILURE(BgL_auxz00_7888,BFALSE,BFALSE);} } 
BgL_tmpz00_7884 = BgL_res2580z00_3409; } 
BgL_test4596z00_7883 = 
(BgL_tmpz00_7884==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4596z00_7883)
{ /* Llib/hash.scm 280 */
 obj_t BgL_auxz00_7895; int BgL_tmpz00_7893;
BgL_auxz00_7895 = 
BINT(0L); 
BgL_tmpz00_7893 = 
(int)(6L); 
UNSAFE_STRUCT_SET(BgL_newz00_3401, BgL_tmpz00_7893, BgL_auxz00_7895); }  else 
{ /* Llib/hash.scm 280 */
BGl_errorz00zz__errorz00(BGl_string4005z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_newz00_3401); } } 
{ /* Llib/hash.scm 280 */
 bool_t BgL_test4598z00_7899;
{ /* Llib/hash.scm 280 */
 obj_t BgL_tmpz00_7900;
{ /* Llib/hash.scm 280 */
 obj_t BgL_res2581z00_3413;
{ /* Llib/hash.scm 280 */
 obj_t BgL_aux3086z00_5963;
BgL_aux3086z00_5963 = 
STRUCT_KEY(BgL_newz00_3401); 
if(
SYMBOLP(BgL_aux3086z00_5963))
{ /* Llib/hash.scm 280 */
BgL_res2581z00_3413 = BgL_aux3086z00_5963; }  else 
{ 
 obj_t BgL_auxz00_7904;
BgL_auxz00_7904 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(10176L), BGl_string4030z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3086z00_5963); 
FAILURE(BgL_auxz00_7904,BFALSE,BFALSE);} } 
BgL_tmpz00_7900 = BgL_res2581z00_3413; } 
BgL_test4598z00_7899 = 
(BgL_tmpz00_7900==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4598z00_7899)
{ /* Llib/hash.scm 280 */
 obj_t BgL_auxz00_7911; int BgL_tmpz00_7909;
BgL_auxz00_7911 = 
BINT(BgL_wkz00_1673); 
BgL_tmpz00_7909 = 
(int)(5L); 
UNSAFE_STRUCT_SET(BgL_newz00_3401, BgL_tmpz00_7909, BgL_auxz00_7911); }  else 
{ /* Llib/hash.scm 280 */
BGl_errorz00zz__errorz00(BGl_string4005z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_newz00_3401); } } 
{ /* Llib/hash.scm 280 */
 bool_t BgL_test4600z00_7915;
{ /* Llib/hash.scm 280 */
 obj_t BgL_tmpz00_7916;
{ /* Llib/hash.scm 280 */
 obj_t BgL_res2582z00_3417;
{ /* Llib/hash.scm 280 */
 obj_t BgL_aux3088z00_5965;
BgL_aux3088z00_5965 = 
STRUCT_KEY(BgL_newz00_3401); 
if(
SYMBOLP(BgL_aux3088z00_5965))
{ /* Llib/hash.scm 280 */
BgL_res2582z00_3417 = BgL_aux3088z00_5965; }  else 
{ 
 obj_t BgL_auxz00_7920;
BgL_auxz00_7920 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(10176L), BGl_string4030z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3088z00_5965); 
FAILURE(BgL_auxz00_7920,BFALSE,BFALSE);} } 
BgL_tmpz00_7916 = BgL_res2582z00_3417; } 
BgL_test4600z00_7915 = 
(BgL_tmpz00_7916==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4600z00_7915)
{ /* Llib/hash.scm 280 */
 int BgL_tmpz00_7925;
BgL_tmpz00_7925 = 
(int)(4L); 
UNSAFE_STRUCT_SET(BgL_newz00_3401, BgL_tmpz00_7925, BGl_listzd2envzd2zz__r4_pairs_and_lists_6_3z00); }  else 
{ /* Llib/hash.scm 280 */
BGl_errorz00zz__errorz00(BGl_string4005z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_newz00_3401); } } 
{ /* Llib/hash.scm 280 */
 bool_t BgL_test4602z00_7929;
{ /* Llib/hash.scm 280 */
 obj_t BgL_tmpz00_7930;
{ /* Llib/hash.scm 280 */
 obj_t BgL_res2583z00_3421;
{ /* Llib/hash.scm 280 */
 obj_t BgL_aux3090z00_5967;
BgL_aux3090z00_5967 = 
STRUCT_KEY(BgL_newz00_3401); 
if(
SYMBOLP(BgL_aux3090z00_5967))
{ /* Llib/hash.scm 280 */
BgL_res2583z00_3421 = BgL_aux3090z00_5967; }  else 
{ 
 obj_t BgL_auxz00_7934;
BgL_auxz00_7934 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(10176L), BGl_string4030z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3090z00_5967); 
FAILURE(BgL_auxz00_7934,BFALSE,BFALSE);} } 
BgL_tmpz00_7930 = BgL_res2583z00_3421; } 
BgL_test4602z00_7929 = 
(BgL_tmpz00_7930==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4602z00_7929)
{ /* Llib/hash.scm 280 */
 int BgL_tmpz00_7939;
BgL_tmpz00_7939 = 
(int)(3L); 
UNSAFE_STRUCT_SET(BgL_newz00_3401, BgL_tmpz00_7939, BGl_eqzf3zd2envz21zz__r4_equivalence_6_2z00); }  else 
{ /* Llib/hash.scm 280 */
BGl_errorz00zz__errorz00(BGl_string4005z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_newz00_3401); } } 
{ /* Llib/hash.scm 280 */
 bool_t BgL_test4604z00_7943;
{ /* Llib/hash.scm 280 */
 obj_t BgL_tmpz00_7944;
{ /* Llib/hash.scm 280 */
 obj_t BgL_res2584z00_3425;
{ /* Llib/hash.scm 280 */
 obj_t BgL_aux3092z00_5969;
BgL_aux3092z00_5969 = 
STRUCT_KEY(BgL_newz00_3401); 
if(
SYMBOLP(BgL_aux3092z00_5969))
{ /* Llib/hash.scm 280 */
BgL_res2584z00_3425 = BgL_aux3092z00_5969; }  else 
{ 
 obj_t BgL_auxz00_7948;
BgL_auxz00_7948 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(10176L), BGl_string4030z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3092z00_5969); 
FAILURE(BgL_auxz00_7948,BFALSE,BFALSE);} } 
BgL_tmpz00_7944 = BgL_res2584z00_3425; } 
BgL_test4604z00_7943 = 
(BgL_tmpz00_7944==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4604z00_7943)
{ /* Llib/hash.scm 280 */
 int BgL_tmpz00_7953;
BgL_tmpz00_7953 = 
(int)(2L); 
UNSAFE_STRUCT_SET(BgL_newz00_3401, BgL_tmpz00_7953, BgL_arg1415z00_1677); }  else 
{ /* Llib/hash.scm 280 */
BGl_errorz00zz__errorz00(BGl_string4005z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_newz00_3401); } } 
{ /* Llib/hash.scm 280 */
 bool_t BgL_test4606z00_7957;
{ /* Llib/hash.scm 280 */
 obj_t BgL_tmpz00_7958;
{ /* Llib/hash.scm 280 */
 obj_t BgL_res2585z00_3429;
{ /* Llib/hash.scm 280 */
 obj_t BgL_aux3094z00_5971;
BgL_aux3094z00_5971 = 
STRUCT_KEY(BgL_newz00_3401); 
if(
SYMBOLP(BgL_aux3094z00_5971))
{ /* Llib/hash.scm 280 */
BgL_res2585z00_3429 = BgL_aux3094z00_5971; }  else 
{ 
 obj_t BgL_auxz00_7962;
BgL_auxz00_7962 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(10176L), BGl_string4030z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3094z00_5971); 
FAILURE(BgL_auxz00_7962,BFALSE,BFALSE);} } 
BgL_tmpz00_7958 = BgL_res2585z00_3429; } 
BgL_test4606z00_7957 = 
(BgL_tmpz00_7958==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4606z00_7957)
{ /* Llib/hash.scm 280 */
 int BgL_tmpz00_7967;
BgL_tmpz00_7967 = 
(int)(1L); 
UNSAFE_STRUCT_SET(BgL_newz00_3401, BgL_tmpz00_7967, BgL_siza7eza7_49); }  else 
{ /* Llib/hash.scm 280 */
BGl_errorz00zz__errorz00(BGl_string4005z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_newz00_3401); } } 
{ /* Llib/hash.scm 280 */
 bool_t BgL_test4608z00_7971;
{ /* Llib/hash.scm 280 */
 obj_t BgL_tmpz00_7972;
{ /* Llib/hash.scm 280 */
 obj_t BgL_res2586z00_3433;
{ /* Llib/hash.scm 280 */
 obj_t BgL_aux3096z00_5973;
BgL_aux3096z00_5973 = 
STRUCT_KEY(BgL_newz00_3401); 
if(
SYMBOLP(BgL_aux3096z00_5973))
{ /* Llib/hash.scm 280 */
BgL_res2586z00_3433 = BgL_aux3096z00_5973; }  else 
{ 
 obj_t BgL_auxz00_7976;
BgL_auxz00_7976 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(10176L), BGl_string4030z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3096z00_5973); 
FAILURE(BgL_auxz00_7976,BFALSE,BFALSE);} } 
BgL_tmpz00_7972 = BgL_res2586z00_3433; } 
BgL_test4608z00_7971 = 
(BgL_tmpz00_7972==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4608z00_7971)
{ /* Llib/hash.scm 280 */
 obj_t BgL_auxz00_7983; int BgL_tmpz00_7981;
BgL_auxz00_7983 = 
BINT(0L); 
BgL_tmpz00_7981 = 
(int)(0L); 
UNSAFE_STRUCT_SET(BgL_newz00_3401, BgL_tmpz00_7981, BgL_auxz00_7983); }  else 
{ /* Llib/hash.scm 280 */
BGl_errorz00zz__errorz00(BGl_string4005z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_newz00_3401); } } 
return BgL_newz00_3401;} }  else 
{ /* Llib/hash.scm 282 */
 obj_t BgL_arg1417z00_1679;
{ /* Llib/hash.scm 282 */
 long BgL_tmpz00_7987;
{ /* Llib/hash.scm 282 */
 obj_t BgL_tmpz00_7988;
if(
INTEGERP(BgL_siza7eza7_49))
{ /* Llib/hash.scm 282 */
BgL_tmpz00_7988 = BgL_siza7eza7_49
; }  else 
{ 
 obj_t BgL_auxz00_7991;
BgL_auxz00_7991 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(10294L), BGl_string4030z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_siza7eza7_49); 
FAILURE(BgL_auxz00_7991,BFALSE,BFALSE);} 
BgL_tmpz00_7987 = 
(long)CINT(BgL_tmpz00_7988); } 
BgL_arg1417z00_1679 = 
make_vector(BgL_tmpz00_7987, BNIL); } 
{ /* Llib/hash.scm 282 */
 obj_t BgL_newz00_3436;
BgL_newz00_3436 = 
create_struct(BGl_symbol3985z00zz__hashz00, 
(int)(8L)); 
{ /* Llib/hash.scm 282 */
 bool_t BgL_test4611z00_7999;
{ /* Llib/hash.scm 282 */
 obj_t BgL_tmpz00_8000;
{ /* Llib/hash.scm 282 */
 obj_t BgL_res2587z00_3440;
{ /* Llib/hash.scm 282 */
 obj_t BgL_aux3099z00_5976;
BgL_aux3099z00_5976 = 
STRUCT_KEY(BgL_newz00_3436); 
if(
SYMBOLP(BgL_aux3099z00_5976))
{ /* Llib/hash.scm 282 */
BgL_res2587z00_3440 = BgL_aux3099z00_5976; }  else 
{ 
 obj_t BgL_auxz00_8004;
BgL_auxz00_8004 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(10262L), BGl_string4030z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3099z00_5976); 
FAILURE(BgL_auxz00_8004,BFALSE,BFALSE);} } 
BgL_tmpz00_8000 = BgL_res2587z00_3440; } 
BgL_test4611z00_7999 = 
(BgL_tmpz00_8000==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4611z00_7999)
{ /* Llib/hash.scm 282 */
 int BgL_tmpz00_8009;
BgL_tmpz00_8009 = 
(int)(7L); 
UNSAFE_STRUCT_SET(BgL_newz00_3436, BgL_tmpz00_8009, BgL_bucketzd2expansionzd2_43); }  else 
{ /* Llib/hash.scm 282 */
BGl_errorz00zz__errorz00(BGl_string4005z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_newz00_3436); } } 
{ /* Llib/hash.scm 282 */
 bool_t BgL_test4613z00_8013;
{ /* Llib/hash.scm 282 */
 obj_t BgL_tmpz00_8014;
{ /* Llib/hash.scm 282 */
 obj_t BgL_res2588z00_3444;
{ /* Llib/hash.scm 282 */
 obj_t BgL_aux3101z00_5978;
BgL_aux3101z00_5978 = 
STRUCT_KEY(BgL_newz00_3436); 
if(
SYMBOLP(BgL_aux3101z00_5978))
{ /* Llib/hash.scm 282 */
BgL_res2588z00_3444 = BgL_aux3101z00_5978; }  else 
{ 
 obj_t BgL_auxz00_8018;
BgL_auxz00_8018 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(10262L), BGl_string4030z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3101z00_5978); 
FAILURE(BgL_auxz00_8018,BFALSE,BFALSE);} } 
BgL_tmpz00_8014 = BgL_res2588z00_3444; } 
BgL_test4613z00_8013 = 
(BgL_tmpz00_8014==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4613z00_8013)
{ /* Llib/hash.scm 282 */
 int BgL_tmpz00_8023;
BgL_tmpz00_8023 = 
(int)(6L); 
UNSAFE_STRUCT_SET(BgL_newz00_3436, BgL_tmpz00_8023, BgL_maxzd2lengthzd2_47); }  else 
{ /* Llib/hash.scm 282 */
BGl_errorz00zz__errorz00(BGl_string4005z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_newz00_3436); } } 
{ /* Llib/hash.scm 282 */
 bool_t BgL_test4615z00_8027;
{ /* Llib/hash.scm 282 */
 obj_t BgL_tmpz00_8028;
{ /* Llib/hash.scm 282 */
 obj_t BgL_res2589z00_3448;
{ /* Llib/hash.scm 282 */
 obj_t BgL_aux3103z00_5980;
BgL_aux3103z00_5980 = 
STRUCT_KEY(BgL_newz00_3436); 
if(
SYMBOLP(BgL_aux3103z00_5980))
{ /* Llib/hash.scm 282 */
BgL_res2589z00_3448 = BgL_aux3103z00_5980; }  else 
{ 
 obj_t BgL_auxz00_8032;
BgL_auxz00_8032 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(10262L), BGl_string4030z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3103z00_5980); 
FAILURE(BgL_auxz00_8032,BFALSE,BFALSE);} } 
BgL_tmpz00_8028 = BgL_res2589z00_3448; } 
BgL_test4615z00_8027 = 
(BgL_tmpz00_8028==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4615z00_8027)
{ /* Llib/hash.scm 282 */
 obj_t BgL_auxz00_8039; int BgL_tmpz00_8037;
BgL_auxz00_8039 = 
BINT(BgL_wkz00_1673); 
BgL_tmpz00_8037 = 
(int)(5L); 
UNSAFE_STRUCT_SET(BgL_newz00_3436, BgL_tmpz00_8037, BgL_auxz00_8039); }  else 
{ /* Llib/hash.scm 282 */
BGl_errorz00zz__errorz00(BGl_string4005z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_newz00_3436); } } 
{ /* Llib/hash.scm 282 */
 bool_t BgL_test4617z00_8043;
{ /* Llib/hash.scm 282 */
 obj_t BgL_tmpz00_8044;
{ /* Llib/hash.scm 282 */
 obj_t BgL_res2590z00_3452;
{ /* Llib/hash.scm 282 */
 obj_t BgL_aux3105z00_5982;
BgL_aux3105z00_5982 = 
STRUCT_KEY(BgL_newz00_3436); 
if(
SYMBOLP(BgL_aux3105z00_5982))
{ /* Llib/hash.scm 282 */
BgL_res2590z00_3452 = BgL_aux3105z00_5982; }  else 
{ 
 obj_t BgL_auxz00_8048;
BgL_auxz00_8048 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(10262L), BGl_string4030z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3105z00_5982); 
FAILURE(BgL_auxz00_8048,BFALSE,BFALSE);} } 
BgL_tmpz00_8044 = BgL_res2590z00_3452; } 
BgL_test4617z00_8043 = 
(BgL_tmpz00_8044==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4617z00_8043)
{ /* Llib/hash.scm 282 */
 int BgL_tmpz00_8053;
BgL_tmpz00_8053 = 
(int)(4L); 
UNSAFE_STRUCT_SET(BgL_newz00_3436, BgL_tmpz00_8053, BGl_proc4048z00zz__hashz00); }  else 
{ /* Llib/hash.scm 282 */
BGl_errorz00zz__errorz00(BGl_string4005z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_newz00_3436); } } 
{ /* Llib/hash.scm 282 */
 bool_t BgL_test4619z00_8057;
{ /* Llib/hash.scm 282 */
 obj_t BgL_tmpz00_8058;
{ /* Llib/hash.scm 282 */
 obj_t BgL_res2591z00_3456;
{ /* Llib/hash.scm 282 */
 obj_t BgL_aux3107z00_5984;
BgL_aux3107z00_5984 = 
STRUCT_KEY(BgL_newz00_3436); 
if(
SYMBOLP(BgL_aux3107z00_5984))
{ /* Llib/hash.scm 282 */
BgL_res2591z00_3456 = BgL_aux3107z00_5984; }  else 
{ 
 obj_t BgL_auxz00_8062;
BgL_auxz00_8062 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(10262L), BGl_string4030z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3107z00_5984); 
FAILURE(BgL_auxz00_8062,BFALSE,BFALSE);} } 
BgL_tmpz00_8058 = BgL_res2591z00_3456; } 
BgL_test4619z00_8057 = 
(BgL_tmpz00_8058==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4619z00_8057)
{ /* Llib/hash.scm 282 */
 int BgL_tmpz00_8067;
BgL_tmpz00_8067 = 
(int)(3L); 
UNSAFE_STRUCT_SET(BgL_newz00_3436, BgL_tmpz00_8067, BGl_stringzd3zf3zd2envzf2zz__r4_strings_6_7z00); }  else 
{ /* Llib/hash.scm 282 */
BGl_errorz00zz__errorz00(BGl_string4005z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_newz00_3436); } } 
{ /* Llib/hash.scm 282 */
 bool_t BgL_test4621z00_8071;
{ /* Llib/hash.scm 282 */
 obj_t BgL_tmpz00_8072;
{ /* Llib/hash.scm 282 */
 obj_t BgL_res2592z00_3460;
{ /* Llib/hash.scm 282 */
 obj_t BgL_aux3109z00_5986;
BgL_aux3109z00_5986 = 
STRUCT_KEY(BgL_newz00_3436); 
if(
SYMBOLP(BgL_aux3109z00_5986))
{ /* Llib/hash.scm 282 */
BgL_res2592z00_3460 = BgL_aux3109z00_5986; }  else 
{ 
 obj_t BgL_auxz00_8076;
BgL_auxz00_8076 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(10262L), BGl_string4030z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3109z00_5986); 
FAILURE(BgL_auxz00_8076,BFALSE,BFALSE);} } 
BgL_tmpz00_8072 = BgL_res2592z00_3460; } 
BgL_test4621z00_8071 = 
(BgL_tmpz00_8072==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4621z00_8071)
{ /* Llib/hash.scm 282 */
 int BgL_tmpz00_8081;
BgL_tmpz00_8081 = 
(int)(2L); 
UNSAFE_STRUCT_SET(BgL_newz00_3436, BgL_tmpz00_8081, BgL_arg1417z00_1679); }  else 
{ /* Llib/hash.scm 282 */
BGl_errorz00zz__errorz00(BGl_string4005z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_newz00_3436); } } 
{ /* Llib/hash.scm 282 */
 bool_t BgL_test4623z00_8085;
{ /* Llib/hash.scm 282 */
 obj_t BgL_tmpz00_8086;
{ /* Llib/hash.scm 282 */
 obj_t BgL_res2593z00_3464;
{ /* Llib/hash.scm 282 */
 obj_t BgL_aux3111z00_5988;
BgL_aux3111z00_5988 = 
STRUCT_KEY(BgL_newz00_3436); 
if(
SYMBOLP(BgL_aux3111z00_5988))
{ /* Llib/hash.scm 282 */
BgL_res2593z00_3464 = BgL_aux3111z00_5988; }  else 
{ 
 obj_t BgL_auxz00_8090;
BgL_auxz00_8090 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(10262L), BGl_string4030z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3111z00_5988); 
FAILURE(BgL_auxz00_8090,BFALSE,BFALSE);} } 
BgL_tmpz00_8086 = BgL_res2593z00_3464; } 
BgL_test4623z00_8085 = 
(BgL_tmpz00_8086==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4623z00_8085)
{ /* Llib/hash.scm 282 */
 int BgL_tmpz00_8095;
BgL_tmpz00_8095 = 
(int)(1L); 
UNSAFE_STRUCT_SET(BgL_newz00_3436, BgL_tmpz00_8095, BgL_maxzd2bucketzd2lengthz00_46); }  else 
{ /* Llib/hash.scm 282 */
BGl_errorz00zz__errorz00(BGl_string4005z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_newz00_3436); } } 
{ /* Llib/hash.scm 282 */
 bool_t BgL_test4625z00_8099;
{ /* Llib/hash.scm 282 */
 obj_t BgL_tmpz00_8100;
{ /* Llib/hash.scm 282 */
 obj_t BgL_res2594z00_3468;
{ /* Llib/hash.scm 282 */
 obj_t BgL_aux3113z00_5990;
BgL_aux3113z00_5990 = 
STRUCT_KEY(BgL_newz00_3436); 
if(
SYMBOLP(BgL_aux3113z00_5990))
{ /* Llib/hash.scm 282 */
BgL_res2594z00_3468 = BgL_aux3113z00_5990; }  else 
{ 
 obj_t BgL_auxz00_8104;
BgL_auxz00_8104 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(10262L), BGl_string4030z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3113z00_5990); 
FAILURE(BgL_auxz00_8104,BFALSE,BFALSE);} } 
BgL_tmpz00_8100 = BgL_res2594z00_3468; } 
BgL_test4625z00_8099 = 
(BgL_tmpz00_8100==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4625z00_8099)
{ /* Llib/hash.scm 282 */
 obj_t BgL_auxz00_8111; int BgL_tmpz00_8109;
BgL_auxz00_8111 = 
BINT(0L); 
BgL_tmpz00_8109 = 
(int)(0L); 
UNSAFE_STRUCT_SET(BgL_newz00_3436, BgL_tmpz00_8109, BgL_auxz00_8111); }  else 
{ /* Llib/hash.scm 282 */
BGl_errorz00zz__errorz00(BGl_string4005z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_newz00_3436); } } 
return BgL_newz00_3436;} } } } }  else 
{ /* Llib/hash.scm 286 */
 obj_t BgL_arg1422z00_1685;
{ /* Llib/hash.scm 286 */
 long BgL_tmpz00_8115;
{ /* Llib/hash.scm 286 */
 obj_t BgL_tmpz00_8116;
if(
INTEGERP(BgL_siza7eza7_49))
{ /* Llib/hash.scm 286 */
BgL_tmpz00_8116 = BgL_siza7eza7_49
; }  else 
{ 
 obj_t BgL_auxz00_8119;
BgL_auxz00_8119 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(10454L), BGl_string4030z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_siza7eza7_49); 
FAILURE(BgL_auxz00_8119,BFALSE,BFALSE);} 
BgL_tmpz00_8115 = 
(long)CINT(BgL_tmpz00_8116); } 
BgL_arg1422z00_1685 = 
make_vector(BgL_tmpz00_8115, BNIL); } 
{ /* Llib/hash.scm 286 */
 obj_t BgL_hashnz00_3469;
BgL_hashnz00_3469 = BgL_hashz00_45; 
{ /* Llib/hash.scm 286 */
 obj_t BgL_newz00_3470;
BgL_newz00_3470 = 
create_struct(BGl_symbol3985z00zz__hashz00, 
(int)(8L)); 
{ /* Llib/hash.scm 286 */
 bool_t BgL_test4628z00_8127;
{ /* Llib/hash.scm 286 */
 obj_t BgL_tmpz00_8128;
{ /* Llib/hash.scm 286 */
 obj_t BgL_res2595z00_3474;
{ /* Llib/hash.scm 286 */
 obj_t BgL_aux3116z00_5993;
BgL_aux3116z00_5993 = 
STRUCT_KEY(BgL_newz00_3470); 
if(
SYMBOLP(BgL_aux3116z00_5993))
{ /* Llib/hash.scm 286 */
BgL_res2595z00_3474 = BgL_aux3116z00_5993; }  else 
{ 
 obj_t BgL_auxz00_8132;
BgL_auxz00_8132 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(10422L), BGl_string4030z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3116z00_5993); 
FAILURE(BgL_auxz00_8132,BFALSE,BFALSE);} } 
BgL_tmpz00_8128 = BgL_res2595z00_3474; } 
BgL_test4628z00_8127 = 
(BgL_tmpz00_8128==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4628z00_8127)
{ /* Llib/hash.scm 286 */
 int BgL_tmpz00_8137;
BgL_tmpz00_8137 = 
(int)(7L); 
UNSAFE_STRUCT_SET(BgL_newz00_3470, BgL_tmpz00_8137, BgL_bucketzd2expansionzd2_43); }  else 
{ /* Llib/hash.scm 286 */
BGl_errorz00zz__errorz00(BGl_string4005z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_newz00_3470); } } 
{ /* Llib/hash.scm 286 */
 bool_t BgL_test4630z00_8141;
{ /* Llib/hash.scm 286 */
 obj_t BgL_tmpz00_8142;
{ /* Llib/hash.scm 286 */
 obj_t BgL_res2596z00_3478;
{ /* Llib/hash.scm 286 */
 obj_t BgL_aux3118z00_5995;
BgL_aux3118z00_5995 = 
STRUCT_KEY(BgL_newz00_3470); 
if(
SYMBOLP(BgL_aux3118z00_5995))
{ /* Llib/hash.scm 286 */
BgL_res2596z00_3478 = BgL_aux3118z00_5995; }  else 
{ 
 obj_t BgL_auxz00_8146;
BgL_auxz00_8146 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(10422L), BGl_string4030z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3118z00_5995); 
FAILURE(BgL_auxz00_8146,BFALSE,BFALSE);} } 
BgL_tmpz00_8142 = BgL_res2596z00_3478; } 
BgL_test4630z00_8141 = 
(BgL_tmpz00_8142==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4630z00_8141)
{ /* Llib/hash.scm 286 */
 int BgL_tmpz00_8151;
BgL_tmpz00_8151 = 
(int)(6L); 
UNSAFE_STRUCT_SET(BgL_newz00_3470, BgL_tmpz00_8151, BgL_maxzd2lengthzd2_47); }  else 
{ /* Llib/hash.scm 286 */
BGl_errorz00zz__errorz00(BGl_string4005z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_newz00_3470); } } 
{ /* Llib/hash.scm 286 */
 bool_t BgL_test4632z00_8155;
{ /* Llib/hash.scm 286 */
 obj_t BgL_tmpz00_8156;
{ /* Llib/hash.scm 286 */
 obj_t BgL_res2597z00_3482;
{ /* Llib/hash.scm 286 */
 obj_t BgL_aux3120z00_5997;
BgL_aux3120z00_5997 = 
STRUCT_KEY(BgL_newz00_3470); 
if(
SYMBOLP(BgL_aux3120z00_5997))
{ /* Llib/hash.scm 286 */
BgL_res2597z00_3482 = BgL_aux3120z00_5997; }  else 
{ 
 obj_t BgL_auxz00_8160;
BgL_auxz00_8160 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(10422L), BGl_string4030z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3120z00_5997); 
FAILURE(BgL_auxz00_8160,BFALSE,BFALSE);} } 
BgL_tmpz00_8156 = BgL_res2597z00_3482; } 
BgL_test4632z00_8155 = 
(BgL_tmpz00_8156==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4632z00_8155)
{ /* Llib/hash.scm 286 */
 obj_t BgL_auxz00_8167; int BgL_tmpz00_8165;
BgL_auxz00_8167 = 
BINT(BgL_wkz00_1673); 
BgL_tmpz00_8165 = 
(int)(5L); 
UNSAFE_STRUCT_SET(BgL_newz00_3470, BgL_tmpz00_8165, BgL_auxz00_8167); }  else 
{ /* Llib/hash.scm 286 */
BGl_errorz00zz__errorz00(BGl_string4005z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_newz00_3470); } } 
{ /* Llib/hash.scm 286 */
 bool_t BgL_test4634z00_8171;
{ /* Llib/hash.scm 286 */
 obj_t BgL_tmpz00_8172;
{ /* Llib/hash.scm 286 */
 obj_t BgL_res2598z00_3486;
{ /* Llib/hash.scm 286 */
 obj_t BgL_aux3122z00_5999;
BgL_aux3122z00_5999 = 
STRUCT_KEY(BgL_newz00_3470); 
if(
SYMBOLP(BgL_aux3122z00_5999))
{ /* Llib/hash.scm 286 */
BgL_res2598z00_3486 = BgL_aux3122z00_5999; }  else 
{ 
 obj_t BgL_auxz00_8176;
BgL_auxz00_8176 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(10422L), BGl_string4030z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3122z00_5999); 
FAILURE(BgL_auxz00_8176,BFALSE,BFALSE);} } 
BgL_tmpz00_8172 = BgL_res2598z00_3486; } 
BgL_test4634z00_8171 = 
(BgL_tmpz00_8172==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4634z00_8171)
{ /* Llib/hash.scm 286 */
 int BgL_tmpz00_8181;
BgL_tmpz00_8181 = 
(int)(4L); 
UNSAFE_STRUCT_SET(BgL_newz00_3470, BgL_tmpz00_8181, BgL_hashnz00_3469); }  else 
{ /* Llib/hash.scm 286 */
BGl_errorz00zz__errorz00(BGl_string4005z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_newz00_3470); } } 
{ /* Llib/hash.scm 286 */
 bool_t BgL_test4636z00_8185;
{ /* Llib/hash.scm 286 */
 obj_t BgL_tmpz00_8186;
{ /* Llib/hash.scm 286 */
 obj_t BgL_res2599z00_3490;
{ /* Llib/hash.scm 286 */
 obj_t BgL_aux3124z00_6001;
BgL_aux3124z00_6001 = 
STRUCT_KEY(BgL_newz00_3470); 
if(
SYMBOLP(BgL_aux3124z00_6001))
{ /* Llib/hash.scm 286 */
BgL_res2599z00_3490 = BgL_aux3124z00_6001; }  else 
{ 
 obj_t BgL_auxz00_8190;
BgL_auxz00_8190 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(10422L), BGl_string4030z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3124z00_6001); 
FAILURE(BgL_auxz00_8190,BFALSE,BFALSE);} } 
BgL_tmpz00_8186 = BgL_res2599z00_3490; } 
BgL_test4636z00_8185 = 
(BgL_tmpz00_8186==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4636z00_8185)
{ /* Llib/hash.scm 286 */
 int BgL_tmpz00_8195;
BgL_tmpz00_8195 = 
(int)(3L); 
UNSAFE_STRUCT_SET(BgL_newz00_3470, BgL_tmpz00_8195, BgL_eqtestz00_44); }  else 
{ /* Llib/hash.scm 286 */
BGl_errorz00zz__errorz00(BGl_string4005z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_newz00_3470); } } 
{ /* Llib/hash.scm 286 */
 bool_t BgL_test4638z00_8199;
{ /* Llib/hash.scm 286 */
 obj_t BgL_tmpz00_8200;
{ /* Llib/hash.scm 286 */
 obj_t BgL_res2600z00_3494;
{ /* Llib/hash.scm 286 */
 obj_t BgL_aux3126z00_6003;
BgL_aux3126z00_6003 = 
STRUCT_KEY(BgL_newz00_3470); 
if(
SYMBOLP(BgL_aux3126z00_6003))
{ /* Llib/hash.scm 286 */
BgL_res2600z00_3494 = BgL_aux3126z00_6003; }  else 
{ 
 obj_t BgL_auxz00_8204;
BgL_auxz00_8204 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(10422L), BGl_string4030z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3126z00_6003); 
FAILURE(BgL_auxz00_8204,BFALSE,BFALSE);} } 
BgL_tmpz00_8200 = BgL_res2600z00_3494; } 
BgL_test4638z00_8199 = 
(BgL_tmpz00_8200==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4638z00_8199)
{ /* Llib/hash.scm 286 */
 int BgL_tmpz00_8209;
BgL_tmpz00_8209 = 
(int)(2L); 
UNSAFE_STRUCT_SET(BgL_newz00_3470, BgL_tmpz00_8209, BgL_arg1422z00_1685); }  else 
{ /* Llib/hash.scm 286 */
BGl_errorz00zz__errorz00(BGl_string4005z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_newz00_3470); } } 
{ /* Llib/hash.scm 286 */
 bool_t BgL_test4640z00_8213;
{ /* Llib/hash.scm 286 */
 obj_t BgL_tmpz00_8214;
{ /* Llib/hash.scm 286 */
 obj_t BgL_res2601z00_3498;
{ /* Llib/hash.scm 286 */
 obj_t BgL_aux3128z00_6005;
BgL_aux3128z00_6005 = 
STRUCT_KEY(BgL_newz00_3470); 
if(
SYMBOLP(BgL_aux3128z00_6005))
{ /* Llib/hash.scm 286 */
BgL_res2601z00_3498 = BgL_aux3128z00_6005; }  else 
{ 
 obj_t BgL_auxz00_8218;
BgL_auxz00_8218 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(10422L), BGl_string4030z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3128z00_6005); 
FAILURE(BgL_auxz00_8218,BFALSE,BFALSE);} } 
BgL_tmpz00_8214 = BgL_res2601z00_3498; } 
BgL_test4640z00_8213 = 
(BgL_tmpz00_8214==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4640z00_8213)
{ /* Llib/hash.scm 286 */
 int BgL_tmpz00_8223;
BgL_tmpz00_8223 = 
(int)(1L); 
UNSAFE_STRUCT_SET(BgL_newz00_3470, BgL_tmpz00_8223, BgL_maxzd2bucketzd2lengthz00_46); }  else 
{ /* Llib/hash.scm 286 */
BGl_errorz00zz__errorz00(BGl_string4005z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_newz00_3470); } } 
{ /* Llib/hash.scm 286 */
 bool_t BgL_test4642z00_8227;
{ /* Llib/hash.scm 286 */
 obj_t BgL_tmpz00_8228;
{ /* Llib/hash.scm 286 */
 obj_t BgL_res2602z00_3502;
{ /* Llib/hash.scm 286 */
 obj_t BgL_aux3130z00_6007;
BgL_aux3130z00_6007 = 
STRUCT_KEY(BgL_newz00_3470); 
if(
SYMBOLP(BgL_aux3130z00_6007))
{ /* Llib/hash.scm 286 */
BgL_res2602z00_3502 = BgL_aux3130z00_6007; }  else 
{ 
 obj_t BgL_auxz00_8232;
BgL_auxz00_8232 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(10422L), BGl_string4030z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3130z00_6007); 
FAILURE(BgL_auxz00_8232,BFALSE,BFALSE);} } 
BgL_tmpz00_8228 = BgL_res2602z00_3502; } 
BgL_test4642z00_8227 = 
(BgL_tmpz00_8228==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4642z00_8227)
{ /* Llib/hash.scm 286 */
 obj_t BgL_auxz00_8239; int BgL_tmpz00_8237;
BgL_auxz00_8239 = 
BINT(0L); 
BgL_tmpz00_8237 = 
(int)(0L); 
UNSAFE_STRUCT_SET(BgL_newz00_3470, BgL_tmpz00_8237, BgL_auxz00_8239); }  else 
{ /* Llib/hash.scm 286 */
BGl_errorz00zz__errorz00(BGl_string4005z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_newz00_3470); } } 
return BgL_newz00_3470;} } } } } } 

}



/* &<@anonymous:1420> */
obj_t BGl_z62zc3z04anonymousza31420ze3ze5zz__hashz00(obj_t BgL_envz00_5500, obj_t BgL_sz00_5501)
{
{ /* Llib/hash.scm 284 */
{ /* Llib/hash.scm 284 */
 long BgL_tmpz00_8243;
{ /* Llib/hash.scm 284 */
 long BgL_arg1421z00_6937;
{ /* Llib/hash.scm 284 */
 obj_t BgL_stringz00_6938;
if(
STRINGP(BgL_sz00_5501))
{ /* Llib/hash.scm 284 */
BgL_stringz00_6938 = BgL_sz00_5501; }  else 
{ 
 obj_t BgL_auxz00_8246;
BgL_auxz00_8246 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(10362L), BGl_string4049z00zz__hashz00, BGl_string4050z00zz__hashz00, BgL_sz00_5501); 
FAILURE(BgL_auxz00_8246,BFALSE,BFALSE);} 
BgL_arg1421z00_6937 = 
STRING_LENGTH(BgL_stringz00_6938); } 
{ /* Llib/hash.scm 284 */
 char * BgL_tmpz00_8251;
{ /* Llib/hash.scm 284 */
 obj_t BgL_tmpz00_8252;
if(
STRINGP(BgL_sz00_5501))
{ /* Llib/hash.scm 284 */
BgL_tmpz00_8252 = BgL_sz00_5501
; }  else 
{ 
 obj_t BgL_auxz00_8255;
BgL_auxz00_8255 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(10358L), BGl_string4049z00zz__hashz00, BGl_string4050z00zz__hashz00, BgL_sz00_5501); 
FAILURE(BgL_auxz00_8255,BFALSE,BFALSE);} 
BgL_tmpz00_8251 = 
BSTRING_TO_STRING(BgL_tmpz00_8252); } 
BgL_tmpz00_8243 = 
bgl_string_hash(BgL_tmpz00_8251, 
(int)(0L), 
(int)(BgL_arg1421z00_6937)); } } 
return 
BINT(BgL_tmpz00_8243);} } 

}



/* create-hashtable-open-string */
BGL_EXPORTED_DEF obj_t BGl_createzd2hashtablezd2openzd2stringzd2zz__hashz00(void)
{
{ /* Llib/hash.scm 296 */
{ /* Llib/hash.scm 299 */
 obj_t BgL_arg1437z00_1710;
BgL_arg1437z00_1710 = 
make_vector(
(3L*128L), BFALSE); 
{ /* Llib/hash.scm 299 */
 obj_t BgL_newz00_3504;
BgL_newz00_3504 = 
create_struct(BGl_symbol3985z00zz__hashz00, 
(int)(8L)); 
{ /* Llib/hash.scm 299 */
 bool_t BgL_test4646z00_8268;
{ /* Llib/hash.scm 299 */
 obj_t BgL_tmpz00_8269;
{ /* Llib/hash.scm 299 */
 obj_t BgL_res2603z00_3508;
{ /* Llib/hash.scm 299 */
 obj_t BgL_aux3136z00_6013;
BgL_aux3136z00_6013 = 
STRUCT_KEY(BgL_newz00_3504); 
if(
SYMBOLP(BgL_aux3136z00_6013))
{ /* Llib/hash.scm 299 */
BgL_res2603z00_3508 = BgL_aux3136z00_6013; }  else 
{ 
 obj_t BgL_auxz00_8273;
BgL_auxz00_8273 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(11073L), BGl_string4051z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3136z00_6013); 
FAILURE(BgL_auxz00_8273,BFALSE,BFALSE);} } 
BgL_tmpz00_8269 = BgL_res2603z00_3508; } 
BgL_test4646z00_8268 = 
(BgL_tmpz00_8269==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4646z00_8268)
{ /* Llib/hash.scm 299 */
 obj_t BgL_auxz00_8280; int BgL_tmpz00_8278;
BgL_auxz00_8280 = 
BINT(0L); 
BgL_tmpz00_8278 = 
(int)(7L); 
UNSAFE_STRUCT_SET(BgL_newz00_3504, BgL_tmpz00_8278, BgL_auxz00_8280); }  else 
{ /* Llib/hash.scm 299 */
BGl_errorz00zz__errorz00(BGl_string4005z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_newz00_3504); } } 
{ /* Llib/hash.scm 299 */
 bool_t BgL_test4648z00_8284;
{ /* Llib/hash.scm 299 */
 obj_t BgL_tmpz00_8285;
{ /* Llib/hash.scm 299 */
 obj_t BgL_res2604z00_3512;
{ /* Llib/hash.scm 299 */
 obj_t BgL_aux3138z00_6015;
BgL_aux3138z00_6015 = 
STRUCT_KEY(BgL_newz00_3504); 
if(
SYMBOLP(BgL_aux3138z00_6015))
{ /* Llib/hash.scm 299 */
BgL_res2604z00_3512 = BgL_aux3138z00_6015; }  else 
{ 
 obj_t BgL_auxz00_8289;
BgL_auxz00_8289 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(11073L), BGl_string4051z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3138z00_6015); 
FAILURE(BgL_auxz00_8289,BFALSE,BFALSE);} } 
BgL_tmpz00_8285 = BgL_res2604z00_3512; } 
BgL_test4648z00_8284 = 
(BgL_tmpz00_8285==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4648z00_8284)
{ /* Llib/hash.scm 299 */
 obj_t BgL_auxz00_8296; int BgL_tmpz00_8294;
BgL_auxz00_8296 = 
BINT(0L); 
BgL_tmpz00_8294 = 
(int)(6L); 
UNSAFE_STRUCT_SET(BgL_newz00_3504, BgL_tmpz00_8294, BgL_auxz00_8296); }  else 
{ /* Llib/hash.scm 299 */
BGl_errorz00zz__errorz00(BGl_string4005z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_newz00_3504); } } 
{ /* Llib/hash.scm 299 */
 bool_t BgL_test4650z00_8300;
{ /* Llib/hash.scm 299 */
 obj_t BgL_tmpz00_8301;
{ /* Llib/hash.scm 299 */
 obj_t BgL_res2605z00_3516;
{ /* Llib/hash.scm 299 */
 obj_t BgL_aux3140z00_6017;
BgL_aux3140z00_6017 = 
STRUCT_KEY(BgL_newz00_3504); 
if(
SYMBOLP(BgL_aux3140z00_6017))
{ /* Llib/hash.scm 299 */
BgL_res2605z00_3516 = BgL_aux3140z00_6017; }  else 
{ 
 obj_t BgL_auxz00_8305;
BgL_auxz00_8305 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(11073L), BGl_string4051z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3140z00_6017); 
FAILURE(BgL_auxz00_8305,BFALSE,BFALSE);} } 
BgL_tmpz00_8301 = BgL_res2605z00_3516; } 
BgL_test4650z00_8300 = 
(BgL_tmpz00_8301==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4650z00_8300)
{ /* Llib/hash.scm 299 */
 obj_t BgL_auxz00_8312; int BgL_tmpz00_8310;
BgL_auxz00_8312 = 
BINT(8L); 
BgL_tmpz00_8310 = 
(int)(5L); 
UNSAFE_STRUCT_SET(BgL_newz00_3504, BgL_tmpz00_8310, BgL_auxz00_8312); }  else 
{ /* Llib/hash.scm 299 */
BGl_errorz00zz__errorz00(BGl_string4005z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_newz00_3504); } } 
{ /* Llib/hash.scm 299 */
 bool_t BgL_test4652z00_8316;
{ /* Llib/hash.scm 299 */
 obj_t BgL_tmpz00_8317;
{ /* Llib/hash.scm 299 */
 obj_t BgL_res2606z00_3520;
{ /* Llib/hash.scm 299 */
 obj_t BgL_aux3142z00_6019;
BgL_aux3142z00_6019 = 
STRUCT_KEY(BgL_newz00_3504); 
if(
SYMBOLP(BgL_aux3142z00_6019))
{ /* Llib/hash.scm 299 */
BgL_res2606z00_3520 = BgL_aux3142z00_6019; }  else 
{ 
 obj_t BgL_auxz00_8321;
BgL_auxz00_8321 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(11073L), BGl_string4051z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3142z00_6019); 
FAILURE(BgL_auxz00_8321,BFALSE,BFALSE);} } 
BgL_tmpz00_8317 = BgL_res2606z00_3520; } 
BgL_test4652z00_8316 = 
(BgL_tmpz00_8317==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4652z00_8316)
{ /* Llib/hash.scm 299 */
 int BgL_tmpz00_8326;
BgL_tmpz00_8326 = 
(int)(4L); 
UNSAFE_STRUCT_SET(BgL_newz00_3504, BgL_tmpz00_8326, BGl_listzd2envzd2zz__r4_pairs_and_lists_6_3z00); }  else 
{ /* Llib/hash.scm 299 */
BGl_errorz00zz__errorz00(BGl_string4005z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_newz00_3504); } } 
{ /* Llib/hash.scm 299 */
 bool_t BgL_test4654z00_8330;
{ /* Llib/hash.scm 299 */
 obj_t BgL_tmpz00_8331;
{ /* Llib/hash.scm 299 */
 obj_t BgL_res2607z00_3524;
{ /* Llib/hash.scm 299 */
 obj_t BgL_aux3144z00_6021;
BgL_aux3144z00_6021 = 
STRUCT_KEY(BgL_newz00_3504); 
if(
SYMBOLP(BgL_aux3144z00_6021))
{ /* Llib/hash.scm 299 */
BgL_res2607z00_3524 = BgL_aux3144z00_6021; }  else 
{ 
 obj_t BgL_auxz00_8335;
BgL_auxz00_8335 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(11073L), BGl_string4051z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3144z00_6021); 
FAILURE(BgL_auxz00_8335,BFALSE,BFALSE);} } 
BgL_tmpz00_8331 = BgL_res2607z00_3524; } 
BgL_test4654z00_8330 = 
(BgL_tmpz00_8331==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4654z00_8330)
{ /* Llib/hash.scm 299 */
 int BgL_tmpz00_8340;
BgL_tmpz00_8340 = 
(int)(3L); 
UNSAFE_STRUCT_SET(BgL_newz00_3504, BgL_tmpz00_8340, BGl_eqzf3zd2envz21zz__r4_equivalence_6_2z00); }  else 
{ /* Llib/hash.scm 299 */
BGl_errorz00zz__errorz00(BGl_string4005z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_newz00_3504); } } 
{ /* Llib/hash.scm 299 */
 bool_t BgL_test4656z00_8344;
{ /* Llib/hash.scm 299 */
 obj_t BgL_tmpz00_8345;
{ /* Llib/hash.scm 299 */
 obj_t BgL_res2608z00_3528;
{ /* Llib/hash.scm 299 */
 obj_t BgL_aux3146z00_6023;
BgL_aux3146z00_6023 = 
STRUCT_KEY(BgL_newz00_3504); 
if(
SYMBOLP(BgL_aux3146z00_6023))
{ /* Llib/hash.scm 299 */
BgL_res2608z00_3528 = BgL_aux3146z00_6023; }  else 
{ 
 obj_t BgL_auxz00_8349;
BgL_auxz00_8349 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(11073L), BGl_string4051z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3146z00_6023); 
FAILURE(BgL_auxz00_8349,BFALSE,BFALSE);} } 
BgL_tmpz00_8345 = BgL_res2608z00_3528; } 
BgL_test4656z00_8344 = 
(BgL_tmpz00_8345==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4656z00_8344)
{ /* Llib/hash.scm 299 */
 int BgL_tmpz00_8354;
BgL_tmpz00_8354 = 
(int)(2L); 
UNSAFE_STRUCT_SET(BgL_newz00_3504, BgL_tmpz00_8354, BgL_arg1437z00_1710); }  else 
{ /* Llib/hash.scm 299 */
BGl_errorz00zz__errorz00(BGl_string4005z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_newz00_3504); } } 
{ /* Llib/hash.scm 299 */
 bool_t BgL_test4658z00_8358;
{ /* Llib/hash.scm 299 */
 obj_t BgL_tmpz00_8359;
{ /* Llib/hash.scm 299 */
 obj_t BgL_res2609z00_3532;
{ /* Llib/hash.scm 299 */
 obj_t BgL_aux3148z00_6025;
BgL_aux3148z00_6025 = 
STRUCT_KEY(BgL_newz00_3504); 
if(
SYMBOLP(BgL_aux3148z00_6025))
{ /* Llib/hash.scm 299 */
BgL_res2609z00_3532 = BgL_aux3148z00_6025; }  else 
{ 
 obj_t BgL_auxz00_8363;
BgL_auxz00_8363 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(11073L), BGl_string4051z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3148z00_6025); 
FAILURE(BgL_auxz00_8363,BFALSE,BFALSE);} } 
BgL_tmpz00_8359 = BgL_res2609z00_3532; } 
BgL_test4658z00_8358 = 
(BgL_tmpz00_8359==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4658z00_8358)
{ /* Llib/hash.scm 299 */
 obj_t BgL_auxz00_8370; int BgL_tmpz00_8368;
BgL_auxz00_8370 = 
BINT(128L); 
BgL_tmpz00_8368 = 
(int)(1L); 
UNSAFE_STRUCT_SET(BgL_newz00_3504, BgL_tmpz00_8368, BgL_auxz00_8370); }  else 
{ /* Llib/hash.scm 299 */
BGl_errorz00zz__errorz00(BGl_string4005z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_newz00_3504); } } 
{ /* Llib/hash.scm 299 */
 bool_t BgL_test4660z00_8374;
{ /* Llib/hash.scm 299 */
 obj_t BgL_tmpz00_8375;
{ /* Llib/hash.scm 299 */
 obj_t BgL_res2610z00_3536;
{ /* Llib/hash.scm 299 */
 obj_t BgL_aux3150z00_6027;
BgL_aux3150z00_6027 = 
STRUCT_KEY(BgL_newz00_3504); 
if(
SYMBOLP(BgL_aux3150z00_6027))
{ /* Llib/hash.scm 299 */
BgL_res2610z00_3536 = BgL_aux3150z00_6027; }  else 
{ 
 obj_t BgL_auxz00_8379;
BgL_auxz00_8379 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(11073L), BGl_string4051z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3150z00_6027); 
FAILURE(BgL_auxz00_8379,BFALSE,BFALSE);} } 
BgL_tmpz00_8375 = BgL_res2610z00_3536; } 
BgL_test4660z00_8374 = 
(BgL_tmpz00_8375==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4660z00_8374)
{ /* Llib/hash.scm 299 */
 obj_t BgL_auxz00_8386; int BgL_tmpz00_8384;
BgL_auxz00_8386 = 
BINT(0L); 
BgL_tmpz00_8384 = 
(int)(0L); 
UNSAFE_STRUCT_SET(BgL_newz00_3504, BgL_tmpz00_8384, BgL_auxz00_8386); }  else 
{ /* Llib/hash.scm 299 */
BGl_errorz00zz__errorz00(BGl_string4005z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_newz00_3504); } } 
return BgL_newz00_3504;} } } 

}



/* &create-hashtable-open-string */
obj_t BGl_z62createzd2hashtablezd2openzd2stringzb0zz__hashz00(obj_t BgL_envz00_5505)
{
{ /* Llib/hash.scm 296 */
return 
BGl_createzd2hashtablezd2openzd2stringzd2zz__hashz00();} 

}



/* hashtable? */
BGL_EXPORTED_DEF bool_t BGl_hashtablezf3zf3zz__hashz00(obj_t BgL_objz00_53)
{
{ /* Llib/hash.scm 304 */
if(
STRUCTP(BgL_objz00_53))
{ /* Llib/hash.scm 305 */
 obj_t BgL_tmpz00_8393;
{ /* Llib/hash.scm 305 */
 obj_t BgL_res2611z00_3540;
{ /* Llib/hash.scm 305 */
 obj_t BgL_aux3152z00_6029;
BgL_aux3152z00_6029 = 
STRUCT_KEY(BgL_objz00_53); 
if(
SYMBOLP(BgL_aux3152z00_6029))
{ /* Llib/hash.scm 305 */
BgL_res2611z00_3540 = BgL_aux3152z00_6029; }  else 
{ 
 obj_t BgL_auxz00_8397;
BgL_auxz00_8397 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(11403L), BGl_string4052z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3152z00_6029); 
FAILURE(BgL_auxz00_8397,BFALSE,BFALSE);} } 
BgL_tmpz00_8393 = BgL_res2611z00_3540; } 
return 
(BgL_tmpz00_8393==BGl_symbol3985z00zz__hashz00);}  else 
{ /* Llib/hash.scm 305 */
return ((bool_t)0);} } 

}



/* &hashtable? */
obj_t BGl_z62hashtablezf3z91zz__hashz00(obj_t BgL_envz00_5506, obj_t BgL_objz00_5507)
{
{ /* Llib/hash.scm 304 */
return 
BBOOL(
BGl_hashtablezf3zf3zz__hashz00(BgL_objz00_5507));} 

}



/* hashtable-weak? */
bool_t BGl_hashtablezd2weakzf3z21zz__hashz00(obj_t BgL_tablez00_54)
{
{ /* Llib/hash.scm 310 */
{ /* Llib/hash.scm 311 */
 bool_t BgL_test4664z00_8404;
{ /* Llib/hash.scm 311 */
 long BgL_arg1444z00_1715;
{ /* Llib/hash.scm 311 */
 obj_t BgL_arg1445z00_1716;
{ /* Llib/hash.scm 311 */
 bool_t BgL_test4665z00_8405;
{ /* Llib/hash.scm 311 */
 obj_t BgL_tmpz00_8406;
{ /* Llib/hash.scm 311 */
 obj_t BgL_res2612z00_3544;
{ /* Llib/hash.scm 311 */
 obj_t BgL_aux3154z00_6031;
BgL_aux3154z00_6031 = 
STRUCT_KEY(BgL_tablez00_54); 
if(
SYMBOLP(BgL_aux3154z00_6031))
{ /* Llib/hash.scm 311 */
BgL_res2612z00_3544 = BgL_aux3154z00_6031; }  else 
{ 
 obj_t BgL_auxz00_8410;
BgL_auxz00_8410 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(11715L), BGl_string4053z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3154z00_6031); 
FAILURE(BgL_auxz00_8410,BFALSE,BFALSE);} } 
BgL_tmpz00_8406 = BgL_res2612z00_3544; } 
BgL_test4665z00_8405 = 
(BgL_tmpz00_8406==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4665z00_8405)
{ /* Llib/hash.scm 311 */
 int BgL_tmpz00_8415;
BgL_tmpz00_8415 = 
(int)(5L); 
BgL_arg1445z00_1716 = 
UNSAFE_STRUCT_REF(BgL_tablez00_54, BgL_tmpz00_8415); }  else 
{ /* Llib/hash.scm 311 */
BgL_arg1445z00_1716 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_54); } } 
{ /* Llib/hash.scm 311 */
 long BgL_xz00_3545;
{ /* Llib/hash.scm 311 */
 obj_t BgL_tmpz00_8419;
if(
INTEGERP(BgL_arg1445z00_1716))
{ /* Llib/hash.scm 311 */
BgL_tmpz00_8419 = BgL_arg1445z00_1716
; }  else 
{ 
 obj_t BgL_auxz00_8422;
BgL_auxz00_8422 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(11737L), BGl_string4053z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_arg1445z00_1716); 
FAILURE(BgL_auxz00_8422,BFALSE,BFALSE);} 
BgL_xz00_3545 = 
(long)CINT(BgL_tmpz00_8419); } 
BgL_arg1444z00_1715 = 
(BgL_xz00_3545 & 3L); } } 
BgL_test4664z00_8404 = 
(0L==BgL_arg1444z00_1715); } 
if(BgL_test4664z00_8404)
{ /* Llib/hash.scm 311 */
return ((bool_t)0);}  else 
{ /* Llib/hash.scm 311 */
return ((bool_t)1);} } } 

}



/* hashtable-open-string? */
bool_t BGl_hashtablezd2openzd2stringzf3zf3zz__hashz00(obj_t BgL_tablez00_55)
{
{ /* Llib/hash.scm 316 */
{ /* Llib/hash.scm 317 */
 bool_t BgL_test4668z00_8429;
{ /* Llib/hash.scm 317 */
 long BgL_arg1450z00_1720;
{ /* Llib/hash.scm 317 */
 obj_t BgL_arg1451z00_1721;
{ /* Llib/hash.scm 317 */
 bool_t BgL_test4669z00_8430;
{ /* Llib/hash.scm 317 */
 obj_t BgL_tmpz00_8431;
{ /* Llib/hash.scm 317 */
 obj_t BgL_res2613z00_3550;
{ /* Llib/hash.scm 317 */
 obj_t BgL_aux3157z00_6034;
BgL_aux3157z00_6034 = 
STRUCT_KEY(BgL_tablez00_55); 
if(
SYMBOLP(BgL_aux3157z00_6034))
{ /* Llib/hash.scm 317 */
BgL_res2613z00_3550 = BgL_aux3157z00_6034; }  else 
{ 
 obj_t BgL_auxz00_8435;
BgL_auxz00_8435 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(12055L), BGl_string4054z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3157z00_6034); 
FAILURE(BgL_auxz00_8435,BFALSE,BFALSE);} } 
BgL_tmpz00_8431 = BgL_res2613z00_3550; } 
BgL_test4669z00_8430 = 
(BgL_tmpz00_8431==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4669z00_8430)
{ /* Llib/hash.scm 317 */
 int BgL_tmpz00_8440;
BgL_tmpz00_8440 = 
(int)(5L); 
BgL_arg1451z00_1721 = 
UNSAFE_STRUCT_REF(BgL_tablez00_55, BgL_tmpz00_8440); }  else 
{ /* Llib/hash.scm 317 */
BgL_arg1451z00_1721 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_55); } } 
{ /* Llib/hash.scm 317 */
 long BgL_xz00_3551;
{ /* Llib/hash.scm 317 */
 obj_t BgL_tmpz00_8444;
if(
INTEGERP(BgL_arg1451z00_1721))
{ /* Llib/hash.scm 317 */
BgL_tmpz00_8444 = BgL_arg1451z00_1721
; }  else 
{ 
 obj_t BgL_auxz00_8447;
BgL_auxz00_8447 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(12077L), BGl_string4054z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_arg1451z00_1721); 
FAILURE(BgL_auxz00_8447,BFALSE,BFALSE);} 
BgL_xz00_3551 = 
(long)CINT(BgL_tmpz00_8444); } 
BgL_arg1450z00_1720 = 
(BgL_xz00_3551 & 8L); } } 
BgL_test4668z00_8429 = 
(0L==BgL_arg1450z00_1720); } 
if(BgL_test4668z00_8429)
{ /* Llib/hash.scm 317 */
return ((bool_t)0);}  else 
{ /* Llib/hash.scm 317 */
return ((bool_t)1);} } } 

}



/* hashtable-weak-keys? */
BGL_EXPORTED_DEF bool_t BGl_hashtablezd2weakzd2keyszf3zf3zz__hashz00(obj_t BgL_tablez00_57)
{
{ /* Llib/hash.scm 328 */
{ /* Llib/hash.scm 329 */
 bool_t BgL_test4673z00_8454;
{ /* Llib/hash.scm 329 */
 long BgL_arg1457z00_1726;
{ /* Llib/hash.scm 329 */
 obj_t BgL_arg1458z00_1727;
{ /* Llib/hash.scm 329 */
 bool_t BgL_test4674z00_8455;
{ /* Llib/hash.scm 329 */
 obj_t BgL_tmpz00_8456;
{ /* Llib/hash.scm 329 */
 obj_t BgL_res2615z00_3562;
{ /* Llib/hash.scm 329 */
 obj_t BgL_aux3160z00_6037;
BgL_aux3160z00_6037 = 
STRUCT_KEY(BgL_tablez00_57); 
if(
SYMBOLP(BgL_aux3160z00_6037))
{ /* Llib/hash.scm 329 */
BgL_res2615z00_3562 = BgL_aux3160z00_6037; }  else 
{ 
 obj_t BgL_auxz00_8460;
BgL_auxz00_8460 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(12731L), BGl_string4055z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3160z00_6037); 
FAILURE(BgL_auxz00_8460,BFALSE,BFALSE);} } 
BgL_tmpz00_8456 = BgL_res2615z00_3562; } 
BgL_test4674z00_8455 = 
(BgL_tmpz00_8456==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4674z00_8455)
{ /* Llib/hash.scm 329 */
 int BgL_tmpz00_8465;
BgL_tmpz00_8465 = 
(int)(5L); 
BgL_arg1458z00_1727 = 
UNSAFE_STRUCT_REF(BgL_tablez00_57, BgL_tmpz00_8465); }  else 
{ /* Llib/hash.scm 329 */
BgL_arg1458z00_1727 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_57); } } 
{ /* Llib/hash.scm 329 */
 long BgL_yz00_3563;
{ /* Llib/hash.scm 329 */
 obj_t BgL_tmpz00_8469;
if(
INTEGERP(BgL_arg1458z00_1727))
{ /* Llib/hash.scm 329 */
BgL_tmpz00_8469 = BgL_arg1458z00_1727
; }  else 
{ 
 obj_t BgL_auxz00_8472;
BgL_auxz00_8472 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(12753L), BGl_string4055z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_arg1458z00_1727); 
FAILURE(BgL_auxz00_8472,BFALSE,BFALSE);} 
BgL_yz00_3563 = 
(long)CINT(BgL_tmpz00_8469); } 
BgL_arg1457z00_1726 = 
(1L & BgL_yz00_3563); } } 
BgL_test4673z00_8454 = 
(0L==BgL_arg1457z00_1726); } 
if(BgL_test4673z00_8454)
{ /* Llib/hash.scm 329 */
return ((bool_t)0);}  else 
{ /* Llib/hash.scm 329 */
return ((bool_t)1);} } } 

}



/* &hashtable-weak-keys? */
obj_t BGl_z62hashtablezd2weakzd2keyszf3z91zz__hashz00(obj_t BgL_envz00_5508, obj_t BgL_tablez00_5509)
{
{ /* Llib/hash.scm 328 */
{ /* Llib/hash.scm 329 */
 bool_t BgL_tmpz00_8479;
{ /* Llib/hash.scm 329 */
 obj_t BgL_auxz00_8480;
if(
STRUCTP(BgL_tablez00_5509))
{ /* Llib/hash.scm 329 */
BgL_auxz00_8480 = BgL_tablez00_5509
; }  else 
{ 
 obj_t BgL_auxz00_8483;
BgL_auxz00_8483 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(12698L), BGl_string4056z00zz__hashz00, BGl_string4057z00zz__hashz00, BgL_tablez00_5509); 
FAILURE(BgL_auxz00_8483,BFALSE,BFALSE);} 
BgL_tmpz00_8479 = 
BGl_hashtablezd2weakzd2keyszf3zf3zz__hashz00(BgL_auxz00_8480); } 
return 
BBOOL(BgL_tmpz00_8479);} } 

}



/* hashtable-weak-data? */
BGL_EXPORTED_DEF bool_t BGl_hashtablezd2weakzd2datazf3zf3zz__hashz00(obj_t BgL_tablez00_58)
{
{ /* Llib/hash.scm 334 */
{ /* Llib/hash.scm 335 */
 bool_t BgL_test4678z00_8489;
{ /* Llib/hash.scm 335 */
 long BgL_arg1462z00_1731;
{ /* Llib/hash.scm 335 */
 obj_t BgL_arg1464z00_1732;
{ /* Llib/hash.scm 335 */
 bool_t BgL_test4679z00_8490;
{ /* Llib/hash.scm 335 */
 obj_t BgL_tmpz00_8491;
{ /* Llib/hash.scm 335 */
 obj_t BgL_res2616z00_3568;
{ /* Llib/hash.scm 335 */
 obj_t BgL_aux3165z00_6042;
BgL_aux3165z00_6042 = 
STRUCT_KEY(BgL_tablez00_58); 
if(
SYMBOLP(BgL_aux3165z00_6042))
{ /* Llib/hash.scm 335 */
BgL_res2616z00_3568 = BgL_aux3165z00_6042; }  else 
{ 
 obj_t BgL_auxz00_8495;
BgL_auxz00_8495 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(13069L), BGl_string4058z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3165z00_6042); 
FAILURE(BgL_auxz00_8495,BFALSE,BFALSE);} } 
BgL_tmpz00_8491 = BgL_res2616z00_3568; } 
BgL_test4679z00_8490 = 
(BgL_tmpz00_8491==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4679z00_8490)
{ /* Llib/hash.scm 335 */
 int BgL_tmpz00_8500;
BgL_tmpz00_8500 = 
(int)(5L); 
BgL_arg1464z00_1732 = 
UNSAFE_STRUCT_REF(BgL_tablez00_58, BgL_tmpz00_8500); }  else 
{ /* Llib/hash.scm 335 */
BgL_arg1464z00_1732 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_58); } } 
{ /* Llib/hash.scm 335 */
 long BgL_yz00_3569;
{ /* Llib/hash.scm 335 */
 obj_t BgL_tmpz00_8504;
if(
INTEGERP(BgL_arg1464z00_1732))
{ /* Llib/hash.scm 335 */
BgL_tmpz00_8504 = BgL_arg1464z00_1732
; }  else 
{ 
 obj_t BgL_auxz00_8507;
BgL_auxz00_8507 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(13091L), BGl_string4058z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_arg1464z00_1732); 
FAILURE(BgL_auxz00_8507,BFALSE,BFALSE);} 
BgL_yz00_3569 = 
(long)CINT(BgL_tmpz00_8504); } 
BgL_arg1462z00_1731 = 
(2L & BgL_yz00_3569); } } 
BgL_test4678z00_8489 = 
(0L==BgL_arg1462z00_1731); } 
if(BgL_test4678z00_8489)
{ /* Llib/hash.scm 335 */
return ((bool_t)0);}  else 
{ /* Llib/hash.scm 335 */
return ((bool_t)1);} } } 

}



/* &hashtable-weak-data? */
obj_t BGl_z62hashtablezd2weakzd2datazf3z91zz__hashz00(obj_t BgL_envz00_5510, obj_t BgL_tablez00_5511)
{
{ /* Llib/hash.scm 334 */
{ /* Llib/hash.scm 335 */
 bool_t BgL_tmpz00_8514;
{ /* Llib/hash.scm 335 */
 obj_t BgL_auxz00_8515;
if(
STRUCTP(BgL_tablez00_5511))
{ /* Llib/hash.scm 335 */
BgL_auxz00_8515 = BgL_tablez00_5511
; }  else 
{ 
 obj_t BgL_auxz00_8518;
BgL_auxz00_8518 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(13036L), BGl_string4059z00zz__hashz00, BGl_string4057z00zz__hashz00, BgL_tablez00_5511); 
FAILURE(BgL_auxz00_8518,BFALSE,BFALSE);} 
BgL_tmpz00_8514 = 
BGl_hashtablezd2weakzd2datazf3zf3zz__hashz00(BgL_auxz00_8515); } 
return 
BBOOL(BgL_tmpz00_8514);} } 

}



/* hashtable-size */
BGL_EXPORTED_DEF long BGl_hashtablezd2siza7ez75zz__hashz00(obj_t BgL_tablez00_59)
{
{ /* Llib/hash.scm 340 */
{ /* Llib/hash.scm 341 */
 bool_t BgL_test4683z00_8524;
{ /* Llib/hash.scm 341 */
 obj_t BgL_tmpz00_8525;
{ /* Llib/hash.scm 341 */
 obj_t BgL_res2617z00_3574;
{ /* Llib/hash.scm 341 */
 obj_t BgL_aux3170z00_6047;
BgL_aux3170z00_6047 = 
STRUCT_KEY(BgL_tablez00_59); 
if(
SYMBOLP(BgL_aux3170z00_6047))
{ /* Llib/hash.scm 341 */
BgL_res2617z00_3574 = BgL_aux3170z00_6047; }  else 
{ 
 obj_t BgL_auxz00_8529;
BgL_auxz00_8529 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(13368L), BGl_string4060z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3170z00_6047); 
FAILURE(BgL_auxz00_8529,BFALSE,BFALSE);} } 
BgL_tmpz00_8525 = BgL_res2617z00_3574; } 
BgL_test4683z00_8524 = 
(BgL_tmpz00_8525==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4683z00_8524)
{ /* Llib/hash.scm 341 */
 obj_t BgL_tmpz00_8534;
{ /* Llib/hash.scm 341 */
 obj_t BgL_aux3172z00_6049;
{ /* Llib/hash.scm 341 */
 int BgL_tmpz00_8535;
BgL_tmpz00_8535 = 
(int)(0L); 
BgL_aux3172z00_6049 = 
UNSAFE_STRUCT_REF(BgL_tablez00_59, BgL_tmpz00_8535); } 
if(
INTEGERP(BgL_aux3172z00_6049))
{ /* Llib/hash.scm 341 */
BgL_tmpz00_8534 = BgL_aux3172z00_6049
; }  else 
{ 
 obj_t BgL_auxz00_8540;
BgL_auxz00_8540 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(13368L), BGl_string4060z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_aux3172z00_6049); 
FAILURE(BgL_auxz00_8540,BFALSE,BFALSE);} } 
return 
(long)CINT(BgL_tmpz00_8534);}  else 
{ /* Llib/hash.scm 341 */
 obj_t BgL_tmpz00_8545;
{ /* Llib/hash.scm 341 */
 obj_t BgL_aux3173z00_6050;
BgL_aux3173z00_6050 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_59); 
if(
INTEGERP(BgL_aux3173z00_6050))
{ /* Llib/hash.scm 341 */
BgL_tmpz00_8545 = BgL_aux3173z00_6050
; }  else 
{ 
 obj_t BgL_auxz00_8549;
BgL_auxz00_8549 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(13368L), BGl_string4060z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_aux3173z00_6050); 
FAILURE(BgL_auxz00_8549,BFALSE,BFALSE);} } 
return 
(long)CINT(BgL_tmpz00_8545);} } } 

}



/* &hashtable-size */
obj_t BGl_z62hashtablezd2siza7ez17zz__hashz00(obj_t BgL_envz00_5512, obj_t BgL_tablez00_5513)
{
{ /* Llib/hash.scm 340 */
{ /* Llib/hash.scm 341 */
 long BgL_tmpz00_8554;
{ /* Llib/hash.scm 341 */
 obj_t BgL_auxz00_8555;
if(
STRUCTP(BgL_tablez00_5513))
{ /* Llib/hash.scm 341 */
BgL_auxz00_8555 = BgL_tablez00_5513
; }  else 
{ 
 obj_t BgL_auxz00_8558;
BgL_auxz00_8558 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(13368L), BGl_string4061z00zz__hashz00, BGl_string4057z00zz__hashz00, BgL_tablez00_5513); 
FAILURE(BgL_auxz00_8558,BFALSE,BFALSE);} 
BgL_tmpz00_8554 = 
BGl_hashtablezd2siza7ez75zz__hashz00(BgL_auxz00_8555); } 
return 
BINT(BgL_tmpz00_8554);} } 

}



/* hashtable->vector */
BGL_EXPORTED_DEF obj_t BGl_hashtablezd2ze3vectorz31zz__hashz00(obj_t BgL_tablez00_60)
{
{ /* Llib/hash.scm 346 */
if(
BGl_hashtablezd2openzd2stringzf3zf3zz__hashz00(BgL_tablez00_60))
{ /* Llib/hash.scm 348 */
BGL_TAIL return 
BGl_openzd2stringzd2hashtablezd2ze3vectorz31zz__hashz00(BgL_tablez00_60);}  else 
{ /* Llib/hash.scm 348 */
if(
BGl_hashtablezd2weakzf3z21zz__hashz00(BgL_tablez00_60))
{ /* Llib/hash.scm 350 */
BGL_TAIL return 
BGl_weakzd2hashtablezd2ze3vectorze3zz__weakhashz00(BgL_tablez00_60);}  else 
{ /* Llib/hash.scm 350 */
BGL_TAIL return 
BGl_plainzd2hashtablezd2ze3vectorze3zz__hashz00(BgL_tablez00_60);} } } 

}



/* &hashtable->vector */
obj_t BGl_z62hashtablezd2ze3vectorz53zz__hashz00(obj_t BgL_envz00_5514, obj_t BgL_tablez00_5515)
{
{ /* Llib/hash.scm 346 */
{ /* Llib/hash.scm 348 */
 obj_t BgL_auxz00_8571;
if(
STRUCTP(BgL_tablez00_5515))
{ /* Llib/hash.scm 348 */
BgL_auxz00_8571 = BgL_tablez00_5515
; }  else 
{ 
 obj_t BgL_auxz00_8574;
BgL_auxz00_8574 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(13673L), BGl_string4062z00zz__hashz00, BGl_string4057z00zz__hashz00, BgL_tablez00_5515); 
FAILURE(BgL_auxz00_8574,BFALSE,BFALSE);} 
return 
BGl_hashtablezd2ze3vectorz31zz__hashz00(BgL_auxz00_8571);} } 

}



/* open-string-hashtable->vector */
obj_t BGl_openzd2stringzd2hashtablezd2ze3vectorz31zz__hashz00(obj_t BgL_tablez00_61)
{
{ /* Llib/hash.scm 358 */
{ /* Llib/hash.scm 359 */
 obj_t BgL_siza7eza7_1735;
{ /* Llib/hash.scm 359 */
 bool_t BgL_test4691z00_8579;
{ /* Llib/hash.scm 359 */
 obj_t BgL_tmpz00_8580;
{ /* Llib/hash.scm 359 */
 obj_t BgL_res2618z00_3578;
{ /* Llib/hash.scm 359 */
 obj_t BgL_aux3178z00_6055;
BgL_aux3178z00_6055 = 
STRUCT_KEY(BgL_tablez00_61); 
if(
SYMBOLP(BgL_aux3178z00_6055))
{ /* Llib/hash.scm 359 */
BgL_res2618z00_3578 = BgL_aux3178z00_6055; }  else 
{ 
 obj_t BgL_auxz00_8584;
BgL_auxz00_8584 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(14168L), BGl_string4063z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3178z00_6055); 
FAILURE(BgL_auxz00_8584,BFALSE,BFALSE);} } 
BgL_tmpz00_8580 = BgL_res2618z00_3578; } 
BgL_test4691z00_8579 = 
(BgL_tmpz00_8580==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4691z00_8579)
{ /* Llib/hash.scm 359 */
 int BgL_tmpz00_8589;
BgL_tmpz00_8589 = 
(int)(1L); 
BgL_siza7eza7_1735 = 
UNSAFE_STRUCT_REF(BgL_tablez00_61, BgL_tmpz00_8589); }  else 
{ /* Llib/hash.scm 359 */
BgL_siza7eza7_1735 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_61); } } 
{ /* Llib/hash.scm 359 */
 long BgL_siza7e3za7_1736;
{ /* Llib/hash.scm 360 */
 long BgL_za72za7_3579;
{ /* Llib/hash.scm 360 */
 obj_t BgL_tmpz00_8593;
if(
INTEGERP(BgL_siza7eza7_1735))
{ /* Llib/hash.scm 360 */
BgL_tmpz00_8593 = BgL_siza7eza7_1735
; }  else 
{ 
 obj_t BgL_auxz00_8596;
BgL_auxz00_8596 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(14220L), BGl_string4063z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_siza7eza7_1735); 
FAILURE(BgL_auxz00_8596,BFALSE,BFALSE);} 
BgL_za72za7_3579 = 
(long)CINT(BgL_tmpz00_8593); } 
BgL_siza7e3za7_1736 = 
(3L*BgL_za72za7_3579); } 
{ /* Llib/hash.scm 360 */
 obj_t BgL_bucketsz00_1737;
{ /* Llib/hash.scm 361 */
 bool_t BgL_test4694z00_8602;
{ /* Llib/hash.scm 361 */
 obj_t BgL_tmpz00_8603;
{ /* Llib/hash.scm 361 */
 obj_t BgL_res2619z00_3583;
{ /* Llib/hash.scm 361 */
 obj_t BgL_aux3181z00_6058;
BgL_aux3181z00_6058 = 
STRUCT_KEY(BgL_tablez00_61); 
if(
SYMBOLP(BgL_aux3181z00_6058))
{ /* Llib/hash.scm 361 */
BgL_res2619z00_3583 = BgL_aux3181z00_6058; }  else 
{ 
 obj_t BgL_auxz00_8607;
BgL_auxz00_8607 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(14239L), BGl_string4063z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3181z00_6058); 
FAILURE(BgL_auxz00_8607,BFALSE,BFALSE);} } 
BgL_tmpz00_8603 = BgL_res2619z00_3583; } 
BgL_test4694z00_8602 = 
(BgL_tmpz00_8603==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4694z00_8602)
{ /* Llib/hash.scm 361 */
 int BgL_tmpz00_8612;
BgL_tmpz00_8612 = 
(int)(2L); 
BgL_bucketsz00_1737 = 
UNSAFE_STRUCT_REF(BgL_tablez00_61, BgL_tmpz00_8612); }  else 
{ /* Llib/hash.scm 361 */
BgL_bucketsz00_1737 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_61); } } 
{ /* Llib/hash.scm 361 */
 obj_t BgL_vecz00_1738;
{ /* Llib/hash.scm 362 */
 long BgL_tmpz00_8616;
{ /* Llib/hash.scm 362 */
 obj_t BgL_tmpz00_8617;
if(
INTEGERP(BgL_siza7eza7_1735))
{ /* Llib/hash.scm 362 */
BgL_tmpz00_8617 = BgL_siza7eza7_1735
; }  else 
{ 
 obj_t BgL_auxz00_8620;
BgL_auxz00_8620 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(14275L), BGl_string4063z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_siza7eza7_1735); 
FAILURE(BgL_auxz00_8620,BFALSE,BFALSE);} 
BgL_tmpz00_8616 = 
(long)CINT(BgL_tmpz00_8617); } 
BgL_vecz00_1738 = 
make_vector(BgL_tmpz00_8616, BUNSPEC); } 
{ /* Llib/hash.scm 362 */

{ 
 long BgL_iz00_1740; long BgL_wz00_1741;
BgL_iz00_1740 = 0L; 
BgL_wz00_1741 = 0L; 
BgL_zc3z04anonymousza31467ze3z87_1742:
if(
(BgL_iz00_1740==BgL_siza7e3za7_1736))
{ /* Llib/hash.scm 365 */
return BgL_vecz00_1738;}  else 
{ /* Llib/hash.scm 367 */
 bool_t BgL_test4698z00_8628;
{ /* Llib/hash.scm 367 */
 bool_t BgL_test4699z00_8629;
{ /* Llib/hash.scm 367 */
 obj_t BgL_vectorz00_3587;
if(
VECTORP(BgL_bucketsz00_1737))
{ /* Llib/hash.scm 367 */
BgL_vectorz00_3587 = BgL_bucketsz00_1737; }  else 
{ 
 obj_t BgL_auxz00_8632;
BgL_auxz00_8632 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(14386L), BGl_string4064z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_1737); 
FAILURE(BgL_auxz00_8632,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 367 */
 bool_t BgL_test4701z00_8636;
{ /* Llib/hash.scm 367 */
 long BgL_tmpz00_8637;
BgL_tmpz00_8637 = 
VECTOR_LENGTH(BgL_vectorz00_3587); 
BgL_test4701z00_8636 = 
BOUND_CHECK(BgL_iz00_1740, BgL_tmpz00_8637); } 
if(BgL_test4701z00_8636)
{ /* Llib/hash.scm 367 */
BgL_test4699z00_8629 = 
CBOOL(
VECTOR_REF(BgL_vectorz00_3587,BgL_iz00_1740))
; }  else 
{ 
 obj_t BgL_auxz00_8642;
BgL_auxz00_8642 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(14374L), BGl_string4012z00zz__hashz00, BgL_vectorz00_3587, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_3587)), 
(int)(BgL_iz00_1740)); 
FAILURE(BgL_auxz00_8642,BFALSE,BFALSE);} } } 
if(BgL_test4699z00_8629)
{ /* Llib/hash.scm 367 */
 long BgL_arg1479z00_1753;
BgL_arg1479z00_1753 = 
(BgL_iz00_1740+2L); 
{ /* Llib/hash.scm 367 */
 obj_t BgL_vectorz00_3590;
if(
VECTORP(BgL_bucketsz00_1737))
{ /* Llib/hash.scm 367 */
BgL_vectorz00_3590 = BgL_bucketsz00_1737; }  else 
{ 
 obj_t BgL_auxz00_8652;
BgL_auxz00_8652 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(14409L), BGl_string4064z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_1737); 
FAILURE(BgL_auxz00_8652,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 367 */
 bool_t BgL_test4703z00_8656;
{ /* Llib/hash.scm 367 */
 long BgL_tmpz00_8657;
BgL_tmpz00_8657 = 
VECTOR_LENGTH(BgL_vectorz00_3590); 
BgL_test4703z00_8656 = 
BOUND_CHECK(BgL_arg1479z00_1753, BgL_tmpz00_8657); } 
if(BgL_test4703z00_8656)
{ /* Llib/hash.scm 367 */
BgL_test4698z00_8628 = 
CBOOL(
VECTOR_REF(BgL_vectorz00_3590,BgL_arg1479z00_1753))
; }  else 
{ 
 obj_t BgL_auxz00_8662;
BgL_auxz00_8662 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(14397L), BGl_string4012z00zz__hashz00, BgL_vectorz00_3590, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_3590)), 
(int)(BgL_arg1479z00_1753)); 
FAILURE(BgL_auxz00_8662,BFALSE,BFALSE);} } } }  else 
{ /* Llib/hash.scm 367 */
BgL_test4698z00_8628 = ((bool_t)0)
; } } 
if(BgL_test4698z00_8628)
{ /* Llib/hash.scm 367 */
{ /* Llib/hash.scm 369 */
 obj_t BgL_arg1472z00_1747;
{ /* Llib/hash.scm 369 */
 long BgL_arg1473z00_1748;
BgL_arg1473z00_1748 = 
(BgL_iz00_1740+1L); 
{ /* Llib/hash.scm 369 */
 obj_t BgL_vectorz00_3593;
if(
VECTORP(BgL_bucketsz00_1737))
{ /* Llib/hash.scm 369 */
BgL_vectorz00_3593 = BgL_bucketsz00_1737; }  else 
{ 
 obj_t BgL_auxz00_8672;
BgL_auxz00_8672 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(14476L), BGl_string4064z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_1737); 
FAILURE(BgL_auxz00_8672,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 369 */
 bool_t BgL_test4705z00_8676;
{ /* Llib/hash.scm 369 */
 long BgL_tmpz00_8677;
BgL_tmpz00_8677 = 
VECTOR_LENGTH(BgL_vectorz00_3593); 
BgL_test4705z00_8676 = 
BOUND_CHECK(BgL_arg1473z00_1748, BgL_tmpz00_8677); } 
if(BgL_test4705z00_8676)
{ /* Llib/hash.scm 369 */
BgL_arg1472z00_1747 = 
VECTOR_REF(BgL_vectorz00_3593,BgL_arg1473z00_1748); }  else 
{ 
 obj_t BgL_auxz00_8681;
BgL_auxz00_8681 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(14464L), BGl_string4012z00zz__hashz00, BgL_vectorz00_3593, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_3593)), 
(int)(BgL_arg1473z00_1748)); 
FAILURE(BgL_auxz00_8681,BFALSE,BFALSE);} } } } 
{ /* Llib/hash.scm 369 */
 bool_t BgL_test4706z00_8688;
{ /* Llib/hash.scm 369 */
 long BgL_tmpz00_8689;
BgL_tmpz00_8689 = 
VECTOR_LENGTH(BgL_vecz00_1738); 
BgL_test4706z00_8688 = 
BOUND_CHECK(BgL_wz00_1741, BgL_tmpz00_8689); } 
if(BgL_test4706z00_8688)
{ /* Llib/hash.scm 369 */
VECTOR_SET(BgL_vecz00_1738,BgL_wz00_1741,BgL_arg1472z00_1747); }  else 
{ 
 obj_t BgL_auxz00_8693;
BgL_auxz00_8693 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(14445L), BGl_string4065z00zz__hashz00, BgL_vecz00_1738, 
(int)(
VECTOR_LENGTH(BgL_vecz00_1738)), 
(int)(BgL_wz00_1741)); 
FAILURE(BgL_auxz00_8693,BFALSE,BFALSE);} } } 
{ 
 long BgL_wz00_8702; long BgL_iz00_8700;
BgL_iz00_8700 = 
(BgL_iz00_1740+3L); 
BgL_wz00_8702 = 
(BgL_wz00_1741+1L); 
BgL_wz00_1741 = BgL_wz00_8702; 
BgL_iz00_1740 = BgL_iz00_8700; 
goto BgL_zc3z04anonymousza31467ze3z87_1742;} }  else 
{ 
 long BgL_iz00_8704;
BgL_iz00_8704 = 
(BgL_iz00_1740+3L); 
BgL_iz00_1740 = BgL_iz00_8704; 
goto BgL_zc3z04anonymousza31467ze3z87_1742;} } } } } } } } } 

}



/* plain-hashtable->vector */
obj_t BGl_plainzd2hashtablezd2ze3vectorze3zz__hashz00(obj_t BgL_tablez00_62)
{
{ /* Llib/hash.scm 376 */
{ /* Llib/hash.scm 377 */
 obj_t BgL_vecz00_1756;
{ /* Llib/hash.scm 377 */
 long BgL_arg1490z00_1776;
{ /* Llib/hash.scm 377 */
 long BgL_res2622z00_3605;
{ /* Llib/hash.scm 341 */
 bool_t BgL_test4707z00_8706;
{ /* Llib/hash.scm 341 */
 obj_t BgL_tmpz00_8707;
{ /* Llib/hash.scm 341 */
 obj_t BgL_res2621z00_3604;
{ /* Llib/hash.scm 341 */
 obj_t BgL_aux3190z00_6068;
BgL_aux3190z00_6068 = 
STRUCT_KEY(BgL_tablez00_62); 
if(
SYMBOLP(BgL_aux3190z00_6068))
{ /* Llib/hash.scm 341 */
BgL_res2621z00_3604 = BgL_aux3190z00_6068; }  else 
{ 
 obj_t BgL_auxz00_8711;
BgL_auxz00_8711 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(13368L), BGl_string4066z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3190z00_6068); 
FAILURE(BgL_auxz00_8711,BFALSE,BFALSE);} } 
BgL_tmpz00_8707 = BgL_res2621z00_3604; } 
BgL_test4707z00_8706 = 
(BgL_tmpz00_8707==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4707z00_8706)
{ /* Llib/hash.scm 341 */
 obj_t BgL_tmpz00_8716;
{ /* Llib/hash.scm 341 */
 obj_t BgL_aux3192z00_6070;
{ /* Llib/hash.scm 341 */
 int BgL_tmpz00_8717;
BgL_tmpz00_8717 = 
(int)(0L); 
BgL_aux3192z00_6070 = 
UNSAFE_STRUCT_REF(BgL_tablez00_62, BgL_tmpz00_8717); } 
if(
INTEGERP(BgL_aux3192z00_6070))
{ /* Llib/hash.scm 341 */
BgL_tmpz00_8716 = BgL_aux3192z00_6070
; }  else 
{ 
 obj_t BgL_auxz00_8722;
BgL_auxz00_8722 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(13368L), BGl_string4066z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_aux3192z00_6070); 
FAILURE(BgL_auxz00_8722,BFALSE,BFALSE);} } 
BgL_res2622z00_3605 = 
(long)CINT(BgL_tmpz00_8716); }  else 
{ /* Llib/hash.scm 341 */
 obj_t BgL_tmpz00_8727;
{ /* Llib/hash.scm 341 */
 obj_t BgL_aux3193z00_6071;
BgL_aux3193z00_6071 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_62); 
if(
INTEGERP(BgL_aux3193z00_6071))
{ /* Llib/hash.scm 341 */
BgL_tmpz00_8727 = BgL_aux3193z00_6071
; }  else 
{ 
 obj_t BgL_auxz00_8731;
BgL_auxz00_8731 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(13368L), BGl_string4066z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_aux3193z00_6071); 
FAILURE(BgL_auxz00_8731,BFALSE,BFALSE);} } 
BgL_res2622z00_3605 = 
(long)CINT(BgL_tmpz00_8727); } } 
BgL_arg1490z00_1776 = BgL_res2622z00_3605; } 
BgL_vecz00_1756 = 
make_vector(BgL_arg1490z00_1776, BUNSPEC); } 
{ /* Llib/hash.scm 377 */
 obj_t BgL_bucketsz00_1757;
{ /* Llib/hash.scm 378 */
 bool_t BgL_test4711z00_8737;
{ /* Llib/hash.scm 378 */
 obj_t BgL_tmpz00_8738;
{ /* Llib/hash.scm 378 */
 obj_t BgL_res2624z00_3610;
{ /* Llib/hash.scm 378 */
 obj_t BgL_aux3194z00_6073;
BgL_aux3194z00_6073 = 
STRUCT_KEY(BgL_tablez00_62); 
if(
SYMBOLP(BgL_aux3194z00_6073))
{ /* Llib/hash.scm 378 */
BgL_res2624z00_3610 = BgL_aux3194z00_6073; }  else 
{ 
 obj_t BgL_auxz00_8742;
BgL_auxz00_8742 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(14893L), BGl_string4066z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3194z00_6073); 
FAILURE(BgL_auxz00_8742,BFALSE,BFALSE);} } 
BgL_tmpz00_8738 = BgL_res2624z00_3610; } 
BgL_test4711z00_8737 = 
(BgL_tmpz00_8738==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4711z00_8737)
{ /* Llib/hash.scm 378 */
 int BgL_tmpz00_8747;
BgL_tmpz00_8747 = 
(int)(2L); 
BgL_bucketsz00_1757 = 
UNSAFE_STRUCT_REF(BgL_tablez00_62, BgL_tmpz00_8747); }  else 
{ /* Llib/hash.scm 378 */
BgL_bucketsz00_1757 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_62); } } 
{ /* Llib/hash.scm 378 */
 long BgL_bucketszd2lenzd2_1758;
{ /* Llib/hash.scm 379 */
 obj_t BgL_vectorz00_3611;
if(
VECTORP(BgL_bucketsz00_1757))
{ /* Llib/hash.scm 379 */
BgL_vectorz00_3611 = BgL_bucketsz00_1757; }  else 
{ 
 obj_t BgL_auxz00_8753;
BgL_auxz00_8753 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(14952L), BGl_string4066z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_1757); 
FAILURE(BgL_auxz00_8753,BFALSE,BFALSE);} 
BgL_bucketszd2lenzd2_1758 = 
VECTOR_LENGTH(BgL_vectorz00_3611); } 
{ /* Llib/hash.scm 379 */

{ 
 long BgL_iz00_1760; long BgL_wz00_1761;
BgL_iz00_1760 = 0L; 
BgL_wz00_1761 = 0L; 
BgL_zc3z04anonymousza31481ze3z87_1762:
if(
(BgL_iz00_1760==BgL_bucketszd2lenzd2_1758))
{ /* Llib/hash.scm 382 */
return BgL_vecz00_1756;}  else 
{ /* Llib/hash.scm 384 */
 obj_t BgL_g1058z00_1764;
{ /* Llib/hash.scm 384 */
 obj_t BgL_vectorz00_3614;
if(
VECTORP(BgL_bucketsz00_1757))
{ /* Llib/hash.scm 384 */
BgL_vectorz00_3614 = BgL_bucketsz00_1757; }  else 
{ 
 obj_t BgL_auxz00_8762;
BgL_auxz00_8762 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(15072L), BGl_string4064z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_1757); 
FAILURE(BgL_auxz00_8762,BFALSE,BFALSE);} 
BgL_g1058z00_1764 = 
VECTOR_REF(BgL_vectorz00_3614,BgL_iz00_1760); } 
{ 
 obj_t BgL_bucketz00_1766; long BgL_wz00_1767;
BgL_bucketz00_1766 = BgL_g1058z00_1764; 
BgL_wz00_1767 = BgL_wz00_1761; 
BgL_zc3z04anonymousza31483ze3z87_1768:
if(
NULLP(BgL_bucketz00_1766))
{ 
 long BgL_wz00_8771; long BgL_iz00_8769;
BgL_iz00_8769 = 
(BgL_iz00_1760+1L); 
BgL_wz00_8771 = BgL_wz00_1767; 
BgL_wz00_1761 = BgL_wz00_8771; 
BgL_iz00_1760 = BgL_iz00_8769; 
goto BgL_zc3z04anonymousza31481ze3z87_1762;}  else 
{ /* Llib/hash.scm 386 */
{ /* Llib/hash.scm 389 */
 obj_t BgL_arg1487z00_1771;
{ /* Llib/hash.scm 389 */
 obj_t BgL_pairz00_3617;
if(
PAIRP(BgL_bucketz00_1766))
{ /* Llib/hash.scm 389 */
BgL_pairz00_3617 = BgL_bucketz00_1766; }  else 
{ 
 obj_t BgL_auxz00_8774;
BgL_auxz00_8774 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(15190L), BGl_string4067z00zz__hashz00, BGl_string4068z00zz__hashz00, BgL_bucketz00_1766); 
FAILURE(BgL_auxz00_8774,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 389 */
 obj_t BgL_pairz00_3620;
{ /* Llib/hash.scm 389 */
 obj_t BgL_aux3202z00_6081;
BgL_aux3202z00_6081 = 
CAR(BgL_pairz00_3617); 
if(
PAIRP(BgL_aux3202z00_6081))
{ /* Llib/hash.scm 389 */
BgL_pairz00_3620 = BgL_aux3202z00_6081; }  else 
{ 
 obj_t BgL_auxz00_8781;
BgL_auxz00_8781 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(15184L), BGl_string4067z00zz__hashz00, BGl_string4068z00zz__hashz00, BgL_aux3202z00_6081); 
FAILURE(BgL_auxz00_8781,BFALSE,BFALSE);} } 
BgL_arg1487z00_1771 = 
CDR(BgL_pairz00_3620); } } 
VECTOR_SET(BgL_vecz00_1756,BgL_wz00_1767,BgL_arg1487z00_1771); } 
{ /* Llib/hash.scm 390 */
 obj_t BgL_arg1488z00_1772; long BgL_arg1489z00_1773;
{ /* Llib/hash.scm 390 */
 obj_t BgL_pairz00_3623;
if(
PAIRP(BgL_bucketz00_1766))
{ /* Llib/hash.scm 390 */
BgL_pairz00_3623 = BgL_bucketz00_1766; }  else 
{ 
 obj_t BgL_auxz00_8789;
BgL_auxz00_8789 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(15219L), BGl_string4067z00zz__hashz00, BGl_string4068z00zz__hashz00, BgL_bucketz00_1766); 
FAILURE(BgL_auxz00_8789,BFALSE,BFALSE);} 
BgL_arg1488z00_1772 = 
CDR(BgL_pairz00_3623); } 
BgL_arg1489z00_1773 = 
(BgL_wz00_1767+1L); 
{ 
 long BgL_wz00_8796; obj_t BgL_bucketz00_8795;
BgL_bucketz00_8795 = BgL_arg1488z00_1772; 
BgL_wz00_8796 = BgL_arg1489z00_1773; 
BgL_wz00_1767 = BgL_wz00_8796; 
BgL_bucketz00_1766 = BgL_bucketz00_8795; 
goto BgL_zc3z04anonymousza31483ze3z87_1768;} } } } } } } } } } } 

}



/* hashtable->list */
BGL_EXPORTED_DEF obj_t BGl_hashtablezd2ze3listz31zz__hashz00(obj_t BgL_tablez00_63)
{
{ /* Llib/hash.scm 395 */
if(
BGl_hashtablezd2openzd2stringzf3zf3zz__hashz00(BgL_tablez00_63))
{ /* Llib/hash.scm 397 */
BGL_TAIL return 
BGl_openzd2stringzd2hashtablezd2ze3listz31zz__hashz00(BgL_tablez00_63);}  else 
{ /* Llib/hash.scm 397 */
if(
BGl_hashtablezd2weakzf3z21zz__hashz00(BgL_tablez00_63))
{ /* Llib/hash.scm 399 */
BGL_TAIL return 
BGl_weakzd2hashtablezd2ze3listze3zz__weakhashz00(BgL_tablez00_63);}  else 
{ /* Llib/hash.scm 399 */
BGL_TAIL return 
BGl_plainzd2hashtablezd2ze3listze3zz__hashz00(BgL_tablez00_63);} } } 

}



/* &hashtable->list */
obj_t BGl_z62hashtablezd2ze3listz53zz__hashz00(obj_t BgL_envz00_5516, obj_t BgL_tablez00_5517)
{
{ /* Llib/hash.scm 395 */
{ /* Llib/hash.scm 397 */
 obj_t BgL_auxz00_8804;
if(
STRUCTP(BgL_tablez00_5517))
{ /* Llib/hash.scm 397 */
BgL_auxz00_8804 = BgL_tablez00_5517
; }  else 
{ 
 obj_t BgL_auxz00_8807;
BgL_auxz00_8807 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(15523L), BGl_string4069z00zz__hashz00, BGl_string4057z00zz__hashz00, BgL_tablez00_5517); 
FAILURE(BgL_auxz00_8807,BFALSE,BFALSE);} 
return 
BGl_hashtablezd2ze3listz31zz__hashz00(BgL_auxz00_8804);} } 

}



/* open-string-hashtable->list */
obj_t BGl_openzd2stringzd2hashtablezd2ze3listz31zz__hashz00(obj_t BgL_tablez00_64)
{
{ /* Llib/hash.scm 407 */
{ /* Llib/hash.scm 408 */
 obj_t BgL_siza7eza7_1780;
{ /* Llib/hash.scm 408 */
 bool_t BgL_test4723z00_8812;
{ /* Llib/hash.scm 408 */
 obj_t BgL_tmpz00_8813;
{ /* Llib/hash.scm 408 */
 obj_t BgL_res2625z00_3628;
{ /* Llib/hash.scm 408 */
 obj_t BgL_aux3208z00_6087;
BgL_aux3208z00_6087 = 
STRUCT_KEY(BgL_tablez00_64); 
if(
SYMBOLP(BgL_aux3208z00_6087))
{ /* Llib/hash.scm 408 */
BgL_res2625z00_3628 = BgL_aux3208z00_6087; }  else 
{ 
 obj_t BgL_auxz00_8817;
BgL_auxz00_8817 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(16010L), BGl_string4070z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3208z00_6087); 
FAILURE(BgL_auxz00_8817,BFALSE,BFALSE);} } 
BgL_tmpz00_8813 = BgL_res2625z00_3628; } 
BgL_test4723z00_8812 = 
(BgL_tmpz00_8813==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4723z00_8812)
{ /* Llib/hash.scm 408 */
 int BgL_tmpz00_8822;
BgL_tmpz00_8822 = 
(int)(1L); 
BgL_siza7eza7_1780 = 
UNSAFE_STRUCT_REF(BgL_tablez00_64, BgL_tmpz00_8822); }  else 
{ /* Llib/hash.scm 408 */
BgL_siza7eza7_1780 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_64); } } 
{ /* Llib/hash.scm 408 */
 long BgL_siza7e3za7_1781;
{ /* Llib/hash.scm 409 */
 long BgL_za72za7_3629;
{ /* Llib/hash.scm 409 */
 obj_t BgL_tmpz00_8826;
if(
INTEGERP(BgL_siza7eza7_1780))
{ /* Llib/hash.scm 409 */
BgL_tmpz00_8826 = BgL_siza7eza7_1780
; }  else 
{ 
 obj_t BgL_auxz00_8829;
BgL_auxz00_8829 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(16062L), BGl_string4070z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_siza7eza7_1780); 
FAILURE(BgL_auxz00_8829,BFALSE,BFALSE);} 
BgL_za72za7_3629 = 
(long)CINT(BgL_tmpz00_8826); } 
BgL_siza7e3za7_1781 = 
(3L*BgL_za72za7_3629); } 
{ /* Llib/hash.scm 409 */
 obj_t BgL_bucketsz00_1782;
{ /* Llib/hash.scm 410 */
 bool_t BgL_test4726z00_8835;
{ /* Llib/hash.scm 410 */
 obj_t BgL_tmpz00_8836;
{ /* Llib/hash.scm 410 */
 obj_t BgL_res2626z00_3633;
{ /* Llib/hash.scm 410 */
 obj_t BgL_aux3211z00_6090;
BgL_aux3211z00_6090 = 
STRUCT_KEY(BgL_tablez00_64); 
if(
SYMBOLP(BgL_aux3211z00_6090))
{ /* Llib/hash.scm 410 */
BgL_res2626z00_3633 = BgL_aux3211z00_6090; }  else 
{ 
 obj_t BgL_auxz00_8840;
BgL_auxz00_8840 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(16081L), BGl_string4070z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3211z00_6090); 
FAILURE(BgL_auxz00_8840,BFALSE,BFALSE);} } 
BgL_tmpz00_8836 = BgL_res2626z00_3633; } 
BgL_test4726z00_8835 = 
(BgL_tmpz00_8836==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4726z00_8835)
{ /* Llib/hash.scm 410 */
 int BgL_tmpz00_8845;
BgL_tmpz00_8845 = 
(int)(2L); 
BgL_bucketsz00_1782 = 
UNSAFE_STRUCT_REF(BgL_tablez00_64, BgL_tmpz00_8845); }  else 
{ /* Llib/hash.scm 410 */
BgL_bucketsz00_1782 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_64); } } 
{ /* Llib/hash.scm 410 */

{ 
 long BgL_iz00_1785; obj_t BgL_resz00_1786;
BgL_iz00_1785 = 0L; 
BgL_resz00_1786 = BNIL; 
BgL_zc3z04anonymousza31494ze3z87_1787:
if(
(BgL_iz00_1785==BgL_siza7e3za7_1781))
{ /* Llib/hash.scm 413 */
return BgL_resz00_1786;}  else 
{ /* Llib/hash.scm 415 */
 bool_t BgL_test4729z00_8851;
{ /* Llib/hash.scm 415 */
 bool_t BgL_test4730z00_8852;
{ /* Llib/hash.scm 415 */
 obj_t BgL_vectorz00_3636;
if(
VECTORP(BgL_bucketsz00_1782))
{ /* Llib/hash.scm 415 */
BgL_vectorz00_3636 = BgL_bucketsz00_1782; }  else 
{ 
 obj_t BgL_auxz00_8855;
BgL_auxz00_8855 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(16204L), BGl_string4064z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_1782); 
FAILURE(BgL_auxz00_8855,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 415 */
 bool_t BgL_test4732z00_8859;
{ /* Llib/hash.scm 415 */
 long BgL_tmpz00_8860;
BgL_tmpz00_8860 = 
VECTOR_LENGTH(BgL_vectorz00_3636); 
BgL_test4732z00_8859 = 
BOUND_CHECK(BgL_iz00_1785, BgL_tmpz00_8860); } 
if(BgL_test4732z00_8859)
{ /* Llib/hash.scm 415 */
BgL_test4730z00_8852 = 
CBOOL(
VECTOR_REF(BgL_vectorz00_3636,BgL_iz00_1785))
; }  else 
{ 
 obj_t BgL_auxz00_8865;
BgL_auxz00_8865 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(16192L), BGl_string4012z00zz__hashz00, BgL_vectorz00_3636, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_3636)), 
(int)(BgL_iz00_1785)); 
FAILURE(BgL_auxz00_8865,BFALSE,BFALSE);} } } 
if(BgL_test4730z00_8852)
{ /* Llib/hash.scm 415 */
 long BgL_arg1506z00_1798;
BgL_arg1506z00_1798 = 
(BgL_iz00_1785+2L); 
{ /* Llib/hash.scm 415 */
 obj_t BgL_vectorz00_3639;
if(
VECTORP(BgL_bucketsz00_1782))
{ /* Llib/hash.scm 415 */
BgL_vectorz00_3639 = BgL_bucketsz00_1782; }  else 
{ 
 obj_t BgL_auxz00_8875;
BgL_auxz00_8875 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(16227L), BGl_string4064z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_1782); 
FAILURE(BgL_auxz00_8875,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 415 */
 bool_t BgL_test4734z00_8879;
{ /* Llib/hash.scm 415 */
 long BgL_tmpz00_8880;
BgL_tmpz00_8880 = 
VECTOR_LENGTH(BgL_vectorz00_3639); 
BgL_test4734z00_8879 = 
BOUND_CHECK(BgL_arg1506z00_1798, BgL_tmpz00_8880); } 
if(BgL_test4734z00_8879)
{ /* Llib/hash.scm 415 */
BgL_test4729z00_8851 = 
CBOOL(
VECTOR_REF(BgL_vectorz00_3639,BgL_arg1506z00_1798))
; }  else 
{ 
 obj_t BgL_auxz00_8885;
BgL_auxz00_8885 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(16215L), BGl_string4012z00zz__hashz00, BgL_vectorz00_3639, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_3639)), 
(int)(BgL_arg1506z00_1798)); 
FAILURE(BgL_auxz00_8885,BFALSE,BFALSE);} } } }  else 
{ /* Llib/hash.scm 415 */
BgL_test4729z00_8851 = ((bool_t)0)
; } } 
if(BgL_test4729z00_8851)
{ /* Llib/hash.scm 416 */
 long BgL_arg1499z00_1792; obj_t BgL_arg1500z00_1793;
BgL_arg1499z00_1792 = 
(BgL_iz00_1785+3L); 
{ /* Llib/hash.scm 416 */
 obj_t BgL_arg1501z00_1794;
{ /* Llib/hash.scm 416 */
 long BgL_arg1502z00_1795;
BgL_arg1502z00_1795 = 
(BgL_iz00_1785+1L); 
{ /* Llib/hash.scm 416 */
 obj_t BgL_vectorz00_3643;
if(
VECTORP(BgL_bucketsz00_1782))
{ /* Llib/hash.scm 416 */
BgL_vectorz00_3643 = BgL_bucketsz00_1782; }  else 
{ 
 obj_t BgL_auxz00_8896;
BgL_auxz00_8896 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(16284L), BGl_string4064z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_1782); 
FAILURE(BgL_auxz00_8896,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 416 */
 bool_t BgL_test4736z00_8900;
{ /* Llib/hash.scm 416 */
 long BgL_tmpz00_8901;
BgL_tmpz00_8901 = 
VECTOR_LENGTH(BgL_vectorz00_3643); 
BgL_test4736z00_8900 = 
BOUND_CHECK(BgL_arg1502z00_1795, BgL_tmpz00_8901); } 
if(BgL_test4736z00_8900)
{ /* Llib/hash.scm 416 */
BgL_arg1501z00_1794 = 
VECTOR_REF(BgL_vectorz00_3643,BgL_arg1502z00_1795); }  else 
{ 
 obj_t BgL_auxz00_8905;
BgL_auxz00_8905 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(16272L), BGl_string4012z00zz__hashz00, BgL_vectorz00_3643, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_3643)), 
(int)(BgL_arg1502z00_1795)); 
FAILURE(BgL_auxz00_8905,BFALSE,BFALSE);} } } } 
BgL_arg1500z00_1793 = 
MAKE_YOUNG_PAIR(BgL_arg1501z00_1794, BgL_resz00_1786); } 
{ 
 obj_t BgL_resz00_8914; long BgL_iz00_8913;
BgL_iz00_8913 = BgL_arg1499z00_1792; 
BgL_resz00_8914 = BgL_arg1500z00_1793; 
BgL_resz00_1786 = BgL_resz00_8914; 
BgL_iz00_1785 = BgL_iz00_8913; 
goto BgL_zc3z04anonymousza31494ze3z87_1787;} }  else 
{ 
 long BgL_iz00_8915;
BgL_iz00_8915 = 
(BgL_iz00_1785+3L); 
BgL_iz00_1785 = BgL_iz00_8915; 
goto BgL_zc3z04anonymousza31494ze3z87_1787;} } } } } } } } 

}



/* plain-hashtable->list */
obj_t BGl_plainzd2hashtablezd2ze3listze3zz__hashz00(obj_t BgL_tablez00_65)
{
{ /* Llib/hash.scm 422 */
{ /* Llib/hash.scm 423 */
 obj_t BgL_vecz00_1800;
{ /* Llib/hash.scm 423 */
 long BgL_arg1515z00_1821;
{ /* Llib/hash.scm 423 */
 long BgL_res2628z00_3651;
{ /* Llib/hash.scm 341 */
 bool_t BgL_test4737z00_8917;
{ /* Llib/hash.scm 341 */
 obj_t BgL_tmpz00_8918;
{ /* Llib/hash.scm 341 */
 obj_t BgL_res2627z00_3650;
{ /* Llib/hash.scm 341 */
 obj_t BgL_aux3219z00_6098;
BgL_aux3219z00_6098 = 
STRUCT_KEY(BgL_tablez00_65); 
if(
SYMBOLP(BgL_aux3219z00_6098))
{ /* Llib/hash.scm 341 */
BgL_res2627z00_3650 = BgL_aux3219z00_6098; }  else 
{ 
 obj_t BgL_auxz00_8922;
BgL_auxz00_8922 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(13368L), BGl_string4071z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3219z00_6098); 
FAILURE(BgL_auxz00_8922,BFALSE,BFALSE);} } 
BgL_tmpz00_8918 = BgL_res2627z00_3650; } 
BgL_test4737z00_8917 = 
(BgL_tmpz00_8918==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4737z00_8917)
{ /* Llib/hash.scm 341 */
 obj_t BgL_tmpz00_8927;
{ /* Llib/hash.scm 341 */
 obj_t BgL_aux3221z00_6100;
{ /* Llib/hash.scm 341 */
 int BgL_tmpz00_8928;
BgL_tmpz00_8928 = 
(int)(0L); 
BgL_aux3221z00_6100 = 
UNSAFE_STRUCT_REF(BgL_tablez00_65, BgL_tmpz00_8928); } 
if(
INTEGERP(BgL_aux3221z00_6100))
{ /* Llib/hash.scm 341 */
BgL_tmpz00_8927 = BgL_aux3221z00_6100
; }  else 
{ 
 obj_t BgL_auxz00_8933;
BgL_auxz00_8933 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(13368L), BGl_string4071z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_aux3221z00_6100); 
FAILURE(BgL_auxz00_8933,BFALSE,BFALSE);} } 
BgL_res2628z00_3651 = 
(long)CINT(BgL_tmpz00_8927); }  else 
{ /* Llib/hash.scm 341 */
 obj_t BgL_tmpz00_8938;
{ /* Llib/hash.scm 341 */
 obj_t BgL_aux3222z00_6101;
BgL_aux3222z00_6101 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_65); 
if(
INTEGERP(BgL_aux3222z00_6101))
{ /* Llib/hash.scm 341 */
BgL_tmpz00_8938 = BgL_aux3222z00_6101
; }  else 
{ 
 obj_t BgL_auxz00_8942;
BgL_auxz00_8942 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(13368L), BGl_string4071z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_aux3222z00_6101); 
FAILURE(BgL_auxz00_8942,BFALSE,BFALSE);} } 
BgL_res2628z00_3651 = 
(long)CINT(BgL_tmpz00_8938); } } 
BgL_arg1515z00_1821 = BgL_res2628z00_3651; } 
BgL_vecz00_1800 = 
make_vector(BgL_arg1515z00_1821, BUNSPEC); } 
{ /* Llib/hash.scm 423 */
 obj_t BgL_bucketsz00_1801;
{ /* Llib/hash.scm 424 */
 bool_t BgL_test4741z00_8948;
{ /* Llib/hash.scm 424 */
 obj_t BgL_tmpz00_8949;
{ /* Llib/hash.scm 424 */
 obj_t BgL_res2630z00_3656;
{ /* Llib/hash.scm 424 */
 obj_t BgL_aux3223z00_6103;
BgL_aux3223z00_6103 = 
STRUCT_KEY(BgL_tablez00_65); 
if(
SYMBOLP(BgL_aux3223z00_6103))
{ /* Llib/hash.scm 424 */
BgL_res2630z00_3656 = BgL_aux3223z00_6103; }  else 
{ 
 obj_t BgL_auxz00_8953;
BgL_auxz00_8953 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(16672L), BGl_string4071z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3223z00_6103); 
FAILURE(BgL_auxz00_8953,BFALSE,BFALSE);} } 
BgL_tmpz00_8949 = BgL_res2630z00_3656; } 
BgL_test4741z00_8948 = 
(BgL_tmpz00_8949==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4741z00_8948)
{ /* Llib/hash.scm 424 */
 int BgL_tmpz00_8958;
BgL_tmpz00_8958 = 
(int)(2L); 
BgL_bucketsz00_1801 = 
UNSAFE_STRUCT_REF(BgL_tablez00_65, BgL_tmpz00_8958); }  else 
{ /* Llib/hash.scm 424 */
BgL_bucketsz00_1801 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_65); } } 
{ /* Llib/hash.scm 424 */
 long BgL_bucketszd2lenzd2_1802;
{ /* Llib/hash.scm 425 */
 obj_t BgL_vectorz00_3657;
if(
VECTORP(BgL_bucketsz00_1801))
{ /* Llib/hash.scm 425 */
BgL_vectorz00_3657 = BgL_bucketsz00_1801; }  else 
{ 
 obj_t BgL_auxz00_8964;
BgL_auxz00_8964 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(16731L), BGl_string4071z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_1801); 
FAILURE(BgL_auxz00_8964,BFALSE,BFALSE);} 
BgL_bucketszd2lenzd2_1802 = 
VECTOR_LENGTH(BgL_vectorz00_3657); } 
{ /* Llib/hash.scm 425 */

{ 
 long BgL_iz00_1805; obj_t BgL_resz00_1806;
BgL_iz00_1805 = 0L; 
BgL_resz00_1806 = BNIL; 
BgL_zc3z04anonymousza31507ze3z87_1807:
if(
(BgL_iz00_1805==BgL_bucketszd2lenzd2_1802))
{ /* Llib/hash.scm 428 */
return BgL_resz00_1806;}  else 
{ /* Llib/hash.scm 430 */
 obj_t BgL_g1061z00_1809;
{ /* Llib/hash.scm 430 */
 obj_t BgL_vectorz00_3660;
if(
VECTORP(BgL_bucketsz00_1801))
{ /* Llib/hash.scm 430 */
BgL_vectorz00_3660 = BgL_bucketsz00_1801; }  else 
{ 
 obj_t BgL_auxz00_8973;
BgL_auxz00_8973 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(16855L), BGl_string4064z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_1801); 
FAILURE(BgL_auxz00_8973,BFALSE,BFALSE);} 
BgL_g1061z00_1809 = 
VECTOR_REF(BgL_vectorz00_3660,BgL_iz00_1805); } 
{ 
 obj_t BgL_bucketz00_1811; obj_t BgL_resz00_1812;
BgL_bucketz00_1811 = BgL_g1061z00_1809; 
BgL_resz00_1812 = BgL_resz00_1806; 
BgL_zc3z04anonymousza31509ze3z87_1813:
if(
NULLP(BgL_bucketz00_1811))
{ 
 obj_t BgL_resz00_8982; long BgL_iz00_8980;
BgL_iz00_8980 = 
(BgL_iz00_1805+1L); 
BgL_resz00_8982 = BgL_resz00_1812; 
BgL_resz00_1806 = BgL_resz00_8982; 
BgL_iz00_1805 = BgL_iz00_8980; 
goto BgL_zc3z04anonymousza31507ze3z87_1807;}  else 
{ /* Llib/hash.scm 434 */
 obj_t BgL_arg1512z00_1816; obj_t BgL_arg1513z00_1817;
{ /* Llib/hash.scm 434 */
 obj_t BgL_pairz00_3663;
if(
PAIRP(BgL_bucketz00_1811))
{ /* Llib/hash.scm 434 */
BgL_pairz00_3663 = BgL_bucketz00_1811; }  else 
{ 
 obj_t BgL_auxz00_8985;
BgL_auxz00_8985 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(16946L), BGl_string4067z00zz__hashz00, BGl_string4068z00zz__hashz00, BgL_bucketz00_1811); 
FAILURE(BgL_auxz00_8985,BFALSE,BFALSE);} 
BgL_arg1512z00_1816 = 
CDR(BgL_pairz00_3663); } 
{ /* Llib/hash.scm 434 */
 obj_t BgL_arg1514z00_1818;
{ /* Llib/hash.scm 434 */
 obj_t BgL_pairz00_3664;
if(
PAIRP(BgL_bucketz00_1811))
{ /* Llib/hash.scm 434 */
BgL_pairz00_3664 = BgL_bucketz00_1811; }  else 
{ 
 obj_t BgL_auxz00_8992;
BgL_auxz00_8992 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(16966L), BGl_string4067z00zz__hashz00, BGl_string4068z00zz__hashz00, BgL_bucketz00_1811); 
FAILURE(BgL_auxz00_8992,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 434 */
 obj_t BgL_pairz00_3667;
{ /* Llib/hash.scm 434 */
 obj_t BgL_aux3233z00_6113;
BgL_aux3233z00_6113 = 
CAR(BgL_pairz00_3664); 
if(
PAIRP(BgL_aux3233z00_6113))
{ /* Llib/hash.scm 434 */
BgL_pairz00_3667 = BgL_aux3233z00_6113; }  else 
{ 
 obj_t BgL_auxz00_8999;
BgL_auxz00_8999 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(16960L), BGl_string4067z00zz__hashz00, BGl_string4068z00zz__hashz00, BgL_aux3233z00_6113); 
FAILURE(BgL_auxz00_8999,BFALSE,BFALSE);} } 
BgL_arg1514z00_1818 = 
CDR(BgL_pairz00_3667); } } 
BgL_arg1513z00_1817 = 
MAKE_YOUNG_PAIR(BgL_arg1514z00_1818, BgL_resz00_1812); } 
{ 
 obj_t BgL_resz00_9006; obj_t BgL_bucketz00_9005;
BgL_bucketz00_9005 = BgL_arg1512z00_1816; 
BgL_resz00_9006 = BgL_arg1513z00_1817; 
BgL_resz00_1812 = BgL_resz00_9006; 
BgL_bucketz00_1811 = BgL_bucketz00_9005; 
goto BgL_zc3z04anonymousza31509ze3z87_1813;} } } } } } } } } } 

}



/* hashtable-key-list */
BGL_EXPORTED_DEF obj_t BGl_hashtablezd2keyzd2listz00zz__hashz00(obj_t BgL_tablez00_66)
{
{ /* Llib/hash.scm 439 */
if(
BGl_hashtablezd2openzd2stringzf3zf3zz__hashz00(BgL_tablez00_66))
{ /* Llib/hash.scm 441 */
BGL_TAIL return 
BGl_openzd2stringzd2hashtablezd2keyzd2listz00zz__hashz00(BgL_tablez00_66);}  else 
{ /* Llib/hash.scm 441 */
if(
BGl_hashtablezd2weakzf3z21zz__hashz00(BgL_tablez00_66))
{ /* Llib/hash.scm 443 */
BGL_TAIL return 
BGl_weakzd2hashtablezd2keyzd2listzd2zz__weakhashz00(BgL_tablez00_66);}  else 
{ /* Llib/hash.scm 443 */
BGL_TAIL return 
BGl_plainzd2hashtablezd2keyzd2listzd2zz__hashz00(BgL_tablez00_66);} } } 

}



/* &hashtable-key-list */
obj_t BGl_z62hashtablezd2keyzd2listz62zz__hashz00(obj_t BgL_envz00_5518, obj_t BgL_tablez00_5519)
{
{ /* Llib/hash.scm 439 */
{ /* Llib/hash.scm 441 */
 obj_t BgL_auxz00_9014;
if(
STRUCTP(BgL_tablez00_5519))
{ /* Llib/hash.scm 441 */
BgL_auxz00_9014 = BgL_tablez00_5519
; }  else 
{ 
 obj_t BgL_auxz00_9017;
BgL_auxz00_9017 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(17267L), BGl_string4072z00zz__hashz00, BGl_string4057z00zz__hashz00, BgL_tablez00_5519); 
FAILURE(BgL_auxz00_9017,BFALSE,BFALSE);} 
return 
BGl_hashtablezd2keyzd2listz00zz__hashz00(BgL_auxz00_9014);} } 

}



/* open-string-hashtable-key-list */
obj_t BGl_openzd2stringzd2hashtablezd2keyzd2listz00zz__hashz00(obj_t BgL_tablez00_67)
{
{ /* Llib/hash.scm 451 */
{ /* Llib/hash.scm 452 */
 obj_t BgL_siza7eza7_1825;
{ /* Llib/hash.scm 452 */
 bool_t BgL_test4753z00_9022;
{ /* Llib/hash.scm 452 */
 obj_t BgL_tmpz00_9023;
{ /* Llib/hash.scm 452 */
 obj_t BgL_res2631z00_3671;
{ /* Llib/hash.scm 452 */
 obj_t BgL_aux3237z00_6117;
BgL_aux3237z00_6117 = 
STRUCT_KEY(BgL_tablez00_67); 
if(
SYMBOLP(BgL_aux3237z00_6117))
{ /* Llib/hash.scm 452 */
BgL_res2631z00_3671 = BgL_aux3237z00_6117; }  else 
{ 
 obj_t BgL_auxz00_9027;
BgL_auxz00_9027 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(17766L), BGl_string4073z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3237z00_6117); 
FAILURE(BgL_auxz00_9027,BFALSE,BFALSE);} } 
BgL_tmpz00_9023 = BgL_res2631z00_3671; } 
BgL_test4753z00_9022 = 
(BgL_tmpz00_9023==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4753z00_9022)
{ /* Llib/hash.scm 452 */
 int BgL_tmpz00_9032;
BgL_tmpz00_9032 = 
(int)(1L); 
BgL_siza7eza7_1825 = 
UNSAFE_STRUCT_REF(BgL_tablez00_67, BgL_tmpz00_9032); }  else 
{ /* Llib/hash.scm 452 */
BgL_siza7eza7_1825 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_67); } } 
{ /* Llib/hash.scm 452 */
 long BgL_siza7e3za7_1826;
{ /* Llib/hash.scm 453 */
 long BgL_za72za7_3672;
{ /* Llib/hash.scm 453 */
 obj_t BgL_tmpz00_9036;
if(
INTEGERP(BgL_siza7eza7_1825))
{ /* Llib/hash.scm 453 */
BgL_tmpz00_9036 = BgL_siza7eza7_1825
; }  else 
{ 
 obj_t BgL_auxz00_9039;
BgL_auxz00_9039 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(17818L), BGl_string4073z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_siza7eza7_1825); 
FAILURE(BgL_auxz00_9039,BFALSE,BFALSE);} 
BgL_za72za7_3672 = 
(long)CINT(BgL_tmpz00_9036); } 
BgL_siza7e3za7_1826 = 
(3L*BgL_za72za7_3672); } 
{ /* Llib/hash.scm 453 */
 obj_t BgL_bucketsz00_1827;
{ /* Llib/hash.scm 454 */
 bool_t BgL_test4756z00_9045;
{ /* Llib/hash.scm 454 */
 obj_t BgL_tmpz00_9046;
{ /* Llib/hash.scm 454 */
 obj_t BgL_res2632z00_3676;
{ /* Llib/hash.scm 454 */
 obj_t BgL_aux3240z00_6120;
BgL_aux3240z00_6120 = 
STRUCT_KEY(BgL_tablez00_67); 
if(
SYMBOLP(BgL_aux3240z00_6120))
{ /* Llib/hash.scm 454 */
BgL_res2632z00_3676 = BgL_aux3240z00_6120; }  else 
{ 
 obj_t BgL_auxz00_9050;
BgL_auxz00_9050 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(17837L), BGl_string4073z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3240z00_6120); 
FAILURE(BgL_auxz00_9050,BFALSE,BFALSE);} } 
BgL_tmpz00_9046 = BgL_res2632z00_3676; } 
BgL_test4756z00_9045 = 
(BgL_tmpz00_9046==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4756z00_9045)
{ /* Llib/hash.scm 454 */
 int BgL_tmpz00_9055;
BgL_tmpz00_9055 = 
(int)(2L); 
BgL_bucketsz00_1827 = 
UNSAFE_STRUCT_REF(BgL_tablez00_67, BgL_tmpz00_9055); }  else 
{ /* Llib/hash.scm 454 */
BgL_bucketsz00_1827 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_67); } } 
{ /* Llib/hash.scm 454 */

{ 
 long BgL_iz00_1830; obj_t BgL_resz00_1831;
BgL_iz00_1830 = 0L; 
BgL_resz00_1831 = BNIL; 
BgL_zc3z04anonymousza31519ze3z87_1832:
if(
(BgL_iz00_1830==BgL_siza7e3za7_1826))
{ /* Llib/hash.scm 457 */
return BgL_resz00_1831;}  else 
{ /* Llib/hash.scm 459 */
 bool_t BgL_test4759z00_9061;
{ /* Llib/hash.scm 459 */
 bool_t BgL_test4760z00_9062;
{ /* Llib/hash.scm 459 */
 obj_t BgL_vectorz00_3679;
if(
VECTORP(BgL_bucketsz00_1827))
{ /* Llib/hash.scm 459 */
BgL_vectorz00_3679 = BgL_bucketsz00_1827; }  else 
{ 
 obj_t BgL_auxz00_9065;
BgL_auxz00_9065 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(17960L), BGl_string4064z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_1827); 
FAILURE(BgL_auxz00_9065,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 459 */
 bool_t BgL_test4762z00_9069;
{ /* Llib/hash.scm 459 */
 long BgL_tmpz00_9070;
BgL_tmpz00_9070 = 
VECTOR_LENGTH(BgL_vectorz00_3679); 
BgL_test4762z00_9069 = 
BOUND_CHECK(BgL_iz00_1830, BgL_tmpz00_9070); } 
if(BgL_test4762z00_9069)
{ /* Llib/hash.scm 459 */
BgL_test4760z00_9062 = 
CBOOL(
VECTOR_REF(BgL_vectorz00_3679,BgL_iz00_1830))
; }  else 
{ 
 obj_t BgL_auxz00_9075;
BgL_auxz00_9075 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(17948L), BGl_string4012z00zz__hashz00, BgL_vectorz00_3679, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_3679)), 
(int)(BgL_iz00_1830)); 
FAILURE(BgL_auxz00_9075,BFALSE,BFALSE);} } } 
if(BgL_test4760z00_9062)
{ /* Llib/hash.scm 459 */
 long BgL_arg1528z00_1842;
BgL_arg1528z00_1842 = 
(BgL_iz00_1830+2L); 
{ /* Llib/hash.scm 459 */
 obj_t BgL_vectorz00_3682;
if(
VECTORP(BgL_bucketsz00_1827))
{ /* Llib/hash.scm 459 */
BgL_vectorz00_3682 = BgL_bucketsz00_1827; }  else 
{ 
 obj_t BgL_auxz00_9085;
BgL_auxz00_9085 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(17983L), BGl_string4064z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_1827); 
FAILURE(BgL_auxz00_9085,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 459 */
 bool_t BgL_test4764z00_9089;
{ /* Llib/hash.scm 459 */
 long BgL_tmpz00_9090;
BgL_tmpz00_9090 = 
VECTOR_LENGTH(BgL_vectorz00_3682); 
BgL_test4764z00_9089 = 
BOUND_CHECK(BgL_arg1528z00_1842, BgL_tmpz00_9090); } 
if(BgL_test4764z00_9089)
{ /* Llib/hash.scm 459 */
BgL_test4759z00_9061 = 
CBOOL(
VECTOR_REF(BgL_vectorz00_3682,BgL_arg1528z00_1842))
; }  else 
{ 
 obj_t BgL_auxz00_9095;
BgL_auxz00_9095 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(17971L), BGl_string4012z00zz__hashz00, BgL_vectorz00_3682, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_3682)), 
(int)(BgL_arg1528z00_1842)); 
FAILURE(BgL_auxz00_9095,BFALSE,BFALSE);} } } }  else 
{ /* Llib/hash.scm 459 */
BgL_test4759z00_9061 = ((bool_t)0)
; } } 
if(BgL_test4759z00_9061)
{ /* Llib/hash.scm 460 */
 long BgL_arg1524z00_1837; obj_t BgL_arg1525z00_1838;
BgL_arg1524z00_1837 = 
(BgL_iz00_1830+3L); 
{ /* Llib/hash.scm 460 */
 obj_t BgL_arg1526z00_1839;
{ /* Llib/hash.scm 460 */
 obj_t BgL_vectorz00_3685;
if(
VECTORP(BgL_bucketsz00_1827))
{ /* Llib/hash.scm 460 */
BgL_vectorz00_3685 = BgL_bucketsz00_1827; }  else 
{ 
 obj_t BgL_auxz00_9105;
BgL_auxz00_9105 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(18040L), BGl_string4064z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_1827); 
FAILURE(BgL_auxz00_9105,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 460 */
 bool_t BgL_test4766z00_9109;
{ /* Llib/hash.scm 460 */
 long BgL_tmpz00_9110;
BgL_tmpz00_9110 = 
VECTOR_LENGTH(BgL_vectorz00_3685); 
BgL_test4766z00_9109 = 
BOUND_CHECK(BgL_iz00_1830, BgL_tmpz00_9110); } 
if(BgL_test4766z00_9109)
{ /* Llib/hash.scm 460 */
BgL_arg1526z00_1839 = 
VECTOR_REF(BgL_vectorz00_3685,BgL_iz00_1830); }  else 
{ 
 obj_t BgL_auxz00_9114;
BgL_auxz00_9114 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(18028L), BGl_string4012z00zz__hashz00, BgL_vectorz00_3685, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_3685)), 
(int)(BgL_iz00_1830)); 
FAILURE(BgL_auxz00_9114,BFALSE,BFALSE);} } } 
BgL_arg1525z00_1838 = 
MAKE_YOUNG_PAIR(BgL_arg1526z00_1839, BgL_resz00_1831); } 
{ 
 obj_t BgL_resz00_9123; long BgL_iz00_9122;
BgL_iz00_9122 = BgL_arg1524z00_1837; 
BgL_resz00_9123 = BgL_arg1525z00_1838; 
BgL_resz00_1831 = BgL_resz00_9123; 
BgL_iz00_1830 = BgL_iz00_9122; 
goto BgL_zc3z04anonymousza31519ze3z87_1832;} }  else 
{ 
 long BgL_iz00_9124;
BgL_iz00_9124 = 
(BgL_iz00_1830+3L); 
BgL_iz00_1830 = BgL_iz00_9124; 
goto BgL_zc3z04anonymousza31519ze3z87_1832;} } } } } } } } 

}



/* plain-hashtable-key-list */
obj_t BGl_plainzd2hashtablezd2keyzd2listzd2zz__hashz00(obj_t BgL_tablez00_68)
{
{ /* Llib/hash.scm 466 */
{ /* Llib/hash.scm 467 */
 obj_t BgL_vecz00_1844;
{ /* Llib/hash.scm 467 */
 long BgL_arg1540z00_1865;
{ /* Llib/hash.scm 467 */
 long BgL_res2634z00_3693;
{ /* Llib/hash.scm 341 */
 bool_t BgL_test4767z00_9126;
{ /* Llib/hash.scm 341 */
 obj_t BgL_tmpz00_9127;
{ /* Llib/hash.scm 341 */
 obj_t BgL_res2633z00_3692;
{ /* Llib/hash.scm 341 */
 obj_t BgL_aux3248z00_6128;
BgL_aux3248z00_6128 = 
STRUCT_KEY(BgL_tablez00_68); 
if(
SYMBOLP(BgL_aux3248z00_6128))
{ /* Llib/hash.scm 341 */
BgL_res2633z00_3692 = BgL_aux3248z00_6128; }  else 
{ 
 obj_t BgL_auxz00_9131;
BgL_auxz00_9131 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(13368L), BGl_string4074z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3248z00_6128); 
FAILURE(BgL_auxz00_9131,BFALSE,BFALSE);} } 
BgL_tmpz00_9127 = BgL_res2633z00_3692; } 
BgL_test4767z00_9126 = 
(BgL_tmpz00_9127==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4767z00_9126)
{ /* Llib/hash.scm 341 */
 obj_t BgL_tmpz00_9136;
{ /* Llib/hash.scm 341 */
 obj_t BgL_aux3250z00_6130;
{ /* Llib/hash.scm 341 */
 int BgL_tmpz00_9137;
BgL_tmpz00_9137 = 
(int)(0L); 
BgL_aux3250z00_6130 = 
UNSAFE_STRUCT_REF(BgL_tablez00_68, BgL_tmpz00_9137); } 
if(
INTEGERP(BgL_aux3250z00_6130))
{ /* Llib/hash.scm 341 */
BgL_tmpz00_9136 = BgL_aux3250z00_6130
; }  else 
{ 
 obj_t BgL_auxz00_9142;
BgL_auxz00_9142 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(13368L), BGl_string4074z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_aux3250z00_6130); 
FAILURE(BgL_auxz00_9142,BFALSE,BFALSE);} } 
BgL_res2634z00_3693 = 
(long)CINT(BgL_tmpz00_9136); }  else 
{ /* Llib/hash.scm 341 */
 obj_t BgL_tmpz00_9147;
{ /* Llib/hash.scm 341 */
 obj_t BgL_aux3251z00_6131;
BgL_aux3251z00_6131 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_68); 
if(
INTEGERP(BgL_aux3251z00_6131))
{ /* Llib/hash.scm 341 */
BgL_tmpz00_9147 = BgL_aux3251z00_6131
; }  else 
{ 
 obj_t BgL_auxz00_9151;
BgL_auxz00_9151 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(13368L), BGl_string4074z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_aux3251z00_6131); 
FAILURE(BgL_auxz00_9151,BFALSE,BFALSE);} } 
BgL_res2634z00_3693 = 
(long)CINT(BgL_tmpz00_9147); } } 
BgL_arg1540z00_1865 = BgL_res2634z00_3693; } 
BgL_vecz00_1844 = 
make_vector(BgL_arg1540z00_1865, BUNSPEC); } 
{ /* Llib/hash.scm 467 */
 obj_t BgL_bucketsz00_1845;
{ /* Llib/hash.scm 468 */
 bool_t BgL_test4771z00_9157;
{ /* Llib/hash.scm 468 */
 obj_t BgL_tmpz00_9158;
{ /* Llib/hash.scm 468 */
 obj_t BgL_res2636z00_3698;
{ /* Llib/hash.scm 468 */
 obj_t BgL_aux3252z00_6133;
BgL_aux3252z00_6133 = 
STRUCT_KEY(BgL_tablez00_68); 
if(
SYMBOLP(BgL_aux3252z00_6133))
{ /* Llib/hash.scm 468 */
BgL_res2636z00_3698 = BgL_aux3252z00_6133; }  else 
{ 
 obj_t BgL_auxz00_9162;
BgL_auxz00_9162 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(18423L), BGl_string4074z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3252z00_6133); 
FAILURE(BgL_auxz00_9162,BFALSE,BFALSE);} } 
BgL_tmpz00_9158 = BgL_res2636z00_3698; } 
BgL_test4771z00_9157 = 
(BgL_tmpz00_9158==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4771z00_9157)
{ /* Llib/hash.scm 468 */
 int BgL_tmpz00_9167;
BgL_tmpz00_9167 = 
(int)(2L); 
BgL_bucketsz00_1845 = 
UNSAFE_STRUCT_REF(BgL_tablez00_68, BgL_tmpz00_9167); }  else 
{ /* Llib/hash.scm 468 */
BgL_bucketsz00_1845 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_68); } } 
{ /* Llib/hash.scm 468 */
 long BgL_bucketszd2lenzd2_1846;
{ /* Llib/hash.scm 469 */
 obj_t BgL_vectorz00_3699;
if(
VECTORP(BgL_bucketsz00_1845))
{ /* Llib/hash.scm 469 */
BgL_vectorz00_3699 = BgL_bucketsz00_1845; }  else 
{ 
 obj_t BgL_auxz00_9173;
BgL_auxz00_9173 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(18482L), BGl_string4074z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_1845); 
FAILURE(BgL_auxz00_9173,BFALSE,BFALSE);} 
BgL_bucketszd2lenzd2_1846 = 
VECTOR_LENGTH(BgL_vectorz00_3699); } 
{ /* Llib/hash.scm 469 */

{ 
 long BgL_iz00_1849; obj_t BgL_resz00_1850;
BgL_iz00_1849 = 0L; 
BgL_resz00_1850 = BNIL; 
BgL_zc3z04anonymousza31529ze3z87_1851:
if(
(BgL_iz00_1849==BgL_bucketszd2lenzd2_1846))
{ /* Llib/hash.scm 472 */
return BgL_resz00_1850;}  else 
{ /* Llib/hash.scm 474 */
 obj_t BgL_g1064z00_1853;
{ /* Llib/hash.scm 474 */
 obj_t BgL_vectorz00_3702;
if(
VECTORP(BgL_bucketsz00_1845))
{ /* Llib/hash.scm 474 */
BgL_vectorz00_3702 = BgL_bucketsz00_1845; }  else 
{ 
 obj_t BgL_auxz00_9182;
BgL_auxz00_9182 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(18606L), BGl_string4064z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_1845); 
FAILURE(BgL_auxz00_9182,BFALSE,BFALSE);} 
BgL_g1064z00_1853 = 
VECTOR_REF(BgL_vectorz00_3702,BgL_iz00_1849); } 
{ 
 obj_t BgL_bucketz00_1855; obj_t BgL_resz00_1856;
BgL_bucketz00_1855 = BgL_g1064z00_1853; 
BgL_resz00_1856 = BgL_resz00_1850; 
BgL_zc3z04anonymousza31531ze3z87_1857:
if(
NULLP(BgL_bucketz00_1855))
{ 
 obj_t BgL_resz00_9191; long BgL_iz00_9189;
BgL_iz00_9189 = 
(BgL_iz00_1849+1L); 
BgL_resz00_9191 = BgL_resz00_1856; 
BgL_resz00_1850 = BgL_resz00_9191; 
BgL_iz00_1849 = BgL_iz00_9189; 
goto BgL_zc3z04anonymousza31529ze3z87_1851;}  else 
{ /* Llib/hash.scm 478 */
 obj_t BgL_arg1534z00_1860; obj_t BgL_arg1537z00_1861;
{ /* Llib/hash.scm 478 */
 obj_t BgL_pairz00_3705;
if(
PAIRP(BgL_bucketz00_1855))
{ /* Llib/hash.scm 478 */
BgL_pairz00_3705 = BgL_bucketz00_1855; }  else 
{ 
 obj_t BgL_auxz00_9194;
BgL_auxz00_9194 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(18697L), BGl_string4067z00zz__hashz00, BGl_string4068z00zz__hashz00, BgL_bucketz00_1855); 
FAILURE(BgL_auxz00_9194,BFALSE,BFALSE);} 
BgL_arg1534z00_1860 = 
CDR(BgL_pairz00_3705); } 
{ /* Llib/hash.scm 478 */
 obj_t BgL_arg1538z00_1862;
{ /* Llib/hash.scm 478 */
 obj_t BgL_pairz00_3706;
if(
PAIRP(BgL_bucketz00_1855))
{ /* Llib/hash.scm 478 */
BgL_pairz00_3706 = BgL_bucketz00_1855; }  else 
{ 
 obj_t BgL_auxz00_9201;
BgL_auxz00_9201 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(18717L), BGl_string4067z00zz__hashz00, BGl_string4068z00zz__hashz00, BgL_bucketz00_1855); 
FAILURE(BgL_auxz00_9201,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 478 */
 obj_t BgL_pairz00_3709;
{ /* Llib/hash.scm 478 */
 obj_t BgL_aux3262z00_6143;
BgL_aux3262z00_6143 = 
CAR(BgL_pairz00_3706); 
if(
PAIRP(BgL_aux3262z00_6143))
{ /* Llib/hash.scm 478 */
BgL_pairz00_3709 = BgL_aux3262z00_6143; }  else 
{ 
 obj_t BgL_auxz00_9208;
BgL_auxz00_9208 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(18711L), BGl_string4067z00zz__hashz00, BGl_string4068z00zz__hashz00, BgL_aux3262z00_6143); 
FAILURE(BgL_auxz00_9208,BFALSE,BFALSE);} } 
BgL_arg1538z00_1862 = 
CAR(BgL_pairz00_3709); } } 
BgL_arg1537z00_1861 = 
MAKE_YOUNG_PAIR(BgL_arg1538z00_1862, BgL_resz00_1856); } 
{ 
 obj_t BgL_resz00_9215; obj_t BgL_bucketz00_9214;
BgL_bucketz00_9214 = BgL_arg1534z00_1860; 
BgL_resz00_9215 = BgL_arg1537z00_1861; 
BgL_resz00_1856 = BgL_resz00_9215; 
BgL_bucketz00_1855 = BgL_bucketz00_9214; 
goto BgL_zc3z04anonymousza31531ze3z87_1857;} } } } } } } } } } 

}



/* hashtable-map */
BGL_EXPORTED_DEF obj_t BGl_hashtablezd2mapzd2zz__hashz00(obj_t BgL_tablez00_69, obj_t BgL_funz00_70)
{
{ /* Llib/hash.scm 483 */
if(
BGl_hashtablezd2openzd2stringzf3zf3zz__hashz00(BgL_tablez00_69))
{ /* Llib/hash.scm 485 */
return 
BGl_openzd2stringzd2hashtablezd2ze3listz31zz__hashz00(BgL_tablez00_69);}  else 
{ /* Llib/hash.scm 485 */
if(
BGl_hashtablezd2weakzf3z21zz__hashz00(BgL_tablez00_69))
{ /* Llib/hash.scm 487 */
BGL_TAIL return 
BGl_weakzd2hashtablezd2mapz00zz__weakhashz00(BgL_tablez00_69, BgL_funz00_70);}  else 
{ /* Llib/hash.scm 487 */
BGL_TAIL return 
BGl_plainzd2hashtablezd2mapz00zz__hashz00(BgL_tablez00_69, BgL_funz00_70);} } } 

}



/* &hashtable-map */
obj_t BGl_z62hashtablezd2mapzb0zz__hashz00(obj_t BgL_envz00_5520, obj_t BgL_tablez00_5521, obj_t BgL_funz00_5522)
{
{ /* Llib/hash.scm 483 */
{ /* Llib/hash.scm 485 */
 obj_t BgL_auxz00_9230; obj_t BgL_auxz00_9223;
if(
PROCEDUREP(BgL_funz00_5522))
{ /* Llib/hash.scm 485 */
BgL_auxz00_9230 = BgL_funz00_5522
; }  else 
{ 
 obj_t BgL_auxz00_9233;
BgL_auxz00_9233 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(19028L), BGl_string4075z00zz__hashz00, BGl_string4076z00zz__hashz00, BgL_funz00_5522); 
FAILURE(BgL_auxz00_9233,BFALSE,BFALSE);} 
if(
STRUCTP(BgL_tablez00_5521))
{ /* Llib/hash.scm 485 */
BgL_auxz00_9223 = BgL_tablez00_5521
; }  else 
{ 
 obj_t BgL_auxz00_9226;
BgL_auxz00_9226 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(19028L), BGl_string4075z00zz__hashz00, BGl_string4057z00zz__hashz00, BgL_tablez00_5521); 
FAILURE(BgL_auxz00_9226,BFALSE,BFALSE);} 
return 
BGl_hashtablezd2mapzd2zz__hashz00(BgL_auxz00_9223, BgL_auxz00_9230);} } 

}



/* open-string-hashtable-map */
BGL_EXPORTED_DEF obj_t BGl_openzd2stringzd2hashtablezd2mapzd2zz__hashz00(obj_t BgL_tablez00_71, obj_t BgL_funz00_72)
{
{ /* Llib/hash.scm 495 */
{ /* Llib/hash.scm 496 */
 obj_t BgL_siza7eza7_1869;
{ /* Llib/hash.scm 496 */
 bool_t BgL_test4784z00_9238;
{ /* Llib/hash.scm 496 */
 obj_t BgL_tmpz00_9239;
{ /* Llib/hash.scm 496 */
 obj_t BgL_res2637z00_3715;
{ /* Llib/hash.scm 496 */
 obj_t BgL_aux3268z00_6149;
BgL_aux3268z00_6149 = 
STRUCT_KEY(BgL_tablez00_71); 
if(
SYMBOLP(BgL_aux3268z00_6149))
{ /* Llib/hash.scm 496 */
BgL_res2637z00_3715 = BgL_aux3268z00_6149; }  else 
{ 
 obj_t BgL_auxz00_9243;
BgL_auxz00_9243 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(19521L), BGl_string4077z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3268z00_6149); 
FAILURE(BgL_auxz00_9243,BFALSE,BFALSE);} } 
BgL_tmpz00_9239 = BgL_res2637z00_3715; } 
BgL_test4784z00_9238 = 
(BgL_tmpz00_9239==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4784z00_9238)
{ /* Llib/hash.scm 496 */
 int BgL_tmpz00_9248;
BgL_tmpz00_9248 = 
(int)(1L); 
BgL_siza7eza7_1869 = 
UNSAFE_STRUCT_REF(BgL_tablez00_71, BgL_tmpz00_9248); }  else 
{ /* Llib/hash.scm 496 */
BgL_siza7eza7_1869 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_71); } } 
{ /* Llib/hash.scm 496 */
 long BgL_siza7e3za7_1870;
{ /* Llib/hash.scm 497 */
 long BgL_za72za7_3716;
{ /* Llib/hash.scm 497 */
 obj_t BgL_tmpz00_9252;
if(
INTEGERP(BgL_siza7eza7_1869))
{ /* Llib/hash.scm 497 */
BgL_tmpz00_9252 = BgL_siza7eza7_1869
; }  else 
{ 
 obj_t BgL_auxz00_9255;
BgL_auxz00_9255 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(19573L), BGl_string4077z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_siza7eza7_1869); 
FAILURE(BgL_auxz00_9255,BFALSE,BFALSE);} 
BgL_za72za7_3716 = 
(long)CINT(BgL_tmpz00_9252); } 
BgL_siza7e3za7_1870 = 
(3L*BgL_za72za7_3716); } 
{ /* Llib/hash.scm 497 */
 obj_t BgL_bucketsz00_1871;
{ /* Llib/hash.scm 498 */
 bool_t BgL_test4787z00_9261;
{ /* Llib/hash.scm 498 */
 obj_t BgL_tmpz00_9262;
{ /* Llib/hash.scm 498 */
 obj_t BgL_res2638z00_3720;
{ /* Llib/hash.scm 498 */
 obj_t BgL_aux3271z00_6152;
BgL_aux3271z00_6152 = 
STRUCT_KEY(BgL_tablez00_71); 
if(
SYMBOLP(BgL_aux3271z00_6152))
{ /* Llib/hash.scm 498 */
BgL_res2638z00_3720 = BgL_aux3271z00_6152; }  else 
{ 
 obj_t BgL_auxz00_9266;
BgL_auxz00_9266 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(19592L), BGl_string4077z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3271z00_6152); 
FAILURE(BgL_auxz00_9266,BFALSE,BFALSE);} } 
BgL_tmpz00_9262 = BgL_res2638z00_3720; } 
BgL_test4787z00_9261 = 
(BgL_tmpz00_9262==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4787z00_9261)
{ /* Llib/hash.scm 498 */
 int BgL_tmpz00_9271;
BgL_tmpz00_9271 = 
(int)(2L); 
BgL_bucketsz00_1871 = 
UNSAFE_STRUCT_REF(BgL_tablez00_71, BgL_tmpz00_9271); }  else 
{ /* Llib/hash.scm 498 */
BgL_bucketsz00_1871 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_71); } } 
{ /* Llib/hash.scm 498 */

{ 
 long BgL_iz00_1874; obj_t BgL_resz00_1875;
BgL_iz00_1874 = 0L; 
BgL_resz00_1875 = BNIL; 
BgL_zc3z04anonymousza31544ze3z87_1876:
if(
(BgL_iz00_1874==BgL_siza7e3za7_1870))
{ /* Llib/hash.scm 501 */
return BgL_resz00_1875;}  else 
{ /* Llib/hash.scm 503 */
 bool_t BgL_test4790z00_9277;
{ /* Llib/hash.scm 503 */
 bool_t BgL_test4791z00_9278;
{ /* Llib/hash.scm 503 */
 obj_t BgL_vectorz00_3723;
if(
VECTORP(BgL_bucketsz00_1871))
{ /* Llib/hash.scm 503 */
BgL_vectorz00_3723 = BgL_bucketsz00_1871; }  else 
{ 
 obj_t BgL_auxz00_9281;
BgL_auxz00_9281 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(19715L), BGl_string4064z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_1871); 
FAILURE(BgL_auxz00_9281,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 503 */
 bool_t BgL_test4793z00_9285;
{ /* Llib/hash.scm 503 */
 long BgL_tmpz00_9286;
BgL_tmpz00_9286 = 
VECTOR_LENGTH(BgL_vectorz00_3723); 
BgL_test4793z00_9285 = 
BOUND_CHECK(BgL_iz00_1874, BgL_tmpz00_9286); } 
if(BgL_test4793z00_9285)
{ /* Llib/hash.scm 503 */
BgL_test4791z00_9278 = 
CBOOL(
VECTOR_REF(BgL_vectorz00_3723,BgL_iz00_1874))
; }  else 
{ 
 obj_t BgL_auxz00_9291;
BgL_auxz00_9291 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(19703L), BGl_string4012z00zz__hashz00, BgL_vectorz00_3723, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_3723)), 
(int)(BgL_iz00_1874)); 
FAILURE(BgL_auxz00_9291,BFALSE,BFALSE);} } } 
if(BgL_test4791z00_9278)
{ /* Llib/hash.scm 503 */
 long BgL_arg1561z00_1889;
BgL_arg1561z00_1889 = 
(BgL_iz00_1874+2L); 
{ /* Llib/hash.scm 503 */
 obj_t BgL_vectorz00_3726;
if(
VECTORP(BgL_bucketsz00_1871))
{ /* Llib/hash.scm 503 */
BgL_vectorz00_3726 = BgL_bucketsz00_1871; }  else 
{ 
 obj_t BgL_auxz00_9301;
BgL_auxz00_9301 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(19738L), BGl_string4064z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_1871); 
FAILURE(BgL_auxz00_9301,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 503 */
 bool_t BgL_test4795z00_9305;
{ /* Llib/hash.scm 503 */
 long BgL_tmpz00_9306;
BgL_tmpz00_9306 = 
VECTOR_LENGTH(BgL_vectorz00_3726); 
BgL_test4795z00_9305 = 
BOUND_CHECK(BgL_arg1561z00_1889, BgL_tmpz00_9306); } 
if(BgL_test4795z00_9305)
{ /* Llib/hash.scm 503 */
BgL_test4790z00_9277 = 
CBOOL(
VECTOR_REF(BgL_vectorz00_3726,BgL_arg1561z00_1889))
; }  else 
{ 
 obj_t BgL_auxz00_9311;
BgL_auxz00_9311 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(19726L), BGl_string4012z00zz__hashz00, BgL_vectorz00_3726, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_3726)), 
(int)(BgL_arg1561z00_1889)); 
FAILURE(BgL_auxz00_9311,BFALSE,BFALSE);} } } }  else 
{ /* Llib/hash.scm 503 */
BgL_test4790z00_9277 = ((bool_t)0)
; } } 
if(BgL_test4790z00_9277)
{ /* Llib/hash.scm 504 */
 long BgL_arg1549z00_1881; obj_t BgL_arg1551z00_1882;
BgL_arg1549z00_1881 = 
(BgL_iz00_1874+3L); 
{ /* Llib/hash.scm 506 */
 obj_t BgL_arg1552z00_1883;
{ /* Llib/hash.scm 506 */
 obj_t BgL_arg1554z00_1884; obj_t BgL_arg1555z00_1885;
{ /* Llib/hash.scm 506 */
 obj_t BgL_vectorz00_3729;
if(
VECTORP(BgL_bucketsz00_1871))
{ /* Llib/hash.scm 506 */
BgL_vectorz00_3729 = BgL_bucketsz00_1871; }  else 
{ 
 obj_t BgL_auxz00_9321;
BgL_auxz00_9321 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(19815L), BGl_string4064z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_1871); 
FAILURE(BgL_auxz00_9321,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 506 */
 bool_t BgL_test4797z00_9325;
{ /* Llib/hash.scm 506 */
 long BgL_tmpz00_9326;
BgL_tmpz00_9326 = 
VECTOR_LENGTH(BgL_vectorz00_3729); 
BgL_test4797z00_9325 = 
BOUND_CHECK(BgL_iz00_1874, BgL_tmpz00_9326); } 
if(BgL_test4797z00_9325)
{ /* Llib/hash.scm 506 */
BgL_arg1554z00_1884 = 
VECTOR_REF(BgL_vectorz00_3729,BgL_iz00_1874); }  else 
{ 
 obj_t BgL_auxz00_9330;
BgL_auxz00_9330 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(19803L), BGl_string4012z00zz__hashz00, BgL_vectorz00_3729, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_3729)), 
(int)(BgL_iz00_1874)); 
FAILURE(BgL_auxz00_9330,BFALSE,BFALSE);} } } 
{ /* Llib/hash.scm 506 */
 long BgL_arg1558z00_1886;
BgL_arg1558z00_1886 = 
(BgL_iz00_1874+1L); 
{ /* Llib/hash.scm 506 */
 obj_t BgL_vectorz00_3732;
if(
VECTORP(BgL_bucketsz00_1871))
{ /* Llib/hash.scm 506 */
BgL_vectorz00_3732 = BgL_bucketsz00_1871; }  else 
{ 
 obj_t BgL_auxz00_9340;
BgL_auxz00_9340 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(19838L), BGl_string4064z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_1871); 
FAILURE(BgL_auxz00_9340,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 506 */
 bool_t BgL_test4799z00_9344;
{ /* Llib/hash.scm 506 */
 long BgL_tmpz00_9345;
BgL_tmpz00_9345 = 
VECTOR_LENGTH(BgL_vectorz00_3732); 
BgL_test4799z00_9344 = 
BOUND_CHECK(BgL_arg1558z00_1886, BgL_tmpz00_9345); } 
if(BgL_test4799z00_9344)
{ /* Llib/hash.scm 506 */
BgL_arg1555z00_1885 = 
VECTOR_REF(BgL_vectorz00_3732,BgL_arg1558z00_1886); }  else 
{ 
 obj_t BgL_auxz00_9349;
BgL_auxz00_9349 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(19826L), BGl_string4012z00zz__hashz00, BgL_vectorz00_3732, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_3732)), 
(int)(BgL_arg1558z00_1886)); 
FAILURE(BgL_auxz00_9349,BFALSE,BFALSE);} } } } 
if(
PROCEDURE_CORRECT_ARITYP(BgL_funz00_72, 2))
{ /* Llib/hash.scm 506 */
BgL_arg1552z00_1883 = 
BGL_PROCEDURE_CALL2(BgL_funz00_72, BgL_arg1554z00_1884, BgL_arg1555z00_1885); }  else 
{ /* Llib/hash.scm 506 */
FAILURE(BGl_string4078z00zz__hashz00,BGl_list4079z00zz__hashz00,BgL_funz00_72);} } 
BgL_arg1551z00_1882 = 
MAKE_YOUNG_PAIR(BgL_arg1552z00_1883, BgL_resz00_1875); } 
{ 
 obj_t BgL_resz00_9366; long BgL_iz00_9365;
BgL_iz00_9365 = BgL_arg1549z00_1881; 
BgL_resz00_9366 = BgL_arg1551z00_1882; 
BgL_resz00_1875 = BgL_resz00_9366; 
BgL_iz00_1874 = BgL_iz00_9365; 
goto BgL_zc3z04anonymousza31544ze3z87_1876;} }  else 
{ 
 long BgL_iz00_9367;
BgL_iz00_9367 = 
(BgL_iz00_1874+3L); 
BgL_iz00_1874 = BgL_iz00_9367; 
goto BgL_zc3z04anonymousza31544ze3z87_1876;} } } } } } } } 

}



/* &open-string-hashtable-map */
obj_t BGl_z62openzd2stringzd2hashtablezd2mapzb0zz__hashz00(obj_t BgL_envz00_5523, obj_t BgL_tablez00_5524, obj_t BgL_funz00_5525)
{
{ /* Llib/hash.scm 495 */
{ /* Llib/hash.scm 496 */
 obj_t BgL_auxz00_9376; obj_t BgL_auxz00_9369;
if(
PROCEDUREP(BgL_funz00_5525))
{ /* Llib/hash.scm 496 */
BgL_auxz00_9376 = BgL_funz00_5525
; }  else 
{ 
 obj_t BgL_auxz00_9379;
BgL_auxz00_9379 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(19508L), BGl_string4086z00zz__hashz00, BGl_string4076z00zz__hashz00, BgL_funz00_5525); 
FAILURE(BgL_auxz00_9379,BFALSE,BFALSE);} 
if(
STRUCTP(BgL_tablez00_5524))
{ /* Llib/hash.scm 496 */
BgL_auxz00_9369 = BgL_tablez00_5524
; }  else 
{ 
 obj_t BgL_auxz00_9372;
BgL_auxz00_9372 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(19508L), BGl_string4086z00zz__hashz00, BGl_string4057z00zz__hashz00, BgL_tablez00_5524); 
FAILURE(BgL_auxz00_9372,BFALSE,BFALSE);} 
return 
BGl_openzd2stringzd2hashtablezd2mapzd2zz__hashz00(BgL_auxz00_9369, BgL_auxz00_9376);} } 

}



/* plain-hashtable-map */
obj_t BGl_plainzd2hashtablezd2mapz00zz__hashz00(obj_t BgL_tablez00_73, obj_t BgL_funz00_74)
{
{ /* Llib/hash.scm 513 */
{ /* Llib/hash.scm 514 */
 obj_t BgL_bucketsz00_1891;
{ /* Llib/hash.scm 514 */
 bool_t BgL_test4803z00_9384;
{ /* Llib/hash.scm 514 */
 obj_t BgL_tmpz00_9385;
{ /* Llib/hash.scm 514 */
 obj_t BgL_res2639z00_3738;
{ /* Llib/hash.scm 514 */
 obj_t BgL_aux3286z00_6168;
BgL_aux3286z00_6168 = 
STRUCT_KEY(BgL_tablez00_73); 
if(
SYMBOLP(BgL_aux3286z00_6168))
{ /* Llib/hash.scm 514 */
BgL_res2639z00_3738 = BgL_aux3286z00_6168; }  else 
{ 
 obj_t BgL_auxz00_9389;
BgL_auxz00_9389 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(20203L), BGl_string4087z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3286z00_6168); 
FAILURE(BgL_auxz00_9389,BFALSE,BFALSE);} } 
BgL_tmpz00_9385 = BgL_res2639z00_3738; } 
BgL_test4803z00_9384 = 
(BgL_tmpz00_9385==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4803z00_9384)
{ /* Llib/hash.scm 514 */
 int BgL_tmpz00_9394;
BgL_tmpz00_9394 = 
(int)(2L); 
BgL_bucketsz00_1891 = 
UNSAFE_STRUCT_REF(BgL_tablez00_73, BgL_tmpz00_9394); }  else 
{ /* Llib/hash.scm 514 */
BgL_bucketsz00_1891 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_73); } } 
{ /* Llib/hash.scm 514 */
 long BgL_bucketszd2lenzd2_1892;
{ /* Llib/hash.scm 515 */
 obj_t BgL_vectorz00_3739;
if(
VECTORP(BgL_bucketsz00_1891))
{ /* Llib/hash.scm 515 */
BgL_vectorz00_3739 = BgL_bucketsz00_1891; }  else 
{ 
 obj_t BgL_auxz00_9400;
BgL_auxz00_9400 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(20262L), BGl_string4087z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_1891); 
FAILURE(BgL_auxz00_9400,BFALSE,BFALSE);} 
BgL_bucketszd2lenzd2_1892 = 
VECTOR_LENGTH(BgL_vectorz00_3739); } 
{ /* Llib/hash.scm 515 */

{ 
 long BgL_iz00_1895; obj_t BgL_resz00_1896;
BgL_iz00_1895 = 0L; 
BgL_resz00_1896 = BNIL; 
BgL_zc3z04anonymousza31562ze3z87_1897:
if(
(BgL_iz00_1895<BgL_bucketszd2lenzd2_1892))
{ /* Llib/hash.scm 519 */
 obj_t BgL_g1067z00_1899;
{ /* Llib/hash.scm 519 */
 obj_t BgL_vectorz00_3742;
if(
VECTORP(BgL_bucketsz00_1891))
{ /* Llib/hash.scm 519 */
BgL_vectorz00_3742 = BgL_bucketsz00_1891; }  else 
{ 
 obj_t BgL_auxz00_9409;
BgL_auxz00_9409 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(20373L), BGl_string4064z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_1891); 
FAILURE(BgL_auxz00_9409,BFALSE,BFALSE);} 
BgL_g1067z00_1899 = 
VECTOR_REF(BgL_vectorz00_3742,BgL_iz00_1895); } 
{ 
 obj_t BgL_lstz00_1901; obj_t BgL_resz00_1902;
BgL_lstz00_1901 = BgL_g1067z00_1899; 
BgL_resz00_1902 = BgL_resz00_1896; 
BgL_zc3z04anonymousza31564ze3z87_1903:
if(
NULLP(BgL_lstz00_1901))
{ 
 obj_t BgL_resz00_9418; long BgL_iz00_9416;
BgL_iz00_9416 = 
(BgL_iz00_1895+1L); 
BgL_resz00_9418 = BgL_resz00_1902; 
BgL_resz00_1896 = BgL_resz00_9418; 
BgL_iz00_1895 = BgL_iz00_9416; 
goto BgL_zc3z04anonymousza31562ze3z87_1897;}  else 
{ /* Llib/hash.scm 523 */
 obj_t BgL_cellz00_1906;
{ /* Llib/hash.scm 523 */
 obj_t BgL_pairz00_3745;
if(
PAIRP(BgL_lstz00_1901))
{ /* Llib/hash.scm 523 */
BgL_pairz00_3745 = BgL_lstz00_1901; }  else 
{ 
 obj_t BgL_auxz00_9421;
BgL_auxz00_9421 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(20467L), BGl_string4067z00zz__hashz00, BGl_string4068z00zz__hashz00, BgL_lstz00_1901); 
FAILURE(BgL_auxz00_9421,BFALSE,BFALSE);} 
BgL_cellz00_1906 = 
CAR(BgL_pairz00_3745); } 
{ /* Llib/hash.scm 524 */
 obj_t BgL_arg1569z00_1907; obj_t BgL_arg1573z00_1908;
{ /* Llib/hash.scm 524 */
 obj_t BgL_pairz00_3746;
if(
PAIRP(BgL_lstz00_1901))
{ /* Llib/hash.scm 524 */
BgL_pairz00_3746 = BgL_lstz00_1901; }  else 
{ 
 obj_t BgL_auxz00_9428;
BgL_auxz00_9428 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(20494L), BGl_string4067z00zz__hashz00, BGl_string4068z00zz__hashz00, BgL_lstz00_1901); 
FAILURE(BgL_auxz00_9428,BFALSE,BFALSE);} 
BgL_arg1569z00_1907 = 
CDR(BgL_pairz00_3746); } 
{ /* Llib/hash.scm 525 */
 obj_t BgL_arg1574z00_1909;
{ /* Llib/hash.scm 525 */
 obj_t BgL_arg1575z00_1910; obj_t BgL_arg1577z00_1911;
{ /* Llib/hash.scm 525 */
 obj_t BgL_pairz00_3747;
if(
PAIRP(BgL_cellz00_1906))
{ /* Llib/hash.scm 525 */
BgL_pairz00_3747 = BgL_cellz00_1906; }  else 
{ 
 obj_t BgL_auxz00_9435;
BgL_auxz00_9435 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(20523L), BGl_string4067z00zz__hashz00, BGl_string4068z00zz__hashz00, BgL_cellz00_1906); 
FAILURE(BgL_auxz00_9435,BFALSE,BFALSE);} 
BgL_arg1575z00_1910 = 
CAR(BgL_pairz00_3747); } 
{ /* Llib/hash.scm 525 */
 obj_t BgL_pairz00_3748;
if(
PAIRP(BgL_cellz00_1906))
{ /* Llib/hash.scm 525 */
BgL_pairz00_3748 = BgL_cellz00_1906; }  else 
{ 
 obj_t BgL_auxz00_9442;
BgL_auxz00_9442 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(20534L), BGl_string4067z00zz__hashz00, BGl_string4068z00zz__hashz00, BgL_cellz00_1906); 
FAILURE(BgL_auxz00_9442,BFALSE,BFALSE);} 
BgL_arg1577z00_1911 = 
CDR(BgL_pairz00_3748); } 
if(
PROCEDURE_CORRECT_ARITYP(BgL_funz00_74, 2))
{ /* Llib/hash.scm 525 */
BgL_arg1574z00_1909 = 
BGL_PROCEDURE_CALL2(BgL_funz00_74, BgL_arg1575z00_1910, BgL_arg1577z00_1911); }  else 
{ /* Llib/hash.scm 525 */
FAILURE(BGl_string4088z00zz__hashz00,BGl_list4089z00zz__hashz00,BgL_funz00_74);} } 
BgL_arg1573z00_1908 = 
MAKE_YOUNG_PAIR(BgL_arg1574z00_1909, BgL_resz00_1902); } 
{ 
 obj_t BgL_resz00_9457; obj_t BgL_lstz00_9456;
BgL_lstz00_9456 = BgL_arg1569z00_1907; 
BgL_resz00_9457 = BgL_arg1573z00_1908; 
BgL_resz00_1902 = BgL_resz00_9457; 
BgL_lstz00_1901 = BgL_lstz00_9456; 
goto BgL_zc3z04anonymousza31564ze3z87_1903;} } } } }  else 
{ /* Llib/hash.scm 518 */
return BgL_resz00_1896;} } } } } } 

}



/* hashtable-for-each */
BGL_EXPORTED_DEF obj_t BGl_hashtablezd2forzd2eachz00zz__hashz00(obj_t BgL_tablez00_75, obj_t BgL_funz00_76)
{
{ /* Llib/hash.scm 531 */
if(
BGl_hashtablezd2openzd2stringzf3zf3zz__hashz00(BgL_tablez00_75))
{ /* Llib/hash.scm 533 */
BGL_TAIL return 
BGl_openzd2stringzd2hashtablezd2forzd2eachz00zz__hashz00(BgL_tablez00_75, BgL_funz00_76);}  else 
{ /* Llib/hash.scm 533 */
if(
BGl_hashtablezd2weakzf3z21zz__hashz00(BgL_tablez00_75))
{ /* Llib/hash.scm 535 */
BGL_TAIL return 
BGl_weakzd2hashtablezd2forzd2eachzd2zz__weakhashz00(BgL_tablez00_75, BgL_funz00_76);}  else 
{ /* Llib/hash.scm 535 */
return 
BBOOL(
BGl_plainzd2hashtablezd2forzd2eachzd2zz__hashz00(BgL_tablez00_75, BgL_funz00_76));} } } 

}



/* &hashtable-for-each */
obj_t BGl_z62hashtablezd2forzd2eachz62zz__hashz00(obj_t BgL_envz00_5526, obj_t BgL_tablez00_5527, obj_t BgL_funz00_5528)
{
{ /* Llib/hash.scm 531 */
{ /* Llib/hash.scm 533 */
 obj_t BgL_auxz00_9473; obj_t BgL_auxz00_9466;
if(
PROCEDUREP(BgL_funz00_5528))
{ /* Llib/hash.scm 533 */
BgL_auxz00_9473 = BgL_funz00_5528
; }  else 
{ 
 obj_t BgL_auxz00_9476;
BgL_auxz00_9476 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(20860L), BGl_string4094z00zz__hashz00, BGl_string4076z00zz__hashz00, BgL_funz00_5528); 
FAILURE(BgL_auxz00_9476,BFALSE,BFALSE);} 
if(
STRUCTP(BgL_tablez00_5527))
{ /* Llib/hash.scm 533 */
BgL_auxz00_9466 = BgL_tablez00_5527
; }  else 
{ 
 obj_t BgL_auxz00_9469;
BgL_auxz00_9469 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(20860L), BGl_string4094z00zz__hashz00, BGl_string4057z00zz__hashz00, BgL_tablez00_5527); 
FAILURE(BgL_auxz00_9469,BFALSE,BFALSE);} 
return 
BGl_hashtablezd2forzd2eachz00zz__hashz00(BgL_auxz00_9466, BgL_auxz00_9473);} } 

}



/* open-string-hashtable-for-each */
BGL_EXPORTED_DEF obj_t BGl_openzd2stringzd2hashtablezd2forzd2eachz00zz__hashz00(obj_t BgL_tablez00_77, obj_t BgL_funz00_78)
{
{ /* Llib/hash.scm 543 */
{ /* Llib/hash.scm 544 */
 obj_t BgL_siza7eza7_1916;
{ /* Llib/hash.scm 544 */
 bool_t BgL_test4818z00_9481;
{ /* Llib/hash.scm 544 */
 obj_t BgL_tmpz00_9482;
{ /* Llib/hash.scm 544 */
 obj_t BgL_res2640z00_3754;
{ /* Llib/hash.scm 544 */
 obj_t BgL_aux3305z00_6188;
BgL_aux3305z00_6188 = 
STRUCT_KEY(BgL_tablez00_77); 
if(
SYMBOLP(BgL_aux3305z00_6188))
{ /* Llib/hash.scm 544 */
BgL_res2640z00_3754 = BgL_aux3305z00_6188; }  else 
{ 
 obj_t BgL_auxz00_9486;
BgL_auxz00_9486 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(21375L), BGl_string4095z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3305z00_6188); 
FAILURE(BgL_auxz00_9486,BFALSE,BFALSE);} } 
BgL_tmpz00_9482 = BgL_res2640z00_3754; } 
BgL_test4818z00_9481 = 
(BgL_tmpz00_9482==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4818z00_9481)
{ /* Llib/hash.scm 544 */
 int BgL_tmpz00_9491;
BgL_tmpz00_9491 = 
(int)(1L); 
BgL_siza7eza7_1916 = 
UNSAFE_STRUCT_REF(BgL_tablez00_77, BgL_tmpz00_9491); }  else 
{ /* Llib/hash.scm 544 */
BgL_siza7eza7_1916 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_77); } } 
{ /* Llib/hash.scm 544 */
 long BgL_siza7e3za7_1917;
{ /* Llib/hash.scm 545 */
 long BgL_za72za7_3755;
{ /* Llib/hash.scm 545 */
 obj_t BgL_tmpz00_9495;
if(
INTEGERP(BgL_siza7eza7_1916))
{ /* Llib/hash.scm 545 */
BgL_tmpz00_9495 = BgL_siza7eza7_1916
; }  else 
{ 
 obj_t BgL_auxz00_9498;
BgL_auxz00_9498 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(21427L), BGl_string4095z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_siza7eza7_1916); 
FAILURE(BgL_auxz00_9498,BFALSE,BFALSE);} 
BgL_za72za7_3755 = 
(long)CINT(BgL_tmpz00_9495); } 
BgL_siza7e3za7_1917 = 
(3L*BgL_za72za7_3755); } 
{ /* Llib/hash.scm 545 */
 obj_t BgL_bucketsz00_1918;
{ /* Llib/hash.scm 546 */
 bool_t BgL_test4821z00_9504;
{ /* Llib/hash.scm 546 */
 obj_t BgL_tmpz00_9505;
{ /* Llib/hash.scm 546 */
 obj_t BgL_res2641z00_3759;
{ /* Llib/hash.scm 546 */
 obj_t BgL_aux3308z00_6191;
BgL_aux3308z00_6191 = 
STRUCT_KEY(BgL_tablez00_77); 
if(
SYMBOLP(BgL_aux3308z00_6191))
{ /* Llib/hash.scm 546 */
BgL_res2641z00_3759 = BgL_aux3308z00_6191; }  else 
{ 
 obj_t BgL_auxz00_9509;
BgL_auxz00_9509 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(21446L), BGl_string4095z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3308z00_6191); 
FAILURE(BgL_auxz00_9509,BFALSE,BFALSE);} } 
BgL_tmpz00_9505 = BgL_res2641z00_3759; } 
BgL_test4821z00_9504 = 
(BgL_tmpz00_9505==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4821z00_9504)
{ /* Llib/hash.scm 546 */
 int BgL_tmpz00_9514;
BgL_tmpz00_9514 = 
(int)(2L); 
BgL_bucketsz00_1918 = 
UNSAFE_STRUCT_REF(BgL_tablez00_77, BgL_tmpz00_9514); }  else 
{ /* Llib/hash.scm 546 */
BgL_bucketsz00_1918 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_77); } } 
{ /* Llib/hash.scm 546 */

{ 
 long BgL_iz00_1920;
{ /* Llib/hash.scm 547 */
 bool_t BgL_tmpz00_9518;
BgL_iz00_1920 = 0L; 
BgL_zc3z04anonymousza31581ze3z87_1921:
if(
(BgL_iz00_1920==BgL_siza7e3za7_1917))
{ /* Llib/hash.scm 548 */
BgL_tmpz00_9518 = ((bool_t)0)
; }  else 
{ /* Llib/hash.scm 548 */
{ /* Llib/hash.scm 549 */
 bool_t BgL_test4824z00_9521;
{ /* Llib/hash.scm 549 */
 bool_t BgL_test4825z00_9522;
{ /* Llib/hash.scm 549 */
 obj_t BgL_vectorz00_3762;
if(
VECTORP(BgL_bucketsz00_1918))
{ /* Llib/hash.scm 549 */
BgL_vectorz00_3762 = BgL_bucketsz00_1918; }  else 
{ 
 obj_t BgL_auxz00_9525;
BgL_auxz00_9525 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(21551L), BGl_string4064z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_1918); 
FAILURE(BgL_auxz00_9525,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 549 */
 bool_t BgL_test4827z00_9529;
{ /* Llib/hash.scm 549 */
 long BgL_tmpz00_9530;
BgL_tmpz00_9530 = 
VECTOR_LENGTH(BgL_vectorz00_3762); 
BgL_test4827z00_9529 = 
BOUND_CHECK(BgL_iz00_1920, BgL_tmpz00_9530); } 
if(BgL_test4827z00_9529)
{ /* Llib/hash.scm 549 */
BgL_test4825z00_9522 = 
CBOOL(
VECTOR_REF(BgL_vectorz00_3762,BgL_iz00_1920))
; }  else 
{ 
 obj_t BgL_auxz00_9535;
BgL_auxz00_9535 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(21539L), BGl_string4012z00zz__hashz00, BgL_vectorz00_3762, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_3762)), 
(int)(BgL_iz00_1920)); 
FAILURE(BgL_auxz00_9535,BFALSE,BFALSE);} } } 
if(BgL_test4825z00_9522)
{ /* Llib/hash.scm 549 */
 long BgL_arg1592z00_1930;
BgL_arg1592z00_1930 = 
(BgL_iz00_1920+2L); 
{ /* Llib/hash.scm 549 */
 obj_t BgL_vectorz00_3765;
if(
VECTORP(BgL_bucketsz00_1918))
{ /* Llib/hash.scm 549 */
BgL_vectorz00_3765 = BgL_bucketsz00_1918; }  else 
{ 
 obj_t BgL_auxz00_9545;
BgL_auxz00_9545 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(21574L), BGl_string4064z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_1918); 
FAILURE(BgL_auxz00_9545,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 549 */
 bool_t BgL_test4829z00_9549;
{ /* Llib/hash.scm 549 */
 long BgL_tmpz00_9550;
BgL_tmpz00_9550 = 
VECTOR_LENGTH(BgL_vectorz00_3765); 
BgL_test4829z00_9549 = 
BOUND_CHECK(BgL_arg1592z00_1930, BgL_tmpz00_9550); } 
if(BgL_test4829z00_9549)
{ /* Llib/hash.scm 549 */
BgL_test4824z00_9521 = 
CBOOL(
VECTOR_REF(BgL_vectorz00_3765,BgL_arg1592z00_1930))
; }  else 
{ 
 obj_t BgL_auxz00_9555;
BgL_auxz00_9555 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(21562L), BGl_string4012z00zz__hashz00, BgL_vectorz00_3765, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_3765)), 
(int)(BgL_arg1592z00_1930)); 
FAILURE(BgL_auxz00_9555,BFALSE,BFALSE);} } } }  else 
{ /* Llib/hash.scm 549 */
BgL_test4824z00_9521 = ((bool_t)0)
; } } 
if(BgL_test4824z00_9521)
{ /* Llib/hash.scm 550 */
 obj_t BgL_arg1586z00_1926; obj_t BgL_arg1587z00_1927;
{ /* Llib/hash.scm 550 */
 obj_t BgL_vectorz00_3767;
if(
VECTORP(BgL_bucketsz00_1918))
{ /* Llib/hash.scm 550 */
BgL_vectorz00_3767 = BgL_bucketsz00_1918; }  else 
{ 
 obj_t BgL_auxz00_9564;
BgL_auxz00_9564 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(21619L), BGl_string4064z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_1918); 
FAILURE(BgL_auxz00_9564,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 550 */
 bool_t BgL_test4831z00_9568;
{ /* Llib/hash.scm 550 */
 long BgL_tmpz00_9569;
BgL_tmpz00_9569 = 
VECTOR_LENGTH(BgL_vectorz00_3767); 
BgL_test4831z00_9568 = 
BOUND_CHECK(BgL_iz00_1920, BgL_tmpz00_9569); } 
if(BgL_test4831z00_9568)
{ /* Llib/hash.scm 550 */
BgL_arg1586z00_1926 = 
VECTOR_REF(BgL_vectorz00_3767,BgL_iz00_1920); }  else 
{ 
 obj_t BgL_auxz00_9573;
BgL_auxz00_9573 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(21607L), BGl_string4012z00zz__hashz00, BgL_vectorz00_3767, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_3767)), 
(int)(BgL_iz00_1920)); 
FAILURE(BgL_auxz00_9573,BFALSE,BFALSE);} } } 
{ /* Llib/hash.scm 550 */
 long BgL_arg1588z00_1928;
BgL_arg1588z00_1928 = 
(BgL_iz00_1920+1L); 
{ /* Llib/hash.scm 550 */
 obj_t BgL_vectorz00_3770;
if(
VECTORP(BgL_bucketsz00_1918))
{ /* Llib/hash.scm 550 */
BgL_vectorz00_3770 = BgL_bucketsz00_1918; }  else 
{ 
 obj_t BgL_auxz00_9583;
BgL_auxz00_9583 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(21642L), BGl_string4064z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_1918); 
FAILURE(BgL_auxz00_9583,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 550 */
 bool_t BgL_test4833z00_9587;
{ /* Llib/hash.scm 550 */
 long BgL_tmpz00_9588;
BgL_tmpz00_9588 = 
VECTOR_LENGTH(BgL_vectorz00_3770); 
BgL_test4833z00_9587 = 
BOUND_CHECK(BgL_arg1588z00_1928, BgL_tmpz00_9588); } 
if(BgL_test4833z00_9587)
{ /* Llib/hash.scm 550 */
BgL_arg1587z00_1927 = 
VECTOR_REF(BgL_vectorz00_3770,BgL_arg1588z00_1928); }  else 
{ 
 obj_t BgL_auxz00_9592;
BgL_auxz00_9592 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(21630L), BGl_string4012z00zz__hashz00, BgL_vectorz00_3770, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_3770)), 
(int)(BgL_arg1588z00_1928)); 
FAILURE(BgL_auxz00_9592,BFALSE,BFALSE);} } } } 
if(
PROCEDURE_CORRECT_ARITYP(BgL_funz00_78, 2))
{ /* Llib/hash.scm 550 */
BGL_PROCEDURE_CALL2(BgL_funz00_78, BgL_arg1586z00_1926, BgL_arg1587z00_1927); }  else 
{ /* Llib/hash.scm 550 */
FAILURE(BGl_string4078z00zz__hashz00,BGl_list4096z00zz__hashz00,BgL_funz00_78);} }  else 
{ /* Llib/hash.scm 549 */BFALSE; } } 
{ 
 long BgL_iz00_9607;
BgL_iz00_9607 = 
(BgL_iz00_1920+3L); 
BgL_iz00_1920 = BgL_iz00_9607; 
goto BgL_zc3z04anonymousza31581ze3z87_1921;} } 
return 
BBOOL(BgL_tmpz00_9518);} } } } } } } 

}



/* &open-string-hashtable-for-each */
obj_t BGl_z62openzd2stringzd2hashtablezd2forzd2eachz62zz__hashz00(obj_t BgL_envz00_5529, obj_t BgL_tablez00_5530, obj_t BgL_funz00_5531)
{
{ /* Llib/hash.scm 543 */
{ /* Llib/hash.scm 544 */
 obj_t BgL_auxz00_9617; obj_t BgL_auxz00_9610;
if(
PROCEDUREP(BgL_funz00_5531))
{ /* Llib/hash.scm 544 */
BgL_auxz00_9617 = BgL_funz00_5531
; }  else 
{ 
 obj_t BgL_auxz00_9620;
BgL_auxz00_9620 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(21362L), BGl_string4101z00zz__hashz00, BGl_string4076z00zz__hashz00, BgL_funz00_5531); 
FAILURE(BgL_auxz00_9620,BFALSE,BFALSE);} 
if(
STRUCTP(BgL_tablez00_5530))
{ /* Llib/hash.scm 544 */
BgL_auxz00_9610 = BgL_tablez00_5530
; }  else 
{ 
 obj_t BgL_auxz00_9613;
BgL_auxz00_9613 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(21362L), BGl_string4101z00zz__hashz00, BGl_string4057z00zz__hashz00, BgL_tablez00_5530); 
FAILURE(BgL_auxz00_9613,BFALSE,BFALSE);} 
return 
BGl_openzd2stringzd2hashtablezd2forzd2eachz00zz__hashz00(BgL_auxz00_9610, BgL_auxz00_9617);} } 

}



/* plain-hashtable-for-each */
bool_t BGl_plainzd2hashtablezd2forzd2eachzd2zz__hashz00(obj_t BgL_tablez00_79, obj_t BgL_funz00_80)
{
{ /* Llib/hash.scm 556 */
{ /* Llib/hash.scm 557 */
 obj_t BgL_bucketsz00_1933;
{ /* Llib/hash.scm 557 */
 bool_t BgL_test4837z00_9625;
{ /* Llib/hash.scm 557 */
 obj_t BgL_tmpz00_9626;
{ /* Llib/hash.scm 557 */
 obj_t BgL_res2642z00_3776;
{ /* Llib/hash.scm 557 */
 obj_t BgL_aux3323z00_6207;
BgL_aux3323z00_6207 = 
STRUCT_KEY(BgL_tablez00_79); 
if(
SYMBOLP(BgL_aux3323z00_6207))
{ /* Llib/hash.scm 557 */
BgL_res2642z00_3776 = BgL_aux3323z00_6207; }  else 
{ 
 obj_t BgL_auxz00_9630;
BgL_auxz00_9630 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(21995L), BGl_string4102z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3323z00_6207); 
FAILURE(BgL_auxz00_9630,BFALSE,BFALSE);} } 
BgL_tmpz00_9626 = BgL_res2642z00_3776; } 
BgL_test4837z00_9625 = 
(BgL_tmpz00_9626==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4837z00_9625)
{ /* Llib/hash.scm 557 */
 int BgL_tmpz00_9635;
BgL_tmpz00_9635 = 
(int)(2L); 
BgL_bucketsz00_1933 = 
UNSAFE_STRUCT_REF(BgL_tablez00_79, BgL_tmpz00_9635); }  else 
{ /* Llib/hash.scm 557 */
BgL_bucketsz00_1933 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_79); } } 
{ /* Llib/hash.scm 557 */
 long BgL_bucketszd2lenzd2_1934;
{ /* Llib/hash.scm 558 */
 obj_t BgL_vectorz00_3777;
if(
VECTORP(BgL_bucketsz00_1933))
{ /* Llib/hash.scm 558 */
BgL_vectorz00_3777 = BgL_bucketsz00_1933; }  else 
{ 
 obj_t BgL_auxz00_9641;
BgL_auxz00_9641 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(22054L), BGl_string4102z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_1933); 
FAILURE(BgL_auxz00_9641,BFALSE,BFALSE);} 
BgL_bucketszd2lenzd2_1934 = 
VECTOR_LENGTH(BgL_vectorz00_3777); } 
{ /* Llib/hash.scm 558 */

{ 
 long BgL_iz00_1936;
BgL_iz00_1936 = 0L; 
BgL_zc3z04anonymousza31594ze3z87_1937:
if(
(BgL_iz00_1936<BgL_bucketszd2lenzd2_1934))
{ /* Llib/hash.scm 560 */
{ /* Llib/hash.scm 562 */
 obj_t BgL_g1137z00_1939;
{ /* Llib/hash.scm 564 */
 obj_t BgL_vectorz00_3780;
if(
VECTORP(BgL_bucketsz00_1933))
{ /* Llib/hash.scm 564 */
BgL_vectorz00_3780 = BgL_bucketsz00_1933; }  else 
{ 
 obj_t BgL_auxz00_9650;
BgL_auxz00_9650 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(22212L), BGl_string4064z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_1933); 
FAILURE(BgL_auxz00_9650,BFALSE,BFALSE);} 
BgL_g1137z00_1939 = 
VECTOR_REF(BgL_vectorz00_3780,BgL_iz00_1936); } 
{ 
 obj_t BgL_l1135z00_1941;
BgL_l1135z00_1941 = BgL_g1137z00_1939; 
BgL_zc3z04anonymousza31596ze3z87_1942:
if(
PAIRP(BgL_l1135z00_1941))
{ /* Llib/hash.scm 564 */
{ /* Llib/hash.scm 563 */
 obj_t BgL_cellz00_1944;
BgL_cellz00_1944 = 
CAR(BgL_l1135z00_1941); 
{ /* Llib/hash.scm 563 */
 obj_t BgL_arg1598z00_1945; obj_t BgL_arg1599z00_1946;
{ /* Llib/hash.scm 563 */
 obj_t BgL_pairz00_3783;
if(
PAIRP(BgL_cellz00_1944))
{ /* Llib/hash.scm 563 */
BgL_pairz00_3783 = BgL_cellz00_1944; }  else 
{ 
 obj_t BgL_auxz00_9660;
BgL_auxz00_9660 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(22173L), BGl_string4103z00zz__hashz00, BGl_string4068z00zz__hashz00, BgL_cellz00_1944); 
FAILURE(BgL_auxz00_9660,BFALSE,BFALSE);} 
BgL_arg1598z00_1945 = 
CAR(BgL_pairz00_3783); } 
{ /* Llib/hash.scm 563 */
 obj_t BgL_pairz00_3784;
if(
PAIRP(BgL_cellz00_1944))
{ /* Llib/hash.scm 563 */
BgL_pairz00_3784 = BgL_cellz00_1944; }  else 
{ 
 obj_t BgL_auxz00_9667;
BgL_auxz00_9667 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(22184L), BGl_string4103z00zz__hashz00, BGl_string4068z00zz__hashz00, BgL_cellz00_1944); 
FAILURE(BgL_auxz00_9667,BFALSE,BFALSE);} 
BgL_arg1599z00_1946 = 
CDR(BgL_pairz00_3784); } 
if(
PROCEDURE_CORRECT_ARITYP(BgL_funz00_80, 2))
{ /* Llib/hash.scm 563 */
BGL_PROCEDURE_CALL2(BgL_funz00_80, BgL_arg1598z00_1945, BgL_arg1599z00_1946); }  else 
{ /* Llib/hash.scm 563 */
FAILURE(BGl_string4104z00zz__hashz00,BGl_list4105z00zz__hashz00,BgL_funz00_80);} } } 
{ 
 obj_t BgL_l1135z00_9680;
BgL_l1135z00_9680 = 
CDR(BgL_l1135z00_1941); 
BgL_l1135z00_1941 = BgL_l1135z00_9680; 
goto BgL_zc3z04anonymousza31596ze3z87_1942;} }  else 
{ /* Llib/hash.scm 564 */
if(
NULLP(BgL_l1135z00_1941))
{ /* Llib/hash.scm 564 */BTRUE; }  else 
{ /* Llib/hash.scm 564 */
BGl_bigloozd2typezd2errorzf2locationzf2zz__errorz00(BGl_string4110z00zz__hashz00, BGl_string4111z00zz__hashz00, BgL_l1135z00_1941, BGl_string4004z00zz__hashz00, 
BINT(22130L)); } } } } 
{ 
 long BgL_iz00_9686;
BgL_iz00_9686 = 
(BgL_iz00_1936+1L); 
BgL_iz00_1936 = BgL_iz00_9686; 
goto BgL_zc3z04anonymousza31594ze3z87_1937;} }  else 
{ /* Llib/hash.scm 560 */
return ((bool_t)0);} } } } } } 

}



/* hashtable-filter! */
BGL_EXPORTED_DEF obj_t BGl_hashtablezd2filterz12zc0zz__hashz00(obj_t BgL_tablez00_81, obj_t BgL_funz00_82)
{
{ /* Llib/hash.scm 570 */
if(
BGl_hashtablezd2openzd2stringzf3zf3zz__hashz00(BgL_tablez00_81))
{ /* Llib/hash.scm 572 */
BGL_TAIL return 
BGl_openzd2stringzd2hashtablezd2filterz12zc0zz__hashz00(BgL_tablez00_81, BgL_funz00_82);}  else 
{ /* Llib/hash.scm 572 */
if(
BGl_hashtablezd2weakzf3z21zz__hashz00(BgL_tablez00_81))
{ /* Llib/hash.scm 574 */
BGL_TAIL return 
BGl_weakzd2hashtablezd2filterz12z12zz__weakhashz00(BgL_tablez00_81, BgL_funz00_82);}  else 
{ /* Llib/hash.scm 574 */
BGL_TAIL return 
BGl_plainzd2hashtablezd2filterz12z12zz__hashz00(BgL_tablez00_81, BgL_funz00_82);} } } 

}



/* &hashtable-filter! */
obj_t BGl_z62hashtablezd2filterz12za2zz__hashz00(obj_t BgL_envz00_5532, obj_t BgL_tablez00_5533, obj_t BgL_funz00_5534)
{
{ /* Llib/hash.scm 570 */
{ /* Llib/hash.scm 572 */
 obj_t BgL_auxz00_9702; obj_t BgL_auxz00_9695;
if(
PROCEDUREP(BgL_funz00_5534))
{ /* Llib/hash.scm 572 */
BgL_auxz00_9702 = BgL_funz00_5534
; }  else 
{ 
 obj_t BgL_auxz00_9705;
BgL_auxz00_9705 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(22543L), BGl_string4112z00zz__hashz00, BGl_string4076z00zz__hashz00, BgL_funz00_5534); 
FAILURE(BgL_auxz00_9705,BFALSE,BFALSE);} 
if(
STRUCTP(BgL_tablez00_5533))
{ /* Llib/hash.scm 572 */
BgL_auxz00_9695 = BgL_tablez00_5533
; }  else 
{ 
 obj_t BgL_auxz00_9698;
BgL_auxz00_9698 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(22543L), BGl_string4112z00zz__hashz00, BGl_string4057z00zz__hashz00, BgL_tablez00_5533); 
FAILURE(BgL_auxz00_9698,BFALSE,BFALSE);} 
return 
BGl_hashtablezd2filterz12zc0zz__hashz00(BgL_auxz00_9695, BgL_auxz00_9702);} } 

}



/* open-string-hashtable-filter! */
BGL_EXPORTED_DEF obj_t BGl_openzd2stringzd2hashtablezd2filterz12zc0zz__hashz00(obj_t BgL_tablez00_83, obj_t BgL_funz00_84)
{
{ /* Llib/hash.scm 582 */
{ /* Llib/hash.scm 583 */
 obj_t BgL_siza7eza7_1954;
{ /* Llib/hash.scm 583 */
 bool_t BgL_test4851z00_9710;
{ /* Llib/hash.scm 583 */
 obj_t BgL_tmpz00_9711;
{ /* Llib/hash.scm 583 */
 obj_t BgL_res2643z00_3792;
{ /* Llib/hash.scm 583 */
 obj_t BgL_aux3338z00_6223;
BgL_aux3338z00_6223 = 
STRUCT_KEY(BgL_tablez00_83); 
if(
SYMBOLP(BgL_aux3338z00_6223))
{ /* Llib/hash.scm 583 */
BgL_res2643z00_3792 = BgL_aux3338z00_6223; }  else 
{ 
 obj_t BgL_auxz00_9715;
BgL_auxz00_9715 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(23054L), BGl_string4113z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3338z00_6223); 
FAILURE(BgL_auxz00_9715,BFALSE,BFALSE);} } 
BgL_tmpz00_9711 = BgL_res2643z00_3792; } 
BgL_test4851z00_9710 = 
(BgL_tmpz00_9711==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4851z00_9710)
{ /* Llib/hash.scm 583 */
 int BgL_tmpz00_9720;
BgL_tmpz00_9720 = 
(int)(1L); 
BgL_siza7eza7_1954 = 
UNSAFE_STRUCT_REF(BgL_tablez00_83, BgL_tmpz00_9720); }  else 
{ /* Llib/hash.scm 583 */
BgL_siza7eza7_1954 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_83); } } 
{ /* Llib/hash.scm 583 */
 long BgL_siza7e3za7_1955;
{ /* Llib/hash.scm 584 */
 long BgL_za72za7_3793;
{ /* Llib/hash.scm 584 */
 obj_t BgL_tmpz00_9724;
if(
INTEGERP(BgL_siza7eza7_1954))
{ /* Llib/hash.scm 584 */
BgL_tmpz00_9724 = BgL_siza7eza7_1954
; }  else 
{ 
 obj_t BgL_auxz00_9727;
BgL_auxz00_9727 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(23106L), BGl_string4113z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_siza7eza7_1954); 
FAILURE(BgL_auxz00_9727,BFALSE,BFALSE);} 
BgL_za72za7_3793 = 
(long)CINT(BgL_tmpz00_9724); } 
BgL_siza7e3za7_1955 = 
(3L*BgL_za72za7_3793); } 
{ /* Llib/hash.scm 584 */
 obj_t BgL_bucketsz00_1956;
{ /* Llib/hash.scm 585 */
 bool_t BgL_test4854z00_9733;
{ /* Llib/hash.scm 585 */
 obj_t BgL_tmpz00_9734;
{ /* Llib/hash.scm 585 */
 obj_t BgL_res2644z00_3797;
{ /* Llib/hash.scm 585 */
 obj_t BgL_aux3341z00_6226;
BgL_aux3341z00_6226 = 
STRUCT_KEY(BgL_tablez00_83); 
if(
SYMBOLP(BgL_aux3341z00_6226))
{ /* Llib/hash.scm 585 */
BgL_res2644z00_3797 = BgL_aux3341z00_6226; }  else 
{ 
 obj_t BgL_auxz00_9738;
BgL_auxz00_9738 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(23125L), BGl_string4113z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3341z00_6226); 
FAILURE(BgL_auxz00_9738,BFALSE,BFALSE);} } 
BgL_tmpz00_9734 = BgL_res2644z00_3797; } 
BgL_test4854z00_9733 = 
(BgL_tmpz00_9734==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4854z00_9733)
{ /* Llib/hash.scm 585 */
 int BgL_tmpz00_9743;
BgL_tmpz00_9743 = 
(int)(2L); 
BgL_bucketsz00_1956 = 
UNSAFE_STRUCT_REF(BgL_tablez00_83, BgL_tmpz00_9743); }  else 
{ /* Llib/hash.scm 585 */
BgL_bucketsz00_1956 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_83); } } 
{ /* Llib/hash.scm 585 */

{ 
 long BgL_iz00_1958;
{ /* Llib/hash.scm 586 */
 bool_t BgL_tmpz00_9747;
BgL_iz00_1958 = 0L; 
BgL_zc3z04anonymousza31605ze3z87_1959:
if(
(BgL_iz00_1958==BgL_siza7e3za7_1955))
{ /* Llib/hash.scm 587 */
BgL_tmpz00_9747 = ((bool_t)0)
; }  else 
{ /* Llib/hash.scm 587 */
{ /* Llib/hash.scm 588 */
 bool_t BgL_test4857z00_9750;
{ /* Llib/hash.scm 588 */
 bool_t BgL_test4858z00_9751;
{ /* Llib/hash.scm 588 */
 obj_t BgL_vectorz00_3800;
if(
VECTORP(BgL_bucketsz00_1956))
{ /* Llib/hash.scm 588 */
BgL_vectorz00_3800 = BgL_bucketsz00_1956; }  else 
{ 
 obj_t BgL_auxz00_9754;
BgL_auxz00_9754 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(23230L), BGl_string4064z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_1956); 
FAILURE(BgL_auxz00_9754,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 588 */
 bool_t BgL_test4860z00_9758;
{ /* Llib/hash.scm 588 */
 long BgL_tmpz00_9759;
BgL_tmpz00_9759 = 
VECTOR_LENGTH(BgL_vectorz00_3800); 
BgL_test4860z00_9758 = 
BOUND_CHECK(BgL_iz00_1958, BgL_tmpz00_9759); } 
if(BgL_test4860z00_9758)
{ /* Llib/hash.scm 588 */
BgL_test4858z00_9751 = 
CBOOL(
VECTOR_REF(BgL_vectorz00_3800,BgL_iz00_1958))
; }  else 
{ 
 obj_t BgL_auxz00_9764;
BgL_auxz00_9764 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(23218L), BGl_string4012z00zz__hashz00, BgL_vectorz00_3800, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_3800)), 
(int)(BgL_iz00_1958)); 
FAILURE(BgL_auxz00_9764,BFALSE,BFALSE);} } } 
if(BgL_test4858z00_9751)
{ /* Llib/hash.scm 588 */
 long BgL_arg1621z00_1974;
BgL_arg1621z00_1974 = 
(BgL_iz00_1958+2L); 
{ /* Llib/hash.scm 588 */
 obj_t BgL_vectorz00_3803;
if(
VECTORP(BgL_bucketsz00_1956))
{ /* Llib/hash.scm 588 */
BgL_vectorz00_3803 = BgL_bucketsz00_1956; }  else 
{ 
 obj_t BgL_auxz00_9774;
BgL_auxz00_9774 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(23253L), BGl_string4064z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_1956); 
FAILURE(BgL_auxz00_9774,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 588 */
 bool_t BgL_test4862z00_9778;
{ /* Llib/hash.scm 588 */
 long BgL_tmpz00_9779;
BgL_tmpz00_9779 = 
VECTOR_LENGTH(BgL_vectorz00_3803); 
BgL_test4862z00_9778 = 
BOUND_CHECK(BgL_arg1621z00_1974, BgL_tmpz00_9779); } 
if(BgL_test4862z00_9778)
{ /* Llib/hash.scm 588 */
BgL_test4857z00_9750 = 
CBOOL(
VECTOR_REF(BgL_vectorz00_3803,BgL_arg1621z00_1974))
; }  else 
{ 
 obj_t BgL_auxz00_9784;
BgL_auxz00_9784 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(23241L), BGl_string4012z00zz__hashz00, BgL_vectorz00_3803, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_3803)), 
(int)(BgL_arg1621z00_1974)); 
FAILURE(BgL_auxz00_9784,BFALSE,BFALSE);} } } }  else 
{ /* Llib/hash.scm 588 */
BgL_test4857z00_9750 = ((bool_t)0)
; } } 
if(BgL_test4857z00_9750)
{ /* Llib/hash.scm 589 */
 bool_t BgL_test4863z00_9791;
{ /* Llib/hash.scm 589 */
 obj_t BgL_arg1617z00_1970; obj_t BgL_arg1619z00_1971;
{ /* Llib/hash.scm 589 */
 obj_t BgL_vectorz00_3805;
if(
VECTORP(BgL_bucketsz00_1956))
{ /* Llib/hash.scm 589 */
BgL_vectorz00_3805 = BgL_bucketsz00_1956; }  else 
{ 
 obj_t BgL_auxz00_9794;
BgL_auxz00_9794 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(23306L), BGl_string4064z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_1956); 
FAILURE(BgL_auxz00_9794,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 589 */
 bool_t BgL_test4865z00_9798;
{ /* Llib/hash.scm 589 */
 long BgL_tmpz00_9799;
BgL_tmpz00_9799 = 
VECTOR_LENGTH(BgL_vectorz00_3805); 
BgL_test4865z00_9798 = 
BOUND_CHECK(BgL_iz00_1958, BgL_tmpz00_9799); } 
if(BgL_test4865z00_9798)
{ /* Llib/hash.scm 589 */
BgL_arg1617z00_1970 = 
VECTOR_REF(BgL_vectorz00_3805,BgL_iz00_1958); }  else 
{ 
 obj_t BgL_auxz00_9803;
BgL_auxz00_9803 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(23294L), BGl_string4012z00zz__hashz00, BgL_vectorz00_3805, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_3805)), 
(int)(BgL_iz00_1958)); 
FAILURE(BgL_auxz00_9803,BFALSE,BFALSE);} } } 
{ /* Llib/hash.scm 589 */
 long BgL_arg1620z00_1972;
BgL_arg1620z00_1972 = 
(BgL_iz00_1958+1L); 
{ /* Llib/hash.scm 589 */
 obj_t BgL_vectorz00_3808;
if(
VECTORP(BgL_bucketsz00_1956))
{ /* Llib/hash.scm 589 */
BgL_vectorz00_3808 = BgL_bucketsz00_1956; }  else 
{ 
 obj_t BgL_auxz00_9813;
BgL_auxz00_9813 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(23329L), BGl_string4064z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_1956); 
FAILURE(BgL_auxz00_9813,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 589 */
 bool_t BgL_test4867z00_9817;
{ /* Llib/hash.scm 589 */
 long BgL_tmpz00_9818;
BgL_tmpz00_9818 = 
VECTOR_LENGTH(BgL_vectorz00_3808); 
BgL_test4867z00_9817 = 
BOUND_CHECK(BgL_arg1620z00_1972, BgL_tmpz00_9818); } 
if(BgL_test4867z00_9817)
{ /* Llib/hash.scm 589 */
BgL_arg1619z00_1971 = 
VECTOR_REF(BgL_vectorz00_3808,BgL_arg1620z00_1972); }  else 
{ 
 obj_t BgL_auxz00_9822;
BgL_auxz00_9822 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(23317L), BGl_string4012z00zz__hashz00, BgL_vectorz00_3808, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_3808)), 
(int)(BgL_arg1620z00_1972)); 
FAILURE(BgL_auxz00_9822,BFALSE,BFALSE);} } } } 
if(
PROCEDURE_CORRECT_ARITYP(BgL_funz00_84, 2))
{ /* Llib/hash.scm 589 */
BgL_test4863z00_9791 = 
CBOOL(
BGL_PROCEDURE_CALL2(BgL_funz00_84, BgL_arg1617z00_1970, BgL_arg1619z00_1971))
; }  else 
{ /* Llib/hash.scm 589 */
FAILURE(BGl_string4078z00zz__hashz00,BGl_list4114z00zz__hashz00,BgL_funz00_84);} } 
if(BgL_test4863z00_9791)
{ /* Llib/hash.scm 589 */BFALSE; }  else 
{ /* Llib/hash.scm 589 */
{ /* Llib/hash.scm 590 */
 long BgL_arg1615z00_1968;
BgL_arg1615z00_1968 = 
(BgL_iz00_1958+1L); 
{ /* Llib/hash.scm 590 */
 obj_t BgL_vectorz00_3811;
if(
VECTORP(BgL_bucketsz00_1956))
{ /* Llib/hash.scm 590 */
BgL_vectorz00_3811 = BgL_bucketsz00_1956; }  else 
{ 
 obj_t BgL_auxz00_9841;
BgL_auxz00_9841 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(23366L), BGl_string4064z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_1956); 
FAILURE(BgL_auxz00_9841,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 590 */
 bool_t BgL_test4870z00_9845;
{ /* Llib/hash.scm 590 */
 long BgL_tmpz00_9846;
BgL_tmpz00_9846 = 
VECTOR_LENGTH(BgL_vectorz00_3811); 
BgL_test4870z00_9845 = 
BOUND_CHECK(BgL_arg1615z00_1968, BgL_tmpz00_9846); } 
if(BgL_test4870z00_9845)
{ /* Llib/hash.scm 590 */
VECTOR_SET(BgL_vectorz00_3811,BgL_arg1615z00_1968,BFALSE); }  else 
{ 
 obj_t BgL_auxz00_9850;
BgL_auxz00_9850 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(23353L), BGl_string4065z00zz__hashz00, BgL_vectorz00_3811, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_3811)), 
(int)(BgL_arg1615z00_1968)); 
FAILURE(BgL_auxz00_9850,BFALSE,BFALSE);} } } } 
{ /* Llib/hash.scm 591 */
 long BgL_arg1616z00_1969;
BgL_arg1616z00_1969 = 
(BgL_iz00_1958+2L); 
{ /* Llib/hash.scm 591 */
 obj_t BgL_vectorz00_3814;
if(
VECTORP(BgL_bucketsz00_1956))
{ /* Llib/hash.scm 591 */
BgL_vectorz00_3814 = BgL_bucketsz00_1956; }  else 
{ 
 obj_t BgL_auxz00_9860;
BgL_auxz00_9860 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(23405L), BGl_string4064z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_1956); 
FAILURE(BgL_auxz00_9860,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 591 */
 bool_t BgL_test4872z00_9864;
{ /* Llib/hash.scm 591 */
 long BgL_tmpz00_9865;
BgL_tmpz00_9865 = 
VECTOR_LENGTH(BgL_vectorz00_3814); 
BgL_test4872z00_9864 = 
BOUND_CHECK(BgL_arg1616z00_1969, BgL_tmpz00_9865); } 
if(BgL_test4872z00_9864)
{ /* Llib/hash.scm 591 */
VECTOR_SET(BgL_vectorz00_3814,BgL_arg1616z00_1969,BFALSE); }  else 
{ 
 obj_t BgL_auxz00_9869;
BgL_auxz00_9869 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(23392L), BGl_string4065z00zz__hashz00, BgL_vectorz00_3814, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_3814)), 
(int)(BgL_arg1616z00_1969)); 
FAILURE(BgL_auxz00_9869,BFALSE,BFALSE);} } } } 
{ /* Llib/hash.scm 1326 */
 long BgL_arg2070z00_3816;
{ /* Llib/hash.scm 1326 */
 obj_t BgL_arg2071z00_3817;
{ /* Llib/hash.scm 1295 */
 bool_t BgL_test4873z00_9876;
{ /* Llib/hash.scm 1295 */
 obj_t BgL_tmpz00_9877;
{ /* Llib/hash.scm 1295 */
 obj_t BgL_res2645z00_3821;
{ /* Llib/hash.scm 1295 */
 obj_t BgL_aux3356z00_6242;
BgL_aux3356z00_6242 = 
STRUCT_KEY(BgL_tablez00_83); 
if(
SYMBOLP(BgL_aux3356z00_6242))
{ /* Llib/hash.scm 1295 */
BgL_res2645z00_3821 = BgL_aux3356z00_6242; }  else 
{ 
 obj_t BgL_auxz00_9881;
BgL_auxz00_9881 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(51608L), BGl_string4064z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3356z00_6242); 
FAILURE(BgL_auxz00_9881,BFALSE,BFALSE);} } 
BgL_tmpz00_9877 = BgL_res2645z00_3821; } 
BgL_test4873z00_9876 = 
(BgL_tmpz00_9877==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4873z00_9876)
{ /* Llib/hash.scm 1295 */
 int BgL_tmpz00_9886;
BgL_tmpz00_9886 = 
(int)(6L); 
BgL_arg2071z00_3817 = 
UNSAFE_STRUCT_REF(BgL_tablez00_83, BgL_tmpz00_9886); }  else 
{ /* Llib/hash.scm 1295 */
BgL_arg2071z00_3817 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_83); } } 
{ /* Llib/hash.scm 1326 */
 long BgL_za71za7_3822;
{ /* Llib/hash.scm 1326 */
 obj_t BgL_tmpz00_9890;
if(
INTEGERP(BgL_arg2071z00_3817))
{ /* Llib/hash.scm 1326 */
BgL_tmpz00_9890 = BgL_arg2071z00_3817
; }  else 
{ 
 obj_t BgL_auxz00_9893;
BgL_auxz00_9893 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(52949L), BGl_string4064z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_arg2071z00_3817); 
FAILURE(BgL_auxz00_9893,BFALSE,BFALSE);} 
BgL_za71za7_3822 = 
(long)CINT(BgL_tmpz00_9890); } 
BgL_arg2070z00_3816 = 
(BgL_za71za7_3822+1L); } } 
{ /* Llib/hash.scm 1296 */
 bool_t BgL_test4876z00_9899;
{ /* Llib/hash.scm 1296 */
 obj_t BgL_tmpz00_9900;
{ /* Llib/hash.scm 1296 */
 obj_t BgL_res2646z00_3826;
{ /* Llib/hash.scm 1296 */
 obj_t BgL_aux3359z00_6245;
BgL_aux3359z00_6245 = 
STRUCT_KEY(BgL_tablez00_83); 
if(
SYMBOLP(BgL_aux3359z00_6245))
{ /* Llib/hash.scm 1296 */
BgL_res2646z00_3826 = BgL_aux3359z00_6245; }  else 
{ 
 obj_t BgL_auxz00_9904;
BgL_auxz00_9904 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(51676L), BGl_string4064z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3359z00_6245); 
FAILURE(BgL_auxz00_9904,BFALSE,BFALSE);} } 
BgL_tmpz00_9900 = BgL_res2646z00_3826; } 
BgL_test4876z00_9899 = 
(BgL_tmpz00_9900==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4876z00_9899)
{ /* Llib/hash.scm 1296 */
 obj_t BgL_auxz00_9911; int BgL_tmpz00_9909;
BgL_auxz00_9911 = 
BINT(BgL_arg2070z00_3816); 
BgL_tmpz00_9909 = 
(int)(6L); 
UNSAFE_STRUCT_SET(BgL_tablez00_83, BgL_tmpz00_9909, BgL_auxz00_9911); }  else 
{ /* Llib/hash.scm 1296 */
BGl_errorz00zz__errorz00(BGl_string4005z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_83); } } } } }  else 
{ /* Llib/hash.scm 588 */BFALSE; } } 
{ 
 long BgL_iz00_9915;
BgL_iz00_9915 = 
(BgL_iz00_1958+3L); 
BgL_iz00_1958 = BgL_iz00_9915; 
goto BgL_zc3z04anonymousza31605ze3z87_1959;} } 
return 
BBOOL(BgL_tmpz00_9747);} } } } } } } 

}



/* &open-string-hashtable-filter! */
obj_t BGl_z62openzd2stringzd2hashtablezd2filterz12za2zz__hashz00(obj_t BgL_envz00_5535, obj_t BgL_tablez00_5536, obj_t BgL_funz00_5537)
{
{ /* Llib/hash.scm 582 */
{ /* Llib/hash.scm 583 */
 obj_t BgL_auxz00_9925; obj_t BgL_auxz00_9918;
if(
PROCEDUREP(BgL_funz00_5537))
{ /* Llib/hash.scm 583 */
BgL_auxz00_9925 = BgL_funz00_5537
; }  else 
{ 
 obj_t BgL_auxz00_9928;
BgL_auxz00_9928 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(23041L), BGl_string4119z00zz__hashz00, BGl_string4076z00zz__hashz00, BgL_funz00_5537); 
FAILURE(BgL_auxz00_9928,BFALSE,BFALSE);} 
if(
STRUCTP(BgL_tablez00_5536))
{ /* Llib/hash.scm 583 */
BgL_auxz00_9918 = BgL_tablez00_5536
; }  else 
{ 
 obj_t BgL_auxz00_9921;
BgL_auxz00_9921 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(23041L), BGl_string4119z00zz__hashz00, BGl_string4057z00zz__hashz00, BgL_tablez00_5536); 
FAILURE(BgL_auxz00_9921,BFALSE,BFALSE);} 
return 
BGl_openzd2stringzd2hashtablezd2filterz12zc0zz__hashz00(BgL_auxz00_9918, BgL_auxz00_9925);} } 

}



/* plain-hashtable-filter! */
obj_t BGl_plainzd2hashtablezd2filterz12z12zz__hashz00(obj_t BgL_tablez00_85, obj_t BgL_funz00_86)
{
{ /* Llib/hash.scm 598 */
{ /* Llib/hash.scm 599 */
 obj_t BgL_bucketsz00_1977;
{ /* Llib/hash.scm 599 */
 bool_t BgL_test4880z00_9933;
{ /* Llib/hash.scm 599 */
 obj_t BgL_tmpz00_9934;
{ /* Llib/hash.scm 599 */
 obj_t BgL_res2647z00_3831;
{ /* Llib/hash.scm 599 */
 obj_t BgL_aux3365z00_6251;
BgL_aux3365z00_6251 = 
STRUCT_KEY(BgL_tablez00_85); 
if(
SYMBOLP(BgL_aux3365z00_6251))
{ /* Llib/hash.scm 599 */
BgL_res2647z00_3831 = BgL_aux3365z00_6251; }  else 
{ 
 obj_t BgL_auxz00_9938;
BgL_auxz00_9938 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(23810L), BGl_string4120z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3365z00_6251); 
FAILURE(BgL_auxz00_9938,BFALSE,BFALSE);} } 
BgL_tmpz00_9934 = BgL_res2647z00_3831; } 
BgL_test4880z00_9933 = 
(BgL_tmpz00_9934==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4880z00_9933)
{ /* Llib/hash.scm 599 */
 int BgL_tmpz00_9943;
BgL_tmpz00_9943 = 
(int)(2L); 
BgL_bucketsz00_1977 = 
UNSAFE_STRUCT_REF(BgL_tablez00_85, BgL_tmpz00_9943); }  else 
{ /* Llib/hash.scm 599 */
BgL_bucketsz00_1977 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_85); } } 
{ /* Llib/hash.scm 599 */
 long BgL_bucketszd2lenzd2_1978;
{ /* Llib/hash.scm 600 */
 obj_t BgL_vectorz00_3832;
if(
VECTORP(BgL_bucketsz00_1977))
{ /* Llib/hash.scm 600 */
BgL_vectorz00_3832 = BgL_bucketsz00_1977; }  else 
{ 
 obj_t BgL_auxz00_9949;
BgL_auxz00_9949 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(23869L), BGl_string4120z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_1977); 
FAILURE(BgL_auxz00_9949,BFALSE,BFALSE);} 
BgL_bucketszd2lenzd2_1978 = 
VECTOR_LENGTH(BgL_vectorz00_3832); } 
{ /* Llib/hash.scm 600 */

{ 
 long BgL_iz00_1980; long BgL_deltaz00_1981;
BgL_iz00_1980 = 0L; 
BgL_deltaz00_1981 = 0L; 
BgL_zc3z04anonymousza31623ze3z87_1982:
if(
(BgL_iz00_1980<BgL_bucketszd2lenzd2_1978))
{ /* Llib/hash.scm 603 */
 obj_t BgL_lz00_1984;
{ /* Llib/hash.scm 603 */
 obj_t BgL_vectorz00_3835;
if(
VECTORP(BgL_bucketsz00_1977))
{ /* Llib/hash.scm 603 */
BgL_vectorz00_3835 = BgL_bucketsz00_1977; }  else 
{ 
 obj_t BgL_auxz00_9958;
BgL_auxz00_9958 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(23971L), BGl_string4064z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_1977); 
FAILURE(BgL_auxz00_9958,BFALSE,BFALSE);} 
BgL_lz00_1984 = 
VECTOR_REF(BgL_vectorz00_3835,BgL_iz00_1980); } 
{ /* Llib/hash.scm 603 */
 long BgL_oldzd2lenzd2_1985;
{ /* Llib/hash.scm 604 */
 obj_t BgL_auxz00_9963;
{ /* Llib/hash.scm 604 */
 bool_t BgL_test4885z00_9964;
if(
PAIRP(BgL_lz00_1984))
{ /* Llib/hash.scm 604 */
BgL_test4885z00_9964 = ((bool_t)1)
; }  else 
{ /* Llib/hash.scm 604 */
BgL_test4885z00_9964 = 
NULLP(BgL_lz00_1984)
; } 
if(BgL_test4885z00_9964)
{ /* Llib/hash.scm 604 */
BgL_auxz00_9963 = BgL_lz00_1984
; }  else 
{ 
 obj_t BgL_auxz00_9968;
BgL_auxz00_9968 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(24020L), BGl_string4064z00zz__hashz00, BGl_string4121z00zz__hashz00, BgL_lz00_1984); 
FAILURE(BgL_auxz00_9968,BFALSE,BFALSE);} } 
BgL_oldzd2lenzd2_1985 = 
bgl_list_length(BgL_auxz00_9963); } 
{ /* Llib/hash.scm 604 */
 obj_t BgL_newlz00_1986;
{ /* Llib/hash.scm 606 */
 obj_t BgL_zc3z04anonymousza31629ze3z87_5538;
BgL_zc3z04anonymousza31629ze3z87_5538 = 
MAKE_FX_PROCEDURE(BGl_z62zc3z04anonymousza31629ze3ze5zz__hashz00, 
(int)(1L), 
(int)(1L)); 
PROCEDURE_SET(BgL_zc3z04anonymousza31629ze3z87_5538, 
(int)(0L), BgL_funz00_86); 
{ /* Llib/hash.scm 605 */
 obj_t BgL_auxz00_9978;
{ /* Llib/hash.scm 607 */
 bool_t BgL_test4887z00_9979;
if(
PAIRP(BgL_lz00_1984))
{ /* Llib/hash.scm 607 */
BgL_test4887z00_9979 = ((bool_t)1)
; }  else 
{ /* Llib/hash.scm 607 */
BgL_test4887z00_9979 = 
NULLP(BgL_lz00_1984)
; } 
if(BgL_test4887z00_9979)
{ /* Llib/hash.scm 607 */
BgL_auxz00_9978 = BgL_lz00_1984
; }  else 
{ 
 obj_t BgL_auxz00_9983;
BgL_auxz00_9983 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(24121L), BGl_string4064z00zz__hashz00, BGl_string4121z00zz__hashz00, BgL_lz00_1984); 
FAILURE(BgL_auxz00_9983,BFALSE,BFALSE);} } 
BgL_newlz00_1986 = 
BGl_filterz12z12zz__r4_control_features_6_9z00(BgL_zc3z04anonymousza31629ze3z87_5538, BgL_auxz00_9978); } } 
{ /* Llib/hash.scm 605 */
 long BgL_newzd2lenzd2_1987;
BgL_newzd2lenzd2_1987 = 
bgl_list_length(BgL_newlz00_1986); 
{ /* Llib/hash.scm 608 */

{ /* Llib/hash.scm 609 */
 obj_t BgL_vectorz00_3841;
if(
VECTORP(BgL_bucketsz00_1977))
{ /* Llib/hash.scm 609 */
BgL_vectorz00_3841 = BgL_bucketsz00_1977; }  else 
{ 
 obj_t BgL_auxz00_9991;
BgL_auxz00_9991 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(24188L), BGl_string4064z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_1977); 
FAILURE(BgL_auxz00_9991,BFALSE,BFALSE);} 
VECTOR_SET(BgL_vectorz00_3841,BgL_iz00_1980,BgL_newlz00_1986); } 
{ 
 long BgL_deltaz00_9998; long BgL_iz00_9996;
BgL_iz00_9996 = 
(BgL_iz00_1980+1L); 
BgL_deltaz00_9998 = 
(BgL_deltaz00_1981+
(BgL_newzd2lenzd2_1987-BgL_oldzd2lenzd2_1985)); 
BgL_deltaz00_1981 = BgL_deltaz00_9998; 
BgL_iz00_1980 = BgL_iz00_9996; 
goto BgL_zc3z04anonymousza31623ze3z87_1982;} } } } } }  else 
{ /* Llib/hash.scm 612 */
 long BgL_arg1632z00_1997;
{ /* Llib/hash.scm 612 */
 obj_t BgL_arg1633z00_1998;
{ /* Llib/hash.scm 612 */
 bool_t BgL_test4890z00_10001;
{ /* Llib/hash.scm 612 */
 obj_t BgL_tmpz00_10002;
{ /* Llib/hash.scm 612 */
 obj_t BgL_res2648z00_3851;
{ /* Llib/hash.scm 612 */
 obj_t BgL_aux3377z00_6263;
BgL_aux3377z00_6263 = 
STRUCT_KEY(BgL_tablez00_85); 
if(
SYMBOLP(BgL_aux3377z00_6263))
{ /* Llib/hash.scm 612 */
BgL_res2648z00_3851 = BgL_aux3377z00_6263; }  else 
{ 
 obj_t BgL_auxz00_10006;
BgL_auxz00_10006 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(24312L), BGl_string4064z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3377z00_6263); 
FAILURE(BgL_auxz00_10006,BFALSE,BFALSE);} } 
BgL_tmpz00_10002 = BgL_res2648z00_3851; } 
BgL_test4890z00_10001 = 
(BgL_tmpz00_10002==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4890z00_10001)
{ /* Llib/hash.scm 612 */
 int BgL_tmpz00_10011;
BgL_tmpz00_10011 = 
(int)(0L); 
BgL_arg1633z00_1998 = 
UNSAFE_STRUCT_REF(BgL_tablez00_85, BgL_tmpz00_10011); }  else 
{ /* Llib/hash.scm 612 */
BgL_arg1633z00_1998 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_85); } } 
{ /* Llib/hash.scm 612 */
 long BgL_za72za7_3853;
{ /* Llib/hash.scm 612 */
 obj_t BgL_tmpz00_10015;
if(
INTEGERP(BgL_arg1633z00_1998))
{ /* Llib/hash.scm 612 */
BgL_tmpz00_10015 = BgL_arg1633z00_1998
; }  else 
{ 
 obj_t BgL_auxz00_10018;
BgL_auxz00_10018 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(24334L), BGl_string4064z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_arg1633z00_1998); 
FAILURE(BgL_auxz00_10018,BFALSE,BFALSE);} 
BgL_za72za7_3853 = 
(long)CINT(BgL_tmpz00_10015); } 
BgL_arg1632z00_1997 = 
(BgL_deltaz00_1981+BgL_za72za7_3853); } } 
{ /* Llib/hash.scm 611 */
 bool_t BgL_test4893z00_10024;
{ /* Llib/hash.scm 611 */
 obj_t BgL_tmpz00_10025;
{ /* Llib/hash.scm 611 */
 obj_t BgL_res2649z00_3857;
{ /* Llib/hash.scm 611 */
 obj_t BgL_aux3380z00_6266;
BgL_aux3380z00_6266 = 
STRUCT_KEY(BgL_tablez00_85); 
if(
SYMBOLP(BgL_aux3380z00_6266))
{ /* Llib/hash.scm 611 */
BgL_res2649z00_3857 = BgL_aux3380z00_6266; }  else 
{ 
 obj_t BgL_auxz00_10029;
BgL_auxz00_10029 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(24271L), BGl_string4064z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3380z00_6266); 
FAILURE(BgL_auxz00_10029,BFALSE,BFALSE);} } 
BgL_tmpz00_10025 = BgL_res2649z00_3857; } 
BgL_test4893z00_10024 = 
(BgL_tmpz00_10025==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4893z00_10024)
{ /* Llib/hash.scm 611 */
 obj_t BgL_auxz00_10036; int BgL_tmpz00_10034;
BgL_auxz00_10036 = 
BINT(BgL_arg1632z00_1997); 
BgL_tmpz00_10034 = 
(int)(0L); 
return 
UNSAFE_STRUCT_SET(BgL_tablez00_85, BgL_tmpz00_10034, BgL_auxz00_10036);}  else 
{ /* Llib/hash.scm 611 */
return 
BGl_errorz00zz__errorz00(BGl_string4005z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_85);} } } } } } } } 

}



/* &<@anonymous:1629> */
obj_t BGl_z62zc3z04anonymousza31629ze3ze5zz__hashz00(obj_t BgL_envz00_5539, obj_t BgL_cellz00_5541)
{
{ /* Llib/hash.scm 605 */
{ /* Llib/hash.scm 606 */
 obj_t BgL_funz00_5540;
BgL_funz00_5540 = 
((obj_t)
PROCEDURE_REF(BgL_envz00_5539, 
(int)(0L))); 
{ /* Llib/hash.scm 606 */
 obj_t BgL_arg1630z00_6941; obj_t BgL_arg1631z00_6942;
{ /* Llib/hash.scm 606 */
 obj_t BgL_pairz00_6943;
if(
PAIRP(BgL_cellz00_5541))
{ /* Llib/hash.scm 606 */
BgL_pairz00_6943 = BgL_cellz00_5541; }  else 
{ 
 obj_t BgL_auxz00_10045;
BgL_auxz00_10045 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(24094L), BGl_string4122z00zz__hashz00, BGl_string4068z00zz__hashz00, BgL_cellz00_5541); 
FAILURE(BgL_auxz00_10045,BFALSE,BFALSE);} 
BgL_arg1630z00_6941 = 
CAR(BgL_pairz00_6943); } 
{ /* Llib/hash.scm 606 */
 obj_t BgL_pairz00_6944;
if(
PAIRP(BgL_cellz00_5541))
{ /* Llib/hash.scm 606 */
BgL_pairz00_6944 = BgL_cellz00_5541; }  else 
{ 
 obj_t BgL_auxz00_10052;
BgL_auxz00_10052 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(24105L), BGl_string4122z00zz__hashz00, BGl_string4068z00zz__hashz00, BgL_cellz00_5541); 
FAILURE(BgL_auxz00_10052,BFALSE,BFALSE);} 
BgL_arg1631z00_6942 = 
CDR(BgL_pairz00_6944); } 
if(
PROCEDURE_CORRECT_ARITYP(BgL_funz00_5540, 2))
{ /* Llib/hash.scm 606 */
return 
BGL_PROCEDURE_CALL2(BgL_funz00_5540, BgL_arg1630z00_6941, BgL_arg1631z00_6942);}  else 
{ /* Llib/hash.scm 606 */
FAILURE(BGl_string4123z00zz__hashz00,BGl_list4124z00zz__hashz00,BgL_funz00_5540);} } } } 

}



/* hashtable-clear! */
BGL_EXPORTED_DEF obj_t BGl_hashtablezd2clearz12zc0zz__hashz00(obj_t BgL_tablez00_87)
{
{ /* Llib/hash.scm 617 */
if(
BGl_hashtablezd2openzd2stringzf3zf3zz__hashz00(BgL_tablez00_87))
{ /* Llib/hash.scm 619 */
BGL_TAIL return 
BGl_openzd2stringzd2hashtablezd2clearz12zc0zz__hashz00(BgL_tablez00_87);}  else 
{ /* Llib/hash.scm 619 */
if(
BGl_hashtablezd2weakzf3z21zz__hashz00(BgL_tablez00_87))
{ /* Llib/hash.scm 621 */
BGL_TAIL return 
BGl_weakzd2hashtablezd2clearz12z12zz__weakhashz00(BgL_tablez00_87);}  else 
{ /* Llib/hash.scm 621 */
BGL_TAIL return 
BGl_plainzd2hashtablezd2clearz12z12zz__hashz00(BgL_tablez00_87);} } } 

}



/* &hashtable-clear! */
obj_t BGl_z62hashtablezd2clearz12za2zz__hashz00(obj_t BgL_envz00_5542, obj_t BgL_tablez00_5543)
{
{ /* Llib/hash.scm 617 */
{ /* Llib/hash.scm 619 */
 obj_t BgL_auxz00_10072;
if(
STRUCTP(BgL_tablez00_5543))
{ /* Llib/hash.scm 619 */
BgL_auxz00_10072 = BgL_tablez00_5543
; }  else 
{ 
 obj_t BgL_auxz00_10075;
BgL_auxz00_10075 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(24621L), BGl_string4129z00zz__hashz00, BGl_string4057z00zz__hashz00, BgL_tablez00_5543); 
FAILURE(BgL_auxz00_10075,BFALSE,BFALSE);} 
return 
BGl_hashtablezd2clearz12zc0zz__hashz00(BgL_auxz00_10072);} } 

}



/* open-string-hashtable-clear! */
obj_t BGl_openzd2stringzd2hashtablezd2clearz12zc0zz__hashz00(obj_t BgL_tablez00_88)
{
{ /* Llib/hash.scm 629 */
{ /* Llib/hash.scm 630 */
 obj_t BgL_arg1636z00_2002;
{ /* Llib/hash.scm 630 */
 bool_t BgL_test4901z00_10080;
{ /* Llib/hash.scm 630 */
 obj_t BgL_tmpz00_10081;
{ /* Llib/hash.scm 630 */
 obj_t BgL_res2650z00_3861;
{ /* Llib/hash.scm 630 */
 obj_t BgL_aux3389z00_6276;
BgL_aux3389z00_6276 = 
STRUCT_KEY(BgL_tablez00_88); 
if(
SYMBOLP(BgL_aux3389z00_6276))
{ /* Llib/hash.scm 630 */
BgL_res2650z00_3861 = BgL_aux3389z00_6276; }  else 
{ 
 obj_t BgL_auxz00_10085;
BgL_auxz00_10085 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(25105L), BGl_string4130z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3389z00_6276); 
FAILURE(BgL_auxz00_10085,BFALSE,BFALSE);} } 
BgL_tmpz00_10081 = BgL_res2650z00_3861; } 
BgL_test4901z00_10080 = 
(BgL_tmpz00_10081==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4901z00_10080)
{ /* Llib/hash.scm 630 */
 int BgL_tmpz00_10090;
BgL_tmpz00_10090 = 
(int)(2L); 
BgL_arg1636z00_2002 = 
UNSAFE_STRUCT_REF(BgL_tablez00_88, BgL_tmpz00_10090); }  else 
{ /* Llib/hash.scm 630 */
BgL_arg1636z00_2002 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_88); } } 
{ /* Ieee/vector.scm 105 */
 long BgL_endz00_2006;
{ /* Ieee/vector.scm 105 */
 obj_t BgL_vectorz00_3862;
if(
VECTORP(BgL_arg1636z00_2002))
{ /* Ieee/vector.scm 105 */
BgL_vectorz00_3862 = BgL_arg1636z00_2002; }  else 
{ 
 obj_t BgL_auxz00_10096;
BgL_auxz00_10096 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4131z00zz__hashz00, 
BINT(4906L), BGl_string4130z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_arg1636z00_2002); 
FAILURE(BgL_auxz00_10096,BFALSE,BFALSE);} 
BgL_endz00_2006 = 
VECTOR_LENGTH(BgL_vectorz00_3862); } 
{ /* Ieee/vector.scm 105 */

{ /* Ieee/vector.scm 105 */
 obj_t BgL_auxz00_10101;
if(
VECTORP(BgL_arg1636z00_2002))
{ /* Llib/hash.scm 630 */
BgL_auxz00_10101 = BgL_arg1636z00_2002
; }  else 
{ 
 obj_t BgL_auxz00_10104;
BgL_auxz00_10104 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(25130L), BGl_string4130z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_arg1636z00_2002); 
FAILURE(BgL_auxz00_10104,BFALSE,BFALSE);} 
BGl_vectorzd2fillz12zc0zz__r4_vectors_6_8z00(BgL_auxz00_10101, BFALSE, 0L, BgL_endz00_2006); } } } } 
{ /* Llib/hash.scm 1296 */
 bool_t BgL_test4905z00_10109;
{ /* Llib/hash.scm 1296 */
 obj_t BgL_tmpz00_10110;
{ /* Llib/hash.scm 1296 */
 obj_t BgL_res2651z00_3866;
{ /* Llib/hash.scm 1296 */
 obj_t BgL_aux3395z00_6282;
BgL_aux3395z00_6282 = 
STRUCT_KEY(BgL_tablez00_88); 
if(
SYMBOLP(BgL_aux3395z00_6282))
{ /* Llib/hash.scm 1296 */
BgL_res2651z00_3866 = BgL_aux3395z00_6282; }  else 
{ 
 obj_t BgL_auxz00_10114;
BgL_auxz00_10114 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(51676L), BGl_string4130z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3395z00_6282); 
FAILURE(BgL_auxz00_10114,BFALSE,BFALSE);} } 
BgL_tmpz00_10110 = BgL_res2651z00_3866; } 
BgL_test4905z00_10109 = 
(BgL_tmpz00_10110==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4905z00_10109)
{ /* Llib/hash.scm 1296 */
 obj_t BgL_auxz00_10121; int BgL_tmpz00_10119;
BgL_auxz00_10121 = 
BINT(0L); 
BgL_tmpz00_10119 = 
(int)(6L); 
UNSAFE_STRUCT_SET(BgL_tablez00_88, BgL_tmpz00_10119, BgL_auxz00_10121); }  else 
{ /* Llib/hash.scm 1296 */
BGl_errorz00zz__errorz00(BGl_string4005z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_88); } } 
{ /* Llib/hash.scm 632 */
 bool_t BgL_test4907z00_10125;
{ /* Llib/hash.scm 632 */
 obj_t BgL_tmpz00_10126;
{ /* Llib/hash.scm 632 */
 obj_t BgL_res2652z00_3870;
{ /* Llib/hash.scm 632 */
 obj_t BgL_aux3397z00_6284;
BgL_aux3397z00_6284 = 
STRUCT_KEY(BgL_tablez00_88); 
if(
SYMBOLP(BgL_aux3397z00_6284))
{ /* Llib/hash.scm 632 */
BgL_res2652z00_3870 = BgL_aux3397z00_6284; }  else 
{ 
 obj_t BgL_auxz00_10130;
BgL_auxz00_10130 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(25179L), BGl_string4130z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3397z00_6284); 
FAILURE(BgL_auxz00_10130,BFALSE,BFALSE);} } 
BgL_tmpz00_10126 = BgL_res2652z00_3870; } 
BgL_test4907z00_10125 = 
(BgL_tmpz00_10126==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4907z00_10125)
{ /* Llib/hash.scm 632 */
 obj_t BgL_auxz00_10137; int BgL_tmpz00_10135;
BgL_auxz00_10137 = 
BINT(0L); 
BgL_tmpz00_10135 = 
(int)(0L); 
return 
UNSAFE_STRUCT_SET(BgL_tablez00_88, BgL_tmpz00_10135, BgL_auxz00_10137);}  else 
{ /* Llib/hash.scm 632 */
return 
BGl_errorz00zz__errorz00(BGl_string4005z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_88);} } } 

}



/* plain-hashtable-clear! */
obj_t BGl_plainzd2hashtablezd2clearz12z12zz__hashz00(obj_t BgL_tablez00_89)
{
{ /* Llib/hash.scm 637 */
{ /* Llib/hash.scm 638 */
 obj_t BgL_bucketsz00_2007;
{ /* Llib/hash.scm 638 */
 bool_t BgL_test4909z00_10141;
{ /* Llib/hash.scm 638 */
 obj_t BgL_tmpz00_10142;
{ /* Llib/hash.scm 638 */
 obj_t BgL_res2653z00_3874;
{ /* Llib/hash.scm 638 */
 obj_t BgL_aux3399z00_6286;
BgL_aux3399z00_6286 = 
STRUCT_KEY(BgL_tablez00_89); 
if(
SYMBOLP(BgL_aux3399z00_6286))
{ /* Llib/hash.scm 638 */
BgL_res2653z00_3874 = BgL_aux3399z00_6286; }  else 
{ 
 obj_t BgL_auxz00_10146;
BgL_auxz00_10146 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(25503L), BGl_string4132z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3399z00_6286); 
FAILURE(BgL_auxz00_10146,BFALSE,BFALSE);} } 
BgL_tmpz00_10142 = BgL_res2653z00_3874; } 
BgL_test4909z00_10141 = 
(BgL_tmpz00_10142==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4909z00_10141)
{ /* Llib/hash.scm 638 */
 int BgL_tmpz00_10151;
BgL_tmpz00_10151 = 
(int)(2L); 
BgL_bucketsz00_2007 = 
UNSAFE_STRUCT_REF(BgL_tablez00_89, BgL_tmpz00_10151); }  else 
{ /* Llib/hash.scm 638 */
BgL_bucketsz00_2007 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_89); } } 
{ /* Llib/hash.scm 638 */
 long BgL_bucketszd2lenzd2_2008;
{ /* Llib/hash.scm 639 */
 obj_t BgL_vectorz00_3875;
if(
VECTORP(BgL_bucketsz00_2007))
{ /* Llib/hash.scm 639 */
BgL_vectorz00_3875 = BgL_bucketsz00_2007; }  else 
{ 
 obj_t BgL_auxz00_10157;
BgL_auxz00_10157 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(25562L), BGl_string4132z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_2007); 
FAILURE(BgL_auxz00_10157,BFALSE,BFALSE);} 
BgL_bucketszd2lenzd2_2008 = 
VECTOR_LENGTH(BgL_vectorz00_3875); } 
{ /* Llib/hash.scm 639 */

{ 
 long BgL_iz00_3886;
BgL_iz00_3886 = 0L; 
BgL_loopz00_3885:
if(
(BgL_iz00_3886<BgL_bucketszd2lenzd2_2008))
{ /* Llib/hash.scm 641 */
{ /* Llib/hash.scm 643 */
 obj_t BgL_vectorz00_3890;
if(
VECTORP(BgL_bucketsz00_2007))
{ /* Llib/hash.scm 643 */
BgL_vectorz00_3890 = BgL_bucketsz00_2007; }  else 
{ 
 obj_t BgL_auxz00_10166;
BgL_auxz00_10166 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(25654L), BGl_string4064z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_2007); 
FAILURE(BgL_auxz00_10166,BFALSE,BFALSE);} 
VECTOR_SET(BgL_vectorz00_3890,BgL_iz00_3886,BNIL); } 
{ 
 long BgL_iz00_10171;
BgL_iz00_10171 = 
(BgL_iz00_3886+1L); 
BgL_iz00_3886 = BgL_iz00_10171; 
goto BgL_loopz00_3885;} }  else 
{ /* Llib/hash.scm 645 */
 bool_t BgL_test4914z00_10173;
{ /* Llib/hash.scm 645 */
 obj_t BgL_tmpz00_10174;
{ /* Llib/hash.scm 645 */
 obj_t BgL_res2654z00_3896;
{ /* Llib/hash.scm 645 */
 obj_t BgL_aux3405z00_6292;
BgL_aux3405z00_6292 = 
STRUCT_KEY(BgL_tablez00_89); 
if(
SYMBOLP(BgL_aux3405z00_6292))
{ /* Llib/hash.scm 645 */
BgL_res2654z00_3896 = BgL_aux3405z00_6292; }  else 
{ 
 obj_t BgL_auxz00_10178;
BgL_auxz00_10178 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(25702L), BGl_string4064z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3405z00_6292); 
FAILURE(BgL_auxz00_10178,BFALSE,BFALSE);} } 
BgL_tmpz00_10174 = BgL_res2654z00_3896; } 
BgL_test4914z00_10173 = 
(BgL_tmpz00_10174==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4914z00_10173)
{ /* Llib/hash.scm 645 */
 obj_t BgL_auxz00_10185; int BgL_tmpz00_10183;
BgL_auxz00_10185 = 
BINT(0L); 
BgL_tmpz00_10183 = 
(int)(0L); 
return 
UNSAFE_STRUCT_SET(BgL_tablez00_89, BgL_tmpz00_10183, BgL_auxz00_10185);}  else 
{ /* Llib/hash.scm 645 */
return 
BGl_errorz00zz__errorz00(BGl_string4005z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_89);} } } } } } } 

}



/* hashtable-contains? */
BGL_EXPORTED_DEF bool_t BGl_hashtablezd2containszf3z21zz__hashz00(obj_t BgL_tablez00_90, obj_t BgL_keyz00_91)
{
{ /* Llib/hash.scm 650 */
if(
BGl_hashtablezd2openzd2stringzf3zf3zz__hashz00(BgL_tablez00_90))
{ /* Llib/hash.scm 653 */
 obj_t BgL_tmpz00_10191;
{ /* Llib/hash.scm 653 */
 obj_t BgL_auxz00_10192;
if(
STRINGP(BgL_keyz00_91))
{ /* Llib/hash.scm 653 */
BgL_auxz00_10192 = BgL_keyz00_91
; }  else 
{ 
 obj_t BgL_auxz00_10195;
BgL_auxz00_10195 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(26106L), BGl_string4133z00zz__hashz00, BGl_string4050z00zz__hashz00, BgL_keyz00_91); 
FAILURE(BgL_auxz00_10195,BFALSE,BFALSE);} 
BgL_tmpz00_10191 = 
BGl_openzd2stringzd2hashtablezd2containszf3z21zz__hashz00(BgL_tablez00_90, BgL_auxz00_10192); } 
return 
CBOOL(BgL_tmpz00_10191);}  else 
{ /* Llib/hash.scm 652 */
if(
BGl_hashtablezd2weakzf3z21zz__hashz00(BgL_tablez00_90))
{ /* Llib/hash.scm 654 */
BGL_TAIL return 
BGl_weakzd2hashtablezd2containszf3zf3zz__weakhashz00(BgL_tablez00_90, BgL_keyz00_91);}  else 
{ /* Llib/hash.scm 654 */
BGL_TAIL return 
BGl_plainzd2hashtablezd2containszf3zf3zz__hashz00(BgL_tablez00_90, BgL_keyz00_91);} } } 

}



/* &hashtable-contains? */
obj_t BGl_z62hashtablezd2containszf3z43zz__hashz00(obj_t BgL_envz00_5544, obj_t BgL_tablez00_5545, obj_t BgL_keyz00_5546)
{
{ /* Llib/hash.scm 650 */
{ /* Llib/hash.scm 652 */
 bool_t BgL_tmpz00_10205;
{ /* Llib/hash.scm 652 */
 obj_t BgL_auxz00_10206;
if(
STRUCTP(BgL_tablez00_5545))
{ /* Llib/hash.scm 652 */
BgL_auxz00_10206 = BgL_tablez00_5545
; }  else 
{ 
 obj_t BgL_auxz00_10209;
BgL_auxz00_10209 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(26028L), BGl_string4134z00zz__hashz00, BGl_string4057z00zz__hashz00, BgL_tablez00_5545); 
FAILURE(BgL_auxz00_10209,BFALSE,BFALSE);} 
BgL_tmpz00_10205 = 
BGl_hashtablezd2containszf3z21zz__hashz00(BgL_auxz00_10206, BgL_keyz00_5546); } 
return 
BBOOL(BgL_tmpz00_10205);} } 

}



/* open-string-hashtable-contains? */
BGL_EXPORTED_DEF obj_t BGl_openzd2stringzd2hashtablezd2containszf3z21zz__hashz00(obj_t BgL_tz00_92, obj_t BgL_keyz00_93)
{
{ /* Llib/hash.scm 662 */
{ /* Llib/hash.scm 663 */
 obj_t BgL_siza7eza7_2017;
{ /* Llib/hash.scm 663 */
 bool_t BgL_test4920z00_10215;
{ /* Llib/hash.scm 663 */
 obj_t BgL_tmpz00_10216;
{ /* Llib/hash.scm 663 */
 obj_t BgL_res2655z00_3903;
{ /* Llib/hash.scm 663 */
 obj_t BgL_aux3411z00_6298;
BgL_aux3411z00_6298 = 
STRUCT_KEY(BgL_tz00_92); 
if(
SYMBOLP(BgL_aux3411z00_6298))
{ /* Llib/hash.scm 663 */
BgL_res2655z00_3903 = BgL_aux3411z00_6298; }  else 
{ 
 obj_t BgL_auxz00_10220;
BgL_auxz00_10220 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(26535L), BGl_string4135z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3411z00_6298); 
FAILURE(BgL_auxz00_10220,BFALSE,BFALSE);} } 
BgL_tmpz00_10216 = BgL_res2655z00_3903; } 
BgL_test4920z00_10215 = 
(BgL_tmpz00_10216==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4920z00_10215)
{ /* Llib/hash.scm 663 */
 int BgL_tmpz00_10225;
BgL_tmpz00_10225 = 
(int)(1L); 
BgL_siza7eza7_2017 = 
UNSAFE_STRUCT_REF(BgL_tz00_92, BgL_tmpz00_10225); }  else 
{ /* Llib/hash.scm 663 */
BgL_siza7eza7_2017 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tz00_92); } } 
{ /* Llib/hash.scm 663 */
 obj_t BgL_bucketsz00_2018;
{ /* Llib/hash.scm 664 */
 bool_t BgL_test4922z00_10229;
{ /* Llib/hash.scm 664 */
 obj_t BgL_tmpz00_10230;
{ /* Llib/hash.scm 664 */
 obj_t BgL_res2656z00_3907;
{ /* Llib/hash.scm 664 */
 obj_t BgL_aux3413z00_6300;
BgL_aux3413z00_6300 = 
STRUCT_KEY(BgL_tz00_92); 
if(
SYMBOLP(BgL_aux3413z00_6300))
{ /* Llib/hash.scm 664 */
BgL_res2656z00_3907 = BgL_aux3413z00_6300; }  else 
{ 
 obj_t BgL_auxz00_10234;
BgL_auxz00_10234 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(26578L), BGl_string4135z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3413z00_6300); 
FAILURE(BgL_auxz00_10234,BFALSE,BFALSE);} } 
BgL_tmpz00_10230 = BgL_res2656z00_3907; } 
BgL_test4922z00_10229 = 
(BgL_tmpz00_10230==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4922z00_10229)
{ /* Llib/hash.scm 664 */
 int BgL_tmpz00_10239;
BgL_tmpz00_10239 = 
(int)(2L); 
BgL_bucketsz00_2018 = 
UNSAFE_STRUCT_REF(BgL_tz00_92, BgL_tmpz00_10239); }  else 
{ /* Llib/hash.scm 664 */
BgL_bucketsz00_2018 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tz00_92); } } 
{ /* Llib/hash.scm 664 */
 long BgL_hashz00_2019;
{ /* Llib/hash.scm 665 */
 long BgL_arg1662z00_2041;
BgL_arg1662z00_2041 = 
STRING_LENGTH(BgL_keyz00_93); 
BgL_hashz00_2019 = 
bgl_string_hash(
BSTRING_TO_STRING(BgL_keyz00_93), 
(int)(0L), 
(int)(BgL_arg1662z00_2041)); } 
{ /* Llib/hash.scm 665 */

{ /* Llib/hash.scm 667 */
 long BgL_g1068z00_2020;
{ /* Llib/hash.scm 667 */
 long BgL_n1z00_3909; long BgL_n2z00_3910;
BgL_n1z00_3909 = BgL_hashz00_2019; 
{ /* Llib/hash.scm 667 */
 obj_t BgL_tmpz00_10248;
if(
INTEGERP(BgL_siza7eza7_2017))
{ /* Llib/hash.scm 667 */
BgL_tmpz00_10248 = BgL_siza7eza7_2017
; }  else 
{ 
 obj_t BgL_auxz00_10251;
BgL_auxz00_10251 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(26716L), BGl_string4135z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_siza7eza7_2017); 
FAILURE(BgL_auxz00_10251,BFALSE,BFALSE);} 
BgL_n2z00_3910 = 
(long)CINT(BgL_tmpz00_10248); } 
{ /* Llib/hash.scm 667 */
 bool_t BgL_test4925z00_10256;
{ /* Llib/hash.scm 667 */
 long BgL_arg2239z00_3912;
BgL_arg2239z00_3912 = 
(((BgL_n1z00_3909) | (BgL_n2z00_3910)) & -2147483648); 
BgL_test4925z00_10256 = 
(BgL_arg2239z00_3912==0L); } 
if(BgL_test4925z00_10256)
{ /* Llib/hash.scm 667 */
 int32_t BgL_arg2235z00_3913;
{ /* Llib/hash.scm 667 */
 int32_t BgL_arg2237z00_3914; int32_t BgL_arg2238z00_3915;
BgL_arg2237z00_3914 = 
(int32_t)(BgL_n1z00_3909); 
BgL_arg2238z00_3915 = 
(int32_t)(BgL_n2z00_3910); 
BgL_arg2235z00_3913 = 
(BgL_arg2237z00_3914%BgL_arg2238z00_3915); } 
{ /* Llib/hash.scm 667 */
 long BgL_arg2353z00_3920;
BgL_arg2353z00_3920 = 
(long)(BgL_arg2235z00_3913); 
BgL_g1068z00_2020 = 
(long)(BgL_arg2353z00_3920); } }  else 
{ /* Llib/hash.scm 667 */
BgL_g1068z00_2020 = 
(BgL_n1z00_3909%BgL_n2z00_3910); } } } 
{ 
 long BgL_offz00_2022; long BgL_iz00_2023;
BgL_offz00_2022 = BgL_g1068z00_2020; 
BgL_iz00_2023 = 1L; 
BgL_zc3z04anonymousza31642ze3z87_2024:
{ /* Llib/hash.scm 669 */
 long BgL_off3z00_2025;
BgL_off3z00_2025 = 
(BgL_offz00_2022*3L); 
{ /* Llib/hash.scm 670 */
 bool_t BgL_test4926z00_10266;
{ /* Llib/hash.scm 670 */
 obj_t BgL_vectorz00_3923;
if(
VECTORP(BgL_bucketsz00_2018))
{ /* Llib/hash.scm 670 */
BgL_vectorz00_3923 = BgL_bucketsz00_2018; }  else 
{ 
 obj_t BgL_auxz00_10269;
BgL_auxz00_10269 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(26784L), BGl_string4064z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_2018); 
FAILURE(BgL_auxz00_10269,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 670 */
 bool_t BgL_test4928z00_10273;
{ /* Llib/hash.scm 670 */
 long BgL_tmpz00_10274;
BgL_tmpz00_10274 = 
VECTOR_LENGTH(BgL_vectorz00_3923); 
BgL_test4928z00_10273 = 
BOUND_CHECK(BgL_off3z00_2025, BgL_tmpz00_10274); } 
if(BgL_test4928z00_10273)
{ /* Llib/hash.scm 670 */
BgL_test4926z00_10266 = 
CBOOL(
VECTOR_REF(BgL_vectorz00_3923,BgL_off3z00_2025))
; }  else 
{ 
 obj_t BgL_auxz00_10279;
BgL_auxz00_10279 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(26772L), BGl_string4012z00zz__hashz00, BgL_vectorz00_3923, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_3923)), 
(int)(BgL_off3z00_2025)); 
FAILURE(BgL_auxz00_10279,BFALSE,BFALSE);} } } 
if(BgL_test4926z00_10266)
{ /* Llib/hash.scm 671 */
 bool_t BgL_test4929z00_10286;
{ /* Llib/hash.scm 671 */
 obj_t BgL_arg1660z00_2039;
{ /* Llib/hash.scm 671 */
 obj_t BgL_vectorz00_3925;
if(
VECTORP(BgL_bucketsz00_2018))
{ /* Llib/hash.scm 671 */
BgL_vectorz00_3925 = BgL_bucketsz00_2018; }  else 
{ 
 obj_t BgL_auxz00_10289;
BgL_auxz00_10289 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(26832L), BGl_string4064z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_2018); 
FAILURE(BgL_auxz00_10289,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 671 */
 bool_t BgL_test4931z00_10293;
{ /* Llib/hash.scm 671 */
 long BgL_tmpz00_10294;
BgL_tmpz00_10294 = 
VECTOR_LENGTH(BgL_vectorz00_3925); 
BgL_test4931z00_10293 = 
BOUND_CHECK(BgL_off3z00_2025, BgL_tmpz00_10294); } 
if(BgL_test4931z00_10293)
{ /* Llib/hash.scm 671 */
BgL_arg1660z00_2039 = 
VECTOR_REF(BgL_vectorz00_3925,BgL_off3z00_2025); }  else 
{ 
 obj_t BgL_auxz00_10298;
BgL_auxz00_10298 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(26820L), BGl_string4012z00zz__hashz00, BgL_vectorz00_3925, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_3925)), 
(int)(BgL_off3z00_2025)); 
FAILURE(BgL_auxz00_10298,BFALSE,BFALSE);} } } 
{ /* Llib/hash.scm 671 */
 obj_t BgL_string1z00_3927;
if(
STRINGP(BgL_arg1660z00_2039))
{ /* Llib/hash.scm 671 */
BgL_string1z00_3927 = BgL_arg1660z00_2039; }  else 
{ 
 obj_t BgL_auxz00_10307;
BgL_auxz00_10307 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(26844L), BGl_string4064z00zz__hashz00, BGl_string4050z00zz__hashz00, BgL_arg1660z00_2039); 
FAILURE(BgL_auxz00_10307,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 671 */
 long BgL_l1z00_3929;
BgL_l1z00_3929 = 
STRING_LENGTH(BgL_string1z00_3927); 
if(
(BgL_l1z00_3929==
STRING_LENGTH(BgL_keyz00_93)))
{ /* Llib/hash.scm 671 */
 int BgL_arg2135z00_3932;
{ /* Llib/hash.scm 671 */
 char * BgL_auxz00_10317; char * BgL_tmpz00_10315;
BgL_auxz00_10317 = 
BSTRING_TO_STRING(BgL_keyz00_93); 
BgL_tmpz00_10315 = 
BSTRING_TO_STRING(BgL_string1z00_3927); 
BgL_arg2135z00_3932 = 
memcmp(BgL_tmpz00_10315, BgL_auxz00_10317, BgL_l1z00_3929); } 
BgL_test4929z00_10286 = 
(
(long)(BgL_arg2135z00_3932)==0L); }  else 
{ /* Llib/hash.scm 671 */
BgL_test4929z00_10286 = ((bool_t)0)
; } } } } 
if(BgL_test4929z00_10286)
{ /* Llib/hash.scm 672 */
 bool_t BgL_test4934z00_10322;
{ /* Llib/hash.scm 672 */
 long BgL_arg1651z00_2032;
BgL_arg1651z00_2032 = 
(BgL_off3z00_2025+1L); 
{ /* Llib/hash.scm 672 */
 obj_t BgL_vectorz00_3939;
if(
VECTORP(BgL_bucketsz00_2018))
{ /* Llib/hash.scm 672 */
BgL_vectorz00_3939 = BgL_bucketsz00_2018; }  else 
{ 
 obj_t BgL_auxz00_10326;
BgL_auxz00_10326 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(26874L), BGl_string4064z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_2018); 
FAILURE(BgL_auxz00_10326,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 672 */
 bool_t BgL_test4936z00_10330;
{ /* Llib/hash.scm 672 */
 long BgL_tmpz00_10331;
BgL_tmpz00_10331 = 
VECTOR_LENGTH(BgL_vectorz00_3939); 
BgL_test4936z00_10330 = 
BOUND_CHECK(BgL_arg1651z00_2032, BgL_tmpz00_10331); } 
if(BgL_test4936z00_10330)
{ /* Llib/hash.scm 672 */
BgL_test4934z00_10322 = 
CBOOL(
VECTOR_REF(BgL_vectorz00_3939,BgL_arg1651z00_2032))
; }  else 
{ 
 obj_t BgL_auxz00_10336;
BgL_auxz00_10336 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(26862L), BGl_string4012z00zz__hashz00, BgL_vectorz00_3939, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_3939)), 
(int)(BgL_arg1651z00_2032)); 
FAILURE(BgL_auxz00_10336,BFALSE,BFALSE);} } } } 
if(BgL_test4934z00_10322)
{ /* Llib/hash.scm 673 */
 long BgL_arg1649z00_2031;
BgL_arg1649z00_2031 = 
(BgL_off3z00_2025+1L); 
{ /* Llib/hash.scm 673 */
 obj_t BgL_vectorz00_3942;
if(
VECTORP(BgL_bucketsz00_2018))
{ /* Llib/hash.scm 673 */
BgL_vectorz00_3942 = BgL_bucketsz00_2018; }  else 
{ 
 obj_t BgL_auxz00_10346;
BgL_auxz00_10346 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(26916L), BGl_string4064z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_2018); 
FAILURE(BgL_auxz00_10346,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 673 */
 bool_t BgL_test4938z00_10350;
{ /* Llib/hash.scm 673 */
 long BgL_tmpz00_10351;
BgL_tmpz00_10351 = 
VECTOR_LENGTH(BgL_vectorz00_3942); 
BgL_test4938z00_10350 = 
BOUND_CHECK(BgL_arg1649z00_2031, BgL_tmpz00_10351); } 
if(BgL_test4938z00_10350)
{ /* Llib/hash.scm 673 */
return 
VECTOR_REF(BgL_vectorz00_3942,BgL_arg1649z00_2031);}  else 
{ 
 obj_t BgL_auxz00_10355;
BgL_auxz00_10355 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(26904L), BGl_string4012z00zz__hashz00, BgL_vectorz00_3942, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_3942)), 
(int)(BgL_arg1649z00_2031)); 
FAILURE(BgL_auxz00_10355,BFALSE,BFALSE);} } } }  else 
{ /* Llib/hash.scm 672 */
return BFALSE;} }  else 
{ /* Llib/hash.scm 674 */
 long BgL_noffz00_2033;
BgL_noffz00_2033 = 
(BgL_offz00_2022+
(BgL_iz00_2023*BgL_iz00_2023)); 
{ /* Llib/hash.scm 675 */
 bool_t BgL_test4939z00_10364;
{ /* Llib/hash.scm 675 */
 long BgL_n2z00_3949;
{ /* Llib/hash.scm 675 */
 obj_t BgL_tmpz00_10365;
if(
INTEGERP(BgL_siza7eza7_2017))
{ /* Llib/hash.scm 675 */
BgL_tmpz00_10365 = BgL_siza7eza7_2017
; }  else 
{ 
 obj_t BgL_auxz00_10368;
BgL_auxz00_10368 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(27001L), BGl_string4064z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_siza7eza7_2017); 
FAILURE(BgL_auxz00_10368,BFALSE,BFALSE);} 
BgL_n2z00_3949 = 
(long)CINT(BgL_tmpz00_10365); } 
BgL_test4939z00_10364 = 
(BgL_noffz00_2033>=BgL_n2z00_3949); } 
if(BgL_test4939z00_10364)
{ /* Llib/hash.scm 676 */
 long BgL_arg1653z00_2035; long BgL_arg1655z00_2036;
{ /* Llib/hash.scm 676 */
 long BgL_n1z00_3950; long BgL_n2z00_3951;
BgL_n1z00_3950 = BgL_noffz00_2033; 
{ /* Llib/hash.scm 676 */
 obj_t BgL_tmpz00_10374;
if(
INTEGERP(BgL_siza7eza7_2017))
{ /* Llib/hash.scm 676 */
BgL_tmpz00_10374 = BgL_siza7eza7_2017
; }  else 
{ 
 obj_t BgL_auxz00_10377;
BgL_auxz00_10377 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(27036L), BGl_string4064z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_siza7eza7_2017); 
FAILURE(BgL_auxz00_10377,BFALSE,BFALSE);} 
BgL_n2z00_3951 = 
(long)CINT(BgL_tmpz00_10374); } 
{ /* Llib/hash.scm 676 */
 bool_t BgL_test4942z00_10382;
{ /* Llib/hash.scm 676 */
 long BgL_arg2239z00_3953;
BgL_arg2239z00_3953 = 
(((BgL_n1z00_3950) | (BgL_n2z00_3951)) & -2147483648); 
BgL_test4942z00_10382 = 
(BgL_arg2239z00_3953==0L); } 
if(BgL_test4942z00_10382)
{ /* Llib/hash.scm 676 */
 int32_t BgL_arg2235z00_3954;
{ /* Llib/hash.scm 676 */
 int32_t BgL_arg2237z00_3955; int32_t BgL_arg2238z00_3956;
BgL_arg2237z00_3955 = 
(int32_t)(BgL_n1z00_3950); 
BgL_arg2238z00_3956 = 
(int32_t)(BgL_n2z00_3951); 
BgL_arg2235z00_3954 = 
(BgL_arg2237z00_3955%BgL_arg2238z00_3956); } 
{ /* Llib/hash.scm 676 */
 long BgL_arg2353z00_3961;
BgL_arg2353z00_3961 = 
(long)(BgL_arg2235z00_3954); 
BgL_arg1653z00_2035 = 
(long)(BgL_arg2353z00_3961); } }  else 
{ /* Llib/hash.scm 676 */
BgL_arg1653z00_2035 = 
(BgL_n1z00_3950%BgL_n2z00_3951); } } } 
BgL_arg1655z00_2036 = 
(BgL_iz00_2023+1L); 
{ 
 long BgL_iz00_10393; long BgL_offz00_10392;
BgL_offz00_10392 = BgL_arg1653z00_2035; 
BgL_iz00_10393 = BgL_arg1655z00_2036; 
BgL_iz00_2023 = BgL_iz00_10393; 
BgL_offz00_2022 = BgL_offz00_10392; 
goto BgL_zc3z04anonymousza31642ze3z87_2024;} }  else 
{ 
 long BgL_iz00_10395; long BgL_offz00_10394;
BgL_offz00_10394 = BgL_noffz00_2033; 
BgL_iz00_10395 = 
(BgL_iz00_2023+1L); 
BgL_iz00_2023 = BgL_iz00_10395; 
BgL_offz00_2022 = BgL_offz00_10394; 
goto BgL_zc3z04anonymousza31642ze3z87_2024;} } } }  else 
{ /* Llib/hash.scm 670 */
return BFALSE;} } } } } } } } } } 

}



/* &open-string-hashtable-contains? */
obj_t BGl_z62openzd2stringzd2hashtablezd2containszf3z43zz__hashz00(obj_t BgL_envz00_5547, obj_t BgL_tz00_5548, obj_t BgL_keyz00_5549)
{
{ /* Llib/hash.scm 662 */
{ /* Llib/hash.scm 663 */
 obj_t BgL_auxz00_10404; obj_t BgL_auxz00_10397;
if(
STRINGP(BgL_keyz00_5549))
{ /* Llib/hash.scm 663 */
BgL_auxz00_10404 = BgL_keyz00_5549
; }  else 
{ 
 obj_t BgL_auxz00_10407;
BgL_auxz00_10407 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(26522L), BGl_string4136z00zz__hashz00, BGl_string4050z00zz__hashz00, BgL_keyz00_5549); 
FAILURE(BgL_auxz00_10407,BFALSE,BFALSE);} 
if(
STRUCTP(BgL_tz00_5548))
{ /* Llib/hash.scm 663 */
BgL_auxz00_10397 = BgL_tz00_5548
; }  else 
{ 
 obj_t BgL_auxz00_10400;
BgL_auxz00_10400 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(26522L), BGl_string4136z00zz__hashz00, BGl_string4057z00zz__hashz00, BgL_tz00_5548); 
FAILURE(BgL_auxz00_10400,BFALSE,BFALSE);} 
return 
BGl_openzd2stringzd2hashtablezd2containszf3z21zz__hashz00(BgL_auxz00_10397, BgL_auxz00_10404);} } 

}



/* plain-hashtable-contains? */
bool_t BGl_plainzd2hashtablezd2containszf3zf3zz__hashz00(obj_t BgL_tablez00_94, obj_t BgL_keyz00_95)
{
{ /* Llib/hash.scm 682 */
{ /* Llib/hash.scm 683 */
 obj_t BgL_bucketsz00_2042;
{ /* Llib/hash.scm 683 */
 bool_t BgL_test4945z00_10412;
{ /* Llib/hash.scm 683 */
 obj_t BgL_tmpz00_10413;
{ /* Llib/hash.scm 683 */
 obj_t BgL_res2657z00_3968;
{ /* Llib/hash.scm 683 */
 obj_t BgL_aux3432z00_6319;
BgL_aux3432z00_6319 = 
STRUCT_KEY(BgL_tablez00_94); 
if(
SYMBOLP(BgL_aux3432z00_6319))
{ /* Llib/hash.scm 683 */
BgL_res2657z00_3968 = BgL_aux3432z00_6319; }  else 
{ 
 obj_t BgL_auxz00_10417;
BgL_auxz00_10417 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(27389L), BGl_string4137z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3432z00_6319); 
FAILURE(BgL_auxz00_10417,BFALSE,BFALSE);} } 
BgL_tmpz00_10413 = BgL_res2657z00_3968; } 
BgL_test4945z00_10412 = 
(BgL_tmpz00_10413==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4945z00_10412)
{ /* Llib/hash.scm 683 */
 int BgL_tmpz00_10422;
BgL_tmpz00_10422 = 
(int)(2L); 
BgL_bucketsz00_2042 = 
UNSAFE_STRUCT_REF(BgL_tablez00_94, BgL_tmpz00_10422); }  else 
{ /* Llib/hash.scm 683 */
BgL_bucketsz00_2042 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_94); } } 
{ /* Llib/hash.scm 683 */
 long BgL_bucketzd2lenzd2_2043;
{ /* Llib/hash.scm 684 */
 obj_t BgL_vectorz00_3969;
if(
VECTORP(BgL_bucketsz00_2042))
{ /* Llib/hash.scm 684 */
BgL_vectorz00_3969 = BgL_bucketsz00_2042; }  else 
{ 
 obj_t BgL_auxz00_10428;
BgL_auxz00_10428 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(27447L), BGl_string4137z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_2042); 
FAILURE(BgL_auxz00_10428,BFALSE,BFALSE);} 
BgL_bucketzd2lenzd2_2043 = 
VECTOR_LENGTH(BgL_vectorz00_3969); } 
{ /* Llib/hash.scm 684 */
 long BgL_bucketzd2numzd2_2044;
{ /* Llib/hash.scm 685 */
 long BgL_arg1672z00_2055;
BgL_arg1672z00_2055 = 
BGl_tablezd2getzd2hashnumberz00zz__hashz00(BgL_tablez00_94, BgL_keyz00_95); 
{ /* Llib/hash.scm 685 */
 long BgL_n1z00_3970; long BgL_n2z00_3971;
BgL_n1z00_3970 = BgL_arg1672z00_2055; 
BgL_n2z00_3971 = BgL_bucketzd2lenzd2_2043; 
{ /* Llib/hash.scm 685 */
 bool_t BgL_test4948z00_10434;
{ /* Llib/hash.scm 685 */
 long BgL_arg2239z00_3973;
BgL_arg2239z00_3973 = 
(((BgL_n1z00_3970) | (BgL_n2z00_3971)) & -2147483648); 
BgL_test4948z00_10434 = 
(BgL_arg2239z00_3973==0L); } 
if(BgL_test4948z00_10434)
{ /* Llib/hash.scm 685 */
 int32_t BgL_arg2235z00_3974;
{ /* Llib/hash.scm 685 */
 int32_t BgL_arg2237z00_3975; int32_t BgL_arg2238z00_3976;
BgL_arg2237z00_3975 = 
(int32_t)(BgL_n1z00_3970); 
BgL_arg2238z00_3976 = 
(int32_t)(BgL_n2z00_3971); 
BgL_arg2235z00_3974 = 
(BgL_arg2237z00_3975%BgL_arg2238z00_3976); } 
{ /* Llib/hash.scm 685 */
 long BgL_arg2353z00_3981;
BgL_arg2353z00_3981 = 
(long)(BgL_arg2235z00_3974); 
BgL_bucketzd2numzd2_2044 = 
(long)(BgL_arg2353z00_3981); } }  else 
{ /* Llib/hash.scm 685 */
BgL_bucketzd2numzd2_2044 = 
(BgL_n1z00_3970%BgL_n2z00_3971); } } } } 
{ /* Llib/hash.scm 685 */
 obj_t BgL_bucketz00_2045;
{ /* Llib/hash.scm 686 */
 obj_t BgL_vectorz00_3983;
if(
VECTORP(BgL_bucketsz00_2042))
{ /* Llib/hash.scm 686 */
BgL_vectorz00_3983 = BgL_bucketsz00_2042; }  else 
{ 
 obj_t BgL_auxz00_10445;
BgL_auxz00_10445 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(27557L), BGl_string4137z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_2042); 
FAILURE(BgL_auxz00_10445,BFALSE,BFALSE);} 
BgL_bucketz00_2045 = 
VECTOR_REF(BgL_vectorz00_3983,BgL_bucketzd2numzd2_2044); } 
{ /* Llib/hash.scm 686 */

{ 
 obj_t BgL_bucketz00_2047;
BgL_bucketz00_2047 = BgL_bucketz00_2045; 
BgL_zc3z04anonymousza31663ze3z87_2048:
if(
NULLP(BgL_bucketz00_2047))
{ /* Llib/hash.scm 689 */
return ((bool_t)0);}  else 
{ /* Llib/hash.scm 691 */
 bool_t BgL_test4951z00_10452;
{ /* Llib/hash.scm 691 */
 obj_t BgL_arg1671z00_2053;
{ /* Llib/hash.scm 691 */
 obj_t BgL_pairz00_3985;
if(
PAIRP(BgL_bucketz00_2047))
{ /* Llib/hash.scm 691 */
BgL_pairz00_3985 = BgL_bucketz00_2047; }  else 
{ 
 obj_t BgL_auxz00_10455;
BgL_auxz00_10455 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(27688L), BGl_string4064z00zz__hashz00, BGl_string4068z00zz__hashz00, BgL_bucketz00_2047); 
FAILURE(BgL_auxz00_10455,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 691 */
 obj_t BgL_pairz00_3988;
{ /* Llib/hash.scm 691 */
 obj_t BgL_aux3440z00_6327;
BgL_aux3440z00_6327 = 
CAR(BgL_pairz00_3985); 
if(
PAIRP(BgL_aux3440z00_6327))
{ /* Llib/hash.scm 691 */
BgL_pairz00_3988 = BgL_aux3440z00_6327; }  else 
{ 
 obj_t BgL_auxz00_10462;
BgL_auxz00_10462 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(27682L), BGl_string4064z00zz__hashz00, BGl_string4068z00zz__hashz00, BgL_aux3440z00_6327); 
FAILURE(BgL_auxz00_10462,BFALSE,BFALSE);} } 
BgL_arg1671z00_2053 = 
CAR(BgL_pairz00_3988); } } 
{ /* Llib/hash.scm 691 */
 obj_t BgL_eqtz00_3989;
{ /* Llib/hash.scm 691 */
 bool_t BgL_test4954z00_10467;
{ /* Llib/hash.scm 691 */
 obj_t BgL_tmpz00_10468;
{ /* Llib/hash.scm 691 */
 obj_t BgL_res2658z00_3996;
{ /* Llib/hash.scm 691 */
 obj_t BgL_aux3442z00_6329;
BgL_aux3442z00_6329 = 
STRUCT_KEY(BgL_tablez00_94); 
if(
SYMBOLP(BgL_aux3442z00_6329))
{ /* Llib/hash.scm 691 */
BgL_res2658z00_3996 = BgL_aux3442z00_6329; }  else 
{ 
 obj_t BgL_auxz00_10472;
BgL_auxz00_10472 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(27658L), BGl_string4064z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3442z00_6329); 
FAILURE(BgL_auxz00_10472,BFALSE,BFALSE);} } 
BgL_tmpz00_10468 = BgL_res2658z00_3996; } 
BgL_test4954z00_10467 = 
(BgL_tmpz00_10468==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4954z00_10467)
{ /* Llib/hash.scm 691 */
 int BgL_tmpz00_10477;
BgL_tmpz00_10477 = 
(int)(3L); 
BgL_eqtz00_3989 = 
UNSAFE_STRUCT_REF(BgL_tablez00_94, BgL_tmpz00_10477); }  else 
{ /* Llib/hash.scm 691 */
BgL_eqtz00_3989 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_94); } } 
if(
PROCEDUREP(BgL_eqtz00_3989))
{ /* Llib/hash.scm 691 */
if(
PROCEDURE_CORRECT_ARITYP(BgL_eqtz00_3989, 2))
{ /* Llib/hash.scm 691 */
BgL_test4951z00_10452 = 
CBOOL(
BGL_PROCEDURE_CALL2(BgL_eqtz00_3989, BgL_arg1671z00_2053, BgL_keyz00_95))
; }  else 
{ /* Llib/hash.scm 691 */
FAILURE(BGl_string4078z00zz__hashz00,BGl_list4138z00zz__hashz00,BgL_eqtz00_3989);} }  else 
{ /* Llib/hash.scm 691 */
if(
(BgL_arg1671z00_2053==BgL_keyz00_95))
{ /* Llib/hash.scm 691 */
BgL_test4951z00_10452 = ((bool_t)1)
; }  else 
{ /* Llib/hash.scm 691 */
if(
STRINGP(BgL_arg1671z00_2053))
{ /* Llib/hash.scm 691 */
if(
STRINGP(BgL_keyz00_95))
{ /* Llib/hash.scm 691 */
 long BgL_l1z00_3999;
BgL_l1z00_3999 = 
STRING_LENGTH(BgL_arg1671z00_2053); 
if(
(BgL_l1z00_3999==
STRING_LENGTH(BgL_keyz00_95)))
{ /* Llib/hash.scm 691 */
 int BgL_arg2135z00_4002;
{ /* Llib/hash.scm 691 */
 char * BgL_auxz00_10504; char * BgL_tmpz00_10502;
BgL_auxz00_10504 = 
BSTRING_TO_STRING(BgL_keyz00_95); 
BgL_tmpz00_10502 = 
BSTRING_TO_STRING(BgL_arg1671z00_2053); 
BgL_arg2135z00_4002 = 
memcmp(BgL_tmpz00_10502, BgL_auxz00_10504, BgL_l1z00_3999); } 
BgL_test4951z00_10452 = 
(
(long)(BgL_arg2135z00_4002)==0L); }  else 
{ /* Llib/hash.scm 691 */
BgL_test4951z00_10452 = ((bool_t)0)
; } }  else 
{ /* Llib/hash.scm 691 */
BgL_test4951z00_10452 = ((bool_t)0)
; } }  else 
{ /* Llib/hash.scm 691 */
BgL_test4951z00_10452 = ((bool_t)0)
; } } } } } 
if(BgL_test4951z00_10452)
{ /* Llib/hash.scm 691 */
return ((bool_t)1);}  else 
{ /* Llib/hash.scm 694 */
 obj_t BgL_arg1667z00_2052;
{ /* Llib/hash.scm 694 */
 obj_t BgL_pairz00_4008;
if(
PAIRP(BgL_bucketz00_2047))
{ /* Llib/hash.scm 694 */
BgL_pairz00_4008 = BgL_bucketz00_2047; }  else 
{ 
 obj_t BgL_auxz00_10511;
BgL_auxz00_10511 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(27739L), BGl_string4064z00zz__hashz00, BGl_string4068z00zz__hashz00, BgL_bucketz00_2047); 
FAILURE(BgL_auxz00_10511,BFALSE,BFALSE);} 
BgL_arg1667z00_2052 = 
CDR(BgL_pairz00_4008); } 
{ 
 obj_t BgL_bucketz00_10516;
BgL_bucketz00_10516 = BgL_arg1667z00_2052; 
BgL_bucketz00_2047 = BgL_bucketz00_10516; 
goto BgL_zc3z04anonymousza31663ze3z87_2048;} } } } } } } } } } 

}



/* hashtable-get */
BGL_EXPORTED_DEF obj_t BGl_hashtablezd2getzd2zz__hashz00(obj_t BgL_tablez00_96, obj_t BgL_keyz00_97)
{
{ /* Llib/hash.scm 699 */
if(
BGl_hashtablezd2openzd2stringzf3zf3zz__hashz00(BgL_tablez00_96))
{ /* Llib/hash.scm 701 */
 obj_t BgL_auxz00_10519;
if(
STRINGP(BgL_keyz00_97))
{ /* Llib/hash.scm 701 */
BgL_auxz00_10519 = BgL_keyz00_97
; }  else 
{ 
 obj_t BgL_auxz00_10522;
BgL_auxz00_10522 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(28103L), BGl_string4143z00zz__hashz00, BGl_string4050z00zz__hashz00, BgL_keyz00_97); 
FAILURE(BgL_auxz00_10522,BFALSE,BFALSE);} 
return 
BGl_openzd2stringzd2hashtablezd2getzd2zz__hashz00(BgL_tablez00_96, BgL_auxz00_10519);}  else 
{ /* Llib/hash.scm 702 */
 bool_t BgL_test4965z00_10527;
{ /* Llib/hash.scm 323 */
 obj_t BgL_arg1452z00_4010;
{ /* Llib/hash.scm 323 */
 bool_t BgL_test4966z00_10528;
{ /* Llib/hash.scm 323 */
 obj_t BgL_tmpz00_10529;
{ /* Llib/hash.scm 323 */
 obj_t BgL_res2659z00_4014;
{ /* Llib/hash.scm 323 */
 obj_t BgL_aux3449z00_6337;
BgL_aux3449z00_6337 = 
STRUCT_KEY(BgL_tablez00_96); 
if(
SYMBOLP(BgL_aux3449z00_6337))
{ /* Llib/hash.scm 323 */
BgL_res2659z00_4014 = BgL_aux3449z00_6337; }  else 
{ 
 obj_t BgL_auxz00_10533;
BgL_auxz00_10533 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(12381L), BGl_string4143z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3449z00_6337); 
FAILURE(BgL_auxz00_10533,BFALSE,BFALSE);} } 
BgL_tmpz00_10529 = BgL_res2659z00_4014; } 
BgL_test4966z00_10528 = 
(BgL_tmpz00_10529==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4966z00_10528)
{ /* Llib/hash.scm 323 */
 int BgL_tmpz00_10538;
BgL_tmpz00_10538 = 
(int)(5L); 
BgL_arg1452z00_4010 = 
UNSAFE_STRUCT_REF(BgL_tablez00_96, BgL_tmpz00_10538); }  else 
{ /* Llib/hash.scm 323 */
BgL_arg1452z00_4010 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_96); } } 
{ /* Llib/hash.scm 323 */
 long BgL_n1z00_4015;
{ /* Llib/hash.scm 323 */
 obj_t BgL_tmpz00_10542;
if(
INTEGERP(BgL_arg1452z00_4010))
{ /* Llib/hash.scm 323 */
BgL_tmpz00_10542 = BgL_arg1452z00_4010
; }  else 
{ 
 obj_t BgL_auxz00_10545;
BgL_auxz00_10545 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(12403L), BGl_string4143z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_arg1452z00_4010); 
FAILURE(BgL_auxz00_10545,BFALSE,BFALSE);} 
BgL_n1z00_4015 = 
(long)CINT(BgL_tmpz00_10542); } 
BgL_test4965z00_10527 = 
(BgL_n1z00_4015==4L); } } 
if(BgL_test4965z00_10527)
{ /* Llib/hash.scm 702 */
 obj_t BgL_auxz00_10551;
if(
STRINGP(BgL_keyz00_97))
{ /* Llib/hash.scm 702 */
BgL_auxz00_10551 = BgL_keyz00_97
; }  else 
{ 
 obj_t BgL_auxz00_10554;
BgL_auxz00_10554 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(28170L), BGl_string4143z00zz__hashz00, BGl_string4050z00zz__hashz00, BgL_keyz00_97); 
FAILURE(BgL_auxz00_10554,BFALSE,BFALSE);} 
return 
BGl_stringzd2hashtablezd2getz00zz__hashz00(BgL_tablez00_96, BgL_auxz00_10551);}  else 
{ /* Llib/hash.scm 702 */
if(
BGl_hashtablezd2weakzf3z21zz__hashz00(BgL_tablez00_96))
{ /* Llib/hash.scm 703 */
BGL_TAIL return 
BGl_weakzd2hashtablezd2getz00zz__weakhashz00(BgL_tablez00_96, BgL_keyz00_97);}  else 
{ /* Llib/hash.scm 703 */
BGL_TAIL return 
BGl_plainzd2hashtablezd2getz00zz__hashz00(BgL_tablez00_96, BgL_keyz00_97);} } } } 

}



/* &hashtable-get */
obj_t BGl_z62hashtablezd2getzb0zz__hashz00(obj_t BgL_envz00_5550, obj_t BgL_tablez00_5551, obj_t BgL_keyz00_5552)
{
{ /* Llib/hash.scm 699 */
{ /* Llib/hash.scm 701 */
 obj_t BgL_auxz00_10563;
if(
STRUCTP(BgL_tablez00_5551))
{ /* Llib/hash.scm 701 */
BgL_auxz00_10563 = BgL_tablez00_5551
; }  else 
{ 
 obj_t BgL_auxz00_10566;
BgL_auxz00_10566 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(28038L), BGl_string4144z00zz__hashz00, BGl_string4057z00zz__hashz00, BgL_tablez00_5551); 
FAILURE(BgL_auxz00_10566,BFALSE,BFALSE);} 
return 
BGl_hashtablezd2getzd2zz__hashz00(BgL_auxz00_10563, BgL_keyz00_5552);} } 

}



/* plain-hashtable-get */
obj_t BGl_plainzd2hashtablezd2getz00zz__hashz00(obj_t BgL_tablez00_98, obj_t BgL_keyz00_99)
{
{ /* Llib/hash.scm 709 */
{ /* Llib/hash.scm 710 */
 obj_t BgL_bucketsz00_2059;
{ /* Llib/hash.scm 710 */
 bool_t BgL_test4972z00_10571;
{ /* Llib/hash.scm 710 */
 obj_t BgL_tmpz00_10572;
{ /* Llib/hash.scm 710 */
 obj_t BgL_res2660z00_4019;
{ /* Llib/hash.scm 710 */
 obj_t BgL_aux3456z00_6344;
BgL_aux3456z00_6344 = 
STRUCT_KEY(BgL_tablez00_98); 
if(
SYMBOLP(BgL_aux3456z00_6344))
{ /* Llib/hash.scm 710 */
BgL_res2660z00_4019 = BgL_aux3456z00_6344; }  else 
{ 
 obj_t BgL_auxz00_10576;
BgL_auxz00_10576 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(28581L), BGl_string4145z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3456z00_6344); 
FAILURE(BgL_auxz00_10576,BFALSE,BFALSE);} } 
BgL_tmpz00_10572 = BgL_res2660z00_4019; } 
BgL_test4972z00_10571 = 
(BgL_tmpz00_10572==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4972z00_10571)
{ /* Llib/hash.scm 710 */
 int BgL_tmpz00_10581;
BgL_tmpz00_10581 = 
(int)(2L); 
BgL_bucketsz00_2059 = 
UNSAFE_STRUCT_REF(BgL_tablez00_98, BgL_tmpz00_10581); }  else 
{ /* Llib/hash.scm 710 */
BgL_bucketsz00_2059 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_98); } } 
{ /* Llib/hash.scm 710 */
 long BgL_bucketzd2lenzd2_2060;
{ /* Llib/hash.scm 711 */
 obj_t BgL_vectorz00_4020;
if(
VECTORP(BgL_bucketsz00_2059))
{ /* Llib/hash.scm 711 */
BgL_vectorz00_4020 = BgL_bucketsz00_2059; }  else 
{ 
 obj_t BgL_auxz00_10587;
BgL_auxz00_10587 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(28639L), BGl_string4145z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_2059); 
FAILURE(BgL_auxz00_10587,BFALSE,BFALSE);} 
BgL_bucketzd2lenzd2_2060 = 
VECTOR_LENGTH(BgL_vectorz00_4020); } 
{ /* Llib/hash.scm 711 */
 long BgL_bucketzd2numzd2_2061;
{ /* Llib/hash.scm 712 */
 long BgL_arg1689z00_2072;
BgL_arg1689z00_2072 = 
BGl_tablezd2getzd2hashnumberz00zz__hashz00(BgL_tablez00_98, BgL_keyz00_99); 
{ /* Llib/hash.scm 712 */
 long BgL_n1z00_4021; long BgL_n2z00_4022;
BgL_n1z00_4021 = BgL_arg1689z00_2072; 
BgL_n2z00_4022 = BgL_bucketzd2lenzd2_2060; 
{ /* Llib/hash.scm 712 */
 bool_t BgL_test4975z00_10593;
{ /* Llib/hash.scm 712 */
 long BgL_arg2239z00_4024;
BgL_arg2239z00_4024 = 
(((BgL_n1z00_4021) | (BgL_n2z00_4022)) & -2147483648); 
BgL_test4975z00_10593 = 
(BgL_arg2239z00_4024==0L); } 
if(BgL_test4975z00_10593)
{ /* Llib/hash.scm 712 */
 int32_t BgL_arg2235z00_4025;
{ /* Llib/hash.scm 712 */
 int32_t BgL_arg2237z00_4026; int32_t BgL_arg2238z00_4027;
BgL_arg2237z00_4026 = 
(int32_t)(BgL_n1z00_4021); 
BgL_arg2238z00_4027 = 
(int32_t)(BgL_n2z00_4022); 
BgL_arg2235z00_4025 = 
(BgL_arg2237z00_4026%BgL_arg2238z00_4027); } 
{ /* Llib/hash.scm 712 */
 long BgL_arg2353z00_4032;
BgL_arg2353z00_4032 = 
(long)(BgL_arg2235z00_4025); 
BgL_bucketzd2numzd2_2061 = 
(long)(BgL_arg2353z00_4032); } }  else 
{ /* Llib/hash.scm 712 */
BgL_bucketzd2numzd2_2061 = 
(BgL_n1z00_4021%BgL_n2z00_4022); } } } } 
{ /* Llib/hash.scm 712 */
 obj_t BgL_bucketz00_2062;
{ /* Llib/hash.scm 713 */
 obj_t BgL_vectorz00_4034;
if(
VECTORP(BgL_bucketsz00_2059))
{ /* Llib/hash.scm 713 */
BgL_vectorz00_4034 = BgL_bucketsz00_2059; }  else 
{ 
 obj_t BgL_auxz00_10604;
BgL_auxz00_10604 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(28749L), BGl_string4145z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_2059); 
FAILURE(BgL_auxz00_10604,BFALSE,BFALSE);} 
BgL_bucketz00_2062 = 
VECTOR_REF(BgL_vectorz00_4034,BgL_bucketzd2numzd2_2061); } 
{ /* Llib/hash.scm 713 */

{ 
 obj_t BgL_bucketz00_2064;
BgL_bucketz00_2064 = BgL_bucketz00_2062; 
BgL_zc3z04anonymousza31676ze3z87_2065:
if(
NULLP(BgL_bucketz00_2064))
{ /* Llib/hash.scm 716 */
return BFALSE;}  else 
{ /* Llib/hash.scm 718 */
 bool_t BgL_test4978z00_10611;
{ /* Llib/hash.scm 718 */
 obj_t BgL_arg1687z00_2070;
{ /* Llib/hash.scm 718 */
 obj_t BgL_pairz00_4036;
if(
PAIRP(BgL_bucketz00_2064))
{ /* Llib/hash.scm 718 */
BgL_pairz00_4036 = BgL_bucketz00_2064; }  else 
{ 
 obj_t BgL_auxz00_10614;
BgL_auxz00_10614 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(28880L), BGl_string4064z00zz__hashz00, BGl_string4068z00zz__hashz00, BgL_bucketz00_2064); 
FAILURE(BgL_auxz00_10614,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 718 */
 obj_t BgL_pairz00_4039;
{ /* Llib/hash.scm 718 */
 obj_t BgL_aux3464z00_6352;
BgL_aux3464z00_6352 = 
CAR(BgL_pairz00_4036); 
if(
PAIRP(BgL_aux3464z00_6352))
{ /* Llib/hash.scm 718 */
BgL_pairz00_4039 = BgL_aux3464z00_6352; }  else 
{ 
 obj_t BgL_auxz00_10621;
BgL_auxz00_10621 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(28874L), BGl_string4064z00zz__hashz00, BGl_string4068z00zz__hashz00, BgL_aux3464z00_6352); 
FAILURE(BgL_auxz00_10621,BFALSE,BFALSE);} } 
BgL_arg1687z00_2070 = 
CAR(BgL_pairz00_4039); } } 
{ /* Llib/hash.scm 718 */
 obj_t BgL_eqtz00_4040;
{ /* Llib/hash.scm 718 */
 bool_t BgL_test4981z00_10626;
{ /* Llib/hash.scm 718 */
 obj_t BgL_tmpz00_10627;
{ /* Llib/hash.scm 718 */
 obj_t BgL_res2661z00_4047;
{ /* Llib/hash.scm 718 */
 obj_t BgL_aux3466z00_6354;
BgL_aux3466z00_6354 = 
STRUCT_KEY(BgL_tablez00_98); 
if(
SYMBOLP(BgL_aux3466z00_6354))
{ /* Llib/hash.scm 718 */
BgL_res2661z00_4047 = BgL_aux3466z00_6354; }  else 
{ 
 obj_t BgL_auxz00_10631;
BgL_auxz00_10631 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(28850L), BGl_string4064z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3466z00_6354); 
FAILURE(BgL_auxz00_10631,BFALSE,BFALSE);} } 
BgL_tmpz00_10627 = BgL_res2661z00_4047; } 
BgL_test4981z00_10626 = 
(BgL_tmpz00_10627==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4981z00_10626)
{ /* Llib/hash.scm 718 */
 int BgL_tmpz00_10636;
BgL_tmpz00_10636 = 
(int)(3L); 
BgL_eqtz00_4040 = 
UNSAFE_STRUCT_REF(BgL_tablez00_98, BgL_tmpz00_10636); }  else 
{ /* Llib/hash.scm 718 */
BgL_eqtz00_4040 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_98); } } 
if(
PROCEDUREP(BgL_eqtz00_4040))
{ /* Llib/hash.scm 718 */
if(
PROCEDURE_CORRECT_ARITYP(BgL_eqtz00_4040, 2))
{ /* Llib/hash.scm 718 */
BgL_test4978z00_10611 = 
CBOOL(
BGL_PROCEDURE_CALL2(BgL_eqtz00_4040, BgL_arg1687z00_2070, BgL_keyz00_99))
; }  else 
{ /* Llib/hash.scm 718 */
FAILURE(BGl_string4078z00zz__hashz00,BGl_list4146z00zz__hashz00,BgL_eqtz00_4040);} }  else 
{ /* Llib/hash.scm 718 */
if(
(BgL_arg1687z00_2070==BgL_keyz00_99))
{ /* Llib/hash.scm 718 */
BgL_test4978z00_10611 = ((bool_t)1)
; }  else 
{ /* Llib/hash.scm 718 */
if(
STRINGP(BgL_arg1687z00_2070))
{ /* Llib/hash.scm 718 */
if(
STRINGP(BgL_keyz00_99))
{ /* Llib/hash.scm 718 */
 long BgL_l1z00_4050;
BgL_l1z00_4050 = 
STRING_LENGTH(BgL_arg1687z00_2070); 
if(
(BgL_l1z00_4050==
STRING_LENGTH(BgL_keyz00_99)))
{ /* Llib/hash.scm 718 */
 int BgL_arg2135z00_4053;
{ /* Llib/hash.scm 718 */
 char * BgL_auxz00_10663; char * BgL_tmpz00_10661;
BgL_auxz00_10663 = 
BSTRING_TO_STRING(BgL_keyz00_99); 
BgL_tmpz00_10661 = 
BSTRING_TO_STRING(BgL_arg1687z00_2070); 
BgL_arg2135z00_4053 = 
memcmp(BgL_tmpz00_10661, BgL_auxz00_10663, BgL_l1z00_4050); } 
BgL_test4978z00_10611 = 
(
(long)(BgL_arg2135z00_4053)==0L); }  else 
{ /* Llib/hash.scm 718 */
BgL_test4978z00_10611 = ((bool_t)0)
; } }  else 
{ /* Llib/hash.scm 718 */
BgL_test4978z00_10611 = ((bool_t)0)
; } }  else 
{ /* Llib/hash.scm 718 */
BgL_test4978z00_10611 = ((bool_t)0)
; } } } } } 
if(BgL_test4978z00_10611)
{ /* Llib/hash.scm 719 */
 obj_t BgL_pairz00_4059;
if(
PAIRP(BgL_bucketz00_2064))
{ /* Llib/hash.scm 719 */
BgL_pairz00_4059 = BgL_bucketz00_2064; }  else 
{ 
 obj_t BgL_auxz00_10670;
BgL_auxz00_10670 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(28905L), BGl_string4064z00zz__hashz00, BGl_string4068z00zz__hashz00, BgL_bucketz00_2064); 
FAILURE(BgL_auxz00_10670,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 719 */
 obj_t BgL_pairz00_4062;
{ /* Llib/hash.scm 719 */
 obj_t BgL_aux3471z00_6360;
BgL_aux3471z00_6360 = 
CAR(BgL_pairz00_4059); 
if(
PAIRP(BgL_aux3471z00_6360))
{ /* Llib/hash.scm 719 */
BgL_pairz00_4062 = BgL_aux3471z00_6360; }  else 
{ 
 obj_t BgL_auxz00_10677;
BgL_auxz00_10677 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(28899L), BGl_string4064z00zz__hashz00, BGl_string4068z00zz__hashz00, BgL_aux3471z00_6360); 
FAILURE(BgL_auxz00_10677,BFALSE,BFALSE);} } 
return 
CDR(BgL_pairz00_4062);} }  else 
{ /* Llib/hash.scm 721 */
 obj_t BgL_arg1683z00_2069;
{ /* Llib/hash.scm 721 */
 obj_t BgL_pairz00_4063;
if(
PAIRP(BgL_bucketz00_2064))
{ /* Llib/hash.scm 721 */
BgL_pairz00_4063 = BgL_bucketz00_2064; }  else 
{ 
 obj_t BgL_auxz00_10684;
BgL_auxz00_10684 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(28942L), BGl_string4064z00zz__hashz00, BGl_string4068z00zz__hashz00, BgL_bucketz00_2064); 
FAILURE(BgL_auxz00_10684,BFALSE,BFALSE);} 
BgL_arg1683z00_2069 = 
CDR(BgL_pairz00_4063); } 
{ 
 obj_t BgL_bucketz00_10689;
BgL_bucketz00_10689 = BgL_arg1683z00_2069; 
BgL_bucketz00_2064 = BgL_bucketz00_10689; 
goto BgL_zc3z04anonymousza31676ze3z87_2065;} } } } } } } } } } 

}



/* string-hashtable-get */
BGL_EXPORTED_DEF obj_t BGl_stringzd2hashtablezd2getz00zz__hashz00(obj_t BgL_tablez00_100, obj_t BgL_keyz00_101)
{
{ /* Llib/hash.scm 726 */
{ /* Llib/hash.scm 727 */
 obj_t BgL_bucketsz00_2073;
{ /* Llib/hash.scm 727 */
 bool_t BgL_test4992z00_10690;
{ /* Llib/hash.scm 727 */
 obj_t BgL_tmpz00_10691;
{ /* Llib/hash.scm 727 */
 obj_t BgL_res2662z00_4067;
{ /* Llib/hash.scm 727 */
 obj_t BgL_aux3475z00_6364;
BgL_aux3475z00_6364 = 
STRUCT_KEY(BgL_tablez00_100); 
if(
SYMBOLP(BgL_aux3475z00_6364))
{ /* Llib/hash.scm 727 */
BgL_res2662z00_4067 = BgL_aux3475z00_6364; }  else 
{ 
 obj_t BgL_auxz00_10695;
BgL_auxz00_10695 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(29256L), BGl_string4149z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3475z00_6364); 
FAILURE(BgL_auxz00_10695,BFALSE,BFALSE);} } 
BgL_tmpz00_10691 = BgL_res2662z00_4067; } 
BgL_test4992z00_10690 = 
(BgL_tmpz00_10691==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test4992z00_10690)
{ /* Llib/hash.scm 727 */
 int BgL_tmpz00_10700;
BgL_tmpz00_10700 = 
(int)(2L); 
BgL_bucketsz00_2073 = 
UNSAFE_STRUCT_REF(BgL_tablez00_100, BgL_tmpz00_10700); }  else 
{ /* Llib/hash.scm 727 */
BgL_bucketsz00_2073 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_100); } } 
{ /* Llib/hash.scm 727 */
 long BgL_bucketzd2lenzd2_2074;
{ /* Llib/hash.scm 728 */
 obj_t BgL_vectorz00_4068;
if(
VECTORP(BgL_bucketsz00_2073))
{ /* Llib/hash.scm 728 */
BgL_vectorz00_4068 = BgL_bucketsz00_2073; }  else 
{ 
 obj_t BgL_auxz00_10706;
BgL_auxz00_10706 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(29314L), BGl_string4149z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_2073); 
FAILURE(BgL_auxz00_10706,BFALSE,BFALSE);} 
BgL_bucketzd2lenzd2_2074 = 
VECTOR_LENGTH(BgL_vectorz00_4068); } 
{ /* Llib/hash.scm 728 */
 long BgL_bucketzd2numzd2_2075;
{ /* Llib/hash.scm 729 */
 long BgL_arg1702z00_2086;
{ /* Llib/hash.scm 729 */
 long BgL_arg1703z00_2087;
BgL_arg1703z00_2087 = 
STRING_LENGTH(BgL_keyz00_101); 
BgL_arg1702z00_2086 = 
bgl_string_hash(
BSTRING_TO_STRING(BgL_keyz00_101), 
(int)(0L), 
(int)(BgL_arg1703z00_2087)); } 
{ /* Llib/hash.scm 729 */
 long BgL_n1z00_4070; long BgL_n2z00_4071;
BgL_n1z00_4070 = BgL_arg1702z00_2086; 
BgL_n2z00_4071 = BgL_bucketzd2lenzd2_2074; 
{ /* Llib/hash.scm 729 */
 bool_t BgL_test4997z00_10716;
{ /* Llib/hash.scm 729 */
 long BgL_arg2239z00_4073;
BgL_arg2239z00_4073 = 
(((BgL_n1z00_4070) | (BgL_n2z00_4071)) & -2147483648); 
BgL_test4997z00_10716 = 
(BgL_arg2239z00_4073==0L); } 
if(BgL_test4997z00_10716)
{ /* Llib/hash.scm 729 */
 int32_t BgL_arg2235z00_4074;
{ /* Llib/hash.scm 729 */
 int32_t BgL_arg2237z00_4075; int32_t BgL_arg2238z00_4076;
BgL_arg2237z00_4075 = 
(int32_t)(BgL_n1z00_4070); 
BgL_arg2238z00_4076 = 
(int32_t)(BgL_n2z00_4071); 
BgL_arg2235z00_4074 = 
(BgL_arg2237z00_4075%BgL_arg2238z00_4076); } 
{ /* Llib/hash.scm 729 */
 long BgL_arg2353z00_4081;
BgL_arg2353z00_4081 = 
(long)(BgL_arg2235z00_4074); 
BgL_bucketzd2numzd2_2075 = 
(long)(BgL_arg2353z00_4081); } }  else 
{ /* Llib/hash.scm 729 */
BgL_bucketzd2numzd2_2075 = 
(BgL_n1z00_4070%BgL_n2z00_4071); } } } } 
{ /* Llib/hash.scm 729 */
 obj_t BgL_bucketz00_2076;
{ /* Llib/hash.scm 730 */
 obj_t BgL_vectorz00_4083;
if(
VECTORP(BgL_bucketsz00_2073))
{ /* Llib/hash.scm 730 */
BgL_vectorz00_4083 = BgL_bucketsz00_2073; }  else 
{ 
 obj_t BgL_auxz00_10727;
BgL_auxz00_10727 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(29432L), BGl_string4149z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_2073); 
FAILURE(BgL_auxz00_10727,BFALSE,BFALSE);} 
BgL_bucketz00_2076 = 
VECTOR_REF(BgL_vectorz00_4083,BgL_bucketzd2numzd2_2075); } 
{ /* Llib/hash.scm 730 */

{ 
 obj_t BgL_bucketz00_2078;
BgL_bucketz00_2078 = BgL_bucketz00_2076; 
BgL_zc3z04anonymousza31690ze3z87_2079:
if(
NULLP(BgL_bucketz00_2078))
{ /* Llib/hash.scm 733 */
return BFALSE;}  else 
{ /* Llib/hash.scm 735 */
 bool_t BgL_test5001z00_10734;
{ /* Llib/hash.scm 735 */
 obj_t BgL_arg1698z00_2084;
{ /* Llib/hash.scm 735 */
 obj_t BgL_pairz00_4085;
if(
PAIRP(BgL_bucketz00_2078))
{ /* Llib/hash.scm 735 */
BgL_pairz00_4085 = BgL_bucketz00_2078; }  else 
{ 
 obj_t BgL_auxz00_10737;
BgL_auxz00_10737 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(29549L), BGl_string4064z00zz__hashz00, BGl_string4068z00zz__hashz00, BgL_bucketz00_2078); 
FAILURE(BgL_auxz00_10737,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 735 */
 obj_t BgL_pairz00_4088;
{ /* Llib/hash.scm 735 */
 obj_t BgL_aux3483z00_6372;
BgL_aux3483z00_6372 = 
CAR(BgL_pairz00_4085); 
if(
PAIRP(BgL_aux3483z00_6372))
{ /* Llib/hash.scm 735 */
BgL_pairz00_4088 = BgL_aux3483z00_6372; }  else 
{ 
 obj_t BgL_auxz00_10744;
BgL_auxz00_10744 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(29543L), BGl_string4064z00zz__hashz00, BGl_string4068z00zz__hashz00, BgL_aux3483z00_6372); 
FAILURE(BgL_auxz00_10744,BFALSE,BFALSE);} } 
BgL_arg1698z00_2084 = 
CAR(BgL_pairz00_4088); } } 
{ /* Llib/hash.scm 735 */
 obj_t BgL_string1z00_4089;
if(
STRINGP(BgL_arg1698z00_2084))
{ /* Llib/hash.scm 735 */
BgL_string1z00_4089 = BgL_arg1698z00_2084; }  else 
{ 
 obj_t BgL_auxz00_10751;
BgL_auxz00_10751 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(29555L), BGl_string4064z00zz__hashz00, BGl_string4050z00zz__hashz00, BgL_arg1698z00_2084); 
FAILURE(BgL_auxz00_10751,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 735 */
 long BgL_l1z00_4091;
BgL_l1z00_4091 = 
STRING_LENGTH(BgL_string1z00_4089); 
if(
(BgL_l1z00_4091==
STRING_LENGTH(BgL_keyz00_101)))
{ /* Llib/hash.scm 735 */
 int BgL_arg2135z00_4094;
{ /* Llib/hash.scm 735 */
 char * BgL_auxz00_10761; char * BgL_tmpz00_10759;
BgL_auxz00_10761 = 
BSTRING_TO_STRING(BgL_keyz00_101); 
BgL_tmpz00_10759 = 
BSTRING_TO_STRING(BgL_string1z00_4089); 
BgL_arg2135z00_4094 = 
memcmp(BgL_tmpz00_10759, BgL_auxz00_10761, BgL_l1z00_4091); } 
BgL_test5001z00_10734 = 
(
(long)(BgL_arg2135z00_4094)==0L); }  else 
{ /* Llib/hash.scm 735 */
BgL_test5001z00_10734 = ((bool_t)0)
; } } } } 
if(BgL_test5001z00_10734)
{ /* Llib/hash.scm 736 */
 obj_t BgL_pairz00_4100;
if(
PAIRP(BgL_bucketz00_2078))
{ /* Llib/hash.scm 736 */
BgL_pairz00_4100 = BgL_bucketz00_2078; }  else 
{ 
 obj_t BgL_auxz00_10768;
BgL_auxz00_10768 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(29574L), BGl_string4064z00zz__hashz00, BGl_string4068z00zz__hashz00, BgL_bucketz00_2078); 
FAILURE(BgL_auxz00_10768,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 736 */
 obj_t BgL_pairz00_4103;
{ /* Llib/hash.scm 736 */
 obj_t BgL_aux3489z00_6378;
BgL_aux3489z00_6378 = 
CAR(BgL_pairz00_4100); 
if(
PAIRP(BgL_aux3489z00_6378))
{ /* Llib/hash.scm 736 */
BgL_pairz00_4103 = BgL_aux3489z00_6378; }  else 
{ 
 obj_t BgL_auxz00_10775;
BgL_auxz00_10775 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(29568L), BGl_string4064z00zz__hashz00, BGl_string4068z00zz__hashz00, BgL_aux3489z00_6378); 
FAILURE(BgL_auxz00_10775,BFALSE,BFALSE);} } 
return 
CDR(BgL_pairz00_4103);} }  else 
{ /* Llib/hash.scm 738 */
 obj_t BgL_arg1697z00_2083;
{ /* Llib/hash.scm 738 */
 obj_t BgL_pairz00_4104;
if(
PAIRP(BgL_bucketz00_2078))
{ /* Llib/hash.scm 738 */
BgL_pairz00_4104 = BgL_bucketz00_2078; }  else 
{ 
 obj_t BgL_auxz00_10782;
BgL_auxz00_10782 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(29611L), BGl_string4064z00zz__hashz00, BGl_string4068z00zz__hashz00, BgL_bucketz00_2078); 
FAILURE(BgL_auxz00_10782,BFALSE,BFALSE);} 
BgL_arg1697z00_2083 = 
CDR(BgL_pairz00_4104); } 
{ 
 obj_t BgL_bucketz00_10787;
BgL_bucketz00_10787 = BgL_arg1697z00_2083; 
BgL_bucketz00_2078 = BgL_bucketz00_10787; 
goto BgL_zc3z04anonymousza31690ze3z87_2079;} } } } } } } } } } 

}



/* &string-hashtable-get */
obj_t BGl_z62stringzd2hashtablezd2getz62zz__hashz00(obj_t BgL_envz00_5553, obj_t BgL_tablez00_5554, obj_t BgL_keyz00_5555)
{
{ /* Llib/hash.scm 726 */
{ /* Llib/hash.scm 727 */
 obj_t BgL_auxz00_10795; obj_t BgL_auxz00_10788;
if(
STRINGP(BgL_keyz00_5555))
{ /* Llib/hash.scm 727 */
BgL_auxz00_10795 = BgL_keyz00_5555
; }  else 
{ 
 obj_t BgL_auxz00_10798;
BgL_auxz00_10798 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(29240L), BGl_string4150z00zz__hashz00, BGl_string4050z00zz__hashz00, BgL_keyz00_5555); 
FAILURE(BgL_auxz00_10798,BFALSE,BFALSE);} 
if(
STRUCTP(BgL_tablez00_5554))
{ /* Llib/hash.scm 727 */
BgL_auxz00_10788 = BgL_tablez00_5554
; }  else 
{ 
 obj_t BgL_auxz00_10791;
BgL_auxz00_10791 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(29240L), BGl_string4150z00zz__hashz00, BGl_string4057z00zz__hashz00, BgL_tablez00_5554); 
FAILURE(BgL_auxz00_10791,BFALSE,BFALSE);} 
return 
BGl_stringzd2hashtablezd2getz00zz__hashz00(BgL_auxz00_10788, BgL_auxz00_10795);} } 

}



/* open-string-hashtable-get */
BGL_EXPORTED_DEF obj_t BGl_openzd2stringzd2hashtablezd2getzd2zz__hashz00(obj_t BgL_tz00_102, obj_t BgL_keyz00_103)
{
{ /* Llib/hash.scm 743 */
{ /* Llib/hash.scm 744 */
 obj_t BgL_siza7eza7_2088;
{ /* Llib/hash.scm 744 */
 bool_t BgL_test5011z00_10803;
{ /* Llib/hash.scm 744 */
 obj_t BgL_tmpz00_10804;
{ /* Llib/hash.scm 744 */
 obj_t BgL_res2663z00_4108;
{ /* Llib/hash.scm 744 */
 obj_t BgL_aux3497z00_6386;
BgL_aux3497z00_6386 = 
STRUCT_KEY(BgL_tz00_102); 
if(
SYMBOLP(BgL_aux3497z00_6386))
{ /* Llib/hash.scm 744 */
BgL_res2663z00_4108 = BgL_aux3497z00_6386; }  else 
{ 
 obj_t BgL_auxz00_10808;
BgL_auxz00_10808 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(29906L), BGl_string4151z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3497z00_6386); 
FAILURE(BgL_auxz00_10808,BFALSE,BFALSE);} } 
BgL_tmpz00_10804 = BgL_res2663z00_4108; } 
BgL_test5011z00_10803 = 
(BgL_tmpz00_10804==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test5011z00_10803)
{ /* Llib/hash.scm 744 */
 int BgL_tmpz00_10813;
BgL_tmpz00_10813 = 
(int)(1L); 
BgL_siza7eza7_2088 = 
UNSAFE_STRUCT_REF(BgL_tz00_102, BgL_tmpz00_10813); }  else 
{ /* Llib/hash.scm 744 */
BgL_siza7eza7_2088 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tz00_102); } } 
{ /* Llib/hash.scm 744 */
 obj_t BgL_bucketsz00_2089;
{ /* Llib/hash.scm 745 */
 bool_t BgL_test5013z00_10817;
{ /* Llib/hash.scm 745 */
 obj_t BgL_tmpz00_10818;
{ /* Llib/hash.scm 745 */
 obj_t BgL_res2664z00_4112;
{ /* Llib/hash.scm 745 */
 obj_t BgL_aux3499z00_6388;
BgL_aux3499z00_6388 = 
STRUCT_KEY(BgL_tz00_102); 
if(
SYMBOLP(BgL_aux3499z00_6388))
{ /* Llib/hash.scm 745 */
BgL_res2664z00_4112 = BgL_aux3499z00_6388; }  else 
{ 
 obj_t BgL_auxz00_10822;
BgL_auxz00_10822 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(29949L), BGl_string4151z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3499z00_6388); 
FAILURE(BgL_auxz00_10822,BFALSE,BFALSE);} } 
BgL_tmpz00_10818 = BgL_res2664z00_4112; } 
BgL_test5013z00_10817 = 
(BgL_tmpz00_10818==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test5013z00_10817)
{ /* Llib/hash.scm 745 */
 int BgL_tmpz00_10827;
BgL_tmpz00_10827 = 
(int)(2L); 
BgL_bucketsz00_2089 = 
UNSAFE_STRUCT_REF(BgL_tz00_102, BgL_tmpz00_10827); }  else 
{ /* Llib/hash.scm 745 */
BgL_bucketsz00_2089 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tz00_102); } } 
{ /* Llib/hash.scm 745 */
 long BgL_hashz00_2090;
{ /* Llib/hash.scm 746 */
 long BgL_arg1720z00_2112;
BgL_arg1720z00_2112 = 
STRING_LENGTH(BgL_keyz00_103); 
BgL_hashz00_2090 = 
bgl_string_hash(
BSTRING_TO_STRING(BgL_keyz00_103), 
(int)(0L), 
(int)(BgL_arg1720z00_2112)); } 
{ /* Llib/hash.scm 746 */

{ /* Llib/hash.scm 747 */
 long BgL_g1069z00_2091;
{ /* Llib/hash.scm 747 */
 long BgL_n1z00_4114; long BgL_n2z00_4115;
BgL_n1z00_4114 = BgL_hashz00_2090; 
{ /* Llib/hash.scm 747 */
 obj_t BgL_tmpz00_10836;
if(
INTEGERP(BgL_siza7eza7_2088))
{ /* Llib/hash.scm 747 */
BgL_tmpz00_10836 = BgL_siza7eza7_2088
; }  else 
{ 
 obj_t BgL_auxz00_10839;
BgL_auxz00_10839 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(30065L), BGl_string4151z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_siza7eza7_2088); 
FAILURE(BgL_auxz00_10839,BFALSE,BFALSE);} 
BgL_n2z00_4115 = 
(long)CINT(BgL_tmpz00_10836); } 
{ /* Llib/hash.scm 747 */
 bool_t BgL_test5016z00_10844;
{ /* Llib/hash.scm 747 */
 long BgL_arg2239z00_4117;
BgL_arg2239z00_4117 = 
(((BgL_n1z00_4114) | (BgL_n2z00_4115)) & -2147483648); 
BgL_test5016z00_10844 = 
(BgL_arg2239z00_4117==0L); } 
if(BgL_test5016z00_10844)
{ /* Llib/hash.scm 747 */
 int32_t BgL_arg2235z00_4118;
{ /* Llib/hash.scm 747 */
 int32_t BgL_arg2237z00_4119; int32_t BgL_arg2238z00_4120;
BgL_arg2237z00_4119 = 
(int32_t)(BgL_n1z00_4114); 
BgL_arg2238z00_4120 = 
(int32_t)(BgL_n2z00_4115); 
BgL_arg2235z00_4118 = 
(BgL_arg2237z00_4119%BgL_arg2238z00_4120); } 
{ /* Llib/hash.scm 747 */
 long BgL_arg2353z00_4125;
BgL_arg2353z00_4125 = 
(long)(BgL_arg2235z00_4118); 
BgL_g1069z00_2091 = 
(long)(BgL_arg2353z00_4125); } }  else 
{ /* Llib/hash.scm 747 */
BgL_g1069z00_2091 = 
(BgL_n1z00_4114%BgL_n2z00_4115); } } } 
{ 
 long BgL_offz00_2093; long BgL_iz00_2094;
BgL_offz00_2093 = BgL_g1069z00_2091; 
BgL_iz00_2094 = 1L; 
BgL_zc3z04anonymousza31704ze3z87_2095:
{ /* Llib/hash.scm 749 */
 long BgL_off3z00_2096;
BgL_off3z00_2096 = 
(BgL_offz00_2093*3L); 
{ /* Llib/hash.scm 750 */
 bool_t BgL_test5017z00_10854;
{ /* Llib/hash.scm 750 */
 obj_t BgL_vectorz00_4128;
if(
VECTORP(BgL_bucketsz00_2089))
{ /* Llib/hash.scm 750 */
BgL_vectorz00_4128 = BgL_bucketsz00_2089; }  else 
{ 
 obj_t BgL_auxz00_10857;
BgL_auxz00_10857 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(30133L), BGl_string4064z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_2089); 
FAILURE(BgL_auxz00_10857,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 750 */
 bool_t BgL_test5019z00_10861;
{ /* Llib/hash.scm 750 */
 long BgL_tmpz00_10862;
BgL_tmpz00_10862 = 
VECTOR_LENGTH(BgL_vectorz00_4128); 
BgL_test5019z00_10861 = 
BOUND_CHECK(BgL_off3z00_2096, BgL_tmpz00_10862); } 
if(BgL_test5019z00_10861)
{ /* Llib/hash.scm 750 */
BgL_test5017z00_10854 = 
CBOOL(
VECTOR_REF(BgL_vectorz00_4128,BgL_off3z00_2096))
; }  else 
{ 
 obj_t BgL_auxz00_10867;
BgL_auxz00_10867 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(30121L), BGl_string4012z00zz__hashz00, BgL_vectorz00_4128, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_4128)), 
(int)(BgL_off3z00_2096)); 
FAILURE(BgL_auxz00_10867,BFALSE,BFALSE);} } } 
if(BgL_test5017z00_10854)
{ /* Llib/hash.scm 751 */
 bool_t BgL_test5020z00_10874;
{ /* Llib/hash.scm 751 */
 obj_t BgL_arg1719z00_2110;
{ /* Llib/hash.scm 751 */
 obj_t BgL_vectorz00_4130;
if(
VECTORP(BgL_bucketsz00_2089))
{ /* Llib/hash.scm 751 */
BgL_vectorz00_4130 = BgL_bucketsz00_2089; }  else 
{ 
 obj_t BgL_auxz00_10877;
BgL_auxz00_10877 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(30181L), BGl_string4064z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_2089); 
FAILURE(BgL_auxz00_10877,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 751 */
 bool_t BgL_test5022z00_10881;
{ /* Llib/hash.scm 751 */
 long BgL_tmpz00_10882;
BgL_tmpz00_10882 = 
VECTOR_LENGTH(BgL_vectorz00_4130); 
BgL_test5022z00_10881 = 
BOUND_CHECK(BgL_off3z00_2096, BgL_tmpz00_10882); } 
if(BgL_test5022z00_10881)
{ /* Llib/hash.scm 751 */
BgL_arg1719z00_2110 = 
VECTOR_REF(BgL_vectorz00_4130,BgL_off3z00_2096); }  else 
{ 
 obj_t BgL_auxz00_10886;
BgL_auxz00_10886 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(30169L), BGl_string4012z00zz__hashz00, BgL_vectorz00_4130, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_4130)), 
(int)(BgL_off3z00_2096)); 
FAILURE(BgL_auxz00_10886,BFALSE,BFALSE);} } } 
{ /* Llib/hash.scm 751 */
 obj_t BgL_string1z00_4132;
if(
STRINGP(BgL_arg1719z00_2110))
{ /* Llib/hash.scm 751 */
BgL_string1z00_4132 = BgL_arg1719z00_2110; }  else 
{ 
 obj_t BgL_auxz00_10895;
BgL_auxz00_10895 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(30193L), BGl_string4064z00zz__hashz00, BGl_string4050z00zz__hashz00, BgL_arg1719z00_2110); 
FAILURE(BgL_auxz00_10895,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 751 */
 long BgL_l1z00_4134;
BgL_l1z00_4134 = 
STRING_LENGTH(BgL_string1z00_4132); 
if(
(BgL_l1z00_4134==
STRING_LENGTH(BgL_keyz00_103)))
{ /* Llib/hash.scm 751 */
 int BgL_arg2135z00_4137;
{ /* Llib/hash.scm 751 */
 char * BgL_auxz00_10905; char * BgL_tmpz00_10903;
BgL_auxz00_10905 = 
BSTRING_TO_STRING(BgL_keyz00_103); 
BgL_tmpz00_10903 = 
BSTRING_TO_STRING(BgL_string1z00_4132); 
BgL_arg2135z00_4137 = 
memcmp(BgL_tmpz00_10903, BgL_auxz00_10905, BgL_l1z00_4134); } 
BgL_test5020z00_10874 = 
(
(long)(BgL_arg2135z00_4137)==0L); }  else 
{ /* Llib/hash.scm 751 */
BgL_test5020z00_10874 = ((bool_t)0)
; } } } } 
if(BgL_test5020z00_10874)
{ /* Llib/hash.scm 752 */
 bool_t BgL_test5025z00_10910;
{ /* Llib/hash.scm 752 */
 long BgL_arg1711z00_2103;
BgL_arg1711z00_2103 = 
(BgL_off3z00_2096+2L); 
{ /* Llib/hash.scm 752 */
 obj_t BgL_vectorz00_4144;
if(
VECTORP(BgL_bucketsz00_2089))
{ /* Llib/hash.scm 752 */
BgL_vectorz00_4144 = BgL_bucketsz00_2089; }  else 
{ 
 obj_t BgL_auxz00_10914;
BgL_auxz00_10914 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(30223L), BGl_string4064z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_2089); 
FAILURE(BgL_auxz00_10914,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 752 */
 bool_t BgL_test5027z00_10918;
{ /* Llib/hash.scm 752 */
 long BgL_tmpz00_10919;
BgL_tmpz00_10919 = 
VECTOR_LENGTH(BgL_vectorz00_4144); 
BgL_test5027z00_10918 = 
BOUND_CHECK(BgL_arg1711z00_2103, BgL_tmpz00_10919); } 
if(BgL_test5027z00_10918)
{ /* Llib/hash.scm 752 */
BgL_test5025z00_10910 = 
CBOOL(
VECTOR_REF(BgL_vectorz00_4144,BgL_arg1711z00_2103))
; }  else 
{ 
 obj_t BgL_auxz00_10924;
BgL_auxz00_10924 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(30211L), BGl_string4012z00zz__hashz00, BgL_vectorz00_4144, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_4144)), 
(int)(BgL_arg1711z00_2103)); 
FAILURE(BgL_auxz00_10924,BFALSE,BFALSE);} } } } 
if(BgL_test5025z00_10910)
{ /* Llib/hash.scm 753 */
 long BgL_arg1710z00_2102;
BgL_arg1710z00_2102 = 
(BgL_off3z00_2096+1L); 
{ /* Llib/hash.scm 753 */
 obj_t BgL_vectorz00_4147;
if(
VECTORP(BgL_bucketsz00_2089))
{ /* Llib/hash.scm 753 */
BgL_vectorz00_4147 = BgL_bucketsz00_2089; }  else 
{ 
 obj_t BgL_auxz00_10934;
BgL_auxz00_10934 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(30265L), BGl_string4064z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_2089); 
FAILURE(BgL_auxz00_10934,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 753 */
 bool_t BgL_test5029z00_10938;
{ /* Llib/hash.scm 753 */
 long BgL_tmpz00_10939;
BgL_tmpz00_10939 = 
VECTOR_LENGTH(BgL_vectorz00_4147); 
BgL_test5029z00_10938 = 
BOUND_CHECK(BgL_arg1710z00_2102, BgL_tmpz00_10939); } 
if(BgL_test5029z00_10938)
{ /* Llib/hash.scm 753 */
return 
VECTOR_REF(BgL_vectorz00_4147,BgL_arg1710z00_2102);}  else 
{ 
 obj_t BgL_auxz00_10943;
BgL_auxz00_10943 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(30253L), BGl_string4012z00zz__hashz00, BgL_vectorz00_4147, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_4147)), 
(int)(BgL_arg1710z00_2102)); 
FAILURE(BgL_auxz00_10943,BFALSE,BFALSE);} } } }  else 
{ /* Llib/hash.scm 752 */
return BFALSE;} }  else 
{ /* Llib/hash.scm 754 */
 long BgL_noffz00_2104;
BgL_noffz00_2104 = 
(BgL_offz00_2093+
(BgL_iz00_2094*BgL_iz00_2094)); 
{ /* Llib/hash.scm 755 */
 bool_t BgL_test5030z00_10952;
{ /* Llib/hash.scm 755 */
 long BgL_n2z00_4154;
{ /* Llib/hash.scm 755 */
 obj_t BgL_tmpz00_10953;
if(
INTEGERP(BgL_siza7eza7_2088))
{ /* Llib/hash.scm 755 */
BgL_tmpz00_10953 = BgL_siza7eza7_2088
; }  else 
{ 
 obj_t BgL_auxz00_10956;
BgL_auxz00_10956 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(30350L), BGl_string4064z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_siza7eza7_2088); 
FAILURE(BgL_auxz00_10956,BFALSE,BFALSE);} 
BgL_n2z00_4154 = 
(long)CINT(BgL_tmpz00_10953); } 
BgL_test5030z00_10952 = 
(BgL_noffz00_2104>=BgL_n2z00_4154); } 
if(BgL_test5030z00_10952)
{ /* Llib/hash.scm 756 */
 long BgL_arg1714z00_2106; long BgL_arg1715z00_2107;
{ /* Llib/hash.scm 756 */
 long BgL_n1z00_4155; long BgL_n2z00_4156;
BgL_n1z00_4155 = BgL_noffz00_2104; 
{ /* Llib/hash.scm 756 */
 obj_t BgL_tmpz00_10962;
if(
INTEGERP(BgL_siza7eza7_2088))
{ /* Llib/hash.scm 756 */
BgL_tmpz00_10962 = BgL_siza7eza7_2088
; }  else 
{ 
 obj_t BgL_auxz00_10965;
BgL_auxz00_10965 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(30385L), BGl_string4064z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_siza7eza7_2088); 
FAILURE(BgL_auxz00_10965,BFALSE,BFALSE);} 
BgL_n2z00_4156 = 
(long)CINT(BgL_tmpz00_10962); } 
{ /* Llib/hash.scm 756 */
 bool_t BgL_test5033z00_10970;
{ /* Llib/hash.scm 756 */
 long BgL_arg2239z00_4158;
BgL_arg2239z00_4158 = 
(((BgL_n1z00_4155) | (BgL_n2z00_4156)) & -2147483648); 
BgL_test5033z00_10970 = 
(BgL_arg2239z00_4158==0L); } 
if(BgL_test5033z00_10970)
{ /* Llib/hash.scm 756 */
 int32_t BgL_arg2235z00_4159;
{ /* Llib/hash.scm 756 */
 int32_t BgL_arg2237z00_4160; int32_t BgL_arg2238z00_4161;
BgL_arg2237z00_4160 = 
(int32_t)(BgL_n1z00_4155); 
BgL_arg2238z00_4161 = 
(int32_t)(BgL_n2z00_4156); 
BgL_arg2235z00_4159 = 
(BgL_arg2237z00_4160%BgL_arg2238z00_4161); } 
{ /* Llib/hash.scm 756 */
 long BgL_arg2353z00_4166;
BgL_arg2353z00_4166 = 
(long)(BgL_arg2235z00_4159); 
BgL_arg1714z00_2106 = 
(long)(BgL_arg2353z00_4166); } }  else 
{ /* Llib/hash.scm 756 */
BgL_arg1714z00_2106 = 
(BgL_n1z00_4155%BgL_n2z00_4156); } } } 
BgL_arg1715z00_2107 = 
(BgL_iz00_2094+1L); 
{ 
 long BgL_iz00_10981; long BgL_offz00_10980;
BgL_offz00_10980 = BgL_arg1714z00_2106; 
BgL_iz00_10981 = BgL_arg1715z00_2107; 
BgL_iz00_2094 = BgL_iz00_10981; 
BgL_offz00_2093 = BgL_offz00_10980; 
goto BgL_zc3z04anonymousza31704ze3z87_2095;} }  else 
{ 
 long BgL_iz00_10983; long BgL_offz00_10982;
BgL_offz00_10982 = BgL_noffz00_2104; 
BgL_iz00_10983 = 
(BgL_iz00_2094+1L); 
BgL_iz00_2094 = BgL_iz00_10983; 
BgL_offz00_2093 = BgL_offz00_10982; 
goto BgL_zc3z04anonymousza31704ze3z87_2095;} } } }  else 
{ /* Llib/hash.scm 750 */
return BFALSE;} } } } } } } } } } 

}



/* &open-string-hashtable-get */
obj_t BGl_z62openzd2stringzd2hashtablezd2getzb0zz__hashz00(obj_t BgL_envz00_5556, obj_t BgL_tz00_5557, obj_t BgL_keyz00_5558)
{
{ /* Llib/hash.scm 743 */
{ /* Llib/hash.scm 744 */
 obj_t BgL_auxz00_10992; obj_t BgL_auxz00_10985;
if(
STRINGP(BgL_keyz00_5558))
{ /* Llib/hash.scm 744 */
BgL_auxz00_10992 = BgL_keyz00_5558
; }  else 
{ 
 obj_t BgL_auxz00_10995;
BgL_auxz00_10995 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(29893L), BGl_string4152z00zz__hashz00, BGl_string4050z00zz__hashz00, BgL_keyz00_5558); 
FAILURE(BgL_auxz00_10995,BFALSE,BFALSE);} 
if(
STRUCTP(BgL_tz00_5557))
{ /* Llib/hash.scm 744 */
BgL_auxz00_10985 = BgL_tz00_5557
; }  else 
{ 
 obj_t BgL_auxz00_10988;
BgL_auxz00_10988 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(29893L), BGl_string4152z00zz__hashz00, BGl_string4057z00zz__hashz00, BgL_tz00_5557); 
FAILURE(BgL_auxz00_10988,BFALSE,BFALSE);} 
return 
BGl_openzd2stringzd2hashtablezd2getzd2zz__hashz00(BgL_auxz00_10985, BgL_auxz00_10992);} } 

}



/* $open-string-hashtable-get */
BGL_EXPORTED_DEF obj_t BGl_z42openzd2stringzd2hashtablezd2getz90zz__hashz00(obj_t BgL_tz00_104, char * BgL_keyz00_105)
{
{ /* Llib/hash.scm 764 */
{ /* Llib/hash.scm 767 */
 obj_t BgL_siza7eza7_2113;
{ /* Llib/hash.scm 767 */
 bool_t BgL_test5036z00_11000;
{ /* Llib/hash.scm 767 */
 obj_t BgL_tmpz00_11001;
{ /* Llib/hash.scm 767 */
 obj_t BgL_res2665z00_4173;
{ /* Llib/hash.scm 767 */
 obj_t BgL_aux3518z00_6407;
BgL_aux3518z00_6407 = 
STRUCT_KEY(BgL_tz00_104); 
if(
SYMBOLP(BgL_aux3518z00_6407))
{ /* Llib/hash.scm 767 */
BgL_res2665z00_4173 = BgL_aux3518z00_6407; }  else 
{ 
 obj_t BgL_auxz00_11005;
BgL_auxz00_11005 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(30903L), BGl_string4153z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3518z00_6407); 
FAILURE(BgL_auxz00_11005,BFALSE,BFALSE);} } 
BgL_tmpz00_11001 = BgL_res2665z00_4173; } 
BgL_test5036z00_11000 = 
(BgL_tmpz00_11001==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test5036z00_11000)
{ /* Llib/hash.scm 767 */
 int BgL_tmpz00_11010;
BgL_tmpz00_11010 = 
(int)(1L); 
BgL_siza7eza7_2113 = 
UNSAFE_STRUCT_REF(BgL_tz00_104, BgL_tmpz00_11010); }  else 
{ /* Llib/hash.scm 767 */
BgL_siza7eza7_2113 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tz00_104); } } 
{ /* Llib/hash.scm 767 */
 obj_t BgL_bucketsz00_2114;
{ /* Llib/hash.scm 768 */
 bool_t BgL_test5038z00_11014;
{ /* Llib/hash.scm 768 */
 obj_t BgL_tmpz00_11015;
{ /* Llib/hash.scm 768 */
 obj_t BgL_res2666z00_4177;
{ /* Llib/hash.scm 768 */
 obj_t BgL_aux3520z00_6409;
BgL_aux3520z00_6409 = 
STRUCT_KEY(BgL_tz00_104); 
if(
SYMBOLP(BgL_aux3520z00_6409))
{ /* Llib/hash.scm 768 */
BgL_res2666z00_4177 = BgL_aux3520z00_6409; }  else 
{ 
 obj_t BgL_auxz00_11019;
BgL_auxz00_11019 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(30950L), BGl_string4153z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3520z00_6409); 
FAILURE(BgL_auxz00_11019,BFALSE,BFALSE);} } 
BgL_tmpz00_11015 = BgL_res2666z00_4177; } 
BgL_test5038z00_11014 = 
(BgL_tmpz00_11015==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test5038z00_11014)
{ /* Llib/hash.scm 768 */
 int BgL_tmpz00_11024;
BgL_tmpz00_11024 = 
(int)(2L); 
BgL_bucketsz00_2114 = 
UNSAFE_STRUCT_REF(BgL_tz00_104, BgL_tmpz00_11024); }  else 
{ /* Llib/hash.scm 768 */
BgL_bucketsz00_2114 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tz00_104); } } 
{ /* Llib/hash.scm 768 */
 long BgL_lenz00_2115;
BgL_lenz00_2115 = 
strlen(BgL_keyz00_105); 
{ /* Llib/hash.scm 769 */
 long BgL_hashz00_2116;
BgL_hashz00_2116 = 
bgl_string_hash(BgL_keyz00_105, 
(int)(0L), 
(int)(BgL_lenz00_2115)); 
{ /* Llib/hash.scm 770 */

{ /* Llib/hash.scm 771 */
 long BgL_g1070z00_2117;
{ /* Llib/hash.scm 771 */
 long BgL_n1z00_4178; long BgL_n2z00_4179;
BgL_n1z00_4178 = BgL_hashz00_2116; 
{ /* Llib/hash.scm 771 */
 obj_t BgL_tmpz00_11032;
if(
INTEGERP(BgL_siza7eza7_2113))
{ /* Llib/hash.scm 771 */
BgL_tmpz00_11032 = BgL_siza7eza7_2113
; }  else 
{ 
 obj_t BgL_auxz00_11035;
BgL_auxz00_11035 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(31078L), BGl_string4153z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_siza7eza7_2113); 
FAILURE(BgL_auxz00_11035,BFALSE,BFALSE);} 
BgL_n2z00_4179 = 
(long)CINT(BgL_tmpz00_11032); } 
{ /* Llib/hash.scm 771 */
 bool_t BgL_test5041z00_11040;
{ /* Llib/hash.scm 771 */
 long BgL_arg2239z00_4181;
BgL_arg2239z00_4181 = 
(((BgL_n1z00_4178) | (BgL_n2z00_4179)) & -2147483648); 
BgL_test5041z00_11040 = 
(BgL_arg2239z00_4181==0L); } 
if(BgL_test5041z00_11040)
{ /* Llib/hash.scm 771 */
 int32_t BgL_arg2235z00_4182;
{ /* Llib/hash.scm 771 */
 int32_t BgL_arg2237z00_4183; int32_t BgL_arg2238z00_4184;
BgL_arg2237z00_4183 = 
(int32_t)(BgL_n1z00_4178); 
BgL_arg2238z00_4184 = 
(int32_t)(BgL_n2z00_4179); 
BgL_arg2235z00_4182 = 
(BgL_arg2237z00_4183%BgL_arg2238z00_4184); } 
{ /* Llib/hash.scm 771 */
 long BgL_arg2353z00_4189;
BgL_arg2353z00_4189 = 
(long)(BgL_arg2235z00_4182); 
BgL_g1070z00_2117 = 
(long)(BgL_arg2353z00_4189); } }  else 
{ /* Llib/hash.scm 771 */
BgL_g1070z00_2117 = 
(BgL_n1z00_4178%BgL_n2z00_4179); } } } 
{ 
 long BgL_offz00_2119; long BgL_iz00_2120;
BgL_offz00_2119 = BgL_g1070z00_2117; 
BgL_iz00_2120 = 1L; 
{ /* Llib/hash.scm 773 */
 long BgL_off3z00_2122;
BgL_off3z00_2122 = 
(BgL_offz00_2119*3L); 
{ /* Llib/hash.scm 774 */
 bool_t BgL_test5042z00_11050;
{ /* Llib/hash.scm 774 */
 obj_t BgL_vectorz00_4192;
if(
VECTORP(BgL_bucketsz00_2114))
{ /* Llib/hash.scm 774 */
BgL_vectorz00_4192 = BgL_bucketsz00_2114; }  else 
{ 
 obj_t BgL_auxz00_11053;
BgL_auxz00_11053 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(31151L), BGl_string4064z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_2114); 
FAILURE(BgL_auxz00_11053,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 774 */
 bool_t BgL_test5044z00_11057;
{ /* Llib/hash.scm 774 */
 long BgL_tmpz00_11058;
BgL_tmpz00_11058 = 
VECTOR_LENGTH(BgL_vectorz00_4192); 
BgL_test5044z00_11057 = 
BOUND_CHECK(BgL_off3z00_2122, BgL_tmpz00_11058); } 
if(BgL_test5044z00_11057)
{ /* Llib/hash.scm 774 */
BgL_test5042z00_11050 = 
CBOOL(
VECTOR_REF(BgL_vectorz00_4192,BgL_off3z00_2122))
; }  else 
{ 
 obj_t BgL_auxz00_11063;
BgL_auxz00_11063 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(31139L), BGl_string4012z00zz__hashz00, BgL_vectorz00_4192, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_4192)), 
(int)(BgL_off3z00_2122)); 
FAILURE(BgL_auxz00_11063,BFALSE,BFALSE);} } } 
if(BgL_test5042z00_11050)
{ /* Llib/hash.scm 774 */
{ /* Llib/hash.scm 775 */
 obj_t BgL_arg1734z00_2136;
{ /* Llib/hash.scm 775 */
 obj_t BgL_vectorz00_4194;
if(
VECTORP(BgL_bucketsz00_2114))
{ /* Llib/hash.scm 775 */
BgL_vectorz00_4194 = BgL_bucketsz00_2114; }  else 
{ 
 obj_t BgL_auxz00_11072;
BgL_auxz00_11072 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(31195L), BGl_string4064z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_2114); 
FAILURE(BgL_auxz00_11072,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 775 */
 bool_t BgL_test5046z00_11076;
{ /* Llib/hash.scm 775 */
 long BgL_tmpz00_11077;
BgL_tmpz00_11077 = 
VECTOR_LENGTH(BgL_vectorz00_4194); 
BgL_test5046z00_11076 = 
BOUND_CHECK(BgL_off3z00_2122, BgL_tmpz00_11077); } 
if(BgL_test5046z00_11076)
{ /* Llib/hash.scm 775 */
BgL_arg1734z00_2136 = 
VECTOR_REF(BgL_vectorz00_4194,BgL_off3z00_2122); }  else 
{ 
 obj_t BgL_auxz00_11081;
BgL_auxz00_11081 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(31183L), BGl_string4012z00zz__hashz00, BgL_vectorz00_4194, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_4194)), 
(int)(BgL_off3z00_2122)); 
FAILURE(BgL_auxz00_11081,BFALSE,BFALSE);} } } 
{ /* Llib/hash.scm 775 */
 int BgL_xz00_6418;
{ /* Llib/hash.scm 775 */
 char * BgL_tmpz00_11088;
{ /* Llib/hash.scm 775 */
 obj_t BgL_tmpz00_11089;
if(
STRINGP(BgL_arg1734z00_2136))
{ /* Llib/hash.scm 775 */
BgL_tmpz00_11089 = BgL_arg1734z00_2136
; }  else 
{ 
 obj_t BgL_auxz00_11092;
BgL_auxz00_11092 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(31207L), BGl_string4064z00zz__hashz00, BGl_string4050z00zz__hashz00, BgL_arg1734z00_2136); 
FAILURE(BgL_auxz00_11092,BFALSE,BFALSE);} 
BgL_tmpz00_11088 = 
BSTRING_TO_STRING(BgL_tmpz00_11089); } 
BgL_xz00_6418 = 
memcmp(BgL_tmpz00_11088, BgL_keyz00_105, BgL_lenz00_2115); } ((bool_t)1); } } 
{ /* Llib/hash.scm 776 */
 bool_t BgL_test5048z00_11098;
{ /* Llib/hash.scm 776 */
 long BgL_arg1728z00_2129;
BgL_arg1728z00_2129 = 
(BgL_off3z00_2122+2L); 
{ /* Llib/hash.scm 776 */
 obj_t BgL_vectorz00_4197;
if(
VECTORP(BgL_bucketsz00_2114))
{ /* Llib/hash.scm 776 */
BgL_vectorz00_4197 = BgL_bucketsz00_2114; }  else 
{ 
 obj_t BgL_auxz00_11102;
BgL_auxz00_11102 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(31245L), BGl_string4064z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_2114); 
FAILURE(BgL_auxz00_11102,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 776 */
 bool_t BgL_test5050z00_11106;
{ /* Llib/hash.scm 776 */
 long BgL_tmpz00_11107;
BgL_tmpz00_11107 = 
VECTOR_LENGTH(BgL_vectorz00_4197); 
BgL_test5050z00_11106 = 
BOUND_CHECK(BgL_arg1728z00_2129, BgL_tmpz00_11107); } 
if(BgL_test5050z00_11106)
{ /* Llib/hash.scm 776 */
BgL_test5048z00_11098 = 
CBOOL(
VECTOR_REF(BgL_vectorz00_4197,BgL_arg1728z00_2129))
; }  else 
{ 
 obj_t BgL_auxz00_11112;
BgL_auxz00_11112 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(31233L), BGl_string4012z00zz__hashz00, BgL_vectorz00_4197, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_4197)), 
(int)(BgL_arg1728z00_2129)); 
FAILURE(BgL_auxz00_11112,BFALSE,BFALSE);} } } } 
if(BgL_test5048z00_11098)
{ /* Llib/hash.scm 777 */
 long BgL_arg1727z00_2128;
BgL_arg1727z00_2128 = 
(BgL_off3z00_2122+1L); 
{ /* Llib/hash.scm 777 */
 obj_t BgL_vectorz00_4200;
if(
VECTORP(BgL_bucketsz00_2114))
{ /* Llib/hash.scm 777 */
BgL_vectorz00_4200 = BgL_bucketsz00_2114; }  else 
{ 
 obj_t BgL_auxz00_11122;
BgL_auxz00_11122 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(31284L), BGl_string4064z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_2114); 
FAILURE(BgL_auxz00_11122,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 777 */
 bool_t BgL_test5052z00_11126;
{ /* Llib/hash.scm 777 */
 long BgL_tmpz00_11127;
BgL_tmpz00_11127 = 
VECTOR_LENGTH(BgL_vectorz00_4200); 
BgL_test5052z00_11126 = 
BOUND_CHECK(BgL_arg1727z00_2128, BgL_tmpz00_11127); } 
if(BgL_test5052z00_11126)
{ /* Llib/hash.scm 777 */
return 
VECTOR_REF(BgL_vectorz00_4200,BgL_arg1727z00_2128);}  else 
{ 
 obj_t BgL_auxz00_11131;
BgL_auxz00_11131 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(31272L), BGl_string4012z00zz__hashz00, BgL_vectorz00_4200, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_4200)), 
(int)(BgL_arg1727z00_2128)); 
FAILURE(BgL_auxz00_11131,BFALSE,BFALSE);} } } }  else 
{ /* Llib/hash.scm 776 */
return BFALSE;} } }  else 
{ /* Llib/hash.scm 774 */
return BFALSE;} } } } } } } } } } } 

}



/* &$open-string-hashtable-get */
obj_t BGl_z62z42openzd2stringzd2hashtablezd2getzf2zz__hashz00(obj_t BgL_envz00_5559, obj_t BgL_tz00_5560, obj_t BgL_keyz00_5561)
{
{ /* Llib/hash.scm 764 */
{ /* Llib/hash.scm 767 */
 char * BgL_auxz00_11145; obj_t BgL_auxz00_11138;
{ /* Llib/hash.scm 767 */
 obj_t BgL_tmpz00_11146;
if(
STRINGP(BgL_keyz00_5561))
{ /* Llib/hash.scm 767 */
BgL_tmpz00_11146 = BgL_keyz00_5561
; }  else 
{ 
 obj_t BgL_auxz00_11149;
BgL_auxz00_11149 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(30890L), BGl_string4154z00zz__hashz00, BGl_string4050z00zz__hashz00, BgL_keyz00_5561); 
FAILURE(BgL_auxz00_11149,BFALSE,BFALSE);} 
BgL_auxz00_11145 = 
BSTRING_TO_STRING(BgL_tmpz00_11146); } 
if(
STRUCTP(BgL_tz00_5560))
{ /* Llib/hash.scm 767 */
BgL_auxz00_11138 = BgL_tz00_5560
; }  else 
{ 
 obj_t BgL_auxz00_11141;
BgL_auxz00_11141 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(30890L), BGl_string4154z00zz__hashz00, BGl_string4057z00zz__hashz00, BgL_tz00_5560); 
FAILURE(BgL_auxz00_11141,BFALSE,BFALSE);} 
return 
BGl_z42openzd2stringzd2hashtablezd2getz90zz__hashz00(BgL_auxz00_11138, BgL_auxz00_11145);} } 

}



/* hashtable-put! */
BGL_EXPORTED_DEF obj_t BGl_hashtablezd2putz12zc0zz__hashz00(obj_t BgL_tablez00_106, obj_t BgL_keyz00_107, obj_t BgL_objz00_108)
{
{ /* Llib/hash.scm 788 */
if(
BGl_hashtablezd2openzd2stringzf3zf3zz__hashz00(BgL_tablez00_106))
{ /* Llib/hash.scm 791 */
 obj_t BgL_keyz00_4226;
if(
STRINGP(BgL_keyz00_107))
{ /* Llib/hash.scm 791 */
BgL_keyz00_4226 = BgL_keyz00_107; }  else 
{ 
 obj_t BgL_auxz00_11159;
BgL_auxz00_11159 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(31889L), BGl_string4155z00zz__hashz00, BGl_string4050z00zz__hashz00, BgL_keyz00_107); 
FAILURE(BgL_auxz00_11159,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 802 */
 long BgL_arg1739z00_4227;
{ /* Llib/hash.scm 802 */
 long BgL_arg1740z00_4228;
BgL_arg1740z00_4228 = 
STRING_LENGTH(BgL_keyz00_4226); 
BgL_arg1739z00_4227 = 
bgl_string_hash(
BSTRING_TO_STRING(BgL_keyz00_4226), 
(int)(0L), 
(int)(BgL_arg1740z00_4228)); } 
return 
BGl_openzd2stringzd2hashtablezd2putzf2hashz12z32zz__hashz00(BgL_tablez00_106, BgL_keyz00_4226, BgL_objz00_108, 
BINT(BgL_arg1739z00_4227));} }  else 
{ /* Llib/hash.scm 790 */
if(
BGl_hashtablezd2weakzf3z21zz__hashz00(BgL_tablez00_106))
{ /* Llib/hash.scm 792 */
BGL_TAIL return 
BGl_weakzd2hashtablezd2putz12z12zz__weakhashz00(BgL_tablez00_106, BgL_keyz00_107, BgL_objz00_108);}  else 
{ /* Llib/hash.scm 792 */
BGL_TAIL return 
BGl_plainzd2hashtablezd2putz12z12zz__hashz00(BgL_tablez00_106, BgL_keyz00_107, BgL_objz00_108);} } } 

}



/* &hashtable-put! */
obj_t BGl_z62hashtablezd2putz12za2zz__hashz00(obj_t BgL_envz00_5562, obj_t BgL_tablez00_5563, obj_t BgL_keyz00_5564, obj_t BgL_objz00_5565)
{
{ /* Llib/hash.scm 788 */
{ /* Llib/hash.scm 790 */
 obj_t BgL_auxz00_11174;
if(
STRUCTP(BgL_tablez00_5563))
{ /* Llib/hash.scm 790 */
BgL_auxz00_11174 = BgL_tablez00_5563
; }  else 
{ 
 obj_t BgL_auxz00_11177;
BgL_auxz00_11177 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(31816L), BGl_string4156z00zz__hashz00, BGl_string4057z00zz__hashz00, BgL_tablez00_5563); 
FAILURE(BgL_auxz00_11177,BFALSE,BFALSE);} 
return 
BGl_hashtablezd2putz12zc0zz__hashz00(BgL_auxz00_11174, BgL_keyz00_5564, BgL_objz00_5565);} } 

}



/* open-string-hashtable-put! */
BGL_EXPORTED_DEF obj_t BGl_openzd2stringzd2hashtablezd2putz12zc0zz__hashz00(obj_t BgL_tablez00_109, obj_t BgL_keyz00_110, obj_t BgL_objz00_111)
{
{ /* Llib/hash.scm 800 */
{ /* Llib/hash.scm 802 */
 long BgL_arg1739z00_4230;
{ /* Llib/hash.scm 802 */
 long BgL_arg1740z00_4231;
BgL_arg1740z00_4231 = 
STRING_LENGTH(BgL_keyz00_110); 
BgL_arg1739z00_4230 = 
bgl_string_hash(
BSTRING_TO_STRING(BgL_keyz00_110), 
(int)(0L), 
(int)(BgL_arg1740z00_4231)); } 
return 
BGl_openzd2stringzd2hashtablezd2putzf2hashz12z32zz__hashz00(BgL_tablez00_109, BgL_keyz00_110, BgL_objz00_111, 
BINT(BgL_arg1739z00_4230));} } 

}



/* &open-string-hashtable-put! */
obj_t BGl_z62openzd2stringzd2hashtablezd2putz12za2zz__hashz00(obj_t BgL_envz00_5566, obj_t BgL_tablez00_5567, obj_t BgL_keyz00_5568, obj_t BgL_objz00_5569)
{
{ /* Llib/hash.scm 800 */
{ /* Llib/hash.scm 802 */
 obj_t BgL_auxz00_11196; obj_t BgL_auxz00_11189;
if(
STRINGP(BgL_keyz00_5568))
{ /* Llib/hash.scm 802 */
BgL_auxz00_11196 = BgL_keyz00_5568
; }  else 
{ 
 obj_t BgL_auxz00_11199;
BgL_auxz00_11199 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(32383L), BGl_string4157z00zz__hashz00, BGl_string4050z00zz__hashz00, BgL_keyz00_5568); 
FAILURE(BgL_auxz00_11199,BFALSE,BFALSE);} 
if(
STRUCTP(BgL_tablez00_5567))
{ /* Llib/hash.scm 802 */
BgL_auxz00_11189 = BgL_tablez00_5567
; }  else 
{ 
 obj_t BgL_auxz00_11192;
BgL_auxz00_11192 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(32383L), BGl_string4157z00zz__hashz00, BGl_string4057z00zz__hashz00, BgL_tablez00_5567); 
FAILURE(BgL_auxz00_11192,BFALSE,BFALSE);} 
return 
BGl_openzd2stringzd2hashtablezd2putz12zc0zz__hashz00(BgL_auxz00_11189, BgL_auxz00_11196, BgL_objz00_5569);} } 

}



/* open-string-hashtable-put/hash! */
obj_t BGl_openzd2stringzd2hashtablezd2putzf2hashz12z32zz__hashz00(obj_t BgL_tz00_112, obj_t BgL_keyz00_113, obj_t BgL_valz00_114, obj_t BgL_hashz00_115)
{
{ /* Llib/hash.scm 807 */
BGl_openzd2stringzd2hashtablezd2putzf2hashz12z32zz__hashz00:
{ /* Llib/hash.scm 808 */
 obj_t BgL_siza7eza7_2142; obj_t BgL_bucketsz00_2143;
{ /* Llib/hash.scm 808 */
 bool_t BgL_test5061z00_11204;
{ /* Llib/hash.scm 808 */
 obj_t BgL_tmpz00_11205;
{ /* Llib/hash.scm 808 */
 obj_t BgL_res2667z00_4236;
{ /* Llib/hash.scm 808 */
 obj_t BgL_aux3547z00_6437;
BgL_aux3547z00_6437 = 
STRUCT_KEY(BgL_tz00_112); 
if(
SYMBOLP(BgL_aux3547z00_6437))
{ /* Llib/hash.scm 808 */
BgL_res2667z00_4236 = BgL_aux3547z00_6437; }  else 
{ 
 obj_t BgL_auxz00_11209;
BgL_auxz00_11209 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(32701L), BGl_string4158z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3547z00_6437); 
FAILURE(BgL_auxz00_11209,BFALSE,BFALSE);} } 
BgL_tmpz00_11205 = BgL_res2667z00_4236; } 
BgL_test5061z00_11204 = 
(BgL_tmpz00_11205==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test5061z00_11204)
{ /* Llib/hash.scm 808 */
 int BgL_tmpz00_11214;
BgL_tmpz00_11214 = 
(int)(1L); 
BgL_siza7eza7_2142 = 
UNSAFE_STRUCT_REF(BgL_tz00_112, BgL_tmpz00_11214); }  else 
{ /* Llib/hash.scm 808 */
BgL_siza7eza7_2142 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tz00_112); } } 
{ /* Llib/hash.scm 809 */
 bool_t BgL_test5063z00_11218;
{ /* Llib/hash.scm 809 */
 obj_t BgL_tmpz00_11219;
{ /* Llib/hash.scm 809 */
 obj_t BgL_res2668z00_4240;
{ /* Llib/hash.scm 809 */
 obj_t BgL_aux3549z00_6439;
BgL_aux3549z00_6439 = 
STRUCT_KEY(BgL_tz00_112); 
if(
SYMBOLP(BgL_aux3549z00_6439))
{ /* Llib/hash.scm 809 */
BgL_res2668z00_4240 = BgL_aux3549z00_6439; }  else 
{ 
 obj_t BgL_auxz00_11223;
BgL_auxz00_11223 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(32743L), BGl_string4158z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3549z00_6439); 
FAILURE(BgL_auxz00_11223,BFALSE,BFALSE);} } 
BgL_tmpz00_11219 = BgL_res2668z00_4240; } 
BgL_test5063z00_11218 = 
(BgL_tmpz00_11219==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test5063z00_11218)
{ /* Llib/hash.scm 809 */
 int BgL_tmpz00_11228;
BgL_tmpz00_11228 = 
(int)(2L); 
BgL_bucketsz00_2143 = 
UNSAFE_STRUCT_REF(BgL_tz00_112, BgL_tmpz00_11228); }  else 
{ /* Llib/hash.scm 809 */
BgL_bucketsz00_2143 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tz00_112); } } 
{ /* Llib/hash.scm 810 */
 long BgL_g1071z00_2144;
{ /* Llib/hash.scm 810 */
 long BgL_n1z00_4241; long BgL_n2z00_4242;
{ /* Llib/hash.scm 810 */
 obj_t BgL_tmpz00_11232;
if(
INTEGERP(BgL_hashz00_115))
{ /* Llib/hash.scm 810 */
BgL_tmpz00_11232 = BgL_hashz00_115
; }  else 
{ 
 obj_t BgL_auxz00_11235;
BgL_auxz00_11235 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(32803L), BGl_string4158z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_hashz00_115); 
FAILURE(BgL_auxz00_11235,BFALSE,BFALSE);} 
BgL_n1z00_4241 = 
(long)CINT(BgL_tmpz00_11232); } 
{ /* Llib/hash.scm 810 */
 obj_t BgL_tmpz00_11240;
if(
INTEGERP(BgL_siza7eza7_2142))
{ /* Llib/hash.scm 810 */
BgL_tmpz00_11240 = BgL_siza7eza7_2142
; }  else 
{ 
 obj_t BgL_auxz00_11243;
BgL_auxz00_11243 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(32808L), BGl_string4158z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_siza7eza7_2142); 
FAILURE(BgL_auxz00_11243,BFALSE,BFALSE);} 
BgL_n2z00_4242 = 
(long)CINT(BgL_tmpz00_11240); } 
{ /* Llib/hash.scm 810 */
 bool_t BgL_test5067z00_11248;
{ /* Llib/hash.scm 810 */
 long BgL_arg2239z00_4244;
BgL_arg2239z00_4244 = 
(((BgL_n1z00_4241) | (BgL_n2z00_4242)) & -2147483648); 
BgL_test5067z00_11248 = 
(BgL_arg2239z00_4244==0L); } 
if(BgL_test5067z00_11248)
{ /* Llib/hash.scm 810 */
 int32_t BgL_arg2235z00_4245;
{ /* Llib/hash.scm 810 */
 int32_t BgL_arg2237z00_4246; int32_t BgL_arg2238z00_4247;
BgL_arg2237z00_4246 = 
(int32_t)(BgL_n1z00_4241); 
BgL_arg2238z00_4247 = 
(int32_t)(BgL_n2z00_4242); 
BgL_arg2235z00_4245 = 
(BgL_arg2237z00_4246%BgL_arg2238z00_4247); } 
{ /* Llib/hash.scm 810 */
 long BgL_arg2353z00_4252;
BgL_arg2353z00_4252 = 
(long)(BgL_arg2235z00_4245); 
BgL_g1071z00_2144 = 
(long)(BgL_arg2353z00_4252); } }  else 
{ /* Llib/hash.scm 810 */
BgL_g1071z00_2144 = 
(BgL_n1z00_4241%BgL_n2z00_4242); } } } 
{ 
 long BgL_offz00_2146; long BgL_iz00_2147;
BgL_offz00_2146 = BgL_g1071z00_2144; 
BgL_iz00_2147 = 1L; 
BgL_zc3z04anonymousza31741ze3z87_2148:
{ /* Llib/hash.scm 812 */
 long BgL_off3z00_2149;
BgL_off3z00_2149 = 
(BgL_offz00_2146*3L); 
{ /* Llib/hash.scm 814 */
 bool_t BgL_test5068z00_11258;
{ /* Llib/hash.scm 814 */
 obj_t BgL_vectorz00_4255;
if(
VECTORP(BgL_bucketsz00_2143))
{ /* Llib/hash.scm 814 */
BgL_vectorz00_4255 = BgL_bucketsz00_2143; }  else 
{ 
 obj_t BgL_auxz00_11261;
BgL_auxz00_11261 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(32890L), BGl_string4064z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_2143); 
FAILURE(BgL_auxz00_11261,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 814 */
 bool_t BgL_test5070z00_11265;
{ /* Llib/hash.scm 814 */
 long BgL_tmpz00_11266;
BgL_tmpz00_11266 = 
VECTOR_LENGTH(BgL_vectorz00_4255); 
BgL_test5070z00_11265 = 
BOUND_CHECK(BgL_off3z00_2149, BgL_tmpz00_11266); } 
if(BgL_test5070z00_11265)
{ /* Llib/hash.scm 814 */
BgL_test5068z00_11258 = 
CBOOL(
VECTOR_REF(BgL_vectorz00_4255,BgL_off3z00_2149))
; }  else 
{ 
 obj_t BgL_auxz00_11271;
BgL_auxz00_11271 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(32878L), BGl_string4012z00zz__hashz00, BgL_vectorz00_4255, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_4255)), 
(int)(BgL_off3z00_2149)); 
FAILURE(BgL_auxz00_11271,BFALSE,BFALSE);} } } 
if(BgL_test5068z00_11258)
{ /* Llib/hash.scm 820 */
 bool_t BgL_test5071z00_11278;
{ /* Llib/hash.scm 820 */
 obj_t BgL_arg1760z00_2168;
{ /* Llib/hash.scm 820 */
 obj_t BgL_vectorz00_4257;
if(
VECTORP(BgL_bucketsz00_2143))
{ /* Llib/hash.scm 820 */
BgL_vectorz00_4257 = BgL_bucketsz00_2143; }  else 
{ 
 obj_t BgL_auxz00_11281;
BgL_auxz00_11281 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(33109L), BGl_string4064z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_2143); 
FAILURE(BgL_auxz00_11281,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 820 */
 bool_t BgL_test5073z00_11285;
{ /* Llib/hash.scm 820 */
 long BgL_tmpz00_11286;
BgL_tmpz00_11286 = 
VECTOR_LENGTH(BgL_vectorz00_4257); 
BgL_test5073z00_11285 = 
BOUND_CHECK(BgL_off3z00_2149, BgL_tmpz00_11286); } 
if(BgL_test5073z00_11285)
{ /* Llib/hash.scm 820 */
BgL_arg1760z00_2168 = 
VECTOR_REF(BgL_vectorz00_4257,BgL_off3z00_2149); }  else 
{ 
 obj_t BgL_auxz00_11290;
BgL_auxz00_11290 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(33097L), BGl_string4012z00zz__hashz00, BgL_vectorz00_4257, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_4257)), 
(int)(BgL_off3z00_2149)); 
FAILURE(BgL_auxz00_11290,BFALSE,BFALSE);} } } 
{ /* Llib/hash.scm 820 */
 obj_t BgL_string1z00_4259; obj_t BgL_string2z00_4260;
if(
STRINGP(BgL_arg1760z00_2168))
{ /* Llib/hash.scm 820 */
BgL_string1z00_4259 = BgL_arg1760z00_2168; }  else 
{ 
 obj_t BgL_auxz00_11299;
BgL_auxz00_11299 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(33121L), BGl_string4064z00zz__hashz00, BGl_string4050z00zz__hashz00, BgL_arg1760z00_2168); 
FAILURE(BgL_auxz00_11299,BFALSE,BFALSE);} 
if(
STRINGP(BgL_keyz00_113))
{ /* Llib/hash.scm 820 */
BgL_string2z00_4260 = BgL_keyz00_113; }  else 
{ 
 obj_t BgL_auxz00_11305;
BgL_auxz00_11305 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(33123L), BGl_string4064z00zz__hashz00, BGl_string4050z00zz__hashz00, BgL_keyz00_113); 
FAILURE(BgL_auxz00_11305,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 820 */
 long BgL_l1z00_4261;
BgL_l1z00_4261 = 
STRING_LENGTH(BgL_string1z00_4259); 
if(
(BgL_l1z00_4261==
STRING_LENGTH(BgL_string2z00_4260)))
{ /* Llib/hash.scm 820 */
 int BgL_arg2135z00_4264;
{ /* Llib/hash.scm 820 */
 char * BgL_auxz00_11315; char * BgL_tmpz00_11313;
BgL_auxz00_11315 = 
BSTRING_TO_STRING(BgL_string2z00_4260); 
BgL_tmpz00_11313 = 
BSTRING_TO_STRING(BgL_string1z00_4259); 
BgL_arg2135z00_4264 = 
memcmp(BgL_tmpz00_11313, BgL_auxz00_11315, BgL_l1z00_4261); } 
BgL_test5071z00_11278 = 
(
(long)(BgL_arg2135z00_4264)==0L); }  else 
{ /* Llib/hash.scm 820 */
BgL_test5071z00_11278 = ((bool_t)0)
; } } } } 
if(BgL_test5071z00_11278)
{ /* Llib/hash.scm 820 */
{ /* Llib/hash.scm 822 */
 long BgL_arg1745z00_2153;
BgL_arg1745z00_2153 = 
(BgL_off3z00_2149+1L); 
{ /* Llib/hash.scm 822 */
 obj_t BgL_vectorz00_4271;
if(
VECTORP(BgL_bucketsz00_2143))
{ /* Llib/hash.scm 822 */
BgL_vectorz00_4271 = BgL_bucketsz00_2143; }  else 
{ 
 obj_t BgL_auxz00_11323;
BgL_auxz00_11323 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(33156L), BGl_string4064z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_2143); 
FAILURE(BgL_auxz00_11323,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 822 */
 bool_t BgL_test5078z00_11327;
{ /* Llib/hash.scm 822 */
 long BgL_tmpz00_11328;
BgL_tmpz00_11328 = 
VECTOR_LENGTH(BgL_vectorz00_4271); 
BgL_test5078z00_11327 = 
BOUND_CHECK(BgL_arg1745z00_2153, BgL_tmpz00_11328); } 
if(BgL_test5078z00_11327)
{ /* Llib/hash.scm 822 */
VECTOR_SET(BgL_vectorz00_4271,BgL_arg1745z00_2153,BgL_valz00_114); }  else 
{ 
 obj_t BgL_auxz00_11332;
BgL_auxz00_11332 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(33143L), BGl_string4065z00zz__hashz00, BgL_vectorz00_4271, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_4271)), 
(int)(BgL_arg1745z00_2153)); 
FAILURE(BgL_auxz00_11332,BFALSE,BFALSE);} } } } 
{ /* Llib/hash.scm 823 */
 long BgL_arg1747z00_2154;
BgL_arg1747z00_2154 = 
(BgL_off3z00_2149+2L); 
{ /* Llib/hash.scm 823 */
 obj_t BgL_vectorz00_4274;
if(
VECTORP(BgL_bucketsz00_2143))
{ /* Llib/hash.scm 823 */
BgL_vectorz00_4274 = BgL_bucketsz00_2143; }  else 
{ 
 obj_t BgL_auxz00_11342;
BgL_auxz00_11342 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(33197L), BGl_string4064z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_2143); 
FAILURE(BgL_auxz00_11342,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 823 */
 bool_t BgL_test5080z00_11346;
{ /* Llib/hash.scm 823 */
 long BgL_tmpz00_11347;
BgL_tmpz00_11347 = 
VECTOR_LENGTH(BgL_vectorz00_4274); 
BgL_test5080z00_11346 = 
BOUND_CHECK(BgL_arg1747z00_2154, BgL_tmpz00_11347); } 
if(BgL_test5080z00_11346)
{ /* Llib/hash.scm 823 */
return 
VECTOR_SET(BgL_vectorz00_4274,BgL_arg1747z00_2154,BgL_hashz00_115);}  else 
{ 
 obj_t BgL_auxz00_11351;
BgL_auxz00_11351 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(33184L), BGl_string4065z00zz__hashz00, BgL_vectorz00_4274, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_4274)), 
(int)(BgL_arg1747z00_2154)); 
FAILURE(BgL_auxz00_11351,BFALSE,BFALSE);} } } } }  else 
{ /* Llib/hash.scm 824 */
 bool_t BgL_test5081z00_11358;
if(
(BgL_iz00_2147>=5L))
{ /* Llib/hash.scm 825 */
 obj_t BgL_arg1758z00_2166;
{ /* Llib/hash.scm 825 */
 bool_t BgL_test5083z00_11361;
{ /* Llib/hash.scm 825 */
 obj_t BgL_tmpz00_11362;
{ /* Llib/hash.scm 825 */
 obj_t BgL_res2669z00_4280;
{ /* Llib/hash.scm 825 */
 obj_t BgL_aux3565z00_6455;
BgL_aux3565z00_6455 = 
STRUCT_KEY(BgL_tz00_112); 
if(
SYMBOLP(BgL_aux3565z00_6455))
{ /* Llib/hash.scm 825 */
BgL_res2669z00_4280 = BgL_aux3565z00_6455; }  else 
{ 
 obj_t BgL_auxz00_11366;
BgL_auxz00_11366 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(33262L), BGl_string4064z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3565z00_6455); 
FAILURE(BgL_auxz00_11366,BFALSE,BFALSE);} } 
BgL_tmpz00_11362 = BgL_res2669z00_4280; } 
BgL_test5083z00_11361 = 
(BgL_tmpz00_11362==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test5083z00_11361)
{ /* Llib/hash.scm 825 */
 int BgL_tmpz00_11371;
BgL_tmpz00_11371 = 
(int)(1L); 
BgL_arg1758z00_2166 = 
UNSAFE_STRUCT_REF(BgL_tz00_112, BgL_tmpz00_11371); }  else 
{ /* Llib/hash.scm 825 */
BgL_arg1758z00_2166 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tz00_112); } } 
{ /* Llib/hash.scm 825 */
 long BgL_n1z00_4281;
{ /* Llib/hash.scm 825 */
 obj_t BgL_tmpz00_11375;
if(
INTEGERP(BgL_arg1758z00_2166))
{ /* Llib/hash.scm 825 */
BgL_tmpz00_11375 = BgL_arg1758z00_2166
; }  else 
{ 
 obj_t BgL_auxz00_11378;
BgL_auxz00_11378 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(33290L), BGl_string4064z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_arg1758z00_2166); 
FAILURE(BgL_auxz00_11378,BFALSE,BFALSE);} 
BgL_n1z00_4281 = 
(long)CINT(BgL_tmpz00_11375); } 
BgL_test5081z00_11358 = 
(BgL_n1z00_4281<8388608L); } }  else 
{ /* Llib/hash.scm 824 */
BgL_test5081z00_11358 = ((bool_t)0)
; } 
if(BgL_test5081z00_11358)
{ /* Llib/hash.scm 824 */
BGl_openzd2stringzd2hashtablezd2rehashz12zc0zz__hashz00(BgL_tz00_112); 
{ 

goto BGl_openzd2stringzd2hashtablezd2putzf2hashz12z32zz__hashz00;} }  else 
{ /* Llib/hash.scm 832 */
 long BgL_noffz00_2159;
BgL_noffz00_2159 = 
(BgL_offz00_2146+
(BgL_iz00_2147*BgL_iz00_2147)); 
{ /* Llib/hash.scm 833 */
 bool_t BgL_test5086z00_11387;
{ /* Llib/hash.scm 833 */
 long BgL_n2z00_4288;
{ /* Llib/hash.scm 833 */
 obj_t BgL_tmpz00_11388;
if(
INTEGERP(BgL_siza7eza7_2142))
{ /* Llib/hash.scm 833 */
BgL_tmpz00_11388 = BgL_siza7eza7_2142
; }  else 
{ 
 obj_t BgL_auxz00_11391;
BgL_auxz00_11391 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(33522L), BGl_string4064z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_siza7eza7_2142); 
FAILURE(BgL_auxz00_11391,BFALSE,BFALSE);} 
BgL_n2z00_4288 = 
(long)CINT(BgL_tmpz00_11388); } 
BgL_test5086z00_11387 = 
(BgL_noffz00_2159>=BgL_n2z00_4288); } 
if(BgL_test5086z00_11387)
{ /* Llib/hash.scm 834 */
 long BgL_arg1754z00_2161; long BgL_arg1755z00_2162;
{ /* Llib/hash.scm 834 */
 long BgL_n1z00_4289; long BgL_n2z00_4290;
BgL_n1z00_4289 = BgL_noffz00_2159; 
{ /* Llib/hash.scm 834 */
 obj_t BgL_tmpz00_11397;
if(
INTEGERP(BgL_siza7eza7_2142))
{ /* Llib/hash.scm 834 */
BgL_tmpz00_11397 = BgL_siza7eza7_2142
; }  else 
{ 
 obj_t BgL_auxz00_11400;
BgL_auxz00_11400 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(33561L), BGl_string4064z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_siza7eza7_2142); 
FAILURE(BgL_auxz00_11400,BFALSE,BFALSE);} 
BgL_n2z00_4290 = 
(long)CINT(BgL_tmpz00_11397); } 
{ /* Llib/hash.scm 834 */
 bool_t BgL_test5089z00_11405;
{ /* Llib/hash.scm 834 */
 long BgL_arg2239z00_4292;
BgL_arg2239z00_4292 = 
(((BgL_n1z00_4289) | (BgL_n2z00_4290)) & -2147483648); 
BgL_test5089z00_11405 = 
(BgL_arg2239z00_4292==0L); } 
if(BgL_test5089z00_11405)
{ /* Llib/hash.scm 834 */
 int32_t BgL_arg2235z00_4293;
{ /* Llib/hash.scm 834 */
 int32_t BgL_arg2237z00_4294; int32_t BgL_arg2238z00_4295;
BgL_arg2237z00_4294 = 
(int32_t)(BgL_n1z00_4289); 
BgL_arg2238z00_4295 = 
(int32_t)(BgL_n2z00_4290); 
BgL_arg2235z00_4293 = 
(BgL_arg2237z00_4294%BgL_arg2238z00_4295); } 
{ /* Llib/hash.scm 834 */
 long BgL_arg2353z00_4300;
BgL_arg2353z00_4300 = 
(long)(BgL_arg2235z00_4293); 
BgL_arg1754z00_2161 = 
(long)(BgL_arg2353z00_4300); } }  else 
{ /* Llib/hash.scm 834 */
BgL_arg1754z00_2161 = 
(BgL_n1z00_4289%BgL_n2z00_4290); } } } 
BgL_arg1755z00_2162 = 
(BgL_iz00_2147+1L); 
{ 
 long BgL_iz00_11416; long BgL_offz00_11415;
BgL_offz00_11415 = BgL_arg1754z00_2161; 
BgL_iz00_11416 = BgL_arg1755z00_2162; 
BgL_iz00_2147 = BgL_iz00_11416; 
BgL_offz00_2146 = BgL_offz00_11415; 
goto BgL_zc3z04anonymousza31741ze3z87_2148;} }  else 
{ 
 long BgL_iz00_11418; long BgL_offz00_11417;
BgL_offz00_11417 = BgL_noffz00_2159; 
BgL_iz00_11418 = 
(BgL_iz00_2147+1L); 
BgL_iz00_2147 = BgL_iz00_11418; 
BgL_offz00_2146 = BgL_offz00_11417; 
goto BgL_zc3z04anonymousza31741ze3z87_2148;} } } } }  else 
{ /* Llib/hash.scm 814 */
{ /* Llib/hash.scm 816 */
 obj_t BgL_vectorz00_4304;
if(
VECTORP(BgL_bucketsz00_2143))
{ /* Llib/hash.scm 816 */
BgL_vectorz00_4304 = BgL_bucketsz00_2143; }  else 
{ 
 obj_t BgL_auxz00_11422;
BgL_auxz00_11422 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(32938L), BGl_string4064z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_2143); 
FAILURE(BgL_auxz00_11422,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 816 */
 bool_t BgL_test5091z00_11426;
{ /* Llib/hash.scm 816 */
 long BgL_tmpz00_11427;
BgL_tmpz00_11427 = 
VECTOR_LENGTH(BgL_vectorz00_4304); 
BgL_test5091z00_11426 = 
BOUND_CHECK(BgL_off3z00_2149, BgL_tmpz00_11427); } 
if(BgL_test5091z00_11426)
{ /* Llib/hash.scm 816 */
VECTOR_SET(BgL_vectorz00_4304,BgL_off3z00_2149,BgL_keyz00_113); }  else 
{ 
 obj_t BgL_auxz00_11431;
BgL_auxz00_11431 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(32925L), BGl_string4065z00zz__hashz00, BgL_vectorz00_4304, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_4304)), 
(int)(BgL_off3z00_2149)); 
FAILURE(BgL_auxz00_11431,BFALSE,BFALSE);} } } 
{ /* Llib/hash.scm 817 */
 long BgL_arg1761z00_2169;
BgL_arg1761z00_2169 = 
(BgL_off3z00_2149+1L); 
{ /* Llib/hash.scm 817 */
 obj_t BgL_vectorz00_4307;
if(
VECTORP(BgL_bucketsz00_2143))
{ /* Llib/hash.scm 817 */
BgL_vectorz00_4307 = BgL_bucketsz00_2143; }  else 
{ 
 obj_t BgL_auxz00_11441;
BgL_auxz00_11441 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(32971L), BGl_string4064z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_2143); 
FAILURE(BgL_auxz00_11441,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 817 */
 bool_t BgL_test5093z00_11445;
{ /* Llib/hash.scm 817 */
 long BgL_tmpz00_11446;
BgL_tmpz00_11446 = 
VECTOR_LENGTH(BgL_vectorz00_4307); 
BgL_test5093z00_11445 = 
BOUND_CHECK(BgL_arg1761z00_2169, BgL_tmpz00_11446); } 
if(BgL_test5093z00_11445)
{ /* Llib/hash.scm 817 */
VECTOR_SET(BgL_vectorz00_4307,BgL_arg1761z00_2169,BgL_valz00_114); }  else 
{ 
 obj_t BgL_auxz00_11450;
BgL_auxz00_11450 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(32958L), BGl_string4065z00zz__hashz00, BgL_vectorz00_4307, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_4307)), 
(int)(BgL_arg1761z00_2169)); 
FAILURE(BgL_auxz00_11450,BFALSE,BFALSE);} } } } 
{ /* Llib/hash.scm 818 */
 long BgL_arg1762z00_2170;
BgL_arg1762z00_2170 = 
(BgL_off3z00_2149+2L); 
{ /* Llib/hash.scm 818 */
 obj_t BgL_vectorz00_4310;
if(
VECTORP(BgL_bucketsz00_2143))
{ /* Llib/hash.scm 818 */
BgL_vectorz00_4310 = BgL_bucketsz00_2143; }  else 
{ 
 obj_t BgL_auxz00_11460;
BgL_auxz00_11460 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(33012L), BGl_string4064z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_2143); 
FAILURE(BgL_auxz00_11460,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 818 */
 bool_t BgL_test5095z00_11464;
{ /* Llib/hash.scm 818 */
 long BgL_tmpz00_11465;
BgL_tmpz00_11465 = 
VECTOR_LENGTH(BgL_vectorz00_4310); 
BgL_test5095z00_11464 = 
BOUND_CHECK(BgL_arg1762z00_2170, BgL_tmpz00_11465); } 
if(BgL_test5095z00_11464)
{ /* Llib/hash.scm 818 */
VECTOR_SET(BgL_vectorz00_4310,BgL_arg1762z00_2170,BgL_hashz00_115); }  else 
{ 
 obj_t BgL_auxz00_11469;
BgL_auxz00_11469 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(32999L), BGl_string4065z00zz__hashz00, BgL_vectorz00_4310, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_4310)), 
(int)(BgL_arg1762z00_2170)); 
FAILURE(BgL_auxz00_11469,BFALSE,BFALSE);} } } } 
return 
BGl_openzd2stringzd2hashtablezd2siza7ezd2incz12zb5zz__hashz00(BgL_tz00_112);} } } } } } } 

}



/* string-hashtable-put! */
BGL_EXPORTED_DEF obj_t BGl_stringzd2hashtablezd2putz12z12zz__hashz00(obj_t BgL_tablez00_116, obj_t BgL_keyz00_117, obj_t BgL_objz00_118)
{
{ /* Llib/hash.scm 840 */
{ /* Llib/hash.scm 841 */
 obj_t BgL_bucketsz00_2172;
{ /* Llib/hash.scm 841 */
 bool_t BgL_test5096z00_11477;
{ /* Llib/hash.scm 841 */
 obj_t BgL_tmpz00_11478;
{ /* Llib/hash.scm 841 */
 obj_t BgL_res2670z00_4315;
{ /* Llib/hash.scm 841 */
 obj_t BgL_aux3576z00_6466;
BgL_aux3576z00_6466 = 
STRUCT_KEY(BgL_tablez00_116); 
if(
SYMBOLP(BgL_aux3576z00_6466))
{ /* Llib/hash.scm 841 */
BgL_res2670z00_4315 = BgL_aux3576z00_6466; }  else 
{ 
 obj_t BgL_auxz00_11482;
BgL_auxz00_11482 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(33915L), BGl_string4159z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3576z00_6466); 
FAILURE(BgL_auxz00_11482,BFALSE,BFALSE);} } 
BgL_tmpz00_11478 = BgL_res2670z00_4315; } 
BgL_test5096z00_11477 = 
(BgL_tmpz00_11478==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test5096z00_11477)
{ /* Llib/hash.scm 841 */
 int BgL_tmpz00_11487;
BgL_tmpz00_11487 = 
(int)(2L); 
BgL_bucketsz00_2172 = 
UNSAFE_STRUCT_REF(BgL_tablez00_116, BgL_tmpz00_11487); }  else 
{ /* Llib/hash.scm 841 */
BgL_bucketsz00_2172 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_116); } } 
{ /* Llib/hash.scm 841 */
 long BgL_bucketzd2lenzd2_2173;
{ /* Llib/hash.scm 842 */
 obj_t BgL_vectorz00_4316;
if(
VECTORP(BgL_bucketsz00_2172))
{ /* Llib/hash.scm 842 */
BgL_vectorz00_4316 = BgL_bucketsz00_2172; }  else 
{ 
 obj_t BgL_auxz00_11493;
BgL_auxz00_11493 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(33973L), BGl_string4159z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_2172); 
FAILURE(BgL_auxz00_11493,BFALSE,BFALSE);} 
BgL_bucketzd2lenzd2_2173 = 
VECTOR_LENGTH(BgL_vectorz00_4316); } 
{ /* Llib/hash.scm 842 */
 long BgL_bucketzd2numzd2_2174;
{ /* Llib/hash.scm 843 */
 long BgL_arg1787z00_2206;
{ /* Llib/hash.scm 843 */
 long BgL_arg1788z00_2207;
BgL_arg1788z00_2207 = 
STRING_LENGTH(BgL_keyz00_117); 
BgL_arg1787z00_2206 = 
bgl_string_hash(
BSTRING_TO_STRING(BgL_keyz00_117), 
(int)(0L), 
(int)(BgL_arg1788z00_2207)); } 
{ /* Llib/hash.scm 843 */
 long BgL_n1z00_4318; long BgL_n2z00_4319;
BgL_n1z00_4318 = BgL_arg1787z00_2206; 
BgL_n2z00_4319 = BgL_bucketzd2lenzd2_2173; 
{ /* Llib/hash.scm 843 */
 bool_t BgL_test5099z00_11503;
{ /* Llib/hash.scm 843 */
 long BgL_arg2239z00_4321;
BgL_arg2239z00_4321 = 
(((BgL_n1z00_4318) | (BgL_n2z00_4319)) & -2147483648); 
BgL_test5099z00_11503 = 
(BgL_arg2239z00_4321==0L); } 
if(BgL_test5099z00_11503)
{ /* Llib/hash.scm 843 */
 int32_t BgL_arg2235z00_4322;
{ /* Llib/hash.scm 843 */
 int32_t BgL_arg2237z00_4323; int32_t BgL_arg2238z00_4324;
BgL_arg2237z00_4323 = 
(int32_t)(BgL_n1z00_4318); 
BgL_arg2238z00_4324 = 
(int32_t)(BgL_n2z00_4319); 
BgL_arg2235z00_4322 = 
(BgL_arg2237z00_4323%BgL_arg2238z00_4324); } 
{ /* Llib/hash.scm 843 */
 long BgL_arg2353z00_4329;
BgL_arg2353z00_4329 = 
(long)(BgL_arg2235z00_4322); 
BgL_bucketzd2numzd2_2174 = 
(long)(BgL_arg2353z00_4329); } }  else 
{ /* Llib/hash.scm 843 */
BgL_bucketzd2numzd2_2174 = 
(BgL_n1z00_4318%BgL_n2z00_4319); } } } } 
{ /* Llib/hash.scm 843 */
 obj_t BgL_bucketz00_2175;
{ /* Llib/hash.scm 844 */
 obj_t BgL_vectorz00_4331;
if(
VECTORP(BgL_bucketsz00_2172))
{ /* Llib/hash.scm 844 */
BgL_vectorz00_4331 = BgL_bucketsz00_2172; }  else 
{ 
 obj_t BgL_auxz00_11514;
BgL_auxz00_11514 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(34091L), BGl_string4159z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_2172); 
FAILURE(BgL_auxz00_11514,BFALSE,BFALSE);} 
BgL_bucketz00_2175 = 
VECTOR_REF(BgL_vectorz00_4331,BgL_bucketzd2numzd2_2174); } 
{ /* Llib/hash.scm 844 */
 obj_t BgL_maxzd2bucketzd2lenz00_2176;
{ /* Llib/hash.scm 845 */
 bool_t BgL_test5101z00_11519;
{ /* Llib/hash.scm 845 */
 obj_t BgL_tmpz00_11520;
{ /* Llib/hash.scm 845 */
 obj_t BgL_res2671z00_4336;
{ /* Llib/hash.scm 845 */
 obj_t BgL_aux3582z00_6472;
BgL_aux3582z00_6472 = 
STRUCT_KEY(BgL_tablez00_116); 
if(
SYMBOLP(BgL_aux3582z00_6472))
{ /* Llib/hash.scm 845 */
BgL_res2671z00_4336 = BgL_aux3582z00_6472; }  else 
{ 
 obj_t BgL_auxz00_11524;
BgL_auxz00_11524 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(34131L), BGl_string4159z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3582z00_6472); 
FAILURE(BgL_auxz00_11524,BFALSE,BFALSE);} } 
BgL_tmpz00_11520 = BgL_res2671z00_4336; } 
BgL_test5101z00_11519 = 
(BgL_tmpz00_11520==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test5101z00_11519)
{ /* Llib/hash.scm 845 */
 int BgL_tmpz00_11529;
BgL_tmpz00_11529 = 
(int)(1L); 
BgL_maxzd2bucketzd2lenz00_2176 = 
UNSAFE_STRUCT_REF(BgL_tablez00_116, BgL_tmpz00_11529); }  else 
{ /* Llib/hash.scm 845 */
BgL_maxzd2bucketzd2lenz00_2176 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_116); } } 
{ /* Llib/hash.scm 845 */

{ /* Llib/hash.scm 323 */
 obj_t BgL_arg1452z00_4338;
{ /* Llib/hash.scm 323 */
 bool_t BgL_test5103z00_11533;
{ /* Llib/hash.scm 323 */
 obj_t BgL_tmpz00_11534;
{ /* Llib/hash.scm 323 */
 obj_t BgL_res2672z00_4342;
{ /* Llib/hash.scm 323 */
 obj_t BgL_aux3584z00_6474;
BgL_aux3584z00_6474 = 
STRUCT_KEY(BgL_tablez00_116); 
if(
SYMBOLP(BgL_aux3584z00_6474))
{ /* Llib/hash.scm 323 */
BgL_res2672z00_4342 = BgL_aux3584z00_6474; }  else 
{ 
 obj_t BgL_auxz00_11538;
BgL_auxz00_11538 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(12381L), BGl_string4159z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3584z00_6474); 
FAILURE(BgL_auxz00_11538,BFALSE,BFALSE);} } 
BgL_tmpz00_11534 = BgL_res2672z00_4342; } 
BgL_test5103z00_11533 = 
(BgL_tmpz00_11534==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test5103z00_11533)
{ /* Llib/hash.scm 323 */
 int BgL_tmpz00_11543;
BgL_tmpz00_11543 = 
(int)(5L); 
BgL_arg1452z00_4338 = 
UNSAFE_STRUCT_REF(BgL_tablez00_116, BgL_tmpz00_11543); }  else 
{ /* Llib/hash.scm 323 */
BgL_arg1452z00_4338 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_116); } } 
{ /* Llib/hash.scm 323 */
 long BgL_n1z00_4343;
{ /* Llib/hash.scm 323 */
 obj_t BgL_tmpz00_11547;
if(
INTEGERP(BgL_arg1452z00_4338))
{ /* Llib/hash.scm 323 */
BgL_tmpz00_11547 = BgL_arg1452z00_4338
; }  else 
{ 
 obj_t BgL_auxz00_11550;
BgL_auxz00_11550 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(12403L), BGl_string4159z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_arg1452z00_4338); 
FAILURE(BgL_auxz00_11550,BFALSE,BFALSE);} 
BgL_n1z00_4343 = 
(long)CINT(BgL_tmpz00_11547); } 
(BgL_n1z00_4343==4L); } } ((bool_t)0); ((bool_t)0); 
if(
NULLP(BgL_bucketz00_2175))
{ /* Llib/hash.scm 852 */
{ /* Llib/hash.scm 854 */
 long BgL_arg1767z00_2183;
{ /* Llib/hash.scm 854 */
 obj_t BgL_arg1768z00_2184;
{ /* Llib/hash.scm 854 */
 bool_t BgL_test5107z00_11558;
{ /* Llib/hash.scm 854 */
 obj_t BgL_tmpz00_11559;
{ /* Llib/hash.scm 854 */
 obj_t BgL_res2673z00_4347;
{ /* Llib/hash.scm 854 */
 obj_t BgL_aux3587z00_6477;
BgL_aux3587z00_6477 = 
STRUCT_KEY(BgL_tablez00_116); 
if(
SYMBOLP(BgL_aux3587z00_6477))
{ /* Llib/hash.scm 854 */
BgL_res2673z00_4347 = BgL_aux3587z00_6477; }  else 
{ 
 obj_t BgL_auxz00_11563;
BgL_auxz00_11563 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(34418L), BGl_string4159z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3587z00_6477); 
FAILURE(BgL_auxz00_11563,BFALSE,BFALSE);} } 
BgL_tmpz00_11559 = BgL_res2673z00_4347; } 
BgL_test5107z00_11558 = 
(BgL_tmpz00_11559==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test5107z00_11558)
{ /* Llib/hash.scm 854 */
 int BgL_tmpz00_11568;
BgL_tmpz00_11568 = 
(int)(0L); 
BgL_arg1768z00_2184 = 
UNSAFE_STRUCT_REF(BgL_tablez00_116, BgL_tmpz00_11568); }  else 
{ /* Llib/hash.scm 854 */
BgL_arg1768z00_2184 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_116); } } 
{ /* Llib/hash.scm 854 */
 long BgL_za71za7_4348;
{ /* Llib/hash.scm 854 */
 obj_t BgL_tmpz00_11572;
if(
INTEGERP(BgL_arg1768z00_2184))
{ /* Llib/hash.scm 854 */
BgL_tmpz00_11572 = BgL_arg1768z00_2184
; }  else 
{ 
 obj_t BgL_auxz00_11575;
BgL_auxz00_11575 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(34440L), BGl_string4159z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_arg1768z00_2184); 
FAILURE(BgL_auxz00_11575,BFALSE,BFALSE);} 
BgL_za71za7_4348 = 
(long)CINT(BgL_tmpz00_11572); } 
BgL_arg1767z00_2183 = 
(BgL_za71za7_4348+1L); } } 
{ /* Llib/hash.scm 854 */
 bool_t BgL_test5110z00_11581;
{ /* Llib/hash.scm 854 */
 obj_t BgL_tmpz00_11582;
{ /* Llib/hash.scm 854 */
 obj_t BgL_res2674z00_4352;
{ /* Llib/hash.scm 854 */
 obj_t BgL_aux3590z00_6480;
BgL_aux3590z00_6480 = 
STRUCT_KEY(BgL_tablez00_116); 
if(
SYMBOLP(BgL_aux3590z00_6480))
{ /* Llib/hash.scm 854 */
BgL_res2674z00_4352 = BgL_aux3590z00_6480; }  else 
{ 
 obj_t BgL_auxz00_11586;
BgL_auxz00_11586 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(34385L), BGl_string4159z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3590z00_6480); 
FAILURE(BgL_auxz00_11586,BFALSE,BFALSE);} } 
BgL_tmpz00_11582 = BgL_res2674z00_4352; } 
BgL_test5110z00_11581 = 
(BgL_tmpz00_11582==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test5110z00_11581)
{ /* Llib/hash.scm 854 */
 obj_t BgL_auxz00_11593; int BgL_tmpz00_11591;
BgL_auxz00_11593 = 
BINT(BgL_arg1767z00_2183); 
BgL_tmpz00_11591 = 
(int)(0L); 
UNSAFE_STRUCT_SET(BgL_tablez00_116, BgL_tmpz00_11591, BgL_auxz00_11593); }  else 
{ /* Llib/hash.scm 854 */
BGl_errorz00zz__errorz00(BGl_string4005z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_116); } } } 
{ /* Llib/hash.scm 855 */
 obj_t BgL_arg1769z00_2185;
{ /* Llib/hash.scm 855 */
 obj_t BgL_arg1770z00_2186;
BgL_arg1770z00_2186 = 
MAKE_YOUNG_PAIR(BgL_keyz00_117, BgL_objz00_118); 
{ /* Llib/hash.scm 855 */
 obj_t BgL_list1771z00_2187;
BgL_list1771z00_2187 = 
MAKE_YOUNG_PAIR(BgL_arg1770z00_2186, BNIL); 
BgL_arg1769z00_2185 = BgL_list1771z00_2187; } } 
{ /* Llib/hash.scm 855 */
 obj_t BgL_vectorz00_4354;
if(
VECTORP(BgL_bucketsz00_2172))
{ /* Llib/hash.scm 855 */
BgL_vectorz00_4354 = BgL_bucketsz00_2172; }  else 
{ 
 obj_t BgL_auxz00_11601;
BgL_auxz00_11601 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(34468L), BGl_string4159z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_2172); 
FAILURE(BgL_auxz00_11601,BFALSE,BFALSE);} 
VECTOR_SET(BgL_vectorz00_4354,BgL_bucketzd2numzd2_2174,BgL_arg1769z00_2185); } } 
return BgL_objz00_118;}  else 
{ 
 obj_t BgL_buckz00_2189; long BgL_countz00_2190;
BgL_buckz00_2189 = BgL_bucketz00_2175; 
BgL_countz00_2190 = 0L; 
BgL_zc3z04anonymousza31772ze3z87_2191:
if(
NULLP(BgL_buckz00_2189))
{ /* Llib/hash.scm 860 */
{ /* Llib/hash.scm 861 */
 long BgL_arg1775z00_2193;
{ /* Llib/hash.scm 861 */
 obj_t BgL_arg1776z00_2194;
{ /* Llib/hash.scm 861 */
 bool_t BgL_test5114z00_11608;
{ /* Llib/hash.scm 861 */
 obj_t BgL_tmpz00_11609;
{ /* Llib/hash.scm 861 */
 obj_t BgL_res2676z00_4359;
{ /* Llib/hash.scm 861 */
 obj_t BgL_aux3594z00_6484;
BgL_aux3594z00_6484 = 
STRUCT_KEY(BgL_tablez00_116); 
if(
SYMBOLP(BgL_aux3594z00_6484))
{ /* Llib/hash.scm 861 */
BgL_res2676z00_4359 = BgL_aux3594z00_6484; }  else 
{ 
 obj_t BgL_auxz00_11613;
BgL_auxz00_11613 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(34631L), BGl_string4064z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3594z00_6484); 
FAILURE(BgL_auxz00_11613,BFALSE,BFALSE);} } 
BgL_tmpz00_11609 = BgL_res2676z00_4359; } 
BgL_test5114z00_11608 = 
(BgL_tmpz00_11609==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test5114z00_11608)
{ /* Llib/hash.scm 861 */
 int BgL_tmpz00_11618;
BgL_tmpz00_11618 = 
(int)(0L); 
BgL_arg1776z00_2194 = 
UNSAFE_STRUCT_REF(BgL_tablez00_116, BgL_tmpz00_11618); }  else 
{ /* Llib/hash.scm 861 */
BgL_arg1776z00_2194 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_116); } } 
{ /* Llib/hash.scm 861 */
 long BgL_za71za7_4360;
{ /* Llib/hash.scm 861 */
 obj_t BgL_tmpz00_11622;
if(
INTEGERP(BgL_arg1776z00_2194))
{ /* Llib/hash.scm 861 */
BgL_tmpz00_11622 = BgL_arg1776z00_2194
; }  else 
{ 
 obj_t BgL_auxz00_11625;
BgL_auxz00_11625 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(34653L), BGl_string4064z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_arg1776z00_2194); 
FAILURE(BgL_auxz00_11625,BFALSE,BFALSE);} 
BgL_za71za7_4360 = 
(long)CINT(BgL_tmpz00_11622); } 
BgL_arg1775z00_2193 = 
(BgL_za71za7_4360+1L); } } 
{ /* Llib/hash.scm 861 */
 bool_t BgL_test5117z00_11631;
{ /* Llib/hash.scm 861 */
 obj_t BgL_tmpz00_11632;
{ /* Llib/hash.scm 861 */
 obj_t BgL_res2677z00_4364;
{ /* Llib/hash.scm 861 */
 obj_t BgL_aux3597z00_6487;
BgL_aux3597z00_6487 = 
STRUCT_KEY(BgL_tablez00_116); 
if(
SYMBOLP(BgL_aux3597z00_6487))
{ /* Llib/hash.scm 861 */
BgL_res2677z00_4364 = BgL_aux3597z00_6487; }  else 
{ 
 obj_t BgL_auxz00_11636;
BgL_auxz00_11636 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(34598L), BGl_string4064z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3597z00_6487); 
FAILURE(BgL_auxz00_11636,BFALSE,BFALSE);} } 
BgL_tmpz00_11632 = BgL_res2677z00_4364; } 
BgL_test5117z00_11631 = 
(BgL_tmpz00_11632==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test5117z00_11631)
{ /* Llib/hash.scm 861 */
 obj_t BgL_auxz00_11643; int BgL_tmpz00_11641;
BgL_auxz00_11643 = 
BINT(BgL_arg1775z00_2193); 
BgL_tmpz00_11641 = 
(int)(0L); 
UNSAFE_STRUCT_SET(BgL_tablez00_116, BgL_tmpz00_11641, BgL_auxz00_11643); }  else 
{ /* Llib/hash.scm 861 */
BGl_errorz00zz__errorz00(BGl_string4005z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_116); } } } 
{ /* Llib/hash.scm 862 */
 obj_t BgL_arg1777z00_2195;
{ /* Llib/hash.scm 862 */
 obj_t BgL_arg1778z00_2196;
BgL_arg1778z00_2196 = 
MAKE_YOUNG_PAIR(BgL_keyz00_117, BgL_objz00_118); 
BgL_arg1777z00_2195 = 
MAKE_YOUNG_PAIR(BgL_arg1778z00_2196, BgL_bucketz00_2175); } 
{ /* Llib/hash.scm 862 */
 obj_t BgL_vectorz00_4365;
if(
VECTORP(BgL_bucketsz00_2172))
{ /* Llib/hash.scm 862 */
BgL_vectorz00_4365 = BgL_bucketsz00_2172; }  else 
{ 
 obj_t BgL_auxz00_11651;
BgL_auxz00_11651 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(34678L), BGl_string4064z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_2172); 
FAILURE(BgL_auxz00_11651,BFALSE,BFALSE);} 
VECTOR_SET(BgL_vectorz00_4365,BgL_bucketzd2numzd2_2174,BgL_arg1777z00_2195); } } 
{ /* Llib/hash.scm 863 */
 bool_t BgL_test5120z00_11656;
{ /* Llib/hash.scm 863 */
 long BgL_n2z00_4368;
{ /* Llib/hash.scm 863 */
 obj_t BgL_tmpz00_11657;
if(
INTEGERP(BgL_maxzd2bucketzd2lenz00_2176))
{ /* Llib/hash.scm 863 */
BgL_tmpz00_11657 = BgL_maxzd2bucketzd2lenz00_2176
; }  else 
{ 
 obj_t BgL_auxz00_11660;
BgL_auxz00_11660 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(34747L), BGl_string4064z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_maxzd2bucketzd2lenz00_2176); 
FAILURE(BgL_auxz00_11660,BFALSE,BFALSE);} 
BgL_n2z00_4368 = 
(long)CINT(BgL_tmpz00_11657); } 
BgL_test5120z00_11656 = 
(BgL_countz00_2190>BgL_n2z00_4368); } 
if(BgL_test5120z00_11656)
{ /* Llib/hash.scm 863 */
BGl_plainzd2hashtablezd2expandz12z12zz__hashz00(BgL_tablez00_116); }  else 
{ /* Llib/hash.scm 863 */BFALSE; } } 
return BgL_objz00_118;}  else 
{ /* Llib/hash.scm 866 */
 bool_t BgL_test5122z00_11667;
{ /* Llib/hash.scm 866 */
 obj_t BgL_arg1786z00_2204;
{ /* Llib/hash.scm 866 */
 obj_t BgL_pairz00_4369;
if(
PAIRP(BgL_buckz00_2189))
{ /* Llib/hash.scm 866 */
BgL_pairz00_4369 = BgL_buckz00_2189; }  else 
{ 
 obj_t BgL_auxz00_11670;
BgL_auxz00_11670 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(34829L), BGl_string4064z00zz__hashz00, BGl_string4068z00zz__hashz00, BgL_buckz00_2189); 
FAILURE(BgL_auxz00_11670,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 866 */
 obj_t BgL_pairz00_4372;
{ /* Llib/hash.scm 866 */
 obj_t BgL_aux3604z00_6494;
BgL_aux3604z00_6494 = 
CAR(BgL_pairz00_4369); 
if(
PAIRP(BgL_aux3604z00_6494))
{ /* Llib/hash.scm 866 */
BgL_pairz00_4372 = BgL_aux3604z00_6494; }  else 
{ 
 obj_t BgL_auxz00_11677;
BgL_auxz00_11677 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(34823L), BGl_string4064z00zz__hashz00, BGl_string4068z00zz__hashz00, BgL_aux3604z00_6494); 
FAILURE(BgL_auxz00_11677,BFALSE,BFALSE);} } 
BgL_arg1786z00_2204 = 
CAR(BgL_pairz00_4372); } } 
{ /* Llib/hash.scm 866 */
 obj_t BgL_string1z00_4373;
if(
STRINGP(BgL_arg1786z00_2204))
{ /* Llib/hash.scm 866 */
BgL_string1z00_4373 = BgL_arg1786z00_2204; }  else 
{ 
 obj_t BgL_auxz00_11684;
BgL_auxz00_11684 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(34833L), BGl_string4064z00zz__hashz00, BGl_string4050z00zz__hashz00, BgL_arg1786z00_2204); 
FAILURE(BgL_auxz00_11684,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 866 */
 long BgL_l1z00_4375;
BgL_l1z00_4375 = 
STRING_LENGTH(BgL_string1z00_4373); 
if(
(BgL_l1z00_4375==
STRING_LENGTH(BgL_keyz00_117)))
{ /* Llib/hash.scm 866 */
 int BgL_arg2135z00_4378;
{ /* Llib/hash.scm 866 */
 char * BgL_auxz00_11694; char * BgL_tmpz00_11692;
BgL_auxz00_11694 = 
BSTRING_TO_STRING(BgL_keyz00_117); 
BgL_tmpz00_11692 = 
BSTRING_TO_STRING(BgL_string1z00_4373); 
BgL_arg2135z00_4378 = 
memcmp(BgL_tmpz00_11692, BgL_auxz00_11694, BgL_l1z00_4375); } 
BgL_test5122z00_11667 = 
(
(long)(BgL_arg2135z00_4378)==0L); }  else 
{ /* Llib/hash.scm 866 */
BgL_test5122z00_11667 = ((bool_t)0)
; } } } } 
if(BgL_test5122z00_11667)
{ /* Llib/hash.scm 867 */
 obj_t BgL_oldzd2objzd2_2200;
{ /* Llib/hash.scm 867 */
 obj_t BgL_pairz00_4384;
if(
PAIRP(BgL_buckz00_2189))
{ /* Llib/hash.scm 867 */
BgL_pairz00_4384 = BgL_buckz00_2189; }  else 
{ 
 obj_t BgL_auxz00_11701;
BgL_auxz00_11701 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(34864L), BGl_string4064z00zz__hashz00, BGl_string4068z00zz__hashz00, BgL_buckz00_2189); 
FAILURE(BgL_auxz00_11701,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 867 */
 obj_t BgL_pairz00_4387;
{ /* Llib/hash.scm 867 */
 obj_t BgL_aux3610z00_6500;
BgL_aux3610z00_6500 = 
CAR(BgL_pairz00_4384); 
if(
PAIRP(BgL_aux3610z00_6500))
{ /* Llib/hash.scm 867 */
BgL_pairz00_4387 = BgL_aux3610z00_6500; }  else 
{ 
 obj_t BgL_auxz00_11708;
BgL_auxz00_11708 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(34858L), BGl_string4064z00zz__hashz00, BGl_string4068z00zz__hashz00, BgL_aux3610z00_6500); 
FAILURE(BgL_auxz00_11708,BFALSE,BFALSE);} } 
BgL_oldzd2objzd2_2200 = 
CDR(BgL_pairz00_4387); } } 
{ /* Llib/hash.scm 868 */
 obj_t BgL_arg1783z00_2201;
{ /* Llib/hash.scm 868 */
 obj_t BgL_pairz00_4388;
if(
PAIRP(BgL_buckz00_2189))
{ /* Llib/hash.scm 868 */
BgL_pairz00_4388 = BgL_buckz00_2189; }  else 
{ 
 obj_t BgL_auxz00_11715;
BgL_auxz00_11715 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(34893L), BGl_string4064z00zz__hashz00, BGl_string4068z00zz__hashz00, BgL_buckz00_2189); 
FAILURE(BgL_auxz00_11715,BFALSE,BFALSE);} 
BgL_arg1783z00_2201 = 
CAR(BgL_pairz00_4388); } 
{ /* Llib/hash.scm 868 */
 obj_t BgL_pairz00_4389;
if(
PAIRP(BgL_arg1783z00_2201))
{ /* Llib/hash.scm 868 */
BgL_pairz00_4389 = BgL_arg1783z00_2201; }  else 
{ 
 obj_t BgL_auxz00_11722;
BgL_auxz00_11722 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(34897L), BGl_string4064z00zz__hashz00, BGl_string4068z00zz__hashz00, BgL_arg1783z00_2201); 
FAILURE(BgL_auxz00_11722,BFALSE,BFALSE);} 
SET_CDR(BgL_pairz00_4389, BgL_objz00_118); } } 
return BgL_oldzd2objzd2_2200;}  else 
{ /* Llib/hash.scm 871 */
 obj_t BgL_arg1784z00_2202; long BgL_arg1785z00_2203;
{ /* Llib/hash.scm 871 */
 obj_t BgL_pairz00_4390;
if(
PAIRP(BgL_buckz00_2189))
{ /* Llib/hash.scm 871 */
BgL_pairz00_4390 = BgL_buckz00_2189; }  else 
{ 
 obj_t BgL_auxz00_11729;
BgL_auxz00_11729 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(34942L), BGl_string4064z00zz__hashz00, BGl_string4068z00zz__hashz00, BgL_buckz00_2189); 
FAILURE(BgL_auxz00_11729,BFALSE,BFALSE);} 
BgL_arg1784z00_2202 = 
CDR(BgL_pairz00_4390); } 
BgL_arg1785z00_2203 = 
(BgL_countz00_2190+1L); 
{ 
 long BgL_countz00_11736; obj_t BgL_buckz00_11735;
BgL_buckz00_11735 = BgL_arg1784z00_2202; 
BgL_countz00_11736 = BgL_arg1785z00_2203; 
BgL_countz00_2190 = BgL_countz00_11736; 
BgL_buckz00_2189 = BgL_buckz00_11735; 
goto BgL_zc3z04anonymousza31772ze3z87_2191;} } } } } } } } } } } 

}



/* &string-hashtable-put! */
obj_t BGl_z62stringzd2hashtablezd2putz12z70zz__hashz00(obj_t BgL_envz00_5570, obj_t BgL_tablez00_5571, obj_t BgL_keyz00_5572, obj_t BgL_objz00_5573)
{
{ /* Llib/hash.scm 840 */
{ /* Llib/hash.scm 841 */
 obj_t BgL_auxz00_11744; obj_t BgL_auxz00_11737;
if(
STRINGP(BgL_keyz00_5572))
{ /* Llib/hash.scm 841 */
BgL_auxz00_11744 = BgL_keyz00_5572
; }  else 
{ 
 obj_t BgL_auxz00_11747;
BgL_auxz00_11747 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(33899L), BGl_string4160z00zz__hashz00, BGl_string4050z00zz__hashz00, BgL_keyz00_5572); 
FAILURE(BgL_auxz00_11747,BFALSE,BFALSE);} 
if(
STRUCTP(BgL_tablez00_5571))
{ /* Llib/hash.scm 841 */
BgL_auxz00_11737 = BgL_tablez00_5571
; }  else 
{ 
 obj_t BgL_auxz00_11740;
BgL_auxz00_11740 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(33899L), BGl_string4160z00zz__hashz00, BGl_string4057z00zz__hashz00, BgL_tablez00_5571); 
FAILURE(BgL_auxz00_11740,BFALSE,BFALSE);} 
return 
BGl_stringzd2hashtablezd2putz12z12zz__hashz00(BgL_auxz00_11737, BgL_auxz00_11744, BgL_objz00_5573);} } 

}



/* plain-hashtable-put! */
obj_t BGl_plainzd2hashtablezd2putz12z12zz__hashz00(obj_t BgL_tablez00_119, obj_t BgL_keyz00_120, obj_t BgL_objz00_121)
{
{ /* Llib/hash.scm 876 */
{ /* Llib/hash.scm 877 */
 obj_t BgL_bucketsz00_2208;
{ /* Llib/hash.scm 877 */
 bool_t BgL_test5134z00_11752;
{ /* Llib/hash.scm 877 */
 obj_t BgL_tmpz00_11753;
{ /* Llib/hash.scm 877 */
 obj_t BgL_res2678z00_4395;
{ /* Llib/hash.scm 877 */
 obj_t BgL_aux3622z00_6512;
BgL_aux3622z00_6512 = 
STRUCT_KEY(BgL_tablez00_119); 
if(
SYMBOLP(BgL_aux3622z00_6512))
{ /* Llib/hash.scm 877 */
BgL_res2678z00_4395 = BgL_aux3622z00_6512; }  else 
{ 
 obj_t BgL_auxz00_11757;
BgL_auxz00_11757 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(35274L), BGl_string4161z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3622z00_6512); 
FAILURE(BgL_auxz00_11757,BFALSE,BFALSE);} } 
BgL_tmpz00_11753 = BgL_res2678z00_4395; } 
BgL_test5134z00_11752 = 
(BgL_tmpz00_11753==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test5134z00_11752)
{ /* Llib/hash.scm 877 */
 int BgL_tmpz00_11762;
BgL_tmpz00_11762 = 
(int)(2L); 
BgL_bucketsz00_2208 = 
UNSAFE_STRUCT_REF(BgL_tablez00_119, BgL_tmpz00_11762); }  else 
{ /* Llib/hash.scm 877 */
BgL_bucketsz00_2208 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_119); } } 
{ /* Llib/hash.scm 877 */
 long BgL_bucketzd2lenzd2_2209;
{ /* Llib/hash.scm 878 */
 obj_t BgL_vectorz00_4396;
if(
VECTORP(BgL_bucketsz00_2208))
{ /* Llib/hash.scm 878 */
BgL_vectorz00_4396 = BgL_bucketsz00_2208; }  else 
{ 
 obj_t BgL_auxz00_11768;
BgL_auxz00_11768 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(35332L), BGl_string4161z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_2208); 
FAILURE(BgL_auxz00_11768,BFALSE,BFALSE);} 
BgL_bucketzd2lenzd2_2209 = 
VECTOR_LENGTH(BgL_vectorz00_4396); } 
{ /* Llib/hash.scm 878 */
 long BgL_bucketzd2numzd2_2210;
{ /* Llib/hash.scm 879 */
 long BgL_arg1811z00_2237;
BgL_arg1811z00_2237 = 
BGl_tablezd2getzd2hashnumberz00zz__hashz00(BgL_tablez00_119, BgL_keyz00_120); 
{ /* Llib/hash.scm 879 */
 long BgL_n1z00_4397; long BgL_n2z00_4398;
BgL_n1z00_4397 = BgL_arg1811z00_2237; 
BgL_n2z00_4398 = BgL_bucketzd2lenzd2_2209; 
{ /* Llib/hash.scm 879 */
 bool_t BgL_test5137z00_11774;
{ /* Llib/hash.scm 879 */
 long BgL_arg2239z00_4400;
BgL_arg2239z00_4400 = 
(((BgL_n1z00_4397) | (BgL_n2z00_4398)) & -2147483648); 
BgL_test5137z00_11774 = 
(BgL_arg2239z00_4400==0L); } 
if(BgL_test5137z00_11774)
{ /* Llib/hash.scm 879 */
 int32_t BgL_arg2235z00_4401;
{ /* Llib/hash.scm 879 */
 int32_t BgL_arg2237z00_4402; int32_t BgL_arg2238z00_4403;
BgL_arg2237z00_4402 = 
(int32_t)(BgL_n1z00_4397); 
BgL_arg2238z00_4403 = 
(int32_t)(BgL_n2z00_4398); 
BgL_arg2235z00_4401 = 
(BgL_arg2237z00_4402%BgL_arg2238z00_4403); } 
{ /* Llib/hash.scm 879 */
 long BgL_arg2353z00_4408;
BgL_arg2353z00_4408 = 
(long)(BgL_arg2235z00_4401); 
BgL_bucketzd2numzd2_2210 = 
(long)(BgL_arg2353z00_4408); } }  else 
{ /* Llib/hash.scm 879 */
BgL_bucketzd2numzd2_2210 = 
(BgL_n1z00_4397%BgL_n2z00_4398); } } } } 
{ /* Llib/hash.scm 879 */
 obj_t BgL_bucketz00_2211;
{ /* Llib/hash.scm 880 */
 obj_t BgL_vectorz00_4410;
if(
VECTORP(BgL_bucketsz00_2208))
{ /* Llib/hash.scm 880 */
BgL_vectorz00_4410 = BgL_bucketsz00_2208; }  else 
{ 
 obj_t BgL_auxz00_11785;
BgL_auxz00_11785 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(35442L), BGl_string4161z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_2208); 
FAILURE(BgL_auxz00_11785,BFALSE,BFALSE);} 
BgL_bucketz00_2211 = 
VECTOR_REF(BgL_vectorz00_4410,BgL_bucketzd2numzd2_2210); } 
{ /* Llib/hash.scm 880 */
 obj_t BgL_maxzd2bucketzd2lenz00_2212;
{ /* Llib/hash.scm 881 */
 bool_t BgL_test5139z00_11790;
{ /* Llib/hash.scm 881 */
 obj_t BgL_tmpz00_11791;
{ /* Llib/hash.scm 881 */
 obj_t BgL_res2679z00_4415;
{ /* Llib/hash.scm 881 */
 obj_t BgL_aux3628z00_6518;
BgL_aux3628z00_6518 = 
STRUCT_KEY(BgL_tablez00_119); 
if(
SYMBOLP(BgL_aux3628z00_6518))
{ /* Llib/hash.scm 881 */
BgL_res2679z00_4415 = BgL_aux3628z00_6518; }  else 
{ 
 obj_t BgL_auxz00_11795;
BgL_auxz00_11795 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(35482L), BGl_string4161z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3628z00_6518); 
FAILURE(BgL_auxz00_11795,BFALSE,BFALSE);} } 
BgL_tmpz00_11791 = BgL_res2679z00_4415; } 
BgL_test5139z00_11790 = 
(BgL_tmpz00_11791==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test5139z00_11790)
{ /* Llib/hash.scm 881 */
 int BgL_tmpz00_11800;
BgL_tmpz00_11800 = 
(int)(1L); 
BgL_maxzd2bucketzd2lenz00_2212 = 
UNSAFE_STRUCT_REF(BgL_tablez00_119, BgL_tmpz00_11800); }  else 
{ /* Llib/hash.scm 881 */
BgL_maxzd2bucketzd2lenz00_2212 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_119); } } 
{ /* Llib/hash.scm 881 */

if(
NULLP(BgL_bucketz00_2211))
{ /* Llib/hash.scm 882 */
{ /* Llib/hash.scm 884 */
 long BgL_arg1790z00_2214;
{ /* Llib/hash.scm 884 */
 obj_t BgL_arg1791z00_2215;
{ /* Llib/hash.scm 884 */
 bool_t BgL_test5142z00_11806;
{ /* Llib/hash.scm 884 */
 obj_t BgL_tmpz00_11807;
{ /* Llib/hash.scm 884 */
 obj_t BgL_res2680z00_4419;
{ /* Llib/hash.scm 884 */
 obj_t BgL_aux3630z00_6520;
BgL_aux3630z00_6520 = 
STRUCT_KEY(BgL_tablez00_119); 
if(
SYMBOLP(BgL_aux3630z00_6520))
{ /* Llib/hash.scm 884 */
BgL_res2680z00_4419 = BgL_aux3630z00_6520; }  else 
{ 
 obj_t BgL_auxz00_11811;
BgL_auxz00_11811 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(35592L), BGl_string4161z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3630z00_6520); 
FAILURE(BgL_auxz00_11811,BFALSE,BFALSE);} } 
BgL_tmpz00_11807 = BgL_res2680z00_4419; } 
BgL_test5142z00_11806 = 
(BgL_tmpz00_11807==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test5142z00_11806)
{ /* Llib/hash.scm 884 */
 int BgL_tmpz00_11816;
BgL_tmpz00_11816 = 
(int)(0L); 
BgL_arg1791z00_2215 = 
UNSAFE_STRUCT_REF(BgL_tablez00_119, BgL_tmpz00_11816); }  else 
{ /* Llib/hash.scm 884 */
BgL_arg1791z00_2215 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_119); } } 
{ /* Llib/hash.scm 884 */
 long BgL_za71za7_4420;
{ /* Llib/hash.scm 884 */
 obj_t BgL_tmpz00_11820;
if(
INTEGERP(BgL_arg1791z00_2215))
{ /* Llib/hash.scm 884 */
BgL_tmpz00_11820 = BgL_arg1791z00_2215
; }  else 
{ 
 obj_t BgL_auxz00_11823;
BgL_auxz00_11823 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(35614L), BGl_string4161z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_arg1791z00_2215); 
FAILURE(BgL_auxz00_11823,BFALSE,BFALSE);} 
BgL_za71za7_4420 = 
(long)CINT(BgL_tmpz00_11820); } 
BgL_arg1790z00_2214 = 
(BgL_za71za7_4420+1L); } } 
{ /* Llib/hash.scm 884 */
 bool_t BgL_test5145z00_11829;
{ /* Llib/hash.scm 884 */
 obj_t BgL_tmpz00_11830;
{ /* Llib/hash.scm 884 */
 obj_t BgL_res2681z00_4424;
{ /* Llib/hash.scm 884 */
 obj_t BgL_aux3633z00_6523;
BgL_aux3633z00_6523 = 
STRUCT_KEY(BgL_tablez00_119); 
if(
SYMBOLP(BgL_aux3633z00_6523))
{ /* Llib/hash.scm 884 */
BgL_res2681z00_4424 = BgL_aux3633z00_6523; }  else 
{ 
 obj_t BgL_auxz00_11834;
BgL_auxz00_11834 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(35559L), BGl_string4161z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3633z00_6523); 
FAILURE(BgL_auxz00_11834,BFALSE,BFALSE);} } 
BgL_tmpz00_11830 = BgL_res2681z00_4424; } 
BgL_test5145z00_11829 = 
(BgL_tmpz00_11830==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test5145z00_11829)
{ /* Llib/hash.scm 884 */
 obj_t BgL_auxz00_11841; int BgL_tmpz00_11839;
BgL_auxz00_11841 = 
BINT(BgL_arg1790z00_2214); 
BgL_tmpz00_11839 = 
(int)(0L); 
UNSAFE_STRUCT_SET(BgL_tablez00_119, BgL_tmpz00_11839, BgL_auxz00_11841); }  else 
{ /* Llib/hash.scm 884 */
BGl_errorz00zz__errorz00(BGl_string4005z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_119); } } } 
{ /* Llib/hash.scm 885 */
 obj_t BgL_arg1792z00_2216;
{ /* Llib/hash.scm 885 */
 obj_t BgL_arg1793z00_2217;
BgL_arg1793z00_2217 = 
MAKE_YOUNG_PAIR(BgL_keyz00_120, BgL_objz00_121); 
{ /* Llib/hash.scm 885 */
 obj_t BgL_list1794z00_2218;
BgL_list1794z00_2218 = 
MAKE_YOUNG_PAIR(BgL_arg1793z00_2217, BNIL); 
BgL_arg1792z00_2216 = BgL_list1794z00_2218; } } 
{ /* Llib/hash.scm 885 */
 obj_t BgL_vectorz00_4426;
if(
VECTORP(BgL_bucketsz00_2208))
{ /* Llib/hash.scm 885 */
BgL_vectorz00_4426 = BgL_bucketsz00_2208; }  else 
{ 
 obj_t BgL_auxz00_11849;
BgL_auxz00_11849 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(35642L), BGl_string4161z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_2208); 
FAILURE(BgL_auxz00_11849,BFALSE,BFALSE);} 
VECTOR_SET(BgL_vectorz00_4426,BgL_bucketzd2numzd2_2210,BgL_arg1792z00_2216); } } 
return BgL_objz00_121;}  else 
{ 
 obj_t BgL_buckz00_2220; long BgL_countz00_2221;
BgL_buckz00_2220 = BgL_bucketz00_2211; 
BgL_countz00_2221 = 0L; 
BgL_zc3z04anonymousza31795ze3z87_2222:
if(
NULLP(BgL_buckz00_2220))
{ /* Llib/hash.scm 890 */
{ /* Llib/hash.scm 891 */
 long BgL_arg1798z00_2224;
{ /* Llib/hash.scm 891 */
 obj_t BgL_arg1799z00_2225;
{ /* Llib/hash.scm 891 */
 bool_t BgL_test5149z00_11856;
{ /* Llib/hash.scm 891 */
 obj_t BgL_tmpz00_11857;
{ /* Llib/hash.scm 891 */
 obj_t BgL_res2683z00_4431;
{ /* Llib/hash.scm 891 */
 obj_t BgL_aux3637z00_6527;
BgL_aux3637z00_6527 = 
STRUCT_KEY(BgL_tablez00_119); 
if(
SYMBOLP(BgL_aux3637z00_6527))
{ /* Llib/hash.scm 891 */
BgL_res2683z00_4431 = BgL_aux3637z00_6527; }  else 
{ 
 obj_t BgL_auxz00_11861;
BgL_auxz00_11861 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(35805L), BGl_string4064z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3637z00_6527); 
FAILURE(BgL_auxz00_11861,BFALSE,BFALSE);} } 
BgL_tmpz00_11857 = BgL_res2683z00_4431; } 
BgL_test5149z00_11856 = 
(BgL_tmpz00_11857==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test5149z00_11856)
{ /* Llib/hash.scm 891 */
 int BgL_tmpz00_11866;
BgL_tmpz00_11866 = 
(int)(0L); 
BgL_arg1799z00_2225 = 
UNSAFE_STRUCT_REF(BgL_tablez00_119, BgL_tmpz00_11866); }  else 
{ /* Llib/hash.scm 891 */
BgL_arg1799z00_2225 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_119); } } 
{ /* Llib/hash.scm 891 */
 long BgL_za71za7_4432;
{ /* Llib/hash.scm 891 */
 obj_t BgL_tmpz00_11870;
if(
INTEGERP(BgL_arg1799z00_2225))
{ /* Llib/hash.scm 891 */
BgL_tmpz00_11870 = BgL_arg1799z00_2225
; }  else 
{ 
 obj_t BgL_auxz00_11873;
BgL_auxz00_11873 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(35827L), BGl_string4064z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_arg1799z00_2225); 
FAILURE(BgL_auxz00_11873,BFALSE,BFALSE);} 
BgL_za71za7_4432 = 
(long)CINT(BgL_tmpz00_11870); } 
BgL_arg1798z00_2224 = 
(BgL_za71za7_4432+1L); } } 
{ /* Llib/hash.scm 891 */
 bool_t BgL_test5152z00_11879;
{ /* Llib/hash.scm 891 */
 obj_t BgL_tmpz00_11880;
{ /* Llib/hash.scm 891 */
 obj_t BgL_res2684z00_4436;
{ /* Llib/hash.scm 891 */
 obj_t BgL_aux3640z00_6530;
BgL_aux3640z00_6530 = 
STRUCT_KEY(BgL_tablez00_119); 
if(
SYMBOLP(BgL_aux3640z00_6530))
{ /* Llib/hash.scm 891 */
BgL_res2684z00_4436 = BgL_aux3640z00_6530; }  else 
{ 
 obj_t BgL_auxz00_11884;
BgL_auxz00_11884 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(35772L), BGl_string4064z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3640z00_6530); 
FAILURE(BgL_auxz00_11884,BFALSE,BFALSE);} } 
BgL_tmpz00_11880 = BgL_res2684z00_4436; } 
BgL_test5152z00_11879 = 
(BgL_tmpz00_11880==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test5152z00_11879)
{ /* Llib/hash.scm 891 */
 obj_t BgL_auxz00_11891; int BgL_tmpz00_11889;
BgL_auxz00_11891 = 
BINT(BgL_arg1798z00_2224); 
BgL_tmpz00_11889 = 
(int)(0L); 
UNSAFE_STRUCT_SET(BgL_tablez00_119, BgL_tmpz00_11889, BgL_auxz00_11891); }  else 
{ /* Llib/hash.scm 891 */
BGl_errorz00zz__errorz00(BGl_string4005z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_119); } } } 
{ /* Llib/hash.scm 892 */
 obj_t BgL_arg1800z00_2226;
{ /* Llib/hash.scm 892 */
 obj_t BgL_arg1801z00_2227;
BgL_arg1801z00_2227 = 
MAKE_YOUNG_PAIR(BgL_keyz00_120, BgL_objz00_121); 
BgL_arg1800z00_2226 = 
MAKE_YOUNG_PAIR(BgL_arg1801z00_2227, BgL_bucketz00_2211); } 
{ /* Llib/hash.scm 892 */
 obj_t BgL_vectorz00_4437;
if(
VECTORP(BgL_bucketsz00_2208))
{ /* Llib/hash.scm 892 */
BgL_vectorz00_4437 = BgL_bucketsz00_2208; }  else 
{ 
 obj_t BgL_auxz00_11899;
BgL_auxz00_11899 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(35852L), BGl_string4064z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_2208); 
FAILURE(BgL_auxz00_11899,BFALSE,BFALSE);} 
VECTOR_SET(BgL_vectorz00_4437,BgL_bucketzd2numzd2_2210,BgL_arg1800z00_2226); } } 
{ /* Llib/hash.scm 893 */
 bool_t BgL_test5155z00_11904;
{ /* Llib/hash.scm 893 */
 long BgL_n2z00_4440;
{ /* Llib/hash.scm 893 */
 obj_t BgL_tmpz00_11905;
if(
INTEGERP(BgL_maxzd2bucketzd2lenz00_2212))
{ /* Llib/hash.scm 893 */
BgL_tmpz00_11905 = BgL_maxzd2bucketzd2lenz00_2212
; }  else 
{ 
 obj_t BgL_auxz00_11908;
BgL_auxz00_11908 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(35921L), BGl_string4064z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_maxzd2bucketzd2lenz00_2212); 
FAILURE(BgL_auxz00_11908,BFALSE,BFALSE);} 
BgL_n2z00_4440 = 
(long)CINT(BgL_tmpz00_11905); } 
BgL_test5155z00_11904 = 
(BgL_countz00_2221>BgL_n2z00_4440); } 
if(BgL_test5155z00_11904)
{ /* Llib/hash.scm 893 */
BGl_plainzd2hashtablezd2expandz12z12zz__hashz00(BgL_tablez00_119); }  else 
{ /* Llib/hash.scm 893 */BFALSE; } } 
return BgL_objz00_121;}  else 
{ /* Llib/hash.scm 896 */
 bool_t BgL_test5157z00_11915;
{ /* Llib/hash.scm 896 */
 obj_t BgL_arg1809z00_2235;
{ /* Llib/hash.scm 896 */
 obj_t BgL_pairz00_4441;
if(
PAIRP(BgL_buckz00_2220))
{ /* Llib/hash.scm 896 */
BgL_pairz00_4441 = BgL_buckz00_2220; }  else 
{ 
 obj_t BgL_auxz00_11918;
BgL_auxz00_11918 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(36017L), BGl_string4064z00zz__hashz00, BGl_string4068z00zz__hashz00, BgL_buckz00_2220); 
FAILURE(BgL_auxz00_11918,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 896 */
 obj_t BgL_pairz00_4444;
{ /* Llib/hash.scm 896 */
 obj_t BgL_aux3647z00_6537;
BgL_aux3647z00_6537 = 
CAR(BgL_pairz00_4441); 
if(
PAIRP(BgL_aux3647z00_6537))
{ /* Llib/hash.scm 896 */
BgL_pairz00_4444 = BgL_aux3647z00_6537; }  else 
{ 
 obj_t BgL_auxz00_11925;
BgL_auxz00_11925 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(36011L), BGl_string4064z00zz__hashz00, BGl_string4068z00zz__hashz00, BgL_aux3647z00_6537); 
FAILURE(BgL_auxz00_11925,BFALSE,BFALSE);} } 
BgL_arg1809z00_2235 = 
CAR(BgL_pairz00_4444); } } 
{ /* Llib/hash.scm 896 */
 obj_t BgL_eqtz00_4445;
{ /* Llib/hash.scm 896 */
 bool_t BgL_test5160z00_11930;
{ /* Llib/hash.scm 896 */
 obj_t BgL_tmpz00_11931;
{ /* Llib/hash.scm 896 */
 obj_t BgL_res2685z00_4452;
{ /* Llib/hash.scm 896 */
 obj_t BgL_aux3649z00_6539;
BgL_aux3649z00_6539 = 
STRUCT_KEY(BgL_tablez00_119); 
if(
SYMBOLP(BgL_aux3649z00_6539))
{ /* Llib/hash.scm 896 */
BgL_res2685z00_4452 = BgL_aux3649z00_6539; }  else 
{ 
 obj_t BgL_auxz00_11935;
BgL_auxz00_11935 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(35987L), BGl_string4064z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3649z00_6539); 
FAILURE(BgL_auxz00_11935,BFALSE,BFALSE);} } 
BgL_tmpz00_11931 = BgL_res2685z00_4452; } 
BgL_test5160z00_11930 = 
(BgL_tmpz00_11931==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test5160z00_11930)
{ /* Llib/hash.scm 896 */
 int BgL_tmpz00_11940;
BgL_tmpz00_11940 = 
(int)(3L); 
BgL_eqtz00_4445 = 
UNSAFE_STRUCT_REF(BgL_tablez00_119, BgL_tmpz00_11940); }  else 
{ /* Llib/hash.scm 896 */
BgL_eqtz00_4445 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_119); } } 
if(
PROCEDUREP(BgL_eqtz00_4445))
{ /* Llib/hash.scm 896 */
if(
PROCEDURE_CORRECT_ARITYP(BgL_eqtz00_4445, 2))
{ /* Llib/hash.scm 896 */
BgL_test5157z00_11915 = 
CBOOL(
BGL_PROCEDURE_CALL2(BgL_eqtz00_4445, BgL_arg1809z00_2235, BgL_keyz00_120))
; }  else 
{ /* Llib/hash.scm 896 */
FAILURE(BGl_string4078z00zz__hashz00,BGl_list4162z00zz__hashz00,BgL_eqtz00_4445);} }  else 
{ /* Llib/hash.scm 896 */
if(
(BgL_arg1809z00_2235==BgL_keyz00_120))
{ /* Llib/hash.scm 896 */
BgL_test5157z00_11915 = ((bool_t)1)
; }  else 
{ /* Llib/hash.scm 896 */
if(
STRINGP(BgL_arg1809z00_2235))
{ /* Llib/hash.scm 896 */
if(
STRINGP(BgL_keyz00_120))
{ /* Llib/hash.scm 896 */
 long BgL_l1z00_4455;
BgL_l1z00_4455 = 
STRING_LENGTH(BgL_arg1809z00_2235); 
if(
(BgL_l1z00_4455==
STRING_LENGTH(BgL_keyz00_120)))
{ /* Llib/hash.scm 896 */
 int BgL_arg2135z00_4458;
{ /* Llib/hash.scm 896 */
 char * BgL_auxz00_11967; char * BgL_tmpz00_11965;
BgL_auxz00_11967 = 
BSTRING_TO_STRING(BgL_keyz00_120); 
BgL_tmpz00_11965 = 
BSTRING_TO_STRING(BgL_arg1809z00_2235); 
BgL_arg2135z00_4458 = 
memcmp(BgL_tmpz00_11965, BgL_auxz00_11967, BgL_l1z00_4455); } 
BgL_test5157z00_11915 = 
(
(long)(BgL_arg2135z00_4458)==0L); }  else 
{ /* Llib/hash.scm 896 */
BgL_test5157z00_11915 = ((bool_t)0)
; } }  else 
{ /* Llib/hash.scm 896 */
BgL_test5157z00_11915 = ((bool_t)0)
; } }  else 
{ /* Llib/hash.scm 896 */
BgL_test5157z00_11915 = ((bool_t)0)
; } } } } } 
if(BgL_test5157z00_11915)
{ /* Llib/hash.scm 897 */
 obj_t BgL_oldzd2objzd2_2231;
{ /* Llib/hash.scm 897 */
 obj_t BgL_pairz00_4464;
if(
PAIRP(BgL_buckz00_2220))
{ /* Llib/hash.scm 897 */
BgL_pairz00_4464 = BgL_buckz00_2220; }  else 
{ 
 obj_t BgL_auxz00_11974;
BgL_auxz00_11974 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(36052L), BGl_string4064z00zz__hashz00, BGl_string4068z00zz__hashz00, BgL_buckz00_2220); 
FAILURE(BgL_auxz00_11974,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 897 */
 obj_t BgL_pairz00_4467;
{ /* Llib/hash.scm 897 */
 obj_t BgL_aux3654z00_6545;
BgL_aux3654z00_6545 = 
CAR(BgL_pairz00_4464); 
if(
PAIRP(BgL_aux3654z00_6545))
{ /* Llib/hash.scm 897 */
BgL_pairz00_4467 = BgL_aux3654z00_6545; }  else 
{ 
 obj_t BgL_auxz00_11981;
BgL_auxz00_11981 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(36046L), BGl_string4064z00zz__hashz00, BGl_string4068z00zz__hashz00, BgL_aux3654z00_6545); 
FAILURE(BgL_auxz00_11981,BFALSE,BFALSE);} } 
BgL_oldzd2objzd2_2231 = 
CDR(BgL_pairz00_4467); } } 
{ /* Llib/hash.scm 898 */
 obj_t BgL_arg1805z00_2232;
{ /* Llib/hash.scm 898 */
 obj_t BgL_pairz00_4468;
if(
PAIRP(BgL_buckz00_2220))
{ /* Llib/hash.scm 898 */
BgL_pairz00_4468 = BgL_buckz00_2220; }  else 
{ 
 obj_t BgL_auxz00_11988;
BgL_auxz00_11988 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(36081L), BGl_string4064z00zz__hashz00, BGl_string4068z00zz__hashz00, BgL_buckz00_2220); 
FAILURE(BgL_auxz00_11988,BFALSE,BFALSE);} 
BgL_arg1805z00_2232 = 
CAR(BgL_pairz00_4468); } 
{ /* Llib/hash.scm 898 */
 obj_t BgL_pairz00_4469;
if(
PAIRP(BgL_arg1805z00_2232))
{ /* Llib/hash.scm 898 */
BgL_pairz00_4469 = BgL_arg1805z00_2232; }  else 
{ 
 obj_t BgL_auxz00_11995;
BgL_auxz00_11995 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(36085L), BGl_string4064z00zz__hashz00, BGl_string4068z00zz__hashz00, BgL_arg1805z00_2232); 
FAILURE(BgL_auxz00_11995,BFALSE,BFALSE);} 
SET_CDR(BgL_pairz00_4469, BgL_objz00_121); } } 
return BgL_oldzd2objzd2_2231;}  else 
{ /* Llib/hash.scm 901 */
 obj_t BgL_arg1807z00_2233; long BgL_arg1808z00_2234;
{ /* Llib/hash.scm 901 */
 obj_t BgL_pairz00_4470;
if(
PAIRP(BgL_buckz00_2220))
{ /* Llib/hash.scm 901 */
BgL_pairz00_4470 = BgL_buckz00_2220; }  else 
{ 
 obj_t BgL_auxz00_12002;
BgL_auxz00_12002 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(36130L), BGl_string4064z00zz__hashz00, BGl_string4068z00zz__hashz00, BgL_buckz00_2220); 
FAILURE(BgL_auxz00_12002,BFALSE,BFALSE);} 
BgL_arg1807z00_2233 = 
CDR(BgL_pairz00_4470); } 
BgL_arg1808z00_2234 = 
(BgL_countz00_2221+1L); 
{ 
 long BgL_countz00_12009; obj_t BgL_buckz00_12008;
BgL_buckz00_12008 = BgL_arg1807z00_2233; 
BgL_countz00_12009 = BgL_arg1808z00_2234; 
BgL_countz00_2221 = BgL_countz00_12009; 
BgL_buckz00_2220 = BgL_buckz00_12008; 
goto BgL_zc3z04anonymousza31795ze3z87_2222;} } } } } } } } } } } 

}



/* hashtable-update! */
BGL_EXPORTED_DEF obj_t BGl_hashtablezd2updatez12zc0zz__hashz00(obj_t BgL_tablez00_122, obj_t BgL_keyz00_123, obj_t BgL_procz00_124, obj_t BgL_objz00_125)
{
{ /* Llib/hash.scm 906 */
if(
BGl_hashtablezd2openzd2stringzf3zf3zz__hashz00(BgL_tablez00_122))
{ /* Llib/hash.scm 909 */
 obj_t BgL_auxz00_12012;
if(
STRINGP(BgL_keyz00_123))
{ /* Llib/hash.scm 909 */
BgL_auxz00_12012 = BgL_keyz00_123
; }  else 
{ 
 obj_t BgL_auxz00_12015;
BgL_auxz00_12015 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(36542L), BGl_string4165z00zz__hashz00, BGl_string4050z00zz__hashz00, BgL_keyz00_123); 
FAILURE(BgL_auxz00_12015,BFALSE,BFALSE);} 
return 
BGl_openzd2stringzd2hashtablezd2updatez12zc0zz__hashz00(BgL_tablez00_122, BgL_auxz00_12012, BgL_procz00_124, BgL_objz00_125);}  else 
{ /* Llib/hash.scm 908 */
if(
BGl_hashtablezd2weakzf3z21zz__hashz00(BgL_tablez00_122))
{ /* Llib/hash.scm 910 */
BGL_TAIL return 
BGl_weakzd2hashtablezd2updatez12z12zz__weakhashz00(BgL_tablez00_122, BgL_keyz00_123, BgL_procz00_124, BgL_objz00_125);}  else 
{ /* Llib/hash.scm 910 */
BGL_TAIL return 
BGl_plainzd2hashtablezd2updatez12z12zz__hashz00(BgL_tablez00_122, BgL_keyz00_123, BgL_procz00_124, BgL_objz00_125);} } } 

}



/* &hashtable-update! */
obj_t BGl_z62hashtablezd2updatez12za2zz__hashz00(obj_t BgL_envz00_5574, obj_t BgL_tablez00_5575, obj_t BgL_keyz00_5576, obj_t BgL_procz00_5577, obj_t BgL_objz00_5578)
{
{ /* Llib/hash.scm 906 */
{ /* Llib/hash.scm 908 */
 obj_t BgL_auxz00_12031; obj_t BgL_auxz00_12024;
if(
PROCEDUREP(BgL_procz00_5577))
{ /* Llib/hash.scm 908 */
BgL_auxz00_12031 = BgL_procz00_5577
; }  else 
{ 
 obj_t BgL_auxz00_12034;
BgL_auxz00_12034 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(36466L), BGl_string4166z00zz__hashz00, BGl_string4076z00zz__hashz00, BgL_procz00_5577); 
FAILURE(BgL_auxz00_12034,BFALSE,BFALSE);} 
if(
STRUCTP(BgL_tablez00_5575))
{ /* Llib/hash.scm 908 */
BgL_auxz00_12024 = BgL_tablez00_5575
; }  else 
{ 
 obj_t BgL_auxz00_12027;
BgL_auxz00_12027 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(36466L), BGl_string4166z00zz__hashz00, BGl_string4057z00zz__hashz00, BgL_tablez00_5575); 
FAILURE(BgL_auxz00_12027,BFALSE,BFALSE);} 
return 
BGl_hashtablezd2updatez12zc0zz__hashz00(BgL_auxz00_12024, BgL_keyz00_5576, BgL_auxz00_12031, BgL_objz00_5578);} } 

}



/* open-string-hashtable-update! */
BGL_EXPORTED_DEF obj_t BGl_openzd2stringzd2hashtablezd2updatez12zc0zz__hashz00(obj_t BgL_tablez00_126, obj_t BgL_keyz00_127, obj_t BgL_procz00_128, obj_t BgL_objz00_129)
{
{ /* Llib/hash.scm 918 */
{ /* Llib/hash.scm 919 */
 obj_t BgL_siza7eza7_2240;
{ /* Llib/hash.scm 919 */
 bool_t BgL_test5178z00_12039;
{ /* Llib/hash.scm 919 */
 obj_t BgL_tmpz00_12040;
{ /* Llib/hash.scm 919 */
 obj_t BgL_res2686z00_4477;
{ /* Llib/hash.scm 919 */
 obj_t BgL_aux3668z00_6559;
BgL_aux3668z00_6559 = 
STRUCT_KEY(BgL_tablez00_126); 
if(
SYMBOLP(BgL_aux3668z00_6559))
{ /* Llib/hash.scm 919 */
BgL_res2686z00_4477 = BgL_aux3668z00_6559; }  else 
{ 
 obj_t BgL_auxz00_12044;
BgL_auxz00_12044 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(37033L), BGl_string4167z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3668z00_6559); 
FAILURE(BgL_auxz00_12044,BFALSE,BFALSE);} } 
BgL_tmpz00_12040 = BgL_res2686z00_4477; } 
BgL_test5178z00_12039 = 
(BgL_tmpz00_12040==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test5178z00_12039)
{ /* Llib/hash.scm 919 */
 int BgL_tmpz00_12049;
BgL_tmpz00_12049 = 
(int)(1L); 
BgL_siza7eza7_2240 = 
UNSAFE_STRUCT_REF(BgL_tablez00_126, BgL_tmpz00_12049); }  else 
{ /* Llib/hash.scm 919 */
BgL_siza7eza7_2240 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_126); } } 
{ /* Llib/hash.scm 919 */
 obj_t BgL_bucketsz00_2241;
{ /* Llib/hash.scm 920 */
 bool_t BgL_test5180z00_12053;
{ /* Llib/hash.scm 920 */
 obj_t BgL_tmpz00_12054;
{ /* Llib/hash.scm 920 */
 obj_t BgL_res2687z00_4481;
{ /* Llib/hash.scm 920 */
 obj_t BgL_aux3670z00_6561;
BgL_aux3670z00_6561 = 
STRUCT_KEY(BgL_tablez00_126); 
if(
SYMBOLP(BgL_aux3670z00_6561))
{ /* Llib/hash.scm 920 */
BgL_res2687z00_4481 = BgL_aux3670z00_6561; }  else 
{ 
 obj_t BgL_auxz00_12058;
BgL_auxz00_12058 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(37080L), BGl_string4167z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3670z00_6561); 
FAILURE(BgL_auxz00_12058,BFALSE,BFALSE);} } 
BgL_tmpz00_12054 = BgL_res2687z00_4481; } 
BgL_test5180z00_12053 = 
(BgL_tmpz00_12054==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test5180z00_12053)
{ /* Llib/hash.scm 920 */
 int BgL_tmpz00_12063;
BgL_tmpz00_12063 = 
(int)(2L); 
BgL_bucketsz00_2241 = 
UNSAFE_STRUCT_REF(BgL_tablez00_126, BgL_tmpz00_12063); }  else 
{ /* Llib/hash.scm 920 */
BgL_bucketsz00_2241 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_126); } } 
{ /* Llib/hash.scm 920 */
 long BgL_hashz00_2242;
{ /* Llib/hash.scm 921 */
 long BgL_arg1833z00_2268;
BgL_arg1833z00_2268 = 
STRING_LENGTH(BgL_keyz00_127); 
BgL_hashz00_2242 = 
bgl_string_hash(
BSTRING_TO_STRING(BgL_keyz00_127), 
(int)(0L), 
(int)(BgL_arg1833z00_2268)); } 
{ /* Llib/hash.scm 921 */

{ /* Llib/hash.scm 923 */
 long BgL_g1072z00_2243;
{ /* Llib/hash.scm 923 */
 long BgL_n1z00_4483; long BgL_n2z00_4484;
BgL_n1z00_4483 = BgL_hashz00_2242; 
{ /* Llib/hash.scm 923 */
 obj_t BgL_tmpz00_12072;
if(
INTEGERP(BgL_siza7eza7_2240))
{ /* Llib/hash.scm 923 */
BgL_tmpz00_12072 = BgL_siza7eza7_2240
; }  else 
{ 
 obj_t BgL_auxz00_12075;
BgL_auxz00_12075 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(37222L), BGl_string4167z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_siza7eza7_2240); 
FAILURE(BgL_auxz00_12075,BFALSE,BFALSE);} 
BgL_n2z00_4484 = 
(long)CINT(BgL_tmpz00_12072); } 
{ /* Llib/hash.scm 923 */
 bool_t BgL_test5183z00_12080;
{ /* Llib/hash.scm 923 */
 long BgL_arg2239z00_4486;
BgL_arg2239z00_4486 = 
(((BgL_n1z00_4483) | (BgL_n2z00_4484)) & -2147483648); 
BgL_test5183z00_12080 = 
(BgL_arg2239z00_4486==0L); } 
if(BgL_test5183z00_12080)
{ /* Llib/hash.scm 923 */
 int32_t BgL_arg2235z00_4487;
{ /* Llib/hash.scm 923 */
 int32_t BgL_arg2237z00_4488; int32_t BgL_arg2238z00_4489;
BgL_arg2237z00_4488 = 
(int32_t)(BgL_n1z00_4483); 
BgL_arg2238z00_4489 = 
(int32_t)(BgL_n2z00_4484); 
BgL_arg2235z00_4487 = 
(BgL_arg2237z00_4488%BgL_arg2238z00_4489); } 
{ /* Llib/hash.scm 923 */
 long BgL_arg2353z00_4494;
BgL_arg2353z00_4494 = 
(long)(BgL_arg2235z00_4487); 
BgL_g1072z00_2243 = 
(long)(BgL_arg2353z00_4494); } }  else 
{ /* Llib/hash.scm 923 */
BgL_g1072z00_2243 = 
(BgL_n1z00_4483%BgL_n2z00_4484); } } } 
{ 
 long BgL_offz00_2245; long BgL_iz00_2246;
BgL_offz00_2245 = BgL_g1072z00_2243; 
BgL_iz00_2246 = 1L; 
BgL_zc3z04anonymousza31814ze3z87_2247:
{ /* Llib/hash.scm 925 */
 long BgL_off3z00_2248;
BgL_off3z00_2248 = 
(BgL_offz00_2245*3L); 
{ /* Llib/hash.scm 926 */
 bool_t BgL_test5184z00_12090;
{ /* Llib/hash.scm 926 */
 obj_t BgL_vectorz00_4497;
if(
VECTORP(BgL_bucketsz00_2241))
{ /* Llib/hash.scm 926 */
BgL_vectorz00_4497 = BgL_bucketsz00_2241; }  else 
{ 
 obj_t BgL_auxz00_12093;
BgL_auxz00_12093 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(37288L), BGl_string4064z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_2241); 
FAILURE(BgL_auxz00_12093,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 926 */
 bool_t BgL_test5186z00_12097;
{ /* Llib/hash.scm 926 */
 long BgL_tmpz00_12098;
BgL_tmpz00_12098 = 
VECTOR_LENGTH(BgL_vectorz00_4497); 
BgL_test5186z00_12097 = 
BOUND_CHECK(BgL_off3z00_2248, BgL_tmpz00_12098); } 
if(BgL_test5186z00_12097)
{ /* Llib/hash.scm 926 */
BgL_test5184z00_12090 = 
CBOOL(
VECTOR_REF(BgL_vectorz00_4497,BgL_off3z00_2248))
; }  else 
{ 
 obj_t BgL_auxz00_12103;
BgL_auxz00_12103 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(37276L), BGl_string4012z00zz__hashz00, BgL_vectorz00_4497, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_4497)), 
(int)(BgL_off3z00_2248)); 
FAILURE(BgL_auxz00_12103,BFALSE,BFALSE);} } } 
if(BgL_test5184z00_12090)
{ /* Llib/hash.scm 927 */
 bool_t BgL_test5187z00_12110;
{ /* Llib/hash.scm 927 */
 obj_t BgL_arg1832z00_2266;
{ /* Llib/hash.scm 927 */
 obj_t BgL_vectorz00_4499;
if(
VECTORP(BgL_bucketsz00_2241))
{ /* Llib/hash.scm 927 */
BgL_vectorz00_4499 = BgL_bucketsz00_2241; }  else 
{ 
 obj_t BgL_auxz00_12113;
BgL_auxz00_12113 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(37330L), BGl_string4064z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_2241); 
FAILURE(BgL_auxz00_12113,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 927 */
 bool_t BgL_test5189z00_12117;
{ /* Llib/hash.scm 927 */
 long BgL_tmpz00_12118;
BgL_tmpz00_12118 = 
VECTOR_LENGTH(BgL_vectorz00_4499); 
BgL_test5189z00_12117 = 
BOUND_CHECK(BgL_off3z00_2248, BgL_tmpz00_12118); } 
if(BgL_test5189z00_12117)
{ /* Llib/hash.scm 927 */
BgL_arg1832z00_2266 = 
VECTOR_REF(BgL_vectorz00_4499,BgL_off3z00_2248); }  else 
{ 
 obj_t BgL_auxz00_12122;
BgL_auxz00_12122 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(37318L), BGl_string4012z00zz__hashz00, BgL_vectorz00_4499, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_4499)), 
(int)(BgL_off3z00_2248)); 
FAILURE(BgL_auxz00_12122,BFALSE,BFALSE);} } } 
{ /* Llib/hash.scm 927 */
 obj_t BgL_string1z00_4501;
if(
STRINGP(BgL_arg1832z00_2266))
{ /* Llib/hash.scm 927 */
BgL_string1z00_4501 = BgL_arg1832z00_2266; }  else 
{ 
 obj_t BgL_auxz00_12131;
BgL_auxz00_12131 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(37342L), BGl_string4064z00zz__hashz00, BGl_string4050z00zz__hashz00, BgL_arg1832z00_2266); 
FAILURE(BgL_auxz00_12131,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 927 */
 long BgL_l1z00_4503;
BgL_l1z00_4503 = 
STRING_LENGTH(BgL_string1z00_4501); 
if(
(BgL_l1z00_4503==
STRING_LENGTH(BgL_keyz00_127)))
{ /* Llib/hash.scm 927 */
 int BgL_arg2135z00_4506;
{ /* Llib/hash.scm 927 */
 char * BgL_auxz00_12141; char * BgL_tmpz00_12139;
BgL_auxz00_12141 = 
BSTRING_TO_STRING(BgL_keyz00_127); 
BgL_tmpz00_12139 = 
BSTRING_TO_STRING(BgL_string1z00_4501); 
BgL_arg2135z00_4506 = 
memcmp(BgL_tmpz00_12139, BgL_auxz00_12141, BgL_l1z00_4503); } 
BgL_test5187z00_12110 = 
(
(long)(BgL_arg2135z00_4506)==0L); }  else 
{ /* Llib/hash.scm 927 */
BgL_test5187z00_12110 = ((bool_t)0)
; } } } } 
if(BgL_test5187z00_12110)
{ /* Llib/hash.scm 928 */
 bool_t BgL_test5192z00_12146;
{ /* Llib/hash.scm 928 */
 long BgL_arg1825z00_2259;
BgL_arg1825z00_2259 = 
(BgL_off3z00_2248+2L); 
{ /* Llib/hash.scm 928 */
 obj_t BgL_vectorz00_4513;
if(
VECTORP(BgL_bucketsz00_2241))
{ /* Llib/hash.scm 928 */
BgL_vectorz00_4513 = BgL_bucketsz00_2241; }  else 
{ 
 obj_t BgL_auxz00_12150;
BgL_auxz00_12150 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(37371L), BGl_string4064z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_2241); 
FAILURE(BgL_auxz00_12150,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 928 */
 bool_t BgL_test5194z00_12154;
{ /* Llib/hash.scm 928 */
 long BgL_tmpz00_12155;
BgL_tmpz00_12155 = 
VECTOR_LENGTH(BgL_vectorz00_4513); 
BgL_test5194z00_12154 = 
BOUND_CHECK(BgL_arg1825z00_2259, BgL_tmpz00_12155); } 
if(BgL_test5194z00_12154)
{ /* Llib/hash.scm 928 */
BgL_test5192z00_12146 = 
CBOOL(
VECTOR_REF(BgL_vectorz00_4513,BgL_arg1825z00_2259))
; }  else 
{ 
 obj_t BgL_auxz00_12160;
BgL_auxz00_12160 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(37359L), BGl_string4012z00zz__hashz00, BgL_vectorz00_4513, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_4513)), 
(int)(BgL_arg1825z00_2259)); 
FAILURE(BgL_auxz00_12160,BFALSE,BFALSE);} } } } 
if(BgL_test5192z00_12146)
{ /* Llib/hash.scm 929 */
 obj_t BgL_ovalz00_2254;
{ /* Llib/hash.scm 929 */
 long BgL_arg1822z00_2257;
BgL_arg1822z00_2257 = 
(BgL_off3z00_2248+1L); 
{ /* Llib/hash.scm 929 */
 obj_t BgL_vectorz00_4516;
if(
VECTORP(BgL_bucketsz00_2241))
{ /* Llib/hash.scm 929 */
BgL_vectorz00_4516 = BgL_bucketsz00_2241; }  else 
{ 
 obj_t BgL_auxz00_12170;
BgL_auxz00_12170 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(37420L), BGl_string4064z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_2241); 
FAILURE(BgL_auxz00_12170,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 929 */
 bool_t BgL_test5196z00_12174;
{ /* Llib/hash.scm 929 */
 long BgL_tmpz00_12175;
BgL_tmpz00_12175 = 
VECTOR_LENGTH(BgL_vectorz00_4516); 
BgL_test5196z00_12174 = 
BOUND_CHECK(BgL_arg1822z00_2257, BgL_tmpz00_12175); } 
if(BgL_test5196z00_12174)
{ /* Llib/hash.scm 929 */
BgL_ovalz00_2254 = 
VECTOR_REF(BgL_vectorz00_4516,BgL_arg1822z00_2257); }  else 
{ 
 obj_t BgL_auxz00_12179;
BgL_auxz00_12179 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(37408L), BGl_string4012z00zz__hashz00, BgL_vectorz00_4516, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_4516)), 
(int)(BgL_arg1822z00_2257)); 
FAILURE(BgL_auxz00_12179,BFALSE,BFALSE);} } } } 
{ /* Llib/hash.scm 930 */
 long BgL_arg1820z00_2255; obj_t BgL_arg1821z00_2256;
BgL_arg1820z00_2255 = 
(BgL_off3z00_2248+1L); 
if(
PROCEDURE_CORRECT_ARITYP(BgL_procz00_128, 1))
{ /* Llib/hash.scm 930 */
BgL_arg1821z00_2256 = 
BGL_PROCEDURE_CALL1(BgL_procz00_128, BgL_ovalz00_2254); }  else 
{ /* Llib/hash.scm 930 */
FAILURE(BGl_string4078z00zz__hashz00,BGl_list4168z00zz__hashz00,BgL_procz00_128);} 
{ /* Llib/hash.scm 930 */
 obj_t BgL_vectorz00_4519;
if(
VECTORP(BgL_bucketsz00_2241))
{ /* Llib/hash.scm 930 */
BgL_vectorz00_4519 = BgL_bucketsz00_2241; }  else 
{ 
 obj_t BgL_auxz00_12196;
BgL_auxz00_12196 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(37463L), BGl_string4064z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_2241); 
FAILURE(BgL_auxz00_12196,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 930 */
 bool_t BgL_test5199z00_12200;
{ /* Llib/hash.scm 930 */
 long BgL_tmpz00_12201;
BgL_tmpz00_12201 = 
VECTOR_LENGTH(BgL_vectorz00_4519); 
BgL_test5199z00_12200 = 
BOUND_CHECK(BgL_arg1820z00_2255, BgL_tmpz00_12201); } 
if(BgL_test5199z00_12200)
{ /* Llib/hash.scm 930 */
return 
VECTOR_SET(BgL_vectorz00_4519,BgL_arg1820z00_2255,BgL_arg1821z00_2256);}  else 
{ 
 obj_t BgL_auxz00_12205;
BgL_auxz00_12205 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(37450L), BGl_string4065z00zz__hashz00, BgL_vectorz00_4519, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_4519)), 
(int)(BgL_arg1820z00_2255)); 
FAILURE(BgL_auxz00_12205,BFALSE,BFALSE);} } } } }  else 
{ /* Llib/hash.scm 931 */
 long BgL_arg1824z00_2258;
BgL_arg1824z00_2258 = 
(BgL_off3z00_2248+1L); 
{ /* Llib/hash.scm 931 */
 obj_t BgL_vectorz00_4522;
if(
VECTORP(BgL_bucketsz00_2241))
{ /* Llib/hash.scm 931 */
BgL_vectorz00_4522 = BgL_bucketsz00_2241; }  else 
{ 
 obj_t BgL_auxz00_12215;
BgL_auxz00_12215 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(37514L), BGl_string4064z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_2241); 
FAILURE(BgL_auxz00_12215,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 931 */
 bool_t BgL_test5201z00_12219;
{ /* Llib/hash.scm 931 */
 long BgL_tmpz00_12220;
BgL_tmpz00_12220 = 
VECTOR_LENGTH(BgL_vectorz00_4522); 
BgL_test5201z00_12219 = 
BOUND_CHECK(BgL_arg1824z00_2258, BgL_tmpz00_12220); } 
if(BgL_test5201z00_12219)
{ /* Llib/hash.scm 931 */
return 
VECTOR_SET(BgL_vectorz00_4522,BgL_arg1824z00_2258,BgL_objz00_129);}  else 
{ 
 obj_t BgL_auxz00_12224;
BgL_auxz00_12224 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(37501L), BGl_string4065z00zz__hashz00, BgL_vectorz00_4522, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_4522)), 
(int)(BgL_arg1824z00_2258)); 
FAILURE(BgL_auxz00_12224,BFALSE,BFALSE);} } } } }  else 
{ /* Llib/hash.scm 932 */
 long BgL_noffz00_2260;
BgL_noffz00_2260 = 
(BgL_offz00_2245+
(BgL_iz00_2246*BgL_iz00_2246)); 
{ /* Llib/hash.scm 933 */
 bool_t BgL_test5202z00_12233;
{ /* Llib/hash.scm 933 */
 long BgL_n2z00_4529;
{ /* Llib/hash.scm 933 */
 obj_t BgL_tmpz00_12234;
if(
INTEGERP(BgL_siza7eza7_2240))
{ /* Llib/hash.scm 933 */
BgL_tmpz00_12234 = BgL_siza7eza7_2240
; }  else 
{ 
 obj_t BgL_auxz00_12237;
BgL_auxz00_12237 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(37605L), BGl_string4064z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_siza7eza7_2240); 
FAILURE(BgL_auxz00_12237,BFALSE,BFALSE);} 
BgL_n2z00_4529 = 
(long)CINT(BgL_tmpz00_12234); } 
BgL_test5202z00_12233 = 
(BgL_noffz00_2260>=BgL_n2z00_4529); } 
if(BgL_test5202z00_12233)
{ /* Llib/hash.scm 934 */
 long BgL_arg1827z00_2262; long BgL_arg1828z00_2263;
{ /* Llib/hash.scm 934 */
 long BgL_n1z00_4530; long BgL_n2z00_4531;
BgL_n1z00_4530 = BgL_noffz00_2260; 
{ /* Llib/hash.scm 934 */
 obj_t BgL_tmpz00_12243;
if(
INTEGERP(BgL_siza7eza7_2240))
{ /* Llib/hash.scm 934 */
BgL_tmpz00_12243 = BgL_siza7eza7_2240
; }  else 
{ 
 obj_t BgL_auxz00_12246;
BgL_auxz00_12246 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(37641L), BGl_string4064z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_siza7eza7_2240); 
FAILURE(BgL_auxz00_12246,BFALSE,BFALSE);} 
BgL_n2z00_4531 = 
(long)CINT(BgL_tmpz00_12243); } 
{ /* Llib/hash.scm 934 */
 bool_t BgL_test5205z00_12251;
{ /* Llib/hash.scm 934 */
 long BgL_arg2239z00_4533;
BgL_arg2239z00_4533 = 
(((BgL_n1z00_4530) | (BgL_n2z00_4531)) & -2147483648); 
BgL_test5205z00_12251 = 
(BgL_arg2239z00_4533==0L); } 
if(BgL_test5205z00_12251)
{ /* Llib/hash.scm 934 */
 int32_t BgL_arg2235z00_4534;
{ /* Llib/hash.scm 934 */
 int32_t BgL_arg2237z00_4535; int32_t BgL_arg2238z00_4536;
BgL_arg2237z00_4535 = 
(int32_t)(BgL_n1z00_4530); 
BgL_arg2238z00_4536 = 
(int32_t)(BgL_n2z00_4531); 
BgL_arg2235z00_4534 = 
(BgL_arg2237z00_4535%BgL_arg2238z00_4536); } 
{ /* Llib/hash.scm 934 */
 long BgL_arg2353z00_4541;
BgL_arg2353z00_4541 = 
(long)(BgL_arg2235z00_4534); 
BgL_arg1827z00_2262 = 
(long)(BgL_arg2353z00_4541); } }  else 
{ /* Llib/hash.scm 934 */
BgL_arg1827z00_2262 = 
(BgL_n1z00_4530%BgL_n2z00_4531); } } } 
BgL_arg1828z00_2263 = 
(BgL_iz00_2246+1L); 
{ 
 long BgL_iz00_12262; long BgL_offz00_12261;
BgL_offz00_12261 = BgL_arg1827z00_2262; 
BgL_iz00_12262 = BgL_arg1828z00_2263; 
BgL_iz00_2246 = BgL_iz00_12262; 
BgL_offz00_2245 = BgL_offz00_12261; 
goto BgL_zc3z04anonymousza31814ze3z87_2247;} }  else 
{ 
 long BgL_iz00_12264; long BgL_offz00_12263;
BgL_offz00_12263 = BgL_noffz00_2260; 
BgL_iz00_12264 = 
(BgL_iz00_2246+1L); 
BgL_iz00_2246 = BgL_iz00_12264; 
BgL_offz00_2245 = BgL_offz00_12263; 
goto BgL_zc3z04anonymousza31814ze3z87_2247;} } } }  else 
{ /* Llib/hash.scm 926 */
return 
BGl_openzd2stringzd2hashtablezd2putzf2hashz12z32zz__hashz00(BgL_tablez00_126, BgL_keyz00_127, BgL_objz00_129, 
BINT(BgL_hashz00_2242));} } } } } } } } } } 

}



/* &open-string-hashtable-update! */
obj_t BGl_z62openzd2stringzd2hashtablezd2updatez12za2zz__hashz00(obj_t BgL_envz00_5579, obj_t BgL_tablez00_5580, obj_t BgL_keyz00_5581, obj_t BgL_procz00_5582, obj_t BgL_objz00_5583)
{
{ /* Llib/hash.scm 918 */
{ /* Llib/hash.scm 919 */
 obj_t BgL_auxz00_12282; obj_t BgL_auxz00_12275; obj_t BgL_auxz00_12268;
if(
PROCEDUREP(BgL_procz00_5582))
{ /* Llib/hash.scm 919 */
BgL_auxz00_12282 = BgL_procz00_5582
; }  else 
{ 
 obj_t BgL_auxz00_12285;
BgL_auxz00_12285 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(37020L), BGl_string4173z00zz__hashz00, BGl_string4076z00zz__hashz00, BgL_procz00_5582); 
FAILURE(BgL_auxz00_12285,BFALSE,BFALSE);} 
if(
STRINGP(BgL_keyz00_5581))
{ /* Llib/hash.scm 919 */
BgL_auxz00_12275 = BgL_keyz00_5581
; }  else 
{ 
 obj_t BgL_auxz00_12278;
BgL_auxz00_12278 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(37020L), BGl_string4173z00zz__hashz00, BGl_string4050z00zz__hashz00, BgL_keyz00_5581); 
FAILURE(BgL_auxz00_12278,BFALSE,BFALSE);} 
if(
STRUCTP(BgL_tablez00_5580))
{ /* Llib/hash.scm 919 */
BgL_auxz00_12268 = BgL_tablez00_5580
; }  else 
{ 
 obj_t BgL_auxz00_12271;
BgL_auxz00_12271 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(37020L), BGl_string4173z00zz__hashz00, BGl_string4057z00zz__hashz00, BgL_tablez00_5580); 
FAILURE(BgL_auxz00_12271,BFALSE,BFALSE);} 
return 
BGl_openzd2stringzd2hashtablezd2updatez12zc0zz__hashz00(BgL_auxz00_12268, BgL_auxz00_12275, BgL_auxz00_12282, BgL_objz00_5583);} } 

}



/* plain-hashtable-update! */
obj_t BGl_plainzd2hashtablezd2updatez12z12zz__hashz00(obj_t BgL_tablez00_130, obj_t BgL_keyz00_131, obj_t BgL_procz00_132, obj_t BgL_objz00_133)
{
{ /* Llib/hash.scm 941 */
{ /* Llib/hash.scm 942 */
 obj_t BgL_bucketsz00_2269;
{ /* Llib/hash.scm 942 */
 bool_t BgL_test5209z00_12290;
{ /* Llib/hash.scm 942 */
 obj_t BgL_tmpz00_12291;
{ /* Llib/hash.scm 942 */
 obj_t BgL_res2688z00_4548;
{ /* Llib/hash.scm 942 */
 obj_t BgL_aux3696z00_6588;
BgL_aux3696z00_6588 = 
STRUCT_KEY(BgL_tablez00_130); 
if(
SYMBOLP(BgL_aux3696z00_6588))
{ /* Llib/hash.scm 942 */
BgL_res2688z00_4548 = BgL_aux3696z00_6588; }  else 
{ 
 obj_t BgL_auxz00_12295;
BgL_auxz00_12295 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(38071L), BGl_string4174z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3696z00_6588); 
FAILURE(BgL_auxz00_12295,BFALSE,BFALSE);} } 
BgL_tmpz00_12291 = BgL_res2688z00_4548; } 
BgL_test5209z00_12290 = 
(BgL_tmpz00_12291==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test5209z00_12290)
{ /* Llib/hash.scm 942 */
 int BgL_tmpz00_12300;
BgL_tmpz00_12300 = 
(int)(2L); 
BgL_bucketsz00_2269 = 
UNSAFE_STRUCT_REF(BgL_tablez00_130, BgL_tmpz00_12300); }  else 
{ /* Llib/hash.scm 942 */
BgL_bucketsz00_2269 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_130); } } 
{ /* Llib/hash.scm 942 */
 long BgL_bucketzd2lenzd2_2270;
{ /* Llib/hash.scm 943 */
 obj_t BgL_vectorz00_4549;
if(
VECTORP(BgL_bucketsz00_2269))
{ /* Llib/hash.scm 943 */
BgL_vectorz00_4549 = BgL_bucketsz00_2269; }  else 
{ 
 obj_t BgL_auxz00_12306;
BgL_auxz00_12306 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(38129L), BGl_string4174z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_2269); 
FAILURE(BgL_auxz00_12306,BFALSE,BFALSE);} 
BgL_bucketzd2lenzd2_2270 = 
VECTOR_LENGTH(BgL_vectorz00_4549); } 
{ /* Llib/hash.scm 943 */
 long BgL_bucketzd2numzd2_2271;
{ /* Llib/hash.scm 944 */
 long BgL_arg1859z00_2299;
BgL_arg1859z00_2299 = 
BGl_tablezd2getzd2hashnumberz00zz__hashz00(BgL_tablez00_130, BgL_keyz00_131); 
{ /* Llib/hash.scm 944 */
 long BgL_n1z00_4550; long BgL_n2z00_4551;
BgL_n1z00_4550 = BgL_arg1859z00_2299; 
BgL_n2z00_4551 = BgL_bucketzd2lenzd2_2270; 
{ /* Llib/hash.scm 944 */
 bool_t BgL_test5212z00_12312;
{ /* Llib/hash.scm 944 */
 long BgL_arg2239z00_4553;
BgL_arg2239z00_4553 = 
(((BgL_n1z00_4550) | (BgL_n2z00_4551)) & -2147483648); 
BgL_test5212z00_12312 = 
(BgL_arg2239z00_4553==0L); } 
if(BgL_test5212z00_12312)
{ /* Llib/hash.scm 944 */
 int32_t BgL_arg2235z00_4554;
{ /* Llib/hash.scm 944 */
 int32_t BgL_arg2237z00_4555; int32_t BgL_arg2238z00_4556;
BgL_arg2237z00_4555 = 
(int32_t)(BgL_n1z00_4550); 
BgL_arg2238z00_4556 = 
(int32_t)(BgL_n2z00_4551); 
BgL_arg2235z00_4554 = 
(BgL_arg2237z00_4555%BgL_arg2238z00_4556); } 
{ /* Llib/hash.scm 944 */
 long BgL_arg2353z00_4561;
BgL_arg2353z00_4561 = 
(long)(BgL_arg2235z00_4554); 
BgL_bucketzd2numzd2_2271 = 
(long)(BgL_arg2353z00_4561); } }  else 
{ /* Llib/hash.scm 944 */
BgL_bucketzd2numzd2_2271 = 
(BgL_n1z00_4550%BgL_n2z00_4551); } } } } 
{ /* Llib/hash.scm 944 */
 obj_t BgL_bucketz00_2272;
{ /* Llib/hash.scm 945 */
 obj_t BgL_vectorz00_4563;
if(
VECTORP(BgL_bucketsz00_2269))
{ /* Llib/hash.scm 945 */
BgL_vectorz00_4563 = BgL_bucketsz00_2269; }  else 
{ 
 obj_t BgL_auxz00_12323;
BgL_auxz00_12323 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(38239L), BGl_string4174z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_2269); 
FAILURE(BgL_auxz00_12323,BFALSE,BFALSE);} 
BgL_bucketz00_2272 = 
VECTOR_REF(BgL_vectorz00_4563,BgL_bucketzd2numzd2_2271); } 
{ /* Llib/hash.scm 945 */
 obj_t BgL_maxzd2bucketzd2lenz00_2273;
{ /* Llib/hash.scm 946 */
 bool_t BgL_test5214z00_12328;
{ /* Llib/hash.scm 946 */
 obj_t BgL_tmpz00_12329;
{ /* Llib/hash.scm 946 */
 obj_t BgL_res2689z00_4568;
{ /* Llib/hash.scm 946 */
 obj_t BgL_aux3702z00_6594;
BgL_aux3702z00_6594 = 
STRUCT_KEY(BgL_tablez00_130); 
if(
SYMBOLP(BgL_aux3702z00_6594))
{ /* Llib/hash.scm 946 */
BgL_res2689z00_4568 = BgL_aux3702z00_6594; }  else 
{ 
 obj_t BgL_auxz00_12333;
BgL_auxz00_12333 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(38279L), BGl_string4174z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3702z00_6594); 
FAILURE(BgL_auxz00_12333,BFALSE,BFALSE);} } 
BgL_tmpz00_12329 = BgL_res2689z00_4568; } 
BgL_test5214z00_12328 = 
(BgL_tmpz00_12329==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test5214z00_12328)
{ /* Llib/hash.scm 946 */
 int BgL_tmpz00_12338;
BgL_tmpz00_12338 = 
(int)(1L); 
BgL_maxzd2bucketzd2lenz00_2273 = 
UNSAFE_STRUCT_REF(BgL_tablez00_130, BgL_tmpz00_12338); }  else 
{ /* Llib/hash.scm 946 */
BgL_maxzd2bucketzd2lenz00_2273 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_130); } } 
{ /* Llib/hash.scm 946 */

if(
NULLP(BgL_bucketz00_2272))
{ /* Llib/hash.scm 947 */
{ /* Llib/hash.scm 949 */
 long BgL_arg1835z00_2275;
{ /* Llib/hash.scm 949 */
 obj_t BgL_arg1836z00_2276;
{ /* Llib/hash.scm 949 */
 bool_t BgL_test5217z00_12344;
{ /* Llib/hash.scm 949 */
 obj_t BgL_tmpz00_12345;
{ /* Llib/hash.scm 949 */
 obj_t BgL_res2690z00_4572;
{ /* Llib/hash.scm 949 */
 obj_t BgL_aux3704z00_6596;
BgL_aux3704z00_6596 = 
STRUCT_KEY(BgL_tablez00_130); 
if(
SYMBOLP(BgL_aux3704z00_6596))
{ /* Llib/hash.scm 949 */
BgL_res2690z00_4572 = BgL_aux3704z00_6596; }  else 
{ 
 obj_t BgL_auxz00_12349;
BgL_auxz00_12349 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(38389L), BGl_string4174z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3704z00_6596); 
FAILURE(BgL_auxz00_12349,BFALSE,BFALSE);} } 
BgL_tmpz00_12345 = BgL_res2690z00_4572; } 
BgL_test5217z00_12344 = 
(BgL_tmpz00_12345==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test5217z00_12344)
{ /* Llib/hash.scm 949 */
 int BgL_tmpz00_12354;
BgL_tmpz00_12354 = 
(int)(0L); 
BgL_arg1836z00_2276 = 
UNSAFE_STRUCT_REF(BgL_tablez00_130, BgL_tmpz00_12354); }  else 
{ /* Llib/hash.scm 949 */
BgL_arg1836z00_2276 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_130); } } 
{ /* Llib/hash.scm 949 */
 long BgL_za71za7_4573;
{ /* Llib/hash.scm 949 */
 obj_t BgL_tmpz00_12358;
if(
INTEGERP(BgL_arg1836z00_2276))
{ /* Llib/hash.scm 949 */
BgL_tmpz00_12358 = BgL_arg1836z00_2276
; }  else 
{ 
 obj_t BgL_auxz00_12361;
BgL_auxz00_12361 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(38411L), BGl_string4174z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_arg1836z00_2276); 
FAILURE(BgL_auxz00_12361,BFALSE,BFALSE);} 
BgL_za71za7_4573 = 
(long)CINT(BgL_tmpz00_12358); } 
BgL_arg1835z00_2275 = 
(BgL_za71za7_4573+1L); } } 
{ /* Llib/hash.scm 949 */
 bool_t BgL_test5220z00_12367;
{ /* Llib/hash.scm 949 */
 obj_t BgL_tmpz00_12368;
{ /* Llib/hash.scm 949 */
 obj_t BgL_res2691z00_4577;
{ /* Llib/hash.scm 949 */
 obj_t BgL_aux3707z00_6599;
BgL_aux3707z00_6599 = 
STRUCT_KEY(BgL_tablez00_130); 
if(
SYMBOLP(BgL_aux3707z00_6599))
{ /* Llib/hash.scm 949 */
BgL_res2691z00_4577 = BgL_aux3707z00_6599; }  else 
{ 
 obj_t BgL_auxz00_12372;
BgL_auxz00_12372 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(38356L), BGl_string4174z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3707z00_6599); 
FAILURE(BgL_auxz00_12372,BFALSE,BFALSE);} } 
BgL_tmpz00_12368 = BgL_res2691z00_4577; } 
BgL_test5220z00_12367 = 
(BgL_tmpz00_12368==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test5220z00_12367)
{ /* Llib/hash.scm 949 */
 obj_t BgL_auxz00_12379; int BgL_tmpz00_12377;
BgL_auxz00_12379 = 
BINT(BgL_arg1835z00_2275); 
BgL_tmpz00_12377 = 
(int)(0L); 
UNSAFE_STRUCT_SET(BgL_tablez00_130, BgL_tmpz00_12377, BgL_auxz00_12379); }  else 
{ /* Llib/hash.scm 949 */
BGl_errorz00zz__errorz00(BGl_string4005z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_130); } } } 
{ /* Llib/hash.scm 950 */
 obj_t BgL_arg1837z00_2277;
{ /* Llib/hash.scm 950 */
 obj_t BgL_arg1839z00_2278;
BgL_arg1839z00_2278 = 
MAKE_YOUNG_PAIR(BgL_keyz00_131, BgL_objz00_133); 
{ /* Llib/hash.scm 950 */
 obj_t BgL_list1840z00_2279;
BgL_list1840z00_2279 = 
MAKE_YOUNG_PAIR(BgL_arg1839z00_2278, BNIL); 
BgL_arg1837z00_2277 = BgL_list1840z00_2279; } } 
{ /* Llib/hash.scm 950 */
 obj_t BgL_vectorz00_4579;
if(
VECTORP(BgL_bucketsz00_2269))
{ /* Llib/hash.scm 950 */
BgL_vectorz00_4579 = BgL_bucketsz00_2269; }  else 
{ 
 obj_t BgL_auxz00_12387;
BgL_auxz00_12387 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(38439L), BGl_string4174z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_2269); 
FAILURE(BgL_auxz00_12387,BFALSE,BFALSE);} 
VECTOR_SET(BgL_vectorz00_4579,BgL_bucketzd2numzd2_2271,BgL_arg1837z00_2277); } } 
return BgL_objz00_133;}  else 
{ 
 obj_t BgL_buckz00_2281; long BgL_countz00_2282;
BgL_buckz00_2281 = BgL_bucketz00_2272; 
BgL_countz00_2282 = 0L; 
BgL_zc3z04anonymousza31841ze3z87_2283:
if(
NULLP(BgL_buckz00_2281))
{ /* Llib/hash.scm 955 */
{ /* Llib/hash.scm 956 */
 long BgL_arg1845z00_2285;
{ /* Llib/hash.scm 956 */
 obj_t BgL_arg1846z00_2286;
{ /* Llib/hash.scm 956 */
 bool_t BgL_test5224z00_12394;
{ /* Llib/hash.scm 956 */
 obj_t BgL_tmpz00_12395;
{ /* Llib/hash.scm 956 */
 obj_t BgL_res2693z00_4584;
{ /* Llib/hash.scm 956 */
 obj_t BgL_aux3711z00_6603;
BgL_aux3711z00_6603 = 
STRUCT_KEY(BgL_tablez00_130); 
if(
SYMBOLP(BgL_aux3711z00_6603))
{ /* Llib/hash.scm 956 */
BgL_res2693z00_4584 = BgL_aux3711z00_6603; }  else 
{ 
 obj_t BgL_auxz00_12399;
BgL_auxz00_12399 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(38602L), BGl_string4064z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3711z00_6603); 
FAILURE(BgL_auxz00_12399,BFALSE,BFALSE);} } 
BgL_tmpz00_12395 = BgL_res2693z00_4584; } 
BgL_test5224z00_12394 = 
(BgL_tmpz00_12395==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test5224z00_12394)
{ /* Llib/hash.scm 956 */
 int BgL_tmpz00_12404;
BgL_tmpz00_12404 = 
(int)(0L); 
BgL_arg1846z00_2286 = 
UNSAFE_STRUCT_REF(BgL_tablez00_130, BgL_tmpz00_12404); }  else 
{ /* Llib/hash.scm 956 */
BgL_arg1846z00_2286 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_130); } } 
{ /* Llib/hash.scm 956 */
 long BgL_za71za7_4585;
{ /* Llib/hash.scm 956 */
 obj_t BgL_tmpz00_12408;
if(
INTEGERP(BgL_arg1846z00_2286))
{ /* Llib/hash.scm 956 */
BgL_tmpz00_12408 = BgL_arg1846z00_2286
; }  else 
{ 
 obj_t BgL_auxz00_12411;
BgL_auxz00_12411 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(38624L), BGl_string4064z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_arg1846z00_2286); 
FAILURE(BgL_auxz00_12411,BFALSE,BFALSE);} 
BgL_za71za7_4585 = 
(long)CINT(BgL_tmpz00_12408); } 
BgL_arg1845z00_2285 = 
(BgL_za71za7_4585+1L); } } 
{ /* Llib/hash.scm 956 */
 bool_t BgL_test5227z00_12417;
{ /* Llib/hash.scm 956 */
 obj_t BgL_tmpz00_12418;
{ /* Llib/hash.scm 956 */
 obj_t BgL_res2694z00_4589;
{ /* Llib/hash.scm 956 */
 obj_t BgL_aux3714z00_6606;
BgL_aux3714z00_6606 = 
STRUCT_KEY(BgL_tablez00_130); 
if(
SYMBOLP(BgL_aux3714z00_6606))
{ /* Llib/hash.scm 956 */
BgL_res2694z00_4589 = BgL_aux3714z00_6606; }  else 
{ 
 obj_t BgL_auxz00_12422;
BgL_auxz00_12422 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(38569L), BGl_string4064z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3714z00_6606); 
FAILURE(BgL_auxz00_12422,BFALSE,BFALSE);} } 
BgL_tmpz00_12418 = BgL_res2694z00_4589; } 
BgL_test5227z00_12417 = 
(BgL_tmpz00_12418==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test5227z00_12417)
{ /* Llib/hash.scm 956 */
 obj_t BgL_auxz00_12429; int BgL_tmpz00_12427;
BgL_auxz00_12429 = 
BINT(BgL_arg1845z00_2285); 
BgL_tmpz00_12427 = 
(int)(0L); 
UNSAFE_STRUCT_SET(BgL_tablez00_130, BgL_tmpz00_12427, BgL_auxz00_12429); }  else 
{ /* Llib/hash.scm 956 */
BGl_errorz00zz__errorz00(BGl_string4005z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_130); } } } 
{ /* Llib/hash.scm 957 */
 obj_t BgL_arg1847z00_2287;
{ /* Llib/hash.scm 957 */
 obj_t BgL_arg1848z00_2288;
BgL_arg1848z00_2288 = 
MAKE_YOUNG_PAIR(BgL_keyz00_131, BgL_objz00_133); 
BgL_arg1847z00_2287 = 
MAKE_YOUNG_PAIR(BgL_arg1848z00_2288, BgL_bucketz00_2272); } 
{ /* Llib/hash.scm 957 */
 obj_t BgL_vectorz00_4590;
if(
VECTORP(BgL_bucketsz00_2269))
{ /* Llib/hash.scm 957 */
BgL_vectorz00_4590 = BgL_bucketsz00_2269; }  else 
{ 
 obj_t BgL_auxz00_12437;
BgL_auxz00_12437 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(38649L), BGl_string4064z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_2269); 
FAILURE(BgL_auxz00_12437,BFALSE,BFALSE);} 
VECTOR_SET(BgL_vectorz00_4590,BgL_bucketzd2numzd2_2271,BgL_arg1847z00_2287); } } 
{ /* Llib/hash.scm 958 */
 bool_t BgL_test5230z00_12442;
{ /* Llib/hash.scm 958 */
 long BgL_n2z00_4593;
{ /* Llib/hash.scm 958 */
 obj_t BgL_tmpz00_12443;
if(
INTEGERP(BgL_maxzd2bucketzd2lenz00_2273))
{ /* Llib/hash.scm 958 */
BgL_tmpz00_12443 = BgL_maxzd2bucketzd2lenz00_2273
; }  else 
{ 
 obj_t BgL_auxz00_12446;
BgL_auxz00_12446 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(38718L), BGl_string4064z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_maxzd2bucketzd2lenz00_2273); 
FAILURE(BgL_auxz00_12446,BFALSE,BFALSE);} 
BgL_n2z00_4593 = 
(long)CINT(BgL_tmpz00_12443); } 
BgL_test5230z00_12442 = 
(BgL_countz00_2282>BgL_n2z00_4593); } 
if(BgL_test5230z00_12442)
{ /* Llib/hash.scm 958 */
BGl_plainzd2hashtablezd2expandz12z12zz__hashz00(BgL_tablez00_130); }  else 
{ /* Llib/hash.scm 958 */BFALSE; } } 
return BgL_objz00_133;}  else 
{ /* Llib/hash.scm 961 */
 bool_t BgL_test5232z00_12453;
{ /* Llib/hash.scm 961 */
 obj_t BgL_arg1858z00_2297;
{ /* Llib/hash.scm 961 */
 obj_t BgL_pairz00_4594;
if(
PAIRP(BgL_buckz00_2281))
{ /* Llib/hash.scm 961 */
BgL_pairz00_4594 = BgL_buckz00_2281; }  else 
{ 
 obj_t BgL_auxz00_12456;
BgL_auxz00_12456 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(38814L), BGl_string4064z00zz__hashz00, BGl_string4068z00zz__hashz00, BgL_buckz00_2281); 
FAILURE(BgL_auxz00_12456,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 961 */
 obj_t BgL_pairz00_4597;
{ /* Llib/hash.scm 961 */
 obj_t BgL_aux3721z00_6613;
BgL_aux3721z00_6613 = 
CAR(BgL_pairz00_4594); 
if(
PAIRP(BgL_aux3721z00_6613))
{ /* Llib/hash.scm 961 */
BgL_pairz00_4597 = BgL_aux3721z00_6613; }  else 
{ 
 obj_t BgL_auxz00_12463;
BgL_auxz00_12463 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(38808L), BGl_string4064z00zz__hashz00, BGl_string4068z00zz__hashz00, BgL_aux3721z00_6613); 
FAILURE(BgL_auxz00_12463,BFALSE,BFALSE);} } 
BgL_arg1858z00_2297 = 
CAR(BgL_pairz00_4597); } } 
{ /* Llib/hash.scm 961 */
 obj_t BgL_eqtz00_4598;
{ /* Llib/hash.scm 961 */
 bool_t BgL_test5235z00_12468;
{ /* Llib/hash.scm 961 */
 obj_t BgL_tmpz00_12469;
{ /* Llib/hash.scm 961 */
 obj_t BgL_res2695z00_4605;
{ /* Llib/hash.scm 961 */
 obj_t BgL_aux3723z00_6615;
BgL_aux3723z00_6615 = 
STRUCT_KEY(BgL_tablez00_130); 
if(
SYMBOLP(BgL_aux3723z00_6615))
{ /* Llib/hash.scm 961 */
BgL_res2695z00_4605 = BgL_aux3723z00_6615; }  else 
{ 
 obj_t BgL_auxz00_12473;
BgL_auxz00_12473 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(38784L), BGl_string4064z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3723z00_6615); 
FAILURE(BgL_auxz00_12473,BFALSE,BFALSE);} } 
BgL_tmpz00_12469 = BgL_res2695z00_4605; } 
BgL_test5235z00_12468 = 
(BgL_tmpz00_12469==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test5235z00_12468)
{ /* Llib/hash.scm 961 */
 int BgL_tmpz00_12478;
BgL_tmpz00_12478 = 
(int)(3L); 
BgL_eqtz00_4598 = 
UNSAFE_STRUCT_REF(BgL_tablez00_130, BgL_tmpz00_12478); }  else 
{ /* Llib/hash.scm 961 */
BgL_eqtz00_4598 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_130); } } 
if(
PROCEDUREP(BgL_eqtz00_4598))
{ /* Llib/hash.scm 961 */
if(
PROCEDURE_CORRECT_ARITYP(BgL_eqtz00_4598, 2))
{ /* Llib/hash.scm 961 */
BgL_test5232z00_12453 = 
CBOOL(
BGL_PROCEDURE_CALL2(BgL_eqtz00_4598, BgL_arg1858z00_2297, BgL_keyz00_131))
; }  else 
{ /* Llib/hash.scm 961 */
FAILURE(BGl_string4078z00zz__hashz00,BGl_list4175z00zz__hashz00,BgL_eqtz00_4598);} }  else 
{ /* Llib/hash.scm 961 */
if(
(BgL_arg1858z00_2297==BgL_keyz00_131))
{ /* Llib/hash.scm 961 */
BgL_test5232z00_12453 = ((bool_t)1)
; }  else 
{ /* Llib/hash.scm 961 */
if(
STRINGP(BgL_arg1858z00_2297))
{ /* Llib/hash.scm 961 */
if(
STRINGP(BgL_keyz00_131))
{ /* Llib/hash.scm 961 */
 long BgL_l1z00_4608;
BgL_l1z00_4608 = 
STRING_LENGTH(BgL_arg1858z00_2297); 
if(
(BgL_l1z00_4608==
STRING_LENGTH(BgL_keyz00_131)))
{ /* Llib/hash.scm 961 */
 int BgL_arg2135z00_4611;
{ /* Llib/hash.scm 961 */
 char * BgL_auxz00_12505; char * BgL_tmpz00_12503;
BgL_auxz00_12505 = 
BSTRING_TO_STRING(BgL_keyz00_131); 
BgL_tmpz00_12503 = 
BSTRING_TO_STRING(BgL_arg1858z00_2297); 
BgL_arg2135z00_4611 = 
memcmp(BgL_tmpz00_12503, BgL_auxz00_12505, BgL_l1z00_4608); } 
BgL_test5232z00_12453 = 
(
(long)(BgL_arg2135z00_4611)==0L); }  else 
{ /* Llib/hash.scm 961 */
BgL_test5232z00_12453 = ((bool_t)0)
; } }  else 
{ /* Llib/hash.scm 961 */
BgL_test5232z00_12453 = ((bool_t)0)
; } }  else 
{ /* Llib/hash.scm 961 */
BgL_test5232z00_12453 = ((bool_t)0)
; } } } } } 
if(BgL_test5232z00_12453)
{ /* Llib/hash.scm 962 */
 obj_t BgL_resz00_2292;
{ /* Llib/hash.scm 962 */
 obj_t BgL_arg1854z00_2294;
{ /* Llib/hash.scm 962 */
 obj_t BgL_pairz00_4617;
if(
PAIRP(BgL_buckz00_2281))
{ /* Llib/hash.scm 962 */
BgL_pairz00_4617 = BgL_buckz00_2281; }  else 
{ 
 obj_t BgL_auxz00_12512;
BgL_auxz00_12512 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(38851L), BGl_string4064z00zz__hashz00, BGl_string4068z00zz__hashz00, BgL_buckz00_2281); 
FAILURE(BgL_auxz00_12512,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 962 */
 obj_t BgL_pairz00_4620;
{ /* Llib/hash.scm 962 */
 obj_t BgL_aux3728z00_6621;
BgL_aux3728z00_6621 = 
CAR(BgL_pairz00_4617); 
if(
PAIRP(BgL_aux3728z00_6621))
{ /* Llib/hash.scm 962 */
BgL_pairz00_4620 = BgL_aux3728z00_6621; }  else 
{ 
 obj_t BgL_auxz00_12519;
BgL_auxz00_12519 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(38845L), BGl_string4064z00zz__hashz00, BGl_string4068z00zz__hashz00, BgL_aux3728z00_6621); 
FAILURE(BgL_auxz00_12519,BFALSE,BFALSE);} } 
BgL_arg1854z00_2294 = 
CDR(BgL_pairz00_4620); } } 
if(
PROCEDURE_CORRECT_ARITYP(BgL_procz00_132, 1))
{ /* Llib/hash.scm 962 */
BgL_resz00_2292 = 
BGL_PROCEDURE_CALL1(BgL_procz00_132, BgL_arg1854z00_2294); }  else 
{ /* Llib/hash.scm 962 */
FAILURE(BGl_string4078z00zz__hashz00,BGl_list4178z00zz__hashz00,BgL_procz00_132);} } 
{ /* Llib/hash.scm 963 */
 obj_t BgL_arg1853z00_2293;
{ /* Llib/hash.scm 963 */
 obj_t BgL_pairz00_4621;
if(
PAIRP(BgL_buckz00_2281))
{ /* Llib/hash.scm 963 */
BgL_pairz00_4621 = BgL_buckz00_2281; }  else 
{ 
 obj_t BgL_auxz00_12533;
BgL_auxz00_12533 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(38881L), BGl_string4064z00zz__hashz00, BGl_string4068z00zz__hashz00, BgL_buckz00_2281); 
FAILURE(BgL_auxz00_12533,BFALSE,BFALSE);} 
BgL_arg1853z00_2293 = 
CAR(BgL_pairz00_4621); } 
{ /* Llib/hash.scm 963 */
 obj_t BgL_pairz00_4622;
if(
PAIRP(BgL_arg1853z00_2293))
{ /* Llib/hash.scm 963 */
BgL_pairz00_4622 = BgL_arg1853z00_2293; }  else 
{ 
 obj_t BgL_auxz00_12540;
BgL_auxz00_12540 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(38885L), BGl_string4064z00zz__hashz00, BGl_string4068z00zz__hashz00, BgL_arg1853z00_2293); 
FAILURE(BgL_auxz00_12540,BFALSE,BFALSE);} 
SET_CDR(BgL_pairz00_4622, BgL_resz00_2292); } } 
return BgL_resz00_2292;}  else 
{ /* Llib/hash.scm 966 */
 obj_t BgL_arg1856z00_2295; long BgL_arg1857z00_2296;
{ /* Llib/hash.scm 966 */
 obj_t BgL_pairz00_4623;
if(
PAIRP(BgL_buckz00_2281))
{ /* Llib/hash.scm 966 */
BgL_pairz00_4623 = BgL_buckz00_2281; }  else 
{ 
 obj_t BgL_auxz00_12547;
BgL_auxz00_12547 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(38926L), BGl_string4064z00zz__hashz00, BGl_string4068z00zz__hashz00, BgL_buckz00_2281); 
FAILURE(BgL_auxz00_12547,BFALSE,BFALSE);} 
BgL_arg1856z00_2295 = 
CDR(BgL_pairz00_4623); } 
BgL_arg1857z00_2296 = 
(BgL_countz00_2282+1L); 
{ 
 long BgL_countz00_12554; obj_t BgL_buckz00_12553;
BgL_buckz00_12553 = BgL_arg1856z00_2295; 
BgL_countz00_12554 = BgL_arg1857z00_2296; 
BgL_countz00_2282 = BgL_countz00_12554; 
BgL_buckz00_2281 = BgL_buckz00_12553; 
goto BgL_zc3z04anonymousza31841ze3z87_2283;} } } } } } } } } } } 

}



/* hashtable-add! */
BGL_EXPORTED_DEF obj_t BGl_hashtablezd2addz12zc0zz__hashz00(obj_t BgL_tablez00_134, obj_t BgL_keyz00_135, obj_t BgL_p2z00_136, obj_t BgL_objz00_137, obj_t BgL_initz00_138)
{
{ /* Llib/hash.scm 971 */
if(
BGl_hashtablezd2openzd2stringzf3zf3zz__hashz00(BgL_tablez00_134))
{ /* Llib/hash.scm 974 */
 obj_t BgL_auxz00_12557;
if(
STRINGP(BgL_keyz00_135))
{ /* Llib/hash.scm 974 */
BgL_auxz00_12557 = BgL_keyz00_135
; }  else 
{ 
 obj_t BgL_auxz00_12560;
BgL_auxz00_12560 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(39338L), BGl_string4181z00zz__hashz00, BGl_string4050z00zz__hashz00, BgL_keyz00_135); 
FAILURE(BgL_auxz00_12560,BFALSE,BFALSE);} 
return 
BGl_openzd2stringzd2hashtablezd2addz12zc0zz__hashz00(BgL_tablez00_134, BgL_auxz00_12557, BgL_p2z00_136, BgL_objz00_137, BgL_initz00_138);}  else 
{ /* Llib/hash.scm 973 */
if(
BGl_hashtablezd2weakzf3z21zz__hashz00(BgL_tablez00_134))
{ /* Llib/hash.scm 975 */
BGL_TAIL return 
BGl_weakzd2hashtablezd2addz12z12zz__weakhashz00(BgL_tablez00_134, BgL_keyz00_135, BgL_p2z00_136, BgL_objz00_137, BgL_initz00_138);}  else 
{ /* Llib/hash.scm 975 */
BGL_TAIL return 
BGl_plainzd2hashtablezd2addz12z12zz__hashz00(BgL_tablez00_134, BgL_keyz00_135, BgL_p2z00_136, BgL_objz00_137, BgL_initz00_138);} } } 

}



/* &hashtable-add! */
obj_t BGl_z62hashtablezd2addz12za2zz__hashz00(obj_t BgL_envz00_5584, obj_t BgL_tablez00_5585, obj_t BgL_keyz00_5586, obj_t BgL_p2z00_5587, obj_t BgL_objz00_5588, obj_t BgL_initz00_5589)
{
{ /* Llib/hash.scm 971 */
{ /* Llib/hash.scm 973 */
 obj_t BgL_auxz00_12576; obj_t BgL_auxz00_12569;
if(
PROCEDUREP(BgL_p2z00_5587))
{ /* Llib/hash.scm 973 */
BgL_auxz00_12576 = BgL_p2z00_5587
; }  else 
{ 
 obj_t BgL_auxz00_12579;
BgL_auxz00_12579 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(39265L), BGl_string4182z00zz__hashz00, BGl_string4076z00zz__hashz00, BgL_p2z00_5587); 
FAILURE(BgL_auxz00_12579,BFALSE,BFALSE);} 
if(
STRUCTP(BgL_tablez00_5585))
{ /* Llib/hash.scm 973 */
BgL_auxz00_12569 = BgL_tablez00_5585
; }  else 
{ 
 obj_t BgL_auxz00_12572;
BgL_auxz00_12572 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(39265L), BGl_string4182z00zz__hashz00, BGl_string4057z00zz__hashz00, BgL_tablez00_5585); 
FAILURE(BgL_auxz00_12572,BFALSE,BFALSE);} 
return 
BGl_hashtablezd2addz12zc0zz__hashz00(BgL_auxz00_12569, BgL_keyz00_5586, BgL_auxz00_12576, BgL_objz00_5588, BgL_initz00_5589);} } 

}



/* open-string-hashtable-add! */
BGL_EXPORTED_DEF obj_t BGl_openzd2stringzd2hashtablezd2addz12zc0zz__hashz00(obj_t BgL_tablez00_139, obj_t BgL_keyz00_140, obj_t BgL_procz00_141, obj_t BgL_objz00_142, obj_t BgL_initz00_143)
{
{ /* Llib/hash.scm 983 */
{ /* Llib/hash.scm 984 */
 obj_t BgL_siza7eza7_2302;
{ /* Llib/hash.scm 984 */
 bool_t BgL_test5254z00_12584;
{ /* Llib/hash.scm 984 */
 obj_t BgL_tmpz00_12585;
{ /* Llib/hash.scm 984 */
 obj_t BgL_res2696z00_4630;
{ /* Llib/hash.scm 984 */
 obj_t BgL_aux3743z00_6637;
BgL_aux3743z00_6637 = 
STRUCT_KEY(BgL_tablez00_139); 
if(
SYMBOLP(BgL_aux3743z00_6637))
{ /* Llib/hash.scm 984 */
BgL_res2696z00_4630 = BgL_aux3743z00_6637; }  else 
{ 
 obj_t BgL_auxz00_12589;
BgL_auxz00_12589 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(39834L), BGl_string4183z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3743z00_6637); 
FAILURE(BgL_auxz00_12589,BFALSE,BFALSE);} } 
BgL_tmpz00_12585 = BgL_res2696z00_4630; } 
BgL_test5254z00_12584 = 
(BgL_tmpz00_12585==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test5254z00_12584)
{ /* Llib/hash.scm 984 */
 int BgL_tmpz00_12594;
BgL_tmpz00_12594 = 
(int)(1L); 
BgL_siza7eza7_2302 = 
UNSAFE_STRUCT_REF(BgL_tablez00_139, BgL_tmpz00_12594); }  else 
{ /* Llib/hash.scm 984 */
BgL_siza7eza7_2302 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_139); } } 
{ /* Llib/hash.scm 984 */
 obj_t BgL_bucketsz00_2303;
{ /* Llib/hash.scm 985 */
 bool_t BgL_test5256z00_12598;
{ /* Llib/hash.scm 985 */
 obj_t BgL_tmpz00_12599;
{ /* Llib/hash.scm 985 */
 obj_t BgL_res2697z00_4634;
{ /* Llib/hash.scm 985 */
 obj_t BgL_aux3745z00_6639;
BgL_aux3745z00_6639 = 
STRUCT_KEY(BgL_tablez00_139); 
if(
SYMBOLP(BgL_aux3745z00_6639))
{ /* Llib/hash.scm 985 */
BgL_res2697z00_4634 = BgL_aux3745z00_6639; }  else 
{ 
 obj_t BgL_auxz00_12603;
BgL_auxz00_12603 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(39881L), BGl_string4183z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3745z00_6639); 
FAILURE(BgL_auxz00_12603,BFALSE,BFALSE);} } 
BgL_tmpz00_12599 = BgL_res2697z00_4634; } 
BgL_test5256z00_12598 = 
(BgL_tmpz00_12599==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test5256z00_12598)
{ /* Llib/hash.scm 985 */
 int BgL_tmpz00_12608;
BgL_tmpz00_12608 = 
(int)(2L); 
BgL_bucketsz00_2303 = 
UNSAFE_STRUCT_REF(BgL_tablez00_139, BgL_tmpz00_12608); }  else 
{ /* Llib/hash.scm 985 */
BgL_bucketsz00_2303 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_139); } } 
{ /* Llib/hash.scm 985 */
 long BgL_hashz00_2304;
{ /* Llib/hash.scm 986 */
 long BgL_arg1887z00_2332;
BgL_arg1887z00_2332 = 
STRING_LENGTH(BgL_keyz00_140); 
BgL_hashz00_2304 = 
bgl_string_hash(
BSTRING_TO_STRING(BgL_keyz00_140), 
(int)(0L), 
(int)(BgL_arg1887z00_2332)); } 
{ /* Llib/hash.scm 986 */

{ /* Llib/hash.scm 988 */
 long BgL_g1073z00_2305;
{ /* Llib/hash.scm 988 */
 long BgL_n1z00_4636; long BgL_n2z00_4637;
BgL_n1z00_4636 = BgL_hashz00_2304; 
{ /* Llib/hash.scm 988 */
 obj_t BgL_tmpz00_12617;
if(
INTEGERP(BgL_siza7eza7_2302))
{ /* Llib/hash.scm 988 */
BgL_tmpz00_12617 = BgL_siza7eza7_2302
; }  else 
{ 
 obj_t BgL_auxz00_12620;
BgL_auxz00_12620 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(40023L), BGl_string4183z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_siza7eza7_2302); 
FAILURE(BgL_auxz00_12620,BFALSE,BFALSE);} 
BgL_n2z00_4637 = 
(long)CINT(BgL_tmpz00_12617); } 
{ /* Llib/hash.scm 988 */
 bool_t BgL_test5259z00_12625;
{ /* Llib/hash.scm 988 */
 long BgL_arg2239z00_4639;
BgL_arg2239z00_4639 = 
(((BgL_n1z00_4636) | (BgL_n2z00_4637)) & -2147483648); 
BgL_test5259z00_12625 = 
(BgL_arg2239z00_4639==0L); } 
if(BgL_test5259z00_12625)
{ /* Llib/hash.scm 988 */
 int32_t BgL_arg2235z00_4640;
{ /* Llib/hash.scm 988 */
 int32_t BgL_arg2237z00_4641; int32_t BgL_arg2238z00_4642;
BgL_arg2237z00_4641 = 
(int32_t)(BgL_n1z00_4636); 
BgL_arg2238z00_4642 = 
(int32_t)(BgL_n2z00_4637); 
BgL_arg2235z00_4640 = 
(BgL_arg2237z00_4641%BgL_arg2238z00_4642); } 
{ /* Llib/hash.scm 988 */
 long BgL_arg2353z00_4647;
BgL_arg2353z00_4647 = 
(long)(BgL_arg2235z00_4640); 
BgL_g1073z00_2305 = 
(long)(BgL_arg2353z00_4647); } }  else 
{ /* Llib/hash.scm 988 */
BgL_g1073z00_2305 = 
(BgL_n1z00_4636%BgL_n2z00_4637); } } } 
{ 
 long BgL_offz00_2307; long BgL_iz00_2308;
BgL_offz00_2307 = BgL_g1073z00_2305; 
BgL_iz00_2308 = 1L; 
BgL_zc3z04anonymousza31862ze3z87_2309:
{ /* Llib/hash.scm 990 */
 long BgL_off3z00_2310;
BgL_off3z00_2310 = 
(BgL_offz00_2307*3L); 
{ /* Llib/hash.scm 991 */
 bool_t BgL_test5260z00_12635;
{ /* Llib/hash.scm 991 */
 obj_t BgL_vectorz00_4650;
if(
VECTORP(BgL_bucketsz00_2303))
{ /* Llib/hash.scm 991 */
BgL_vectorz00_4650 = BgL_bucketsz00_2303; }  else 
{ 
 obj_t BgL_auxz00_12638;
BgL_auxz00_12638 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(40089L), BGl_string4064z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_2303); 
FAILURE(BgL_auxz00_12638,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 991 */
 bool_t BgL_test5262z00_12642;
{ /* Llib/hash.scm 991 */
 long BgL_tmpz00_12643;
BgL_tmpz00_12643 = 
VECTOR_LENGTH(BgL_vectorz00_4650); 
BgL_test5262z00_12642 = 
BOUND_CHECK(BgL_off3z00_2310, BgL_tmpz00_12643); } 
if(BgL_test5262z00_12642)
{ /* Llib/hash.scm 991 */
BgL_test5260z00_12635 = 
CBOOL(
VECTOR_REF(BgL_vectorz00_4650,BgL_off3z00_2310))
; }  else 
{ 
 obj_t BgL_auxz00_12648;
BgL_auxz00_12648 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(40077L), BGl_string4012z00zz__hashz00, BgL_vectorz00_4650, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_4650)), 
(int)(BgL_off3z00_2310)); 
FAILURE(BgL_auxz00_12648,BFALSE,BFALSE);} } } 
if(BgL_test5260z00_12635)
{ /* Llib/hash.scm 992 */
 bool_t BgL_test5263z00_12655;
{ /* Llib/hash.scm 992 */
 obj_t BgL_arg1885z00_2329;
{ /* Llib/hash.scm 992 */
 obj_t BgL_vectorz00_4652;
if(
VECTORP(BgL_bucketsz00_2303))
{ /* Llib/hash.scm 992 */
BgL_vectorz00_4652 = BgL_bucketsz00_2303; }  else 
{ 
 obj_t BgL_auxz00_12658;
BgL_auxz00_12658 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(40131L), BGl_string4064z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_2303); 
FAILURE(BgL_auxz00_12658,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 992 */
 bool_t BgL_test5265z00_12662;
{ /* Llib/hash.scm 992 */
 long BgL_tmpz00_12663;
BgL_tmpz00_12663 = 
VECTOR_LENGTH(BgL_vectorz00_4652); 
BgL_test5265z00_12662 = 
BOUND_CHECK(BgL_off3z00_2310, BgL_tmpz00_12663); } 
if(BgL_test5265z00_12662)
{ /* Llib/hash.scm 992 */
BgL_arg1885z00_2329 = 
VECTOR_REF(BgL_vectorz00_4652,BgL_off3z00_2310); }  else 
{ 
 obj_t BgL_auxz00_12667;
BgL_auxz00_12667 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(40119L), BGl_string4012z00zz__hashz00, BgL_vectorz00_4652, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_4652)), 
(int)(BgL_off3z00_2310)); 
FAILURE(BgL_auxz00_12667,BFALSE,BFALSE);} } } 
{ /* Llib/hash.scm 992 */
 obj_t BgL_string1z00_4654;
if(
STRINGP(BgL_arg1885z00_2329))
{ /* Llib/hash.scm 992 */
BgL_string1z00_4654 = BgL_arg1885z00_2329; }  else 
{ 
 obj_t BgL_auxz00_12676;
BgL_auxz00_12676 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(40143L), BGl_string4064z00zz__hashz00, BGl_string4050z00zz__hashz00, BgL_arg1885z00_2329); 
FAILURE(BgL_auxz00_12676,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 992 */
 long BgL_l1z00_4656;
BgL_l1z00_4656 = 
STRING_LENGTH(BgL_string1z00_4654); 
if(
(BgL_l1z00_4656==
STRING_LENGTH(BgL_keyz00_140)))
{ /* Llib/hash.scm 992 */
 int BgL_arg2135z00_4659;
{ /* Llib/hash.scm 992 */
 char * BgL_auxz00_12686; char * BgL_tmpz00_12684;
BgL_auxz00_12686 = 
BSTRING_TO_STRING(BgL_keyz00_140); 
BgL_tmpz00_12684 = 
BSTRING_TO_STRING(BgL_string1z00_4654); 
BgL_arg2135z00_4659 = 
memcmp(BgL_tmpz00_12684, BgL_auxz00_12686, BgL_l1z00_4656); } 
BgL_test5263z00_12655 = 
(
(long)(BgL_arg2135z00_4659)==0L); }  else 
{ /* Llib/hash.scm 992 */
BgL_test5263z00_12655 = ((bool_t)0)
; } } } } 
if(BgL_test5263z00_12655)
{ /* Llib/hash.scm 993 */
 bool_t BgL_test5268z00_12691;
{ /* Llib/hash.scm 993 */
 long BgL_arg1878z00_2322;
BgL_arg1878z00_2322 = 
(BgL_off3z00_2310+2L); 
{ /* Llib/hash.scm 993 */
 obj_t BgL_vectorz00_4666;
if(
VECTORP(BgL_bucketsz00_2303))
{ /* Llib/hash.scm 993 */
BgL_vectorz00_4666 = BgL_bucketsz00_2303; }  else 
{ 
 obj_t BgL_auxz00_12695;
BgL_auxz00_12695 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(40172L), BGl_string4064z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_2303); 
FAILURE(BgL_auxz00_12695,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 993 */
 bool_t BgL_test5270z00_12699;
{ /* Llib/hash.scm 993 */
 long BgL_tmpz00_12700;
BgL_tmpz00_12700 = 
VECTOR_LENGTH(BgL_vectorz00_4666); 
BgL_test5270z00_12699 = 
BOUND_CHECK(BgL_arg1878z00_2322, BgL_tmpz00_12700); } 
if(BgL_test5270z00_12699)
{ /* Llib/hash.scm 993 */
BgL_test5268z00_12691 = 
CBOOL(
VECTOR_REF(BgL_vectorz00_4666,BgL_arg1878z00_2322))
; }  else 
{ 
 obj_t BgL_auxz00_12705;
BgL_auxz00_12705 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(40160L), BGl_string4012z00zz__hashz00, BgL_vectorz00_4666, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_4666)), 
(int)(BgL_arg1878z00_2322)); 
FAILURE(BgL_auxz00_12705,BFALSE,BFALSE);} } } } 
if(BgL_test5268z00_12691)
{ /* Llib/hash.scm 994 */
 obj_t BgL_ovalz00_2316;
{ /* Llib/hash.scm 994 */
 long BgL_arg1870z00_2319;
BgL_arg1870z00_2319 = 
(BgL_off3z00_2310+1L); 
{ /* Llib/hash.scm 994 */
 obj_t BgL_vectorz00_4669;
if(
VECTORP(BgL_bucketsz00_2303))
{ /* Llib/hash.scm 994 */
BgL_vectorz00_4669 = BgL_bucketsz00_2303; }  else 
{ 
 obj_t BgL_auxz00_12715;
BgL_auxz00_12715 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(40221L), BGl_string4064z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_2303); 
FAILURE(BgL_auxz00_12715,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 994 */
 bool_t BgL_test5272z00_12719;
{ /* Llib/hash.scm 994 */
 long BgL_tmpz00_12720;
BgL_tmpz00_12720 = 
VECTOR_LENGTH(BgL_vectorz00_4669); 
BgL_test5272z00_12719 = 
BOUND_CHECK(BgL_arg1870z00_2319, BgL_tmpz00_12720); } 
if(BgL_test5272z00_12719)
{ /* Llib/hash.scm 994 */
BgL_ovalz00_2316 = 
VECTOR_REF(BgL_vectorz00_4669,BgL_arg1870z00_2319); }  else 
{ 
 obj_t BgL_auxz00_12724;
BgL_auxz00_12724 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(40209L), BGl_string4012z00zz__hashz00, BgL_vectorz00_4669, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_4669)), 
(int)(BgL_arg1870z00_2319)); 
FAILURE(BgL_auxz00_12724,BFALSE,BFALSE);} } } } 
{ /* Llib/hash.scm 995 */
 long BgL_arg1868z00_2317; obj_t BgL_arg1869z00_2318;
BgL_arg1868z00_2317 = 
(BgL_off3z00_2310+1L); 
if(
PROCEDURE_CORRECT_ARITYP(BgL_procz00_141, 2))
{ /* Llib/hash.scm 996 */
BgL_arg1869z00_2318 = 
BGL_PROCEDURE_CALL2(BgL_procz00_141, BgL_ovalz00_2316, BgL_initz00_143); }  else 
{ /* Llib/hash.scm 996 */
FAILURE(BGl_string4078z00zz__hashz00,BGl_list4184z00zz__hashz00,BgL_procz00_141);} 
{ /* Llib/hash.scm 995 */
 obj_t BgL_vectorz00_4672;
if(
VECTORP(BgL_bucketsz00_2303))
{ /* Llib/hash.scm 995 */
BgL_vectorz00_4672 = BgL_bucketsz00_2303; }  else 
{ 
 obj_t BgL_auxz00_12742;
BgL_auxz00_12742 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(40264L), BGl_string4064z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_2303); 
FAILURE(BgL_auxz00_12742,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 995 */
 bool_t BgL_test5275z00_12746;
{ /* Llib/hash.scm 995 */
 long BgL_tmpz00_12747;
BgL_tmpz00_12747 = 
VECTOR_LENGTH(BgL_vectorz00_4672); 
BgL_test5275z00_12746 = 
BOUND_CHECK(BgL_arg1868z00_2317, BgL_tmpz00_12747); } 
if(BgL_test5275z00_12746)
{ /* Llib/hash.scm 995 */
return 
VECTOR_SET(BgL_vectorz00_4672,BgL_arg1868z00_2317,BgL_arg1869z00_2318);}  else 
{ 
 obj_t BgL_auxz00_12751;
BgL_auxz00_12751 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(40251L), BGl_string4065z00zz__hashz00, BgL_vectorz00_4672, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_4672)), 
(int)(BgL_arg1868z00_2317)); 
FAILURE(BgL_auxz00_12751,BFALSE,BFALSE);} } } } }  else 
{ /* Llib/hash.scm 997 */
 long BgL_arg1873z00_2320; obj_t BgL_arg1876z00_2321;
BgL_arg1873z00_2320 = 
(BgL_off3z00_2310+1L); 
if(
PROCEDURE_CORRECT_ARITYP(BgL_procz00_141, 2))
{ /* Llib/hash.scm 998 */
BgL_arg1876z00_2321 = 
BGL_PROCEDURE_CALL2(BgL_procz00_141, BgL_objz00_142, BgL_initz00_143); }  else 
{ /* Llib/hash.scm 998 */
FAILURE(BGl_string4078z00zz__hashz00,BGl_list4187z00zz__hashz00,BgL_procz00_141);} 
{ /* Llib/hash.scm 997 */
 obj_t BgL_vectorz00_4675;
if(
VECTORP(BgL_bucketsz00_2303))
{ /* Llib/hash.scm 997 */
BgL_vectorz00_4675 = BgL_bucketsz00_2303; }  else 
{ 
 obj_t BgL_auxz00_12769;
BgL_auxz00_12769 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(40329L), BGl_string4064z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_2303); 
FAILURE(BgL_auxz00_12769,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 997 */
 bool_t BgL_test5278z00_12773;
{ /* Llib/hash.scm 997 */
 long BgL_tmpz00_12774;
BgL_tmpz00_12774 = 
VECTOR_LENGTH(BgL_vectorz00_4675); 
BgL_test5278z00_12773 = 
BOUND_CHECK(BgL_arg1873z00_2320, BgL_tmpz00_12774); } 
if(BgL_test5278z00_12773)
{ /* Llib/hash.scm 997 */
return 
VECTOR_SET(BgL_vectorz00_4675,BgL_arg1873z00_2320,BgL_arg1876z00_2321);}  else 
{ 
 obj_t BgL_auxz00_12778;
BgL_auxz00_12778 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(40316L), BGl_string4065z00zz__hashz00, BgL_vectorz00_4675, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_4675)), 
(int)(BgL_arg1873z00_2320)); 
FAILURE(BgL_auxz00_12778,BFALSE,BFALSE);} } } } }  else 
{ /* Llib/hash.scm 999 */
 long BgL_noffz00_2323;
BgL_noffz00_2323 = 
(BgL_offz00_2307+
(BgL_iz00_2308*BgL_iz00_2308)); 
{ /* Llib/hash.scm 1000 */
 bool_t BgL_test5279z00_12787;
{ /* Llib/hash.scm 1000 */
 long BgL_n2z00_4682;
{ /* Llib/hash.scm 1000 */
 obj_t BgL_tmpz00_12788;
if(
INTEGERP(BgL_siza7eza7_2302))
{ /* Llib/hash.scm 1000 */
BgL_tmpz00_12788 = BgL_siza7eza7_2302
; }  else 
{ 
 obj_t BgL_auxz00_12791;
BgL_auxz00_12791 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(40438L), BGl_string4064z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_siza7eza7_2302); 
FAILURE(BgL_auxz00_12791,BFALSE,BFALSE);} 
BgL_n2z00_4682 = 
(long)CINT(BgL_tmpz00_12788); } 
BgL_test5279z00_12787 = 
(BgL_noffz00_2323>=BgL_n2z00_4682); } 
if(BgL_test5279z00_12787)
{ /* Llib/hash.scm 1001 */
 long BgL_arg1881z00_2325; long BgL_arg1882z00_2326;
{ /* Llib/hash.scm 1001 */
 long BgL_n1z00_4683; long BgL_n2z00_4684;
BgL_n1z00_4683 = BgL_noffz00_2323; 
{ /* Llib/hash.scm 1001 */
 obj_t BgL_tmpz00_12797;
if(
INTEGERP(BgL_siza7eza7_2302))
{ /* Llib/hash.scm 1001 */
BgL_tmpz00_12797 = BgL_siza7eza7_2302
; }  else 
{ 
 obj_t BgL_auxz00_12800;
BgL_auxz00_12800 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(40474L), BGl_string4064z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_siza7eza7_2302); 
FAILURE(BgL_auxz00_12800,BFALSE,BFALSE);} 
BgL_n2z00_4684 = 
(long)CINT(BgL_tmpz00_12797); } 
{ /* Llib/hash.scm 1001 */
 bool_t BgL_test5282z00_12805;
{ /* Llib/hash.scm 1001 */
 long BgL_arg2239z00_4686;
BgL_arg2239z00_4686 = 
(((BgL_n1z00_4683) | (BgL_n2z00_4684)) & -2147483648); 
BgL_test5282z00_12805 = 
(BgL_arg2239z00_4686==0L); } 
if(BgL_test5282z00_12805)
{ /* Llib/hash.scm 1001 */
 int32_t BgL_arg2235z00_4687;
{ /* Llib/hash.scm 1001 */
 int32_t BgL_arg2237z00_4688; int32_t BgL_arg2238z00_4689;
BgL_arg2237z00_4688 = 
(int32_t)(BgL_n1z00_4683); 
BgL_arg2238z00_4689 = 
(int32_t)(BgL_n2z00_4684); 
BgL_arg2235z00_4687 = 
(BgL_arg2237z00_4688%BgL_arg2238z00_4689); } 
{ /* Llib/hash.scm 1001 */
 long BgL_arg2353z00_4694;
BgL_arg2353z00_4694 = 
(long)(BgL_arg2235z00_4687); 
BgL_arg1881z00_2325 = 
(long)(BgL_arg2353z00_4694); } }  else 
{ /* Llib/hash.scm 1001 */
BgL_arg1881z00_2325 = 
(BgL_n1z00_4683%BgL_n2z00_4684); } } } 
BgL_arg1882z00_2326 = 
(BgL_iz00_2308+1L); 
{ 
 long BgL_iz00_12816; long BgL_offz00_12815;
BgL_offz00_12815 = BgL_arg1881z00_2325; 
BgL_iz00_12816 = BgL_arg1882z00_2326; 
BgL_iz00_2308 = BgL_iz00_12816; 
BgL_offz00_2307 = BgL_offz00_12815; 
goto BgL_zc3z04anonymousza31862ze3z87_2309;} }  else 
{ 
 long BgL_iz00_12818; long BgL_offz00_12817;
BgL_offz00_12817 = BgL_noffz00_2323; 
BgL_iz00_12818 = 
(BgL_iz00_2308+1L); 
BgL_iz00_2308 = BgL_iz00_12818; 
BgL_offz00_2307 = BgL_offz00_12817; 
goto BgL_zc3z04anonymousza31862ze3z87_2309;} } } }  else 
{ /* Llib/hash.scm 1004 */
 obj_t BgL_arg1886z00_2330;
if(
PROCEDURE_CORRECT_ARITYP(BgL_procz00_141, 2))
{ /* Llib/hash.scm 1004 */
BgL_arg1886z00_2330 = 
BGL_PROCEDURE_CALL2(BgL_procz00_141, BgL_objz00_142, BgL_initz00_143); }  else 
{ /* Llib/hash.scm 1004 */
FAILURE(BGl_string4078z00zz__hashz00,BGl_list4187z00zz__hashz00,BgL_procz00_141);} 
return 
BGl_openzd2stringzd2hashtablezd2putzf2hashz12z32zz__hashz00(BgL_tablez00_139, BgL_keyz00_140, BgL_arg1886z00_2330, 
BINT(BgL_hashz00_2304));} } } } } } } } } } 

}



/* &open-string-hashtable-add! */
obj_t BGl_z62openzd2stringzd2hashtablezd2addz12za2zz__hashz00(obj_t BgL_envz00_5590, obj_t BgL_tablez00_5591, obj_t BgL_keyz00_5592, obj_t BgL_procz00_5593, obj_t BgL_objz00_5594, obj_t BgL_initz00_5595)
{
{ /* Llib/hash.scm 983 */
{ /* Llib/hash.scm 984 */
 obj_t BgL_auxz00_12844; obj_t BgL_auxz00_12837; obj_t BgL_auxz00_12830;
if(
PROCEDUREP(BgL_procz00_5593))
{ /* Llib/hash.scm 984 */
BgL_auxz00_12844 = BgL_procz00_5593
; }  else 
{ 
 obj_t BgL_auxz00_12847;
BgL_auxz00_12847 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(39821L), BGl_string4190z00zz__hashz00, BGl_string4076z00zz__hashz00, BgL_procz00_5593); 
FAILURE(BgL_auxz00_12847,BFALSE,BFALSE);} 
if(
STRINGP(BgL_keyz00_5592))
{ /* Llib/hash.scm 984 */
BgL_auxz00_12837 = BgL_keyz00_5592
; }  else 
{ 
 obj_t BgL_auxz00_12840;
BgL_auxz00_12840 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(39821L), BGl_string4190z00zz__hashz00, BGl_string4050z00zz__hashz00, BgL_keyz00_5592); 
FAILURE(BgL_auxz00_12840,BFALSE,BFALSE);} 
if(
STRUCTP(BgL_tablez00_5591))
{ /* Llib/hash.scm 984 */
BgL_auxz00_12830 = BgL_tablez00_5591
; }  else 
{ 
 obj_t BgL_auxz00_12833;
BgL_auxz00_12833 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(39821L), BGl_string4190z00zz__hashz00, BGl_string4057z00zz__hashz00, BgL_tablez00_5591); 
FAILURE(BgL_auxz00_12833,BFALSE,BFALSE);} 
return 
BGl_openzd2stringzd2hashtablezd2addz12zc0zz__hashz00(BgL_auxz00_12830, BgL_auxz00_12837, BgL_auxz00_12844, BgL_objz00_5594, BgL_initz00_5595);} } 

}



/* plain-hashtable-add! */
obj_t BGl_plainzd2hashtablezd2addz12z12zz__hashz00(obj_t BgL_tablez00_144, obj_t BgL_keyz00_145, obj_t BgL_procz00_146, obj_t BgL_objz00_147, obj_t BgL_initz00_148)
{
{ /* Llib/hash.scm 1009 */
{ /* Llib/hash.scm 1010 */
 obj_t BgL_bucketsz00_2333;
{ /* Llib/hash.scm 1010 */
 bool_t BgL_test5287z00_12852;
{ /* Llib/hash.scm 1010 */
 obj_t BgL_tmpz00_12853;
{ /* Llib/hash.scm 1010 */
 obj_t BgL_res2698z00_4701;
{ /* Llib/hash.scm 1010 */
 obj_t BgL_aux3773z00_6670;
BgL_aux3773z00_6670 = 
STRUCT_KEY(BgL_tablez00_144); 
if(
SYMBOLP(BgL_aux3773z00_6670))
{ /* Llib/hash.scm 1010 */
BgL_res2698z00_4701 = BgL_aux3773z00_6670; }  else 
{ 
 obj_t BgL_auxz00_12857;
BgL_auxz00_12857 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(40920L), BGl_string4191z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3773z00_6670); 
FAILURE(BgL_auxz00_12857,BFALSE,BFALSE);} } 
BgL_tmpz00_12853 = BgL_res2698z00_4701; } 
BgL_test5287z00_12852 = 
(BgL_tmpz00_12853==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test5287z00_12852)
{ /* Llib/hash.scm 1010 */
 int BgL_tmpz00_12862;
BgL_tmpz00_12862 = 
(int)(2L); 
BgL_bucketsz00_2333 = 
UNSAFE_STRUCT_REF(BgL_tablez00_144, BgL_tmpz00_12862); }  else 
{ /* Llib/hash.scm 1010 */
BgL_bucketsz00_2333 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_144); } } 
{ /* Llib/hash.scm 1010 */
 long BgL_bucketzd2lenzd2_2334;
{ /* Llib/hash.scm 1011 */
 obj_t BgL_vectorz00_4702;
if(
VECTORP(BgL_bucketsz00_2333))
{ /* Llib/hash.scm 1011 */
BgL_vectorz00_4702 = BgL_bucketsz00_2333; }  else 
{ 
 obj_t BgL_auxz00_12868;
BgL_auxz00_12868 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(40978L), BGl_string4191z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_2333); 
FAILURE(BgL_auxz00_12868,BFALSE,BFALSE);} 
BgL_bucketzd2lenzd2_2334 = 
VECTOR_LENGTH(BgL_vectorz00_4702); } 
{ /* Llib/hash.scm 1011 */
 long BgL_bucketzd2numzd2_2335;
{ /* Llib/hash.scm 1012 */
 long BgL_arg1911z00_2365;
BgL_arg1911z00_2365 = 
BGl_tablezd2getzd2hashnumberz00zz__hashz00(BgL_tablez00_144, BgL_keyz00_145); 
{ /* Llib/hash.scm 1012 */
 long BgL_n1z00_4703; long BgL_n2z00_4704;
BgL_n1z00_4703 = BgL_arg1911z00_2365; 
BgL_n2z00_4704 = BgL_bucketzd2lenzd2_2334; 
{ /* Llib/hash.scm 1012 */
 bool_t BgL_test5290z00_12874;
{ /* Llib/hash.scm 1012 */
 long BgL_arg2239z00_4706;
BgL_arg2239z00_4706 = 
(((BgL_n1z00_4703) | (BgL_n2z00_4704)) & -2147483648); 
BgL_test5290z00_12874 = 
(BgL_arg2239z00_4706==0L); } 
if(BgL_test5290z00_12874)
{ /* Llib/hash.scm 1012 */
 int32_t BgL_arg2235z00_4707;
{ /* Llib/hash.scm 1012 */
 int32_t BgL_arg2237z00_4708; int32_t BgL_arg2238z00_4709;
BgL_arg2237z00_4708 = 
(int32_t)(BgL_n1z00_4703); 
BgL_arg2238z00_4709 = 
(int32_t)(BgL_n2z00_4704); 
BgL_arg2235z00_4707 = 
(BgL_arg2237z00_4708%BgL_arg2238z00_4709); } 
{ /* Llib/hash.scm 1012 */
 long BgL_arg2353z00_4714;
BgL_arg2353z00_4714 = 
(long)(BgL_arg2235z00_4707); 
BgL_bucketzd2numzd2_2335 = 
(long)(BgL_arg2353z00_4714); } }  else 
{ /* Llib/hash.scm 1012 */
BgL_bucketzd2numzd2_2335 = 
(BgL_n1z00_4703%BgL_n2z00_4704); } } } } 
{ /* Llib/hash.scm 1012 */
 obj_t BgL_bucketz00_2336;
{ /* Llib/hash.scm 1013 */
 obj_t BgL_vectorz00_4716;
if(
VECTORP(BgL_bucketsz00_2333))
{ /* Llib/hash.scm 1013 */
BgL_vectorz00_4716 = BgL_bucketsz00_2333; }  else 
{ 
 obj_t BgL_auxz00_12885;
BgL_auxz00_12885 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(41088L), BGl_string4191z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_2333); 
FAILURE(BgL_auxz00_12885,BFALSE,BFALSE);} 
BgL_bucketz00_2336 = 
VECTOR_REF(BgL_vectorz00_4716,BgL_bucketzd2numzd2_2335); } 
{ /* Llib/hash.scm 1013 */
 obj_t BgL_maxzd2bucketzd2lenz00_2337;
{ /* Llib/hash.scm 1014 */
 bool_t BgL_test5292z00_12890;
{ /* Llib/hash.scm 1014 */
 obj_t BgL_tmpz00_12891;
{ /* Llib/hash.scm 1014 */
 obj_t BgL_res2699z00_4721;
{ /* Llib/hash.scm 1014 */
 obj_t BgL_aux3779z00_6676;
BgL_aux3779z00_6676 = 
STRUCT_KEY(BgL_tablez00_144); 
if(
SYMBOLP(BgL_aux3779z00_6676))
{ /* Llib/hash.scm 1014 */
BgL_res2699z00_4721 = BgL_aux3779z00_6676; }  else 
{ 
 obj_t BgL_auxz00_12895;
BgL_auxz00_12895 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(41128L), BGl_string4191z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3779z00_6676); 
FAILURE(BgL_auxz00_12895,BFALSE,BFALSE);} } 
BgL_tmpz00_12891 = BgL_res2699z00_4721; } 
BgL_test5292z00_12890 = 
(BgL_tmpz00_12891==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test5292z00_12890)
{ /* Llib/hash.scm 1014 */
 int BgL_tmpz00_12900;
BgL_tmpz00_12900 = 
(int)(1L); 
BgL_maxzd2bucketzd2lenz00_2337 = 
UNSAFE_STRUCT_REF(BgL_tablez00_144, BgL_tmpz00_12900); }  else 
{ /* Llib/hash.scm 1014 */
BgL_maxzd2bucketzd2lenz00_2337 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_144); } } 
{ /* Llib/hash.scm 1014 */

if(
NULLP(BgL_bucketz00_2336))
{ /* Llib/hash.scm 1016 */
 obj_t BgL_vz00_2339;
if(
PROCEDURE_CORRECT_ARITYP(BgL_procz00_146, 2))
{ /* Llib/hash.scm 1016 */
BgL_vz00_2339 = 
BGL_PROCEDURE_CALL2(BgL_procz00_146, BgL_objz00_147, BgL_initz00_148); }  else 
{ /* Llib/hash.scm 1016 */
FAILURE(BGl_string4192z00zz__hashz00,BGl_list4187z00zz__hashz00,BgL_procz00_146);} 
{ /* Llib/hash.scm 1017 */
 long BgL_arg1889z00_2340;
{ /* Llib/hash.scm 1017 */
 obj_t BgL_arg1890z00_2341;
{ /* Llib/hash.scm 1017 */
 bool_t BgL_test5296z00_12914;
{ /* Llib/hash.scm 1017 */
 obj_t BgL_tmpz00_12915;
{ /* Llib/hash.scm 1017 */
 obj_t BgL_res2700z00_4725;
{ /* Llib/hash.scm 1017 */
 obj_t BgL_aux3782z00_6680;
BgL_aux3782z00_6680 = 
STRUCT_KEY(BgL_tablez00_144); 
if(
SYMBOLP(BgL_aux3782z00_6680))
{ /* Llib/hash.scm 1017 */
BgL_res2700z00_4725 = BgL_aux3782z00_6680; }  else 
{ 
 obj_t BgL_auxz00_12919;
BgL_auxz00_12919 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(41258L), BGl_string4191z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3782z00_6680); 
FAILURE(BgL_auxz00_12919,BFALSE,BFALSE);} } 
BgL_tmpz00_12915 = BgL_res2700z00_4725; } 
BgL_test5296z00_12914 = 
(BgL_tmpz00_12915==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test5296z00_12914)
{ /* Llib/hash.scm 1017 */
 int BgL_tmpz00_12924;
BgL_tmpz00_12924 = 
(int)(0L); 
BgL_arg1890z00_2341 = 
UNSAFE_STRUCT_REF(BgL_tablez00_144, BgL_tmpz00_12924); }  else 
{ /* Llib/hash.scm 1017 */
BgL_arg1890z00_2341 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_144); } } 
{ /* Llib/hash.scm 1017 */
 long BgL_za71za7_4726;
{ /* Llib/hash.scm 1017 */
 obj_t BgL_tmpz00_12928;
if(
INTEGERP(BgL_arg1890z00_2341))
{ /* Llib/hash.scm 1017 */
BgL_tmpz00_12928 = BgL_arg1890z00_2341
; }  else 
{ 
 obj_t BgL_auxz00_12931;
BgL_auxz00_12931 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(41280L), BGl_string4191z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_arg1890z00_2341); 
FAILURE(BgL_auxz00_12931,BFALSE,BFALSE);} 
BgL_za71za7_4726 = 
(long)CINT(BgL_tmpz00_12928); } 
BgL_arg1889z00_2340 = 
(BgL_za71za7_4726+1L); } } 
{ /* Llib/hash.scm 1017 */
 bool_t BgL_test5299z00_12937;
{ /* Llib/hash.scm 1017 */
 obj_t BgL_tmpz00_12938;
{ /* Llib/hash.scm 1017 */
 obj_t BgL_res2701z00_4730;
{ /* Llib/hash.scm 1017 */
 obj_t BgL_aux3785z00_6683;
BgL_aux3785z00_6683 = 
STRUCT_KEY(BgL_tablez00_144); 
if(
SYMBOLP(BgL_aux3785z00_6683))
{ /* Llib/hash.scm 1017 */
BgL_res2701z00_4730 = BgL_aux3785z00_6683; }  else 
{ 
 obj_t BgL_auxz00_12942;
BgL_auxz00_12942 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(41225L), BGl_string4191z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3785z00_6683); 
FAILURE(BgL_auxz00_12942,BFALSE,BFALSE);} } 
BgL_tmpz00_12938 = BgL_res2701z00_4730; } 
BgL_test5299z00_12937 = 
(BgL_tmpz00_12938==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test5299z00_12937)
{ /* Llib/hash.scm 1017 */
 obj_t BgL_auxz00_12949; int BgL_tmpz00_12947;
BgL_auxz00_12949 = 
BINT(BgL_arg1889z00_2340); 
BgL_tmpz00_12947 = 
(int)(0L); 
UNSAFE_STRUCT_SET(BgL_tablez00_144, BgL_tmpz00_12947, BgL_auxz00_12949); }  else 
{ /* Llib/hash.scm 1017 */
BGl_errorz00zz__errorz00(BGl_string4005z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_144); } } } 
{ /* Llib/hash.scm 1018 */
 obj_t BgL_arg1891z00_2342;
{ /* Llib/hash.scm 1018 */
 obj_t BgL_arg1892z00_2343;
BgL_arg1892z00_2343 = 
MAKE_YOUNG_PAIR(BgL_keyz00_145, BgL_vz00_2339); 
{ /* Llib/hash.scm 1018 */
 obj_t BgL_list1893z00_2344;
BgL_list1893z00_2344 = 
MAKE_YOUNG_PAIR(BgL_arg1892z00_2343, BNIL); 
BgL_arg1891z00_2342 = BgL_list1893z00_2344; } } 
{ /* Llib/hash.scm 1018 */
 obj_t BgL_vectorz00_4732;
if(
VECTORP(BgL_bucketsz00_2333))
{ /* Llib/hash.scm 1018 */
BgL_vectorz00_4732 = BgL_bucketsz00_2333; }  else 
{ 
 obj_t BgL_auxz00_12957;
BgL_auxz00_12957 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(41308L), BGl_string4191z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_2333); 
FAILURE(BgL_auxz00_12957,BFALSE,BFALSE);} 
VECTOR_SET(BgL_vectorz00_4732,BgL_bucketzd2numzd2_2335,BgL_arg1891z00_2342); } } 
return BgL_vz00_2339;}  else 
{ 
 obj_t BgL_buckz00_2346; long BgL_countz00_2347;
BgL_buckz00_2346 = BgL_bucketz00_2336; 
BgL_countz00_2347 = 0L; 
BgL_zc3z04anonymousza31894ze3z87_2348:
if(
NULLP(BgL_buckz00_2346))
{ /* Llib/hash.scm 1024 */
 obj_t BgL_vz00_2350;
if(
PROCEDURE_CORRECT_ARITYP(BgL_procz00_146, 2))
{ /* Llib/hash.scm 1024 */
BgL_vz00_2350 = 
BGL_PROCEDURE_CALL2(BgL_procz00_146, BgL_objz00_147, BgL_initz00_148); }  else 
{ /* Llib/hash.scm 1024 */
FAILURE(BGl_string4078z00zz__hashz00,BGl_list4187z00zz__hashz00,BgL_procz00_146);} 
{ /* Llib/hash.scm 1025 */
 long BgL_arg1896z00_2351;
{ /* Llib/hash.scm 1025 */
 obj_t BgL_arg1897z00_2352;
{ /* Llib/hash.scm 1025 */
 bool_t BgL_test5304z00_12972;
{ /* Llib/hash.scm 1025 */
 obj_t BgL_tmpz00_12973;
{ /* Llib/hash.scm 1025 */
 obj_t BgL_res2703z00_4737;
{ /* Llib/hash.scm 1025 */
 obj_t BgL_aux3790z00_6689;
BgL_aux3790z00_6689 = 
STRUCT_KEY(BgL_tablez00_144); 
if(
SYMBOLP(BgL_aux3790z00_6689))
{ /* Llib/hash.scm 1025 */
BgL_res2703z00_4737 = BgL_aux3790z00_6689; }  else 
{ 
 obj_t BgL_auxz00_12977;
BgL_auxz00_12977 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(41500L), BGl_string4064z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3790z00_6689); 
FAILURE(BgL_auxz00_12977,BFALSE,BFALSE);} } 
BgL_tmpz00_12973 = BgL_res2703z00_4737; } 
BgL_test5304z00_12972 = 
(BgL_tmpz00_12973==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test5304z00_12972)
{ /* Llib/hash.scm 1025 */
 int BgL_tmpz00_12982;
BgL_tmpz00_12982 = 
(int)(0L); 
BgL_arg1897z00_2352 = 
UNSAFE_STRUCT_REF(BgL_tablez00_144, BgL_tmpz00_12982); }  else 
{ /* Llib/hash.scm 1025 */
BgL_arg1897z00_2352 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_144); } } 
{ /* Llib/hash.scm 1025 */
 long BgL_za71za7_4738;
{ /* Llib/hash.scm 1025 */
 obj_t BgL_tmpz00_12986;
if(
INTEGERP(BgL_arg1897z00_2352))
{ /* Llib/hash.scm 1025 */
BgL_tmpz00_12986 = BgL_arg1897z00_2352
; }  else 
{ 
 obj_t BgL_auxz00_12989;
BgL_auxz00_12989 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(41522L), BGl_string4064z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_arg1897z00_2352); 
FAILURE(BgL_auxz00_12989,BFALSE,BFALSE);} 
BgL_za71za7_4738 = 
(long)CINT(BgL_tmpz00_12986); } 
BgL_arg1896z00_2351 = 
(BgL_za71za7_4738+1L); } } 
{ /* Llib/hash.scm 1025 */
 bool_t BgL_test5307z00_12995;
{ /* Llib/hash.scm 1025 */
 obj_t BgL_tmpz00_12996;
{ /* Llib/hash.scm 1025 */
 obj_t BgL_res2704z00_4742;
{ /* Llib/hash.scm 1025 */
 obj_t BgL_aux3793z00_6692;
BgL_aux3793z00_6692 = 
STRUCT_KEY(BgL_tablez00_144); 
if(
SYMBOLP(BgL_aux3793z00_6692))
{ /* Llib/hash.scm 1025 */
BgL_res2704z00_4742 = BgL_aux3793z00_6692; }  else 
{ 
 obj_t BgL_auxz00_13000;
BgL_auxz00_13000 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(41467L), BGl_string4064z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3793z00_6692); 
FAILURE(BgL_auxz00_13000,BFALSE,BFALSE);} } 
BgL_tmpz00_12996 = BgL_res2704z00_4742; } 
BgL_test5307z00_12995 = 
(BgL_tmpz00_12996==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test5307z00_12995)
{ /* Llib/hash.scm 1025 */
 obj_t BgL_auxz00_13007; int BgL_tmpz00_13005;
BgL_auxz00_13007 = 
BINT(BgL_arg1896z00_2351); 
BgL_tmpz00_13005 = 
(int)(0L); 
UNSAFE_STRUCT_SET(BgL_tablez00_144, BgL_tmpz00_13005, BgL_auxz00_13007); }  else 
{ /* Llib/hash.scm 1025 */
BGl_errorz00zz__errorz00(BGl_string4005z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_144); } } } 
{ /* Llib/hash.scm 1026 */
 obj_t BgL_arg1898z00_2353;
{ /* Llib/hash.scm 1026 */
 obj_t BgL_arg1899z00_2354;
BgL_arg1899z00_2354 = 
MAKE_YOUNG_PAIR(BgL_keyz00_145, BgL_vz00_2350); 
BgL_arg1898z00_2353 = 
MAKE_YOUNG_PAIR(BgL_arg1899z00_2354, BgL_bucketz00_2336); } 
{ /* Llib/hash.scm 1026 */
 obj_t BgL_vectorz00_4743;
if(
VECTORP(BgL_bucketsz00_2333))
{ /* Llib/hash.scm 1026 */
BgL_vectorz00_4743 = BgL_bucketsz00_2333; }  else 
{ 
 obj_t BgL_auxz00_13015;
BgL_auxz00_13015 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(41550L), BGl_string4064z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_2333); 
FAILURE(BgL_auxz00_13015,BFALSE,BFALSE);} 
VECTOR_SET(BgL_vectorz00_4743,BgL_bucketzd2numzd2_2335,BgL_arg1898z00_2353); } } 
{ /* Llib/hash.scm 1027 */
 bool_t BgL_test5310z00_13020;
{ /* Llib/hash.scm 1027 */
 long BgL_n2z00_4746;
{ /* Llib/hash.scm 1027 */
 obj_t BgL_tmpz00_13021;
if(
INTEGERP(BgL_maxzd2bucketzd2lenz00_2337))
{ /* Llib/hash.scm 1027 */
BgL_tmpz00_13021 = BgL_maxzd2bucketzd2lenz00_2337
; }  else 
{ 
 obj_t BgL_auxz00_13024;
BgL_auxz00_13024 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(41620L), BGl_string4064z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_maxzd2bucketzd2lenz00_2337); 
FAILURE(BgL_auxz00_13024,BFALSE,BFALSE);} 
BgL_n2z00_4746 = 
(long)CINT(BgL_tmpz00_13021); } 
BgL_test5310z00_13020 = 
(BgL_countz00_2347>BgL_n2z00_4746); } 
if(BgL_test5310z00_13020)
{ /* Llib/hash.scm 1027 */
BGl_plainzd2hashtablezd2expandz12z12zz__hashz00(BgL_tablez00_144); }  else 
{ /* Llib/hash.scm 1027 */BFALSE; } } 
return BgL_vz00_2350;}  else 
{ /* Llib/hash.scm 1030 */
 bool_t BgL_test5312z00_13031;
{ /* Llib/hash.scm 1030 */
 obj_t BgL_arg1908z00_2363;
{ /* Llib/hash.scm 1030 */
 obj_t BgL_pairz00_4747;
if(
PAIRP(BgL_buckz00_2346))
{ /* Llib/hash.scm 1030 */
BgL_pairz00_4747 = BgL_buckz00_2346; }  else 
{ 
 obj_t BgL_auxz00_13034;
BgL_auxz00_13034 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(41721L), BGl_string4064z00zz__hashz00, BGl_string4068z00zz__hashz00, BgL_buckz00_2346); 
FAILURE(BgL_auxz00_13034,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 1030 */
 obj_t BgL_pairz00_4750;
{ /* Llib/hash.scm 1030 */
 obj_t BgL_aux3800z00_6699;
BgL_aux3800z00_6699 = 
CAR(BgL_pairz00_4747); 
if(
PAIRP(BgL_aux3800z00_6699))
{ /* Llib/hash.scm 1030 */
BgL_pairz00_4750 = BgL_aux3800z00_6699; }  else 
{ 
 obj_t BgL_auxz00_13041;
BgL_auxz00_13041 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(41715L), BGl_string4064z00zz__hashz00, BGl_string4068z00zz__hashz00, BgL_aux3800z00_6699); 
FAILURE(BgL_auxz00_13041,BFALSE,BFALSE);} } 
BgL_arg1908z00_2363 = 
CAR(BgL_pairz00_4750); } } 
{ /* Llib/hash.scm 1030 */
 obj_t BgL_eqtz00_4751;
{ /* Llib/hash.scm 1030 */
 bool_t BgL_test5315z00_13046;
{ /* Llib/hash.scm 1030 */
 obj_t BgL_tmpz00_13047;
{ /* Llib/hash.scm 1030 */
 obj_t BgL_res2705z00_4758;
{ /* Llib/hash.scm 1030 */
 obj_t BgL_aux3802z00_6701;
BgL_aux3802z00_6701 = 
STRUCT_KEY(BgL_tablez00_144); 
if(
SYMBOLP(BgL_aux3802z00_6701))
{ /* Llib/hash.scm 1030 */
BgL_res2705z00_4758 = BgL_aux3802z00_6701; }  else 
{ 
 obj_t BgL_auxz00_13051;
BgL_auxz00_13051 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(41691L), BGl_string4064z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3802z00_6701); 
FAILURE(BgL_auxz00_13051,BFALSE,BFALSE);} } 
BgL_tmpz00_13047 = BgL_res2705z00_4758; } 
BgL_test5315z00_13046 = 
(BgL_tmpz00_13047==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test5315z00_13046)
{ /* Llib/hash.scm 1030 */
 int BgL_tmpz00_13056;
BgL_tmpz00_13056 = 
(int)(3L); 
BgL_eqtz00_4751 = 
UNSAFE_STRUCT_REF(BgL_tablez00_144, BgL_tmpz00_13056); }  else 
{ /* Llib/hash.scm 1030 */
BgL_eqtz00_4751 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_144); } } 
if(
PROCEDUREP(BgL_eqtz00_4751))
{ /* Llib/hash.scm 1030 */
if(
PROCEDURE_CORRECT_ARITYP(BgL_eqtz00_4751, 2))
{ /* Llib/hash.scm 1030 */
BgL_test5312z00_13031 = 
CBOOL(
BGL_PROCEDURE_CALL2(BgL_eqtz00_4751, BgL_arg1908z00_2363, BgL_keyz00_145))
; }  else 
{ /* Llib/hash.scm 1030 */
FAILURE(BGl_string4078z00zz__hashz00,BGl_list4193z00zz__hashz00,BgL_eqtz00_4751);} }  else 
{ /* Llib/hash.scm 1030 */
if(
(BgL_arg1908z00_2363==BgL_keyz00_145))
{ /* Llib/hash.scm 1030 */
BgL_test5312z00_13031 = ((bool_t)1)
; }  else 
{ /* Llib/hash.scm 1030 */
if(
STRINGP(BgL_arg1908z00_2363))
{ /* Llib/hash.scm 1030 */
if(
STRINGP(BgL_keyz00_145))
{ /* Llib/hash.scm 1030 */
 long BgL_l1z00_4761;
BgL_l1z00_4761 = 
STRING_LENGTH(BgL_arg1908z00_2363); 
if(
(BgL_l1z00_4761==
STRING_LENGTH(BgL_keyz00_145)))
{ /* Llib/hash.scm 1030 */
 int BgL_arg2135z00_4764;
{ /* Llib/hash.scm 1030 */
 char * BgL_auxz00_13083; char * BgL_tmpz00_13081;
BgL_auxz00_13083 = 
BSTRING_TO_STRING(BgL_keyz00_145); 
BgL_tmpz00_13081 = 
BSTRING_TO_STRING(BgL_arg1908z00_2363); 
BgL_arg2135z00_4764 = 
memcmp(BgL_tmpz00_13081, BgL_auxz00_13083, BgL_l1z00_4761); } 
BgL_test5312z00_13031 = 
(
(long)(BgL_arg2135z00_4764)==0L); }  else 
{ /* Llib/hash.scm 1030 */
BgL_test5312z00_13031 = ((bool_t)0)
; } }  else 
{ /* Llib/hash.scm 1030 */
BgL_test5312z00_13031 = ((bool_t)0)
; } }  else 
{ /* Llib/hash.scm 1030 */
BgL_test5312z00_13031 = ((bool_t)0)
; } } } } } 
if(BgL_test5312z00_13031)
{ /* Llib/hash.scm 1031 */
 obj_t BgL_resz00_2358;
{ /* Llib/hash.scm 1031 */
 obj_t BgL_arg1905z00_2360;
{ /* Llib/hash.scm 1031 */
 obj_t BgL_pairz00_4770;
if(
PAIRP(BgL_buckz00_2346))
{ /* Llib/hash.scm 1031 */
BgL_pairz00_4770 = BgL_buckz00_2346; }  else 
{ 
 obj_t BgL_auxz00_13090;
BgL_auxz00_13090 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(41762L), BGl_string4064z00zz__hashz00, BGl_string4068z00zz__hashz00, BgL_buckz00_2346); 
FAILURE(BgL_auxz00_13090,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 1031 */
 obj_t BgL_pairz00_4773;
{ /* Llib/hash.scm 1031 */
 obj_t BgL_aux3807z00_6707;
BgL_aux3807z00_6707 = 
CAR(BgL_pairz00_4770); 
if(
PAIRP(BgL_aux3807z00_6707))
{ /* Llib/hash.scm 1031 */
BgL_pairz00_4773 = BgL_aux3807z00_6707; }  else 
{ 
 obj_t BgL_auxz00_13097;
BgL_auxz00_13097 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(41756L), BGl_string4064z00zz__hashz00, BGl_string4068z00zz__hashz00, BgL_aux3807z00_6707); 
FAILURE(BgL_auxz00_13097,BFALSE,BFALSE);} } 
BgL_arg1905z00_2360 = 
CDR(BgL_pairz00_4773); } } 
if(
PROCEDURE_CORRECT_ARITYP(BgL_procz00_146, 2))
{ /* Llib/hash.scm 1031 */
BgL_resz00_2358 = 
BGL_PROCEDURE_CALL2(BgL_procz00_146, BgL_objz00_147, BgL_arg1905z00_2360); }  else 
{ /* Llib/hash.scm 1031 */
FAILURE(BGl_string4078z00zz__hashz00,BGl_list4196z00zz__hashz00,BgL_procz00_146);} } 
{ /* Llib/hash.scm 1032 */
 obj_t BgL_arg1903z00_2359;
{ /* Llib/hash.scm 1032 */
 obj_t BgL_pairz00_4774;
if(
PAIRP(BgL_buckz00_2346))
{ /* Llib/hash.scm 1032 */
BgL_pairz00_4774 = BgL_buckz00_2346; }  else 
{ 
 obj_t BgL_auxz00_13112;
BgL_auxz00_13112 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(41792L), BGl_string4064z00zz__hashz00, BGl_string4068z00zz__hashz00, BgL_buckz00_2346); 
FAILURE(BgL_auxz00_13112,BFALSE,BFALSE);} 
BgL_arg1903z00_2359 = 
CAR(BgL_pairz00_4774); } 
{ /* Llib/hash.scm 1032 */
 obj_t BgL_pairz00_4775;
if(
PAIRP(BgL_arg1903z00_2359))
{ /* Llib/hash.scm 1032 */
BgL_pairz00_4775 = BgL_arg1903z00_2359; }  else 
{ 
 obj_t BgL_auxz00_13119;
BgL_auxz00_13119 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(41796L), BGl_string4064z00zz__hashz00, BGl_string4068z00zz__hashz00, BgL_arg1903z00_2359); 
FAILURE(BgL_auxz00_13119,BFALSE,BFALSE);} 
SET_CDR(BgL_pairz00_4775, BgL_resz00_2358); } } 
return BgL_resz00_2358;}  else 
{ /* Llib/hash.scm 1035 */
 obj_t BgL_arg1906z00_2361; long BgL_arg1907z00_2362;
{ /* Llib/hash.scm 1035 */
 obj_t BgL_pairz00_4776;
if(
PAIRP(BgL_buckz00_2346))
{ /* Llib/hash.scm 1035 */
BgL_pairz00_4776 = BgL_buckz00_2346; }  else 
{ 
 obj_t BgL_auxz00_13126;
BgL_auxz00_13126 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(41837L), BGl_string4064z00zz__hashz00, BGl_string4068z00zz__hashz00, BgL_buckz00_2346); 
FAILURE(BgL_auxz00_13126,BFALSE,BFALSE);} 
BgL_arg1906z00_2361 = 
CDR(BgL_pairz00_4776); } 
BgL_arg1907z00_2362 = 
(BgL_countz00_2347+1L); 
{ 
 long BgL_countz00_13133; obj_t BgL_buckz00_13132;
BgL_buckz00_13132 = BgL_arg1906z00_2361; 
BgL_countz00_13133 = BgL_arg1907z00_2362; 
BgL_countz00_2347 = BgL_countz00_13133; 
BgL_buckz00_2346 = BgL_buckz00_13132; 
goto BgL_zc3z04anonymousza31894ze3z87_2348;} } } } } } } } } } } 

}



/* hashtable-remove! */
BGL_EXPORTED_DEF bool_t BGl_hashtablezd2removez12zc0zz__hashz00(obj_t BgL_tablez00_149, obj_t BgL_keyz00_150)
{
{ /* Llib/hash.scm 1040 */
if(
BGl_hashtablezd2openzd2stringzf3zf3zz__hashz00(BgL_tablez00_149))
{ /* Llib/hash.scm 1043 */
 obj_t BgL_tmpz00_13136;
{ /* Llib/hash.scm 1043 */
 obj_t BgL_auxz00_13137;
if(
STRINGP(BgL_keyz00_150))
{ /* Llib/hash.scm 1043 */
BgL_auxz00_13137 = BgL_keyz00_150
; }  else 
{ 
 obj_t BgL_auxz00_13140;
BgL_auxz00_13140 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(42232L), BGl_string4199z00zz__hashz00, BGl_string4050z00zz__hashz00, BgL_keyz00_150); 
FAILURE(BgL_auxz00_13140,BFALSE,BFALSE);} 
BgL_tmpz00_13136 = 
BGl_openzd2stringzd2hashtablezd2removez12zc0zz__hashz00(BgL_tablez00_149, BgL_auxz00_13137); } 
return 
CBOOL(BgL_tmpz00_13136);}  else 
{ /* Llib/hash.scm 1042 */
if(
BGl_hashtablezd2weakzf3z21zz__hashz00(BgL_tablez00_149))
{ /* Llib/hash.scm 1044 */
return 
CBOOL(
BGl_weakzd2hashtablezd2removez12z12zz__weakhashz00(BgL_tablez00_149, BgL_keyz00_150));}  else 
{ /* Llib/hash.scm 1044 */
BGL_TAIL return 
BGl_plainzd2hashtablezd2removez12z12zz__hashz00(BgL_tablez00_149, BgL_keyz00_150);} } } 

}



/* &hashtable-remove! */
obj_t BGl_z62hashtablezd2removez12za2zz__hashz00(obj_t BgL_envz00_5596, obj_t BgL_tablez00_5597, obj_t BgL_keyz00_5598)
{
{ /* Llib/hash.scm 1040 */
{ /* Llib/hash.scm 1042 */
 bool_t BgL_tmpz00_13151;
{ /* Llib/hash.scm 1042 */
 obj_t BgL_auxz00_13152;
if(
STRUCTP(BgL_tablez00_5597))
{ /* Llib/hash.scm 1042 */
BgL_auxz00_13152 = BgL_tablez00_5597
; }  else 
{ 
 obj_t BgL_auxz00_13155;
BgL_auxz00_13155 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(42156L), BGl_string4200z00zz__hashz00, BGl_string4057z00zz__hashz00, BgL_tablez00_5597); 
FAILURE(BgL_auxz00_13155,BFALSE,BFALSE);} 
BgL_tmpz00_13151 = 
BGl_hashtablezd2removez12zc0zz__hashz00(BgL_auxz00_13152, BgL_keyz00_5598); } 
return 
BBOOL(BgL_tmpz00_13151);} } 

}



/* open-string-hashtable-remove! */
BGL_EXPORTED_DEF obj_t BGl_openzd2stringzd2hashtablezd2removez12zc0zz__hashz00(obj_t BgL_tz00_151, obj_t BgL_keyz00_152)
{
{ /* Llib/hash.scm 1052 */
{ /* Llib/hash.scm 1053 */
 obj_t BgL_siza7eza7_2368;
{ /* Llib/hash.scm 1053 */
 bool_t BgL_test5333z00_13161;
{ /* Llib/hash.scm 1053 */
 obj_t BgL_tmpz00_13162;
{ /* Llib/hash.scm 1053 */
 obj_t BgL_res2706z00_4783;
{ /* Llib/hash.scm 1053 */
 obj_t BgL_aux3820z00_6721;
BgL_aux3820z00_6721 = 
STRUCT_KEY(BgL_tz00_151); 
if(
SYMBOLP(BgL_aux3820z00_6721))
{ /* Llib/hash.scm 1053 */
BgL_res2706z00_4783 = BgL_aux3820z00_6721; }  else 
{ 
 obj_t BgL_auxz00_13166;
BgL_auxz00_13166 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(42655L), BGl_string4201z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3820z00_6721); 
FAILURE(BgL_auxz00_13166,BFALSE,BFALSE);} } 
BgL_tmpz00_13162 = BgL_res2706z00_4783; } 
BgL_test5333z00_13161 = 
(BgL_tmpz00_13162==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test5333z00_13161)
{ /* Llib/hash.scm 1053 */
 int BgL_tmpz00_13171;
BgL_tmpz00_13171 = 
(int)(1L); 
BgL_siza7eza7_2368 = 
UNSAFE_STRUCT_REF(BgL_tz00_151, BgL_tmpz00_13171); }  else 
{ /* Llib/hash.scm 1053 */
BgL_siza7eza7_2368 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tz00_151); } } 
{ /* Llib/hash.scm 1053 */
 obj_t BgL_bucketsz00_2369;
{ /* Llib/hash.scm 1054 */
 bool_t BgL_test5335z00_13175;
{ /* Llib/hash.scm 1054 */
 obj_t BgL_tmpz00_13176;
{ /* Llib/hash.scm 1054 */
 obj_t BgL_res2707z00_4787;
{ /* Llib/hash.scm 1054 */
 obj_t BgL_aux3822z00_6723;
BgL_aux3822z00_6723 = 
STRUCT_KEY(BgL_tz00_151); 
if(
SYMBOLP(BgL_aux3822z00_6723))
{ /* Llib/hash.scm 1054 */
BgL_res2707z00_4787 = BgL_aux3822z00_6723; }  else 
{ 
 obj_t BgL_auxz00_13180;
BgL_auxz00_13180 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(42698L), BGl_string4201z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3822z00_6723); 
FAILURE(BgL_auxz00_13180,BFALSE,BFALSE);} } 
BgL_tmpz00_13176 = BgL_res2707z00_4787; } 
BgL_test5335z00_13175 = 
(BgL_tmpz00_13176==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test5335z00_13175)
{ /* Llib/hash.scm 1054 */
 int BgL_tmpz00_13185;
BgL_tmpz00_13185 = 
(int)(2L); 
BgL_bucketsz00_2369 = 
UNSAFE_STRUCT_REF(BgL_tz00_151, BgL_tmpz00_13185); }  else 
{ /* Llib/hash.scm 1054 */
BgL_bucketsz00_2369 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tz00_151); } } 
{ /* Llib/hash.scm 1054 */
 long BgL_hashz00_2370;
{ /* Llib/hash.scm 1055 */
 long BgL_arg1926z00_2390;
BgL_arg1926z00_2390 = 
STRING_LENGTH(BgL_keyz00_152); 
BgL_hashz00_2370 = 
bgl_string_hash(
BSTRING_TO_STRING(BgL_keyz00_152), 
(int)(0L), 
(int)(BgL_arg1926z00_2390)); } 
{ /* Llib/hash.scm 1055 */

{ /* Llib/hash.scm 1057 */
 long BgL_g1074z00_2371;
{ /* Llib/hash.scm 1057 */
 long BgL_n1z00_4789; long BgL_n2z00_4790;
BgL_n1z00_4789 = BgL_hashz00_2370; 
{ /* Llib/hash.scm 1057 */
 obj_t BgL_tmpz00_13194;
if(
INTEGERP(BgL_siza7eza7_2368))
{ /* Llib/hash.scm 1057 */
BgL_tmpz00_13194 = BgL_siza7eza7_2368
; }  else 
{ 
 obj_t BgL_auxz00_13197;
BgL_auxz00_13197 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(42836L), BGl_string4201z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_siza7eza7_2368); 
FAILURE(BgL_auxz00_13197,BFALSE,BFALSE);} 
BgL_n2z00_4790 = 
(long)CINT(BgL_tmpz00_13194); } 
{ /* Llib/hash.scm 1057 */
 bool_t BgL_test5338z00_13202;
{ /* Llib/hash.scm 1057 */
 long BgL_arg2239z00_4792;
BgL_arg2239z00_4792 = 
(((BgL_n1z00_4789) | (BgL_n2z00_4790)) & -2147483648); 
BgL_test5338z00_13202 = 
(BgL_arg2239z00_4792==0L); } 
if(BgL_test5338z00_13202)
{ /* Llib/hash.scm 1057 */
 int32_t BgL_arg2235z00_4793;
{ /* Llib/hash.scm 1057 */
 int32_t BgL_arg2237z00_4794; int32_t BgL_arg2238z00_4795;
BgL_arg2237z00_4794 = 
(int32_t)(BgL_n1z00_4789); 
BgL_arg2238z00_4795 = 
(int32_t)(BgL_n2z00_4790); 
BgL_arg2235z00_4793 = 
(BgL_arg2237z00_4794%BgL_arg2238z00_4795); } 
{ /* Llib/hash.scm 1057 */
 long BgL_arg2353z00_4800;
BgL_arg2353z00_4800 = 
(long)(BgL_arg2235z00_4793); 
BgL_g1074z00_2371 = 
(long)(BgL_arg2353z00_4800); } }  else 
{ /* Llib/hash.scm 1057 */
BgL_g1074z00_2371 = 
(BgL_n1z00_4789%BgL_n2z00_4790); } } } 
{ 
 long BgL_offz00_2373; long BgL_iz00_2374;
BgL_offz00_2373 = BgL_g1074z00_2371; 
BgL_iz00_2374 = 1L; 
BgL_zc3z04anonymousza31914ze3z87_2375:
{ /* Llib/hash.scm 1059 */
 long BgL_off3z00_2376;
BgL_off3z00_2376 = 
(BgL_offz00_2373*3L); 
{ /* Llib/hash.scm 1060 */
 bool_t BgL_test5339z00_13212;
{ /* Llib/hash.scm 1060 */
 obj_t BgL_vectorz00_4803;
if(
VECTORP(BgL_bucketsz00_2369))
{ /* Llib/hash.scm 1060 */
BgL_vectorz00_4803 = BgL_bucketsz00_2369; }  else 
{ 
 obj_t BgL_auxz00_13215;
BgL_auxz00_13215 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(42904L), BGl_string4064z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_2369); 
FAILURE(BgL_auxz00_13215,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 1060 */
 bool_t BgL_test5341z00_13219;
{ /* Llib/hash.scm 1060 */
 long BgL_tmpz00_13220;
BgL_tmpz00_13220 = 
VECTOR_LENGTH(BgL_vectorz00_4803); 
BgL_test5341z00_13219 = 
BOUND_CHECK(BgL_off3z00_2376, BgL_tmpz00_13220); } 
if(BgL_test5341z00_13219)
{ /* Llib/hash.scm 1060 */
BgL_test5339z00_13212 = 
CBOOL(
VECTOR_REF(BgL_vectorz00_4803,BgL_off3z00_2376))
; }  else 
{ 
 obj_t BgL_auxz00_13225;
BgL_auxz00_13225 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(42892L), BGl_string4012z00zz__hashz00, BgL_vectorz00_4803, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_4803)), 
(int)(BgL_off3z00_2376)); 
FAILURE(BgL_auxz00_13225,BFALSE,BFALSE);} } } 
if(BgL_test5339z00_13212)
{ /* Llib/hash.scm 1061 */
 bool_t BgL_test5342z00_13232;
{ /* Llib/hash.scm 1061 */
 obj_t BgL_arg1925z00_2388;
{ /* Llib/hash.scm 1061 */
 obj_t BgL_vectorz00_4805;
if(
VECTORP(BgL_bucketsz00_2369))
{ /* Llib/hash.scm 1061 */
BgL_vectorz00_4805 = BgL_bucketsz00_2369; }  else 
{ 
 obj_t BgL_auxz00_13235;
BgL_auxz00_13235 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(42952L), BGl_string4064z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_2369); 
FAILURE(BgL_auxz00_13235,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 1061 */
 bool_t BgL_test5344z00_13239;
{ /* Llib/hash.scm 1061 */
 long BgL_tmpz00_13240;
BgL_tmpz00_13240 = 
VECTOR_LENGTH(BgL_vectorz00_4805); 
BgL_test5344z00_13239 = 
BOUND_CHECK(BgL_off3z00_2376, BgL_tmpz00_13240); } 
if(BgL_test5344z00_13239)
{ /* Llib/hash.scm 1061 */
BgL_arg1925z00_2388 = 
VECTOR_REF(BgL_vectorz00_4805,BgL_off3z00_2376); }  else 
{ 
 obj_t BgL_auxz00_13244;
BgL_auxz00_13244 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(42940L), BGl_string4012z00zz__hashz00, BgL_vectorz00_4805, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_4805)), 
(int)(BgL_off3z00_2376)); 
FAILURE(BgL_auxz00_13244,BFALSE,BFALSE);} } } 
{ /* Llib/hash.scm 1061 */
 obj_t BgL_string1z00_4807;
if(
STRINGP(BgL_arg1925z00_2388))
{ /* Llib/hash.scm 1061 */
BgL_string1z00_4807 = BgL_arg1925z00_2388; }  else 
{ 
 obj_t BgL_auxz00_13253;
BgL_auxz00_13253 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(42964L), BGl_string4064z00zz__hashz00, BGl_string4050z00zz__hashz00, BgL_arg1925z00_2388); 
FAILURE(BgL_auxz00_13253,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 1061 */
 long BgL_l1z00_4809;
BgL_l1z00_4809 = 
STRING_LENGTH(BgL_string1z00_4807); 
if(
(BgL_l1z00_4809==
STRING_LENGTH(BgL_keyz00_152)))
{ /* Llib/hash.scm 1061 */
 int BgL_arg2135z00_4812;
{ /* Llib/hash.scm 1061 */
 char * BgL_auxz00_13263; char * BgL_tmpz00_13261;
BgL_auxz00_13263 = 
BSTRING_TO_STRING(BgL_keyz00_152); 
BgL_tmpz00_13261 = 
BSTRING_TO_STRING(BgL_string1z00_4807); 
BgL_arg2135z00_4812 = 
memcmp(BgL_tmpz00_13261, BgL_auxz00_13263, BgL_l1z00_4809); } 
BgL_test5342z00_13232 = 
(
(long)(BgL_arg2135z00_4812)==0L); }  else 
{ /* Llib/hash.scm 1061 */
BgL_test5342z00_13232 = ((bool_t)0)
; } } } } 
if(BgL_test5342z00_13232)
{ /* Llib/hash.scm 1061 */
{ /* Llib/hash.scm 1063 */
 long BgL_arg1918z00_2380;
BgL_arg1918z00_2380 = 
(BgL_off3z00_2376+1L); 
{ /* Llib/hash.scm 1063 */
 obj_t BgL_vectorz00_4819;
if(
VECTORP(BgL_bucketsz00_2369))
{ /* Llib/hash.scm 1063 */
BgL_vectorz00_4819 = BgL_bucketsz00_2369; }  else 
{ 
 obj_t BgL_auxz00_13271;
BgL_auxz00_13271 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(43004L), BGl_string4064z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_2369); 
FAILURE(BgL_auxz00_13271,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 1063 */
 bool_t BgL_test5348z00_13275;
{ /* Llib/hash.scm 1063 */
 long BgL_tmpz00_13276;
BgL_tmpz00_13276 = 
VECTOR_LENGTH(BgL_vectorz00_4819); 
BgL_test5348z00_13275 = 
BOUND_CHECK(BgL_arg1918z00_2380, BgL_tmpz00_13276); } 
if(BgL_test5348z00_13275)
{ /* Llib/hash.scm 1063 */
VECTOR_SET(BgL_vectorz00_4819,BgL_arg1918z00_2380,BFALSE); }  else 
{ 
 obj_t BgL_auxz00_13280;
BgL_auxz00_13280 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(42991L), BGl_string4065z00zz__hashz00, BgL_vectorz00_4819, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_4819)), 
(int)(BgL_arg1918z00_2380)); 
FAILURE(BgL_auxz00_13280,BFALSE,BFALSE);} } } } 
{ /* Llib/hash.scm 1064 */
 long BgL_arg1919z00_2381;
BgL_arg1919z00_2381 = 
(BgL_off3z00_2376+2L); 
{ /* Llib/hash.scm 1064 */
 obj_t BgL_vectorz00_4822;
if(
VECTORP(BgL_bucketsz00_2369))
{ /* Llib/hash.scm 1064 */
BgL_vectorz00_4822 = BgL_bucketsz00_2369; }  else 
{ 
 obj_t BgL_auxz00_13290;
BgL_auxz00_13290 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(43050L), BGl_string4064z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_2369); 
FAILURE(BgL_auxz00_13290,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 1064 */
 bool_t BgL_test5350z00_13294;
{ /* Llib/hash.scm 1064 */
 long BgL_tmpz00_13295;
BgL_tmpz00_13295 = 
VECTOR_LENGTH(BgL_vectorz00_4822); 
BgL_test5350z00_13294 = 
BOUND_CHECK(BgL_arg1919z00_2381, BgL_tmpz00_13295); } 
if(BgL_test5350z00_13294)
{ /* Llib/hash.scm 1064 */
VECTOR_SET(BgL_vectorz00_4822,BgL_arg1919z00_2381,BFALSE); }  else 
{ 
 obj_t BgL_auxz00_13299;
BgL_auxz00_13299 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(43037L), BGl_string4065z00zz__hashz00, BgL_vectorz00_4822, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_4822)), 
(int)(BgL_arg1919z00_2381)); 
FAILURE(BgL_auxz00_13299,BFALSE,BFALSE);} } } } 
{ /* Llib/hash.scm 1326 */
 long BgL_arg2070z00_4824;
{ /* Llib/hash.scm 1326 */
 obj_t BgL_arg2071z00_4825;
{ /* Llib/hash.scm 1295 */
 bool_t BgL_test5351z00_13306;
{ /* Llib/hash.scm 1295 */
 obj_t BgL_tmpz00_13307;
{ /* Llib/hash.scm 1295 */
 obj_t BgL_res2708z00_4829;
{ /* Llib/hash.scm 1295 */
 obj_t BgL_aux3835z00_6736;
BgL_aux3835z00_6736 = 
STRUCT_KEY(BgL_tz00_151); 
if(
SYMBOLP(BgL_aux3835z00_6736))
{ /* Llib/hash.scm 1295 */
BgL_res2708z00_4829 = BgL_aux3835z00_6736; }  else 
{ 
 obj_t BgL_auxz00_13311;
BgL_auxz00_13311 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(51608L), BGl_string4064z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3835z00_6736); 
FAILURE(BgL_auxz00_13311,BFALSE,BFALSE);} } 
BgL_tmpz00_13307 = BgL_res2708z00_4829; } 
BgL_test5351z00_13306 = 
(BgL_tmpz00_13307==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test5351z00_13306)
{ /* Llib/hash.scm 1295 */
 int BgL_tmpz00_13316;
BgL_tmpz00_13316 = 
(int)(6L); 
BgL_arg2071z00_4825 = 
UNSAFE_STRUCT_REF(BgL_tz00_151, BgL_tmpz00_13316); }  else 
{ /* Llib/hash.scm 1295 */
BgL_arg2071z00_4825 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tz00_151); } } 
{ /* Llib/hash.scm 1326 */
 long BgL_za71za7_4830;
{ /* Llib/hash.scm 1326 */
 obj_t BgL_tmpz00_13320;
if(
INTEGERP(BgL_arg2071z00_4825))
{ /* Llib/hash.scm 1326 */
BgL_tmpz00_13320 = BgL_arg2071z00_4825
; }  else 
{ 
 obj_t BgL_auxz00_13323;
BgL_auxz00_13323 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(52949L), BGl_string4064z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_arg2071z00_4825); 
FAILURE(BgL_auxz00_13323,BFALSE,BFALSE);} 
BgL_za71za7_4830 = 
(long)CINT(BgL_tmpz00_13320); } 
BgL_arg2070z00_4824 = 
(BgL_za71za7_4830+1L); } } 
{ /* Llib/hash.scm 1296 */
 bool_t BgL_test5354z00_13329;
{ /* Llib/hash.scm 1296 */
 obj_t BgL_tmpz00_13330;
{ /* Llib/hash.scm 1296 */
 obj_t BgL_res2709z00_4834;
{ /* Llib/hash.scm 1296 */
 obj_t BgL_aux3838z00_6739;
BgL_aux3838z00_6739 = 
STRUCT_KEY(BgL_tz00_151); 
if(
SYMBOLP(BgL_aux3838z00_6739))
{ /* Llib/hash.scm 1296 */
BgL_res2709z00_4834 = BgL_aux3838z00_6739; }  else 
{ 
 obj_t BgL_auxz00_13334;
BgL_auxz00_13334 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(51676L), BGl_string4064z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3838z00_6739); 
FAILURE(BgL_auxz00_13334,BFALSE,BFALSE);} } 
BgL_tmpz00_13330 = BgL_res2709z00_4834; } 
BgL_test5354z00_13329 = 
(BgL_tmpz00_13330==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test5354z00_13329)
{ /* Llib/hash.scm 1296 */
 obj_t BgL_auxz00_13341; int BgL_tmpz00_13339;
BgL_auxz00_13341 = 
BINT(BgL_arg2070z00_4824); 
BgL_tmpz00_13339 = 
(int)(6L); 
return 
UNSAFE_STRUCT_SET(BgL_tz00_151, BgL_tmpz00_13339, BgL_auxz00_13341);}  else 
{ /* Llib/hash.scm 1296 */
return 
BGl_errorz00zz__errorz00(BGl_string4005z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tz00_151);} } } }  else 
{ /* Llib/hash.scm 1066 */
 long BgL_noffz00_2382;
BgL_noffz00_2382 = 
(BgL_offz00_2373+
(BgL_iz00_2374*BgL_iz00_2374)); 
{ /* Llib/hash.scm 1067 */
 bool_t BgL_test5356z00_13347;
{ /* Llib/hash.scm 1067 */
 long BgL_n2z00_4840;
{ /* Llib/hash.scm 1067 */
 obj_t BgL_tmpz00_13348;
if(
INTEGERP(BgL_siza7eza7_2368))
{ /* Llib/hash.scm 1067 */
BgL_tmpz00_13348 = BgL_siza7eza7_2368
; }  else 
{ 
 obj_t BgL_auxz00_13351;
BgL_auxz00_13351 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(43188L), BGl_string4064z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_siza7eza7_2368); 
FAILURE(BgL_auxz00_13351,BFALSE,BFALSE);} 
BgL_n2z00_4840 = 
(long)CINT(BgL_tmpz00_13348); } 
BgL_test5356z00_13347 = 
(BgL_noffz00_2382>=BgL_n2z00_4840); } 
if(BgL_test5356z00_13347)
{ /* Llib/hash.scm 1068 */
 long BgL_arg1921z00_2384; long BgL_arg1922z00_2385;
{ /* Llib/hash.scm 1068 */
 long BgL_n1z00_4841; long BgL_n2z00_4842;
BgL_n1z00_4841 = BgL_noffz00_2382; 
{ /* Llib/hash.scm 1068 */
 obj_t BgL_tmpz00_13357;
if(
INTEGERP(BgL_siza7eza7_2368))
{ /* Llib/hash.scm 1068 */
BgL_tmpz00_13357 = BgL_siza7eza7_2368
; }  else 
{ 
 obj_t BgL_auxz00_13360;
BgL_auxz00_13360 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(43223L), BGl_string4064z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_siza7eza7_2368); 
FAILURE(BgL_auxz00_13360,BFALSE,BFALSE);} 
BgL_n2z00_4842 = 
(long)CINT(BgL_tmpz00_13357); } 
{ /* Llib/hash.scm 1068 */
 bool_t BgL_test5359z00_13365;
{ /* Llib/hash.scm 1068 */
 long BgL_arg2239z00_4844;
BgL_arg2239z00_4844 = 
(((BgL_n1z00_4841) | (BgL_n2z00_4842)) & -2147483648); 
BgL_test5359z00_13365 = 
(BgL_arg2239z00_4844==0L); } 
if(BgL_test5359z00_13365)
{ /* Llib/hash.scm 1068 */
 int32_t BgL_arg2235z00_4845;
{ /* Llib/hash.scm 1068 */
 int32_t BgL_arg2237z00_4846; int32_t BgL_arg2238z00_4847;
BgL_arg2237z00_4846 = 
(int32_t)(BgL_n1z00_4841); 
BgL_arg2238z00_4847 = 
(int32_t)(BgL_n2z00_4842); 
BgL_arg2235z00_4845 = 
(BgL_arg2237z00_4846%BgL_arg2238z00_4847); } 
{ /* Llib/hash.scm 1068 */
 long BgL_arg2353z00_4852;
BgL_arg2353z00_4852 = 
(long)(BgL_arg2235z00_4845); 
BgL_arg1921z00_2384 = 
(long)(BgL_arg2353z00_4852); } }  else 
{ /* Llib/hash.scm 1068 */
BgL_arg1921z00_2384 = 
(BgL_n1z00_4841%BgL_n2z00_4842); } } } 
BgL_arg1922z00_2385 = 
(BgL_iz00_2374+1L); 
{ 
 long BgL_iz00_13376; long BgL_offz00_13375;
BgL_offz00_13375 = BgL_arg1921z00_2384; 
BgL_iz00_13376 = BgL_arg1922z00_2385; 
BgL_iz00_2374 = BgL_iz00_13376; 
BgL_offz00_2373 = BgL_offz00_13375; 
goto BgL_zc3z04anonymousza31914ze3z87_2375;} }  else 
{ 
 long BgL_iz00_13378; long BgL_offz00_13377;
BgL_offz00_13377 = BgL_noffz00_2382; 
BgL_iz00_13378 = 
(BgL_iz00_2374+1L); 
BgL_iz00_2374 = BgL_iz00_13378; 
BgL_offz00_2373 = BgL_offz00_13377; 
goto BgL_zc3z04anonymousza31914ze3z87_2375;} } } }  else 
{ /* Llib/hash.scm 1060 */
return BFALSE;} } } } } } } } } } 

}



/* &open-string-hashtable-remove! */
obj_t BGl_z62openzd2stringzd2hashtablezd2removez12za2zz__hashz00(obj_t BgL_envz00_5599, obj_t BgL_tz00_5600, obj_t BgL_keyz00_5601)
{
{ /* Llib/hash.scm 1052 */
{ /* Llib/hash.scm 1053 */
 obj_t BgL_auxz00_13387; obj_t BgL_auxz00_13380;
if(
STRINGP(BgL_keyz00_5601))
{ /* Llib/hash.scm 1053 */
BgL_auxz00_13387 = BgL_keyz00_5601
; }  else 
{ 
 obj_t BgL_auxz00_13390;
BgL_auxz00_13390 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(42642L), BGl_string4202z00zz__hashz00, BGl_string4050z00zz__hashz00, BgL_keyz00_5601); 
FAILURE(BgL_auxz00_13390,BFALSE,BFALSE);} 
if(
STRUCTP(BgL_tz00_5600))
{ /* Llib/hash.scm 1053 */
BgL_auxz00_13380 = BgL_tz00_5600
; }  else 
{ 
 obj_t BgL_auxz00_13383;
BgL_auxz00_13383 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(42642L), BGl_string4202z00zz__hashz00, BGl_string4057z00zz__hashz00, BgL_tz00_5600); 
FAILURE(BgL_auxz00_13383,BFALSE,BFALSE);} 
return 
BGl_openzd2stringzd2hashtablezd2removez12zc0zz__hashz00(BgL_auxz00_13380, BgL_auxz00_13387);} } 

}



/* plain-hashtable-remove! */
bool_t BGl_plainzd2hashtablezd2removez12z12zz__hashz00(obj_t BgL_tablez00_153, obj_t BgL_keyz00_154)
{
{ /* Llib/hash.scm 1074 */
{ /* Llib/hash.scm 1075 */
 obj_t BgL_bucketsz00_2391;
{ /* Llib/hash.scm 1075 */
 bool_t BgL_test5362z00_13395;
{ /* Llib/hash.scm 1075 */
 obj_t BgL_tmpz00_13396;
{ /* Llib/hash.scm 1075 */
 obj_t BgL_res2710z00_4859;
{ /* Llib/hash.scm 1075 */
 obj_t BgL_aux3846z00_6747;
BgL_aux3846z00_6747 = 
STRUCT_KEY(BgL_tablez00_153); 
if(
SYMBOLP(BgL_aux3846z00_6747))
{ /* Llib/hash.scm 1075 */
BgL_res2710z00_4859 = BgL_aux3846z00_6747; }  else 
{ 
 obj_t BgL_auxz00_13400;
BgL_auxz00_13400 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(43574L), BGl_string4203z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3846z00_6747); 
FAILURE(BgL_auxz00_13400,BFALSE,BFALSE);} } 
BgL_tmpz00_13396 = BgL_res2710z00_4859; } 
BgL_test5362z00_13395 = 
(BgL_tmpz00_13396==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test5362z00_13395)
{ /* Llib/hash.scm 1075 */
 int BgL_tmpz00_13405;
BgL_tmpz00_13405 = 
(int)(2L); 
BgL_bucketsz00_2391 = 
UNSAFE_STRUCT_REF(BgL_tablez00_153, BgL_tmpz00_13405); }  else 
{ /* Llib/hash.scm 1075 */
BgL_bucketsz00_2391 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_153); } } 
{ /* Llib/hash.scm 1075 */
 long BgL_bucketzd2lenzd2_2392;
{ /* Llib/hash.scm 1076 */
 obj_t BgL_vectorz00_4860;
if(
VECTORP(BgL_bucketsz00_2391))
{ /* Llib/hash.scm 1076 */
BgL_vectorz00_4860 = BgL_bucketsz00_2391; }  else 
{ 
 obj_t BgL_auxz00_13411;
BgL_auxz00_13411 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(43632L), BGl_string4203z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_2391); 
FAILURE(BgL_auxz00_13411,BFALSE,BFALSE);} 
BgL_bucketzd2lenzd2_2392 = 
VECTOR_LENGTH(BgL_vectorz00_4860); } 
{ /* Llib/hash.scm 1076 */
 long BgL_bucketzd2numzd2_2393;
{ /* Llib/hash.scm 1077 */
 long BgL_arg1944z00_2416;
BgL_arg1944z00_2416 = 
BGl_tablezd2getzd2hashnumberz00zz__hashz00(BgL_tablez00_153, BgL_keyz00_154); 
{ /* Llib/hash.scm 1077 */
 long BgL_n1z00_4861; long BgL_n2z00_4862;
BgL_n1z00_4861 = BgL_arg1944z00_2416; 
BgL_n2z00_4862 = BgL_bucketzd2lenzd2_2392; 
{ /* Llib/hash.scm 1077 */
 bool_t BgL_test5365z00_13417;
{ /* Llib/hash.scm 1077 */
 long BgL_arg2239z00_4864;
BgL_arg2239z00_4864 = 
(((BgL_n1z00_4861) | (BgL_n2z00_4862)) & -2147483648); 
BgL_test5365z00_13417 = 
(BgL_arg2239z00_4864==0L); } 
if(BgL_test5365z00_13417)
{ /* Llib/hash.scm 1077 */
 int32_t BgL_arg2235z00_4865;
{ /* Llib/hash.scm 1077 */
 int32_t BgL_arg2237z00_4866; int32_t BgL_arg2238z00_4867;
BgL_arg2237z00_4866 = 
(int32_t)(BgL_n1z00_4861); 
BgL_arg2238z00_4867 = 
(int32_t)(BgL_n2z00_4862); 
BgL_arg2235z00_4865 = 
(BgL_arg2237z00_4866%BgL_arg2238z00_4867); } 
{ /* Llib/hash.scm 1077 */
 long BgL_arg2353z00_4872;
BgL_arg2353z00_4872 = 
(long)(BgL_arg2235z00_4865); 
BgL_bucketzd2numzd2_2393 = 
(long)(BgL_arg2353z00_4872); } }  else 
{ /* Llib/hash.scm 1077 */
BgL_bucketzd2numzd2_2393 = 
(BgL_n1z00_4861%BgL_n2z00_4862); } } } } 
{ /* Llib/hash.scm 1077 */
 obj_t BgL_bucketz00_2394;
{ /* Llib/hash.scm 1078 */
 obj_t BgL_vectorz00_4874;
if(
VECTORP(BgL_bucketsz00_2391))
{ /* Llib/hash.scm 1078 */
BgL_vectorz00_4874 = BgL_bucketsz00_2391; }  else 
{ 
 obj_t BgL_auxz00_13428;
BgL_auxz00_13428 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(43742L), BGl_string4203z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_2391); 
FAILURE(BgL_auxz00_13428,BFALSE,BFALSE);} 
BgL_bucketz00_2394 = 
VECTOR_REF(BgL_vectorz00_4874,BgL_bucketzd2numzd2_2393); } 
{ /* Llib/hash.scm 1078 */

if(
NULLP(BgL_bucketz00_2394))
{ /* Llib/hash.scm 1080 */
return ((bool_t)0);}  else 
{ /* Llib/hash.scm 1082 */
 bool_t BgL_test5368z00_13435;
{ /* Llib/hash.scm 1082 */
 obj_t BgL_arg1943z00_2415;
{ /* Llib/hash.scm 1082 */
 obj_t BgL_pairz00_4876;
if(
PAIRP(BgL_bucketz00_2394))
{ /* Llib/hash.scm 1082 */
BgL_pairz00_4876 = BgL_bucketz00_2394; }  else 
{ 
 obj_t BgL_auxz00_13438;
BgL_auxz00_13438 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(43834L), BGl_string4203z00zz__hashz00, BGl_string4068z00zz__hashz00, BgL_bucketz00_2394); 
FAILURE(BgL_auxz00_13438,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 1082 */
 obj_t BgL_pairz00_4879;
{ /* Llib/hash.scm 1082 */
 obj_t BgL_aux3854z00_6755;
BgL_aux3854z00_6755 = 
CAR(BgL_pairz00_4876); 
if(
PAIRP(BgL_aux3854z00_6755))
{ /* Llib/hash.scm 1082 */
BgL_pairz00_4879 = BgL_aux3854z00_6755; }  else 
{ 
 obj_t BgL_auxz00_13445;
BgL_auxz00_13445 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(43828L), BGl_string4203z00zz__hashz00, BGl_string4068z00zz__hashz00, BgL_aux3854z00_6755); 
FAILURE(BgL_auxz00_13445,BFALSE,BFALSE);} } 
BgL_arg1943z00_2415 = 
CAR(BgL_pairz00_4879); } } 
{ /* Llib/hash.scm 1082 */
 obj_t BgL_eqtz00_4880;
{ /* Llib/hash.scm 1082 */
 bool_t BgL_test5371z00_13450;
{ /* Llib/hash.scm 1082 */
 obj_t BgL_tmpz00_13451;
{ /* Llib/hash.scm 1082 */
 obj_t BgL_res2711z00_4887;
{ /* Llib/hash.scm 1082 */
 obj_t BgL_aux3856z00_6757;
BgL_aux3856z00_6757 = 
STRUCT_KEY(BgL_tablez00_153); 
if(
SYMBOLP(BgL_aux3856z00_6757))
{ /* Llib/hash.scm 1082 */
BgL_res2711z00_4887 = BgL_aux3856z00_6757; }  else 
{ 
 obj_t BgL_auxz00_13455;
BgL_auxz00_13455 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(43804L), BGl_string4203z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3856z00_6757); 
FAILURE(BgL_auxz00_13455,BFALSE,BFALSE);} } 
BgL_tmpz00_13451 = BgL_res2711z00_4887; } 
BgL_test5371z00_13450 = 
(BgL_tmpz00_13451==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test5371z00_13450)
{ /* Llib/hash.scm 1082 */
 int BgL_tmpz00_13460;
BgL_tmpz00_13460 = 
(int)(3L); 
BgL_eqtz00_4880 = 
UNSAFE_STRUCT_REF(BgL_tablez00_153, BgL_tmpz00_13460); }  else 
{ /* Llib/hash.scm 1082 */
BgL_eqtz00_4880 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_153); } } 
if(
PROCEDUREP(BgL_eqtz00_4880))
{ /* Llib/hash.scm 1082 */
if(
PROCEDURE_CORRECT_ARITYP(BgL_eqtz00_4880, 2))
{ /* Llib/hash.scm 1082 */
BgL_test5368z00_13435 = 
CBOOL(
BGL_PROCEDURE_CALL2(BgL_eqtz00_4880, BgL_arg1943z00_2415, BgL_keyz00_154))
; }  else 
{ /* Llib/hash.scm 1082 */
FAILURE(BGl_string4204z00zz__hashz00,BGl_list4205z00zz__hashz00,BgL_eqtz00_4880);} }  else 
{ /* Llib/hash.scm 1082 */
if(
(BgL_arg1943z00_2415==BgL_keyz00_154))
{ /* Llib/hash.scm 1082 */
BgL_test5368z00_13435 = ((bool_t)1)
; }  else 
{ /* Llib/hash.scm 1082 */
if(
STRINGP(BgL_arg1943z00_2415))
{ /* Llib/hash.scm 1082 */
if(
STRINGP(BgL_keyz00_154))
{ /* Llib/hash.scm 1082 */
 long BgL_l1z00_4890;
BgL_l1z00_4890 = 
STRING_LENGTH(BgL_arg1943z00_2415); 
if(
(BgL_l1z00_4890==
STRING_LENGTH(BgL_keyz00_154)))
{ /* Llib/hash.scm 1082 */
 int BgL_arg2135z00_4893;
{ /* Llib/hash.scm 1082 */
 char * BgL_auxz00_13487; char * BgL_tmpz00_13485;
BgL_auxz00_13487 = 
BSTRING_TO_STRING(BgL_keyz00_154); 
BgL_tmpz00_13485 = 
BSTRING_TO_STRING(BgL_arg1943z00_2415); 
BgL_arg2135z00_4893 = 
memcmp(BgL_tmpz00_13485, BgL_auxz00_13487, BgL_l1z00_4890); } 
BgL_test5368z00_13435 = 
(
(long)(BgL_arg2135z00_4893)==0L); }  else 
{ /* Llib/hash.scm 1082 */
BgL_test5368z00_13435 = ((bool_t)0)
; } }  else 
{ /* Llib/hash.scm 1082 */
BgL_test5368z00_13435 = ((bool_t)0)
; } }  else 
{ /* Llib/hash.scm 1082 */
BgL_test5368z00_13435 = ((bool_t)0)
; } } } } } 
if(BgL_test5368z00_13435)
{ /* Llib/hash.scm 1082 */
{ /* Llib/hash.scm 1083 */
 obj_t BgL_arg1931z00_2398;
{ /* Llib/hash.scm 1083 */
 obj_t BgL_pairz00_4899;
if(
PAIRP(BgL_bucketz00_2394))
{ /* Llib/hash.scm 1083 */
BgL_pairz00_4899 = BgL_bucketz00_2394; }  else 
{ 
 obj_t BgL_auxz00_13494;
BgL_auxz00_13494 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(43890L), BGl_string4203z00zz__hashz00, BGl_string4068z00zz__hashz00, BgL_bucketz00_2394); 
FAILURE(BgL_auxz00_13494,BFALSE,BFALSE);} 
BgL_arg1931z00_2398 = 
CDR(BgL_pairz00_4899); } 
{ /* Llib/hash.scm 1083 */
 obj_t BgL_vectorz00_4900;
if(
VECTORP(BgL_bucketsz00_2391))
{ /* Llib/hash.scm 1083 */
BgL_vectorz00_4900 = BgL_bucketsz00_2391; }  else 
{ 
 obj_t BgL_auxz00_13501;
BgL_auxz00_13501 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(43866L), BGl_string4203z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_2391); 
FAILURE(BgL_auxz00_13501,BFALSE,BFALSE);} 
VECTOR_SET(BgL_vectorz00_4900,BgL_bucketzd2numzd2_2393,BgL_arg1931z00_2398); } } 
{ /* Llib/hash.scm 1084 */
 long BgL_arg1932z00_2399;
{ /* Llib/hash.scm 1084 */
 obj_t BgL_arg1933z00_2400;
{ /* Llib/hash.scm 1084 */
 bool_t BgL_test5381z00_13506;
{ /* Llib/hash.scm 1084 */
 obj_t BgL_tmpz00_13507;
{ /* Llib/hash.scm 1084 */
 obj_t BgL_res2712z00_4905;
{ /* Llib/hash.scm 1084 */
 obj_t BgL_aux3863z00_6765;
BgL_aux3863z00_6765 = 
STRUCT_KEY(BgL_tablez00_153); 
if(
SYMBOLP(BgL_aux3863z00_6765))
{ /* Llib/hash.scm 1084 */
BgL_res2712z00_4905 = BgL_aux3863z00_6765; }  else 
{ 
 obj_t BgL_auxz00_13511;
BgL_auxz00_13511 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(43935L), BGl_string4203z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3863z00_6765); 
FAILURE(BgL_auxz00_13511,BFALSE,BFALSE);} } 
BgL_tmpz00_13507 = BgL_res2712z00_4905; } 
BgL_test5381z00_13506 = 
(BgL_tmpz00_13507==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test5381z00_13506)
{ /* Llib/hash.scm 1084 */
 int BgL_tmpz00_13516;
BgL_tmpz00_13516 = 
(int)(0L); 
BgL_arg1933z00_2400 = 
UNSAFE_STRUCT_REF(BgL_tablez00_153, BgL_tmpz00_13516); }  else 
{ /* Llib/hash.scm 1084 */
BgL_arg1933z00_2400 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_153); } } 
{ /* Llib/hash.scm 1084 */
 long BgL_za71za7_4906;
{ /* Llib/hash.scm 1084 */
 obj_t BgL_tmpz00_13520;
if(
INTEGERP(BgL_arg1933z00_2400))
{ /* Llib/hash.scm 1084 */
BgL_tmpz00_13520 = BgL_arg1933z00_2400
; }  else 
{ 
 obj_t BgL_auxz00_13523;
BgL_auxz00_13523 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(43957L), BGl_string4203z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_arg1933z00_2400); 
FAILURE(BgL_auxz00_13523,BFALSE,BFALSE);} 
BgL_za71za7_4906 = 
(long)CINT(BgL_tmpz00_13520); } 
BgL_arg1932z00_2399 = 
(BgL_za71za7_4906-1L); } } 
{ /* Llib/hash.scm 1084 */
 bool_t BgL_test5384z00_13529;
{ /* Llib/hash.scm 1084 */
 obj_t BgL_tmpz00_13530;
{ /* Llib/hash.scm 1084 */
 obj_t BgL_res2713z00_4910;
{ /* Llib/hash.scm 1084 */
 obj_t BgL_aux3866z00_6768;
BgL_aux3866z00_6768 = 
STRUCT_KEY(BgL_tablez00_153); 
if(
SYMBOLP(BgL_aux3866z00_6768))
{ /* Llib/hash.scm 1084 */
BgL_res2713z00_4910 = BgL_aux3866z00_6768; }  else 
{ 
 obj_t BgL_auxz00_13534;
BgL_auxz00_13534 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(43902L), BGl_string4203z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3866z00_6768); 
FAILURE(BgL_auxz00_13534,BFALSE,BFALSE);} } 
BgL_tmpz00_13530 = BgL_res2713z00_4910; } 
BgL_test5384z00_13529 = 
(BgL_tmpz00_13530==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test5384z00_13529)
{ /* Llib/hash.scm 1084 */
 obj_t BgL_auxz00_13541; int BgL_tmpz00_13539;
BgL_auxz00_13541 = 
BINT(BgL_arg1932z00_2399); 
BgL_tmpz00_13539 = 
(int)(0L); 
UNSAFE_STRUCT_SET(BgL_tablez00_153, BgL_tmpz00_13539, BgL_auxz00_13541); }  else 
{ /* Llib/hash.scm 1084 */
BGl_errorz00zz__errorz00(BGl_string4005z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_153); } } } 
return ((bool_t)1);}  else 
{ /* Llib/hash.scm 1087 */
 obj_t BgL_g1075z00_2401;
{ /* Llib/hash.scm 1087 */
 obj_t BgL_pairz00_4911;
if(
PAIRP(BgL_bucketz00_2394))
{ /* Llib/hash.scm 1087 */
BgL_pairz00_4911 = BgL_bucketz00_2394; }  else 
{ 
 obj_t BgL_auxz00_13547;
BgL_auxz00_13547 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(44005L), BGl_string4203z00zz__hashz00, BGl_string4068z00zz__hashz00, BgL_bucketz00_2394); 
FAILURE(BgL_auxz00_13547,BFALSE,BFALSE);} 
BgL_g1075z00_2401 = 
CDR(BgL_pairz00_4911); } 
{ 
 obj_t BgL_bucketz00_2403; obj_t BgL_prevz00_2404;
BgL_bucketz00_2403 = BgL_g1075z00_2401; 
BgL_prevz00_2404 = BgL_bucketz00_2394; 
BgL_zc3z04anonymousza31934ze3z87_2405:
if(
PAIRP(BgL_bucketz00_2403))
{ /* Llib/hash.scm 1090 */
 bool_t BgL_test5388z00_13554;
{ /* Llib/hash.scm 1090 */
 obj_t BgL_arg1942z00_2413;
{ /* Llib/hash.scm 1090 */
 obj_t BgL_pairz00_4915;
{ /* Llib/hash.scm 1090 */
 obj_t BgL_aux3870z00_6772;
BgL_aux3870z00_6772 = 
CAR(BgL_bucketz00_2403); 
if(
PAIRP(BgL_aux3870z00_6772))
{ /* Llib/hash.scm 1090 */
BgL_pairz00_4915 = BgL_aux3870z00_6772; }  else 
{ 
 obj_t BgL_auxz00_13558;
BgL_auxz00_13558 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(44092L), BGl_string4064z00zz__hashz00, BGl_string4068z00zz__hashz00, BgL_aux3870z00_6772); 
FAILURE(BgL_auxz00_13558,BFALSE,BFALSE);} } 
BgL_arg1942z00_2413 = 
CAR(BgL_pairz00_4915); } 
{ /* Llib/hash.scm 1090 */
 obj_t BgL_eqtz00_4916;
{ /* Llib/hash.scm 1090 */
 bool_t BgL_test5390z00_13563;
{ /* Llib/hash.scm 1090 */
 obj_t BgL_tmpz00_13564;
{ /* Llib/hash.scm 1090 */
 obj_t BgL_res2714z00_4923;
{ /* Llib/hash.scm 1090 */
 obj_t BgL_aux3872z00_6774;
BgL_aux3872z00_6774 = 
STRUCT_KEY(BgL_tablez00_153); 
if(
SYMBOLP(BgL_aux3872z00_6774))
{ /* Llib/hash.scm 1090 */
BgL_res2714z00_4923 = BgL_aux3872z00_6774; }  else 
{ 
 obj_t BgL_auxz00_13568;
BgL_auxz00_13568 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(44068L), BGl_string4064z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3872z00_6774); 
FAILURE(BgL_auxz00_13568,BFALSE,BFALSE);} } 
BgL_tmpz00_13564 = BgL_res2714z00_4923; } 
BgL_test5390z00_13563 = 
(BgL_tmpz00_13564==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test5390z00_13563)
{ /* Llib/hash.scm 1090 */
 int BgL_tmpz00_13573;
BgL_tmpz00_13573 = 
(int)(3L); 
BgL_eqtz00_4916 = 
UNSAFE_STRUCT_REF(BgL_tablez00_153, BgL_tmpz00_13573); }  else 
{ /* Llib/hash.scm 1090 */
BgL_eqtz00_4916 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_153); } } 
if(
PROCEDUREP(BgL_eqtz00_4916))
{ /* Llib/hash.scm 1090 */
if(
PROCEDURE_CORRECT_ARITYP(BgL_eqtz00_4916, 2))
{ /* Llib/hash.scm 1090 */
BgL_test5388z00_13554 = 
CBOOL(
BGL_PROCEDURE_CALL2(BgL_eqtz00_4916, BgL_arg1942z00_2413, BgL_keyz00_154))
; }  else 
{ /* Llib/hash.scm 1090 */
FAILURE(BGl_string4078z00zz__hashz00,BGl_list4208z00zz__hashz00,BgL_eqtz00_4916);} }  else 
{ /* Llib/hash.scm 1090 */
if(
(BgL_arg1942z00_2413==BgL_keyz00_154))
{ /* Llib/hash.scm 1090 */
BgL_test5388z00_13554 = ((bool_t)1)
; }  else 
{ /* Llib/hash.scm 1090 */
if(
STRINGP(BgL_arg1942z00_2413))
{ /* Llib/hash.scm 1090 */
if(
STRINGP(BgL_keyz00_154))
{ /* Llib/hash.scm 1090 */
 long BgL_l1z00_4926;
BgL_l1z00_4926 = 
STRING_LENGTH(BgL_arg1942z00_2413); 
if(
(BgL_l1z00_4926==
STRING_LENGTH(BgL_keyz00_154)))
{ /* Llib/hash.scm 1090 */
 int BgL_arg2135z00_4929;
{ /* Llib/hash.scm 1090 */
 char * BgL_auxz00_13600; char * BgL_tmpz00_13598;
BgL_auxz00_13600 = 
BSTRING_TO_STRING(BgL_keyz00_154); 
BgL_tmpz00_13598 = 
BSTRING_TO_STRING(BgL_arg1942z00_2413); 
BgL_arg2135z00_4929 = 
memcmp(BgL_tmpz00_13598, BgL_auxz00_13600, BgL_l1z00_4926); } 
BgL_test5388z00_13554 = 
(
(long)(BgL_arg2135z00_4929)==0L); }  else 
{ /* Llib/hash.scm 1090 */
BgL_test5388z00_13554 = ((bool_t)0)
; } }  else 
{ /* Llib/hash.scm 1090 */
BgL_test5388z00_13554 = ((bool_t)0)
; } }  else 
{ /* Llib/hash.scm 1090 */
BgL_test5388z00_13554 = ((bool_t)0)
; } } } } } 
if(BgL_test5388z00_13554)
{ /* Llib/hash.scm 1090 */
{ /* Llib/hash.scm 1092 */
 obj_t BgL_arg1938z00_2409;
BgL_arg1938z00_2409 = 
CDR(BgL_bucketz00_2403); 
{ /* Llib/hash.scm 1092 */
 obj_t BgL_pairz00_4936;
if(
PAIRP(BgL_prevz00_2404))
{ /* Llib/hash.scm 1092 */
BgL_pairz00_4936 = BgL_prevz00_2404; }  else 
{ 
 obj_t BgL_auxz00_13608;
BgL_auxz00_13608 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(44138L), BGl_string4064z00zz__hashz00, BGl_string4068z00zz__hashz00, BgL_prevz00_2404); 
FAILURE(BgL_auxz00_13608,BFALSE,BFALSE);} 
SET_CDR(BgL_pairz00_4936, BgL_arg1938z00_2409); } } 
{ /* Llib/hash.scm 1094 */
 long BgL_arg1939z00_2410;
{ /* Llib/hash.scm 1094 */
 obj_t BgL_arg1940z00_2411;
{ /* Llib/hash.scm 1094 */
 bool_t BgL_test5399z00_13613;
{ /* Llib/hash.scm 1094 */
 obj_t BgL_tmpz00_13614;
{ /* Llib/hash.scm 1094 */
 obj_t BgL_res2715z00_4940;
{ /* Llib/hash.scm 1094 */
 obj_t BgL_aux3877z00_6780;
BgL_aux3877z00_6780 = 
STRUCT_KEY(BgL_tablez00_153); 
if(
SYMBOLP(BgL_aux3877z00_6780))
{ /* Llib/hash.scm 1094 */
BgL_res2715z00_4940 = BgL_aux3877z00_6780; }  else 
{ 
 obj_t BgL_auxz00_13618;
BgL_auxz00_13618 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(44204L), BGl_string4064z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3877z00_6780); 
FAILURE(BgL_auxz00_13618,BFALSE,BFALSE);} } 
BgL_tmpz00_13614 = BgL_res2715z00_4940; } 
BgL_test5399z00_13613 = 
(BgL_tmpz00_13614==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test5399z00_13613)
{ /* Llib/hash.scm 1094 */
 int BgL_tmpz00_13623;
BgL_tmpz00_13623 = 
(int)(0L); 
BgL_arg1940z00_2411 = 
UNSAFE_STRUCT_REF(BgL_tablez00_153, BgL_tmpz00_13623); }  else 
{ /* Llib/hash.scm 1094 */
BgL_arg1940z00_2411 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_153); } } 
{ /* Llib/hash.scm 1094 */
 long BgL_za71za7_4941;
{ /* Llib/hash.scm 1094 */
 obj_t BgL_tmpz00_13627;
if(
INTEGERP(BgL_arg1940z00_2411))
{ /* Llib/hash.scm 1094 */
BgL_tmpz00_13627 = BgL_arg1940z00_2411
; }  else 
{ 
 obj_t BgL_auxz00_13630;
BgL_auxz00_13630 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(44226L), BGl_string4064z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_arg1940z00_2411); 
FAILURE(BgL_auxz00_13630,BFALSE,BFALSE);} 
BgL_za71za7_4941 = 
(long)CINT(BgL_tmpz00_13627); } 
BgL_arg1939z00_2410 = 
(BgL_za71za7_4941-1L); } } 
{ /* Llib/hash.scm 1093 */
 bool_t BgL_test5402z00_13636;
{ /* Llib/hash.scm 1093 */
 obj_t BgL_tmpz00_13637;
{ /* Llib/hash.scm 1093 */
 obj_t BgL_res2716z00_4945;
{ /* Llib/hash.scm 1093 */
 obj_t BgL_aux3880z00_6783;
BgL_aux3880z00_6783 = 
STRUCT_KEY(BgL_tablez00_153); 
if(
SYMBOLP(BgL_aux3880z00_6783))
{ /* Llib/hash.scm 1093 */
BgL_res2716z00_4945 = BgL_aux3880z00_6783; }  else 
{ 
 obj_t BgL_auxz00_13641;
BgL_auxz00_13641 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(44160L), BGl_string4064z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3880z00_6783); 
FAILURE(BgL_auxz00_13641,BFALSE,BFALSE);} } 
BgL_tmpz00_13637 = BgL_res2716z00_4945; } 
BgL_test5402z00_13636 = 
(BgL_tmpz00_13637==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test5402z00_13636)
{ /* Llib/hash.scm 1093 */
 obj_t BgL_auxz00_13648; int BgL_tmpz00_13646;
BgL_auxz00_13648 = 
BINT(BgL_arg1939z00_2410); 
BgL_tmpz00_13646 = 
(int)(0L); 
UNSAFE_STRUCT_SET(BgL_tablez00_153, BgL_tmpz00_13646, BgL_auxz00_13648); }  else 
{ /* Llib/hash.scm 1093 */
BGl_errorz00zz__errorz00(BGl_string4005z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_153); } } } 
return ((bool_t)1);}  else 
{ 
 obj_t BgL_prevz00_13654; obj_t BgL_bucketz00_13652;
BgL_bucketz00_13652 = 
CDR(BgL_bucketz00_2403); 
BgL_prevz00_13654 = BgL_bucketz00_2403; 
BgL_prevz00_2404 = BgL_prevz00_13654; 
BgL_bucketz00_2403 = BgL_bucketz00_13652; 
goto BgL_zc3z04anonymousza31934ze3z87_2405;} }  else 
{ /* Llib/hash.scm 1089 */
return ((bool_t)0);} } } } } } } } } } 

}



/* plain-hashtable-expand! */
obj_t BGl_plainzd2hashtablezd2expandz12z12zz__hashz00(obj_t BgL_tablez00_156)
{
{ /* Llib/hash.scm 1110 */
{ /* Llib/hash.scm 1111 */
 obj_t BgL_oldzd2buckszd2_2418;
{ /* Llib/hash.scm 1111 */
 bool_t BgL_test5404z00_13655;
{ /* Llib/hash.scm 1111 */
 obj_t BgL_tmpz00_13656;
{ /* Llib/hash.scm 1111 */
 obj_t BgL_res2717z00_4950;
{ /* Llib/hash.scm 1111 */
 obj_t BgL_aux3882z00_6785;
BgL_aux3882z00_6785 = 
STRUCT_KEY(BgL_tablez00_156); 
if(
SYMBOLP(BgL_aux3882z00_6785))
{ /* Llib/hash.scm 1111 */
BgL_res2717z00_4950 = BgL_aux3882z00_6785; }  else 
{ 
 obj_t BgL_auxz00_13660;
BgL_auxz00_13660 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(44940L), BGl_string4211z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3882z00_6785); 
FAILURE(BgL_auxz00_13660,BFALSE,BFALSE);} } 
BgL_tmpz00_13656 = BgL_res2717z00_4950; } 
BgL_test5404z00_13655 = 
(BgL_tmpz00_13656==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test5404z00_13655)
{ /* Llib/hash.scm 1111 */
 int BgL_tmpz00_13665;
BgL_tmpz00_13665 = 
(int)(2L); 
BgL_oldzd2buckszd2_2418 = 
UNSAFE_STRUCT_REF(BgL_tablez00_156, BgL_tmpz00_13665); }  else 
{ /* Llib/hash.scm 1111 */
BgL_oldzd2buckszd2_2418 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_156); } } 
{ /* Llib/hash.scm 1111 */
 long BgL_lenz00_2419;
{ /* Llib/hash.scm 1112 */
 obj_t BgL_vectorz00_4951;
if(
VECTORP(BgL_oldzd2buckszd2_2418))
{ /* Llib/hash.scm 1112 */
BgL_vectorz00_4951 = BgL_oldzd2buckszd2_2418; }  else 
{ 
 obj_t BgL_auxz00_13671;
BgL_auxz00_13671 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(44991L), BGl_string4211z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_oldzd2buckszd2_2418); 
FAILURE(BgL_auxz00_13671,BFALSE,BFALSE);} 
BgL_lenz00_2419 = 
VECTOR_LENGTH(BgL_vectorz00_4951); } 
{ /* Llib/hash.scm 1112 */
 long BgL_newzd2lenzd2_2420;
BgL_newzd2lenzd2_2420 = 
(2L*BgL_lenz00_2419); 
{ /* Llib/hash.scm 1113 */
 obj_t BgL_maxzd2lenzd2_2421;
{ /* Llib/hash.scm 1114 */
 bool_t BgL_test5407z00_13677;
{ /* Llib/hash.scm 1114 */
 obj_t BgL_tmpz00_13678;
{ /* Llib/hash.scm 1114 */
 obj_t BgL_res2718z00_4956;
{ /* Llib/hash.scm 1114 */
 obj_t BgL_aux3886z00_6789;
BgL_aux3886z00_6789 = 
STRUCT_KEY(BgL_tablez00_156); 
if(
SYMBOLP(BgL_aux3886z00_6789))
{ /* Llib/hash.scm 1114 */
BgL_res2718z00_4956 = BgL_aux3886z00_6789; }  else 
{ 
 obj_t BgL_auxz00_13682;
BgL_auxz00_13682 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(45040L), BGl_string4211z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3886z00_6789); 
FAILURE(BgL_auxz00_13682,BFALSE,BFALSE);} } 
BgL_tmpz00_13678 = BgL_res2718z00_4956; } 
BgL_test5407z00_13677 = 
(BgL_tmpz00_13678==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test5407z00_13677)
{ /* Llib/hash.scm 1114 */
 int BgL_tmpz00_13687;
BgL_tmpz00_13687 = 
(int)(6L); 
BgL_maxzd2lenzd2_2421 = 
UNSAFE_STRUCT_REF(BgL_tablez00_156, BgL_tmpz00_13687); }  else 
{ /* Llib/hash.scm 1114 */
BgL_maxzd2lenzd2_2421 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_156); } } 
{ /* Llib/hash.scm 1114 */

{ /* Llib/hash.scm 1116 */
 obj_t BgL_nmaxz00_2422;
{ /* Llib/hash.scm 1116 */
 obj_t BgL_a1138z00_2425;
{ /* Llib/hash.scm 1116 */
 bool_t BgL_test5409z00_13691;
{ /* Llib/hash.scm 1116 */
 obj_t BgL_tmpz00_13692;
{ /* Llib/hash.scm 1116 */
 obj_t BgL_res2719z00_4960;
{ /* Llib/hash.scm 1116 */
 obj_t BgL_aux3888z00_6791;
BgL_aux3888z00_6791 = 
STRUCT_KEY(BgL_tablez00_156); 
if(
SYMBOLP(BgL_aux3888z00_6791))
{ /* Llib/hash.scm 1116 */
BgL_res2719z00_4960 = BgL_aux3888z00_6791; }  else 
{ 
 obj_t BgL_auxz00_13696;
BgL_auxz00_13696 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(45129L), BGl_string4211z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3888z00_6791); 
FAILURE(BgL_auxz00_13696,BFALSE,BFALSE);} } 
BgL_tmpz00_13692 = BgL_res2719z00_4960; } 
BgL_test5409z00_13691 = 
(BgL_tmpz00_13692==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test5409z00_13691)
{ /* Llib/hash.scm 1116 */
 int BgL_tmpz00_13701;
BgL_tmpz00_13701 = 
(int)(1L); 
BgL_a1138z00_2425 = 
UNSAFE_STRUCT_REF(BgL_tablez00_156, BgL_tmpz00_13701); }  else 
{ /* Llib/hash.scm 1116 */
BgL_a1138z00_2425 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_156); } } 
{ /* Llib/hash.scm 1117 */
 obj_t BgL_b1139z00_2426;
{ /* Llib/hash.scm 1117 */
 bool_t BgL_test5411z00_13705;
{ /* Llib/hash.scm 1117 */
 obj_t BgL_tmpz00_13706;
{ /* Llib/hash.scm 1117 */
 obj_t BgL_res2720z00_4964;
{ /* Llib/hash.scm 1117 */
 obj_t BgL_aux3890z00_6793;
BgL_aux3890z00_6793 = 
STRUCT_KEY(BgL_tablez00_156); 
if(
SYMBOLP(BgL_aux3890z00_6793))
{ /* Llib/hash.scm 1117 */
BgL_res2720z00_4964 = BgL_aux3890z00_6793; }  else 
{ 
 obj_t BgL_auxz00_13710;
BgL_auxz00_13710 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(45170L), BGl_string4211z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3890z00_6793); 
FAILURE(BgL_auxz00_13710,BFALSE,BFALSE);} } 
BgL_tmpz00_13706 = BgL_res2720z00_4964; } 
BgL_test5411z00_13705 = 
(BgL_tmpz00_13706==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test5411z00_13705)
{ /* Llib/hash.scm 1117 */
 int BgL_tmpz00_13715;
BgL_tmpz00_13715 = 
(int)(7L); 
BgL_b1139z00_2426 = 
UNSAFE_STRUCT_REF(BgL_tablez00_156, BgL_tmpz00_13715); }  else 
{ /* Llib/hash.scm 1117 */
BgL_b1139z00_2426 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_156); } } 
{ /* Llib/hash.scm 1116 */

{ /* Llib/hash.scm 1116 */
 bool_t BgL_test5413z00_13719;
if(
INTEGERP(BgL_a1138z00_2425))
{ /* Llib/hash.scm 1116 */
BgL_test5413z00_13719 = 
INTEGERP(BgL_b1139z00_2426)
; }  else 
{ /* Llib/hash.scm 1116 */
BgL_test5413z00_13719 = ((bool_t)0)
; } 
if(BgL_test5413z00_13719)
{ /* Llib/hash.scm 1116 */
 obj_t BgL_tmpz00_4967;
BgL_tmpz00_4967 = 
BINT(0L); 
if(
BGL_MULFX_OV(BgL_a1138z00_2425, BgL_b1139z00_2426, BgL_tmpz00_4967))
{ /* Llib/hash.scm 1116 */
BgL_nmaxz00_2422 = 
bgl_bignum_mul(
bgl_long_to_bignum(
(long)CINT(BgL_a1138z00_2425)), 
bgl_long_to_bignum(
(long)CINT(BgL_b1139z00_2426))); }  else 
{ /* Llib/hash.scm 1116 */
BgL_nmaxz00_2422 = BgL_tmpz00_4967; } }  else 
{ /* Llib/hash.scm 1116 */
BgL_nmaxz00_2422 = 
BGl_2za2za2zz__r4_numbers_6_5z00(BgL_a1138z00_2425, BgL_b1139z00_2426); } } } } } 
{ /* Llib/hash.scm 1119 */
 obj_t BgL_arg1946z00_2423;
if(
REALP(BgL_nmaxz00_2422))
{ /* Llib/hash.scm 1119 */
BgL_arg1946z00_2423 = 
BINT(
(long)(
REAL_TO_DOUBLE(BgL_nmaxz00_2422))); }  else 
{ /* Llib/hash.scm 1119 */
BgL_arg1946z00_2423 = BgL_nmaxz00_2422; } 
{ /* Llib/hash.scm 1118 */
 bool_t BgL_test5417z00_13737;
{ /* Llib/hash.scm 1118 */
 obj_t BgL_tmpz00_13738;
{ /* Llib/hash.scm 1118 */
 obj_t BgL_res2721z00_4979;
{ /* Llib/hash.scm 1118 */
 obj_t BgL_aux3892z00_6795;
BgL_aux3892z00_6795 = 
STRUCT_KEY(BgL_tablez00_156); 
if(
SYMBOLP(BgL_aux3892z00_6795))
{ /* Llib/hash.scm 1118 */
BgL_res2721z00_4979 = BgL_aux3892z00_6795; }  else 
{ 
 obj_t BgL_auxz00_13742;
BgL_auxz00_13742 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(45211L), BGl_string4211z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3892z00_6795); 
FAILURE(BgL_auxz00_13742,BFALSE,BFALSE);} } 
BgL_tmpz00_13738 = BgL_res2721z00_4979; } 
BgL_test5417z00_13737 = 
(BgL_tmpz00_13738==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test5417z00_13737)
{ /* Llib/hash.scm 1118 */
 int BgL_tmpz00_13747;
BgL_tmpz00_13747 = 
(int)(1L); 
UNSAFE_STRUCT_SET(BgL_tablez00_156, BgL_tmpz00_13747, BgL_arg1946z00_2423); }  else 
{ /* Llib/hash.scm 1118 */
BGl_errorz00zz__errorz00(BGl_string4005z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_156); } } } } 
{ /* Llib/hash.scm 1121 */
 bool_t BgL_test5419z00_13751;
{ /* Llib/hash.scm 1121 */
 bool_t BgL_test5420z00_13752;
{ /* Llib/hash.scm 1121 */
 long BgL_n1z00_4980;
{ /* Llib/hash.scm 1121 */
 obj_t BgL_tmpz00_13753;
if(
INTEGERP(BgL_maxzd2lenzd2_2421))
{ /* Llib/hash.scm 1121 */
BgL_tmpz00_13753 = BgL_maxzd2lenzd2_2421
; }  else 
{ 
 obj_t BgL_auxz00_13756;
BgL_auxz00_13756 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(45356L), BGl_string4211z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_maxzd2lenzd2_2421); 
FAILURE(BgL_auxz00_13756,BFALSE,BFALSE);} 
BgL_n1z00_4980 = 
(long)CINT(BgL_tmpz00_13753); } 
BgL_test5420z00_13752 = 
(BgL_n1z00_4980<0L); } 
if(BgL_test5420z00_13752)
{ /* Llib/hash.scm 1121 */
BgL_test5419z00_13751 = ((bool_t)1)
; }  else 
{ /* Llib/hash.scm 1121 */
 long BgL_n2z00_4982;
{ /* Llib/hash.scm 1121 */
 obj_t BgL_tmpz00_13762;
if(
INTEGERP(BgL_maxzd2lenzd2_2421))
{ /* Llib/hash.scm 1121 */
BgL_tmpz00_13762 = BgL_maxzd2lenzd2_2421
; }  else 
{ 
 obj_t BgL_auxz00_13765;
BgL_auxz00_13765 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(45381L), BGl_string4211z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_maxzd2lenzd2_2421); 
FAILURE(BgL_auxz00_13765,BFALSE,BFALSE);} 
BgL_n2z00_4982 = 
(long)CINT(BgL_tmpz00_13762); } 
BgL_test5419z00_13751 = 
(BgL_newzd2lenzd2_2420<=BgL_n2z00_4982); } } 
if(BgL_test5419z00_13751)
{ /* Llib/hash.scm 1122 */
 obj_t BgL_newzd2buckszd2_2430;
BgL_newzd2buckszd2_2430 = 
make_vector(BgL_newzd2lenzd2_2420, BNIL); 
{ /* Llib/hash.scm 1123 */
 bool_t BgL_test5423z00_13772;
{ /* Llib/hash.scm 1123 */
 obj_t BgL_tmpz00_13773;
{ /* Llib/hash.scm 1123 */
 obj_t BgL_res2722z00_4986;
{ /* Llib/hash.scm 1123 */
 obj_t BgL_aux3896z00_6799;
BgL_aux3896z00_6799 = 
STRUCT_KEY(BgL_tablez00_156); 
if(
SYMBOLP(BgL_aux3896z00_6799))
{ /* Llib/hash.scm 1123 */
BgL_res2722z00_4986 = BgL_aux3896z00_6799; }  else 
{ 
 obj_t BgL_auxz00_13777;
BgL_auxz00_13777 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(45445L), BGl_string4211z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3896z00_6799); 
FAILURE(BgL_auxz00_13777,BFALSE,BFALSE);} } 
BgL_tmpz00_13773 = BgL_res2722z00_4986; } 
BgL_test5423z00_13772 = 
(BgL_tmpz00_13773==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test5423z00_13772)
{ /* Llib/hash.scm 1123 */
 int BgL_tmpz00_13782;
BgL_tmpz00_13782 = 
(int)(2L); 
UNSAFE_STRUCT_SET(BgL_tablez00_156, BgL_tmpz00_13782, BgL_newzd2buckszd2_2430); }  else 
{ /* Llib/hash.scm 1123 */
BGl_errorz00zz__errorz00(BGl_string4005z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_156); } } 
{ 
 long BgL_iz00_2432;
{ /* Llib/hash.scm 1124 */
 bool_t BgL_tmpz00_13786;
BgL_iz00_2432 = 0L; 
BgL_zc3z04anonymousza31951ze3z87_2433:
if(
(BgL_iz00_2432<BgL_lenz00_2419))
{ /* Llib/hash.scm 1125 */
{ /* Llib/hash.scm 1126 */
 obj_t BgL_g1142z00_2435;
{ /* Llib/hash.scm 1132 */
 obj_t BgL_vectorz00_4989;
if(
VECTORP(BgL_oldzd2buckszd2_2418))
{ /* Llib/hash.scm 1132 */
BgL_vectorz00_4989 = BgL_oldzd2buckszd2_2418; }  else 
{ 
 obj_t BgL_auxz00_13791;
BgL_auxz00_13791 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(45785L), BGl_string4064z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_oldzd2buckszd2_2418); 
FAILURE(BgL_auxz00_13791,BFALSE,BFALSE);} 
BgL_g1142z00_2435 = 
VECTOR_REF(BgL_vectorz00_4989,BgL_iz00_2432); } 
{ 
 obj_t BgL_l1140z00_2437;
BgL_l1140z00_2437 = BgL_g1142z00_2435; 
BgL_zc3z04anonymousza31953ze3z87_2438:
if(
PAIRP(BgL_l1140z00_2437))
{ /* Llib/hash.scm 1132 */
{ /* Llib/hash.scm 1127 */
 obj_t BgL_cellz00_2440;
BgL_cellz00_2440 = 
CAR(BgL_l1140z00_2437); 
{ /* Llib/hash.scm 1127 */
 obj_t BgL_keyz00_2441;
{ /* Llib/hash.scm 1127 */
 obj_t BgL_pairz00_4992;
if(
PAIRP(BgL_cellz00_2440))
{ /* Llib/hash.scm 1127 */
BgL_pairz00_4992 = BgL_cellz00_2440; }  else 
{ 
 obj_t BgL_auxz00_13801;
BgL_auxz00_13801 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(45582L), BGl_string4212z00zz__hashz00, BGl_string4068z00zz__hashz00, BgL_cellz00_2440); 
FAILURE(BgL_auxz00_13801,BFALSE,BFALSE);} 
BgL_keyz00_2441 = 
CAR(BgL_pairz00_4992); } 
{ /* Llib/hash.scm 1127 */
 long BgL_nz00_2442;
BgL_nz00_2442 = 
BGl_tablezd2getzd2hashnumberz00zz__hashz00(BgL_tablez00_156, BgL_keyz00_2441); 
{ /* Llib/hash.scm 1128 */
 long BgL_hz00_2443;
{ /* Llib/hash.scm 1129 */
 long BgL_n1z00_4993; long BgL_n2z00_4994;
BgL_n1z00_4993 = BgL_nz00_2442; 
BgL_n2z00_4994 = BgL_newzd2lenzd2_2420; 
{ /* Llib/hash.scm 1129 */
 bool_t BgL_test5429z00_13807;
{ /* Llib/hash.scm 1129 */
 long BgL_arg2239z00_4996;
BgL_arg2239z00_4996 = 
(((BgL_n1z00_4993) | (BgL_n2z00_4994)) & -2147483648); 
BgL_test5429z00_13807 = 
(BgL_arg2239z00_4996==0L); } 
if(BgL_test5429z00_13807)
{ /* Llib/hash.scm 1129 */
 int32_t BgL_arg2235z00_4997;
{ /* Llib/hash.scm 1129 */
 int32_t BgL_arg2237z00_4998; int32_t BgL_arg2238z00_4999;
BgL_arg2237z00_4998 = 
(int32_t)(BgL_n1z00_4993); 
BgL_arg2238z00_4999 = 
(int32_t)(BgL_n2z00_4994); 
BgL_arg2235z00_4997 = 
(BgL_arg2237z00_4998%BgL_arg2238z00_4999); } 
{ /* Llib/hash.scm 1129 */
 long BgL_arg2353z00_5004;
BgL_arg2353z00_5004 = 
(long)(BgL_arg2235z00_4997); 
BgL_hz00_2443 = 
(long)(BgL_arg2353z00_5004); } }  else 
{ /* Llib/hash.scm 1129 */
BgL_hz00_2443 = 
(BgL_n1z00_4993%BgL_n2z00_4994); } } } 
{ /* Llib/hash.scm 1129 */

{ /* Llib/hash.scm 1131 */
 obj_t BgL_arg1955z00_2444;
{ /* Llib/hash.scm 1131 */
 obj_t BgL_arg1956z00_2445;
{ /* Llib/hash.scm 1131 */
 bool_t BgL_test5430z00_13816;
{ /* Llib/hash.scm 1131 */
 long BgL_tmpz00_13817;
BgL_tmpz00_13817 = 
VECTOR_LENGTH(BgL_newzd2buckszd2_2430); 
BgL_test5430z00_13816 = 
BOUND_CHECK(BgL_hz00_2443, BgL_tmpz00_13817); } 
if(BgL_test5430z00_13816)
{ /* Llib/hash.scm 1131 */
BgL_arg1956z00_2445 = 
VECTOR_REF(BgL_newzd2buckszd2_2430,BgL_hz00_2443); }  else 
{ 
 obj_t BgL_auxz00_13821;
BgL_auxz00_13821 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(45733L), BGl_string4012z00zz__hashz00, BgL_newzd2buckszd2_2430, 
(int)(
VECTOR_LENGTH(BgL_newzd2buckszd2_2430)), 
(int)(BgL_hz00_2443)); 
FAILURE(BgL_auxz00_13821,BFALSE,BFALSE);} } 
BgL_arg1955z00_2444 = 
MAKE_YOUNG_PAIR(BgL_cellz00_2440, BgL_arg1956z00_2445); } 
VECTOR_SET(BgL_newzd2buckszd2_2430,BgL_hz00_2443,BgL_arg1955z00_2444); } } } } } } 
{ 
 obj_t BgL_l1140z00_13830;
BgL_l1140z00_13830 = 
CDR(BgL_l1140z00_2437); 
BgL_l1140z00_2437 = BgL_l1140z00_13830; 
goto BgL_zc3z04anonymousza31953ze3z87_2438;} }  else 
{ /* Llib/hash.scm 1132 */
if(
NULLP(BgL_l1140z00_2437))
{ /* Llib/hash.scm 1132 */BTRUE; }  else 
{ /* Llib/hash.scm 1132 */
BGl_bigloozd2typezd2errorzf2locationzf2zz__errorz00(BGl_string4110z00zz__hashz00, BGl_string4111z00zz__hashz00, BgL_l1140z00_2437, BGl_string4004z00zz__hashz00, 
BINT(45536L)); } } } } 
{ 
 long BgL_iz00_13836;
BgL_iz00_13836 = 
(BgL_iz00_2432+1L); 
BgL_iz00_2432 = BgL_iz00_13836; 
goto BgL_zc3z04anonymousza31951ze3z87_2433;} }  else 
{ /* Llib/hash.scm 1125 */
BgL_tmpz00_13786 = ((bool_t)0)
; } 
return 
BBOOL(BgL_tmpz00_13786);} } }  else 
{ /* Llib/hash.scm 1137 */
 obj_t BgL_arg1960z00_2451;
{ /* Llib/hash.scm 1137 */
 long BgL_arg1961z00_2452;
{ /* Llib/hash.scm 1137 */
 long BgL_res2724z00_5017;
{ /* Llib/hash.scm 341 */
 bool_t BgL_test5432z00_13839;
{ /* Llib/hash.scm 341 */
 obj_t BgL_tmpz00_13840;
{ /* Llib/hash.scm 341 */
 obj_t BgL_res2723z00_5016;
{ /* Llib/hash.scm 341 */
 obj_t BgL_aux3902z00_6805;
BgL_aux3902z00_6805 = 
STRUCT_KEY(BgL_tablez00_156); 
if(
SYMBOLP(BgL_aux3902z00_6805))
{ /* Llib/hash.scm 341 */
BgL_res2723z00_5016 = BgL_aux3902z00_6805; }  else 
{ 
 obj_t BgL_auxz00_13844;
BgL_auxz00_13844 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(13368L), BGl_string4211z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3902z00_6805); 
FAILURE(BgL_auxz00_13844,BFALSE,BFALSE);} } 
BgL_tmpz00_13840 = BgL_res2723z00_5016; } 
BgL_test5432z00_13839 = 
(BgL_tmpz00_13840==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test5432z00_13839)
{ /* Llib/hash.scm 341 */
 obj_t BgL_tmpz00_13849;
{ /* Llib/hash.scm 341 */
 obj_t BgL_aux3904z00_6807;
{ /* Llib/hash.scm 341 */
 int BgL_tmpz00_13850;
BgL_tmpz00_13850 = 
(int)(0L); 
BgL_aux3904z00_6807 = 
UNSAFE_STRUCT_REF(BgL_tablez00_156, BgL_tmpz00_13850); } 
if(
INTEGERP(BgL_aux3904z00_6807))
{ /* Llib/hash.scm 341 */
BgL_tmpz00_13849 = BgL_aux3904z00_6807
; }  else 
{ 
 obj_t BgL_auxz00_13855;
BgL_auxz00_13855 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(13368L), BGl_string4211z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_aux3904z00_6807); 
FAILURE(BgL_auxz00_13855,BFALSE,BFALSE);} } 
BgL_res2724z00_5017 = 
(long)CINT(BgL_tmpz00_13849); }  else 
{ /* Llib/hash.scm 341 */
 obj_t BgL_tmpz00_13860;
{ /* Llib/hash.scm 341 */
 obj_t BgL_aux3905z00_6808;
BgL_aux3905z00_6808 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_156); 
if(
INTEGERP(BgL_aux3905z00_6808))
{ /* Llib/hash.scm 341 */
BgL_tmpz00_13860 = BgL_aux3905z00_6808
; }  else 
{ 
 obj_t BgL_auxz00_13864;
BgL_auxz00_13864 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(13368L), BGl_string4211z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_aux3905z00_6808); 
FAILURE(BgL_auxz00_13864,BFALSE,BFALSE);} } 
BgL_res2724z00_5017 = 
(long)CINT(BgL_tmpz00_13860); } } 
BgL_arg1961z00_2452 = BgL_res2724z00_5017; } 
{ /* Llib/hash.scm 1135 */
 obj_t BgL_list1962z00_2453;
{ /* Llib/hash.scm 1135 */
 obj_t BgL_arg1963z00_2454;
{ /* Llib/hash.scm 1135 */
 obj_t BgL_arg1964z00_2455;
BgL_arg1964z00_2455 = 
MAKE_YOUNG_PAIR(
BINT(BgL_arg1961z00_2452), BNIL); 
BgL_arg1963z00_2454 = 
MAKE_YOUNG_PAIR(BgL_maxzd2lenzd2_2421, BgL_arg1964z00_2455); } 
BgL_list1962z00_2453 = 
MAKE_YOUNG_PAIR(
BINT(BgL_newzd2lenzd2_2420), BgL_arg1963z00_2454); } 
BgL_arg1960z00_2451 = 
BGl_formatz00zz__r4_output_6_10_3z00(BGl_string4213z00zz__hashz00, BgL_list1962z00_2453); } } 
return 
BGl_errorz00zz__errorz00(BGl_string4155z00zz__hashz00, BgL_arg1960z00_2451, BgL_tablez00_156);} } } } } } } } 

}



/* hashtable-collisions */
BGL_EXPORTED_DEF obj_t BGl_hashtablezd2collisionszd2zz__hashz00(obj_t BgL_tablez00_157)
{
{ /* Llib/hash.scm 1143 */
if(
BGl_hashtablezd2weakzf3z21zz__hashz00(BgL_tablez00_157))
{ /* Llib/hash.scm 1144 */
return BNIL;}  else 
{ /* Llib/hash.scm 1144 */
BGL_TAIL return 
BGl_plainzd2hashtablezd2collisionsz00zz__hashz00(BgL_tablez00_157);} } 

}



/* &hashtable-collisions */
obj_t BGl_z62hashtablezd2collisionszb0zz__hashz00(obj_t BgL_envz00_5602, obj_t BgL_tablez00_5603)
{
{ /* Llib/hash.scm 1143 */
{ /* Llib/hash.scm 1144 */
 obj_t BgL_auxz00_13879;
if(
STRUCTP(BgL_tablez00_5603))
{ /* Llib/hash.scm 1144 */
BgL_auxz00_13879 = BgL_tablez00_5603
; }  else 
{ 
 obj_t BgL_auxz00_13882;
BgL_auxz00_13882 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(46243L), BGl_string4214z00zz__hashz00, BGl_string4057z00zz__hashz00, BgL_tablez00_5603); 
FAILURE(BgL_auxz00_13882,BFALSE,BFALSE);} 
return 
BGl_hashtablezd2collisionszd2zz__hashz00(BgL_auxz00_13879);} } 

}



/* plain-hashtable-collisions */
obj_t BGl_plainzd2hashtablezd2collisionsz00zz__hashz00(obj_t BgL_tablez00_158)
{
{ /* Llib/hash.scm 1151 */
{ /* Llib/hash.scm 1152 */
 obj_t BgL_bucketsz00_2458;
{ /* Llib/hash.scm 1152 */
 bool_t BgL_test5438z00_13887;
{ /* Llib/hash.scm 1152 */
 obj_t BgL_tmpz00_13888;
{ /* Llib/hash.scm 1152 */
 obj_t BgL_res2725z00_5023;
{ /* Llib/hash.scm 1152 */
 obj_t BgL_aux3908z00_6811;
BgL_aux3908z00_6811 = 
STRUCT_KEY(BgL_tablez00_158); 
if(
SYMBOLP(BgL_aux3908z00_6811))
{ /* Llib/hash.scm 1152 */
BgL_res2725z00_5023 = BgL_aux3908z00_6811; }  else 
{ 
 obj_t BgL_auxz00_13892;
BgL_auxz00_13892 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(46649L), BGl_string4215z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3908z00_6811); 
FAILURE(BgL_auxz00_13892,BFALSE,BFALSE);} } 
BgL_tmpz00_13888 = BgL_res2725z00_5023; } 
BgL_test5438z00_13887 = 
(BgL_tmpz00_13888==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test5438z00_13887)
{ /* Llib/hash.scm 1152 */
 int BgL_tmpz00_13897;
BgL_tmpz00_13897 = 
(int)(2L); 
BgL_bucketsz00_2458 = 
UNSAFE_STRUCT_REF(BgL_tablez00_158, BgL_tmpz00_13897); }  else 
{ /* Llib/hash.scm 1152 */
BgL_bucketsz00_2458 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tablez00_158); } } 
{ /* Llib/hash.scm 1152 */
 long BgL_bucketszd2lenzd2_2459;
{ /* Llib/hash.scm 1153 */
 obj_t BgL_vectorz00_5024;
if(
VECTORP(BgL_bucketsz00_2458))
{ /* Llib/hash.scm 1153 */
BgL_vectorz00_5024 = BgL_bucketsz00_2458; }  else 
{ 
 obj_t BgL_auxz00_13903;
BgL_auxz00_13903 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(46708L), BGl_string4215z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_2458); 
FAILURE(BgL_auxz00_13903,BFALSE,BFALSE);} 
BgL_bucketszd2lenzd2_2459 = 
VECTOR_LENGTH(BgL_vectorz00_5024); } 
{ /* Llib/hash.scm 1153 */

{ 
 long BgL_iz00_2462; obj_t BgL_resz00_2463;
BgL_iz00_2462 = 0L; 
BgL_resz00_2463 = BNIL; 
BgL_zc3z04anonymousza31966ze3z87_2464:
if(
(BgL_iz00_2462==BgL_bucketszd2lenzd2_2459))
{ /* Llib/hash.scm 1156 */
return BgL_resz00_2463;}  else 
{ /* Llib/hash.scm 1158 */
 obj_t BgL_g1078z00_2466;
{ /* Llib/hash.scm 1158 */
 obj_t BgL_vectorz00_5027;
if(
VECTORP(BgL_bucketsz00_2458))
{ /* Llib/hash.scm 1158 */
BgL_vectorz00_5027 = BgL_bucketsz00_2458; }  else 
{ 
 obj_t BgL_auxz00_13912;
BgL_auxz00_13912 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(46846L), BGl_string4064z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_bucketsz00_2458); 
FAILURE(BgL_auxz00_13912,BFALSE,BFALSE);} 
BgL_g1078z00_2466 = 
VECTOR_REF(BgL_vectorz00_5027,BgL_iz00_2462); } 
{ 
 obj_t BgL_bucketz00_2468; obj_t BgL_resz00_2469; long BgL_collz00_2470;
BgL_bucketz00_2468 = BgL_g1078z00_2466; 
BgL_resz00_2469 = BgL_resz00_2463; 
BgL_collz00_2470 = 0L; 
BgL_zc3z04anonymousza31968ze3z87_2471:
if(
NULLP(BgL_bucketz00_2468))
{ 
 obj_t BgL_resz00_13921; long BgL_iz00_13919;
BgL_iz00_13919 = 
(BgL_iz00_2462+1L); 
BgL_resz00_13921 = BgL_resz00_2469; 
BgL_resz00_2463 = BgL_resz00_13921; 
BgL_iz00_2462 = BgL_iz00_13919; 
goto BgL_zc3z04anonymousza31966ze3z87_2464;}  else 
{ /* Llib/hash.scm 1163 */
 obj_t BgL_arg1971z00_2474; obj_t BgL_arg1972z00_2475; long BgL_arg1975z00_2476;
{ /* Llib/hash.scm 1163 */
 obj_t BgL_pairz00_5030;
if(
PAIRP(BgL_bucketz00_2468))
{ /* Llib/hash.scm 1163 */
BgL_pairz00_5030 = BgL_bucketz00_2468; }  else 
{ 
 obj_t BgL_auxz00_13924;
BgL_auxz00_13924 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(46949L), BGl_string4067z00zz__hashz00, BGl_string4068z00zz__hashz00, BgL_bucketz00_2468); 
FAILURE(BgL_auxz00_13924,BFALSE,BFALSE);} 
BgL_arg1971z00_2474 = 
CDR(BgL_pairz00_5030); } 
if(
(BgL_collz00_2470>0L))
{ /* Llib/hash.scm 1164 */
BgL_arg1972z00_2475 = 
MAKE_YOUNG_PAIR(
BINT(BgL_collz00_2470), BgL_resz00_2469); }  else 
{ /* Llib/hash.scm 1164 */
BgL_arg1972z00_2475 = BgL_resz00_2469; } 
BgL_arg1975z00_2476 = 
(BgL_collz00_2470+1L); 
{ 
 long BgL_collz00_13936; obj_t BgL_resz00_13935; obj_t BgL_bucketz00_13934;
BgL_bucketz00_13934 = BgL_arg1971z00_2474; 
BgL_resz00_13935 = BgL_arg1972z00_2475; 
BgL_collz00_13936 = BgL_arg1975z00_2476; 
BgL_collz00_2470 = BgL_collz00_13936; 
BgL_resz00_2469 = BgL_resz00_13935; 
BgL_bucketz00_2468 = BgL_bucketz00_13934; 
goto BgL_zc3z04anonymousza31968ze3z87_2471;} } } } } } } } } 

}



/* get-hashnumber */
BGL_EXPORTED_DEF long BGl_getzd2hashnumberzd2zz__hashz00(obj_t BgL_keyz00_160)
{
{ /* Llib/hash.scm 1176 */
BGl_getzd2hashnumberzd2zz__hashz00:
if(
STRINGP(BgL_keyz00_160))
{ /* Llib/hash.scm 1179 */
 long BgL_arg1978z00_2481;
{ /* Llib/hash.scm 1290 */
 long BgL_arg2060z00_5034;
BgL_arg2060z00_5034 = 
STRING_LENGTH(BgL_keyz00_160); 
BgL_arg1978z00_2481 = 
bgl_string_hash(
BSTRING_TO_STRING(BgL_keyz00_160), 
(int)(0L), 
(int)(BgL_arg2060z00_5034)); } 
if(
(BgL_arg1978z00_2481<0L))
{ /* Llib/hash.scm 1179 */
return 
NEG(BgL_arg1978z00_2481);}  else 
{ /* Llib/hash.scm 1179 */
return BgL_arg1978z00_2481;} }  else 
{ /* Llib/hash.scm 1178 */
if(
SYMBOLP(BgL_keyz00_160))
{ /* Llib/hash.scm 1181 */
 long BgL_arg1980z00_2483;
BgL_arg1980z00_2483 = 
bgl_symbol_hash_number(BgL_keyz00_160); 
if(
(BgL_arg1980z00_2483<0L))
{ /* Llib/hash.scm 1181 */
return 
NEG(BgL_arg1980z00_2483);}  else 
{ /* Llib/hash.scm 1181 */
return BgL_arg1980z00_2483;} }  else 
{ /* Llib/hash.scm 1180 */
if(
KEYWORDP(BgL_keyz00_160))
{ /* Llib/hash.scm 1183 */
 long BgL_arg1982z00_2485;
BgL_arg1982z00_2485 = 
bgl_keyword_hash_number(BgL_keyz00_160); 
if(
(BgL_arg1982z00_2485<0L))
{ /* Llib/hash.scm 1183 */
return 
NEG(BgL_arg1982z00_2485);}  else 
{ /* Llib/hash.scm 1183 */
return BgL_arg1982z00_2485;} }  else 
{ /* Llib/hash.scm 1182 */
if(
INTEGERP(BgL_keyz00_160))
{ /* Llib/hash.scm 1185 */
 long BgL_nz00_5048;
BgL_nz00_5048 = 
(long)CINT(BgL_keyz00_160); 
if(
(BgL_nz00_5048<0L))
{ /* Llib/hash.scm 1185 */
return 
NEG(BgL_nz00_5048);}  else 
{ /* Llib/hash.scm 1185 */
return BgL_nz00_5048;} }  else 
{ /* Llib/hash.scm 1184 */
if(
ELONGP(BgL_keyz00_160))
{ /* Llib/hash.scm 1187 */
 long BgL_arg1985z00_2488;
{ /* Llib/hash.scm 1187 */
 long BgL_tmpz00_13967;
BgL_tmpz00_13967 = 
BELONG_TO_LONG(BgL_keyz00_160); 
BgL_arg1985z00_2488 = 
(long)(BgL_tmpz00_13967); } 
if(
(BgL_arg1985z00_2488<0L))
{ /* Llib/hash.scm 1187 */
return 
NEG(BgL_arg1985z00_2488);}  else 
{ /* Llib/hash.scm 1187 */
return BgL_arg1985z00_2488;} }  else 
{ /* Llib/hash.scm 1186 */
if(
LLONGP(BgL_keyz00_160))
{ /* Llib/hash.scm 1189 */
 long BgL_arg1987z00_2490;
{ /* Llib/hash.scm 1189 */
 BGL_LONGLONG_T BgL_tmpz00_13975;
BgL_tmpz00_13975 = 
BLLONG_TO_LLONG(BgL_keyz00_160); 
BgL_arg1987z00_2490 = 
(long)(BgL_tmpz00_13975); } 
if(
(BgL_arg1987z00_2490<0L))
{ /* Llib/hash.scm 1189 */
return 
NEG(BgL_arg1987z00_2490);}  else 
{ /* Llib/hash.scm 1189 */
return BgL_arg1987z00_2490;} }  else 
{ /* Llib/hash.scm 1188 */
if(
BGL_OBJECTP(BgL_keyz00_160))
{ /* Llib/hash.scm 1191 */
 long BgL_arg1989z00_2492;
BgL_arg1989z00_2492 = 
BGl_objectzd2hashnumberzd2zz__objectz00(
((BgL_objectz00_bglt)BgL_keyz00_160)); 
if(
(BgL_arg1989z00_2492<0L))
{ /* Llib/hash.scm 1191 */
return 
NEG(BgL_arg1989z00_2492);}  else 
{ /* Llib/hash.scm 1191 */
return BgL_arg1989z00_2492;} }  else 
{ /* Llib/hash.scm 1190 */
if(
FOREIGNP(BgL_keyz00_160))
{ /* Llib/hash.scm 1193 */
 long BgL_arg1991z00_2494;
BgL_arg1991z00_2494 = 
bgl_foreign_hash_number(BgL_keyz00_160); 
if(
(BgL_arg1991z00_2494<0L))
{ /* Llib/hash.scm 1193 */
return 
NEG(BgL_arg1991z00_2494);}  else 
{ /* Llib/hash.scm 1193 */
return BgL_arg1991z00_2494;} }  else 
{ /* Llib/hash.scm 1194 */
 bool_t BgL_test5462z00_13994;
if(
INTEGERP(BgL_keyz00_160))
{ /* Llib/hash.scm 1194 */
BgL_test5462z00_13994 = ((bool_t)1)
; }  else 
{ /* Llib/hash.scm 1194 */
BgL_test5462z00_13994 = 
REALP(BgL_keyz00_160)
; } 
if(BgL_test5462z00_13994)
{ /* Llib/hash.scm 1195 */
 long BgL_arg1993z00_2496;
{ /* Llib/hash.scm 1195 */
 double BgL_xz00_5068;
{ /* Llib/hash.scm 1195 */
 obj_t BgL_tmpz00_13998;
if(
REALP(BgL_keyz00_160))
{ /* Llib/hash.scm 1195 */
BgL_tmpz00_13998 = BgL_keyz00_160
; }  else 
{ 
 obj_t BgL_auxz00_14001;
BgL_auxz00_14001 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(48095L), BGl_string4216z00zz__hashz00, BGl_string4217z00zz__hashz00, BgL_keyz00_160); 
FAILURE(BgL_auxz00_14001,BFALSE,BFALSE);} 
BgL_xz00_5068 = 
REAL_TO_DOUBLE(BgL_tmpz00_13998); } 
BgL_arg1993z00_2496 = 
(long)(BgL_xz00_5068); } 
{ 
 obj_t BgL_keyz00_14007;
BgL_keyz00_14007 = 
BINT(BgL_arg1993z00_2496); 
BgL_keyz00_160 = BgL_keyz00_14007; 
goto BGl_getzd2hashnumberzd2zz__hashz00;} }  else 
{ /* Llib/hash.scm 1197 */
 long BgL_arg1994z00_2497;
BgL_arg1994z00_2497 = 
bgl_obj_hash_number(BgL_keyz00_160); 
if(
(BgL_arg1994z00_2497<0L))
{ /* Llib/hash.scm 1197 */
return 
NEG(BgL_arg1994z00_2497);}  else 
{ /* Llib/hash.scm 1197 */
return BgL_arg1994z00_2497;} } } } } } } } } } } 

}



/* &get-hashnumber */
obj_t BGl_z62getzd2hashnumberzb0zz__hashz00(obj_t BgL_envz00_5604, obj_t BgL_keyz00_5605)
{
{ /* Llib/hash.scm 1176 */
return 
BINT(
BGl_getzd2hashnumberzd2zz__hashz00(BgL_keyz00_5605));} 

}



/* get-hashnumber-persistent */
BGL_EXPORTED_DEF long BGl_getzd2hashnumberzd2persistentz00zz__hashz00(obj_t BgL_keyz00_161)
{
{ /* Llib/hash.scm 1204 */
BGL_TAIL return 
BGl_objzd2hashze70z35zz__hashz00(BgL_keyz00_161);} 

}



/* obj-hash~0 */
long BGl_objzd2hashze70z35zz__hashz00(obj_t BgL_keyz00_2546)
{
{ /* Llib/hash.scm 1270 */
BGl_objzd2hashze70z35zz__hashz00:
{ 
 obj_t BgL_keyz00_2504; obj_t BgL_keyz00_2529;
if(
CNSTP(BgL_keyz00_2546))
{ /* Llib/hash.scm 1235 */
if(
(BgL_keyz00_2546==BTRUE))
{ /* Llib/hash.scm 1237 */
return 12L;}  else 
{ /* Llib/hash.scm 1237 */
if(
(BgL_keyz00_2546==BFALSE))
{ /* Llib/hash.scm 1238 */
return 445L;}  else 
{ /* Llib/hash.scm 1238 */
if(
(BgL_keyz00_2546==BUNSPEC))
{ /* Llib/hash.scm 1239 */
return 3199L;}  else 
{ /* Llib/hash.scm 1239 */
if(
(BgL_keyz00_2546==BNIL))
{ /* Llib/hash.scm 1240 */
return 453343L;}  else 
{ /* Llib/hash.scm 1240 */
return 21354L;} } } } }  else 
{ /* Llib/hash.scm 1235 */
if(
STRINGP(BgL_keyz00_2546))
{ /* Llib/hash.scm 1243 */
 long BgL_arg2023z00_2550;
{ /* Llib/hash.scm 1243 */
 long BgL_arg2025z00_2551;
BgL_arg2025z00_2551 = 
STRING_LENGTH(BgL_keyz00_2546); 
BgL_arg2023z00_2550 = 
bgl_string_hash_persistent(
BSTRING_TO_STRING(BgL_keyz00_2546), 
(int)(0L), 
(int)(BgL_arg2025z00_2551)); } 
return 
(134217727L & BgL_arg2023z00_2550);}  else 
{ /* Llib/hash.scm 1242 */
if(
SYMBOLP(BgL_keyz00_2546))
{ /* Llib/hash.scm 1244 */
return 
(134217727L & 
bgl_symbol_hash_number_persistent(BgL_keyz00_2546));}  else 
{ /* Llib/hash.scm 1244 */
if(
KEYWORDP(BgL_keyz00_2546))
{ /* Llib/hash.scm 1246 */
return 
(134217727L & 
bgl_keyword_hash_number_persistent(BgL_keyz00_2546));}  else 
{ /* Llib/hash.scm 1246 */
if(
CHARP(BgL_keyz00_2546))
{ /* Llib/hash.scm 1248 */
return 
(
CCHAR(BgL_keyz00_2546));}  else 
{ /* Llib/hash.scm 1248 */
if(
INTEGERP(BgL_keyz00_2546))
{ /* Llib/hash.scm 1250 */
return 
(134217727L & 
(long)CINT(BgL_keyz00_2546));}  else 
{ /* Llib/hash.scm 1250 */
if(
ELONGP(BgL_keyz00_2546))
{ /* Llib/hash.scm 1253 */
 long BgL_arg2034z00_2559;
{ /* Llib/hash.scm 1253 */
 long BgL_tmpz00_14052;
BgL_tmpz00_14052 = 
BELONG_TO_LONG(BgL_keyz00_2546); 
BgL_arg2034z00_2559 = 
(long)(BgL_tmpz00_14052); } 
return 
(134217727L & BgL_arg2034z00_2559);}  else 
{ /* Llib/hash.scm 1252 */
if(
LLONGP(BgL_keyz00_2546))
{ /* Llib/hash.scm 1255 */
 long BgL_arg2037z00_2561;
{ /* Llib/hash.scm 1255 */
 BGL_LONGLONG_T BgL_tmpz00_14058;
BgL_tmpz00_14058 = 
BLLONG_TO_LLONG(BgL_keyz00_2546); 
BgL_arg2037z00_2561 = 
(long)(BgL_tmpz00_14058); } 
return 
(134217727L & BgL_arg2037z00_2561);}  else 
{ /* Llib/hash.scm 1254 */
if(
UCS2P(BgL_keyz00_2546))
{ /* Llib/hash.scm 1257 */
 long BgL_arg2039z00_2563;
{ /* Llib/hash.scm 1257 */
 int BgL_arg2041z00_2564;
{ /* Llib/hash.scm 1257 */
 ucs2_t BgL_ucs2z00_5120;
BgL_ucs2z00_5120 = 
CUCS2(BgL_keyz00_2546); 
{ /* Llib/hash.scm 1257 */
 obj_t BgL_tmpz00_14065;
BgL_tmpz00_14065 = 
BUCS2(BgL_ucs2z00_5120); 
BgL_arg2041z00_2564 = 
CUCS2(BgL_tmpz00_14065); } } 
BgL_arg2039z00_2563 = 
(39434L ^ 
(long)(BgL_arg2041z00_2564)); } 
return 
(134217727L & BgL_arg2039z00_2563);}  else 
{ /* Llib/hash.scm 1256 */
if(
BGL_DATEP(BgL_keyz00_2546))
{ /* Llib/hash.scm 1259 */
 long BgL_arg2043z00_2566;
{ /* Llib/hash.scm 1259 */
 long BgL_arg2044z00_2567;
{ /* Llib/hash.scm 1259 */
 long BgL_arg2045z00_2568;
BgL_arg2045z00_2568 = 
bgl_date_to_seconds(BgL_keyz00_2546); 
BgL_arg2044z00_2567 = 
BGl_objzd2hashze70z35zz__hashz00(
make_belong(BgL_arg2045z00_2568)); } 
BgL_arg2043z00_2566 = 
(908L ^ BgL_arg2044z00_2567); } 
return 
(134217727L & BgL_arg2043z00_2566);}  else 
{ /* Llib/hash.scm 1260 */
 bool_t BgL_test5480z00_14078;
if(
INTEGERP(BgL_keyz00_2546))
{ /* Llib/hash.scm 1260 */
BgL_test5480z00_14078 = ((bool_t)1)
; }  else 
{ /* Llib/hash.scm 1260 */
BgL_test5480z00_14078 = 
REALP(BgL_keyz00_2546)
; } 
if(BgL_test5480z00_14078)
{ /* Llib/hash.scm 1263 */
 long BgL_arg2047z00_2570;
{ /* Llib/hash.scm 1263 */
 int64_t BgL_arg2048z00_2571;
{ /* Llib/hash.scm 1263 */
 int64_t BgL_arg2049z00_2572; int64_t BgL_arg2050z00_2573;
{ /* Llib/hash.scm 1263 */
 double BgL_arg2051z00_2574;
{ /* Llib/hash.scm 1263 */
 double BgL_r1z00_5126;
{ /* Llib/hash.scm 1263 */
 obj_t BgL_tmpz00_14082;
if(
REALP(BgL_keyz00_2546))
{ /* Llib/hash.scm 1263 */
BgL_tmpz00_14082 = BgL_keyz00_2546
; }  else 
{ 
 obj_t BgL_auxz00_14085;
BgL_auxz00_14085 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(50129L), BGl_string4228z00zz__hashz00, BGl_string4217z00zz__hashz00, BgL_keyz00_2546); 
FAILURE(BgL_auxz00_14085,BFALSE,BFALSE);} 
BgL_r1z00_5126 = 
REAL_TO_DOUBLE(BgL_tmpz00_14082); } 
BgL_arg2051z00_2574 = 
(BgL_r1z00_5126*1000.0); } 
BgL_arg2049z00_2572 = 
(int64_t)(BgL_arg2051z00_2574); } 
BgL_arg2050z00_2573 = 
((int64_t)(1) << 
(int)(29L)); 
BgL_arg2048z00_2571 = 
(BgL_arg2049z00_2572 & BgL_arg2050z00_2573); } 
{ /* Llib/hash.scm 1262 */
 long BgL_arg2351z00_5133;
BgL_arg2351z00_5133 = 
(long)(BgL_arg2048z00_2571); 
BgL_arg2047z00_2570 = 
(long)(BgL_arg2351z00_5133); } } 
{ 
 obj_t BgL_keyz00_14097;
BgL_keyz00_14097 = 
BINT(BgL_arg2047z00_2570); 
BgL_keyz00_2546 = BgL_keyz00_14097; 
goto BGl_objzd2hashze70z35zz__hashz00;} }  else 
{ /* Llib/hash.scm 1260 */
if(
UCS2_STRINGP(BgL_keyz00_2546))
{ /* Llib/hash.scm 1207 */
 long BgL_tmpz00_14101;
BgL_keyz00_2529 = BgL_keyz00_2546; 
{ /* Llib/hash.scm 1223 */
 int BgL_lenz00_2531;
BgL_lenz00_2531 = 
UCS2_STRING_LENGTH(BgL_keyz00_2529); 
{ /* Llib/hash.scm 1224 */
 long BgL_g1081z00_2532; long BgL_g1082z00_2533;
BgL_g1081z00_2532 = 
(
(long)(BgL_lenz00_2531)-1L); 
BgL_g1082z00_2533 = 
(134217727L & 
(235643L ^ 
(long)(BgL_lenz00_2531))); 
{ 
 long BgL_iz00_2535; long BgL_accz00_2536;
BgL_iz00_2535 = BgL_g1081z00_2532; 
BgL_accz00_2536 = BgL_g1082z00_2533; 
BgL_zc3z04anonymousza32010ze3z87_2537:
if(
(BgL_iz00_2535==(-1L)))
{ /* Llib/hash.scm 1226 */
BgL_tmpz00_14101 = BgL_accz00_2536
; }  else 
{ /* Llib/hash.scm 1228 */
 long BgL_arg2012z00_2539; long BgL_arg2013z00_2540;
BgL_arg2012z00_2539 = 
(BgL_iz00_2535-1L); 
{ /* Llib/hash.scm 1231 */
 long BgL_arg2016z00_2541;
{ /* Llib/hash.scm 1231 */
 long BgL_arg2017z00_2542;
{ /* Llib/hash.scm 1231 */
 ucs2_t BgL_arg2018z00_2543;
{ /* Llib/hash.scm 1231 */
 ucs2_t BgL_res2726z00_5108;
{ /* Llib/hash.scm 1231 */
 int BgL_kz00_5096;
BgL_kz00_5096 = 
(int)(BgL_iz00_2535); 
{ /* Llib/hash.scm 1231 */
 bool_t BgL_test5485z00_14112;
{ /* Llib/hash.scm 1231 */
 long BgL_auxz00_14115; long BgL_tmpz00_14113;
BgL_auxz00_14115 = 
(long)(
UCS2_STRING_LENGTH(BgL_keyz00_2529)); 
BgL_tmpz00_14113 = 
(long)(BgL_kz00_5096); 
BgL_test5485z00_14112 = 
BOUND_CHECK(BgL_tmpz00_14113, BgL_auxz00_14115); } 
if(BgL_test5485z00_14112)
{ /* Llib/hash.scm 1231 */
BgL_res2726z00_5108 = 
UCS2_STRING_REF(BgL_keyz00_2529, BgL_kz00_5096); }  else 
{ /* Llib/hash.scm 1231 */
 obj_t BgL_arg2420z00_5099;
{ /* Llib/hash.scm 1231 */
 obj_t BgL_arg2421z00_5100;
{ /* Llib/hash.scm 1231 */

BgL_arg2421z00_5100 = 
BGl_integerzd2ze3stringz31zz__r4_numbers_6_5_fixnumz00(
(
(long)(
UCS2_STRING_LENGTH(BgL_keyz00_2529))-1L), 10L); } 
BgL_arg2420z00_5099 = 
string_append_3(BGl_string4218z00zz__hashz00, BgL_arg2421z00_5100, BGl_string4219z00zz__hashz00); } 
{ /* Llib/hash.scm 1231 */
 obj_t BgL_tmpz00_14125;
{ /* Llib/hash.scm 1231 */
 obj_t BgL_aux3918z00_6821;
BgL_aux3918z00_6821 = 
BGl_errorz00zz__errorz00(BGl_symbol4220z00zz__hashz00, BgL_arg2420z00_5099, 
BINT(BgL_kz00_5096)); 
if(
UCS2P(BgL_aux3918z00_6821))
{ /* Llib/hash.scm 1231 */
BgL_tmpz00_14125 = BgL_aux3918z00_6821
; }  else 
{ 
 obj_t BgL_auxz00_14130;
BgL_auxz00_14130 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(49301L), BGl_string4064z00zz__hashz00, BGl_string4222z00zz__hashz00, BgL_aux3918z00_6821); 
FAILURE(BgL_auxz00_14130,BFALSE,BFALSE);} } 
BgL_res2726z00_5108 = 
CUCS2(BgL_tmpz00_14125); } } } } 
BgL_arg2018z00_2543 = BgL_res2726z00_5108; } 
BgL_arg2017z00_2542 = 
BGl_objzd2hashze70z35zz__hashz00(
BUCS2(BgL_arg2018z00_2543)); } 
BgL_arg2016z00_2541 = 
(BgL_arg2017z00_2542 ^ BgL_accz00_2536); } 
BgL_arg2013z00_2540 = 
(134217727L & BgL_arg2016z00_2541); } 
{ 
 long BgL_accz00_14140; long BgL_iz00_14139;
BgL_iz00_14139 = BgL_arg2012z00_2539; 
BgL_accz00_14140 = BgL_arg2013z00_2540; 
BgL_accz00_2536 = BgL_accz00_14140; 
BgL_iz00_2535 = BgL_iz00_14139; 
goto BgL_zc3z04anonymousza32010ze3z87_2537;} } } } } 
return 
(134217727L & BgL_tmpz00_14101);}  else 
{ /* Llib/hash.scm 1265 */
if(
BGL_HVECTORP(BgL_keyz00_2546))
{ /* Llib/hash.scm 1267 */
BgL_keyz00_2504 = BgL_keyz00_2546; 
{ /* Llib/hash.scm 1210 */
 long BgL_lenz00_2506;
BgL_lenz00_2506 = 
BGL_HVECTOR_LENGTH(BgL_keyz00_2504); 
{ /* Llib/hash.scm 1211 */
 obj_t BgL_tagz00_2507;
BgL_tagz00_2507 = 
BGl_homogeneouszd2vectorzd2infoz00zz__srfi4z00(BgL_keyz00_2504); 
{ /* Llib/hash.scm 1212 */
 obj_t BgL__z00_2508; obj_t BgL_getz00_2509; obj_t BgL__z00_2510; obj_t BgL__z00_2511;
{ /* Llib/hash.scm 1213 */
 obj_t BgL_tmpz00_5074;
{ /* Llib/hash.scm 1213 */
 int BgL_tmpz00_14146;
BgL_tmpz00_14146 = 
(int)(1L); 
BgL_tmpz00_5074 = 
BGL_MVALUES_VAL(BgL_tmpz00_14146); } 
{ /* Llib/hash.scm 1213 */
 int BgL_tmpz00_14149;
BgL_tmpz00_14149 = 
(int)(1L); 
BGL_MVALUES_VAL_SET(BgL_tmpz00_14149, BUNSPEC); } 
BgL__z00_2508 = BgL_tmpz00_5074; } 
{ /* Llib/hash.scm 1213 */
 obj_t BgL_tmpz00_5075;
{ /* Llib/hash.scm 1213 */
 int BgL_tmpz00_14152;
BgL_tmpz00_14152 = 
(int)(2L); 
BgL_tmpz00_5075 = 
BGL_MVALUES_VAL(BgL_tmpz00_14152); } 
{ /* Llib/hash.scm 1213 */
 int BgL_tmpz00_14155;
BgL_tmpz00_14155 = 
(int)(2L); 
BGL_MVALUES_VAL_SET(BgL_tmpz00_14155, BUNSPEC); } 
BgL_getz00_2509 = BgL_tmpz00_5075; } 
{ /* Llib/hash.scm 1213 */
 obj_t BgL_tmpz00_5076;
{ /* Llib/hash.scm 1213 */
 int BgL_tmpz00_14158;
BgL_tmpz00_14158 = 
(int)(3L); 
BgL_tmpz00_5076 = 
BGL_MVALUES_VAL(BgL_tmpz00_14158); } 
{ /* Llib/hash.scm 1213 */
 int BgL_tmpz00_14161;
BgL_tmpz00_14161 = 
(int)(3L); 
BGL_MVALUES_VAL_SET(BgL_tmpz00_14161, BUNSPEC); } 
BgL__z00_2510 = BgL_tmpz00_5076; } 
{ /* Llib/hash.scm 1213 */
 obj_t BgL_tmpz00_5077;
{ /* Llib/hash.scm 1213 */
 int BgL_tmpz00_14164;
BgL_tmpz00_14164 = 
(int)(4L); 
BgL_tmpz00_5077 = 
BGL_MVALUES_VAL(BgL_tmpz00_14164); } 
{ /* Llib/hash.scm 1213 */
 int BgL_tmpz00_14167;
BgL_tmpz00_14167 = 
(int)(4L); 
BGL_MVALUES_VAL_SET(BgL_tmpz00_14167, BUNSPEC); } 
BgL__z00_2511 = BgL_tmpz00_5077; } 
{ /* Llib/hash.scm 1213 */
 long BgL_g1079z00_2512; long BgL_g1080z00_2513;
BgL_g1079z00_2512 = 
(BgL_lenz00_2506-1L); 
BgL_g1080z00_2513 = 
(134217727L & 
(98723L ^ 
(134217727L & 
(BgL_lenz00_2506 ^ 
BGl_objzd2hashze70z35zz__hashz00(BgL_tagz00_2507))))); 
{ 
 long BgL_iz00_2515; long BgL_accz00_2516;
BgL_iz00_2515 = BgL_g1079z00_2512; 
BgL_accz00_2516 = BgL_g1080z00_2513; 
BgL_zc3z04anonymousza31997ze3z87_2517:
if(
(BgL_iz00_2515==(-1L)))
{ /* Llib/hash.scm 1216 */
return BgL_accz00_2516;}  else 
{ /* Llib/hash.scm 1218 */
 obj_t BgL_oz00_2519;
{ /* Llib/hash.scm 1218 */
 obj_t BgL_funz00_6825;
if(
PROCEDUREP(BgL_getz00_2509))
{ /* Llib/hash.scm 1218 */
BgL_funz00_6825 = BgL_getz00_2509; }  else 
{ 
 obj_t BgL_auxz00_14180;
BgL_auxz00_14180 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(48974L), BGl_string4064z00zz__hashz00, BGl_string4076z00zz__hashz00, BgL_getz00_2509); 
FAILURE(BgL_auxz00_14180,BFALSE,BFALSE);} 
if(
PROCEDURE_CORRECT_ARITYP(BgL_funz00_6825, 2))
{ /* Llib/hash.scm 1218 */
BgL_oz00_2519 = 
(VA_PROCEDUREP( BgL_funz00_6825 ) ? ((obj_t (*)(obj_t, ...))PROCEDURE_ENTRY(BgL_funz00_6825))(BgL_getz00_2509, BgL_keyz00_2504, 
BINT(BgL_iz00_2515), BEOA) : ((obj_t (*)(obj_t, obj_t, obj_t))PROCEDURE_ENTRY(BgL_funz00_6825))(BgL_getz00_2509, BgL_keyz00_2504, 
BINT(BgL_iz00_2515)) ); }  else 
{ /* Llib/hash.scm 1218 */
FAILURE(BGl_string4078z00zz__hashz00,BGl_list4223z00zz__hashz00,BgL_funz00_6825);} } 
{ 
 long BgL_accz00_14195; long BgL_iz00_14193;
BgL_iz00_14193 = 
(BgL_iz00_2515-1L); 
BgL_accz00_14195 = 
(134217727L & 
(BgL_accz00_2516 ^ 
BGl_objzd2hashze70z35zz__hashz00(BgL_oz00_2519))); 
BgL_accz00_2516 = BgL_accz00_14195; 
BgL_iz00_2515 = BgL_iz00_14193; 
goto BgL_zc3z04anonymousza31997ze3z87_2517;} } } } } } } }  else 
{ /* Llib/hash.scm 1270 */
 obj_t BgL_arg2055z00_2578;
{ /* Llib/hash.scm 1270 */

BgL_arg2055z00_2578 = 
obj_to_string(BgL_keyz00_2546, BFALSE); } 
{ 
 obj_t BgL_keyz00_14200;
BgL_keyz00_14200 = BgL_arg2055z00_2578; 
BgL_keyz00_2546 = BgL_keyz00_14200; 
goto BGl_objzd2hashze70z35zz__hashz00;} } } } } } } } } } } } } } } } 

}



/* &get-hashnumber-persistent */
obj_t BGl_z62getzd2hashnumberzd2persistentz62zz__hashz00(obj_t BgL_envz00_5606, obj_t BgL_keyz00_5607)
{
{ /* Llib/hash.scm 1204 */
return 
BINT(
BGl_getzd2hashnumberzd2persistentz00zz__hashz00(BgL_keyz00_5607));} 

}



/* get-pointer-hashnumber */
BGL_EXPORTED_DEF long BGl_getzd2pointerzd2hashnumberz00zz__hashz00(obj_t BgL_ptrz00_162, long BgL_powerz00_163)
{
{ /* Llib/hash.scm 1277 */
BGL_TAIL return 
bgl_pointer_hashnumber(BgL_ptrz00_162, BgL_powerz00_163);} 

}



/* &get-pointer-hashnumber */
obj_t BGl_z62getzd2pointerzd2hashnumberz62zz__hashz00(obj_t BgL_envz00_5608, obj_t BgL_ptrz00_5609, obj_t BgL_powerz00_5610)
{
{ /* Llib/hash.scm 1277 */
{ /* Llib/hash.scm 1278 */
 long BgL_tmpz00_14204;
{ /* Llib/hash.scm 1278 */
 long BgL_auxz00_14205;
{ /* Llib/hash.scm 1278 */
 obj_t BgL_tmpz00_14206;
if(
INTEGERP(BgL_powerz00_5610))
{ /* Llib/hash.scm 1278 */
BgL_tmpz00_14206 = BgL_powerz00_5610
; }  else 
{ 
 obj_t BgL_auxz00_14209;
BgL_auxz00_14209 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(50659L), BGl_string4229z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_powerz00_5610); 
FAILURE(BgL_auxz00_14209,BFALSE,BFALSE);} 
BgL_auxz00_14205 = 
(long)CINT(BgL_tmpz00_14206); } 
BgL_tmpz00_14204 = 
BGl_getzd2pointerzd2hashnumberz00zz__hashz00(BgL_ptrz00_5609, BgL_auxz00_14205); } 
return 
BINT(BgL_tmpz00_14204);} } 

}



/* _string-hash */
obj_t BGl__stringzd2hashzd2zz__hashz00(obj_t BgL_env1174z00_168, obj_t BgL_opt1173z00_167)
{
{ /* Llib/hash.scm 1283 */
{ /* Llib/hash.scm 1283 */
 obj_t BgL_g1175z00_2585;
{ 
 obj_t BgL_auxz00_14216;
if(
VECTORP(BgL_opt1173z00_167))
{ /* Llib/hash.scm 1283 */
BgL_auxz00_14216 = BgL_opt1173z00_167
; }  else 
{ 
 obj_t BgL_auxz00_14219;
BgL_auxz00_14219 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(50916L), BGl_string4230z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_opt1173z00_167); 
FAILURE(BgL_auxz00_14219,BFALSE,BFALSE);} 
BgL_g1175z00_2585 = 
VECTOR_REF(BgL_auxz00_14216,0L); } 
{ 

{ /* Llib/hash.scm 1283 */
 long BgL_aux1177z00_2587;
{ 
 obj_t BgL_auxz00_14224;
if(
VECTORP(BgL_opt1173z00_167))
{ /* Llib/hash.scm 1283 */
BgL_auxz00_14224 = BgL_opt1173z00_167
; }  else 
{ 
 obj_t BgL_auxz00_14227;
BgL_auxz00_14227 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(50916L), BGl_string4230z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_opt1173z00_167); 
FAILURE(BgL_auxz00_14227,BFALSE,BFALSE);} 
BgL_aux1177z00_2587 = 
VECTOR_LENGTH(BgL_auxz00_14224); } 
switch( BgL_aux1177z00_2587) { case 1L : 

{ /* Llib/hash.scm 1283 */

{ /* Llib/hash.scm 1283 */
 obj_t BgL_stringz00_5136;
if(
STRINGP(BgL_g1175z00_2585))
{ /* Llib/hash.scm 1283 */
BgL_stringz00_5136 = BgL_g1175z00_2585; }  else 
{ 
 obj_t BgL_auxz00_14234;
BgL_auxz00_14234 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(50916L), BGl_string4230z00zz__hashz00, BGl_string4050z00zz__hashz00, BgL_g1175z00_2585); 
FAILURE(BgL_auxz00_14234,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 1284 */
 obj_t BgL_arg2059z00_5137;
BgL_arg2059z00_5137 = 
BINT(
STRING_LENGTH(BgL_stringz00_5136)); 
{ /* Llib/hash.scm 1284 */
 long BgL_tmpz00_14240;
{ /* Llib/hash.scm 1284 */
 int BgL_tmpz00_14241;
{ /* Llib/hash.scm 1284 */
 obj_t BgL_tmpz00_14244;
if(
INTEGERP(BgL_arg2059z00_5137))
{ /* Llib/hash.scm 1284 */
BgL_tmpz00_14244 = BgL_arg2059z00_5137
; }  else 
{ 
 obj_t BgL_auxz00_14247;
BgL_auxz00_14247 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(51030L), BGl_string4230z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_arg2059z00_5137); 
FAILURE(BgL_auxz00_14247,BFALSE,BFALSE);} 
BgL_tmpz00_14241 = 
CINT(BgL_tmpz00_14244); } 
BgL_tmpz00_14240 = 
bgl_string_hash(
BSTRING_TO_STRING(BgL_stringz00_5136), 
(int)(0L), BgL_tmpz00_14241); } 
return 
BINT(BgL_tmpz00_14240);} } } } break;case 2L : 

{ /* Llib/hash.scm 1283 */
 obj_t BgL_startz00_2590;
{ 
 obj_t BgL_auxz00_14254;
if(
VECTORP(BgL_opt1173z00_167))
{ /* Llib/hash.scm 1283 */
BgL_auxz00_14254 = BgL_opt1173z00_167
; }  else 
{ 
 obj_t BgL_auxz00_14257;
BgL_auxz00_14257 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(50916L), BGl_string4230z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_opt1173z00_167); 
FAILURE(BgL_auxz00_14257,BFALSE,BFALSE);} 
BgL_startz00_2590 = 
VECTOR_REF(BgL_auxz00_14254,1L); } 
{ /* Llib/hash.scm 1283 */

{ /* Llib/hash.scm 1283 */
 obj_t BgL_stringz00_5140;
if(
STRINGP(BgL_g1175z00_2585))
{ /* Llib/hash.scm 1283 */
BgL_stringz00_5140 = BgL_g1175z00_2585; }  else 
{ 
 obj_t BgL_auxz00_14264;
BgL_auxz00_14264 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(50916L), BGl_string4230z00zz__hashz00, BGl_string4050z00zz__hashz00, BgL_g1175z00_2585); 
FAILURE(BgL_auxz00_14264,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 1284 */
 obj_t BgL_arg2059z00_5141;
BgL_arg2059z00_5141 = 
BINT(
STRING_LENGTH(BgL_stringz00_5140)); 
{ /* Llib/hash.scm 1284 */
 long BgL_tmpz00_14270;
{ /* Llib/hash.scm 1284 */
 int BgL_auxz00_14281; int BgL_tmpz00_14271;
{ /* Llib/hash.scm 1284 */
 obj_t BgL_tmpz00_14282;
if(
INTEGERP(BgL_arg2059z00_5141))
{ /* Llib/hash.scm 1284 */
BgL_tmpz00_14282 = BgL_arg2059z00_5141
; }  else 
{ 
 obj_t BgL_auxz00_14285;
BgL_auxz00_14285 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(51030L), BGl_string4230z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_arg2059z00_5141); 
FAILURE(BgL_auxz00_14285,BFALSE,BFALSE);} 
BgL_auxz00_14281 = 
CINT(BgL_tmpz00_14282); } 
{ /* Llib/hash.scm 1284 */
 obj_t BgL_tmpz00_14273;
if(
INTEGERP(BgL_startz00_2590))
{ /* Llib/hash.scm 1284 */
BgL_tmpz00_14273 = BgL_startz00_2590
; }  else 
{ 
 obj_t BgL_auxz00_14276;
BgL_auxz00_14276 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(50994L), BGl_string4230z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_startz00_2590); 
FAILURE(BgL_auxz00_14276,BFALSE,BFALSE);} 
BgL_tmpz00_14271 = 
CINT(BgL_tmpz00_14273); } 
BgL_tmpz00_14270 = 
bgl_string_hash(
BSTRING_TO_STRING(BgL_stringz00_5140), BgL_tmpz00_14271, BgL_auxz00_14281); } 
return 
BINT(BgL_tmpz00_14270);} } } } } break;case 3L : 

{ /* Llib/hash.scm 1283 */
 obj_t BgL_startz00_2592;
{ 
 obj_t BgL_auxz00_14292;
if(
VECTORP(BgL_opt1173z00_167))
{ /* Llib/hash.scm 1283 */
BgL_auxz00_14292 = BgL_opt1173z00_167
; }  else 
{ 
 obj_t BgL_auxz00_14295;
BgL_auxz00_14295 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(50916L), BGl_string4230z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_opt1173z00_167); 
FAILURE(BgL_auxz00_14295,BFALSE,BFALSE);} 
BgL_startz00_2592 = 
VECTOR_REF(BgL_auxz00_14292,1L); } 
{ /* Llib/hash.scm 1283 */
 obj_t BgL_lenz00_2593;
{ 
 obj_t BgL_auxz00_14300;
if(
VECTORP(BgL_opt1173z00_167))
{ /* Llib/hash.scm 1283 */
BgL_auxz00_14300 = BgL_opt1173z00_167
; }  else 
{ 
 obj_t BgL_auxz00_14303;
BgL_auxz00_14303 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(50916L), BGl_string4230z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_opt1173z00_167); 
FAILURE(BgL_auxz00_14303,BFALSE,BFALSE);} 
BgL_lenz00_2593 = 
VECTOR_REF(BgL_auxz00_14300,2L); } 
{ /* Llib/hash.scm 1283 */

{ /* Llib/hash.scm 1283 */
 obj_t BgL_stringz00_5144;
if(
STRINGP(BgL_g1175z00_2585))
{ /* Llib/hash.scm 1283 */
BgL_stringz00_5144 = BgL_g1175z00_2585; }  else 
{ 
 obj_t BgL_auxz00_14310;
BgL_auxz00_14310 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(50916L), BGl_string4230z00zz__hashz00, BGl_string4050z00zz__hashz00, BgL_g1175z00_2585); 
FAILURE(BgL_auxz00_14310,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 1284 */
 obj_t BgL_arg2059z00_5145;
if(
CBOOL(BgL_lenz00_2593))
{ /* Llib/hash.scm 1284 */
BgL_arg2059z00_5145 = BgL_lenz00_2593; }  else 
{ /* Llib/hash.scm 1284 */
BgL_arg2059z00_5145 = 
BINT(
STRING_LENGTH(BgL_stringz00_5144)); } 
{ /* Llib/hash.scm 1284 */
 long BgL_tmpz00_14318;
{ /* Llib/hash.scm 1284 */
 int BgL_auxz00_14329; int BgL_tmpz00_14319;
{ /* Llib/hash.scm 1284 */
 obj_t BgL_tmpz00_14330;
if(
INTEGERP(BgL_arg2059z00_5145))
{ /* Llib/hash.scm 1284 */
BgL_tmpz00_14330 = BgL_arg2059z00_5145
; }  else 
{ 
 obj_t BgL_auxz00_14333;
BgL_auxz00_14333 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(51030L), BGl_string4230z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_arg2059z00_5145); 
FAILURE(BgL_auxz00_14333,BFALSE,BFALSE);} 
BgL_auxz00_14329 = 
CINT(BgL_tmpz00_14330); } 
{ /* Llib/hash.scm 1284 */
 obj_t BgL_tmpz00_14321;
if(
INTEGERP(BgL_startz00_2592))
{ /* Llib/hash.scm 1284 */
BgL_tmpz00_14321 = BgL_startz00_2592
; }  else 
{ 
 obj_t BgL_auxz00_14324;
BgL_auxz00_14324 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(50994L), BGl_string4230z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_startz00_2592); 
FAILURE(BgL_auxz00_14324,BFALSE,BFALSE);} 
BgL_tmpz00_14319 = 
CINT(BgL_tmpz00_14321); } 
BgL_tmpz00_14318 = 
bgl_string_hash(
BSTRING_TO_STRING(BgL_stringz00_5144), BgL_tmpz00_14319, BgL_auxz00_14329); } 
return 
BINT(BgL_tmpz00_14318);} } } } } } break;
default: 
{ /* Llib/hash.scm 1283 */
 long BgL_arg2058z00_2594;
{ 
 obj_t BgL_auxz00_14340;
if(
VECTORP(BgL_opt1173z00_167))
{ /* Llib/hash.scm 1283 */
BgL_auxz00_14340 = BgL_opt1173z00_167
; }  else 
{ 
 obj_t BgL_auxz00_14343;
BgL_auxz00_14343 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(50916L), BGl_string4231z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_opt1173z00_167); 
FAILURE(BgL_auxz00_14343,BFALSE,BFALSE);} 
BgL_arg2058z00_2594 = 
VECTOR_LENGTH(BgL_auxz00_14340); } 
return 
BGl_errorz00zz__errorz00(BGl_symbol4232z00zz__hashz00, BGl_string4234z00zz__hashz00, 
BINT(BgL_arg2058z00_2594));} } } } } } 

}



/* string-hash */
BGL_EXPORTED_DEF long BGl_stringzd2hashzd2zz__hashz00(obj_t BgL_stringz00_164, obj_t BgL_startz00_165, obj_t BgL_lenz00_166)
{
{ /* Llib/hash.scm 1283 */
{ /* Llib/hash.scm 1284 */
 obj_t BgL_arg2059z00_5148;
if(
CBOOL(BgL_lenz00_166))
{ /* Llib/hash.scm 1284 */
BgL_arg2059z00_5148 = BgL_lenz00_166; }  else 
{ /* Llib/hash.scm 1284 */
BgL_arg2059z00_5148 = 
BINT(
STRING_LENGTH(BgL_stringz00_164)); } 
{ /* Llib/hash.scm 1284 */
 int BgL_auxz00_14365; int BgL_tmpz00_14355;
{ /* Llib/hash.scm 1284 */
 obj_t BgL_tmpz00_14366;
if(
INTEGERP(BgL_arg2059z00_5148))
{ /* Llib/hash.scm 1284 */
BgL_tmpz00_14366 = BgL_arg2059z00_5148
; }  else 
{ 
 obj_t BgL_auxz00_14369;
BgL_auxz00_14369 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(51030L), BGl_string4233z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_arg2059z00_5148); 
FAILURE(BgL_auxz00_14369,BFALSE,BFALSE);} 
BgL_auxz00_14365 = 
CINT(BgL_tmpz00_14366); } 
{ /* Llib/hash.scm 1284 */
 obj_t BgL_tmpz00_14357;
if(
INTEGERP(BgL_startz00_165))
{ /* Llib/hash.scm 1284 */
BgL_tmpz00_14357 = BgL_startz00_165
; }  else 
{ 
 obj_t BgL_auxz00_14360;
BgL_auxz00_14360 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(50994L), BGl_string4233z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_startz00_165); 
FAILURE(BgL_auxz00_14360,BFALSE,BFALSE);} 
BgL_tmpz00_14355 = 
CINT(BgL_tmpz00_14357); } 
return 
bgl_string_hash(
BSTRING_TO_STRING(BgL_stringz00_164), BgL_tmpz00_14355, BgL_auxz00_14365);} } } 

}



/* string-hash-number */
BGL_EXPORTED_DEF long BGl_stringzd2hashzd2numberz00zz__hashz00(obj_t BgL_stringz00_169)
{
{ /* Llib/hash.scm 1289 */
{ /* Llib/hash.scm 1290 */
 long BgL_arg2060z00_6945;
BgL_arg2060z00_6945 = 
STRING_LENGTH(BgL_stringz00_169); 
return 
bgl_string_hash(
BSTRING_TO_STRING(BgL_stringz00_169), 
(int)(0L), 
(int)(BgL_arg2060z00_6945));} } 

}



/* &string-hash-number */
obj_t BGl_z62stringzd2hashzd2numberz62zz__hashz00(obj_t BgL_envz00_5611, obj_t BgL_stringz00_5612)
{
{ /* Llib/hash.scm 1289 */
{ /* Llib/hash.scm 1290 */
 long BgL_tmpz00_14380;
{ /* Llib/hash.scm 1290 */
 obj_t BgL_auxz00_14381;
if(
STRINGP(BgL_stringz00_5612))
{ /* Llib/hash.scm 1290 */
BgL_auxz00_14381 = BgL_stringz00_5612
; }  else 
{ 
 obj_t BgL_auxz00_14384;
BgL_auxz00_14384 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(51326L), BGl_string4235z00zz__hashz00, BGl_string4050z00zz__hashz00, BgL_stringz00_5612); 
FAILURE(BgL_auxz00_14384,BFALSE,BFALSE);} 
BgL_tmpz00_14380 = 
BGl_stringzd2hashzd2numberz00zz__hashz00(BgL_auxz00_14381); } 
return 
BINT(BgL_tmpz00_14380);} } 

}



/* open-string-hashtable-rehash! */
bool_t BGl_openzd2stringzd2hashtablezd2rehashz12zc0zz__hashz00(obj_t BgL_tz00_173)
{
{ /* Llib/hash.scm 1301 */
{ /* Llib/hash.scm 1302 */
 obj_t BgL_osiza7eza7_2598;
{ /* Llib/hash.scm 1302 */
 bool_t BgL_test5511z00_14390;
{ /* Llib/hash.scm 1302 */
 obj_t BgL_tmpz00_14391;
{ /* Llib/hash.scm 1302 */
 obj_t BgL_res2729z00_5164;
{ /* Llib/hash.scm 1302 */
 obj_t BgL_aux3953z00_6857;
BgL_aux3953z00_6857 = 
STRUCT_KEY(BgL_tz00_173); 
if(
SYMBOLP(BgL_aux3953z00_6857))
{ /* Llib/hash.scm 1302 */
BgL_res2729z00_5164 = BgL_aux3953z00_6857; }  else 
{ 
 obj_t BgL_auxz00_14395;
BgL_auxz00_14395 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(51992L), BGl_string4236z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3953z00_6857); 
FAILURE(BgL_auxz00_14395,BFALSE,BFALSE);} } 
BgL_tmpz00_14391 = BgL_res2729z00_5164; } 
BgL_test5511z00_14390 = 
(BgL_tmpz00_14391==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test5511z00_14390)
{ /* Llib/hash.scm 1302 */
 int BgL_tmpz00_14400;
BgL_tmpz00_14400 = 
(int)(1L); 
BgL_osiza7eza7_2598 = 
UNSAFE_STRUCT_REF(BgL_tz00_173, BgL_tmpz00_14400); }  else 
{ /* Llib/hash.scm 1302 */
BgL_osiza7eza7_2598 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tz00_173); } } 
{ /* Llib/hash.scm 1302 */
 long BgL_osiza7e3za7_2599;
{ /* Llib/hash.scm 1303 */
 long BgL_za72za7_5165;
{ /* Llib/hash.scm 1303 */
 obj_t BgL_tmpz00_14404;
if(
INTEGERP(BgL_osiza7eza7_2598))
{ /* Llib/hash.scm 1303 */
BgL_tmpz00_14404 = BgL_osiza7eza7_2598
; }  else 
{ 
 obj_t BgL_auxz00_14407;
BgL_auxz00_14407 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(52041L), BGl_string4236z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_osiza7eza7_2598); 
FAILURE(BgL_auxz00_14407,BFALSE,BFALSE);} 
BgL_za72za7_5165 = 
(long)CINT(BgL_tmpz00_14404); } 
BgL_osiza7e3za7_2599 = 
(3L*BgL_za72za7_5165); } 
{ /* Llib/hash.scm 1303 */
 obj_t BgL_obucketsz00_2600;
{ /* Llib/hash.scm 1304 */
 bool_t BgL_test5514z00_14413;
{ /* Llib/hash.scm 1304 */
 obj_t BgL_tmpz00_14414;
{ /* Llib/hash.scm 1304 */
 obj_t BgL_res2730z00_5169;
{ /* Llib/hash.scm 1304 */
 obj_t BgL_aux3956z00_6860;
BgL_aux3956z00_6860 = 
STRUCT_KEY(BgL_tz00_173); 
if(
SYMBOLP(BgL_aux3956z00_6860))
{ /* Llib/hash.scm 1304 */
BgL_res2730z00_5169 = BgL_aux3956z00_6860; }  else 
{ 
 obj_t BgL_auxz00_14418;
BgL_auxz00_14418 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(52062L), BGl_string4236z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3956z00_6860); 
FAILURE(BgL_auxz00_14418,BFALSE,BFALSE);} } 
BgL_tmpz00_14414 = BgL_res2730z00_5169; } 
BgL_test5514z00_14413 = 
(BgL_tmpz00_14414==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test5514z00_14413)
{ /* Llib/hash.scm 1304 */
 int BgL_tmpz00_14423;
BgL_tmpz00_14423 = 
(int)(2L); 
BgL_obucketsz00_2600 = 
UNSAFE_STRUCT_REF(BgL_tz00_173, BgL_tmpz00_14423); }  else 
{ /* Llib/hash.scm 1304 */
BgL_obucketsz00_2600 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tz00_173); } } 
{ /* Llib/hash.scm 1304 */
 long BgL_nsiza7eza7_2601;
{ /* Llib/hash.scm 1305 */
 long BgL_tmpz00_14427;
{ /* Llib/hash.scm 1305 */
 long BgL_za71za7_5170;
{ /* Llib/hash.scm 1305 */
 obj_t BgL_tmpz00_14428;
if(
INTEGERP(BgL_osiza7eza7_2598))
{ /* Llib/hash.scm 1305 */
BgL_tmpz00_14428 = BgL_osiza7eza7_2598
; }  else 
{ 
 obj_t BgL_auxz00_14431;
BgL_auxz00_14431 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(52108L), BGl_string4236z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_osiza7eza7_2598); 
FAILURE(BgL_auxz00_14431,BFALSE,BFALSE);} 
BgL_za71za7_5170 = 
(long)CINT(BgL_tmpz00_14428); } 
BgL_tmpz00_14427 = 
(BgL_za71za7_5170*2L); } 
BgL_nsiza7eza7_2601 = 
(1L+BgL_tmpz00_14427); } 
{ /* Llib/hash.scm 1305 */
 obj_t BgL_nbucketsz00_2602;
BgL_nbucketsz00_2602 = 
make_vector(
(BgL_nsiza7eza7_2601*3L), BFALSE); 
{ /* Llib/hash.scm 1306 */

{ /* Llib/hash.scm 1307 */
 bool_t BgL_test5517z00_14440;
{ /* Llib/hash.scm 1307 */
 obj_t BgL_tmpz00_14441;
{ /* Llib/hash.scm 1307 */
 obj_t BgL_res2731z00_5176;
{ /* Llib/hash.scm 1307 */
 obj_t BgL_aux3959z00_6863;
BgL_aux3959z00_6863 = 
STRUCT_KEY(BgL_tz00_173); 
if(
SYMBOLP(BgL_aux3959z00_6863))
{ /* Llib/hash.scm 1307 */
BgL_res2731z00_5176 = BgL_aux3959z00_6863; }  else 
{ 
 obj_t BgL_auxz00_14445;
BgL_auxz00_14445 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(52171L), BGl_string4236z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3959z00_6863); 
FAILURE(BgL_auxz00_14445,BFALSE,BFALSE);} } 
BgL_tmpz00_14441 = BgL_res2731z00_5176; } 
BgL_test5517z00_14440 = 
(BgL_tmpz00_14441==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test5517z00_14440)
{ /* Llib/hash.scm 1307 */
 obj_t BgL_auxz00_14452; int BgL_tmpz00_14450;
BgL_auxz00_14452 = 
BINT(BgL_nsiza7eza7_2601); 
BgL_tmpz00_14450 = 
(int)(1L); 
UNSAFE_STRUCT_SET(BgL_tz00_173, BgL_tmpz00_14450, BgL_auxz00_14452); }  else 
{ /* Llib/hash.scm 1307 */
BGl_errorz00zz__errorz00(BGl_string4005z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tz00_173); } } 
{ /* Llib/hash.scm 1308 */
 bool_t BgL_test5519z00_14456;
{ /* Llib/hash.scm 1308 */
 obj_t BgL_tmpz00_14457;
{ /* Llib/hash.scm 1308 */
 obj_t BgL_res2732z00_5180;
{ /* Llib/hash.scm 1308 */
 obj_t BgL_aux3961z00_6865;
BgL_aux3961z00_6865 = 
STRUCT_KEY(BgL_tz00_173); 
if(
SYMBOLP(BgL_aux3961z00_6865))
{ /* Llib/hash.scm 1308 */
BgL_res2732z00_5180 = BgL_aux3961z00_6865; }  else 
{ 
 obj_t BgL_auxz00_14461;
BgL_auxz00_14461 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(52218L), BGl_string4236z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3961z00_6865); 
FAILURE(BgL_auxz00_14461,BFALSE,BFALSE);} } 
BgL_tmpz00_14457 = BgL_res2732z00_5180; } 
BgL_test5519z00_14456 = 
(BgL_tmpz00_14457==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test5519z00_14456)
{ /* Llib/hash.scm 1308 */
 int BgL_tmpz00_14466;
BgL_tmpz00_14466 = 
(int)(2L); 
UNSAFE_STRUCT_SET(BgL_tz00_173, BgL_tmpz00_14466, BgL_nbucketsz00_2602); }  else 
{ /* Llib/hash.scm 1308 */
BGl_errorz00zz__errorz00(BGl_string4005z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tz00_173); } } 
{ /* Llib/hash.scm 1296 */
 bool_t BgL_test5521z00_14470;
{ /* Llib/hash.scm 1296 */
 obj_t BgL_tmpz00_14471;
{ /* Llib/hash.scm 1296 */
 obj_t BgL_res2733z00_5184;
{ /* Llib/hash.scm 1296 */
 obj_t BgL_aux3963z00_6867;
BgL_aux3963z00_6867 = 
STRUCT_KEY(BgL_tz00_173); 
if(
SYMBOLP(BgL_aux3963z00_6867))
{ /* Llib/hash.scm 1296 */
BgL_res2733z00_5184 = BgL_aux3963z00_6867; }  else 
{ 
 obj_t BgL_auxz00_14475;
BgL_auxz00_14475 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(51676L), BGl_string4236z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3963z00_6867); 
FAILURE(BgL_auxz00_14475,BFALSE,BFALSE);} } 
BgL_tmpz00_14471 = BgL_res2733z00_5184; } 
BgL_test5521z00_14470 = 
(BgL_tmpz00_14471==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test5521z00_14470)
{ /* Llib/hash.scm 1296 */
 obj_t BgL_auxz00_14482; int BgL_tmpz00_14480;
BgL_auxz00_14482 = 
BINT(0L); 
BgL_tmpz00_14480 = 
(int)(6L); 
UNSAFE_STRUCT_SET(BgL_tz00_173, BgL_tmpz00_14480, BgL_auxz00_14482); }  else 
{ /* Llib/hash.scm 1296 */
BGl_errorz00zz__errorz00(BGl_string4005z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tz00_173); } } 
{ /* Llib/hash.scm 1310 */
 bool_t BgL_test5523z00_14486;
{ /* Llib/hash.scm 1310 */
 obj_t BgL_tmpz00_14487;
{ /* Llib/hash.scm 1310 */
 obj_t BgL_res2734z00_5188;
{ /* Llib/hash.scm 1310 */
 obj_t BgL_aux3965z00_6869;
BgL_aux3965z00_6869 = 
STRUCT_KEY(BgL_tz00_173); 
if(
SYMBOLP(BgL_aux3965z00_6869))
{ /* Llib/hash.scm 1310 */
BgL_res2734z00_5188 = BgL_aux3965z00_6869; }  else 
{ 
 obj_t BgL_auxz00_14491;
BgL_auxz00_14491 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(52300L), BGl_string4236z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3965z00_6869); 
FAILURE(BgL_auxz00_14491,BFALSE,BFALSE);} } 
BgL_tmpz00_14487 = BgL_res2734z00_5188; } 
BgL_test5523z00_14486 = 
(BgL_tmpz00_14487==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test5523z00_14486)
{ /* Llib/hash.scm 1310 */
 obj_t BgL_auxz00_14498; int BgL_tmpz00_14496;
BgL_auxz00_14498 = 
BINT(0L); 
BgL_tmpz00_14496 = 
(int)(0L); 
UNSAFE_STRUCT_SET(BgL_tz00_173, BgL_tmpz00_14496, BgL_auxz00_14498); }  else 
{ /* Llib/hash.scm 1310 */
BGl_errorz00zz__errorz00(BGl_string4005z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tz00_173); } } 
{ 
 long BgL_iz00_2604;
BgL_iz00_2604 = 0L; 
BgL_zc3z04anonymousza32061ze3z87_2605:
if(
(BgL_iz00_2604==BgL_osiza7e3za7_2599))
{ /* Llib/hash.scm 1312 */
return ((bool_t)0);}  else 
{ /* Llib/hash.scm 1313 */
 obj_t BgL_cz00_2607;
{ /* Llib/hash.scm 1313 */
 obj_t BgL_vectorz00_5191;
if(
VECTORP(BgL_obucketsz00_2600))
{ /* Llib/hash.scm 1313 */
BgL_vectorz00_5191 = BgL_obucketsz00_2600; }  else 
{ 
 obj_t BgL_auxz00_14506;
BgL_auxz00_14506 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(52402L), BGl_string4064z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_obucketsz00_2600); 
FAILURE(BgL_auxz00_14506,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 1313 */
 bool_t BgL_test5527z00_14510;
{ /* Llib/hash.scm 1313 */
 long BgL_tmpz00_14511;
BgL_tmpz00_14511 = 
VECTOR_LENGTH(BgL_vectorz00_5191); 
BgL_test5527z00_14510 = 
BOUND_CHECK(BgL_iz00_2604, BgL_tmpz00_14511); } 
if(BgL_test5527z00_14510)
{ /* Llib/hash.scm 1313 */
BgL_cz00_2607 = 
VECTOR_REF(BgL_vectorz00_5191,BgL_iz00_2604); }  else 
{ 
 obj_t BgL_auxz00_14515;
BgL_auxz00_14515 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(52390L), BGl_string4012z00zz__hashz00, BgL_vectorz00_5191, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_5191)), 
(int)(BgL_iz00_2604)); 
FAILURE(BgL_auxz00_14515,BFALSE,BFALSE);} } } 
if(
CBOOL(BgL_cz00_2607))
{ /* Llib/hash.scm 1315 */
 obj_t BgL_hz00_2608;
{ /* Llib/hash.scm 1315 */
 long BgL_arg2065z00_2611;
BgL_arg2065z00_2611 = 
(BgL_iz00_2604+2L); 
{ /* Llib/hash.scm 1315 */
 obj_t BgL_vectorz00_5194;
if(
VECTORP(BgL_obucketsz00_2600))
{ /* Llib/hash.scm 1315 */
BgL_vectorz00_5194 = BgL_obucketsz00_2600; }  else 
{ 
 obj_t BgL_auxz00_14527;
BgL_auxz00_14527 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(52457L), BGl_string4064z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_obucketsz00_2600); 
FAILURE(BgL_auxz00_14527,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 1315 */
 bool_t BgL_test5530z00_14531;
{ /* Llib/hash.scm 1315 */
 long BgL_tmpz00_14532;
BgL_tmpz00_14532 = 
VECTOR_LENGTH(BgL_vectorz00_5194); 
BgL_test5530z00_14531 = 
BOUND_CHECK(BgL_arg2065z00_2611, BgL_tmpz00_14532); } 
if(BgL_test5530z00_14531)
{ /* Llib/hash.scm 1315 */
BgL_hz00_2608 = 
VECTOR_REF(BgL_vectorz00_5194,BgL_arg2065z00_2611); }  else 
{ 
 obj_t BgL_auxz00_14536;
BgL_auxz00_14536 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(52445L), BGl_string4012z00zz__hashz00, BgL_vectorz00_5194, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_5194)), 
(int)(BgL_arg2065z00_2611)); 
FAILURE(BgL_auxz00_14536,BFALSE,BFALSE);} } } } 
if(
CBOOL(BgL_hz00_2608))
{ /* Llib/hash.scm 1318 */
 obj_t BgL_arg2063z00_2609;
{ /* Llib/hash.scm 1318 */
 long BgL_arg2064z00_2610;
BgL_arg2064z00_2610 = 
(BgL_iz00_2604+1L); 
{ /* Llib/hash.scm 1318 */
 obj_t BgL_vectorz00_5197;
if(
VECTORP(BgL_obucketsz00_2600))
{ /* Llib/hash.scm 1318 */
BgL_vectorz00_5197 = BgL_obucketsz00_2600; }  else 
{ 
 obj_t BgL_auxz00_14548;
BgL_auxz00_14548 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(52552L), BGl_string4064z00zz__hashz00, BGl_string4008z00zz__hashz00, BgL_obucketsz00_2600); 
FAILURE(BgL_auxz00_14548,BFALSE,BFALSE);} 
{ /* Llib/hash.scm 1318 */
 bool_t BgL_test5533z00_14552;
{ /* Llib/hash.scm 1318 */
 long BgL_tmpz00_14553;
BgL_tmpz00_14553 = 
VECTOR_LENGTH(BgL_vectorz00_5197); 
BgL_test5533z00_14552 = 
BOUND_CHECK(BgL_arg2064z00_2610, BgL_tmpz00_14553); } 
if(BgL_test5533z00_14552)
{ /* Llib/hash.scm 1318 */
BgL_arg2063z00_2609 = 
VECTOR_REF(BgL_vectorz00_5197,BgL_arg2064z00_2610); }  else 
{ 
 obj_t BgL_auxz00_14557;
BgL_auxz00_14557 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(52540L), BGl_string4012z00zz__hashz00, BgL_vectorz00_5197, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_5197)), 
(int)(BgL_arg2064z00_2610)); 
FAILURE(BgL_auxz00_14557,BFALSE,BFALSE);} } } } 
BGl_openzd2stringzd2hashtablezd2putzf2hashz12z32zz__hashz00(BgL_tz00_173, BgL_cz00_2607, BgL_arg2063z00_2609, BgL_hz00_2608); }  else 
{ /* Llib/hash.scm 1316 */BFALSE; } }  else 
{ /* Llib/hash.scm 1314 */BFALSE; } 
{ 
 long BgL_iz00_14565;
BgL_iz00_14565 = 
(BgL_iz00_2604+3L); 
BgL_iz00_2604 = BgL_iz00_14565; 
goto BgL_zc3z04anonymousza32061ze3z87_2605;} } } } } } } } } } 

}



/* open-string-hashtable-size-inc! */
obj_t BGl_openzd2stringzd2hashtablezd2siza7ezd2incz12zb5zz__hashz00(obj_t BgL_tz00_175)
{
{ /* Llib/hash.scm 1331 */
{ /* Llib/hash.scm 1332 */
 obj_t BgL_nz00_2618;
{ /* Llib/hash.scm 1332 */
 bool_t BgL_test5534z00_14567;
{ /* Llib/hash.scm 1332 */
 obj_t BgL_tmpz00_14568;
{ /* Llib/hash.scm 1332 */
 obj_t BgL_res2737z00_5214;
{ /* Llib/hash.scm 1332 */
 obj_t BgL_aux3973z00_6877;
BgL_aux3973z00_6877 = 
STRUCT_KEY(BgL_tz00_175); 
if(
SYMBOLP(BgL_aux3973z00_6877))
{ /* Llib/hash.scm 1332 */
BgL_res2737z00_5214 = BgL_aux3973z00_6877; }  else 
{ 
 obj_t BgL_auxz00_14572;
BgL_auxz00_14572 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(53235L), BGl_string4237z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3973z00_6877); 
FAILURE(BgL_auxz00_14572,BFALSE,BFALSE);} } 
BgL_tmpz00_14568 = BgL_res2737z00_5214; } 
BgL_test5534z00_14567 = 
(BgL_tmpz00_14568==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test5534z00_14567)
{ /* Llib/hash.scm 1332 */
 int BgL_tmpz00_14577;
BgL_tmpz00_14577 = 
(int)(0L); 
BgL_nz00_2618 = 
UNSAFE_STRUCT_REF(BgL_tz00_175, BgL_tmpz00_14577); }  else 
{ /* Llib/hash.scm 1332 */
BgL_nz00_2618 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tz00_175); } } 
{ /* Llib/hash.scm 1333 */
 bool_t BgL_test5536z00_14581;
{ /* Llib/hash.scm 1333 */
 long BgL_arg2077z00_2624; long BgL_arg2078z00_2625;
{ /* Llib/hash.scm 1333 */
 long BgL_za71za7_5215;
{ /* Llib/hash.scm 1333 */
 obj_t BgL_tmpz00_14582;
if(
INTEGERP(BgL_nz00_2618))
{ /* Llib/hash.scm 1333 */
BgL_tmpz00_14582 = BgL_nz00_2618
; }  else 
{ 
 obj_t BgL_auxz00_14585;
BgL_auxz00_14585 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(53277L), BGl_string4237z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_nz00_2618); 
FAILURE(BgL_auxz00_14585,BFALSE,BFALSE);} 
BgL_za71za7_5215 = 
(long)CINT(BgL_tmpz00_14582); } 
BgL_arg2077z00_2624 = 
(BgL_za71za7_5215*3L); } 
{ /* Llib/hash.scm 1333 */
 obj_t BgL_arg2079z00_2626;
{ /* Llib/hash.scm 1333 */
 bool_t BgL_test5538z00_14591;
{ /* Llib/hash.scm 1333 */
 obj_t BgL_tmpz00_14592;
{ /* Llib/hash.scm 1333 */
 obj_t BgL_res2738z00_5219;
{ /* Llib/hash.scm 1333 */
 obj_t BgL_aux3976z00_6880;
BgL_aux3976z00_6880 = 
STRUCT_KEY(BgL_tz00_175); 
if(
SYMBOLP(BgL_aux3976z00_6880))
{ /* Llib/hash.scm 1333 */
BgL_res2738z00_5219 = BgL_aux3976z00_6880; }  else 
{ 
 obj_t BgL_auxz00_14596;
BgL_auxz00_14596 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(53289L), BGl_string4237z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3976z00_6880); 
FAILURE(BgL_auxz00_14596,BFALSE,BFALSE);} } 
BgL_tmpz00_14592 = BgL_res2738z00_5219; } 
BgL_test5538z00_14591 = 
(BgL_tmpz00_14592==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test5538z00_14591)
{ /* Llib/hash.scm 1333 */
 int BgL_tmpz00_14601;
BgL_tmpz00_14601 = 
(int)(1L); 
BgL_arg2079z00_2626 = 
UNSAFE_STRUCT_REF(BgL_tz00_175, BgL_tmpz00_14601); }  else 
{ /* Llib/hash.scm 1333 */
BgL_arg2079z00_2626 = 
BGl_errorz00zz__errorz00(BGl_string3987z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tz00_175); } } 
{ /* Llib/hash.scm 1333 */
 long BgL_za72za7_5220;
{ /* Llib/hash.scm 1333 */
 obj_t BgL_tmpz00_14605;
if(
INTEGERP(BgL_arg2079z00_2626))
{ /* Llib/hash.scm 1333 */
BgL_tmpz00_14605 = BgL_arg2079z00_2626
; }  else 
{ 
 obj_t BgL_auxz00_14608;
BgL_auxz00_14608 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(53317L), BGl_string4237z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_arg2079z00_2626); 
FAILURE(BgL_auxz00_14608,BFALSE,BFALSE);} 
BgL_za72za7_5220 = 
(long)CINT(BgL_tmpz00_14605); } 
BgL_arg2078z00_2625 = 
(2L*BgL_za72za7_5220); } } 
BgL_test5536z00_14581 = 
(BgL_arg2077z00_2624>BgL_arg2078z00_2625); } 
if(BgL_test5536z00_14581)
{ /* Llib/hash.scm 1333 */
return 
BBOOL(
BGl_openzd2stringzd2hashtablezd2rehashz12zc0zz__hashz00(BgL_tz00_175));}  else 
{ /* Llib/hash.scm 1335 */
 long BgL_arg2076z00_2623;
{ /* Llib/hash.scm 1335 */
 long BgL_za71za7_5223;
{ /* Llib/hash.scm 1335 */
 obj_t BgL_tmpz00_14617;
if(
INTEGERP(BgL_nz00_2618))
{ /* Llib/hash.scm 1335 */
BgL_tmpz00_14617 = BgL_nz00_2618
; }  else 
{ 
 obj_t BgL_auxz00_14620;
BgL_auxz00_14620 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(53390L), BGl_string4237z00zz__hashz00, BGl_string3996z00zz__hashz00, BgL_nz00_2618); 
FAILURE(BgL_auxz00_14620,BFALSE,BFALSE);} 
BgL_za71za7_5223 = 
(long)CINT(BgL_tmpz00_14617); } 
BgL_arg2076z00_2623 = 
(BgL_za71za7_5223+1L); } 
{ /* Llib/hash.scm 1335 */
 bool_t BgL_test5542z00_14626;
{ /* Llib/hash.scm 1335 */
 obj_t BgL_tmpz00_14627;
{ /* Llib/hash.scm 1335 */
 obj_t BgL_res2739z00_5227;
{ /* Llib/hash.scm 1335 */
 obj_t BgL_aux3980z00_6884;
BgL_aux3980z00_6884 = 
STRUCT_KEY(BgL_tz00_175); 
if(
SYMBOLP(BgL_aux3980z00_6884))
{ /* Llib/hash.scm 1335 */
BgL_res2739z00_5227 = BgL_aux3980z00_6884; }  else 
{ 
 obj_t BgL_auxz00_14631;
BgL_auxz00_14631 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string4004z00zz__hashz00, 
BINT(53361L), BGl_string4237z00zz__hashz00, BGl_string3984z00zz__hashz00, BgL_aux3980z00_6884); 
FAILURE(BgL_auxz00_14631,BFALSE,BFALSE);} } 
BgL_tmpz00_14627 = BgL_res2739z00_5227; } 
BgL_test5542z00_14626 = 
(BgL_tmpz00_14627==BGl_symbol3985z00zz__hashz00); } 
if(BgL_test5542z00_14626)
{ /* Llib/hash.scm 1335 */
 obj_t BgL_auxz00_14638; int BgL_tmpz00_14636;
BgL_auxz00_14638 = 
BINT(BgL_arg2076z00_2623); 
BgL_tmpz00_14636 = 
(int)(0L); 
return 
UNSAFE_STRUCT_SET(BgL_tz00_175, BgL_tmpz00_14636, BgL_auxz00_14638);}  else 
{ /* Llib/hash.scm 1335 */
return 
BGl_errorz00zz__errorz00(BGl_string4005z00zz__hashz00, BGl_string3986z00zz__hashz00, BgL_tz00_175);} } } } } } 

}



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

}



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

}



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

}



/* imported-modules-init */
obj_t BGl_importedzd2moduleszd2initz00zz__hashz00(void)
{
{ /* Llib/hash.scm 18 */
BGl_modulezd2initializa7ationz75zz__errorz00(88804785L, 
BSTRING_TO_STRING(BGl_string4238z00zz__hashz00)); 
BGl_modulezd2initializa7ationz75zz__r4_symbols_6_4z00(115192690L, 
BSTRING_TO_STRING(BGl_string4238z00zz__hashz00)); 
BGl_modulezd2initializa7ationz75zz__paramz00(453939141L, 
BSTRING_TO_STRING(BGl_string4238z00zz__hashz00)); 
return 
BGl_modulezd2initializa7ationz75zz__weakhashz00(56552828L, 
BSTRING_TO_STRING(BGl_string4238z00zz__hashz00));} 

}

#ifdef __cplusplus
}
#endif
