/*===========================================================================*/
/*   (Eval/library.scm)                                                      */
/*   Bigloo (4.7a)                                                           */
/*   Inria -- Sophia Antipolis (c)       Thu Feb 19 09:11:58 AM CET 2026     */
/*===========================================================================*/
/* COMPILATION: (/home/serrano/prgm/project/bigloo/4.7a/bin/bigloo -srfi bigloo-unsafe -O3 -fcfa-arithmetic -q -lib-dir /home/serrano/prgm/project/bigloo/4.7a/lib/bigloo/4.7a +rm -mklib -cc gcc -fsharing -q -no-hello -unsafe -safee -O4 -stdc -c Eval/library.scm -indent -o objs/obj_u/Eval/library.c) */
/* GC selection */
#define THE_GC BOEHM_GC

/* unsafe mode */
#define BIGLOO_UNSAFE 1

/* traces mode */
#define BIGLOO_TRACE 0

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

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

	static obj_t BGl_symbol2004z00zz__libraryz00 = BUNSPEC;
	static obj_t BGl_symbol2006z00zz__libraryz00 = BUNSPEC;
	static obj_t BGl_za2evalzd2libraryzd2suffixza2z00zz__libraryz00 = BUNSPEC;
	static obj_t BGl_symbol1910z00zz__libraryz00 = BUNSPEC;
	static obj_t BGl_symbol1917z00zz__libraryz00 = BUNSPEC;
	static obj_t BGl_symbol1919z00zz__libraryz00 = BUNSPEC;
	static obj_t BGl_symbol2010z00zz__libraryz00 = BUNSPEC;
	BGL_EXPORTED_DECL obj_t BGl_libraryzd2loadzd2zz__libraryz00(obj_t, obj_t);
	static obj_t BGl_symbol1922z00zz__libraryz00 = BUNSPEC;
	static obj_t BGl_symbol1925z00zz__libraryz00 = BUNSPEC;
	static obj_t BGl_za2loadedzd2librariesza2zd2zz__libraryz00 = BUNSPEC;
	extern obj_t bstring_to_keyword(obj_t);
	static obj_t BGl_z62zc3z04anonymousza31451ze3ze5zz__libraryz00(obj_t);
	static obj_t BGl_requirezd2initializa7ationz75zz__libraryz00 = BUNSPEC;
	BGL_EXPORTED_DECL obj_t BGl_declarezd2libraryz12zc0zz__libraryz00(obj_t,
		obj_t, obj_t, obj_t, obj_t, obj_t, obj_t, obj_t, obj_t, obj_t, obj_t);
	extern obj_t BGl_makezd2sharedzd2libzd2namezd2zz__osz00(obj_t, obj_t);
	static obj_t BGl_za2loadedzd2initzd2filesza2z00zz__libraryz00 = BUNSPEC;
	static obj_t BGl_symbol1931z00zz__libraryz00 = BUNSPEC;
	extern obj_t BGl_typezd2errorzd2zz__errorz00(obj_t, obj_t, obj_t, obj_t,
		obj_t);
	BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zz__libraryz00(long,
		char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__expander_srfi0z00(long,
		char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__everrorz00(long, char *);
	extern obj_t
		BGl_modulezd2initializa7ationz75zz__r5_control_features_6_4z00(long,
		char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__evalz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__paramz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__configurez00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__biglooz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__typez00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__threadz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__objectz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__errorz00(long, char *);
	extern obj_t BGl_evalzd2modulezd2zz__evmodulez00(void);
	static obj_t BGl_list2002z00zz__libraryz00 = BUNSPEC;
	static obj_t BGl_list2003z00zz__libraryz00 = BUNSPEC;
	static obj_t BGl_untranslatezd2libraryzd2namez00zz__libraryz00(obj_t);
	static obj_t BGl_list2008z00zz__libraryz00 = BUNSPEC;
	static obj_t BGl_list2009z00zz__libraryz00 = BUNSPEC;
	static obj_t BGl_z62libraryzd2loadzd2initz62zz__libraryz00(obj_t, obj_t,
		obj_t);
	extern bool_t fexists(char *);
	extern obj_t BGl_stringzd2appendzd2zz__r4_strings_6_7z00(obj_t);
	static obj_t
		BGl_z62libraryzd2translationzd2tablezd2addz12za2zz__libraryz00(obj_t, obj_t,
		obj_t, obj_t);
	BGL_EXPORTED_DECL obj_t BGl_libraryzd2load_ezd2zz__libraryz00(obj_t, obj_t);
	static obj_t BGl_symbol1954z00zz__libraryz00 = BUNSPEC;
	static obj_t BGl_z62libraryzd2initzd2filez62zz__libraryz00(obj_t, obj_t);
	static obj_t BGl_toplevelzd2initzd2zz__libraryz00(void);
	extern obj_t BGl_loadqz00zz__evalz00(obj_t, obj_t);
	static obj_t BGl_symbol1961z00zz__libraryz00 = BUNSPEC;
	extern obj_t BGl_evalz00zz__evalz00(obj_t, obj_t);
	extern obj_t BGl_formatz00zz__r4_output_6_10_3z00(obj_t, obj_t);
	extern obj_t BGl_getenvz00zz__osz00(obj_t);
	static obj_t BGl_symbol1964z00zz__libraryz00 = BUNSPEC;
	extern obj_t create_struct(obj_t, int);
	static obj_t BGl_list1933z00zz__libraryz00 = BUNSPEC;
	static obj_t BGl_z62zc3z04anonymousza31382ze3ze5zz__libraryz00(obj_t);
	extern obj_t BGl_assqz00zz__r4_pairs_and_lists_6_3z00(obj_t, obj_t);
	static obj_t BGl_cnstzd2initzd2zz__libraryz00(void);
	static obj_t BGl_genericzd2initzd2zz__libraryz00(void);
	extern obj_t BGl_stringzd2copyzd2zz__r4_strings_6_7z00(obj_t);
	static obj_t BGl_symbol1974z00zz__libraryz00 = BUNSPEC;
	static obj_t BGl_importedzd2moduleszd2initz00zz__libraryz00(void);
	static obj_t BGl_gczd2rootszd2initz00zz__libraryz00(void);
	static obj_t BGl_symbol1979z00zz__libraryz00 = BUNSPEC;
	static obj_t BGl_za2librariesza2z00zz__libraryz00 = BUNSPEC;
	extern obj_t BGl_evwarningz00zz__everrorz00(obj_t, obj_t);
	static obj_t BGl_objectzd2initzd2zz__libraryz00(void);
	extern obj_t bgl_register_eval_srfi(obj_t);
	extern obj_t bigloo_mangle(obj_t);
	BGL_EXPORTED_DECL obj_t
		BGl_libraryzd2multithreadzd2setz12z12zz__libraryz00(bool_t);
	BGL_EXPORTED_DECL obj_t BGl_libraryzd2loadzd2initz00zz__libraryz00(obj_t,
		obj_t);
	static obj_t BGl_za2loadedzd2initzd2librariesza2z00zz__libraryz00 = BUNSPEC;
	static obj_t BGl_za2libraryzd2mutexza2zd2zz__libraryz00 = BUNSPEC;
	static obj_t BGl_symbol1984z00zz__libraryz00 = BUNSPEC;
	static obj_t BGl_symbol1986z00zz__libraryz00 = BUNSPEC;
	static obj_t BGl_symbol1988z00zz__libraryz00 = BUNSPEC;
	extern obj_t BGl_memqz00zz__r4_pairs_and_lists_6_3z00(obj_t, obj_t);
	extern obj_t BGl_bigloozd2configzd2zz__configurez00(obj_t);
	extern obj_t string_append_3(obj_t, obj_t, obj_t);
	static obj_t BGl_loadzd2initzd2zz__libraryz00(obj_t);
	extern obj_t BGl_interactionzd2environmentzd2zz__evalz00(void);
	BGL_EXPORTED_DECL obj_t BGl_libraryzd2initzd2filez00zz__libraryz00(obj_t);
	extern obj_t BGl_registerzd2srfiz12zc0zz__expander_srfi0z00(obj_t);
	static obj_t BGl_symbol1999z00zz__libraryz00 = BUNSPEC;
	static obj_t BGl_z62libraryzd2filezd2namez62zz__libraryz00(obj_t, obj_t,
		obj_t, obj_t);
	extern obj_t BGl_unixzd2pathzd2ze3listze3zz__osz00(obj_t);
	static obj_t BGl_z62libraryzd2markzd2loadedz12z70zz__libraryz00(obj_t, obj_t);
	static obj_t BGl__declarezd2libraryz12zc0zz__libraryz00(obj_t, obj_t);
	static obj_t BGl_z62libraryzd2infozb0zz__libraryz00(obj_t, obj_t);
	BGL_EXPORTED_DECL obj_t
		BGl_libraryzd2translationzd2tablezd2addz12zc0zz__libraryz00(obj_t, obj_t,
		obj_t);
	extern obj_t bstring_to_symbol(obj_t);
	BGL_EXPORTED_DECL obj_t BGl_libraryzd2existszf3z21zz__libraryz00(obj_t,
		obj_t);
	static obj_t BGl_methodzd2initzd2zz__libraryz00(void);
	extern obj_t BGl_bigloozd2typezd2errorz00zz__errorz00(obj_t, obj_t, obj_t);
	BGL_EXPORTED_DECL obj_t
		BGl_libraryzd2markzd2loadedz12z12zz__libraryz00(obj_t);
	static obj_t BGl_z62libraryzd2existszf3z43zz__libraryz00(obj_t, obj_t, obj_t);
	extern obj_t BGl_findzd2filezf2pathz20zz__osz00(obj_t, obj_t);
	BGL_EXPORTED_DECL obj_t BGl_libraryzd2infozd2zz__libraryz00(obj_t);
	BGL_EXPORTED_DECL obj_t
		BGl_libraryzd2threadzd2suffixzd2setz12zc0zz__libraryz00(obj_t);
	BGL_EXPORTED_DECL bool_t BGl_libraryzd2loadedzf3z21zz__libraryz00(obj_t);
	static obj_t BGl_z62libraryzd2loadedzf3z43zz__libraryz00(obj_t, obj_t);
	BGL_EXPORTED_DECL obj_t BGl_libraryzd2filezd2namez00zz__libraryz00(obj_t,
		obj_t, obj_t);
	extern obj_t BGl_dynamiczd2loadzd2zz__osz00(obj_t, obj_t, obj_t);
	static obj_t BGl_z62libraryzd2multithreadzd2setz12z70zz__libraryz00(obj_t,
		obj_t);
	static obj_t BGl_keyword1934z00zz__libraryz00 = BUNSPEC;
	static obj_t BGl_keyword1936z00zz__libraryz00 = BUNSPEC;
	static obj_t BGl_keyword1938z00zz__libraryz00 = BUNSPEC;
	static obj_t BGl_z62libraryzd2threadzd2suffixzd2setz12za2zz__libraryz00(obj_t,
		obj_t);
	extern obj_t string_append(obj_t, obj_t);
	static obj_t BGl_z62libraryzd2load_ezb0zz__libraryz00(obj_t, obj_t, obj_t);
	static obj_t BGl_keyword1940z00zz__libraryz00 = BUNSPEC;
	static obj_t BGl_keyword1942z00zz__libraryz00 = BUNSPEC;
	static obj_t BGl_keyword1944z00zz__libraryz00 = BUNSPEC;
	extern obj_t BGl_memberz00zz__r4_pairs_and_lists_6_3z00(obj_t, obj_t);
	extern obj_t BGl_bigloozd2libraryzd2pathz00zz__paramz00(void);
	static obj_t BGl_keyword1946z00zz__libraryz00 = BUNSPEC;
	static obj_t BGl_keyword1948z00zz__libraryz00 = BUNSPEC;
	static obj_t BGl_libraryzd2threadzd2suffixz00zz__libraryz00 = BUNSPEC;
	extern bool_t BGl_bigloozd2needzd2manglingzf3zf3zz__biglooz00(obj_t);
	extern obj_t BGl_defaultzd2environmentzd2zz__evalz00(void);
	static obj_t BGl_z62libraryzd2loadzb0zz__libraryz00(obj_t, obj_t, obj_t);
	extern obj_t BGl_errorz00zz__errorz00(obj_t, obj_t, obj_t);
	static obj_t BGl_evalzd2libraryzd2suffixz00zz__libraryz00(void);
	static obj_t BGl_keyword1950z00zz__libraryz00 = BUNSPEC;
	static obj_t BGl_keyword1952z00zz__libraryz00 = BUNSPEC;
	static obj_t *__cnst;


	   
		 
		BGL_DEFINE_STRING(BGl_string1951z00zz__libraryz00,
		BgL_bgl_string1951za700za7za7_2016za7, "srfi", 4);
	      BGL_DEFINE_STRING(BGl_string1953z00zz__libraryz00,
		BgL_bgl_string1953za700za7za7_2017za7, "version", 7);
	      BGL_DEFINE_STRING(BGl_string1955z00zz__libraryz00,
		BgL_bgl_string1955za700za7za7_2018za7, "declare-library!", 16);
	      BGL_DEFINE_STRING(BGl_string1956z00zz__libraryz00,
		BgL_bgl_string1956za700za7za7_2019za7, "Illegal keyword argument", 24);
	      BGL_DEFINE_STRING(BGl_string1957z00zz__libraryz00,
		BgL_bgl_string1957za700za7za7_2020za7,
		"wrong number of arguments: [1..11] expected, provided", 53);
	      BGL_DEFINE_STRING(BGl_string1958z00zz__libraryz00,
		BgL_bgl_string1958za700za7za7_2021za7, "bint", 4);
	      BGL_DEFINE_STRING(BGl_string1959z00zz__libraryz00,
		BgL_bgl_string1959za700za7za7_2022za7, "~a_~a", 5);
	      BGL_DEFINE_STRING(BGl_string1960z00zz__libraryz00,
		BgL_bgl_string1960za700za7za7_2023za7, "~a_e~a", 6);
	      BGL_DEFINE_STRING(BGl_string1962z00zz__libraryz00,
		BgL_bgl_string1962za700za7za7_2024za7, "libinfo", 7);
	      BGL_DEFINE_STRING(BGl_string1963z00zz__libraryz00,
		BgL_bgl_string1963za700za7za7_2025za7, "&library-info", 13);
	      BGL_DEFINE_STRING(BGl_string1965z00zz__libraryz00,
		BgL_bgl_string1965za700za7za7_2026za7, "library-translation-table-add!",
		30);
	      BGL_DEFINE_STRING(BGl_string1966z00zz__libraryz00,
		BgL_bgl_string1966za700za7za7_2027za7, "Illegal :dlopen-init argument", 29);
	      BGL_DEFINE_STRING(BGl_string1967z00zz__libraryz00,
		BgL_bgl_string1967za700za7za7_2028za7, "Illegal :dlopen-init value", 26);
	      BGL_DEFINE_STRING(BGl_string1968z00zz__libraryz00,
		BgL_bgl_string1968za700za7za7_2029za7, "Illegal argument", 16);
	      BGL_DEFINE_STRING(BGl_string1969z00zz__libraryz00,
		BgL_bgl_string1969za700za7za7_2030za7, "_", 1);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_libraryzd2multithreadzd2setz12zd2envzc0zz__libraryz00,
		BgL_bgl_za762libraryza7d2mul2031z00,
		BGl_z62libraryzd2multithreadzd2setz12z70zz__libraryz00, 0L, BUNSPEC, 1);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_libraryzd2loadzd2initzd2envzd2zz__libraryz00,
		BgL_bgl_za762libraryza7d2loa2032z00,
		BGl_z62libraryzd2loadzd2initz62zz__libraryz00, 0L, BUNSPEC, 2);
	      DEFINE_EXPORT_BGL_PROCEDURE(BGl_libraryzd2infozd2envz00zz__libraryz00,
		BgL_bgl_za762libraryza7d2inf2033z00, BGl_z62libraryzd2infozb0zz__libraryz00,
		0L, BUNSPEC, 1);
	      BGL_DEFINE_STRING(BGl_string1970z00zz__libraryz00,
		BgL_bgl_string1970za700za7za7_2034za7, "_e", 2);
	      BGL_DEFINE_STRING(BGl_string1971z00zz__libraryz00,
		BgL_bgl_string1971za700za7za7_2035za7, "&library-translation-table-add!",
		31);
	      BGL_DEFINE_STRING(BGl_string1972z00zz__libraryz00,
		BgL_bgl_string1972za700za7za7_2036za7, ".init", 5);
	      BGL_DEFINE_STRING(BGl_string1973z00zz__libraryz00,
		BgL_bgl_string1973za700za7za7_2037za7, "&library-init-file", 18);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_libraryzd2threadzd2suffixzd2setz12zd2envz12zz__libraryz00,
		BgL_bgl_za762libraryza7d2thr2038z00,
		BGl_z62libraryzd2threadzd2suffixzd2setz12za2zz__libraryz00, 0L, BUNSPEC, 1);
	      BGL_DEFINE_STRING(BGl_string1975z00zz__libraryz00,
		BgL_bgl_string1975za700za7za7_2039za7, "bigloo-c", 8);
	      BGL_DEFINE_STRING(BGl_string1976z00zz__libraryz00,
		BgL_bgl_string1976za700za7za7_2040za7, "unix", 4);
	      BGL_DEFINE_STRING(BGl_string1977z00zz__libraryz00,
		BgL_bgl_string1977za700za7za7_2041za7, "mingw", 5);
	      BGL_DEFINE_STRING(BGl_string1978z00zz__libraryz00,
		BgL_bgl_string1978za700za7za7_2042za7, "-", 1);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_libraryzd2initzd2filezd2envzd2zz__libraryz00,
		BgL_bgl_za762libraryza7d2ini2043z00,
		BGl_z62libraryzd2initzd2filez62zz__libraryz00, 0L, BUNSPEC, 1);
	     
		DEFINE_EXPORT_BGL_PROCEDURE(BGl_libraryzd2loadedzf3zd2envzf3zz__libraryz00,
		BgL_bgl_za762libraryza7d2loa2044z00,
		BGl_z62libraryzd2loadedzf3z43zz__libraryz00, 0L, BUNSPEC, 1);
	      BGL_DEFINE_STRING(BGl_string1980z00zz__libraryz00,
		BgL_bgl_string1980za700za7za7_2045za7, "library-file-name", 17);
	      BGL_DEFINE_STRING(BGl_string1981z00zz__libraryz00,
		BgL_bgl_string1981za700za7za7_2046za7, "Illegal version", 15);
	      BGL_DEFINE_STRING(BGl_string1982z00zz__libraryz00,
		BgL_bgl_string1982za700za7za7_2047za7, "win32", 5);
	      BGL_DEFINE_STRING(BGl_string1983z00zz__libraryz00,
		BgL_bgl_string1983za700za7za7_2048za7, "Unknown os", 10);
	      BGL_DEFINE_STRING(BGl_string1985z00zz__libraryz00,
		BgL_bgl_string1985za700za7za7_2049za7, "bigloo-jvm", 10);
	      BGL_DEFINE_STRING(BGl_string1987z00zz__libraryz00,
		BgL_bgl_string1987za700za7za7_2050za7, "bigloo-.net", 11);
	      BGL_DEFINE_STRING(BGl_string1989z00zz__libraryz00,
		BgL_bgl_string1989za700za7za7_2051za7, "bigloo.net", 10);
	      BGL_DEFINE_STRING(BGl_string1990z00zz__libraryz00,
		BgL_bgl_string1990za700za7za7_2052za7, "Illegal backend", 15);
	      BGL_DEFINE_STRING(BGl_string1991z00zz__libraryz00,
		BgL_bgl_string1991za700za7za7_2053za7, "&library-file-name", 18);
	      BGL_DEFINE_STRING(BGl_string1992z00zz__libraryz00,
		BgL_bgl_string1992za700za7za7_2054za7, "&library-loaded?", 16);
	      BGL_DEFINE_STRING(BGl_string1993z00zz__libraryz00,
		BgL_bgl_string1993za700za7za7_2055za7, "&library-mark-loaded!", 21);
	      BGL_DEFINE_STRING(BGl_string1994z00zz__libraryz00,
		BgL_bgl_string1994za700za7za7_2056za7, "BIGLOOLIB", 9);
	      BGL_DEFINE_STRING(BGl_string1995z00zz__libraryz00,
		BgL_bgl_string1995za700za7za7_2057za7, ".", 1);
	      BGL_DEFINE_STRING(BGl_string1996z00zz__libraryz00,
		BgL_bgl_string1996za700za7za7_2058za7, "/resource/bigloo/", 17);
	      BGL_DEFINE_STRING(BGl_string1997z00zz__libraryz00,
		BgL_bgl_string1997za700za7za7_2059za7, "/make_lib.class", 15);
	      BGL_DEFINE_STRING(BGl_string1998z00zz__libraryz00,
		BgL_bgl_string1998za700za7za7_2060za7, "Can't find library `~a' (`~a')",
		30);
	      DEFINE_EXPORT_BGL_PROCEDURE(BGl_libraryzd2loadzd2envz00zz__libraryz00,
		BgL_bgl_za762libraryza7d2loa2061z00, va_generic_entry,
		BGl_z62libraryzd2loadzb0zz__libraryz00, BUNSPEC, -2);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_libraryzd2markzd2loadedz12zd2envzc0zz__libraryz00,
		BgL_bgl_za762libraryza7d2mar2062z00,
		BGl_z62libraryzd2markzd2loadedz12z70zz__libraryz00, 0L, BUNSPEC, 1);
	      DEFINE_EXPORT_BGL_PROCEDURE(BGl_libraryzd2load_ezd2envz00zz__libraryz00,
		BgL_bgl_za762libraryza7d2loa2063z00, va_generic_entry,
		BGl_z62libraryzd2load_ezb0zz__libraryz00, BUNSPEC, -2);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_libraryzd2filezd2namezd2envzd2zz__libraryz00,
		BgL_bgl_za762libraryza7d2fil2064z00,
		BGl_z62libraryzd2filezd2namez62zz__libraryz00, 0L, BUNSPEC, 3);
	      BGL_DEFINE_STRING(BGl_string2000z00zz__libraryz00,
		BgL_bgl_string2000za700za7za7_2065za7, "library-load", 12);
	      BGL_DEFINE_STRING(BGl_string2001z00zz__libraryz00,
		BgL_bgl_string2001za700za7za7_2066za7,
		"Can't find _e library `~a' (`~a') in path ", 42);
	      BGL_DEFINE_STRING(BGl_string2005z00zz__libraryz00,
		BgL_bgl_string2005za700za7za7_2067za7, "libinfo-init", 12);
	      BGL_DEFINE_STRING(BGl_string2007z00zz__libraryz00,
		BgL_bgl_string2007za700za7za7_2068za7, "info", 4);
	      BGL_DEFINE_STRING(BGl_string1911z00zz__libraryz00,
		BgL_bgl_string1911za700za7za7_2069za7, "library", 7);
	      BGL_DEFINE_STRING(BGl_string1912z00zz__libraryz00,
		BgL_bgl_string1912za700za7za7_2070za7, "", 0);
	      BGL_DEFINE_STRING(BGl_string1913z00zz__libraryz00,
		BgL_bgl_string1913za700za7za7_2071za7,
		"/tmp/bigloo/runtime/Eval/library.scm", 36);
	      BGL_DEFINE_STRING(BGl_string1914z00zz__libraryz00,
		BgL_bgl_string1914za700za7za7_2072za7, "&library-thread-suffix-set!", 27);
	      BGL_DEFINE_STRING(BGl_string1915z00zz__libraryz00,
		BgL_bgl_string1915za700za7za7_2073za7, "bstring", 7);
	      BGL_DEFINE_STRING(BGl_string1916z00zz__libraryz00,
		BgL_bgl_string1916za700za7za7_2074za7, "_mt", 3);
	     
		DEFINE_EXPORT_BGL_PROCEDURE(BGl_declarezd2libraryz12zd2envz12zz__libraryz00,
		BgL_bgl__declareza7d2libra2075za7, opt_generic_entry,
		BGl__declarezd2libraryz12zc0zz__libraryz00, BFALSE, -1);
	      BGL_DEFINE_STRING(BGl_string1918z00zz__libraryz00,
		BgL_bgl_string1918za700za7za7_2076za7, "library-safety", 14);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_libraryzd2translationzd2tablezd2addz12zd2envz12zz__libraryz00,
		BgL_bgl_za762libraryza7d2tra2077z00, va_generic_entry,
		BGl_z62libraryzd2translationzd2tablezd2addz12za2zz__libraryz00, BUNSPEC,
		-3);
	      BGL_DEFINE_STRING(BGl_string2011z00zz__libraryz00,
		BgL_bgl_string2011za700za7za7_2078za7, "libinfo-eval", 12);
	      BGL_DEFINE_STRING(BGl_string2012z00zz__libraryz00,
		BgL_bgl_string2012za700za7za7_2079za7, "string or symbol", 16);
	      BGL_DEFINE_STRING(BGl_string2013z00zz__libraryz00,
		BgL_bgl_string2013za700za7za7_2080za7, ".heap", 5);
	      BGL_DEFINE_STRING(BGl_string2014z00zz__libraryz00,
		BgL_bgl_string2014za700za7za7_2081za7, "&library-exists?", 16);
	      BGL_DEFINE_STRING(BGl_string2015z00zz__libraryz00,
		BgL_bgl_string2015za700za7za7_2082za7, "__library", 9);
	      BGL_DEFINE_STRING(BGl_string1920z00zz__libraryz00,
		BgL_bgl_string1920za700za7za7_2083za7, "unsafe", 6);
	      BGL_DEFINE_STRING(BGl_string1921z00zz__libraryz00,
		BgL_bgl_string1921za700za7za7_2084za7, "u", 1);
	      BGL_DEFINE_STRING(BGl_string1923z00zz__libraryz00,
		BgL_bgl_string1923za700za7za7_2085za7, "safe", 4);
	      BGL_DEFINE_STRING(BGl_string1924z00zz__libraryz00,
		BgL_bgl_string1924za700za7za7_2086za7, "s", 1);
	      BGL_DEFINE_STRING(BGl_string1926z00zz__libraryz00,
		BgL_bgl_string1926za700za7za7_2087za7, "profile", 7);
	      BGL_DEFINE_STRING(BGl_string1927z00zz__libraryz00,
		BgL_bgl_string1927za700za7za7_2088za7, "p", 1);
	      BGL_DEFINE_STRING(BGl_string1928z00zz__libraryz00,
		BgL_bgl_string1928za700za7za7_2089za7, "_declare-library!", 17);
	      BGL_DEFINE_STRING(BGl_string1929z00zz__libraryz00,
		BgL_bgl_string1929za700za7za7_2090za7, "vector", 6);
	     
		DEFINE_EXPORT_BGL_PROCEDURE(BGl_libraryzd2existszf3zd2envzf3zz__libraryz00,
		BgL_bgl_za762libraryza7d2exi2091z00, va_generic_entry,
		BGl_z62libraryzd2existszf3z43zz__libraryz00, BUNSPEC, -2);
	      BGL_DEFINE_STRING(BGl_string1930z00zz__libraryz00,
		BgL_bgl_string1930za700za7za7_2092za7, "symbol", 6);
	      BGL_DEFINE_STRING(BGl_string1932z00zz__libraryz00,
		BgL_bgl_string1932za700za7za7_2093za7, "release-number", 14);
	      BGL_DEFINE_STRING(BGl_string1935z00zz__libraryz00,
		BgL_bgl_string1935za700za7za7_2094za7, "basename", 8);
	      BGL_DEFINE_STRING(BGl_string1937z00zz__libraryz00,
		BgL_bgl_string1937za700za7za7_2095za7, "class-eval", 10);
	      BGL_DEFINE_STRING(BGl_string1939z00zz__libraryz00,
		BgL_bgl_string1939za700za7za7_2096za7, "class-init", 10);
	      BGL_DEFINE_STRING(BGl_string1941z00zz__libraryz00,
		BgL_bgl_string1941za700za7za7_2097za7, "dlopen-init", 11);
	      BGL_DEFINE_STRING(BGl_string1943z00zz__libraryz00,
		BgL_bgl_string1943za700za7za7_2098za7, "eval", 4);
	      BGL_DEFINE_STRING(BGl_string1945z00zz__libraryz00,
		BgL_bgl_string1945za700za7za7_2099za7, "init", 4);
	      BGL_DEFINE_STRING(BGl_string1947z00zz__libraryz00,
		BgL_bgl_string1947za700za7za7_2100za7, "module-eval", 11);
	      BGL_DEFINE_STRING(BGl_string1949z00zz__libraryz00,
		BgL_bgl_string1949za700za7za7_2101za7, "module-init", 11);

