/*===========================================================================*/
/*   (Llib/hash.scm)                                                         */
/*   Bigloo (2.6b)                                                           */
/*   Inria -- Sophia Antipolis (c)       Mon Dec 15 12:14:36 CET 2003        */
/*===========================================================================*/
/* COMPILATION: (/users/serrano/prgm/project/bigloo/bin/bigloo -O4 -mklib -cc gcc-2.95 -fsharing -q -s -copt -DBGL_NO_PIC -unsafe -c Llib/hash.scm -indent -o objs/obj_u/Llib/hash.c)*/
/* GC selection */
#define THE_GC BOEHM_GC

#include <bigloo.h>
#include <signal.h>


/* Object type definitions */

static obj_t BGl__intzd2ze30ze2ze22ze5xzd21z06zz__hashz00(obj_t, obj_t, obj_t);
static obj_t BGl__hashtablezd2keyzd2listz00zz__hashz00(obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zz__hashz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zz__errorz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zz__r4_symbols_6_4z00(long, char *);
static obj_t BGl__hashtablezf3zf3zz__hashz00(obj_t, obj_t);
BGL_EXPORTED_DECL long BGl_objzd2ze30ze2ze22ze5xzd21z06zz__hashz00(obj_t, long);
static obj_t BGl__hashtablezd2updatez122554zc0zz__hashz00(obj_t, obj_t, obj_t, obj_t, obj_t);
static obj_t BGl__getzd2hashzd2zz__hashz00(obj_t, obj_t, obj_t);
extern obj_t create_struct(obj_t, int);
static obj_t BGl_hashzd2tablezd2growsz12z12zz__hashz00(obj_t);
static obj_t BGl__hashtablezd2putz12zc0zz__hashz00(obj_t, obj_t, obj_t, obj_t);
static obj_t BGl_methodzd2initzd2zz__hashz00();
extern long get_hash_power_number(char *, long);
static obj_t BGl__stringzd2ze30ze2ze22ze5xzd21z06zz__hashz00(obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_hashtablezd2putz12zc0zz__hashz00(obj_t, obj_t, obj_t);
extern int bgl_obj_hash_number(obj_t);
BGL_EXPORTED_DECL long BGl_stringzd2ze30ze2ze2255z31zz__hashz00(char *);
static obj_t BGl_getzd2hashzd2numberz00zz__hashz00(obj_t, obj_t);
static obj_t BGl__objzd2ze30ze2ze2255z31zz__hashz00(obj_t, obj_t);
static long BGl_defaultzd2hashtablezd2bucketzd2lengthzd2zz__hashz00;
extern long get_hash_number(char *);
BGL_EXPORTED_DECL bool_t BGl_hashtablezf3zf3zz__hashz00(obj_t);
BGL_EXPORTED_DECL obj_t BGl_hashtablezd2getzd2zz__hashz00(obj_t, obj_t);
static obj_t BGl_cnstzd2initzd2zz__hashz00();
BGL_EXPORTED_DECL obj_t BGl_hashtablezd2ze3listz31zz__hashz00(obj_t);
BGL_EXPORTED_DECL long BGl_stringzd2ze30ze2ze22ze5xzd21z06zz__hashz00(char *, long);
BGL_EXPORTED_DECL obj_t BGl_hashzd2tablezd2nbzd2entryzd2zz__hashz00(obj_t);
extern bool_t bigloo_strcmp(obj_t, obj_t);
static obj_t BGl__hashzd2tablezd2nbzd2entryzd2zz__hashz00(obj_t, obj_t);
extern int bgl_symbol_hash_number(obj_t);
extern long get_hash_number_from_int(long);
extern obj_t string_to_symbol(char *);
static obj_t BGl__intzd2ze30ze2ze2255z31zz__hashz00(obj_t, obj_t);
static obj_t BGl__hashtablezd2siza7ez75zz__hashz00(obj_t, obj_t);
static obj_t BGl__forzd2eachzd2hashz00zz__hashz00(obj_t, obj_t, obj_t);
static obj_t BGl__hashtablezd2removez12zc0zz__hashz00(obj_t, obj_t, obj_t);
static obj_t BGl__getzd2hashnumberzd2zz__hashz00(obj_t, obj_t);
static obj_t BGl__hashtablezd2forzd2eachz00zz__hashz00(obj_t, obj_t, obj_t);
static obj_t BGl_symbol2838z00zz__hashz00 = BUNSPEC;
static obj_t BGl_symbol2833z00zz__hashz00 = BUNSPEC;
static obj_t BGl__hashtablezd2ze3vectorz31zz__hashz00(obj_t, obj_t);
static obj_t BGl__hashtablezd2ze3listz31zz__hashz00(obj_t, obj_t);
static obj_t BGl_symbol2830z00zz__hashz00 = BUNSPEC;
static obj_t BGl__remzd2keyzd2hashz12z12zz__hashz00(obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_hashtablezd2ze3vectorz31zz__hashz00(obj_t);
BGL_EXPORTED_DECL obj_t BGl_remzd2objzd2hashz12z12zz__hashz00(obj_t, obj_t);
BGL_EXPORTED_DECL long BGl_intzd2ze30ze2ze2255z31zz__hashz00(long);
static obj_t BGl__objzd2ze30ze2ze22ze5xzd21z06zz__hashz00(obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_hashtablezd2keyzd2listz00zz__hashz00(obj_t);
BGL_EXPORTED_DECL obj_t BGl_putzd2hashz12zc0zz__hashz00(obj_t, obj_t);
static obj_t BGl__putzd2hashz12zc0zz__hashz00(obj_t, obj_t, obj_t);
extern obj_t make_vector(int, obj_t);
BGL_EXPORTED_DECL int BGl_getzd2hashnumberzd2zz__hashz00(obj_t);
static obj_t BGl_importedzd2moduleszd2initz00zz__hashz00();
BGL_EXPORTED_DECL obj_t BGl_makezd2hashtablezd2zz__hashz00(obj_t);
BGL_EXPORTED_DECL bool_t BGl_hashtablezd2removez12zc0zz__hashz00(obj_t, obj_t);
static obj_t BGl__hashzd2tablezd2ze3vectorze3zz__hashz00(obj_t, obj_t);
BGL_EXPORTED_DECL long BGl_intzd2ze30ze2ze22ze5xzd21z06zz__hashz00(long, long);
extern long get_hash_power_number_from_int(long, long);
static obj_t BGl_requirezd2initializa7ationz75zz__hashz00 = BUNSPEC;
extern int bgl_string_hash_number(char *);
BGL_EXPORTED_DECL obj_t BGl_hashtablezd2updatez12zc0zz__hashz00(obj_t, obj_t, obj_t, obj_t);
extern bool_t BGl_equalzf3zf3zz__r4_equivalence_6_2z00(obj_t, obj_t);
static long BGl_defaultzd2maxzd2bucketzd2lengthzd2zz__hashz00;
static obj_t BGl__makezd2hashtablezd2zz__hashz00(obj_t, obj_t);
static obj_t BGl__hashtablezd2getzd2zz__hashz00(obj_t, obj_t, obj_t);
static bool_t BGl_hashtablezd2expandz12zc0zz__hashz00(obj_t);
extern long BGl_moduloz00zz__r4_numbers_6_5_fixnumz00(long, long);
extern long get_hash_power_number_from_pointer(obj_t, long);
BGL_EXPORTED_DECL obj_t BGl_hashtablezd2forzd2eachz00zz__hashz00(obj_t, obj_t);
static obj_t BGl__hashzd2tablezf3z21zz__hashz00(obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_makezd2hashzd2tablez00zz__hashz00(long, obj_t, obj_t, obj_t, obj_t);
static obj_t BGl__makezd2hashzd2tablez00zz__hashz00(obj_t, obj_t, obj_t, obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_forzd2eachzd2hashz00zz__hashz00(obj_t, obj_t);
BGL_EXPORTED_DECL long BGl_objzd2ze30ze2ze2255z31zz__hashz00(obj_t);
BGL_EXPORTED_DECL int BGl_hashtablezd2siza7ez75zz__hashz00(obj_t);
static obj_t BGl__remzd2objzd2hashz12z12zz__hashz00(obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_hashzd2tablezd2ze3vectorze3zz__hashz00(obj_t);
BGL_EXPORTED_DECL bool_t BGl_hashzd2tablezf3z21zz__hashz00(obj_t);
extern int bgl_foreign_hash_number(obj_t);
static obj_t BGl_toplevelzd2initzd2zz__hashz00();
static obj_t BGl__stringzd2ze30ze2ze2255z31zz__hashz00(obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_getzd2hashzd2zz__hashz00(obj_t, obj_t);
extern int BGl_objectzd2hashnumberzd2zz__objectz00(BgL_objectz00_bglt);
static bool_t BGl_2ze5powerzf3z16zz__hashz00(obj_t);
BGL_EXPORTED_DECL obj_t BGl_remzd2keyzd2hashz12z12zz__hashz00(obj_t, obj_t);
extern long get_hash_number_from_pointer(obj_t);
static obj_t *__cnst;


DEFINE_EXPORT_PROCEDURE( BGl_getzd2hashzd2envz00zz__hashz00, BgL_bgl__getza7d2hashza7d2za7za7__hashza7002846za7, BGl__getzd2hashzd2zz__hashz00, 0L, 2 );
DEFINE_EXPORT_PROCEDURE( BGl_forzd2eachzd2hashzd2envzd2zz__hashz00, BgL_bgl__forza7d2eachza7d2hashza700za7za7__hashza7002847z00, BGl__forzd2eachzd2hashz00zz__hashz00, 0L, 2 );
DEFINE_EXPORT_PROCEDURE( BGl_hashtablezd2siza7ezd2envza7zz__hashz00, BgL_bgl__hashtableza7d2siza7a7eza775za7za7__hashza7002848z00, BGl__hashtablezd2siza7ez75zz__hashz00, 0L, 1 );
DEFINE_EXPORT_PROCEDURE( BGl_makezd2hashzd2tablezd2envzd2zz__hashz00, BgL_bgl__makeza7d2hashza7d2tableza700za7za7__hashza7002849z00, va_generic_entry, BGl__makezd2hashzd2tablez00zz__hashz00, -5 );
DEFINE_EXPORT_PROCEDURE( BGl_hashtablezd2getzd2envz00zz__hashz00, BgL_bgl__hashtableza7d2getza7d2za7za7__hashza7002850za7, BGl__hashtablezd2getzd2zz__hashz00, 0L, 2 );
DEFINE_EXPORT_PROCEDURE( BGl_hashtablezd2putz12zd2envz12zz__hashz00, BgL_bgl__hashtableza7d2putza712za7c0za7za7__hashza7002851z00, BGl__hashtablezd2putz12zc0zz__hashz00, 0L, 3 );
DEFINE_EXPORT_PROCEDURE( BGl_hashzd2tablezd2nbzd2entryzd2envz00zz__hashz00, BgL_bgl__hashza7d2tableza7d2nbza7d2entryza7d2za7za7__hashza7002852za7, BGl__hashzd2tablezd2nbzd2entryzd2zz__hashz00, 0L, 1 );
DEFINE_EXPORT_PROCEDURE( BGl_hashtablezd2keyzd2listzd2envzd2zz__hashz00, BgL_bgl__hashtableza7d2keyza7d2listza700za7za7__hashza7002853z00, BGl__hashtablezd2keyzd2listz00zz__hashz00, 0L, 1 );
DEFINE_EXPORT_PROCEDURE( BGl_hashtablezd2ze3vectorzd2envze3zz__hashz00, BgL_bgl__hashtableza7d2za7e3vectorza731za7za7__hashza7002854z00, BGl__hashtablezd2ze3vectorz31zz__hashz00, 0L, 1 );
DEFINE_EXPORT_PROCEDURE( BGl_hashzd2tablezd2ze3vectorzd2envz31zz__hashz00, BgL_bgl__hashza7d2tableza7d2za7e3vectorza7e3za7za7__hashza7002855za7, BGl__hashzd2tablezd2ze3vectorze3zz__hashz00, 0L, 1 );
DEFINE_EXPORT_PROCEDURE( BGl_intzd2ze30ze2ze2255zd2envze3zz__hashz00, BgL_bgl__intza7d2za7e30za7e2za7e2255za731za7za7__hashza7002856z00, BGl__intzd2ze30ze2ze2255z31zz__hashz00, 0L, 1 );
DEFINE_EXPORT_PROCEDURE( BGl_objzd2ze30ze2ze22ze5xzd21zd2envzd4zz__hashz00, BgL_bgl__objza7d2za7e30za7e2za7e22za7e5xza7d21za706za7za7__hashza7002857z00, BGl__objzd2ze30ze2ze22ze5xzd21z06zz__hashz00, 0L, 2 );
DEFINE_EXPORT_PROCEDURE( BGl_stringzd2ze30ze2ze2255zd2envze3zz__hashz00, BgL_bgl__stringza7d2za7e30za7e2za7e2255za731za7za7__hashza7002858z00, BGl__stringzd2ze30ze2ze2255z31zz__hashz00, 0L, 1 );
DEFINE_STRING( BGl_string2837z00zz__hashz00, BgL_bgl_string2837za700za7za7__hashza7002859z00, "Illegal get-hash-function", 25 );
DEFINE_STRING( BGl_string2836z00zz__hashz00, BgL_bgl_string2836za700za7za7__hashza7002860z00, "get-hash-number", 15 );
DEFINE_STRING( BGl_string2835z00zz__hashz00, BgL_bgl_string2835za700za7za7__hashza7002861z00, "Illegal init-size (not a 2 power)", 33 );
DEFINE_EXPORT_PROCEDURE( BGl_hashtablezf3zd2envz21zz__hashz00, BgL_bgl__hashtableza7f3za7f3za7za7__hashza7002862za7, BGl__hashtablezf3zf3zz__hashz00, 0L, 1 );
DEFINE_STRING( BGl_string2834z00zz__hashz00, BgL_bgl_string2834za700za7za7__hashza7002863z00, "Illegal max-size (not a 2 power)", 32 );
DEFINE_STRING( BGl_string2832z00zz__hashz00, BgL_bgl_string2832za700za7za7__hashza7002864z00, "init-size greater than max-size !", 33 );
DEFINE_STRING( BGl_string2831z00zz__hashz00, BgL_bgl_string2831za700za7za7__hashza7002865z00, "make-hash-table", 15 );
DEFINE_STRING( BGl_string2829z00zz__hashz00, BgL_bgl_string2829za700za7za7__hashza7002866z00, "Illegal max bucket length", 25 );
DEFINE_STRING( BGl_string2828z00zz__hashz00, BgL_bgl_string2828za700za7za7__hashza7002867z00, "Illegal default bucket length", 29 );
DEFINE_STRING( BGl_string2827z00zz__hashz00, BgL_bgl_string2827za700za7za7__hashza7002868z00, "make-hashtable", 14 );
DEFINE_EXPORT_PROCEDURE( BGl_remzd2objzd2hashz12zd2envzc0zz__hashz00, BgL_bgl__remza7d2objza7d2hashza712za712za7za7__hashza7002869za7, BGl__remzd2objzd2hashz12z12zz__hashz00, 0L, 2 );
DEFINE_EXPORT_PROCEDURE( BGl_hashzd2tablezf3zd2envzf3zz__hashz00, BgL_bgl__hashza7d2tableza7f3za721za7za7__hashza7002870z00, BGl__hashzd2tablezf3z21zz__hashz00, 0L, 1 );
DEFINE_EXPORT_PROCEDURE( BGl_makezd2hashtablezd2envz00zz__hashz00, BgL_bgl__makeza7d2hashtableza7d2za7za7__hashza7002871za7, va_generic_entry, BGl__makezd2hashtablezd2zz__hashz00, -1 );
DEFINE_EXPORT_PROCEDURE( BGl_putzd2hashz12zd2envz12zz__hashz00, BgL_bgl__putza7d2hashza712za7c0za7za7__hashza7002872z00, BGl__putzd2hashz12zc0zz__hashz00, 0L, 2 );
DEFINE_EXPORT_PROCEDURE( BGl_stringzd2ze30ze2ze22ze5xzd21zd2envzd4zz__hashz00, BgL_bgl__stringza7d2za7e30za7e2za7e22za7e5xza7d21za706za7za7__hashza7002873z00, BGl__stringzd2ze30ze2ze22ze5xzd21z06zz__hashz00, 0L, 2 );
DEFINE_EXPORT_PROCEDURE( BGl_getzd2hashnumberzd2envz00zz__hashz00, BgL_bgl__getza7d2hashnumberza7d2za7za7__hashza7002874za7, BGl__getzd2hashnumberzd2zz__hashz00, 0L, 1 );
DEFINE_EXPORT_PROCEDURE( BGl_remzd2keyzd2hashz12zd2envzc0zz__hashz00, BgL_bgl__remza7d2keyza7d2hashza712za712za7za7__hashza7002875za7, BGl__remzd2keyzd2hashz12z12zz__hashz00, 0L, 2 );
DEFINE_EXPORT_PROCEDURE( BGl_hashtablezd2removez12zd2envz12zz__hashz00, BgL_bgl__hashtableza7d2removeza712za7c0za7za7__hashza7002876z00, BGl__hashtablezd2removez12zc0zz__hashz00, 0L, 2 );
DEFINE_EXPORT_PROCEDURE( BGl_hashtablezd2ze3listzd2envze3zz__hashz00, BgL_bgl__hashtableza7d2za7e3listza731za7za7__hashza7002877z00, BGl__hashtablezd2ze3listz31zz__hashz00, 0L, 1 );
DEFINE_EXPORT_PROCEDURE( BGl_objzd2ze30ze2ze2255zd2envze3zz__hashz00, BgL_bgl__objza7d2za7e30za7e2za7e2255za731za7za7__hashza7002878z00, BGl__objzd2ze30ze2ze2255z31zz__hashz00, 0L, 1 );
DEFINE_EXPORT_PROCEDURE( BGl_hashtablezd2updatez12zd2envz12zz__hashz00, BgL_bgl__hashtableza7d2updateza7122554za7c0za7za7__hashza7002879z00, BGl__hashtablezd2updatez122554zc0zz__hashz00, 0L, 4 );
DEFINE_EXPORT_PROCEDURE( BGl_intzd2ze30ze2ze22ze5xzd21zd2envzd4zz__hashz00, BgL_bgl__intza7d2za7e30za7e2za7e22za7e5xza7d21za706za7za7__hashza7002880z00, BGl__intzd2ze30ze2ze22ze5xzd21z06zz__hashz00, 0L, 2 );
DEFINE_EXPORT_PROCEDURE( BGl_hashtablezd2forzd2eachzd2envzd2zz__hashz00, BgL_bgl__hashtableza7d2forza7d2eachza700za7za7__hashza7002881z00, BGl__hashtablezd2forzd2eachz00zz__hashz00, 0L, 2 );



/* module-initialization */
BGL_EXPORTED_DEF obj_t BGl_modulezd2initializa7ationz75zz__hashz00(long BgL_checksumz00_2123, char * BgL_fromz00_2124)
{ AN_OBJECT;
{ 
if(
CBOOL(BGl_requirezd2initializa7ationz75zz__hashz00))
{ 
BGl_requirezd2initializa7ationz75zz__hashz00 = 
BBOOL(((bool_t)0)); 
BGl_cnstzd2initzd2zz__hashz00(); 
BGl_importedzd2moduleszd2initz00zz__hashz00(); 
BGl_toplevelzd2initzd2zz__hashz00(); 
return BUNSPEC;}  else 
{ 
return BUNSPEC;} } 
}



/* cnst-init */
obj_t BGl_cnstzd2initzd2zz__hashz00()
{ AN_OBJECT;
{ /* ./Llib/hash.scm 23 */
BGl_symbol2830z00zz__hashz00 = 
string_to_symbol("%hashtable"); 
BGl_symbol2833z00zz__hashz00 = 
string_to_symbol("hashtbl"); 
return ( 
BGl_symbol2838z00zz__hashz00 = 
string_to_symbol("done"), BUNSPEC) ;} 
}



/* toplevel-init */
obj_t BGl_toplevelzd2initzd2zz__hashz00()
{ AN_OBJECT;
{ /* ./Llib/hash.scm 23 */
BGl_defaultzd2hashtablezd2bucketzd2lengthzd2zz__hashz00 = ((long)128); 
BGl_defaultzd2maxzd2bucketzd2lengthzd2zz__hashz00 = ((long)10); 
return BUNSPEC;} 
}



/* make-hashtable */
BGL_EXPORTED_DEF obj_t BGl_makezd2hashtablezd2zz__hashz00(obj_t BgL_argsz00_15)
{ AN_OBJECT;
{ /* ./Llib/hash.scm 157 */
{ /* ./Llib/hash.scm 158 */
obj_t BgL_siza7eza7_442;obj_t BgL_mblenz00_443;
if(
PAIRP(BgL_argsz00_15))
{ /* ./Llib/hash.scm 159 */
bool_t BgL_test1058z00_447;
{ /* ./Llib/hash.scm 159 */
bool_t BgL_testz00_2136;
{ /* ./Llib/hash.scm 159 */
obj_t BgL_auxz00_2137;
BgL_auxz00_2137 = 
CAR(BgL_argsz00_15); 
BgL_testz00_2136 = 
INTEGERP(BgL_auxz00_2137); } 
if(BgL_testz00_2136)
{ /* ./Llib/hash.scm 160 */
long BgL_auxz00_2140;
{ /* ./Llib/hash.scm 160 */
obj_t BgL_auxz00_2141;
BgL_auxz00_2141 = 
CAR(BgL_argsz00_15); 
BgL_auxz00_2140 = 
(long)CINT(BgL_auxz00_2141); } 
BgL_test1058z00_447 = 
(BgL_auxz00_2140>=((long)1)); }  else 
{ /* ./Llib/hash.scm 159 */
BgL_test1058z00_447 = ((bool_t)0); } } 
if(BgL_test1058z00_447)
{ /* ./Llib/hash.scm 159 */
BgL_siza7eza7_442 = 
CAR(BgL_argsz00_15); }  else 
{ /* ./Llib/hash.scm 159 */
FAILURE(BGl_string2827z00zz__hashz00,BGl_string2828z00zz__hashz00,BgL_argsz00_15);} }  else 
{ /* ./Llib/hash.scm 158 */
BgL_siza7eza7_442 = 
BINT(((long)128)); } 
{ /* ./Llib/hash.scm 166 */
bool_t BgL_test1073z00_452;
if(
PAIRP(BgL_argsz00_15))
{ /* ./Llib/hash.scm 166 */
obj_t BgL_auxz00_2151;
BgL_auxz00_2151 = 
CDR(BgL_argsz00_15); 
BgL_test1073z00_452 = 
PAIRP(BgL_auxz00_2151); }  else 
{ /* ./Llib/hash.scm 166 */
BgL_test1073z00_452 = ((bool_t)0); } 
if(BgL_test1073z00_452)
{ /* ./Llib/hash.scm 167 */
bool_t BgL_test1074z00_453;
{ /* ./Llib/hash.scm 167 */
bool_t BgL_testz00_2155;
{ /* ./Llib/hash.scm 167 */
obj_t BgL_auxz00_2156;
{ /* ./Llib/hash.scm 167 */
obj_t BgL_auxz00_2157;
BgL_auxz00_2157 = 
CDR(BgL_argsz00_15); 
BgL_auxz00_2156 = 
CAR(BgL_auxz00_2157); } 
BgL_testz00_2155 = 
INTEGERP(BgL_auxz00_2156); } 
if(BgL_testz00_2155)
{ /* ./Llib/hash.scm 168 */
long BgL_auxz00_2161;
{ /* ./Llib/hash.scm 168 */
obj_t BgL_auxz00_2162;
{ /* ./Llib/hash.scm 168 */
obj_t BgL_auxz00_2163;
BgL_auxz00_2163 = 
CDR(BgL_argsz00_15); 
BgL_auxz00_2162 = 
CAR(BgL_auxz00_2163); } 
BgL_auxz00_2161 = 
(long)CINT(BgL_auxz00_2162); } 
BgL_test1074z00_453 = 
(BgL_auxz00_2161>=((long)1)); }  else 
{ /* ./Llib/hash.scm 167 */
BgL_test1074z00_453 = ((bool_t)0); } } 
if(BgL_test1074z00_453)
{ /* ./Llib/hash.scm 169 */
obj_t BgL_auxz00_2169;
BgL_auxz00_2169 = 
CDR(BgL_argsz00_15); 
BgL_mblenz00_443 = 
CAR(BgL_auxz00_2169); }  else 
{ /* ./Llib/hash.scm 167 */
FAILURE(BGl_string2827z00zz__hashz00,BGl_string2829z00zz__hashz00,BgL_argsz00_15);} }  else 
{ /* ./Llib/hash.scm 166 */
BgL_mblenz00_443 = 
BINT(((long)10)); } } 
{ /* ./Llib/hash.scm 174 */
obj_t BgL_arg1054z00_445;
{ /* ./Llib/hash.scm 174 */
int BgL_auxz00_2174;
BgL_auxz00_2174 = 
CINT(BgL_siza7eza7_442); 
BgL_arg1054z00_445 = 
make_vector(BgL_auxz00_2174, BNIL); } 
{ /* ./Llib/hash.scm 174 */
obj_t BgL_newz00_1043;
{ /* ./Llib/hash.scm 174 */
int BgL_auxz00_2177;
BgL_auxz00_2177 = 
(int)(((long)3)); 
BgL_newz00_1043 = 
create_struct(BGl_symbol2830z00zz__hashz00, BgL_auxz00_2177); } 
{ /* ./Llib/hash.scm 174 */
int BgL_auxz00_2180;
BgL_auxz00_2180 = 
(int)(((long)2)); 
STRUCT_SET(BgL_newz00_1043, BgL_auxz00_2180, BgL_arg1054z00_445); } 
{ /* ./Llib/hash.scm 174 */
int BgL_auxz00_2183;
BgL_auxz00_2183 = 
(int)(((long)1)); 
STRUCT_SET(BgL_newz00_1043, BgL_auxz00_2183, BgL_mblenz00_443); } 
{ /* ./Llib/hash.scm 174 */
obj_t BgL_auxz00_2188;int BgL_auxz00_2186;
BgL_auxz00_2188 = 
BINT(((long)0)); 
BgL_auxz00_2186 = 
(int)(((long)0)); 
STRUCT_SET(BgL_newz00_1043, BgL_auxz00_2186, BgL_auxz00_2188); } 
return BgL_newz00_1043;} } } } 
}



/* _make-hashtable */
obj_t BGl__makezd2hashtablezd2zz__hashz00(obj_t BgL_envz00_2038, obj_t BgL_argsz00_2039)
{ AN_OBJECT;
{ /* ./Llib/hash.scm 157 */
return 
BGl_makezd2hashtablezd2zz__hashz00(BgL_argsz00_2039);} 
}



/* hashtable? */
BGL_EXPORTED_DEF bool_t BGl_hashtablezf3zf3zz__hashz00(obj_t BgL_objz00_16)
{ AN_OBJECT;
{ /* ./Llib/hash.scm 179 */
if(
STRUCTP(BgL_objz00_16))
{ /* ./Llib/hash.scm 180 */
obj_t BgL_auxz00_2194;
BgL_auxz00_2194 = 
STRUCT_KEY(BgL_objz00_16); 
return 
(BgL_auxz00_2194==BGl_symbol2830z00zz__hashz00);}  else 
{ /* ./Llib/hash.scm 180 */
return ((bool_t)0);} } 
}



/* _hashtable? */
obj_t BGl__hashtablezf3zf3zz__hashz00(obj_t BgL_envz00_2040, obj_t BgL_objz00_2041)
{ AN_OBJECT;
{ /* ./Llib/hash.scm 179 */
{ /* ./Llib/hash.scm 180 */
bool_t BgL_auxz00_2197;
BgL_auxz00_2197 = 
BGl_hashtablezf3zf3zz__hashz00(BgL_objz00_2041); 
return 
BBOOL(BgL_auxz00_2197);} } 
}



/* hashtable-size */
BGL_EXPORTED_DEF int BGl_hashtablezd2siza7ez75zz__hashz00(obj_t BgL_tablez00_17)
{ AN_OBJECT;
{ /* ./Llib/hash.scm 185 */
{ /* ./Llib/hash.scm 186 */
obj_t BgL_auxz00_2200;
{ /* ./Llib/hash.scm 186 */
int BgL_auxz00_2201;
BgL_auxz00_2201 = 
(int)(((long)0)); 
BgL_auxz00_2200 = 
STRUCT_REF(BgL_tablez00_17, BgL_auxz00_2201); } 
return 
CINT(BgL_auxz00_2200);} } 
}



/* _hashtable-size */
obj_t BGl__hashtablezd2siza7ez75zz__hashz00(obj_t BgL_envz00_2042, obj_t BgL_tablez00_2043)
{ AN_OBJECT;
{ /* ./Llib/hash.scm 185 */
{ /* ./Llib/hash.scm 186 */
int BgL_auxz00_2205;
BgL_auxz00_2205 = 
BGl_hashtablezd2siza7ez75zz__hashz00(BgL_tablez00_2043); 
return 
BINT(BgL_auxz00_2205);} } 
}



/* hashtable->vector */
BGL_EXPORTED_DEF obj_t BGl_hashtablezd2ze3vectorz31zz__hashz00(obj_t BgL_tablez00_18)
{ AN_OBJECT;
{ /* ./Llib/hash.scm 191 */
{ /* ./Llib/hash.scm 192 */
obj_t BgL_vecz00_460;
{ /* ./Llib/hash.scm 192 */
obj_t BgL_auxz00_2214;int BgL_auxz00_2208;
BgL_auxz00_2214 = BUNSPEC; 
{ /* ./Llib/hash.scm 192 */
obj_t BgL_auxz00_2209;
{ /* ./Llib/hash.scm 192 */
int BgL_auxz00_2210;
BgL_auxz00_2210 = 
(int)(((long)0)); 
BgL_auxz00_2209 = 
STRUCT_REF(BgL_tablez00_18, BgL_auxz00_2210); } 
BgL_auxz00_2208 = 
CINT(BgL_auxz00_2209); } 
BgL_vecz00_460 = 
make_vector(BgL_auxz00_2208, BgL_auxz00_2214); } 
{ /* ./Llib/hash.scm 192 */
obj_t BgL_bucketsz00_461;
{ /* ./Llib/hash.scm 193 */
int BgL_auxz00_2216;
BgL_auxz00_2216 = 
(int)(((long)2)); 
BgL_bucketsz00_461 = 
STRUCT_REF(BgL_tablez00_18, BgL_auxz00_2216); } 
{ /* ./Llib/hash.scm 193 */
int BgL_bucketszd2lenzd2_462;
BgL_bucketszd2lenzd2_462 = 
VECTOR_LENGTH(BgL_bucketsz00_461); 
{ /* ./Llib/hash.scm 194 */

{ 
long BgL_iz00_463;long BgL_wz00_464;
BgL_iz00_463 = ((long)0); 
BgL_wz00_464 = ((long)0); 
BgL_loopz00_465:
{ /* ./Llib/hash.scm 197 */
bool_t BgL_testz00_2220;
{ /* ./Llib/hash.scm 197 */
long BgL_auxz00_2221;
BgL_auxz00_2221 = 
(long)(BgL_bucketszd2lenzd2_462); 
BgL_testz00_2220 = 
(BgL_iz00_463==BgL_auxz00_2221); } 
if(BgL_testz00_2220)
{ /* ./Llib/hash.scm 197 */
return BgL_vecz00_460;}  else 
{ 
obj_t BgL_bucketz00_467;long BgL_wz00_468;
{ 
int BgL_auxz00_2240;
BgL_auxz00_2240 = 
(int)(BgL_iz00_463); 
BgL_bucketz00_467 = 
VECTOR_REF(BgL_bucketsz00_461,BgL_auxz00_2240); } 
BgL_wz00_468 = BgL_wz00_464; 
BgL_liipz00_469:
if(
NULLP(BgL_bucketz00_467))
{ 
long BgL_wz00_2228;long BgL_iz00_2226;
BgL_iz00_2226 = 
(BgL_iz00_463+((long)1)); 
BgL_wz00_2228 = BgL_wz00_468; 
BgL_wz00_464 = BgL_wz00_2228; 
BgL_iz00_463 = BgL_iz00_2226; 
goto BgL_loopz00_465;}  else 
{ /* ./Llib/hash.scm 201 */
{ 
obj_t BgL_auxz00_2231;int BgL_auxz00_2229;
{ /* ./Llib/hash.scm 204 */
obj_t BgL_auxz00_2232;
BgL_auxz00_2232 = 
CAR(BgL_bucketz00_467); 
BgL_auxz00_2231 = 
CDR(BgL_auxz00_2232); } 
BgL_auxz00_2229 = 
(int)(BgL_wz00_468); 
VECTOR_SET(BgL_vecz00_460,BgL_auxz00_2229,BgL_auxz00_2231); } 
{ 
long BgL_wz00_2238;obj_t BgL_bucketz00_2236;
BgL_bucketz00_2236 = 
CDR(BgL_bucketz00_467); 
BgL_wz00_2238 = 
(BgL_wz00_468+((long)1)); 
BgL_wz00_468 = BgL_wz00_2238; 
BgL_bucketz00_467 = BgL_bucketz00_2236; 
goto BgL_liipz00_469;} } } } } } } } } } 
}



/* _hashtable->vector */
obj_t BGl__hashtablezd2ze3vectorz31zz__hashz00(obj_t BgL_envz00_2044, obj_t BgL_tablez00_2045)
{ AN_OBJECT;
{ /* ./Llib/hash.scm 191 */
return 
BGl_hashtablezd2ze3vectorz31zz__hashz00(BgL_tablez00_2045);} 
}



/* hashtable->list */
BGL_EXPORTED_DEF obj_t BGl_hashtablezd2ze3listz31zz__hashz00(obj_t BgL_tablez00_19)
{ AN_OBJECT;
{ /* ./Llib/hash.scm 210 */
{ /* ./Llib/hash.scm 211 */
obj_t BgL_vecz00_478;
{ /* ./Llib/hash.scm 211 */
obj_t BgL_auxz00_2250;int BgL_auxz00_2244;
BgL_auxz00_2250 = BUNSPEC; 
{ /* ./Llib/hash.scm 211 */
obj_t BgL_auxz00_2245;
{ /* ./Llib/hash.scm 211 */
int BgL_auxz00_2246;
BgL_auxz00_2246 = 
(int)(((long)0)); 
BgL_auxz00_2245 = 
STRUCT_REF(BgL_tablez00_19, BgL_auxz00_2246); } 
BgL_auxz00_2244 = 
CINT(BgL_auxz00_2245); } 
BgL_vecz00_478 = 
make_vector(BgL_auxz00_2244, BgL_auxz00_2250); } 
{ /* ./Llib/hash.scm 211 */
obj_t BgL_bucketsz00_479;
{ /* ./Llib/hash.scm 212 */
int BgL_auxz00_2252;
BgL_auxz00_2252 = 
(int)(((long)2)); 
BgL_bucketsz00_479 = 
STRUCT_REF(BgL_tablez00_19, BgL_auxz00_2252); } 
{ /* ./Llib/hash.scm 212 */
int BgL_bucketszd2lenzd2_480;
BgL_bucketszd2lenzd2_480 = 
VECTOR_LENGTH(BgL_bucketsz00_479); 
{ /* ./Llib/hash.scm 213 */

{ 
long BgL_iz00_481;obj_t BgL_resz00_482;
BgL_iz00_481 = ((long)0); 
BgL_resz00_482 = BNIL; 
BgL_loopz00_483:
{ /* ./Llib/hash.scm 216 */
bool_t BgL_testz00_2256;
{ /* ./Llib/hash.scm 216 */
long BgL_auxz00_2257;
BgL_auxz00_2257 = 
(long)(BgL_bucketszd2lenzd2_480); 
BgL_testz00_2256 = 
(BgL_iz00_481==BgL_auxz00_2257); } 
if(BgL_testz00_2256)
{ /* ./Llib/hash.scm 216 */
return BgL_resz00_482;}  else 
{ /* ./Llib/hash.scm 218 */
obj_t BgL_arg1130z00_488;
{ 
int BgL_auxz00_2260;
BgL_auxz00_2260 = 
(int)(BgL_iz00_481); 
BgL_arg1130z00_488 = 
VECTOR_REF(BgL_bucketsz00_479,BgL_auxz00_2260); } 
{ 
obj_t BgL_bucketz00_1111;obj_t BgL_resz00_1112;
BgL_bucketz00_1111 = BgL_arg1130z00_488; 
BgL_resz00_1112 = BgL_resz00_482; 
BgL_liipz00_1110:
if(
NULLP(BgL_bucketz00_1111))
{ 
obj_t BgL_resz00_2267;long BgL_iz00_2265;
BgL_iz00_2265 = 
(BgL_iz00_481+((long)1)); 
BgL_resz00_2267 = BgL_resz00_1112; 
BgL_resz00_482 = BgL_resz00_2267; 
BgL_iz00_481 = BgL_iz00_2265; 
goto BgL_loopz00_483;}  else 
{ /* ./Llib/hash.scm 218 */
obj_t BgL_arg1140z00_1120;obj_t BgL_arg1141z00_1121;
BgL_arg1140z00_1120 = 
CDR(BgL_bucketz00_1111); 
{ /* ./Llib/hash.scm 218 */
obj_t BgL_auxz00_2269;
{ /* ./Llib/hash.scm 218 */
obj_t BgL_auxz00_2270;
BgL_auxz00_2270 = 
CAR(BgL_bucketz00_1111); 
BgL_auxz00_2269 = 
CDR(BgL_auxz00_2270); } 
BgL_arg1141z00_1121 = 
MAKE_PAIR(BgL_auxz00_2269, BgL_resz00_1112); } 
{ 
obj_t BgL_resz00_2275;obj_t BgL_bucketz00_2274;
BgL_bucketz00_2274 = BgL_arg1140z00_1120; 
BgL_resz00_2275 = BgL_arg1141z00_1121; 
BgL_resz00_1112 = BgL_resz00_2275; 
BgL_bucketz00_1111 = BgL_bucketz00_2274; 
goto BgL_liipz00_1110;} } } } } } } } } } } 
}



/* _hashtable->list */
obj_t BGl__hashtablezd2ze3listz31zz__hashz00(obj_t BgL_envz00_2046, obj_t BgL_tablez00_2047)
{ AN_OBJECT;
{ /* ./Llib/hash.scm 210 */
return 
BGl_hashtablezd2ze3listz31zz__hashz00(BgL_tablez00_2047);} 
}



/* hashtable-key-list */
BGL_EXPORTED_DEF obj_t BGl_hashtablezd2keyzd2listz00zz__hashz00(obj_t BgL_tablez00_20)
{ AN_OBJECT;
{ /* ./Llib/hash.scm 227 */
{ /* ./Llib/hash.scm 228 */
obj_t BgL_vecz00_496;
{ /* ./Llib/hash.scm 228 */
obj_t BgL_auxz00_2283;int BgL_auxz00_2277;
BgL_auxz00_2283 = BUNSPEC; 
{ /* ./Llib/hash.scm 228 */
obj_t BgL_auxz00_2278;
{ /* ./Llib/hash.scm 228 */
int BgL_auxz00_2279;
BgL_auxz00_2279 = 
(int)(((long)0)); 
BgL_auxz00_2278 = 
STRUCT_REF(BgL_tablez00_20, BgL_auxz00_2279); } 
BgL_auxz00_2277 = 
CINT(BgL_auxz00_2278); } 
BgL_vecz00_496 = 
make_vector(BgL_auxz00_2277, BgL_auxz00_2283); } 
{ /* ./Llib/hash.scm 228 */
obj_t BgL_bucketsz00_497;
{ /* ./Llib/hash.scm 229 */
int BgL_auxz00_2285;
BgL_auxz00_2285 = 
(int)(((long)2)); 
BgL_bucketsz00_497 = 
STRUCT_REF(BgL_tablez00_20, BgL_auxz00_2285); } 
{ /* ./Llib/hash.scm 229 */
int BgL_bucketszd2lenzd2_498;
BgL_bucketszd2lenzd2_498 = 
VECTOR_LENGTH(BgL_bucketsz00_497); 
{ /* ./Llib/hash.scm 230 */

{ 
long BgL_iz00_499;obj_t BgL_resz00_500;
BgL_iz00_499 = ((long)0); 
BgL_resz00_500 = BNIL; 
BgL_loopz00_501:
{ /* ./Llib/hash.scm 233 */
bool_t BgL_testz00_2289;
{ /* ./Llib/hash.scm 233 */
long BgL_auxz00_2290;
BgL_auxz00_2290 = 
(long)(BgL_bucketszd2lenzd2_498); 
BgL_testz00_2289 = 
(BgL_iz00_499==BgL_auxz00_2290); } 
if(BgL_testz00_2289)
{ /* ./Llib/hash.scm 233 */
return BgL_resz00_500;}  else 
{ /* ./Llib/hash.scm 235 */
obj_t BgL_arg1162z00_506;
{ 
int BgL_auxz00_2293;
BgL_auxz00_2293 = 
(int)(BgL_iz00_499); 
BgL_arg1162z00_506 = 
VECTOR_REF(BgL_bucketsz00_497,BgL_auxz00_2293); } 
{ 
obj_t BgL_bucketz00_1174;obj_t BgL_resz00_1175;
BgL_bucketz00_1174 = BgL_arg1162z00_506; 
BgL_resz00_1175 = BgL_resz00_500; 
BgL_liipz00_1173:
if(
NULLP(BgL_bucketz00_1174))
{ 
obj_t BgL_resz00_2300;long BgL_iz00_2298;
BgL_iz00_2298 = 
(BgL_iz00_499+((long)1)); 
BgL_resz00_2300 = BgL_resz00_1175; 
BgL_resz00_500 = BgL_resz00_2300; 
BgL_iz00_499 = BgL_iz00_2298; 
goto BgL_loopz00_501;}  else 
{ /* ./Llib/hash.scm 235 */
obj_t BgL_arg1173z00_1183;obj_t BgL_arg1174z00_1184;
BgL_arg1173z00_1183 = 
CDR(BgL_bucketz00_1174); 
{ /* ./Llib/hash.scm 235 */
obj_t BgL_auxz00_2302;
{ /* ./Llib/hash.scm 235 */
obj_t BgL_auxz00_2303;
BgL_auxz00_2303 = 
CAR(BgL_bucketz00_1174); 
BgL_auxz00_2302 = 
CAR(BgL_auxz00_2303); } 
BgL_arg1174z00_1184 = 
MAKE_PAIR(BgL_auxz00_2302, BgL_resz00_1175); } 
{ 
obj_t BgL_resz00_2308;obj_t BgL_bucketz00_2307;
BgL_bucketz00_2307 = BgL_arg1173z00_1183; 
BgL_resz00_2308 = BgL_arg1174z00_1184; 
BgL_resz00_1175 = BgL_resz00_2308; 
BgL_bucketz00_1174 = BgL_bucketz00_2307; 
goto BgL_liipz00_1173;} } } } } } } } } } } 
}



/* _hashtable-key-list */
obj_t BGl__hashtablezd2keyzd2listz00zz__hashz00(obj_t BgL_envz00_2048, obj_t BgL_tablez00_2049)
{ AN_OBJECT;
{ /* ./Llib/hash.scm 227 */
return 
BGl_hashtablezd2keyzd2listz00zz__hashz00(BgL_tablez00_2049);} 
}



/* hashtable-for-each */
BGL_EXPORTED_DEF obj_t BGl_hashtablezd2forzd2eachz00zz__hashz00(obj_t BgL_tablez00_21, obj_t BgL_funz00_22)
{ AN_OBJECT;
{ /* ./Llib/hash.scm 244 */
{ /* ./Llib/hash.scm 245 */
obj_t BgL_bucketsz00_514;
{ /* ./Llib/hash.scm 245 */
int BgL_auxz00_2310;
BgL_auxz00_2310 = 
(int)(((long)2)); 
BgL_bucketsz00_514 = 
STRUCT_REF(BgL_tablez00_21, BgL_auxz00_2310); } 
{ /* ./Llib/hash.scm 245 */
int BgL_bucketszd2lenzd2_515;
BgL_bucketszd2lenzd2_515 = 
VECTOR_LENGTH(BgL_bucketsz00_514); 
{ /* ./Llib/hash.scm 246 */

{ 
long BgL_iz00_516;
{ /* ./Llib/hash.scm 247 */
bool_t BgL_auxz00_2314;
BgL_iz00_516 = ((long)0); 
BgL_loopz00_517:
{ /* ./Llib/hash.scm 248 */
bool_t BgL_testz00_2315;
{ /* ./Llib/hash.scm 248 */
long BgL_auxz00_2316;
BgL_auxz00_2316 = 
(long)(BgL_bucketszd2lenzd2_515); 
BgL_testz00_2315 = 
(BgL_iz00_516<BgL_auxz00_2316); } 
if(BgL_testz00_2315)
{ /* ./Llib/hash.scm 248 */
{ 
obj_t BgL_l1007z00_519;
{ 
int BgL_auxz00_2328;
BgL_auxz00_2328 = 
(int)(BgL_iz00_516); 
BgL_l1007z00_519 = 
VECTOR_REF(BgL_bucketsz00_514,BgL_auxz00_2328); } 
BgL_forzd2each1008zd2_520:
if(
PAIRP(BgL_l1007z00_519))
{ /* ./Llib/hash.scm 250 */
{ /* ./Llib/hash.scm 251 */
obj_t BgL_cellz00_523;
BgL_cellz00_523 = 
CAR(BgL_l1007z00_519); 
{ /* ./Llib/hash.scm 251 */
obj_t BgL_arg1200z00_524;obj_t BgL_arg1201z00_525;
BgL_arg1200z00_524 = 
CAR(BgL_cellz00_523); 
BgL_arg1201z00_525 = 
CDR(BgL_cellz00_523); 
PROCEDURE_ENTRY(BgL_funz00_22)(BgL_funz00_22, BgL_arg1200z00_524, BgL_arg1201z00_525, BEOA); } } 
{ 
obj_t BgL_l1007z00_2326;
BgL_l1007z00_2326 = 
CDR(BgL_l1007z00_519); 
BgL_l1007z00_519 = BgL_l1007z00_2326; 
goto BgL_forzd2each1008zd2_520;} }  else 
{ /* ./Llib/hash.scm 250 */((bool_t)1); } } 
{ 
long BgL_iz00_2331;
BgL_iz00_2331 = 
(BgL_iz00_516+((long)1)); 
BgL_iz00_516 = BgL_iz00_2331; 
goto BgL_loopz00_517;} }  else 
{ /* ./Llib/hash.scm 248 */
BgL_auxz00_2314 = ((bool_t)0)
; } } 
return 
BBOOL(BgL_auxz00_2314);} } } } } } 
}



/* _hashtable-for-each */
obj_t BGl__hashtablezd2forzd2eachz00zz__hashz00(obj_t BgL_envz00_2050, obj_t BgL_tablez00_2051, obj_t BgL_funz00_2052)
{ AN_OBJECT;
{ /* ./Llib/hash.scm 244 */
return 
BGl_hashtablezd2forzd2eachz00zz__hashz00(BgL_tablez00_2051, BgL_funz00_2052);} 
}



/* hashtable-get */
BGL_EXPORTED_DEF obj_t BGl_hashtablezd2getzd2zz__hashz00(obj_t BgL_tablez00_23, obj_t BgL_keyz00_24)
{ AN_OBJECT;
{ /* ./Llib/hash.scm 258 */
{ /* ./Llib/hash.scm 259 */
obj_t BgL_bucketsz00_528;
{ /* ./Llib/hash.scm 259 */
int BgL_auxz00_2335;
BgL_auxz00_2335 = 
(int)(((long)2)); 
BgL_bucketsz00_528 = 
STRUCT_REF(BgL_tablez00_23, BgL_auxz00_2335); } 
{ /* ./Llib/hash.scm 259 */
int BgL_bucketzd2lenzd2_529;
BgL_bucketzd2lenzd2_529 = 
VECTOR_LENGTH(BgL_bucketsz00_528); 
{ /* ./Llib/hash.scm 260 */
long BgL_bucketzd2numzd2_530;
{ /* ./Llib/hash.scm 261 */
int BgL_arg1233z00_538;
BgL_arg1233z00_538 = 
BGl_getzd2hashnumberzd2zz__hashz00(BgL_keyz00_24); 
{ /* ./Llib/hash.scm 261 */
long BgL_auxz00_2342;long BgL_auxz00_2340;
BgL_auxz00_2342 = 
(long)(BgL_bucketzd2lenzd2_529); 
BgL_auxz00_2340 = 
(long)(BgL_arg1233z00_538); 
BgL_bucketzd2numzd2_530 = 
(BgL_auxz00_2340%BgL_auxz00_2342); } } 
{ /* ./Llib/hash.scm 261 */
obj_t BgL_bucketz00_531;
{ 
int BgL_auxz00_2345;
BgL_auxz00_2345 = 
(int)(BgL_bucketzd2numzd2_530); 
BgL_bucketz00_531 = 
VECTOR_REF(BgL_bucketsz00_528,BgL_auxz00_2345); } 
{ /* ./Llib/hash.scm 262 */

{ 
obj_t BgL_bucketz00_532;
BgL_bucketz00_532 = BgL_bucketz00_531; 
BgL_loopz00_533:
if(
NULLP(BgL_bucketz00_532))
{ /* ./Llib/hash.scm 265 */
return BFALSE;}  else 
{ /* ./Llib/hash.scm 267 */
bool_t BgL_test1220z00_535;
{ /* ./Llib/hash.scm 267 */
obj_t BgL_arg1227z00_537;
{ /* ./Llib/hash.scm 267 */
obj_t BgL_auxz00_2350;
BgL_auxz00_2350 = 
CAR(BgL_bucketz00_532); 
BgL_arg1227z00_537 = 
CAR(BgL_auxz00_2350); } 
if(
STRINGP(BgL_arg1227z00_537))
{ /* ./Llib/hash.scm 267 */
if(
STRINGP(BgL_keyz00_24))
{ /* ./Llib/hash.scm 267 */
BgL_test1220z00_535 = 
bigloo_strcmp(BgL_arg1227z00_537, BgL_keyz00_24); }  else 
{ /* ./Llib/hash.scm 267 */
BgL_test1220z00_535 = ((bool_t)0); } }  else 
{ /* ./Llib/hash.scm 267 */
BgL_test1220z00_535 = 
BGl_equalzf3zf3zz__r4_equivalence_6_2z00(BgL_arg1227z00_537, BgL_keyz00_24); } } 
if(BgL_test1220z00_535)
{ /* ./Llib/hash.scm 267 */
{ /* ./Llib/hash.scm 268 */
obj_t BgL_auxz00_2360;
BgL_auxz00_2360 = 
CAR(BgL_bucketz00_532); 
return 
CDR(BgL_auxz00_2360);} }  else 
{ /* ./Llib/hash.scm 267 */
{ 
obj_t BgL_bucketz00_2363;
BgL_bucketz00_2363 = 
CDR(BgL_bucketz00_532); 
BgL_bucketz00_532 = BgL_bucketz00_2363; 
goto BgL_loopz00_533;} } } } } } } } } } 
}



/* _hashtable-get */
obj_t BGl__hashtablezd2getzd2zz__hashz00(obj_t BgL_envz00_2053, obj_t BgL_tablez00_2054, obj_t BgL_keyz00_2055)
{ AN_OBJECT;
{ /* ./Llib/hash.scm 258 */
return 
BGl_hashtablezd2getzd2zz__hashz00(BgL_tablez00_2054, BgL_keyz00_2055);} 
}



/* hashtable-put! */
BGL_EXPORTED_DEF obj_t BGl_hashtablezd2putz12zc0zz__hashz00(obj_t BgL_tablez00_25, obj_t BgL_keyz00_26, obj_t BgL_objz00_27)
{ AN_OBJECT;
{ /* ./Llib/hash.scm 275 */
{ /* ./Llib/hash.scm 276 */
obj_t BgL_bucketsz00_539;
{ /* ./Llib/hash.scm 276 */
int BgL_auxz00_2366;
BgL_auxz00_2366 = 
(int)(((long)2)); 
BgL_bucketsz00_539 = 
STRUCT_REF(BgL_tablez00_25, BgL_auxz00_2366); } 
{ /* ./Llib/hash.scm 276 */
int BgL_bucketzd2lenzd2_540;
BgL_bucketzd2lenzd2_540 = 
VECTOR_LENGTH(BgL_bucketsz00_539); 
{ /* ./Llib/hash.scm 277 */
long BgL_bucketzd2numzd2_541;
{ /* ./Llib/hash.scm 278 */
int BgL_arg1299z00_566;
BgL_arg1299z00_566 = 
BGl_getzd2hashnumberzd2zz__hashz00(BgL_keyz00_26); 
{ /* ./Llib/hash.scm 278 */
long BgL_auxz00_2373;long BgL_auxz00_2371;
BgL_auxz00_2373 = 
(long)(BgL_bucketzd2lenzd2_540); 
BgL_auxz00_2371 = 
(long)(BgL_arg1299z00_566); 
BgL_bucketzd2numzd2_541 = 
(BgL_auxz00_2371%BgL_auxz00_2373); } } 
{ /* ./Llib/hash.scm 278 */
obj_t BgL_bucketz00_542;
{ 
int BgL_auxz00_2376;
BgL_auxz00_2376 = 
(int)(BgL_bucketzd2numzd2_541); 
BgL_bucketz00_542 = 
VECTOR_REF(BgL_bucketsz00_539,BgL_auxz00_2376); } 
{ /* ./Llib/hash.scm 279 */
obj_t BgL_maxzd2bucketzd2lenz00_543;
{ /* ./Llib/hash.scm 280 */
int BgL_auxz00_2379;
BgL_auxz00_2379 = 
(int)(((long)1)); 
BgL_maxzd2bucketzd2lenz00_543 = 
STRUCT_REF(BgL_tablez00_25, BgL_auxz00_2379); } 
{ /* ./Llib/hash.scm 280 */

if(
NULLP(BgL_bucketz00_542))
{ /* ./Llib/hash.scm 281 */
{ /* ./Llib/hash.scm 283 */
long BgL_arg1240z00_545;
{ /* ./Llib/hash.scm 283 */
long BgL_auxz00_2384;
{ /* ./Llib/hash.scm 283 */
obj_t BgL_auxz00_2385;
{ /* ./Llib/hash.scm 283 */
int BgL_auxz00_2386;
BgL_auxz00_2386 = 
(int)(((long)0)); 
BgL_auxz00_2385 = 
STRUCT_REF(BgL_tablez00_25, BgL_auxz00_2386); } 
BgL_auxz00_2384 = 
(long)CINT(BgL_auxz00_2385); } 
BgL_arg1240z00_545 = 
(BgL_auxz00_2384+((long)1)); } 
{ /* ./Llib/hash.scm 283 */
obj_t BgL_auxz00_2393;int BgL_auxz00_2391;
BgL_auxz00_2393 = 
BINT(BgL_arg1240z00_545); 
BgL_auxz00_2391 = 
(int)(((long)0)); 
STRUCT_SET(BgL_tablez00_25, BgL_auxz00_2391, BgL_auxz00_2393); } } 
{ /* ./Llib/hash.scm 284 */
obj_t BgL_arg1249z00_548;
{ /* ./Llib/hash.scm 284 */
obj_t BgL_arg1252z00_549;
BgL_arg1252z00_549 = 
MAKE_PAIR(BgL_keyz00_26, BgL_objz00_27); 
{ /* ./Llib/hash.scm 284 */
obj_t BgL_list1254z00_550;
BgL_list1254z00_550 = 
MAKE_PAIR(BgL_arg1252z00_549, BNIL); 
BgL_arg1249z00_548 = BgL_list1254z00_550; } } 
{ 
int BgL_auxz00_2398;
BgL_auxz00_2398 = 
(int)(BgL_bucketzd2numzd2_541); 
VECTOR_SET(BgL_bucketsz00_539,BgL_auxz00_2398,BgL_arg1249z00_548); } } 
return BgL_objz00_27;}  else 
{ 
obj_t BgL_buckz00_551;long BgL_countz00_552;
BgL_buckz00_551 = BgL_bucketz00_542; 
BgL_countz00_552 = ((long)0); 
BgL_loopz00_553:
if(
NULLP(BgL_buckz00_551))
{ /* ./Llib/hash.scm 289 */
{ /* ./Llib/hash.scm 290 */
long BgL_arg1260z00_555;
{ /* ./Llib/hash.scm 290 */
long BgL_auxz00_2403;
{ /* ./Llib/hash.scm 290 */
obj_t BgL_auxz00_2404;
{ /* ./Llib/hash.scm 290 */
int BgL_auxz00_2405;
BgL_auxz00_2405 = 
(int)(((long)0)); 
BgL_auxz00_2404 = 
STRUCT_REF(BgL_tablez00_25, BgL_auxz00_2405); } 
BgL_auxz00_2403 = 
(long)CINT(BgL_auxz00_2404); } 
BgL_arg1260z00_555 = 
(BgL_auxz00_2403+((long)1)); } 
{ /* ./Llib/hash.scm 290 */
obj_t BgL_auxz00_2412;int BgL_auxz00_2410;
BgL_auxz00_2412 = 
BINT(BgL_arg1260z00_555); 
BgL_auxz00_2410 = 
(int)(((long)0)); 
STRUCT_SET(BgL_tablez00_25, BgL_auxz00_2410, BgL_auxz00_2412); } } 
{ /* ./Llib/hash.scm 291 */
obj_t BgL_arg1270z00_558;
{ /* ./Llib/hash.scm 291 */
obj_t BgL_arg1273z00_559;
BgL_arg1273z00_559 = 
MAKE_PAIR(BgL_keyz00_26, BgL_objz00_27); 
BgL_arg1270z00_558 = 
MAKE_PAIR(BgL_arg1273z00_559, BgL_bucketz00_542); } 
{ 
int BgL_auxz00_2417;
BgL_auxz00_2417 = 
(int)(BgL_bucketzd2numzd2_541); 
VECTOR_SET(BgL_bucketsz00_539,BgL_auxz00_2417,BgL_arg1270z00_558); } } 
{ /* ./Llib/hash.scm 292 */
bool_t BgL_testz00_2420;
{ /* ./Llib/hash.scm 292 */
long BgL_auxz00_2421;
BgL_auxz00_2421 = 
(long)CINT(BgL_maxzd2bucketzd2lenz00_543); 
BgL_testz00_2420 = 
(BgL_countz00_552>BgL_auxz00_2421); } 
if(BgL_testz00_2420)
{ /* ./Llib/hash.scm 292 */
BGl_hashtablezd2expandz12zc0zz__hashz00(BgL_tablez00_25); }  else 
{ /* ./Llib/hash.scm 292 */((bool_t)0); } } 
return BgL_objz00_27;}  else 
{ /* ./Llib/hash.scm 295 */
bool_t BgL_test1279z00_561;
{ /* ./Llib/hash.scm 295 */
obj_t BgL_arg1291z00_565;
{ /* ./Llib/hash.scm 295 */
obj_t BgL_auxz00_2425;
BgL_auxz00_2425 = 
CAR(BgL_buckz00_551); 
BgL_arg1291z00_565 = 
CAR(BgL_auxz00_2425); } 
if(
STRINGP(BgL_arg1291z00_565))
{ /* ./Llib/hash.scm 295 */
if(
STRINGP(BgL_keyz00_26))
{ /* ./Llib/hash.scm 295 */
BgL_test1279z00_561 = 
bigloo_strcmp(BgL_arg1291z00_565, BgL_keyz00_26); }  else 
{ /* ./Llib/hash.scm 295 */
BgL_test1279z00_561 = ((bool_t)0); } }  else 
{ /* ./Llib/hash.scm 295 */
BgL_test1279z00_561 = 
BGl_equalzf3zf3zz__r4_equivalence_6_2z00(BgL_arg1291z00_565, BgL_keyz00_26); } } 
if(BgL_test1279z00_561)
{ /* ./Llib/hash.scm 295 */
{ /* ./Llib/hash.scm 296 */
obj_t BgL_auxz00_2435;
BgL_auxz00_2435 = 
CAR(BgL_buckz00_551); 
return 
SET_CDR(BgL_auxz00_2435, BgL_objz00_27);} }  else 
{ /* ./Llib/hash.scm 295 */
{ 
long BgL_countz00_2440;obj_t BgL_buckz00_2438;
BgL_buckz00_2438 = 
CDR(BgL_buckz00_551); 
BgL_countz00_2440 = 
(BgL_countz00_552+((long)1)); 
BgL_countz00_552 = BgL_countz00_2440; 
BgL_buckz00_551 = BgL_buckz00_2438; 
goto BgL_loopz00_553;} } } } } } } } } } } 
}



/* _hashtable-put! */
obj_t BGl__hashtablezd2putz12zc0zz__hashz00(obj_t BgL_envz00_2056, obj_t BgL_tablez00_2057, obj_t BgL_keyz00_2058, obj_t BgL_objz00_2059)
{ AN_OBJECT;
{ /* ./Llib/hash.scm 275 */
return 
BGl_hashtablezd2putz12zc0zz__hashz00(BgL_tablez00_2057, BgL_keyz00_2058, BgL_objz00_2059);} 
}



/* hashtable-update! */
BGL_EXPORTED_DEF obj_t BGl_hashtablezd2updatez12zc0zz__hashz00(obj_t BgL_tablez00_28, obj_t BgL_keyz00_29, obj_t BgL_procz00_30, obj_t BgL_objz00_31)
{ AN_OBJECT;
{ /* ./Llib/hash.scm 303 */
{ /* ./Llib/hash.scm 304 */
obj_t BgL_bucketsz00_567;
{ /* ./Llib/hash.scm 304 */
int BgL_auxz00_2443;
BgL_auxz00_2443 = 
(int)(((long)2)); 
BgL_bucketsz00_567 = 
STRUCT_REF(BgL_tablez00_28, BgL_auxz00_2443); } 
{ /* ./Llib/hash.scm 304 */
int BgL_bucketzd2lenzd2_568;
BgL_bucketzd2lenzd2_568 = 
VECTOR_LENGTH(BgL_bucketsz00_567); 
{ /* ./Llib/hash.scm 305 */
long BgL_bucketzd2numzd2_569;
{ /* ./Llib/hash.scm 306 */
int BgL_arg1370z00_596;
BgL_arg1370z00_596 = 
BGl_getzd2hashnumberzd2zz__hashz00(BgL_keyz00_29); 
{ /* ./Llib/hash.scm 306 */
long BgL_auxz00_2450;long BgL_auxz00_2448;
BgL_auxz00_2450 = 
(long)(BgL_bucketzd2lenzd2_568); 
BgL_auxz00_2448 = 
(long)(BgL_arg1370z00_596); 
BgL_bucketzd2numzd2_569 = 
(BgL_auxz00_2448%BgL_auxz00_2450); } } 
{ /* ./Llib/hash.scm 306 */
obj_t BgL_bucketz00_570;
{ 
int BgL_auxz00_2453;
BgL_auxz00_2453 = 
(int)(BgL_bucketzd2numzd2_569); 
BgL_bucketz00_570 = 
VECTOR_REF(BgL_bucketsz00_567,BgL_auxz00_2453); } 
{ /* ./Llib/hash.scm 307 */
obj_t BgL_maxzd2bucketzd2lenz00_571;
{ /* ./Llib/hash.scm 308 */
int BgL_auxz00_2456;
BgL_auxz00_2456 = 
(int)(((long)1)); 
BgL_maxzd2bucketzd2lenz00_571 = 
STRUCT_REF(BgL_tablez00_28, BgL_auxz00_2456); } 
{ /* ./Llib/hash.scm 308 */

if(
NULLP(BgL_bucketz00_570))
{ /* ./Llib/hash.scm 309 */
{ /* ./Llib/hash.scm 311 */
long BgL_arg1306z00_573;
{ /* ./Llib/hash.scm 311 */
long BgL_auxz00_2461;
{ /* ./Llib/hash.scm 311 */
obj_t BgL_auxz00_2462;
{ /* ./Llib/hash.scm 311 */
int BgL_auxz00_2463;
BgL_auxz00_2463 = 
(int)(((long)0)); 
BgL_auxz00_2462 = 
STRUCT_REF(BgL_tablez00_28, BgL_auxz00_2463); } 
BgL_auxz00_2461 = 
(long)CINT(BgL_auxz00_2462); } 
BgL_arg1306z00_573 = 
(BgL_auxz00_2461+((long)1)); } 
{ /* ./Llib/hash.scm 311 */
obj_t BgL_auxz00_2470;int BgL_auxz00_2468;
BgL_auxz00_2470 = 
BINT(BgL_arg1306z00_573); 
BgL_auxz00_2468 = 
(int)(((long)0)); 
STRUCT_SET(BgL_tablez00_28, BgL_auxz00_2468, BgL_auxz00_2470); } } 
{ /* ./Llib/hash.scm 312 */
obj_t BgL_arg1314z00_576;
{ /* ./Llib/hash.scm 312 */
obj_t BgL_arg1317z00_577;
BgL_arg1317z00_577 = 
MAKE_PAIR(BgL_keyz00_29, BgL_objz00_31); 
{ /* ./Llib/hash.scm 312 */
obj_t BgL_list1319z00_578;
BgL_list1319z00_578 = 
MAKE_PAIR(BgL_arg1317z00_577, BNIL); 
BgL_arg1314z00_576 = BgL_list1319z00_578; } } 
{ 
int BgL_auxz00_2475;
BgL_auxz00_2475 = 
(int)(BgL_bucketzd2numzd2_569); 
VECTOR_SET(BgL_bucketsz00_567,BgL_auxz00_2475,BgL_arg1314z00_576); } } 
return BgL_objz00_31;}  else 
{ 
obj_t BgL_buckz00_579;long BgL_countz00_580;
BgL_buckz00_579 = BgL_bucketz00_570; 
BgL_countz00_580 = ((long)0); 
BgL_loopz00_581:
if(
NULLP(BgL_buckz00_579))
{ /* ./Llib/hash.scm 317 */
{ /* ./Llib/hash.scm 318 */
long BgL_arg1326z00_583;
{ /* ./Llib/hash.scm 318 */
long BgL_auxz00_2480;
{ /* ./Llib/hash.scm 318 */
obj_t BgL_auxz00_2481;
{ /* ./Llib/hash.scm 318 */
int BgL_auxz00_2482;
BgL_auxz00_2482 = 
(int)(((long)0)); 
BgL_auxz00_2481 = 
STRUCT_REF(BgL_tablez00_28, BgL_auxz00_2482); } 
BgL_auxz00_2480 = 
(long)CINT(BgL_auxz00_2481); } 
BgL_arg1326z00_583 = 
(BgL_auxz00_2480+((long)1)); } 
{ /* ./Llib/hash.scm 318 */
obj_t BgL_auxz00_2489;int BgL_auxz00_2487;
BgL_auxz00_2489 = 
BINT(BgL_arg1326z00_583); 
BgL_auxz00_2487 = 
(int)(((long)0)); 
STRUCT_SET(BgL_tablez00_28, BgL_auxz00_2487, BgL_auxz00_2489); } } 
{ /* ./Llib/hash.scm 319 */
obj_t BgL_arg1334z00_586;
{ /* ./Llib/hash.scm 319 */
obj_t BgL_arg1337z00_587;
BgL_arg1337z00_587 = 
MAKE_PAIR(BgL_keyz00_29, BgL_objz00_31); 
BgL_arg1334z00_586 = 
MAKE_PAIR(BgL_arg1337z00_587, BgL_bucketz00_570); } 
{ 
int BgL_auxz00_2494;
BgL_auxz00_2494 = 
(int)(BgL_bucketzd2numzd2_569); 
VECTOR_SET(BgL_bucketsz00_567,BgL_auxz00_2494,BgL_arg1334z00_586); } } 
{ /* ./Llib/hash.scm 320 */
bool_t BgL_testz00_2497;
{ /* ./Llib/hash.scm 320 */
long BgL_auxz00_2498;
BgL_auxz00_2498 = 
(long)CINT(BgL_maxzd2bucketzd2lenz00_571); 
BgL_testz00_2497 = 
(BgL_countz00_580>BgL_auxz00_2498); } 
if(BgL_testz00_2497)
{ /* ./Llib/hash.scm 320 */
BGl_hashtablezd2expandz12zc0zz__hashz00(BgL_tablez00_28); }  else 
{ /* ./Llib/hash.scm 320 */((bool_t)0); } } 
return BgL_objz00_31;}  else 
{ /* ./Llib/hash.scm 323 */
bool_t BgL_test1343z00_589;
{ /* ./Llib/hash.scm 323 */
obj_t BgL_arg1362z00_595;
{ /* ./Llib/hash.scm 323 */
obj_t BgL_auxz00_2502;
BgL_auxz00_2502 = 
CAR(BgL_buckz00_579); 
BgL_arg1362z00_595 = 
CAR(BgL_auxz00_2502); } 
if(
STRINGP(BgL_arg1362z00_595))
{ /* ./Llib/hash.scm 323 */
if(
STRINGP(BgL_keyz00_29))
{ /* ./Llib/hash.scm 323 */
BgL_test1343z00_589 = 
bigloo_strcmp(BgL_arg1362z00_595, BgL_keyz00_29); }  else 
{ /* ./Llib/hash.scm 323 */
BgL_test1343z00_589 = ((bool_t)0); } }  else 
{ /* ./Llib/hash.scm 323 */
BgL_test1343z00_589 = 
BGl_equalzf3zf3zz__r4_equivalence_6_2z00(BgL_arg1362z00_595, BgL_keyz00_29); } } 
if(BgL_test1343z00_589)
{ /* ./Llib/hash.scm 323 */
{ /* ./Llib/hash.scm 324 */
obj_t BgL_arg1345z00_590;obj_t BgL_arg1346z00_591;
BgL_arg1345z00_590 = 
CAR(BgL_buckz00_579); 
{ /* ./Llib/hash.scm 324 */
obj_t BgL_arg1352z00_592;
{ /* ./Llib/hash.scm 324 */
obj_t BgL_auxz00_2513;
BgL_auxz00_2513 = 
CAR(BgL_buckz00_579); 
BgL_arg1352z00_592 = 
CDR(BgL_auxz00_2513); } 
BgL_arg1346z00_591 = 
PROCEDURE_ENTRY(BgL_procz00_30)(BgL_procz00_30, BgL_arg1352z00_592, BEOA); } 
return 
SET_CDR(BgL_arg1345z00_590, BgL_arg1346z00_591);} }  else 
{ /* ./Llib/hash.scm 323 */
{ 
long BgL_countz00_2521;obj_t BgL_buckz00_2519;
BgL_buckz00_2519 = 
CDR(BgL_buckz00_579); 
BgL_countz00_2521 = 
(BgL_countz00_580+((long)1)); 
BgL_countz00_580 = BgL_countz00_2521; 
BgL_buckz00_579 = BgL_buckz00_2519; 
goto BgL_loopz00_581;} } } } } } } } } } } 
}



/* _hashtable-update!2554 */
obj_t BGl__hashtablezd2updatez122554zc0zz__hashz00(obj_t BgL_envz00_2060, obj_t BgL_tablez00_2061, obj_t BgL_keyz00_2062, obj_t BgL_procz00_2063, obj_t BgL_objz00_2064)
{ AN_OBJECT;
{ /* ./Llib/hash.scm 303 */
return 
BGl_hashtablezd2updatez12zc0zz__hashz00(BgL_tablez00_2061, BgL_keyz00_2062, BgL_procz00_2063, BgL_objz00_2064);} 
}



/* hashtable-remove! */
BGL_EXPORTED_DEF bool_t BGl_hashtablezd2removez12zc0zz__hashz00(obj_t BgL_tablez00_32, obj_t BgL_keyz00_33)
{ AN_OBJECT;
{ /* ./Llib/hash.scm 331 */
{ /* ./Llib/hash.scm 332 */
obj_t BgL_bucketsz00_597;
{ /* ./Llib/hash.scm 332 */
int BgL_auxz00_2524;
BgL_auxz00_2524 = 
(int)(((long)2)); 
BgL_bucketsz00_597 = 
STRUCT_REF(BgL_tablez00_32, BgL_auxz00_2524); } 
{ /* ./Llib/hash.scm 332 */
int BgL_bucketzd2lenzd2_598;
BgL_bucketzd2lenzd2_598 = 
VECTOR_LENGTH(BgL_bucketsz00_597); 
{ /* ./Llib/hash.scm 333 */
long BgL_bucketzd2numzd2_599;
{ /* ./Llib/hash.scm 334 */
int BgL_arg1425z00_620;
BgL_arg1425z00_620 = 
BGl_getzd2hashnumberzd2zz__hashz00(BgL_keyz00_33); 
{ /* ./Llib/hash.scm 334 */
long BgL_auxz00_2531;long BgL_auxz00_2529;
BgL_auxz00_2531 = 
(long)(BgL_bucketzd2lenzd2_598); 
BgL_auxz00_2529 = 
(long)(BgL_arg1425z00_620); 
BgL_bucketzd2numzd2_599 = 
(BgL_auxz00_2529%BgL_auxz00_2531); } } 
{ /* ./Llib/hash.scm 334 */
obj_t BgL_bucketz00_600;
{ 
int BgL_auxz00_2534;
BgL_auxz00_2534 = 
(int)(BgL_bucketzd2numzd2_599); 
BgL_bucketz00_600 = 
VECTOR_REF(BgL_bucketsz00_597,BgL_auxz00_2534); } 
{ /* ./Llib/hash.scm 335 */

if(
NULLP(BgL_bucketz00_600))
{ /* ./Llib/hash.scm 337 */
return ((bool_t)0);}  else 
{ /* ./Llib/hash.scm 339 */
bool_t BgL_test1376z00_602;
{ /* ./Llib/hash.scm 339 */
obj_t BgL_arg1419z00_619;
{ /* ./Llib/hash.scm 339 */
obj_t BgL_auxz00_2539;
BgL_auxz00_2539 = 
CAR(BgL_bucketz00_600); 
BgL_arg1419z00_619 = 
CAR(BgL_auxz00_2539); } 
if(
STRINGP(BgL_arg1419z00_619))
{ /* ./Llib/hash.scm 339 */
if(
STRINGP(BgL_keyz00_33))
{ /* ./Llib/hash.scm 339 */
BgL_test1376z00_602 = 
bigloo_strcmp(BgL_arg1419z00_619, BgL_keyz00_33); }  else 
{ /* ./Llib/hash.scm 339 */
BgL_test1376z00_602 = ((bool_t)0); } }  else 
{ /* ./Llib/hash.scm 339 */
BgL_test1376z00_602 = 
BGl_equalzf3zf3zz__r4_equivalence_6_2z00(BgL_arg1419z00_619, BgL_keyz00_33); } } 
if(BgL_test1376z00_602)
{ /* ./Llib/hash.scm 339 */
{ 
obj_t BgL_auxz00_2551;int BgL_auxz00_2549;
BgL_auxz00_2551 = 
CDR(BgL_bucketz00_600); 
BgL_auxz00_2549 = 
(int)(BgL_bucketzd2numzd2_599); 
VECTOR_SET(BgL_bucketsz00_597,BgL_auxz00_2549,BgL_auxz00_2551); } 
{ /* ./Llib/hash.scm 341 */
long BgL_arg1382z00_604;
{ /* ./Llib/hash.scm 341 */
long BgL_auxz00_2554;
{ /* ./Llib/hash.scm 341 */
obj_t BgL_auxz00_2555;
{ /* ./Llib/hash.scm 341 */
int BgL_auxz00_2556;
BgL_auxz00_2556 = 
(int)(((long)0)); 
BgL_auxz00_2555 = 
STRUCT_REF(BgL_tablez00_32, BgL_auxz00_2556); } 
BgL_auxz00_2554 = 
(long)CINT(BgL_auxz00_2555); } 
BgL_arg1382z00_604 = 
(BgL_auxz00_2554-((long)1)); } 
{ /* ./Llib/hash.scm 341 */
obj_t BgL_auxz00_2563;int BgL_auxz00_2561;
BgL_auxz00_2563 = 
BINT(BgL_arg1382z00_604); 
BgL_auxz00_2561 = 
(int)(((long)0)); 
STRUCT_SET(BgL_tablez00_32, BgL_auxz00_2561, BgL_auxz00_2563); } } 
return ((bool_t)1);}  else 
{ /* ./Llib/hash.scm 339 */
{ 
obj_t BgL_bucketz00_607;obj_t BgL_prevz00_608;
BgL_bucketz00_607 = 
CDR(BgL_bucketz00_600); 
BgL_prevz00_608 = BgL_bucketz00_600; 
BgL_loopz00_609:
if(
PAIRP(BgL_bucketz00_607))
{ /* ./Llib/hash.scm 347 */
bool_t BgL_test1394z00_612;
{ /* ./Llib/hash.scm 347 */
obj_t BgL_arg1414z00_618;
{ /* ./Llib/hash.scm 347 */
obj_t BgL_auxz00_2568;
BgL_auxz00_2568 = 
CAR(BgL_bucketz00_607); 
BgL_arg1414z00_618 = 
CAR(BgL_auxz00_2568); } 
if(
STRINGP(BgL_arg1414z00_618))
{ /* ./Llib/hash.scm 347 */
if(
STRINGP(BgL_keyz00_33))
{ /* ./Llib/hash.scm 347 */
BgL_test1394z00_612 = 
bigloo_strcmp(BgL_arg1414z00_618, BgL_keyz00_33); }  else 
{ /* ./Llib/hash.scm 347 */
BgL_test1394z00_612 = ((bool_t)0); } }  else 
{ /* ./Llib/hash.scm 347 */
BgL_test1394z00_612 = 
BGl_equalzf3zf3zz__r4_equivalence_6_2z00(BgL_arg1414z00_618, BgL_keyz00_33); } } 
if(BgL_test1394z00_612)
{ /* ./Llib/hash.scm 347 */
{ /* ./Llib/hash.scm 349 */
obj_t BgL_auxz00_2578;
BgL_auxz00_2578 = 
CDR(BgL_bucketz00_607); 
SET_CDR(BgL_prevz00_608, BgL_auxz00_2578); } 
{ /* ./Llib/hash.scm 351 */
long BgL_arg1400z00_614;
{ /* ./Llib/hash.scm 351 */
long BgL_auxz00_2581;
{ /* ./Llib/hash.scm 351 */
obj_t BgL_auxz00_2582;
{ /* ./Llib/hash.scm 351 */
int BgL_auxz00_2583;
BgL_auxz00_2583 = 
(int)(((long)0)); 
BgL_auxz00_2582 = 
STRUCT_REF(BgL_tablez00_32, BgL_auxz00_2583); } 
BgL_auxz00_2581 = 
(long)CINT(BgL_auxz00_2582); } 
BgL_arg1400z00_614 = 
(BgL_auxz00_2581-((long)1)); } 
{ /* ./Llib/hash.scm 350 */
obj_t BgL_auxz00_2590;int BgL_auxz00_2588;
BgL_auxz00_2590 = 
BINT(BgL_arg1400z00_614); 
BgL_auxz00_2588 = 
(int)(((long)0)); 
STRUCT_SET(BgL_tablez00_32, BgL_auxz00_2588, BgL_auxz00_2590); } } 
return ((bool_t)1);}  else 
{ 
obj_t BgL_prevz00_2595;obj_t BgL_bucketz00_2593;
BgL_bucketz00_2593 = 
CDR(BgL_bucketz00_607); 
BgL_prevz00_2595 = BgL_bucketz00_607; 
BgL_prevz00_608 = BgL_prevz00_2595; 
BgL_bucketz00_607 = BgL_bucketz00_2593; 
goto BgL_loopz00_609;} }  else 
{ /* ./Llib/hash.scm 346 */
return ((bool_t)0);} } } } } } } } } } 
}



/* _hashtable-remove! */
obj_t BGl__hashtablezd2removez12zc0zz__hashz00(obj_t BgL_envz00_2065, obj_t BgL_tablez00_2066, obj_t BgL_keyz00_2067)
{ AN_OBJECT;
{ /* ./Llib/hash.scm 331 */
{ /* ./Llib/hash.scm 332 */
bool_t BgL_auxz00_2597;
BgL_auxz00_2597 = 
BGl_hashtablezd2removez12zc0zz__hashz00(BgL_tablez00_2066, BgL_keyz00_2067); 
return 
BBOOL(BgL_auxz00_2597);} } 
}



/* hashtable-expand! */
bool_t BGl_hashtablezd2expandz12zc0zz__hashz00(obj_t BgL_tablez00_34)
{ AN_OBJECT;
{ /* ./Llib/hash.scm 360 */
{ /* ./Llib/hash.scm 361 */
obj_t BgL_oldzd2buckszd2_621;
{ /* ./Llib/hash.scm 361 */
int BgL_auxz00_2600;
BgL_auxz00_2600 = 
(int)(((long)2)); 
BgL_oldzd2buckszd2_621 = 
STRUCT_REF(BgL_tablez00_34, BgL_auxz00_2600); } 
{ /* ./Llib/hash.scm 361 */
int BgL_oldzd2buckszd2lenz00_622;
BgL_oldzd2buckszd2lenz00_622 = 
VECTOR_LENGTH(BgL_oldzd2buckszd2_621); 
{ /* ./Llib/hash.scm 362 */
long BgL_newzd2buckszd2lenz00_623;
{ /* ./Llib/hash.scm 363 */
long BgL_auxz00_2604;
BgL_auxz00_2604 = 
(long)(BgL_oldzd2buckszd2lenz00_622); 
BgL_newzd2buckszd2lenz00_623 = 
(((long)2)*BgL_auxz00_2604); } 
{ /* ./Llib/hash.scm 363 */
obj_t BgL_newzd2buckszd2_624;
{ /* ./Llib/hash.scm 364 */
int BgL_auxz00_2607;
BgL_auxz00_2607 = 
(int)(BgL_newzd2buckszd2lenz00_623); 
BgL_newzd2buckszd2_624 = 
make_vector(BgL_auxz00_2607, BNIL); } 
{ /* ./Llib/hash.scm 364 */

{ /* ./Llib/hash.scm 365 */
int BgL_auxz00_2610;
BgL_auxz00_2610 = 
(int)(((long)2)); 
STRUCT_SET(BgL_tablez00_34, BgL_auxz00_2610, BgL_newzd2buckszd2_624); } 
{ 
long BgL_iz00_625;
BgL_iz00_625 = ((long)0); 
BgL_loopz00_626:
{ /* ./Llib/hash.scm 367 */
bool_t BgL_testz00_2613;
{ /* ./Llib/hash.scm 367 */
long BgL_auxz00_2614;
BgL_auxz00_2614 = 
(long)(BgL_oldzd2buckszd2lenz00_622); 
BgL_testz00_2613 = 
(BgL_iz00_625<BgL_auxz00_2614); } 
if(BgL_testz00_2613)
{ /* ./Llib/hash.scm 367 */
{ 
obj_t BgL_l1010z00_628;
{ 
int BgL_auxz00_2635;
BgL_auxz00_2635 = 
(int)(BgL_iz00_625); 
BgL_l1010z00_628 = 
VECTOR_REF(BgL_oldzd2buckszd2_621,BgL_auxz00_2635); } 
BgL_forzd2each1011zd2_629:
if(
PAIRP(BgL_l1010z00_628))
{ /* ./Llib/hash.scm 369 */
{ /* ./Llib/hash.scm 370 */
obj_t BgL_cellz00_632;
BgL_cellz00_632 = 
CAR(BgL_l1010z00_628); 
{ /* ./Llib/hash.scm 370 */
obj_t BgL_keyz00_633;
BgL_keyz00_633 = 
CAR(BgL_cellz00_632); 
{ /* ./Llib/hash.scm 370 */
long BgL_hz00_634;
{ /* ./Llib/hash.scm 371 */
int BgL_arg1446z00_637;
BgL_arg1446z00_637 = 
BGl_getzd2hashnumberzd2zz__hashz00(BgL_keyz00_633); 
{ /* ./Llib/hash.scm 371 */
long BgL_auxz00_2622;
BgL_auxz00_2622 = 
(long)(BgL_arg1446z00_637); 
BgL_hz00_634 = 
(BgL_auxz00_2622%BgL_newzd2buckszd2lenz00_623); } } 
{ /* ./Llib/hash.scm 371 */

{ /* ./Llib/hash.scm 376 */
obj_t BgL_arg1439z00_635;
{ /* ./Llib/hash.scm 375 */
obj_t BgL_auxz00_2625;
{ 
int BgL_auxz00_2626;
BgL_auxz00_2626 = 
(int)(BgL_hz00_634); 
BgL_auxz00_2625 = 
VECTOR_REF(BgL_newzd2buckszd2_624,BgL_auxz00_2626); } 
BgL_arg1439z00_635 = 
MAKE_PAIR(BgL_cellz00_632, BgL_auxz00_2625); } 
{ 
int BgL_auxz00_2630;
BgL_auxz00_2630 = 
(int)(BgL_hz00_634); 
VECTOR_SET(BgL_newzd2buckszd2_624,BgL_auxz00_2630,BgL_arg1439z00_635); } } } } } } 
{ 
obj_t BgL_l1010z00_2633;
BgL_l1010z00_2633 = 
CDR(BgL_l1010z00_628); 
BgL_l1010z00_628 = BgL_l1010z00_2633; 
goto BgL_forzd2each1011zd2_629;} }  else 
{ /* ./Llib/hash.scm 369 */((bool_t)1); } } 
{ 
long BgL_iz00_2638;
BgL_iz00_2638 = 
(BgL_iz00_625+((long)1)); 
BgL_iz00_625 = BgL_iz00_2638; 
goto BgL_loopz00_626;} }  else 
{ /* ./Llib/hash.scm 367 */
return ((bool_t)0);} } } } } } } } } 
}



/* get-hashnumber */
BGL_EXPORTED_DEF int BGl_getzd2hashnumberzd2zz__hashz00(obj_t BgL_keyz00_37)
{ AN_OBJECT;
{ /* ./Llib/hash.scm 393 */
if(
STRINGP(BgL_keyz00_37))
{ /* ./Llib/hash.scm 395 */
{ /* ./Llib/hash.scm 396 */
int BgL_arg1474z00_643;
{ /* ./Llib/hash.scm 396 */
char * BgL_auxz00_2642;
BgL_auxz00_2642 = 
BSTRING_TO_STRING(BgL_keyz00_37); 
BgL_arg1474z00_643 = 
bgl_string_hash_number(BgL_auxz00_2642); } 
{ /* ./Llib/hash.scm 396 */
long BgL_auxz00_2645;
{ /* ./Llib/hash.scm 396 */
long BgL_nz00_1487;
BgL_nz00_1487 = 
(long)(BgL_arg1474z00_643); 
if(
(BgL_nz00_1487<((long)0)))
{ /* ./Llib/hash.scm 396 */
BgL_auxz00_2645 = 
NEG(BgL_nz00_1487)
; }  else 
{ /* ./Llib/hash.scm 396 */
BgL_auxz00_2645 = BgL_nz00_1487
; } } 
return 
(int)(BgL_auxz00_2645);} } }  else 
{ /* ./Llib/hash.scm 395 */
if(
SYMBOLP(BgL_keyz00_37))
{ /* ./Llib/hash.scm 397 */
{ /* ./Llib/hash.scm 398 */
int BgL_arg1479z00_645;
BgL_arg1479z00_645 = 
bgl_symbol_hash_number(BgL_keyz00_37); 
{ /* ./Llib/hash.scm 398 */
long BgL_auxz00_2654;
{ /* ./Llib/hash.scm 398 */
long BgL_nz00_1494;
BgL_nz00_1494 = 
(long)(BgL_arg1479z00_645); 
if(
(BgL_nz00_1494<((long)0)))
{ /* ./Llib/hash.scm 398 */
BgL_auxz00_2654 = 
NEG(BgL_nz00_1494)
; }  else 
{ /* ./Llib/hash.scm 398 */
BgL_auxz00_2654 = BgL_nz00_1494
; } } 
return 
(int)(BgL_auxz00_2654);} } }  else 
{ /* ./Llib/hash.scm 397 */
if(
INTEGERP(BgL_keyz00_37))
{ /* ./Llib/hash.scm 399 */
{ /* ./Llib/hash.scm 400 */
long BgL_auxz00_2662;
{ /* ./Llib/hash.scm 400 */
long BgL_nz00_1501;
BgL_nz00_1501 = 
(long)CINT(BgL_keyz00_37); 
if(
(BgL_nz00_1501<((long)0)))
{ /* ./Llib/hash.scm 400 */
BgL_auxz00_2662 = 
NEG(BgL_nz00_1501)
; }  else 
{ /* ./Llib/hash.scm 400 */
BgL_auxz00_2662 = BgL_nz00_1501
; } } 
return 
(int)(BgL_auxz00_2662);} }  else 
{ /* ./Llib/hash.scm 401 */
bool_t BgL_test1484z00_647;
BgL_test1484z00_647 = 
BGL_OBJECTP(BgL_keyz00_37); 
if(BgL_test1484z00_647)
{ /* ./Llib/hash.scm 401 */
{ /* ./Llib/hash.scm 402 */
int BgL_arg1486z00_648;
BgL_arg1486z00_648 = 
BGl_objectzd2hashnumberzd2zz__objectz00(
(BgL_objectz00_bglt)(BgL_keyz00_37)); 
{ /* ./Llib/hash.scm 402 */
long BgL_auxz00_2672;
{ /* ./Llib/hash.scm 402 */
long BgL_nz00_1508;
BgL_nz00_1508 = 
(long)(BgL_arg1486z00_648); 
if(
(BgL_nz00_1508<((long)0)))
{ /* ./Llib/hash.scm 402 */
BgL_auxz00_2672 = 
NEG(BgL_nz00_1508)
; }  else 
{ /* ./Llib/hash.scm 402 */
BgL_auxz00_2672 = BgL_nz00_1508
; } } 
return 
(int)(BgL_auxz00_2672);} } }  else 
{ /* ./Llib/hash.scm 401 */
if(
FOREIGNP(BgL_keyz00_37))
{ /* ./Llib/hash.scm 403 */
{ /* ./Llib/hash.scm 404 */
int BgL_arg1491z00_650;
BgL_arg1491z00_650 = 
bgl_foreign_hash_number(BgL_keyz00_37); 
{ /* ./Llib/hash.scm 404 */
long BgL_auxz00_2681;
{ /* ./Llib/hash.scm 404 */
long BgL_nz00_1515;
BgL_nz00_1515 = 
(long)(BgL_arg1491z00_650); 
if(
(BgL_nz00_1515<((long)0)))
{ /* ./Llib/hash.scm 404 */
BgL_auxz00_2681 = 
NEG(BgL_nz00_1515)
; }  else 
{ /* ./Llib/hash.scm 404 */
BgL_auxz00_2681 = BgL_nz00_1515
; } } 
return 
(int)(BgL_auxz00_2681);} } }  else 
{ /* ./Llib/hash.scm 403 */
{ /* ./Llib/hash.scm 406 */
int BgL_arg1495z00_651;
BgL_arg1495z00_651 = 
bgl_obj_hash_number(BgL_keyz00_37); 
{ /* ./Llib/hash.scm 406 */
long BgL_auxz00_2688;
{ /* ./Llib/hash.scm 406 */
long BgL_nz00_1521;
BgL_nz00_1521 = 
(long)(BgL_arg1495z00_651); 
if(
(BgL_nz00_1521<((long)0)))
{ /* ./Llib/hash.scm 406 */
BgL_auxz00_2688 = 
NEG(BgL_nz00_1521)
; }  else 
{ /* ./Llib/hash.scm 406 */
BgL_auxz00_2688 = BgL_nz00_1521
; } } 
return 
(int)(BgL_auxz00_2688);} } } } } } } } 
}



/* _get-hashnumber */
obj_t BGl__getzd2hashnumberzd2zz__hashz00(obj_t BgL_envz00_2068, obj_t BgL_keyz00_2069)
{ AN_OBJECT;
{ /* ./Llib/hash.scm 393 */
{ /* ./Llib/hash.scm 395 */
int BgL_auxz00_2694;
BgL_auxz00_2694 = 
BGl_getzd2hashnumberzd2zz__hashz00(BgL_keyz00_2069); 
return 
BINT(BgL_auxz00_2694);} } 
}



/* make-hash-table */
BGL_EXPORTED_DEF obj_t BGl_makezd2hashzd2tablez00zz__hashz00(long BgL_maxzd2siza7ez75_68, obj_t BgL_getzd2hashzd2numberz00_69, obj_t BgL_getzd2keyzd2_70, obj_t BgL_eqz00_71, obj_t BgL_initzd2siza7ez75_72)
{ AN_OBJECT;
{ /* ./Llib/hash.scm 429 */
{ /* ./Llib/hash.scm 430 */
obj_t BgL_siza7eza7_662;
if(
NULLP(BgL_initzd2siza7ez75_72))
{ /* ./Llib/hash.scm 430 */
BgL_siza7eza7_662 = 
BINT(BgL_maxzd2siza7ez75_68); }  else 
{ /* ./Llib/hash.scm 430 */
BgL_siza7eza7_662 = 
CAR(BgL_initzd2siza7ez75_72); } 
if(
BGl_2ze5powerzf3z16zz__hashz00(BgL_siza7eza7_662))
{ /* ./Llib/hash.scm 437 */
if(
BGl_2ze5powerzf3z16zz__hashz00(
BINT(BgL_maxzd2siza7ez75_68)))
{ /* ./Llib/hash.scm 445 */
bool_t BgL_testz00_2706;
{ /* ./Llib/hash.scm 445 */
long BgL_auxz00_2707;
BgL_auxz00_2707 = 
(long)CINT(BgL_siza7eza7_662); 
BgL_testz00_2706 = 
(BgL_auxz00_2707>BgL_maxzd2siza7ez75_68); } 
if(BgL_testz00_2706)
{ /* ./Llib/hash.scm 445 */
FAILURE(BGl_string2831z00zz__hashz00,BGl_string2832z00zz__hashz00,BgL_siza7eza7_662);}  else 
{ /* ./Llib/hash.scm 445 */
{ /* ./Llib/hash.scm 450 */
obj_t BgL_tablez00_667;
{ /* ./Llib/hash.scm 450 */
int BgL_auxz00_2711;
BgL_auxz00_2711 = 
CINT(BgL_siza7eza7_662); 
BgL_tablez00_667 = 
make_vector(BgL_auxz00_2711, BNIL); } 
{ /* ./Llib/hash.scm 451 */
obj_t BgL_newz00_1618;
{ /* ./Llib/hash.scm 451 */
int BgL_auxz00_2714;
BgL_auxz00_2714 = 
(int)(((long)7)); 
BgL_newz00_1618 = 
create_struct(BGl_symbol2833z00zz__hashz00, BgL_auxz00_2714); } 
{ /* ./Llib/hash.scm 451 */
int BgL_auxz00_2717;
BgL_auxz00_2717 = 
(int)(((long)6)); 
STRUCT_SET(BgL_newz00_1618, BgL_auxz00_2717, BgL_tablez00_667); } 
{ /* ./Llib/hash.scm 451 */
int BgL_auxz00_2720;
BgL_auxz00_2720 = 
(int)(((long)5)); 
STRUCT_SET(BgL_newz00_1618, BgL_auxz00_2720, BgL_eqz00_71); } 
{ /* ./Llib/hash.scm 451 */
obj_t BgL_auxz00_2725;int BgL_auxz00_2723;
BgL_auxz00_2725 = 
BINT(((long)0)); 
BgL_auxz00_2723 = 
(int)(((long)4)); 
STRUCT_SET(BgL_newz00_1618, BgL_auxz00_2723, BgL_auxz00_2725); } 
{ /* ./Llib/hash.scm 451 */
int BgL_auxz00_2728;
BgL_auxz00_2728 = 
(int)(((long)3)); 
STRUCT_SET(BgL_newz00_1618, BgL_auxz00_2728, BgL_getzd2keyzd2_70); } 
{ /* ./Llib/hash.scm 451 */
int BgL_auxz00_2731;
BgL_auxz00_2731 = 
(int)(((long)2)); 
STRUCT_SET(BgL_newz00_1618, BgL_auxz00_2731, BgL_getzd2hashzd2numberz00_69); } 
{ /* ./Llib/hash.scm 451 */
int BgL_auxz00_2734;
BgL_auxz00_2734 = 
(int)(((long)1)); 
STRUCT_SET(BgL_newz00_1618, BgL_auxz00_2734, BgL_siza7eza7_662); } 
{ /* ./Llib/hash.scm 451 */
obj_t BgL_auxz00_2739;int BgL_auxz00_2737;
BgL_auxz00_2739 = 
BINT(BgL_maxzd2siza7ez75_68); 
BgL_auxz00_2737 = 
(int)(((long)0)); 
STRUCT_SET(BgL_newz00_1618, BgL_auxz00_2737, BgL_auxz00_2739); } 
return BgL_newz00_1618;} } } }  else 
{ /* ./Llib/hash.scm 441 */
{ /* ./Llib/hash.scm 442 */
obj_t BgL_objectz00_1656;
BgL_objectz00_1656 = 
BINT(BgL_maxzd2siza7ez75_68); 
FAILURE(BGl_string2831z00zz__hashz00,BGl_string2834z00zz__hashz00,BgL_objectz00_1656);} } }  else 
{ /* ./Llib/hash.scm 437 */
FAILURE(BGl_string2831z00zz__hashz00,BGl_string2835z00zz__hashz00,BgL_siza7eza7_662);} } } 
}



/* 2^power? */
bool_t BGl_2ze5powerzf3z16zz__hashz00(obj_t BgL_siza7eza7_669)
{ AN_OBJECT;
{ /* ./Llib/hash.scm 433 */
{ /* ./Llib/hash.scm 434 */
bool_t BgL_testz00_2745;
{ /* ./Llib/hash.scm 434 */
long BgL_auxz00_2746;
BgL_auxz00_2746 = 
(long)CINT(BgL_siza7eza7_669); 
BgL_testz00_2745 = 
(BgL_auxz00_2746>((long)1)); } 
if(BgL_testz00_2745)
{ /* ./Llib/hash.scm 435 */
long BgL_auxz00_2749;
{ /* ./Llib/hash.scm 435 */
long BgL_auxz00_2752;long BgL_auxz00_2750;
{ /* ./Llib/hash.scm 435 */
long BgL_auxz00_2753;
BgL_auxz00_2753 = 
(long)CINT(BgL_siza7eza7_669); 
BgL_auxz00_2752 = 
(BgL_auxz00_2753-((long)1)); } 
BgL_auxz00_2750 = 
(long)CINT(BgL_siza7eza7_669); 
BgL_auxz00_2749 = 
(BgL_auxz00_2750 & BgL_auxz00_2752); } 
return 
(((long)0)==BgL_auxz00_2749);}  else 
{ /* ./Llib/hash.scm 434 */
return ((bool_t)0);} } } 
}



/* _make-hash-table */
obj_t BGl__makezd2hashzd2tablez00zz__hashz00(obj_t BgL_envz00_2070, obj_t BgL_maxzd2siza7ez75_2071, obj_t BgL_getzd2hashzd2numberz00_2072, obj_t BgL_getzd2keyzd2_2073, obj_t BgL_eqz00_2074, obj_t BgL_initzd2siza7ez75_2075)
{ AN_OBJECT;
{ /* ./Llib/hash.scm 429 */
return 
BGl_makezd2hashzd2tablez00zz__hashz00(
(long)CINT(BgL_maxzd2siza7ez75_2071), BgL_getzd2hashzd2numberz00_2072, BgL_getzd2keyzd2_2073, BgL_eqz00_2074, BgL_initzd2siza7ez75_2075);} 
}



/* hash-table? */
BGL_EXPORTED_DEF bool_t BGl_hashzd2tablezf3z21zz__hashz00(obj_t BgL_objz00_73)
{ AN_OBJECT;
{ /* ./Llib/hash.scm 456 */
if(
STRUCTP(BgL_objz00_73))
{ /* ./Llib/hash.scm 457 */
obj_t BgL_auxz00_2762;
BgL_auxz00_2762 = 
STRUCT_KEY(BgL_objz00_73); 
return 
(BgL_auxz00_2762==BGl_symbol2833z00zz__hashz00);}  else 
{ /* ./Llib/hash.scm 457 */
return ((bool_t)0);} } 
}



/* _hash-table? */
obj_t BGl__hashzd2tablezf3z21zz__hashz00(obj_t BgL_envz00_2076, obj_t BgL_objz00_2077)
{ AN_OBJECT;
{ /* ./Llib/hash.scm 456 */
{ /* ./Llib/hash.scm 457 */
bool_t BgL_auxz00_2765;
BgL_auxz00_2765 = 
BGl_hashzd2tablezf3z21zz__hashz00(BgL_objz00_2077); 
return 
BBOOL(BgL_auxz00_2765);} } 
}



/* hash-table-nb-entry */
BGL_EXPORTED_DEF obj_t BGl_hashzd2tablezd2nbzd2entryzd2zz__hashz00(obj_t BgL_tablez00_74)
{ AN_OBJECT;
{ /* ./Llib/hash.scm 462 */
{ /* ./Llib/hash.scm 463 */
int BgL_auxz00_2768;
BgL_auxz00_2768 = 
(int)(((long)4)); 
return 
STRUCT_REF(BgL_tablez00_74, BgL_auxz00_2768);} } 
}



/* _hash-table-nb-entry */
obj_t BGl__hashzd2tablezd2nbzd2entryzd2zz__hashz00(obj_t BgL_envz00_2078, obj_t BgL_tablez00_2079)
{ AN_OBJECT;
{ /* ./Llib/hash.scm 462 */
return 
BGl_hashzd2tablezd2nbzd2entryzd2zz__hashz00(BgL_tablez00_2079);} 
}



/* hash-table->vector */
BGL_EXPORTED_DEF obj_t BGl_hashzd2tablezd2ze3vectorze3zz__hashz00(obj_t BgL_tablez00_75)
{ AN_OBJECT;
{ /* ./Llib/hash.scm 468 */
{ /* ./Llib/hash.scm 469 */
int BgL_auxz00_2772;
BgL_auxz00_2772 = 
(int)(((long)6)); 
return 
STRUCT_REF(BgL_tablez00_75, BgL_auxz00_2772);} } 
}



/* _hash-table->vector */
obj_t BGl__hashzd2tablezd2ze3vectorze3zz__hashz00(obj_t BgL_envz00_2080, obj_t BgL_tablez00_2081)
{ AN_OBJECT;
{ /* ./Llib/hash.scm 468 */
return 
BGl_hashzd2tablezd2ze3vectorze3zz__hashz00(BgL_tablez00_2081);} 
}



/* get-hash-number */
obj_t BGl_getzd2hashzd2numberz00zz__hashz00(obj_t BgL_tablez00_76, obj_t BgL_keyz00_77)
{ AN_OBJECT;
{ /* ./Llib/hash.scm 474 */
{ /* ./Llib/hash.scm 475 */
obj_t BgL_hashzd2functionzd2_676;
{ /* ./Llib/hash.scm 475 */
int BgL_auxz00_2776;
BgL_auxz00_2776 = 
(int)(((long)2)); 
BgL_hashzd2functionzd2_676 = 
STRUCT_REF(BgL_tablez00_76, BgL_auxz00_2776); } 
{ /* ./Llib/hash.scm 475 */
obj_t BgL_maxzd2siza7ez75_677;
{ /* ./Llib/hash.scm 476 */
int BgL_auxz00_2779;
BgL_auxz00_2779 = 
(int)(((long)0)); 
BgL_maxzd2siza7ez75_677 = 
STRUCT_REF(BgL_tablez00_76, BgL_auxz00_2779); } 
{ /* ./Llib/hash.scm 476 */
obj_t BgL_siza7eza7_678;
{ /* ./Llib/hash.scm 477 */
int BgL_auxz00_2782;
BgL_auxz00_2782 = 
(int)(((long)1)); 
BgL_siza7eza7_678 = 
STRUCT_REF(BgL_tablez00_76, BgL_auxz00_2782); } 
{ /* ./Llib/hash.scm 477 */
obj_t BgL_numz00_679;
BgL_numz00_679 = 
PROCEDURE_ENTRY(BgL_hashzd2functionzd2_676)(BgL_hashzd2functionzd2_676, BgL_keyz00_77, BEOA); 
{ /* ./Llib/hash.scm 478 */
obj_t BgL_resz00_680;
{ /* ./Llib/hash.scm 479 */
bool_t BgL_testz00_2787;
{ /* ./Llib/hash.scm 479 */
long BgL_auxz00_2790;long BgL_auxz00_2788;
BgL_auxz00_2790 = 
(long)CINT(BgL_maxzd2siza7ez75_677); 
BgL_auxz00_2788 = 
(long)CINT(BgL_siza7eza7_678); 
BgL_testz00_2787 = 
(BgL_auxz00_2788<BgL_auxz00_2790); } 
if(BgL_testz00_2787)
{ /* ./Llib/hash.scm 480 */
long BgL_auxz00_2793;
BgL_auxz00_2793 = 
BGl_moduloz00zz__r4_numbers_6_5_fixnumz00(
(long)CINT(BgL_numz00_679), 
(long)CINT(BgL_siza7eza7_678)); 
BgL_resz00_680 = 
BINT(BgL_auxz00_2793); }  else 
{ /* ./Llib/hash.scm 479 */
BgL_resz00_680 = BgL_numz00_679; } } 
{ /* ./Llib/hash.scm 479 */

{ /* ./Llib/hash.scm 482 */
bool_t BgL_testz00_2798;
{ /* ./Llib/hash.scm 482 */
long BgL_auxz00_2801;long BgL_auxz00_2799;
BgL_auxz00_2801 = 
(long)CINT(BgL_maxzd2siza7ez75_677); 
BgL_auxz00_2799 = 
(long)CINT(BgL_resz00_680); 
BgL_testz00_2798 = 
(BgL_auxz00_2799>=BgL_auxz00_2801); } 
if(BgL_testz00_2798)
{ /* ./Llib/hash.scm 483 */
obj_t BgL_resz00_682;
FAILURE(BGl_string2836z00zz__hashz00,BGl_string2837z00zz__hashz00,BgL_tablez00_76);}  else 
{ /* ./Llib/hash.scm 482 */
return BgL_resz00_680;} } } } } } } } } 
}



/* get-hash */
BGL_EXPORTED_DEF obj_t BGl_getzd2hashzd2zz__hashz00(obj_t BgL_keyz00_78, obj_t BgL_tablez00_79)
{ AN_OBJECT;
{ /* ./Llib/hash.scm 494 */
{ /* ./Llib/hash.scm 495 */
obj_t BgL_hashzd2numzd2_685;
BgL_hashzd2numzd2_685 = 
BGl_getzd2hashzd2numberz00zz__hashz00(BgL_tablez00_79, BgL_keyz00_78); 
{ /* ./Llib/hash.scm 495 */
obj_t BgL_hashzd2eqzf3z21_686;
{ /* ./Llib/hash.scm 496 */
int BgL_auxz00_2809;
BgL_auxz00_2809 = 
(int)(((long)5)); 
BgL_hashzd2eqzf3z21_686 = 
STRUCT_REF(BgL_tablez00_79, BgL_auxz00_2809); } 
{ /* ./Llib/hash.scm 496 */
obj_t BgL_bucketz00_687;
{ 
int BgL_auxz00_2816;obj_t BgL_auxz00_2812;
BgL_auxz00_2816 = 
CINT(BgL_hashzd2numzd2_685); 
{ /* ./Llib/hash.scm 497 */
int BgL_auxz00_2813;
BgL_auxz00_2813 = 
(int)(((long)6)); 
BgL_auxz00_2812 = 
STRUCT_REF(BgL_tablez00_79, BgL_auxz00_2813); } 
BgL_bucketz00_687 = 
VECTOR_REF(BgL_auxz00_2812,BgL_auxz00_2816); } 
{ /* ./Llib/hash.scm 497 */
obj_t BgL_getzd2keyzd2_688;
{ /* ./Llib/hash.scm 498 */
int BgL_auxz00_2819;
BgL_auxz00_2819 = 
(int)(((long)3)); 
BgL_getzd2keyzd2_688 = 
STRUCT_REF(BgL_tablez00_79, BgL_auxz00_2819); } 
{ /* ./Llib/hash.scm 498 */

{ 
obj_t BgL_bucketz00_689;
BgL_bucketz00_689 = BgL_bucketz00_687; 
BgL_loopz00_690:
if(
NULLP(BgL_bucketz00_689))
{ /* ./Llib/hash.scm 501 */
return BFALSE;}  else 
{ /* ./Llib/hash.scm 503 */
bool_t BgL_test1588z00_692;
{ /* ./Llib/hash.scm 503 */
obj_t BgL_arg1595z00_694;
{ /* ./Llib/hash.scm 503 */
obj_t BgL_arg1598z00_695;
BgL_arg1598z00_695 = 
CAR(BgL_bucketz00_689); 
BgL_arg1595z00_694 = 
PROCEDURE_ENTRY(BgL_getzd2keyzd2_688)(BgL_getzd2keyzd2_688, BgL_arg1598z00_695, BEOA); } 
{ /* ./Llib/hash.scm 503 */
obj_t BgL_auxz00_2827;
BgL_auxz00_2827 = 
PROCEDURE_ENTRY(BgL_hashzd2eqzf3z21_686)(BgL_hashzd2eqzf3z21_686, BgL_arg1595z00_694, BgL_keyz00_78, BEOA); 
BgL_test1588z00_692 = 
CBOOL(BgL_auxz00_2827); } } 
if(BgL_test1588z00_692)
{ /* ./Llib/hash.scm 503 */
return 
CAR(BgL_bucketz00_689);}  else 
{ /* ./Llib/hash.scm 503 */
{ 
obj_t BgL_bucketz00_2833;
BgL_bucketz00_2833 = 
CDR(BgL_bucketz00_689); 
BgL_bucketz00_689 = BgL_bucketz00_2833; 
goto BgL_loopz00_690;} } } } } } } } } } 
}



/* _get-hash */
obj_t BGl__getzd2hashzd2zz__hashz00(obj_t BgL_envz00_2082, obj_t BgL_keyz00_2083, obj_t BgL_tablez00_2084)
{ AN_OBJECT;
{ /* ./Llib/hash.scm 494 */
return 
BGl_getzd2hashzd2zz__hashz00(BgL_keyz00_2083, BgL_tablez00_2084);} 
}



/* put-hash! */
BGL_EXPORTED_DEF obj_t BGl_putzd2hashz12zc0zz__hashz00(obj_t BgL_objz00_80, obj_t BgL_tablez00_81)
{ AN_OBJECT;
{ /* ./Llib/hash.scm 511 */
{ /* ./Llib/hash.scm 512 */
bool_t BgL_test1609z00_697;
{ /* ./Llib/hash.scm 512 */
bool_t BgL_testz00_2836;
{ /* ./Llib/hash.scm 512 */
long BgL_auxz00_2843;long BgL_auxz00_2837;
{ /* ./Llib/hash.scm 512 */
obj_t BgL_auxz00_2844;
{ /* ./Llib/hash.scm 512 */
int BgL_auxz00_2845;
BgL_auxz00_2845 = 
(int)(((long)0)); 
BgL_auxz00_2844 = 
STRUCT_REF(BgL_tablez00_81, BgL_auxz00_2845); } 
BgL_auxz00_2843 = 
(long)CINT(BgL_auxz00_2844); } 
{ /* ./Llib/hash.scm 512 */
obj_t BgL_auxz00_2838;
{ /* ./Llib/hash.scm 512 */
int BgL_auxz00_2839;
BgL_auxz00_2839 = 
(int)(((long)1)); 
BgL_auxz00_2838 = 
STRUCT_REF(BgL_tablez00_81, BgL_auxz00_2839); } 
BgL_auxz00_2837 = 
(long)CINT(BgL_auxz00_2838); } 
BgL_testz00_2836 = 
(BgL_auxz00_2837<BgL_auxz00_2843); } 
if(BgL_testz00_2836)
{ /* ./Llib/hash.scm 513 */
long BgL_auxz00_2856;long BgL_auxz00_2850;
{ /* ./Llib/hash.scm 514 */
long BgL_auxz00_2857;
{ /* ./Llib/hash.scm 514 */
obj_t BgL_auxz00_2858;
{ /* ./Llib/hash.scm 514 */
int BgL_auxz00_2859;
BgL_auxz00_2859 = 
(int)(((long)1)); 
BgL_auxz00_2858 = 
STRUCT_REF(BgL_tablez00_81, BgL_auxz00_2859); } 
BgL_auxz00_2857 = 
(long)CINT(BgL_auxz00_2858); } 
BgL_auxz00_2856 = 
(BgL_auxz00_2857/((long)2)); } 
{ /* ./Llib/hash.scm 513 */
obj_t BgL_auxz00_2851;
{ /* ./Llib/hash.scm 513 */
int BgL_auxz00_2852;
BgL_auxz00_2852 = 
(int)(((long)4)); 
BgL_auxz00_2851 = 
STRUCT_REF(BgL_tablez00_81, BgL_auxz00_2852); } 
BgL_auxz00_2850 = 
(long)CINT(BgL_auxz00_2851); } 
BgL_test1609z00_697 = 
(BgL_auxz00_2850>BgL_auxz00_2856); }  else 
{ /* ./Llib/hash.scm 512 */
BgL_test1609z00_697 = ((bool_t)0); } } 
if(BgL_test1609z00_697)
{ /* ./Llib/hash.scm 512 */
BGl_hashzd2tablezd2growsz12z12zz__hashz00(BgL_tablez00_81); }  else 
{ /* ./Llib/hash.scm 512 */BFALSE; } } 
{ /* ./Llib/hash.scm 518 */
obj_t BgL_getzd2keyzd2_705;
{ /* ./Llib/hash.scm 518 */
int BgL_auxz00_2867;
BgL_auxz00_2867 = 
(int)(((long)3)); 
BgL_getzd2keyzd2_705 = 
STRUCT_REF(BgL_tablez00_81, BgL_auxz00_2867); } 
{ /* ./Llib/hash.scm 518 */
obj_t BgL_keyz00_706;
BgL_keyz00_706 = 
PROCEDURE_ENTRY(BgL_getzd2keyzd2_705)(BgL_getzd2keyzd2_705, BgL_objz00_80, BEOA); 
{ /* ./Llib/hash.scm 519 */
obj_t BgL_hashzd2eqzf3z21_707;
{ /* ./Llib/hash.scm 520 */
int BgL_auxz00_2872;
BgL_auxz00_2872 = 
(int)(((long)5)); 
BgL_hashzd2eqzf3z21_707 = 
STRUCT_REF(BgL_tablez00_81, BgL_auxz00_2872); } 
{ /* ./Llib/hash.scm 520 */
obj_t BgL_hashzd2numzd2_708;
BgL_hashzd2numzd2_708 = 
BGl_getzd2hashzd2numberz00zz__hashz00(BgL_tablez00_81, BgL_keyz00_706); 
{ /* ./Llib/hash.scm 521 */
obj_t BgL_vecz00_709;
{ /* ./Llib/hash.scm 522 */
int BgL_auxz00_2876;
BgL_auxz00_2876 = 
(int)(((long)6)); 
BgL_vecz00_709 = 
STRUCT_REF(BgL_tablez00_81, BgL_auxz00_2876); } 
{ /* ./Llib/hash.scm 522 */
obj_t BgL_bucketz00_710;
{ 
int BgL_auxz00_2879;
BgL_auxz00_2879 = 
CINT(BgL_hashzd2numzd2_708); 
BgL_bucketz00_710 = 
VECTOR_REF(BgL_vecz00_709,BgL_auxz00_2879); } 
{ /* ./Llib/hash.scm 523 */

if(
NULLP(BgL_bucketz00_710))
{ /* ./Llib/hash.scm 524 */
{ /* ./Llib/hash.scm 526 */
long BgL_arg1630z00_712;
{ /* ./Llib/hash.scm 526 */
long BgL_auxz00_2884;
{ /* ./Llib/hash.scm 526 */
obj_t BgL_auxz00_2885;
{ /* ./Llib/hash.scm 526 */
int BgL_auxz00_2886;
BgL_auxz00_2886 = 
(int)(((long)4)); 
BgL_auxz00_2885 = 
STRUCT_REF(BgL_tablez00_81, BgL_auxz00_2886); } 
BgL_auxz00_2884 = 
(long)CINT(BgL_auxz00_2885); } 
BgL_arg1630z00_712 = 
(((long)1)+BgL_auxz00_2884); } 
{ /* ./Llib/hash.scm 526 */
obj_t BgL_auxz00_2893;int BgL_auxz00_2891;
BgL_auxz00_2893 = 
BINT(BgL_arg1630z00_712); 
BgL_auxz00_2891 = 
(int)(((long)4)); 
STRUCT_SET(BgL_tablez00_81, BgL_auxz00_2891, BgL_auxz00_2893); } } 
{ /* ./Llib/hash.scm 527 */
obj_t BgL_arg1638z00_715;
{ /* ./Llib/hash.scm 527 */
obj_t BgL_list1641z00_716;
BgL_list1641z00_716 = 
MAKE_PAIR(BgL_objz00_80, BNIL); 
BgL_arg1638z00_715 = BgL_list1641z00_716; } 
{ 
int BgL_auxz00_2897;
BgL_auxz00_2897 = 
CINT(BgL_hashzd2numzd2_708); 
VECTOR_SET(BgL_vecz00_709,BgL_auxz00_2897,BgL_arg1638z00_715); } } 
return BgL_objz00_80;}  else 
{ 
obj_t BgL_bucketz00_717;
BgL_bucketz00_717 = BgL_bucketz00_710; 
BgL_loopz00_718:
{ /* ./Llib/hash.scm 531 */
bool_t BgL_test1644z00_719;
{ /* ./Llib/hash.scm 531 */
obj_t BgL_arg1670z00_728;
{ /* ./Llib/hash.scm 531 */
obj_t BgL_arg1673z00_729;
BgL_arg1673z00_729 = 
CAR(BgL_bucketz00_717); 
BgL_arg1670z00_728 = 
PROCEDURE_ENTRY(BgL_getzd2keyzd2_705)(BgL_getzd2keyzd2_705, BgL_arg1673z00_729, BEOA); } 
{ /* ./Llib/hash.scm 531 */
obj_t BgL_auxz00_2903;
BgL_auxz00_2903 = 
PROCEDURE_ENTRY(BgL_hashzd2eqzf3z21_707)(BgL_hashzd2eqzf3z21_707, BgL_arg1670z00_728, BgL_keyz00_706, BEOA); 
BgL_test1644z00_719 = 
CBOOL(BgL_auxz00_2903); } } 
if(BgL_test1644z00_719)
{ /* ./Llib/hash.scm 531 */
return 
CAR(BgL_bucketz00_717);}  else 
{ /* ./Llib/hash.scm 533 */
bool_t BgL_testz00_2909;
{ /* ./Llib/hash.scm 533 */
obj_t BgL_auxz00_2910;
BgL_auxz00_2910 = 
CDR(BgL_bucketz00_717); 
BgL_testz00_2909 = 
NULLP(BgL_auxz00_2910); } 
if(BgL_testz00_2909)
{ /* ./Llib/hash.scm 533 */
{ /* ./Llib/hash.scm 534 */
long BgL_arg1648z00_721;
{ /* ./Llib/hash.scm 534 */
long BgL_auxz00_2913;
{ /* ./Llib/hash.scm 534 */
obj_t BgL_auxz00_2914;
{ /* ./Llib/hash.scm 534 */
int BgL_auxz00_2915;
BgL_auxz00_2915 = 
(int)(((long)4)); 
BgL_auxz00_2914 = 
STRUCT_REF(BgL_tablez00_81, BgL_auxz00_2915); } 
BgL_auxz00_2913 = 
(long)CINT(BgL_auxz00_2914); } 
BgL_arg1648z00_721 = 
(((long)1)+BgL_auxz00_2913); } 
{ /* ./Llib/hash.scm 534 */
obj_t BgL_auxz00_2922;int BgL_auxz00_2920;
BgL_auxz00_2922 = 
BINT(BgL_arg1648z00_721); 
BgL_auxz00_2920 = 
(int)(((long)4)); 
STRUCT_SET(BgL_tablez00_81, BgL_auxz00_2920, BgL_auxz00_2922); } } 
{ /* ./Llib/hash.scm 535 */
obj_t BgL_arg1656z00_724;
{ /* ./Llib/hash.scm 535 */
obj_t BgL_list1659z00_725;
BgL_list1659z00_725 = 
MAKE_PAIR(BgL_objz00_80, BNIL); 
BgL_arg1656z00_724 = BgL_list1659z00_725; } 
SET_CDR(BgL_bucketz00_717, BgL_arg1656z00_724); } 
return BgL_objz00_80;}  else 
{ /* ./Llib/hash.scm 533 */
{ 
obj_t BgL_bucketz00_2927;
BgL_bucketz00_2927 = 
CDR(BgL_bucketz00_717); 
BgL_bucketz00_717 = BgL_bucketz00_2927; 
goto BgL_loopz00_718;} } } } } } } } } } } } } 
}



/* _put-hash! */
obj_t BGl__putzd2hashz12zc0zz__hashz00(obj_t BgL_envz00_2085, obj_t BgL_objz00_2086, obj_t BgL_tablez00_2087)
{ AN_OBJECT;
{ /* ./Llib/hash.scm 511 */
return 
BGl_putzd2hashz12zc0zz__hashz00(BgL_objz00_2086, BgL_tablez00_2087);} 
}



/* rem-obj-hash! */
BGL_EXPORTED_DEF obj_t BGl_remzd2objzd2hashz12z12zz__hashz00(obj_t BgL_objz00_82, obj_t BgL_tablez00_83)
{ AN_OBJECT;
{ /* ./Llib/hash.scm 543 */
{ /* ./Llib/hash.scm 544 */
obj_t BgL_getzd2keyzd2_730;
{ /* ./Llib/hash.scm 544 */
int BgL_auxz00_2930;
BgL_auxz00_2930 = 
(int)(((long)3)); 
BgL_getzd2keyzd2_730 = 
STRUCT_REF(BgL_tablez00_83, BgL_auxz00_2930); } 
{ /* ./Llib/hash.scm 544 */
obj_t BgL_keyz00_731;
BgL_keyz00_731 = 
PROCEDURE_ENTRY(BgL_getzd2keyzd2_730)(BgL_getzd2keyzd2_730, BgL_objz00_82, BEOA); 
{ /* ./Llib/hash.scm 546 */
obj_t BgL_hashzd2numzd2_733;
BgL_hashzd2numzd2_733 = 
BGl_getzd2hashzd2numberz00zz__hashz00(BgL_tablez00_83, BgL_keyz00_731); 
{ /* ./Llib/hash.scm 547 */
obj_t BgL_vecz00_734;
{ /* ./Llib/hash.scm 548 */
int BgL_auxz00_2936;
BgL_auxz00_2936 = 
(int)(((long)6)); 
BgL_vecz00_734 = 
STRUCT_REF(BgL_tablez00_83, BgL_auxz00_2936); } 
{ /* ./Llib/hash.scm 548 */
obj_t BgL_bucketz00_735;
{ 
int BgL_auxz00_2939;
BgL_auxz00_2939 = 
CINT(BgL_hashzd2numzd2_733); 
BgL_bucketz00_735 = 
VECTOR_REF(BgL_vecz00_734,BgL_auxz00_2939); } 
{ /* ./Llib/hash.scm 549 */

if(
NULLP(BgL_bucketz00_735))
{ /* ./Llib/hash.scm 551 */
return BFALSE;}  else 
{ /* ./Llib/hash.scm 553 */
bool_t BgL_testz00_2944;
{ /* ./Llib/hash.scm 553 */
obj_t BgL_auxz00_2945;
BgL_auxz00_2945 = 
CAR(BgL_bucketz00_735); 
BgL_testz00_2944 = 
(BgL_auxz00_2945==BgL_objz00_82); } 
if(BgL_testz00_2944)
{ /* ./Llib/hash.scm 553 */
{ /* ./Llib/hash.scm 554 */
long BgL_arg1686z00_738;
{ /* ./Llib/hash.scm 554 */
long BgL_auxz00_2948;
{ /* ./Llib/hash.scm 554 */
obj_t BgL_auxz00_2949;
{ /* ./Llib/hash.scm 554 */
int BgL_auxz00_2950;
BgL_auxz00_2950 = 
(int)(((long)4)); 
BgL_auxz00_2949 = 
STRUCT_REF(BgL_tablez00_83, BgL_auxz00_2950); } 
BgL_auxz00_2948 = 
(long)CINT(BgL_auxz00_2949); } 
BgL_arg1686z00_738 = 
(BgL_auxz00_2948-((long)1)); } 
{ /* ./Llib/hash.scm 554 */
obj_t BgL_auxz00_2957;int BgL_auxz00_2955;
BgL_auxz00_2957 = 
BINT(BgL_arg1686z00_738); 
BgL_auxz00_2955 = 
(int)(((long)4)); 
STRUCT_SET(BgL_tablez00_83, BgL_auxz00_2955, BgL_auxz00_2957); } } 
{ 
obj_t BgL_auxz00_2962;int BgL_auxz00_2960;
BgL_auxz00_2962 = 
CDR(BgL_bucketz00_735); 
BgL_auxz00_2960 = 
CINT(BgL_hashzd2numzd2_733); 
VECTOR_SET(BgL_vecz00_734,BgL_auxz00_2960,BgL_auxz00_2962); } 
return BTRUE;}  else 
{ /* ./Llib/hash.scm 553 */
{ 
obj_t BgL_bucketz00_742;
{ /* ./Llib/hash.scm 558 */
bool_t BgL_auxz00_2965;
BgL_bucketz00_742 = BgL_bucketz00_735; 
BgL_loopz00_743:
{ /* ./Llib/hash.scm 560 */
bool_t BgL_testz00_2966;
{ /* ./Llib/hash.scm 560 */
obj_t BgL_auxz00_2967;
{ /* ./Llib/hash.scm 560 */
obj_t BgL_auxz00_2968;
BgL_auxz00_2968 = 
CDR(BgL_bucketz00_742); 
BgL_auxz00_2967 = 
CAR(BgL_auxz00_2968); } 
BgL_testz00_2966 = 
(BgL_auxz00_2967==BgL_objz00_82); } 
if(BgL_testz00_2966)
{ /* ./Llib/hash.scm 560 */
{ /* ./Llib/hash.scm 561 */
long BgL_arg1700z00_745;
{ /* ./Llib/hash.scm 561 */
long BgL_auxz00_2972;
{ /* ./Llib/hash.scm 561 */
obj_t BgL_auxz00_2973;
{ /* ./Llib/hash.scm 561 */
int BgL_auxz00_2974;
BgL_auxz00_2974 = 
(int)(((long)4)); 
BgL_auxz00_2973 = 
STRUCT_REF(BgL_tablez00_83, BgL_auxz00_2974); } 
BgL_auxz00_2972 = 
(long)CINT(BgL_auxz00_2973); } 
BgL_arg1700z00_745 = 
(BgL_auxz00_2972-((long)1)); } 
{ /* ./Llib/hash.scm 561 */
obj_t BgL_auxz00_2981;int BgL_auxz00_2979;
BgL_auxz00_2981 = 
BINT(BgL_arg1700z00_745); 
BgL_auxz00_2979 = 
(int)(((long)4)); 
STRUCT_SET(BgL_tablez00_83, BgL_auxz00_2979, BgL_auxz00_2981); } } 
{ /* ./Llib/hash.scm 562 */
obj_t BgL_auxz00_2984;
{ /* ./Llib/hash.scm 562 */
obj_t BgL_auxz00_2985;
BgL_auxz00_2985 = 
CDR(BgL_bucketz00_742); 
BgL_auxz00_2984 = 
CDR(BgL_auxz00_2985); } 
SET_CDR(BgL_bucketz00_742, BgL_auxz00_2984); } 
BgL_auxz00_2965 = ((bool_t)1); }  else 
{ /* ./Llib/hash.scm 564 */
bool_t BgL_testz00_2989;
{ /* ./Llib/hash.scm 564 */
obj_t BgL_auxz00_2990;
BgL_auxz00_2990 = 
CDR(BgL_bucketz00_742); 
BgL_testz00_2989 = 
NULLP(BgL_auxz00_2990); } 
if(BgL_testz00_2989)
{ /* ./Llib/hash.scm 564 */
BgL_auxz00_2965 = ((bool_t)0); }  else 
{ /* ./Llib/hash.scm 564 */
{ 
obj_t BgL_bucketz00_2993;
BgL_bucketz00_2993 = 
CDR(BgL_bucketz00_742); 
BgL_bucketz00_742 = BgL_bucketz00_2993; 
goto BgL_loopz00_743;} } } } 
return 
BBOOL(BgL_auxz00_2965);} } } } } } } } } } } 
}



/* _rem-obj-hash! */
obj_t BGl__remzd2objzd2hashz12z12zz__hashz00(obj_t BgL_envz00_2088, obj_t BgL_objz00_2089, obj_t BgL_tablez00_2090)
{ AN_OBJECT;
{ /* ./Llib/hash.scm 543 */
return 
BGl_remzd2objzd2hashz12z12zz__hashz00(BgL_objz00_2089, BgL_tablez00_2090);} 
}



/* rem-key-hash! */
BGL_EXPORTED_DEF obj_t BGl_remzd2keyzd2hashz12z12zz__hashz00(obj_t BgL_keyz00_84, obj_t BgL_tablez00_85)
{ AN_OBJECT;
{ /* ./Llib/hash.scm 572 */
{ /* ./Llib/hash.scm 573 */
obj_t BgL_getzd2keyzd2_754;
{ /* ./Llib/hash.scm 573 */
int BgL_auxz00_2997;
BgL_auxz00_2997 = 
(int)(((long)3)); 
BgL_getzd2keyzd2_754 = 
STRUCT_REF(BgL_tablez00_85, BgL_auxz00_2997); } 
{ /* ./Llib/hash.scm 573 */
obj_t BgL_hashzd2eqzf3z21_755;
{ /* ./Llib/hash.scm 574 */
int BgL_auxz00_3000;
BgL_auxz00_3000 = 
(int)(((long)5)); 
BgL_hashzd2eqzf3z21_755 = 
STRUCT_REF(BgL_tablez00_85, BgL_auxz00_3000); } 
{ /* ./Llib/hash.scm 574 */
obj_t BgL_hashzd2numzd2_756;
BgL_hashzd2numzd2_756 = 
BGl_getzd2hashzd2numberz00zz__hashz00(BgL_tablez00_85, BgL_keyz00_84); 
{ /* ./Llib/hash.scm 575 */
obj_t BgL_vecz00_757;
{ /* ./Llib/hash.scm 576 */
int BgL_auxz00_3004;
BgL_auxz00_3004 = 
(int)(((long)6)); 
BgL_vecz00_757 = 
STRUCT_REF(BgL_tablez00_85, BgL_auxz00_3004); } 
{ /* ./Llib/hash.scm 576 */
obj_t BgL_bucketz00_758;
{ 
int BgL_auxz00_3007;
BgL_auxz00_3007 = 
CINT(BgL_hashzd2numzd2_756); 
BgL_bucketz00_758 = 
VECTOR_REF(BgL_vecz00_757,BgL_auxz00_3007); } 
{ /* ./Llib/hash.scm 577 */

if(
NULLP(BgL_bucketz00_758))
{ /* ./Llib/hash.scm 579 */
return BFALSE;}  else 
{ /* ./Llib/hash.scm 581 */
bool_t BgL_test1737z00_760;
{ /* ./Llib/hash.scm 581 */
obj_t BgL_arg1783z00_777;
{ /* ./Llib/hash.scm 581 */
obj_t BgL_arg1786z00_778;
BgL_arg1786z00_778 = 
CAR(BgL_bucketz00_758); 
BgL_arg1783z00_777 = 
PROCEDURE_ENTRY(BgL_getzd2keyzd2_754)(BgL_getzd2keyzd2_754, BgL_arg1786z00_778, BEOA); } 
{ /* ./Llib/hash.scm 581 */
obj_t BgL_auxz00_3015;
BgL_auxz00_3015 = 
PROCEDURE_ENTRY(BgL_hashzd2eqzf3z21_755)(BgL_hashzd2eqzf3z21_755, BgL_arg1783z00_777, BgL_keyz00_84, BEOA); 
BgL_test1737z00_760 = 
CBOOL(BgL_auxz00_3015); } } 
if(BgL_test1737z00_760)
{ /* ./Llib/hash.scm 581 */
{ /* ./Llib/hash.scm 582 */
long BgL_arg1739z00_761;
{ /* ./Llib/hash.scm 582 */
long BgL_auxz00_3020;
{ /* ./Llib/hash.scm 582 */
obj_t BgL_auxz00_3021;
{ /* ./Llib/hash.scm 582 */
int BgL_auxz00_3022;
BgL_auxz00_3022 = 
(int)(((long)4)); 
BgL_auxz00_3021 = 
STRUCT_REF(BgL_tablez00_85, BgL_auxz00_3022); } 
BgL_auxz00_3020 = 
(long)CINT(BgL_auxz00_3021); } 
BgL_arg1739z00_761 = 
(BgL_auxz00_3020-((long)1)); } 
{ /* ./Llib/hash.scm 582 */
obj_t BgL_auxz00_3029;int BgL_auxz00_3027;
BgL_auxz00_3029 = 
BINT(BgL_arg1739z00_761); 
BgL_auxz00_3027 = 
(int)(((long)4)); 
STRUCT_SET(BgL_tablez00_85, BgL_auxz00_3027, BgL_auxz00_3029); } } 
{ 
obj_t BgL_auxz00_3034;int BgL_auxz00_3032;
BgL_auxz00_3034 = 
CDR(BgL_bucketz00_758); 
BgL_auxz00_3032 = 
CINT(BgL_hashzd2numzd2_756); 
VECTOR_SET(BgL_vecz00_757,BgL_auxz00_3032,BgL_auxz00_3034); } 
return BTRUE;}  else 
{ /* ./Llib/hash.scm 581 */
{ 
obj_t BgL_bucketz00_765;
{ /* ./Llib/hash.scm 586 */
bool_t BgL_auxz00_3037;
BgL_bucketz00_765 = BgL_bucketz00_758; 
BgL_loopz00_766:
{ /* ./Llib/hash.scm 588 */
bool_t BgL_test1752z00_767;
{ /* ./Llib/hash.scm 588 */
obj_t BgL_arg1776z00_775;
{ /* ./Llib/hash.scm 588 */
obj_t BgL_arg1779z00_776;
{ /* ./Llib/hash.scm 588 */
obj_t BgL_auxz00_3038;
BgL_auxz00_3038 = 
CDR(BgL_bucketz00_765); 
BgL_arg1779z00_776 = 
CAR(BgL_auxz00_3038); } 
BgL_arg1776z00_775 = 
PROCEDURE_ENTRY(BgL_getzd2keyzd2_754)(BgL_getzd2keyzd2_754, BgL_arg1779z00_776, BEOA); } 
{ /* ./Llib/hash.scm 588 */
obj_t BgL_auxz00_3043;
BgL_auxz00_3043 = 
PROCEDURE_ENTRY(BgL_hashzd2eqzf3z21_755)(BgL_hashzd2eqzf3z21_755, BgL_arg1776z00_775, BgL_keyz00_84, BEOA); 
BgL_test1752z00_767 = 
CBOOL(BgL_auxz00_3043); } } 
if(BgL_test1752z00_767)
{ /* ./Llib/hash.scm 588 */
{ /* ./Llib/hash.scm 589 */
long BgL_arg1755z00_768;
{ /* ./Llib/hash.scm 589 */
long BgL_auxz00_3048;
{ /* ./Llib/hash.scm 589 */
obj_t BgL_auxz00_3049;
{ /* ./Llib/hash.scm 589 */
int BgL_auxz00_3050;
BgL_auxz00_3050 = 
(int)(((long)4)); 
BgL_auxz00_3049 = 
STRUCT_REF(BgL_tablez00_85, BgL_auxz00_3050); } 
BgL_auxz00_3048 = 
(long)CINT(BgL_auxz00_3049); } 
BgL_arg1755z00_768 = 
(BgL_auxz00_3048-((long)1)); } 
{ /* ./Llib/hash.scm 589 */
obj_t BgL_auxz00_3057;int BgL_auxz00_3055;
BgL_auxz00_3057 = 
BINT(BgL_arg1755z00_768); 
BgL_auxz00_3055 = 
(int)(((long)4)); 
STRUCT_SET(BgL_tablez00_85, BgL_auxz00_3055, BgL_auxz00_3057); } } 
{ /* ./Llib/hash.scm 590 */
obj_t BgL_auxz00_3060;
{ /* ./Llib/hash.scm 590 */
obj_t BgL_auxz00_3061;
BgL_auxz00_3061 = 
CDR(BgL_bucketz00_765); 
BgL_auxz00_3060 = 
CDR(BgL_auxz00_3061); } 
SET_CDR(BgL_bucketz00_765, BgL_auxz00_3060); } 
BgL_auxz00_3037 = ((bool_t)1); }  else 
{ /* ./Llib/hash.scm 592 */
bool_t BgL_testz00_3065;
{ /* ./Llib/hash.scm 592 */
obj_t BgL_auxz00_3066;
BgL_auxz00_3066 = 
CDR(BgL_bucketz00_765); 
BgL_testz00_3065 = 
NULLP(BgL_auxz00_3066); } 
if(BgL_testz00_3065)
{ /* ./Llib/hash.scm 592 */
BgL_auxz00_3037 = ((bool_t)0); }  else 
{ /* ./Llib/hash.scm 592 */
{ 
obj_t BgL_bucketz00_3069;
BgL_bucketz00_3069 = 
CDR(BgL_bucketz00_765); 
BgL_bucketz00_765 = BgL_bucketz00_3069; 
goto BgL_loopz00_766;} } } } 
return 
BBOOL(BgL_auxz00_3037);} } } } } } } } } } } 
}



/* _rem-key-hash! */
obj_t BGl__remzd2keyzd2hashz12z12zz__hashz00(obj_t BgL_envz00_2091, obj_t BgL_keyz00_2092, obj_t BgL_tablez00_2093)
{ AN_OBJECT;
{ /* ./Llib/hash.scm 572 */
return 
BGl_remzd2keyzd2hashz12z12zz__hashz00(BgL_keyz00_2092, BgL_tablez00_2093);} 
}



/* for-each-hash */
BGL_EXPORTED_DEF obj_t BGl_forzd2eachzd2hashz00zz__hashz00(obj_t BgL_funz00_86, obj_t BgL_tablez00_87)
{ AN_OBJECT;
{ /* ./Llib/hash.scm 600 */
{ /* ./Llib/hash.scm 601 */
obj_t BgL_vecz00_779;
{ /* ./Llib/hash.scm 601 */
int BgL_auxz00_3073;
BgL_auxz00_3073 = 
(int)(((long)6)); 
BgL_vecz00_779 = 
STRUCT_REF(BgL_tablez00_87, BgL_auxz00_3073); } 
{ 
long BgL_iz00_780;
{ /* ./Llib/hash.scm 602 */
long BgL_auxz00_3090;
{ /* ./Llib/hash.scm 602 */
obj_t BgL_auxz00_3091;
{ /* ./Llib/hash.scm 602 */
int BgL_auxz00_3092;
BgL_auxz00_3092 = 
(int)(((long)1)); 
BgL_auxz00_3091 = 
STRUCT_REF(BgL_tablez00_87, BgL_auxz00_3092); } 
BgL_auxz00_3090 = 
(long)CINT(BgL_auxz00_3091); } 
BgL_iz00_780 = 
(BgL_auxz00_3090-((long)1)); } 
BgL_loopz00_781:
if(
(BgL_iz00_780==((long)-1)))
{ /* ./Llib/hash.scm 603 */
return BUNSPEC;}  else 
{ /* ./Llib/hash.scm 603 */
{ /* ./Llib/hash.scm 606 */
obj_t BgL_arg1805z00_788;
{ 
int BgL_auxz00_3078;
BgL_auxz00_3078 = 
(int)(BgL_iz00_780); 
BgL_arg1805z00_788 = 
VECTOR_REF(BgL_vecz00_779,BgL_auxz00_3078); } 
{ 
obj_t BgL_l1013z00_1891;
BgL_l1013z00_1891 = BgL_arg1805z00_788; 
BgL_forzd2each1014zd2_1890:
if(
PAIRP(BgL_l1013z00_1891))
{ /* ./Llib/hash.scm 606 */
{ /* ./Llib/hash.scm 606 */
obj_t BgL_arg1810z00_1896;
BgL_arg1810z00_1896 = 
CAR(BgL_l1013z00_1891); 
PROCEDURE_ENTRY(BgL_funz00_86)(BgL_funz00_86, BgL_arg1810z00_1896, BEOA); } 
{ 
obj_t BgL_l1013z00_3086;
BgL_l1013z00_3086 = 
CDR(BgL_l1013z00_1891); 
BgL_l1013z00_1891 = BgL_l1013z00_3086; 
goto BgL_forzd2each1014zd2_1890;} }  else 
{ /* ./Llib/hash.scm 606 */((bool_t)1); } } } 
{ 
long BgL_iz00_3088;
BgL_iz00_3088 = 
(BgL_iz00_780-((long)1)); 
BgL_iz00_780 = BgL_iz00_3088; 
goto BgL_loopz00_781;} } } } } 
}



/* _for-each-hash */
obj_t BGl__forzd2eachzd2hashz00zz__hashz00(obj_t BgL_envz00_2094, obj_t BgL_funz00_2095, obj_t BgL_tablez00_2096)
{ AN_OBJECT;
{ /* ./Llib/hash.scm 600 */
return 
BGl_forzd2eachzd2hashz00zz__hashz00(BgL_funz00_2095, BgL_tablez00_2096);} 
}



/* hash-table-grows! */
obj_t BGl_hashzd2tablezd2growsz12z12zz__hashz00(obj_t BgL_tablez00_88)
{ AN_OBJECT;
{ /* ./Llib/hash.scm 612 */
{ /* ./Llib/hash.scm 613 */
obj_t BgL_siza7eza7_794;
{ /* ./Llib/hash.scm 614 */
int BgL_auxz00_3098;
BgL_auxz00_3098 = 
(int)(((long)1)); 
BgL_siza7eza7_794 = 
STRUCT_REF(BgL_tablez00_88, BgL_auxz00_3098); } 
{ /* ./Llib/hash.scm 614 */
long BgL_newzd2siza7ez75_795;
{ /* ./Llib/hash.scm 615 */
long BgL_auxz00_3101;
BgL_auxz00_3101 = 
(long)CINT(BgL_siza7eza7_794); 
BgL_newzd2siza7ez75_795 = 
(BgL_auxz00_3101*((long)2)); } 
{ /* ./Llib/hash.scm 615 */
obj_t BgL_newzd2tablezd2_796;
{ /* ./Llib/hash.scm 616 */
int BgL_auxz00_3104;
BgL_auxz00_3104 = 
(int)(BgL_newzd2siza7ez75_795); 
BgL_newzd2tablezd2_796 = 
make_vector(BgL_auxz00_3104, BNIL); } 
{ /* ./Llib/hash.scm 616 */
obj_t BgL_oldzd2tablezd2_797;
{ /* ./Llib/hash.scm 617 */
int BgL_auxz00_3107;
BgL_auxz00_3107 = 
(int)(((long)6)); 
BgL_oldzd2tablezd2_797 = 
STRUCT_REF(BgL_tablez00_88, BgL_auxz00_3107); } 
{ /* ./Llib/hash.scm 617 */

{ /* ./Llib/hash.scm 619 */
obj_t BgL_auxz00_3112;int BgL_auxz00_3110;
BgL_auxz00_3112 = 
BINT(BgL_newzd2siza7ez75_795); 
BgL_auxz00_3110 = 
(int)(((long)1)); 
STRUCT_SET(BgL_tablez00_88, BgL_auxz00_3110, BgL_auxz00_3112); } 
{ /* ./Llib/hash.scm 620 */
int BgL_auxz00_3115;
BgL_auxz00_3115 = 
(int)(((long)6)); 
STRUCT_SET(BgL_tablez00_88, BgL_auxz00_3115, BgL_newzd2tablezd2_796); } 
{ /* ./Llib/hash.scm 623 */
obj_t BgL_auxz00_3120;int BgL_auxz00_3118;
BgL_auxz00_3120 = 
BINT(((long)0)); 
BgL_auxz00_3118 = 
(int)(((long)4)); 
STRUCT_SET(BgL_tablez00_88, BgL_auxz00_3118, BgL_auxz00_3120); } 
{ 
long BgL_iz00_798;
BgL_iz00_798 = ((long)0); 
BgL_loopz00_799:
{ /* ./Llib/hash.scm 626 */
bool_t BgL_testz00_3123;
{ /* ./Llib/hash.scm 626 */
long BgL_auxz00_3124;
BgL_auxz00_3124 = 
(long)CINT(BgL_siza7eza7_794); 
BgL_testz00_3123 = 
(BgL_iz00_798==BgL_auxz00_3124); } 
if(BgL_testz00_3123)
{ /* ./Llib/hash.scm 626 */
return BGl_symbol2838z00zz__hashz00;}  else 
{ /* ./Llib/hash.scm 628 */
obj_t BgL_bucketz00_801;
{ 
int BgL_auxz00_3127;
BgL_auxz00_3127 = 
(int)(BgL_iz00_798); 
BgL_bucketz00_801 = 
VECTOR_REF(BgL_oldzd2tablezd2_797,BgL_auxz00_3127); } 
{ 
obj_t BgL_l1015z00_1948;
BgL_l1015z00_1948 = BgL_bucketz00_801; 
BgL_forzd2each1016zd2_1947:
if(
PAIRP(BgL_l1015z00_1948))
{ /* ./Llib/hash.scm 629 */
BGl_putzd2hashz12zc0zz__hashz00(
CAR(BgL_l1015z00_1948), BgL_tablez00_88); 
{ 
obj_t BgL_l1015z00_3134;
BgL_l1015z00_3134 = 
CDR(BgL_l1015z00_1948); 
BgL_l1015z00_1948 = BgL_l1015z00_3134; 
goto BgL_forzd2each1016zd2_1947;} }  else 
{ /* ./Llib/hash.scm 629 */((bool_t)1); } } 
{ 
long BgL_iz00_3136;
BgL_iz00_3136 = 
(BgL_iz00_798+((long)1)); 
BgL_iz00_798 = BgL_iz00_3136; 
goto BgL_loopz00_799;} } } } } } } } } } 
}



/* string->0..255 */
BGL_EXPORTED_DEF long BGl_stringzd2ze30ze2ze2255z31zz__hashz00(char * BgL_stringz00_89)
{ AN_OBJECT;
{ /* ./Llib/hash.scm 637 */
return 
get_hash_number(BgL_stringz00_89);} 
}



/* _string->0..255 */
obj_t BGl__stringzd2ze30ze2ze2255z31zz__hashz00(obj_t BgL_envz00_2097, obj_t BgL_stringz00_2098)
{ AN_OBJECT;
{ /* ./Llib/hash.scm 637 */
{ /* ./Llib/hash.scm 638 */
long BgL_auxz00_3139;
{ /* ./Llib/hash.scm 638 */
char * BgL_auxz00_3140;
BgL_auxz00_3140 = 
BSTRING_TO_STRING(BgL_stringz00_2098); 
BgL_auxz00_3139 = 
get_hash_number(BgL_auxz00_3140); } 
return 
BINT(BgL_auxz00_3139);} } 
}



/* string->0..2^x-1 */
BGL_EXPORTED_DEF long BGl_stringzd2ze30ze2ze22ze5xzd21z06zz__hashz00(char * BgL_stringz00_90, long BgL_powerz00_91)
{ AN_OBJECT;
{ /* ./Llib/hash.scm 643 */
return 
get_hash_power_number(BgL_stringz00_90, BgL_powerz00_91);} 
}



/* _string->0..2^x-1 */
obj_t BGl__stringzd2ze30ze2ze22ze5xzd21z06zz__hashz00(obj_t BgL_envz00_2099, obj_t BgL_stringz00_2100, obj_t BgL_powerz00_2101)
{ AN_OBJECT;
{ /* ./Llib/hash.scm 643 */
{ /* ./Llib/hash.scm 644 */
long BgL_auxz00_3145;
{ /* ./Llib/hash.scm 644 */
long BgL_auxz00_3148;char * BgL_auxz00_3146;
BgL_auxz00_3148 = 
(long)CINT(BgL_powerz00_2101); 
BgL_auxz00_3146 = 
BSTRING_TO_STRING(BgL_stringz00_2100); 
BgL_auxz00_3145 = 
get_hash_power_number(BgL_auxz00_3146, BgL_auxz00_3148); } 
return 
BINT(BgL_auxz00_3145);} } 
}



/* int->0..255 */
BGL_EXPORTED_DEF long BGl_intzd2ze30ze2ze2255z31zz__hashz00(long BgL_intz00_92)
{ AN_OBJECT;
{ /* ./Llib/hash.scm 649 */
return 
get_hash_number_from_int(BgL_intz00_92);} 
}



/* _int->0..255 */
obj_t BGl__intzd2ze30ze2ze2255z31zz__hashz00(obj_t BgL_envz00_2102, obj_t BgL_intz00_2103)
{ AN_OBJECT;
{ /* ./Llib/hash.scm 649 */
{ /* ./Llib/hash.scm 650 */
long BgL_auxz00_3153;
{ /* ./Llib/hash.scm 650 */
long BgL_auxz00_3154;
BgL_auxz00_3154 = 
(long)CINT(BgL_intz00_2103); 
BgL_auxz00_3153 = 
get_hash_number_from_int(BgL_auxz00_3154); } 
return 
BINT(BgL_auxz00_3153);} } 
}



/* int->0..2^x-1 */
BGL_EXPORTED_DEF long BGl_intzd2ze30ze2ze22ze5xzd21z06zz__hashz00(long BgL_intz00_93, long BgL_powerz00_94)
{ AN_OBJECT;
{ /* ./Llib/hash.scm 655 */
return 
get_hash_power_number_from_int(BgL_intz00_93, BgL_powerz00_94);} 
}



/* _int->0..2^x-1 */
obj_t BGl__intzd2ze30ze2ze22ze5xzd21z06zz__hashz00(obj_t BgL_envz00_2104, obj_t BgL_intz00_2105, obj_t BgL_powerz00_2106)
{ AN_OBJECT;
{ /* ./Llib/hash.scm 655 */
{ /* ./Llib/hash.scm 656 */
long BgL_auxz00_3159;
{ /* ./Llib/hash.scm 656 */
long BgL_auxz00_3162;long BgL_auxz00_3160;
BgL_auxz00_3162 = 
(long)CINT(BgL_powerz00_2106); 
BgL_auxz00_3160 = 
(long)CINT(BgL_intz00_2105); 
BgL_auxz00_3159 = 
get_hash_power_number_from_int(BgL_auxz00_3160, BgL_auxz00_3162); } 
return 
BINT(BgL_auxz00_3159);} } 
}



/* obj->0..255 */
BGL_EXPORTED_DEF long BGl_objzd2ze30ze2ze2255z31zz__hashz00(obj_t BgL_objz00_95)
{ AN_OBJECT;
{ /* ./Llib/hash.scm 661 */
if(
STRINGP(BgL_objz00_95))
{ /* ./Llib/hash.scm 663 */
{ /* ./Llib/hash.scm 664 */
char * BgL_auxz00_3168;
BgL_auxz00_3168 = 
BSTRING_TO_STRING(BgL_objz00_95); 
return 
get_hash_number(BgL_auxz00_3168);} }  else 
{ /* ./Llib/hash.scm 663 */
if(
SYMBOLP(BgL_objz00_95))
{ /* ./Llib/hash.scm 665 */
{ /* ./Llib/hash.scm 666 */
obj_t BgL_arg1859z00_810;
BgL_arg1859z00_810 = 
SYMBOL_TO_STRING(BgL_objz00_95); 
{ /* ./Llib/hash.scm 666 */
char * BgL_auxz00_3174;
BgL_auxz00_3174 = 
BSTRING_TO_STRING(BgL_arg1859z00_810); 
return 
get_hash_number(BgL_auxz00_3174);} } }  else 
{ /* ./Llib/hash.scm 665 */
if(
INTEGERP(BgL_objz00_95))
{ /* ./Llib/hash.scm 667 */
{ /* ./Llib/hash.scm 668 */
long BgL_auxz00_3179;
BgL_auxz00_3179 = 
(long)CINT(BgL_objz00_95); 
return 
get_hash_number_from_int(BgL_auxz00_3179);} }  else 
{ /* ./Llib/hash.scm 667 */
if(
CHARP(BgL_objz00_95))
{ /* ./Llib/hash.scm 669 */
{ /* ./Llib/hash.scm 670 */
unsigned char BgL_auxz00_3184;
BgL_auxz00_3184 = 
(unsigned char)CCHAR(BgL_objz00_95); 
return 
(BgL_auxz00_3184);} }  else 
{ /* ./Llib/hash.scm 669 */
if(
FOREIGNP(BgL_objz00_95))
{ /* ./Llib/hash.scm 671 */
{ /* ./Llib/hash.scm 672 */
int BgL_arg1868z00_814;
BgL_arg1868z00_814 = 
bgl_foreign_hash_number(BgL_objz00_95); 
{ /* ./Llib/hash.scm 672 */
long BgL_auxz00_3190;
BgL_auxz00_3190 = 
(long)(BgL_arg1868z00_814); 
return 
get_hash_number_from_int(BgL_auxz00_3190);} } }  else 
{ /* ./Llib/hash.scm 671 */
return 
get_hash_number_from_pointer(BgL_objz00_95);} } } } } } 
}



/* _obj->0..255 */
obj_t BGl__objzd2ze30ze2ze2255z31zz__hashz00(obj_t BgL_envz00_2107, obj_t BgL_objz00_2108)
{ AN_OBJECT;
{ /* ./Llib/hash.scm 661 */
{ /* ./Llib/hash.scm 663 */
long BgL_auxz00_3194;
BgL_auxz00_3194 = 
BGl_objzd2ze30ze2ze2255z31zz__hashz00(BgL_objz00_2108); 
return 
BINT(BgL_auxz00_3194);} } 
}



/* obj->0..2^x-1 */
BGL_EXPORTED_DEF long BGl_objzd2ze30ze2ze22ze5xzd21z06zz__hashz00(obj_t BgL_objz00_96, long BgL_powerz00_97)
{ AN_OBJECT;
{ /* ./Llib/hash.scm 679 */
if(
STRINGP(BgL_objz00_96))
{ /* ./Llib/hash.scm 681 */
{ /* ./Llib/hash.scm 682 */
char * BgL_auxz00_3199;
BgL_auxz00_3199 = 
BSTRING_TO_STRING(BgL_objz00_96); 
return 
get_hash_power_number(BgL_auxz00_3199, BgL_powerz00_97);} }  else 
{ /* ./Llib/hash.scm 681 */
if(
SYMBOLP(BgL_objz00_96))
{ /* ./Llib/hash.scm 683 */
{ /* ./Llib/hash.scm 684 */
obj_t BgL_arg1881z00_817;
BgL_arg1881z00_817 = 
SYMBOL_TO_STRING(BgL_objz00_96); 
{ /* ./Llib/hash.scm 684 */
char * BgL_auxz00_3205;
BgL_auxz00_3205 = 
BSTRING_TO_STRING(BgL_arg1881z00_817); 
return 
get_hash_power_number(BgL_auxz00_3205, BgL_powerz00_97);} } }  else 
{ /* ./Llib/hash.scm 683 */
if(
INTEGERP(BgL_objz00_96))
{ /* ./Llib/hash.scm 685 */
{ /* ./Llib/hash.scm 686 */
long BgL_auxz00_3210;
BgL_auxz00_3210 = 
(long)CINT(BgL_objz00_96); 
return 
get_hash_power_number_from_int(BgL_auxz00_3210, BgL_powerz00_97);} }  else 
{ /* ./Llib/hash.scm 685 */
if(
CHARP(BgL_objz00_96))
{ /* ./Llib/hash.scm 687 */
{ /* ./Llib/hash.scm 688 */
unsigned char BgL_auxz00_3215;
BgL_auxz00_3215 = 
(unsigned char)CCHAR(BgL_objz00_96); 
return 
(BgL_auxz00_3215);} }  else 
{ /* ./Llib/hash.scm 687 */
if(
FOREIGNP(BgL_objz00_96))
{ /* ./Llib/hash.scm 689 */
{ /* ./Llib/hash.scm 690 */
int BgL_arg1890z00_821;
BgL_arg1890z00_821 = 
bgl_foreign_hash_number(BgL_objz00_96); 
{ /* ./Llib/hash.scm 690 */
long BgL_auxz00_3221;
BgL_auxz00_3221 = 
(long)(BgL_arg1890z00_821); 
return 
get_hash_power_number_from_int(BgL_auxz00_3221, BgL_powerz00_97);} } }  else 
{ /* ./Llib/hash.scm 689 */
return 
get_hash_power_number_from_pointer(BgL_objz00_96, BgL_powerz00_97);} } } } } } 
}



/* _obj->0..2^x-1 */
obj_t BGl__objzd2ze30ze2ze22ze5xzd21z06zz__hashz00(obj_t BgL_envz00_2109, obj_t BgL_objz00_2110, obj_t BgL_powerz00_2111)
{ AN_OBJECT;
{ /* ./Llib/hash.scm 679 */
{ /* ./Llib/hash.scm 681 */
long BgL_auxz00_3225;
BgL_auxz00_3225 = 
BGl_objzd2ze30ze2ze22ze5xzd21z06zz__hashz00(BgL_objz00_2110, 
(long)CINT(BgL_powerz00_2111)); 
return 
BINT(BgL_auxz00_3225);} } 
}



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



/* imported-modules-init */
obj_t BGl_importedzd2moduleszd2initz00zz__hashz00()
{ AN_OBJECT;
{ /* ./Llib/hash.scm 23 */
BGl_modulezd2initializa7ationz75zz__errorz00(((long)11084), "__hash"); 
return 
BGl_modulezd2initializa7ationz75zz__r4_symbols_6_4z00(((long)247), "__hash");} 
}