/* contant bindings */
	static void bgl_constant_bindings()
	{
		BGL_BIND_STRING(BGl_string1949z00zz__libraryz00,
			BgL_bgl_string1949za700za7za7_2101za7);
		BGL_BIND_STRING(BGl_string1947z00zz__libraryz00,
			BgL_bgl_string1947za700za7za7_2100za7);
		BGL_BIND_STRING(BGl_string1945z00zz__libraryz00,
			BgL_bgl_string1945za700za7za7_2099za7);
		BGL_BIND_STRING(BGl_string1943z00zz__libraryz00,
			BgL_bgl_string1943za700za7za7_2098za7);
		BGL_BIND_STRING(BGl_string1941z00zz__libraryz00,
			BgL_bgl_string1941za700za7za7_2097za7);
		BGL_BIND_STRING(BGl_string1939z00zz__libraryz00,
			BgL_bgl_string1939za700za7za7_2096za7);
		BGL_BIND_STRING(BGl_string1937z00zz__libraryz00,
			BgL_bgl_string1937za700za7za7_2095za7);
		BGL_BIND_STRING(BGl_string1935z00zz__libraryz00,
			BgL_bgl_string1935za700za7za7_2094za7);
		BGL_BIND_STRING(BGl_string1932z00zz__libraryz00,
			BgL_bgl_string1932za700za7za7_2093za7);
		BGL_BIND_STRING(BGl_string1930z00zz__libraryz00,
			BgL_bgl_string1930za700za7za7_2092za7);
		BGL_BIND_PROCEDURE(BGl_libraryzd2existszf3zd2envzf3zz__libraryz00,
			BgL_bgl_za762libraryza7d2exi2091z00);
		BGL_BIND_STRING(BGl_string1929z00zz__libraryz00,
			BgL_bgl_string1929za700za7za7_2090za7);
		BGL_BIND_STRING(BGl_string1928z00zz__libraryz00,
			BgL_bgl_string1928za700za7za7_2089za7);
		BGL_BIND_STRING(BGl_string1927z00zz__libraryz00,
			BgL_bgl_string1927za700za7za7_2088za7);
		BGL_BIND_STRING(BGl_string1926z00zz__libraryz00,
			BgL_bgl_string1926za700za7za7_2087za7);
		BGL_BIND_STRING(BGl_string1924z00zz__libraryz00,
			BgL_bgl_string1924za700za7za7_2086za7);
		BGL_BIND_STRING(BGl_string1923z00zz__libraryz00,
			BgL_bgl_string1923za700za7za7_2085za7);
		BGL_BIND_STRING(BGl_string1921z00zz__libraryz00,
			BgL_bgl_string1921za700za7za7_2084za7);
		BGL_BIND_STRING(BGl_string1920z00zz__libraryz00,
			BgL_bgl_string1920za700za7za7_2083za7);
		BGL_BIND_STRING(BGl_string2015z00zz__libraryz00,
			BgL_bgl_string2015za700za7za7_2082za7);
		BGL_BIND_STRING(BGl_string2014z00zz__libraryz00,
			BgL_bgl_string2014za700za7za7_2081za7);
		BGL_BIND_STRING(BGl_string2013z00zz__libraryz00,
			BgL_bgl_string2013za700za7za7_2080za7);
		BGL_BIND_STRING(BGl_string2012z00zz__libraryz00,
			BgL_bgl_string2012za700za7za7_2079za7);
		BGL_BIND_STRING(BGl_string2011z00zz__libraryz00,
			BgL_bgl_string2011za700za7za7_2078za7);
		BGL_BIND_PROCEDURE
			(BGl_libraryzd2translationzd2tablezd2addz12zd2envz12zz__libraryz00,
			BgL_bgl_za762libraryza7d2tra2077z00);
		BGL_BIND_STRING(BGl_string1918z00zz__libraryz00,
			BgL_bgl_string1918za700za7za7_2076za7);
		BGL_BIND_PROCEDURE(BGl_declarezd2libraryz12zd2envz12zz__libraryz00,
			BgL_bgl__declareza7d2libra2075za7);
		BGL_BIND_STRING(BGl_string1916z00zz__libraryz00,
			BgL_bgl_string1916za700za7za7_2074za7);
		BGL_BIND_STRING(BGl_string1915z00zz__libraryz00,
			BgL_bgl_string1915za700za7za7_2073za7);
		BGL_BIND_STRING(BGl_string1914z00zz__libraryz00,
			BgL_bgl_string1914za700za7za7_2072za7);
		BGL_BIND_STRING(BGl_string1913z00zz__libraryz00,
			BgL_bgl_string1913za700za7za7_2071za7);
		BGL_BIND_STRING(BGl_string1912z00zz__libraryz00,
			BgL_bgl_string1912za700za7za7_2070za7);
		BGL_BIND_STRING(BGl_string1911z00zz__libraryz00,
			BgL_bgl_string1911za700za7za7_2069za7);
		BGL_BIND_STRING(BGl_string2007z00zz__libraryz00,
			BgL_bgl_string2007za700za7za7_2068za7);
		BGL_BIND_STRING(BGl_string2005z00zz__libraryz00,
			BgL_bgl_string2005za700za7za7_2067za7);
		BGL_BIND_STRING(BGl_string2001z00zz__libraryz00,
			BgL_bgl_string2001za700za7za7_2066za7);
		BGL_BIND_STRING(BGl_string2000z00zz__libraryz00,
			BgL_bgl_string2000za700za7za7_2065za7);
		BGL_BIND_PROCEDURE(BGl_libraryzd2filezd2namezd2envzd2zz__libraryz00,
			BgL_bgl_za762libraryza7d2fil2064z00);
		BGL_BIND_PROCEDURE(BGl_libraryzd2load_ezd2envz00zz__libraryz00,
			BgL_bgl_za762libraryza7d2loa2063z00);
		BGL_BIND_PROCEDURE(BGl_libraryzd2markzd2loadedz12zd2envzc0zz__libraryz00,
			BgL_bgl_za762libraryza7d2mar2062z00);
		BGL_BIND_PROCEDURE(BGl_libraryzd2loadzd2envz00zz__libraryz00,
			BgL_bgl_za762libraryza7d2loa2061z00);
		BGL_BIND_STRING(BGl_string1998z00zz__libraryz00,
			BgL_bgl_string1998za700za7za7_2060za7);
		BGL_BIND_STRING(BGl_string1997z00zz__libraryz00,
			BgL_bgl_string1997za700za7za7_2059za7);
		BGL_BIND_STRING(BGl_string1996z00zz__libraryz00,
			BgL_bgl_string1996za700za7za7_2058za7);
		BGL_BIND_STRING(BGl_string1995z00zz__libraryz00,
			BgL_bgl_string1995za700za7za7_2057za7);
		BGL_BIND_STRING(BGl_string1994z00zz__libraryz00,
			BgL_bgl_string1994za700za7za7_2056za7);
		BGL_BIND_STRING(BGl_string1993z00zz__libraryz00,
			BgL_bgl_string1993za700za7za7_2055za7);
		BGL_BIND_STRING(BGl_string1992z00zz__libraryz00,
			BgL_bgl_string1992za700za7za7_2054za7);
		BGL_BIND_STRING(BGl_string1991z00zz__libraryz00,
			BgL_bgl_string1991za700za7za7_2053za7);
		BGL_BIND_STRING(BGl_string1990z00zz__libraryz00,
			BgL_bgl_string1990za700za7za7_2052za7);
		BGL_BIND_STRING(BGl_string1989z00zz__libraryz00,
			BgL_bgl_string1989za700za7za7_2051za7);
		BGL_BIND_STRING(BGl_string1987z00zz__libraryz00,
			BgL_bgl_string1987za700za7za7_2050za7);
		BGL_BIND_STRING(BGl_string1985z00zz__libraryz00,
			BgL_bgl_string1985za700za7za7_2049za7);
		BGL_BIND_STRING(BGl_string1983z00zz__libraryz00,
			BgL_bgl_string1983za700za7za7_2048za7);
		BGL_BIND_STRING(BGl_string1982z00zz__libraryz00,
			BgL_bgl_string1982za700za7za7_2047za7);
		BGL_BIND_STRING(BGl_string1981z00zz__libraryz00,
			BgL_bgl_string1981za700za7za7_2046za7);
		BGL_BIND_STRING(BGl_string1980z00zz__libraryz00,
			BgL_bgl_string1980za700za7za7_2045za7);
		BGL_BIND_PROCEDURE(BGl_libraryzd2loadedzf3zd2envzf3zz__libraryz00,
			BgL_bgl_za762libraryza7d2loa2044z00);
		BGL_BIND_PROCEDURE(BGl_libraryzd2initzd2filezd2envzd2zz__libraryz00,
			BgL_bgl_za762libraryza7d2ini2043z00);
		BGL_BIND_STRING(BGl_string1978z00zz__libraryz00,
			BgL_bgl_string1978za700za7za7_2042za7);
		BGL_BIND_STRING(BGl_string1977z00zz__libraryz00,
			BgL_bgl_string1977za700za7za7_2041za7);
		BGL_BIND_STRING(BGl_string1976z00zz__libraryz00,
			BgL_bgl_string1976za700za7za7_2040za7);
		BGL_BIND_STRING(BGl_string1975z00zz__libraryz00,
			BgL_bgl_string1975za700za7za7_2039za7);
		BGL_BIND_PROCEDURE
			(BGl_libraryzd2threadzd2suffixzd2setz12zd2envz12zz__libraryz00,
			BgL_bgl_za762libraryza7d2thr2038z00);
		BGL_BIND_STRING(BGl_string1973z00zz__libraryz00,
			BgL_bgl_string1973za700za7za7_2037za7);
		BGL_BIND_STRING(BGl_string1972z00zz__libraryz00,
			BgL_bgl_string1972za700za7za7_2036za7);
		BGL_BIND_STRING(BGl_string1971z00zz__libraryz00,
			BgL_bgl_string1971za700za7za7_2035za7);
		BGL_BIND_STRING(BGl_string1970z00zz__libraryz00,
			BgL_bgl_string1970za700za7za7_2034za7);
		BGL_BIND_PROCEDURE(BGl_libraryzd2infozd2envz00zz__libraryz00,
			BgL_bgl_za762libraryza7d2inf2033z00);
		BGL_BIND_PROCEDURE(BGl_libraryzd2loadzd2initzd2envzd2zz__libraryz00,
			BgL_bgl_za762libraryza7d2loa2032z00);
		BGL_BIND_PROCEDURE
			(BGl_libraryzd2multithreadzd2setz12zd2envzc0zz__libraryz00,
			BgL_bgl_za762libraryza7d2mul2031z00);
		BGL_BIND_STRING(BGl_string1969z00zz__libraryz00,
			BgL_bgl_string1969za700za7za7_2030za7);
		BGL_BIND_STRING(BGl_string1968z00zz__libraryz00,
			BgL_bgl_string1968za700za7za7_2029za7);
		BGL_BIND_STRING(BGl_string1967z00zz__libraryz00,
			BgL_bgl_string1967za700za7za7_2028za7);
		BGL_BIND_STRING(BGl_string1966z00zz__libraryz00,
			BgL_bgl_string1966za700za7za7_2027za7);
		BGL_BIND_STRING(BGl_string1965z00zz__libraryz00,
			BgL_bgl_string1965za700za7za7_2026za7);
		BGL_BIND_STRING(BGl_string1963z00zz__libraryz00,
			BgL_bgl_string1963za700za7za7_2025za7);
		BGL_BIND_STRING(BGl_string1962z00zz__libraryz00,
			BgL_bgl_string1962za700za7za7_2024za7);
		BGL_BIND_STRING(BGl_string1960z00zz__libraryz00,
			BgL_bgl_string1960za700za7za7_2023za7);
		BGL_BIND_STRING(BGl_string1959z00zz__libraryz00,
			BgL_bgl_string1959za700za7za7_2022za7);
		BGL_BIND_STRING(BGl_string1958z00zz__libraryz00,
			BgL_bgl_string1958za700za7za7_2021za7);
		BGL_BIND_STRING(BGl_string1957z00zz__libraryz00,
			BgL_bgl_string1957za700za7za7_2020za7);
		BGL_BIND_STRING(BGl_string1956z00zz__libraryz00,
			BgL_bgl_string1956za700za7za7_2019za7);
		BGL_BIND_STRING(BGl_string1955z00zz__libraryz00,
			BgL_bgl_string1955za700za7za7_2018za7);
		BGL_BIND_STRING(BGl_string1953z00zz__libraryz00,
			BgL_bgl_string1953za700za7za7_2017za7);
		BGL_BIND_STRING(BGl_string1951z00zz__libraryz00,
			BgL_bgl_string1951za700za7za7_2016za7);
	}

/* GC roots registration */
	static obj_t bgl_gc_roots_register()
	{
#if defined( BGL_GC_ROOTS )
#define ADD_ROOT( addr ) (addr > roots_max ? roots_max = addr : (addr < roots_min ? roots_min = addr : 0))
		void *roots_min = (void *) ULONG_MAX, *roots_max = 0;

		ADD_ROOT((void *) (&BGl_symbol2004z00zz__libraryz00));
		ADD_ROOT((void *) (&BGl_symbol2006z00zz__libraryz00));
		ADD_ROOT((void *) (&BGl_za2evalzd2libraryzd2suffixza2z00zz__libraryz00));
		ADD_ROOT((void *) (&BGl_symbol1910z00zz__libraryz00));
		ADD_ROOT((void *) (&BGl_symbol1917z00zz__libraryz00));
		ADD_ROOT((void *) (&BGl_symbol1919z00zz__libraryz00));
		ADD_ROOT((void *) (&BGl_symbol2010z00zz__libraryz00));
		ADD_ROOT((void *) (&BGl_symbol1922z00zz__libraryz00));
		ADD_ROOT((void *) (&BGl_symbol1925z00zz__libraryz00));
		ADD_ROOT((void *) (&BGl_za2loadedzd2librariesza2zd2zz__libraryz00));
		ADD_ROOT((void *) (&BGl_requirezd2initializa7ationz75zz__libraryz00));
		ADD_ROOT((void *) (&BGl_za2loadedzd2initzd2filesza2z00zz__libraryz00));
		ADD_ROOT((void *) (&BGl_symbol1931z00zz__libraryz00));
		ADD_ROOT((void *) (&BGl_list2002z00zz__libraryz00));
		ADD_ROOT((void *) (&BGl_list2003z00zz__libraryz00));
		ADD_ROOT((void *) (&BGl_list2008z00zz__libraryz00));
		ADD_ROOT((void *) (&BGl_list2009z00zz__libraryz00));
		ADD_ROOT((void *) (&BGl_symbol1954z00zz__libraryz00));
		ADD_ROOT((void *) (&BGl_symbol1961z00zz__libraryz00));
		ADD_ROOT((void *) (&BGl_symbol1964z00zz__libraryz00));
		ADD_ROOT((void *) (&BGl_list1933z00zz__libraryz00));
		ADD_ROOT((void *) (&BGl_symbol1974z00zz__libraryz00));
		ADD_ROOT((void *) (&BGl_symbol1979z00zz__libraryz00));
		ADD_ROOT((void *) (&BGl_za2librariesza2z00zz__libraryz00));
		ADD_ROOT((void *) (&BGl_za2loadedzd2initzd2librariesza2z00zz__libraryz00));
		ADD_ROOT((void *) (&BGl_za2libraryzd2mutexza2zd2zz__libraryz00));
		ADD_ROOT((void *) (&BGl_symbol1984z00zz__libraryz00));
		ADD_ROOT((void *) (&BGl_symbol1986z00zz__libraryz00));
		ADD_ROOT((void *) (&BGl_symbol1988z00zz__libraryz00));
		ADD_ROOT((void *) (&BGl_symbol1999z00zz__libraryz00));
		ADD_ROOT((void *) (&BGl_keyword1934z00zz__libraryz00));
		ADD_ROOT((void *) (&BGl_keyword1936z00zz__libraryz00));
		ADD_ROOT((void *) (&BGl_keyword1938z00zz__libraryz00));
		ADD_ROOT((void *) (&BGl_keyword1940z00zz__libraryz00));
		ADD_ROOT((void *) (&BGl_keyword1942z00zz__libraryz00));
		ADD_ROOT((void *) (&BGl_keyword1944z00zz__libraryz00));
		ADD_ROOT((void *) (&BGl_keyword1946z00zz__libraryz00));
		ADD_ROOT((void *) (&BGl_keyword1948z00zz__libraryz00));
		ADD_ROOT((void *) (&BGl_libraryzd2threadzd2suffixz00zz__libraryz00));
		ADD_ROOT((void *) (&BGl_keyword1950z00zz__libraryz00));
		ADD_ROOT((void *) (&BGl_keyword1952z00zz__libraryz00));
#undef ADD_ROOT
		if (roots_max > 0)
			GC_add_roots(roots_min, ((void **) roots_max) + 1);
#endif
		return BUNSPEC;
	}



/* module-initialization */
	BGL_EXPORTED_DEF obj_t BGl_modulezd2initializa7ationz75zz__libraryz00(long
		BgL_checksumz00_2877, char *BgL_fromz00_2878)
	{
		{
			if (CBOOL(BGl_requirezd2initializa7ationz75zz__libraryz00))
				{
					BGl_requirezd2initializa7ationz75zz__libraryz00 = BBOOL(((bool_t) 0));
					bgl_constant_bindings();
					BGl_gczd2rootszd2initz00zz__libraryz00();
					BGl_cnstzd2initzd2zz__libraryz00();
					BGl_importedzd2moduleszd2initz00zz__libraryz00();
					return BGl_toplevelzd2initzd2zz__libraryz00();
				}
			else
				{
					return BUNSPEC;
				}
		}

	}



/* cnst-init */
	obj_t BGl_cnstzd2initzd2zz__libraryz00(void)
	{
		{	/* Eval/library.scm 15 */
			BGl_symbol1910z00zz__libraryz00 =
				bstring_to_symbol(BGl_string1911z00zz__libraryz00);
			BGl_symbol1917z00zz__libraryz00 =
				bstring_to_symbol(BGl_string1918z00zz__libraryz00);
			BGl_symbol1919z00zz__libraryz00 =
				bstring_to_symbol(BGl_string1920z00zz__libraryz00);
			BGl_symbol1922z00zz__libraryz00 =
				bstring_to_symbol(BGl_string1923z00zz__libraryz00);
			BGl_symbol1925z00zz__libraryz00 =
				bstring_to_symbol(BGl_string1926z00zz__libraryz00);
			BGl_symbol1931z00zz__libraryz00 =
				bstring_to_symbol(BGl_string1932z00zz__libraryz00);
			BGl_keyword1934z00zz__libraryz00 =
				bstring_to_keyword(BGl_string1935z00zz__libraryz00);
			BGl_keyword1936z00zz__libraryz00 =
				bstring_to_keyword(BGl_string1937z00zz__libraryz00);
			BGl_keyword1938z00zz__libraryz00 =
				bstring_to_keyword(BGl_string1939z00zz__libraryz00);
			BGl_keyword1940z00zz__libraryz00 =
				bstring_to_keyword(BGl_string1941z00zz__libraryz00);
			BGl_keyword1942z00zz__libraryz00 =
				bstring_to_keyword(BGl_string1943z00zz__libraryz00);
			BGl_keyword1944z00zz__libraryz00 =
				bstring_to_keyword(BGl_string1945z00zz__libraryz00);
			BGl_keyword1946z00zz__libraryz00 =
				bstring_to_keyword(BGl_string1947z00zz__libraryz00);
			BGl_keyword1948z00zz__libraryz00 =
				bstring_to_keyword(BGl_string1949z00zz__libraryz00);
			BGl_keyword1950z00zz__libraryz00 =
				bstring_to_keyword(BGl_string1951z00zz__libraryz00);
			BGl_keyword1952z00zz__libraryz00 =
				bstring_to_keyword(BGl_string1953z00zz__libraryz00);
			BGl_list1933z00zz__libraryz00 =
				MAKE_YOUNG_PAIR(BGl_keyword1934z00zz__libraryz00,
				MAKE_YOUNG_PAIR(BGl_keyword1936z00zz__libraryz00,
					MAKE_YOUNG_PAIR(BGl_keyword1938z00zz__libraryz00,
						MAKE_YOUNG_PAIR(BGl_keyword1940z00zz__libraryz00,
							MAKE_YOUNG_PAIR(BGl_keyword1942z00zz__libraryz00,
								MAKE_YOUNG_PAIR(BGl_keyword1944z00zz__libraryz00,
									MAKE_YOUNG_PAIR(BGl_keyword1946z00zz__libraryz00,
										MAKE_YOUNG_PAIR(BGl_keyword1948z00zz__libraryz00,
											MAKE_YOUNG_PAIR(BGl_keyword1950z00zz__libraryz00,
												MAKE_YOUNG_PAIR(BGl_keyword1952z00zz__libraryz00,
													BNIL))))))))));
			BGl_symbol1954z00zz__libraryz00 =
				bstring_to_symbol(BGl_string1955z00zz__libraryz00);
			BGl_symbol1961z00zz__libraryz00 =
				bstring_to_symbol(BGl_string1962z00zz__libraryz00);
			BGl_symbol1964z00zz__libraryz00 =
				bstring_to_symbol(BGl_string1965z00zz__libraryz00);
			BGl_symbol1974z00zz__libraryz00 =
				bstring_to_symbol(BGl_string1975z00zz__libraryz00);
			BGl_symbol1979z00zz__libraryz00 =
				bstring_to_symbol(BGl_string1980z00zz__libraryz00);
			BGl_symbol1984z00zz__libraryz00 =
				bstring_to_symbol(BGl_string1985z00zz__libraryz00);
			BGl_symbol1986z00zz__libraryz00 =
				bstring_to_symbol(BGl_string1987z00zz__libraryz00);
			BGl_symbol1988z00zz__libraryz00 =
				bstring_to_symbol(BGl_string1989z00zz__libraryz00);
			BGl_symbol1999z00zz__libraryz00 =
				bstring_to_symbol(BGl_string2000z00zz__libraryz00);
			BGl_symbol2004z00zz__libraryz00 =
				bstring_to_symbol(BGl_string2005z00zz__libraryz00);
			BGl_symbol2006z00zz__libraryz00 =
				bstring_to_symbol(BGl_string2007z00zz__libraryz00);
			BGl_list2003z00zz__libraryz00 =
				MAKE_YOUNG_PAIR(BGl_symbol2004z00zz__libraryz00,
				MAKE_YOUNG_PAIR(BGl_symbol2006z00zz__libraryz00, BNIL));
			BGl_list2002z00zz__libraryz00 =
				MAKE_YOUNG_PAIR(BGl_list2003z00zz__libraryz00, BNIL);
			BGl_symbol2010z00zz__libraryz00 =
				bstring_to_symbol(BGl_string2011z00zz__libraryz00);
			BGl_list2009z00zz__libraryz00 =
				MAKE_YOUNG_PAIR(BGl_symbol2010z00zz__libraryz00,
				MAKE_YOUNG_PAIR(BGl_symbol2006z00zz__libraryz00, BNIL));
			return (BGl_list2008z00zz__libraryz00 =
				MAKE_YOUNG_PAIR(BGl_list2009z00zz__libraryz00, BNIL), BUNSPEC);
		}

	}



/* gc-roots-init */
	obj_t BGl_gczd2rootszd2initz00zz__libraryz00(void)
	{
		{	/* Eval/library.scm 15 */
			return bgl_gc_roots_register();
		}

	}



/* toplevel-init */
	obj_t BGl_toplevelzd2initzd2zz__libraryz00(void)
	{
		{	/* Eval/library.scm 15 */
			BGl_za2libraryzd2mutexza2zd2zz__libraryz00 =
				bgl_make_mutex(BGl_symbol1910z00zz__libraryz00);
			BGl_libraryzd2threadzd2suffixz00zz__libraryz00 =
				BGl_string1912z00zz__libraryz00;
			BGl_za2librariesza2z00zz__libraryz00 = BNIL;
			BGl_za2evalzd2libraryzd2suffixza2z00zz__libraryz00 = BFALSE;
			BGl_za2loadedzd2librariesza2zd2zz__libraryz00 = BNIL;
			BGl_za2loadedzd2initzd2librariesza2z00zz__libraryz00 = BNIL;
			return (BGl_za2loadedzd2initzd2filesza2z00zz__libraryz00 = BNIL, BUNSPEC);
		}

	}



/* library-thread-suffix-set! */
	BGL_EXPORTED_DEF obj_t
		BGl_libraryzd2threadzd2suffixzd2setz12zc0zz__libraryz00(obj_t BgL_sufz00_3)
	{
		{	/* Eval/library.scm 92 */
			return (BGl_libraryzd2threadzd2suffixz00zz__libraryz00 =
				BgL_sufz00_3, BUNSPEC);
		}

	}



/* &library-thread-suffix-set! */
	obj_t BGl_z62libraryzd2threadzd2suffixzd2setz12za2zz__libraryz00(obj_t
		BgL_envz00_2740, obj_t BgL_sufz00_2741)
	{
		{	/* Eval/library.scm 92 */
			{	/* Eval/library.scm 93 */
				obj_t BgL_auxz00_2933;

				if (STRINGP(BgL_sufz00_2741))
					{	/* Eval/library.scm 93 */
						BgL_auxz00_2933 = BgL_sufz00_2741;
					}
				else
					{
						obj_t BgL_auxz00_2936;

						BgL_auxz00_2936 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string1913z00zz__libraryz00,
							BINT(3262L), BGl_string1914z00zz__libraryz00,
							BGl_string1915z00zz__libraryz00, BgL_sufz00_2741);
						FAILURE(BgL_auxz00_2936, BFALSE, BFALSE);
					}
				return
					BGl_libraryzd2threadzd2suffixzd2setz12zc0zz__libraryz00
					(BgL_auxz00_2933);
			}
		}

	}



/* library-multithread-set! */
	BGL_EXPORTED_DEF obj_t
		BGl_libraryzd2multithreadzd2setz12z12zz__libraryz00(bool_t BgL_valz00_4)
	{
		{	/* Eval/library.scm 98 */
			if (BgL_valz00_4)
				{	/* Eval/library.scm 99 */
					return (BGl_libraryzd2threadzd2suffixz00zz__libraryz00 =
						BGl_string1916z00zz__libraryz00, BUNSPEC);
				}
			else
				{	/* Eval/library.scm 99 */
					return (BGl_libraryzd2threadzd2suffixz00zz__libraryz00 =
						BGl_string1912z00zz__libraryz00, BUNSPEC);
				}
		}

	}



/* &library-multithread-set! */
	obj_t BGl_z62libraryzd2multithreadzd2setz12z70zz__libraryz00(obj_t
		BgL_envz00_2742, obj_t BgL_valz00_2743)
	{
		{	/* Eval/library.scm 98 */
			return
				BGl_libraryzd2multithreadzd2setz12z12zz__libraryz00(CBOOL
				(BgL_valz00_2743));
		}

	}



/* eval-library-suffix */
	obj_t BGl_evalzd2libraryzd2suffixz00zz__libraryz00(void)
	{
		{	/* Eval/library.scm 127 */
			if (CBOOL(BGl_za2evalzd2libraryzd2suffixza2z00zz__libraryz00))
				{	/* Eval/library.scm 128 */
					BFALSE;
				}
			else
				{	/* Eval/library.scm 130 */
					obj_t BgL_casezd2valuezd2_1297;

					BgL_casezd2valuezd2_1297 =
						BGl_bigloozd2configzd2zz__configurez00
						(BGl_symbol1917z00zz__libraryz00);
					if ((BgL_casezd2valuezd2_1297 == BGl_symbol1919z00zz__libraryz00))
						{	/* Eval/library.scm 130 */
							BGl_za2evalzd2libraryzd2suffixza2z00zz__libraryz00 =
								BGl_string1921z00zz__libraryz00;
						}
					else
						{	/* Eval/library.scm 130 */
							if ((BgL_casezd2valuezd2_1297 == BGl_symbol1922z00zz__libraryz00))
								{	/* Eval/library.scm 130 */
									BGl_za2evalzd2libraryzd2suffixza2z00zz__libraryz00 =
										BGl_string1924z00zz__libraryz00;
								}
							else
								{	/* Eval/library.scm 130 */
									if (
										(BgL_casezd2valuezd2_1297 ==
											BGl_symbol1925z00zz__libraryz00))
										{	/* Eval/library.scm 130 */
											BGl_za2evalzd2libraryzd2suffixza2z00zz__libraryz00 =
												BGl_string1927z00zz__libraryz00;
										}
									else
										{	/* Eval/library.scm 130 */
											BGl_za2evalzd2libraryzd2suffixza2z00zz__libraryz00 =
												BUNSPEC;
										}
								}
						}
				}
			return BGl_za2evalzd2libraryzd2suffixza2z00zz__libraryz00;
		}

	}



/* _declare-library! */
	obj_t BGl__declarezd2libraryz12zc0zz__libraryz00(obj_t BgL_env1120z00_67,
		obj_t BgL_opt1119z00_66)
	{
		{	/* Eval/library.scm 139 */
			{	/* Eval/library.scm 139 */
				long BgL_l1121z00_1301;

				{	/* Eval/library.scm 139 */
					obj_t BgL_vectorz00_2067;

					if (VECTORP(BgL_opt1119z00_66))
						{	/* Eval/library.scm 139 */
							BgL_vectorz00_2067 = BgL_opt1119z00_66;
						}
					else
						{
							obj_t BgL_auxz00_2955;

							BgL_auxz00_2955 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string1913z00zz__libraryz00,
								BINT(5364L), BGl_string1928z00zz__libraryz00,
								BGl_string1929z00zz__libraryz00, BgL_opt1119z00_66);
							FAILURE(BgL_auxz00_2955, BFALSE, BFALSE);
						}
					BgL_l1121z00_1301 = VECTOR_LENGTH(BgL_vectorz00_2067);
				}
				{	/* Eval/library.scm 139 */
					obj_t BgL_idz00_1305;

					{
						obj_t BgL_auxz00_2960;

						if (VECTORP(BgL_opt1119z00_66))
							{	/* Eval/library.scm 139 */
								BgL_auxz00_2960 = BgL_opt1119z00_66;
							}
						else
							{
								obj_t BgL_auxz00_2963;

								BgL_auxz00_2963 =
									BGl_typezd2errorzd2zz__errorz00
									(BGl_string1913z00zz__libraryz00, BINT(5364L),
									BGl_string1928z00zz__libraryz00,
									BGl_string1929z00zz__libraryz00, BgL_opt1119z00_66);
								FAILURE(BgL_auxz00_2963, BFALSE, BFALSE);
							}
						BgL_idz00_1305 = VECTOR_REF(BgL_auxz00_2960, 0L);
					}
					{	/* Eval/library.scm 142 */
						obj_t BgL_basenamez00_1306;

						{	/* Eval/library.scm 142 */
							obj_t BgL_symbolz00_2075;

							if (SYMBOLP(BgL_idz00_1305))
								{	/* Eval/library.scm 142 */
									BgL_symbolz00_2075 = BgL_idz00_1305;
								}
							else
								{
									obj_t BgL_auxz00_2970;

									BgL_auxz00_2970 =
										BGl_typezd2errorzd2zz__errorz00
										(BGl_string1913z00zz__libraryz00, BINT(5479L),
										BGl_string1928z00zz__libraryz00,
										BGl_string1930z00zz__libraryz00, BgL_idz00_1305);
									FAILURE(BgL_auxz00_2970, BFALSE, BFALSE);
								}
							{	/* Eval/library.scm 142 */
								obj_t BgL_arg1632z00_2076;

								BgL_arg1632z00_2076 = SYMBOL_TO_STRING(BgL_symbolz00_2075);
								BgL_basenamez00_1306 =
									BGl_stringzd2copyzd2zz__r4_strings_6_7z00
									(BgL_arg1632z00_2076);
							}
						}
						{	/* Eval/library.scm 139 */
							obj_t BgL_classzd2evalzd2_1307;

							BgL_classzd2evalzd2_1307 = BFALSE;
							{	/* Eval/library.scm 139 */
								obj_t BgL_classzd2initzd2_1308;

								BgL_classzd2initzd2_1308 = BFALSE;
								{	/* Eval/library.scm 139 */
									obj_t BgL_dlopenzd2initzd2_1309;

									BgL_dlopenzd2initzd2_1309 = BFALSE;
									{	/* Eval/library.scm 139 */
										obj_t BgL_evalz00_1310;

										BgL_evalz00_1310 = BFALSE;
										{	/* Eval/library.scm 139 */
											obj_t BgL_initz00_1311;

											BgL_initz00_1311 = BFALSE;
											{	/* Eval/library.scm 139 */
												obj_t BgL_modulezd2evalzd2_1312;

												BgL_modulezd2evalzd2_1312 = BFALSE;
												{	/* Eval/library.scm 139 */
													obj_t BgL_modulezd2initzd2_1313;

													BgL_modulezd2initzd2_1313 = BFALSE;
													{	/* Eval/library.scm 148 */
														obj_t BgL_srfiz00_1314;

														BgL_srfiz00_1314 = BNIL;
														{	/* Eval/library.scm 141 */
															obj_t BgL_versionz00_1315;

															BgL_versionz00_1315 =
																BGl_bigloozd2configzd2zz__configurez00
																(BGl_symbol1931z00zz__libraryz00);
															{	/* Eval/library.scm 139 */

																{
																	long BgL_iz00_1316;

																	BgL_iz00_1316 = 1L;
																BgL_check1123z00_1317:
																	if ((BgL_iz00_1316 == BgL_l1121z00_1301))
																		{	/* Eval/library.scm 139 */
																			BNIL;
																		}
																	else
																		{	/* Eval/library.scm 139 */
																			bool_t BgL_test2113z00_2979;

																			{	/* Eval/library.scm 139 */
																				obj_t BgL_arg1263z00_1323;

																				BgL_arg1263z00_1323 =
																					VECTOR_REF(
																					((obj_t) BgL_opt1119z00_66),
																					BgL_iz00_1316);
																				BgL_test2113z00_2979 =
																					CBOOL
																					(BGl_memqz00zz__r4_pairs_and_lists_6_3z00
																					(BgL_arg1263z00_1323,
																						BGl_list1933z00zz__libraryz00));
																			}
																			if (BgL_test2113z00_2979)
																				{
																					long BgL_iz00_2984;

																					BgL_iz00_2984 = (BgL_iz00_1316 + 2L);
																					BgL_iz00_1316 = BgL_iz00_2984;
																					goto BgL_check1123z00_1317;
																				}
																			else
																				{	/* Eval/library.scm 139 */
																					obj_t BgL_arg1262z00_1322;

																					BgL_arg1262z00_1322 =
																						VECTOR_REF(
																						((obj_t) BgL_opt1119z00_66),
																						BgL_iz00_1316);
																					BGl_errorz00zz__errorz00
																						(BGl_symbol1954z00zz__libraryz00,
																						BGl_string1956z00zz__libraryz00,
																						BgL_arg1262z00_1322);
																				}
																		}
																}
																{	/* Eval/library.scm 139 */
																	obj_t BgL_index1125z00_1324;

																	{
																		long BgL_iz00_2085;

																		BgL_iz00_2085 = 1L;
																	BgL_search1122z00_2084:
																		if ((BgL_iz00_2085 == BgL_l1121z00_1301))
																			{	/* Eval/library.scm 139 */
																				BgL_index1125z00_1324 = BINT((-1L));
																			}
																		else
																			{	/* Eval/library.scm 139 */
																				if (
																					(BgL_iz00_2085 ==
																						(BgL_l1121z00_1301 - 1L)))
																					{	/* Eval/library.scm 139 */
																						BgL_index1125z00_1324 =
																							BGl_errorz00zz__errorz00
																							(BGl_symbol1954z00zz__libraryz00,
																							BGl_string1957z00zz__libraryz00,
																							BINT(VECTOR_LENGTH
																								(BgL_opt1119z00_66)));
																					}
																				else
																					{	/* Eval/library.scm 139 */
																						obj_t BgL_vz00_2095;

																						BgL_vz00_2095 =
																							VECTOR_REF(BgL_opt1119z00_66,
																							BgL_iz00_2085);
																						if ((BgL_vz00_2095 ==
																								BGl_keyword1934z00zz__libraryz00))
																							{	/* Eval/library.scm 139 */
																								BgL_index1125z00_1324 =
																									BINT((BgL_iz00_2085 + 1L));
																							}
																						else
																							{
																								long BgL_iz00_3003;

																								BgL_iz00_3003 =
																									(BgL_iz00_2085 + 2L);
																								BgL_iz00_2085 = BgL_iz00_3003;
																								goto BgL_search1122z00_2084;
																							}
																					}
																			}
																	}
																	{	/* Eval/library.scm 139 */
																		bool_t BgL_test2117z00_3005;

																		{	/* Eval/library.scm 139 */
																			long BgL_n1z00_2099;

																			{	/* Eval/library.scm 139 */
																				obj_t BgL_tmpz00_3006;

																				if (INTEGERP(BgL_index1125z00_1324))
																					{	/* Eval/library.scm 139 */
																						BgL_tmpz00_3006 =
																							BgL_index1125z00_1324;
																					}
																				else
																					{
																						obj_t BgL_auxz00_3009;

																						BgL_auxz00_3009 =
																							BGl_typezd2errorzd2zz__errorz00
																							(BGl_string1913z00zz__libraryz00,
																							BINT(5364L),
																							BGl_string1928z00zz__libraryz00,
																							BGl_string1958z00zz__libraryz00,
																							BgL_index1125z00_1324);
																						FAILURE(BgL_auxz00_3009, BFALSE,
																							BFALSE);
																					}
																				BgL_n1z00_2099 =
																					(long) CINT(BgL_tmpz00_3006);
																			}
																			BgL_test2117z00_3005 =
																				(BgL_n1z00_2099 >= 0L);
																		}
																		if (BgL_test2117z00_3005)
																			{
																				long BgL_auxz00_3022;
																				obj_t BgL_auxz00_3015;

																				{	/* Eval/library.scm 139 */
																					obj_t BgL_tmpz00_3023;

																					if (INTEGERP(BgL_index1125z00_1324))
																						{	/* Eval/library.scm 139 */
																							BgL_tmpz00_3023 =
																								BgL_index1125z00_1324;
																						}
																					else
																						{
																							obj_t BgL_auxz00_3026;

																							BgL_auxz00_3026 =
																								BGl_typezd2errorzd2zz__errorz00
																								(BGl_string1913z00zz__libraryz00,
																								BINT(5364L),
																								BGl_string1928z00zz__libraryz00,
																								BGl_string1958z00zz__libraryz00,
																								BgL_index1125z00_1324);
																							FAILURE(BgL_auxz00_3026, BFALSE,
																								BFALSE);
																						}
																					BgL_auxz00_3022 =
																						(long) CINT(BgL_tmpz00_3023);
																				}
																				if (VECTORP(BgL_opt1119z00_66))
																					{	/* Eval/library.scm 139 */
																						BgL_auxz00_3015 = BgL_opt1119z00_66;
																					}
																				else
																					{
																						obj_t BgL_auxz00_3018;

																						BgL_auxz00_3018 =
																							BGl_typezd2errorzd2zz__errorz00
																							(BGl_string1913z00zz__libraryz00,
																							BINT(5364L),
																							BGl_string1928z00zz__libraryz00,
																							BGl_string1929z00zz__libraryz00,
																							BgL_opt1119z00_66);
																						FAILURE(BgL_auxz00_3018, BFALSE,
																							BFALSE);
																					}
																				BgL_basenamez00_1306 =
																					VECTOR_REF(BgL_auxz00_3015,
																					BgL_auxz00_3022);
																			}
																		else
																			{	/* Eval/library.scm 139 */
																				BFALSE;
																			}
																	}
																}
																{	/* Eval/library.scm 139 */
																	obj_t BgL_index1126z00_1326;

																	{
																		long BgL_iz00_2101;

																		BgL_iz00_2101 = 1L;
																	BgL_search1122z00_2100:
																		if ((BgL_iz00_2101 == BgL_l1121z00_1301))
																			{	/* Eval/library.scm 139 */
																				BgL_index1126z00_1326 = BINT((-1L));
																			}
																		else
																			{	/* Eval/library.scm 139 */
																				if (
																					(BgL_iz00_2101 ==
																						(BgL_l1121z00_1301 - 1L)))
																					{	/* Eval/library.scm 139 */
																						BgL_index1126z00_1326 =
																							BGl_errorz00zz__errorz00
																							(BGl_symbol1954z00zz__libraryz00,
																							BGl_string1957z00zz__libraryz00,
																							BINT(VECTOR_LENGTH
																								(BgL_opt1119z00_66)));
																					}
																				else
																					{	/* Eval/library.scm 139 */
																						obj_t BgL_vz00_2111;

																						BgL_vz00_2111 =
																							VECTOR_REF(BgL_opt1119z00_66,
																							BgL_iz00_2101);
																						if ((BgL_vz00_2111 ==
																								BGl_keyword1936z00zz__libraryz00))
																							{	/* Eval/library.scm 139 */
																								BgL_index1126z00_1326 =
																									BINT((BgL_iz00_2101 + 1L));
																							}
																						else
																							{
																								long BgL_iz00_3046;

																								BgL_iz00_3046 =
																									(BgL_iz00_2101 + 2L);
																								BgL_iz00_2101 = BgL_iz00_3046;
																								goto BgL_search1122z00_2100;
																							}
																					}
																			}
																	}
																	{	/* Eval/library.scm 139 */
																		bool_t BgL_test2124z00_3048;

																		{	/* Eval/library.scm 139 */
																			long BgL_n1z00_2115;

																			{	/* Eval/library.scm 139 */
																				obj_t BgL_tmpz00_3049;

																				if (INTEGERP(BgL_index1126z00_1326))
																					{	/* Eval/library.scm 139 */
																						BgL_tmpz00_3049 =
																							BgL_index1126z00_1326;
																					}
																				else
																					{
																						obj_t BgL_auxz00_3052;

																						BgL_auxz00_3052 =
																							BGl_typezd2errorzd2zz__errorz00
																							(BGl_string1913z00zz__libraryz00,
																							BINT(5364L),
																							BGl_string1928z00zz__libraryz00,
																							BGl_string1958z00zz__libraryz00,
																							BgL_index1126z00_1326);
																						FAILURE(BgL_auxz00_3052, BFALSE,
																							BFALSE);
																					}
																				BgL_n1z00_2115 =
																					(long) CINT(BgL_tmpz00_3049);
																			}
																			BgL_test2124z00_3048 =
																				(BgL_n1z00_2115 >= 0L);
																		}
																		if (BgL_test2124z00_3048)
																			{
																				long BgL_auxz00_3065;
																				obj_t BgL_auxz00_3058;

																				{	/* Eval/library.scm 139 */
																					obj_t BgL_tmpz00_3066;

																					if (INTEGERP(BgL_index1126z00_1326))
																						{	/* Eval/library.scm 139 */
																							BgL_tmpz00_3066 =
																								BgL_index1126z00_1326;
																						}
																					else
																						{
																							obj_t BgL_auxz00_3069;

																							BgL_auxz00_3069 =
																								BGl_typezd2errorzd2zz__errorz00
																								(BGl_string1913z00zz__libraryz00,
																								BINT(5364L),
																								BGl_string1928z00zz__libraryz00,
																								BGl_string1958z00zz__libraryz00,
																								BgL_index1126z00_1326);
																							FAILURE(BgL_auxz00_3069, BFALSE,
																								BFALSE);
																						}
																					BgL_auxz00_3065 =
																						(long) CINT(BgL_tmpz00_3066);
																				}
																				if (VECTORP(BgL_opt1119z00_66))
																					{	/* Eval/library.scm 139 */
																						BgL_auxz00_3058 = BgL_opt1119z00_66;
																					}
																				else
																					{
																						obj_t BgL_auxz00_3061;

																						BgL_auxz00_3061 =
																							BGl_typezd2errorzd2zz__errorz00
																							(BGl_string1913z00zz__libraryz00,
																							BINT(5364L),
																							BGl_string1928z00zz__libraryz00,
																							BGl_string1929z00zz__libraryz00,
																							BgL_opt1119z00_66);
																						FAILURE(BgL_auxz00_3061, BFALSE,
																							BFALSE);
																					}
																				BgL_classzd2evalzd2_1307 =
																					VECTOR_REF(BgL_auxz00_3058,
																					BgL_auxz00_3065);
																			}
																		else
																			{	/* Eval/library.scm 139 */
																				BFALSE;
																			}
																	}
																}
																{	/* Eval/library.scm 139 */
																	obj_t BgL_index1127z00_1328;

																	{
																		long BgL_iz00_2117;

																		BgL_iz00_2117 = 1L;
																	BgL_search1122z00_2116:
																		if ((BgL_iz00_2117 == BgL_l1121z00_1301))
																			{	/* Eval/library.scm 139 */
																				BgL_index1127z00_1328 = BINT((-1L));
																			}
																		else
																			{	/* Eval/library.scm 139 */
																				if (
																					(BgL_iz00_2117 ==
																						(BgL_l1121z00_1301 - 1L)))
																					{	/* Eval/library.scm 139 */
																						BgL_index1127z00_1328 =
																							BGl_errorz00zz__errorz00
																							(BGl_symbol1954z00zz__libraryz00,
																							BGl_string1957z00zz__libraryz00,
																							BINT(VECTOR_LENGTH
																								(BgL_opt1119z00_66)));
																					}
																				else
																					{	/* Eval/library.scm 139 */
																						obj_t BgL_vz00_2127;

																						BgL_vz00_2127 =
																							VECTOR_REF(BgL_opt1119z00_66,
																							BgL_iz00_2117);
																						if ((BgL_vz00_2127 ==
																								BGl_keyword1938z00zz__libraryz00))
																							{	/* Eval/library.scm 139 */
																								BgL_index1127z00_1328 =
																									BINT((BgL_iz00_2117 + 1L));
																							}
																						else
																							{
																								long BgL_iz00_3089;

																								BgL_iz00_3089 =
																									(BgL_iz00_2117 + 2L);
																								BgL_iz00_2117 = BgL_iz00_3089;
																								goto BgL_search1122z00_2116;
																							}
																					}
																			}
																	}
																	{	/* Eval/library.scm 139 */
																		bool_t BgL_test2131z00_3091;

																		{	/* Eval/library.scm 139 */
																			long BgL_n1z00_2131;

																			{	/* Eval/library.scm 139 */
																				obj_t BgL_tmpz00_3092;

																				if (INTEGERP(BgL_index1127z00_1328))
																					{	/* Eval/library.scm 139 */
																						BgL_tmpz00_3092 =
																							BgL_index1127z00_1328;
																					}
																				else
																					{
																						obj_t BgL_auxz00_3095;

																						BgL_auxz00_3095 =
																							BGl_typezd2errorzd2zz__errorz00
																							(BGl_string1913z00zz__libraryz00,
																							BINT(5364L),
																							BGl_string1928z00zz__libraryz00,
																							BGl_string1958z00zz__libraryz00,
																							BgL_index1127z00_1328);
																						FAILURE(BgL_auxz00_3095, BFALSE,
																							BFALSE);
																					}
																				BgL_n1z00_2131 =
																					(long) CINT(BgL_tmpz00_3092);
																			}
																			BgL_test2131z00_3091 =
																				(BgL_n1z00_2131 >= 0L);
																		}
																		if (BgL_test2131z00_3091)
																			{
																				long BgL_auxz00_3108;
																				obj_t BgL_auxz00_3101;

																				{	/* Eval/library.scm 139 */
																					obj_t BgL_tmpz00_3109;

																					if (INTEGERP(BgL_index1127z00_1328))
																						{	/* Eval/library.scm 139 */
																							BgL_tmpz00_3109 =
																								BgL_index1127z00_1328;
																						}
																					else
																						{
																							obj_t BgL_auxz00_3112;

																							BgL_auxz00_3112 =
																								BGl_typezd2errorzd2zz__errorz00
																								(BGl_string1913z00zz__libraryz00,
																								BINT(5364L),
																								BGl_string1928z00zz__libraryz00,
																								BGl_string1958z00zz__libraryz00,
																								BgL_index1127z00_1328);
																							FAILURE(BgL_auxz00_3112, BFALSE,
																								BFALSE);
																						}
																					BgL_auxz00_3108 =
																						(long) CINT(BgL_tmpz00_3109);
																				}
																				if (VECTORP(BgL_opt1119z00_66))
																					{	/* Eval/library.scm 139 */
																						BgL_auxz00_3101 = BgL_opt1119z00_66;
																					}
																				else
																					{
																						obj_t BgL_auxz00_3104;

																						BgL_auxz00_3104 =
																							BGl_typezd2errorzd2zz__errorz00
																							(BGl_string1913z00zz__libraryz00,
																							BINT(5364L),
																							BGl_string1928z00zz__libraryz00,
																							BGl_string1929z00zz__libraryz00,
																							BgL_opt1119z00_66);
																						FAILURE(BgL_auxz00_3104, BFALSE,
																							BFALSE);
																					}
																				BgL_classzd2initzd2_1308 =
																					VECTOR_REF(BgL_auxz00_3101,
																					BgL_auxz00_3108);
																			}
																		else
																			{	/* Eval/library.scm 139 */
																				BFALSE;
																			}
																	}
																}
																{	/* Eval/library.scm 139 */
																	obj_t BgL_index1128z00_1330;

																	{
																		long BgL_iz00_2133;

																		BgL_iz00_2133 = 1L;
																	BgL_search1122z00_2132:
																		if ((BgL_iz00_2133 == BgL_l1121z00_1301))
																			{	/* Eval/library.scm 139 */
																				BgL_index1128z00_1330 = BINT((-1L));
																			}
																		else
																			{	/* Eval/library.scm 139 */
																				if (
																					(BgL_iz00_2133 ==
																						(BgL_l1121z00_1301 - 1L)))
																					{	/* Eval/library.scm 139 */
																						BgL_index1128z00_1330 =
																							BGl_errorz00zz__errorz00
																							(BGl_symbol1954z00zz__libraryz00,
																							BGl_string1957z00zz__libraryz00,
																							BINT(VECTOR_LENGTH
																								(BgL_opt1119z00_66)));
																					}
																				else
																					{	/* Eval/library.scm 139 */
																						obj_t BgL_vz00_2143;

																						BgL_vz00_2143 =
																							VECTOR_REF(BgL_opt1119z00_66,
																							BgL_iz00_2133);
																						if ((BgL_vz00_2143 ==
																								BGl_keyword1940z00zz__libraryz00))
																							{	/* Eval/library.scm 139 */
																								BgL_index1128z00_1330 =
																									BINT((BgL_iz00_2133 + 1L));
																							}
																						else
																							{
																								long BgL_iz00_3132;

																								BgL_iz00_3132 =
																									(BgL_iz00_2133 + 2L);
																								BgL_iz00_2133 = BgL_iz00_3132;
																								goto BgL_search1122z00_2132;
																							}
																					}
																			}
																	}
																	{	/* Eval/library.scm 139 */
																		bool_t BgL_test2138z00_3134;

																		{	/* Eval/library.scm 139 */
																			long BgL_n1z00_2147;

																			{	/* Eval/library.scm 139 */
																				obj_t BgL_tmpz00_3135;

																				if (INTEGERP(BgL_index1128z00_1330))
																					{	/* Eval/library.scm 139 */
																						BgL_tmpz00_3135 =
																							BgL_index1128z00_1330;
																					}
																				else
																					{
																						obj_t BgL_auxz00_3138;

																						BgL_auxz00_3138 =
																							BGl_typezd2errorzd2zz__errorz00
																							(BGl_string1913z00zz__libraryz00,
																							BINT(5364L),
																							BGl_string1928z00zz__libraryz00,
																							BGl_string1958z00zz__libraryz00,
																							BgL_index1128z00_1330);
																						FAILURE(BgL_auxz00_3138, BFALSE,
																							BFALSE);
																					}
																				BgL_n1z00_2147 =
																					(long) CINT(BgL_tmpz00_3135);
																			}
																			BgL_test2138z00_3134 =
																				(BgL_n1z00_2147 >= 0L);
																		}
																		if (BgL_test2138z00_3134)
																			{
																				long BgL_auxz00_3151;
																				obj_t BgL_auxz00_3144;

																				{	/* Eval/library.scm 139 */
																					obj_t BgL_tmpz00_3152;

																					if (INTEGERP(BgL_index1128z00_1330))
																						{	/* Eval/library.scm 139 */
																							BgL_tmpz00_3152 =
																								BgL_index1128z00_1330;
																						}
																					else
																						{
																							obj_t BgL_auxz00_3155;

																							BgL_auxz00_3155 =
																								BGl_typezd2errorzd2zz__errorz00
																								(BGl_string1913z00zz__libraryz00,
																								BINT(5364L),
																								BGl_string1928z00zz__libraryz00,
																								BGl_string1958z00zz__libraryz00,
																								BgL_index1128z00_1330);
																							FAILURE(BgL_auxz00_3155, BFALSE,
																								BFALSE);
																						}
																					BgL_auxz00_3151 =
																						(long) CINT(BgL_tmpz00_3152);
																				}
																				if (VECTORP(BgL_opt1119z00_66))
																					{	/* Eval/library.scm 139 */
																						BgL_auxz00_3144 = BgL_opt1119z00_66;
																					}
																				else
																					{
																						obj_t BgL_auxz00_3147;

																						BgL_auxz00_3147 =
																							BGl_typezd2errorzd2zz__errorz00
																							(BGl_string1913z00zz__libraryz00,
																							BINT(5364L),
																							BGl_string1928z00zz__libraryz00,
																							BGl_string1929z00zz__libraryz00,
																							BgL_opt1119z00_66);
																						FAILURE(BgL_auxz00_3147, BFALSE,
																							BFALSE);
																					}
																				BgL_dlopenzd2initzd2_1309 =
																					VECTOR_REF(BgL_auxz00_3144,
																					BgL_auxz00_3151);
																			}
																		else
																			{	/* Eval/library.scm 139 */
																				BFALSE;
																			}
																	}
																}
																{	/* Eval/library.scm 139 */
																	obj_t BgL_index1129z00_1332;

																	{
																		long BgL_iz00_2149;

																		BgL_iz00_2149 = 1L;
																	BgL_search1122z00_2148:
																		if ((BgL_iz00_2149 == BgL_l1121z00_1301))
																			{	/* Eval/library.scm 139 */
																				BgL_index1129z00_1332 = BINT((-1L));
																			}
																		else
																			{	/* Eval/library.scm 139 */
																				if (
																					(BgL_iz00_2149 ==
																						(BgL_l1121z00_1301 - 1L)))
																					{	/* Eval/library.scm 139 */
																						BgL_index1129z00_1332 =
																							BGl_errorz00zz__errorz00
																							(BGl_symbol1954z00zz__libraryz00,
																							BGl_string1957z00zz__libraryz00,
																							BINT(VECTOR_LENGTH
																								(BgL_opt1119z00_66)));
																					}
																				else
																					{	/* Eval/library.scm 139 */
																						obj_t BgL_vz00_2159;

																						BgL_vz00_2159 =
																							VECTOR_REF(BgL_opt1119z00_66,
																							BgL_iz00_2149);
																						if ((BgL_vz00_2159 ==
																								BGl_keyword1942z00zz__libraryz00))
																							{	/* Eval/library.scm 139 */
																								BgL_index1129z00_1332 =
																									BINT((BgL_iz00_2149 + 1L));
																							}
																						else
																							{
																								long BgL_iz00_3175;

																								BgL_iz00_3175 =
																									(BgL_iz00_2149 + 2L);
																								BgL_iz00_2149 = BgL_iz00_3175;
																								goto BgL_search1122z00_2148;
																							}
																					}
																			}
																	}
																	{	/* Eval/library.scm 139 */
																		bool_t BgL_test2145z00_3177;

																		{	/* Eval/library.scm 139 */
																			long BgL_n1z00_2163;

																			{	/* Eval/library.scm 139 */
																				obj_t BgL_tmpz00_3178;

																				if (INTEGERP(BgL_index1129z00_1332))
																					{	/* Eval/library.scm 139 */
																						BgL_tmpz00_3178 =
																							BgL_index1129z00_1332;
																					}
																				else
																					{
																						obj_t BgL_auxz00_3181;

																						BgL_auxz00_3181 =
																							BGl_typezd2errorzd2zz__errorz00
																							(BGl_string1913z00zz__libraryz00,
																							BINT(5364L),
																							BGl_string1928z00zz__libraryz00,
																							BGl_string1958z00zz__libraryz00,
																							BgL_index1129z00_1332);
																						FAILURE(BgL_auxz00_3181, BFALSE,
																							BFALSE);
																					}
																				BgL_n1z00_2163 =
																					(long) CINT(BgL_tmpz00_3178);
																			}
																			BgL_test2145z00_3177 =
																				(BgL_n1z00_2163 >= 0L);
																		}
																		if (BgL_test2145z00_3177)
																			{
																				long BgL_auxz00_3194;
																				obj_t BgL_auxz00_3187;

																				{	/* Eval/library.scm 139 */
																					obj_t BgL_tmpz00_3195;

																					if (INTEGERP(BgL_index1129z00_1332))
																						{	/* Eval/library.scm 139 */
																							BgL_tmpz00_3195 =
																								BgL_index1129z00_1332;
																						}
																					else
																						{
																							obj_t BgL_auxz00_3198;

																							BgL_auxz00_3198 =
																								BGl_typezd2errorzd2zz__errorz00
																								(BGl_string1913z00zz__libraryz00,
																								BINT(5364L),
																								BGl_string1928z00zz__libraryz00,
																								BGl_string1958z00zz__libraryz00,
																								BgL_index1129z00_1332);
																							FAILURE(BgL_auxz00_3198, BFALSE,
																								BFALSE);
																						}
																					BgL_auxz00_3194 =
																						(long) CINT(BgL_tmpz00_3195);
																				}
																				if (VECTORP(BgL_opt1119z00_66))
																					{	/* Eval/library.scm 139 */
																						BgL_auxz00_3187 = BgL_opt1119z00_66;
																					}
																				else
																					{
																						obj_t BgL_auxz00_3190;

																						BgL_auxz00_3190 =
																							BGl_typezd2errorzd2zz__errorz00
																							(BGl_string1913z00zz__libraryz00,
																							BINT(5364L),
																							BGl_string1928z00zz__libraryz00,
																							BGl_string1929z00zz__libraryz00,
																							BgL_opt1119z00_66);
																						FAILURE(BgL_auxz00_3190, BFALSE,
																							BFALSE);
																					}
																				BgL_evalz00_1310 =
																					VECTOR_REF(BgL_auxz00_3187,
																					BgL_auxz00_3194);
																			}
																		else
																			{	/* Eval/library.scm 139 */
																				BFALSE;
																			}
																	}
																}
																{	/* Eval/library.scm 139 */
																	obj_t BgL_index1130z00_1334;

																	{
																		long BgL_iz00_2165;

																		BgL_iz00_2165 = 1L;
																	BgL_search1122z00_2164:
																		if ((BgL_iz00_2165 == BgL_l1121z00_1301))
																			{	/* Eval/library.scm 139 */
																				BgL_index1130z00_1334 = BINT((-1L));
																			}
																		else
																			{	/* Eval/library.scm 139 */
																				if (
																					(BgL_iz00_2165 ==
																						(BgL_l1121z00_1301 - 1L)))
																					{	/* Eval/library.scm 139 */
																						BgL_index1130z00_1334 =
																							BGl_errorz00zz__errorz00
																							(BGl_symbol1954z00zz__libraryz00,
																							BGl_string1957z00zz__libraryz00,
																							BINT(VECTOR_LENGTH
																								(BgL_opt1119z00_66)));
																					}
																				else
																					{	/* Eval/library.scm 139 */
																						obj_t BgL_vz00_2175;

																						BgL_vz00_2175 =
																							VECTOR_REF(BgL_opt1119z00_66,
																							BgL_iz00_2165);
																						if ((BgL_vz00_2175 ==
																								BGl_keyword1944z00zz__libraryz00))
																							{	/* Eval/library.scm 139 */
																								BgL_index1130z00_1334 =
																									BINT((BgL_iz00_2165 + 1L));
																							}
																						else
																							{
																								long BgL_iz00_3218;

																								BgL_iz00_3218 =
																									(BgL_iz00_2165 + 2L);
																								BgL_iz00_2165 = BgL_iz00_3218;
																								goto BgL_search1122z00_2164;
																							}
																					}
																			}
																	}
																	{	/* Eval/library.scm 139 */
																		bool_t BgL_test2152z00_3220;

																		{	/* Eval/library.scm 139 */
																			long BgL_n1z00_2179;

																			{	/* Eval/library.scm 139 */
																				obj_t BgL_tmpz00_3221;

																				if (INTEGERP(BgL_index1130z00_1334))
																					{	/* Eval/library.scm 139 */
																						BgL_tmpz00_3221 =
																							BgL_index1130z00_1334;
																					}
																				else
																					{
																						obj_t BgL_auxz00_3224;

																						BgL_auxz00_3224 =
																							BGl_typezd2errorzd2zz__errorz00
																							(BGl_string1913z00zz__libraryz00,
																							BINT(5364L),
																							BGl_string1928z00zz__libraryz00,
																							BGl_string1958z00zz__libraryz00,
																							BgL_index1130z00_1334);
																						FAILURE(BgL_auxz00_3224, BFALSE,
																							BFALSE);
																					}
																				BgL_n1z00_2179 =
																					(long) CINT(BgL_tmpz00_3221);
																			}
																			BgL_test2152z00_3220 =
																				(BgL_n1z00_2179 >= 0L);
																		}
																		if (BgL_test2152z00_3220)
																			{
																				long BgL_auxz00_3237;
																				obj_t BgL_auxz00_3230;

																				{	/* Eval/library.scm 139 */
																					obj_t BgL_tmpz00_3238;

																					if (INTEGERP(BgL_index1130z00_1334))
																						{	/* Eval/library.scm 139 */
																							BgL_tmpz00_3238 =
																								BgL_index1130z00_1334;
																						}
																					else
																						{
																							obj_t BgL_auxz00_3241;

																							BgL_auxz00_3241 =
																								BGl_typezd2errorzd2zz__errorz00
																								(BGl_string1913z00zz__libraryz00,
																								BINT(5364L),
																								BGl_string1928z00zz__libraryz00,
																								BGl_string1958z00zz__libraryz00,
																								BgL_index1130z00_1334);
																							FAILURE(BgL_auxz00_3241, BFALSE,
																								BFALSE);
																						}
																					BgL_auxz00_3237 =
																						(long) CINT(BgL_tmpz00_3238);
																				}
																				if (VECTORP(BgL_opt1119z00_66))
																					{	/* Eval/library.scm 139 */
																						BgL_auxz00_3230 = BgL_opt1119z00_66;
																					}
																				else
																					{
																						obj_t BgL_auxz00_3233;

																						BgL_auxz00_3233 =
																							BGl_typezd2errorzd2zz__errorz00
																							(BGl_string1913z00zz__libraryz00,
																							BINT(5364L),
																							BGl_string1928z00zz__libraryz00,
																							BGl_string1929z00zz__libraryz00,
																							BgL_opt1119z00_66);
																						FAILURE(BgL_auxz00_3233, BFALSE,
																							BFALSE);
																					}
																				BgL_initz00_1311 =
																					VECTOR_REF(BgL_auxz00_3230,
																					BgL_auxz00_3237);
																			}
																		else
																			{	/* Eval/library.scm 139 */
																				BFALSE;
																			}
																	}
																}
																{	/* Eval/library.scm 139 */
																	obj_t BgL_index1131z00_1336;

																	{
																		long BgL_iz00_2181;

																		BgL_iz00_2181 = 1L;
																	BgL_search1122z00_2180:
																		if ((BgL_iz00_2181 == BgL_l1121z00_1301))
																			{	/* Eval/library.scm 139 */
																				BgL_index1131z00_1336 = BINT((-1L));
																			}
																		else
																			{	/* Eval/library.scm 139 */
																				if (
																					(BgL_iz00_2181 ==
																						(BgL_l1121z00_1301 - 1L)))
																					{	/* Eval/library.scm 139 */
																						BgL_index1131z00_1336 =
																							BGl_errorz00zz__errorz00
																							(BGl_symbol1954z00zz__libraryz00,
																							BGl_string1957z00zz__libraryz00,
																							BINT(VECTOR_LENGTH
																								(BgL_opt1119z00_66)));
																					}
																				else
																					{	/* Eval/library.scm 139 */
																						obj_t BgL_vz00_2191;

																						BgL_vz00_2191 =
																							VECTOR_REF(BgL_opt1119z00_66,
																							BgL_iz00_2181);
																						if ((BgL_vz00_2191 ==
																								BGl_keyword1946z00zz__libraryz00))
																							{	/* Eval/library.scm 139 */
																								BgL_index1131z00_1336 =
																									BINT((BgL_iz00_2181 + 1L));
																							}
																						else
																							{
																								long BgL_iz00_3261;

																								BgL_iz00_3261 =
																									(BgL_iz00_2181 + 2L);
																								BgL_iz00_2181 = BgL_iz00_3261;
																								goto BgL_search1122z00_2180;
																							}
																					}
																			}
																	}
																	{	/* Eval/library.scm 139 */
																		bool_t BgL_test2159z00_3263;

																		{	/* Eval/library.scm 139 */
																			long BgL_n1z00_2195;

																			{	/* Eval/library.scm 139 */
																				obj_t BgL_tmpz00_3264;

																				if (INTEGERP(BgL_index1131z00_1336))
																					{	/* Eval/library.scm 139 */
																						BgL_tmpz00_3264 =
																							BgL_index1131z00_1336;
																					}
																				else
																					{
																						obj_t BgL_auxz00_3267;

																						BgL_auxz00_3267 =
																							BGl_typezd2errorzd2zz__errorz00
																							(BGl_string1913z00zz__libraryz00,
																							BINT(5364L),
																							BGl_string1928z00zz__libraryz00,
																							BGl_string1958z00zz__libraryz00,
																							BgL_index1131z00_1336);
																						FAILURE(BgL_auxz00_3267, BFALSE,
																							BFALSE);
																					}
																				BgL_n1z00_2195 =
																					(long) CINT(BgL_tmpz00_3264);
																			}
																			BgL_test2159z00_3263 =
																				(BgL_n1z00_2195 >= 0L);
																		}
																		if (BgL_test2159z00_3263)
																			{
																				long BgL_auxz00_3280;
																				obj_t BgL_auxz00_3273;

																				{	/* Eval/library.scm 139 */
																					obj_t BgL_tmpz00_3281;

																					if (INTEGERP(BgL_index1131z00_1336))
																						{	/* Eval/library.scm 139 */
																							BgL_tmpz00_3281 =
																								BgL_index1131z00_1336;
																						}
																					else
																						{
																							obj_t BgL_auxz00_3284;

																							BgL_auxz00_3284 =
																								BGl_typezd2errorzd2zz__errorz00
																								(BGl_string1913z00zz__libraryz00,
																								BINT(5364L),
																								BGl_string1928z00zz__libraryz00,
																								BGl_string1958z00zz__libraryz00,
																								BgL_index1131z00_1336);
																							FAILURE(BgL_auxz00_3284, BFALSE,
																								BFALSE);
																						}
																					BgL_auxz00_3280 =
																						(long) CINT(BgL_tmpz00_3281);
																				}
																				if (VECTORP(BgL_opt1119z00_66))
																					{	/* Eval/library.scm 139 */
																						BgL_auxz00_3273 = BgL_opt1119z00_66;
																					}
																				else
																					{
																						obj_t BgL_auxz00_3276;

																						BgL_auxz00_3276 =
																							BGl_typezd2errorzd2zz__errorz00
																							(BGl_string1913z00zz__libraryz00,
																							BINT(5364L),
																							BGl_string1928z00zz__libraryz00,
																							BGl_string1929z00zz__libraryz00,
																							BgL_opt1119z00_66);
																						FAILURE(BgL_auxz00_3276, BFALSE,
																							BFALSE);
																					}
																				BgL_modulezd2evalzd2_1312 =
																					VECTOR_REF(BgL_auxz00_3273,
																					BgL_auxz00_3280);
																			}
																		else
																			{	/* Eval/library.scm 139 */
																				BFALSE;
																			}
																	}
																}
																{	/* Eval/library.scm 139 */
																	obj_t BgL_index1132z00_1338;

																	{
																		long BgL_iz00_2197;

																		BgL_iz00_2197 = 1L;
																	BgL_search1122z00_2196:
																		if ((BgL_iz00_2197 == BgL_l1121z00_1301))
																			{	/* Eval/library.scm 139 */
																				BgL_index1132z00_1338 = BINT((-1L));
																			}
																		else
																			{	/* Eval/library.scm 139 */
																				if (
																					(BgL_iz00_2197 ==
																						(BgL_l1121z00_1301 - 1L)))
																					{	/* Eval/library.scm 139 */
																						BgL_index1132z00_1338 =
																							BGl_errorz00zz__errorz00
																							(BGl_symbol1954z00zz__libraryz00,
																							BGl_string1957z00zz__libraryz00,
																							BINT(VECTOR_LENGTH
																								(BgL_opt1119z00_66)));
																					}
																				else
																					{	/* Eval/library.scm 139 */
																						obj_t BgL_vz00_2207;

																						BgL_vz00_2207 =
																							VECTOR_REF(BgL_opt1119z00_66,
																							BgL_iz00_2197);
																						if ((BgL_vz00_2207 ==
																								BGl_keyword1948z00zz__libraryz00))
																							{	/* Eval/library.scm 139 */
																								BgL_index1132z00_1338 =
																									BINT((BgL_iz00_2197 + 1L));
																							}
																						else
																							{
																								long BgL_iz00_3304;

																								BgL_iz00_3304 =
																									(BgL_iz00_2197 + 2L);
																								BgL_iz00_2197 = BgL_iz00_3304;
																								goto BgL_search1122z00_2196;
																							}
																					}
																			}
																	}
																	{	/* Eval/library.scm 139 */
																		bool_t BgL_test2166z00_3306;

																		{	/* Eval/library.scm 139 */
																			long BgL_n1z00_2211;

																			{	/* Eval/library.scm 139 */
																				obj_t BgL_tmpz00_3307;

																				if (INTEGERP(BgL_index1132z00_1338))
																					{	/* Eval/library.scm 139 */
																						BgL_tmpz00_3307 =
																							BgL_index1132z00_1338;
																					}
																				else
																					{
																						obj_t BgL_auxz00_3310;

																						BgL_auxz00_3310 =
																							BGl_typezd2errorzd2zz__errorz00
																							(BGl_string1913z00zz__libraryz00,
																							BINT(5364L),
																							BGl_string1928z00zz__libraryz00,
																							BGl_string1958z00zz__libraryz00,
																							BgL_index1132z00_1338);
																						FAILURE(BgL_auxz00_3310, BFALSE,
																							BFALSE);
																					}
																				BgL_n1z00_2211 =
																					(long) CINT(BgL_tmpz00_3307);
																			}
																			BgL_test2166z00_3306 =
																				(BgL_n1z00_2211 >= 0L);
																		}
																		if (BgL_test2166z00_3306)
																			{
																				long BgL_auxz00_3323;
																				obj_t BgL_auxz00_3316;

																				{	/* Eval/library.scm 139 */
																					obj_t BgL_tmpz00_3324;

																					if (INTEGERP(BgL_index1132z00_1338))
																						{	/* Eval/library.scm 139 */
																							BgL_tmpz00_3324 =
																								BgL_index1132z00_1338;
																						}
																					else
																						{
																							obj_t BgL_auxz00_3327;

																							BgL_auxz00_3327 =
																								BGl_typezd2errorzd2zz__errorz00
																								(BGl_string1913z00zz__libraryz00,
																								BINT(5364L),
																								BGl_string1928z00zz__libraryz00,
																								BGl_string1958z00zz__libraryz00,
																								BgL_index1132z00_1338);
																							FAILURE(BgL_auxz00_3327, BFALSE,
																								BFALSE);
																						}
																					BgL_auxz00_3323 =
																						(long) CINT(BgL_tmpz00_3324);
																				}
																				if (VECTORP(BgL_opt1119z00_66))
																					{	/* Eval/library.scm 139 */
																						BgL_auxz00_3316 = BgL_opt1119z00_66;
																					}
																				else
																					{
																						obj_t BgL_auxz00_3319;

																						BgL_auxz00_3319 =
																							BGl_typezd2errorzd2zz__errorz00
																							(BGl_string1913z00zz__libraryz00,
																							BINT(5364L),
																							BGl_string1928z00zz__libraryz00,
																							BGl_string1929z00zz__libraryz00,
																							BgL_opt1119z00_66);
																						FAILURE(BgL_auxz00_3319, BFALSE,
																							BFALSE);
																					}
																				BgL_modulezd2initzd2_1313 =
																					VECTOR_REF(BgL_auxz00_3316,
																					BgL_auxz00_3323);
																			}
																		else
																			{	/* Eval/library.scm 139 */
																				BFALSE;
																			}
																	}
																}
																{	/* Eval/library.scm 139 */
																	obj_t BgL_index1133z00_1340;

																	{
																		long BgL_iz00_2213;

																		BgL_iz00_2213 = 1L;
																	BgL_search1122z00_2212:
																		if ((BgL_iz00_2213 == BgL_l1121z00_1301))
																			{	/* Eval/library.scm 139 */
																				BgL_index1133z00_1340 = BINT((-1L));
																			}
																		else
																			{	/* Eval/library.scm 139 */
																				if (
																					(BgL_iz00_2213 ==
																						(BgL_l1121z00_1301 - 1L)))
																					{	/* Eval/library.scm 139 */
																						BgL_index1133z00_1340 =
																							BGl_errorz00zz__errorz00
																							(BGl_symbol1954z00zz__libraryz00,
																							BGl_string1957z00zz__libraryz00,
																							BINT(VECTOR_LENGTH
																								(BgL_opt1119z00_66)));
																					}
																				else
																					{	/* Eval/library.scm 139 */
																						obj_t BgL_vz00_2223;

																						BgL_vz00_2223 =
																							VECTOR_REF(BgL_opt1119z00_66,
																							BgL_iz00_2213);
																						if ((BgL_vz00_2223 ==
																								BGl_keyword1950z00zz__libraryz00))
																							{	/* Eval/library.scm 139 */
																								BgL_index1133z00_1340 =
																									BINT((BgL_iz00_2213 + 1L));
																							}
																						else
																							{
																								long BgL_iz00_3347;

																								BgL_iz00_3347 =
																									(BgL_iz00_2213 + 2L);
																								BgL_iz00_2213 = BgL_iz00_3347;
																								goto BgL_search1122z00_2212;
																							}
																					}
																			}
																	}
																	{	/* Eval/library.scm 139 */
																		bool_t BgL_test2173z00_3349;

																		{	/* Eval/library.scm 139 */
																			long BgL_n1z00_2227;

																			{	/* Eval/library.scm 139 */
																				obj_t BgL_tmpz00_3350;

																				if (INTEGERP(BgL_index1133z00_1340))
																					{	/* Eval/library.scm 139 */
																						BgL_tmpz00_3350 =
																							BgL_index1133z00_1340;
																					}
																				else
																					{
																						obj_t BgL_auxz00_3353;

																						BgL_auxz00_3353 =
																							BGl_typezd2errorzd2zz__errorz00
																							(BGl_string1913z00zz__libraryz00,
																							BINT(5364L),
																							BGl_string1928z00zz__libraryz00,
																							BGl_string1958z00zz__libraryz00,
																							BgL_index1133z00_1340);
																						FAILURE(BgL_auxz00_3353, BFALSE,
																							BFALSE);
																					}
																				BgL_n1z00_2227 =
																					(long) CINT(BgL_tmpz00_3350);
																			}
																			BgL_test2173z00_3349 =
																				(BgL_n1z00_2227 >= 0L);
																		}
																		if (BgL_test2173z00_3349)
																			{
																				long BgL_auxz00_3366;
																				obj_t BgL_auxz00_3359;

																				{	/* Eval/library.scm 139 */
																					obj_t BgL_tmpz00_3367;

																					if (INTEGERP(BgL_index1133z00_1340))
																						{	/* Eval/library.scm 139 */
																							BgL_tmpz00_3367 =
																								BgL_index1133z00_1340;
																						}
																					else
																						{
																							obj_t BgL_auxz00_3370;

																							BgL_auxz00_3370 =
																								BGl_typezd2errorzd2zz__errorz00
																								(BGl_string1913z00zz__libraryz00,
																								BINT(5364L),
																								BGl_string1928z00zz__libraryz00,
																								BGl_string1958z00zz__libraryz00,
																								BgL_index1133z00_1340);
																							FAILURE(BgL_auxz00_3370, BFALSE,
																								BFALSE);
																						}
																					BgL_auxz00_3366 =
																						(long) CINT(BgL_tmpz00_3367);
																				}
																				if (VECTORP(BgL_opt1119z00_66))
																					{	/* Eval/library.scm 139 */
																						BgL_auxz00_3359 = BgL_opt1119z00_66;
																					}
																				else
																					{
																						obj_t BgL_auxz00_3362;

																						BgL_auxz00_3362 =
																							BGl_typezd2errorzd2zz__errorz00
																							(BGl_string1913z00zz__libraryz00,
																							BINT(5364L),
																							BGl_string1928z00zz__libraryz00,
																							BGl_string1929z00zz__libraryz00,
																							BgL_opt1119z00_66);
																						FAILURE(BgL_auxz00_3362, BFALSE,
																							BFALSE);
																					}
																				BgL_srfiz00_1314 =
																					VECTOR_REF(BgL_auxz00_3359,
																					BgL_auxz00_3366);
																			}
																		else
																			{	/* Eval/library.scm 139 */
																				BFALSE;
																			}
																	}
																}
																{	/* Eval/library.scm 139 */
																	obj_t BgL_index1134z00_1342;

																	{
																		long BgL_iz00_2229;

																		BgL_iz00_2229 = 1L;
																	BgL_search1122z00_2228:
																		if ((BgL_iz00_2229 == BgL_l1121z00_1301))
																			{	/* Eval/library.scm 139 */
																				BgL_index1134z00_1342 = BINT((-1L));
																			}
																		else
																			{	/* Eval/library.scm 139 */
																				if (
																					(BgL_iz00_2229 ==
																						(BgL_l1121z00_1301 - 1L)))
																					{	/* Eval/library.scm 139 */
																						BgL_index1134z00_1342 =
																							BGl_errorz00zz__errorz00
																							(BGl_symbol1954z00zz__libraryz00,
																							BGl_string1957z00zz__libraryz00,
																							BINT(VECTOR_LENGTH
																								(BgL_opt1119z00_66)));
																					}
																				else
																					{	/* Eval/library.scm 139 */
																						obj_t BgL_vz00_2239;

																						BgL_vz00_2239 =
																							VECTOR_REF(BgL_opt1119z00_66,
																							BgL_iz00_2229);
																						if ((BgL_vz00_2239 ==
																								BGl_keyword1952z00zz__libraryz00))
																							{	/* Eval/library.scm 139 */
																								BgL_index1134z00_1342 =
																									BINT((BgL_iz00_2229 + 1L));
																							}
																						else
																							{
																								long BgL_iz00_3390;

																								BgL_iz00_3390 =
																									(BgL_iz00_2229 + 2L);
																								BgL_iz00_2229 = BgL_iz00_3390;
																								goto BgL_search1122z00_2228;
																							}
																					}
																			}
																	}
																	{	/* Eval/library.scm 139 */
																		bool_t BgL_test2180z00_3392;

																		{	/* Eval/library.scm 139 */
																			long BgL_n1z00_2243;

																			{	/* Eval/library.scm 139 */
																				obj_t BgL_tmpz00_3393;

																				if (INTEGERP(BgL_index1134z00_1342))
																					{	/* Eval/library.scm 139 */
																						BgL_tmpz00_3393 =
																							BgL_index1134z00_1342;
																					}
																				else
																					{
																						obj_t BgL_auxz00_3396;

																						BgL_auxz00_3396 =
																							BGl_typezd2errorzd2zz__errorz00
																							(BGl_string1913z00zz__libraryz00,
																							BINT(5364L),
																							BGl_string1928z00zz__libraryz00,
																							BGl_string1958z00zz__libraryz00,
																							BgL_index1134z00_1342);
																						FAILURE(BgL_auxz00_3396, BFALSE,
																							BFALSE);
																					}
																				BgL_n1z00_2243 =
																					(long) CINT(BgL_tmpz00_3393);
																			}
																			BgL_test2180z00_3392 =
																				(BgL_n1z00_2243 >= 0L);
																		}
																		if (BgL_test2180z00_3392)
																			{
																				long BgL_auxz00_3409;
																				obj_t BgL_auxz00_3402;

																				{	/* Eval/library.scm 139 */
																					obj_t BgL_tmpz00_3410;

																					if (INTEGERP(BgL_index1134z00_1342))
																						{	/* Eval/library.scm 139 */
																							BgL_tmpz00_3410 =
																								BgL_index1134z00_1342;
																						}
																					else
																						{
																							obj_t BgL_auxz00_3413;

																							BgL_auxz00_3413 =
																								BGl_typezd2errorzd2zz__errorz00
																								(BGl_string1913z00zz__libraryz00,
																								BINT(5364L),
																								BGl_string1928z00zz__libraryz00,
																								BGl_string1958z00zz__libraryz00,
																								BgL_index1134z00_1342);
																							FAILURE(BgL_auxz00_3413, BFALSE,
																								BFALSE);
																						}
																					BgL_auxz00_3409 =
																						(long) CINT(BgL_tmpz00_3410);
																				}
																				if (VECTORP(BgL_opt1119z00_66))
																					{	/* Eval/library.scm 139 */
																						BgL_auxz00_3402 = BgL_opt1119z00_66;
																					}
																				else
																					{
																						obj_t BgL_auxz00_3405;

																						BgL_auxz00_3405 =
																							BGl_typezd2errorzd2zz__errorz00
																							(BGl_string1913z00zz__libraryz00,
																							BINT(5364L),
																							BGl_string1928z00zz__libraryz00,
																							BGl_string1929z00zz__libraryz00,
																							BgL_opt1119z00_66);
																						FAILURE(BgL_auxz00_3405, BFALSE,
																							BFALSE);
																					}
																				BgL_versionz00_1315 =
																					VECTOR_REF(BgL_auxz00_3402,
																					BgL_auxz00_3409);
																			}
																		else
																			{	/* Eval/library.scm 139 */
																				BFALSE;
																			}
																	}
																}
																{	/* Eval/library.scm 139 */
																	obj_t BgL_arg1274z00_1344;

																	{
																		obj_t BgL_auxz00_3419;

																		if (VECTORP(BgL_opt1119z00_66))
																			{	/* Eval/library.scm 139 */
																				BgL_auxz00_3419 = BgL_opt1119z00_66;
																			}
																		else
																			{
																				obj_t BgL_auxz00_3422;

																				BgL_auxz00_3422 =
																					BGl_typezd2errorzd2zz__errorz00
																					(BGl_string1913z00zz__libraryz00,
																					BINT(5364L),
																					BGl_string1928z00zz__libraryz00,
																					BGl_string1929z00zz__libraryz00,
																					BgL_opt1119z00_66);
																				FAILURE(BgL_auxz00_3422, BFALSE,
																					BFALSE);
																			}
																		BgL_arg1274z00_1344 =
																			VECTOR_REF(BgL_auxz00_3419, 0L);
																	}
																	{	/* Eval/library.scm 139 */
																		obj_t BgL_basenamez00_1345;

																		BgL_basenamez00_1345 = BgL_basenamez00_1306;
																		{	/* Eval/library.scm 139 */
																			obj_t BgL_classzd2evalzd2_1346;

																			BgL_classzd2evalzd2_1346 =
																				BgL_classzd2evalzd2_1307;
																			{	/* Eval/library.scm 139 */
																				obj_t BgL_classzd2initzd2_1347;

																				BgL_classzd2initzd2_1347 =
																					BgL_classzd2initzd2_1308;
																				{	/* Eval/library.scm 139 */
																					obj_t BgL_dlopenzd2initzd2_1348;

																					BgL_dlopenzd2initzd2_1348 =
																						BgL_dlopenzd2initzd2_1309;
																					{	/* Eval/library.scm 139 */
																						obj_t BgL_evalz00_1349;

																						BgL_evalz00_1349 = BgL_evalz00_1310;
																						{	/* Eval/library.scm 139 */
																							obj_t BgL_initz00_1350;

																							BgL_initz00_1350 =
																								BgL_initz00_1311;
																							{	/* Eval/library.scm 139 */
																								obj_t BgL_modulezd2evalzd2_1351;

																								BgL_modulezd2evalzd2_1351 =
																									BgL_modulezd2evalzd2_1312;
																								{	/* Eval/library.scm 139 */
																									obj_t
																										BgL_modulezd2initzd2_1352;
																									BgL_modulezd2initzd2_1352 =
																										BgL_modulezd2initzd2_1313;
																									{	/* Eval/library.scm 139 */
																										obj_t BgL_srfiz00_1353;

																										BgL_srfiz00_1353 =
																											BgL_srfiz00_1314;
																										{	/* Eval/library.scm 139 */
																											obj_t BgL_versionz00_1354;

																											BgL_versionz00_1354 =
																												BgL_versionz00_1315;
																											{	/* Eval/library.scm 149 */
																												obj_t
																													BgL_top2186z00_3428;
																												BgL_top2186z00_3428 =
																													BGL_EXITD_TOP_AS_OBJ
																													();
																												BGL_MUTEX_LOCK
																													(BGl_za2libraryzd2mutexza2zd2zz__libraryz00);
																												BGL_EXITD_PUSH_PROTECT
																													(BgL_top2186z00_3428,
																													BGl_za2libraryzd2mutexza2zd2zz__libraryz00);
																												BUNSPEC;
																												{	/* Eval/library.scm 149 */
																													obj_t
																														BgL_tmp2185z00_3427;
																													if (CBOOL
																														(BGl_memqz00zz__r4_pairs_and_lists_6_3z00
																															(BgL_arg1274z00_1344,
																																BGl_za2librariesza2z00zz__libraryz00)))
																														{	/* Eval/library.scm 150 */
																															BgL_tmp2185z00_3427
																																= BFALSE;
																														}
																													else
																														{	/* Eval/library.scm 150 */
																															{	/* Eval/library.scm 154 */
																																obj_t
																																	BgL_arg1282z00_2245;
																																{	/* Eval/library.scm 154 */
																																	obj_t
																																		BgL_arg1283z00_2246;
																																	{	/* Eval/library.scm 154 */
																																		obj_t
																																			BgL_arg1285z00_2247;
																																		obj_t
																																			BgL_arg1287z00_2248;
																																		if (CBOOL
																																			(BgL_dlopenzd2initzd2_1348))
																																			{	/* Eval/library.scm 157 */
																																				obj_t
																																					BgL_arg1291z00_2249;
																																				BgL_arg1291z00_2249
																																					=
																																					BGl_evalzd2libraryzd2suffixz00zz__libraryz00
																																					();
																																				{	/* Eval/library.scm 155 */
																																					obj_t
																																						BgL_list1292z00_2250;
																																					{	/* Eval/library.scm 155 */
																																						obj_t
																																							BgL_arg1293z00_2251;
																																						BgL_arg1293z00_2251
																																							=
																																							MAKE_YOUNG_PAIR
																																							(BgL_arg1291z00_2249,
																																							BNIL);
																																						BgL_list1292z00_2250
																																							=
																																							MAKE_YOUNG_PAIR
																																							(BgL_dlopenzd2initzd2_1348,
																																							BgL_arg1293z00_2251);
																																					}
																																					BgL_arg1285z00_2247
																																						=
																																						BGl_formatz00zz__r4_output_6_10_3z00
																																						(BGl_string1959z00zz__libraryz00,
																																						BgL_list1292z00_2250);
																																				}
																																			}
																																		else
																																			{	/* Eval/library.scm 154 */
																																				BgL_arg1285z00_2247
																																					=
																																					BFALSE;
																																			}
																																		if (CBOOL
																																			(BgL_dlopenzd2initzd2_1348))
																																			{	/* Eval/library.scm 161 */
																																				obj_t
																																					BgL_arg1295z00_2252;
																																				BgL_arg1295z00_2252
																																					=
																																					BGl_evalzd2libraryzd2suffixz00zz__libraryz00
																																					();
																																				{	/* Eval/library.scm 159 */
																																					obj_t
																																						BgL_list1296z00_2253;
																																					{	/* Eval/library.scm 159 */
																																						obj_t
																																							BgL_arg1298z00_2254;
																																						BgL_arg1298z00_2254
																																							=
																																							MAKE_YOUNG_PAIR
																																							(BgL_arg1295z00_2252,
																																							BNIL);
																																						BgL_list1296z00_2253
																																							=
																																							MAKE_YOUNG_PAIR
																																							(BgL_dlopenzd2initzd2_1348,
																																							BgL_arg1298z00_2254);
																																					}
																																					BgL_arg1287z00_2248
																																						=
																																						BGl_formatz00zz__r4_output_6_10_3z00
																																						(BGl_string1960z00zz__libraryz00,
																																						BgL_list1296z00_2253);
																																				}
																																			}
																																		else
																																			{	/* Eval/library.scm 158 */
																																				BgL_arg1287z00_2248
																																					=
																																					BFALSE;
																																			}
																																		{	/* Eval/library.scm 107 */
																																			obj_t
																																				BgL_newz00_2260;
																																			BgL_newz00_2260
																																				=
																																				create_struct
																																				(BGl_symbol1961z00zz__libraryz00,
																																				(int)
																																				(12L));
																																			{	/* Eval/library.scm 107 */
																																				int
																																					BgL_tmpz00_3449;
																																				BgL_tmpz00_3449
																																					=
																																					(int)
																																					(11L);
																																				STRUCT_SET
																																					(BgL_newz00_2260,
																																					BgL_tmpz00_3449,
																																					BgL_srfiz00_1353);
																																			}
																																			{	/* Eval/library.scm 107 */
																																				int
																																					BgL_tmpz00_3452;
																																				BgL_tmpz00_3452
																																					=
																																					(int)
																																					(10L);
																																				STRUCT_SET
																																					(BgL_newz00_2260,
																																					BgL_tmpz00_3452,
																																					BgL_evalz00_1349);
																																			}
																																			{	/* Eval/library.scm 107 */
																																				int
																																					BgL_tmpz00_3455;
																																				BgL_tmpz00_3455
																																					=
																																					(int)
																																					(9L);
																																				STRUCT_SET
																																					(BgL_newz00_2260,
																																					BgL_tmpz00_3455,
																																					BgL_initz00_1350);
																																			}
																																			{	/* Eval/library.scm 107 */
																																				int
																																					BgL_tmpz00_3458;
																																				BgL_tmpz00_3458
																																					=
																																					(int)
																																					(8L);
																																				STRUCT_SET
																																					(BgL_newz00_2260,
																																					BgL_tmpz00_3458,
																																					BgL_classzd2evalzd2_1346);
																																			}
																																			{	/* Eval/library.scm 107 */
																																				int
																																					BgL_tmpz00_3461;
																																				BgL_tmpz00_3461
																																					=
																																					(int)
																																					(7L);
																																				STRUCT_SET
																																					(BgL_newz00_2260,
																																					BgL_tmpz00_3461,
																																					BgL_classzd2initzd2_1347);
																																			}
																																			{	/* Eval/library.scm 107 */
																																				int
																																					BgL_tmpz00_3464;
																																				BgL_tmpz00_3464
																																					=
																																					(int)
																																					(6L);
																																				STRUCT_SET
																																					(BgL_newz00_2260,
																																					BgL_tmpz00_3464,
																																					BgL_modulezd2evalzd2_1351);
																																			}
																																			{	/* Eval/library.scm 107 */
																																				int
																																					BgL_tmpz00_3467;
																																				BgL_tmpz00_3467
																																					=
																																					(int)
																																					(5L);
																																				STRUCT_SET
																																					(BgL_newz00_2260,
																																					BgL_tmpz00_3467,
																																					BgL_modulezd2initzd2_1352);
																																			}
																																			{	/* Eval/library.scm 107 */
																																				int
																																					BgL_tmpz00_3470;
																																				BgL_tmpz00_3470
																																					=
																																					(int)
																																					(4L);
																																				STRUCT_SET
																																					(BgL_newz00_2260,
																																					BgL_tmpz00_3470,
																																					BgL_arg1287z00_2248);
																																			}
																																			{	/* Eval/library.scm 107 */
																																				int
																																					BgL_tmpz00_3473;
																																				BgL_tmpz00_3473
																																					=
																																					(int)
																																					(3L);
																																				STRUCT_SET
																																					(BgL_newz00_2260,
																																					BgL_tmpz00_3473,
																																					BgL_arg1285z00_2247);
																																			}
																																			{	/* Eval/library.scm 107 */
																																				int
																																					BgL_tmpz00_3476;
																																				BgL_tmpz00_3476
																																					=
																																					(int)
																																					(2L);
																																				STRUCT_SET
																																					(BgL_newz00_2260,
																																					BgL_tmpz00_3476,
																																					BgL_versionz00_1354);
																																			}
																																			{	/* Eval/library.scm 107 */
																																				int
																																					BgL_tmpz00_3479;
																																				BgL_tmpz00_3479
																																					=
																																					(int)
																																					(1L);
																																				STRUCT_SET
																																					(BgL_newz00_2260,
																																					BgL_tmpz00_3479,
																																					BgL_basenamez00_1345);
																																			}
																																			{	/* Eval/library.scm 107 */
																																				int
																																					BgL_tmpz00_3482;
																																				BgL_tmpz00_3482
																																					=
																																					(int)
																																					(0L);
																																				STRUCT_SET
																																					(BgL_newz00_2260,
																																					BgL_tmpz00_3482,
																																					BgL_arg1274z00_1344);
																																			}
																																			BgL_arg1283z00_2246
																																				=
																																				BgL_newz00_2260;
																																	}}
																																	BgL_arg1282z00_2245
																																		=
																																		MAKE_YOUNG_PAIR
																																		(BgL_arg1274z00_1344,
																																		BgL_arg1283z00_2246);
																																}
																																BGl_za2librariesza2z00zz__libraryz00
																																	=
																																	MAKE_YOUNG_PAIR
																																	(BgL_arg1282z00_2245,
																																	BGl_za2librariesza2z00zz__libraryz00);
																															}
																															{
																																obj_t
																																	BgL_l1097z00_2256;
																																{	/* Eval/library.scm 166 */
																																	bool_t
																																		BgL_tmpz00_3487;
																																	BgL_l1097z00_2256
																																		=
																																		BgL_srfiz00_1353;
																																BgL_zc3z04anonymousza31299ze3z87_2255:
																																	if (PAIRP
																																		(BgL_l1097z00_2256))
																																		{	/* Eval/library.scm 166 */
																																			{	/* Eval/library.scm 167 */
																																				obj_t
																																					BgL_sz00_2274;
																																				BgL_sz00_2274
																																					=
																																					CAR
																																					(BgL_l1097z00_2256);
																																				BGl_registerzd2srfiz12zc0zz__expander_srfi0z00
																																					(BgL_sz00_2274);
																																				bgl_register_eval_srfi
																																					(BgL_sz00_2274);
																																			}
																																			{
																																				obj_t
																																					BgL_l1097z00_3493;
																																				BgL_l1097z00_3493
																																					=
																																					CDR
																																					(BgL_l1097z00_2256);
																																				BgL_l1097z00_2256
																																					=
																																					BgL_l1097z00_3493;
																																				goto
																																					BgL_zc3z04anonymousza31299ze3z87_2255;
																																			}
																																		}
																																	else
																																		{	/* Eval/library.scm 166 */
																																			BgL_tmpz00_3487
																																				=
																																				(
																																				(bool_t)
																																				1);
																																		}
																																	BgL_tmp2185z00_3427
																																		=
																																		BBOOL
																																		(BgL_tmpz00_3487);
																																}
																															}
																														}
																													BGL_EXITD_POP_PROTECT
																														(BgL_top2186z00_3428);
																													BUNSPEC;
																													BGL_MUTEX_UNLOCK
																														(BGl_za2libraryzd2mutexza2zd2zz__libraryz00);
																													return
																														BgL_tmp2185z00_3427;
																												}
																											}
																										}
																									}
																								}
																							}
																						}
																					}
																				}
																			}
																		}
																	}
																}
															}
														}
													}
												}
											}
										}
									}
								}
							}
						}
					}
				}
			}
		}

	}



/* declare-library! */
	BGL_EXPORTED_DEF obj_t BGl_declarezd2libraryz12zc0zz__libraryz00(obj_t
		BgL_idz00_55, obj_t BgL_basenamez00_56, obj_t BgL_classzd2evalzd2_57,
		obj_t BgL_classzd2initzd2_58, obj_t BgL_dlopenzd2initzd2_59,
		obj_t BgL_evalz00_60, obj_t BgL_initz00_61, obj_t BgL_modulezd2evalzd2_62,
		obj_t BgL_modulezd2initzd2_63, obj_t BgL_srfiz00_64,
		obj_t BgL_versionz00_65)
	{
		{	/* Eval/library.scm 139 */
			{	/* Eval/library.scm 149 */
				obj_t BgL_top2192z00_3499;

				BgL_top2192z00_3499 = BGL_EXITD_TOP_AS_OBJ();
				BGL_MUTEX_LOCK(BGl_za2libraryzd2mutexza2zd2zz__libraryz00);
				BGL_EXITD_PUSH_PROTECT(BgL_top2192z00_3499,
					BGl_za2libraryzd2mutexza2zd2zz__libraryz00);
				BUNSPEC;
				{	/* Eval/library.scm 149 */
					obj_t BgL_tmp2191z00_3498;

					if (CBOOL(BGl_memqz00zz__r4_pairs_and_lists_6_3z00(BgL_idz00_55,
								BGl_za2librariesza2z00zz__libraryz00)))
						{	/* Eval/library.scm 150 */
							BgL_tmp2191z00_3498 = BFALSE;
						}
					else
						{	/* Eval/library.scm 150 */
							{	/* Eval/library.scm 154 */
								obj_t BgL_arg1282z00_2279;

								{	/* Eval/library.scm 154 */
									obj_t BgL_arg1283z00_2280;

									{	/* Eval/library.scm 154 */
										obj_t BgL_arg1285z00_2281;
										obj_t BgL_arg1287z00_2282;

										if (CBOOL(BgL_dlopenzd2initzd2_59))
											{	/* Eval/library.scm 157 */
												obj_t BgL_arg1291z00_2283;

												BgL_arg1291z00_2283 =
													BGl_evalzd2libraryzd2suffixz00zz__libraryz00();
												{	/* Eval/library.scm 155 */
													obj_t BgL_list1292z00_2284;

													{	/* Eval/library.scm 155 */
														obj_t BgL_arg1293z00_2285;

														BgL_arg1293z00_2285 =
															MAKE_YOUNG_PAIR(BgL_arg1291z00_2283, BNIL);
														BgL_list1292z00_2284 =
															MAKE_YOUNG_PAIR(BgL_dlopenzd2initzd2_59,
															BgL_arg1293z00_2285);
													}
													BgL_arg1285z00_2281 =
														BGl_formatz00zz__r4_output_6_10_3z00
														(BGl_string1959z00zz__libraryz00,
														BgL_list1292z00_2284);
												}
											}
										else
											{	/* Eval/library.scm 154 */
												BgL_arg1285z00_2281 = BFALSE;
											}
										if (CBOOL(BgL_dlopenzd2initzd2_59))
											{	/* Eval/library.scm 161 */
												obj_t BgL_arg1295z00_2286;

												BgL_arg1295z00_2286 =
													BGl_evalzd2libraryzd2suffixz00zz__libraryz00();
												{	/* Eval/library.scm 159 */
													obj_t BgL_list1296z00_2287;

													{	/* Eval/library.scm 159 */
														obj_t BgL_arg1298z00_2288;

														BgL_arg1298z00_2288 =
															MAKE_YOUNG_PAIR(BgL_arg1295z00_2286, BNIL);
														BgL_list1296z00_2287 =
															MAKE_YOUNG_PAIR(BgL_dlopenzd2initzd2_59,
															BgL_arg1298z00_2288);
													}
													BgL_arg1287z00_2282 =
														BGl_formatz00zz__r4_output_6_10_3z00
														(BGl_string1960z00zz__libraryz00,
														BgL_list1296z00_2287);
												}
											}
										else
											{	/* Eval/library.scm 158 */
												BgL_arg1287z00_2282 = BFALSE;
											}
										{	/* Eval/library.scm 107 */
											obj_t BgL_newz00_2294;

											BgL_newz00_2294 =
												create_struct(BGl_symbol1961z00zz__libraryz00,
												(int) (12L));
											{	/* Eval/library.scm 107 */
												int BgL_tmpz00_3520;

												BgL_tmpz00_3520 = (int) (11L);
												STRUCT_SET(BgL_newz00_2294, BgL_tmpz00_3520,
													BgL_srfiz00_64);
											}
											{	/* Eval/library.scm 107 */
												int BgL_tmpz00_3523;

												BgL_tmpz00_3523 = (int) (10L);
												STRUCT_SET(BgL_newz00_2294, BgL_tmpz00_3523,
													BgL_evalz00_60);
											}
											{	/* Eval/library.scm 107 */
												int BgL_tmpz00_3526;

												BgL_tmpz00_3526 = (int) (9L);
												STRUCT_SET(BgL_newz00_2294, BgL_tmpz00_3526,
													BgL_initz00_61);
											}
											{	/* Eval/library.scm 107 */
												int BgL_tmpz00_3529;

												BgL_tmpz00_3529 = (int) (8L);
												STRUCT_SET(BgL_newz00_2294, BgL_tmpz00_3529,
													BgL_classzd2evalzd2_57);
											}
											{	/* Eval/library.scm 107 */
												int BgL_tmpz00_3532;

												BgL_tmpz00_3532 = (int) (7L);
												STRUCT_SET(BgL_newz00_2294, BgL_tmpz00_3532,
													BgL_classzd2initzd2_58);
											}
											{	/* Eval/library.scm 107 */
												int BgL_tmpz00_3535;

												BgL_tmpz00_3535 = (int) (6L);
												STRUCT_SET(BgL_newz00_2294, BgL_tmpz00_3535,
													BgL_modulezd2evalzd2_62);
											}
											{	/* Eval/library.scm 107 */
												int BgL_tmpz00_3538;

												BgL_tmpz00_3538 = (int) (5L);
												STRUCT_SET(BgL_newz00_2294, BgL_tmpz00_3538,
													BgL_modulezd2initzd2_63);
											}
											{	/* Eval/library.scm 107 */
												int BgL_tmpz00_3541;

												BgL_tmpz00_3541 = (int) (4L);
												STRUCT_SET(BgL_newz00_2294, BgL_tmpz00_3541,
													BgL_arg1287z00_2282);
											}
											{	/* Eval/library.scm 107 */
												int BgL_tmpz00_3544;

												BgL_tmpz00_3544 = (int) (3L);
												STRUCT_SET(BgL_newz00_2294, BgL_tmpz00_3544,
													BgL_arg1285z00_2281);
											}
											{	/* Eval/library.scm 107 */
												int BgL_tmpz00_3547;

												BgL_tmpz00_3547 = (int) (2L);
												STRUCT_SET(BgL_newz00_2294, BgL_tmpz00_3547,
													BgL_versionz00_65);
											}
											{	/* Eval/library.scm 107 */
												int BgL_tmpz00_3550;

												BgL_tmpz00_3550 = (int) (1L);
												STRUCT_SET(BgL_newz00_2294, BgL_tmpz00_3550,
													BgL_basenamez00_56);
											}
											{	/* Eval/library.scm 107 */
												int BgL_tmpz00_3553;

												BgL_tmpz00_3553 = (int) (0L);
												STRUCT_SET(BgL_newz00_2294, BgL_tmpz00_3553,
													BgL_idz00_55);
											}
											BgL_arg1283z00_2280 = BgL_newz00_2294;
									}}
									BgL_arg1282z00_2279 =
										MAKE_YOUNG_PAIR(BgL_idz00_55, BgL_arg1283z00_2280);
								}
								BGl_za2librariesza2z00zz__libraryz00 =
									MAKE_YOUNG_PAIR(BgL_arg1282z00_2279,
									BGl_za2librariesza2z00zz__libraryz00);
							}
							{
								obj_t BgL_l1097z00_2318;

								{	/* Eval/library.scm 166 */
									bool_t BgL_tmpz00_3558;

									BgL_l1097z00_2318 = BgL_srfiz00_64;
								BgL_zc3z04anonymousza31299ze3z87_2317:
									if (PAIRP(BgL_l1097z00_2318))
										{	/* Eval/library.scm 166 */
											{	/* Eval/library.scm 167 */
												obj_t BgL_sz00_2323;

												BgL_sz00_2323 = CAR(BgL_l1097z00_2318);
												BGl_registerzd2srfiz12zc0zz__expander_srfi0z00
													(BgL_sz00_2323);
												bgl_register_eval_srfi(BgL_sz00_2323);
											}
											{
												obj_t BgL_l1097z00_3564;

												BgL_l1097z00_3564 = CDR(BgL_l1097z00_2318);
												BgL_l1097z00_2318 = BgL_l1097z00_3564;
												goto BgL_zc3z04anonymousza31299ze3z87_2317;
											}
										}
									else
										{	/* Eval/library.scm 166 */
											BgL_tmpz00_3558 = ((bool_t) 1);
										}
									BgL_tmp2191z00_3498 = BBOOL(BgL_tmpz00_3558);
								}
							}
						}
					BGL_EXITD_POP_PROTECT(BgL_top2192z00_3499);
					BUNSPEC;
					BGL_MUTEX_UNLOCK(BGl_za2libraryzd2mutexza2zd2zz__libraryz00);
					return BgL_tmp2191z00_3498;
				}
			}
		}

	}



/* library-info */
	BGL_EXPORTED_DEF obj_t BGl_libraryzd2infozd2zz__libraryz00(obj_t BgL_idz00_68)
	{
		{	/* Eval/library.scm 174 */
			{	/* Eval/library.scm 175 */
				obj_t BgL_g1040z00_2327;

				BgL_g1040z00_2327 =
					BGl_assqz00zz__r4_pairs_and_lists_6_3z00(BgL_idz00_68,
					BGl_za2librariesza2z00zz__libraryz00);
				if (CBOOL(BgL_g1040z00_2327))
					{	/* Eval/library.scm 175 */
						return CDR(((obj_t) BgL_g1040z00_2327));
					}
				else
					{	/* Eval/library.scm 175 */
						return BFALSE;
					}
			}
		}

	}



/* &library-info */
	obj_t BGl_z62libraryzd2infozb0zz__libraryz00(obj_t BgL_envz00_2744,
		obj_t BgL_idz00_2745)
	{
		{	/* Eval/library.scm 174 */
			{	/* Eval/library.scm 175 */
				obj_t BgL_auxz00_3574;

				if (SYMBOLP(BgL_idz00_2745))
					{	/* Eval/library.scm 175 */
						BgL_auxz00_3574 = BgL_idz00_2745;
					}
				else
					{
						obj_t BgL_auxz00_3577;

						BgL_auxz00_3577 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string1913z00zz__libraryz00,
							BINT(6378L), BGl_string1963z00zz__libraryz00,
							BGl_string1930z00zz__libraryz00, BgL_idz00_2745);
						FAILURE(BgL_auxz00_3577, BFALSE, BFALSE);
					}
				return BGl_libraryzd2infozd2zz__libraryz00(BgL_auxz00_3574);
			}
		}

	}



/* library-translation-table-add! */
	BGL_EXPORTED_DEF obj_t
		BGl_libraryzd2translationzd2tablezd2addz12zc0zz__libraryz00(obj_t
		BgL_namez00_69, obj_t BgL_translationz00_70, obj_t BgL_optz00_71)
	{
		{	/* Eval/library.scm 180 */
			{	/* Eval/library.scm 181 */
				obj_t BgL_versionz00_1382;
				obj_t BgL_dlopenzd2initzd2_1383;

				BgL_versionz00_1382 =
					BGl_bigloozd2configzd2zz__configurez00
					(BGl_symbol1931z00zz__libraryz00);
				{	/* Eval/library.scm 182 */
					obj_t BgL_arg1632z00_2331;

					BgL_arg1632z00_2331 = SYMBOL_TO_STRING(BgL_namez00_69);
					BgL_dlopenzd2initzd2_1383 =
						BGl_stringzd2copyzd2zz__r4_strings_6_7z00(BgL_arg1632z00_2331);
				}
				{
					obj_t BgL_optz00_1385;

					BgL_optz00_1385 = BgL_optz00_71;
				BgL_zc3z04anonymousza31302ze3z87_1386:
					if (PAIRP(BgL_optz00_1385))
						{	/* Eval/library.scm 186 */
							bool_t BgL_test2200z00_3587;

							{	/* Eval/library.scm 186 */
								obj_t BgL_tmpz00_3588;

								BgL_tmpz00_3588 = CAR(BgL_optz00_1385);
								BgL_test2200z00_3587 = STRINGP(BgL_tmpz00_3588);
							}
							if (BgL_test2200z00_3587)
								{	/* Eval/library.scm 186 */
									BgL_versionz00_1382 = CAR(BgL_optz00_1385);
									{
										obj_t BgL_optz00_3592;

										BgL_optz00_3592 = CDR(BgL_optz00_1385);
										BgL_optz00_1385 = BgL_optz00_3592;
										goto BgL_zc3z04anonymousza31302ze3z87_1386;
									}
								}
							else
								{	/* Eval/library.scm 186 */
									if (CBOOL(CAR(BgL_optz00_1385)))
										{	/* Eval/library.scm 189 */
											if (
												(CAR(BgL_optz00_1385) ==
													BGl_keyword1940z00zz__libraryz00))
												{	/* Eval/library.scm 192 */
													if (NULLP(CDR(BgL_optz00_1385)))
														{	/* Eval/library.scm 194 */
															BGl_errorz00zz__errorz00
																(BGl_symbol1964z00zz__libraryz00,
																BGl_string1966z00zz__libraryz00,
																BgL_optz00_1385);
														}
													else
														{	/* Eval/library.scm 198 */
															bool_t BgL_test2204z00_3604;

															{	/* Eval/library.scm 198 */
																obj_t BgL_tmpz00_3605;

																BgL_tmpz00_3605 = CAR(CDR(BgL_optz00_1385));
																BgL_test2204z00_3604 = STRINGP(BgL_tmpz00_3605);
															}
															if (BgL_test2204z00_3604)
																{	/* Eval/library.scm 198 */
																	BgL_dlopenzd2initzd2_1383 =
																		CAR(CDR(BgL_optz00_1385));
																	{
																		obj_t BgL_optz00_3611;

																		BgL_optz00_3611 = CDR(CDR(BgL_optz00_1385));
																		BgL_optz00_1385 = BgL_optz00_3611;
																		goto BgL_zc3z04anonymousza31302ze3z87_1386;
																	}
																}
															else
																{	/* Eval/library.scm 198 */
																	BGl_errorz00zz__errorz00
																		(BGl_symbol1964z00zz__libraryz00,
																		BGl_string1967z00zz__libraryz00,
																		BgL_optz00_1385);
																}
														}
												}
											else
												{	/* Eval/library.scm 192 */
													BGl_errorz00zz__errorz00
														(BGl_symbol1964z00zz__libraryz00,
														BGl_string1968z00zz__libraryz00, BgL_optz00_1385);
												}
										}
									else
										{	/* Eval/library.scm 189 */
											BgL_versionz00_1382 = BFALSE;
											{
												obj_t BgL_optz00_3616;

												BgL_optz00_3616 = CDR(BgL_optz00_1385);
												BgL_optz00_1385 = BgL_optz00_3616;
												goto BgL_zc3z04anonymousza31302ze3z87_1386;
											}
										}
								}
						}
					else
						{	/* Eval/library.scm 184 */
							BFALSE;
						}
				}
				{	/* Eval/library.scm 209 */
					obj_t BgL_top2206z00_3619;

					BgL_top2206z00_3619 = BGL_EXITD_TOP_AS_OBJ();
					BGL_MUTEX_LOCK(BGl_za2libraryzd2mutexza2zd2zz__libraryz00);
					BGL_EXITD_PUSH_PROTECT(BgL_top2206z00_3619,
						BGl_za2libraryzd2mutexza2zd2zz__libraryz00);
					BUNSPEC;
					{	/* Eval/library.scm 209 */
						obj_t BgL_tmp2205z00_3618;

						{	/* Eval/library.scm 213 */
							obj_t BgL_arg1345z00_1405;

							{	/* Eval/library.scm 213 */
								obj_t BgL_arg1346z00_1406;

								{	/* Eval/library.scm 213 */
									obj_t BgL_arg1347z00_1407;
									obj_t BgL_arg1349z00_1408;

									if (CBOOL(BgL_dlopenzd2initzd2_1383))
										{	/* Eval/library.scm 214 */
											obj_t BgL_arg1351z00_1409;
											obj_t BgL_arg1352z00_1410;

											{	/* Eval/library.scm 214 */
												obj_t BgL_namez00_2351;

												BgL_namez00_2351 = BgL_dlopenzd2initzd2_1383;
												if (BGl_bigloozd2needzd2manglingzf3zf3zz__biglooz00
													(BgL_namez00_2351))
													{	/* Eval/library.scm 278 */
														BgL_arg1351z00_1409 =
															bigloo_mangle(BgL_namez00_2351);
													}
												else
													{	/* Eval/library.scm 278 */
														BgL_arg1351z00_1409 = BgL_namez00_2351;
													}
											}
											BgL_arg1352z00_1410 =
												BGl_evalzd2libraryzd2suffixz00zz__libraryz00();
											BgL_arg1347z00_1407 =
												string_append_3(BgL_arg1351z00_1409,
												BGl_string1969z00zz__libraryz00, BgL_arg1352z00_1410);
										}
									else
										{	/* Eval/library.scm 213 */
											BgL_arg1347z00_1407 = BFALSE;
										}
									if (CBOOL(BgL_dlopenzd2initzd2_1383))
										{	/* Eval/library.scm 218 */
											obj_t BgL_arg1353z00_1411;
											obj_t BgL_arg1355z00_1412;

											{	/* Eval/library.scm 218 */
												obj_t BgL_namez00_2353;

												BgL_namez00_2353 = BgL_dlopenzd2initzd2_1383;
												if (BGl_bigloozd2needzd2manglingzf3zf3zz__biglooz00
													(BgL_namez00_2353))
													{	/* Eval/library.scm 278 */
														BgL_arg1353z00_1411 =
															bigloo_mangle(BgL_namez00_2353);
													}
												else
													{	/* Eval/library.scm 278 */
														BgL_arg1353z00_1411 = BgL_namez00_2353;
													}
											}
											BgL_arg1355z00_1412 =
												BGl_evalzd2libraryzd2suffixz00zz__libraryz00();
											BgL_arg1349z00_1408 =
												string_append_3(BgL_arg1353z00_1411,
												BGl_string1970z00zz__libraryz00, BgL_arg1355z00_1412);
										}
									else
										{	/* Eval/library.scm 217 */
											BgL_arg1349z00_1408 = BFALSE;
										}
									{	/* Eval/library.scm 212 */
										obj_t BgL_versionz00_2355;

										BgL_versionz00_2355 = BgL_versionz00_1382;
										{	/* Eval/library.scm 107 */
											obj_t BgL_newz00_2356;

											BgL_newz00_2356 =
												create_struct(BGl_symbol1961z00zz__libraryz00,
												(int) (12L));
											{	/* Eval/library.scm 107 */
												int BgL_tmpz00_3639;

												BgL_tmpz00_3639 = (int) (11L);
												STRUCT_SET(BgL_newz00_2356, BgL_tmpz00_3639, BFALSE);
											}
											{	/* Eval/library.scm 107 */
												int BgL_tmpz00_3642;

												BgL_tmpz00_3642 = (int) (10L);
												STRUCT_SET(BgL_newz00_2356, BgL_tmpz00_3642, BFALSE);
											}
											{	/* Eval/library.scm 107 */
												int BgL_tmpz00_3645;

												BgL_tmpz00_3645 = (int) (9L);
												STRUCT_SET(BgL_newz00_2356, BgL_tmpz00_3645, BFALSE);
											}
											{	/* Eval/library.scm 107 */
												int BgL_tmpz00_3648;

												BgL_tmpz00_3648 = (int) (8L);
												STRUCT_SET(BgL_newz00_2356, BgL_tmpz00_3648, BFALSE);
											}
											{	/* Eval/library.scm 107 */
												int BgL_tmpz00_3651;

												BgL_tmpz00_3651 = (int) (7L);
												STRUCT_SET(BgL_newz00_2356, BgL_tmpz00_3651, BFALSE);
											}
											{	/* Eval/library.scm 107 */
												int BgL_tmpz00_3654;

												BgL_tmpz00_3654 = (int) (6L);
												STRUCT_SET(BgL_newz00_2356, BgL_tmpz00_3654, BFALSE);
											}
											{	/* Eval/library.scm 107 */
												int BgL_tmpz00_3657;

												BgL_tmpz00_3657 = (int) (5L);
												STRUCT_SET(BgL_newz00_2356, BgL_tmpz00_3657, BFALSE);
											}
											{	/* Eval/library.scm 107 */
												int BgL_tmpz00_3660;

												BgL_tmpz00_3660 = (int) (4L);
												STRUCT_SET(BgL_newz00_2356, BgL_tmpz00_3660,
													BgL_arg1349z00_1408);
											}
											{	/* Eval/library.scm 107 */
												int BgL_tmpz00_3663;

												BgL_tmpz00_3663 = (int) (3L);
												STRUCT_SET(BgL_newz00_2356, BgL_tmpz00_3663,
													BgL_arg1347z00_1407);
											}
											{	/* Eval/library.scm 107 */
												int BgL_tmpz00_3666;

												BgL_tmpz00_3666 = (int) (2L);
												STRUCT_SET(BgL_newz00_2356, BgL_tmpz00_3666,
													BgL_versionz00_2355);
											}
											{	/* Eval/library.scm 107 */
												int BgL_tmpz00_3669;

												BgL_tmpz00_3669 = (int) (1L);
												STRUCT_SET(BgL_newz00_2356, BgL_tmpz00_3669,
													BgL_translationz00_70);
											}
											{	/* Eval/library.scm 107 */
												int BgL_tmpz00_3672;

												BgL_tmpz00_3672 = (int) (0L);
												STRUCT_SET(BgL_newz00_2356, BgL_tmpz00_3672,
													BgL_namez00_69);
											}
											BgL_arg1346z00_1406 = BgL_newz00_2356;
								}}}
								BgL_arg1345z00_1405 =
									MAKE_YOUNG_PAIR(BgL_namez00_69, BgL_arg1346z00_1406);
							}
							BgL_tmp2205z00_3618 = (BGl_za2librariesza2z00zz__libraryz00 =
								MAKE_YOUNG_PAIR(BgL_arg1345z00_1405,
									BGl_za2librariesza2z00zz__libraryz00), BUNSPEC);
						}
						BGL_EXITD_POP_PROTECT(BgL_top2206z00_3619);
						BUNSPEC;
						BGL_MUTEX_UNLOCK(BGl_za2libraryzd2mutexza2zd2zz__libraryz00);
						return BgL_tmp2205z00_3618;
					}
				}
			}
		}

	}



/* &library-translation-table-add! */
	obj_t BGl_z62libraryzd2translationzd2tablezd2addz12za2zz__libraryz00(obj_t
		BgL_envz00_2746, obj_t BgL_namez00_2747, obj_t BgL_translationz00_2748,
		obj_t BgL_optz00_2749)
	{
		{	/* Eval/library.scm 180 */
			{	/* Eval/library.scm 181 */
				obj_t BgL_auxz00_3686;
				obj_t BgL_auxz00_3679;

				if (STRINGP(BgL_translationz00_2748))
					{	/* Eval/library.scm 181 */
						BgL_auxz00_3686 = BgL_translationz00_2748;
					}
				else
					{
						obj_t BgL_auxz00_3689;

						BgL_auxz00_3689 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string1913z00zz__libraryz00,
							BINT(6700L), BGl_string1971z00zz__libraryz00,
							BGl_string1915z00zz__libraryz00, BgL_translationz00_2748);
						FAILURE(BgL_auxz00_3689, BFALSE, BFALSE);
					}
				if (SYMBOLP(BgL_namez00_2747))
					{	/* Eval/library.scm 181 */
						BgL_auxz00_3679 = BgL_namez00_2747;
					}
				else
					{
						obj_t BgL_auxz00_3682;

						BgL_auxz00_3682 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string1913z00zz__libraryz00,
							BINT(6700L), BGl_string1971z00zz__libraryz00,
							BGl_string1930z00zz__libraryz00, BgL_namez00_2747);
						FAILURE(BgL_auxz00_3682, BFALSE, BFALSE);
					}
				return
					BGl_libraryzd2translationzd2tablezd2addz12zc0zz__libraryz00
					(BgL_auxz00_3679, BgL_auxz00_3686, BgL_optz00_2749);
			}
		}

	}



/* library-init-file */
	BGL_EXPORTED_DEF obj_t BGl_libraryzd2initzd2filez00zz__libraryz00(obj_t
		BgL_libz00_72)
	{
		{	/* Eval/library.scm 229 */
			{	/* Eval/library.scm 230 */
				obj_t BgL_arg1356z00_2369;

				{	/* Eval/library.scm 230 */
					obj_t BgL_arg1632z00_2371;

					BgL_arg1632z00_2371 = SYMBOL_TO_STRING(BgL_libz00_72);
					BgL_arg1356z00_2369 =
						BGl_stringzd2copyzd2zz__r4_strings_6_7z00(BgL_arg1632z00_2371);
				}
				return
					string_append(BgL_arg1356z00_2369, BGl_string1972z00zz__libraryz00);
			}
		}

	}



/* &library-init-file */
	obj_t BGl_z62libraryzd2initzd2filez62zz__libraryz00(obj_t BgL_envz00_2750,
		obj_t BgL_libz00_2751)
	{
		{	/* Eval/library.scm 229 */
			{	/* Eval/library.scm 230 */
				obj_t BgL_auxz00_3697;

				if (SYMBOLP(BgL_libz00_2751))
					{	/* Eval/library.scm 230 */
						BgL_auxz00_3697 = BgL_libz00_2751;
					}
				else
					{
						obj_t BgL_auxz00_3700;

						BgL_auxz00_3700 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string1913z00zz__libraryz00,
							BINT(8119L), BGl_string1973z00zz__libraryz00,
							BGl_string1930z00zz__libraryz00, BgL_libz00_2751);
						FAILURE(BgL_auxz00_3700, BFALSE, BFALSE);
					}
				return BGl_libraryzd2initzd2filez00zz__libraryz00(BgL_auxz00_3697);
			}
		}

	}



/* untranslate-library-name */
	obj_t BGl_untranslatezd2libraryzd2namez00zz__libraryz00(obj_t
		BgL_libraryz00_73)
	{
		{	/* Eval/library.scm 235 */
			{	/* Eval/library.scm 236 */
				obj_t BgL_infoz00_1414;

				{	/* Eval/library.scm 175 */
					obj_t BgL_g1040z00_2373;

					BgL_g1040z00_2373 =
						BGl_assqz00zz__r4_pairs_and_lists_6_3z00(BgL_libraryz00_73,
						BGl_za2librariesza2z00zz__libraryz00);
					if (CBOOL(BgL_g1040z00_2373))
						{	/* Eval/library.scm 175 */
							BgL_infoz00_1414 = CDR(((obj_t) BgL_g1040z00_2373));
						}
					else
						{	/* Eval/library.scm 175 */
							BgL_infoz00_1414 = BFALSE;
						}
				}
				if (CBOOL(BgL_infoz00_1414))
					{	/* Eval/library.scm 238 */
						obj_t BgL_val0_1099z00_1415;
						obj_t BgL_val1_1100z00_1416;

						BgL_val0_1099z00_1415 =
							STRUCT_REF(((obj_t) BgL_infoz00_1414), (int) (1L));
						BgL_val1_1100z00_1416 =
							STRUCT_REF(((obj_t) BgL_infoz00_1414), (int) (2L));
						{	/* Eval/library.scm 238 */
							int BgL_tmpz00_3718;

							BgL_tmpz00_3718 = (int) (2L);
							BGL_MVALUES_NUMBER_SET(BgL_tmpz00_3718);
						}
						{	/* Eval/library.scm 238 */
							int BgL_tmpz00_3721;

							BgL_tmpz00_3721 = (int) (1L);
							BGL_MVALUES_VAL_SET(BgL_tmpz00_3721, BgL_val1_1100z00_1416);
						}
						return BgL_val0_1099z00_1415;
					}
				else
					{	/* Eval/library.scm 239 */
						obj_t BgL_val0_1101z00_1417;
						obj_t BgL_val1_1102z00_1418;

						{	/* Eval/library.scm 239 */
							obj_t BgL_arg1632z00_2379;

							BgL_arg1632z00_2379 = SYMBOL_TO_STRING(BgL_libraryz00_73);
							BgL_val0_1101z00_1417 =
								BGl_stringzd2copyzd2zz__r4_strings_6_7z00(BgL_arg1632z00_2379);
						}
						BgL_val1_1102z00_1418 =
							BGl_bigloozd2configzd2zz__configurez00
							(BGl_symbol1931z00zz__libraryz00);
						{	/* Eval/library.scm 239 */
							int BgL_tmpz00_3727;

							BgL_tmpz00_3727 = (int) (2L);
							BGL_MVALUES_NUMBER_SET(BgL_tmpz00_3727);
						}
						{	/* Eval/library.scm 239 */
							int BgL_tmpz00_3730;

							BgL_tmpz00_3730 = (int) (1L);
							BGL_MVALUES_VAL_SET(BgL_tmpz00_3730, BgL_val1_1102z00_1418);
						}
						return BgL_val0_1101z00_1417;
					}
			}
		}

	}



/* library-file-name */
	BGL_EXPORTED_DEF obj_t BGl_libraryzd2filezd2namez00zz__libraryz00(obj_t
		BgL_libraryz00_74, obj_t BgL_suffixz00_75, obj_t BgL_backendz00_76)
	{
		{	/* Eval/library.scm 244 */
			{	/* Eval/library.scm 255 */
				obj_t BgL_basez00_1420;

				BgL_basez00_1420 =
					BGl_untranslatezd2libraryzd2namez00zz__libraryz00(BgL_libraryz00_74);
				{	/* Eval/library.scm 256 */
					obj_t BgL_versionz00_1421;

					{	/* Eval/library.scm 257 */
						obj_t BgL_tmpz00_2386;

						{	/* Eval/library.scm 257 */
							int BgL_tmpz00_3734;

							BgL_tmpz00_3734 = (int) (1L);
							BgL_tmpz00_2386 = BGL_MVALUES_VAL(BgL_tmpz00_3734);
						}
						{	/* Eval/library.scm 257 */
							int BgL_tmpz00_3737;

							BgL_tmpz00_3737 = (int) (1L);
							BGL_MVALUES_VAL_SET(BgL_tmpz00_3737, BUNSPEC);
						}
						BgL_versionz00_1421 = BgL_tmpz00_2386;
					}
					if ((BgL_backendz00_76 == BGl_symbol1974z00zz__libraryz00))
						{	/* Eval/library.scm 260 */
							bool_t BgL_test2217z00_3742;

							{	/* Eval/library.scm 260 */
								bool_t BgL_test2218z00_3743;

								{	/* Eval/library.scm 260 */
									obj_t BgL_string1z00_2388;

									BgL_string1z00_2388 = string_to_bstring(OS_CLASS);
									{	/* Eval/library.scm 260 */
										long BgL_l1z00_2390;

										BgL_l1z00_2390 = STRING_LENGTH(BgL_string1z00_2388);
										if ((BgL_l1z00_2390 == 4L))
											{	/* Eval/library.scm 260 */
												int BgL_arg1514z00_2393;

												{	/* Eval/library.scm 260 */
													char *BgL_auxz00_3750;
													char *BgL_tmpz00_3748;

													BgL_auxz00_3750 =
														BSTRING_TO_STRING(BGl_string1976z00zz__libraryz00);
													BgL_tmpz00_3748 =
														BSTRING_TO_STRING(BgL_string1z00_2388);
													BgL_arg1514z00_2393 =
														memcmp(BgL_tmpz00_3748, BgL_auxz00_3750,
														BgL_l1z00_2390);
												}
												BgL_test2218z00_3743 =
													((long) (BgL_arg1514z00_2393) == 0L);
											}
										else
											{	/* Eval/library.scm 260 */
												BgL_test2218z00_3743 = ((bool_t) 0);
											}
									}
								}
								if (BgL_test2218z00_3743)
									{	/* Eval/library.scm 260 */
										BgL_test2217z00_3742 = ((bool_t) 1);
									}
								else
									{	/* Eval/library.scm 261 */
										obj_t BgL_string1z00_2399;

										BgL_string1z00_2399 = string_to_bstring(OS_CLASS);
										{	/* Eval/library.scm 261 */
											long BgL_l1z00_2401;

											BgL_l1z00_2401 = STRING_LENGTH(BgL_string1z00_2399);
											if ((BgL_l1z00_2401 == 5L))
												{	/* Eval/library.scm 261 */
													int BgL_arg1514z00_2404;

													{	/* Eval/library.scm 261 */
														char *BgL_auxz00_3761;
														char *BgL_tmpz00_3759;

														BgL_auxz00_3761 =
															BSTRING_TO_STRING
															(BGl_string1977z00zz__libraryz00);
														BgL_tmpz00_3759 =
															BSTRING_TO_STRING(BgL_string1z00_2399);
														BgL_arg1514z00_2404 =
															memcmp(BgL_tmpz00_3759, BgL_auxz00_3761,
															BgL_l1z00_2401);
													}
													BgL_test2217z00_3742 =
														((long) (BgL_arg1514z00_2404) == 0L);
												}
											else
												{	/* Eval/library.scm 261 */
													BgL_test2217z00_3742 = ((bool_t) 0);
												}
										}
									}
							}
							if (BgL_test2217z00_3742)
								{	/* Eval/library.scm 260 */
									if (CBOOL(BgL_versionz00_1421))
										{	/* Eval/library.scm 248 */
											if (STRINGP(BgL_versionz00_1421))
												{	/* Eval/library.scm 251 */
													obj_t BgL_list1373z00_2411;

													{	/* Eval/library.scm 251 */
														obj_t BgL_arg1374z00_2412;

														{	/* Eval/library.scm 251 */
															obj_t BgL_arg1376z00_2413;

															{	/* Eval/library.scm 251 */
																obj_t BgL_arg1377z00_2414;

																{	/* Eval/library.scm 251 */
																	obj_t BgL_arg1378z00_2415;

																	BgL_arg1378z00_2415 =
																		MAKE_YOUNG_PAIR(BgL_versionz00_1421, BNIL);
																	BgL_arg1377z00_2414 =
																		MAKE_YOUNG_PAIR
																		(BGl_string1978z00zz__libraryz00,
																		BgL_arg1378z00_2415);
																}
																BgL_arg1376z00_2413 =
																	MAKE_YOUNG_PAIR
																	(BGl_libraryzd2threadzd2suffixz00zz__libraryz00,
																	BgL_arg1377z00_2414);
															}
															BgL_arg1374z00_2412 =
																MAKE_YOUNG_PAIR(BgL_suffixz00_75,
																BgL_arg1376z00_2413);
														}
														BgL_list1373z00_2411 =
															MAKE_YOUNG_PAIR(BgL_basez00_1420,
															BgL_arg1374z00_2412);
													}
													return
														BGl_stringzd2appendzd2zz__r4_strings_6_7z00
														(BgL_list1373z00_2411);
												}
											else
												{	/* Eval/library.scm 250 */
													return
														BGl_errorz00zz__errorz00
														(BGl_symbol1979z00zz__libraryz00,
														BGl_string1981z00zz__libraryz00,
														BgL_versionz00_1421);
												}
										}
									else
										{	/* Eval/library.scm 248 */
											return
												string_append_3(BgL_basez00_1420, BgL_suffixz00_75,
												BGl_libraryzd2threadzd2suffixz00zz__libraryz00);
										}
								}
							else
								{	/* Eval/library.scm 263 */
									bool_t BgL_test2223z00_3778;

									{	/* Eval/library.scm 263 */
										obj_t BgL_string1z00_2416;

										BgL_string1z00_2416 = string_to_bstring(OS_CLASS);
										{	/* Eval/library.scm 263 */
											long BgL_l1z00_2418;

											BgL_l1z00_2418 = STRING_LENGTH(BgL_string1z00_2416);
											if ((BgL_l1z00_2418 == 5L))
												{	/* Eval/library.scm 263 */
													int BgL_arg1514z00_2421;

													{	/* Eval/library.scm 263 */
														char *BgL_auxz00_3785;
														char *BgL_tmpz00_3783;

														BgL_auxz00_3785 =
															BSTRING_TO_STRING
															(BGl_string1982z00zz__libraryz00);
														BgL_tmpz00_3783 =
															BSTRING_TO_STRING(BgL_string1z00_2416);
														BgL_arg1514z00_2421 =
															memcmp(BgL_tmpz00_3783, BgL_auxz00_3785,
															BgL_l1z00_2418);
													}
													BgL_test2223z00_3778 =
														((long) (BgL_arg1514z00_2421) == 0L);
												}
											else
												{	/* Eval/library.scm 263 */
													BgL_test2223z00_3778 = ((bool_t) 0);
												}
										}
									}
									if (BgL_test2223z00_3778)
										{	/* Eval/library.scm 263 */
											return string_append(BgL_basez00_1420, BgL_suffixz00_75);
										}
									else
										{	/* Eval/library.scm 263 */
											return
												BGl_errorz00zz__errorz00
												(BGl_symbol1979z00zz__libraryz00,
												BGl_string1983z00zz__libraryz00,
												string_to_bstring(OS_CLASS));
										}
								}
						}
					else
						{	/* Eval/library.scm 257 */
							if ((BgL_backendz00_76 == BGl_symbol1984z00zz__libraryz00))
								{	/* Eval/library.scm 257 */
									if (CBOOL(BgL_versionz00_1421))
										{	/* Eval/library.scm 248 */
											if (STRINGP(BgL_versionz00_1421))
												{	/* Eval/library.scm 251 */
													obj_t BgL_list1373z00_2429;

													{	/* Eval/library.scm 251 */
														obj_t BgL_arg1374z00_2430;

														{	/* Eval/library.scm 251 */
															obj_t BgL_arg1376z00_2431;

															{	/* Eval/library.scm 251 */
																obj_t BgL_arg1377z00_2432;

																{	/* Eval/library.scm 251 */
																	obj_t BgL_arg1378z00_2433;

																	BgL_arg1378z00_2433 =
																		MAKE_YOUNG_PAIR(BgL_versionz00_1421, BNIL);
																	BgL_arg1377z00_2432 =
																		MAKE_YOUNG_PAIR
																		(BGl_string1978z00zz__libraryz00,
																		BgL_arg1378z00_2433);
																}
																BgL_arg1376z00_2431 =
																	MAKE_YOUNG_PAIR
																	(BGl_libraryzd2threadzd2suffixz00zz__libraryz00,
																	BgL_arg1377z00_2432);
															}
															BgL_arg1374z00_2430 =
																MAKE_YOUNG_PAIR(BgL_suffixz00_75,
																BgL_arg1376z00_2431);
														}
														BgL_list1373z00_2429 =
															MAKE_YOUNG_PAIR(BgL_basez00_1420,
															BgL_arg1374z00_2430);
													}
													return
														BGl_stringzd2appendzd2zz__r4_strings_6_7z00
														(BgL_list1373z00_2429);
												}
											else
												{	/* Eval/library.scm 250 */
													return
														BGl_errorz00zz__errorz00
														(BGl_symbol1979z00zz__libraryz00,
														BGl_string1981z00zz__libraryz00,
														BgL_versionz00_1421);
												}
										}
									else
										{	/* Eval/library.scm 248 */
											return
												string_append_3(BgL_basez00_1420, BgL_suffixz00_75,
												BGl_libraryzd2threadzd2suffixz00zz__libraryz00);
										}
								}
							else
								{	/* Eval/library.scm 257 */
									bool_t BgL_test2228z00_3807;

									{	/* Eval/library.scm 257 */
										bool_t BgL__ortest_1042z00_1439;

										BgL__ortest_1042z00_1439 =
											(BgL_backendz00_76 == BGl_symbol1986z00zz__libraryz00);
										if (BgL__ortest_1042z00_1439)
											{	/* Eval/library.scm 257 */
												BgL_test2228z00_3807 = BgL__ortest_1042z00_1439;
											}
										else
											{	/* Eval/library.scm 257 */
												BgL_test2228z00_3807 =
													(BgL_backendz00_76 ==
													BGl_symbol1988z00zz__libraryz00);
											}
									}
									if (BgL_test2228z00_3807)
										{	/* Eval/library.scm 257 */
											if (CBOOL(BgL_versionz00_1421))
												{	/* Eval/library.scm 248 */
													if (STRINGP(BgL_versionz00_1421))
														{	/* Eval/library.scm 251 */
															obj_t BgL_list1373z00_2435;

															{	/* Eval/library.scm 251 */
																obj_t BgL_arg1374z00_2436;

																{	/* Eval/library.scm 251 */
																	obj_t BgL_arg1376z00_2437;

																	{	/* Eval/library.scm 251 */
																		obj_t BgL_arg1377z00_2438;

																		{	/* Eval/library.scm 251 */
																			obj_t BgL_arg1378z00_2439;

																			BgL_arg1378z00_2439 =
																				MAKE_YOUNG_PAIR(BgL_versionz00_1421,
																				BNIL);
																			BgL_arg1377z00_2438 =
																				MAKE_YOUNG_PAIR
																				(BGl_string1978z00zz__libraryz00,
																				BgL_arg1378z00_2439);
																		}
																		BgL_arg1376z00_2437 =
																			MAKE_YOUNG_PAIR
																			(BGl_libraryzd2threadzd2suffixz00zz__libraryz00,
																			BgL_arg1377z00_2438);
																	}
																	BgL_arg1374z00_2436 =
																		MAKE_YOUNG_PAIR(BgL_suffixz00_75,
																		BgL_arg1376z00_2437);
																}
																BgL_list1373z00_2435 =
																	MAKE_YOUNG_PAIR(BgL_basez00_1420,
																	BgL_arg1374z00_2436);
															}
															return
																BGl_stringzd2appendzd2zz__r4_strings_6_7z00
																(BgL_list1373z00_2435);
														}
													else
														{	/* Eval/library.scm 250 */
															return
																BGl_errorz00zz__errorz00
																(BGl_symbol1979z00zz__libraryz00,
																BGl_string1981z00zz__libraryz00,
																BgL_versionz00_1421);
														}
												}
											else
												{	/* Eval/library.scm 248 */
													return
														string_append_3(BgL_basez00_1420, BgL_suffixz00_75,
														BGl_libraryzd2threadzd2suffixz00zz__libraryz00);
												}
										}
									else
										{	/* Eval/library.scm 257 */
											return
												BGl_errorz00zz__errorz00
												(BGl_symbol1979z00zz__libraryz00,
												BGl_string1990z00zz__libraryz00, BgL_backendz00_76);
										}
								}
						}
				}
			}
		}

	}



/* &library-file-name */
	obj_t BGl_z62libraryzd2filezd2namez62zz__libraryz00(obj_t BgL_envz00_2752,
		obj_t BgL_libraryz00_2753, obj_t BgL_suffixz00_2754,
		obj_t BgL_backendz00_2755)
	{
		{	/* Eval/library.scm 244 */
			{	/* Eval/library.scm 255 */
				obj_t BgL_auxz00_3838;
				obj_t BgL_auxz00_3831;
				obj_t BgL_auxz00_3824;

				if (SYMBOLP(BgL_backendz00_2755))
					{	/* Eval/library.scm 255 */
						BgL_auxz00_3838 = BgL_backendz00_2755;
					}
				else
					{
						obj_t BgL_auxz00_3841;

						BgL_auxz00_3841 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string1913z00zz__libraryz00,
							BINT(9176L), BGl_string1991z00zz__libraryz00,
							BGl_string1930z00zz__libraryz00, BgL_backendz00_2755);
						FAILURE(BgL_auxz00_3841, BFALSE, BFALSE);
					}
				if (STRINGP(BgL_suffixz00_2754))
					{	/* Eval/library.scm 255 */
						BgL_auxz00_3831 = BgL_suffixz00_2754;
					}
				else
					{
						obj_t BgL_auxz00_3834;

						BgL_auxz00_3834 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string1913z00zz__libraryz00,
							BINT(9176L), BGl_string1991z00zz__libraryz00,
							BGl_string1915z00zz__libraryz00, BgL_suffixz00_2754);
						FAILURE(BgL_auxz00_3834, BFALSE, BFALSE);
					}
				if (SYMBOLP(BgL_libraryz00_2753))
					{	/* Eval/library.scm 255 */
						BgL_auxz00_3824 = BgL_libraryz00_2753;
					}
				else
					{
						obj_t BgL_auxz00_3827;

						BgL_auxz00_3827 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string1913z00zz__libraryz00,
							BINT(9176L), BGl_string1991z00zz__libraryz00,
							BGl_string1930z00zz__libraryz00, BgL_libraryz00_2753);
						FAILURE(BgL_auxz00_3827, BFALSE, BFALSE);
					}
				return
					BGl_libraryzd2filezd2namez00zz__libraryz00(BgL_auxz00_3824,
					BgL_auxz00_3831, BgL_auxz00_3838);
			}
		}

	}



/* library-loaded? */
	BGL_EXPORTED_DEF bool_t BGl_libraryzd2loadedzf3z21zz__libraryz00(obj_t
		BgL_libz00_78)
	{
		{	/* Eval/library.scm 291 */
			{	/* Eval/library.scm 292 */
				obj_t BgL_top2236z00_3847;

				BgL_top2236z00_3847 = BGL_EXITD_TOP_AS_OBJ();
				BGL_MUTEX_LOCK(BGl_za2libraryzd2mutexza2zd2zz__libraryz00);
				BGL_EXITD_PUSH_PROTECT(BgL_top2236z00_3847,
					BGl_za2libraryzd2mutexza2zd2zz__libraryz00);
				BUNSPEC;
				{	/* Eval/library.scm 292 */
					bool_t BgL_tmp2235z00_3846;

					BgL_tmp2235z00_3846 =
						CBOOL(BGl_memqz00zz__r4_pairs_and_lists_6_3z00(BgL_libz00_78,
							BGl_za2loadedzd2librariesza2zd2zz__libraryz00));
					BGL_EXITD_POP_PROTECT(BgL_top2236z00_3847);
					BUNSPEC;
					BGL_MUTEX_UNLOCK(BGl_za2libraryzd2mutexza2zd2zz__libraryz00);
					return BgL_tmp2235z00_3846;
				}
			}
		}

	}



/* &library-loaded? */
	obj_t BGl_z62libraryzd2loadedzf3z43zz__libraryz00(obj_t BgL_envz00_2756,
		obj_t BgL_libz00_2757)
	{
		{	/* Eval/library.scm 291 */
			{	/* Eval/library.scm 292 */
				bool_t BgL_tmpz00_3855;

				{	/* Eval/library.scm 292 */
					obj_t BgL_auxz00_3856;

					if (SYMBOLP(BgL_libz00_2757))
						{	/* Eval/library.scm 292 */
							BgL_auxz00_3856 = BgL_libz00_2757;
						}
					else
						{
							obj_t BgL_auxz00_3859;

							BgL_auxz00_3859 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string1913z00zz__libraryz00,
								BINT(10618L), BGl_string1992z00zz__libraryz00,
								BGl_string1930z00zz__libraryz00, BgL_libz00_2757);
							FAILURE(BgL_auxz00_3859, BFALSE, BFALSE);
						}
					BgL_tmpz00_3855 =
						BGl_libraryzd2loadedzf3z21zz__libraryz00(BgL_auxz00_3856);
				}
				return BBOOL(BgL_tmpz00_3855);
			}
		}

	}



/* library-mark-loaded! */
	BGL_EXPORTED_DEF obj_t BGl_libraryzd2markzd2loadedz12z12zz__libraryz00(obj_t
		BgL_libz00_79)
	{
		{	/* Eval/library.scm 298 */
			BGL_MUTEX_LOCK(BGl_za2libraryzd2mutexza2zd2zz__libraryz00);
			{	/* Eval/library.scm 299 */
				obj_t BgL_tmp2238z00_3865;

				BgL_tmp2238z00_3865 = (BGl_za2loadedzd2librariesza2zd2zz__libraryz00 =
					MAKE_YOUNG_PAIR(BgL_libz00_79,
						BGl_za2loadedzd2librariesza2zd2zz__libraryz00), BUNSPEC);
				BGL_MUTEX_UNLOCK(BGl_za2libraryzd2mutexza2zd2zz__libraryz00);
				BgL_tmp2238z00_3865;
			}
			return BUNSPEC;
		}

	}



/* &library-mark-loaded! */
	obj_t BGl_z62libraryzd2markzd2loadedz12z70zz__libraryz00(obj_t
		BgL_envz00_2758, obj_t BgL_libz00_2759)
	{
		{	/* Eval/library.scm 298 */
			{	/* Eval/library.scm 300 */
				obj_t BgL_auxz00_3869;

				if (SYMBOLP(BgL_libz00_2759))
					{	/* Eval/library.scm 300 */
						BgL_auxz00_3869 = BgL_libz00_2759;
					}
				else
					{
						obj_t BgL_auxz00_3872;

						BgL_auxz00_3872 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string1913z00zz__libraryz00,
							BINT(11036L), BGl_string1993z00zz__libraryz00,
							BGl_string1930z00zz__libraryz00, BgL_libz00_2759);
						FAILURE(BgL_auxz00_3872, BFALSE, BFALSE);
					}
				return BGl_libraryzd2markzd2loadedz12z12zz__libraryz00(BgL_auxz00_3869);
			}
		}

	}



/* load-init */
	obj_t BGl_loadzd2initzd2zz__libraryz00(obj_t BgL_initz00_80)
	{
		{	/* Eval/library.scm 306 */
			{	/* Eval/library.scm 307 */
				obj_t BgL_top2241z00_3878;

				BgL_top2241z00_3878 = BGL_EXITD_TOP_AS_OBJ();
				BGL_MUTEX_LOCK(BGl_za2libraryzd2mutexza2zd2zz__libraryz00);
				BGL_EXITD_PUSH_PROTECT(BgL_top2241z00_3878,
					BGl_za2libraryzd2mutexza2zd2zz__libraryz00);
				BUNSPEC;
				{	/* Eval/library.scm 307 */
					obj_t BgL_tmp2240z00_3877;

					if (CBOOL(BGl_memberz00zz__r4_pairs_and_lists_6_3z00(BgL_initz00_80,
								BGl_za2loadedzd2initzd2librariesza2z00zz__libraryz00)))
						{	/* Eval/library.scm 308 */
							BgL_tmp2240z00_3877 = BFALSE;
						}
					else
						{	/* Eval/library.scm 308 */
							BGl_za2loadedzd2initzd2librariesza2z00zz__libraryz00 =
								MAKE_YOUNG_PAIR(BgL_initz00_80,
								BGl_za2loadedzd2initzd2librariesza2z00zz__libraryz00);
							{	/* Eval/eval.scm 92 */
								obj_t BgL_envz00_1454;

								BgL_envz00_1454 = BGl_defaultzd2environmentzd2zz__evalz00();
								{	/* Eval/eval.scm 92 */

									BgL_tmp2240z00_3877 =
										BGl_loadqz00zz__evalz00(BgL_initz00_80, BgL_envz00_1454);
								}
							}
						}
					BGL_EXITD_POP_PROTECT(BgL_top2241z00_3878);
					BUNSPEC;
					BGL_MUTEX_UNLOCK(BGl_za2libraryzd2mutexza2zd2zz__libraryz00);
					return BgL_tmp2240z00_3877;
				}
			}
		}

	}



/* library-load */
	BGL_EXPORTED_DEF obj_t BGl_libraryzd2loadzd2zz__libraryz00(obj_t
		BgL_libz00_81, obj_t BgL_pathz00_82)
	{
		{	/* Eval/library.scm 315 */
			{

				{	/* Eval/library.scm 399 */
					obj_t BgL_modz00_1456;

					BgL_modz00_1456 = BGl_evalzd2modulezd2zz__evmodulez00();
					{	/* Eval/library.scm 400 */
						obj_t BgL_tmpz00_3891;

						BgL_tmpz00_3891 = BGl_interactionzd2environmentzd2zz__evalz00();
						BGL_MODULE_SET(BgL_tmpz00_3891);
					}
					{	/* Eval/library.scm 401 */
						obj_t BgL_exitd1048z00_1458;

						BgL_exitd1048z00_1458 = BGL_EXITD_TOP_AS_OBJ();
						{	/* Eval/library.scm 403 */
							obj_t BgL_zc3z04anonymousza31382ze3z87_2760;

							BgL_zc3z04anonymousza31382ze3z87_2760 =
								MAKE_FX_PROCEDURE
								(BGl_z62zc3z04anonymousza31382ze3ze5zz__libraryz00, (int) (0L),
								(int) (1L));
							PROCEDURE_SET(BgL_zc3z04anonymousza31382ze3z87_2760, (int) (0L),
								BgL_modz00_1456);
							{	/* Eval/library.scm 401 */
								obj_t BgL_arg1804z00_2466;

								{	/* Eval/library.scm 401 */
									obj_t BgL_arg1805z00_2467;

									BgL_arg1805z00_2467 =
										BGL_EXITD_PROTECT(BgL_exitd1048z00_1458);
									BgL_arg1804z00_2466 =
										MAKE_YOUNG_PAIR(BgL_zc3z04anonymousza31382ze3z87_2760,
										BgL_arg1805z00_2467);
								}
								BGL_EXITD_PROTECT_SET(BgL_exitd1048z00_1458,
									BgL_arg1804z00_2466);
								BUNSPEC;
							}
							{	/* Eval/library.scm 402 */
								obj_t BgL_tmp1050z00_1460;

								if (STRINGP(BgL_libz00_81))
									{	/* Llib/os.scm 291 */

										BgL_tmp1050z00_1460 =
											BGl_dynamiczd2loadzd2zz__osz00(BgL_libz00_81,
											string_to_bstring(BGL_DYNAMIC_LOAD_INIT), BFALSE);
									}
								else
									{	/* Eval/library.scm 319 */
										if (SYMBOLP(BgL_libz00_81))
											{	/* Eval/library.scm 323 */
												bool_t BgL_test2245z00_3909;

												{	/* Eval/library.scm 323 */
													bool_t BgL_res1839z00_2442;

													{	/* Eval/library.scm 292 */
														obj_t BgL_top2247z00_3911;

														BgL_top2247z00_3911 = BGL_EXITD_TOP_AS_OBJ();
														BGL_MUTEX_LOCK
															(BGl_za2libraryzd2mutexza2zd2zz__libraryz00);
														BGL_EXITD_PUSH_PROTECT(BgL_top2247z00_3911,
															BGl_za2libraryzd2mutexza2zd2zz__libraryz00);
														BUNSPEC;
														{	/* Eval/library.scm 292 */
															bool_t BgL_tmp2246z00_3910;

															BgL_tmp2246z00_3910 =
																CBOOL(BGl_memqz00zz__r4_pairs_and_lists_6_3z00
																(BgL_libz00_81,
																	BGl_za2loadedzd2librariesza2zd2zz__libraryz00));
															BGL_EXITD_POP_PROTECT(BgL_top2247z00_3911);
															BUNSPEC;
															BGL_MUTEX_UNLOCK
																(BGl_za2libraryzd2mutexza2zd2zz__libraryz00);
															BgL_res1839z00_2442 = BgL_tmp2246z00_3910;
														}
													}
													BgL_test2245z00_3909 = BgL_res1839z00_2442;
												}
												if (BgL_test2245z00_3909)
													{	/* Eval/library.scm 175 */
														obj_t BgL_g1040z00_2444;

														BgL_g1040z00_2444 =
															BGl_assqz00zz__r4_pairs_and_lists_6_3z00
															(BgL_libz00_81,
															BGl_za2librariesza2z00zz__libraryz00);
														if (CBOOL(BgL_g1040z00_2444))
															{	/* Eval/library.scm 175 */
																BgL_tmp1050z00_1460 =
																	CDR(((obj_t) BgL_g1040z00_2444));
															}
														else
															{	/* Eval/library.scm 175 */
																BgL_tmp1050z00_1460 = BFALSE;
															}
													}
												else
													{	/* Eval/library.scm 326 */
														obj_t BgL_pathz00_1470;

														if (PAIRP(BgL_pathz00_82))
															{	/* Eval/library.scm 326 */
																BgL_pathz00_1470 = BgL_pathz00_82;
															}
														else
															{	/* Eval/library.scm 328 */
																obj_t BgL_venvz00_1524;

																BgL_venvz00_1524 =
																	BGl_getenvz00zz__osz00
																	(BGl_string1994z00zz__libraryz00);
																if (CBOOL(BgL_venvz00_1524))
																	{	/* Eval/library.scm 329 */
																		BgL_pathz00_1470 =
																			MAKE_YOUNG_PAIR
																			(BGl_string1995z00zz__libraryz00,
																			BGl_unixzd2pathzd2ze3listze3zz__osz00
																			(BgL_venvz00_1524));
																	}
																else
																	{	/* Eval/library.scm 329 */
																		BgL_pathz00_1470 =
																			BGl_bigloozd2libraryzd2pathz00zz__paramz00
																			();
																	}
															}
														{	/* Eval/library.scm 326 */
															obj_t BgL_initz00_1471;

															{	/* Eval/library.scm 332 */
																obj_t BgL_arg1416z00_1522;

																{	/* Eval/library.scm 230 */
																	obj_t BgL_arg1356z00_2448;

																	{	/* Eval/library.scm 230 */
																		obj_t BgL_arg1632z00_2450;

																		BgL_arg1632z00_2450 =
																			SYMBOL_TO_STRING(BgL_libz00_81);
																		BgL_arg1356z00_2448 =
																			BGl_stringzd2copyzd2zz__r4_strings_6_7z00
																			(BgL_arg1632z00_2450);
																	}
																	BgL_arg1416z00_1522 =
																		string_append(BgL_arg1356z00_2448,
																		BGl_string1972z00zz__libraryz00);
																}
																BgL_initz00_1471 =
																	BGl_findzd2filezf2pathz20zz__osz00
																	(BgL_arg1416z00_1522, BgL_pathz00_1470);
															}
															{	/* Eval/library.scm 332 */
																obj_t BgL_bez00_1472;

																BgL_bez00_1472 =
																	BGl_symbol1974z00zz__libraryz00;
																{	/* Eval/library.scm 333 */

																	if (CBOOL(BgL_initz00_1471))
																		{	/* Eval/library.scm 336 */
																			BGl_loadzd2initzd2zz__libraryz00
																				(BgL_initz00_1471);
																		}
																	else
																		{	/* Eval/library.scm 336 */
																			BFALSE;
																		}
																	{	/* Eval/library.scm 337 */
																		obj_t BgL_infoz00_1473;

																		{	/* Eval/library.scm 175 */
																			obj_t BgL_g1040z00_2452;

																			BgL_g1040z00_2452 =
																				BGl_assqz00zz__r4_pairs_and_lists_6_3z00
																				(BgL_libz00_81,
																				BGl_za2librariesza2z00zz__libraryz00);
																			if (CBOOL(BgL_g1040z00_2452))
																				{	/* Eval/library.scm 175 */
																					BgL_infoz00_1473 =
																						CDR(((obj_t) BgL_g1040z00_2452));
																				}
																			else
																				{	/* Eval/library.scm 175 */
																					BgL_infoz00_1473 = BFALSE;
																				}
																		}
																		{	/* Eval/library.scm 337 */
																			obj_t BgL_nz00_1474;

																			BgL_nz00_1474 =
																				BGl_makezd2sharedzd2libzd2namezd2zz__osz00
																				(BGl_libraryzd2filezd2namez00zz__libraryz00
																				(BgL_libz00_81,
																					BGl_string1912z00zz__libraryz00,
																					BgL_bez00_1472), BgL_bez00_1472);
																			{	/* Eval/library.scm 338 */
																				obj_t BgL_nsz00_1475;

																				BgL_nsz00_1475 =
																					BGl_makezd2sharedzd2libzd2namezd2zz__osz00
																					(BGl_libraryzd2filezd2namez00zz__libraryz00
																					(BgL_libz00_81,
																						string_append
																						(BGl_string1969z00zz__libraryz00,
																							BGl_evalzd2libraryzd2suffixz00zz__libraryz00
																							()), BgL_bez00_1472),
																					BgL_bez00_1472);
																				{	/* Eval/library.scm 340 */
																					obj_t BgL_nez00_1476;

																					BgL_nez00_1476 =
																						BGl_makezd2sharedzd2libzd2namezd2zz__osz00
																						(BGl_libraryzd2filezd2namez00zz__libraryz00
																						(BgL_libz00_81,
																							string_append
																							(BGl_string1970z00zz__libraryz00,
																								BGl_evalzd2libraryzd2suffixz00zz__libraryz00
																								()), BgL_bez00_1472),
																						BgL_bez00_1472);
																					{	/* Eval/library.scm 344 */
																						obj_t BgL_rscz00_1477;

																						{	/* Eval/library.scm 348 */
																							obj_t BgL_pz00_1512;

																							{	/* Eval/library.scm 349 */
																								obj_t BgL_arg1408z00_1514;

																								{	/* Eval/library.scm 349 */
																									obj_t BgL_arg1632z00_2456;

																									BgL_arg1632z00_2456 =
																										SYMBOL_TO_STRING
																										(BgL_libz00_81);
																									BgL_arg1408z00_1514 =
																										BGl_stringzd2copyzd2zz__r4_strings_6_7z00
																										(BgL_arg1632z00_2456);
																								}
																								BgL_pz00_1512 =
																									string_append_3
																									(BGl_string1996z00zz__libraryz00,
																									BgL_arg1408z00_1514,
																									BGl_string1997z00zz__libraryz00);
																							}
																							if (fexists(BSTRING_TO_STRING
																									(BgL_pz00_1512)))
																								{	/* Eval/library.scm 357 */
																									BgL_rscz00_1477 =
																										BgL_pz00_1512;
																								}
																							else
																								{	/* Eval/library.scm 357 */
																									BgL_rscz00_1477 = BFALSE;
																								}
																						}
																						{	/* Eval/library.scm 348 */
																							obj_t BgL_libsz00_1478;

																							BgL_libsz00_1478 =
																								BGl_findzd2filezf2pathz20zz__osz00
																								(BgL_nsz00_1475,
																								BgL_pathz00_1470);
																							{	/* Eval/library.scm 358 */
																								obj_t BgL_libez00_1479;

																								BgL_libez00_1479 =
																									BGl_findzd2filezf2pathz20zz__osz00
																									(BgL_nez00_1476,
																									BgL_pathz00_1470);
																								{	/* Eval/library.scm 359 */
																									obj_t BgL_namez00_1480;

																									{	/* Eval/library.scm 360 */
																										obj_t BgL_arg1632z00_2459;

																										BgL_arg1632z00_2459 =
																											SYMBOL_TO_STRING
																											(BgL_libz00_81);
																										BgL_namez00_1480 =
																											BGl_stringzd2copyzd2zz__r4_strings_6_7z00
																											(BgL_arg1632z00_2459);
																									}
																									{	/* Eval/library.scm 360 */
																										obj_t BgL_init_sz00_1481;

																										if (CBOOL(BgL_infoz00_1473))
																											{	/* Eval/library.scm 361 */
																												BgL_init_sz00_1481 =
																													STRUCT_REF(
																													((obj_t)
																														BgL_infoz00_1473),
																													(int) (3L));
																											}
																										else
																											{	/* Eval/library.scm 361 */
																												BgL_init_sz00_1481 =
																													BFALSE;
																											}
																										{	/* Eval/library.scm 361 */
																											obj_t BgL_init_ez00_1482;

																											if (CBOOL
																												(BgL_infoz00_1473))
																												{	/* Eval/library.scm 362 */
																													BgL_init_ez00_1482 =
																														STRUCT_REF(
																														((obj_t)
																															BgL_infoz00_1473),
																														(int) (4L));
																												}
																											else
																												{	/* Eval/library.scm 362 */
																													BgL_init_ez00_1482 =
																														BFALSE;
																												}
																											{	/* Eval/library.scm 362 */
																												obj_t
																													BgL_module_sz00_1483;
																												if (CBOOL
																													(BgL_infoz00_1473))
																													{	/* Eval/library.scm 363 */
																														BgL_module_sz00_1483
																															=
																															STRUCT_REF((
																																(obj_t)
																																BgL_infoz00_1473),
																															(int) (5L));
																													}
																												else
																													{	/* Eval/library.scm 363 */
																														BgL_module_sz00_1483
																															= BFALSE;
																													}
																												{	/* Eval/library.scm 363 */
																													obj_t
																														BgL_module_ez00_1484;
																													if (CBOOL
																														(BgL_infoz00_1473))
																														{	/* Eval/library.scm 367 */
																															BgL_module_ez00_1484
																																=
																																STRUCT_REF((
																																	(obj_t)
																																	BgL_infoz00_1473),
																																(int) (6L));
																														}
																													else
																														{	/* Eval/library.scm 367 */
																															BgL_module_ez00_1484
																																= BFALSE;
																														}
																													{	/* Eval/library.scm 367 */

																														{	/* Eval/library.scm 372 */
																															bool_t
																																BgL_test2258z00_3984;
																															if (STRINGP
																																(BgL_rscz00_1477))
																																{	/* Eval/library.scm 372 */
																																	BgL_test2258z00_3984
																																		=
																																		((bool_t)
																																		0);
																																}
																															else
																																{	/* Eval/library.scm 372 */
																																	if (STRINGP
																																		(BgL_libsz00_1478))
																																		{	/* Eval/library.scm 372 */
																																			BgL_test2258z00_3984
																																				=
																																				(
																																				(bool_t)
																																				0);
																																		}
																																	else
																																		{	/* Eval/library.scm 372 */
																																			BgL_test2258z00_3984
																																				=
																																				(
																																				(bool_t)
																																				1);
																																		}
																																}
																															if (BgL_test2258z00_3984)
																																{	/* Eval/library.scm 374 */
																																	obj_t
																																		BgL_arg1391z00_1488;
																																	{	/* Eval/library.scm 374 */
																																		obj_t
																																			BgL_list1392z00_1489;
																																		{	/* Eval/library.scm 374 */
																																			obj_t
																																				BgL_arg1395z00_1490;
																																			BgL_arg1395z00_1490
																																				=
																																				MAKE_YOUNG_PAIR
																																				(BgL_nsz00_1475,
																																				BNIL);
																																			BgL_list1392z00_1489
																																				=
																																				MAKE_YOUNG_PAIR
																																				(BgL_libz00_81,
																																				BgL_arg1395z00_1490);
																																		}
																																		BgL_arg1391z00_1488
																																			=
																																			BGl_formatz00zz__r4_output_6_10_3z00
																																			(BGl_string1998z00zz__libraryz00,
																																			BgL_list1392z00_1489);
																																	}
																																	BGl_errorz00zz__errorz00
																																		(BGl_symbol1999z00zz__libraryz00,
																																		BgL_arg1391z00_1488,
																																		BgL_pathz00_1470);
																																}
																															else
																																{	/* Eval/library.scm 372 */
																																	if (STRINGP
																																		(BgL_libez00_1479))
																																		{	/* Eval/library.scm 376 */
																																			if (STRINGP(BgL_libsz00_1478))
																																				{	/* Eval/library.scm 389 */
																																					BGl_dynamiczd2loadzd2zz__osz00
																																						(BgL_libsz00_1478,
																																						BgL_init_sz00_1481,
																																						BgL_module_sz00_1483);
																																				}
																																			else
																																				{	/* Eval/library.scm 389 */
																																					BGl_dynamiczd2loadzd2zz__osz00
																																						(BgL_rscz00_1477,
																																						BgL_init_sz00_1481,
																																						BgL_module_sz00_1483);
																																				}
																																			BGl_dynamiczd2loadzd2zz__osz00
																																				(BgL_libez00_1479,
																																				BgL_init_ez00_1482,
																																				BgL_module_ez00_1484);
																																		}
																																	else
																																		{	/* Eval/library.scm 376 */
																																			{	/* Eval/library.scm 382 */
																																				obj_t
																																					BgL_arg1398z00_1493;
																																				{	/* Eval/library.scm 382 */
																																					obj_t
																																						BgL_list1402z00_1497;
																																					{	/* Eval/library.scm 382 */
																																						obj_t
																																							BgL_arg1403z00_1498;
																																						BgL_arg1403z00_1498
																																							=
																																							MAKE_YOUNG_PAIR
																																							(BgL_nez00_1476,
																																							BNIL);
																																						BgL_list1402z00_1497
																																							=
																																							MAKE_YOUNG_PAIR
																																							(BgL_libz00_81,
																																							BgL_arg1403z00_1498);
																																					}
																																					BgL_arg1398z00_1493
																																						=
																																						BGl_formatz00zz__r4_output_6_10_3z00
																																						(BGl_string2001z00zz__libraryz00,
																																						BgL_list1402z00_1497);
																																				}
																																				{	/* Eval/library.scm 379 */
																																					obj_t
																																						BgL_list1399z00_1494;
																																					{	/* Eval/library.scm 379 */
																																						obj_t
																																							BgL_arg1400z00_1495;
																																						{	/* Eval/library.scm 379 */
																																							obj_t
																																								BgL_arg1401z00_1496;
																																							BgL_arg1401z00_1496
																																								=
																																								MAKE_YOUNG_PAIR
																																								(BgL_pathz00_1470,
																																								BNIL);
																																							BgL_arg1400z00_1495
																																								=
																																								MAKE_YOUNG_PAIR
																																								(BgL_arg1398z00_1493,
																																								BgL_arg1401z00_1496);
																																						}
																																						BgL_list1399z00_1494
																																							=
																																							MAKE_YOUNG_PAIR
																																							(BGl_string2000z00zz__libraryz00,
																																							BgL_arg1400z00_1495);
																																					}
																																					BGl_evwarningz00zz__everrorz00
																																						(BFALSE,
																																						BgL_list1399z00_1494);
																																				}
																																			}
																																			if (STRINGP(BgL_libsz00_1478))
																																				{	/* Eval/library.scm 385 */
																																					BGl_dynamiczd2loadzd2zz__osz00
																																						(BgL_libsz00_1478,
																																						BgL_init_sz00_1481,
																																						BgL_module_sz00_1483);
																																				}
																																			else
																																				{	/* Eval/library.scm 385 */
																																					BGl_dynamiczd2loadzd2zz__osz00
																																						(BgL_rscz00_1477,
																																						BgL_init_sz00_1481,
																																						BgL_module_sz00_1483);
																																				}
																																		}
																																}
																														}
																														{	/* Eval/library.scm 393 */
																															bool_t
																																BgL_test2264z00_4011;
																															if (CBOOL
																																(BgL_infoz00_1473))
																																{	/* Eval/library.scm 393 */
																																	BgL_test2264z00_4011
																																		=
																																		CBOOL
																																		(STRUCT_REF(
																																			((obj_t)
																																				BgL_infoz00_1473),
																																			(int)
																																			(9L)));
																																}
																															else
																																{	/* Eval/library.scm 393 */
																																	BgL_test2264z00_4011
																																		=
																																		((bool_t)
																																		0);
																																}
																															if (BgL_test2264z00_4011)
																																{	/* Eval/library.scm 394 */
																																	obj_t
																																		BgL_g1406z00_1503;
																																	BgL_g1406z00_1503
																																		=
																																		BGl_list2002z00zz__libraryz00;
																																	{	/* Eval/eval.scm 81 */
																																		obj_t
																																			BgL_envz00_1504;
																																		BgL_envz00_1504
																																			=
																																			BGl_defaultzd2environmentzd2zz__evalz00
																																			();
																																		{	/* Eval/eval.scm 81 */

																																			BGl_evalz00zz__evalz00
																																				(BgL_g1406z00_1503,
																																				BgL_envz00_1504);
																																		}
																																	}
																																}
																															else
																																{	/* Eval/library.scm 393 */
																																	BFALSE;
																																}
																														}
																														{	/* Eval/library.scm 395 */
																															bool_t
																																BgL_test2266z00_4020;
																															if (CBOOL
																																(BgL_infoz00_1473))
																																{	/* Eval/library.scm 395 */
																																	BgL_test2266z00_4020
																																		=
																																		CBOOL
																																		(STRUCT_REF(
																																			((obj_t)
																																				BgL_infoz00_1473),
																																			(int)
																																			(10L)));
																																}
																															else
																																{	/* Eval/library.scm 395 */
																																	BgL_test2266z00_4020
																																		=
																																		((bool_t)
																																		0);
																																}
																															if (BgL_test2266z00_4020)
																																{	/* Eval/library.scm 396 */
																																	obj_t
																																		BgL_g1406z00_1506;
																																	BgL_g1406z00_1506
																																		=
																																		BGl_list2008z00zz__libraryz00;
																																	{	/* Eval/eval.scm 81 */
																																		obj_t
																																			BgL_envz00_1507;
																																		BgL_envz00_1507
																																			=
																																			BGl_defaultzd2environmentzd2zz__evalz00
																																			();
																																		{	/* Eval/eval.scm 81 */

																																			BGl_evalz00zz__evalz00
																																				(BgL_g1406z00_1506,
																																				BgL_envz00_1507);
																																		}
																																	}
																																}
																															else
																																{	/* Eval/library.scm 395 */
																																	BFALSE;
																																}
																														}
																														BgL_tmp1050z00_1460
																															=
																															BgL_infoz00_1473;
																													}
																												}
																											}
																										}
																									}
																								}
																							}
																						}
																					}
																				}
																			}
																		}
																	}
																}
															}
														}
													}
											}
										else
											{	/* Eval/library.scm 321 */
												BgL_tmp1050z00_1460 =
													BGl_bigloozd2typezd2errorz00zz__errorz00
													(BGl_symbol1999z00zz__libraryz00,
													BGl_string2012z00zz__libraryz00, BgL_libz00_81);
											}
									}
								{	/* Eval/library.scm 401 */
									bool_t BgL_test2268z00_4030;

									{	/* Eval/library.scm 401 */
										obj_t BgL_arg1803z00_2469;

										BgL_arg1803z00_2469 =
											BGL_EXITD_PROTECT(BgL_exitd1048z00_1458);
										BgL_test2268z00_4030 = PAIRP(BgL_arg1803z00_2469);
									}
									if (BgL_test2268z00_4030)
										{	/* Eval/library.scm 401 */
											obj_t BgL_arg1800z00_2470;

											{	/* Eval/library.scm 401 */
												obj_t BgL_arg1801z00_2471;

												BgL_arg1801z00_2471 =
													BGL_EXITD_PROTECT(BgL_exitd1048z00_1458);
												BgL_arg1800z00_2470 =
													CDR(((obj_t) BgL_arg1801z00_2471));
											}
											BGL_EXITD_PROTECT_SET(BgL_exitd1048z00_1458,
												BgL_arg1800z00_2470);
											BUNSPEC;
										}
									else
										{	/* Eval/library.scm 401 */
											BFALSE;
										}
								}
								BGL_MODULE_SET(BgL_modz00_1456);
								return BgL_tmp1050z00_1460;
							}
						}
					}
				}
			}
		}

	}



/* &library-load */
	obj_t BGl_z62libraryzd2loadzb0zz__libraryz00(obj_t BgL_envz00_2761,
		obj_t BgL_libz00_2762, obj_t BgL_pathz00_2763)
	{
		{	/* Eval/library.scm 315 */
			return
				BGl_libraryzd2loadzd2zz__libraryz00(BgL_libz00_2762, BgL_pathz00_2763);
		}

	}



/* &<@anonymous:1382> */
	obj_t BGl_z62zc3z04anonymousza31382ze3ze5zz__libraryz00(obj_t BgL_envz00_2764)
	{
		{	/* Eval/library.scm 401 */
			{	/* Eval/library.scm 403 */
				obj_t BgL_tmpz00_4039;

				BgL_tmpz00_4039 = PROCEDURE_REF(BgL_envz00_2764, (int) (0L));
				return BGL_MODULE_SET(BgL_tmpz00_4039);
			}
		}

	}



/* library-load-init */
	BGL_EXPORTED_DEF obj_t BGl_libraryzd2loadzd2initz00zz__libraryz00(obj_t
		BgL_libz00_83, obj_t BgL_pathz00_84)
	{
		{	/* Eval/library.scm 413 */
			{	/* Eval/library.scm 414 */
				obj_t BgL_initz00_1527;

				{	/* Eval/library.scm 414 */
					obj_t BgL_arg1421z00_1530;

					{	/* Eval/library.scm 230 */
						obj_t BgL_arg1356z00_2474;

						{	/* Eval/library.scm 230 */
							obj_t BgL_arg1632z00_2476;

							BgL_arg1632z00_2476 = SYMBOL_TO_STRING(((obj_t) BgL_libz00_83));
							BgL_arg1356z00_2474 =
								BGl_stringzd2copyzd2zz__r4_strings_6_7z00(BgL_arg1632z00_2476);
						}
						BgL_arg1421z00_1530 =
							string_append(BgL_arg1356z00_2474,
							BGl_string1972z00zz__libraryz00);
					}
					BgL_initz00_1527 =
						BGl_findzd2filezf2pathz20zz__osz00(BgL_arg1421z00_1530,
						BgL_pathz00_84);
				}
				if (CBOOL(BgL_initz00_1527))
					{	/* Eval/library.scm 416 */
						bool_t BgL_tozd2loadzd2_1528;

						BgL_tozd2loadzd2_1528 = ((bool_t) 0);
						{	/* Eval/library.scm 417 */
							obj_t BgL_top2271z00_4051;

							BgL_top2271z00_4051 = BGL_EXITD_TOP_AS_OBJ();
							BGL_MUTEX_LOCK(BGl_za2libraryzd2mutexza2zd2zz__libraryz00);
							BGL_EXITD_PUSH_PROTECT(BgL_top2271z00_4051,
								BGl_za2libraryzd2mutexza2zd2zz__libraryz00);
							BUNSPEC;
							{	/* Eval/library.scm 417 */
								obj_t BgL_tmp2270z00_4050;

								if (CBOOL(BGl_memberz00zz__r4_pairs_and_lists_6_3z00
										(BgL_initz00_1527,
											BGl_za2loadedzd2initzd2filesza2z00zz__libraryz00)))
									{	/* Eval/library.scm 418 */
										BgL_tmp2270z00_4050 = BFALSE;
									}
								else
									{	/* Eval/library.scm 418 */
										BgL_tozd2loadzd2_1528 = ((bool_t) 1);
										BgL_tmp2270z00_4050 =
											(BGl_za2loadedzd2initzd2filesza2z00zz__libraryz00 =
											MAKE_YOUNG_PAIR(BgL_initz00_1527,
												BGl_za2loadedzd2initzd2filesza2z00zz__libraryz00),
											BUNSPEC);
									}
								BGL_EXITD_POP_PROTECT(BgL_top2271z00_4051);
								BUNSPEC;
								BGL_MUTEX_UNLOCK(BGl_za2libraryzd2mutexza2zd2zz__libraryz00);
								BgL_tmp2270z00_4050;
							}
						}
						if (BgL_tozd2loadzd2_1528)
							{	/* Eval/library.scm 421 */
								return BGl_loadzd2initzd2zz__libraryz00(BgL_initz00_1527);
							}
						else
							{	/* Eval/library.scm 421 */
								return BFALSE;
							}
					}
				else
					{	/* Eval/library.scm 415 */
						return BFALSE;
					}
			}
		}

	}



/* &library-load-init */
	obj_t BGl_z62libraryzd2loadzd2initz62zz__libraryz00(obj_t BgL_envz00_2766,
		obj_t BgL_libz00_2767, obj_t BgL_pathz00_2768)
	{
		{	/* Eval/library.scm 413 */
			return
				BGl_libraryzd2loadzd2initz00zz__libraryz00(BgL_libz00_2767,
				BgL_pathz00_2768);
		}

	}



/* library-load_e */
	BGL_EXPORTED_DEF obj_t BGl_libraryzd2load_ezd2zz__libraryz00(obj_t
		BgL_libz00_85, obj_t BgL_pathz00_86)
	{
		{	/* Eval/library.scm 427 */
			{	/* Eval/library.scm 428 */
				obj_t BgL_modz00_1531;

				BgL_modz00_1531 = BGl_evalzd2modulezd2zz__evmodulez00();
				{	/* Eval/library.scm 429 */
					obj_t BgL_tmpz00_4065;

					BgL_tmpz00_4065 = BGl_interactionzd2environmentzd2zz__evalz00();
					BGL_MODULE_SET(BgL_tmpz00_4065);
				}
				{	/* Eval/library.scm 430 */
					obj_t BgL_exitd1052z00_1533;

					BgL_exitd1052z00_1533 = BGL_EXITD_TOP_AS_OBJ();
					{	/* Eval/library.scm 496 */
						obj_t BgL_zc3z04anonymousza31451ze3z87_2769;

						BgL_zc3z04anonymousza31451ze3z87_2769 =
							MAKE_FX_PROCEDURE
							(BGl_z62zc3z04anonymousza31451ze3ze5zz__libraryz00, (int) (0L),
							(int) (1L));
						PROCEDURE_SET(BgL_zc3z04anonymousza31451ze3z87_2769, (int) (0L),
							BgL_modz00_1531);
						{	/* Eval/library.scm 430 */
							obj_t BgL_arg1804z00_2477;

							{	/* Eval/library.scm 430 */
								obj_t BgL_arg1805z00_2478;

								BgL_arg1805z00_2478 = BGL_EXITD_PROTECT(BgL_exitd1052z00_1533);
								BgL_arg1804z00_2477 =
									MAKE_YOUNG_PAIR(BgL_zc3z04anonymousza31451ze3z87_2769,
									BgL_arg1805z00_2478);
							}
							BGL_EXITD_PROTECT_SET(BgL_exitd1052z00_1533, BgL_arg1804z00_2477);
							BUNSPEC;
						}
						{	/* Eval/library.scm 432 */
							obj_t BgL_tmp1054z00_1535;

							if (STRINGP(BgL_libz00_85))
								{	/* Llib/os.scm 291 */

									BgL_tmp1054z00_1535 =
										BGl_dynamiczd2loadzd2zz__osz00(BgL_libz00_85,
										string_to_bstring(BGL_DYNAMIC_LOAD_INIT), BFALSE);
								}
							else
								{	/* Eval/library.scm 432 */
									if (SYMBOLP(BgL_libz00_85))
										{	/* Eval/library.scm 437 */
											obj_t BgL_pathz00_1541;

											if (PAIRP(BgL_pathz00_86))
												{	/* Eval/library.scm 437 */
													BgL_pathz00_1541 = BgL_pathz00_86;
												}
											else
												{	/* Eval/library.scm 439 */
													obj_t BgL_venvz00_1582;

													BgL_venvz00_1582 =
														BGl_getenvz00zz__osz00
														(BGl_string1994z00zz__libraryz00);
													if (CBOOL(BgL_venvz00_1582))
														{	/* Eval/library.scm 440 */
															BgL_pathz00_1541 =
																MAKE_YOUNG_PAIR(BGl_string1995z00zz__libraryz00,
																BGl_unixzd2pathzd2ze3listze3zz__osz00
																(BgL_venvz00_1582));
														}
													else
														{	/* Eval/library.scm 440 */
															BgL_pathz00_1541 =
																BGl_bigloozd2libraryzd2pathz00zz__paramz00();
														}
												}
											{	/* Eval/library.scm 437 */
												obj_t BgL_bez00_1542;

												BgL_bez00_1542 = BGl_symbol1974z00zz__libraryz00;
												{	/* Eval/library.scm 443 */

													BGl_libraryzd2loadzd2initz00zz__libraryz00
														(BgL_libz00_85, BgL_pathz00_1541);
													{	/* Eval/library.scm 447 */
														obj_t BgL_infoz00_1543;

														{	/* Eval/library.scm 175 */
															obj_t BgL_g1040z00_2480;

															BgL_g1040z00_2480 =
																BGl_assqz00zz__r4_pairs_and_lists_6_3z00
																(BgL_libz00_85,
																BGl_za2librariesza2z00zz__libraryz00);
															if (CBOOL(BgL_g1040z00_2480))
																{	/* Eval/library.scm 175 */
																	BgL_infoz00_1543 =
																		CDR(((obj_t) BgL_g1040z00_2480));
																}
															else
																{	/* Eval/library.scm 175 */
																	BgL_infoz00_1543 = BFALSE;
																}
														}
														{	/* Eval/library.scm 447 */
															obj_t BgL_nz00_1544;

															BgL_nz00_1544 =
																BGl_makezd2sharedzd2libzd2namezd2zz__osz00
																(BGl_libraryzd2filezd2namez00zz__libraryz00
																(BgL_libz00_85, BGl_string1912z00zz__libraryz00,
																	BgL_bez00_1542), BgL_bez00_1542);
															{	/* Eval/library.scm 448 */
																obj_t BgL_nsz00_1545;

																BgL_nsz00_1545 =
																	BGl_makezd2sharedzd2libzd2namezd2zz__osz00
																	(BGl_libraryzd2filezd2namez00zz__libraryz00
																	(BgL_libz00_85,
																		string_append
																		(BGl_string1969z00zz__libraryz00,
																			BGl_evalzd2libraryzd2suffixz00zz__libraryz00
																			()), BgL_bez00_1542), BgL_bez00_1542);
																{	/* Eval/library.scm 451 */
																	obj_t BgL_nez00_1546;

																	BgL_nez00_1546 =
																		BGl_makezd2sharedzd2libzd2namezd2zz__osz00
																		(BGl_libraryzd2filezd2namez00zz__libraryz00
																		(BgL_libz00_85,
																			string_append
																			(BGl_string1970z00zz__libraryz00,
																				BGl_evalzd2libraryzd2suffixz00zz__libraryz00
																				()), BgL_bez00_1542), BgL_bez00_1542);
																	{	/* Eval/library.scm 455 */
																		obj_t BgL_rscz00_1547;

																		{	/* Eval/library.scm 459 */
																			obj_t BgL_pz00_1571;

																			{	/* Eval/library.scm 460 */
																				obj_t BgL_arg1438z00_1573;

																				{	/* Eval/library.scm 460 */
																					obj_t BgL_arg1632z00_2484;

																					BgL_arg1632z00_2484 =
																						SYMBOL_TO_STRING(BgL_libz00_85);
																					BgL_arg1438z00_1573 =
																						BGl_stringzd2copyzd2zz__r4_strings_6_7z00
																						(BgL_arg1632z00_2484);
																				}
																				BgL_pz00_1571 =
																					string_append_3
																					(BGl_string1996z00zz__libraryz00,
																					BgL_arg1438z00_1573,
																					BGl_string1997z00zz__libraryz00);
																			}
																			if (fexists(BSTRING_TO_STRING
																					(BgL_pz00_1571)))
																				{	/* Eval/library.scm 468 */
																					BgL_rscz00_1547 = BgL_pz00_1571;
																				}
																			else
																				{	/* Eval/library.scm 468 */
																					BgL_rscz00_1547 = BFALSE;
																				}
																		}
																		{	/* Eval/library.scm 459 */
																			obj_t BgL_libez00_1548;

																			BgL_libez00_1548 =
																				BGl_findzd2filezf2pathz20zz__osz00
																				(BgL_nez00_1546, BgL_pathz00_1541);
																			{	/* Eval/library.scm 469 */
																				obj_t BgL_namez00_1549;

																				{	/* Eval/library.scm 470 */
																					obj_t BgL_arg1632z00_2487;

																					BgL_arg1632z00_2487 =
																						SYMBOL_TO_STRING(BgL_libz00_85);
																					BgL_namez00_1549 =
																						BGl_stringzd2copyzd2zz__r4_strings_6_7z00
																						(BgL_arg1632z00_2487);
																				}
																				{	/* Eval/library.scm 470 */
																					obj_t BgL_init_ez00_1550;

																					if (CBOOL(BgL_infoz00_1543))
																						{	/* Eval/library.scm 471 */
																							BgL_init_ez00_1550 =
																								STRUCT_REF(
																								((obj_t) BgL_infoz00_1543),
																								(int) (4L));
																						}
																					else
																						{	/* Eval/library.scm 471 */
																							BgL_init_ez00_1550 = BFALSE;
																						}
																					{	/* Eval/library.scm 471 */
																						obj_t BgL_module_ez00_1551;

																						if (CBOOL(BgL_infoz00_1543))
																							{	/* Eval/library.scm 472 */
																								BgL_module_ez00_1551 =
																									STRUCT_REF(
																									((obj_t) BgL_infoz00_1543),
																									(int) (6L));
																							}
																						else
																							{	/* Eval/library.scm 472 */
																								BgL_module_ez00_1551 = BFALSE;
																							}
																						{	/* Eval/library.scm 472 */

																							if (STRINGP(BgL_rscz00_1547))
																								{	/* Eval/library.scm 477 */
																									if (STRINGP(BgL_libez00_1548))
																										{	/* Eval/library.scm 481 */
																											BGl_dynamiczd2loadzd2zz__osz00
																												(BgL_libez00_1548,
																												BgL_init_ez00_1550,
																												BgL_module_ez00_1551);
																										}
																									else
																										{	/* Eval/library.scm 487 */
																											obj_t BgL_arg1427z00_1554;

																											{	/* Eval/library.scm 487 */
																												obj_t
																													BgL_list1431z00_1558;
																												{	/* Eval/library.scm 487 */
																													obj_t
																														BgL_arg1432z00_1559;
																													BgL_arg1432z00_1559 =
																														MAKE_YOUNG_PAIR
																														(BgL_nez00_1546,
																														BNIL);
																													BgL_list1431z00_1558 =
																														MAKE_YOUNG_PAIR
																														(BgL_libz00_85,
																														BgL_arg1432z00_1559);
																												}
																												BgL_arg1427z00_1554 =
																													BGl_formatz00zz__r4_output_6_10_3z00
																													(BGl_string2001z00zz__libraryz00,
																													BgL_list1431z00_1558);
																											}
																											{	/* Eval/library.scm 484 */
																												obj_t
																													BgL_list1428z00_1555;
																												{	/* Eval/library.scm 484 */
																													obj_t
																														BgL_arg1429z00_1556;
																													{	/* Eval/library.scm 484 */
																														obj_t
																															BgL_arg1430z00_1557;
																														BgL_arg1430z00_1557
																															=
																															MAKE_YOUNG_PAIR
																															(BgL_pathz00_1541,
																															BNIL);
																														BgL_arg1429z00_1556
																															=
																															MAKE_YOUNG_PAIR
																															(BgL_arg1427z00_1554,
																															BgL_arg1430z00_1557);
																													}
																													BgL_list1428z00_1555 =
																														MAKE_YOUNG_PAIR
																														(BGl_string2000z00zz__libraryz00,
																														BgL_arg1429z00_1556);
																												}
																												BGl_evwarningz00zz__everrorz00
																													(BFALSE,
																													BgL_list1428z00_1555);
																											}
																										}
																								}
																							else
																								{	/* Eval/library.scm 479 */
																									obj_t BgL_arg1433z00_1560;

																									{	/* Eval/library.scm 479 */
																										obj_t BgL_list1434z00_1561;

																										{	/* Eval/library.scm 479 */
																											obj_t BgL_arg1435z00_1562;

																											BgL_arg1435z00_1562 =
																												MAKE_YOUNG_PAIR
																												(BgL_nsz00_1545, BNIL);
																											BgL_list1434z00_1561 =
																												MAKE_YOUNG_PAIR
																												(BgL_libz00_85,
																												BgL_arg1435z00_1562);
																										}
																										BgL_arg1433z00_1560 =
																											BGl_formatz00zz__r4_output_6_10_3z00
																											(BGl_string1998z00zz__libraryz00,
																											BgL_list1434z00_1561);
																									}
																									BGl_errorz00zz__errorz00
																										(BGl_symbol1999z00zz__libraryz00,
																										BgL_arg1433z00_1560,
																										BgL_pathz00_1541);
																								}
																							{	/* Eval/library.scm 492 */
																								bool_t BgL_test2284z00_4142;

																								if (CBOOL(BgL_infoz00_1543))
																									{	/* Eval/library.scm 492 */
																										BgL_test2284z00_4142 =
																											CBOOL(STRUCT_REF(
																												((obj_t)
																													BgL_infoz00_1543),
																												(int) (9L)));
																									}
																								else
																									{	/* Eval/library.scm 492 */
																										BgL_test2284z00_4142 =
																											((bool_t) 0);
																									}
																								if (BgL_test2284z00_4142)
																									{	/* Eval/library.scm 493 */
																										obj_t BgL_g1406z00_1564;

																										BgL_g1406z00_1564 =
																											BGl_list2002z00zz__libraryz00;
																										{	/* Eval/eval.scm 81 */
																											obj_t BgL_envz00_1565;

																											BgL_envz00_1565 =
																												BGl_defaultzd2environmentzd2zz__evalz00
																												();
																											{	/* Eval/eval.scm 81 */

																												BGl_evalz00zz__evalz00
																													(BgL_g1406z00_1564,
																													BgL_envz00_1565);
																											}
																										}
																									}
																								else
																									{	/* Eval/library.scm 492 */
																										BFALSE;
																									}
																							}
																							{	/* Eval/library.scm 494 */
																								bool_t BgL_test2286z00_4151;

																								if (CBOOL(BgL_infoz00_1543))
																									{	/* Eval/library.scm 494 */
																										BgL_test2286z00_4151 =
																											CBOOL(STRUCT_REF(
																												((obj_t)
																													BgL_infoz00_1543),
																												(int) (10L)));
																									}
																								else
																									{	/* Eval/library.scm 494 */
																										BgL_test2286z00_4151 =
																											((bool_t) 0);
																									}
																								if (BgL_test2286z00_4151)
																									{	/* Eval/library.scm 495 */
																										obj_t BgL_g1406z00_1567;

																										BgL_g1406z00_1567 =
																											BGl_list2008z00zz__libraryz00;
																										{	/* Eval/eval.scm 81 */
																											obj_t BgL_envz00_1568;

																											BgL_envz00_1568 =
																												BGl_defaultzd2environmentzd2zz__evalz00
																												();
																											{	/* Eval/eval.scm 81 */

																												BgL_tmp1054z00_1535 =
																													BGl_evalz00zz__evalz00
																													(BgL_g1406z00_1567,
																													BgL_envz00_1568);
																											}
																										}
																									}
																								else
																									{	/* Eval/library.scm 494 */
																										BgL_tmp1054z00_1535 =
																											BFALSE;
																									}
																							}
																						}
																					}
																				}
																			}
																		}
																	}
																}
															}
														}
													}
												}
											}
										}
									else
										{	/* Eval/library.scm 434 */
											BgL_tmp1054z00_1535 =
												BGl_bigloozd2typezd2errorz00zz__errorz00
												(BGl_symbol1999z00zz__libraryz00,
												BGl_string2012z00zz__libraryz00, BgL_libz00_85);
										}
								}
							{	/* Eval/library.scm 430 */
								bool_t BgL_test2288z00_4161;

								{	/* Eval/library.scm 430 */
									obj_t BgL_arg1803z00_2493;

									BgL_arg1803z00_2493 =
										BGL_EXITD_PROTECT(BgL_exitd1052z00_1533);
									BgL_test2288z00_4161 = PAIRP(BgL_arg1803z00_2493);
								}
								if (BgL_test2288z00_4161)
									{	/* Eval/library.scm 430 */
										obj_t BgL_arg1800z00_2494;

										{	/* Eval/library.scm 430 */
											obj_t BgL_arg1801z00_2495;

											BgL_arg1801z00_2495 =
												BGL_EXITD_PROTECT(BgL_exitd1052z00_1533);
											BgL_arg1800z00_2494 = CDR(((obj_t) BgL_arg1801z00_2495));
										}
										BGL_EXITD_PROTECT_SET(BgL_exitd1052z00_1533,
											BgL_arg1800z00_2494);
										BUNSPEC;
									}
								else
									{	/* Eval/library.scm 430 */
										BFALSE;
									}
							}
							BGL_MODULE_SET(BgL_modz00_1531);
							return BgL_tmp1054z00_1535;
						}
					}
				}
			}
		}

	}



/* &library-load_e */
	obj_t BGl_z62libraryzd2load_ezb0zz__libraryz00(obj_t BgL_envz00_2770,
		obj_t BgL_libz00_2771, obj_t BgL_pathz00_2772)
	{
		{	/* Eval/library.scm 427 */
			return
				BGl_libraryzd2load_ezd2zz__libraryz00(BgL_libz00_2771,
				BgL_pathz00_2772);
		}

	}



/* &<@anonymous:1451> */
	obj_t BGl_z62zc3z04anonymousza31451ze3ze5zz__libraryz00(obj_t BgL_envz00_2773)
	{
		{	/* Eval/library.scm 430 */
			{	/* Eval/library.scm 496 */
				obj_t BgL_tmpz00_4170;

				BgL_tmpz00_4170 = PROCEDURE_REF(BgL_envz00_2773, (int) (0L));
				return BGL_MODULE_SET(BgL_tmpz00_4170);
			}
		}

	}



/* library-exists? */
	BGL_EXPORTED_DEF obj_t BGl_libraryzd2existszf3z21zz__libraryz00(obj_t
		BgL_libz00_87, obj_t BgL_pathz00_88)
	{
		{	/* Eval/library.scm 501 */
			{	/* Eval/library.scm 502 */
				obj_t BgL_pathz00_1586;

				if (PAIRP(BgL_pathz00_88))
					{	/* Eval/library.scm 502 */
						BgL_pathz00_1586 = BgL_pathz00_88;
					}
				else
					{	/* Eval/library.scm 504 */
						obj_t BgL_venvz00_1595;

						BgL_venvz00_1595 =
							BGl_getenvz00zz__osz00(BGl_string1994z00zz__libraryz00);
						if (CBOOL(BgL_venvz00_1595))
							{	/* Eval/library.scm 505 */
								BgL_pathz00_1586 =
									MAKE_YOUNG_PAIR(BGl_string1995z00zz__libraryz00,
									BGl_unixzd2pathzd2ze3listze3zz__osz00(BgL_venvz00_1595));
							}
						else
							{	/* Eval/library.scm 505 */
								BgL_pathz00_1586 = BGl_bigloozd2libraryzd2pathz00zz__paramz00();
							}
					}
				{	/* Eval/library.scm 508 */
					obj_t BgL_heapz00_1588;

					{	/* Eval/library.scm 511 */
						obj_t BgL_arg1455z00_1593;

						{	/* Eval/library.scm 511 */
							obj_t BgL_arg1632z00_2498;

							BgL_arg1632z00_2498 = SYMBOL_TO_STRING(BgL_libz00_87);
							BgL_arg1455z00_1593 =
								BGl_stringzd2copyzd2zz__r4_strings_6_7z00(BgL_arg1632z00_2498);
						}
						BgL_heapz00_1588 =
							string_append(BgL_arg1455z00_1593,
							BGl_string2013z00zz__libraryz00);
					}
					{	/* Eval/library.scm 511 */
						obj_t BgL_initz00_1589;

						{	/* Eval/library.scm 512 */
							obj_t BgL_arg1453z00_1592;

							{	/* Eval/library.scm 512 */
								obj_t BgL_arg1632z00_2500;

								BgL_arg1632z00_2500 = SYMBOL_TO_STRING(BgL_libz00_87);
								BgL_arg1453z00_1592 =
									BGl_stringzd2copyzd2zz__r4_strings_6_7z00
									(BgL_arg1632z00_2500);
							}
							BgL_initz00_1589 =
								string_append(BgL_arg1453z00_1592,
								BGl_string1972z00zz__libraryz00);
						}
						{	/* Eval/library.scm 512 */

							{	/* Eval/library.scm 513 */
								obj_t BgL_arg1452z00_1590;

								{	/* Eval/library.scm 513 */
									obj_t BgL__ortest_1059z00_1591;

									BgL__ortest_1059z00_1591 =
										BGl_findzd2filezf2pathz20zz__osz00(BgL_heapz00_1588,
										BgL_pathz00_1586);
									if (CBOOL(BgL__ortest_1059z00_1591))
										{	/* Eval/library.scm 513 */
											BgL_arg1452z00_1590 = BgL__ortest_1059z00_1591;
										}
									else
										{	/* Eval/library.scm 513 */
											BgL_arg1452z00_1590 =
												BGl_findzd2filezf2pathz20zz__osz00(BgL_initz00_1589,
												BgL_pathz00_1586);
										}
								}
								return BBOOL(STRINGP(BgL_arg1452z00_1590));
							}
						}
					}
				}
			}
		}

	}



/* &library-exists? */
	obj_t BGl_z62libraryzd2existszf3z43zz__libraryz00(obj_t BgL_envz00_2775,
		obj_t BgL_libz00_2776, obj_t BgL_pathz00_2777)
	{
		{	/* Eval/library.scm 501 */
			{	/* Eval/library.scm 502 */
				obj_t BgL_auxz00_4194;

				if (SYMBOLP(BgL_libz00_2776))
					{	/* Eval/library.scm 502 */
						BgL_auxz00_4194 = BgL_libz00_2776;
					}
				else
					{
						obj_t BgL_auxz00_4197;

						BgL_auxz00_4197 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string1913z00zz__libraryz00,
							BINT(18154L), BGl_string2014z00zz__libraryz00,
							BGl_string1930z00zz__libraryz00, BgL_libz00_2776);
						FAILURE(BgL_auxz00_4197, BFALSE, BFALSE);
					}
				return
					BGl_libraryzd2existszf3z21zz__libraryz00(BgL_auxz00_4194,
					BgL_pathz00_2777);
			}
		}

	}



/* object-init */
	obj_t BGl_objectzd2initzd2zz__libraryz00(void)
	{
		{	/* Eval/library.scm 15 */
			return BUNSPEC;
		}

	}



/* generic-init */
	obj_t BGl_genericzd2initzd2zz__libraryz00(void)
	{
		{	/* Eval/library.scm 15 */
			return BUNSPEC;
		}

	}



/* method-init */
	obj_t BGl_methodzd2initzd2zz__libraryz00(void)
	{
		{	/* Eval/library.scm 15 */
			return BUNSPEC;
		}

	}



/* imported-modules-init */
	obj_t BGl_importedzd2moduleszd2initz00zz__libraryz00(void)
	{
		{	/* Eval/library.scm 15 */
			BGl_modulezd2initializa7ationz75zz__errorz00(88804785L,
				BSTRING_TO_STRING(BGl_string2015z00zz__libraryz00));
			BGl_modulezd2initializa7ationz75zz__objectz00(475449627L,
				BSTRING_TO_STRING(BGl_string2015z00zz__libraryz00));
			BGl_modulezd2initializa7ationz75zz__threadz00(149516032L,
				BSTRING_TO_STRING(BGl_string2015z00zz__libraryz00));
			BGl_modulezd2initializa7ationz75zz__typez00(393254000L,
				BSTRING_TO_STRING(BGl_string2015z00zz__libraryz00));
			BGl_modulezd2initializa7ationz75zz__biglooz00(348684831L,
				BSTRING_TO_STRING(BGl_string2015z00zz__libraryz00));
			BGl_modulezd2initializa7ationz75zz__configurez00(35034923L,
				BSTRING_TO_STRING(BGl_string2015z00zz__libraryz00));
			BGl_modulezd2initializa7ationz75zz__paramz00(453939141L,
				BSTRING_TO_STRING(BGl_string2015z00zz__libraryz00));
			BGl_modulezd2initializa7ationz75zz__evalz00(35539458L,
				BSTRING_TO_STRING(BGl_string2015z00zz__libraryz00));
			BGl_modulezd2initializa7ationz75zz__r5_control_features_6_4z00(228151370L,
				BSTRING_TO_STRING(BGl_string2015z00zz__libraryz00));
			BGl_modulezd2initializa7ationz75zz__everrorz00(375872221L,
				BSTRING_TO_STRING(BGl_string2015z00zz__libraryz00));
			return
				BGl_modulezd2initializa7ationz75zz__expander_srfi0z00(498124579L,
				BSTRING_TO_STRING(BGl_string2015z00zz__libraryz00));
		}

	}

#ifdef __cplusplus
}
#endif
